diff --git a/.agents/skills/asmd-scope-ext-migration/SKILL.md b/.agents/skills/asmd-scope-ext-migration/SKILL.md new file mode 100644 index 0000000000..e6a3ccbd4e --- /dev/null +++ b/.agents/skills/asmd-scope-ext-migration/SKILL.md @@ -0,0 +1,190 @@ +--- +name: asmd-scope-ext-migration +description: > + Adapts ASMD downstream source files (.scope and .export) to the Xbase-rebased DDK Expression grammar and + removes the legacy classic-Xtend extension files (.ext). Use this skill whenever the user wants to: migrate + ASMD .scope/.export sources after the dsl-devkit scope/export generator was ported to Xbase, delete the .ext + files, rewire `extension a::b::C` declarations to Java helper classes, fix unresolved extension-function + calls, convert `factory` expressions to the `Type.method(...)` form, or regenerate a DSL's scope/export + providers in ASMD. Triggers on phrases like "remove the ext files", "migrate the scope files", "adapt the + export files", "fix the extension calls in .scope", "port ASMD scoping off .ext". This is the DOWNSTREAM + counterpart of the `expression-dsl-to-xbase` skill (which does the dsl-devkit generator side). +globs: + - "**/*.scope" + - "**/*.export" + - "**/*.ext" +--- + +# ASMD `.scope` / `.export` Adaptation + `.ext` Removal Skill + +> Companion to **`expression-dsl-to-xbase`** (the dsl-devkit generator-side migration). That skill makes the +> Scope/Export *generators* Xbase-based and drops `org.eclipse.xtend`. **This** skill fixes the ASMD *source* +> files so they compile against the new generator and removes the `.ext` files. Run the generator-side first +> (or consume a build of the new dsl-devkit scope/export plugins) before applying this skill. +> +> For ASMD coding standards, build commands, and module layout, see `AGENTS.md` at the ASMD repo root. + +## The one fact that determines everything + +The DDK **Expression grammar change was minimal**: only the base grammar moved +`with org.eclipse.xtext.common.Terminals` → `with org.eclipse.xtext.xbase.Xbase`. **The embedded expression +syntax is unchanged.** So the bodies of scope rules, `naming`, `find(...)`, `scopeof(...)`, the collection +operators (`select`/`collect`/`selectFirst`/`reject`/`exists`/`notExists`/`sortBy`/`forAll`), `typeSelect`, +the `->` chain, the `?:` / `if…then…else` conditionals, casts `(Type)x`, and `::`-qualified type names **all +stay exactly the same**. + +**What changes is ONLY the extension mechanism**: the legacy `.ext` files (classic-Xtend `JAVA` delegation +stubs) are gone, and `extension a::b::C` now binds directly to a **Java class with `public static` methods**. + +> ⚠️ Do **not** rewrite scope-rule bodies, naming sections, or collection operators. If you find yourself +> changing `select`/`typeSelect`/`find`/`scopeof` syntax, stop — that is not part of this migration. + +## What a `.ext` file actually is + +Every ASMD `.ext` file is a list of **pure delegation stubs** to `public static` Java methods: + +```text +// AvqScriptScoping.ext (file at .../avqscript/AvqScriptScoping.ext) +import avqscript; +import ecore; + +ecore::EObject innermostDeclaringContainer(EObject this) : + JAVA com.avaloq.tools.dsl.avqscript.scoping.AvqScriptScoping.innermostDeclaringContainer(org.eclipse.emf.ecore.EObject); + +List[avqscript::Declaration] getTypeDeclarations(avqscript::ScriptPackage this) : + JAVA com.avaloq.tools.dsl.avqscript.scoping.AvqScriptScoping.getTypeDeclarations(com.avaloq.tools.dsl.avqscript.avqscript.ScriptPackage); +``` + +So the `.ext` is an **indirection layer** between the source `extension X::Y::N` declaration and the real Java +helper class named in each `JAVA …` target. **The Java helper class already exists and already has the +`public static` methods** — the `.ext` adds nothing but the (now obsolete) classic-Xtend binding. + +Note the package shift: the `.ext` is at `…dsl.avqscript.AvqScriptScoping` but its `JAVA` target lives in +`…dsl.avqscript.scoping.AvqScriptScoping` (a `scoping`/`export` sub-package). The repoint must use the **Java +class** package. + +## How `extension` resolves in the new (Xbase) world + +`extension a::b::C` is resolved by the translator as the **Java class** `a.b.C` (`findDeclaredType`). A call +`name(args)` or `target.name(args)` links to the **first `public static` `JvmOperation`** on that class where: + +- `simpleName == name` (the source call name), and +- `parameters.size == argumentCount`, where **the receiver/target counts as the first argument** + (`x.foo(a)` → 2 args; `foo(a)` → 1 arg; `foo()` → 0 args). + +Consequences (the four mismatch classes to reconcile — see below): the Java method name must equal the source +call name; the first parameter must accept the receiver's type; and receiver-dropped stubs change the arg count. + +## Migration procedure (per DSL `.core` module) + +### 1. Inventory + +For the DSL, list its `.scope` and `.export` files and every `extension …` line they declare, and the matching +`*.ext` files. A typical scope header: + +```text +extension com::avaloq::tools::dsl::avqscript::AvqScriptScoping // → AvqScriptScoping.ext +extension com::avaloq::tools::dsl::codetabdata::CodeTabDataScoping +extension com::avaloq::tools::dsl::common::^scoping::MetaModelScoping // foundation .ext +``` + +(`^scoping` just escapes the `scoping` keyword segment; the Java package segment is plain `scoping`.) + +### 2. Find each `.ext`'s real Java helper class + +Open the `.ext` and read the `JAVA .(…)` targets. They almost always point at a single helper +class in a `.scoping` / `.export` sub-package, e.g. `com.avaloq.tools.dsl.avqscript.scoping.AvqScriptScoping`. + +### 3. Repoint the `extension` declaration to the Java class + +Change the `::`-qualified name from the `.ext` path to the **Java helper class**: + +```diff +-extension com::avaloq::tools::dsl::avqscript::AvqScriptScoping ++extension com::avaloq::tools::dsl::avqscript::scoping::AvqScriptScoping +``` + +If one `.ext` delegated to **several** Java classes, add one `extension` line per class. + +### 4. Delete the `.ext` file + +Remove `*.ext` once nothing references it. Also remove any build/MWE2 wiring that registered it (older +`*.mwe2` / generator setup that listed extension files), and drop `org.eclipse.xtend*` / +`org.eclipse.internal.xtend` entries from the DSL's `META-INF/MANIFEST.MF` if present. + +### 5. Reconcile the four mismatch classes the `.ext` was hiding + +The `.ext` could silently rename/retype/re-arity a call. With it gone, the source call must match the Java +static method exactly. For each extension call that no longer resolves: + +| Mismatch | Symptom in the `.ext` | Fix (prefer call-site; else add a `public static` overload to the helper) | +|---|---|---| +| **Name** | ext fn name ≠ `JAVA` method name | rename the call site to the Java method name, or add an alias `public static` method | +| **Receiver/param type** | `getExtendableScriptPackage(EObject this)` → `JAVA …(SuperCall)` | the Java first param must accept the call-site receiver type; add an overload if the actual receiver is broader | +| **Dropped receiver** | `getQualifiedNameFunction(EObject this)` → `JAVA …getQualifiedNameFunction()` (0-arg) | the new resolver counts the target as an arg, so `x.getQualifiedNameFunction()` (1 arg) won't match the 0-arg method — **drop the receiver**: `getQualifiedNameFunction()`; or add a 1-arg overload that ignores its arg | +| **No-receiver helpers** | `getPredefinedTypes()` / `getNumberType()` / `lastSegment()` (already 0-arg) | already written receiver-free in source (`context * = getPredefinedTypes();`) — these just need the repoint, no call-site change | + +> **Do NOT add a Java helper for EMF-native getters.** A call like `this.getName()` that resolves to a real +> `EStructuralFeature` getter links through the normal getter-navigation path and needs no `extension`. Only +> functions that were *genuinely defined in the `.ext`* require the Java helper class. Check the model `.ecore` +> before assuming a call is an extension. + +### 6. Convert `factory` expressions to the `Type.method(...)` form + +`factory` now requires the **Java factory class named explicitly**: + +```diff +-factory makeFooScope(args) ++factory com::avaloq::tools::dsl::foo::scoping::FooScoping.makeFooScope(args) +``` + +The generator emits `.(scope, ctx, , originalResource, )`. The factory method +must be a `public static` method with that leading framework-parameter signature. Bare `factory foo()` (no +type) no longer resolves. + +### 7. Ensure helper visibility + +The repointed Java helper class must be **on the DSL `.core` classpath** (its bundle exported and required in +`META-INF/MANIFEST.MF`) and its methods **`public static`**. Foundation helpers +(`com.avaloq.tools.foundation.xtext.core.…scoping.MetaModelScoping`, etc.) get the identical treatment. + +### 8. Regenerate + build + iterate + +Regenerate the DSL's scope/export providers via its MWE2 workflow (the DDK `GenerateScope`/`GenerateExport` +flow), then build the `.core` module and fix any remaining unresolved extension calls: + +```bash +mvn clean install -pl :com.avaloq.tools.dsl..core -am +``` + +Re-run after each batch of fixes. The new dsl-devkit scope/export plugins must be installed/available first. + +## Worked example (AvqScript) + +```diff + scoping com.avaloq.tools.dsl.avqscript.AvqScript with com.avaloq.tools.dsl.avqbase.AvqBase + … +-extension com::avaloq::tools::dsl::avqscript::AvqScriptScoping // native helper operations +-extension com::avaloq::tools::dsl::codetabdata::CodeTabDataScoping // global code table access +-extension com::avaloq::tools::dsl::common::^scoping::MetaModelScoping // pre-defined types and operations ++extension com::avaloq::tools::dsl::avqscript::scoping::AvqScriptScoping ++extension com::avaloq::tools::dsl::codetabdata::scoping::CodeTabDataScoping ++extension com::avaloq::tools::foundation::xtext::core::metamodel::scoping::MetaModelScoping +``` + +- `this.getTypeDeclarations()`, `this.innermostDeclaringContainer()`, `this.isClientAll()` resolve to the + `public static` methods on `…avqscript.scoping.AvqScriptScoping` — repoint only. +- `getPredefinedTypes()` (already receiver-free) resolves to + `…foundation.xtext.core.metamodel.scoping.MetaModelScoping.getPredefinedTypes()` — repoint only. +- `getQualifiedNameFunction()` was a receiver-dropped stub → keep it written **without** a receiver. +- Delete `AvqScriptScoping.ext`, `AvqScriptExport.ext`, `CodeTabDataScoping.ext`, foundation `MetaModelScoping.ext`. + +## Scope & constraints + +- **ASMD only.** This is the downstream rewrite the dsl-devkit migration deliberately left to ASMD. +- **Do not change expression/scope-rule syntax** — only the extension wiring, `.ext` removal, and `factory` form. +- Keep the EPL/Avaloq copyright headers on any Java helper you add or modify (see ASMD `AGENTS.md`). +- Migrate and verify **one DSL at a time**; build its `.core` module green before moving on. +- If an `.ext` ever contained real Xtend expression logic (not a plain `JAVA` stub), that logic must be **ported + into a `public static` method** on the helper class — the source can only bind to compiled Java now. (All + surveyed ASMD `.ext` files are pure `JAVA` stubs, but verify each before deleting.) diff --git a/.agents/skills/expression-dsl-to-xbase/SKILL.md b/.agents/skills/expression-dsl-to-xbase/SKILL.md new file mode 100644 index 0000000000..88006052b4 --- /dev/null +++ b/.agents/skills/expression-dsl-to-xbase/SKILL.md @@ -0,0 +1,193 @@ +--- +name: expression-dsl-to-xbase +description: > + Migrates an Xtext DSL that embeds the custom DDK "Expression" language (com.avaloq.tools.ddk.xtext.expression) + off the legacy classic-Xtend (Xpand/Xtend1) expression compiler — CodeGenerationX / CompilationContext / + ScopingGeneratorUtil execution context — and onto Xbase + a JvmModelInferrer, then removes the + org.eclipse.xtend and org.eclipse.xtend.typesystem.emf Require-Bundle dependencies from the plugin. + Use this skill whenever the user wants to: make a generator plugin "Xtend-free" / drop org.eclipse.xtend, + convert a *Generator (IGenerator2) to extend JvmModelGenerator, replace CompilationContext / CodeGenerationX, + port the scope or export generator to Xbase, or repeat the scope-plugin migration on another consumer of the + Expression DSL. Triggers on phrases like "remove the xtend dependency", "make it use Xbase", "convert the + generator to a JvmModelInferrer", "drop CompilationContext", "port export generator like we did scope". +globs: + - "**/com.avaloq.tools.ddk.xtext.scope/**" + - "**/com.avaloq.tools.ddk.xtext.export/**" + - "**/com.avaloq.tools.ddk.xtext.expression/**" + - "**/*.xtend" + - "**/*.xtext" + - "**/MANIFEST.MF" +--- + +# Expression-DSL → Xbase Migration Skill + +> For general coding standards (copyright headers, Javadoc, import rules, naming), see `AGENTS.md` at the +> repository root. The EPL header used by these files is the 10-line +> `Copyright (c) 2016 Avaloq Group AG and others.` … `Avaloq Group AG - initial API and implementation` block. + +## What this skill is for + +The DDK ships a custom embedded expression language (`com.avaloq.tools.ddk.xtext.expression`, the **Expression +DSL** — a port of the old Xtend1/Xpand expression syntax). Grammars such as **Scope** (`Scope with +com.avaloq.tools.ddk.xtext.expression.Expression`) and **Export** inherit its rules. Their generators historically +compiled embedded expressions to Java **strings** through `expression.generator.CodeGenerationX` + +`CompilationContext`, whose type system is the **classic Xtend** runtime +(`org.eclipse.xtend.expression.*`, `org.eclipse.xtend.typesystem.emf.*`). That is the *only* reason those plugins +`Require-Bundle: org.eclipse.xtend, org.eclipse.xtend.typesystem.emf`. + +This skill removes that legacy coupling by: + +1. Making the embedded expression bodies **Xbase** (`XExpression`) so they can be compiled by the standard + `XbaseCompiler` via a `JvmModelInferrer`, and +2. Providing an **Xtend-free Java-string fallback compiler** for the handful of Expression-DSL constructs that + have no clean Xbase representation (string `+` concatenation, the arithmetic/relational operator overloads). + +## Binding decisions (carried over from the scope migration — confirm they still hold) + +These were agreed with the user during the scope plugin migration. Re-confirm before applying to a new plugin: + +- **dsl-devkit ONLY.** Do **not** migrate the downstream `.scope` / `.export` / `.ext` source files — the + user rewrites those (and regenerates) separately. The migration only has to keep *dsl-devkit* green. +- **Output need NOT be byte-identical.** The committed generated `*ScopeProvider.java` etc. may change shape + (they become inferred JVM types emitted by `JvmModelGenerator`). Generator/golden tests are regenerated. +- **`.ext` (JAVA extension) support is dropped.** Scope/export sources no longer reference Xtend extension + files. Remove the `.ext`-reading validation and the `isJavaExtensionCall` / `isExtension` / + `getCalledJavaMethod` generator branches. Do **not** build an `.ext` reader. +- **Factory expressions become direct Xbase static calls.** `factory` must be written `Type.method(args)` in + source (the FQN type is named explicitly); the generator resolves the type identifier to a + `JvmDeclaredType.qualifiedName` and emits `.(scope, ctx, , originalResource, )`. + Bare `factory foo()` (no type) is no longer supported. +- **No runtime validation in the loop.** dsl-devkit has **no `.scope`/`.export` input files**, so the + inferrer never actually runs during `mvn verify` — only **compilation** of the generators is checked. Runtime + and generated-Java *import* fidelity are therefore **unverifiable** inside dsl-devkit. Treat "build is green" + as "compiles", not "correct". The user validates real output by regenerating in Eclipse. + +> ⚠️ **"Green but broken" trap.** Because the inferrer never runs in CI, a faithful port still needs careful +> by-hand comparison against the legacy generator output. Always diff your emitted-string logic against the +> legacy `CodeGenerationX` / `ExpressionExtensionsX` branch-for-branch. + +## Target architecture (what "done" looks like) + +Mirror the scope plugin's final shape: + +| Concern | Legacy | New | +|---|---|---| +| Generator entry point | `*Generator` implements `IGenerator2` | `*JvmModelInferrer extends AbstractModelInferrer`; `*Generator` extends Xbase `JvmModelGenerator` (wired via the `.mwe2` fragment) | +| Provider classes | hand-templated `.java` strings | **inferred JVM types** (`toClass`/`toMethod`/`toField`); bodies attached as strings via `body = [append(text)]` | +| Embedded expression → Xbase | n/a | `*ExpressionTranslator` builds `XExpression` trees where the construct maps cleanly to Xbase + `xbase.lib` operators | +| Expression → Java string (fallback) | `CodeGenerationX` + `CompilationContext` (classic Xtend) | `*ExpressionCompiler` (Xtend-2, **no** classic-Xtend deps) — ports the string output of `CodeGenerationX`/`ExpressionExtensionsX` *exactly*, minus the `.ext` branches | +| Type/variable/`this` resolution | `CompilationContext` over classic-Xtend `TypeSystem` | `*TranslationContext` (variables, implicit param, implicit-var name) + the translator's JVM type resolution | +| Model-type name → Java class | `EmfRegistryMetaModel` over imported EPackages | `*ModelTypeResolver` (plain Java/EMF) over the model's imported `EPackage`s → `GenModelUtilX.instanceClassName` | +| Legacy execution context | `ScopingGeneratorUtil.getCompilationContext` + inner `ExecutionContextImpl`/`Resource` | **deleted** | +| Plugin deps | `org.eclipse.xtend`, `org.eclipse.xtend.typesystem.emf` | **removed from MANIFEST** | + +### Why a *translator* AND a *string compiler* + +String `+` concatenation is extremely common in these sources and has **no `operator_plus` in `xbase.lib`** +(Xbase special-cases `String +` inside its own compiler), so it **cannot** be pre-linked as an `XExpression` +tree. The relational-operator overload selection is similarly hard to do blind. So: translate to Xbase what +maps cleanly; fall back to the ported string compiler for `+`, unary/binary arithmetic, and the relational +operators. The fallback emits Java text directly (`a + b + c`, `(x) ? y : z`, `Iterables.filter(...)`, …). + +### Model-type resolution — the critical correctness point + +In real `.scope`/`.export` sources the type names in `(Cast)x`, `x.typeSelect(T)` and `T.isInstance(x)` are +**EMF model types** (e.g. `FormDef`, `ILogicalTable`, `intfdef::AlternatingGroup`), **not** dotted Java FQNs. +So `javaType(...)` MUST resolve them through the model's **imported EPackages** → +`GenModelUtilX.instanceClassName(classifier)`, exactly as the legacy `ScopingGeneratorUtil.registerMetaModels` +did. Resolving via `findDeclaredType` against the classpath would **fail** on `Entity`/`FormDef`/etc. + +- Build the EPackage list from + `EObjectUtil.getScopeProviderByEObject(model).getScope(model, IMPORT__PACKAGE).getAllElements()` resolved to + `EPackage[]`. +- Handle import **aliases**: `alias::Type` → `model.getImports()` match on `imp.getName()` → + `imp.getPackage().getEClassifier(Type)`. +- A single-segment name searches every imported package's `getEClassifier(name)`. + +## Step sequence (add new files alongside old, wire last, then delete) + +Keep the build green at every increment. Build only the two plugins with `-am` (see recipe below). + +1. **Survey** the target plugin: list every use of `CodeGenerationX`, `CompilationContext`, + `ScopingGeneratorUtil`, and the `org.eclipse.xtend*` imports. Note each generator fallback site. +2. **Translator** — `*ExpressionTranslator.xtend`: dispatch over the Expression AST → `XExpression`. Cover + literals, list/if, variable & `this` feature calls, boolean/equality/relational ops (link to `xbase.lib`), + getter navigations, extension calls (`extension a::b::C` static method), casts/`typeSelect`/`isInstance`, + receiver/implicit method calls. Return `null` for anything not yet handled. +3. **Translation context** — `*TranslationContext.xtend`: variables map, `implicitVariable` + (`JvmFormalParameter`, drives type resolution) **and** `implicitVariableName` (`String`, the emitted `this` + binding, e.g. `obj`/`ctx`/`UNEXPECTED_THIS`), `modelTypeResolver`. Add a + `newCompilationContext(implicitVarName, implicitType, extraVars(name→FQN), sourceElement)` factory on the + translator to replace the legacy `CompilationContext.clone(...)`/`cloneWithVariable(...)` calls. +4. **Model-type resolver** — `*ModelTypeResolver.java`: as above. `static forElement(EObject)` → + `EcoreUtil2.getContainerOfType(element, .class)`. +5. **String compiler** — `*ExpressionCompiler.xtend`: port `CodeGenerationX` + `ExpressionExtensionsX` string + output **exactly**, dropping the `.ext` branches. Inject `GenModelUtilX` as a **plain field** (not + `extension`) and call `genModelUtil.instanceClassName(classifier)` explicitly. Resolve `javaType` via the + model-type resolver first, else `ctx.resolveDslType` (strip a leading `java.lang.` for un-nested names). + **Preserve the legacy `FeatureCall` 3-way tail**: `isSimpleFeatureCall`→getter, `isSimpleNavigation`→ + `notCompilable()`, else→getter (do NOT collapse these — the middle branch must stay `notCompilable()`). +6. **Wire the generators**: replace `@Inject extension CodeGenerationX` + `CompilationContext` field with + `@Inject *ExpressionCompiler compiler` + `@Inject *ExpressionTranslator translator`; rewrite every fallback + `compilationContext.clone(...).javaExpression(...)` to + `compiler.javaExpression(expr, translator.newCompilationContext(...))`. Drop the `CompilationContext` + `configure(...)` parameter. +7. **Inferrer + grammar**: replace the `IGenerator2` `*Generator` with `*JvmModelInferrer` (infer the provider + types, attach string bodies; emit framework types **fully qualified** so the unit needs no imports). Make the + embedded expression bodies Xbase in the grammar (`Expression.xtext` embeds Xbase; add an + `ExpressionJvmModelInferrer`), switch the `.mwe2` generator fragment so the runtime module binds the inferrer + + `JvmModelGenerator`, and **regenerate `src-gen`** via the MWE2 workflow. +8. **Delete legacy**: remove `ScopingGeneratorUtil.getCompilationContext` + its classic-Xtend inner classes + (`*ExecutionContext`, `*Resource`) and any now-orphaned private helpers + imports; keep the still-used utility + methods. Remove the `.ext` validation (`checkExtensions`) + its message key/field. +9. **Drop deps**: remove `org.eclipse.xtend` and `org.eclipse.xtend.typesystem.emf` from the plugin + `META-INF/MANIFEST.MF`. (The `expression` plugin itself may keep them while `CompilationContext.java` still + exists — that is a separate, later increment.) +10. **Build green** after each step; grep the whole plugin `src/**` for + `org\.eclipse\.xtend\.(expression|typesystem)|org\.eclipse\.internal\.xtend|CompilationContext|EmfRegistryMetaModel|ExecutionContextImpl` + to confirm only doc-comment mentions remain. + +## Build / verify recipe (Windows / PowerShell) + +Always prefix (the cwd drifts and multiple dotted `-D` props need the stop-parsing token `--%`): + +```powershell +Set-Location D:\git\dsl-devkit +$env:JAVA_HOME = "D:\Java\jdk-21.0.10" +$env:Path = "D:\Programs\apache-maven-3.9.16\bin;$env:JAVA_HOME\bin;$env:Path" +mvn --% clean verify -f ./ddk-parent/pom.xml -pl :com.avaloq.tools.ddk.xtext.expression,:com.avaloq.tools.ddk.xtext.scope -am -DskipTests "-Dcheckstyle.skip=true" "-Dpmd.skip=true" "-Dspotbugs.skip=true" --batch-mode +``` + +- Pipe to a log + `Select-String` for `BUILD SUCCESS|BUILD FAILURE`; on failure grep + `ERROR:|undefined|Type mismatch|ambiguous|incompatible`. +- Run the build **async** and wait for the completion notification (exit code is reported automatically). + **Do not poll or `Start-Sleep`.** Builds take ~50–90 s. +- Swap the `-pl` list for the export plugin when migrating it. +- The build only checks **compilation**, not runtime/output (no `.scope` inputs). See the "green but broken" + warning above. + +## Xtend gotchas confirmed during this migration + +- **Reserved words**: `val` → use `getVal()`/`^val`; also `^if`/`^else`/`^var`. +- **Lambda `it` shadowing**: inside `.exists[…]` / `.filter[…]` the implicit `it` rebinds. Hoist outer fields + you need (e.g. `val operationName = name`, `val parameterCount = params.size`) **before** the lambda. +- **Leading-paren statement ambiguity**: a statement that starts with `(` right after another expression is + parsed as a call on the previous line (`params.size(receiver…)`). Bind a `val` first, e.g. + `val declaredType = receiverType as JvmDeclaredType` then `declaredType.allFeatures…`. +- **`@Inject extension` member shadowing**: an extension method can be shadowed by a same-named native member + (e.g. `GenModelUtilX.instanceClassName(EClassifier)` lost to EMF's native `EClassifier.getInstanceClassName()` + which returns `null` for generated EClasses). Inject as a **plain field** and call the method explicitly. +- `#[…]` is a `List`, `a -> b` is a `Pair`. `create_file` fails on existing files (edit instead). Same-package + classes need no import. +- `vscode_listCodeUsages` can resolve relative paths against the **wrong root** in a multi-root workspace, and + the Java reference provider may be unregistered ("No reference provider available"). Use `grep_search` + instead to find callers. + +## Reference: the scope migration (already landed) + +Files added: `jvmmodel/ScopeJvmModelInferrer.xtend`, `jvmmodel/ScopeExpressionTranslator.xtend`, +`jvmmodel/ScopeExpressionCompiler.xtend`, `jvmmodel/ScopeTranslationContext.xtend`, +`jvmmodel/ScopeExpressionMethodRequest.xtend`, `generator/ScopeModelTypeResolver.java`, plus +`expression/jvmmodel/ExpressionJvmModelInferrer.xtend`. Deleted: `generator/ScopeGenerator.xtend` and +`ScopingGeneratorUtil.getCompilationContext` + its inner classes. MANIFEST dropped `org.eclipse.xtend` + +`org.eclipse.xtend.typesystem.emf`. The **export** plugin is the next target — same playbook. diff --git a/com.avaloq.tools.ddk.workflow/.classpath b/com.avaloq.tools.ddk.workflow/.classpath index 97bf0dc637..772ba5e859 100644 --- a/com.avaloq.tools.ddk.workflow/.classpath +++ b/com.avaloq.tools.ddk.workflow/.classpath @@ -4,4 +4,6 @@ + + diff --git a/com.avaloq.tools.ddk.workflow/antlr-generator-3.2.0-patch.jar b/com.avaloq.tools.ddk.workflow/antlr-generator-3.2.0-patch.jar new file mode 100644 index 0000000000..90516fd7ac Binary files /dev/null and b/com.avaloq.tools.ddk.workflow/antlr-generator-3.2.0-patch.jar differ diff --git a/com.avaloq.tools.ddk.workflow/src/com/avaloq/tools/ddk/workflow/GenerateExport.mwe2 b/com.avaloq.tools.ddk.workflow/src/com/avaloq/tools/ddk/workflow/GenerateExport.mwe2 index 0af1514f8e..1fd82c083b 100644 --- a/com.avaloq.tools.ddk.workflow/src/com/avaloq/tools/ddk/workflow/GenerateExport.mwe2 +++ b/com.avaloq.tools.ddk.workflow/src/com/avaloq/tools/ddk/workflow/GenerateExport.mwe2 @@ -53,6 +53,8 @@ Workflow { uriMap = {from = "platform:/plugin/" to = "platform:/resource/"} registerGenModelFile = "platform:/resource/org.eclipse.xtext/org/eclipse/xtext/Xtext.genmodel" registerGenModelFile = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.genmodel" + registerGenModelFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel" + registerGenModelFile = "platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel" registerGenModelFile = "platform:/resource/com.avaloq.tools.ddk.xtext.expression/metamodel/com/avaloq/tools/ddk/xtext/expression/Expression.genmodel" registerEcoreFile = "${metamodelBase}/${modelDirectory}/${baseName}.ecore" registerGenModelFile = "${metamodelBase}/${modelDirectory}/${baseName}.genmodel" @@ -153,6 +155,11 @@ Workflow { // rename refactoring // fragment = refactoring.RefactorElementNameFragment {} + // Xbase support + fragment = org.eclipse.xtext.xtext.generator.types.TypesGeneratorFragment2 {} + fragment = org.eclipse.xtext.xtext.generator.xbase.XtypeGeneratorFragment2 {} + fragment = org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 {} + // Code generator fragment = org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 { generateJavaMain = false diff --git a/com.avaloq.tools.ddk.workflow/src/com/avaloq/tools/ddk/workflow/GenerateExpression.mwe2 b/com.avaloq.tools.ddk.workflow/src/com/avaloq/tools/ddk/workflow/GenerateExpression.mwe2 index 12c0773446..82f305fee2 100644 --- a/com.avaloq.tools.ddk.workflow/src/com/avaloq/tools/ddk/workflow/GenerateExpression.mwe2 +++ b/com.avaloq.tools.ddk.workflow/src/com/avaloq/tools/ddk/workflow/GenerateExpression.mwe2 @@ -42,6 +42,8 @@ Workflow { uriMap = {from = "platform:/plugin/" to = "platform:/resource/"} registerGenModelFile = "platform:/resource/org.eclipse.xtext/org/eclipse/xtext/Xtext.genmodel" registerGenModelFile = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.genmodel" + registerGenModelFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel" + registerGenModelFile = "platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel" registerEcoreFile = "${metamodelBase}/${modelDirectory}/${baseName}.ecore" registerGenModelFile = "${metamodelBase}/${modelDirectory}/${baseName}.genmodel" } @@ -126,6 +128,11 @@ Workflow { // content assist API fragment = org.eclipse.xtext.xtext.generator.ui.contentAssist.ContentAssistFragment2 {} + // Xbase support + fragment = org.eclipse.xtext.xtext.generator.types.TypesGeneratorFragment2 {} + fragment = org.eclipse.xtext.xtext.generator.xbase.XtypeGeneratorFragment2 {} + fragment = org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 {} + fragment = BundleVersionStripperFragment { bundle = "org.antlr.runtime" bundle = "org.eclipse.xtext.xbase.lib" diff --git a/com.avaloq.tools.ddk.workflow/src/com/avaloq/tools/ddk/workflow/GenerateScope.mwe2 b/com.avaloq.tools.ddk.workflow/src/com/avaloq/tools/ddk/workflow/GenerateScope.mwe2 index 04d8f70a56..e4de47d938 100644 --- a/com.avaloq.tools.ddk.workflow/src/com/avaloq/tools/ddk/workflow/GenerateScope.mwe2 +++ b/com.avaloq.tools.ddk.workflow/src/com/avaloq/tools/ddk/workflow/GenerateScope.mwe2 @@ -53,6 +53,8 @@ Workflow { uriMap = {from = "platform:/plugin/" to = "platform:/resource/"} registerGenModelFile = "platform:/resource/org.eclipse.xtext/org/eclipse/xtext/Xtext.genmodel" registerGenModelFile = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.genmodel" + registerGenModelFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel" + registerGenModelFile = "platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel" registerGenModelFile = "platform:/resource/com.avaloq.tools.ddk.xtext.expression/metamodel/com/avaloq/tools/ddk/xtext/expression/Expression.genmodel" registerEcoreFile = "${metamodelBase}/${modelDirectory}/${baseName}.ecore" registerGenModelFile = "${metamodelBase}/${modelDirectory}/${baseName}.genmodel" @@ -152,6 +154,11 @@ Workflow { // rename refactoring // fragment = refactoring.RefactorElementNameFragment {} + // Xbase support + fragment = org.eclipse.xtext.xtext.generator.types.TypesGeneratorFragment2 {} + fragment = org.eclipse.xtext.xtext.generator.xbase.XtypeGeneratorFragment2 {} + fragment = org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 {} + // Code generator fragment = org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 { generateJavaMain = false diff --git a/com.avaloq.tools.ddk.xtext.export.ide/META-INF/MANIFEST.MF b/com.avaloq.tools.ddk.xtext.export.ide/META-INF/MANIFEST.MF index 1ca0773013..61a3b46542 100644 --- a/com.avaloq.tools.ddk.xtext.export.ide/META-INF/MANIFEST.MF +++ b/com.avaloq.tools.ddk.xtext.export.ide/META-INF/MANIFEST.MF @@ -10,5 +10,6 @@ Export-Package: com.avaloq.tools.ddk.xtext.export.ide.contentassist.antlr, com.avaloq.tools.ddk.xtext.export.ide.contentassist.antlr.internal Require-Bundle: org.antlr.runtime, org.eclipse.xtext.ide, - com.avaloq.tools.ddk.xtext.export + com.avaloq.tools.ddk.xtext.export, + org.eclipse.xtext.xbase.ide Automatic-Module-Name: com.avaloq.tools.ddk.xtext.export.ide diff --git a/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/AbstractExportIdeModule.java b/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/AbstractExportIdeModule.java index 9a4ba6f8d0..aaafe9228c 100644 --- a/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/AbstractExportIdeModule.java +++ b/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/AbstractExportIdeModule.java @@ -7,18 +7,18 @@ import com.avaloq.tools.ddk.xtext.export.ide.contentassist.antlr.internal.InternalExportLexer; import com.google.inject.Binder; import com.google.inject.name.Names; -import org.eclipse.xtext.ide.DefaultIdeModule; import org.eclipse.xtext.ide.LexerIdeBindings; import org.eclipse.xtext.ide.editor.contentassist.IProposalConflictHelper; import org.eclipse.xtext.ide.editor.contentassist.antlr.AntlrProposalConflictHelper; import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser; import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer; +import org.eclipse.xtext.xbase.ide.DefaultXbaseIdeModule; /** * Manual modifications go to {@link ExportIdeModule}. */ @SuppressWarnings("all") -public abstract class AbstractExportIdeModule extends DefaultIdeModule { +public abstract class AbstractExportIdeModule extends DefaultXbaseIdeModule { // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 public void configureContentAssistLexer(Binder binder) { diff --git a/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/ExportParser.java b/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/ExportParser.java index f12baad0f8..db31df96a4 100644 --- a/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/ExportParser.java +++ b/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/ExportParser.java @@ -52,6 +52,45 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0(), "rule__CollectionExpression__NameAlternatives_0_0"); builder.put(grammarAccess.getTypeAccess().getAlternatives(), "rule__Type__Alternatives"); builder.put(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0(), "rule__CollectionType__ClAlternatives_0_0"); + builder.put(grammarAccess.getXAssignmentAccess().getAlternatives(), "rule__XAssignment__Alternatives"); + builder.put(grammarAccess.getOpMultiAssignAccess().getAlternatives(), "rule__OpMultiAssign__Alternatives"); + builder.put(grammarAccess.getOpEqualityAccess().getAlternatives(), "rule__OpEquality__Alternatives"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1(), "rule__XRelationalExpression__Alternatives_1"); + builder.put(grammarAccess.getOpCompareAccess().getAlternatives(), "rule__OpCompare__Alternatives"); + builder.put(grammarAccess.getOpOtherAccess().getAlternatives(), "rule__OpOther__Alternatives"); + builder.put(grammarAccess.getOpOtherAccess().getAlternatives_5_1(), "rule__OpOther__Alternatives_5_1"); + builder.put(grammarAccess.getOpOtherAccess().getAlternatives_6_1(), "rule__OpOther__Alternatives_6_1"); + builder.put(grammarAccess.getOpAddAccess().getAlternatives(), "rule__OpAdd__Alternatives"); + builder.put(grammarAccess.getOpMultiAccess().getAlternatives(), "rule__OpMulti__Alternatives"); + builder.put(grammarAccess.getXUnaryOperationAccess().getAlternatives(), "rule__XUnaryOperation__Alternatives"); + builder.put(grammarAccess.getOpUnaryAccess().getAlternatives(), "rule__OpUnary__Alternatives"); + builder.put(grammarAccess.getOpPostfixAccess().getAlternatives(), "rule__OpPostfix__Alternatives"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1(), "rule__XMemberFeatureCall__Alternatives_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1(), "rule__XMemberFeatureCall__Alternatives_1_0_0_0_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1(), "rule__XMemberFeatureCall__Alternatives_1_1_0_0_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1(), "rule__XMemberFeatureCall__Alternatives_1_1_3_1"); + builder.put(grammarAccess.getXPrimaryExpressionAccess().getAlternatives(), "rule__XPrimaryExpression__Alternatives"); + builder.put(grammarAccess.getXLiteralAccess().getAlternatives(), "rule__XLiteral__Alternatives"); + builder.put(grammarAccess.getXCollectionLiteralAccess().getAlternatives(), "rule__XCollectionLiteral__Alternatives"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2(), "rule__XSwitchExpression__Alternatives_2"); + builder.put(grammarAccess.getXCasePartAccess().getAlternatives_3(), "rule__XCasePart__Alternatives_3"); + builder.put(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives(), "rule__XExpressionOrVarDeclaration__Alternatives"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1(), "rule__XVariableDeclaration__Alternatives_1"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2(), "rule__XVariableDeclaration__Alternatives_2"); + builder.put(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1(), "rule__XFeatureCall__Alternatives_3_1"); + builder.put(grammarAccess.getFeatureCallIDAccess().getAlternatives(), "rule__FeatureCallID__Alternatives"); + builder.put(grammarAccess.getIdOrSuperAccess().getAlternatives(), "rule__IdOrSuper__Alternatives"); + builder.put(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1(), "rule__XConstructorCall__Alternatives_4_1"); + builder.put(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1(), "rule__XBooleanLiteral__Alternatives_1"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3(), "rule__XTryCatchFinallyExpression__Alternatives_3"); + builder.put(grammarAccess.getNumberAccess().getAlternatives(), "rule__Number__Alternatives"); + builder.put(grammarAccess.getNumberAccess().getAlternatives_1_0(), "rule__Number__Alternatives_1_0"); + builder.put(grammarAccess.getNumberAccess().getAlternatives_1_1_1(), "rule__Number__Alternatives_1_1_1"); + builder.put(grammarAccess.getJvmTypeReferenceAccess().getAlternatives(), "rule__JvmTypeReference__Alternatives"); + builder.put(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives(), "rule__JvmArgumentTypeReference__Alternatives"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2(), "rule__JvmWildcardTypeReference__Alternatives_2"); + builder.put(grammarAccess.getXImportDeclarationAccess().getAlternatives_1(), "rule__XImportDeclaration__Alternatives_1"); + builder.put(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3(), "rule__XImportDeclaration__Alternatives_1_0_3"); builder.put(grammarAccess.getExportModelAccess().getGroup(), "rule__ExportModel__Group__0"); builder.put(grammarAccess.getExportModelAccess().getGroup_0(), "rule__ExportModel__Group_0__0"); builder.put(grammarAccess.getExportModelAccess().getGroup_3(), "rule__ExportModel__Group_3__0"); @@ -127,6 +166,185 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getCollectionTypeAccess().getGroup(), "rule__CollectionType__Group__0"); builder.put(grammarAccess.getSimpleTypeAccess().getGroup(), "rule__SimpleType__Group__0"); builder.put(grammarAccess.getSimpleTypeAccess().getGroup_1(), "rule__SimpleType__Group_1__0"); + builder.put(grammarAccess.getXAssignmentAccess().getGroup_0(), "rule__XAssignment__Group_0__0"); + builder.put(grammarAccess.getXAssignmentAccess().getGroup_1(), "rule__XAssignment__Group_1__0"); + builder.put(grammarAccess.getXAssignmentAccess().getGroup_1_1(), "rule__XAssignment__Group_1_1__0"); + builder.put(grammarAccess.getXAssignmentAccess().getGroup_1_1_0(), "rule__XAssignment__Group_1_1_0__0"); + builder.put(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0(), "rule__XAssignment__Group_1_1_0_0__0"); + builder.put(grammarAccess.getOpMultiAssignAccess().getGroup_5(), "rule__OpMultiAssign__Group_5__0"); + builder.put(grammarAccess.getOpMultiAssignAccess().getGroup_6(), "rule__OpMultiAssign__Group_6__0"); + builder.put(grammarAccess.getXOrExpressionAccess().getGroup(), "rule__XOrExpression__Group__0"); + builder.put(grammarAccess.getXOrExpressionAccess().getGroup_1(), "rule__XOrExpression__Group_1__0"); + builder.put(grammarAccess.getXOrExpressionAccess().getGroup_1_0(), "rule__XOrExpression__Group_1_0__0"); + builder.put(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0(), "rule__XOrExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXAndExpressionAccess().getGroup(), "rule__XAndExpression__Group__0"); + builder.put(grammarAccess.getXAndExpressionAccess().getGroup_1(), "rule__XAndExpression__Group_1__0"); + builder.put(grammarAccess.getXAndExpressionAccess().getGroup_1_0(), "rule__XAndExpression__Group_1_0__0"); + builder.put(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0(), "rule__XAndExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getGroup(), "rule__XEqualityExpression__Group__0"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getGroup_1(), "rule__XEqualityExpression__Group_1__0"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0(), "rule__XEqualityExpression__Group_1_0__0"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0(), "rule__XEqualityExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup(), "rule__XRelationalExpression__Group__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0(), "rule__XRelationalExpression__Group_1_0__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0(), "rule__XRelationalExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0(), "rule__XRelationalExpression__Group_1_0_0_0__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1(), "rule__XRelationalExpression__Group_1_1__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0(), "rule__XRelationalExpression__Group_1_1_0__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0(), "rule__XRelationalExpression__Group_1_1_0_0__0"); + builder.put(grammarAccess.getOpCompareAccess().getGroup_1(), "rule__OpCompare__Group_1__0"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup(), "rule__XOtherOperatorExpression__Group__0"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1(), "rule__XOtherOperatorExpression__Group_1__0"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0(), "rule__XOtherOperatorExpression__Group_1_0__0"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0(), "rule__XOtherOperatorExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_2(), "rule__OpOther__Group_2__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_5(), "rule__OpOther__Group_5__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_5_1_0(), "rule__OpOther__Group_5_1_0__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0(), "rule__OpOther__Group_5_1_0_0__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_6(), "rule__OpOther__Group_6__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_6_1_0(), "rule__OpOther__Group_6_1_0__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0(), "rule__OpOther__Group_6_1_0_0__0"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getGroup(), "rule__XAdditiveExpression__Group__0"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1(), "rule__XAdditiveExpression__Group_1__0"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0(), "rule__XAdditiveExpression__Group_1_0__0"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0(), "rule__XAdditiveExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup(), "rule__XMultiplicativeExpression__Group__0"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1(), "rule__XMultiplicativeExpression__Group_1__0"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0(), "rule__XMultiplicativeExpression__Group_1_0__0"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0(), "rule__XMultiplicativeExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXUnaryOperationAccess().getGroup_0(), "rule__XUnaryOperation__Group_0__0"); + builder.put(grammarAccess.getXCastedExpressionAccess().getGroup(), "rule__XCastedExpression__Group__0"); + builder.put(grammarAccess.getXCastedExpressionAccess().getGroup_1(), "rule__XCastedExpression__Group_1__0"); + builder.put(grammarAccess.getXCastedExpressionAccess().getGroup_1_0(), "rule__XCastedExpression__Group_1_0__0"); + builder.put(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0(), "rule__XCastedExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXPostfixOperationAccess().getGroup(), "rule__XPostfixOperation__Group__0"); + builder.put(grammarAccess.getXPostfixOperationAccess().getGroup_1(), "rule__XPostfixOperation__Group_1__0"); + builder.put(grammarAccess.getXPostfixOperationAccess().getGroup_1_0(), "rule__XPostfixOperation__Group_1_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup(), "rule__XMemberFeatureCall__Group__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0(), "rule__XMemberFeatureCall__Group_1_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0(), "rule__XMemberFeatureCall__Group_1_0_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0(), "rule__XMemberFeatureCall__Group_1_0_0_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1(), "rule__XMemberFeatureCall__Group_1_1__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0(), "rule__XMemberFeatureCall__Group_1_1_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0(), "rule__XMemberFeatureCall__Group_1_1_0_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1(), "rule__XMemberFeatureCall__Group_1_1_1__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2(), "rule__XMemberFeatureCall__Group_1_1_1_2__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3(), "rule__XMemberFeatureCall__Group_1_1_3__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1(), "rule__XMemberFeatureCall__Group_1_1_3_1_1__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1(), "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0"); + builder.put(grammarAccess.getXSetLiteralAccess().getGroup(), "rule__XSetLiteral__Group__0"); + builder.put(grammarAccess.getXSetLiteralAccess().getGroup_3(), "rule__XSetLiteral__Group_3__0"); + builder.put(grammarAccess.getXSetLiteralAccess().getGroup_3_1(), "rule__XSetLiteral__Group_3_1__0"); + builder.put(grammarAccess.getXListLiteralAccess().getGroup(), "rule__XListLiteral__Group__0"); + builder.put(grammarAccess.getXListLiteralAccess().getGroup_3(), "rule__XListLiteral__Group_3__0"); + builder.put(grammarAccess.getXListLiteralAccess().getGroup_3_1(), "rule__XListLiteral__Group_3_1__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup(), "rule__XClosure__Group__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_0(), "rule__XClosure__Group_0__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_0_0(), "rule__XClosure__Group_0_0__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_1(), "rule__XClosure__Group_1__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_1_0(), "rule__XClosure__Group_1_0__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_1_0_0(), "rule__XClosure__Group_1_0_0__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_1_0_0_1(), "rule__XClosure__Group_1_0_0_1__0"); + builder.put(grammarAccess.getXExpressionInClosureAccess().getGroup(), "rule__XExpressionInClosure__Group__0"); + builder.put(grammarAccess.getXExpressionInClosureAccess().getGroup_1(), "rule__XExpressionInClosure__Group_1__0"); + builder.put(grammarAccess.getXShortClosureAccess().getGroup(), "rule__XShortClosure__Group__0"); + builder.put(grammarAccess.getXShortClosureAccess().getGroup_0(), "rule__XShortClosure__Group_0__0"); + builder.put(grammarAccess.getXShortClosureAccess().getGroup_0_0(), "rule__XShortClosure__Group_0_0__0"); + builder.put(grammarAccess.getXShortClosureAccess().getGroup_0_0_1(), "rule__XShortClosure__Group_0_0_1__0"); + builder.put(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1(), "rule__XShortClosure__Group_0_0_1_1__0"); + builder.put(grammarAccess.getXParenthesizedExpressionAccess().getGroup(), "rule__XParenthesizedExpression__Group__0"); + builder.put(grammarAccess.getXIfExpressionAccess().getGroup(), "rule__XIfExpression__Group__0"); + builder.put(grammarAccess.getXIfExpressionAccess().getGroup_6(), "rule__XIfExpression__Group_6__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup(), "rule__XSwitchExpression__Group__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0(), "rule__XSwitchExpression__Group_2_0__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0(), "rule__XSwitchExpression__Group_2_0_0__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0(), "rule__XSwitchExpression__Group_2_0_0_0__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1(), "rule__XSwitchExpression__Group_2_1__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0(), "rule__XSwitchExpression__Group_2_1_0__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0(), "rule__XSwitchExpression__Group_2_1_0_0__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_5(), "rule__XSwitchExpression__Group_5__0"); + builder.put(grammarAccess.getXCasePartAccess().getGroup(), "rule__XCasePart__Group__0"); + builder.put(grammarAccess.getXCasePartAccess().getGroup_2(), "rule__XCasePart__Group_2__0"); + builder.put(grammarAccess.getXCasePartAccess().getGroup_3_0(), "rule__XCasePart__Group_3_0__0"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getGroup(), "rule__XForLoopExpression__Group__0"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getGroup_0(), "rule__XForLoopExpression__Group_0__0"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0(), "rule__XForLoopExpression__Group_0_0__0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup(), "rule__XBasicForLoopExpression__Group__0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3(), "rule__XBasicForLoopExpression__Group_3__0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1(), "rule__XBasicForLoopExpression__Group_3_1__0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7(), "rule__XBasicForLoopExpression__Group_7__0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1(), "rule__XBasicForLoopExpression__Group_7_1__0"); + builder.put(grammarAccess.getXWhileExpressionAccess().getGroup(), "rule__XWhileExpression__Group__0"); + builder.put(grammarAccess.getXDoWhileExpressionAccess().getGroup(), "rule__XDoWhileExpression__Group__0"); + builder.put(grammarAccess.getXBlockExpressionAccess().getGroup(), "rule__XBlockExpression__Group__0"); + builder.put(grammarAccess.getXBlockExpressionAccess().getGroup_2(), "rule__XBlockExpression__Group_2__0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getGroup(), "rule__XVariableDeclaration__Group__0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0(), "rule__XVariableDeclaration__Group_2_0__0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0(), "rule__XVariableDeclaration__Group_2_0_0__0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getGroup_3(), "rule__XVariableDeclaration__Group_3__0"); + builder.put(grammarAccess.getJvmFormalParameterAccess().getGroup(), "rule__JvmFormalParameter__Group__0"); + builder.put(grammarAccess.getFullJvmFormalParameterAccess().getGroup(), "rule__FullJvmFormalParameter__Group__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup(), "rule__XFeatureCall__Group__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup_1(), "rule__XFeatureCall__Group_1__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup_1_2(), "rule__XFeatureCall__Group_1_2__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup_3(), "rule__XFeatureCall__Group_3__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1(), "rule__XFeatureCall__Group_3_1_1__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1(), "rule__XFeatureCall__Group_3_1_1_1__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup(), "rule__XConstructorCall__Group__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup_3(), "rule__XConstructorCall__Group_3__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup_3_2(), "rule__XConstructorCall__Group_3_2__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup_4(), "rule__XConstructorCall__Group_4__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1(), "rule__XConstructorCall__Group_4_1_1__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1(), "rule__XConstructorCall__Group_4_1_1_1__0"); + builder.put(grammarAccess.getXBooleanLiteralAccess().getGroup(), "rule__XBooleanLiteral__Group__0"); + builder.put(grammarAccess.getXNullLiteralAccess().getGroup(), "rule__XNullLiteral__Group__0"); + builder.put(grammarAccess.getXNumberLiteralAccess().getGroup(), "rule__XNumberLiteral__Group__0"); + builder.put(grammarAccess.getXStringLiteralAccess().getGroup(), "rule__XStringLiteral__Group__0"); + builder.put(grammarAccess.getXTypeLiteralAccess().getGroup(), "rule__XTypeLiteral__Group__0"); + builder.put(grammarAccess.getXThrowExpressionAccess().getGroup(), "rule__XThrowExpression__Group__0"); + builder.put(grammarAccess.getXReturnExpressionAccess().getGroup(), "rule__XReturnExpression__Group__0"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup(), "rule__XTryCatchFinallyExpression__Group__0"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0(), "rule__XTryCatchFinallyExpression__Group_3_0__0"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1(), "rule__XTryCatchFinallyExpression__Group_3_0_1__0"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1(), "rule__XTryCatchFinallyExpression__Group_3_1__0"); + builder.put(grammarAccess.getXSynchronizedExpressionAccess().getGroup(), "rule__XSynchronizedExpression__Group__0"); + builder.put(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0(), "rule__XSynchronizedExpression__Group_0__0"); + builder.put(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0(), "rule__XSynchronizedExpression__Group_0_0__0"); + builder.put(grammarAccess.getXCatchClauseAccess().getGroup(), "rule__XCatchClause__Group__0"); + builder.put(grammarAccess.getQualifiedNameAccess().getGroup(), "rule__QualifiedName__Group__0"); + builder.put(grammarAccess.getQualifiedNameAccess().getGroup_1(), "rule__QualifiedName__Group_1__0"); + builder.put(grammarAccess.getNumberAccess().getGroup_1(), "rule__Number__Group_1__0"); + builder.put(grammarAccess.getNumberAccess().getGroup_1_1(), "rule__Number__Group_1_1__0"); + builder.put(grammarAccess.getStaticQualifierAccess().getGroup(), "rule__StaticQualifier__Group__0"); + builder.put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0(), "rule__JvmTypeReference__Group_0__0"); + builder.put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1(), "rule__JvmTypeReference__Group_0_1__0"); + builder.put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0(), "rule__JvmTypeReference__Group_0_1_0__0"); + builder.put(grammarAccess.getArrayBracketsAccess().getGroup(), "rule__ArrayBrackets__Group__0"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getGroup(), "rule__XFunctionTypeRef__Group__0"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0(), "rule__XFunctionTypeRef__Group_0__0"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1(), "rule__XFunctionTypeRef__Group_0_1__0"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1(), "rule__XFunctionTypeRef__Group_0_1_1__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup(), "rule__JvmParameterizedTypeReference__Group__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1(), "rule__JvmParameterizedTypeReference__Group_1__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2(), "rule__JvmParameterizedTypeReference__Group_1_2__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4(), "rule__JvmParameterizedTypeReference__Group_1_4__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0(), "rule__JvmParameterizedTypeReference__Group_1_4_0__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0(), "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2(), "rule__JvmParameterizedTypeReference__Group_1_4_2__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2(), "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup(), "rule__JvmWildcardTypeReference__Group__0"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0(), "rule__JvmWildcardTypeReference__Group_2_0__0"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1(), "rule__JvmWildcardTypeReference__Group_2_1__0"); + builder.put(grammarAccess.getJvmUpperBoundAccess().getGroup(), "rule__JvmUpperBound__Group__0"); + builder.put(grammarAccess.getJvmUpperBoundAndedAccess().getGroup(), "rule__JvmUpperBoundAnded__Group__0"); + builder.put(grammarAccess.getJvmLowerBoundAccess().getGroup(), "rule__JvmLowerBound__Group__0"); + builder.put(grammarAccess.getJvmLowerBoundAndedAccess().getGroup(), "rule__JvmLowerBoundAnded__Group__0"); + builder.put(grammarAccess.getJvmTypeParameterAccess().getGroup(), "rule__JvmTypeParameter__Group__0"); + builder.put(grammarAccess.getJvmTypeParameterAccess().getGroup_1(), "rule__JvmTypeParameter__Group_1__0"); + builder.put(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup(), "rule__QualifiedNameWithWildcard__Group__0"); + builder.put(grammarAccess.getXImportDeclarationAccess().getGroup(), "rule__XImportDeclaration__Group__0"); + builder.put(grammarAccess.getXImportDeclarationAccess().getGroup_1_0(), "rule__XImportDeclaration__Group_1_0__0"); + builder.put(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup(), "rule__QualifiedNameInStaticImport__Group__0"); builder.put(grammarAccess.getExportModelAccess().getExtensionAssignment_0_1(), "rule__ExportModel__ExtensionAssignment_0_1"); builder.put(grammarAccess.getExportModelAccess().getNameAssignment_0_2(), "rule__ExportModel__NameAssignment_0_2"); builder.put(grammarAccess.getExportModelAccess().getTargetGrammarAssignment_0_4(), "rule__ExportModel__TargetGrammarAssignment_0_4"); @@ -226,6 +444,150 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getCollectionTypeAccess().getId1Assignment_2(), "rule__CollectionType__Id1Assignment_2"); builder.put(grammarAccess.getSimpleTypeAccess().getIdAssignment_0(), "rule__SimpleType__IdAssignment_0"); builder.put(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1(), "rule__SimpleType__IdAssignment_1_1"); + builder.put(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1(), "rule__XAssignment__FeatureAssignment_0_1"); + builder.put(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3(), "rule__XAssignment__ValueAssignment_0_3"); + builder.put(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1(), "rule__XAssignment__FeatureAssignment_1_1_0_0_1"); + builder.put(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1(), "rule__XAssignment__RightOperandAssignment_1_1_1"); + builder.put(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XOrExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1(), "rule__XOrExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XAndExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1(), "rule__XAndExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XEqualityExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1(), "rule__XEqualityExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1(), "rule__XRelationalExpression__TypeAssignment_1_0_1"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1(), "rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1(), "rule__XRelationalExpression__RightOperandAssignment_1_1_1"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1(), "rule__XOtherOperatorExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XAdditiveExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1(), "rule__XAdditiveExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1(), "rule__XMultiplicativeExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1(), "rule__XUnaryOperation__FeatureAssignment_0_1"); + builder.put(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2(), "rule__XUnaryOperation__OperandAssignment_0_2"); + builder.put(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1(), "rule__XCastedExpression__TypeAssignment_1_1"); + builder.put(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1(), "rule__XPostfixOperation__FeatureAssignment_1_0_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1(), "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2(), "rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1(), "rule__XMemberFeatureCall__ValueAssignment_1_0_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1(), "rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2(), "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1(), "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1(), "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2(), "rule__XMemberFeatureCall__FeatureAssignment_1_1_2"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0(), "rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4"); + builder.put(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0(), "rule__XSetLiteral__ElementsAssignment_3_0"); + builder.put(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1(), "rule__XSetLiteral__ElementsAssignment_3_1_1"); + builder.put(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0(), "rule__XListLiteral__ElementsAssignment_3_0"); + builder.put(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1(), "rule__XListLiteral__ElementsAssignment_3_1_1"); + builder.put(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0(), "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0"); + builder.put(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1(), "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1"); + builder.put(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1(), "rule__XClosure__ExplicitSyntaxAssignment_1_0_1"); + builder.put(grammarAccess.getXClosureAccess().getExpressionAssignment_2(), "rule__XClosure__ExpressionAssignment_2"); + builder.put(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0(), "rule__XExpressionInClosure__ExpressionsAssignment_1_0"); + builder.put(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0(), "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0"); + builder.put(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1(), "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1"); + builder.put(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2(), "rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2"); + builder.put(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1(), "rule__XShortClosure__ExpressionAssignment_1"); + builder.put(grammarAccess.getXIfExpressionAccess().getIfAssignment_3(), "rule__XIfExpression__IfAssignment_3"); + builder.put(grammarAccess.getXIfExpressionAccess().getThenAssignment_5(), "rule__XIfExpression__ThenAssignment_5"); + builder.put(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1(), "rule__XIfExpression__ElseAssignment_6_1"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1(), "rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1(), "rule__XSwitchExpression__SwitchAssignment_2_0_1"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0(), "rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1(), "rule__XSwitchExpression__SwitchAssignment_2_1_1"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4(), "rule__XSwitchExpression__CasesAssignment_4"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2(), "rule__XSwitchExpression__DefaultAssignment_5_2"); + builder.put(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1(), "rule__XCasePart__TypeGuardAssignment_1"); + builder.put(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1(), "rule__XCasePart__CaseAssignment_2_1"); + builder.put(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1(), "rule__XCasePart__ThenAssignment_3_0_1"); + builder.put(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1(), "rule__XCasePart__FallThroughAssignment_3_1"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3(), "rule__XForLoopExpression__DeclaredParamAssignment_0_0_3"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1(), "rule__XForLoopExpression__ForExpressionAssignment_1"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3(), "rule__XForLoopExpression__EachExpressionAssignment_3"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0(), "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1(), "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5(), "rule__XBasicForLoopExpression__ExpressionAssignment_5"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0(), "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1(), "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9(), "rule__XBasicForLoopExpression__EachExpressionAssignment_9"); + builder.put(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3(), "rule__XWhileExpression__PredicateAssignment_3"); + builder.put(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5(), "rule__XWhileExpression__BodyAssignment_5"); + builder.put(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2(), "rule__XDoWhileExpression__BodyAssignment_2"); + builder.put(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5(), "rule__XDoWhileExpression__PredicateAssignment_5"); + builder.put(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0(), "rule__XBlockExpression__ExpressionsAssignment_2_0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0(), "rule__XVariableDeclaration__WriteableAssignment_1_0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0(), "rule__XVariableDeclaration__TypeAssignment_2_0_0_0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1(), "rule__XVariableDeclaration__NameAssignment_2_0_0_1"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1(), "rule__XVariableDeclaration__NameAssignment_2_1"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1(), "rule__XVariableDeclaration__RightAssignment_3_1"); + builder.put(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0(), "rule__JvmFormalParameter__ParameterTypeAssignment_0"); + builder.put(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1(), "rule__JvmFormalParameter__NameAssignment_1"); + builder.put(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0(), "rule__FullJvmFormalParameter__ParameterTypeAssignment_0"); + builder.put(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1(), "rule__FullJvmFormalParameter__NameAssignment_1"); + builder.put(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1(), "rule__XFeatureCall__TypeArgumentsAssignment_1_1"); + builder.put(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1(), "rule__XFeatureCall__TypeArgumentsAssignment_1_2_1"); + builder.put(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2(), "rule__XFeatureCall__FeatureAssignment_2"); + builder.put(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0(), "rule__XFeatureCall__ExplicitOperationCallAssignment_3_0"); + builder.put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0"); + builder.put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0"); + builder.put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1"); + builder.put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_4"); + builder.put(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2(), "rule__XConstructorCall__ConstructorAssignment_2"); + builder.put(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1(), "rule__XConstructorCall__TypeArgumentsAssignment_3_1"); + builder.put(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1(), "rule__XConstructorCall__TypeArgumentsAssignment_3_2_1"); + builder.put(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0(), "rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0"); + builder.put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0(), "rule__XConstructorCall__ArgumentsAssignment_4_1_0"); + builder.put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0(), "rule__XConstructorCall__ArgumentsAssignment_4_1_1_0"); + builder.put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1(), "rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1"); + builder.put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5(), "rule__XConstructorCall__ArgumentsAssignment_5"); + builder.put(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1(), "rule__XBooleanLiteral__IsTrueAssignment_1_1"); + builder.put(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1(), "rule__XNumberLiteral__ValueAssignment_1"); + builder.put(grammarAccess.getXStringLiteralAccess().getValueAssignment_1(), "rule__XStringLiteral__ValueAssignment_1"); + builder.put(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3(), "rule__XTypeLiteral__TypeAssignment_3"); + builder.put(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4(), "rule__XTypeLiteral__ArrayDimensionsAssignment_4"); + builder.put(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2(), "rule__XThrowExpression__ExpressionAssignment_2"); + builder.put(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2(), "rule__XReturnExpression__ExpressionAssignment_2"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2(), "rule__XTryCatchFinallyExpression__ExpressionAssignment_2"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0(), "rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1(), "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1(), "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1"); + builder.put(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1(), "rule__XSynchronizedExpression__ParamAssignment_1"); + builder.put(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3(), "rule__XSynchronizedExpression__ExpressionAssignment_3"); + builder.put(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2(), "rule__XCatchClause__DeclaredParamAssignment_2"); + builder.put(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4(), "rule__XCatchClause__ExpressionAssignment_4"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0(), "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1(), "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2(), "rule__XFunctionTypeRef__ReturnTypeAssignment_2"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0(), "rule__JvmParameterizedTypeReference__TypeAssignment_0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1(), "rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1"); + builder.put(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1(), "rule__JvmUpperBound__TypeReferenceAssignment_1"); + builder.put(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1(), "rule__JvmUpperBoundAnded__TypeReferenceAssignment_1"); + builder.put(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1(), "rule__JvmLowerBound__TypeReferenceAssignment_1"); + builder.put(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1(), "rule__JvmLowerBoundAnded__TypeReferenceAssignment_1"); + builder.put(grammarAccess.getJvmTypeParameterAccess().getNameAssignment_0(), "rule__JvmTypeParameter__NameAssignment_0"); + builder.put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_0(), "rule__JvmTypeParameter__ConstraintsAssignment_1_0"); + builder.put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_1(), "rule__JvmTypeParameter__ConstraintsAssignment_1_1"); + builder.put(grammarAccess.getXImportSectionAccess().getImportDeclarationsAssignment(), "rule__XImportSection__ImportDeclarationsAssignment"); + builder.put(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0(), "rule__XImportDeclaration__StaticAssignment_1_0_0"); + builder.put(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1(), "rule__XImportDeclaration__ExtensionAssignment_1_0_1"); + builder.put(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2(), "rule__XImportDeclaration__ImportedTypeAssignment_1_0_2"); + builder.put(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0(), "rule__XImportDeclaration__WildcardAssignment_1_0_3_0"); + builder.put(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1(), "rule__XImportDeclaration__MemberNameAssignment_1_0_3_1"); + builder.put(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1(), "rule__XImportDeclaration__ImportedTypeAssignment_1_1"); + builder.put(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2(), "rule__XImportDeclaration__ImportedNamespaceAssignment_1_2"); } } diff --git a/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/internal/InternalExport.g b/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/internal/InternalExport.g index e2e6228455..23e309ae8c 100644 --- a/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/internal/InternalExport.g +++ b/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/internal/InternalExport.g @@ -1275,1064 +1275,17531 @@ finally { restoreStackSize(stackSize); } -rule__InterfaceItem__Alternatives +// Entry rule entryRuleXExpression +entryRuleXExpression +: +{ before(grammarAccess.getXExpressionRule()); } + ruleXExpression +{ after(grammarAccess.getXExpressionRule()); } + EOF +; + +// Rule XExpression +ruleXExpression @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getInterfaceItemAccess().getInterfaceFieldParserRuleCall_0()); } - ruleInterfaceField - { after(grammarAccess.getInterfaceItemAccess().getInterfaceFieldParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getInterfaceItemAccess().getInterfaceNavigationParserRuleCall_1()); } - ruleInterfaceNavigation - { after(grammarAccess.getInterfaceItemAccess().getInterfaceNavigationParserRuleCall_1()); } - ) - | + : ( - { before(grammarAccess.getInterfaceItemAccess().getInterfaceExpressionParserRuleCall_2()); } - ruleInterfaceExpression - { after(grammarAccess.getInterfaceItemAccess().getInterfaceExpressionParserRuleCall_2()); } + { before(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); } + ruleXAssignment + { after(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Alternatives_7_0 +// Entry rule entryRuleXAssignment +entryRuleXAssignment +: +{ before(grammarAccess.getXAssignmentRule()); } + ruleXAssignment +{ after(grammarAccess.getXAssignmentRule()); } + EOF +; + +// Rule XAssignment +ruleXAssignment @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getExportAccess().getFingerprintAssignment_7_0_0()); } - (rule__Export__FingerprintAssignment_7_0_0) - { after(grammarAccess.getExportAccess().getFingerprintAssignment_7_0_0()); } - ) - | + : ( - { before(grammarAccess.getExportAccess().getResourceFingerprintAssignment_7_0_1()); } - (rule__Export__ResourceFingerprintAssignment_7_0_1) - { after(grammarAccess.getExportAccess().getResourceFingerprintAssignment_7_0_1()); } + { before(grammarAccess.getXAssignmentAccess().getAlternatives()); } + (rule__XAssignment__Alternatives) + { after(grammarAccess.getXAssignmentAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Alternatives_8 +// Entry rule entryRuleOpSingleAssign +entryRuleOpSingleAssign +: +{ before(grammarAccess.getOpSingleAssignRule()); } + ruleOpSingleAssign +{ after(grammarAccess.getOpSingleAssignRule()); } + EOF +; + +// Rule OpSingleAssign +ruleOpSingleAssign @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getExportAccess().getGroup_8_0()); } - (rule__Export__Group_8_0__0) - { after(grammarAccess.getExportAccess().getGroup_8_0()); } - ) - | + : ( - { before(grammarAccess.getExportAccess().getGroup_8_1()); } - (rule__Export__Group_8_1__0) - { after(grammarAccess.getExportAccess().getGroup_8_1()); } + { before(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); } + '=' + { after(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); } ) ; finally { restoreStackSize(stackSize); } -rule__Expression__Alternatives +// Entry rule entryRuleOpMultiAssign +entryRuleOpMultiAssign +: +{ before(grammarAccess.getOpMultiAssignRule()); } + ruleOpMultiAssign +{ after(grammarAccess.getOpMultiAssignRule()); } + EOF +; + +// Rule OpMultiAssign +ruleOpMultiAssign @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); } - ruleLetExpression - { after(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); } - (ruleCastedExpression) - { after(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); } - ) - | + : ( - { before(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); } - ruleChainExpression - { after(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); } + { before(grammarAccess.getOpMultiAssignAccess().getAlternatives()); } + (rule__OpMultiAssign__Alternatives) + { after(grammarAccess.getOpMultiAssignAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__ChainedExpression__Alternatives +// Entry rule entryRuleXOrExpression +entryRuleXOrExpression +: +{ before(grammarAccess.getXOrExpressionRule()); } + ruleXOrExpression +{ after(grammarAccess.getXOrExpressionRule()); } + EOF +; + +// Rule XOrExpression +ruleXOrExpression @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); } - ruleIfExpressionKw - { after(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); } - ruleIfExpressionTri - { after(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); } - ) - | + : ( - { before(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); } - ruleSwitchExpression - { after(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); } + { before(grammarAccess.getXOrExpressionAccess().getGroup()); } + (rule__XOrExpression__Group__0) + { after(grammarAccess.getXOrExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__OperatorAlternatives_1_1_0 +// Entry rule entryRuleOpOr +entryRuleOpOr +: +{ before(grammarAccess.getOpOrRule()); } + ruleOpOr +{ after(grammarAccess.getOpOrRule()); } + EOF +; + +// Rule OpOr +ruleOpOr @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); } - '==' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); } - ) - | - ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); } - '!=' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); } - ) - | - ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); } - '>=' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); } - ) - | - ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); } - '<=' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); } - ) - | - ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); } - '>' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); } - ) - | + : ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); } - '<' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); } + { before(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); } + '||' + { after(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__NameAlternatives_1_1_0 +// Entry rule entryRuleXAndExpression +entryRuleXAndExpression +: +{ before(grammarAccess.getXAndExpressionRule()); } + ruleXAndExpression +{ after(grammarAccess.getXAndExpressionRule()); } + EOF +; + +// Rule XAndExpression +ruleXAndExpression @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); } - '+' - { after(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); } - ) - | + : ( - { before(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); } - '-' - { after(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); } + { before(grammarAccess.getXAndExpressionAccess().getGroup()); } + (rule__XAndExpression__Group__0) + { after(grammarAccess.getXAndExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__NameAlternatives_1_1_0 +// Entry rule entryRuleOpAnd +entryRuleOpAnd +: +{ before(grammarAccess.getOpAndRule()); } + ruleOpAnd +{ after(grammarAccess.getOpAndRule()); } + EOF +; + +// Rule OpAnd +ruleOpAnd @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); } - '*' - { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); } - ) - | + : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); } - '/' - { after(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); } + { before(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); } + '&&' + { after(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); } ) ; finally { restoreStackSize(stackSize); } -rule__UnaryOrInfixExpression__Alternatives +// Entry rule entryRuleXEqualityExpression +entryRuleXEqualityExpression +: +{ before(grammarAccess.getXEqualityExpressionRule()); } + ruleXEqualityExpression +{ after(grammarAccess.getXEqualityExpressionRule()); } + EOF +; + +// Rule XEqualityExpression +ruleXEqualityExpression @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); } - ruleUnaryExpression - { after(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); } - ) - | + : ( - { before(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); } - ruleInfixExpression - { after(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); } + { before(grammarAccess.getXEqualityExpressionAccess().getGroup()); } + (rule__XEqualityExpression__Group__0) + { after(grammarAccess.getXEqualityExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__NameAlternatives_0_0 +// Entry rule entryRuleOpEquality +entryRuleOpEquality +: +{ before(grammarAccess.getOpEqualityRule()); } + ruleOpEquality +{ after(grammarAccess.getOpEqualityRule()); } + EOF +; + +// Rule OpEquality +ruleOpEquality @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); } - '!' - { after(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); } - ) - | + : ( - { before(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); } - '-' - { after(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); } + { before(grammarAccess.getOpEqualityAccess().getAlternatives()); } + (rule__OpEquality__Alternatives) + { after(grammarAccess.getOpEqualityAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Alternatives_1 +// Entry rule entryRuleXRelationalExpression +entryRuleXRelationalExpression +: +{ before(grammarAccess.getXRelationalExpressionRule()); } + ruleXRelationalExpression +{ after(grammarAccess.getXRelationalExpressionRule()); } + EOF +; + +// Rule XRelationalExpression +ruleXRelationalExpression @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); } - (rule__InfixExpression__Group_1_0__0) - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); } - ) - | - ( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); } - (rule__InfixExpression__Group_1_1__0) - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); } - ) - | + : ( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); } - (rule__InfixExpression__Group_1_2__0) - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); } + { before(grammarAccess.getXRelationalExpressionAccess().getGroup()); } + (rule__XRelationalExpression__Group__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOpCompare +entryRuleOpCompare +: +{ before(grammarAccess.getOpCompareRule()); } + ruleOpCompare +{ after(grammarAccess.getOpCompareRule()); } + EOF +; + +// Rule OpCompare +ruleOpCompare + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); } - (rule__InfixExpression__Group_1_3__0) - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); } + { before(grammarAccess.getOpCompareAccess().getAlternatives()); } + (rule__OpCompare__Alternatives) + { after(grammarAccess.getOpCompareAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__NameAlternatives_1_3_2_0 +// Entry rule entryRuleXOtherOperatorExpression +entryRuleXOtherOperatorExpression +: +{ before(grammarAccess.getXOtherOperatorExpressionRule()); } + ruleXOtherOperatorExpression +{ after(grammarAccess.getXOtherOperatorExpressionRule()); } + EOF +; + +// Rule XOtherOperatorExpression +ruleXOtherOperatorExpression @init { int stackSize = keepStackSize(); } -: + : ( - { before(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); } - 'collect' - { after(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); } - ) - | - ( - { before(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); } - 'select' - { after(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); } - ) - | - ( - { before(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); } - 'selectFirst' - { after(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); } - ) - | - ( - { before(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); } - 'reject' - { after(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); } - ) - | - ( - { before(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); } - 'exists' - { after(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); } - ) - | - ( - { before(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); } - 'notExists' - { after(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); } - ) - | - ( - { before(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); } - 'sortBy' - { after(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); } - ) - | - ( - { before(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); } - 'forAll' - { after(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); } + { before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); } + (rule__XOtherOperatorExpression__Group__0) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -rule__PrimaryExpression__Alternatives +// Entry rule entryRuleOpOther +entryRuleOpOther +: +{ before(grammarAccess.getOpOtherRule()); } + ruleOpOther +{ after(grammarAccess.getOpOtherRule()); } + EOF +; + +// Rule OpOther +ruleOpOther @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); } - ruleLiteral - { after(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); } - ruleFeatureCall - { after(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); } - ) - | - ( - { before(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); } - ruleListLiteral - { after(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); } - ) - | - ( - { before(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); } - ruleConstructorCallExpression - { after(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); } - ) - | - ( - { before(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); } - ruleGlobalVarExpression - { after(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); } - ) - | + : ( - { before(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); } - ruleParanthesizedExpression - { after(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); } + { before(grammarAccess.getOpOtherAccess().getAlternatives()); } + (rule__OpOther__Alternatives) + { after(grammarAccess.getOpOtherAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__Literal__Alternatives +// Entry rule entryRuleXAdditiveExpression +entryRuleXAdditiveExpression +: +{ before(grammarAccess.getXAdditiveExpressionRule()); } + ruleXAdditiveExpression +{ after(grammarAccess.getXAdditiveExpressionRule()); } + EOF +; + +// Rule XAdditiveExpression +ruleXAdditiveExpression @init { int stackSize = keepStackSize(); } -: + : ( - { before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); } - ruleBooleanLiteral - { after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); } + { before(grammarAccess.getXAdditiveExpressionAccess().getGroup()); } + (rule__XAdditiveExpression__Group__0) + { after(grammarAccess.getXAdditiveExpressionAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOpAdd +entryRuleOpAdd +: +{ before(grammarAccess.getOpAddRule()); } + ruleOpAdd +{ after(grammarAccess.getOpAddRule()); } + EOF +; + +// Rule OpAdd +ruleOpAdd + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); } - ruleIntegerLiteral - { after(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); } + { before(grammarAccess.getOpAddAccess().getAlternatives()); } + (rule__OpAdd__Alternatives) + { after(grammarAccess.getOpAddAccess().getAlternatives()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXMultiplicativeExpression +entryRuleXMultiplicativeExpression +: +{ before(grammarAccess.getXMultiplicativeExpressionRule()); } + ruleXMultiplicativeExpression +{ after(grammarAccess.getXMultiplicativeExpressionRule()); } + EOF +; + +// Rule XMultiplicativeExpression +ruleXMultiplicativeExpression + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); } - ruleNullLiteral - { after(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); } + { before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); } + (rule__XMultiplicativeExpression__Group__0) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOpMulti +entryRuleOpMulti +: +{ before(grammarAccess.getOpMultiRule()); } + ruleOpMulti +{ after(grammarAccess.getOpMultiRule()); } + EOF +; + +// Rule OpMulti +ruleOpMulti + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); } - ruleRealLiteral - { after(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); } + { before(grammarAccess.getOpMultiAccess().getAlternatives()); } + (rule__OpMulti__Alternatives) + { after(grammarAccess.getOpMultiAccess().getAlternatives()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXUnaryOperation +entryRuleXUnaryOperation +: +{ before(grammarAccess.getXUnaryOperationRule()); } + ruleXUnaryOperation +{ after(grammarAccess.getXUnaryOperationRule()); } + EOF +; + +// Rule XUnaryOperation +ruleXUnaryOperation + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); } - ruleStringLiteral - { after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); } + { before(grammarAccess.getXUnaryOperationAccess().getAlternatives()); } + (rule__XUnaryOperation__Alternatives) + { after(grammarAccess.getXUnaryOperationAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__BooleanLiteral__ValAlternatives_0 +// Entry rule entryRuleOpUnary +entryRuleOpUnary +: +{ before(grammarAccess.getOpUnaryRule()); } + ruleOpUnary +{ after(grammarAccess.getOpUnaryRule()); } + EOF +; + +// Rule OpUnary +ruleOpUnary @init { int stackSize = keepStackSize(); } -: + : ( - { before(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); } - 'true' - { after(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); } + { before(grammarAccess.getOpUnaryAccess().getAlternatives()); } + (rule__OpUnary__Alternatives) + { after(grammarAccess.getOpUnaryAccess().getAlternatives()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXCastedExpression +entryRuleXCastedExpression +: +{ before(grammarAccess.getXCastedExpressionRule()); } + ruleXCastedExpression +{ after(grammarAccess.getXCastedExpressionRule()); } + EOF +; + +// Rule XCastedExpression +ruleXCastedExpression + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); } - 'false' - { after(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); } + { before(grammarAccess.getXCastedExpressionAccess().getGroup()); } + (rule__XCastedExpression__Group__0) + { after(grammarAccess.getXCastedExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -rule__FeatureCall__Alternatives +// Entry rule entryRuleXPostfixOperation +entryRuleXPostfixOperation +: +{ before(grammarAccess.getXPostfixOperationRule()); } + ruleXPostfixOperation +{ after(grammarAccess.getXPostfixOperationRule()); } + EOF +; + +// Rule XPostfixOperation +ruleXPostfixOperation @init { int stackSize = keepStackSize(); } -: + : ( - { before(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); } - ruleOperationCall - { after(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); } + { before(grammarAccess.getXPostfixOperationAccess().getGroup()); } + (rule__XPostfixOperation__Group__0) + { after(grammarAccess.getXPostfixOperationAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOpPostfix +entryRuleOpPostfix +: +{ before(grammarAccess.getOpPostfixRule()); } + ruleOpPostfix +{ after(grammarAccess.getOpPostfixRule()); } + EOF +; + +// Rule OpPostfix +ruleOpPostfix + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); } - (rule__FeatureCall__TypeAssignment_1) - { after(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); } + { before(grammarAccess.getOpPostfixAccess().getAlternatives()); } + (rule__OpPostfix__Alternatives) + { after(grammarAccess.getOpPostfixAccess().getAlternatives()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXMemberFeatureCall +entryRuleXMemberFeatureCall +: +{ before(grammarAccess.getXMemberFeatureCallRule()); } + ruleXMemberFeatureCall +{ after(grammarAccess.getXMemberFeatureCallRule()); } + EOF +; + +// Rule XMemberFeatureCall +ruleXMemberFeatureCall + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); } - ruleCollectionExpression - { after(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); } + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup()); } + (rule__XMemberFeatureCall__Group__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXPrimaryExpression +entryRuleXPrimaryExpression +: +{ before(grammarAccess.getXPrimaryExpressionRule()); } + ruleXPrimaryExpression +{ after(grammarAccess.getXPrimaryExpressionRule()); } + EOF +; + +// Rule XPrimaryExpression +ruleXPrimaryExpression + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); } - ruleTypeSelectExpression - { after(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); } + { before(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); } + (rule__XPrimaryExpression__Alternatives) + { after(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__NameAlternatives_0_0 +// Entry rule entryRuleXLiteral +entryRuleXLiteral +: +{ before(grammarAccess.getXLiteralRule()); } + ruleXLiteral +{ after(grammarAccess.getXLiteralRule()); } + EOF +; + +// Rule XLiteral +ruleXLiteral @init { int stackSize = keepStackSize(); } -: + : ( - { before(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); } - 'collect' - { after(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); } + { before(grammarAccess.getXLiteralAccess().getAlternatives()); } + (rule__XLiteral__Alternatives) + { after(grammarAccess.getXLiteralAccess().getAlternatives()); } ) - | - ( - { before(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); } - 'select' - { after(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); } +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXCollectionLiteral +entryRuleXCollectionLiteral +: +{ before(grammarAccess.getXCollectionLiteralRule()); } + ruleXCollectionLiteral +{ after(grammarAccess.getXCollectionLiteralRule()); } + EOF +; + +// Rule XCollectionLiteral +ruleXCollectionLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); } + (rule__XCollectionLiteral__Alternatives) + { after(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXSetLiteral +entryRuleXSetLiteral +: +{ before(grammarAccess.getXSetLiteralRule()); } + ruleXSetLiteral +{ after(grammarAccess.getXSetLiteralRule()); } + EOF +; + +// Rule XSetLiteral +ruleXSetLiteral + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); } - 'selectFirst' - { after(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); } + { before(grammarAccess.getXSetLiteralAccess().getGroup()); } + (rule__XSetLiteral__Group__0) + { after(grammarAccess.getXSetLiteralAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXListLiteral +entryRuleXListLiteral +: +{ before(grammarAccess.getXListLiteralRule()); } + ruleXListLiteral +{ after(grammarAccess.getXListLiteralRule()); } + EOF +; + +// Rule XListLiteral +ruleXListLiteral + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); } - 'reject' - { after(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); } + { before(grammarAccess.getXListLiteralAccess().getGroup()); } + (rule__XListLiteral__Group__0) + { after(grammarAccess.getXListLiteralAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXClosure +entryRuleXClosure +: +{ before(grammarAccess.getXClosureRule()); } + ruleXClosure +{ after(grammarAccess.getXClosureRule()); } + EOF +; + +// Rule XClosure +ruleXClosure + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); } - 'exists' - { after(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); } + { before(grammarAccess.getXClosureAccess().getGroup()); } + (rule__XClosure__Group__0) + { after(grammarAccess.getXClosureAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXExpressionInClosure +entryRuleXExpressionInClosure +: +{ before(grammarAccess.getXExpressionInClosureRule()); } + ruleXExpressionInClosure +{ after(grammarAccess.getXExpressionInClosureRule()); } + EOF +; + +// Rule XExpressionInClosure +ruleXExpressionInClosure + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); } - 'notExists' - { after(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); } + { before(grammarAccess.getXExpressionInClosureAccess().getGroup()); } + (rule__XExpressionInClosure__Group__0) + { after(grammarAccess.getXExpressionInClosureAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXShortClosure +entryRuleXShortClosure +: +{ before(grammarAccess.getXShortClosureRule()); } + ruleXShortClosure +{ after(grammarAccess.getXShortClosureRule()); } + EOF +; + +// Rule XShortClosure +ruleXShortClosure + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); } - 'sortBy' - { after(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); } + { before(grammarAccess.getXShortClosureAccess().getGroup()); } + (rule__XShortClosure__Group__0) + { after(grammarAccess.getXShortClosureAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXParenthesizedExpression +entryRuleXParenthesizedExpression +: +{ before(grammarAccess.getXParenthesizedExpressionRule()); } + ruleXParenthesizedExpression +{ after(grammarAccess.getXParenthesizedExpressionRule()); } + EOF +; + +// Rule XParenthesizedExpression +ruleXParenthesizedExpression + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); } - 'forAll' - { after(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); } + { before(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); } + (rule__XParenthesizedExpression__Group__0) + { after(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXIfExpression +entryRuleXIfExpression +: +{ before(grammarAccess.getXIfExpressionRule()); } + ruleXIfExpression +{ after(grammarAccess.getXIfExpressionRule()); } + EOF +; + +// Rule XIfExpression +ruleXIfExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXIfExpressionAccess().getGroup()); } + (rule__XIfExpression__Group__0) + { after(grammarAccess.getXIfExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXSwitchExpression +entryRuleXSwitchExpression +: +{ before(grammarAccess.getXSwitchExpressionRule()); } + ruleXSwitchExpression +{ after(grammarAccess.getXSwitchExpressionRule()); } + EOF +; + +// Rule XSwitchExpression +ruleXSwitchExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup()); } + (rule__XSwitchExpression__Group__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXCasePart +entryRuleXCasePart +: +{ before(grammarAccess.getXCasePartRule()); } + ruleXCasePart +{ after(grammarAccess.getXCasePartRule()); } + EOF +; + +// Rule XCasePart +ruleXCasePart + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXCasePartAccess().getGroup()); } + (rule__XCasePart__Group__0) + { after(grammarAccess.getXCasePartAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXForLoopExpression +entryRuleXForLoopExpression +: +{ before(grammarAccess.getXForLoopExpressionRule()); } + ruleXForLoopExpression +{ after(grammarAccess.getXForLoopExpressionRule()); } + EOF +; + +// Rule XForLoopExpression +ruleXForLoopExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXForLoopExpressionAccess().getGroup()); } + (rule__XForLoopExpression__Group__0) + { after(grammarAccess.getXForLoopExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXBasicForLoopExpression +entryRuleXBasicForLoopExpression +: +{ before(grammarAccess.getXBasicForLoopExpressionRule()); } + ruleXBasicForLoopExpression +{ after(grammarAccess.getXBasicForLoopExpressionRule()); } + EOF +; + +// Rule XBasicForLoopExpression +ruleXBasicForLoopExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); } + (rule__XBasicForLoopExpression__Group__0) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXWhileExpression +entryRuleXWhileExpression +: +{ before(grammarAccess.getXWhileExpressionRule()); } + ruleXWhileExpression +{ after(grammarAccess.getXWhileExpressionRule()); } + EOF +; + +// Rule XWhileExpression +ruleXWhileExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXWhileExpressionAccess().getGroup()); } + (rule__XWhileExpression__Group__0) + { after(grammarAccess.getXWhileExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXDoWhileExpression +entryRuleXDoWhileExpression +: +{ before(grammarAccess.getXDoWhileExpressionRule()); } + ruleXDoWhileExpression +{ after(grammarAccess.getXDoWhileExpressionRule()); } + EOF +; + +// Rule XDoWhileExpression +ruleXDoWhileExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXDoWhileExpressionAccess().getGroup()); } + (rule__XDoWhileExpression__Group__0) + { after(grammarAccess.getXDoWhileExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXBlockExpression +entryRuleXBlockExpression +: +{ before(grammarAccess.getXBlockExpressionRule()); } + ruleXBlockExpression +{ after(grammarAccess.getXBlockExpressionRule()); } + EOF +; + +// Rule XBlockExpression +ruleXBlockExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXBlockExpressionAccess().getGroup()); } + (rule__XBlockExpression__Group__0) + { after(grammarAccess.getXBlockExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXExpressionOrVarDeclaration +entryRuleXExpressionOrVarDeclaration +: +{ before(grammarAccess.getXExpressionOrVarDeclarationRule()); } + ruleXExpressionOrVarDeclaration +{ after(grammarAccess.getXExpressionOrVarDeclarationRule()); } + EOF +; + +// Rule XExpressionOrVarDeclaration +ruleXExpressionOrVarDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); } + (rule__XExpressionOrVarDeclaration__Alternatives) + { after(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__Type__Alternatives +// Entry rule entryRuleXVariableDeclaration +entryRuleXVariableDeclaration +: +{ before(grammarAccess.getXVariableDeclarationRule()); } + ruleXVariableDeclaration +{ after(grammarAccess.getXVariableDeclarationRule()); } + EOF +; + +// Rule XVariableDeclaration +ruleXVariableDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXVariableDeclarationAccess().getGroup()); } + (rule__XVariableDeclaration__Group__0) + { after(grammarAccess.getXVariableDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmFormalParameter +entryRuleJvmFormalParameter +: +{ before(grammarAccess.getJvmFormalParameterRule()); } + ruleJvmFormalParameter +{ after(grammarAccess.getJvmFormalParameterRule()); } + EOF +; + +// Rule JvmFormalParameter +ruleJvmFormalParameter + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmFormalParameterAccess().getGroup()); } + (rule__JvmFormalParameter__Group__0) + { after(grammarAccess.getJvmFormalParameterAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleFullJvmFormalParameter +entryRuleFullJvmFormalParameter +: +{ before(grammarAccess.getFullJvmFormalParameterRule()); } + ruleFullJvmFormalParameter +{ after(grammarAccess.getFullJvmFormalParameterRule()); } + EOF +; + +// Rule FullJvmFormalParameter +ruleFullJvmFormalParameter + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); } + (rule__FullJvmFormalParameter__Group__0) + { after(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXFeatureCall +entryRuleXFeatureCall +: +{ before(grammarAccess.getXFeatureCallRule()); } + ruleXFeatureCall +{ after(grammarAccess.getXFeatureCallRule()); } + EOF +; + +// Rule XFeatureCall +ruleXFeatureCall + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXFeatureCallAccess().getGroup()); } + (rule__XFeatureCall__Group__0) + { after(grammarAccess.getXFeatureCallAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleFeatureCallID +entryRuleFeatureCallID +: +{ before(grammarAccess.getFeatureCallIDRule()); } + ruleFeatureCallID +{ after(grammarAccess.getFeatureCallIDRule()); } + EOF +; + +// Rule FeatureCallID +ruleFeatureCallID + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getFeatureCallIDAccess().getAlternatives()); } + (rule__FeatureCallID__Alternatives) + { after(grammarAccess.getFeatureCallIDAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleIdOrSuper +entryRuleIdOrSuper +: +{ before(grammarAccess.getIdOrSuperRule()); } + ruleIdOrSuper +{ after(grammarAccess.getIdOrSuperRule()); } + EOF +; + +// Rule IdOrSuper +ruleIdOrSuper + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getIdOrSuperAccess().getAlternatives()); } + (rule__IdOrSuper__Alternatives) + { after(grammarAccess.getIdOrSuperAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXConstructorCall +entryRuleXConstructorCall +: +{ before(grammarAccess.getXConstructorCallRule()); } + ruleXConstructorCall +{ after(grammarAccess.getXConstructorCallRule()); } + EOF +; + +// Rule XConstructorCall +ruleXConstructorCall + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXConstructorCallAccess().getGroup()); } + (rule__XConstructorCall__Group__0) + { after(grammarAccess.getXConstructorCallAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXBooleanLiteral +entryRuleXBooleanLiteral +: +{ before(grammarAccess.getXBooleanLiteralRule()); } + ruleXBooleanLiteral +{ after(grammarAccess.getXBooleanLiteralRule()); } + EOF +; + +// Rule XBooleanLiteral +ruleXBooleanLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXBooleanLiteralAccess().getGroup()); } + (rule__XBooleanLiteral__Group__0) + { after(grammarAccess.getXBooleanLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXNullLiteral +entryRuleXNullLiteral +: +{ before(grammarAccess.getXNullLiteralRule()); } + ruleXNullLiteral +{ after(grammarAccess.getXNullLiteralRule()); } + EOF +; + +// Rule XNullLiteral +ruleXNullLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXNullLiteralAccess().getGroup()); } + (rule__XNullLiteral__Group__0) + { after(grammarAccess.getXNullLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXNumberLiteral +entryRuleXNumberLiteral +: +{ before(grammarAccess.getXNumberLiteralRule()); } + ruleXNumberLiteral +{ after(grammarAccess.getXNumberLiteralRule()); } + EOF +; + +// Rule XNumberLiteral +ruleXNumberLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXNumberLiteralAccess().getGroup()); } + (rule__XNumberLiteral__Group__0) + { after(grammarAccess.getXNumberLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXStringLiteral +entryRuleXStringLiteral +: +{ before(grammarAccess.getXStringLiteralRule()); } + ruleXStringLiteral +{ after(grammarAccess.getXStringLiteralRule()); } + EOF +; + +// Rule XStringLiteral +ruleXStringLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXStringLiteralAccess().getGroup()); } + (rule__XStringLiteral__Group__0) + { after(grammarAccess.getXStringLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXTypeLiteral +entryRuleXTypeLiteral +: +{ before(grammarAccess.getXTypeLiteralRule()); } + ruleXTypeLiteral +{ after(grammarAccess.getXTypeLiteralRule()); } + EOF +; + +// Rule XTypeLiteral +ruleXTypeLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXTypeLiteralAccess().getGroup()); } + (rule__XTypeLiteral__Group__0) + { after(grammarAccess.getXTypeLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXThrowExpression +entryRuleXThrowExpression +: +{ before(grammarAccess.getXThrowExpressionRule()); } + ruleXThrowExpression +{ after(grammarAccess.getXThrowExpressionRule()); } + EOF +; + +// Rule XThrowExpression +ruleXThrowExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXThrowExpressionAccess().getGroup()); } + (rule__XThrowExpression__Group__0) + { after(grammarAccess.getXThrowExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXReturnExpression +entryRuleXReturnExpression +: +{ before(grammarAccess.getXReturnExpressionRule()); } + ruleXReturnExpression +{ after(grammarAccess.getXReturnExpressionRule()); } + EOF +; + +// Rule XReturnExpression +ruleXReturnExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXReturnExpressionAccess().getGroup()); } + (rule__XReturnExpression__Group__0) + { after(grammarAccess.getXReturnExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXTryCatchFinallyExpression +entryRuleXTryCatchFinallyExpression +: +{ before(grammarAccess.getXTryCatchFinallyExpressionRule()); } + ruleXTryCatchFinallyExpression +{ after(grammarAccess.getXTryCatchFinallyExpressionRule()); } + EOF +; + +// Rule XTryCatchFinallyExpression +ruleXTryCatchFinallyExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); } + (rule__XTryCatchFinallyExpression__Group__0) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXSynchronizedExpression +entryRuleXSynchronizedExpression +: +{ before(grammarAccess.getXSynchronizedExpressionRule()); } + ruleXSynchronizedExpression +{ after(grammarAccess.getXSynchronizedExpressionRule()); } + EOF +; + +// Rule XSynchronizedExpression +ruleXSynchronizedExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); } + (rule__XSynchronizedExpression__Group__0) + { after(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXCatchClause +entryRuleXCatchClause +: +{ before(grammarAccess.getXCatchClauseRule()); } + ruleXCatchClause +{ after(grammarAccess.getXCatchClauseRule()); } + EOF +; + +// Rule XCatchClause +ruleXCatchClause + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXCatchClauseAccess().getGroup()); } + (rule__XCatchClause__Group__0) + { after(grammarAccess.getXCatchClauseAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleQualifiedName +entryRuleQualifiedName +: +{ before(grammarAccess.getQualifiedNameRule()); } + ruleQualifiedName +{ after(grammarAccess.getQualifiedNameRule()); } + EOF +; + +// Rule QualifiedName +ruleQualifiedName + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getQualifiedNameAccess().getGroup()); } + (rule__QualifiedName__Group__0) + { after(grammarAccess.getQualifiedNameAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleNumber +entryRuleNumber +@init { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +} +: +{ before(grammarAccess.getNumberRule()); } + ruleNumber +{ after(grammarAccess.getNumberRule()); } + EOF +; +finally { + myHiddenTokenState.restore(); +} + +// Rule Number +ruleNumber + @init { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getNumberAccess().getAlternatives()); } + (rule__Number__Alternatives) + { after(grammarAccess.getNumberAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); + myHiddenTokenState.restore(); +} + +// Entry rule entryRuleJvmTypeReference +entryRuleJvmTypeReference +: +{ before(grammarAccess.getJvmTypeReferenceRule()); } + ruleJvmTypeReference +{ after(grammarAccess.getJvmTypeReferenceRule()); } + EOF +; + +// Rule JvmTypeReference +ruleJvmTypeReference + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); } + (rule__JvmTypeReference__Alternatives) + { after(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleArrayBrackets +entryRuleArrayBrackets +: +{ before(grammarAccess.getArrayBracketsRule()); } + ruleArrayBrackets +{ after(grammarAccess.getArrayBracketsRule()); } + EOF +; + +// Rule ArrayBrackets +ruleArrayBrackets + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getArrayBracketsAccess().getGroup()); } + (rule__ArrayBrackets__Group__0) + { after(grammarAccess.getArrayBracketsAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXFunctionTypeRef +entryRuleXFunctionTypeRef +: +{ before(grammarAccess.getXFunctionTypeRefRule()); } + ruleXFunctionTypeRef +{ after(grammarAccess.getXFunctionTypeRefRule()); } + EOF +; + +// Rule XFunctionTypeRef +ruleXFunctionTypeRef + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXFunctionTypeRefAccess().getGroup()); } + (rule__XFunctionTypeRef__Group__0) + { after(grammarAccess.getXFunctionTypeRefAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmParameterizedTypeReference +entryRuleJvmParameterizedTypeReference +: +{ before(grammarAccess.getJvmParameterizedTypeReferenceRule()); } + ruleJvmParameterizedTypeReference +{ after(grammarAccess.getJvmParameterizedTypeReferenceRule()); } + EOF +; + +// Rule JvmParameterizedTypeReference +ruleJvmParameterizedTypeReference + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); } + (rule__JvmParameterizedTypeReference__Group__0) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmArgumentTypeReference +entryRuleJvmArgumentTypeReference +: +{ before(grammarAccess.getJvmArgumentTypeReferenceRule()); } + ruleJvmArgumentTypeReference +{ after(grammarAccess.getJvmArgumentTypeReferenceRule()); } + EOF +; + +// Rule JvmArgumentTypeReference +ruleJvmArgumentTypeReference + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); } + (rule__JvmArgumentTypeReference__Alternatives) + { after(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmWildcardTypeReference +entryRuleJvmWildcardTypeReference +: +{ before(grammarAccess.getJvmWildcardTypeReferenceRule()); } + ruleJvmWildcardTypeReference +{ after(grammarAccess.getJvmWildcardTypeReferenceRule()); } + EOF +; + +// Rule JvmWildcardTypeReference +ruleJvmWildcardTypeReference + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); } + (rule__JvmWildcardTypeReference__Group__0) + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmUpperBound +entryRuleJvmUpperBound +: +{ before(grammarAccess.getJvmUpperBoundRule()); } + ruleJvmUpperBound +{ after(grammarAccess.getJvmUpperBoundRule()); } + EOF +; + +// Rule JvmUpperBound +ruleJvmUpperBound + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmUpperBoundAccess().getGroup()); } + (rule__JvmUpperBound__Group__0) + { after(grammarAccess.getJvmUpperBoundAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmUpperBoundAnded +entryRuleJvmUpperBoundAnded +: +{ before(grammarAccess.getJvmUpperBoundAndedRule()); } + ruleJvmUpperBoundAnded +{ after(grammarAccess.getJvmUpperBoundAndedRule()); } + EOF +; + +// Rule JvmUpperBoundAnded +ruleJvmUpperBoundAnded + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); } + (rule__JvmUpperBoundAnded__Group__0) + { after(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmLowerBound +entryRuleJvmLowerBound +: +{ before(grammarAccess.getJvmLowerBoundRule()); } + ruleJvmLowerBound +{ after(grammarAccess.getJvmLowerBoundRule()); } + EOF +; + +// Rule JvmLowerBound +ruleJvmLowerBound + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmLowerBoundAccess().getGroup()); } + (rule__JvmLowerBound__Group__0) + { after(grammarAccess.getJvmLowerBoundAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmLowerBoundAnded +entryRuleJvmLowerBoundAnded +: +{ before(grammarAccess.getJvmLowerBoundAndedRule()); } + ruleJvmLowerBoundAnded +{ after(grammarAccess.getJvmLowerBoundAndedRule()); } + EOF +; + +// Rule JvmLowerBoundAnded +ruleJvmLowerBoundAnded + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); } + (rule__JvmLowerBoundAnded__Group__0) + { after(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleQualifiedNameWithWildcard +entryRuleQualifiedNameWithWildcard +: +{ before(grammarAccess.getQualifiedNameWithWildcardRule()); } + ruleQualifiedNameWithWildcard +{ after(grammarAccess.getQualifiedNameWithWildcardRule()); } + EOF +; + +// Rule QualifiedNameWithWildcard +ruleQualifiedNameWithWildcard + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); } + (rule__QualifiedNameWithWildcard__Group__0) + { after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleValidID +entryRuleValidID +: +{ before(grammarAccess.getValidIDRule()); } + ruleValidID +{ after(grammarAccess.getValidIDRule()); } + EOF +; + +// Rule ValidID +ruleValidID + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); } + RULE_ID + { after(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXImportDeclaration +entryRuleXImportDeclaration +: +{ before(grammarAccess.getXImportDeclarationRule()); } + ruleXImportDeclaration +{ after(grammarAccess.getXImportDeclarationRule()); } + EOF +; + +// Rule XImportDeclaration +ruleXImportDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXImportDeclarationAccess().getGroup()); } + (rule__XImportDeclaration__Group__0) + { after(grammarAccess.getXImportDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleQualifiedNameInStaticImport +entryRuleQualifiedNameInStaticImport +: +{ before(grammarAccess.getQualifiedNameInStaticImportRule()); } + ruleQualifiedNameInStaticImport +{ after(grammarAccess.getQualifiedNameInStaticImportRule()); } + EOF +; + +// Rule QualifiedNameInStaticImport +ruleQualifiedNameInStaticImport + @init { + int stackSize = keepStackSize(); + } + : + ( + ( + { before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } + (rule__QualifiedNameInStaticImport__Group__0) + { after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } + ) + ( + { before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } + (rule__QualifiedNameInStaticImport__Group__0)* + { after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } + ) + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceItem__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInterfaceItemAccess().getInterfaceFieldParserRuleCall_0()); } + ruleInterfaceField + { after(grammarAccess.getInterfaceItemAccess().getInterfaceFieldParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getInterfaceItemAccess().getInterfaceNavigationParserRuleCall_1()); } + ruleInterfaceNavigation + { after(grammarAccess.getInterfaceItemAccess().getInterfaceNavigationParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getInterfaceItemAccess().getInterfaceExpressionParserRuleCall_2()); } + ruleInterfaceExpression + { after(grammarAccess.getInterfaceItemAccess().getInterfaceExpressionParserRuleCall_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Alternatives_7_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getExportAccess().getFingerprintAssignment_7_0_0()); } + (rule__Export__FingerprintAssignment_7_0_0) + { after(grammarAccess.getExportAccess().getFingerprintAssignment_7_0_0()); } + ) + | + ( + { before(grammarAccess.getExportAccess().getResourceFingerprintAssignment_7_0_1()); } + (rule__Export__ResourceFingerprintAssignment_7_0_1) + { after(grammarAccess.getExportAccess().getResourceFingerprintAssignment_7_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Alternatives_8 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getExportAccess().getGroup_8_0()); } + (rule__Export__Group_8_0__0) + { after(grammarAccess.getExportAccess().getGroup_8_0()); } + ) + | + ( + { before(grammarAccess.getExportAccess().getGroup_8_1()); } + (rule__Export__Group_8_1__0) + { after(grammarAccess.getExportAccess().getGroup_8_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Expression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); } + ruleLetExpression + { after(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); } + (ruleCastedExpression) + { after(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); } + ruleChainExpression + { after(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainedExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); } + ruleIfExpressionKw + { after(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); } + ruleIfExpressionTri + { after(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); } + ruleSwitchExpression + { after(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__OperatorAlternatives_1_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); } + '==' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); } + ) + | + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); } + '!=' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); } + ) + | + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); } + '>=' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); } + ) + | + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); } + '<=' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); } + ) + | + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); } + '>' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); } + ) + | + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); } + '<' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__NameAlternatives_1_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); } + '+' + { after(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); } + ) + | + ( + { before(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); } + '-' + { after(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__NameAlternatives_1_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); } + '*' + { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); } + ) + | + ( + { before(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); } + '/' + { after(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryOrInfixExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); } + ruleUnaryExpression + { after(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); } + ruleInfixExpression + { after(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__NameAlternatives_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); } + '!' + { after(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); } + ) + | + ( + { before(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); } + '-' + { after(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); } + (rule__InfixExpression__Group_1_0__0) + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); } + (rule__InfixExpression__Group_1_1__0) + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); } + (rule__InfixExpression__Group_1_2__0) + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); } + (rule__InfixExpression__Group_1_3__0) + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__NameAlternatives_1_3_2_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); } + 'collect' + { after(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); } + 'select' + { after(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); } + 'selectFirst' + { after(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); } + 'reject' + { after(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); } + 'exists' + { after(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); } + 'notExists' + { after(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); } + 'sortBy' + { after(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); } + 'forAll' + { after(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PrimaryExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); } + ruleLiteral + { after(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); } + ruleFeatureCall + { after(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); } + ruleListLiteral + { after(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); } + ruleConstructorCallExpression + { after(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); } + ruleGlobalVarExpression + { after(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); } + ) + | + ( + { before(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); } + ruleParanthesizedExpression + { after(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Literal__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); } + ruleBooleanLiteral + { after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); } + ruleIntegerLiteral + { after(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); } + ruleNullLiteral + { after(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); } + ruleRealLiteral + { after(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); } + ruleStringLiteral + { after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__BooleanLiteral__ValAlternatives_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); } + 'true' + { after(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); } + ) + | + ( + { before(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); } + 'false' + { after(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FeatureCall__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); } + ruleOperationCall + { after(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); } + (rule__FeatureCall__TypeAssignment_1) + { after(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); } + ) + | + ( + { before(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); } + ruleCollectionExpression + { after(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); } + ruleTypeSelectExpression + { after(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__NameAlternatives_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); } + 'collect' + { after(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); } + 'select' + { after(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); } + 'selectFirst' + { after(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); } + 'reject' + { after(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); } + 'exists' + { after(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); } + 'notExists' + { after(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); } + 'sortBy' + { after(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); } + 'forAll' + { after(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Type__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); } + ruleCollectionType + { after(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); } + ruleSimpleType + { after(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__ClAlternatives_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); } + 'Collection' + { after(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); } + ) + | + ( + { before(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); } + 'List' + { after(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); } + ) + | + ( + { before(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); } + 'Set' + { after(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXAssignmentAccess().getGroup_0()); } + (rule__XAssignment__Group_0__0) + { after(grammarAccess.getXAssignmentAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getXAssignmentAccess().getGroup_1()); } + (rule__XAssignment__Group_1__0) + { after(grammarAccess.getXAssignmentAccess().getGroup_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); } + '+=' + { after(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); } + '-=' + { after(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); } + '*=' + { after(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); } + '/=' + { after(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); } + '%=' + { after(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getGroup_5()); } + (rule__OpMultiAssign__Group_5__0) + { after(grammarAccess.getOpMultiAssignAccess().getGroup_5()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getGroup_6()); } + (rule__OpMultiAssign__Group_6__0) + { after(grammarAccess.getOpMultiAssignAccess().getGroup_6()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpEquality__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); } + '==' + { after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); } + '!=' + { after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); } + ) + | + ( + { before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); } + '===' + { after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); } + ) + | + ( + { before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); } + '!==' + { after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); } + (rule__XRelationalExpression__Group_1_0__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); } + (rule__XRelationalExpression__Group_1_1__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpCompare__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); } + '>=' + { after(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpCompareAccess().getGroup_1()); } + (rule__OpCompare__Group_1__0) + { after(grammarAccess.getOpCompareAccess().getGroup_1()); } + ) + | + ( + { before(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); } + '>' + { after(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); } + ) + | + ( + { before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); } + '<' + { after(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); } + '->' + { after(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); } + '..<' + { after(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getGroup_2()); } + (rule__OpOther__Group_2__0) + { after(grammarAccess.getOpOtherAccess().getGroup_2()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); } + '..' + { after(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); } + '=>' + { after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getGroup_5()); } + (rule__OpOther__Group_5__0) + { after(grammarAccess.getOpOtherAccess().getGroup_5()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getGroup_6()); } + (rule__OpOther__Group_6__0) + { after(grammarAccess.getOpOtherAccess().getGroup_6()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); } + '<>' + { after(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); } + '?:' + { after(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Alternatives_5_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); } + (rule__OpOther__Group_5_1_0__0) + { after(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); } + '>' + { after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Alternatives_6_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); } + (rule__OpOther__Group_6_1_0__0) + { after(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); } + '<' + { after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); } + '=>' + { after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpAdd__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); } + '+' + { after(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); } + '-' + { after(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMulti__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); } + '*' + { after(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); } + '**' + { after(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); } + ) + | + ( + { before(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); } + '/' + { after(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); } + ) + | + ( + { before(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); } + '%' + { after(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXUnaryOperationAccess().getGroup_0()); } + (rule__XUnaryOperation__Group_0__0) + { after(grammarAccess.getXUnaryOperationAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); } + ruleXCastedExpression + { after(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpUnary__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); } + '!' + { after(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); } + '-' + { after(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); } + ) + | + ( + { before(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); } + '+' + { after(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpPostfix__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); } + '++' + { after(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); } + '--' + { after(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); } + (rule__XMemberFeatureCall__Group_1_0__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); } + (rule__XMemberFeatureCall__Group_1_1__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); } + '.' + { after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); } + ) + | + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); } + (rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); } + '.' + { after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); } + ) + | + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); } + (rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); } + ) + | + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); } + (rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Alternatives_1_1_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); } + (rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0) + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); } + ) + | + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); } + (rule__XMemberFeatureCall__Group_1_1_3_1_1__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XPrimaryExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); } + ruleXConstructorCall + { after(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); } + ruleXBlockExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); } + ruleXSwitchExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); } + (ruleXSynchronizedExpression) + { after(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); } + ruleXFeatureCall + { after(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); } + ruleXLiteral + { after(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); } + ruleXIfExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); } + (ruleXForLoopExpression) + { after(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); } + ruleXBasicForLoopExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); } + ruleXWhileExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); } + ruleXDoWhileExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); } + ruleXThrowExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); } + ruleXReturnExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); } + ruleXTryCatchFinallyExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); } + ruleXParenthesizedExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XLiteral__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); } + ruleXCollectionLiteral + { after(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); } + (ruleXClosure) + { after(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); } + ruleXBooleanLiteral + { after(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); } + ruleXNumberLiteral + { after(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); } + ruleXNullLiteral + { after(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); } + ruleXStringLiteral + { after(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); } + ruleXTypeLiteral + { after(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCollectionLiteral__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); } + ruleXSetLiteral + { after(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); } + ruleXListLiteral + { after(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Alternatives_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); } + (rule__XSwitchExpression__Group_2_0__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); } + ) + | + ( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); } + (rule__XSwitchExpression__Group_2_1__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Alternatives_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXCasePartAccess().getGroup_3_0()); } + (rule__XCasePart__Group_3_0__0) + { after(grammarAccess.getXCasePartAccess().getGroup_3_0()); } + ) + | + ( + { before(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); } + (rule__XCasePart__FallThroughAssignment_3_1) + { after(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionOrVarDeclaration__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); } + ruleXVariableDeclaration + { after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); } + ruleXExpression + { after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); } + (rule__XVariableDeclaration__WriteableAssignment_1_0) + { after(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); } + ) + | + ( + { before(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); } + 'val' + { after(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Alternatives_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); } + (rule__XVariableDeclaration__Group_2_0__0) + { after(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); } + ) + | + ( + { before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); } + (rule__XVariableDeclaration__NameAssignment_2_1) + { after(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Alternatives_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); } + (rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0) + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); } + ) + | + ( + { before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); } + (rule__XFeatureCall__Group_3_1_1__0) + { after(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FeatureCallID__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); } + ruleValidID + { after(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); } + 'extends' + { after(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); } + ) + | + ( + { before(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); } + 'static' + { after(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); } + ) + | + ( + { before(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); } + 'import' + { after(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); } + ) + | + ( + { before(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); } + 'extension' + { after(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdOrSuper__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); } + ruleFeatureCallID + { after(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); } + 'super' + { after(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Alternatives_4_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); } + (rule__XConstructorCall__ArgumentsAssignment_4_1_0) + { after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); } + ) + | + ( + { before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); } + (rule__XConstructorCall__Group_4_1_1__0) + { after(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBooleanLiteral__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); } + 'false' + { after(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); } + ) + | + ( + { before(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); } + (rule__XBooleanLiteral__IsTrueAssignment_1_1) + { after(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Alternatives_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); } + (rule__XTryCatchFinallyExpression__Group_3_0__0) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); } + ) + | + ( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); } + (rule__XTryCatchFinallyExpression__Group_3_1__0) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Number__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); } + RULE_HEX + { after(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getNumberAccess().getGroup_1()); } + (rule__Number__Group_1__0) + { after(grammarAccess.getNumberAccess().getGroup_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Number__Alternatives_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); } + RULE_INT + { after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); } + ) + | + ( + { before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); } + RULE_DECIMAL + { after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Number__Alternatives_1_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); } + RULE_INT + { after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); } + ) + | + ( + { before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); } + RULE_DECIMAL + { after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__JvmTypeReference__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); } + (rule__JvmTypeReference__Group_0__0) + { after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); } + ruleXFunctionTypeRef + { after(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__JvmArgumentTypeReference__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); } + ruleJvmWildcardTypeReference + { after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__JvmWildcardTypeReference__Alternatives_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); } + (rule__JvmWildcardTypeReference__Group_2_0__0) + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); } + ) + | + ( + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); } + (rule__JvmWildcardTypeReference__Group_2_1__0) + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XImportDeclaration__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); } + (rule__XImportDeclaration__Group_1_0__0) + { after(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); } + (rule__XImportDeclaration__ImportedTypeAssignment_1_1) + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); } + ) + | + ( + { before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); } + (rule__XImportDeclaration__ImportedNamespaceAssignment_1_2) + { after(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XImportDeclaration__Alternatives_1_0_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); } + (rule__XImportDeclaration__WildcardAssignment_1_0_3_0) + { after(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); } + ) + | + ( + { before(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); } + (rule__XImportDeclaration__MemberNameAssignment_1_0_3_1) + { after(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExportModel__Group__0__Impl + rule__ExportModel__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportModelAccess().getGroup_0()); } + (rule__ExportModel__Group_0__0)? + { after(grammarAccess.getExportModelAccess().getGroup_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExportModel__Group__1__Impl + rule__ExportModel__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + ( + { before(grammarAccess.getExportModelAccess().getImportsAssignment_1()); } + (rule__ExportModel__ImportsAssignment_1) + { after(grammarAccess.getExportModelAccess().getImportsAssignment_1()); } + ) + ( + { before(grammarAccess.getExportModelAccess().getImportsAssignment_1()); } + (rule__ExportModel__ImportsAssignment_1)* + { after(grammarAccess.getExportModelAccess().getImportsAssignment_1()); } + ) +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExportModel__Group__2__Impl + rule__ExportModel__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportModelAccess().getExtensionsAssignment_2()); } + (rule__ExportModel__ExtensionsAssignment_2)* + { after(grammarAccess.getExportModelAccess().getExtensionsAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExportModel__Group__3__Impl + rule__ExportModel__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportModelAccess().getGroup_3()); } + (rule__ExportModel__Group_3__0)? + { after(grammarAccess.getExportModelAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExportModel__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + ( + { before(grammarAccess.getExportModelAccess().getExportsAssignment_4()); } + (rule__ExportModel__ExportsAssignment_4) + { after(grammarAccess.getExportModelAccess().getExportsAssignment_4()); } + ) + ( + { before(grammarAccess.getExportModelAccess().getExportsAssignment_4()); } + (rule__ExportModel__ExportsAssignment_4)* + { after(grammarAccess.getExportModelAccess().getExportsAssignment_4()); } + ) +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ExportModel__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExportModel__Group_0__0__Impl + rule__ExportModel__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportModelAccess().getExportKeyword_0_0()); } + 'export' + { after(grammarAccess.getExportModelAccess().getExportKeyword_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExportModel__Group_0__1__Impl + rule__ExportModel__Group_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportModelAccess().getExtensionAssignment_0_1()); } + (rule__ExportModel__ExtensionAssignment_0_1)? + { after(grammarAccess.getExportModelAccess().getExtensionAssignment_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExportModel__Group_0__2__Impl + rule__ExportModel__Group_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportModelAccess().getNameAssignment_0_2()); } + (rule__ExportModel__NameAssignment_0_2) + { after(grammarAccess.getExportModelAccess().getNameAssignment_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExportModel__Group_0__3__Impl + rule__ExportModel__Group_0__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportModelAccess().getForKeyword_0_3()); } + 'for' + { after(grammarAccess.getExportModelAccess().getForKeyword_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group_0__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExportModel__Group_0__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group_0__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportModelAccess().getTargetGrammarAssignment_0_4()); } + (rule__ExportModel__TargetGrammarAssignment_0_4) + { after(grammarAccess.getExportModelAccess().getTargetGrammarAssignment_0_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ExportModel__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExportModel__Group_3__0__Impl + rule__ExportModel__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportModelAccess().getInterfaceKeyword_3_0()); } + 'interface' + { after(grammarAccess.getExportModelAccess().getInterfaceKeyword_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExportModel__Group_3__1__Impl + rule__ExportModel__Group_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportModelAccess().getLeftCurlyBracketKeyword_3_1()); } + '{' + { after(grammarAccess.getExportModelAccess().getLeftCurlyBracketKeyword_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExportModel__Group_3__2__Impl + rule__ExportModel__Group_3__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + ( + { before(grammarAccess.getExportModelAccess().getInterfacesAssignment_3_2()); } + (rule__ExportModel__InterfacesAssignment_3_2) + { after(grammarAccess.getExportModelAccess().getInterfacesAssignment_3_2()); } + ) + ( + { before(grammarAccess.getExportModelAccess().getInterfacesAssignment_3_2()); } + (rule__ExportModel__InterfacesAssignment_3_2)* + { after(grammarAccess.getExportModelAccess().getInterfacesAssignment_3_2()); } + ) +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group_3__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExportModel__Group_3__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ExportModel__Group_3__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportModelAccess().getRightCurlyBracketKeyword_3_3()); } + '}' + { after(grammarAccess.getExportModelAccess().getRightCurlyBracketKeyword_3_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 + rule__Import__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Import__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImportAccess().getPackageAssignment_1()); } + (rule__Import__PackageAssignment_1) + { after(grammarAccess.getImportAccess().getPackageAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Import__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Import__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Import__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImportAccess().getGroup_2()); } + (rule__Import__Group_2__0)? + { after(grammarAccess.getImportAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Import__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Import__Group_2__0__Impl + rule__Import__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Import__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImportAccess().getAsKeyword_2_0()); } + 'as' + { after(grammarAccess.getImportAccess().getAsKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Import__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Import__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Import__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImportAccess().getNameAssignment_2_1()); } + (rule__Import__NameAssignment_2_1) + { after(grammarAccess.getImportAccess().getNameAssignment_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Extension__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Extension__Group__0__Impl + rule__Extension__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Extension__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExtensionAccess().getExtensionKeyword_0()); } + 'extension' + { after(grammarAccess.getExtensionAccess().getExtensionKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Extension__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Extension__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Extension__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExtensionAccess().getExtensionAssignment_1()); } + (rule__Extension__ExtensionAssignment_1) + { after(grammarAccess.getExtensionAccess().getExtensionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Interface__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Interface__Group__0__Impl + rule__Interface__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceAccess().getTypeAssignment_0()); } + (rule__Interface__TypeAssignment_0) + { after(grammarAccess.getInterfaceAccess().getTypeAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Interface__Group__1__Impl + rule__Interface__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceAccess().getGroup_1()); } + (rule__Interface__Group_1__0)? + { after(grammarAccess.getInterfaceAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Interface__Group__2__Impl + rule__Interface__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceAccess().getGroup_2()); } + (rule__Interface__Group_2__0)* + { after(grammarAccess.getInterfaceAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__Interface__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceAccess().getSemicolonKeyword_3()); } + ';' + { after(grammarAccess.getInterfaceAccess().getSemicolonKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Interface__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Interface__Group_1__0__Impl + rule__Interface__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceAccess().getLeftSquareBracketKeyword_1_0()); } + '[' + { after(grammarAccess.getInterfaceAccess().getLeftSquareBracketKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Interface__Group_1__1__Impl + rule__Interface__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceAccess().getGuardAssignment_1_1()); } + (rule__Interface__GuardAssignment_1_1) + { after(grammarAccess.getInterfaceAccess().getGuardAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Interface__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceAccess().getRightSquareBracketKeyword_1_2()); } + ']' + { after(grammarAccess.getInterfaceAccess().getRightSquareBracketKeyword_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Interface__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Interface__Group_2__0__Impl + rule__Interface__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceAccess().getEqualsSignKeyword_2_0()); } + '=' + { after(grammarAccess.getInterfaceAccess().getEqualsSignKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Interface__Group_2__1__Impl + rule__Interface__Group_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceAccess().getItemsAssignment_2_1()); } + (rule__Interface__ItemsAssignment_2_1) + { after(grammarAccess.getInterfaceAccess().getItemsAssignment_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Interface__Group_2__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceAccess().getGroup_2_2()); } + (rule__Interface__Group_2_2__0)* + { after(grammarAccess.getInterfaceAccess().getGroup_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Interface__Group_2_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Interface__Group_2_2__0__Impl + rule__Interface__Group_2_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group_2_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceAccess().getCommaKeyword_2_2_0()); } + ',' + { after(grammarAccess.getInterfaceAccess().getCommaKeyword_2_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group_2_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Interface__Group_2_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Interface__Group_2_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceAccess().getItemsAssignment_2_2_1()); } + (rule__Interface__ItemsAssignment_2_2_1) + { after(grammarAccess.getInterfaceAccess().getItemsAssignment_2_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InterfaceField__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InterfaceField__Group__0__Impl + rule__InterfaceField__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceField__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceFieldAccess().getUnorderedAssignment_0()); } + (rule__InterfaceField__UnorderedAssignment_0)? + { after(grammarAccess.getInterfaceFieldAccess().getUnorderedAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceField__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InterfaceField__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceField__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceFieldAccess().getFieldAssignment_1()); } + (rule__InterfaceField__FieldAssignment_1) + { after(grammarAccess.getInterfaceFieldAccess().getFieldAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InterfaceNavigation__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InterfaceNavigation__Group__0__Impl + rule__InterfaceNavigation__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceNavigation__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceNavigationAccess().getCommercialAtKeyword_0()); } + '@' + { after(grammarAccess.getInterfaceNavigationAccess().getCommercialAtKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceNavigation__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InterfaceNavigation__Group__1__Impl + rule__InterfaceNavigation__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceNavigation__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceNavigationAccess().getUnorderedAssignment_1()); } + (rule__InterfaceNavigation__UnorderedAssignment_1)? + { after(grammarAccess.getInterfaceNavigationAccess().getUnorderedAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceNavigation__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InterfaceNavigation__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceNavigation__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceNavigationAccess().getRefAssignment_2()); } + (rule__InterfaceNavigation__RefAssignment_2) + { after(grammarAccess.getInterfaceNavigationAccess().getRefAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InterfaceExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InterfaceExpression__Group__0__Impl + rule__InterfaceExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceExpressionAccess().getEvalKeyword_0()); } + 'eval' + { after(grammarAccess.getInterfaceExpressionAccess().getEvalKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InterfaceExpression__Group__1__Impl + rule__InterfaceExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceExpressionAccess().getRefAssignment_1()); } + (rule__InterfaceExpression__RefAssignment_1)? + { after(grammarAccess.getInterfaceExpressionAccess().getRefAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InterfaceExpression__Group__2__Impl + rule__InterfaceExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceExpressionAccess().getUnorderedAssignment_2()); } + (rule__InterfaceExpression__UnorderedAssignment_2)? + { after(grammarAccess.getInterfaceExpressionAccess().getUnorderedAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__InterfaceExpression__Group__3__Impl + rule__InterfaceExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceExpressionAccess().getLeftParenthesisKeyword_3()); } + '(' + { after(grammarAccess.getInterfaceExpressionAccess().getLeftParenthesisKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__InterfaceExpression__Group__4__Impl + rule__InterfaceExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceExpressionAccess().getExprAssignment_4()); } + (rule__InterfaceExpression__ExprAssignment_4) + { after(grammarAccess.getInterfaceExpressionAccess().getExprAssignment_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__InterfaceExpression__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InterfaceExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInterfaceExpressionAccess().getRightParenthesisKeyword_5()); } + ')' + { after(grammarAccess.getInterfaceExpressionAccess().getRightParenthesisKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Export__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group__0__Impl + rule__Export__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getExportKeyword_0()); } + 'export' + { after(grammarAccess.getExportAccess().getExportKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group__1__Impl + rule__Export__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getGroup_1()); } + (rule__Export__Group_1__0)? + { after(grammarAccess.getExportAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group__2__Impl + rule__Export__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getTypeAssignment_2()); } + (rule__Export__TypeAssignment_2) + { after(grammarAccess.getExportAccess().getTypeAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group__3__Impl + rule__Export__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getGroup_3()); } + (rule__Export__Group_3__0)? + { after(grammarAccess.getExportAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group__4__Impl + rule__Export__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getGroup_4()); } + (rule__Export__Group_4__0)? + { after(grammarAccess.getExportAccess().getGroup_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group__5__Impl + rule__Export__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getLeftCurlyBracketKeyword_5()); } + '{' + { after(grammarAccess.getExportAccess().getLeftCurlyBracketKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group__6__Impl + rule__Export__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getGroup_6()); } + (rule__Export__Group_6__0)? + { after(grammarAccess.getExportAccess().getGroup_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group__7__Impl + rule__Export__Group__8 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getGroup_7()); } + (rule__Export__Group_7__0)? + { after(grammarAccess.getExportAccess().getGroup_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__8 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group__8__Impl + rule__Export__Group__9 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__8__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getAlternatives_8()); } + (rule__Export__Alternatives_8)* + { after(grammarAccess.getExportAccess().getAlternatives_8()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__9 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group__9__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group__9__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getRightCurlyBracketKeyword_9()); } + '}' + { after(grammarAccess.getExportAccess().getRightCurlyBracketKeyword_9()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Export__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_1__0__Impl + rule__Export__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getLookupAssignment_1_0()); } + (rule__Export__LookupAssignment_1_0) + { after(grammarAccess.getExportAccess().getLookupAssignment_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getGroup_1_1()); } + (rule__Export__Group_1_1__0)? + { after(grammarAccess.getExportAccess().getGroup_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Export__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_1_1__0__Impl + rule__Export__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getLeftSquareBracketKeyword_1_1_0()); } + '[' + { after(grammarAccess.getExportAccess().getLeftSquareBracketKeyword_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_1_1__1__Impl + rule__Export__Group_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getLookupPredicateAssignment_1_1_1()); } + (rule__Export__LookupPredicateAssignment_1_1_1) + { after(grammarAccess.getExportAccess().getLookupPredicateAssignment_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_1_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getRightSquareBracketKeyword_1_1_2()); } + ']' + { after(grammarAccess.getExportAccess().getRightSquareBracketKeyword_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Export__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_3__0__Impl + rule__Export__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getAsKeyword_3_0()); } + 'as' + { after(grammarAccess.getExportAccess().getAsKeyword_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_3__1__Impl + rule__Export__Group_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getQualifiedNameAssignment_3_1()); } + (rule__Export__QualifiedNameAssignment_3_1)? + { after(grammarAccess.getExportAccess().getQualifiedNameAssignment_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_3__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getNamingAssignment_3_2()); } + (rule__Export__NamingAssignment_3_2) + { after(grammarAccess.getExportAccess().getNamingAssignment_3_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Export__Group_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_4__0__Impl + rule__Export__Group_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getLeftSquareBracketKeyword_4_0()); } + '[' + { after(grammarAccess.getExportAccess().getLeftSquareBracketKeyword_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_4__1__Impl + rule__Export__Group_4__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getGuardAssignment_4_1()); } + (rule__Export__GuardAssignment_4_1) + { after(grammarAccess.getExportAccess().getGuardAssignment_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_4__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_4__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_4__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getRightSquareBracketKeyword_4_2()); } + ']' + { after(grammarAccess.getExportAccess().getRightSquareBracketKeyword_4_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Export__Group_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_6__0__Impl + rule__Export__Group_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getUriFragmentKeyword_6_0()); } + 'uri-fragment' + { after(grammarAccess.getExportAccess().getUriFragmentKeyword_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_6__1__Impl + rule__Export__Group_6__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getEqualsSignKeyword_6_1()); } + '=' + { after(grammarAccess.getExportAccess().getEqualsSignKeyword_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_6__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_6__2__Impl + rule__Export__Group_6__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_6__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getFragmentUniqueAssignment_6_2()); } + (rule__Export__FragmentUniqueAssignment_6_2)? + { after(grammarAccess.getExportAccess().getFragmentUniqueAssignment_6_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_6__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_6__3__Impl + rule__Export__Group_6__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_6__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getAttributeKeyword_6_3()); } + 'attribute' + { after(grammarAccess.getExportAccess().getAttributeKeyword_6_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_6__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_6__4__Impl + rule__Export__Group_6__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_6__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getLeftParenthesisKeyword_6_4()); } + '(' + { after(grammarAccess.getExportAccess().getLeftParenthesisKeyword_6_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_6__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_6__5__Impl + rule__Export__Group_6__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_6__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getFragmentAttributeAssignment_6_5()); } + (rule__Export__FragmentAttributeAssignment_6_5) + { after(grammarAccess.getExportAccess().getFragmentAttributeAssignment_6_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_6__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_6__6__Impl + rule__Export__Group_6__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_6__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getRightParenthesisKeyword_6_6()); } + ')' + { after(grammarAccess.getExportAccess().getRightParenthesisKeyword_6_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_6__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_6__7__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_6__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getSemicolonKeyword_6_7()); } + ';' + { after(grammarAccess.getExportAccess().getSemicolonKeyword_6_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Export__Group_7__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_7__0__Impl + rule__Export__Group_7__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_7__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getAlternatives_7_0()); } + (rule__Export__Alternatives_7_0) + { after(grammarAccess.getExportAccess().getAlternatives_7_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_7__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_7__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_7__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getSemicolonKeyword_7_1()); } + ';' + { after(grammarAccess.getExportAccess().getSemicolonKeyword_7_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Export__Group_8_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_8_0__0__Impl + rule__Export__Group_8_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getFieldKeyword_8_0_0()); } + 'field' + { after(grammarAccess.getExportAccess().getFieldKeyword_8_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_8_0__1__Impl + rule__Export__Group_8_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getAttributesAssignment_8_0_1()); } + (rule__Export__AttributesAssignment_8_0_1) + { after(grammarAccess.getExportAccess().getAttributesAssignment_8_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_8_0__2__Impl + rule__Export__Group_8_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getGroup_8_0_2()); } + (rule__Export__Group_8_0_2__0)* + { after(grammarAccess.getExportAccess().getGroup_8_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_8_0__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getSemicolonKeyword_8_0_3()); } + ';' + { after(grammarAccess.getExportAccess().getSemicolonKeyword_8_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Export__Group_8_0_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_8_0_2__0__Impl + rule__Export__Group_8_0_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_0_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getCommaKeyword_8_0_2_0()); } + ',' + { after(grammarAccess.getExportAccess().getCommaKeyword_8_0_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_0_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_8_0_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_0_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getAttributesAssignment_8_0_2_1()); } + (rule__Export__AttributesAssignment_8_0_2_1) + { after(grammarAccess.getExportAccess().getAttributesAssignment_8_0_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Export__Group_8_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_8_1__0__Impl + rule__Export__Group_8_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getDataKeyword_8_1_0()); } + 'data' + { after(grammarAccess.getExportAccess().getDataKeyword_8_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_8_1__1__Impl + rule__Export__Group_8_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getUserDataAssignment_8_1_1()); } + (rule__Export__UserDataAssignment_8_1_1) + { after(grammarAccess.getExportAccess().getUserDataAssignment_8_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_8_1__2__Impl + rule__Export__Group_8_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getGroup_8_1_2()); } + (rule__Export__Group_8_1_2__0)* + { after(grammarAccess.getExportAccess().getGroup_8_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_8_1__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getSemicolonKeyword_8_1_3()); } + ';' + { after(grammarAccess.getExportAccess().getSemicolonKeyword_8_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Export__Group_8_1_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_8_1_2__0__Impl + rule__Export__Group_8_1_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_1_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getCommaKeyword_8_1_2_0()); } + ',' + { after(grammarAccess.getExportAccess().getCommaKeyword_8_1_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_1_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Export__Group_8_1_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Export__Group_8_1_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExportAccess().getUserDataAssignment_8_1_2_1()); } + (rule__Export__UserDataAssignment_8_1_2_1) + { after(grammarAccess.getExportAccess().getUserDataAssignment_8_1_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UserData__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UserData__Group__0__Impl + rule__UserData__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UserData__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUserDataAccess().getNameAssignment_0()); } + (rule__UserData__NameAssignment_0) + { after(grammarAccess.getUserDataAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UserData__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UserData__Group__1__Impl + rule__UserData__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__UserData__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUserDataAccess().getEqualsSignKeyword_1()); } + '=' + { after(grammarAccess.getUserDataAccess().getEqualsSignKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UserData__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__UserData__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UserData__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUserDataAccess().getExprAssignment_2()); } + (rule__UserData__ExprAssignment_2) + { after(grammarAccess.getUserDataAccess().getExprAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QualifiedID__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifiedID__Group__0__Impl + rule__QualifiedID__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedID__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_0()); } + RULE_ID + { after(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedID__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifiedID__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedID__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifiedIDAccess().getGroup_1()); } + (rule__QualifiedID__Group_1__0)* + { after(grammarAccess.getQualifiedIDAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QualifiedID__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifiedID__Group_1__0__Impl + rule__QualifiedID__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedID__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); } + '::' + { after(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedID__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifiedID__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedID__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_1_1()); } + RULE_ID + { after(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LetExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__0__Impl + rule__LetExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } + 'let' + { after(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__1__Impl + rule__LetExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); } + (rule__LetExpression__IdentifierAssignment_1) + { after(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__2__Impl + rule__LetExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } + '=' + { after(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__3__Impl + rule__LetExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); } + (rule__LetExpression__VarExprAssignment_3) + { after(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__4__Impl + rule__LetExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } + ':' + { after(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } + (rule__LetExpression__TargetAssignment_5) + { after(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CastedExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CastedExpression__Group__0__Impl + rule__CastedExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } + '(' + { after(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CastedExpression__Group__1__Impl + rule__CastedExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); } + (rule__CastedExpression__TypeAssignment_1) + { after(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__CastedExpression__Group__2__Impl + rule__CastedExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); } + ')' + { after(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__CastedExpression__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); } + (rule__CastedExpression__TargetAssignment_3) + { after(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ChainExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChainExpression__Group__0__Impl + rule__ChainExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } + ruleChainedExpression + { after(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChainExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChainExpressionAccess().getGroup_1()); } + (rule__ChainExpression__Group_1__0)* + { after(grammarAccess.getChainExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ChainExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChainExpression__Group_1__0__Impl + rule__ChainExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); } + () + { after(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChainExpression__Group_1__1__Impl + rule__ChainExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } + '->' + { after(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChainExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } + (rule__ChainExpression__NextAssignment_1_2) + { after(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfExpressionTri__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group__0__Impl + rule__IfExpressionTri__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } + ruleOrExpression + { after(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } + (rule__IfExpressionTri__Group_1__0)? + { after(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfExpressionTri__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group_1__0__Impl + rule__IfExpressionTri__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } + () + { after(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group_1__1__Impl + rule__IfExpressionTri__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } + '?' + { after(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group_1__2__Impl + rule__IfExpressionTri__Group_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); } + (rule__IfExpressionTri__ThenPartAssignment_1_2) + { after(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group_1__3__Impl + rule__IfExpressionTri__Group_1__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } + ':' + { after(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group_1__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); } + (rule__IfExpressionTri__ElsePartAssignment_1_4) + { after(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfExpressionKw__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group__0__Impl + rule__IfExpressionKw__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); } + 'if' + { after(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group__1__Impl + rule__IfExpressionKw__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } + (rule__IfExpressionKw__ConditionAssignment_1) + { after(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group__2__Impl + rule__IfExpressionKw__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } + 'then' + { after(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group__3__Impl + rule__IfExpressionKw__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); } + (rule__IfExpressionKw__ThenPartAssignment_3) + { after(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } + (rule__IfExpressionKw__Group_4__0)? + { after(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfExpressionKw__Group_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group_4__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); } + (rule__IfExpressionKw__Group_4_0__0) + { after(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfExpressionKw__Group_4_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group_4_0__0__Impl + rule__IfExpressionKw__Group_4_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group_4_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } + 'else' + { after(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group_4_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group_4_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group_4_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); } + (rule__IfExpressionKw__ElsePartAssignment_4_0_1) + { after(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SwitchExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__0__Impl + rule__SwitchExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } + 'switch' + { after(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__1__Impl + rule__SwitchExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getGroup_1()); } + (rule__SwitchExpression__Group_1__0)? + { after(grammarAccess.getSwitchExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__2__Impl + rule__SwitchExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } + '{' + { after(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__3__Impl + rule__SwitchExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } + (rule__SwitchExpression__CaseAssignment_3)* + { after(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__4__Impl + rule__SwitchExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } + 'default' + { after(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__5__Impl + rule__SwitchExpression__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } + ':' + { after(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__6__Impl + rule__SwitchExpression__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); } + (rule__SwitchExpression__DefaultExprAssignment_6) + { after(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__7__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } + '}' + { after(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SwitchExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group_1__0__Impl + rule__SwitchExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } + '(' + { after(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group_1__1__Impl + rule__SwitchExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } + (rule__SwitchExpression__SwitchExprAssignment_1_1) + { after(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } + ')' + { after(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Case__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Case__Group__0__Impl + rule__Case__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseAccess().getCaseKeyword_0()); } + 'case' + { after(grammarAccess.getCaseAccess().getCaseKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Case__Group__1__Impl + rule__Case__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseAccess().getConditionAssignment_1()); } + (rule__Case__ConditionAssignment_1) + { after(grammarAccess.getCaseAccess().getConditionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Case__Group__2__Impl + rule__Case__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseAccess().getColonKeyword_2()); } + ':' + { after(grammarAccess.getCaseAccess().getColonKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__Case__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseAccess().getThenParAssignment_3()); } + (rule__Case__ThenParAssignment_3) + { after(grammarAccess.getCaseAccess().getThenParAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OrExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpression__Group__0__Impl + rule__OrExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } + ruleAndExpression + { after(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionAccess().getGroup_1()); } + (rule__OrExpression__Group_1__0)* + { after(grammarAccess.getOrExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OrExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpression__Group_1__0__Impl + rule__OrExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); } + () + { after(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpression__Group_1__1__Impl + rule__OrExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } + (rule__OrExpression__OperatorAssignment_1_1) + { after(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } + (rule__OrExpression__RightAssignment_1_2) + { after(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AndExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpression__Group__0__Impl + rule__AndExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } + ruleImpliesExpression + { after(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionAccess().getGroup_1()); } + (rule__AndExpression__Group_1__0)* + { after(grammarAccess.getAndExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AndExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpression__Group_1__0__Impl + rule__AndExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); } + () + { after(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpression__Group_1__1__Impl + rule__AndExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } + (rule__AndExpression__OperatorAssignment_1_1) + { after(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } + (rule__AndExpression__RightAssignment_1_2) + { after(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ImpliesExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImpliesExpression__Group__0__Impl + rule__ImpliesExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } + ruleRelationalExpression + { after(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImpliesExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } + (rule__ImpliesExpression__Group_1__0)* + { after(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ImpliesExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImpliesExpression__Group_1__0__Impl + rule__ImpliesExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); } + () + { after(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImpliesExpression__Group_1__1__Impl + rule__ImpliesExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } + (rule__ImpliesExpression__OperatorAssignment_1_1) + { after(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImpliesExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } + (rule__ImpliesExpression__RightAssignment_1_2) + { after(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__RelationalExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationalExpression__Group__0__Impl + rule__RelationalExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } + ruleAdditiveExpression + { after(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationalExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRelationalExpressionAccess().getGroup_1()); } + (rule__RelationalExpression__Group_1__0)* + { after(grammarAccess.getRelationalExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__RelationalExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationalExpression__Group_1__0__Impl + rule__RelationalExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); } + () + { after(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationalExpression__Group_1__1__Impl + rule__RelationalExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } + (rule__RelationalExpression__OperatorAssignment_1_1) + { after(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationalExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } + (rule__RelationalExpression__RightAssignment_1_2) + { after(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AdditiveExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group__0__Impl + rule__AdditiveExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } + ruleMultiplicativeExpression + { after(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } + (rule__AdditiveExpression__Group_1__0)* + { after(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AdditiveExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group_1__0__Impl + rule__AdditiveExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); } + () + { after(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group_1__1__Impl + rule__AdditiveExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } + (rule__AdditiveExpression__NameAssignment_1_1) + { after(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } + (rule__AdditiveExpression__ParamsAssignment_1_2) + { after(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__MultiplicativeExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group__0__Impl + rule__MultiplicativeExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } + ruleUnaryOrInfixExpression + { after(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } + (rule__MultiplicativeExpression__Group_1__0)* + { after(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__MultiplicativeExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group_1__0__Impl + rule__MultiplicativeExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); } + () + { after(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group_1__1__Impl + rule__MultiplicativeExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); } + (rule__MultiplicativeExpression__NameAssignment_1_1) + { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); } + (rule__MultiplicativeExpression__ParamsAssignment_1_2) + { after(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnaryExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group__0__Impl + rule__UnaryExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); } + (rule__UnaryExpression__NameAssignment_0) + { after(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); } + (rule__UnaryExpression__ParamsAssignment_1) + { after(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group__0__Impl + rule__InfixExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); } + rulePrimaryExpression + { after(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); } + (rule__InfixExpression__Alternatives_1)* + { after(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__0__Impl + rule__InfixExpression__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); } + () + { after(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__1__Impl + rule__InfixExpression__Group_1_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); } + '.' + { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__2__Impl + rule__InfixExpression__Group_1_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); } + (rule__InfixExpression__NameAssignment_1_0_2) + { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__3__Impl + rule__InfixExpression__Group_1_0__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); } + '(' + { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__4__Impl + rule__InfixExpression__Group_1_0__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); } + (rule__InfixExpression__Group_1_0_4__0)? + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); } + ')' + { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_0_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0_4__0__Impl + rule__InfixExpression__Group_1_0_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); } + (rule__InfixExpression__ParamsAssignment_1_0_4_0) + { after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0_4__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); } + (rule__InfixExpression__Group_1_0_4_1__0)* + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_0_4_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0_4_1__0__Impl + rule__InfixExpression__Group_1_0_4_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); } + ',' + { after(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0_4_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); } + (rule__InfixExpression__ParamsAssignment_1_0_4_1_1) + { after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_1__0__Impl + rule__InfixExpression__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); } + () + { after(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_1__1__Impl + rule__InfixExpression__Group_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); } + '.' + { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); } + (rule__InfixExpression__TypeAssignment_1_1_2) + { after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__0__Impl + rule__InfixExpression__Group_1_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); } + () + { after(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__1__Impl + rule__InfixExpression__Group_1_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); } + '.' + { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__2__Impl + rule__InfixExpression__Group_1_2__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); } + (rule__InfixExpression__NameAssignment_1_2_2) + { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__3__Impl + rule__InfixExpression__Group_1_2__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); } + '(' + { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__4__Impl + rule__InfixExpression__Group_1_2__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); } + (rule__InfixExpression__TypeAssignment_1_2_4) + { after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); } + ')' + { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__0__Impl + rule__InfixExpression__Group_1_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); } + () + { after(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__1__Impl + rule__InfixExpression__Group_1_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); } + '.' + { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__2__Impl + rule__InfixExpression__Group_1_3__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); } + (rule__InfixExpression__NameAssignment_1_3_2) + { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__3__Impl + rule__InfixExpression__Group_1_3__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); } + '(' + { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__4__Impl + rule__InfixExpression__Group_1_3__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); } + (rule__InfixExpression__Group_1_3_4__0)? + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__5__Impl + rule__InfixExpression__Group_1_3__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); } + (rule__InfixExpression__ExpAssignment_1_3_5) + { after(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); } + ')' + { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_3_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3_4__0__Impl + rule__InfixExpression__Group_1_3_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); } + (rule__InfixExpression__VarAssignment_1_3_4_0) + { after(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3_4__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); } + '|' + { after(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ParanthesizedExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParanthesizedExpression__Group__0__Impl + rule__ParanthesizedExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesizedExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } + '(' + { after(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesizedExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParanthesizedExpression__Group__1__Impl + rule__ParanthesizedExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesizedExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); } + ruleExpression + { after(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesizedExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParanthesizedExpression__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesizedExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); } + ')' + { after(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__GlobalVarExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalVarExpression__Group__0__Impl + rule__GlobalVarExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalVarExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); } + 'GLOBALVAR' + { after(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalVarExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalVarExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalVarExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); } + (rule__GlobalVarExpression__NameAssignment_1) + { after(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OperationCall__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group__0__Impl + rule__OperationCall__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getNameAssignment_0()); } + (rule__OperationCall__NameAssignment_0) + { after(grammarAccess.getOperationCallAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group__1__Impl + rule__OperationCall__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group__2__Impl + rule__OperationCall__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getGroup_2()); } + (rule__OperationCall__Group_2__0)? + { after(grammarAccess.getOperationCallAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); } + ')' + { after(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OperationCall__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group_2__0__Impl + rule__OperationCall__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); } + (rule__OperationCall__ParamsAssignment_2_0) + { after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getGroup_2_1()); } + (rule__OperationCall__Group_2_1__0)* + { after(grammarAccess.getOperationCallAccess().getGroup_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OperationCall__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group_2_1__0__Impl + rule__OperationCall__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); } + ',' + { after(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); } + (rule__OperationCall__ParamsAssignment_2_1_1) + { after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ListLiteral__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group__0__Impl + rule__ListLiteral__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); } + () + { after(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group__1__Impl + rule__ListLiteral__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); } + '{' + { after(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group__2__Impl + rule__ListLiteral__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getGroup_2()); } + (rule__ListLiteral__Group_2__0)? + { after(grammarAccess.getListLiteralAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); } + '}' + { after(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ListLiteral__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group_2__0__Impl + rule__ListLiteral__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); } + (rule__ListLiteral__ElementsAssignment_2_0) + { after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getGroup_2_1()); } + (rule__ListLiteral__Group_2_1__0)* + { after(grammarAccess.getListLiteralAccess().getGroup_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ListLiteral__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group_2_1__0__Impl + rule__ListLiteral__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); } + ',' + { after(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); } + (rule__ListLiteral__ElementsAssignment_2_1_1) + { after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ConstructorCallExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConstructorCallExpression__Group__0__Impl + rule__ConstructorCallExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstructorCallExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); } + 'new' + { after(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstructorCallExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConstructorCallExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstructorCallExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); } + (rule__ConstructorCallExpression__TypeAssignment_1) + { after(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__TypeSelectExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__TypeSelectExpression__Group__0__Impl + rule__TypeSelectExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); } + (rule__TypeSelectExpression__NameAssignment_0) + { after(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__TypeSelectExpression__Group__1__Impl + rule__TypeSelectExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__TypeSelectExpression__Group__2__Impl + rule__TypeSelectExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); } + (rule__TypeSelectExpression__TypeAssignment_2) + { after(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__TypeSelectExpression__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); } + ')' + { after(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CollectionExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group__0__Impl + rule__CollectionExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); } + (rule__CollectionExpression__NameAssignment_0) + { after(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group__1__Impl + rule__CollectionExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group__2__Impl + rule__CollectionExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getGroup_2()); } + (rule__CollectionExpression__Group_2__0)? + { after(grammarAccess.getCollectionExpressionAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group__3__Impl + rule__CollectionExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); } + (rule__CollectionExpression__ExpAssignment_3) + { after(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); } + ')' + { after(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CollectionExpression__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group_2__0__Impl + rule__CollectionExpression__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); } + (rule__CollectionExpression__VarAssignment_2_0) + { after(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); } + '|' + { after(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CollectionType__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionType__Group__0__Impl + rule__CollectionType__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); } + (rule__CollectionType__ClAssignment_0) + { after(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionType__Group__1__Impl + rule__CollectionType__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); } + '[' + { after(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionType__Group__2__Impl + rule__CollectionType__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); } + (rule__CollectionType__Id1Assignment_2) + { after(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionType__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); } + ']' + { after(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SimpleType__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SimpleType__Group__0__Impl + rule__SimpleType__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); } + (rule__SimpleType__IdAssignment_0) + { after(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SimpleType__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSimpleTypeAccess().getGroup_1()); } + (rule__SimpleType__Group_1__0)* + { after(grammarAccess.getSimpleTypeAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SimpleType__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SimpleType__Group_1__0__Impl + rule__SimpleType__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); } + '::' + { after(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SimpleType__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); } + (rule__SimpleType__IdAssignment_1_1) + { after(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAssignment__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_0__0__Impl + rule__XAssignment__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0()); } + () + { after(grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_0__1__Impl + rule__XAssignment__Group_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1()); } + (rule__XAssignment__FeatureAssignment_0_1) + { after(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_0__2__Impl + rule__XAssignment__Group_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); } + ruleOpSingleAssign + { after(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_0__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3()); } + (rule__XAssignment__ValueAssignment_0_3) + { after(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAssignment__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1__0__Impl + rule__XAssignment__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); } + ruleXOrExpression + { after(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getGroup_1_1()); } + (rule__XAssignment__Group_1_1__0)? + { after(grammarAccess.getXAssignmentAccess().getGroup_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAssignment__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1_1__0__Impl + rule__XAssignment__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0()); } + (rule__XAssignment__Group_1_1_0__0) + { after(grammarAccess.getXAssignmentAccess().getGroup_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1()); } + (rule__XAssignment__RightOperandAssignment_1_1_1) + { after(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAssignment__Group_1_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0()); } + (rule__XAssignment__Group_1_1_0_0__0) + { after(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAssignment__Group_1_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1_1_0_0__0__Impl + rule__XAssignment__Group_1_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); } + () + { after(grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1()); } + (rule__XAssignment__FeatureAssignment_1_1_0_0_1) + { after(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpMultiAssign__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_5__0__Impl + rule__OpMultiAssign__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); } + '<' + { after(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_5__1__Impl + rule__OpMultiAssign__Group_5__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); } + '<' + { after(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_5__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_5__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_5__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); } + '=' + { after(grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpMultiAssign__Group_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_6__0__Impl + rule__OpMultiAssign__Group_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); } + '>' + { after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_6__1__Impl + rule__OpMultiAssign__Group_6__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); } + ('>')? + { after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_6__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_6__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_6__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); } + '>=' + { after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOrExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group__0__Impl + rule__XOrExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); } + ruleXAndExpression + { after(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getGroup_1()); } + (rule__XOrExpression__Group_1__0)* + { after(grammarAccess.getXOrExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOrExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group_1__0__Impl + rule__XOrExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getGroup_1_0()); } + (rule__XOrExpression__Group_1_0__0) + { after(grammarAccess.getXOrExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XOrExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOrExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0()); } + (rule__XOrExpression__Group_1_0_0__0) + { after(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOrExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group_1_0_0__0__Impl + rule__XOrExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XOrExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAndExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group__0__Impl + rule__XAndExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); } + ruleXEqualityExpression + { after(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getGroup_1()); } + (rule__XAndExpression__Group_1__0)* + { after(grammarAccess.getXAndExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAndExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group_1__0__Impl + rule__XAndExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getGroup_1_0()); } + (rule__XAndExpression__Group_1_0__0) + { after(grammarAccess.getXAndExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XAndExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAndExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0()); } + (rule__XAndExpression__Group_1_0_0__0) + { after(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAndExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group_1_0_0__0__Impl + rule__XAndExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XAndExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XEqualityExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group__0__Impl + rule__XEqualityExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); } + ruleXRelationalExpression + { after(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getGroup_1()); } + (rule__XEqualityExpression__Group_1__0)* + { after(grammarAccess.getXEqualityExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XEqualityExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group_1__0__Impl + rule__XEqualityExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0()); } + (rule__XEqualityExpression__Group_1_0__0) + { after(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XEqualityExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XEqualityExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0()); } + (rule__XEqualityExpression__Group_1_0_0__0) + { after(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XEqualityExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group_1_0_0__0__Impl + rule__XEqualityExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XEqualityExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group__0__Impl + rule__XRelationalExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); } + ruleXOtherOperatorExpression + { after(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1()); } + (rule__XRelationalExpression__Alternatives_1)* + { after(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_0__0__Impl + rule__XRelationalExpression__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0()); } + (rule__XRelationalExpression__Group_1_0_0__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1()); } + (rule__XRelationalExpression__TypeAssignment_1_0_1) + { after(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_0_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0()); } + (rule__XRelationalExpression__Group_1_0_0_0__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_0_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_0_0_0__0__Impl + rule__XRelationalExpression__Group_1_0_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0()); } + () + { after(grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_0_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); } + 'instanceof' + { after(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_1__0__Impl + rule__XRelationalExpression__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0()); } + (rule__XRelationalExpression__Group_1_1_0__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1()); } + (rule__XRelationalExpression__RightOperandAssignment_1_1_1) + { after(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0()); } + (rule__XRelationalExpression__Group_1_1_0_0__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_1_0_0__0__Impl + rule__XRelationalExpression__Group_1_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); } + () + { after(grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1()); } + (rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1) + { after(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpCompare__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpCompare__Group_1__0__Impl + rule__OpCompare__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpCompare__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); } + '<' + { after(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpCompare__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpCompare__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpCompare__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); } + '=' + { after(grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOtherOperatorExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group__0__Impl + rule__XOtherOperatorExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); } + ruleXAdditiveExpression + { after(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1()); } + (rule__XOtherOperatorExpression__Group_1__0)* + { after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOtherOperatorExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group_1__0__Impl + rule__XOtherOperatorExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0()); } + (rule__XOtherOperatorExpression__Group_1_0__0) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XOtherOperatorExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOtherOperatorExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0()); } + (rule__XOtherOperatorExpression__Group_1_0_0__0) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOtherOperatorExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group_1_0_0__0__Impl + rule__XOtherOperatorExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_2__0__Impl + rule__OpOther__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); } + '>' + { after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); } + '..' + { after(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_5__0__Impl + rule__OpOther__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); } + '>' + { after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_5__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getAlternatives_5_1()); } + (rule__OpOther__Alternatives_5_1) + { after(grammarAccess.getOpOtherAccess().getAlternatives_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_5_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_5_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0()); } + (rule__OpOther__Group_5_1_0_0__0) + { after(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_5_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_5_1_0_0__0__Impl + rule__OpOther__Group_5_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); } + '>' + { after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_5_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); } + '>' + { after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_6__0__Impl + rule__OpOther__Group_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); } + '<' + { after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_6__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getAlternatives_6_1()); } + (rule__OpOther__Alternatives_6_1) + { after(grammarAccess.getOpOtherAccess().getAlternatives_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_6_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_6_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0()); } + (rule__OpOther__Group_6_1_0_0__0) + { after(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_6_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_6_1_0_0__0__Impl + rule__OpOther__Group_6_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); } + '<' + { after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_6_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); } + '<' + { after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAdditiveExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group__0__Impl + rule__XAdditiveExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); } + ruleXMultiplicativeExpression + { after(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1()); } + (rule__XAdditiveExpression__Group_1__0)* + { after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAdditiveExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group_1__0__Impl + rule__XAdditiveExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0()); } + (rule__XAdditiveExpression__Group_1_0__0) + { after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XAdditiveExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAdditiveExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0()); } + (rule__XAdditiveExpression__Group_1_0_0__0) + { after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAdditiveExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group_1_0_0__0__Impl + rule__XAdditiveExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XAdditiveExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMultiplicativeExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group__0__Impl + rule__XMultiplicativeExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); } + ruleXUnaryOperation + { after(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1()); } + (rule__XMultiplicativeExpression__Group_1__0)* + { after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMultiplicativeExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group_1__0__Impl + rule__XMultiplicativeExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0()); } + (rule__XMultiplicativeExpression__Group_1_0__0) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XMultiplicativeExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMultiplicativeExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0()); } + (rule__XMultiplicativeExpression__Group_1_0_0__0) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMultiplicativeExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group_1_0_0__0__Impl + rule__XMultiplicativeExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XUnaryOperation__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XUnaryOperation__Group_0__0__Impl + rule__XUnaryOperation__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0()); } + () + { after(grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XUnaryOperation__Group_0__1__Impl + rule__XUnaryOperation__Group_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1()); } + (rule__XUnaryOperation__FeatureAssignment_0_1) + { after(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Group_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XUnaryOperation__Group_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Group_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2()); } + (rule__XUnaryOperation__OperandAssignment_0_2) + { after(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCastedExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group__0__Impl + rule__XCastedExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); } + ruleXPostfixOperation + { after(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getGroup_1()); } + (rule__XCastedExpression__Group_1__0)* + { after(grammarAccess.getXCastedExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCastedExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group_1__0__Impl + rule__XCastedExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getGroup_1_0()); } + (rule__XCastedExpression__Group_1_0__0) + { after(grammarAccess.getXCastedExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1()); } + (rule__XCastedExpression__TypeAssignment_1_1) + { after(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCastedExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0()); } + (rule__XCastedExpression__Group_1_0_0__0) + { after(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCastedExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group_1_0_0__0__Impl + rule__XCastedExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0()); } + () + { after(grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); } + 'as' + { after(grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XPostfixOperation__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XPostfixOperation__Group__0__Impl + rule__XPostfixOperation__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); } + ruleXMemberFeatureCall + { after(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XPostfixOperation__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXPostfixOperationAccess().getGroup_1()); } + (rule__XPostfixOperation__Group_1__0)? + { after(grammarAccess.getXPostfixOperationAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XPostfixOperation__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XPostfixOperation__Group_1__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXPostfixOperationAccess().getGroup_1_0()); } + (rule__XPostfixOperation__Group_1_0__0) + { after(grammarAccess.getXPostfixOperationAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XPostfixOperation__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XPostfixOperation__Group_1_0__0__Impl + rule__XPostfixOperation__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0()); } + () + { after(grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XPostfixOperation__Group_1_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1()); } + (rule__XPostfixOperation__FeatureAssignment_1_0_1) + { after(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group__0__Impl + rule__XMemberFeatureCall__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); } + ruleXPrimaryExpression + { after(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1()); } + (rule__XMemberFeatureCall__Alternatives_1)* + { after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0__0__Impl + rule__XMemberFeatureCall__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0()); } + (rule__XMemberFeatureCall__Group_1_0_0__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1()); } + (rule__XMemberFeatureCall__ValueAssignment_1_0_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0()); } + (rule__XMemberFeatureCall__Group_1_0_0_0__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_0_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl + rule__XMemberFeatureCall__Group_1_0_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0()); } + () + { after(grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl + rule__XMemberFeatureCall__Group_1_0_0_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1()); } + (rule__XMemberFeatureCall__Alternatives_1_0_0_0_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl + rule__XMemberFeatureCall__Group_1_0_0_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2()); } + (rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2) + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); } + ruleOpSingleAssign + { after(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1__0__Impl + rule__XMemberFeatureCall__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0()); } + (rule__XMemberFeatureCall__Group_1_1_0__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1__1__Impl + rule__XMemberFeatureCall__Group_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1()); } + (rule__XMemberFeatureCall__Group_1_1_1__0)? + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1__2__Impl + rule__XMemberFeatureCall__Group_1_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2()); } + (rule__XMemberFeatureCall__FeatureAssignment_1_1_2) + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1__3__Impl + rule__XMemberFeatureCall__Group_1_1__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3()); } + (rule__XMemberFeatureCall__Group_1_1_3__0)? + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4()); } + (rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4)? + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0()); } + (rule__XMemberFeatureCall__Group_1_1_0_0__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl + rule__XMemberFeatureCall__Group_1_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0()); } + () + { after(grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1()); } + (rule__XMemberFeatureCall__Alternatives_1_1_0_0_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1__0__Impl + rule__XMemberFeatureCall__Group_1_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); } + '<' + { after(grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1__1__Impl + rule__XMemberFeatureCall__Group_1_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1()); } + (rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1__2__Impl + rule__XMemberFeatureCall__Group_1_1_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2()); } + (rule__XMemberFeatureCall__Group_1_1_1_2__0)* + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); } + '>' + { after(grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_1_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl + rule__XMemberFeatureCall__Group_1_1_1_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); } + ',' + { after(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1()); } + (rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3__0__Impl + rule__XMemberFeatureCall__Group_1_1_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0()); } + (rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3__1__Impl + rule__XMemberFeatureCall__Group_1_1_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1()); } + (rule__XMemberFeatureCall__Alternatives_1_1_3_1)? + { after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); } + ')' + { after(grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_3_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl + rule__XMemberFeatureCall__Group_1_1_3_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0()); } + (rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0) + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1()); } + (rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0)* + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); } + ',' + { after(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1()); } + (rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSetLiteral__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group__0__Impl + rule__XSetLiteral__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0()); } + () + { after(grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group__1__Impl + rule__XSetLiteral__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); } + '#' + { after(grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group__2__Impl + rule__XSetLiteral__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); } + '{' + { after(grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group__3__Impl + rule__XSetLiteral__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getGroup_3()); } + (rule__XSetLiteral__Group_3__0)? + { after(grammarAccess.getXSetLiteralAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); } + '}' + { after(grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSetLiteral__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group_3__0__Impl + rule__XSetLiteral__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0()); } + (rule__XSetLiteral__ElementsAssignment_3_0) + { after(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getGroup_3_1()); } + (rule__XSetLiteral__Group_3_1__0)* + { after(grammarAccess.getXSetLiteralAccess().getGroup_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSetLiteral__Group_3_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group_3_1__0__Impl + rule__XSetLiteral__Group_3_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); } + ',' + { after(grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group_3_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1()); } + (rule__XSetLiteral__ElementsAssignment_3_1_1) + { after(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XListLiteral__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group__0__Impl + rule__XListLiteral__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getXListLiteralAction_0()); } + () + { after(grammarAccess.getXListLiteralAccess().getXListLiteralAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group__1__Impl + rule__XListLiteral__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); } + '#' + { after(grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group__2__Impl + rule__XListLiteral__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); } + '[' + { after(grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group__3__Impl + rule__XListLiteral__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getGroup_3()); } + (rule__XListLiteral__Group_3__0)? + { after(grammarAccess.getXListLiteralAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); } + ']' + { after(grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XListLiteral__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group_3__0__Impl + rule__XListLiteral__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0()); } + (rule__XListLiteral__ElementsAssignment_3_0) + { after(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getGroup_3_1()); } + (rule__XListLiteral__Group_3_1__0)* + { after(grammarAccess.getXListLiteralAccess().getGroup_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XListLiteral__Group_3_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group_3_1__0__Impl + rule__XListLiteral__Group_3_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); } + ',' + { after(grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group_3_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1()); } + (rule__XListLiteral__ElementsAssignment_3_1_1) + { after(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group__0__Impl + rule__XClosure__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_0()); } + (rule__XClosure__Group_0__0) + { after(grammarAccess.getXClosureAccess().getGroup_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group__1__Impl + rule__XClosure__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_1()); } + (rule__XClosure__Group_1__0)? + { after(grammarAccess.getXClosureAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group__2__Impl + rule__XClosure__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getExpressionAssignment_2()); } + (rule__XClosure__ExpressionAssignment_2) + { after(grammarAccess.getXClosureAccess().getExpressionAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); } + ']' + { after(grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_0_0()); } + (rule__XClosure__Group_0_0__0) + { after(grammarAccess.getXClosureAccess().getGroup_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_0_0__0__Impl + rule__XClosure__Group_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getXClosureAction_0_0_0()); } + () + { after(grammarAccess.getXClosureAccess().getXClosureAction_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); } + '[' + { after(grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_1_0()); } + (rule__XClosure__Group_1_0__0) + { after(grammarAccess.getXClosureAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0__0__Impl + rule__XClosure__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_1_0_0()); } + (rule__XClosure__Group_1_0_0__0)? + { after(grammarAccess.getXClosureAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1()); } + (rule__XClosure__ExplicitSyntaxAssignment_1_0_1) + { after(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0_0__0__Impl + rule__XClosure__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0()); } + (rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0) + { after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_1_0_0_1()); } + (rule__XClosure__Group_1_0_0_1__0)* + { after(grammarAccess.getXClosureAccess().getGroup_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_1_0_0_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0_0_1__0__Impl + rule__XClosure__Group_1_0_0_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); } + ',' + { after(grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0_0_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1()); } + (rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1) + { after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XExpressionInClosure__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XExpressionInClosure__Group__0__Impl + rule__XExpressionInClosure__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0()); } + () + { after(grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XExpressionInClosure__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXExpressionInClosureAccess().getGroup_1()); } + (rule__XExpressionInClosure__Group_1__0)* + { after(grammarAccess.getXExpressionInClosureAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XExpressionInClosure__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XExpressionInClosure__Group_1__0__Impl + rule__XExpressionInClosure__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0()); } + (rule__XExpressionInClosure__ExpressionsAssignment_1_0) + { after(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XExpressionInClosure__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); } + (';')? + { after(grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XShortClosure__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group__0__Impl + rule__XShortClosure__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getGroup_0()); } + (rule__XShortClosure__Group_0__0) + { after(grammarAccess.getXShortClosureAccess().getGroup_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1()); } + (rule__XShortClosure__ExpressionAssignment_1) + { after(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XShortClosure__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getGroup_0_0()); } + (rule__XShortClosure__Group_0_0__0) + { after(grammarAccess.getXShortClosureAccess().getGroup_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XShortClosure__Group_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0__0__Impl + rule__XShortClosure__Group_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0()); } + () + { after(grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0__1__Impl + rule__XShortClosure__Group_0_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getGroup_0_0_1()); } + (rule__XShortClosure__Group_0_0_1__0)? + { after(grammarAccess.getXShortClosureAccess().getGroup_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2()); } + (rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2) + { after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XShortClosure__Group_0_0_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0_1__0__Impl + rule__XShortClosure__Group_0_0_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0()); } + (rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0) + { after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1()); } + (rule__XShortClosure__Group_0_0_1_1__0)* + { after(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XShortClosure__Group_0_0_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0_1_1__0__Impl + rule__XShortClosure__Group_0_0_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); } + ',' + { after(grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1()); } + (rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1) + { after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XParenthesizedExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XParenthesizedExpression__Group__0__Impl + rule__XParenthesizedExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XParenthesizedExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } + '(' + { after(grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XParenthesizedExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XParenthesizedExpression__Group__1__Impl + rule__XParenthesizedExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XParenthesizedExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); } + ruleXExpression + { after(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XParenthesizedExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XParenthesizedExpression__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XParenthesizedExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); } + ')' + { after(grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XIfExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__0__Impl + rule__XIfExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0()); } + () + { after(grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__1__Impl + rule__XIfExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); } + 'if' + { after(grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__2__Impl + rule__XIfExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); } + '(' + { after(grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__3__Impl + rule__XIfExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getIfAssignment_3()); } + (rule__XIfExpression__IfAssignment_3) + { after(grammarAccess.getXIfExpressionAccess().getIfAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__4__Impl + rule__XIfExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); } + ')' + { after(grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__5__Impl + rule__XIfExpression__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getThenAssignment_5()); } + (rule__XIfExpression__ThenAssignment_5) + { after(grammarAccess.getXIfExpressionAccess().getThenAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getGroup_6()); } + (rule__XIfExpression__Group_6__0)? + { after(grammarAccess.getXIfExpressionAccess().getGroup_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XIfExpression__Group_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group_6__0__Impl + rule__XIfExpression__Group_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); } + ('else') + { after(grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group_6__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1()); } + (rule__XIfExpression__ElseAssignment_6_1) + { after(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__0__Impl + rule__XSwitchExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0()); } + () + { after(grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__1__Impl + rule__XSwitchExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); } + 'switch' + { after(grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__2__Impl + rule__XSwitchExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2()); } + (rule__XSwitchExpression__Alternatives_2) + { after(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__3__Impl + rule__XSwitchExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); } + '{' + { after(grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__4__Impl + rule__XSwitchExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4()); } + (rule__XSwitchExpression__CasesAssignment_4)* + { after(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__5__Impl + rule__XSwitchExpression__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_5()); } + (rule__XSwitchExpression__Group_5__0)? + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); } + '}' + { after(grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0__0__Impl + rule__XSwitchExpression__Group_2_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0()); } + (rule__XSwitchExpression__Group_2_0_0__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0__1__Impl + rule__XSwitchExpression__Group_2_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1()); } + (rule__XSwitchExpression__SwitchAssignment_2_0_1) + { after(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); } + ')' + { after(grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0()); } + (rule__XSwitchExpression__Group_2_0_0_0__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_0_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0_0_0__0__Impl + rule__XSwitchExpression__Group_2_0_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); } + '(' + { after(grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0_0_0__1__Impl + rule__XSwitchExpression__Group_2_0_0_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1()); } + (rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1) + { after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0_0_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); } + ':' + { after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_1__0__Impl + rule__XSwitchExpression__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0()); } + (rule__XSwitchExpression__Group_2_1_0__0)? + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1()); } + (rule__XSwitchExpression__SwitchAssignment_2_1_1) + { after(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0()); } + (rule__XSwitchExpression__Group_2_1_0_0__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_1_0_0__0__Impl + rule__XSwitchExpression__Group_2_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0()); } + (rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0) + { after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); } + ':' + { after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_5__0__Impl + rule__XSwitchExpression__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); } + 'default' + { after(grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_5__1__Impl + rule__XSwitchExpression__Group_5__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); } + ':' + { after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_5__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_5__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_5__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2()); } + (rule__XSwitchExpression__DefaultAssignment_5_2) + { after(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCasePart__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group__0__Impl + rule__XCasePart__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getXCasePartAction_0()); } + () + { after(grammarAccess.getXCasePartAccess().getXCasePartAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group__1__Impl + rule__XCasePart__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1()); } + (rule__XCasePart__TypeGuardAssignment_1)? + { after(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group__2__Impl + rule__XCasePart__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getGroup_2()); } + (rule__XCasePart__Group_2__0)? + { after(grammarAccess.getXCasePartAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getAlternatives_3()); } + (rule__XCasePart__Alternatives_3) + { after(grammarAccess.getXCasePartAccess().getAlternatives_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCasePart__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group_2__0__Impl + rule__XCasePart__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); } + 'case' + { after(grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1()); } + (rule__XCasePart__CaseAssignment_2_1) + { after(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCasePart__Group_3_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group_3_0__0__Impl + rule__XCasePart__Group_3_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group_3_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); } + ':' + { after(grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group_3_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group_3_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group_3_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1()); } + (rule__XCasePart__ThenAssignment_3_0_1) + { after(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XForLoopExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group__0__Impl + rule__XForLoopExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getGroup_0()); } + (rule__XForLoopExpression__Group_0__0) + { after(grammarAccess.getXForLoopExpressionAccess().getGroup_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group__1__Impl + rule__XForLoopExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1()); } + (rule__XForLoopExpression__ForExpressionAssignment_1) + { after(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group__2__Impl + rule__XForLoopExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); } + ')' + { after(grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3()); } + (rule__XForLoopExpression__EachExpressionAssignment_3) + { after(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XForLoopExpression__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0()); } + (rule__XForLoopExpression__Group_0_0__0) + { after(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XForLoopExpression__Group_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group_0_0__0__Impl + rule__XForLoopExpression__Group_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0()); } + () + { after(grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group_0_0__1__Impl + rule__XForLoopExpression__Group_0_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); } + 'for' + { after(grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group_0_0__2__Impl + rule__XForLoopExpression__Group_0_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } + '(' + { after(grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group_0_0__3__Impl + rule__XForLoopExpression__Group_0_0__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3()); } + (rule__XForLoopExpression__DeclaredParamAssignment_0_0_3) + { after(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group_0_0__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); } + ':' + { after(grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XBasicForLoopExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__0__Impl + rule__XBasicForLoopExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0()); } + () + { after(grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__1__Impl + rule__XBasicForLoopExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); } + 'for' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__2__Impl + rule__XBasicForLoopExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); } + '(' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__3__Impl + rule__XBasicForLoopExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3()); } + (rule__XBasicForLoopExpression__Group_3__0)? + { after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__4__Impl + rule__XBasicForLoopExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); } + ';' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__5__Impl + rule__XBasicForLoopExpression__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5()); } + (rule__XBasicForLoopExpression__ExpressionAssignment_5)? + { after(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__6__Impl + rule__XBasicForLoopExpression__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); } + ';' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__7__Impl + rule__XBasicForLoopExpression__Group__8 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7()); } + (rule__XBasicForLoopExpression__Group_7__0)? + { after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__8 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__8__Impl + rule__XBasicForLoopExpression__Group__9 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__8__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); } + ')' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__9 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__9__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__9__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9()); } + (rule__XBasicForLoopExpression__EachExpressionAssignment_9) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XBasicForLoopExpression__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group_3__0__Impl + rule__XBasicForLoopExpression__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0()); } + (rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1()); } + (rule__XBasicForLoopExpression__Group_3_1__0)* + { after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XBasicForLoopExpression__Group_3_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group_3_1__0__Impl + rule__XBasicForLoopExpression__Group_3_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_3_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); } + ',' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_3_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group_3_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_3_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1()); } + (rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XBasicForLoopExpression__Group_7__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group_7__0__Impl + rule__XBasicForLoopExpression__Group_7__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_7__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0()); } + (rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_7__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group_7__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_7__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1()); } + (rule__XBasicForLoopExpression__Group_7_1__0)* + { after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XBasicForLoopExpression__Group_7_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group_7_1__0__Impl + rule__XBasicForLoopExpression__Group_7_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_7_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); } + ',' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_7_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group_7_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_7_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1()); } + (rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XWhileExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XWhileExpression__Group__0__Impl + rule__XWhileExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0()); } + () + { after(grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XWhileExpression__Group__1__Impl + rule__XWhileExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); } + 'while' + { after(grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XWhileExpression__Group__2__Impl + rule__XWhileExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); } + '(' + { after(grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XWhileExpression__Group__3__Impl + rule__XWhileExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3()); } + (rule__XWhileExpression__PredicateAssignment_3) + { after(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XWhileExpression__Group__4__Impl + rule__XWhileExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); } + ')' + { after(grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__XWhileExpression__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5()); } + (rule__XWhileExpression__BodyAssignment_5) + { after(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XDoWhileExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XDoWhileExpression__Group__0__Impl + rule__XDoWhileExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0()); } + () + { after(grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XDoWhileExpression__Group__1__Impl + rule__XDoWhileExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); } + 'do' + { after(grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XDoWhileExpression__Group__2__Impl + rule__XDoWhileExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2()); } + (rule__XDoWhileExpression__BodyAssignment_2) + { after(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XDoWhileExpression__Group__3__Impl + rule__XDoWhileExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); } + 'while' + { after(grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__4 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); } - ruleCollectionType - { after(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); } - ruleSimpleType - { after(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); } - ) + rule__XDoWhileExpression__Group__4__Impl + rule__XDoWhileExpression__Group__5 ; finally { restoreStackSize(stackSize); } -rule__CollectionType__ClAlternatives_0_0 +rule__XDoWhileExpression__Group__4__Impl @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); } - 'Collection' - { after(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); } - ) - | - ( - { before(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); } - 'List' - { after(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); } - ) - | - ( - { before(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); } - 'Set' - { after(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); } - ) +( + { before(grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); } + '(' + { after(grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); } +) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group__0 +rule__XDoWhileExpression__Group__5 @init { int stackSize = keepStackSize(); } : - rule__ExportModel__Group__0__Impl - rule__ExportModel__Group__1 + rule__XDoWhileExpression__Group__5__Impl + rule__XDoWhileExpression__Group__6 ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group__0__Impl +rule__XDoWhileExpression__Group__5__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getGroup_0()); } - (rule__ExportModel__Group_0__0)? - { after(grammarAccess.getExportModelAccess().getGroup_0()); } + { before(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5()); } + (rule__XDoWhileExpression__PredicateAssignment_5) + { after(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group__1 +rule__XDoWhileExpression__Group__6 @init { int stackSize = keepStackSize(); } : - rule__ExportModel__Group__1__Impl - rule__ExportModel__Group__2 + rule__XDoWhileExpression__Group__6__Impl ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group__1__Impl +rule__XDoWhileExpression__Group__6__Impl @init { int stackSize = keepStackSize(); } : ( - ( - { before(grammarAccess.getExportModelAccess().getImportsAssignment_1()); } - (rule__ExportModel__ImportsAssignment_1) - { after(grammarAccess.getExportModelAccess().getImportsAssignment_1()); } - ) - ( - { before(grammarAccess.getExportModelAccess().getImportsAssignment_1()); } - (rule__ExportModel__ImportsAssignment_1)* - { after(grammarAccess.getExportModelAccess().getImportsAssignment_1()); } - ) + { before(grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); } + ')' + { after(grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group__2 + +rule__XBlockExpression__Group__0 @init { int stackSize = keepStackSize(); } : - rule__ExportModel__Group__2__Impl - rule__ExportModel__Group__3 + rule__XBlockExpression__Group__0__Impl + rule__XBlockExpression__Group__1 ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group__2__Impl +rule__XBlockExpression__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getExtensionsAssignment_2()); } - (rule__ExportModel__ExtensionsAssignment_2)* - { after(grammarAccess.getExportModelAccess().getExtensionsAssignment_2()); } + { before(grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0()); } + () + { after(grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group__3 +rule__XBlockExpression__Group__1 @init { int stackSize = keepStackSize(); } : - rule__ExportModel__Group__3__Impl - rule__ExportModel__Group__4 + rule__XBlockExpression__Group__1__Impl + rule__XBlockExpression__Group__2 ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group__3__Impl +rule__XBlockExpression__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getGroup_3()); } - (rule__ExportModel__Group_3__0)? - { after(grammarAccess.getExportModelAccess().getGroup_3()); } + { before(grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); } + '{' + { after(grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group__4 +rule__XBlockExpression__Group__2 @init { int stackSize = keepStackSize(); } : - rule__ExportModel__Group__4__Impl + rule__XBlockExpression__Group__2__Impl + rule__XBlockExpression__Group__3 ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group__4__Impl +rule__XBlockExpression__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - ( - { before(grammarAccess.getExportModelAccess().getExportsAssignment_4()); } - (rule__ExportModel__ExportsAssignment_4) - { after(grammarAccess.getExportModelAccess().getExportsAssignment_4()); } - ) - ( - { before(grammarAccess.getExportModelAccess().getExportsAssignment_4()); } - (rule__ExportModel__ExportsAssignment_4)* - { after(grammarAccess.getExportModelAccess().getExportsAssignment_4()); } - ) + { before(grammarAccess.getXBlockExpressionAccess().getGroup_2()); } + (rule__XBlockExpression__Group_2__0)* + { after(grammarAccess.getXBlockExpressionAccess().getGroup_2()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ExportModel__Group_0__0 +rule__XBlockExpression__Group__3 @init { int stackSize = keepStackSize(); } : - rule__ExportModel__Group_0__0__Impl - rule__ExportModel__Group_0__1 + rule__XBlockExpression__Group__3__Impl ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group_0__0__Impl +rule__XBlockExpression__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getExportKeyword_0_0()); } - 'export' - { after(grammarAccess.getExportModelAccess().getExportKeyword_0_0()); } + { before(grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); } + '}' + { after(grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group_0__1 + +rule__XBlockExpression__Group_2__0 @init { int stackSize = keepStackSize(); } : - rule__ExportModel__Group_0__1__Impl - rule__ExportModel__Group_0__2 + rule__XBlockExpression__Group_2__0__Impl + rule__XBlockExpression__Group_2__1 ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group_0__1__Impl +rule__XBlockExpression__Group_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getExtensionAssignment_0_1()); } - (rule__ExportModel__ExtensionAssignment_0_1)? - { after(grammarAccess.getExportModelAccess().getExtensionAssignment_0_1()); } + { before(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0()); } + (rule__XBlockExpression__ExpressionsAssignment_2_0) + { after(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group_0__2 +rule__XBlockExpression__Group_2__1 @init { int stackSize = keepStackSize(); } : - rule__ExportModel__Group_0__2__Impl - rule__ExportModel__Group_0__3 + rule__XBlockExpression__Group_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group_0__2__Impl +rule__XBlockExpression__Group_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getNameAssignment_0_2()); } - (rule__ExportModel__NameAssignment_0_2) - { after(grammarAccess.getExportModelAccess().getNameAssignment_0_2()); } + { before(grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); } + (';')? + { after(grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group_0__3 + +rule__XVariableDeclaration__Group__0 @init { int stackSize = keepStackSize(); } : - rule__ExportModel__Group_0__3__Impl - rule__ExportModel__Group_0__4 + rule__XVariableDeclaration__Group__0__Impl + rule__XVariableDeclaration__Group__1 ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group_0__3__Impl +rule__XVariableDeclaration__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getForKeyword_0_3()); } - 'for' - { after(grammarAccess.getExportModelAccess().getForKeyword_0_3()); } + { before(grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0()); } + () + { after(grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group_0__4 +rule__XVariableDeclaration__Group__1 @init { int stackSize = keepStackSize(); } : - rule__ExportModel__Group_0__4__Impl + rule__XVariableDeclaration__Group__1__Impl + rule__XVariableDeclaration__Group__2 ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group_0__4__Impl +rule__XVariableDeclaration__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getTargetGrammarAssignment_0_4()); } - (rule__ExportModel__TargetGrammarAssignment_0_4) - { after(grammarAccess.getExportModelAccess().getTargetGrammarAssignment_0_4()); } + { before(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1()); } + (rule__XVariableDeclaration__Alternatives_1) + { after(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ExportModel__Group_3__0 +rule__XVariableDeclaration__Group__2 @init { int stackSize = keepStackSize(); } : - rule__ExportModel__Group_3__0__Impl - rule__ExportModel__Group_3__1 + rule__XVariableDeclaration__Group__2__Impl + rule__XVariableDeclaration__Group__3 ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group_3__0__Impl +rule__XVariableDeclaration__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getInterfaceKeyword_3_0()); } - 'interface' - { after(grammarAccess.getExportModelAccess().getInterfaceKeyword_3_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2()); } + (rule__XVariableDeclaration__Alternatives_2) + { after(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group_3__1 +rule__XVariableDeclaration__Group__3 @init { int stackSize = keepStackSize(); } : - rule__ExportModel__Group_3__1__Impl - rule__ExportModel__Group_3__2 + rule__XVariableDeclaration__Group__3__Impl ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group_3__1__Impl +rule__XVariableDeclaration__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getLeftCurlyBracketKeyword_3_1()); } - '{' - { after(grammarAccess.getExportModelAccess().getLeftCurlyBracketKeyword_3_1()); } + { before(grammarAccess.getXVariableDeclarationAccess().getGroup_3()); } + (rule__XVariableDeclaration__Group_3__0)? + { after(grammarAccess.getXVariableDeclarationAccess().getGroup_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group_3__2 + +rule__XVariableDeclaration__Group_2_0__0 @init { int stackSize = keepStackSize(); } : - rule__ExportModel__Group_3__2__Impl - rule__ExportModel__Group_3__3 + rule__XVariableDeclaration__Group_2_0__0__Impl ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group_3__2__Impl +rule__XVariableDeclaration__Group_2_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - ( - { before(grammarAccess.getExportModelAccess().getInterfacesAssignment_3_2()); } - (rule__ExportModel__InterfacesAssignment_3_2) - { after(grammarAccess.getExportModelAccess().getInterfacesAssignment_3_2()); } - ) - ( - { before(grammarAccess.getExportModelAccess().getInterfacesAssignment_3_2()); } - (rule__ExportModel__InterfacesAssignment_3_2)* - { after(grammarAccess.getExportModelAccess().getInterfacesAssignment_3_2()); } - ) + { before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0()); } + (rule__XVariableDeclaration__Group_2_0_0__0) + { after(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group_3__3 + +rule__XVariableDeclaration__Group_2_0_0__0 @init { int stackSize = keepStackSize(); } : - rule__ExportModel__Group_3__3__Impl + rule__XVariableDeclaration__Group_2_0_0__0__Impl + rule__XVariableDeclaration__Group_2_0_0__1 ; finally { restoreStackSize(stackSize); } -rule__ExportModel__Group_3__3__Impl +rule__XVariableDeclaration__Group_2_0_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getRightCurlyBracketKeyword_3_3()); } - '}' - { after(grammarAccess.getExportModelAccess().getRightCurlyBracketKeyword_3_3()); } + { before(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0()); } + (rule__XVariableDeclaration__TypeAssignment_2_0_0_0) + { after(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Import__Group__0 +rule__XVariableDeclaration__Group_2_0_0__1 @init { int stackSize = keepStackSize(); } : - rule__Import__Group__0__Impl - rule__Import__Group__1 + rule__XVariableDeclaration__Group_2_0_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Import__Group__0__Impl +rule__XVariableDeclaration__Group_2_0_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImportAccess().getImportKeyword_0()); } - 'import' - { after(grammarAccess.getImportAccess().getImportKeyword_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1()); } + (rule__XVariableDeclaration__NameAssignment_2_0_0_1) + { after(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Import__Group__1 + +rule__XVariableDeclaration__Group_3__0 @init { int stackSize = keepStackSize(); } : - rule__Import__Group__1__Impl - rule__Import__Group__2 + rule__XVariableDeclaration__Group_3__0__Impl + rule__XVariableDeclaration__Group_3__1 ; finally { restoreStackSize(stackSize); } -rule__Import__Group__1__Impl +rule__XVariableDeclaration__Group_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImportAccess().getPackageAssignment_1()); } - (rule__Import__PackageAssignment_1) - { after(grammarAccess.getImportAccess().getPackageAssignment_1()); } + { before(grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); } + '=' + { after(grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Import__Group__2 +rule__XVariableDeclaration__Group_3__1 @init { int stackSize = keepStackSize(); } : - rule__Import__Group__2__Impl + rule__XVariableDeclaration__Group_3__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Import__Group__2__Impl +rule__XVariableDeclaration__Group_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImportAccess().getGroup_2()); } - (rule__Import__Group_2__0)? - { after(grammarAccess.getImportAccess().getGroup_2()); } + { before(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1()); } + (rule__XVariableDeclaration__RightAssignment_3_1) + { after(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1()); } ) ; finally { @@ -2340,53 +18807,53 @@ finally { } -rule__Import__Group_2__0 +rule__JvmFormalParameter__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Import__Group_2__0__Impl - rule__Import__Group_2__1 + rule__JvmFormalParameter__Group__0__Impl + rule__JvmFormalParameter__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Import__Group_2__0__Impl +rule__JvmFormalParameter__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImportAccess().getAsKeyword_2_0()); } - 'as' - { after(grammarAccess.getImportAccess().getAsKeyword_2_0()); } + { before(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0()); } + (rule__JvmFormalParameter__ParameterTypeAssignment_0)? + { after(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Import__Group_2__1 +rule__JvmFormalParameter__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Import__Group_2__1__Impl + rule__JvmFormalParameter__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Import__Group_2__1__Impl +rule__JvmFormalParameter__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImportAccess().getNameAssignment_2_1()); } - (rule__Import__NameAssignment_2_1) - { after(grammarAccess.getImportAccess().getNameAssignment_2_1()); } + { before(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1()); } + (rule__JvmFormalParameter__NameAssignment_1) + { after(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1()); } ) ; finally { @@ -2394,53 +18861,53 @@ finally { } -rule__Extension__Group__0 +rule__FullJvmFormalParameter__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Extension__Group__0__Impl - rule__Extension__Group__1 + rule__FullJvmFormalParameter__Group__0__Impl + rule__FullJvmFormalParameter__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Extension__Group__0__Impl +rule__FullJvmFormalParameter__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExtensionAccess().getExtensionKeyword_0()); } - 'extension' - { after(grammarAccess.getExtensionAccess().getExtensionKeyword_0()); } + { before(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0()); } + (rule__FullJvmFormalParameter__ParameterTypeAssignment_0) + { after(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Extension__Group__1 +rule__FullJvmFormalParameter__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Extension__Group__1__Impl + rule__FullJvmFormalParameter__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Extension__Group__1__Impl +rule__FullJvmFormalParameter__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExtensionAccess().getExtensionAssignment_1()); } - (rule__Extension__ExtensionAssignment_1) - { after(grammarAccess.getExtensionAccess().getExtensionAssignment_1()); } + { before(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1()); } + (rule__FullJvmFormalParameter__NameAssignment_1) + { after(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1()); } ) ; finally { @@ -2448,377 +18915,377 @@ finally { } -rule__Interface__Group__0 +rule__XFeatureCall__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Interface__Group__0__Impl - rule__Interface__Group__1 + rule__XFeatureCall__Group__0__Impl + rule__XFeatureCall__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Interface__Group__0__Impl +rule__XFeatureCall__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceAccess().getTypeAssignment_0()); } - (rule__Interface__TypeAssignment_0) - { after(grammarAccess.getInterfaceAccess().getTypeAssignment_0()); } + { before(grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0()); } + () + { after(grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Interface__Group__1 +rule__XFeatureCall__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Interface__Group__1__Impl - rule__Interface__Group__2 + rule__XFeatureCall__Group__1__Impl + rule__XFeatureCall__Group__2 ; finally { restoreStackSize(stackSize); } -rule__Interface__Group__1__Impl +rule__XFeatureCall__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceAccess().getGroup_1()); } - (rule__Interface__Group_1__0)? - { after(grammarAccess.getInterfaceAccess().getGroup_1()); } + { before(grammarAccess.getXFeatureCallAccess().getGroup_1()); } + (rule__XFeatureCall__Group_1__0)? + { after(grammarAccess.getXFeatureCallAccess().getGroup_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Interface__Group__2 +rule__XFeatureCall__Group__2 @init { int stackSize = keepStackSize(); } : - rule__Interface__Group__2__Impl - rule__Interface__Group__3 + rule__XFeatureCall__Group__2__Impl + rule__XFeatureCall__Group__3 ; finally { restoreStackSize(stackSize); } -rule__Interface__Group__2__Impl +rule__XFeatureCall__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceAccess().getGroup_2()); } - (rule__Interface__Group_2__0)* - { after(grammarAccess.getInterfaceAccess().getGroup_2()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2()); } + (rule__XFeatureCall__FeatureAssignment_2) + { after(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Interface__Group__3 +rule__XFeatureCall__Group__3 @init { int stackSize = keepStackSize(); } : - rule__Interface__Group__3__Impl + rule__XFeatureCall__Group__3__Impl + rule__XFeatureCall__Group__4 ; finally { restoreStackSize(stackSize); } -rule__Interface__Group__3__Impl +rule__XFeatureCall__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceAccess().getSemicolonKeyword_3()); } - ';' - { after(grammarAccess.getInterfaceAccess().getSemicolonKeyword_3()); } + { before(grammarAccess.getXFeatureCallAccess().getGroup_3()); } + (rule__XFeatureCall__Group_3__0)? + { after(grammarAccess.getXFeatureCallAccess().getGroup_3()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Interface__Group_1__0 +rule__XFeatureCall__Group__4 @init { int stackSize = keepStackSize(); } : - rule__Interface__Group_1__0__Impl - rule__Interface__Group_1__1 + rule__XFeatureCall__Group__4__Impl ; finally { restoreStackSize(stackSize); } -rule__Interface__Group_1__0__Impl +rule__XFeatureCall__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceAccess().getLeftSquareBracketKeyword_1_0()); } - '[' - { after(grammarAccess.getInterfaceAccess().getLeftSquareBracketKeyword_1_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4()); } + (rule__XFeatureCall__FeatureCallArgumentsAssignment_4)? + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__Interface__Group_1__1 + +rule__XFeatureCall__Group_1__0 @init { int stackSize = keepStackSize(); } : - rule__Interface__Group_1__1__Impl - rule__Interface__Group_1__2 + rule__XFeatureCall__Group_1__0__Impl + rule__XFeatureCall__Group_1__1 ; finally { restoreStackSize(stackSize); } -rule__Interface__Group_1__1__Impl +rule__XFeatureCall__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceAccess().getGuardAssignment_1_1()); } - (rule__Interface__GuardAssignment_1_1) - { after(grammarAccess.getInterfaceAccess().getGuardAssignment_1_1()); } + { before(grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); } + '<' + { after(grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Interface__Group_1__2 +rule__XFeatureCall__Group_1__1 @init { int stackSize = keepStackSize(); } : - rule__Interface__Group_1__2__Impl + rule__XFeatureCall__Group_1__1__Impl + rule__XFeatureCall__Group_1__2 ; finally { restoreStackSize(stackSize); } -rule__Interface__Group_1__2__Impl +rule__XFeatureCall__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceAccess().getRightSquareBracketKeyword_1_2()); } - ']' - { after(grammarAccess.getInterfaceAccess().getRightSquareBracketKeyword_1_2()); } + { before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1()); } + (rule__XFeatureCall__TypeArgumentsAssignment_1_1) + { after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Interface__Group_2__0 +rule__XFeatureCall__Group_1__2 @init { int stackSize = keepStackSize(); } : - rule__Interface__Group_2__0__Impl - rule__Interface__Group_2__1 + rule__XFeatureCall__Group_1__2__Impl + rule__XFeatureCall__Group_1__3 ; finally { restoreStackSize(stackSize); } -rule__Interface__Group_2__0__Impl +rule__XFeatureCall__Group_1__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceAccess().getEqualsSignKeyword_2_0()); } - '=' - { after(grammarAccess.getInterfaceAccess().getEqualsSignKeyword_2_0()); } + { before(grammarAccess.getXFeatureCallAccess().getGroup_1_2()); } + (rule__XFeatureCall__Group_1_2__0)* + { after(grammarAccess.getXFeatureCallAccess().getGroup_1_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Interface__Group_2__1 +rule__XFeatureCall__Group_1__3 @init { int stackSize = keepStackSize(); } : - rule__Interface__Group_2__1__Impl - rule__Interface__Group_2__2 + rule__XFeatureCall__Group_1__3__Impl ; finally { restoreStackSize(stackSize); } -rule__Interface__Group_2__1__Impl +rule__XFeatureCall__Group_1__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceAccess().getItemsAssignment_2_1()); } - (rule__Interface__ItemsAssignment_2_1) - { after(grammarAccess.getInterfaceAccess().getItemsAssignment_2_1()); } + { before(grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); } + '>' + { after(grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__Interface__Group_2__2 + +rule__XFeatureCall__Group_1_2__0 @init { int stackSize = keepStackSize(); } : - rule__Interface__Group_2__2__Impl + rule__XFeatureCall__Group_1_2__0__Impl + rule__XFeatureCall__Group_1_2__1 ; finally { restoreStackSize(stackSize); } -rule__Interface__Group_2__2__Impl +rule__XFeatureCall__Group_1_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceAccess().getGroup_2_2()); } - (rule__Interface__Group_2_2__0)* - { after(grammarAccess.getInterfaceAccess().getGroup_2_2()); } + { before(grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); } + ',' + { after(grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Interface__Group_2_2__0 +rule__XFeatureCall__Group_1_2__1 @init { int stackSize = keepStackSize(); } : - rule__Interface__Group_2_2__0__Impl - rule__Interface__Group_2_2__1 + rule__XFeatureCall__Group_1_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Interface__Group_2_2__0__Impl +rule__XFeatureCall__Group_1_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceAccess().getCommaKeyword_2_2_0()); } - ',' - { after(grammarAccess.getInterfaceAccess().getCommaKeyword_2_2_0()); } + { before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1()); } + (rule__XFeatureCall__TypeArgumentsAssignment_1_2_1) + { after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Interface__Group_2_2__1 + +rule__XFeatureCall__Group_3__0 @init { int stackSize = keepStackSize(); } : - rule__Interface__Group_2_2__1__Impl + rule__XFeatureCall__Group_3__0__Impl + rule__XFeatureCall__Group_3__1 ; finally { restoreStackSize(stackSize); } -rule__Interface__Group_2_2__1__Impl +rule__XFeatureCall__Group_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceAccess().getItemsAssignment_2_2_1()); } - (rule__Interface__ItemsAssignment_2_2_1) - { after(grammarAccess.getInterfaceAccess().getItemsAssignment_2_2_1()); } + { before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0()); } + (rule__XFeatureCall__ExplicitOperationCallAssignment_3_0) + { after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__InterfaceField__Group__0 +rule__XFeatureCall__Group_3__1 @init { int stackSize = keepStackSize(); } : - rule__InterfaceField__Group__0__Impl - rule__InterfaceField__Group__1 + rule__XFeatureCall__Group_3__1__Impl + rule__XFeatureCall__Group_3__2 ; finally { restoreStackSize(stackSize); } -rule__InterfaceField__Group__0__Impl +rule__XFeatureCall__Group_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceFieldAccess().getUnorderedAssignment_0()); } - (rule__InterfaceField__UnorderedAssignment_0)? - { after(grammarAccess.getInterfaceFieldAccess().getUnorderedAssignment_0()); } + { before(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1()); } + (rule__XFeatureCall__Alternatives_3_1)? + { after(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__InterfaceField__Group__1 +rule__XFeatureCall__Group_3__2 @init { int stackSize = keepStackSize(); } : - rule__InterfaceField__Group__1__Impl + rule__XFeatureCall__Group_3__2__Impl ; finally { restoreStackSize(stackSize); } -rule__InterfaceField__Group__1__Impl +rule__XFeatureCall__Group_3__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceFieldAccess().getFieldAssignment_1()); } - (rule__InterfaceField__FieldAssignment_1) - { after(grammarAccess.getInterfaceFieldAccess().getFieldAssignment_1()); } + { before(grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); } + ')' + { after(grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); } ) ; finally { @@ -2826,512 +19293,512 @@ finally { } -rule__InterfaceNavigation__Group__0 +rule__XFeatureCall__Group_3_1_1__0 @init { int stackSize = keepStackSize(); } : - rule__InterfaceNavigation__Group__0__Impl - rule__InterfaceNavigation__Group__1 + rule__XFeatureCall__Group_3_1_1__0__Impl + rule__XFeatureCall__Group_3_1_1__1 ; finally { restoreStackSize(stackSize); } -rule__InterfaceNavigation__Group__0__Impl +rule__XFeatureCall__Group_3_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceNavigationAccess().getCommercialAtKeyword_0()); } - '@' - { after(grammarAccess.getInterfaceNavigationAccess().getCommercialAtKeyword_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0()); } + (rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0) + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InterfaceNavigation__Group__1 +rule__XFeatureCall__Group_3_1_1__1 @init { int stackSize = keepStackSize(); } : - rule__InterfaceNavigation__Group__1__Impl - rule__InterfaceNavigation__Group__2 + rule__XFeatureCall__Group_3_1_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__InterfaceNavigation__Group__1__Impl +rule__XFeatureCall__Group_3_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceNavigationAccess().getUnorderedAssignment_1()); } - (rule__InterfaceNavigation__UnorderedAssignment_1)? - { after(grammarAccess.getInterfaceNavigationAccess().getUnorderedAssignment_1()); } + { before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1()); } + (rule__XFeatureCall__Group_3_1_1_1__0)* + { after(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__InterfaceNavigation__Group__2 + +rule__XFeatureCall__Group_3_1_1_1__0 @init { int stackSize = keepStackSize(); } : - rule__InterfaceNavigation__Group__2__Impl + rule__XFeatureCall__Group_3_1_1_1__0__Impl + rule__XFeatureCall__Group_3_1_1_1__1 ; finally { restoreStackSize(stackSize); } -rule__InterfaceNavigation__Group__2__Impl +rule__XFeatureCall__Group_3_1_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceNavigationAccess().getRefAssignment_2()); } - (rule__InterfaceNavigation__RefAssignment_2) - { after(grammarAccess.getInterfaceNavigationAccess().getRefAssignment_2()); } + { before(grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); } + ',' + { after(grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__InterfaceExpression__Group__0 +rule__XFeatureCall__Group_3_1_1_1__1 @init { int stackSize = keepStackSize(); } : - rule__InterfaceExpression__Group__0__Impl - rule__InterfaceExpression__Group__1 + rule__XFeatureCall__Group_3_1_1_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__InterfaceExpression__Group__0__Impl +rule__XFeatureCall__Group_3_1_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceExpressionAccess().getEvalKeyword_0()); } - 'eval' - { after(grammarAccess.getInterfaceExpressionAccess().getEvalKeyword_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1()); } + (rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1) + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__InterfaceExpression__Group__1 + +rule__XConstructorCall__Group__0 @init { int stackSize = keepStackSize(); } : - rule__InterfaceExpression__Group__1__Impl - rule__InterfaceExpression__Group__2 + rule__XConstructorCall__Group__0__Impl + rule__XConstructorCall__Group__1 ; finally { restoreStackSize(stackSize); } -rule__InterfaceExpression__Group__1__Impl +rule__XConstructorCall__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceExpressionAccess().getRefAssignment_1()); } - (rule__InterfaceExpression__RefAssignment_1)? - { after(grammarAccess.getInterfaceExpressionAccess().getRefAssignment_1()); } + { before(grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0()); } + () + { after(grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InterfaceExpression__Group__2 +rule__XConstructorCall__Group__1 @init { int stackSize = keepStackSize(); } : - rule__InterfaceExpression__Group__2__Impl - rule__InterfaceExpression__Group__3 + rule__XConstructorCall__Group__1__Impl + rule__XConstructorCall__Group__2 ; finally { restoreStackSize(stackSize); } -rule__InterfaceExpression__Group__2__Impl +rule__XConstructorCall__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceExpressionAccess().getUnorderedAssignment_2()); } - (rule__InterfaceExpression__UnorderedAssignment_2)? - { after(grammarAccess.getInterfaceExpressionAccess().getUnorderedAssignment_2()); } + { before(grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); } + 'new' + { after(grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__InterfaceExpression__Group__3 +rule__XConstructorCall__Group__2 @init { int stackSize = keepStackSize(); } : - rule__InterfaceExpression__Group__3__Impl - rule__InterfaceExpression__Group__4 + rule__XConstructorCall__Group__2__Impl + rule__XConstructorCall__Group__3 ; finally { restoreStackSize(stackSize); } -rule__InterfaceExpression__Group__3__Impl +rule__XConstructorCall__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceExpressionAccess().getLeftParenthesisKeyword_3()); } - '(' - { after(grammarAccess.getInterfaceExpressionAccess().getLeftParenthesisKeyword_3()); } + { before(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2()); } + (rule__XConstructorCall__ConstructorAssignment_2) + { after(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__InterfaceExpression__Group__4 +rule__XConstructorCall__Group__3 @init { int stackSize = keepStackSize(); } : - rule__InterfaceExpression__Group__4__Impl - rule__InterfaceExpression__Group__5 + rule__XConstructorCall__Group__3__Impl + rule__XConstructorCall__Group__4 ; finally { restoreStackSize(stackSize); } -rule__InterfaceExpression__Group__4__Impl +rule__XConstructorCall__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceExpressionAccess().getExprAssignment_4()); } - (rule__InterfaceExpression__ExprAssignment_4) - { after(grammarAccess.getInterfaceExpressionAccess().getExprAssignment_4()); } + { before(grammarAccess.getXConstructorCallAccess().getGroup_3()); } + (rule__XConstructorCall__Group_3__0)? + { after(grammarAccess.getXConstructorCallAccess().getGroup_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__InterfaceExpression__Group__5 +rule__XConstructorCall__Group__4 @init { int stackSize = keepStackSize(); } : - rule__InterfaceExpression__Group__5__Impl + rule__XConstructorCall__Group__4__Impl + rule__XConstructorCall__Group__5 ; finally { restoreStackSize(stackSize); } -rule__InterfaceExpression__Group__5__Impl +rule__XConstructorCall__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceExpressionAccess().getRightParenthesisKeyword_5()); } - ')' - { after(grammarAccess.getInterfaceExpressionAccess().getRightParenthesisKeyword_5()); } + { before(grammarAccess.getXConstructorCallAccess().getGroup_4()); } + (rule__XConstructorCall__Group_4__0)? + { after(grammarAccess.getXConstructorCallAccess().getGroup_4()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Export__Group__0 +rule__XConstructorCall__Group__5 @init { int stackSize = keepStackSize(); } : - rule__Export__Group__0__Impl - rule__Export__Group__1 + rule__XConstructorCall__Group__5__Impl ; finally { restoreStackSize(stackSize); } -rule__Export__Group__0__Impl +rule__XConstructorCall__Group__5__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getExportKeyword_0()); } - 'export' - { after(grammarAccess.getExportAccess().getExportKeyword_0()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5()); } + (rule__XConstructorCall__ArgumentsAssignment_5)? + { after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group__1 + +rule__XConstructorCall__Group_3__0 @init { int stackSize = keepStackSize(); } : - rule__Export__Group__1__Impl - rule__Export__Group__2 + rule__XConstructorCall__Group_3__0__Impl + rule__XConstructorCall__Group_3__1 ; finally { restoreStackSize(stackSize); } -rule__Export__Group__1__Impl +rule__XConstructorCall__Group_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getGroup_1()); } - (rule__Export__Group_1__0)? - { after(grammarAccess.getExportAccess().getGroup_1()); } + { before(grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); } + ('<') + { after(grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group__2 +rule__XConstructorCall__Group_3__1 @init { int stackSize = keepStackSize(); } : - rule__Export__Group__2__Impl - rule__Export__Group__3 + rule__XConstructorCall__Group_3__1__Impl + rule__XConstructorCall__Group_3__2 ; finally { restoreStackSize(stackSize); } -rule__Export__Group__2__Impl +rule__XConstructorCall__Group_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getTypeAssignment_2()); } - (rule__Export__TypeAssignment_2) - { after(grammarAccess.getExportAccess().getTypeAssignment_2()); } + { before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1()); } + (rule__XConstructorCall__TypeArgumentsAssignment_3_1) + { after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group__3 +rule__XConstructorCall__Group_3__2 @init { int stackSize = keepStackSize(); } : - rule__Export__Group__3__Impl - rule__Export__Group__4 + rule__XConstructorCall__Group_3__2__Impl + rule__XConstructorCall__Group_3__3 ; finally { restoreStackSize(stackSize); } -rule__Export__Group__3__Impl +rule__XConstructorCall__Group_3__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getGroup_3()); } - (rule__Export__Group_3__0)? - { after(grammarAccess.getExportAccess().getGroup_3()); } + { before(grammarAccess.getXConstructorCallAccess().getGroup_3_2()); } + (rule__XConstructorCall__Group_3_2__0)* + { after(grammarAccess.getXConstructorCallAccess().getGroup_3_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group__4 +rule__XConstructorCall__Group_3__3 @init { int stackSize = keepStackSize(); } : - rule__Export__Group__4__Impl - rule__Export__Group__5 + rule__XConstructorCall__Group_3__3__Impl ; finally { restoreStackSize(stackSize); } -rule__Export__Group__4__Impl +rule__XConstructorCall__Group_3__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getGroup_4()); } - (rule__Export__Group_4__0)? - { after(grammarAccess.getExportAccess().getGroup_4()); } + { before(grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); } + '>' + { after(grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group__5 + +rule__XConstructorCall__Group_3_2__0 @init { int stackSize = keepStackSize(); } : - rule__Export__Group__5__Impl - rule__Export__Group__6 + rule__XConstructorCall__Group_3_2__0__Impl + rule__XConstructorCall__Group_3_2__1 ; finally { restoreStackSize(stackSize); } -rule__Export__Group__5__Impl +rule__XConstructorCall__Group_3_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getLeftCurlyBracketKeyword_5()); } - '{' - { after(grammarAccess.getExportAccess().getLeftCurlyBracketKeyword_5()); } + { before(grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); } + ',' + { after(grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group__6 +rule__XConstructorCall__Group_3_2__1 @init { int stackSize = keepStackSize(); } : - rule__Export__Group__6__Impl - rule__Export__Group__7 + rule__XConstructorCall__Group_3_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Export__Group__6__Impl +rule__XConstructorCall__Group_3_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getGroup_6()); } - (rule__Export__Group_6__0)? - { after(grammarAccess.getExportAccess().getGroup_6()); } + { before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1()); } + (rule__XConstructorCall__TypeArgumentsAssignment_3_2_1) + { after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group__7 + +rule__XConstructorCall__Group_4__0 @init { int stackSize = keepStackSize(); } : - rule__Export__Group__7__Impl - rule__Export__Group__8 + rule__XConstructorCall__Group_4__0__Impl + rule__XConstructorCall__Group_4__1 ; finally { restoreStackSize(stackSize); } -rule__Export__Group__7__Impl +rule__XConstructorCall__Group_4__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getGroup_7()); } - (rule__Export__Group_7__0)? - { after(grammarAccess.getExportAccess().getGroup_7()); } + { before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0()); } + (rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0) + { after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group__8 +rule__XConstructorCall__Group_4__1 @init { int stackSize = keepStackSize(); } : - rule__Export__Group__8__Impl - rule__Export__Group__9 + rule__XConstructorCall__Group_4__1__Impl + rule__XConstructorCall__Group_4__2 ; finally { restoreStackSize(stackSize); } -rule__Export__Group__8__Impl +rule__XConstructorCall__Group_4__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getAlternatives_8()); } - (rule__Export__Alternatives_8)* - { after(grammarAccess.getExportAccess().getAlternatives_8()); } + { before(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1()); } + (rule__XConstructorCall__Alternatives_4_1)? + { after(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group__9 +rule__XConstructorCall__Group_4__2 @init { int stackSize = keepStackSize(); } : - rule__Export__Group__9__Impl + rule__XConstructorCall__Group_4__2__Impl ; finally { restoreStackSize(stackSize); } -rule__Export__Group__9__Impl +rule__XConstructorCall__Group_4__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getRightCurlyBracketKeyword_9()); } - '}' - { after(grammarAccess.getExportAccess().getRightCurlyBracketKeyword_9()); } + { before(grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); } + ')' + { after(grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); } ) ; finally { @@ -3339,53 +19806,53 @@ finally { } -rule__Export__Group_1__0 +rule__XConstructorCall__Group_4_1_1__0 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_1__0__Impl - rule__Export__Group_1__1 + rule__XConstructorCall__Group_4_1_1__0__Impl + rule__XConstructorCall__Group_4_1_1__1 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_1__0__Impl +rule__XConstructorCall__Group_4_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getLookupAssignment_1_0()); } - (rule__Export__LookupAssignment_1_0) - { after(grammarAccess.getExportAccess().getLookupAssignment_1_0()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0()); } + (rule__XConstructorCall__ArgumentsAssignment_4_1_1_0) + { after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_1__1 +rule__XConstructorCall__Group_4_1_1__1 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_1__1__Impl + rule__XConstructorCall__Group_4_1_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Export__Group_1__1__Impl +rule__XConstructorCall__Group_4_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getGroup_1_1()); } - (rule__Export__Group_1_1__0)? - { after(grammarAccess.getExportAccess().getGroup_1_1()); } + { before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1()); } + (rule__XConstructorCall__Group_4_1_1_1__0)* + { after(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1()); } ) ; finally { @@ -3393,161 +19860,161 @@ finally { } -rule__Export__Group_1_1__0 +rule__XConstructorCall__Group_4_1_1_1__0 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_1_1__0__Impl - rule__Export__Group_1_1__1 + rule__XConstructorCall__Group_4_1_1_1__0__Impl + rule__XConstructorCall__Group_4_1_1_1__1 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_1_1__0__Impl +rule__XConstructorCall__Group_4_1_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getLeftSquareBracketKeyword_1_1_0()); } - '[' - { after(grammarAccess.getExportAccess().getLeftSquareBracketKeyword_1_1_0()); } + { before(grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); } + ',' + { after(grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_1_1__1 +rule__XConstructorCall__Group_4_1_1_1__1 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_1_1__1__Impl - rule__Export__Group_1_1__2 + rule__XConstructorCall__Group_4_1_1_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Export__Group_1_1__1__Impl +rule__XConstructorCall__Group_4_1_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getLookupPredicateAssignment_1_1_1()); } - (rule__Export__LookupPredicateAssignment_1_1_1) - { after(grammarAccess.getExportAccess().getLookupPredicateAssignment_1_1_1()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1()); } + (rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1) + { after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_1_1__2 + +rule__XBooleanLiteral__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_1_1__2__Impl + rule__XBooleanLiteral__Group__0__Impl + rule__XBooleanLiteral__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_1_1__2__Impl +rule__XBooleanLiteral__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getRightSquareBracketKeyword_1_1_2()); } - ']' - { after(grammarAccess.getExportAccess().getRightSquareBracketKeyword_1_1_2()); } + { before(grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0()); } + () + { after(grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Export__Group_3__0 +rule__XBooleanLiteral__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_3__0__Impl - rule__Export__Group_3__1 + rule__XBooleanLiteral__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Export__Group_3__0__Impl +rule__XBooleanLiteral__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getAsKeyword_3_0()); } - 'as' - { after(grammarAccess.getExportAccess().getAsKeyword_3_0()); } + { before(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1()); } + (rule__XBooleanLiteral__Alternatives_1) + { after(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_3__1 + +rule__XNullLiteral__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_3__1__Impl - rule__Export__Group_3__2 + rule__XNullLiteral__Group__0__Impl + rule__XNullLiteral__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_3__1__Impl +rule__XNullLiteral__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getQualifiedNameAssignment_3_1()); } - (rule__Export__QualifiedNameAssignment_3_1)? - { after(grammarAccess.getExportAccess().getQualifiedNameAssignment_3_1()); } + { before(grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0()); } + () + { after(grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_3__2 +rule__XNullLiteral__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_3__2__Impl + rule__XNullLiteral__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Export__Group_3__2__Impl +rule__XNullLiteral__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getNamingAssignment_3_2()); } - (rule__Export__NamingAssignment_3_2) - { after(grammarAccess.getExportAccess().getNamingAssignment_3_2()); } + { before(grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); } + 'null' + { after(grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); } ) ; finally { @@ -3555,350 +20022,350 @@ finally { } -rule__Export__Group_4__0 +rule__XNumberLiteral__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_4__0__Impl - rule__Export__Group_4__1 + rule__XNumberLiteral__Group__0__Impl + rule__XNumberLiteral__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_4__0__Impl +rule__XNumberLiteral__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getLeftSquareBracketKeyword_4_0()); } - '[' - { after(grammarAccess.getExportAccess().getLeftSquareBracketKeyword_4_0()); } + { before(grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0()); } + () + { after(grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_4__1 +rule__XNumberLiteral__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_4__1__Impl - rule__Export__Group_4__2 + rule__XNumberLiteral__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Export__Group_4__1__Impl +rule__XNumberLiteral__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getGuardAssignment_4_1()); } - (rule__Export__GuardAssignment_4_1) - { after(grammarAccess.getExportAccess().getGuardAssignment_4_1()); } + { before(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1()); } + (rule__XNumberLiteral__ValueAssignment_1) + { after(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_4__2 + +rule__XStringLiteral__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_4__2__Impl + rule__XStringLiteral__Group__0__Impl + rule__XStringLiteral__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_4__2__Impl +rule__XStringLiteral__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getRightSquareBracketKeyword_4_2()); } - ']' - { after(grammarAccess.getExportAccess().getRightSquareBracketKeyword_4_2()); } + { before(grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0()); } + () + { after(grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Export__Group_6__0 +rule__XStringLiteral__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_6__0__Impl - rule__Export__Group_6__1 + rule__XStringLiteral__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Export__Group_6__0__Impl +rule__XStringLiteral__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getUriFragmentKeyword_6_0()); } - 'uri-fragment' - { after(grammarAccess.getExportAccess().getUriFragmentKeyword_6_0()); } + { before(grammarAccess.getXStringLiteralAccess().getValueAssignment_1()); } + (rule__XStringLiteral__ValueAssignment_1) + { after(grammarAccess.getXStringLiteralAccess().getValueAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_6__1 + +rule__XTypeLiteral__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_6__1__Impl - rule__Export__Group_6__2 + rule__XTypeLiteral__Group__0__Impl + rule__XTypeLiteral__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_6__1__Impl +rule__XTypeLiteral__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getEqualsSignKeyword_6_1()); } - '=' - { after(grammarAccess.getExportAccess().getEqualsSignKeyword_6_1()); } + { before(grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0()); } + () + { after(grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_6__2 +rule__XTypeLiteral__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_6__2__Impl - rule__Export__Group_6__3 + rule__XTypeLiteral__Group__1__Impl + rule__XTypeLiteral__Group__2 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_6__2__Impl +rule__XTypeLiteral__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getFragmentUniqueAssignment_6_2()); } - (rule__Export__FragmentUniqueAssignment_6_2)? - { after(grammarAccess.getExportAccess().getFragmentUniqueAssignment_6_2()); } + { before(grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); } + 'typeof' + { after(grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_6__3 +rule__XTypeLiteral__Group__2 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_6__3__Impl - rule__Export__Group_6__4 + rule__XTypeLiteral__Group__2__Impl + rule__XTypeLiteral__Group__3 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_6__3__Impl +rule__XTypeLiteral__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getAttributeKeyword_6_3()); } - 'attribute' - { after(grammarAccess.getExportAccess().getAttributeKeyword_6_3()); } + { before(grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); } + '(' + { after(grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_6__4 +rule__XTypeLiteral__Group__3 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_6__4__Impl - rule__Export__Group_6__5 + rule__XTypeLiteral__Group__3__Impl + rule__XTypeLiteral__Group__4 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_6__4__Impl +rule__XTypeLiteral__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getLeftParenthesisKeyword_6_4()); } - '(' - { after(grammarAccess.getExportAccess().getLeftParenthesisKeyword_6_4()); } + { before(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3()); } + (rule__XTypeLiteral__TypeAssignment_3) + { after(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_6__5 +rule__XTypeLiteral__Group__4 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_6__5__Impl - rule__Export__Group_6__6 + rule__XTypeLiteral__Group__4__Impl + rule__XTypeLiteral__Group__5 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_6__5__Impl +rule__XTypeLiteral__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getFragmentAttributeAssignment_6_5()); } - (rule__Export__FragmentAttributeAssignment_6_5) - { after(grammarAccess.getExportAccess().getFragmentAttributeAssignment_6_5()); } + { before(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4()); } + (rule__XTypeLiteral__ArrayDimensionsAssignment_4)* + { after(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_6__6 +rule__XTypeLiteral__Group__5 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_6__6__Impl - rule__Export__Group_6__7 + rule__XTypeLiteral__Group__5__Impl ; finally { restoreStackSize(stackSize); } -rule__Export__Group_6__6__Impl +rule__XTypeLiteral__Group__5__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getRightParenthesisKeyword_6_6()); } + { before(grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); } ')' - { after(grammarAccess.getExportAccess().getRightParenthesisKeyword_6_6()); } + { after(grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_6__7 + +rule__XThrowExpression__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_6__7__Impl + rule__XThrowExpression__Group__0__Impl + rule__XThrowExpression__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_6__7__Impl +rule__XThrowExpression__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getSemicolonKeyword_6_7()); } - ';' - { after(grammarAccess.getExportAccess().getSemicolonKeyword_6_7()); } + { before(grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0()); } + () + { after(grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Export__Group_7__0 +rule__XThrowExpression__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_7__0__Impl - rule__Export__Group_7__1 + rule__XThrowExpression__Group__1__Impl + rule__XThrowExpression__Group__2 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_7__0__Impl +rule__XThrowExpression__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getAlternatives_7_0()); } - (rule__Export__Alternatives_7_0) - { after(grammarAccess.getExportAccess().getAlternatives_7_0()); } + { before(grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); } + 'throw' + { after(grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_7__1 +rule__XThrowExpression__Group__2 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_7__1__Impl + rule__XThrowExpression__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__Export__Group_7__1__Impl +rule__XThrowExpression__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getSemicolonKeyword_7_1()); } - ';' - { after(grammarAccess.getExportAccess().getSemicolonKeyword_7_1()); } + { before(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2()); } + (rule__XThrowExpression__ExpressionAssignment_2) + { after(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2()); } ) ; finally { @@ -3906,458 +20373,465 @@ finally { } -rule__Export__Group_8_0__0 +rule__XReturnExpression__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_8_0__0__Impl - rule__Export__Group_8_0__1 + rule__XReturnExpression__Group__0__Impl + rule__XReturnExpression__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_0__0__Impl +rule__XReturnExpression__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getFieldKeyword_8_0_0()); } - 'field' - { after(grammarAccess.getExportAccess().getFieldKeyword_8_0_0()); } + { before(grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0()); } + () + { after(grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_0__1 +rule__XReturnExpression__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_8_0__1__Impl - rule__Export__Group_8_0__2 + rule__XReturnExpression__Group__1__Impl + rule__XReturnExpression__Group__2 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_0__1__Impl +rule__XReturnExpression__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getAttributesAssignment_8_0_1()); } - (rule__Export__AttributesAssignment_8_0_1) - { after(grammarAccess.getExportAccess().getAttributesAssignment_8_0_1()); } + { before(grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); } + 'return' + { after(grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_0__2 +rule__XReturnExpression__Group__2 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_8_0__2__Impl - rule__Export__Group_8_0__3 + rule__XReturnExpression__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_0__2__Impl +rule__XReturnExpression__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getGroup_8_0_2()); } - (rule__Export__Group_8_0_2__0)* - { after(grammarAccess.getExportAccess().getGroup_8_0_2()); } + { before(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2()); } + (rule__XReturnExpression__ExpressionAssignment_2)? + { after(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_0__3 + +rule__XTryCatchFinallyExpression__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_8_0__3__Impl + rule__XTryCatchFinallyExpression__Group__0__Impl + rule__XTryCatchFinallyExpression__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_0__3__Impl +rule__XTryCatchFinallyExpression__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getSemicolonKeyword_8_0_3()); } - ';' - { after(grammarAccess.getExportAccess().getSemicolonKeyword_8_0_3()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0()); } + () + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Export__Group_8_0_2__0 +rule__XTryCatchFinallyExpression__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_8_0_2__0__Impl - rule__Export__Group_8_0_2__1 + rule__XTryCatchFinallyExpression__Group__1__Impl + rule__XTryCatchFinallyExpression__Group__2 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_0_2__0__Impl +rule__XTryCatchFinallyExpression__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getCommaKeyword_8_0_2_0()); } - ',' - { after(grammarAccess.getExportAccess().getCommaKeyword_8_0_2_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); } + 'try' + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_0_2__1 +rule__XTryCatchFinallyExpression__Group__2 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_8_0_2__1__Impl + rule__XTryCatchFinallyExpression__Group__2__Impl + rule__XTryCatchFinallyExpression__Group__3 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_0_2__1__Impl +rule__XTryCatchFinallyExpression__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getAttributesAssignment_8_0_2_1()); } - (rule__Export__AttributesAssignment_8_0_2_1) - { after(grammarAccess.getExportAccess().getAttributesAssignment_8_0_2_1()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2()); } + (rule__XTryCatchFinallyExpression__ExpressionAssignment_2) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Export__Group_8_1__0 +rule__XTryCatchFinallyExpression__Group__3 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_8_1__0__Impl - rule__Export__Group_8_1__1 + rule__XTryCatchFinallyExpression__Group__3__Impl ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_1__0__Impl +rule__XTryCatchFinallyExpression__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getDataKeyword_8_1_0()); } - 'data' - { after(grammarAccess.getExportAccess().getDataKeyword_8_1_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3()); } + (rule__XTryCatchFinallyExpression__Alternatives_3) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_1__1 + +rule__XTryCatchFinallyExpression__Group_3_0__0 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_8_1__1__Impl - rule__Export__Group_8_1__2 + rule__XTryCatchFinallyExpression__Group_3_0__0__Impl + rule__XTryCatchFinallyExpression__Group_3_0__1 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_1__1__Impl +rule__XTryCatchFinallyExpression__Group_3_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getUserDataAssignment_8_1_1()); } - (rule__Export__UserDataAssignment_8_1_1) - { after(grammarAccess.getExportAccess().getUserDataAssignment_8_1_1()); } + ( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); } + (rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); } + ) + ( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); } + (rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0)* + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); } + ) ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_1__2 +rule__XTryCatchFinallyExpression__Group_3_0__1 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_8_1__2__Impl - rule__Export__Group_8_1__3 + rule__XTryCatchFinallyExpression__Group_3_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_1__2__Impl +rule__XTryCatchFinallyExpression__Group_3_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getGroup_8_1_2()); } - (rule__Export__Group_8_1_2__0)* - { after(grammarAccess.getExportAccess().getGroup_8_1_2()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1()); } + (rule__XTryCatchFinallyExpression__Group_3_0_1__0)? + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_1__3 + +rule__XTryCatchFinallyExpression__Group_3_0_1__0 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_8_1__3__Impl + rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl + rule__XTryCatchFinallyExpression__Group_3_0_1__1 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_1__3__Impl +rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getSemicolonKeyword_8_1_3()); } - ';' - { after(grammarAccess.getExportAccess().getSemicolonKeyword_8_1_3()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); } + ('finally') + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Export__Group_8_1_2__0 +rule__XTryCatchFinallyExpression__Group_3_0_1__1 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_8_1_2__0__Impl - rule__Export__Group_8_1_2__1 + rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_1_2__0__Impl +rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getCommaKeyword_8_1_2_0()); } - ',' - { after(grammarAccess.getExportAccess().getCommaKeyword_8_1_2_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1()); } + (rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_1_2__1 + +rule__XTryCatchFinallyExpression__Group_3_1__0 @init { int stackSize = keepStackSize(); } : - rule__Export__Group_8_1_2__1__Impl + rule__XTryCatchFinallyExpression__Group_3_1__0__Impl + rule__XTryCatchFinallyExpression__Group_3_1__1 ; finally { restoreStackSize(stackSize); } -rule__Export__Group_8_1_2__1__Impl +rule__XTryCatchFinallyExpression__Group_3_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getUserDataAssignment_8_1_2_1()); } - (rule__Export__UserDataAssignment_8_1_2_1) - { after(grammarAccess.getExportAccess().getUserDataAssignment_8_1_2_1()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); } + 'finally' + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__UserData__Group__0 +rule__XTryCatchFinallyExpression__Group_3_1__1 @init { int stackSize = keepStackSize(); } : - rule__UserData__Group__0__Impl - rule__UserData__Group__1 + rule__XTryCatchFinallyExpression__Group_3_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__UserData__Group__0__Impl +rule__XTryCatchFinallyExpression__Group_3_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUserDataAccess().getNameAssignment_0()); } - (rule__UserData__NameAssignment_0) - { after(grammarAccess.getUserDataAccess().getNameAssignment_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1()); } + (rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__UserData__Group__1 + +rule__XSynchronizedExpression__Group__0 @init { int stackSize = keepStackSize(); } : - rule__UserData__Group__1__Impl - rule__UserData__Group__2 + rule__XSynchronizedExpression__Group__0__Impl + rule__XSynchronizedExpression__Group__1 ; finally { restoreStackSize(stackSize); } -rule__UserData__Group__1__Impl +rule__XSynchronizedExpression__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUserDataAccess().getEqualsSignKeyword_1()); } - '=' - { after(grammarAccess.getUserDataAccess().getEqualsSignKeyword_1()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0()); } + (rule__XSynchronizedExpression__Group_0__0) + { after(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__UserData__Group__2 +rule__XSynchronizedExpression__Group__1 @init { int stackSize = keepStackSize(); } : - rule__UserData__Group__2__Impl + rule__XSynchronizedExpression__Group__1__Impl + rule__XSynchronizedExpression__Group__2 ; finally { restoreStackSize(stackSize); } -rule__UserData__Group__2__Impl +rule__XSynchronizedExpression__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUserDataAccess().getExprAssignment_2()); } - (rule__UserData__ExprAssignment_2) - { after(grammarAccess.getUserDataAccess().getExprAssignment_2()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1()); } + (rule__XSynchronizedExpression__ParamAssignment_1) + { after(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__QualifiedID__Group__0 +rule__XSynchronizedExpression__Group__2 @init { int stackSize = keepStackSize(); } : - rule__QualifiedID__Group__0__Impl - rule__QualifiedID__Group__1 + rule__XSynchronizedExpression__Group__2__Impl + rule__XSynchronizedExpression__Group__3 ; finally { restoreStackSize(stackSize); } -rule__QualifiedID__Group__0__Impl +rule__XSynchronizedExpression__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_0()); } - RULE_ID - { after(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_0()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); } + ')' + { after(grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__QualifiedID__Group__1 +rule__XSynchronizedExpression__Group__3 @init { int stackSize = keepStackSize(); } : - rule__QualifiedID__Group__1__Impl + rule__XSynchronizedExpression__Group__3__Impl ; finally { restoreStackSize(stackSize); } -rule__QualifiedID__Group__1__Impl +rule__XSynchronizedExpression__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getQualifiedIDAccess().getGroup_1()); } - (rule__QualifiedID__Group_1__0)* - { after(grammarAccess.getQualifiedIDAccess().getGroup_1()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3()); } + (rule__XSynchronizedExpression__ExpressionAssignment_3) + { after(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3()); } ) ; finally { @@ -4365,458 +20839,458 @@ finally { } -rule__QualifiedID__Group_1__0 +rule__XSynchronizedExpression__Group_0__0 @init { int stackSize = keepStackSize(); } : - rule__QualifiedID__Group_1__0__Impl - rule__QualifiedID__Group_1__1 + rule__XSynchronizedExpression__Group_0__0__Impl ; finally { restoreStackSize(stackSize); } -rule__QualifiedID__Group_1__0__Impl +rule__XSynchronizedExpression__Group_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); } - '::' - { after(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0()); } + (rule__XSynchronizedExpression__Group_0_0__0) + { after(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__QualifiedID__Group_1__1 + +rule__XSynchronizedExpression__Group_0_0__0 @init { int stackSize = keepStackSize(); } : - rule__QualifiedID__Group_1__1__Impl + rule__XSynchronizedExpression__Group_0_0__0__Impl + rule__XSynchronizedExpression__Group_0_0__1 ; finally { restoreStackSize(stackSize); } -rule__QualifiedID__Group_1__1__Impl +rule__XSynchronizedExpression__Group_0_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_1_1()); } - RULE_ID - { after(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_1_1()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0()); } + () + { after(grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__LetExpression__Group__0 +rule__XSynchronizedExpression__Group_0_0__1 @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__0__Impl - rule__LetExpression__Group__1 + rule__XSynchronizedExpression__Group_0_0__1__Impl + rule__XSynchronizedExpression__Group_0_0__2 ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__0__Impl +rule__XSynchronizedExpression__Group_0_0__1__Impl @init { int stackSize = keepStackSize(); } -: -( - { before(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } - 'let' - { after(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } +: +( + { before(grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); } + 'synchronized' + { after(grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__1 +rule__XSynchronizedExpression__Group_0_0__2 @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__1__Impl - rule__LetExpression__Group__2 + rule__XSynchronizedExpression__Group_0_0__2__Impl ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__1__Impl +rule__XSynchronizedExpression__Group_0_0__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); } - (rule__LetExpression__IdentifierAssignment_1) - { after(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } + '(' + { after(grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__2 + +rule__XCatchClause__Group__0 @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__2__Impl - rule__LetExpression__Group__3 + rule__XCatchClause__Group__0__Impl + rule__XCatchClause__Group__1 ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__2__Impl +rule__XCatchClause__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } - '=' - { after(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } + { before(grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); } + ('catch') + { after(grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__3 +rule__XCatchClause__Group__1 @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__3__Impl - rule__LetExpression__Group__4 + rule__XCatchClause__Group__1__Impl + rule__XCatchClause__Group__2 ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__3__Impl +rule__XCatchClause__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); } - (rule__LetExpression__VarExprAssignment_3) - { after(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); } + { before(grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__4 +rule__XCatchClause__Group__2 @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__4__Impl - rule__LetExpression__Group__5 + rule__XCatchClause__Group__2__Impl + rule__XCatchClause__Group__3 ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__4__Impl +rule__XCatchClause__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } - ':' - { after(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } + { before(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2()); } + (rule__XCatchClause__DeclaredParamAssignment_2) + { after(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__5 +rule__XCatchClause__Group__3 @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__5__Impl + rule__XCatchClause__Group__3__Impl + rule__XCatchClause__Group__4 ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__5__Impl +rule__XCatchClause__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } - (rule__LetExpression__TargetAssignment_5) - { after(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } + { before(grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); } + ')' + { after(grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); } ) ; finally { restoreStackSize(stackSize); } - -rule__CastedExpression__Group__0 +rule__XCatchClause__Group__4 @init { int stackSize = keepStackSize(); } : - rule__CastedExpression__Group__0__Impl - rule__CastedExpression__Group__1 + rule__XCatchClause__Group__4__Impl ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__0__Impl +rule__XCatchClause__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } - '(' - { after(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } + { before(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4()); } + (rule__XCatchClause__ExpressionAssignment_4) + { after(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__1 + +rule__QualifiedName__Group__0 @init { int stackSize = keepStackSize(); } : - rule__CastedExpression__Group__1__Impl - rule__CastedExpression__Group__2 + rule__QualifiedName__Group__0__Impl + rule__QualifiedName__Group__1 ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__1__Impl +rule__QualifiedName__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); } - (rule__CastedExpression__TypeAssignment_1) - { after(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); } + { before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); } + ruleValidID + { after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__2 +rule__QualifiedName__Group__1 @init { int stackSize = keepStackSize(); } : - rule__CastedExpression__Group__2__Impl - rule__CastedExpression__Group__3 + rule__QualifiedName__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__2__Impl +rule__QualifiedName__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); } - ')' - { after(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); } + { before(grammarAccess.getQualifiedNameAccess().getGroup_1()); } + (rule__QualifiedName__Group_1__0)* + { after(grammarAccess.getQualifiedNameAccess().getGroup_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__3 + +rule__QualifiedName__Group_1__0 @init { int stackSize = keepStackSize(); } : - rule__CastedExpression__Group__3__Impl + rule__QualifiedName__Group_1__0__Impl + rule__QualifiedName__Group_1__1 ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__3__Impl +rule__QualifiedName__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); } - (rule__CastedExpression__TargetAssignment_3) - { after(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); } + { before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); } + ('.') + { after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ChainExpression__Group__0 +rule__QualifiedName__Group_1__1 @init { int stackSize = keepStackSize(); } : - rule__ChainExpression__Group__0__Impl - rule__ChainExpression__Group__1 + rule__QualifiedName__Group_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group__0__Impl +rule__QualifiedName__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } - ruleChainedExpression - { after(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } + { before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); } + ruleValidID + { after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group__1 + +rule__Number__Group_1__0 @init { int stackSize = keepStackSize(); } : - rule__ChainExpression__Group__1__Impl + rule__Number__Group_1__0__Impl + rule__Number__Group_1__1 ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group__1__Impl +rule__Number__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getChainExpressionAccess().getGroup_1()); } - (rule__ChainExpression__Group_1__0)* - { after(grammarAccess.getChainExpressionAccess().getGroup_1()); } + { before(grammarAccess.getNumberAccess().getAlternatives_1_0()); } + (rule__Number__Alternatives_1_0) + { after(grammarAccess.getNumberAccess().getAlternatives_1_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ChainExpression__Group_1__0 +rule__Number__Group_1__1 @init { int stackSize = keepStackSize(); } : - rule__ChainExpression__Group_1__0__Impl - rule__ChainExpression__Group_1__1 + rule__Number__Group_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group_1__0__Impl +rule__Number__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); } - () - { after(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); } + { before(grammarAccess.getNumberAccess().getGroup_1_1()); } + (rule__Number__Group_1_1__0)? + { after(grammarAccess.getNumberAccess().getGroup_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group_1__1 + +rule__Number__Group_1_1__0 @init { int stackSize = keepStackSize(); } : - rule__ChainExpression__Group_1__1__Impl - rule__ChainExpression__Group_1__2 + rule__Number__Group_1_1__0__Impl + rule__Number__Group_1_1__1 ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group_1__1__Impl +rule__Number__Group_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } - '->' - { after(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } + { before(grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); } + '.' + { after(grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group_1__2 +rule__Number__Group_1_1__1 @init { int stackSize = keepStackSize(); } : - rule__ChainExpression__Group_1__2__Impl + rule__Number__Group_1_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group_1__2__Impl +rule__Number__Group_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } - (rule__ChainExpression__NextAssignment_1_2) - { after(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } + { before(grammarAccess.getNumberAccess().getAlternatives_1_1_1()); } + (rule__Number__Alternatives_1_1_1) + { after(grammarAccess.getNumberAccess().getAlternatives_1_1_1()); } ) ; finally { @@ -4824,53 +21298,53 @@ finally { } -rule__IfExpressionTri__Group__0 +rule__JvmTypeReference__Group_0__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group__0__Impl - rule__IfExpressionTri__Group__1 + rule__JvmTypeReference__Group_0__0__Impl + rule__JvmTypeReference__Group_0__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group__0__Impl +rule__JvmTypeReference__Group_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } - ruleOrExpression - { after(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); } + ruleJvmParameterizedTypeReference + { after(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group__1 +rule__JvmTypeReference__Group_0__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group__1__Impl + rule__JvmTypeReference__Group_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group__1__Impl +rule__JvmTypeReference__Group_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } - (rule__IfExpressionTri__Group_1__0)? - { after(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } + { before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1()); } + (rule__JvmTypeReference__Group_0_1__0)* + { after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1()); } ) ; finally { @@ -4878,134 +21352,134 @@ finally { } -rule__IfExpressionTri__Group_1__0 +rule__JvmTypeReference__Group_0_1__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group_1__0__Impl - rule__IfExpressionTri__Group_1__1 + rule__JvmTypeReference__Group_0_1__0__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__0__Impl +rule__JvmTypeReference__Group_0_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } - () - { after(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } + { before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0()); } + (rule__JvmTypeReference__Group_0_1_0__0) + { after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__1 + +rule__JvmTypeReference__Group_0_1_0__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group_1__1__Impl - rule__IfExpressionTri__Group_1__2 + rule__JvmTypeReference__Group_0_1_0__0__Impl + rule__JvmTypeReference__Group_0_1_0__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__1__Impl +rule__JvmTypeReference__Group_0_1_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } - '?' - { after(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } + { before(grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()); } + () + { after(grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__2 +rule__JvmTypeReference__Group_0_1_0__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group_1__2__Impl - rule__IfExpressionTri__Group_1__3 + rule__JvmTypeReference__Group_0_1_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__2__Impl +rule__JvmTypeReference__Group_0_1_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); } - (rule__IfExpressionTri__ThenPartAssignment_1_2) - { after(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); } + { before(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); } + ruleArrayBrackets + { after(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__3 + +rule__ArrayBrackets__Group__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group_1__3__Impl - rule__IfExpressionTri__Group_1__4 + rule__ArrayBrackets__Group__0__Impl + rule__ArrayBrackets__Group__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__3__Impl +rule__ArrayBrackets__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } - ':' - { after(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } + { before(grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); } + '[' + { after(grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__4 +rule__ArrayBrackets__Group__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group_1__4__Impl + rule__ArrayBrackets__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__4__Impl +rule__ArrayBrackets__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); } - (rule__IfExpressionTri__ElsePartAssignment_1_4) - { after(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); } + { before(grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); } + ']' + { after(grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); } ) ; finally { @@ -5013,161 +21487,161 @@ finally { } -rule__IfExpressionKw__Group__0 +rule__XFunctionTypeRef__Group__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group__0__Impl - rule__IfExpressionKw__Group__1 + rule__XFunctionTypeRef__Group__0__Impl + rule__XFunctionTypeRef__Group__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__0__Impl +rule__XFunctionTypeRef__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); } - 'if' - { after(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0()); } + (rule__XFunctionTypeRef__Group_0__0)? + { after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__1 +rule__XFunctionTypeRef__Group__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group__1__Impl - rule__IfExpressionKw__Group__2 + rule__XFunctionTypeRef__Group__1__Impl + rule__XFunctionTypeRef__Group__2 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__1__Impl +rule__XFunctionTypeRef__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } - (rule__IfExpressionKw__ConditionAssignment_1) - { after(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); } + '=>' + { after(grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__2 +rule__XFunctionTypeRef__Group__2 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group__2__Impl - rule__IfExpressionKw__Group__3 + rule__XFunctionTypeRef__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__2__Impl +rule__XFunctionTypeRef__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } - 'then' - { after(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2()); } + (rule__XFunctionTypeRef__ReturnTypeAssignment_2) + { after(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__3 + +rule__XFunctionTypeRef__Group_0__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group__3__Impl - rule__IfExpressionKw__Group__4 + rule__XFunctionTypeRef__Group_0__0__Impl + rule__XFunctionTypeRef__Group_0__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__3__Impl +rule__XFunctionTypeRef__Group_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); } - (rule__IfExpressionKw__ThenPartAssignment_3) - { after(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); } + '(' + { after(grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__4 +rule__XFunctionTypeRef__Group_0__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group__4__Impl + rule__XFunctionTypeRef__Group_0__1__Impl + rule__XFunctionTypeRef__Group_0__2 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__4__Impl +rule__XFunctionTypeRef__Group_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } - (rule__IfExpressionKw__Group_4__0)? - { after(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1()); } + (rule__XFunctionTypeRef__Group_0_1__0)? + { after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__IfExpressionKw__Group_4__0 +rule__XFunctionTypeRef__Group_0__2 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group_4__0__Impl + rule__XFunctionTypeRef__Group_0__2__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group_4__0__Impl +rule__XFunctionTypeRef__Group_0__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); } - (rule__IfExpressionKw__Group_4_0__0) - { after(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); } + ')' + { after(grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); } ) ; finally { @@ -5175,53 +21649,53 @@ finally { } -rule__IfExpressionKw__Group_4_0__0 +rule__XFunctionTypeRef__Group_0_1__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group_4_0__0__Impl - rule__IfExpressionKw__Group_4_0__1 + rule__XFunctionTypeRef__Group_0_1__0__Impl + rule__XFunctionTypeRef__Group_0_1__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group_4_0__0__Impl +rule__XFunctionTypeRef__Group_0_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } - 'else' - { after(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0()); } + (rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0) + { after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group_4_0__1 +rule__XFunctionTypeRef__Group_0_1__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group_4_0__1__Impl + rule__XFunctionTypeRef__Group_0_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group_4_0__1__Impl +rule__XFunctionTypeRef__Group_0_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); } - (rule__IfExpressionKw__ElsePartAssignment_4_0_1) - { after(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1()); } + (rule__XFunctionTypeRef__Group_0_1_1__0)* + { after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1()); } ) ; finally { @@ -5229,296 +21703,296 @@ finally { } -rule__SwitchExpression__Group__0 +rule__XFunctionTypeRef__Group_0_1_1__0 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__0__Impl - rule__SwitchExpression__Group__1 + rule__XFunctionTypeRef__Group_0_1_1__0__Impl + rule__XFunctionTypeRef__Group_0_1_1__1 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__0__Impl +rule__XFunctionTypeRef__Group_0_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } - 'switch' - { after(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); } + ',' + { after(grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__1 +rule__XFunctionTypeRef__Group_0_1_1__1 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__1__Impl - rule__SwitchExpression__Group__2 + rule__XFunctionTypeRef__Group_0_1_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__1__Impl +rule__XFunctionTypeRef__Group_0_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getGroup_1()); } - (rule__SwitchExpression__Group_1__0)? - { after(grammarAccess.getSwitchExpressionAccess().getGroup_1()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1()); } + (rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1) + { after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__2 + +rule__JvmParameterizedTypeReference__Group__0 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__2__Impl - rule__SwitchExpression__Group__3 + rule__JvmParameterizedTypeReference__Group__0__Impl + rule__JvmParameterizedTypeReference__Group__1 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__2__Impl +rule__JvmParameterizedTypeReference__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } - '{' - { after(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0()); } + (rule__JvmParameterizedTypeReference__TypeAssignment_0) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__3 +rule__JvmParameterizedTypeReference__Group__1 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__3__Impl - rule__SwitchExpression__Group__4 + rule__JvmParameterizedTypeReference__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__3__Impl +rule__JvmParameterizedTypeReference__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } - (rule__SwitchExpression__CaseAssignment_3)* - { after(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1()); } + (rule__JvmParameterizedTypeReference__Group_1__0)? + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__4 + +rule__JvmParameterizedTypeReference__Group_1__0 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__4__Impl - rule__SwitchExpression__Group__5 + rule__JvmParameterizedTypeReference__Group_1__0__Impl + rule__JvmParameterizedTypeReference__Group_1__1 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__4__Impl +rule__JvmParameterizedTypeReference__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } - 'default' - { after(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } +( + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); } + ('<') + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__5 +rule__JvmParameterizedTypeReference__Group_1__1 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__5__Impl - rule__SwitchExpression__Group__6 + rule__JvmParameterizedTypeReference__Group_1__1__Impl + rule__JvmParameterizedTypeReference__Group_1__2 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__5__Impl +rule__JvmParameterizedTypeReference__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } - ':' - { after(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1()); } + (rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__6 +rule__JvmParameterizedTypeReference__Group_1__2 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__6__Impl - rule__SwitchExpression__Group__7 + rule__JvmParameterizedTypeReference__Group_1__2__Impl + rule__JvmParameterizedTypeReference__Group_1__3 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__6__Impl +rule__JvmParameterizedTypeReference__Group_1__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); } - (rule__SwitchExpression__DefaultExprAssignment_6) - { after(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2()); } + (rule__JvmParameterizedTypeReference__Group_1_2__0)* + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__7 +rule__JvmParameterizedTypeReference__Group_1__3 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__7__Impl + rule__JvmParameterizedTypeReference__Group_1__3__Impl + rule__JvmParameterizedTypeReference__Group_1__4 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__7__Impl +rule__JvmParameterizedTypeReference__Group_1__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } - '}' - { after(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); } + '>' + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); } ) ; finally { restoreStackSize(stackSize); } - -rule__SwitchExpression__Group_1__0 +rule__JvmParameterizedTypeReference__Group_1__4 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group_1__0__Impl - rule__SwitchExpression__Group_1__1 + rule__JvmParameterizedTypeReference__Group_1__4__Impl ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group_1__0__Impl +rule__JvmParameterizedTypeReference__Group_1__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } - '(' - { after(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4()); } + (rule__JvmParameterizedTypeReference__Group_1_4__0)* + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group_1__1 + +rule__JvmParameterizedTypeReference__Group_1_2__0 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group_1__1__Impl - rule__SwitchExpression__Group_1__2 + rule__JvmParameterizedTypeReference__Group_1_2__0__Impl + rule__JvmParameterizedTypeReference__Group_1_2__1 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group_1__1__Impl +rule__JvmParameterizedTypeReference__Group_1_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } - (rule__SwitchExpression__SwitchExprAssignment_1_1) - { after(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); } + ',' + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group_1__2 +rule__JvmParameterizedTypeReference__Group_1_2__1 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group_1__2__Impl + rule__JvmParameterizedTypeReference__Group_1_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group_1__2__Impl +rule__JvmParameterizedTypeReference__Group_1_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } - ')' - { after(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1()); } + (rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1()); } ) ; finally { @@ -5526,107 +22000,107 @@ finally { } -rule__Case__Group__0 +rule__JvmParameterizedTypeReference__Group_1_4__0 @init { int stackSize = keepStackSize(); } : - rule__Case__Group__0__Impl - rule__Case__Group__1 + rule__JvmParameterizedTypeReference__Group_1_4__0__Impl + rule__JvmParameterizedTypeReference__Group_1_4__1 ; finally { restoreStackSize(stackSize); } -rule__Case__Group__0__Impl +rule__JvmParameterizedTypeReference__Group_1_4__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getCaseKeyword_0()); } - 'case' - { after(grammarAccess.getCaseAccess().getCaseKeyword_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0()); } + (rule__JvmParameterizedTypeReference__Group_1_4_0__0) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Case__Group__1 +rule__JvmParameterizedTypeReference__Group_1_4__1 @init { int stackSize = keepStackSize(); } : - rule__Case__Group__1__Impl - rule__Case__Group__2 + rule__JvmParameterizedTypeReference__Group_1_4__1__Impl + rule__JvmParameterizedTypeReference__Group_1_4__2 ; finally { restoreStackSize(stackSize); } -rule__Case__Group__1__Impl +rule__JvmParameterizedTypeReference__Group_1_4__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getConditionAssignment_1()); } - (rule__Case__ConditionAssignment_1) - { after(grammarAccess.getCaseAccess().getConditionAssignment_1()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1()); } + (rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Case__Group__2 +rule__JvmParameterizedTypeReference__Group_1_4__2 @init { int stackSize = keepStackSize(); } : - rule__Case__Group__2__Impl - rule__Case__Group__3 + rule__JvmParameterizedTypeReference__Group_1_4__2__Impl ; finally { restoreStackSize(stackSize); } -rule__Case__Group__2__Impl +rule__JvmParameterizedTypeReference__Group_1_4__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getColonKeyword_2()); } - ':' - { after(grammarAccess.getCaseAccess().getColonKeyword_2()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2()); } + (rule__JvmParameterizedTypeReference__Group_1_4_2__0)? + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Case__Group__3 + +rule__JvmParameterizedTypeReference__Group_1_4_0__0 @init { int stackSize = keepStackSize(); } : - rule__Case__Group__3__Impl + rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl ; finally { restoreStackSize(stackSize); } -rule__Case__Group__3__Impl +rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getThenParAssignment_3()); } - (rule__Case__ThenParAssignment_3) - { after(grammarAccess.getCaseAccess().getThenParAssignment_3()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0()); } + (rule__JvmParameterizedTypeReference__Group_1_4_0_0__0) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0()); } ) ; finally { @@ -5634,53 +22108,53 @@ finally { } -rule__OrExpression__Group__0 +rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 @init { int stackSize = keepStackSize(); } : - rule__OrExpression__Group__0__Impl - rule__OrExpression__Group__1 + rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl + rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group__0__Impl +rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } - ruleAndExpression - { after(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()); } + () + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group__1 +rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 @init { int stackSize = keepStackSize(); } : - rule__OrExpression__Group__1__Impl + rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group__1__Impl +rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getGroup_1()); } - (rule__OrExpression__Group_1__0)* - { after(grammarAccess.getOrExpressionAccess().getGroup_1()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); } + '.' + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); } ) ; finally { @@ -5688,350 +22162,350 @@ finally { } -rule__OrExpression__Group_1__0 +rule__JvmParameterizedTypeReference__Group_1_4_2__0 @init { int stackSize = keepStackSize(); } : - rule__OrExpression__Group_1__0__Impl - rule__OrExpression__Group_1__1 + rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2__1 ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group_1__0__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); } - () - { after(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); } + ('<') + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group_1__1 +rule__JvmParameterizedTypeReference__Group_1_4_2__1 @init { int stackSize = keepStackSize(); } : - rule__OrExpression__Group_1__1__Impl - rule__OrExpression__Group_1__2 + rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2__2 ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group_1__1__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } - (rule__OrExpression__OperatorAssignment_1_1) - { after(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1()); } + (rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group_1__2 +rule__JvmParameterizedTypeReference__Group_1_4_2__2 @init { int stackSize = keepStackSize(); } : - rule__OrExpression__Group_1__2__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2__3 ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group_1__2__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } - (rule__OrExpression__RightAssignment_1_2) - { after(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2()); } + (rule__JvmParameterizedTypeReference__Group_1_4_2_2__0)* + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2()); } ) ; finally { restoreStackSize(stackSize); } - -rule__AndExpression__Group__0 +rule__JvmParameterizedTypeReference__Group_1_4_2__3 @init { int stackSize = keepStackSize(); } : - rule__AndExpression__Group__0__Impl - rule__AndExpression__Group__1 + rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group__0__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } - ruleImpliesExpression - { after(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); } + '>' + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group__1 + +rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 @init { int stackSize = keepStackSize(); } : - rule__AndExpression__Group__1__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group__1__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getGroup_1()); } - (rule__AndExpression__Group_1__0)* - { after(grammarAccess.getAndExpressionAccess().getGroup_1()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); } + ',' + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__AndExpression__Group_1__0 +rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 @init { int stackSize = keepStackSize(); } : - rule__AndExpression__Group_1__0__Impl - rule__AndExpression__Group_1__1 + rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group_1__0__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); } - () - { after(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1()); } + (rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group_1__1 + +rule__JvmWildcardTypeReference__Group__0 @init { int stackSize = keepStackSize(); } : - rule__AndExpression__Group_1__1__Impl - rule__AndExpression__Group_1__2 + rule__JvmWildcardTypeReference__Group__0__Impl + rule__JvmWildcardTypeReference__Group__1 ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group_1__1__Impl +rule__JvmWildcardTypeReference__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } - (rule__AndExpression__OperatorAssignment_1_1) - { after(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0()); } + () + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group_1__2 +rule__JvmWildcardTypeReference__Group__1 @init { int stackSize = keepStackSize(); } : - rule__AndExpression__Group_1__2__Impl + rule__JvmWildcardTypeReference__Group__1__Impl + rule__JvmWildcardTypeReference__Group__2 ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group_1__2__Impl +rule__JvmWildcardTypeReference__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } - (rule__AndExpression__RightAssignment_1_2) - { after(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); } + '?' + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ImpliesExpression__Group__0 +rule__JvmWildcardTypeReference__Group__2 @init { int stackSize = keepStackSize(); } : - rule__ImpliesExpression__Group__0__Impl - rule__ImpliesExpression__Group__1 + rule__JvmWildcardTypeReference__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group__0__Impl +rule__JvmWildcardTypeReference__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } - ruleRelationalExpression - { after(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2()); } + (rule__JvmWildcardTypeReference__Alternatives_2)? + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group__1 + +rule__JvmWildcardTypeReference__Group_2_0__0 @init { int stackSize = keepStackSize(); } : - rule__ImpliesExpression__Group__1__Impl + rule__JvmWildcardTypeReference__Group_2_0__0__Impl + rule__JvmWildcardTypeReference__Group_2_0__1 ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group__1__Impl +rule__JvmWildcardTypeReference__Group_2_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } - (rule__ImpliesExpression__Group_1__0)* - { after(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0()); } + (rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0) + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ImpliesExpression__Group_1__0 +rule__JvmWildcardTypeReference__Group_2_0__1 @init { int stackSize = keepStackSize(); } : - rule__ImpliesExpression__Group_1__0__Impl - rule__ImpliesExpression__Group_1__1 + rule__JvmWildcardTypeReference__Group_2_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group_1__0__Impl +rule__JvmWildcardTypeReference__Group_2_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); } - () - { after(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1()); } + (rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1)* + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group_1__1 + +rule__JvmWildcardTypeReference__Group_2_1__0 @init { int stackSize = keepStackSize(); } : - rule__ImpliesExpression__Group_1__1__Impl - rule__ImpliesExpression__Group_1__2 + rule__JvmWildcardTypeReference__Group_2_1__0__Impl + rule__JvmWildcardTypeReference__Group_2_1__1 ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group_1__1__Impl +rule__JvmWildcardTypeReference__Group_2_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } - (rule__ImpliesExpression__OperatorAssignment_1_1) - { after(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0()); } + (rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0) + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group_1__2 +rule__JvmWildcardTypeReference__Group_2_1__1 @init { int stackSize = keepStackSize(); } : - rule__ImpliesExpression__Group_1__2__Impl + rule__JvmWildcardTypeReference__Group_2_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group_1__2__Impl +rule__JvmWildcardTypeReference__Group_2_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } - (rule__ImpliesExpression__RightAssignment_1_2) - { after(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1()); } + (rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1)* + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1()); } ) ; finally { @@ -6039,53 +22513,53 @@ finally { } -rule__RelationalExpression__Group__0 +rule__JvmUpperBound__Group__0 @init { int stackSize = keepStackSize(); } : - rule__RelationalExpression__Group__0__Impl - rule__RelationalExpression__Group__1 + rule__JvmUpperBound__Group__0__Impl + rule__JvmUpperBound__Group__1 ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group__0__Impl +rule__JvmUpperBound__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } - ruleAdditiveExpression - { after(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); } + 'extends' + { after(grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group__1 +rule__JvmUpperBound__Group__1 @init { int stackSize = keepStackSize(); } : - rule__RelationalExpression__Group__1__Impl + rule__JvmUpperBound__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group__1__Impl +rule__JvmUpperBound__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getGroup_1()); } - (rule__RelationalExpression__Group_1__0)* - { after(grammarAccess.getRelationalExpressionAccess().getGroup_1()); } + { before(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1()); } + (rule__JvmUpperBound__TypeReferenceAssignment_1) + { after(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1()); } ) ; finally { @@ -6093,3930 +22567,4303 @@ finally { } -rule__RelationalExpression__Group_1__0 +rule__JvmUpperBoundAnded__Group__0 @init { int stackSize = keepStackSize(); } : - rule__RelationalExpression__Group_1__0__Impl - rule__RelationalExpression__Group_1__1 + rule__JvmUpperBoundAnded__Group__0__Impl + rule__JvmUpperBoundAnded__Group__1 ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group_1__0__Impl +rule__JvmUpperBoundAnded__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); } - () - { after(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); } + { before(grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); } + '&' + { after(grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group_1__1 +rule__JvmUpperBoundAnded__Group__1 @init { int stackSize = keepStackSize(); } : - rule__RelationalExpression__Group_1__1__Impl - rule__RelationalExpression__Group_1__2 + rule__JvmUpperBoundAnded__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group_1__1__Impl +rule__JvmUpperBoundAnded__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } - (rule__RelationalExpression__OperatorAssignment_1_1) - { after(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } + { before(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1()); } + (rule__JvmUpperBoundAnded__TypeReferenceAssignment_1) + { after(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group_1__2 + +rule__JvmLowerBound__Group__0 @init { int stackSize = keepStackSize(); } : - rule__RelationalExpression__Group_1__2__Impl + rule__JvmLowerBound__Group__0__Impl + rule__JvmLowerBound__Group__1 ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group_1__2__Impl +rule__JvmLowerBound__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } - (rule__RelationalExpression__RightAssignment_1_2) - { after(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } + { before(grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); } + 'super' + { after(grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__AdditiveExpression__Group__0 +rule__JvmLowerBound__Group__1 @init { int stackSize = keepStackSize(); } : - rule__AdditiveExpression__Group__0__Impl - rule__AdditiveExpression__Group__1 + rule__JvmLowerBound__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group__0__Impl +rule__JvmLowerBound__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } - ruleMultiplicativeExpression - { after(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1()); } + (rule__JvmLowerBound__TypeReferenceAssignment_1) + { after(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group__1 + +rule__JvmLowerBoundAnded__Group__0 @init { int stackSize = keepStackSize(); } : - rule__AdditiveExpression__Group__1__Impl + rule__JvmLowerBoundAnded__Group__0__Impl + rule__JvmLowerBoundAnded__Group__1 ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group__1__Impl +rule__JvmLowerBoundAnded__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } - (rule__AdditiveExpression__Group_1__0)* - { after(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } + { before(grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); } + '&' + { after(grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__AdditiveExpression__Group_1__0 +rule__JvmLowerBoundAnded__Group__1 @init { int stackSize = keepStackSize(); } : - rule__AdditiveExpression__Group_1__0__Impl - rule__AdditiveExpression__Group_1__1 + rule__JvmLowerBoundAnded__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group_1__0__Impl +rule__JvmLowerBoundAnded__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); } - () - { after(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); } + { before(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1()); } + (rule__JvmLowerBoundAnded__TypeReferenceAssignment_1) + { after(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group_1__1 + +rule__QualifiedNameWithWildcard__Group__0 @init { int stackSize = keepStackSize(); } : - rule__AdditiveExpression__Group_1__1__Impl - rule__AdditiveExpression__Group_1__2 + rule__QualifiedNameWithWildcard__Group__0__Impl + rule__QualifiedNameWithWildcard__Group__1 ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group_1__1__Impl +rule__QualifiedNameWithWildcard__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } - (rule__AdditiveExpression__NameAssignment_1_1) - { after(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } + { before(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); } + ruleQualifiedName + { after(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group_1__2 +rule__QualifiedNameWithWildcard__Group__1 @init { int stackSize = keepStackSize(); } : - rule__AdditiveExpression__Group_1__2__Impl + rule__QualifiedNameWithWildcard__Group__1__Impl + rule__QualifiedNameWithWildcard__Group__2 ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group_1__2__Impl +rule__QualifiedNameWithWildcard__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } - (rule__AdditiveExpression__ParamsAssignment_1_2) - { after(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } + { before(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); } + '.' + { after(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__MultiplicativeExpression__Group__0 +rule__QualifiedNameWithWildcard__Group__2 @init { int stackSize = keepStackSize(); } : - rule__MultiplicativeExpression__Group__0__Impl - rule__MultiplicativeExpression__Group__1 + rule__QualifiedNameWithWildcard__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group__0__Impl +rule__QualifiedNameWithWildcard__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } - ruleUnaryOrInfixExpression - { after(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } + { before(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); } + '*' + { after(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group__1 + +rule__XImportDeclaration__Group__0 @init { int stackSize = keepStackSize(); } : - rule__MultiplicativeExpression__Group__1__Impl + rule__XImportDeclaration__Group__0__Impl + rule__XImportDeclaration__Group__1 ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group__1__Impl +rule__XImportDeclaration__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } - (rule__MultiplicativeExpression__Group_1__0)* - { after(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } + { before(grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); } + 'import' + { after(grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__MultiplicativeExpression__Group_1__0 +rule__XImportDeclaration__Group__1 @init { int stackSize = keepStackSize(); } : - rule__MultiplicativeExpression__Group_1__0__Impl - rule__MultiplicativeExpression__Group_1__1 + rule__XImportDeclaration__Group__1__Impl + rule__XImportDeclaration__Group__2 ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group_1__0__Impl +rule__XImportDeclaration__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); } - () - { after(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getAlternatives_1()); } + (rule__XImportDeclaration__Alternatives_1) + { after(grammarAccess.getXImportDeclarationAccess().getAlternatives_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group_1__1 +rule__XImportDeclaration__Group__2 @init { int stackSize = keepStackSize(); } : - rule__MultiplicativeExpression__Group_1__1__Impl - rule__MultiplicativeExpression__Group_1__2 + rule__XImportDeclaration__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group_1__1__Impl +rule__XImportDeclaration__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); } - (rule__MultiplicativeExpression__NameAssignment_1_1) - { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); } + { before(grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); } + (';')? + { after(grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group_1__2 + +rule__XImportDeclaration__Group_1_0__0 @init { int stackSize = keepStackSize(); } : - rule__MultiplicativeExpression__Group_1__2__Impl + rule__XImportDeclaration__Group_1_0__0__Impl + rule__XImportDeclaration__Group_1_0__1 ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group_1__2__Impl +rule__XImportDeclaration__Group_1_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); } - (rule__MultiplicativeExpression__ParamsAssignment_1_2) - { after(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); } + { before(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0()); } + (rule__XImportDeclaration__StaticAssignment_1_0_0) + { after(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__UnaryExpression__Group__0 +rule__XImportDeclaration__Group_1_0__1 @init { int stackSize = keepStackSize(); } : - rule__UnaryExpression__Group__0__Impl - rule__UnaryExpression__Group__1 + rule__XImportDeclaration__Group_1_0__1__Impl + rule__XImportDeclaration__Group_1_0__2 ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__Group__0__Impl +rule__XImportDeclaration__Group_1_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); } - (rule__UnaryExpression__NameAssignment_0) - { after(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1()); } + (rule__XImportDeclaration__ExtensionAssignment_1_0_1)? + { after(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__Group__1 +rule__XImportDeclaration__Group_1_0__2 @init { int stackSize = keepStackSize(); } : - rule__UnaryExpression__Group__1__Impl + rule__XImportDeclaration__Group_1_0__2__Impl + rule__XImportDeclaration__Group_1_0__3 ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__Group__1__Impl +rule__XImportDeclaration__Group_1_0__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); } - (rule__UnaryExpression__ParamsAssignment_1) - { after(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); } + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2()); } + (rule__XImportDeclaration__ImportedTypeAssignment_1_0_2) + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2()); } ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group__0 +rule__XImportDeclaration__Group_1_0__3 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group__0__Impl - rule__InfixExpression__Group__1 + rule__XImportDeclaration__Group_1_0__3__Impl ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group__0__Impl +rule__XImportDeclaration__Group_1_0__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); } - rulePrimaryExpression - { after(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3()); } + (rule__XImportDeclaration__Alternatives_1_0_3) + { after(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group__1 + +rule__QualifiedNameInStaticImport__Group__0 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group__1__Impl + rule__QualifiedNameInStaticImport__Group__0__Impl + rule__QualifiedNameInStaticImport__Group__1 ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group__1__Impl +rule__QualifiedNameInStaticImport__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); } - (rule__InfixExpression__Alternatives_1)* - { after(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); } + { before(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); } + ruleValidID + { after(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_0__0 +rule__QualifiedNameInStaticImport__Group__1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__0__Impl - rule__InfixExpression__Group_1_0__1 + rule__QualifiedNameInStaticImport__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__0__Impl +rule__QualifiedNameInStaticImport__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); } - () - { after(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); } + { before(grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); } + '.' + { after(grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__1 + +rule__ExportModel__ExtensionAssignment_0_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__1__Impl - rule__InfixExpression__Group_1_0__2 + ( + { before(grammarAccess.getExportModelAccess().getExtensionExtensionKeyword_0_1_0()); } + ( + { before(grammarAccess.getExportModelAccess().getExtensionExtensionKeyword_0_1_0()); } + 'extension' + { after(grammarAccess.getExportModelAccess().getExtensionExtensionKeyword_0_1_0()); } + ) + { after(grammarAccess.getExportModelAccess().getExtensionExtensionKeyword_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__1__Impl +rule__ExportModel__NameAssignment_0_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); } - '.' - { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); } -) + ( + { before(grammarAccess.getExportModelAccess().getNameIDTerminalRuleCall_0_2_0()); } + RULE_ID + { after(grammarAccess.getExportModelAccess().getNameIDTerminalRuleCall_0_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__2 +rule__ExportModel__TargetGrammarAssignment_0_4 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__2__Impl - rule__InfixExpression__Group_1_0__3 + ( + { before(grammarAccess.getExportModelAccess().getTargetGrammarGrammarCrossReference_0_4_0()); } + ( + { before(grammarAccess.getExportModelAccess().getTargetGrammarGrammarQualifiedIDParserRuleCall_0_4_0_1()); } + ruleQualifiedID + { after(grammarAccess.getExportModelAccess().getTargetGrammarGrammarQualifiedIDParserRuleCall_0_4_0_1()); } + ) + { after(grammarAccess.getExportModelAccess().getTargetGrammarGrammarCrossReference_0_4_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__2__Impl +rule__ExportModel__ImportsAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); } - (rule__InfixExpression__NameAssignment_1_0_2) - { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); } -) + ( + { before(grammarAccess.getExportModelAccess().getImportsImportParserRuleCall_1_0()); } + ruleImport + { after(grammarAccess.getExportModelAccess().getImportsImportParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__3 +rule__ExportModel__ExtensionsAssignment_2 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__3__Impl - rule__InfixExpression__Group_1_0__4 + ( + { before(grammarAccess.getExportModelAccess().getExtensionsExtensionParserRuleCall_2_0()); } + ruleExtension + { after(grammarAccess.getExportModelAccess().getExtensionsExtensionParserRuleCall_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__3__Impl +rule__ExportModel__InterfacesAssignment_3_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); } - '(' - { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); } -) + ( + { before(grammarAccess.getExportModelAccess().getInterfacesInterfaceParserRuleCall_3_2_0()); } + ruleInterface + { after(grammarAccess.getExportModelAccess().getInterfacesInterfaceParserRuleCall_3_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__4 +rule__ExportModel__ExportsAssignment_4 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__4__Impl - rule__InfixExpression__Group_1_0__5 + ( + { before(grammarAccess.getExportModelAccess().getExportsExportParserRuleCall_4_0()); } + ruleExport + { after(grammarAccess.getExportModelAccess().getExportsExportParserRuleCall_4_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__4__Impl +rule__Import__PackageAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); } - (rule__InfixExpression__Group_1_0_4__0)? - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); } -) + ( + { before(grammarAccess.getImportAccess().getPackageEPackageCrossReference_1_0()); } + ( + { before(grammarAccess.getImportAccess().getPackageEPackageSTRINGTerminalRuleCall_1_0_1()); } + RULE_STRING + { after(grammarAccess.getImportAccess().getPackageEPackageSTRINGTerminalRuleCall_1_0_1()); } + ) + { after(grammarAccess.getImportAccess().getPackageEPackageCrossReference_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__5 +rule__Import__NameAssignment_2_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__5__Impl + ( + { before(grammarAccess.getImportAccess().getNameIDTerminalRuleCall_2_1_0()); } + RULE_ID + { after(grammarAccess.getImportAccess().getNameIDTerminalRuleCall_2_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__5__Impl +rule__Extension__ExtensionAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); } - ')' - { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); } -) + ( + { before(grammarAccess.getExtensionAccess().getExtensionQualifiedIDParserRuleCall_1_0()); } + ruleQualifiedID + { after(grammarAccess.getExtensionAccess().getExtensionQualifiedIDParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } +rule__Interface__TypeAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInterfaceAccess().getTypeEClassCrossReference_0_0()); } + ( + { before(grammarAccess.getInterfaceAccess().getTypeEClassQualifiedIDParserRuleCall_0_0_1()); } + ruleQualifiedID + { after(grammarAccess.getInterfaceAccess().getTypeEClassQualifiedIDParserRuleCall_0_0_1()); } + ) + { after(grammarAccess.getInterfaceAccess().getTypeEClassCrossReference_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} -rule__InfixExpression__Group_1_0_4__0 +rule__Interface__GuardAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0_4__0__Impl - rule__InfixExpression__Group_1_0_4__1 + ( + { before(grammarAccess.getInterfaceAccess().getGuardExpressionParserRuleCall_1_1_0()); } + ruleExpression + { after(grammarAccess.getInterfaceAccess().getGuardExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4__0__Impl +rule__Interface__ItemsAssignment_2_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); } - (rule__InfixExpression__ParamsAssignment_1_0_4_0) - { after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); } -) + ( + { before(grammarAccess.getInterfaceAccess().getItemsInterfaceItemParserRuleCall_2_1_0()); } + ruleInterfaceItem + { after(grammarAccess.getInterfaceAccess().getItemsInterfaceItemParserRuleCall_2_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4__1 +rule__Interface__ItemsAssignment_2_2_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0_4__1__Impl + ( + { before(grammarAccess.getInterfaceAccess().getItemsInterfaceItemParserRuleCall_2_2_1_0()); } + ruleInterfaceItem + { after(grammarAccess.getInterfaceAccess().getItemsInterfaceItemParserRuleCall_2_2_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4__1__Impl +rule__InterfaceField__UnorderedAssignment_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); } - (rule__InfixExpression__Group_1_0_4_1__0)* - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); } -) + ( + { before(grammarAccess.getInterfaceFieldAccess().getUnorderedPlusSignKeyword_0_0()); } + ( + { before(grammarAccess.getInterfaceFieldAccess().getUnorderedPlusSignKeyword_0_0()); } + '+' + { after(grammarAccess.getInterfaceFieldAccess().getUnorderedPlusSignKeyword_0_0()); } + ) + { after(grammarAccess.getInterfaceFieldAccess().getUnorderedPlusSignKeyword_0_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_0_4_1__0 +rule__InterfaceField__FieldAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0_4_1__0__Impl - rule__InfixExpression__Group_1_0_4_1__1 + ( + { before(grammarAccess.getInterfaceFieldAccess().getFieldEStructuralFeatureCrossReference_1_0()); } + ( + { before(grammarAccess.getInterfaceFieldAccess().getFieldEStructuralFeatureIDTerminalRuleCall_1_0_1()); } + RULE_ID + { after(grammarAccess.getInterfaceFieldAccess().getFieldEStructuralFeatureIDTerminalRuleCall_1_0_1()); } + ) + { after(grammarAccess.getInterfaceFieldAccess().getFieldEStructuralFeatureCrossReference_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4_1__0__Impl +rule__InterfaceNavigation__UnorderedAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); } - ',' - { after(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); } -) + ( + { before(grammarAccess.getInterfaceNavigationAccess().getUnorderedPlusSignKeyword_1_0()); } + ( + { before(grammarAccess.getInterfaceNavigationAccess().getUnorderedPlusSignKeyword_1_0()); } + '+' + { after(grammarAccess.getInterfaceNavigationAccess().getUnorderedPlusSignKeyword_1_0()); } + ) + { after(grammarAccess.getInterfaceNavigationAccess().getUnorderedPlusSignKeyword_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4_1__1 +rule__InterfaceNavigation__RefAssignment_2 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0_4_1__1__Impl + ( + { before(grammarAccess.getInterfaceNavigationAccess().getRefEReferenceCrossReference_2_0()); } + ( + { before(grammarAccess.getInterfaceNavigationAccess().getRefEReferenceIDTerminalRuleCall_2_0_1()); } + RULE_ID + { after(grammarAccess.getInterfaceNavigationAccess().getRefEReferenceIDTerminalRuleCall_2_0_1()); } + ) + { after(grammarAccess.getInterfaceNavigationAccess().getRefEReferenceCrossReference_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4_1__1__Impl +rule__InterfaceExpression__RefAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); } - (rule__InfixExpression__ParamsAssignment_1_0_4_1_1) - { after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); } -) + ( + { before(grammarAccess.getInterfaceExpressionAccess().getRefCommercialAtKeyword_1_0()); } + ( + { before(grammarAccess.getInterfaceExpressionAccess().getRefCommercialAtKeyword_1_0()); } + '@' + { after(grammarAccess.getInterfaceExpressionAccess().getRefCommercialAtKeyword_1_0()); } + ) + { after(grammarAccess.getInterfaceExpressionAccess().getRefCommercialAtKeyword_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_1__0 +rule__InterfaceExpression__UnorderedAssignment_2 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_1__0__Impl - rule__InfixExpression__Group_1_1__1 + ( + { before(grammarAccess.getInterfaceExpressionAccess().getUnorderedPlusSignKeyword_2_0()); } + ( + { before(grammarAccess.getInterfaceExpressionAccess().getUnorderedPlusSignKeyword_2_0()); } + '+' + { after(grammarAccess.getInterfaceExpressionAccess().getUnorderedPlusSignKeyword_2_0()); } + ) + { after(grammarAccess.getInterfaceExpressionAccess().getUnorderedPlusSignKeyword_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_1__0__Impl +rule__InterfaceExpression__ExprAssignment_4 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); } - () - { after(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); } -) + ( + { before(grammarAccess.getInterfaceExpressionAccess().getExprExpressionParserRuleCall_4_0()); } + ruleExpression + { after(grammarAccess.getInterfaceExpressionAccess().getExprExpressionParserRuleCall_4_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_1__1 +rule__Export__LookupAssignment_1_0 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_1__1__Impl - rule__InfixExpression__Group_1_1__2 + ( + { before(grammarAccess.getExportAccess().getLookupLookupKeyword_1_0_0()); } + ( + { before(grammarAccess.getExportAccess().getLookupLookupKeyword_1_0_0()); } + 'lookup' + { after(grammarAccess.getExportAccess().getLookupLookupKeyword_1_0_0()); } + ) + { after(grammarAccess.getExportAccess().getLookupLookupKeyword_1_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_1__1__Impl +rule__Export__LookupPredicateAssignment_1_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); } - '.' - { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); } -) + ( + { before(grammarAccess.getExportAccess().getLookupPredicateExpressionParserRuleCall_1_1_1_0()); } + ruleExpression + { after(grammarAccess.getExportAccess().getLookupPredicateExpressionParserRuleCall_1_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_1__2 +rule__Export__TypeAssignment_2 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_1__2__Impl + ( + { before(grammarAccess.getExportAccess().getTypeEClassCrossReference_2_0()); } + ( + { before(grammarAccess.getExportAccess().getTypeEClassQualifiedIDParserRuleCall_2_0_1()); } + ruleQualifiedID + { after(grammarAccess.getExportAccess().getTypeEClassQualifiedIDParserRuleCall_2_0_1()); } + ) + { after(grammarAccess.getExportAccess().getTypeEClassCrossReference_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_1__2__Impl +rule__Export__QualifiedNameAssignment_3_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); } - (rule__InfixExpression__TypeAssignment_1_1_2) - { after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); } -) + ( + { before(grammarAccess.getExportAccess().getQualifiedNameQualifiedKeyword_3_1_0()); } + ( + { before(grammarAccess.getExportAccess().getQualifiedNameQualifiedKeyword_3_1_0()); } + 'qualified' + { after(grammarAccess.getExportAccess().getQualifiedNameQualifiedKeyword_3_1_0()); } + ) + { after(grammarAccess.getExportAccess().getQualifiedNameQualifiedKeyword_3_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_2__0 +rule__Export__NamingAssignment_3_2 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_2__0__Impl - rule__InfixExpression__Group_1_2__1 + ( + { before(grammarAccess.getExportAccess().getNamingExpressionParserRuleCall_3_2_0()); } + ruleExpression + { after(grammarAccess.getExportAccess().getNamingExpressionParserRuleCall_3_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__0__Impl +rule__Export__GuardAssignment_4_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); } - () - { after(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); } -) + ( + { before(grammarAccess.getExportAccess().getGuardExpressionParserRuleCall_4_1_0()); } + ruleExpression + { after(grammarAccess.getExportAccess().getGuardExpressionParserRuleCall_4_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__1 +rule__Export__FragmentUniqueAssignment_6_2 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_2__1__Impl - rule__InfixExpression__Group_1_2__2 + ( + { before(grammarAccess.getExportAccess().getFragmentUniqueUniqueKeyword_6_2_0()); } + ( + { before(grammarAccess.getExportAccess().getFragmentUniqueUniqueKeyword_6_2_0()); } + 'unique' + { after(grammarAccess.getExportAccess().getFragmentUniqueUniqueKeyword_6_2_0()); } + ) + { after(grammarAccess.getExportAccess().getFragmentUniqueUniqueKeyword_6_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__1__Impl +rule__Export__FragmentAttributeAssignment_6_5 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); } - '.' - { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); } -) + ( + { before(grammarAccess.getExportAccess().getFragmentAttributeEAttributeCrossReference_6_5_0()); } + ( + { before(grammarAccess.getExportAccess().getFragmentAttributeEAttributeIDTerminalRuleCall_6_5_0_1()); } + RULE_ID + { after(grammarAccess.getExportAccess().getFragmentAttributeEAttributeIDTerminalRuleCall_6_5_0_1()); } + ) + { after(grammarAccess.getExportAccess().getFragmentAttributeEAttributeCrossReference_6_5_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__2 +rule__Export__FingerprintAssignment_7_0_0 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_2__2__Impl - rule__InfixExpression__Group_1_2__3 + ( + { before(grammarAccess.getExportAccess().getFingerprintObjectFingerprintKeyword_7_0_0_0()); } + ( + { before(grammarAccess.getExportAccess().getFingerprintObjectFingerprintKeyword_7_0_0_0()); } + 'object-fingerprint' + { after(grammarAccess.getExportAccess().getFingerprintObjectFingerprintKeyword_7_0_0_0()); } + ) + { after(grammarAccess.getExportAccess().getFingerprintObjectFingerprintKeyword_7_0_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__2__Impl +rule__Export__ResourceFingerprintAssignment_7_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); } - (rule__InfixExpression__NameAssignment_1_2_2) - { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); } -) + ( + { before(grammarAccess.getExportAccess().getResourceFingerprintResourceFingerprintKeyword_7_0_1_0()); } + ( + { before(grammarAccess.getExportAccess().getResourceFingerprintResourceFingerprintKeyword_7_0_1_0()); } + 'resource-fingerprint' + { after(grammarAccess.getExportAccess().getResourceFingerprintResourceFingerprintKeyword_7_0_1_0()); } + ) + { after(grammarAccess.getExportAccess().getResourceFingerprintResourceFingerprintKeyword_7_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__3 +rule__Export__AttributesAssignment_8_0_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_2__3__Impl - rule__InfixExpression__Group_1_2__4 + ( + { before(grammarAccess.getExportAccess().getAttributesAttributeParserRuleCall_8_0_1_0()); } + ruleAttribute + { after(grammarAccess.getExportAccess().getAttributesAttributeParserRuleCall_8_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__3__Impl +rule__Export__AttributesAssignment_8_0_2_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); } - '(' - { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); } -) + ( + { before(grammarAccess.getExportAccess().getAttributesAttributeParserRuleCall_8_0_2_1_0()); } + ruleAttribute + { after(grammarAccess.getExportAccess().getAttributesAttributeParserRuleCall_8_0_2_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__4 +rule__Export__UserDataAssignment_8_1_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_2__4__Impl - rule__InfixExpression__Group_1_2__5 + ( + { before(grammarAccess.getExportAccess().getUserDataUserDataParserRuleCall_8_1_1_0()); } + ruleUserData + { after(grammarAccess.getExportAccess().getUserDataUserDataParserRuleCall_8_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__4__Impl +rule__Export__UserDataAssignment_8_1_2_1 @init { int stackSize = keepStackSize(); - } -: -( - { before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); } - (rule__InfixExpression__TypeAssignment_1_2_4) - { after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); } -) + } +: + ( + { before(grammarAccess.getExportAccess().getUserDataUserDataParserRuleCall_8_1_2_1_0()); } + ruleUserData + { after(grammarAccess.getExportAccess().getUserDataUserDataParserRuleCall_8_1_2_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__5 +rule__UserData__NameAssignment_0 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_2__5__Impl + ( + { before(grammarAccess.getUserDataAccess().getNameIDTerminalRuleCall_0_0()); } + RULE_ID + { after(grammarAccess.getUserDataAccess().getNameIDTerminalRuleCall_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__5__Impl +rule__UserData__ExprAssignment_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); } - ')' - { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); } -) + ( + { before(grammarAccess.getUserDataAccess().getExprExpressionParserRuleCall_2_0()); } + ruleExpression + { after(grammarAccess.getUserDataAccess().getExprExpressionParserRuleCall_2_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_3__0 +rule__Attribute__AttributeAssignment @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__0__Impl - rule__InfixExpression__Group_1_3__1 + ( + { before(grammarAccess.getAttributeAccess().getAttributeEAttributeCrossReference_0()); } + ( + { before(grammarAccess.getAttributeAccess().getAttributeEAttributeIDTerminalRuleCall_0_1()); } + RULE_ID + { after(grammarAccess.getAttributeAccess().getAttributeEAttributeIDTerminalRuleCall_0_1()); } + ) + { after(grammarAccess.getAttributeAccess().getAttributeEAttributeCrossReference_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__0__Impl +rule__LetExpression__IdentifierAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); } - () - { after(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); } -) + ( + { before(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); } + ruleIdentifier + { after(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__1 +rule__LetExpression__VarExprAssignment_3 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__1__Impl - rule__InfixExpression__Group_1_3__2 + ( + { before(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); } + ruleExpression + { after(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__1__Impl +rule__LetExpression__TargetAssignment_5 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); } - '.' - { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); } -) + ( + { before(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); } + ruleExpression + { after(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__2 +rule__CastedExpression__TypeAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__2__Impl - rule__InfixExpression__Group_1_3__3 + ( + { before(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); } + ruleType + { after(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__2__Impl +rule__CastedExpression__TargetAssignment_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); } - (rule__InfixExpression__NameAssignment_1_3_2) - { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); } -) + ( + { before(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); } + ruleExpression + { after(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__3 +rule__ChainExpression__NextAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__3__Impl - rule__InfixExpression__Group_1_3__4 + ( + { before(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); } + ruleChainedExpression + { after(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__3__Impl +rule__IfExpressionTri__ThenPartAssignment_1_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); } - '(' - { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); } -) + ( + { before(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); } + ruleChainedExpression + { after(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__4 +rule__IfExpressionTri__ElsePartAssignment_1_4 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__4__Impl - rule__InfixExpression__Group_1_3__5 + ( + { before(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); } + ruleChainedExpression + { after(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__4__Impl +rule__IfExpressionKw__ConditionAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); } - (rule__InfixExpression__Group_1_3_4__0)? - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); } -) + ( + { before(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); } + ruleChainedExpression + { after(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__5 +rule__IfExpressionKw__ThenPartAssignment_3 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__5__Impl - rule__InfixExpression__Group_1_3__6 + ( + { before(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); } + ruleChainedExpression + { after(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__5__Impl +rule__IfExpressionKw__ElsePartAssignment_4_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); } - (rule__InfixExpression__ExpAssignment_1_3_5) - { after(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); } -) + ( + { before(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); } + ruleChainedExpression + { after(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__6 +rule__SwitchExpression__SwitchExprAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__6__Impl + ( + { before(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); } + ruleOrExpression + { after(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__6__Impl +rule__SwitchExpression__CaseAssignment_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); } - ')' - { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); } -) + ( + { before(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); } + ruleCase + { after(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_3_4__0 +rule__SwitchExpression__DefaultExprAssignment_6 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3_4__0__Impl - rule__InfixExpression__Group_1_3_4__1 + ( + { before(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); } + ruleOrExpression + { after(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3_4__0__Impl +rule__Case__ConditionAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); } - (rule__InfixExpression__VarAssignment_1_3_4_0) - { after(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); } -) + ( + { before(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); } + ruleOrExpression + { after(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3_4__1 +rule__Case__ThenParAssignment_3 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3_4__1__Impl + ( + { before(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); } + ruleOrExpression + { after(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3_4__1__Impl +rule__OrExpression__OperatorAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); } - '|' - { after(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); } -) + ( + { before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } + ( + { before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } + '||' + { after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } + ) + { after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__ParanthesizedExpression__Group__0 +rule__OrExpression__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__ParanthesizedExpression__Group__0__Impl - rule__ParanthesizedExpression__Group__1 + ( + { before(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); } + ruleAndExpression + { after(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ParanthesizedExpression__Group__0__Impl +rule__AndExpression__OperatorAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } - '(' - { after(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } -) + ( + { before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } + ( + { before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } + '&&' + { after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } + ) + { after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ParanthesizedExpression__Group__1 +rule__AndExpression__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__ParanthesizedExpression__Group__1__Impl - rule__ParanthesizedExpression__Group__2 + ( + { before(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); } + ruleImpliesExpression + { after(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ParanthesizedExpression__Group__1__Impl +rule__ImpliesExpression__OperatorAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); } - ruleExpression - { after(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); } -) + ( + { before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } + ( + { before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } + 'implies' + { after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } + ) + { after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ParanthesizedExpression__Group__2 +rule__ImpliesExpression__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__ParanthesizedExpression__Group__2__Impl + ( + { before(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); } + ruleRelationalExpression + { after(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ParanthesizedExpression__Group__2__Impl +rule__RelationalExpression__OperatorAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); } - ')' - { after(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); } -) + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); } + (rule__RelationalExpression__OperatorAlternatives_1_1_0) + { after(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__GlobalVarExpression__Group__0 +rule__RelationalExpression__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__GlobalVarExpression__Group__0__Impl - rule__GlobalVarExpression__Group__1 + ( + { before(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); } + ruleAdditiveExpression + { after(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalVarExpression__Group__0__Impl +rule__AdditiveExpression__NameAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); } - 'GLOBALVAR' - { after(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); } -) + ( + { before(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); } + (rule__AdditiveExpression__NameAlternatives_1_1_0) + { after(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalVarExpression__Group__1 +rule__AdditiveExpression__ParamsAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__GlobalVarExpression__Group__1__Impl + ( + { before(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); } + ruleMultiplicativeExpression + { after(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalVarExpression__Group__1__Impl +rule__MultiplicativeExpression__NameAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); } - (rule__GlobalVarExpression__NameAssignment_1) - { after(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); } -) + ( + { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); } + (rule__MultiplicativeExpression__NameAlternatives_1_1_0) + { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__OperationCall__Group__0 +rule__MultiplicativeExpression__ParamsAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group__0__Impl - rule__OperationCall__Group__1 + ( + { before(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); } + ruleUnaryOrInfixExpression + { after(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__0__Impl +rule__UnaryExpression__NameAssignment_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getNameAssignment_0()); } - (rule__OperationCall__NameAssignment_0) - { after(grammarAccess.getOperationCallAccess().getNameAssignment_0()); } -) + ( + { before(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); } + (rule__UnaryExpression__NameAlternatives_0_0) + { after(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__1 +rule__UnaryExpression__ParamsAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group__1__Impl - rule__OperationCall__Group__2 + ( + { before(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); } + ruleInfixExpression + { after(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__1__Impl +rule__InfixExpression__NameAssignment_1_0_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); } - '(' - { after(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); } -) + ( + { before(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); } + ruleIdentifier + { after(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__2 +rule__InfixExpression__ParamsAssignment_1_0_4_0 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group__2__Impl - rule__OperationCall__Group__3 + ( + { before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); } + ruleExpression + { after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__2__Impl +rule__InfixExpression__ParamsAssignment_1_0_4_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getGroup_2()); } - (rule__OperationCall__Group_2__0)? - { after(grammarAccess.getOperationCallAccess().getGroup_2()); } -) + ( + { before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); } + ruleExpression + { after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__3 +rule__InfixExpression__TypeAssignment_1_1_2 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group__3__Impl + ( + { before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); } + ruleType + { after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__3__Impl +rule__InfixExpression__NameAssignment_1_2_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); } - ')' - { after(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); } -) + ( + { before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } + ( + { before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } + 'typeSelect' + { after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } + ) + { after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__OperationCall__Group_2__0 +rule__InfixExpression__TypeAssignment_1_2_4 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group_2__0__Impl - rule__OperationCall__Group_2__1 + ( + { before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); } + ruleType + { after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2__0__Impl +rule__InfixExpression__NameAssignment_1_3_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); } - (rule__OperationCall__ParamsAssignment_2_0) - { after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); } -) + ( + { before(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); } + (rule__InfixExpression__NameAlternatives_1_3_2_0) + { after(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2__1 +rule__InfixExpression__VarAssignment_1_3_4_0 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group_2__1__Impl + ( + { before(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); } + ruleIdentifier + { after(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2__1__Impl +rule__InfixExpression__ExpAssignment_1_3_5 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getGroup_2_1()); } - (rule__OperationCall__Group_2_1__0)* - { after(grammarAccess.getOperationCallAccess().getGroup_2_1()); } -) + ( + { before(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); } + ruleExpression + { after(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__OperationCall__Group_2_1__0 +rule__BooleanLiteral__ValAssignment @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group_2_1__0__Impl - rule__OperationCall__Group_2_1__1 + ( + { before(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); } + (rule__BooleanLiteral__ValAlternatives_0) + { after(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2_1__0__Impl +rule__IntegerLiteral__ValAssignment @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); } - ',' - { after(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); } -) + ( + { before(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); } + RULE_INT + { after(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2_1__1 +rule__NullLiteral__ValAssignment @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group_2_1__1__Impl + ( + { before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } + ( + { before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } + 'null' + { after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } + ) + { after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2_1__1__Impl +rule__RealLiteral__ValAssignment @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); } - (rule__OperationCall__ParamsAssignment_2_1_1) - { after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); } -) + ( + { before(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); } + RULE_REAL + { after(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__ListLiteral__Group__0 +rule__StringLiteral__ValAssignment @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group__0__Impl - rule__ListLiteral__Group__1 + ( + { before(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); } + RULE_STRING + { after(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__0__Impl +rule__GlobalVarExpression__NameAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); } - () - { after(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); } -) + ( + { before(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); } + ruleIdentifier + { after(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__1 +rule__FeatureCall__TypeAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group__1__Impl - rule__ListLiteral__Group__2 + ( + { before(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); } + ruleType + { after(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__1__Impl +rule__OperationCall__NameAssignment_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); } - '{' - { after(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); } -) + ( + { before(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); } + ruleIdentifier + { after(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__2 +rule__OperationCall__ParamsAssignment_2_0 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group__2__Impl - rule__ListLiteral__Group__3 + ( + { before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); } + ruleExpression + { after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__2__Impl +rule__OperationCall__ParamsAssignment_2_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getGroup_2()); } - (rule__ListLiteral__Group_2__0)? - { after(grammarAccess.getListLiteralAccess().getGroup_2()); } -) + ( + { before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); } + ruleExpression + { after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__3 +rule__ListLiteral__ElementsAssignment_2_0 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group__3__Impl + ( + { before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); } + ruleExpression + { after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__3__Impl +rule__ListLiteral__ElementsAssignment_2_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); } - '}' - { after(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); } -) + ( + { before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); } + ruleExpression + { after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__ListLiteral__Group_2__0 +rule__ConstructorCallExpression__TypeAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group_2__0__Impl - rule__ListLiteral__Group_2__1 + ( + { before(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); } + ruleSimpleType + { after(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2__0__Impl +rule__TypeSelectExpression__NameAssignment_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); } - (rule__ListLiteral__ElementsAssignment_2_0) - { after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); } -) + ( + { before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } + ( + { before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } + 'typeSelect' + { after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } + ) + { after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2__1 +rule__TypeSelectExpression__TypeAssignment_2 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group_2__1__Impl + ( + { before(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); } + ruleType + { after(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2__1__Impl +rule__CollectionExpression__NameAssignment_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getGroup_2_1()); } - (rule__ListLiteral__Group_2_1__0)* - { after(grammarAccess.getListLiteralAccess().getGroup_2_1()); } -) + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); } + (rule__CollectionExpression__NameAlternatives_0_0) + { after(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__ListLiteral__Group_2_1__0 +rule__CollectionExpression__VarAssignment_2_0 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group_2_1__0__Impl - rule__ListLiteral__Group_2_1__1 + ( + { before(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); } + ruleIdentifier + { after(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2_1__0__Impl +rule__CollectionExpression__ExpAssignment_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); } - ',' - { after(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); } -) + ( + { before(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); } + ruleExpression + { after(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2_1__1 +rule__CollectionType__ClAssignment_0 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group_2_1__1__Impl + ( + { before(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); } + (rule__CollectionType__ClAlternatives_0_0) + { after(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2_1__1__Impl +rule__CollectionType__Id1Assignment_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); } - (rule__ListLiteral__ElementsAssignment_2_1_1) - { after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); } -) + ( + { before(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); } + ruleSimpleType + { after(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__ConstructorCallExpression__Group__0 +rule__SimpleType__IdAssignment_0 @init { int stackSize = keepStackSize(); } : - rule__ConstructorCallExpression__Group__0__Impl - rule__ConstructorCallExpression__Group__1 + ( + { before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); } + ruleIdentifier + { after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ConstructorCallExpression__Group__0__Impl +rule__SimpleType__IdAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); } - 'new' - { after(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); } -) + ( + { before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); } + ruleIdentifier + { after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ConstructorCallExpression__Group__1 +rule__XAssignment__FeatureAssignment_0_1 @init { int stackSize = keepStackSize(); } : - rule__ConstructorCallExpression__Group__1__Impl + ( + { before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); } + ( + { before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_0_1_0_1()); } + ruleFeatureCallID + { after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_0_1_0_1()); } + ) + { after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ConstructorCallExpression__Group__1__Impl +rule__XAssignment__ValueAssignment_0_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); } - (rule__ConstructorCallExpression__TypeAssignment_1) - { after(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); } -) + ( + { before(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); } + ruleXAssignment + { after(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__TypeSelectExpression__Group__0 +rule__XAssignment__FeatureAssignment_1_1_0_0_1 @init { int stackSize = keepStackSize(); } : - rule__TypeSelectExpression__Group__0__Impl - rule__TypeSelectExpression__Group__1 + ( + { before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); } + ( + { before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementOpMultiAssignParserRuleCall_1_1_0_0_1_0_1()); } + ruleOpMultiAssign + { after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementOpMultiAssignParserRuleCall_1_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__0__Impl +rule__XAssignment__RightOperandAssignment_1_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); } - (rule__TypeSelectExpression__NameAssignment_0) - { after(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); } -) + ( + { before(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); } + ruleXAssignment + { after(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__1 +rule__XOrExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : - rule__TypeSelectExpression__Group__1__Impl - rule__TypeSelectExpression__Group__2 + ( + { before(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementOpOrParserRuleCall_1_0_0_1_0_1()); } + ruleOpOr + { after(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementOpOrParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__1__Impl +rule__XOrExpression__RightOperandAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); } - '(' - { after(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); } -) + ( + { before(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); } + ruleXAndExpression + { after(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__2 +rule__XAndExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : - rule__TypeSelectExpression__Group__2__Impl - rule__TypeSelectExpression__Group__3 + ( + { before(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementOpAndParserRuleCall_1_0_0_1_0_1()); } + ruleOpAnd + { after(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementOpAndParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__2__Impl +rule__XAndExpression__RightOperandAssignment_1_1 @init { - int stackSize = keepStackSize(); - } -: -( - { before(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); } - (rule__TypeSelectExpression__TypeAssignment_2) - { after(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); } -) + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); } + ruleXEqualityExpression + { after(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__3 +rule__XEqualityExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : - rule__TypeSelectExpression__Group__3__Impl + ( + { before(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementOpEqualityParserRuleCall_1_0_0_1_0_1()); } + ruleOpEquality + { after(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementOpEqualityParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__3__Impl +rule__XEqualityExpression__RightOperandAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); } - ')' - { after(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); } -) + ( + { before(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); } + ruleXRelationalExpression + { after(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__CollectionExpression__Group__0 +rule__XRelationalExpression__TypeAssignment_1_0_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group__0__Impl - rule__CollectionExpression__Group__1 + ( + { before(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__0__Impl +rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); } - (rule__CollectionExpression__NameAssignment_0) - { after(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); } -) + ( + { before(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); } + ( + { before(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementOpCompareParserRuleCall_1_1_0_0_1_0_1()); } + ruleOpCompare + { after(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementOpCompareParserRuleCall_1_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__1 +rule__XRelationalExpression__RightOperandAssignment_1_1_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group__1__Impl - rule__CollectionExpression__Group__2 + ( + { before(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); } + ruleXOtherOperatorExpression + { after(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__1__Impl +rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); } - '(' - { after(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); } -) + ( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementOpOtherParserRuleCall_1_0_0_1_0_1()); } + ruleOpOther + { after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementOpOtherParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__2 +rule__XOtherOperatorExpression__RightOperandAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group__2__Impl - rule__CollectionExpression__Group__3 + ( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); } + ruleXAdditiveExpression + { after(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__2__Impl +rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getGroup_2()); } - (rule__CollectionExpression__Group_2__0)? - { after(grammarAccess.getCollectionExpressionAccess().getGroup_2()); } -) + ( + { before(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementOpAddParserRuleCall_1_0_0_1_0_1()); } + ruleOpAdd + { after(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementOpAddParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__3 +rule__XAdditiveExpression__RightOperandAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group__3__Impl - rule__CollectionExpression__Group__4 + ( + { before(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); } + ruleXMultiplicativeExpression + { after(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__3__Impl +rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); } - (rule__CollectionExpression__ExpAssignment_3) - { after(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); } -) + ( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementOpMultiParserRuleCall_1_0_0_1_0_1()); } + ruleOpMulti + { after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementOpMultiParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__4 +rule__XMultiplicativeExpression__RightOperandAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group__4__Impl + ( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); } + ruleXUnaryOperation + { after(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__4__Impl +rule__XUnaryOperation__FeatureAssignment_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); } - ')' - { after(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); } -) + ( + { before(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); } + ( + { before(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementOpUnaryParserRuleCall_0_1_0_1()); } + ruleOpUnary + { after(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementOpUnaryParserRuleCall_0_1_0_1()); } + ) + { after(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__CollectionExpression__Group_2__0 +rule__XUnaryOperation__OperandAssignment_0_2 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group_2__0__Impl - rule__CollectionExpression__Group_2__1 + ( + { before(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); } + ruleXUnaryOperation + { after(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group_2__0__Impl +rule__XCastedExpression__TypeAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); } - (rule__CollectionExpression__VarAssignment_2_0) - { after(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); } -) + ( + { before(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group_2__1 +rule__XPostfixOperation__FeatureAssignment_1_0_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group_2__1__Impl + ( + { before(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); } + ( + { before(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementOpPostfixParserRuleCall_1_0_1_0_1()); } + ruleOpPostfix + { after(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementOpPostfixParserRuleCall_1_0_1_0_1()); } + ) + { after(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group_2__1__Impl +rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); } - '|' - { after(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); } -) + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); } + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); } + '::' + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); } + ) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__CollectionType__Group__0 +rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 @init { int stackSize = keepStackSize(); } : - rule__CollectionType__Group__0__Impl - rule__CollectionType__Group__1 + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); } + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_1_0_0_0_2_0_1()); } + ruleFeatureCallID + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_1_0_0_0_2_0_1()); } + ) + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__0__Impl +rule__XMemberFeatureCall__ValueAssignment_1_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); } - (rule__CollectionType__ClAssignment_0) - { after(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); } -) + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); } + ruleXAssignment + { after(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__1 +rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionType__Group__1__Impl - rule__CollectionType__Group__2 + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); } + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); } + '?.' + { after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); } + ) + { after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__1__Impl +rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); } - '[' - { after(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); } -) + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); } + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); } + '::' + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); } + ) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__2 +rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionType__Group__2__Impl - rule__CollectionType__Group__3 + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__2__Impl +rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); } - (rule__CollectionType__Id1Assignment_2) - { after(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); } -) + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__3 +rule__XMemberFeatureCall__FeatureAssignment_1_1_2 @init { int stackSize = keepStackSize(); } : - rule__CollectionType__Group__3__Impl + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); } + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_1_1_2_0_1()); } + ruleIdOrSuper + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_1_1_2_0_1()); } + ) + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__3__Impl +rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); } - ']' - { after(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); } -) + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); } + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); } + '(' + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); } + ) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__SimpleType__Group__0 +rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 @init { int stackSize = keepStackSize(); } : - rule__SimpleType__Group__0__Impl - rule__SimpleType__Group__1 + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); } + ruleXShortClosure + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group__0__Impl +rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); } - (rule__SimpleType__IdAssignment_0) - { after(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); } -) + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); } + ruleXExpression + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group__1 +rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 @init { int stackSize = keepStackSize(); } : - rule__SimpleType__Group__1__Impl + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group__1__Impl +rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getSimpleTypeAccess().getGroup_1()); } - (rule__SimpleType__Group_1__0)* - { after(grammarAccess.getSimpleTypeAccess().getGroup_1()); } -) + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); } + ruleXClosure + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__SimpleType__Group_1__0 +rule__XSetLiteral__ElementsAssignment_3_0 @init { int stackSize = keepStackSize(); } : - rule__SimpleType__Group_1__0__Impl - rule__SimpleType__Group_1__1 + ( + { before(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } + ruleXExpression + { after(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group_1__0__Impl +rule__XSetLiteral__ElementsAssignment_3_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); } - '::' - { after(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); } -) + ( + { before(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group_1__1 +rule__XListLiteral__ElementsAssignment_3_0 @init { int stackSize = keepStackSize(); } : - rule__SimpleType__Group_1__1__Impl + ( + { before(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } + ruleXExpression + { after(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group_1__1__Impl +rule__XListLiteral__ElementsAssignment_3_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); } - (rule__SimpleType__IdAssignment_1_1) - { after(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); } -) + ( + { before(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__ExportModel__ExtensionAssignment_0_1 +rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getExtensionExtensionKeyword_0_1_0()); } - ( - { before(grammarAccess.getExportModelAccess().getExtensionExtensionKeyword_0_1_0()); } - 'extension' - { after(grammarAccess.getExportModelAccess().getExtensionExtensionKeyword_0_1_0()); } - ) - { after(grammarAccess.getExportModelAccess().getExtensionExtensionKeyword_0_1_0()); } + { before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__NameAssignment_0_2 +rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getNameIDTerminalRuleCall_0_2_0()); } - RULE_ID - { after(grammarAccess.getExportModelAccess().getNameIDTerminalRuleCall_0_2_0()); } + { before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__TargetGrammarAssignment_0_4 +rule__XClosure__ExplicitSyntaxAssignment_1_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getTargetGrammarGrammarCrossReference_0_4_0()); } + { before(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); } ( - { before(grammarAccess.getExportModelAccess().getTargetGrammarGrammarQualifiedIDParserRuleCall_0_4_0_1()); } - ruleQualifiedID - { after(grammarAccess.getExportModelAccess().getTargetGrammarGrammarQualifiedIDParserRuleCall_0_4_0_1()); } + { before(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); } + '|' + { after(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); } ) - { after(grammarAccess.getExportModelAccess().getTargetGrammarGrammarCrossReference_0_4_0()); } + { after(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__ImportsAssignment_1 +rule__XClosure__ExpressionAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getImportsImportParserRuleCall_1_0()); } - ruleImport - { after(grammarAccess.getExportModelAccess().getImportsImportParserRuleCall_1_0()); } + { before(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); } + ruleXExpressionInClosure + { after(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__ExtensionsAssignment_2 +rule__XExpressionInClosure__ExpressionsAssignment_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getExtensionsExtensionParserRuleCall_2_0()); } - ruleExtension - { after(grammarAccess.getExportModelAccess().getExtensionsExtensionParserRuleCall_2_0()); } + { before(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); } + ruleXExpressionOrVarDeclaration + { after(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__InterfacesAssignment_3_2 +rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getInterfacesInterfaceParserRuleCall_3_2_0()); } - ruleInterface - { after(grammarAccess.getExportModelAccess().getInterfacesInterfaceParserRuleCall_3_2_0()); } + { before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExportModel__ExportsAssignment_4 +rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportModelAccess().getExportsExportParserRuleCall_4_0()); } - ruleExport - { after(grammarAccess.getExportModelAccess().getExportsExportParserRuleCall_4_0()); } + { before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Import__PackageAssignment_1 +rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImportAccess().getPackageEPackageCrossReference_1_0()); } + { before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); } ( - { before(grammarAccess.getImportAccess().getPackageEPackageSTRINGTerminalRuleCall_1_0_1()); } - RULE_STRING - { after(grammarAccess.getImportAccess().getPackageEPackageSTRINGTerminalRuleCall_1_0_1()); } + { before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); } + '|' + { after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); } ) - { after(grammarAccess.getImportAccess().getPackageEPackageCrossReference_1_0()); } + { after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Import__NameAssignment_2_1 +rule__XShortClosure__ExpressionAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImportAccess().getNameIDTerminalRuleCall_2_1_0()); } - RULE_ID - { after(grammarAccess.getImportAccess().getNameIDTerminalRuleCall_2_1_0()); } + { before(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); } + ruleXExpression + { after(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Extension__ExtensionAssignment_1 +rule__XIfExpression__IfAssignment_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExtensionAccess().getExtensionQualifiedIDParserRuleCall_1_0()); } - ruleQualifiedID - { after(grammarAccess.getExtensionAccess().getExtensionQualifiedIDParserRuleCall_1_0()); } + { before(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); } + ruleXExpression + { after(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Interface__TypeAssignment_0 +rule__XIfExpression__ThenAssignment_5 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceAccess().getTypeEClassCrossReference_0_0()); } - ( - { before(grammarAccess.getInterfaceAccess().getTypeEClassQualifiedIDParserRuleCall_0_0_1()); } - ruleQualifiedID - { after(grammarAccess.getInterfaceAccess().getTypeEClassQualifiedIDParserRuleCall_0_0_1()); } - ) - { after(grammarAccess.getInterfaceAccess().getTypeEClassCrossReference_0_0()); } + { before(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); } + ruleXExpression + { after(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Interface__GuardAssignment_1_1 +rule__XIfExpression__ElseAssignment_6_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceAccess().getGuardExpressionParserRuleCall_1_1_0()); } - ruleExpression - { after(grammarAccess.getInterfaceAccess().getGuardExpressionParserRuleCall_1_1_0()); } + { before(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); } + ruleXExpression + { after(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Interface__ItemsAssignment_2_1 +rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceAccess().getItemsInterfaceItemParserRuleCall_2_1_0()); } - ruleInterfaceItem - { after(grammarAccess.getInterfaceAccess().getItemsInterfaceItemParserRuleCall_2_1_0()); } + { before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Interface__ItemsAssignment_2_2_1 +rule__XSwitchExpression__SwitchAssignment_2_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceAccess().getItemsInterfaceItemParserRuleCall_2_2_1_0()); } - ruleInterfaceItem - { after(grammarAccess.getInterfaceAccess().getItemsInterfaceItemParserRuleCall_2_2_1_0()); } + { before(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); } + ruleXExpression + { after(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InterfaceField__UnorderedAssignment_0 +rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceFieldAccess().getUnorderedPlusSignKeyword_0_0()); } - ( - { before(grammarAccess.getInterfaceFieldAccess().getUnorderedPlusSignKeyword_0_0()); } - '+' - { after(grammarAccess.getInterfaceFieldAccess().getUnorderedPlusSignKeyword_0_0()); } - ) - { after(grammarAccess.getInterfaceFieldAccess().getUnorderedPlusSignKeyword_0_0()); } + { before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InterfaceField__FieldAssignment_1 +rule__XSwitchExpression__SwitchAssignment_2_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceFieldAccess().getFieldEStructuralFeatureCrossReference_1_0()); } - ( - { before(grammarAccess.getInterfaceFieldAccess().getFieldEStructuralFeatureIDTerminalRuleCall_1_0_1()); } - RULE_ID - { after(grammarAccess.getInterfaceFieldAccess().getFieldEStructuralFeatureIDTerminalRuleCall_1_0_1()); } - ) - { after(grammarAccess.getInterfaceFieldAccess().getFieldEStructuralFeatureCrossReference_1_0()); } + { before(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InterfaceNavigation__UnorderedAssignment_1 +rule__XSwitchExpression__CasesAssignment_4 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceNavigationAccess().getUnorderedPlusSignKeyword_1_0()); } - ( - { before(grammarAccess.getInterfaceNavigationAccess().getUnorderedPlusSignKeyword_1_0()); } - '+' - { after(grammarAccess.getInterfaceNavigationAccess().getUnorderedPlusSignKeyword_1_0()); } - ) - { after(grammarAccess.getInterfaceNavigationAccess().getUnorderedPlusSignKeyword_1_0()); } + { before(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); } + ruleXCasePart + { after(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InterfaceNavigation__RefAssignment_2 +rule__XSwitchExpression__DefaultAssignment_5_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceNavigationAccess().getRefEReferenceCrossReference_2_0()); } - ( - { before(grammarAccess.getInterfaceNavigationAccess().getRefEReferenceIDTerminalRuleCall_2_0_1()); } - RULE_ID - { after(grammarAccess.getInterfaceNavigationAccess().getRefEReferenceIDTerminalRuleCall_2_0_1()); } - ) - { after(grammarAccess.getInterfaceNavigationAccess().getRefEReferenceCrossReference_2_0()); } + { before(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); } + ruleXExpression + { after(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InterfaceExpression__RefAssignment_1 +rule__XCasePart__TypeGuardAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceExpressionAccess().getRefCommercialAtKeyword_1_0()); } - ( - { before(grammarAccess.getInterfaceExpressionAccess().getRefCommercialAtKeyword_1_0()); } - '@' - { after(grammarAccess.getInterfaceExpressionAccess().getRefCommercialAtKeyword_1_0()); } - ) - { after(grammarAccess.getInterfaceExpressionAccess().getRefCommercialAtKeyword_1_0()); } + { before(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InterfaceExpression__UnorderedAssignment_2 +rule__XCasePart__CaseAssignment_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceExpressionAccess().getUnorderedPlusSignKeyword_2_0()); } - ( - { before(grammarAccess.getInterfaceExpressionAccess().getUnorderedPlusSignKeyword_2_0()); } - '+' - { after(grammarAccess.getInterfaceExpressionAccess().getUnorderedPlusSignKeyword_2_0()); } - ) - { after(grammarAccess.getInterfaceExpressionAccess().getUnorderedPlusSignKeyword_2_0()); } + { before(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); } + ruleXExpression + { after(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InterfaceExpression__ExprAssignment_4 +rule__XCasePart__ThenAssignment_3_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterfaceExpressionAccess().getExprExpressionParserRuleCall_4_0()); } - ruleExpression - { after(grammarAccess.getInterfaceExpressionAccess().getExprExpressionParserRuleCall_4_0()); } + { before(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); } + ruleXExpression + { after(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__LookupAssignment_1_0 +rule__XCasePart__FallThroughAssignment_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getLookupLookupKeyword_1_0_0()); } + { before(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); } ( - { before(grammarAccess.getExportAccess().getLookupLookupKeyword_1_0_0()); } - 'lookup' - { after(grammarAccess.getExportAccess().getLookupLookupKeyword_1_0_0()); } + { before(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); } + ',' + { after(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); } ) - { after(grammarAccess.getExportAccess().getLookupLookupKeyword_1_0_0()); } + { after(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__LookupPredicateAssignment_1_1_1 +rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getLookupPredicateExpressionParserRuleCall_1_1_1_0()); } - ruleExpression - { after(grammarAccess.getExportAccess().getLookupPredicateExpressionParserRuleCall_1_1_1_0()); } + { before(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__TypeAssignment_2 +rule__XForLoopExpression__ForExpressionAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getTypeEClassCrossReference_2_0()); } - ( - { before(grammarAccess.getExportAccess().getTypeEClassQualifiedIDParserRuleCall_2_0_1()); } - ruleQualifiedID - { after(grammarAccess.getExportAccess().getTypeEClassQualifiedIDParserRuleCall_2_0_1()); } - ) - { after(grammarAccess.getExportAccess().getTypeEClassCrossReference_2_0()); } + { before(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); } + ruleXExpression + { after(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__QualifiedNameAssignment_3_1 +rule__XForLoopExpression__EachExpressionAssignment_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getQualifiedNameQualifiedKeyword_3_1_0()); } - ( - { before(grammarAccess.getExportAccess().getQualifiedNameQualifiedKeyword_3_1_0()); } - 'qualified' - { after(grammarAccess.getExportAccess().getQualifiedNameQualifiedKeyword_3_1_0()); } - ) - { after(grammarAccess.getExportAccess().getQualifiedNameQualifiedKeyword_3_1_0()); } + { before(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); } + ruleXExpression + { after(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__NamingAssignment_3_2 +rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getNamingExpressionParserRuleCall_3_2_0()); } - ruleExpression - { after(grammarAccess.getExportAccess().getNamingExpressionParserRuleCall_3_2_0()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); } + ruleXExpressionOrVarDeclaration + { after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__GuardAssignment_4_1 +rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getGuardExpressionParserRuleCall_4_1_0()); } - ruleExpression - { after(grammarAccess.getExportAccess().getGuardExpressionParserRuleCall_4_1_0()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); } + ruleXExpressionOrVarDeclaration + { after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__FragmentUniqueAssignment_6_2 +rule__XBasicForLoopExpression__ExpressionAssignment_5 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getFragmentUniqueUniqueKeyword_6_2_0()); } - ( - { before(grammarAccess.getExportAccess().getFragmentUniqueUniqueKeyword_6_2_0()); } - 'unique' - { after(grammarAccess.getExportAccess().getFragmentUniqueUniqueKeyword_6_2_0()); } - ) - { after(grammarAccess.getExportAccess().getFragmentUniqueUniqueKeyword_6_2_0()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); } + ruleXExpression + { after(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__FragmentAttributeAssignment_6_5 +rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getFragmentAttributeEAttributeCrossReference_6_5_0()); } - ( - { before(grammarAccess.getExportAccess().getFragmentAttributeEAttributeIDTerminalRuleCall_6_5_0_1()); } - RULE_ID - { after(grammarAccess.getExportAccess().getFragmentAttributeEAttributeIDTerminalRuleCall_6_5_0_1()); } - ) - { after(grammarAccess.getExportAccess().getFragmentAttributeEAttributeCrossReference_6_5_0()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); } + ruleXExpression + { after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__FingerprintAssignment_7_0_0 +rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getFingerprintObjectFingerprintKeyword_7_0_0_0()); } - ( - { before(grammarAccess.getExportAccess().getFingerprintObjectFingerprintKeyword_7_0_0_0()); } - 'object-fingerprint' - { after(grammarAccess.getExportAccess().getFingerprintObjectFingerprintKeyword_7_0_0_0()); } - ) - { after(grammarAccess.getExportAccess().getFingerprintObjectFingerprintKeyword_7_0_0_0()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__ResourceFingerprintAssignment_7_0_1 +rule__XBasicForLoopExpression__EachExpressionAssignment_9 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getResourceFingerprintResourceFingerprintKeyword_7_0_1_0()); } - ( - { before(grammarAccess.getExportAccess().getResourceFingerprintResourceFingerprintKeyword_7_0_1_0()); } - 'resource-fingerprint' - { after(grammarAccess.getExportAccess().getResourceFingerprintResourceFingerprintKeyword_7_0_1_0()); } - ) - { after(grammarAccess.getExportAccess().getResourceFingerprintResourceFingerprintKeyword_7_0_1_0()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); } + ruleXExpression + { after(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__AttributesAssignment_8_0_1 +rule__XWhileExpression__PredicateAssignment_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getAttributesAttributeParserRuleCall_8_0_1_0()); } - ruleAttribute - { after(grammarAccess.getExportAccess().getAttributesAttributeParserRuleCall_8_0_1_0()); } + { before(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); } + ruleXExpression + { after(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__AttributesAssignment_8_0_2_1 +rule__XWhileExpression__BodyAssignment_5 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getAttributesAttributeParserRuleCall_8_0_2_1_0()); } - ruleAttribute - { after(grammarAccess.getExportAccess().getAttributesAttributeParserRuleCall_8_0_2_1_0()); } + { before(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); } + ruleXExpression + { after(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__UserDataAssignment_8_1_1 +rule__XDoWhileExpression__BodyAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getUserDataUserDataParserRuleCall_8_1_1_0()); } - ruleUserData - { after(grammarAccess.getExportAccess().getUserDataUserDataParserRuleCall_8_1_1_0()); } + { before(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); } + ruleXExpression + { after(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Export__UserDataAssignment_8_1_2_1 +rule__XDoWhileExpression__PredicateAssignment_5 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExportAccess().getUserDataUserDataParserRuleCall_8_1_2_1_0()); } - ruleUserData - { after(grammarAccess.getExportAccess().getUserDataUserDataParserRuleCall_8_1_2_1_0()); } + { before(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); } + ruleXExpression + { after(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__UserData__NameAssignment_0 +rule__XBlockExpression__ExpressionsAssignment_2_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUserDataAccess().getNameIDTerminalRuleCall_0_0()); } - RULE_ID - { after(grammarAccess.getUserDataAccess().getNameIDTerminalRuleCall_0_0()); } + { before(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); } + ruleXExpressionOrVarDeclaration + { after(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__UserData__ExprAssignment_2 +rule__XVariableDeclaration__WriteableAssignment_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUserDataAccess().getExprExpressionParserRuleCall_2_0()); } - ruleExpression - { after(grammarAccess.getUserDataAccess().getExprExpressionParserRuleCall_2_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); } + ( + { before(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); } + 'var' + { after(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); } + ) + { after(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Attribute__AttributeAssignment +rule__XVariableDeclaration__TypeAssignment_2_0_0_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAttributeAccess().getAttributeEAttributeCrossReference_0()); } - ( - { before(grammarAccess.getAttributeAccess().getAttributeEAttributeIDTerminalRuleCall_0_1()); } - RULE_ID - { after(grammarAccess.getAttributeAccess().getAttributeEAttributeIDTerminalRuleCall_0_1()); } - ) - { after(grammarAccess.getAttributeAccess().getAttributeEAttributeCrossReference_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__IdentifierAssignment_1 +rule__XVariableDeclaration__NameAssignment_2_0_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); } - ruleIdentifier - { after(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); } + ruleValidID + { after(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__VarExprAssignment_3 +rule__XVariableDeclaration__NameAssignment_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); } - ruleExpression - { after(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); } + ruleValidID + { after(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__TargetAssignment_5 +rule__XVariableDeclaration__RightAssignment_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); } - ruleExpression - { after(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); } + ruleXExpression + { after(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__TypeAssignment_1 +rule__JvmFormalParameter__ParameterTypeAssignment_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); } - ruleType - { after(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); } + { before(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__TargetAssignment_3 +rule__JvmFormalParameter__NameAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); } - ruleExpression - { after(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); } + { before(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } + ruleValidID + { after(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__NextAssignment_1_2 +rule__FullJvmFormalParameter__ParameterTypeAssignment_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); } - ruleChainedExpression - { after(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } + ruleJvmTypeReference + { after(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__ThenPartAssignment_1_2 +rule__FullJvmFormalParameter__NameAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); } - ruleChainedExpression - { after(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } + ruleValidID + { after(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__ElsePartAssignment_1_4 +rule__XFeatureCall__TypeArgumentsAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); } - ruleChainedExpression - { after(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); } + { before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__ConditionAssignment_1 +rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); } - ruleChainedExpression - { after(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); } + { before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__ThenPartAssignment_3 +rule__XFeatureCall__FeatureAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); } - ruleChainedExpression - { after(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); } + ( + { before(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_2_0_1()); } + ruleIdOrSuper + { after(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_2_0_1()); } + ) + { after(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); } + ( + { before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); } + '(' + { after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); } + ) + { after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__ElsePartAssignment_4_0_1 +rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); } - ruleChainedExpression - { after(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); } + ruleXShortClosure + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__SwitchExprAssignment_1_1 +rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); } - ruleOrExpression - { after(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); } + ruleXExpression + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__CaseAssignment_3 +rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); } - ruleCase - { after(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__DefaultExprAssignment_6 +rule__XFeatureCall__FeatureCallArgumentsAssignment_4 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); } - ruleOrExpression - { after(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); } + ruleXClosure + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Case__ConditionAssignment_1 +rule__XConstructorCall__ConstructorAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); } - ruleOrExpression - { after(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); } + { before(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); } + ( + { before(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorQualifiedNameParserRuleCall_2_0_1()); } + ruleQualifiedName + { after(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorQualifiedNameParserRuleCall_2_0_1()); } + ) + { after(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Case__ThenParAssignment_3 +rule__XConstructorCall__TypeArgumentsAssignment_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); } - ruleOrExpression - { after(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); } + { before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OrExpression__OperatorAssignment_1_1 +rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } - ( - { before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } - '||' - { after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } - ) - { after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } + { before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OrExpression__RightAssignment_1_2 +rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); } - ruleAndExpression - { after(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); } + ( + { before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); } + '(' + { after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); } + ) + { after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AndExpression__OperatorAssignment_1_1 +rule__XConstructorCall__ArgumentsAssignment_4_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } - ( - { before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } - '&&' - { after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } - ) - { after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); } + ruleXShortClosure + { after(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AndExpression__RightAssignment_1_2 +rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); } - ruleImpliesExpression - { after(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); } + ruleXExpression + { after(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__OperatorAssignment_1_1 +rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } - ( - { before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } - 'implies' - { after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } - ) - { after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__RightAssignment_1_2 +rule__XConstructorCall__ArgumentsAssignment_5 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); } - ruleRelationalExpression - { after(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); } + ruleXClosure + { after(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__OperatorAssignment_1_1 +rule__XBooleanLiteral__IsTrueAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); } - (rule__RelationalExpression__OperatorAlternatives_1_1_0) - { after(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); } + { before(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); } + ( + { before(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); } + 'true' + { after(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); } + ) + { after(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__RightAssignment_1_2 +rule__XNumberLiteral__ValueAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); } - ruleAdditiveExpression - { after(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); } + ruleNumber + { after(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__NameAssignment_1_1 +rule__XStringLiteral__ValueAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); } - (rule__AdditiveExpression__NameAlternatives_1_1_0) - { after(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); } + { before(grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); } + RULE_STRING + { after(grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__ParamsAssignment_1_2 +rule__XTypeLiteral__TypeAssignment_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); } - ruleMultiplicativeExpression - { after(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); } + ( + { before(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeQualifiedNameParserRuleCall_3_0_1()); } + ruleQualifiedName + { after(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeQualifiedNameParserRuleCall_3_0_1()); } + ) + { after(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__NameAssignment_1_1 +rule__XTypeLiteral__ArrayDimensionsAssignment_4 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); } - (rule__MultiplicativeExpression__NameAlternatives_1_1_0) - { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); } + { before(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); } + ruleArrayBrackets + { after(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__ParamsAssignment_1_2 +rule__XThrowExpression__ExpressionAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); } - ruleUnaryOrInfixExpression - { after(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } + ruleXExpression + { after(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__NameAssignment_0 +rule__XReturnExpression__ExpressionAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); } - (rule__UnaryExpression__NameAlternatives_0_0) - { after(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); } + { before(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } + ruleXExpression + { after(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__ParamsAssignment_1 +rule__XTryCatchFinallyExpression__ExpressionAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); } - ruleInfixExpression - { after(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } + ruleXExpression + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__NameAssignment_1_0_2 +rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); } - ruleIdentifier - { after(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); } + ruleXCatchClause + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__ParamsAssignment_1_0_4_0 +rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); } - ruleExpression - { after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__ParamsAssignment_1_0_4_1_1 +rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); } - ruleExpression - { after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__TypeAssignment_1_1_2 +rule__XSynchronizedExpression__ParamAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); } - ruleType - { after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); } + ruleXExpression + { after(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__NameAssignment_1_2_2 +rule__XSynchronizedExpression__ExpressionAssignment_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } - ( - { before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } - 'typeSelect' - { after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } - ) - { after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); } + ruleXExpression + { after(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__TypeAssignment_1_2_4 +rule__XCatchClause__DeclaredParamAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); } - ruleType - { after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); } + { before(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); } + ruleFullJvmFormalParameter + { after(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__NameAssignment_1_3_2 +rule__XCatchClause__ExpressionAssignment_4 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); } - (rule__InfixExpression__NameAlternatives_1_3_2_0) - { after(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); } + { before(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); } + ruleXExpression + { after(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__VarAssignment_1_3_4_0 +rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); } - ruleIdentifier - { after(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__ExpAssignment_1_3_5 +rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); } - ruleExpression - { after(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__BooleanLiteral__ValAssignment +rule__XFunctionTypeRef__ReturnTypeAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); } - (rule__BooleanLiteral__ValAlternatives_0) - { after(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IntegerLiteral__ValAssignment +rule__JvmParameterizedTypeReference__TypeAssignment_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); } - RULE_INT - { after(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); } + ( + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeQualifiedNameParserRuleCall_0_0_1()); } + ruleQualifiedName + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeQualifiedNameParserRuleCall_0_0_1()); } + ) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NullLiteral__ValAssignment +rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } - ( - { before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } - 'null' - { after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } - ) - { after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RealLiteral__ValAssignment +rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); } - RULE_REAL - { after(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__StringLiteral__ValAssignment +rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); } - RULE_STRING - { after(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); } + ( + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeValidIDParserRuleCall_1_4_1_0_1()); } + ruleValidID + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeValidIDParserRuleCall_1_4_1_0_1()); } + ) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalVarExpression__NameAssignment_1 +rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); } - ruleIdentifier - { after(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__FeatureCall__TypeAssignment_1 +rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); } - ruleType - { after(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__NameAssignment_0 +rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); } - ruleIdentifier - { after(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); } + ruleJvmUpperBound + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__ParamsAssignment_2_0 +rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); } - ruleExpression - { after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); } + ruleJvmUpperBoundAnded + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__ParamsAssignment_2_1_1 +rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); } - ruleExpression - { after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); } + ruleJvmLowerBound + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__ElementsAssignment_2_0 +rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); } - ruleExpression - { after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); } + ruleJvmLowerBoundAnded + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__ElementsAssignment_2_1_1 +rule__JvmUpperBound__TypeReferenceAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); } - ruleExpression - { after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); } + { before(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ConstructorCallExpression__TypeAssignment_1 +rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); } - ruleSimpleType - { after(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); } + { before(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__NameAssignment_0 +rule__JvmLowerBound__TypeReferenceAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } - ( - { before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } - 'typeSelect' - { after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } - ) - { after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } + { before(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__TypeAssignment_2 +rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); } - ruleType - { after(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); } + { before(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__NameAssignment_0 +rule__XImportDeclaration__StaticAssignment_1_0_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); } - (rule__CollectionExpression__NameAlternatives_0_0) - { after(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); } + ( + { before(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); } + 'static' + { after(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); } + ) + { after(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__VarAssignment_2_0 +rule__XImportDeclaration__ExtensionAssignment_1_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); } - ruleIdentifier - { after(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); } + ( + { before(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); } + 'extension' + { after(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); } + ) + { after(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__ExpAssignment_3 +rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); } - ruleExpression - { after(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); } + ( + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameInStaticImportParserRuleCall_1_0_2_0_1()); } + ruleQualifiedNameInStaticImport + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameInStaticImportParserRuleCall_1_0_2_0_1()); } + ) + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__ClAssignment_0 +rule__XImportDeclaration__WildcardAssignment_1_0_3_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); } - (rule__CollectionType__ClAlternatives_0_0) - { after(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); } + ( + { before(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); } + '*' + { after(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); } + ) + { after(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Id1Assignment_2 +rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); } - ruleSimpleType - { after(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); } + ruleValidID + { after(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__IdAssignment_0 +rule__XImportDeclaration__ImportedTypeAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); } - ruleIdentifier - { after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); } + ( + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameParserRuleCall_1_1_0_1()); } + ruleQualifiedName + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameParserRuleCall_1_1_0_1()); } + ) + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__IdAssignment_1_1 +rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); } - ruleIdentifier - { after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); } + ruleQualifiedNameWithWildcard + { after(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); } ) ; finally { @@ -10025,11 +26872,15 @@ finally { RULE_REAL : ('0'..'9')* '.' ('0'..'9')*; -RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; +RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F'|'_')+ ('#' (('b'|'B') ('i'|'I')|('l'|'L')))?; + +RULE_INT : '0'..'9' ('0'..'9'|'_')*; + +RULE_DECIMAL : RULE_INT (('e'|'E') ('+'|'-')? RULE_INT)? (('b'|'B') ('i'|'I'|'d'|'D')|('l'|'L'|'d'|'D'|'f'|'F'))?; -RULE_INT : ('0'..'9')+; +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'$'|'_') ('a'..'z'|'A'..'Z'|'$'|'_'|'0'..'9')*; -RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\''); +RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'?|'\'' ('\\' .|~(('\\'|'\'')))* '\''?); RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; diff --git a/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/internal/InternalExport.tokens b/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/internal/InternalExport.tokens index 9fa2ec9d9b..3512ca877f 100644 --- a/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/internal/InternalExport.tokens +++ b/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/internal/InternalExport.tokens @@ -1,83 +1,135 @@ -'!'=22 -'!='=13 -'&&'=78 -'('=51 -')'=52 -'*'=20 -'+'=18 -','=48 -'-'=19 -'->'=60 -'.'=68 -'/'=21 -':'=59 -'::'=57 -';'=44 -'<'=17 -'<='=15 -'='=47 -'=='=12 -'>'=16 -'>='=14 -'?'=61 -'@'=49 -'Collection'=33 -'GLOBALVAR'=70 -'List'=34 -'Set'=35 -'['=45 -']'=46 -'as'=42 -'attribute'=54 -'case'=67 -'collect'=23 -'data'=56 -'default'=66 -'else'=64 -'eval'=50 -'exists'=27 -'export'=36 -'extension'=43 -'false'=32 -'field'=55 -'for'=37 -'forAll'=30 -'if'=62 -'implies'=79 -'import'=41 -'interface'=38 -'let'=58 -'lookup'=72 -'new'=71 -'notExists'=28 -'null'=81 -'object-fingerprint'=75 -'qualified'=73 -'reject'=26 -'resource-fingerprint'=76 -'select'=24 -'selectFirst'=25 -'sortBy'=29 -'switch'=65 -'then'=63 -'true'=31 -'typeSelect'=80 -'unique'=74 -'uri-fragment'=53 -'{'=39 -'|'=69 -'||'=77 -'}'=40 -RULE_ANY_OTHER=11 +'!'=27 +'!='=18 +'!=='=47 +'#'=97 +'%'=55 +'%='=45 +'&&'=16 +'&'=108 +'('=77 +')'=78 +'*'=25 +'**'=54 +'*='=43 +'+'=23 +'++'=56 +'+='=41 +','=74 +'-'=24 +'--'=57 +'-='=42 +'->'=48 +'.'=58 +'..'=50 +'..<'=49 +'/'=26 +'/='=44 +':'=85 +'::'=83 +';'=71 +'<'=22 +'<='=20 +'<>'=52 +'='=14 +'=='=17 +'==='=46 +'=>'=51 +'>'=21 +'>='=19 +'?'=86 +'?.'=116 +'?:'=53 +'@'=75 +'Collection'=38 +'GLOBALVAR'=94 +'List'=39 +'Set'=40 +'['=72 +']'=73 +'as'=70 +'attribute'=80 +'case'=92 +'catch'=107 +'collect'=28 +'data'=82 +'default'=91 +'do'=99 +'else'=89 +'eval'=76 +'exists'=32 +'export'=65 +'extends'=60 +'extension'=63 +'false'=37 +'field'=81 +'finally'=105 +'for'=66 +'forAll'=35 +'if'=87 +'implies'=114 +'import'=62 +'instanceof'=96 +'interface'=67 +'let'=84 +'lookup'=109 +'new'=95 +'notExists'=33 +'null'=100 +'object-fingerprint'=112 +'qualified'=110 +'reject'=31 +'resource-fingerprint'=113 +'return'=103 +'select'=29 +'selectFirst'=30 +'sortBy'=34 +'static'=61 +'super'=64 +'switch'=90 +'synchronized'=106 +'then'=88 +'throw'=102 +'true'=36 +'try'=104 +'typeSelect'=115 +'typeof'=101 +'unique'=111 +'uri-fragment'=79 +'val'=59 +'var'=117 +'while'=98 +'{'=68 +'|'=93 +'||'=15 +'}'=69 +RULE_ANY_OTHER=13 +RULE_DECIMAL=7 +RULE_HEX=5 RULE_ID=4 RULE_INT=6 -RULE_ML_COMMENT=8 -RULE_REAL=7 -RULE_SL_COMMENT=9 -RULE_STRING=5 -RULE_WS=10 -T__12=12 -T__13=13 +RULE_ML_COMMENT=10 +RULE_REAL=9 +RULE_SL_COMMENT=11 +RULE_STRING=8 +RULE_WS=12 +T__100=100 +T__101=101 +T__102=102 +T__103=103 +T__104=104 +T__105=105 +T__106=106 +T__107=107 +T__108=108 +T__109=109 +T__110=110 +T__111=111 +T__112=112 +T__113=113 +T__114=114 +T__115=115 +T__116=116 +T__117=117 T__14=14 T__15=15 T__16=16 @@ -146,3 +198,21 @@ T__78=78 T__79=79 T__80=80 T__81=81 +T__82=82 +T__83=83 +T__84=84 +T__85=85 +T__86=86 +T__87=87 +T__88=88 +T__89=89 +T__90=90 +T__91=91 +T__92=92 +T__93=93 +T__94=94 +T__95=95 +T__96=96 +T__97=97 +T__98=98 +T__99=99 diff --git a/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/internal/InternalExportLexer.java b/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/internal/InternalExportLexer.java index 289bb2f5fc..4f9ba5f886 100644 --- a/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/internal/InternalExportLexer.java +++ b/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/internal/InternalExportLexer.java @@ -12,19 +12,12 @@ @SuppressWarnings("all") public class InternalExportLexer extends Lexer { + public static final int RULE_HEX=5; public static final int T__50=50; - public static final int T__19=19; - public static final int T__15=15; public static final int T__59=59; - public static final int T__16=16; - public static final int T__17=17; - public static final int T__18=18; public static final int T__55=55; - public static final int T__12=12; public static final int T__56=56; - public static final int T__13=13; public static final int T__57=57; - public static final int T__14=14; public static final int T__58=58; public static final int T__51=51; public static final int T__52=52; @@ -33,54 +26,27 @@ public class InternalExportLexer extends Lexer { public static final int T__60=60; public static final int T__61=61; public static final int RULE_ID=4; - public static final int RULE_REAL=7; - public static final int T__26=26; - public static final int T__27=27; - public static final int T__28=28; + public static final int RULE_REAL=9; public static final int RULE_INT=6; - public static final int T__29=29; - public static final int T__22=22; public static final int T__66=66; - public static final int RULE_ML_COMMENT=8; - public static final int T__23=23; + public static final int RULE_ML_COMMENT=10; public static final int T__67=67; - public static final int T__24=24; public static final int T__68=68; - public static final int T__25=25; public static final int T__69=69; public static final int T__62=62; public static final int T__63=63; - public static final int T__20=20; public static final int T__64=64; - public static final int T__21=21; public static final int T__65=65; - public static final int T__70=70; - public static final int T__71=71; - public static final int T__72=72; - public static final int RULE_STRING=5; - public static final int RULE_SL_COMMENT=9; public static final int T__37=37; public static final int T__38=38; public static final int T__39=39; public static final int T__33=33; - public static final int T__77=77; public static final int T__34=34; - public static final int T__78=78; public static final int T__35=35; - public static final int T__79=79; public static final int T__36=36; - public static final int T__73=73; - public static final int EOF=-1; public static final int T__30=30; - public static final int T__74=74; public static final int T__31=31; - public static final int T__75=75; public static final int T__32=32; - public static final int T__76=76; - public static final int T__80=80; - public static final int T__81=81; - public static final int RULE_WS=10; - public static final int RULE_ANY_OTHER=11; public static final int T__48=48; public static final int T__49=49; public static final int T__44=44; @@ -91,6 +57,76 @@ public class InternalExportLexer extends Lexer { public static final int T__41=41; public static final int T__42=42; public static final int T__43=43; + public static final int T__91=91; + public static final int T__100=100; + public static final int T__92=92; + public static final int T__93=93; + public static final int T__102=102; + public static final int T__94=94; + public static final int T__101=101; + public static final int T__90=90; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__99=99; + public static final int T__14=14; + public static final int T__95=95; + public static final int T__96=96; + public static final int T__97=97; + public static final int T__98=98; + public static final int RULE_DECIMAL=7; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int T__29=29; + public static final int T__22=22; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + public static final int T__70=70; + public static final int T__71=71; + public static final int T__72=72; + public static final int RULE_STRING=8; + public static final int RULE_SL_COMMENT=11; + public static final int T__77=77; + public static final int T__78=78; + public static final int T__79=79; + public static final int T__73=73; + public static final int T__115=115; + public static final int EOF=-1; + public static final int T__74=74; + public static final int T__114=114; + public static final int T__75=75; + public static final int T__117=117; + public static final int T__76=76; + public static final int T__116=116; + public static final int T__80=80; + public static final int T__111=111; + public static final int T__81=81; + public static final int T__110=110; + public static final int T__82=82; + public static final int T__113=113; + public static final int T__83=83; + public static final int T__112=112; + public static final int RULE_WS=12; + public static final int RULE_ANY_OTHER=13; + public static final int T__88=88; + public static final int T__108=108; + public static final int T__89=89; + public static final int T__107=107; + public static final int T__109=109; + public static final int T__84=84; + public static final int T__104=104; + public static final int T__85=85; + public static final int T__103=103; + public static final int T__86=86; + public static final int T__106=106; + public static final int T__87=87; + public static final int T__105=105; // delegates // delegators @@ -105,58 +141,15 @@ public InternalExportLexer(CharStream input, RecognizerSharedState state) { } public String getGrammarFileName() { return "InternalExport.g"; } - // $ANTLR start "T__12" - public final void mT__12() throws RecognitionException { - try { - int _type = T__12; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:11:7: ( '==' ) - // InternalExport.g:11:9: '==' - { - match("=="); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__12" - - // $ANTLR start "T__13" - public final void mT__13() throws RecognitionException { - try { - int _type = T__13; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:12:7: ( '!=' ) - // InternalExport.g:12:9: '!=' - { - match("!="); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__13" - // $ANTLR start "T__14" public final void mT__14() throws RecognitionException { try { int _type = T__14; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:13:7: ( '>=' ) - // InternalExport.g:13:9: '>=' + // InternalExport.g:11:7: ( '=' ) + // InternalExport.g:11:9: '=' { - match(">="); - + match('='); } @@ -173,10 +166,10 @@ public final void mT__15() throws RecognitionException { try { int _type = T__15; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:14:7: ( '<=' ) - // InternalExport.g:14:9: '<=' + // InternalExport.g:12:7: ( '||' ) + // InternalExport.g:12:9: '||' { - match("<="); + match("||"); } @@ -194,10 +187,11 @@ public final void mT__16() throws RecognitionException { try { int _type = T__16; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:15:7: ( '>' ) - // InternalExport.g:15:9: '>' + // InternalExport.g:13:7: ( '&&' ) + // InternalExport.g:13:9: '&&' { - match('>'); + match("&&"); + } @@ -214,10 +208,11 @@ public final void mT__17() throws RecognitionException { try { int _type = T__17; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:16:7: ( '<' ) - // InternalExport.g:16:9: '<' + // InternalExport.g:14:7: ( '==' ) + // InternalExport.g:14:9: '==' { - match('<'); + match("=="); + } @@ -234,10 +229,11 @@ public final void mT__18() throws RecognitionException { try { int _type = T__18; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:17:7: ( '+' ) - // InternalExport.g:17:9: '+' + // InternalExport.g:15:7: ( '!=' ) + // InternalExport.g:15:9: '!=' { - match('+'); + match("!="); + } @@ -254,10 +250,11 @@ public final void mT__19() throws RecognitionException { try { int _type = T__19; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:18:7: ( '-' ) - // InternalExport.g:18:9: '-' + // InternalExport.g:16:7: ( '>=' ) + // InternalExport.g:16:9: '>=' { - match('-'); + match(">="); + } @@ -274,10 +271,11 @@ public final void mT__20() throws RecognitionException { try { int _type = T__20; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:19:7: ( '*' ) - // InternalExport.g:19:9: '*' + // InternalExport.g:17:7: ( '<=' ) + // InternalExport.g:17:9: '<=' { - match('*'); + match("<="); + } @@ -294,10 +292,10 @@ public final void mT__21() throws RecognitionException { try { int _type = T__21; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:20:7: ( '/' ) - // InternalExport.g:20:9: '/' + // InternalExport.g:18:7: ( '>' ) + // InternalExport.g:18:9: '>' { - match('/'); + match('>'); } @@ -314,10 +312,10 @@ public final void mT__22() throws RecognitionException { try { int _type = T__22; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:21:7: ( '!' ) - // InternalExport.g:21:9: '!' + // InternalExport.g:19:7: ( '<' ) + // InternalExport.g:19:9: '<' { - match('!'); + match('<'); } @@ -334,11 +332,10 @@ public final void mT__23() throws RecognitionException { try { int _type = T__23; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:22:7: ( 'collect' ) - // InternalExport.g:22:9: 'collect' + // InternalExport.g:20:7: ( '+' ) + // InternalExport.g:20:9: '+' { - match("collect"); - + match('+'); } @@ -355,11 +352,10 @@ public final void mT__24() throws RecognitionException { try { int _type = T__24; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:23:7: ( 'select' ) - // InternalExport.g:23:9: 'select' + // InternalExport.g:21:7: ( '-' ) + // InternalExport.g:21:9: '-' { - match("select"); - + match('-'); } @@ -376,11 +372,10 @@ public final void mT__25() throws RecognitionException { try { int _type = T__25; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:24:7: ( 'selectFirst' ) - // InternalExport.g:24:9: 'selectFirst' + // InternalExport.g:22:7: ( '*' ) + // InternalExport.g:22:9: '*' { - match("selectFirst"); - + match('*'); } @@ -397,11 +392,10 @@ public final void mT__26() throws RecognitionException { try { int _type = T__26; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:25:7: ( 'reject' ) - // InternalExport.g:25:9: 'reject' + // InternalExport.g:23:7: ( '/' ) + // InternalExport.g:23:9: '/' { - match("reject"); - + match('/'); } @@ -418,11 +412,10 @@ public final void mT__27() throws RecognitionException { try { int _type = T__27; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:26:7: ( 'exists' ) - // InternalExport.g:26:9: 'exists' + // InternalExport.g:24:7: ( '!' ) + // InternalExport.g:24:9: '!' { - match("exists"); - + match('!'); } @@ -439,10 +432,10 @@ public final void mT__28() throws RecognitionException { try { int _type = T__28; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:27:7: ( 'notExists' ) - // InternalExport.g:27:9: 'notExists' + // InternalExport.g:25:7: ( 'collect' ) + // InternalExport.g:25:9: 'collect' { - match("notExists"); + match("collect"); } @@ -460,10 +453,10 @@ public final void mT__29() throws RecognitionException { try { int _type = T__29; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:28:7: ( 'sortBy' ) - // InternalExport.g:28:9: 'sortBy' + // InternalExport.g:26:7: ( 'select' ) + // InternalExport.g:26:9: 'select' { - match("sortBy"); + match("select"); } @@ -481,10 +474,10 @@ public final void mT__30() throws RecognitionException { try { int _type = T__30; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:29:7: ( 'forAll' ) - // InternalExport.g:29:9: 'forAll' + // InternalExport.g:27:7: ( 'selectFirst' ) + // InternalExport.g:27:9: 'selectFirst' { - match("forAll"); + match("selectFirst"); } @@ -502,10 +495,10 @@ public final void mT__31() throws RecognitionException { try { int _type = T__31; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:30:7: ( 'true' ) - // InternalExport.g:30:9: 'true' + // InternalExport.g:28:7: ( 'reject' ) + // InternalExport.g:28:9: 'reject' { - match("true"); + match("reject"); } @@ -523,10 +516,10 @@ public final void mT__32() throws RecognitionException { try { int _type = T__32; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:31:7: ( 'false' ) - // InternalExport.g:31:9: 'false' + // InternalExport.g:29:7: ( 'exists' ) + // InternalExport.g:29:9: 'exists' { - match("false"); + match("exists"); } @@ -544,10 +537,10 @@ public final void mT__33() throws RecognitionException { try { int _type = T__33; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:32:7: ( 'Collection' ) - // InternalExport.g:32:9: 'Collection' + // InternalExport.g:30:7: ( 'notExists' ) + // InternalExport.g:30:9: 'notExists' { - match("Collection"); + match("notExists"); } @@ -565,10 +558,10 @@ public final void mT__34() throws RecognitionException { try { int _type = T__34; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:33:7: ( 'List' ) - // InternalExport.g:33:9: 'List' + // InternalExport.g:31:7: ( 'sortBy' ) + // InternalExport.g:31:9: 'sortBy' { - match("List"); + match("sortBy"); } @@ -586,10 +579,10 @@ public final void mT__35() throws RecognitionException { try { int _type = T__35; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:34:7: ( 'Set' ) - // InternalExport.g:34:9: 'Set' + // InternalExport.g:32:7: ( 'forAll' ) + // InternalExport.g:32:9: 'forAll' { - match("Set"); + match("forAll"); } @@ -607,10 +600,10 @@ public final void mT__36() throws RecognitionException { try { int _type = T__36; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:35:7: ( 'export' ) - // InternalExport.g:35:9: 'export' + // InternalExport.g:33:7: ( 'true' ) + // InternalExport.g:33:9: 'true' { - match("export"); + match("true"); } @@ -628,10 +621,10 @@ public final void mT__37() throws RecognitionException { try { int _type = T__37; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:36:7: ( 'for' ) - // InternalExport.g:36:9: 'for' + // InternalExport.g:34:7: ( 'false' ) + // InternalExport.g:34:9: 'false' { - match("for"); + match("false"); } @@ -649,10 +642,10 @@ public final void mT__38() throws RecognitionException { try { int _type = T__38; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:37:7: ( 'interface' ) - // InternalExport.g:37:9: 'interface' + // InternalExport.g:35:7: ( 'Collection' ) + // InternalExport.g:35:9: 'Collection' { - match("interface"); + match("Collection"); } @@ -670,10 +663,11 @@ public final void mT__39() throws RecognitionException { try { int _type = T__39; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:38:7: ( '{' ) - // InternalExport.g:38:9: '{' + // InternalExport.g:36:7: ( 'List' ) + // InternalExport.g:36:9: 'List' { - match('{'); + match("List"); + } @@ -690,10 +684,11 @@ public final void mT__40() throws RecognitionException { try { int _type = T__40; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:39:7: ( '}' ) - // InternalExport.g:39:9: '}' + // InternalExport.g:37:7: ( 'Set' ) + // InternalExport.g:37:9: 'Set' { - match('}'); + match("Set"); + } @@ -710,10 +705,10 @@ public final void mT__41() throws RecognitionException { try { int _type = T__41; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:40:7: ( 'import' ) - // InternalExport.g:40:9: 'import' + // InternalExport.g:38:7: ( '+=' ) + // InternalExport.g:38:9: '+=' { - match("import"); + match("+="); } @@ -731,10 +726,10 @@ public final void mT__42() throws RecognitionException { try { int _type = T__42; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:41:7: ( 'as' ) - // InternalExport.g:41:9: 'as' + // InternalExport.g:39:7: ( '-=' ) + // InternalExport.g:39:9: '-=' { - match("as"); + match("-="); } @@ -752,10 +747,10 @@ public final void mT__43() throws RecognitionException { try { int _type = T__43; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:42:7: ( 'extension' ) - // InternalExport.g:42:9: 'extension' + // InternalExport.g:40:7: ( '*=' ) + // InternalExport.g:40:9: '*=' { - match("extension"); + match("*="); } @@ -773,10 +768,11 @@ public final void mT__44() throws RecognitionException { try { int _type = T__44; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:43:7: ( ';' ) - // InternalExport.g:43:9: ';' + // InternalExport.g:41:7: ( '/=' ) + // InternalExport.g:41:9: '/=' { - match(';'); + match("/="); + } @@ -793,10 +789,11 @@ public final void mT__45() throws RecognitionException { try { int _type = T__45; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:44:7: ( '[' ) - // InternalExport.g:44:9: '[' + // InternalExport.g:42:7: ( '%=' ) + // InternalExport.g:42:9: '%=' { - match('['); + match("%="); + } @@ -813,10 +810,11 @@ public final void mT__46() throws RecognitionException { try { int _type = T__46; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:45:7: ( ']' ) - // InternalExport.g:45:9: ']' + // InternalExport.g:43:7: ( '===' ) + // InternalExport.g:43:9: '===' { - match(']'); + match("==="); + } @@ -833,10 +831,11 @@ public final void mT__47() throws RecognitionException { try { int _type = T__47; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:46:7: ( '=' ) - // InternalExport.g:46:9: '=' + // InternalExport.g:44:7: ( '!==' ) + // InternalExport.g:44:9: '!==' { - match('='); + match("!=="); + } @@ -853,10 +852,11 @@ public final void mT__48() throws RecognitionException { try { int _type = T__48; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:47:7: ( ',' ) - // InternalExport.g:47:9: ',' + // InternalExport.g:45:7: ( '->' ) + // InternalExport.g:45:9: '->' { - match(','); + match("->"); + } @@ -873,10 +873,11 @@ public final void mT__49() throws RecognitionException { try { int _type = T__49; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:48:7: ( '@' ) - // InternalExport.g:48:9: '@' + // InternalExport.g:46:7: ( '..<' ) + // InternalExport.g:46:9: '..<' { - match('@'); + match("..<"); + } @@ -893,10 +894,10 @@ public final void mT__50() throws RecognitionException { try { int _type = T__50; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:49:7: ( 'eval' ) - // InternalExport.g:49:9: 'eval' + // InternalExport.g:47:7: ( '..' ) + // InternalExport.g:47:9: '..' { - match("eval"); + match(".."); } @@ -914,10 +915,11 @@ public final void mT__51() throws RecognitionException { try { int _type = T__51; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:50:7: ( '(' ) - // InternalExport.g:50:9: '(' + // InternalExport.g:48:7: ( '=>' ) + // InternalExport.g:48:9: '=>' { - match('('); + match("=>"); + } @@ -934,10 +936,11 @@ public final void mT__52() throws RecognitionException { try { int _type = T__52; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:51:7: ( ')' ) - // InternalExport.g:51:9: ')' + // InternalExport.g:49:7: ( '<>' ) + // InternalExport.g:49:9: '<>' { - match(')'); + match("<>"); + } @@ -954,10 +957,10 @@ public final void mT__53() throws RecognitionException { try { int _type = T__53; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:52:7: ( 'uri-fragment' ) - // InternalExport.g:52:9: 'uri-fragment' + // InternalExport.g:50:7: ( '?:' ) + // InternalExport.g:50:9: '?:' { - match("uri-fragment"); + match("?:"); } @@ -975,10 +978,10 @@ public final void mT__54() throws RecognitionException { try { int _type = T__54; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:53:7: ( 'attribute' ) - // InternalExport.g:53:9: 'attribute' + // InternalExport.g:51:7: ( '**' ) + // InternalExport.g:51:9: '**' { - match("attribute"); + match("**"); } @@ -996,11 +999,10 @@ public final void mT__55() throws RecognitionException { try { int _type = T__55; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:54:7: ( 'field' ) - // InternalExport.g:54:9: 'field' + // InternalExport.g:52:7: ( '%' ) + // InternalExport.g:52:9: '%' { - match("field"); - + match('%'); } @@ -1017,10 +1019,10 @@ public final void mT__56() throws RecognitionException { try { int _type = T__56; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:55:7: ( 'data' ) - // InternalExport.g:55:9: 'data' + // InternalExport.g:53:7: ( '++' ) + // InternalExport.g:53:9: '++' { - match("data"); + match("++"); } @@ -1038,10 +1040,10 @@ public final void mT__57() throws RecognitionException { try { int _type = T__57; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:56:7: ( '::' ) - // InternalExport.g:56:9: '::' + // InternalExport.g:54:7: ( '--' ) + // InternalExport.g:54:9: '--' { - match("::"); + match("--"); } @@ -1059,11 +1061,10 @@ public final void mT__58() throws RecognitionException { try { int _type = T__58; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:57:7: ( 'let' ) - // InternalExport.g:57:9: 'let' + // InternalExport.g:55:7: ( '.' ) + // InternalExport.g:55:9: '.' { - match("let"); - + match('.'); } @@ -1080,10 +1081,11 @@ public final void mT__59() throws RecognitionException { try { int _type = T__59; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:58:7: ( ':' ) - // InternalExport.g:58:9: ':' + // InternalExport.g:56:7: ( 'val' ) + // InternalExport.g:56:9: 'val' { - match(':'); + match("val"); + } @@ -1100,10 +1102,10 @@ public final void mT__60() throws RecognitionException { try { int _type = T__60; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:59:7: ( '->' ) - // InternalExport.g:59:9: '->' + // InternalExport.g:57:7: ( 'extends' ) + // InternalExport.g:57:9: 'extends' { - match("->"); + match("extends"); } @@ -1121,10 +1123,11 @@ public final void mT__61() throws RecognitionException { try { int _type = T__61; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:60:7: ( '?' ) - // InternalExport.g:60:9: '?' + // InternalExport.g:58:7: ( 'static' ) + // InternalExport.g:58:9: 'static' { - match('?'); + match("static"); + } @@ -1141,10 +1144,10 @@ public final void mT__62() throws RecognitionException { try { int _type = T__62; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:61:7: ( 'if' ) - // InternalExport.g:61:9: 'if' + // InternalExport.g:59:7: ( 'import' ) + // InternalExport.g:59:9: 'import' { - match("if"); + match("import"); } @@ -1162,10 +1165,10 @@ public final void mT__63() throws RecognitionException { try { int _type = T__63; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:62:7: ( 'then' ) - // InternalExport.g:62:9: 'then' + // InternalExport.g:60:7: ( 'extension' ) + // InternalExport.g:60:9: 'extension' { - match("then"); + match("extension"); } @@ -1183,10 +1186,10 @@ public final void mT__64() throws RecognitionException { try { int _type = T__64; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:63:7: ( 'else' ) - // InternalExport.g:63:9: 'else' + // InternalExport.g:61:7: ( 'super' ) + // InternalExport.g:61:9: 'super' { - match("else"); + match("super"); } @@ -1204,10 +1207,10 @@ public final void mT__65() throws RecognitionException { try { int _type = T__65; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:64:7: ( 'switch' ) - // InternalExport.g:64:9: 'switch' + // InternalExport.g:62:7: ( 'export' ) + // InternalExport.g:62:9: 'export' { - match("switch"); + match("export"); } @@ -1225,10 +1228,10 @@ public final void mT__66() throws RecognitionException { try { int _type = T__66; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:65:7: ( 'default' ) - // InternalExport.g:65:9: 'default' + // InternalExport.g:63:7: ( 'for' ) + // InternalExport.g:63:9: 'for' { - match("default"); + match("for"); } @@ -1246,10 +1249,10 @@ public final void mT__67() throws RecognitionException { try { int _type = T__67; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:66:7: ( 'case' ) - // InternalExport.g:66:9: 'case' + // InternalExport.g:64:7: ( 'interface' ) + // InternalExport.g:64:9: 'interface' { - match("case"); + match("interface"); } @@ -1267,10 +1270,10 @@ public final void mT__68() throws RecognitionException { try { int _type = T__68; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:67:7: ( '.' ) - // InternalExport.g:67:9: '.' + // InternalExport.g:65:7: ( '{' ) + // InternalExport.g:65:9: '{' { - match('.'); + match('{'); } @@ -1287,10 +1290,10 @@ public final void mT__69() throws RecognitionException { try { int _type = T__69; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:68:7: ( '|' ) - // InternalExport.g:68:9: '|' + // InternalExport.g:66:7: ( '}' ) + // InternalExport.g:66:9: '}' { - match('|'); + match('}'); } @@ -1307,10 +1310,10 @@ public final void mT__70() throws RecognitionException { try { int _type = T__70; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:69:7: ( 'GLOBALVAR' ) - // InternalExport.g:69:9: 'GLOBALVAR' + // InternalExport.g:67:7: ( 'as' ) + // InternalExport.g:67:9: 'as' { - match("GLOBALVAR"); + match("as"); } @@ -1328,11 +1331,10 @@ public final void mT__71() throws RecognitionException { try { int _type = T__71; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:70:7: ( 'new' ) - // InternalExport.g:70:9: 'new' + // InternalExport.g:68:7: ( ';' ) + // InternalExport.g:68:9: ';' { - match("new"); - + match(';'); } @@ -1349,11 +1351,10 @@ public final void mT__72() throws RecognitionException { try { int _type = T__72; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:71:7: ( 'lookup' ) - // InternalExport.g:71:9: 'lookup' + // InternalExport.g:69:7: ( '[' ) + // InternalExport.g:69:9: '[' { - match("lookup"); - + match('['); } @@ -1370,11 +1371,10 @@ public final void mT__73() throws RecognitionException { try { int _type = T__73; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:72:7: ( 'qualified' ) - // InternalExport.g:72:9: 'qualified' + // InternalExport.g:70:7: ( ']' ) + // InternalExport.g:70:9: ']' { - match("qualified"); - + match(']'); } @@ -1391,11 +1391,10 @@ public final void mT__74() throws RecognitionException { try { int _type = T__74; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:73:7: ( 'unique' ) - // InternalExport.g:73:9: 'unique' + // InternalExport.g:71:7: ( ',' ) + // InternalExport.g:71:9: ',' { - match("unique"); - + match(','); } @@ -1412,11 +1411,10 @@ public final void mT__75() throws RecognitionException { try { int _type = T__75; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:74:7: ( 'object-fingerprint' ) - // InternalExport.g:74:9: 'object-fingerprint' + // InternalExport.g:72:7: ( '@' ) + // InternalExport.g:72:9: '@' { - match("object-fingerprint"); - + match('@'); } @@ -1433,10 +1431,10 @@ public final void mT__76() throws RecognitionException { try { int _type = T__76; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:75:7: ( 'resource-fingerprint' ) - // InternalExport.g:75:9: 'resource-fingerprint' + // InternalExport.g:73:7: ( 'eval' ) + // InternalExport.g:73:9: 'eval' { - match("resource-fingerprint"); + match("eval"); } @@ -1454,11 +1452,10 @@ public final void mT__77() throws RecognitionException { try { int _type = T__77; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:76:7: ( '||' ) - // InternalExport.g:76:9: '||' + // InternalExport.g:74:7: ( '(' ) + // InternalExport.g:74:9: '(' { - match("||"); - + match('('); } @@ -1475,11 +1472,10 @@ public final void mT__78() throws RecognitionException { try { int _type = T__78; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:77:7: ( '&&' ) - // InternalExport.g:77:9: '&&' + // InternalExport.g:75:7: ( ')' ) + // InternalExport.g:75:9: ')' { - match("&&"); - + match(')'); } @@ -1496,10 +1492,10 @@ public final void mT__79() throws RecognitionException { try { int _type = T__79; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:78:7: ( 'implies' ) - // InternalExport.g:78:9: 'implies' + // InternalExport.g:76:7: ( 'uri-fragment' ) + // InternalExport.g:76:9: 'uri-fragment' { - match("implies"); + match("uri-fragment"); } @@ -1517,10 +1513,10 @@ public final void mT__80() throws RecognitionException { try { int _type = T__80; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:79:7: ( 'typeSelect' ) - // InternalExport.g:79:9: 'typeSelect' + // InternalExport.g:77:7: ( 'attribute' ) + // InternalExport.g:77:9: 'attribute' { - match("typeSelect"); + match("attribute"); } @@ -1538,10 +1534,10 @@ public final void mT__81() throws RecognitionException { try { int _type = T__81; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:80:7: ( 'null' ) - // InternalExport.g:80:9: 'null' + // InternalExport.g:78:7: ( 'field' ) + // InternalExport.g:78:9: 'field' { - match("null"); + match("field"); } @@ -1554,33 +1550,784 @@ public final void mT__81() throws RecognitionException { } // $ANTLR end "T__81" - // $ANTLR start "RULE_REAL" - public final void mRULE_REAL() throws RecognitionException { + // $ANTLR start "T__82" + public final void mT__82() throws RecognitionException { try { - int _type = RULE_REAL; + int _type = T__82; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:10026:11: ( ( '0' .. '9' )* '.' ( '0' .. '9' )* ) - // InternalExport.g:10026:13: ( '0' .. '9' )* '.' ( '0' .. '9' )* + // InternalExport.g:79:7: ( 'data' ) + // InternalExport.g:79:9: 'data' { - // InternalExport.g:10026:13: ( '0' .. '9' )* - loop1: - do { - int alt1=2; - int LA1_0 = input.LA(1); - - if ( ((LA1_0>='0' && LA1_0<='9')) ) { - alt1=1; - } - + match("data"); - switch (alt1) { - case 1 : - // InternalExport.g:10026:14: '0' .. '9' - { - matchRange('0','9'); - } - break; + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__82" + + // $ANTLR start "T__83" + public final void mT__83() throws RecognitionException { + try { + int _type = T__83; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:80:7: ( '::' ) + // InternalExport.g:80:9: '::' + { + match("::"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__83" + + // $ANTLR start "T__84" + public final void mT__84() throws RecognitionException { + try { + int _type = T__84; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:81:7: ( 'let' ) + // InternalExport.g:81:9: 'let' + { + match("let"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__84" + + // $ANTLR start "T__85" + public final void mT__85() throws RecognitionException { + try { + int _type = T__85; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:82:7: ( ':' ) + // InternalExport.g:82:9: ':' + { + match(':'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__85" + + // $ANTLR start "T__86" + public final void mT__86() throws RecognitionException { + try { + int _type = T__86; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:83:7: ( '?' ) + // InternalExport.g:83:9: '?' + { + match('?'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__86" + + // $ANTLR start "T__87" + public final void mT__87() throws RecognitionException { + try { + int _type = T__87; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:84:7: ( 'if' ) + // InternalExport.g:84:9: 'if' + { + match("if"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__87" + + // $ANTLR start "T__88" + public final void mT__88() throws RecognitionException { + try { + int _type = T__88; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:85:7: ( 'then' ) + // InternalExport.g:85:9: 'then' + { + match("then"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__88" + + // $ANTLR start "T__89" + public final void mT__89() throws RecognitionException { + try { + int _type = T__89; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:86:7: ( 'else' ) + // InternalExport.g:86:9: 'else' + { + match("else"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__89" + + // $ANTLR start "T__90" + public final void mT__90() throws RecognitionException { + try { + int _type = T__90; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:87:7: ( 'switch' ) + // InternalExport.g:87:9: 'switch' + { + match("switch"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__90" + + // $ANTLR start "T__91" + public final void mT__91() throws RecognitionException { + try { + int _type = T__91; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:88:7: ( 'default' ) + // InternalExport.g:88:9: 'default' + { + match("default"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__91" + + // $ANTLR start "T__92" + public final void mT__92() throws RecognitionException { + try { + int _type = T__92; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:89:7: ( 'case' ) + // InternalExport.g:89:9: 'case' + { + match("case"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__92" + + // $ANTLR start "T__93" + public final void mT__93() throws RecognitionException { + try { + int _type = T__93; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:90:7: ( '|' ) + // InternalExport.g:90:9: '|' + { + match('|'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__93" + + // $ANTLR start "T__94" + public final void mT__94() throws RecognitionException { + try { + int _type = T__94; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:91:7: ( 'GLOBALVAR' ) + // InternalExport.g:91:9: 'GLOBALVAR' + { + match("GLOBALVAR"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__94" + + // $ANTLR start "T__95" + public final void mT__95() throws RecognitionException { + try { + int _type = T__95; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:92:7: ( 'new' ) + // InternalExport.g:92:9: 'new' + { + match("new"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__95" + + // $ANTLR start "T__96" + public final void mT__96() throws RecognitionException { + try { + int _type = T__96; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:93:7: ( 'instanceof' ) + // InternalExport.g:93:9: 'instanceof' + { + match("instanceof"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__96" + + // $ANTLR start "T__97" + public final void mT__97() throws RecognitionException { + try { + int _type = T__97; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:94:7: ( '#' ) + // InternalExport.g:94:9: '#' + { + match('#'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__97" + + // $ANTLR start "T__98" + public final void mT__98() throws RecognitionException { + try { + int _type = T__98; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:95:7: ( 'while' ) + // InternalExport.g:95:9: 'while' + { + match("while"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__98" + + // $ANTLR start "T__99" + public final void mT__99() throws RecognitionException { + try { + int _type = T__99; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:96:7: ( 'do' ) + // InternalExport.g:96:9: 'do' + { + match("do"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__99" + + // $ANTLR start "T__100" + public final void mT__100() throws RecognitionException { + try { + int _type = T__100; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:97:8: ( 'null' ) + // InternalExport.g:97:10: 'null' + { + match("null"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__100" + + // $ANTLR start "T__101" + public final void mT__101() throws RecognitionException { + try { + int _type = T__101; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:98:8: ( 'typeof' ) + // InternalExport.g:98:10: 'typeof' + { + match("typeof"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__101" + + // $ANTLR start "T__102" + public final void mT__102() throws RecognitionException { + try { + int _type = T__102; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:99:8: ( 'throw' ) + // InternalExport.g:99:10: 'throw' + { + match("throw"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__102" + + // $ANTLR start "T__103" + public final void mT__103() throws RecognitionException { + try { + int _type = T__103; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:100:8: ( 'return' ) + // InternalExport.g:100:10: 'return' + { + match("return"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__103" + + // $ANTLR start "T__104" + public final void mT__104() throws RecognitionException { + try { + int _type = T__104; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:101:8: ( 'try' ) + // InternalExport.g:101:10: 'try' + { + match("try"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__104" + + // $ANTLR start "T__105" + public final void mT__105() throws RecognitionException { + try { + int _type = T__105; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:102:8: ( 'finally' ) + // InternalExport.g:102:10: 'finally' + { + match("finally"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__105" + + // $ANTLR start "T__106" + public final void mT__106() throws RecognitionException { + try { + int _type = T__106; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:103:8: ( 'synchronized' ) + // InternalExport.g:103:10: 'synchronized' + { + match("synchronized"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__106" + + // $ANTLR start "T__107" + public final void mT__107() throws RecognitionException { + try { + int _type = T__107; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:104:8: ( 'catch' ) + // InternalExport.g:104:10: 'catch' + { + match("catch"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__107" + + // $ANTLR start "T__108" + public final void mT__108() throws RecognitionException { + try { + int _type = T__108; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:105:8: ( '&' ) + // InternalExport.g:105:10: '&' + { + match('&'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__108" + + // $ANTLR start "T__109" + public final void mT__109() throws RecognitionException { + try { + int _type = T__109; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:106:8: ( 'lookup' ) + // InternalExport.g:106:10: 'lookup' + { + match("lookup"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__109" + + // $ANTLR start "T__110" + public final void mT__110() throws RecognitionException { + try { + int _type = T__110; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:107:8: ( 'qualified' ) + // InternalExport.g:107:10: 'qualified' + { + match("qualified"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__110" + + // $ANTLR start "T__111" + public final void mT__111() throws RecognitionException { + try { + int _type = T__111; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:108:8: ( 'unique' ) + // InternalExport.g:108:10: 'unique' + { + match("unique"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__111" + + // $ANTLR start "T__112" + public final void mT__112() throws RecognitionException { + try { + int _type = T__112; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:109:8: ( 'object-fingerprint' ) + // InternalExport.g:109:10: 'object-fingerprint' + { + match("object-fingerprint"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__112" + + // $ANTLR start "T__113" + public final void mT__113() throws RecognitionException { + try { + int _type = T__113; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:110:8: ( 'resource-fingerprint' ) + // InternalExport.g:110:10: 'resource-fingerprint' + { + match("resource-fingerprint"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__113" + + // $ANTLR start "T__114" + public final void mT__114() throws RecognitionException { + try { + int _type = T__114; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:111:8: ( 'implies' ) + // InternalExport.g:111:10: 'implies' + { + match("implies"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__114" + + // $ANTLR start "T__115" + public final void mT__115() throws RecognitionException { + try { + int _type = T__115; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:112:8: ( 'typeSelect' ) + // InternalExport.g:112:10: 'typeSelect' + { + match("typeSelect"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__115" + + // $ANTLR start "T__116" + public final void mT__116() throws RecognitionException { + try { + int _type = T__116; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:113:8: ( '?.' ) + // InternalExport.g:113:10: '?.' + { + match("?."); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__116" + + // $ANTLR start "T__117" + public final void mT__117() throws RecognitionException { + try { + int _type = T__117; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:114:8: ( 'var' ) + // InternalExport.g:114:10: 'var' + { + match("var"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__117" + + // $ANTLR start "RULE_REAL" + public final void mRULE_REAL() throws RecognitionException { + try { + int _type = RULE_REAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:26873:11: ( ( '0' .. '9' )* '.' ( '0' .. '9' )* ) + // InternalExport.g:26873:13: ( '0' .. '9' )* '.' ( '0' .. '9' )* + { + // InternalExport.g:26873:13: ( '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 : + // InternalExport.g:26873:14: '0' .. '9' + { + matchRange('0','9'); + + } + break; default : break loop1; @@ -1588,7 +2335,7 @@ public final void mRULE_REAL() throws RecognitionException { } while (true); match('.'); - // InternalExport.g:10026:29: ( '0' .. '9' )* + // InternalExport.g:26873:29: ( '0' .. '9' )* loop2: do { int alt2=2; @@ -1599,19 +2346,378 @@ public final void mRULE_REAL() throws RecognitionException { } - switch (alt2) { - case 1 : - // InternalExport.g:10026:30: '0' .. '9' - { - matchRange('0','9'); + switch (alt2) { + case 1 : + // InternalExport.g:26873:30: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + break loop2; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_REAL" + + // $ANTLR start "RULE_HEX" + public final void mRULE_HEX() throws RecognitionException { + try { + int _type = RULE_HEX; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:26875:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? ) + // InternalExport.g:26875:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? + { + // InternalExport.g:26875:12: ( '0x' | '0X' ) + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0=='0') ) { + int LA3_1 = input.LA(2); + + if ( (LA3_1=='x') ) { + alt3=1; + } + else if ( (LA3_1=='X') ) { + alt3=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 3, 1, input); + + throw nvae; + } + } + else { + NoViableAltException nvae = + new NoViableAltException("", 3, 0, input); + + throw nvae; + } + switch (alt3) { + case 1 : + // InternalExport.g:26875:13: '0x' + { + match("0x"); + + + } + break; + case 2 : + // InternalExport.g:26875:18: '0X' + { + match("0X"); + + + } + break; + + } + + // InternalExport.g:26875:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ + int cnt4=0; + loop4: + do { + int alt4=2; + int LA4_0 = input.LA(1); + + if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='f')) ) { + alt4=1; + } + + + switch (alt4) { + case 1 : + // InternalExport.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='f') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + if ( cnt4 >= 1 ) break loop4; + EarlyExitException eee = + new EarlyExitException(4, input); + throw eee; + } + cnt4++; + } while (true); + + // InternalExport.g:26875:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0=='#') ) { + alt6=1; + } + switch (alt6) { + case 1 : + // InternalExport.g:26875:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) + { + match('#'); + // InternalExport.g:26875:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0=='B'||LA5_0=='b') ) { + alt5=1; + } + else if ( (LA5_0=='L'||LA5_0=='l') ) { + alt5=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); + + throw nvae; + } + switch (alt5) { + case 1 : + // InternalExport.g:26875:64: ( 'b' | 'B' ) ( 'i' | 'I' ) + { + if ( input.LA(1)=='B'||input.LA(1)=='b' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + if ( input.LA(1)=='I'||input.LA(1)=='i' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // InternalExport.g:26875:84: ( 'l' | 'L' ) + { + if ( input.LA(1)=='L'||input.LA(1)=='l' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_HEX" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + int _type = RULE_INT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:26877:10: ( '0' .. '9' ( '0' .. '9' | '_' )* ) + // InternalExport.g:26877:12: '0' .. '9' ( '0' .. '9' | '_' )* + { + matchRange('0','9'); + // InternalExport.g:26877:21: ( '0' .. '9' | '_' )* + loop7: + do { + int alt7=2; + int LA7_0 = input.LA(1); + + if ( ((LA7_0>='0' && LA7_0<='9')||LA7_0=='_') ) { + alt7=1; + } + + + switch (alt7) { + case 1 : + // InternalExport.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||input.LA(1)=='_' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop7; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_INT" + + // $ANTLR start "RULE_DECIMAL" + public final void mRULE_DECIMAL() throws RecognitionException { + try { + int _type = RULE_DECIMAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:26879:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? ) + // InternalExport.g:26879:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? + { + mRULE_INT(); + // InternalExport.g:26879:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0=='E'||LA9_0=='e') ) { + alt9=1; + } + switch (alt9) { + case 1 : + // InternalExport.g:26879:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT + { + if ( input.LA(1)=='E'||input.LA(1)=='e' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // InternalExport.g:26879:36: ( '+' | '-' )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0=='+'||LA8_0=='-') ) { + alt8=1; + } + switch (alt8) { + case 1 : + // InternalExport.g: + { + if ( input.LA(1)=='+'||input.LA(1)=='-' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + mRULE_INT(); + + } + break; + + } + + // InternalExport.g:26879:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? + int alt10=3; + int LA10_0 = input.LA(1); + + if ( (LA10_0=='B'||LA10_0=='b') ) { + alt10=1; + } + else if ( (LA10_0=='D'||LA10_0=='F'||LA10_0=='L'||LA10_0=='d'||LA10_0=='f'||LA10_0=='l') ) { + alt10=2; + } + switch (alt10) { + case 1 : + // InternalExport.g:26879:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) + { + if ( input.LA(1)=='B'||input.LA(1)=='b' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + if ( input.LA(1)=='D'||input.LA(1)=='I'||input.LA(1)=='d'||input.LA(1)=='i' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // InternalExport.g:26879:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) + { + if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='L'||input.LA(1)=='d'||input.LA(1)=='f'||input.LA(1)=='l' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + - } - break; + } + break; - default : - break loop2; - } - } while (true); + } } @@ -1622,26 +2728,26 @@ public final void mRULE_REAL() throws RecognitionException { finally { } } - // $ANTLR end "RULE_REAL" + // $ANTLR end "RULE_DECIMAL" // $ANTLR start "RULE_ID" public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:10028:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalExport.g:10028:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalExport.g:26881:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* ) + // InternalExport.g:26881:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* { - // InternalExport.g:10028:11: ( '^' )? - int alt3=2; - int LA3_0 = input.LA(1); + // InternalExport.g:26881:11: ( '^' )? + int alt11=2; + int LA11_0 = input.LA(1); - if ( (LA3_0=='^') ) { - alt3=1; + if ( (LA11_0=='^') ) { + alt11=1; } - switch (alt3) { + switch (alt11) { case 1 : - // InternalExport.g:10028:11: '^' + // InternalExport.g:26881:11: '^' { match('^'); @@ -1650,7 +2756,7 @@ public final void mRULE_ID() throws RecognitionException { } - if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { input.consume(); } @@ -1659,22 +2765,22 @@ public final void mRULE_ID() throws RecognitionException { recover(mse); throw mse;} - // InternalExport.g:10028:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* - loop4: + // InternalExport.g:26881:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* + loop12: do { - int alt4=2; - int LA4_0 = input.LA(1); + int alt12=2; + int LA12_0 = input.LA(1); - if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) { - alt4=1; + if ( (LA12_0=='$'||(LA12_0>='0' && LA12_0<='9')||(LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='z')) ) { + alt12=1; } - switch (alt4) { + switch (alt12) { case 1 : // InternalExport.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') ) { + if ( input.LA(1)=='$'||(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(); } @@ -1688,7 +2794,7 @@ public final void mRULE_ID() throws RecognitionException { break; default : - break loop4; + break loop12; } } while (true); @@ -1703,101 +2809,52 @@ public final void mRULE_ID() throws RecognitionException { } // $ANTLR end "RULE_ID" - // $ANTLR start "RULE_INT" - public final void mRULE_INT() throws RecognitionException { - try { - int _type = RULE_INT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:10030:10: ( ( '0' .. '9' )+ ) - // InternalExport.g:10030:12: ( '0' .. '9' )+ - { - // InternalExport.g:10030:12: ( '0' .. '9' )+ - int cnt5=0; - loop5: - do { - int alt5=2; - int LA5_0 = input.LA(1); - - if ( ((LA5_0>='0' && LA5_0<='9')) ) { - alt5=1; - } - - - switch (alt5) { - case 1 : - // InternalExport.g:10030:13: '0' .. '9' - { - matchRange('0','9'); - - } - break; - - default : - if ( cnt5 >= 1 ) break loop5; - EarlyExitException eee = - new EarlyExitException(5, input); - throw eee; - } - cnt5++; - } while (true); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_INT" - // $ANTLR start "RULE_STRING" public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:10032:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) - // InternalExport.g:10032:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalExport.g:26883:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) ) + // InternalExport.g:26883:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) { - // InternalExport.g:10032:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) - int alt8=2; - int LA8_0 = input.LA(1); + // InternalExport.g:26883:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) + int alt17=2; + int LA17_0 = input.LA(1); - if ( (LA8_0=='\"') ) { - alt8=1; + if ( (LA17_0=='\"') ) { + alt17=1; } - else if ( (LA8_0=='\'') ) { - alt8=2; + else if ( (LA17_0=='\'') ) { + alt17=2; } else { NoViableAltException nvae = - new NoViableAltException("", 8, 0, input); + new NoViableAltException("", 17, 0, input); throw nvae; } - switch (alt8) { + switch (alt17) { case 1 : - // InternalExport.g:10032:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + // InternalExport.g:26883:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? { match('\"'); - // InternalExport.g:10032:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* - loop6: + // InternalExport.g:26883:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + loop13: do { - int alt6=3; - int LA6_0 = input.LA(1); + int alt13=3; + int LA13_0 = input.LA(1); - if ( (LA6_0=='\\') ) { - alt6=1; + if ( (LA13_0=='\\') ) { + alt13=1; } - else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) { - alt6=2; + else if ( ((LA13_0>='\u0000' && LA13_0<='!')||(LA13_0>='#' && LA13_0<='[')||(LA13_0>=']' && LA13_0<='\uFFFF')) ) { + alt13=2; } - switch (alt6) { + switch (alt13) { case 1 : - // InternalExport.g:10032:21: '\\\\' . + // InternalExport.g:26883:21: '\\\\' . { match('\\'); matchAny(); @@ -1805,7 +2862,7 @@ else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>= } break; case 2 : - // InternalExport.g:10032:28: ~ ( ( '\\\\' | '\"' ) ) + // InternalExport.g:26883:28: ~ ( ( '\\\\' | '\"' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1821,35 +2878,52 @@ else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>= break; default : - break loop6; + break loop13; } } while (true); - match('\"'); + // InternalExport.g:26883:44: ( '\"' )? + int alt14=2; + int LA14_0 = input.LA(1); + + if ( (LA14_0=='\"') ) { + alt14=1; + } + switch (alt14) { + case 1 : + // InternalExport.g:26883:44: '\"' + { + match('\"'); + + } + break; + + } + } break; case 2 : - // InternalExport.g:10032:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + // InternalExport.g:26883:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? { match('\''); - // InternalExport.g:10032:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* - loop7: + // InternalExport.g:26883:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + loop15: do { - int alt7=3; - int LA7_0 = input.LA(1); + int alt15=3; + int LA15_0 = input.LA(1); - if ( (LA7_0=='\\') ) { - alt7=1; + if ( (LA15_0=='\\') ) { + alt15=1; } - else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) { - alt7=2; + else if ( ((LA15_0>='\u0000' && LA15_0<='&')||(LA15_0>='(' && LA15_0<='[')||(LA15_0>=']' && LA15_0<='\uFFFF')) ) { + alt15=2; } - switch (alt7) { + switch (alt15) { case 1 : - // InternalExport.g:10032:54: '\\\\' . + // InternalExport.g:26883:55: '\\\\' . { match('\\'); matchAny(); @@ -1857,7 +2931,7 @@ else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>= } break; case 2 : - // InternalExport.g:10032:61: ~ ( ( '\\\\' | '\\'' ) ) + // InternalExport.g:26883:62: ~ ( ( '\\\\' | '\\'' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1873,11 +2947,28 @@ else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>= break; default : - break loop7; + break loop15; } } while (true); - match('\''); + // InternalExport.g:26883:79: ( '\\'' )? + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0=='\'') ) { + alt16=1; + } + switch (alt16) { + case 1 : + // InternalExport.g:26883:79: '\\'' + { + match('\''); + + } + break; + + } + } break; @@ -1900,37 +2991,37 @@ public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:10034:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalExport.g:10034:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalExport.g:26885:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalExport.g:26885:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalExport.g:10034:24: ( options {greedy=false; } : . )* - loop9: + // InternalExport.g:26885:24: ( options {greedy=false; } : . )* + loop18: do { - int alt9=2; - int LA9_0 = input.LA(1); + int alt18=2; + int LA18_0 = input.LA(1); - if ( (LA9_0=='*') ) { - int LA9_1 = input.LA(2); + if ( (LA18_0=='*') ) { + int LA18_1 = input.LA(2); - if ( (LA9_1=='/') ) { - alt9=2; + if ( (LA18_1=='/') ) { + alt18=2; } - else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) { - alt9=1; + else if ( ((LA18_1>='\u0000' && LA18_1<='.')||(LA18_1>='0' && LA18_1<='\uFFFF')) ) { + alt18=1; } } - else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) { - alt9=1; + else if ( ((LA18_0>='\u0000' && LA18_0<=')')||(LA18_0>='+' && LA18_0<='\uFFFF')) ) { + alt18=1; } - switch (alt9) { + switch (alt18) { case 1 : - // InternalExport.g:10034:52: . + // InternalExport.g:26885:52: . { matchAny(); @@ -1938,7 +3029,7 @@ else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) { break; default : - break loop9; + break loop18; } } while (true); @@ -1960,25 +3051,25 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:10036:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalExport.g:10036:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalExport.g:26887:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalExport.g:26887:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // InternalExport.g:10036:24: (~ ( ( '\\n' | '\\r' ) ) )* - loop10: + // InternalExport.g:26887:24: (~ ( ( '\\n' | '\\r' ) ) )* + loop19: do { - int alt10=2; - int LA10_0 = input.LA(1); + int alt19=2; + int LA19_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; + if ( ((LA19_0>='\u0000' && LA19_0<='\t')||(LA19_0>='\u000B' && LA19_0<='\f')||(LA19_0>='\u000E' && LA19_0<='\uFFFF')) ) { + alt19=1; } - switch (alt10) { + switch (alt19) { case 1 : - // InternalExport.g:10036:24: ~ ( ( '\\n' | '\\r' ) ) + // InternalExport.g:26887: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(); @@ -1994,31 +3085,31 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { break; default : - break loop10; + break loop19; } } while (true); - // InternalExport.g:10036:40: ( ( '\\r' )? '\\n' )? - int alt12=2; - int LA12_0 = input.LA(1); + // InternalExport.g:26887:40: ( ( '\\r' )? '\\n' )? + int alt21=2; + int LA21_0 = input.LA(1); - if ( (LA12_0=='\n'||LA12_0=='\r') ) { - alt12=1; + if ( (LA21_0=='\n'||LA21_0=='\r') ) { + alt21=1; } - switch (alt12) { + switch (alt21) { case 1 : - // InternalExport.g:10036:41: ( '\\r' )? '\\n' + // InternalExport.g:26887:41: ( '\\r' )? '\\n' { - // InternalExport.g:10036:41: ( '\\r' )? - int alt11=2; - int LA11_0 = input.LA(1); + // InternalExport.g:26887:41: ( '\\r' )? + int alt20=2; + int LA20_0 = input.LA(1); - if ( (LA11_0=='\r') ) { - alt11=1; + if ( (LA20_0=='\r') ) { + alt20=1; } - switch (alt11) { + switch (alt20) { case 1 : - // InternalExport.g:10036:41: '\\r' + // InternalExport.g:26887:41: '\\r' { match('\r'); @@ -2027,647 +3118,899 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } - match('\n'); + 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; + // InternalExport.g:26889:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalExport.g:26889:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + { + // InternalExport.g:26889:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt22=0; + loop22: + do { + int alt22=2; + int LA22_0 = input.LA(1); + + if ( ((LA22_0>='\t' && LA22_0<='\n')||LA22_0=='\r'||LA22_0==' ') ) { + alt22=1; + } + + + switch (alt22) { + case 1 : + // InternalExport.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 ( cnt22 >= 1 ) break loop22; + EarlyExitException eee = + new EarlyExitException(22, input); + throw eee; + } + cnt22++; + } 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; + // InternalExport.g:26891:16: ( . ) + // InternalExport.g:26891:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // InternalExport.g:1:8: ( T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | RULE_REAL | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt23=114; + alt23 = dfa23.predict(input); + switch (alt23) { + case 1 : + // InternalExport.g:1:10: T__14 + { + mT__14(); + + } + break; + case 2 : + // InternalExport.g:1:16: T__15 + { + mT__15(); + + } + break; + case 3 : + // InternalExport.g:1:22: T__16 + { + mT__16(); + + } + break; + case 4 : + // InternalExport.g:1:28: T__17 + { + mT__17(); + + } + break; + case 5 : + // InternalExport.g:1:34: T__18 + { + mT__18(); + + } + break; + case 6 : + // InternalExport.g:1:40: T__19 + { + mT__19(); + + } + break; + case 7 : + // InternalExport.g:1:46: T__20 + { + mT__20(); + + } + break; + case 8 : + // InternalExport.g:1:52: T__21 + { + mT__21(); + + } + break; + case 9 : + // InternalExport.g:1:58: T__22 + { + mT__22(); + + } + break; + case 10 : + // InternalExport.g:1:64: T__23 + { + mT__23(); + + } + break; + case 11 : + // InternalExport.g:1:70: T__24 + { + mT__24(); + + } + break; + case 12 : + // InternalExport.g:1:76: T__25 + { + mT__25(); + + } + break; + case 13 : + // InternalExport.g:1:82: T__26 + { + mT__26(); + + } + break; + case 14 : + // InternalExport.g:1:88: T__27 + { + mT__27(); + + } + break; + case 15 : + // InternalExport.g:1:94: T__28 + { + mT__28(); + + } + break; + case 16 : + // InternalExport.g:1:100: T__29 + { + mT__29(); + + } + break; + case 17 : + // InternalExport.g:1:106: T__30 + { + mT__30(); - } - break; + } + break; + case 18 : + // InternalExport.g:1:112: T__31 + { + mT__31(); - } + } + break; + case 19 : + // InternalExport.g:1:118: T__32 + { + mT__32(); + } + break; + case 20 : + // InternalExport.g:1:124: T__33 + { + mT__33(); - } + } + break; + case 21 : + // InternalExport.g:1:130: T__34 + { + mT__34(); - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_SL_COMMENT" + } + break; + case 22 : + // InternalExport.g:1:136: T__35 + { + mT__35(); - // $ANTLR start "RULE_WS" - public final void mRULE_WS() throws RecognitionException { - try { - int _type = RULE_WS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:10038:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalExport.g:10038:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - { - // InternalExport.g:10038:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - int cnt13=0; - loop13: - do { - int alt13=2; - int LA13_0 = input.LA(1); + } + break; + case 23 : + // InternalExport.g:1:142: T__36 + { + mT__36(); - if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) { - alt13=1; } + break; + case 24 : + // InternalExport.g:1:148: T__37 + { + mT__37(); + } + break; + case 25 : + // InternalExport.g:1:154: T__38 + { + mT__38(); - switch (alt13) { - case 1 : - // InternalExport.g: - { - if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { - input.consume(); + } + break; + case 26 : + // InternalExport.g:1:160: T__39 + { + mT__39(); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} + } + break; + case 27 : + // InternalExport.g:1:166: T__40 + { + mT__40(); + } + break; + case 28 : + // InternalExport.g:1:172: T__41 + { + mT__41(); - } - break; + } + break; + case 29 : + // InternalExport.g:1:178: T__42 + { + mT__42(); - default : - if ( cnt13 >= 1 ) break loop13; - EarlyExitException eee = - new EarlyExitException(13, input); - throw eee; } - cnt13++; - } while (true); + break; + case 30 : + // InternalExport.g:1:184: T__43 + { + mT__43(); + } + break; + case 31 : + // InternalExport.g:1:190: T__44 + { + mT__44(); - } + } + break; + case 32 : + // InternalExport.g:1:196: T__45 + { + mT__45(); - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_WS" + } + break; + case 33 : + // InternalExport.g:1:202: T__46 + { + mT__46(); - // $ANTLR start "RULE_ANY_OTHER" - public final void mRULE_ANY_OTHER() throws RecognitionException { - try { - int _type = RULE_ANY_OTHER; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:10040:16: ( . ) - // InternalExport.g:10040:18: . - { - matchAny(); + } + break; + case 34 : + // InternalExport.g:1:208: T__47 + { + mT__47(); - } + } + break; + case 35 : + // InternalExport.g:1:214: T__48 + { + mT__48(); - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ANY_OTHER" + } + break; + case 36 : + // InternalExport.g:1:220: T__49 + { + mT__49(); - public void mTokens() throws RecognitionException { - // InternalExport.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 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | RULE_REAL | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) - int alt14=78; - alt14 = dfa14.predict(input); - switch (alt14) { - case 1 : - // InternalExport.g:1:10: T__12 + } + break; + case 37 : + // InternalExport.g:1:226: T__50 { - mT__12(); + mT__50(); } break; - case 2 : - // InternalExport.g:1:16: T__13 + case 38 : + // InternalExport.g:1:232: T__51 { - mT__13(); + mT__51(); } break; - case 3 : - // InternalExport.g:1:22: T__14 + case 39 : + // InternalExport.g:1:238: T__52 { - mT__14(); + mT__52(); } break; - case 4 : - // InternalExport.g:1:28: T__15 + case 40 : + // InternalExport.g:1:244: T__53 { - mT__15(); + mT__53(); } break; - case 5 : - // InternalExport.g:1:34: T__16 + case 41 : + // InternalExport.g:1:250: T__54 { - mT__16(); + mT__54(); } break; - case 6 : - // InternalExport.g:1:40: T__17 + case 42 : + // InternalExport.g:1:256: T__55 { - mT__17(); + mT__55(); } break; - case 7 : - // InternalExport.g:1:46: T__18 + case 43 : + // InternalExport.g:1:262: T__56 { - mT__18(); + mT__56(); } break; - case 8 : - // InternalExport.g:1:52: T__19 + case 44 : + // InternalExport.g:1:268: T__57 { - mT__19(); + mT__57(); } break; - case 9 : - // InternalExport.g:1:58: T__20 + case 45 : + // InternalExport.g:1:274: T__58 { - mT__20(); + mT__58(); } break; - case 10 : - // InternalExport.g:1:64: T__21 + case 46 : + // InternalExport.g:1:280: T__59 { - mT__21(); + mT__59(); } break; - case 11 : - // InternalExport.g:1:70: T__22 + case 47 : + // InternalExport.g:1:286: T__60 { - mT__22(); + mT__60(); } break; - case 12 : - // InternalExport.g:1:76: T__23 + case 48 : + // InternalExport.g:1:292: T__61 { - mT__23(); + mT__61(); } break; - case 13 : - // InternalExport.g:1:82: T__24 + case 49 : + // InternalExport.g:1:298: T__62 { - mT__24(); + mT__62(); } break; - case 14 : - // InternalExport.g:1:88: T__25 + case 50 : + // InternalExport.g:1:304: T__63 { - mT__25(); + mT__63(); } break; - case 15 : - // InternalExport.g:1:94: T__26 + case 51 : + // InternalExport.g:1:310: T__64 { - mT__26(); + mT__64(); } break; - case 16 : - // InternalExport.g:1:100: T__27 + case 52 : + // InternalExport.g:1:316: T__65 { - mT__27(); + mT__65(); } break; - case 17 : - // InternalExport.g:1:106: T__28 + case 53 : + // InternalExport.g:1:322: T__66 { - mT__28(); + mT__66(); } break; - case 18 : - // InternalExport.g:1:112: T__29 + case 54 : + // InternalExport.g:1:328: T__67 { - mT__29(); + mT__67(); } break; - case 19 : - // InternalExport.g:1:118: T__30 + case 55 : + // InternalExport.g:1:334: T__68 { - mT__30(); + mT__68(); } break; - case 20 : - // InternalExport.g:1:124: T__31 + case 56 : + // InternalExport.g:1:340: T__69 { - mT__31(); + mT__69(); } break; - case 21 : - // InternalExport.g:1:130: T__32 + case 57 : + // InternalExport.g:1:346: T__70 { - mT__32(); + mT__70(); } break; - case 22 : - // InternalExport.g:1:136: T__33 + case 58 : + // InternalExport.g:1:352: T__71 { - mT__33(); + mT__71(); } break; - case 23 : - // InternalExport.g:1:142: T__34 + case 59 : + // InternalExport.g:1:358: T__72 { - mT__34(); + mT__72(); } break; - case 24 : - // InternalExport.g:1:148: T__35 + case 60 : + // InternalExport.g:1:364: T__73 { - mT__35(); + mT__73(); } break; - case 25 : - // InternalExport.g:1:154: T__36 + case 61 : + // InternalExport.g:1:370: T__74 { - mT__36(); + mT__74(); } break; - case 26 : - // InternalExport.g:1:160: T__37 + case 62 : + // InternalExport.g:1:376: T__75 { - mT__37(); + mT__75(); } break; - case 27 : - // InternalExport.g:1:166: T__38 + case 63 : + // InternalExport.g:1:382: T__76 { - mT__38(); + mT__76(); } break; - case 28 : - // InternalExport.g:1:172: T__39 + case 64 : + // InternalExport.g:1:388: T__77 { - mT__39(); + mT__77(); } break; - case 29 : - // InternalExport.g:1:178: T__40 + case 65 : + // InternalExport.g:1:394: T__78 { - mT__40(); + mT__78(); } break; - case 30 : - // InternalExport.g:1:184: T__41 + case 66 : + // InternalExport.g:1:400: T__79 { - mT__41(); + mT__79(); } break; - case 31 : - // InternalExport.g:1:190: T__42 + case 67 : + // InternalExport.g:1:406: T__80 { - mT__42(); + mT__80(); } break; - case 32 : - // InternalExport.g:1:196: T__43 + case 68 : + // InternalExport.g:1:412: T__81 { - mT__43(); + mT__81(); } break; - case 33 : - // InternalExport.g:1:202: T__44 + case 69 : + // InternalExport.g:1:418: T__82 { - mT__44(); + mT__82(); } break; - case 34 : - // InternalExport.g:1:208: T__45 + case 70 : + // InternalExport.g:1:424: T__83 { - mT__45(); + mT__83(); } break; - case 35 : - // InternalExport.g:1:214: T__46 + case 71 : + // InternalExport.g:1:430: T__84 { - mT__46(); + mT__84(); } break; - case 36 : - // InternalExport.g:1:220: T__47 + case 72 : + // InternalExport.g:1:436: T__85 { - mT__47(); + mT__85(); } break; - case 37 : - // InternalExport.g:1:226: T__48 + case 73 : + // InternalExport.g:1:442: T__86 { - mT__48(); + mT__86(); } break; - case 38 : - // InternalExport.g:1:232: T__49 + case 74 : + // InternalExport.g:1:448: T__87 { - mT__49(); + mT__87(); } break; - case 39 : - // InternalExport.g:1:238: T__50 + case 75 : + // InternalExport.g:1:454: T__88 { - mT__50(); + mT__88(); } break; - case 40 : - // InternalExport.g:1:244: T__51 + case 76 : + // InternalExport.g:1:460: T__89 { - mT__51(); + mT__89(); } break; - case 41 : - // InternalExport.g:1:250: T__52 + case 77 : + // InternalExport.g:1:466: T__90 { - mT__52(); + mT__90(); } break; - case 42 : - // InternalExport.g:1:256: T__53 + case 78 : + // InternalExport.g:1:472: T__91 { - mT__53(); + mT__91(); } break; - case 43 : - // InternalExport.g:1:262: T__54 + case 79 : + // InternalExport.g:1:478: T__92 { - mT__54(); + mT__92(); } break; - case 44 : - // InternalExport.g:1:268: T__55 + case 80 : + // InternalExport.g:1:484: T__93 { - mT__55(); + mT__93(); } break; - case 45 : - // InternalExport.g:1:274: T__56 + case 81 : + // InternalExport.g:1:490: T__94 { - mT__56(); + mT__94(); } break; - case 46 : - // InternalExport.g:1:280: T__57 + case 82 : + // InternalExport.g:1:496: T__95 { - mT__57(); + mT__95(); } break; - case 47 : - // InternalExport.g:1:286: T__58 + case 83 : + // InternalExport.g:1:502: T__96 { - mT__58(); + mT__96(); } break; - case 48 : - // InternalExport.g:1:292: T__59 + case 84 : + // InternalExport.g:1:508: T__97 { - mT__59(); + mT__97(); } break; - case 49 : - // InternalExport.g:1:298: T__60 + case 85 : + // InternalExport.g:1:514: T__98 { - mT__60(); + mT__98(); } break; - case 50 : - // InternalExport.g:1:304: T__61 + case 86 : + // InternalExport.g:1:520: T__99 { - mT__61(); + mT__99(); } break; - case 51 : - // InternalExport.g:1:310: T__62 + case 87 : + // InternalExport.g:1:526: T__100 { - mT__62(); + mT__100(); } break; - case 52 : - // InternalExport.g:1:316: T__63 + case 88 : + // InternalExport.g:1:533: T__101 { - mT__63(); + mT__101(); } break; - case 53 : - // InternalExport.g:1:322: T__64 + case 89 : + // InternalExport.g:1:540: T__102 { - mT__64(); + mT__102(); } break; - case 54 : - // InternalExport.g:1:328: T__65 + case 90 : + // InternalExport.g:1:547: T__103 { - mT__65(); + mT__103(); } break; - case 55 : - // InternalExport.g:1:334: T__66 + case 91 : + // InternalExport.g:1:554: T__104 { - mT__66(); + mT__104(); } break; - case 56 : - // InternalExport.g:1:340: T__67 + case 92 : + // InternalExport.g:1:561: T__105 { - mT__67(); + mT__105(); } break; - case 57 : - // InternalExport.g:1:346: T__68 + case 93 : + // InternalExport.g:1:568: T__106 { - mT__68(); + mT__106(); } break; - case 58 : - // InternalExport.g:1:352: T__69 + case 94 : + // InternalExport.g:1:575: T__107 { - mT__69(); + mT__107(); } break; - case 59 : - // InternalExport.g:1:358: T__70 + case 95 : + // InternalExport.g:1:582: T__108 { - mT__70(); + mT__108(); } break; - case 60 : - // InternalExport.g:1:364: T__71 + case 96 : + // InternalExport.g:1:589: T__109 { - mT__71(); + mT__109(); } break; - case 61 : - // InternalExport.g:1:370: T__72 + case 97 : + // InternalExport.g:1:596: T__110 { - mT__72(); + mT__110(); } break; - case 62 : - // InternalExport.g:1:376: T__73 + case 98 : + // InternalExport.g:1:603: T__111 { - mT__73(); + mT__111(); } break; - case 63 : - // InternalExport.g:1:382: T__74 + case 99 : + // InternalExport.g:1:610: T__112 { - mT__74(); + mT__112(); } break; - case 64 : - // InternalExport.g:1:388: T__75 + case 100 : + // InternalExport.g:1:617: T__113 { - mT__75(); + mT__113(); } break; - case 65 : - // InternalExport.g:1:394: T__76 + case 101 : + // InternalExport.g:1:624: T__114 { - mT__76(); + mT__114(); } break; - case 66 : - // InternalExport.g:1:400: T__77 + case 102 : + // InternalExport.g:1:631: T__115 { - mT__77(); + mT__115(); } break; - case 67 : - // InternalExport.g:1:406: T__78 + case 103 : + // InternalExport.g:1:638: T__116 { - mT__78(); + mT__116(); } break; - case 68 : - // InternalExport.g:1:412: T__79 + case 104 : + // InternalExport.g:1:645: T__117 { - mT__79(); + mT__117(); } break; - case 69 : - // InternalExport.g:1:418: T__80 + case 105 : + // InternalExport.g:1:652: RULE_REAL { - mT__80(); + mRULE_REAL(); } break; - case 70 : - // InternalExport.g:1:424: T__81 + case 106 : + // InternalExport.g:1:662: RULE_HEX { - mT__81(); + mRULE_HEX(); } break; - case 71 : - // InternalExport.g:1:430: RULE_REAL + case 107 : + // InternalExport.g:1:671: RULE_INT { - mRULE_REAL(); + mRULE_INT(); } break; - case 72 : - // InternalExport.g:1:440: RULE_ID + case 108 : + // InternalExport.g:1:680: RULE_DECIMAL { - mRULE_ID(); + mRULE_DECIMAL(); } break; - case 73 : - // InternalExport.g:1:448: RULE_INT + case 109 : + // InternalExport.g:1:693: RULE_ID { - mRULE_INT(); + mRULE_ID(); } break; - case 74 : - // InternalExport.g:1:457: RULE_STRING + case 110 : + // InternalExport.g:1:701: RULE_STRING { mRULE_STRING(); } break; - case 75 : - // InternalExport.g:1:469: RULE_ML_COMMENT + case 111 : + // InternalExport.g:1:713: RULE_ML_COMMENT { mRULE_ML_COMMENT(); } break; - case 76 : - // InternalExport.g:1:485: RULE_SL_COMMENT + case 112 : + // InternalExport.g:1:729: RULE_SL_COMMENT { mRULE_SL_COMMENT(); } break; - case 77 : - // InternalExport.g:1:501: RULE_WS + case 113 : + // InternalExport.g:1:745: RULE_WS { mRULE_WS(); } break; - case 78 : - // InternalExport.g:1:509: RULE_ANY_OTHER + case 114 : + // InternalExport.g:1:753: RULE_ANY_OTHER { mRULE_ANY_OTHER(); @@ -2679,75 +4022,81 @@ public void mTokens() throws RecognitionException { } - protected DFA14 dfa14 = new DFA14(this); - static final String DFA14_eotS = - "\1\uffff\1\61\1\63\1\65\1\67\1\uffff\1\72\1\uffff\1\76\13\101\2\uffff\1\101\7\uffff\2\101\1\150\1\101\1\uffff\1\154\1\157\3\101\1\57\1\164\1\57\1\uffff\2\57\21\uffff\2\101\1\uffff\25\101\1\u0092\2\uffff\1\u0093\1\101\7\uffff\4\101\2\uffff\2\101\5\uffff\3\101\2\uffff\1\164\2\uffff\15\101\1\u00ab\1\101\1\u00ae\7\101\1\u00b6\2\101\2\uffff\5\101\1\u00bf\5\101\1\u00c5\10\101\1\u00ce\1\u00cf\1\101\1\uffff\1\u00d1\1\101\1\uffff\2\101\1\u00d5\1\u00d6\2\101\1\u00d9\1\uffff\4\101\1\uffff\1\101\1\u00df\1\101\1\uffff\5\101\1\uffff\10\101\2\uffff\1\101\1\uffff\1\101\1\u00f0\1\u00f1\2\uffff\2\101\1\uffff\5\101\1\uffff\6\101\1\u0100\1\u0101\1\u0102\1\u0103\1\101\1\u0105\1\u0106\2\101\1\u0109\2\uffff\3\101\1\u010d\2\101\1\u0110\1\101\1\u0112\3\101\1\u0116\1\101\4\uffff\1\101\2\uffff\2\101\1\uffff\3\101\1\uffff\1\u011e\1\101\1\uffff\1\u0120\1\uffff\2\101\2\uffff\7\101\1\uffff\1\101\1\uffff\3\101\1\uffff\1\u012e\1\u012f\2\101\1\u0132\1\u0133\1\u0134\1\u0135\1\101\2\uffff\1\u0137\1\u0138\4\uffff\1\u0139\3\uffff"; - static final String DFA14_eofS = - "\u013a\uffff"; - static final String DFA14_minS = - "\1\0\4\75\1\uffff\1\76\1\uffff\1\52\1\141\2\145\1\154\1\145\1\141\1\150\1\157\1\151\1\145\1\146\2\uffff\1\163\7\uffff\1\156\1\141\1\72\1\145\1\uffff\1\60\1\174\1\114\1\165\1\142\1\46\1\56\1\101\1\uffff\2\0\21\uffff\1\154\1\163\1\uffff\1\154\1\162\1\151\1\152\1\151\1\141\1\163\1\164\1\167\1\154\1\162\1\154\1\145\1\165\1\145\1\160\1\154\1\163\2\164\1\160\1\60\2\uffff\1\60\1\164\7\uffff\2\151\1\164\1\146\2\uffff\1\164\1\157\5\uffff\1\117\1\141\1\152\2\uffff\1\56\2\uffff\1\154\2\145\2\164\1\145\1\157\1\163\1\157\1\145\1\154\1\145\1\105\1\60\1\154\1\60\1\163\1\154\1\145\1\156\1\145\1\154\1\164\1\60\1\145\1\154\2\uffff\1\162\1\55\1\161\2\141\1\60\1\153\1\102\1\154\2\145\1\60\1\143\1\102\2\143\1\165\1\164\1\162\1\156\2\60\1\170\1\uffff\1\60\1\154\1\uffff\1\145\1\144\2\60\1\123\1\145\1\60\1\uffff\2\162\2\151\1\uffff\1\165\1\60\1\165\1\uffff\1\165\1\101\1\151\2\143\1\uffff\1\164\1\171\1\150\1\164\1\162\1\163\1\164\1\163\2\uffff\1\151\1\uffff\1\154\2\60\2\uffff\1\145\1\143\1\uffff\1\146\1\164\1\145\1\142\1\145\1\uffff\1\154\1\160\1\114\1\146\2\164\4\60\1\143\2\60\1\151\1\163\1\60\2\uffff\1\154\1\164\1\141\1\60\1\163\1\165\1\60\1\164\1\60\1\126\1\151\1\55\1\60\1\151\4\uffff\1\145\2\uffff\1\157\1\164\1\uffff\1\145\1\151\1\143\1\uffff\1\60\1\164\1\uffff\1\60\1\uffff\1\101\1\145\2\uffff\1\162\1\55\1\156\1\163\1\143\1\157\1\145\1\uffff\1\145\1\uffff\1\122\1\144\1\163\1\uffff\2\60\1\164\1\156\4\60\1\164\2\uffff\2\60\4\uffff\1\60\3\uffff"; - static final String DFA14_maxS = - "\1\uffff\4\75\1\uffff\1\76\1\uffff\1\57\1\157\1\167\1\145\1\170\1\165\1\157\1\171\1\157\1\151\1\145\1\156\2\uffff\1\164\7\uffff\1\162\1\145\1\72\1\157\1\uffff\1\71\1\174\1\114\1\165\1\142\1\46\1\71\1\172\1\uffff\2\uffff\21\uffff\1\154\1\163\1\uffff\1\154\1\162\1\151\1\163\1\164\1\141\1\163\1\164\1\167\1\154\1\162\1\154\1\145\1\165\1\145\1\160\1\154\1\163\2\164\1\160\1\172\2\uffff\1\172\1\164\7\uffff\2\151\1\164\1\146\2\uffff\1\164\1\157\5\uffff\1\117\1\141\1\152\2\uffff\1\71\2\uffff\1\154\2\145\2\164\1\145\1\157\1\163\1\157\1\145\1\154\1\145\1\105\1\172\1\154\1\172\1\163\1\154\1\145\1\156\1\145\1\154\1\164\1\172\1\145\1\157\2\uffff\1\162\1\55\1\161\2\141\1\172\1\153\1\102\1\154\2\145\1\172\1\143\1\102\2\143\1\165\1\164\1\162\1\156\2\172\1\170\1\uffff\1\172\1\154\1\uffff\1\145\1\144\2\172\1\123\1\145\1\172\1\uffff\2\162\2\151\1\uffff\1\165\1\172\1\165\1\uffff\1\165\1\101\1\151\2\143\1\uffff\1\164\1\171\1\150\1\164\1\162\1\163\1\164\1\163\2\uffff\1\151\1\uffff\1\154\2\172\2\uffff\1\145\1\143\1\uffff\1\146\1\164\1\145\1\142\1\145\1\uffff\1\154\1\160\1\114\1\146\2\164\4\172\1\143\2\172\1\151\1\163\1\172\2\uffff\1\154\1\164\1\141\1\172\1\163\1\165\1\172\1\164\1\172\1\126\1\151\1\55\1\172\1\151\4\uffff\1\145\2\uffff\1\157\1\164\1\uffff\1\145\1\151\1\143\1\uffff\1\172\1\164\1\uffff\1\172\1\uffff\1\101\1\145\2\uffff\1\162\1\55\1\156\1\163\1\143\1\157\1\145\1\uffff\1\145\1\uffff\1\122\1\144\1\163\1\uffff\2\172\1\164\1\156\4\172\1\164\2\uffff\2\172\4\uffff\1\172\3\uffff"; - static final String DFA14_acceptS = - "\5\uffff\1\7\1\uffff\1\11\14\uffff\1\34\1\35\1\uffff\1\41\1\42\1\43\1\45\1\46\1\50\1\51\4\uffff\1\62\10\uffff\1\110\2\uffff\1\115\1\116\1\1\1\44\1\2\1\13\1\3\1\5\1\4\1\6\1\7\1\61\1\10\1\11\1\113\1\114\1\12\2\uffff\1\110\26\uffff\1\34\1\35\2\uffff\1\41\1\42\1\43\1\45\1\46\1\50\1\51\4\uffff\1\56\1\60\2\uffff\1\62\1\71\1\107\1\102\1\72\3\uffff\1\103\1\111\1\uffff\1\112\1\115\32\uffff\1\63\1\37\27\uffff\1\74\2\uffff\1\32\7\uffff\1\30\4\uffff\1\52\3\uffff\1\57\5\uffff\1\70\10\uffff\1\47\1\65\1\uffff\1\106\3\uffff\1\24\1\64\2\uffff\1\27\5\uffff\1\55\20\uffff\1\25\1\54\16\uffff\1\15\1\22\1\66\1\17\1\uffff\1\20\1\31\2\uffff\1\23\3\uffff\1\36\2\uffff\1\77\1\uffff\1\75\2\uffff\1\100\1\14\7\uffff\1\104\1\uffff\1\67\3\uffff\1\101\11\uffff\1\40\1\21\2\uffff\1\33\1\53\1\73\1\76\1\uffff\1\105\1\26\1\16"; - static final String DFA14_specialS = - "\1\0\53\uffff\1\1\1\2\u010c\uffff}>"; - static final String[] DFA14_transitionS = { - "\11\57\2\56\2\57\1\56\22\57\1\56\1\2\1\54\3\57\1\50\1\55\1\34\1\35\1\7\1\5\1\32\1\6\1\43\1\10\12\51\1\40\1\27\1\4\1\1\1\3\1\42\1\33\2\53\1\20\3\53\1\45\4\53\1\21\6\53\1\22\7\53\1\30\1\57\1\31\1\52\1\53\1\57\1\26\1\53\1\11\1\37\1\14\1\16\2\53\1\23\2\53\1\41\1\53\1\15\1\47\1\53\1\46\1\13\1\12\1\17\1\36\5\53\1\24\1\44\1\25\uff82\57", - "\1\60", - "\1\62", - "\1\64", - "\1\66", - "", - "\1\71", + protected DFA23 dfa23 = new DFA23(this); + static final String DFA23_eotS = + "\1\uffff\1\67\1\71\1\73\1\75\1\77\1\102\1\105\1\111\1\114\1\120\12\123\1\153\1\155\1\161\2\123\2\uffff\1\123\7\uffff\2\123\1\u0087\2\123\1\uffff\3\123\2\u0092\1\64\5\uffff\1\u0097\6\uffff\1\u0099\24\uffff\2\123\1\uffff\26\123\2\uffff\1\u00bb\5\uffff\3\123\1\u00c1\2\uffff\1\u00c2\1\123\7\uffff\4\123\1\u00c8\2\uffff\3\123\1\uffff\3\123\1\uffff\2\u0092\10\uffff\22\123\1\u00e1\1\123\1\u00e4\4\123\1\u00e9\5\123\1\u00ef\2\uffff\1\u00f0\1\u00f1\3\123\2\uffff\5\123\1\uffff\1\u00fb\6\123\1\u0102\15\123\1\u0110\1\u0111\1\123\1\uffff\1\u0113\1\123\1\uffff\3\123\1\u0118\1\uffff\1\u0119\3\123\1\u011e\3\uffff\5\123\1\uffff\1\123\1\u0125\1\123\1\uffff\6\123\1\uffff\1\u012d\3\123\1\u0131\10\123\2\uffff\1\123\1\uffff\1\123\1\u013d\1\u013e\1\123\2\uffff\1\u0140\3\123\1\uffff\6\123\1\uffff\3\123\1\u014d\3\123\1\uffff\1\u0152\1\u0153\1\u0154\1\uffff\1\u0155\1\123\1\u0157\1\u0158\1\123\1\u015a\2\123\1\u015d\1\123\1\u015f\2\uffff\1\123\1\uffff\1\u0161\2\123\1\u0164\4\123\1\u0169\1\123\1\u016b\1\123\1\uffff\2\123\1\u016f\1\123\4\uffff\1\123\2\uffff\1\123\1\uffff\1\u0173\1\123\1\uffff\1\123\1\uffff\1\u0176\1\uffff\2\123\1\uffff\1\u0179\3\123\1\uffff\1\u017d\1\uffff\2\123\2\uffff\3\123\1\uffff\2\123\1\uffff\2\123\1\uffff\3\123\1\uffff\4\123\1\uffff\1\u018e\1\u018f\2\123\1\u0192\1\123\1\u0194\1\u0195\1\u0196\2\123\2\uffff\1\u0199\1\u019a\1\uffff\1\u019b\3\uffff\1\u019c\1\123\4\uffff\1\u019e\1\uffff"; + static final String DFA23_eofS = + "\u019f\uffff"; + static final String DFA23_minS = + "\1\0\1\75\1\174\1\46\3\75\1\53\1\55\2\52\1\141\2\145\1\154\1\145\1\141\1\150\1\157\1\151\1\145\1\75\2\56\1\141\1\146\2\uffff\1\163\7\uffff\1\156\1\141\1\72\1\145\1\114\1\uffff\1\150\1\165\1\142\2\56\1\44\5\uffff\1\75\6\uffff\1\75\24\uffff\1\154\1\163\1\uffff\1\154\1\162\1\141\1\160\1\151\1\156\1\152\1\151\1\141\1\163\1\164\1\167\1\154\1\162\1\154\1\145\1\165\1\145\1\160\1\154\1\163\1\164\2\uffff\1\74\5\uffff\1\154\1\160\1\163\1\44\2\uffff\1\44\1\164\7\uffff\2\151\1\164\1\146\1\44\2\uffff\1\164\1\157\1\117\1\uffff\1\151\1\141\1\152\1\uffff\1\56\1\60\10\uffff\1\154\1\145\1\143\1\145\2\164\1\145\1\164\1\143\1\145\1\165\1\157\1\163\1\145\1\157\1\154\1\145\1\105\1\44\1\154\1\44\1\163\1\154\1\141\1\145\1\44\1\156\1\157\1\145\1\154\1\164\1\44\2\uffff\2\44\1\154\1\145\1\164\2\uffff\1\162\1\55\1\161\2\141\1\uffff\1\44\1\153\1\102\2\154\2\145\1\44\1\150\1\143\1\102\1\151\1\162\1\143\1\150\1\143\1\162\1\165\1\164\1\156\1\162\2\44\1\170\1\uffff\1\44\1\154\1\uffff\1\145\1\144\1\154\1\44\1\uffff\1\44\1\167\1\123\1\145\1\44\3\uffff\1\162\1\151\1\162\1\141\1\151\1\uffff\1\165\1\44\1\165\1\uffff\1\165\1\101\1\145\1\151\2\143\1\uffff\1\44\1\164\1\171\1\143\1\44\1\150\1\162\1\164\1\156\1\162\1\163\1\144\1\164\2\uffff\1\151\1\uffff\1\154\2\44\1\154\2\uffff\1\44\1\146\1\145\1\143\1\uffff\1\164\1\145\1\146\1\156\1\142\1\145\1\uffff\1\154\1\160\1\114\1\44\1\146\2\164\1\uffff\3\44\1\uffff\1\44\1\157\2\44\1\143\1\44\1\163\1\151\1\44\1\163\1\44\2\uffff\1\171\1\uffff\1\44\1\154\1\164\1\44\1\163\1\141\1\143\1\165\1\44\1\164\1\44\1\126\1\uffff\1\151\1\55\1\44\1\151\4\uffff\1\156\2\uffff\1\145\1\uffff\1\44\1\157\1\uffff\1\164\1\uffff\1\44\1\uffff\1\145\1\151\1\uffff\1\44\1\143\1\145\1\164\1\uffff\1\44\1\uffff\1\101\1\145\2\uffff\1\162\1\151\1\55\1\uffff\1\156\1\163\1\uffff\1\143\1\157\1\uffff\1\145\1\157\1\145\1\uffff\1\122\1\144\1\163\1\172\1\uffff\2\44\1\164\1\156\1\44\1\146\3\44\1\164\1\145\2\uffff\2\44\1\uffff\1\44\3\uffff\1\44\1\144\4\uffff\1\44\1\uffff"; + static final String DFA23_maxS = + "\1\uffff\1\76\1\174\1\46\2\75\1\76\1\75\1\76\2\75\1\157\1\171\1\145\1\170\1\165\1\157\1\171\1\157\1\151\1\145\1\75\1\71\1\72\1\141\1\156\2\uffff\1\164\7\uffff\1\162\1\157\1\72\1\157\1\114\1\uffff\1\150\1\165\1\142\1\170\1\154\1\172\5\uffff\1\75\6\uffff\1\75\24\uffff\1\154\1\164\1\uffff\1\154\1\162\1\141\1\160\1\151\1\156\2\164\1\141\1\163\1\164\1\167\1\154\1\162\1\154\1\156\1\171\1\162\1\160\1\154\1\163\1\164\2\uffff\1\74\5\uffff\1\162\1\160\1\164\1\172\2\uffff\1\172\1\164\7\uffff\2\151\1\164\1\146\1\172\2\uffff\1\164\1\157\1\117\1\uffff\1\151\1\141\1\152\1\uffff\2\154\10\uffff\1\154\1\145\1\143\1\145\2\164\1\145\1\164\1\143\1\145\1\165\1\157\1\163\1\145\1\157\1\154\1\145\1\105\1\172\1\154\1\172\1\163\1\154\1\141\1\145\1\172\1\156\1\157\1\145\1\154\1\164\1\172\2\uffff\2\172\1\157\1\145\1\164\2\uffff\1\162\1\55\1\161\2\141\1\uffff\1\172\1\153\1\102\2\154\2\145\1\172\1\150\1\143\1\102\1\151\1\162\1\143\1\150\1\143\1\162\1\165\1\164\1\156\1\162\2\172\1\170\1\uffff\1\172\1\154\1\uffff\1\145\1\144\1\154\1\172\1\uffff\1\172\1\167\1\157\1\145\1\172\3\uffff\1\162\1\151\1\162\1\141\1\151\1\uffff\1\165\1\172\1\165\1\uffff\1\165\1\101\1\145\1\151\2\143\1\uffff\1\172\1\164\1\171\1\143\1\172\1\150\1\162\1\164\1\156\1\162\2\163\1\164\2\uffff\1\151\1\uffff\1\154\2\172\1\154\2\uffff\1\172\1\146\1\145\1\143\1\uffff\1\164\1\145\1\146\1\156\1\142\1\145\1\uffff\1\154\1\160\1\114\1\172\1\146\2\164\1\uffff\3\172\1\uffff\1\172\1\157\2\172\1\143\1\172\1\163\1\151\1\172\1\163\1\172\2\uffff\1\171\1\uffff\1\172\1\154\1\164\1\172\1\163\1\141\1\143\1\165\1\172\1\164\1\172\1\126\1\uffff\1\151\1\55\1\172\1\151\4\uffff\1\156\2\uffff\1\145\1\uffff\1\172\1\157\1\uffff\1\164\1\uffff\1\172\1\uffff\1\145\1\151\1\uffff\1\172\1\143\1\145\1\164\1\uffff\1\172\1\uffff\1\101\1\145\2\uffff\1\162\1\151\1\55\1\uffff\1\156\1\163\1\uffff\1\143\1\157\1\uffff\1\145\1\157\1\145\1\uffff\1\122\1\144\1\163\1\172\1\uffff\2\172\1\164\1\156\1\172\1\146\3\172\1\164\1\145\2\uffff\2\172\1\uffff\1\172\3\uffff\1\172\1\144\4\uffff\1\172\1\uffff"; + static final String DFA23_acceptS = + "\32\uffff\1\67\1\70\1\uffff\1\72\1\73\1\74\1\75\1\76\1\100\1\101\5\uffff\1\124\6\uffff\1\155\2\156\1\161\1\162\1\uffff\1\46\1\1\1\2\1\120\1\3\1\137\1\uffff\1\16\1\6\1\10\1\7\1\47\1\11\1\34\1\53\1\12\1\35\1\43\1\54\1\13\1\36\1\51\1\14\1\37\1\157\1\160\1\15\2\uffff\1\155\26\uffff\1\40\1\52\1\uffff\1\55\1\151\1\50\1\147\1\111\4\uffff\1\67\1\70\2\uffff\1\72\1\73\1\74\1\75\1\76\1\100\1\101\5\uffff\1\106\1\110\3\uffff\1\124\3\uffff\1\152\2\uffff\1\153\1\154\1\156\1\161\1\41\1\4\1\42\1\5\40\uffff\1\44\1\45\5\uffff\1\112\1\71\5\uffff\1\126\30\uffff\1\122\2\uffff\1\65\4\uffff\1\133\5\uffff\1\33\1\56\1\150\5\uffff\1\102\3\uffff\1\107\6\uffff\1\117\15\uffff\1\77\1\114\1\uffff\1\127\4\uffff\1\27\1\113\4\uffff\1\32\6\uffff\1\105\7\uffff\1\136\3\uffff\1\63\13\uffff\1\30\1\104\1\uffff\1\131\14\uffff\1\125\4\uffff\1\20\1\25\1\60\1\115\1\uffff\1\22\1\132\1\uffff\1\23\2\uffff\1\64\1\uffff\1\26\1\uffff\1\130\2\uffff\1\61\4\uffff\1\142\1\uffff\1\140\2\uffff\1\143\1\17\3\uffff\1\57\2\uffff\1\134\2\uffff\1\145\3\uffff\1\116\4\uffff\1\144\13\uffff\1\62\1\24\2\uffff\1\66\1\uffff\1\103\1\121\1\141\2\uffff\1\146\1\31\1\123\1\21\1\uffff\1\135"; + static final String DFA23_specialS = + "\1\0\u019e\uffff}>"; + static final String[] DFA23_transitionS = { + "\11\64\2\63\2\64\1\63\22\64\1\63\1\4\1\61\1\51\1\60\1\25\1\3\1\62\1\42\1\43\1\11\1\7\1\40\1\10\1\26\1\12\1\55\11\56\1\46\1\35\1\6\1\1\1\5\1\27\1\41\2\60\1\22\3\60\1\50\4\60\1\23\6\60\1\24\7\60\1\36\1\64\1\37\1\57\1\60\1\64\1\34\1\60\1\13\1\45\1\16\1\20\2\60\1\31\2\60\1\47\1\60\1\17\1\54\1\60\1\53\1\15\1\14\1\21\1\44\1\30\1\52\3\60\1\32\1\2\1\33\uff82\64", + "\1\65\1\66", + "\1\70", + "\1\72", + "\1\74", + "\1\76", + "\1\100\1\101", + "\1\104\21\uffff\1\103", + "\1\110\17\uffff\1\106\1\107", + "\1\113\22\uffff\1\112", + "\1\116\4\uffff\1\117\15\uffff\1\115", + "\1\122\15\uffff\1\121", + "\1\124\11\uffff\1\125\4\uffff\1\126\1\127\1\uffff\1\130\1\uffff\1\131", + "\1\132", + "\1\135\11\uffff\1\134\1\uffff\1\133", + "\1\137\11\uffff\1\136\5\uffff\1\140", + "\1\142\7\uffff\1\143\5\uffff\1\141", + "\1\145\11\uffff\1\144\6\uffff\1\146", + "\1\147", + "\1\150", + "\1\151", + "\1\152", + "\1\154\1\uffff\12\156", + "\1\160\13\uffff\1\157", + "\1\162", + "\1\165\6\uffff\1\163\1\164", "", - "\1\74\4\uffff\1\75", - "\1\100\15\uffff\1\77", - "\1\102\11\uffff\1\103\7\uffff\1\104", - "\1\105", - "\1\110\11\uffff\1\107\1\uffff\1\106", - "\1\112\11\uffff\1\111\5\uffff\1\113", - "\1\115\7\uffff\1\116\5\uffff\1\114", - "\1\120\11\uffff\1\117\6\uffff\1\121", - "\1\122", - "\1\123", - "\1\124", - "\1\127\6\uffff\1\126\1\125", "", + "\1\170\1\171", "", - "\1\132\1\133", "", "", "", "", "", "", + "\1\u0082\3\uffff\1\u0081", + "\1\u0083\3\uffff\1\u0084\11\uffff\1\u0085", + "\1\u0086", + "\1\u0088\11\uffff\1\u0089", + "\1\u008a", "", - "\1\144\3\uffff\1\143", - "\1\145\3\uffff\1\146", - "\1\147", - "\1\151\11\uffff\1\152", + "\1\u008c", + "\1\u008d", + "\1\u008e", + "\1\156\1\uffff\12\u0090\10\uffff\1\u0093\1\uffff\3\u0093\5\uffff\1\u0093\13\uffff\1\u008f\6\uffff\1\u0091\2\uffff\1\u0093\1\uffff\3\u0093\5\uffff\1\u0093\13\uffff\1\u008f", + "\1\156\1\uffff\12\u0090\10\uffff\1\u0093\1\uffff\3\u0093\5\uffff\1\u0093\22\uffff\1\u0091\2\uffff\1\u0093\1\uffff\3\u0093\5\uffff\1\u0093", + "\1\123\34\uffff\32\123\4\uffff\1\123\1\uffff\32\123", "", - "\12\155", - "\1\156", - "\1\160", - "\1\161", - "\1\162", - "\1\163", - "\1\155\1\uffff\12\165", - "\32\101\4\uffff\1\101\1\uffff\32\101", "", - "\0\166", - "\0\166", "", "", "", + "\1\u0096", "", "", "", "", "", "", + "\1\u0098", "", "", "", @@ -2756,35 +4105,9 @@ public void mTokens() throws RecognitionException { "", "", "", - "\1\170", - "\1\171", "", - "\1\172", - "\1\173", - "\1\174", - "\1\175\10\uffff\1\176", - "\1\177\6\uffff\1\u0080\3\uffff\1\u0081", - "\1\u0082", - "\1\u0083", - "\1\u0084", - "\1\u0085", - "\1\u0086", - "\1\u0087", - "\1\u0088", - "\1\u0089", - "\1\u008a", - "\1\u008b", - "\1\u008c", - "\1\u008d", - "\1\u008e", - "\1\u008f", - "\1\u0090", - "\1\u0091", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", "", "", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\1\u0094", "", "", "", @@ -2792,382 +4115,493 @@ public void mTokens() throws RecognitionException { "", "", "", - "\1\u0095", - "\1\u0096", - "\1\u0097", - "\1\u0098", "", "", - "\1\u0099", "\1\u009a", + "\1\u009b\1\u009c", "", - "", - "", - "", - "", - "\1\u009b", - "\1\u009c", "\1\u009d", - "", - "", - "\1\155\1\uffff\12\165", - "", - "", "\1\u009e", "\1\u009f", "\1\u00a0", "\1\u00a1", "\1\u00a2", - "\1\u00a3", - "\1\u00a4", - "\1\u00a5", - "\1\u00a6", - "\1\u00a7", - "\1\u00a8", + "\1\u00a3\10\uffff\1\u00a5\1\u00a4", + "\1\u00a6\6\uffff\1\u00a8\3\uffff\1\u00a7", "\1\u00a9", "\1\u00aa", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", + "\1\u00ab", "\1\u00ac", - "\12\101\7\uffff\1\u00ad\31\101\4\uffff\1\101\1\uffff\32\101", + "\1\u00ad", + "\1\u00ae", "\1\u00af", - "\1\u00b0", - "\1\u00b1", - "\1\u00b2", - "\1\u00b3", - "\1\u00b4", - "\1\u00b5", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", + "\1\u00b0\10\uffff\1\u00b1", + "\1\u00b2\3\uffff\1\u00b3", + "\1\u00b4\14\uffff\1\u00b5", + "\1\u00b6", "\1\u00b7", - "\1\u00b9\2\uffff\1\u00b8", + "\1\u00b8", + "\1\u00b9", "", "", "\1\u00ba", - "\1\u00bb", - "\1\u00bc", - "\1\u00bd", + "", + "", + "", + "", + "", + "\1\u00bc\5\uffff\1\u00bd", "\1\u00be", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\1\u00c0", - "\1\u00c1", - "\1\u00c2", + "\1\u00c0\1\u00bf", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "", + "", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", "\1\u00c3", + "", + "", + "", + "", + "", + "", + "", "\1\u00c4", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", + "\1\u00c5", "\1\u00c6", "\1\u00c7", - "\1\u00c8", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "", + "", "\1\u00c9", "\1\u00ca", "\1\u00cb", + "", "\1\u00cc", "\1\u00cd", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\1\u00d0", + "\1\u00ce", + "", + "\1\156\1\uffff\12\u0090\10\uffff\1\u0093\1\uffff\3\u0093\5\uffff\1\u0093\22\uffff\1\u0091\2\uffff\1\u0093\1\uffff\3\u0093\5\uffff\1\u0093", + "\12\u0091\10\uffff\1\u0093\1\uffff\3\u0093\5\uffff\1\u0093\22\uffff\1\u0091\2\uffff\1\u0093\1\uffff\3\u0093\5\uffff\1\u0093", "", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\1\u00d2", "", + "", + "", + "", + "", + "", + "", + "\1\u00cf", + "\1\u00d0", + "\1\u00d1", + "\1\u00d2", "\1\u00d3", "\1\u00d4", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", + "\1\u00d5", + "\1\u00d6", "\1\u00d7", "\1\u00d8", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "", + "\1\u00d9", "\1\u00da", "\1\u00db", "\1\u00dc", "\1\u00dd", - "", "\1\u00de", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", + "\1\u00df", "\1\u00e0", - "", - "\1\u00e1", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", "\1\u00e2", - "\1\u00e3", - "\1\u00e4", + "\1\123\13\uffff\12\123\7\uffff\1\u00e3\31\123\4\uffff\1\123\1\uffff\32\123", "\1\u00e5", - "", "\1\u00e6", "\1\u00e7", "\1\u00e8", - "\1\u00e9", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", "\1\u00ea", "\1\u00eb", "\1\u00ec", "\1\u00ed", - "", - "", "\1\u00ee", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", "", - "\1\u00ef", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "", - "", - "\1\u00f2", - "\1\u00f3", "", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u00f3\2\uffff\1\u00f2", "\1\u00f4", "\1\u00f5", + "", + "", "\1\u00f6", "\1\u00f7", "\1\u00f8", - "", "\1\u00f9", "\1\u00fa", - "\1\u00fb", + "", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", "\1\u00fc", "\1\u00fd", "\1\u00fe", - "\12\101\7\uffff\5\101\1\u00ff\24\101\4\uffff\1\101\1\uffff\32\101", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", + "\1\u00ff", + "\1\u0100", + "\1\u0101", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u0103", "\1\u0104", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", + "\1\u0105", + "\1\u0106", "\1\u0107", "\1\u0108", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "", - "", + "\1\u0109", "\1\u010a", "\1\u010b", "\1\u010c", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", + "\1\u010d", "\1\u010e", "\1\u010f", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\1\u0111", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\1\u0113", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u0112", + "", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", "\1\u0114", + "", "\1\u0115", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", + "\1\u0116", "\1\u0117", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", "", - "", - "", - "", - "\1\u0118", - "", - "", - "\1\u0119", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", "\1\u011a", - "", - "\1\u011b", - "\1\u011c", + "\1\u011c\33\uffff\1\u011b", "\1\u011d", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", "", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\1\u011f", "", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", "", + "\1\u011f", + "\1\u0120", "\1\u0121", "\1\u0122", - "", - "", "\1\u0123", + "", "\1\u0124", - "\1\u0125", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", "\1\u0126", + "", "\1\u0127", "\1\u0128", "\1\u0129", - "", "\1\u012a", - "", "\1\u012b", "\1\u012c", - "\1\u012d", "", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u012e", + "\1\u012f", "\1\u0130", - "\1\u0131", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u0132", + "\1\u0133", + "\1\u0134", + "\1\u0135", "\1\u0136", + "\1\u0137", + "\1\u0138\16\uffff\1\u0139", + "\1\u013a", + "", + "", + "\1\u013b", + "", + "\1\u013c", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u013f", + "", + "", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u0141", + "\1\u0142", + "\1\u0143", + "", + "\1\u0144", + "\1\u0145", + "\1\u0146", + "\1\u0147", + "\1\u0148", + "\1\u0149", + "", + "\1\u014a", + "\1\u014b", + "\1\u014c", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u014e", + "\1\u014f", + "\1\u0150", + "", + "\1\123\13\uffff\12\123\7\uffff\5\123\1\u0151\24\123\4\uffff\1\123\1\uffff\32\123", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u0156", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u0159", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u015b", + "\1\u015c", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u015e", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "", "", + "\1\u0160", "", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u0162", + "\1\u0163", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u0165", + "\1\u0166", + "\1\u0167", + "\1\u0168", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u016a", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u016c", "", + "\1\u016d", + "\1\u016e", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u0170", "", "", "", - "\12\101\7\uffff\32\101\4\uffff\1\101\1\uffff\32\101", "", + "\1\u0171", "", + "", + "\1\u0172", + "", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u0174", + "", + "\1\u0175", + "", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "", + "\1\u0177", + "\1\u0178", + "", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u017a", + "\1\u017b", + "\1\u017c", + "", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "", + "\1\u017e", + "\1\u017f", + "", + "", + "\1\u0180", + "\1\u0181", + "\1\u0182", + "", + "\1\u0183", + "\1\u0184", + "", + "\1\u0185", + "\1\u0186", + "", + "\1\u0187", + "\1\u0188", + "\1\u0189", + "", + "\1\u018a", + "\1\u018b", + "\1\u018c", + "\1\u018d", + "", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u0190", + "\1\u0191", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u0193", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u0197", + "\1\u0198", + "", + "", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "", + "", + "", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", + "\1\u019d", + "", + "", + "", + "", + "\1\123\13\uffff\12\123\7\uffff\32\123\4\uffff\1\123\1\uffff\32\123", "" }; - 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 final short[] DFA23_eot = DFA.unpackEncodedString(DFA23_eotS); + static final short[] DFA23_eof = DFA.unpackEncodedString(DFA23_eofS); + static final char[] DFA23_min = DFA.unpackEncodedStringToUnsignedChars(DFA23_minS); + static final char[] DFA23_max = DFA.unpackEncodedStringToUnsignedChars(DFA23_maxS); + static final short[] DFA23_accept = DFA.unpackEncodedString(DFA23_acceptS); + static final short[] DFA23_special = DFA.unpackEncodedString(DFA23_specialS); + static final short[][] DFA23_transition; static { - int numStates = DFA14_transitionS.length; - DFA14_transition = new short[numStates][]; + int numStates = DFA23_transitionS.length; + DFA23_transition = new short[numStates][]; for (int i=0; i') ) {s = 3;} + else if ( (LA23_0=='|') ) {s = 2;} - else if ( (LA14_0=='<') ) {s = 4;} + else if ( (LA23_0=='&') ) {s = 3;} - else if ( (LA14_0=='+') ) {s = 5;} + else if ( (LA23_0=='!') ) {s = 4;} - else if ( (LA14_0=='-') ) {s = 6;} + else if ( (LA23_0=='>') ) {s = 5;} - else if ( (LA14_0=='*') ) {s = 7;} + else if ( (LA23_0=='<') ) {s = 6;} - else if ( (LA14_0=='/') ) {s = 8;} + else if ( (LA23_0=='+') ) {s = 7;} - else if ( (LA14_0=='c') ) {s = 9;} + else if ( (LA23_0=='-') ) {s = 8;} - else if ( (LA14_0=='s') ) {s = 10;} + else if ( (LA23_0=='*') ) {s = 9;} - else if ( (LA14_0=='r') ) {s = 11;} + else if ( (LA23_0=='/') ) {s = 10;} - else if ( (LA14_0=='e') ) {s = 12;} + else if ( (LA23_0=='c') ) {s = 11;} - else if ( (LA14_0=='n') ) {s = 13;} + else if ( (LA23_0=='s') ) {s = 12;} - else if ( (LA14_0=='f') ) {s = 14;} + else if ( (LA23_0=='r') ) {s = 13;} - else if ( (LA14_0=='t') ) {s = 15;} + else if ( (LA23_0=='e') ) {s = 14;} - else if ( (LA14_0=='C') ) {s = 16;} + else if ( (LA23_0=='n') ) {s = 15;} - else if ( (LA14_0=='L') ) {s = 17;} + else if ( (LA23_0=='f') ) {s = 16;} - else if ( (LA14_0=='S') ) {s = 18;} + else if ( (LA23_0=='t') ) {s = 17;} - else if ( (LA14_0=='i') ) {s = 19;} + else if ( (LA23_0=='C') ) {s = 18;} - else if ( (LA14_0=='{') ) {s = 20;} + else if ( (LA23_0=='L') ) {s = 19;} - else if ( (LA14_0=='}') ) {s = 21;} + else if ( (LA23_0=='S') ) {s = 20;} - else if ( (LA14_0=='a') ) {s = 22;} + else if ( (LA23_0=='%') ) {s = 21;} - else if ( (LA14_0==';') ) {s = 23;} + else if ( (LA23_0=='.') ) {s = 22;} - else if ( (LA14_0=='[') ) {s = 24;} + else if ( (LA23_0=='?') ) {s = 23;} - else if ( (LA14_0==']') ) {s = 25;} + else if ( (LA23_0=='v') ) {s = 24;} - else if ( (LA14_0==',') ) {s = 26;} + else if ( (LA23_0=='i') ) {s = 25;} - else if ( (LA14_0=='@') ) {s = 27;} + else if ( (LA23_0=='{') ) {s = 26;} - else if ( (LA14_0=='(') ) {s = 28;} + else if ( (LA23_0=='}') ) {s = 27;} - else if ( (LA14_0==')') ) {s = 29;} + else if ( (LA23_0=='a') ) {s = 28;} - else if ( (LA14_0=='u') ) {s = 30;} + else if ( (LA23_0==';') ) {s = 29;} - else if ( (LA14_0=='d') ) {s = 31;} + else if ( (LA23_0=='[') ) {s = 30;} - else if ( (LA14_0==':') ) {s = 32;} + else if ( (LA23_0==']') ) {s = 31;} - else if ( (LA14_0=='l') ) {s = 33;} + else if ( (LA23_0==',') ) {s = 32;} - else if ( (LA14_0=='?') ) {s = 34;} + else if ( (LA23_0=='@') ) {s = 33;} - else if ( (LA14_0=='.') ) {s = 35;} + else if ( (LA23_0=='(') ) {s = 34;} - else if ( (LA14_0=='|') ) {s = 36;} + else if ( (LA23_0==')') ) {s = 35;} - else if ( (LA14_0=='G') ) {s = 37;} + else if ( (LA23_0=='u') ) {s = 36;} - else if ( (LA14_0=='q') ) {s = 38;} + else if ( (LA23_0=='d') ) {s = 37;} - else if ( (LA14_0=='o') ) {s = 39;} + else if ( (LA23_0==':') ) {s = 38;} - else if ( (LA14_0=='&') ) {s = 40;} + else if ( (LA23_0=='l') ) {s = 39;} - else if ( ((LA14_0>='0' && LA14_0<='9')) ) {s = 41;} + else if ( (LA23_0=='G') ) {s = 40;} - else if ( (LA14_0=='^') ) {s = 42;} + else if ( (LA23_0=='#') ) {s = 41;} - else if ( ((LA14_0>='A' && LA14_0<='B')||(LA14_0>='D' && LA14_0<='F')||(LA14_0>='H' && LA14_0<='K')||(LA14_0>='M' && LA14_0<='R')||(LA14_0>='T' && LA14_0<='Z')||LA14_0=='_'||LA14_0=='b'||(LA14_0>='g' && LA14_0<='h')||(LA14_0>='j' && LA14_0<='k')||LA14_0=='m'||LA14_0=='p'||(LA14_0>='v' && LA14_0<='z')) ) {s = 43;} + else if ( (LA23_0=='w') ) {s = 42;} - else if ( (LA14_0=='\"') ) {s = 44;} + else if ( (LA23_0=='q') ) {s = 43;} - else if ( (LA14_0=='\'') ) {s = 45;} + else if ( (LA23_0=='o') ) {s = 44;} - else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 46;} + else if ( (LA23_0=='0') ) {s = 45;} - 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<='\uFFFF')) ) {s = 47;} + else if ( ((LA23_0>='1' && LA23_0<='9')) ) {s = 46;} - if ( s>=0 ) return s; - break; - case 1 : - int LA14_44 = input.LA(1); + else if ( (LA23_0=='^') ) {s = 47;} - s = -1; - if ( ((LA14_44>='\u0000' && LA14_44<='\uFFFF')) ) {s = 118;} + else if ( (LA23_0=='$'||(LA23_0>='A' && LA23_0<='B')||(LA23_0>='D' && LA23_0<='F')||(LA23_0>='H' && LA23_0<='K')||(LA23_0>='M' && LA23_0<='R')||(LA23_0>='T' && LA23_0<='Z')||LA23_0=='_'||LA23_0=='b'||(LA23_0>='g' && LA23_0<='h')||(LA23_0>='j' && LA23_0<='k')||LA23_0=='m'||LA23_0=='p'||(LA23_0>='x' && LA23_0<='z')) ) {s = 48;} - else s = 47; + else if ( (LA23_0=='\"') ) {s = 49;} - if ( s>=0 ) return s; - break; - case 2 : - int LA14_45 = input.LA(1); + else if ( (LA23_0=='\'') ) {s = 50;} - s = -1; - if ( ((LA14_45>='\u0000' && LA14_45<='\uFFFF')) ) {s = 118;} + else if ( ((LA23_0>='\t' && LA23_0<='\n')||LA23_0=='\r'||LA23_0==' ') ) {s = 51;} - else s = 47; + else if ( ((LA23_0>='\u0000' && LA23_0<='\b')||(LA23_0>='\u000B' && LA23_0<='\f')||(LA23_0>='\u000E' && LA23_0<='\u001F')||LA23_0=='\\'||LA23_0=='`'||(LA23_0>='~' && LA23_0<='\uFFFF')) ) {s = 52;} if ( s>=0 ) return s; break; } NoViableAltException nvae = - new NoViableAltException(getDescription(), 14, _s, input); + new NoViableAltException(getDescription(), 23, _s, input); error(nvae); throw nvae; } diff --git a/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/internal/InternalExportParser.java b/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/internal/InternalExportParser.java index 6e68fd3970..b05f403101 100644 --- a/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/internal/InternalExportParser.java +++ b/com.avaloq.tools.ddk.xtext.export.ide/src-gen/com/avaloq/tools/ddk/xtext/export/ide/contentassist/antlr/internal/InternalExportParser.java @@ -23,21 +23,14 @@ @SuppressWarnings("all") public class InternalExportParser extends AbstractInternalContentAssistParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_REAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'+'", "'-'", "'*'", "'/'", "'!'", "'collect'", "'select'", "'selectFirst'", "'reject'", "'exists'", "'notExists'", "'sortBy'", "'forAll'", "'true'", "'false'", "'Collection'", "'List'", "'Set'", "'export'", "'for'", "'interface'", "'{'", "'}'", "'import'", "'as'", "'extension'", "';'", "'['", "']'", "'='", "','", "'@'", "'eval'", "'('", "')'", "'uri-fragment'", "'attribute'", "'field'", "'data'", "'::'", "'let'", "':'", "'->'", "'?'", "'if'", "'then'", "'else'", "'switch'", "'default'", "'case'", "'.'", "'|'", "'GLOBALVAR'", "'new'", "'lookup'", "'qualified'", "'unique'", "'object-fingerprint'", "'resource-fingerprint'", "'||'", "'&&'", "'implies'", "'typeSelect'", "'null'" + "", "", "", "", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_STRING", "RULE_REAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'='", "'||'", "'&&'", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'+'", "'-'", "'*'", "'/'", "'!'", "'collect'", "'select'", "'selectFirst'", "'reject'", "'exists'", "'notExists'", "'sortBy'", "'forAll'", "'true'", "'false'", "'Collection'", "'List'", "'Set'", "'+='", "'-='", "'*='", "'/='", "'%='", "'==='", "'!=='", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'**'", "'%'", "'++'", "'--'", "'.'", "'val'", "'extends'", "'static'", "'import'", "'extension'", "'super'", "'export'", "'for'", "'interface'", "'{'", "'}'", "'as'", "';'", "'['", "']'", "','", "'@'", "'eval'", "'('", "')'", "'uri-fragment'", "'attribute'", "'field'", "'data'", "'::'", "'let'", "':'", "'?'", "'if'", "'then'", "'else'", "'switch'", "'default'", "'case'", "'|'", "'GLOBALVAR'", "'new'", "'instanceof'", "'#'", "'while'", "'do'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'&'", "'lookup'", "'qualified'", "'unique'", "'object-fingerprint'", "'resource-fingerprint'", "'implies'", "'typeSelect'", "'?.'", "'var'" }; + public static final int RULE_HEX=5; public static final int T__50=50; - public static final int T__19=19; - public static final int T__15=15; public static final int T__59=59; - public static final int T__16=16; - public static final int T__17=17; - public static final int T__18=18; public static final int T__55=55; - public static final int T__12=12; public static final int T__56=56; - public static final int T__13=13; public static final int T__57=57; - public static final int T__14=14; public static final int T__58=58; public static final int T__51=51; public static final int T__52=52; @@ -46,54 +39,27 @@ public class InternalExportParser extends AbstractInternalContentAssistParser { public static final int T__60=60; public static final int T__61=61; public static final int RULE_ID=4; - public static final int RULE_REAL=7; - public static final int T__26=26; - public static final int T__27=27; - public static final int T__28=28; + public static final int RULE_REAL=9; public static final int RULE_INT=6; - public static final int T__29=29; - public static final int T__22=22; public static final int T__66=66; - public static final int RULE_ML_COMMENT=8; - public static final int T__23=23; + public static final int RULE_ML_COMMENT=10; public static final int T__67=67; - public static final int T__24=24; public static final int T__68=68; - public static final int T__25=25; public static final int T__69=69; public static final int T__62=62; public static final int T__63=63; - public static final int T__20=20; public static final int T__64=64; - public static final int T__21=21; public static final int T__65=65; - public static final int T__70=70; - public static final int T__71=71; - public static final int T__72=72; - public static final int RULE_STRING=5; - public static final int RULE_SL_COMMENT=9; public static final int T__37=37; public static final int T__38=38; public static final int T__39=39; public static final int T__33=33; - public static final int T__77=77; public static final int T__34=34; - public static final int T__78=78; public static final int T__35=35; - public static final int T__79=79; public static final int T__36=36; - public static final int T__73=73; - public static final int EOF=-1; public static final int T__30=30; - public static final int T__74=74; public static final int T__31=31; - public static final int T__75=75; public static final int T__32=32; - public static final int T__76=76; - public static final int T__80=80; - public static final int T__81=81; - public static final int RULE_WS=10; - public static final int RULE_ANY_OTHER=11; public static final int T__48=48; public static final int T__49=49; public static final int T__44=44; @@ -104,6 +70,76 @@ public class InternalExportParser extends AbstractInternalContentAssistParser { public static final int T__41=41; public static final int T__42=42; public static final int T__43=43; + public static final int T__91=91; + public static final int T__100=100; + public static final int T__92=92; + public static final int T__93=93; + public static final int T__102=102; + public static final int T__94=94; + public static final int T__101=101; + public static final int T__90=90; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__99=99; + public static final int T__14=14; + public static final int T__95=95; + public static final int T__96=96; + public static final int T__97=97; + public static final int T__98=98; + public static final int RULE_DECIMAL=7; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int T__29=29; + public static final int T__22=22; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + public static final int T__70=70; + public static final int T__71=71; + public static final int T__72=72; + public static final int RULE_STRING=8; + public static final int RULE_SL_COMMENT=11; + public static final int T__77=77; + public static final int T__78=78; + public static final int T__79=79; + public static final int T__73=73; + public static final int T__115=115; + public static final int EOF=-1; + public static final int T__74=74; + public static final int T__114=114; + public static final int T__75=75; + public static final int T__117=117; + public static final int T__76=76; + public static final int T__116=116; + public static final int T__80=80; + public static final int T__111=111; + public static final int T__81=81; + public static final int T__110=110; + public static final int T__82=82; + public static final int T__113=113; + public static final int T__83=83; + public static final int T__112=112; + public static final int RULE_WS=12; + public static final int RULE_ANY_OTHER=13; + public static final int T__88=88; + public static final int T__108=108; + public static final int T__89=89; + public static final int T__107=107; + public static final int T__109=109; + public static final int T__84=84; + public static final int T__104=104; + public static final int T__85=85; + public static final int T__103=103; + public static final int T__86=86; + public static final int T__106=106; + public static final int T__87=87; + public static final int T__105=105; // delegates // delegators @@ -4295,212 +4331,230 @@ public final void ruleIdentifier() throws RecognitionException { // $ANTLR end "ruleIdentifier" - // $ANTLR start "rule__InterfaceItem__Alternatives" - // InternalExport.g:1278:1: rule__InterfaceItem__Alternatives : ( ( ruleInterfaceField ) | ( ruleInterfaceNavigation ) | ( ruleInterfaceExpression ) ); - public final void rule__InterfaceItem__Alternatives() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXExpression" + // InternalExport.g:1279:1: entryRuleXExpression : ruleXExpression EOF ; + public final void entryRuleXExpression() throws RecognitionException { try { - // InternalExport.g:1282:1: ( ( ruleInterfaceField ) | ( ruleInterfaceNavigation ) | ( ruleInterfaceExpression ) ) - int alt1=3; - switch ( input.LA(1) ) { - case RULE_ID: - case 18: - { - alt1=1; - } - break; - case 49: - { - alt1=2; - } - break; - case 50: - { - alt1=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 1, 0, input); + // InternalExport.g:1280:1: ( ruleXExpression EOF ) + // InternalExport.g:1281:1: ruleXExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXExpression(); - throw nvae; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionRule()); } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - switch (alt1) { - case 1 : - // InternalExport.g:1283:2: ( ruleInterfaceField ) - { - // InternalExport.g:1283:2: ( ruleInterfaceField ) - // InternalExport.g:1284:3: ruleInterfaceField - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceItemAccess().getInterfaceFieldParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleInterfaceField(); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceItemAccess().getInterfaceFieldParserRuleCall_0()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXExpression" - } + // $ANTLR start "ruleXExpression" + // InternalExport.g:1288:1: ruleXExpression : ( ruleXAssignment ) ; + public final void ruleXExpression() throws RecognitionException { - } - break; - case 2 : - // InternalExport.g:1289:2: ( ruleInterfaceNavigation ) - { - // InternalExport.g:1289:2: ( ruleInterfaceNavigation ) - // InternalExport.g:1290:3: ruleInterfaceNavigation - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceItemAccess().getInterfaceNavigationParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleInterfaceNavigation(); + int stackSize = keepStackSize(); + + try { + // InternalExport.g:1292:2: ( ( ruleXAssignment ) ) + // InternalExport.g:1293:2: ( ruleXAssignment ) + { + // InternalExport.g:1293:2: ( ruleXAssignment ) + // InternalExport.g:1294:3: ruleXAssignment + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); + } + pushFollow(FOLLOW_2); + ruleXAssignment(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceItemAccess().getInterfaceNavigationParserRuleCall_1()); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); + } - } + } - } - break; - case 3 : - // InternalExport.g:1295:2: ( ruleInterfaceExpression ) - { - // InternalExport.g:1295:2: ( ruleInterfaceExpression ) - // InternalExport.g:1296:3: ruleInterfaceExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceItemAccess().getInterfaceExpressionParserRuleCall_2()); - } - pushFollow(FOLLOW_2); - ruleInterfaceExpression(); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceItemAccess().getInterfaceExpressionParserRuleCall_2()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); + } + return ; + } + // $ANTLR end "ruleXExpression" - } - break; + + // $ANTLR start "entryRuleXAssignment" + // InternalExport.g:1304:1: entryRuleXAssignment : ruleXAssignment EOF ; + public final void entryRuleXAssignment() throws RecognitionException { + try { + // InternalExport.g:1305:1: ( ruleXAssignment EOF ) + // InternalExport.g:1306:1: ruleXAssignment EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentRule()); + } + pushFollow(FOLLOW_1); + ruleXAssignment(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__InterfaceItem__Alternatives" + // $ANTLR end "entryRuleXAssignment" - // $ANTLR start "rule__Export__Alternatives_7_0" - // InternalExport.g:1305:1: rule__Export__Alternatives_7_0 : ( ( ( rule__Export__FingerprintAssignment_7_0_0 ) ) | ( ( rule__Export__ResourceFingerprintAssignment_7_0_1 ) ) ); - public final void rule__Export__Alternatives_7_0() throws RecognitionException { + // $ANTLR start "ruleXAssignment" + // InternalExport.g:1313:1: ruleXAssignment : ( ( rule__XAssignment__Alternatives ) ) ; + public final void ruleXAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:1309:1: ( ( ( rule__Export__FingerprintAssignment_7_0_0 ) ) | ( ( rule__Export__ResourceFingerprintAssignment_7_0_1 ) ) ) - int alt2=2; - int LA2_0 = input.LA(1); + // InternalExport.g:1317:2: ( ( ( rule__XAssignment__Alternatives ) ) ) + // InternalExport.g:1318:2: ( ( rule__XAssignment__Alternatives ) ) + { + // InternalExport.g:1318:2: ( ( rule__XAssignment__Alternatives ) ) + // InternalExport.g:1319:3: ( rule__XAssignment__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getAlternatives()); + } + // InternalExport.g:1320:3: ( rule__XAssignment__Alternatives ) + // InternalExport.g:1320:4: rule__XAssignment__Alternatives + { + pushFollow(FOLLOW_2); + rule__XAssignment__Alternatives(); + + state._fsp--; + if (state.failed) return ; - if ( (LA2_0==75) ) { - alt2=1; } - else if ( (LA2_0==76) ) { - alt2=2; + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getAlternatives()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 2, 0, input); - throw nvae; } - switch (alt2) { - case 1 : - // InternalExport.g:1310:2: ( ( rule__Export__FingerprintAssignment_7_0_0 ) ) - { - // InternalExport.g:1310:2: ( ( rule__Export__FingerprintAssignment_7_0_0 ) ) - // InternalExport.g:1311:3: ( rule__Export__FingerprintAssignment_7_0_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getFingerprintAssignment_7_0_0()); - } - // InternalExport.g:1312:3: ( rule__Export__FingerprintAssignment_7_0_0 ) - // InternalExport.g:1312:4: rule__Export__FingerprintAssignment_7_0_0 - { - pushFollow(FOLLOW_2); - rule__Export__FingerprintAssignment_7_0_0(); - state._fsp--; - if (state.failed) return ; - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getFingerprintAssignment_7_0_0()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); + } + return ; + } + // $ANTLR end "ruleXAssignment" - } - break; - case 2 : - // InternalExport.g:1316:2: ( ( rule__Export__ResourceFingerprintAssignment_7_0_1 ) ) - { - // InternalExport.g:1316:2: ( ( rule__Export__ResourceFingerprintAssignment_7_0_1 ) ) - // InternalExport.g:1317:3: ( rule__Export__ResourceFingerprintAssignment_7_0_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getResourceFingerprintAssignment_7_0_1()); - } - // InternalExport.g:1318:3: ( rule__Export__ResourceFingerprintAssignment_7_0_1 ) - // InternalExport.g:1318:4: rule__Export__ResourceFingerprintAssignment_7_0_1 - { - pushFollow(FOLLOW_2); - rule__Export__ResourceFingerprintAssignment_7_0_1(); - state._fsp--; - if (state.failed) return ; + // $ANTLR start "entryRuleOpSingleAssign" + // InternalExport.g:1329:1: entryRuleOpSingleAssign : ruleOpSingleAssign EOF ; + public final void entryRuleOpSingleAssign() throws RecognitionException { + try { + // InternalExport.g:1330:1: ( ruleOpSingleAssign EOF ) + // InternalExport.g:1331:1: ruleOpSingleAssign EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpSingleAssignRule()); + } + pushFollow(FOLLOW_1); + ruleOpSingleAssign(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpSingleAssignRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getResourceFingerprintAssignment_7_0_1()); - } + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpSingleAssign" - } - break; + // $ANTLR start "ruleOpSingleAssign" + // InternalExport.g:1338:1: ruleOpSingleAssign : ( '=' ) ; + public final void ruleOpSingleAssign() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:1342:2: ( ( '=' ) ) + // InternalExport.g:1343:2: ( '=' ) + { + // InternalExport.g:1343:2: ( '=' ) + // InternalExport.g:1344:3: '=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); + } + match(input,14,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); + } } + + + } + } catch (RecognitionException re) { reportError(re); @@ -4513,601 +4567,399 @@ else if ( (LA2_0==76) ) { } return ; } - // $ANTLR end "rule__Export__Alternatives_7_0" - + // $ANTLR end "ruleOpSingleAssign" - // $ANTLR start "rule__Export__Alternatives_8" - // InternalExport.g:1326:1: rule__Export__Alternatives_8 : ( ( ( rule__Export__Group_8_0__0 ) ) | ( ( rule__Export__Group_8_1__0 ) ) ); - public final void rule__Export__Alternatives_8() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleOpMultiAssign" + // InternalExport.g:1354:1: entryRuleOpMultiAssign : ruleOpMultiAssign EOF ; + public final void entryRuleOpMultiAssign() throws RecognitionException { try { - // InternalExport.g:1330:1: ( ( ( rule__Export__Group_8_0__0 ) ) | ( ( rule__Export__Group_8_1__0 ) ) ) - int alt3=2; - int LA3_0 = input.LA(1); + // InternalExport.g:1355:1: ( ruleOpMultiAssign EOF ) + // InternalExport.g:1356:1: ruleOpMultiAssign EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignRule()); + } + pushFollow(FOLLOW_1); + ruleOpMultiAssign(); - if ( (LA3_0==55) ) { - alt3=1; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignRule()); } - else if ( (LA3_0==56) ) { - alt3=2; + match(input,EOF,FOLLOW_2); if (state.failed) return ; + } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 3, 0, input); - throw nvae; + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpMultiAssign" + + + // $ANTLR start "ruleOpMultiAssign" + // InternalExport.g:1363:1: ruleOpMultiAssign : ( ( rule__OpMultiAssign__Alternatives ) ) ; + public final void ruleOpMultiAssign() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:1367:2: ( ( ( rule__OpMultiAssign__Alternatives ) ) ) + // InternalExport.g:1368:2: ( ( rule__OpMultiAssign__Alternatives ) ) + { + // InternalExport.g:1368:2: ( ( rule__OpMultiAssign__Alternatives ) ) + // InternalExport.g:1369:3: ( rule__OpMultiAssign__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getAlternatives()); } - switch (alt3) { - case 1 : - // InternalExport.g:1331:2: ( ( rule__Export__Group_8_0__0 ) ) - { - // InternalExport.g:1331:2: ( ( rule__Export__Group_8_0__0 ) ) - // InternalExport.g:1332:3: ( rule__Export__Group_8_0__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getGroup_8_0()); - } - // InternalExport.g:1333:3: ( rule__Export__Group_8_0__0 ) - // InternalExport.g:1333:4: rule__Export__Group_8_0__0 - { - pushFollow(FOLLOW_2); - rule__Export__Group_8_0__0(); + // InternalExport.g:1370:3: ( rule__OpMultiAssign__Alternatives ) + // InternalExport.g:1370:4: rule__OpMultiAssign__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Alternatives(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getGroup_8_0()); - } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getAlternatives()); + } - } + } - } - break; - case 2 : - // InternalExport.g:1337:2: ( ( rule__Export__Group_8_1__0 ) ) - { - // InternalExport.g:1337:2: ( ( rule__Export__Group_8_1__0 ) ) - // InternalExport.g:1338:3: ( rule__Export__Group_8_1__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getGroup_8_1()); - } - // InternalExport.g:1339:3: ( rule__Export__Group_8_1__0 ) - // InternalExport.g:1339:4: rule__Export__Group_8_1__0 - { - pushFollow(FOLLOW_2); - rule__Export__Group_8_1__0(); + } - state._fsp--; - if (state.failed) return ; + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getGroup_8_1()); - } + } + return ; + } + // $ANTLR end "ruleOpMultiAssign" - } + // $ANTLR start "entryRuleXOrExpression" + // InternalExport.g:1379:1: entryRuleXOrExpression : ruleXOrExpression EOF ; + public final void entryRuleXOrExpression() throws RecognitionException { + try { + // InternalExport.g:1380:1: ( ruleXOrExpression EOF ) + // InternalExport.g:1381:1: ruleXOrExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXOrExpression(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Export__Alternatives_8" + // $ANTLR end "entryRuleXOrExpression" - // $ANTLR start "rule__Expression__Alternatives" - // InternalExport.g:1347:1: rule__Expression__Alternatives : ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) ); - public final void rule__Expression__Alternatives() throws RecognitionException { + // $ANTLR start "ruleXOrExpression" + // InternalExport.g:1388:1: ruleXOrExpression : ( ( rule__XOrExpression__Group__0 ) ) ; + public final void ruleXOrExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:1351:1: ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) ) - int alt4=3; - alt4 = dfa4.predict(input); - switch (alt4) { - case 1 : - // InternalExport.g:1352:2: ( ruleLetExpression ) - { - // InternalExport.g:1352:2: ( ruleLetExpression ) - // InternalExport.g:1353:3: ruleLetExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleLetExpression(); - - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); - } - - } + // InternalExport.g:1392:2: ( ( ( rule__XOrExpression__Group__0 ) ) ) + // InternalExport.g:1393:2: ( ( rule__XOrExpression__Group__0 ) ) + { + // InternalExport.g:1393:2: ( ( rule__XOrExpression__Group__0 ) ) + // InternalExport.g:1394:3: ( rule__XOrExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getGroup()); + } + // InternalExport.g:1395:3: ( rule__XOrExpression__Group__0 ) + // InternalExport.g:1395:4: rule__XOrExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group__0(); + state._fsp--; + if (state.failed) return ; - } - break; - case 2 : - // InternalExport.g:1358:2: ( ( ruleCastedExpression ) ) - { - // InternalExport.g:1358:2: ( ( ruleCastedExpression ) ) - // InternalExport.g:1359:3: ( ruleCastedExpression ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); - } - // InternalExport.g:1360:3: ( ruleCastedExpression ) - // InternalExport.g:1360:4: ruleCastedExpression - { - pushFollow(FOLLOW_2); - ruleCastedExpression(); + } - state._fsp--; - if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getGroup()); + } - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 3 : - // InternalExport.g:1364:2: ( ruleChainExpression ) - { - // InternalExport.g:1364:2: ( ruleChainExpression ) - // InternalExport.g:1365:3: ruleChainExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); - } - pushFollow(FOLLOW_2); - ruleChainExpression(); + restoreStackSize(stackSize); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); - } + } + return ; + } + // $ANTLR end "ruleXOrExpression" - } + // $ANTLR start "entryRuleOpOr" + // InternalExport.g:1404:1: entryRuleOpOr : ruleOpOr EOF ; + public final void entryRuleOpOr() throws RecognitionException { + try { + // InternalExport.g:1405:1: ( ruleOpOr EOF ) + // InternalExport.g:1406:1: ruleOpOr EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOrRule()); + } + pushFollow(FOLLOW_1); + ruleOpOr(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOrRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Expression__Alternatives" + // $ANTLR end "entryRuleOpOr" - // $ANTLR start "rule__ChainedExpression__Alternatives" - // InternalExport.g:1374:1: rule__ChainedExpression__Alternatives : ( ( ruleIfExpressionKw ) | ( ruleIfExpressionTri ) | ( ruleSwitchExpression ) ); - public final void rule__ChainedExpression__Alternatives() throws RecognitionException { + // $ANTLR start "ruleOpOr" + // InternalExport.g:1413:1: ruleOpOr : ( '||' ) ; + public final void ruleOpOr() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:1378:1: ( ( ruleIfExpressionKw ) | ( ruleIfExpressionTri ) | ( ruleSwitchExpression ) ) - int alt5=3; - switch ( input.LA(1) ) { - case 62: - { - alt5=1; - } - break; - case RULE_ID: - case RULE_STRING: - case RULE_INT: - case RULE_REAL: - case 19: - case 22: - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - case 31: - case 32: - case 33: - case 34: - case 35: - case 39: - case 51: - case 70: - case 71: - case 80: - case 81: - { - alt5=2; - } - break; - case 65: - { - alt5=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 5, 0, input); - - throw nvae; + // InternalExport.g:1417:2: ( ( '||' ) ) + // InternalExport.g:1418:2: ( '||' ) + { + // InternalExport.g:1418:2: ( '||' ) + // InternalExport.g:1419:3: '||' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); + } + match(input,15,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); } - switch (alt5) { - case 1 : - // InternalExport.g:1379:2: ( ruleIfExpressionKw ) - { - // InternalExport.g:1379:2: ( ruleIfExpressionKw ) - // InternalExport.g:1380:3: ruleIfExpressionKw - { - if ( state.backtracking==0 ) { - before(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleIfExpressionKw(); - - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); - } - - } - - - } - break; - case 2 : - // InternalExport.g:1385:2: ( ruleIfExpressionTri ) - { - // InternalExport.g:1385:2: ( ruleIfExpressionTri ) - // InternalExport.g:1386:3: ruleIfExpressionTri - { - if ( state.backtracking==0 ) { - before(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleIfExpressionTri(); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 3 : - // InternalExport.g:1391:2: ( ruleSwitchExpression ) - { - // InternalExport.g:1391:2: ( ruleSwitchExpression ) - // InternalExport.g:1392:3: ruleSwitchExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); - } - pushFollow(FOLLOW_2); - ruleSwitchExpression(); + restoreStackSize(stackSize); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); - } + } + return ; + } + // $ANTLR end "ruleOpOr" - } + // $ANTLR start "entryRuleXAndExpression" + // InternalExport.g:1429:1: entryRuleXAndExpression : ruleXAndExpression EOF ; + public final void entryRuleXAndExpression() throws RecognitionException { + try { + // InternalExport.g:1430:1: ( ruleXAndExpression EOF ) + // InternalExport.g:1431:1: ruleXAndExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXAndExpression(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ChainedExpression__Alternatives" + // $ANTLR end "entryRuleXAndExpression" - // $ANTLR start "rule__RelationalExpression__OperatorAlternatives_1_1_0" - // InternalExport.g:1401:1: rule__RelationalExpression__OperatorAlternatives_1_1_0 : ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ); - public final void rule__RelationalExpression__OperatorAlternatives_1_1_0() throws RecognitionException { + // $ANTLR start "ruleXAndExpression" + // InternalExport.g:1438:1: ruleXAndExpression : ( ( rule__XAndExpression__Group__0 ) ) ; + public final void ruleXAndExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:1405:1: ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ) - int alt6=6; - switch ( input.LA(1) ) { - case 12: - { - alt6=1; - } - break; - case 13: - { - alt6=2; - } - break; - case 14: - { - alt6=3; - } - break; - case 15: - { - alt6=4; - } - break; - case 16: - { - alt6=5; - } - break; - case 17: - { - alt6=6; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 6, 0, input); - - throw nvae; + // InternalExport.g:1442:2: ( ( ( rule__XAndExpression__Group__0 ) ) ) + // InternalExport.g:1443:2: ( ( rule__XAndExpression__Group__0 ) ) + { + // InternalExport.g:1443:2: ( ( rule__XAndExpression__Group__0 ) ) + // InternalExport.g:1444:3: ( rule__XAndExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getGroup()); } + // InternalExport.g:1445:3: ( rule__XAndExpression__Group__0 ) + // InternalExport.g:1445:4: rule__XAndExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group__0(); - switch (alt6) { - case 1 : - // InternalExport.g:1406:2: ( '==' ) - { - // InternalExport.g:1406:2: ( '==' ) - // InternalExport.g:1407:3: '==' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); - } - match(input,12,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); - } - - } - - - } - break; - case 2 : - // InternalExport.g:1412:2: ( '!=' ) - { - // InternalExport.g:1412:2: ( '!=' ) - // InternalExport.g:1413:3: '!=' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); - } - match(input,13,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); - } - - } - - - } - break; - case 3 : - // InternalExport.g:1418:2: ( '>=' ) - { - // InternalExport.g:1418:2: ( '>=' ) - // InternalExport.g:1419:3: '>=' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); - } - match(input,14,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); - } - - } + state._fsp--; + if (state.failed) return ; + } - } - break; - case 4 : - // InternalExport.g:1424:2: ( '<=' ) - { - // InternalExport.g:1424:2: ( '<=' ) - // InternalExport.g:1425:3: '<=' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); - } - match(input,15,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getGroup()); + } - } + } - } - break; - case 5 : - // InternalExport.g:1430:2: ( '>' ) - { - // InternalExport.g:1430:2: ( '>' ) - // InternalExport.g:1431:3: '>' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); - } - match(input,16,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); - } + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + restoreStackSize(stackSize); - } - break; - case 6 : - // InternalExport.g:1436:2: ( '<' ) - { - // InternalExport.g:1436:2: ( '<' ) - // InternalExport.g:1437:3: '<' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); - } - match(input,17,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); - } + } + return ; + } + // $ANTLR end "ruleXAndExpression" - } + // $ANTLR start "entryRuleOpAnd" + // InternalExport.g:1454:1: entryRuleOpAnd : ruleOpAnd EOF ; + public final void entryRuleOpAnd() throws RecognitionException { + try { + // InternalExport.g:1455:1: ( ruleOpAnd EOF ) + // InternalExport.g:1456:1: ruleOpAnd EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAndRule()); + } + pushFollow(FOLLOW_1); + ruleOpAnd(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAndRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__RelationalExpression__OperatorAlternatives_1_1_0" + // $ANTLR end "entryRuleOpAnd" - // $ANTLR start "rule__AdditiveExpression__NameAlternatives_1_1_0" - // InternalExport.g:1446:1: rule__AdditiveExpression__NameAlternatives_1_1_0 : ( ( '+' ) | ( '-' ) ); - public final void rule__AdditiveExpression__NameAlternatives_1_1_0() throws RecognitionException { + // $ANTLR start "ruleOpAnd" + // InternalExport.g:1463:1: ruleOpAnd : ( '&&' ) ; + public final void ruleOpAnd() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:1450:1: ( ( '+' ) | ( '-' ) ) - int alt7=2; - int LA7_0 = input.LA(1); - - if ( (LA7_0==18) ) { - alt7=1; + // InternalExport.g:1467:2: ( ( '&&' ) ) + // InternalExport.g:1468:2: ( '&&' ) + { + // InternalExport.g:1468:2: ( '&&' ) + // InternalExport.g:1469:3: '&&' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); } - else if ( (LA7_0==19) ) { - alt7=2; + match(input,16,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 7, 0, input); - throw nvae; } - switch (alt7) { - case 1 : - // InternalExport.g:1451:2: ( '+' ) - { - // InternalExport.g:1451:2: ( '+' ) - // InternalExport.g:1452:3: '+' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); - } - match(input,18,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); - } - - } - - - } - break; - case 2 : - // InternalExport.g:1457:2: ( '-' ) - { - // InternalExport.g:1457:2: ( '-' ) - // InternalExport.g:1458:3: '-' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); - } - match(input,19,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); - } - } - - - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -5120,242 +4972,164 @@ else if ( (LA7_0==19) ) { } return ; } - // $ANTLR end "rule__AdditiveExpression__NameAlternatives_1_1_0" - + // $ANTLR end "ruleOpAnd" - // $ANTLR start "rule__MultiplicativeExpression__NameAlternatives_1_1_0" - // InternalExport.g:1467:1: rule__MultiplicativeExpression__NameAlternatives_1_1_0 : ( ( '*' ) | ( '/' ) ); - public final void rule__MultiplicativeExpression__NameAlternatives_1_1_0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXEqualityExpression" + // InternalExport.g:1479:1: entryRuleXEqualityExpression : ruleXEqualityExpression EOF ; + public final void entryRuleXEqualityExpression() throws RecognitionException { try { - // InternalExport.g:1471:1: ( ( '*' ) | ( '/' ) ) - int alt8=2; - int LA8_0 = input.LA(1); - - if ( (LA8_0==20) ) { - alt8=1; - } - else if ( (LA8_0==21) ) { - alt8=2; + // InternalExport.g:1480:1: ( ruleXEqualityExpression EOF ) + // InternalExport.g:1481:1: ruleXEqualityExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionRule()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 8, 0, input); + pushFollow(FOLLOW_1); + ruleXEqualityExpression(); - throw nvae; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionRule()); } - switch (alt8) { - case 1 : - // InternalExport.g:1472:2: ( '*' ) - { - // InternalExport.g:1472:2: ( '*' ) - // InternalExport.g:1473:3: '*' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); - } - match(input,20,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); - } - - } - - - } - break; - case 2 : - // InternalExport.g:1478:2: ( '/' ) - { - // InternalExport.g:1478:2: ( '/' ) - // InternalExport.g:1479:3: '/' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); - } - match(input,21,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); - } - - } - - - } - break; + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__MultiplicativeExpression__NameAlternatives_1_1_0" + // $ANTLR end "entryRuleXEqualityExpression" - // $ANTLR start "rule__UnaryOrInfixExpression__Alternatives" - // InternalExport.g:1488:1: rule__UnaryOrInfixExpression__Alternatives : ( ( ruleUnaryExpression ) | ( ruleInfixExpression ) ); - public final void rule__UnaryOrInfixExpression__Alternatives() throws RecognitionException { + // $ANTLR start "ruleXEqualityExpression" + // InternalExport.g:1488:1: ruleXEqualityExpression : ( ( rule__XEqualityExpression__Group__0 ) ) ; + public final void ruleXEqualityExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:1492:1: ( ( ruleUnaryExpression ) | ( ruleInfixExpression ) ) - int alt9=2; - int LA9_0 = input.LA(1); + // InternalExport.g:1492:2: ( ( ( rule__XEqualityExpression__Group__0 ) ) ) + // InternalExport.g:1493:2: ( ( rule__XEqualityExpression__Group__0 ) ) + { + // InternalExport.g:1493:2: ( ( rule__XEqualityExpression__Group__0 ) ) + // InternalExport.g:1494:3: ( rule__XEqualityExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getGroup()); + } + // InternalExport.g:1495:3: ( rule__XEqualityExpression__Group__0 ) + // InternalExport.g:1495:4: rule__XEqualityExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; - if ( (LA9_0==19||LA9_0==22) ) { - alt9=1; } - else if ( ((LA9_0>=RULE_ID && LA9_0<=RULE_REAL)||(LA9_0>=23 && LA9_0<=35)||LA9_0==39||LA9_0==51||(LA9_0>=70 && LA9_0<=71)||(LA9_0>=80 && LA9_0<=81)) ) { - alt9=2; + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getGroup()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 9, 0, input); - throw nvae; } - switch (alt9) { - case 1 : - // InternalExport.g:1493:2: ( ruleUnaryExpression ) - { - // InternalExport.g:1493:2: ( ruleUnaryExpression ) - // InternalExport.g:1494:3: ruleUnaryExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleUnaryExpression(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 2 : - // InternalExport.g:1499:2: ( ruleInfixExpression ) - { - // InternalExport.g:1499:2: ( ruleInfixExpression ) - // InternalExport.g:1500:3: ruleInfixExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleInfixExpression(); + restoreStackSize(stackSize); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); - } + } + return ; + } + // $ANTLR end "ruleXEqualityExpression" - } + // $ANTLR start "entryRuleOpEquality" + // InternalExport.g:1504:1: entryRuleOpEquality : ruleOpEquality EOF ; + public final void entryRuleOpEquality() throws RecognitionException { + try { + // InternalExport.g:1505:1: ( ruleOpEquality EOF ) + // InternalExport.g:1506:1: ruleOpEquality EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityRule()); + } + pushFollow(FOLLOW_1); + ruleOpEquality(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__UnaryOrInfixExpression__Alternatives" + // $ANTLR end "entryRuleOpEquality" - // $ANTLR start "rule__UnaryExpression__NameAlternatives_0_0" - // InternalExport.g:1509:1: rule__UnaryExpression__NameAlternatives_0_0 : ( ( '!' ) | ( '-' ) ); - public final void rule__UnaryExpression__NameAlternatives_0_0() throws RecognitionException { + // $ANTLR start "ruleOpEquality" + // InternalExport.g:1513:1: ruleOpEquality : ( ( rule__OpEquality__Alternatives ) ) ; + public final void ruleOpEquality() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:1513:1: ( ( '!' ) | ( '-' ) ) - int alt10=2; - int LA10_0 = input.LA(1); - - if ( (LA10_0==22) ) { - alt10=1; - } - else if ( (LA10_0==19) ) { - alt10=2; - } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 10, 0, input); - - throw nvae; + // InternalExport.g:1517:2: ( ( ( rule__OpEquality__Alternatives ) ) ) + // InternalExport.g:1518:2: ( ( rule__OpEquality__Alternatives ) ) + { + // InternalExport.g:1518:2: ( ( rule__OpEquality__Alternatives ) ) + // InternalExport.g:1519:3: ( rule__OpEquality__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityAccess().getAlternatives()); } - switch (alt10) { - case 1 : - // InternalExport.g:1514:2: ( '!' ) - { - // InternalExport.g:1514:2: ( '!' ) - // InternalExport.g:1515:3: '!' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); - } - match(input,22,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); - } - - } + // InternalExport.g:1520:3: ( rule__OpEquality__Alternatives ) + // InternalExport.g:1520:4: rule__OpEquality__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpEquality__Alternatives(); + state._fsp--; + if (state.failed) return ; - } - break; - case 2 : - // InternalExport.g:1520:2: ( '-' ) - { - // InternalExport.g:1520:2: ( '-' ) - // InternalExport.g:1521:3: '-' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); - } - match(input,19,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityAccess().getAlternatives()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -5368,200 +5142,164 @@ else if ( (LA10_0==19) ) { } return ; } - // $ANTLR end "rule__UnaryExpression__NameAlternatives_0_0" - + // $ANTLR end "ruleOpEquality" - // $ANTLR start "rule__InfixExpression__Alternatives_1" - // InternalExport.g:1530:1: rule__InfixExpression__Alternatives_1 : ( ( ( rule__InfixExpression__Group_1_0__0 ) ) | ( ( rule__InfixExpression__Group_1_1__0 ) ) | ( ( rule__InfixExpression__Group_1_2__0 ) ) | ( ( rule__InfixExpression__Group_1_3__0 ) ) ); - public final void rule__InfixExpression__Alternatives_1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXRelationalExpression" + // InternalExport.g:1529:1: entryRuleXRelationalExpression : ruleXRelationalExpression EOF ; + public final void entryRuleXRelationalExpression() throws RecognitionException { try { - // InternalExport.g:1534:1: ( ( ( rule__InfixExpression__Group_1_0__0 ) ) | ( ( rule__InfixExpression__Group_1_1__0 ) ) | ( ( rule__InfixExpression__Group_1_2__0 ) ) | ( ( rule__InfixExpression__Group_1_3__0 ) ) ) - int alt11=4; - int LA11_0 = input.LA(1); + // InternalExport.g:1530:1: ( ruleXRelationalExpression EOF ) + // InternalExport.g:1531:1: ruleXRelationalExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXRelationalExpression(); - if ( (LA11_0==68) ) { - switch ( input.LA(2) ) { - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - { - alt11=4; - } - break; - case 33: - case 34: - case 35: - { - alt11=2; - } - break; - case RULE_ID: - { - int LA11_4 = input.LA(3); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - if ( (LA11_4==EOF||(LA11_4>=12 && LA11_4<=21)||(LA11_4>=39 && LA11_4<=40)||(LA11_4>=44 && LA11_4<=46)||LA11_4==48||LA11_4==52||LA11_4==57||(LA11_4>=59 && LA11_4<=61)||(LA11_4>=63 && LA11_4<=64)||(LA11_4>=66 && LA11_4<=68)||(LA11_4>=77 && LA11_4<=79)) ) { - alt11=2; - } - else if ( (LA11_4==51) ) { - alt11=1; - } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 11, 4, input); + } - throw nvae; - } - } - break; - case 80: - { - alt11=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 11, 1, input); + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXRelationalExpression" - throw nvae; - } - } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 11, 0, input); + // $ANTLR start "ruleXRelationalExpression" + // InternalExport.g:1538:1: ruleXRelationalExpression : ( ( rule__XRelationalExpression__Group__0 ) ) ; + public final void ruleXRelationalExpression() throws RecognitionException { - throw nvae; + int stackSize = keepStackSize(); + + try { + // InternalExport.g:1542:2: ( ( ( rule__XRelationalExpression__Group__0 ) ) ) + // InternalExport.g:1543:2: ( ( rule__XRelationalExpression__Group__0 ) ) + { + // InternalExport.g:1543:2: ( ( rule__XRelationalExpression__Group__0 ) ) + // InternalExport.g:1544:3: ( rule__XRelationalExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup()); } - switch (alt11) { - case 1 : - // InternalExport.g:1535:2: ( ( rule__InfixExpression__Group_1_0__0 ) ) - { - // InternalExport.g:1535:2: ( ( rule__InfixExpression__Group_1_0__0 ) ) - // InternalExport.g:1536:3: ( rule__InfixExpression__Group_1_0__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); - } - // InternalExport.g:1537:3: ( rule__InfixExpression__Group_1_0__0 ) - // InternalExport.g:1537:4: rule__InfixExpression__Group_1_0__0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__0(); - - state._fsp--; - if (state.failed) return ; - - } + // InternalExport.g:1545:3: ( rule__XRelationalExpression__Group__0 ) + // InternalExport.g:1545:4: rule__XRelationalExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group__0(); - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup()); + } - } - break; - case 2 : - // InternalExport.g:1541:2: ( ( rule__InfixExpression__Group_1_1__0 ) ) - { - // InternalExport.g:1541:2: ( ( rule__InfixExpression__Group_1_1__0 ) ) - // InternalExport.g:1542:3: ( rule__InfixExpression__Group_1_1__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); - } - // InternalExport.g:1543:3: ( rule__InfixExpression__Group_1_1__0 ) - // InternalExport.g:1543:4: rule__InfixExpression__Group_1_1__0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_1__0(); + } - state._fsp--; - if (state.failed) return ; - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); + } + return ; + } + // $ANTLR end "ruleXRelationalExpression" - } - break; - case 3 : - // InternalExport.g:1547:2: ( ( rule__InfixExpression__Group_1_2__0 ) ) - { - // InternalExport.g:1547:2: ( ( rule__InfixExpression__Group_1_2__0 ) ) - // InternalExport.g:1548:3: ( rule__InfixExpression__Group_1_2__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); - } - // InternalExport.g:1549:3: ( rule__InfixExpression__Group_1_2__0 ) - // InternalExport.g:1549:4: rule__InfixExpression__Group_1_2__0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__0(); - state._fsp--; - if (state.failed) return ; + // $ANTLR start "entryRuleOpCompare" + // InternalExport.g:1554:1: entryRuleOpCompare : ruleOpCompare EOF ; + public final void entryRuleOpCompare() throws RecognitionException { + try { + // InternalExport.g:1555:1: ( ruleOpCompare EOF ) + // InternalExport.g:1556:1: ruleOpCompare EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareRule()); + } + pushFollow(FOLLOW_1); + ruleOpCompare(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); - } + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpCompare" - } - break; - case 4 : - // InternalExport.g:1553:2: ( ( rule__InfixExpression__Group_1_3__0 ) ) - { - // InternalExport.g:1553:2: ( ( rule__InfixExpression__Group_1_3__0 ) ) - // InternalExport.g:1554:3: ( rule__InfixExpression__Group_1_3__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); - } - // InternalExport.g:1555:3: ( rule__InfixExpression__Group_1_3__0 ) - // InternalExport.g:1555:4: rule__InfixExpression__Group_1_3__0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__0(); + // $ANTLR start "ruleOpCompare" + // InternalExport.g:1563:1: ruleOpCompare : ( ( rule__OpCompare__Alternatives ) ) ; + public final void ruleOpCompare() throws RecognitionException { - state._fsp--; - if (state.failed) return ; + int stackSize = keepStackSize(); + + try { + // InternalExport.g:1567:2: ( ( ( rule__OpCompare__Alternatives ) ) ) + // InternalExport.g:1568:2: ( ( rule__OpCompare__Alternatives ) ) + { + // InternalExport.g:1568:2: ( ( rule__OpCompare__Alternatives ) ) + // InternalExport.g:1569:3: ( rule__OpCompare__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getAlternatives()); + } + // InternalExport.g:1570:3: ( rule__OpCompare__Alternatives ) + // InternalExport.g:1570:4: rule__OpCompare__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpCompare__Alternatives(); - } + state._fsp--; + if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getAlternatives()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -5574,222 +5312,164 @@ else if ( (LA11_4==51) ) { } return ; } - // $ANTLR end "rule__InfixExpression__Alternatives_1" - + // $ANTLR end "ruleOpCompare" - // $ANTLR start "rule__InfixExpression__NameAlternatives_1_3_2_0" - // InternalExport.g:1563:1: rule__InfixExpression__NameAlternatives_1_3_2_0 : ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ); - public final void rule__InfixExpression__NameAlternatives_1_3_2_0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXOtherOperatorExpression" + // InternalExport.g:1579:1: entryRuleXOtherOperatorExpression : ruleXOtherOperatorExpression EOF ; + public final void entryRuleXOtherOperatorExpression() throws RecognitionException { try { - // InternalExport.g:1567:1: ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) - int alt12=8; - switch ( input.LA(1) ) { - case 23: - { - alt12=1; - } - break; - case 24: - { - alt12=2; - } - break; - case 25: - { - alt12=3; - } - break; - case 26: - { - alt12=4; - } - break; - case 27: - { - alt12=5; - } - break; - case 28: - { - alt12=6; - } - break; - case 29: - { - alt12=7; - } - break; - case 30: - { - alt12=8; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 12, 0, input); + // InternalExport.g:1580:1: ( ruleXOtherOperatorExpression EOF ) + // InternalExport.g:1581:1: ruleXOtherOperatorExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXOtherOperatorExpression(); - throw nvae; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionRule()); } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - switch (alt12) { - case 1 : - // InternalExport.g:1568:2: ( 'collect' ) - { - // InternalExport.g:1568:2: ( 'collect' ) - // InternalExport.g:1569:3: 'collect' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); - } - match(input,23,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); - } + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXOtherOperatorExpression" - } - break; - case 2 : - // InternalExport.g:1574:2: ( 'select' ) - { - // InternalExport.g:1574:2: ( 'select' ) - // InternalExport.g:1575:3: 'select' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); - } - match(input,24,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); - } + // $ANTLR start "ruleXOtherOperatorExpression" + // InternalExport.g:1588:1: ruleXOtherOperatorExpression : ( ( rule__XOtherOperatorExpression__Group__0 ) ) ; + public final void ruleXOtherOperatorExpression() throws RecognitionException { - } + int stackSize = keepStackSize(); + + try { + // InternalExport.g:1592:2: ( ( ( rule__XOtherOperatorExpression__Group__0 ) ) ) + // InternalExport.g:1593:2: ( ( rule__XOtherOperatorExpression__Group__0 ) ) + { + // InternalExport.g:1593:2: ( ( rule__XOtherOperatorExpression__Group__0 ) ) + // InternalExport.g:1594:3: ( rule__XOtherOperatorExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); + } + // InternalExport.g:1595:3: ( rule__XOtherOperatorExpression__Group__0 ) + // InternalExport.g:1595:4: rule__XOtherOperatorExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group__0(); + state._fsp--; + if (state.failed) return ; - } - break; - case 3 : - // InternalExport.g:1580:2: ( 'selectFirst' ) - { - // InternalExport.g:1580:2: ( 'selectFirst' ) - // InternalExport.g:1581:3: 'selectFirst' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); - } - match(input,25,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); + } + } - } - break; - case 4 : - // InternalExport.g:1586:2: ( 'reject' ) - { - // InternalExport.g:1586:2: ( 'reject' ) - // InternalExport.g:1587:3: 'reject' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); - } - match(input,26,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 5 : - // InternalExport.g:1592:2: ( 'exists' ) - { - // InternalExport.g:1592:2: ( 'exists' ) - // InternalExport.g:1593:3: 'exists' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); - } - match(input,27,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); - } + restoreStackSize(stackSize); - } + } + return ; + } + // $ANTLR end "ruleXOtherOperatorExpression" - } - break; - case 6 : - // InternalExport.g:1598:2: ( 'notExists' ) - { - // InternalExport.g:1598:2: ( 'notExists' ) - // InternalExport.g:1599:3: 'notExists' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); - } - match(input,28,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); - } + // $ANTLR start "entryRuleOpOther" + // InternalExport.g:1604:1: entryRuleOpOther : ruleOpOther EOF ; + public final void entryRuleOpOther() throws RecognitionException { + try { + // InternalExport.g:1605:1: ( ruleOpOther EOF ) + // InternalExport.g:1606:1: ruleOpOther EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherRule()); + } + pushFollow(FOLLOW_1); + ruleOpOther(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + } - } - break; - case 7 : - // InternalExport.g:1604:2: ( 'sortBy' ) - { - // InternalExport.g:1604:2: ( 'sortBy' ) - // InternalExport.g:1605:3: 'sortBy' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); - } - match(input,29,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpOther" - } + // $ANTLR start "ruleOpOther" + // InternalExport.g:1613:1: ruleOpOther : ( ( rule__OpOther__Alternatives ) ) ; + public final void ruleOpOther() throws RecognitionException { - } - break; - case 8 : - // InternalExport.g:1610:2: ( 'forAll' ) - { - // InternalExport.g:1610:2: ( 'forAll' ) - // InternalExport.g:1611:3: 'forAll' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); - } - match(input,30,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); - } + int stackSize = keepStackSize(); + + try { + // InternalExport.g:1617:2: ( ( ( rule__OpOther__Alternatives ) ) ) + // InternalExport.g:1618:2: ( ( rule__OpOther__Alternatives ) ) + { + // InternalExport.g:1618:2: ( ( rule__OpOther__Alternatives ) ) + // InternalExport.g:1619:3: ( rule__OpOther__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getAlternatives()); + } + // InternalExport.g:1620:3: ( rule__OpOther__Alternatives ) + // InternalExport.g:1620:4: rule__OpOther__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpOther__Alternatives(); - } + state._fsp--; + if (state.failed) return ; + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getAlternatives()); + } + + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -5802,215 +5482,164 @@ public final void rule__InfixExpression__NameAlternatives_1_3_2_0() throws Recog } return ; } - // $ANTLR end "rule__InfixExpression__NameAlternatives_1_3_2_0" + // $ANTLR end "ruleOpOther" - // $ANTLR start "rule__PrimaryExpression__Alternatives" - // InternalExport.g:1620:1: rule__PrimaryExpression__Alternatives : ( ( ruleLiteral ) | ( ruleFeatureCall ) | ( ruleListLiteral ) | ( ruleConstructorCallExpression ) | ( ruleGlobalVarExpression ) | ( ruleParanthesizedExpression ) ); - public final void rule__PrimaryExpression__Alternatives() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXAdditiveExpression" + // InternalExport.g:1629:1: entryRuleXAdditiveExpression : ruleXAdditiveExpression EOF ; + public final void entryRuleXAdditiveExpression() throws RecognitionException { try { - // InternalExport.g:1624:1: ( ( ruleLiteral ) | ( ruleFeatureCall ) | ( ruleListLiteral ) | ( ruleConstructorCallExpression ) | ( ruleGlobalVarExpression ) | ( ruleParanthesizedExpression ) ) - int alt13=6; - switch ( input.LA(1) ) { - case RULE_STRING: - case RULE_INT: - case RULE_REAL: - case 31: - case 32: - case 81: - { - alt13=1; - } - break; - case RULE_ID: - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - case 33: - case 34: - case 35: - case 80: - { - alt13=2; - } - break; - case 39: - { - alt13=3; - } - break; - case 71: - { - alt13=4; - } - break; - case 70: - { - alt13=5; - } - break; - case 51: - { - alt13=6; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 13, 0, input); + // InternalExport.g:1630:1: ( ruleXAdditiveExpression EOF ) + // InternalExport.g:1631:1: ruleXAdditiveExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXAdditiveExpression(); - throw nvae; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionRule()); } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - switch (alt13) { - case 1 : - // InternalExport.g:1625:2: ( ruleLiteral ) - { - // InternalExport.g:1625:2: ( ruleLiteral ) - // InternalExport.g:1626:3: ruleLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleLiteral(); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXAdditiveExpression" - } + // $ANTLR start "ruleXAdditiveExpression" + // InternalExport.g:1638:1: ruleXAdditiveExpression : ( ( rule__XAdditiveExpression__Group__0 ) ) ; + public final void ruleXAdditiveExpression() throws RecognitionException { - } - break; - case 2 : - // InternalExport.g:1631:2: ( ruleFeatureCall ) - { - // InternalExport.g:1631:2: ( ruleFeatureCall ) - // InternalExport.g:1632:3: ruleFeatureCall - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleFeatureCall(); + int stackSize = keepStackSize(); + + try { + // InternalExport.g:1642:2: ( ( ( rule__XAdditiveExpression__Group__0 ) ) ) + // InternalExport.g:1643:2: ( ( rule__XAdditiveExpression__Group__0 ) ) + { + // InternalExport.g:1643:2: ( ( rule__XAdditiveExpression__Group__0 ) ) + // InternalExport.g:1644:3: ( rule__XAdditiveExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getGroup()); + } + // InternalExport.g:1645:3: ( rule__XAdditiveExpression__Group__0 ) + // InternalExport.g:1645:4: rule__XAdditiveExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group__0(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getGroup()); + } - } - break; - case 3 : - // InternalExport.g:1637:2: ( ruleListLiteral ) - { - // InternalExport.g:1637:2: ( ruleListLiteral ) - // InternalExport.g:1638:3: ruleListLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); - } - pushFollow(FOLLOW_2); - ruleListLiteral(); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 4 : - // InternalExport.g:1643:2: ( ruleConstructorCallExpression ) - { - // InternalExport.g:1643:2: ( ruleConstructorCallExpression ) - // InternalExport.g:1644:3: ruleConstructorCallExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); - } - pushFollow(FOLLOW_2); - ruleConstructorCallExpression(); + restoreStackSize(stackSize); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); - } + } + return ; + } + // $ANTLR end "ruleXAdditiveExpression" - } + // $ANTLR start "entryRuleOpAdd" + // InternalExport.g:1654:1: entryRuleOpAdd : ruleOpAdd EOF ; + public final void entryRuleOpAdd() throws RecognitionException { + try { + // InternalExport.g:1655:1: ( ruleOpAdd EOF ) + // InternalExport.g:1656:1: ruleOpAdd EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAddRule()); + } + pushFollow(FOLLOW_1); + ruleOpAdd(); - } - break; - case 5 : - // InternalExport.g:1649:2: ( ruleGlobalVarExpression ) - { - // InternalExport.g:1649:2: ( ruleGlobalVarExpression ) - // InternalExport.g:1650:3: ruleGlobalVarExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); - } - pushFollow(FOLLOW_2); - ruleGlobalVarExpression(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAddRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); - } + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpAdd" - } - break; - case 6 : - // InternalExport.g:1655:2: ( ruleParanthesizedExpression ) - { - // InternalExport.g:1655:2: ( ruleParanthesizedExpression ) - // InternalExport.g:1656:3: ruleParanthesizedExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); - } - pushFollow(FOLLOW_2); - ruleParanthesizedExpression(); + // $ANTLR start "ruleOpAdd" + // InternalExport.g:1663:1: ruleOpAdd : ( ( rule__OpAdd__Alternatives ) ) ; + public final void ruleOpAdd() throws RecognitionException { - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); - } + int stackSize = keepStackSize(); + + try { + // InternalExport.g:1667:2: ( ( ( rule__OpAdd__Alternatives ) ) ) + // InternalExport.g:1668:2: ( ( rule__OpAdd__Alternatives ) ) + { + // InternalExport.g:1668:2: ( ( rule__OpAdd__Alternatives ) ) + // InternalExport.g:1669:3: ( rule__OpAdd__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAddAccess().getAlternatives()); + } + // InternalExport.g:1670:3: ( rule__OpAdd__Alternatives ) + // InternalExport.g:1670:4: rule__OpAdd__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpAdd__Alternatives(); - } + state._fsp--; + if (state.failed) return ; + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAddAccess().getAlternatives()); + } + + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -6023,171 +5652,164 @@ public final void rule__PrimaryExpression__Alternatives() throws RecognitionExce } return ; } - // $ANTLR end "rule__PrimaryExpression__Alternatives" + // $ANTLR end "ruleOpAdd" - // $ANTLR start "rule__Literal__Alternatives" - // InternalExport.g:1665:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleIntegerLiteral ) | ( ruleNullLiteral ) | ( ruleRealLiteral ) | ( ruleStringLiteral ) ); - public final void rule__Literal__Alternatives() throws RecognitionException { + // $ANTLR start "entryRuleXMultiplicativeExpression" + // InternalExport.g:1679:1: entryRuleXMultiplicativeExpression : ruleXMultiplicativeExpression EOF ; + public final void entryRuleXMultiplicativeExpression() throws RecognitionException { + try { + // InternalExport.g:1680:1: ( ruleXMultiplicativeExpression EOF ) + // InternalExport.g:1681:1: ruleXMultiplicativeExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXMultiplicativeExpression" + + + // $ANTLR start "ruleXMultiplicativeExpression" + // InternalExport.g:1688:1: ruleXMultiplicativeExpression : ( ( rule__XMultiplicativeExpression__Group__0 ) ) ; + public final void ruleXMultiplicativeExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:1669:1: ( ( ruleBooleanLiteral ) | ( ruleIntegerLiteral ) | ( ruleNullLiteral ) | ( ruleRealLiteral ) | ( ruleStringLiteral ) ) - int alt14=5; - switch ( input.LA(1) ) { - case 31: - case 32: - { - alt14=1; - } - break; - case RULE_INT: - { - alt14=2; - } - break; - case 81: - { - alt14=3; - } - break; - case RULE_REAL: - { - alt14=4; - } - break; - case RULE_STRING: - { - alt14=5; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 14, 0, input); - - throw nvae; + // InternalExport.g:1692:2: ( ( ( rule__XMultiplicativeExpression__Group__0 ) ) ) + // InternalExport.g:1693:2: ( ( rule__XMultiplicativeExpression__Group__0 ) ) + { + // InternalExport.g:1693:2: ( ( rule__XMultiplicativeExpression__Group__0 ) ) + // InternalExport.g:1694:3: ( rule__XMultiplicativeExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); } + // InternalExport.g:1695:3: ( rule__XMultiplicativeExpression__Group__0 ) + // InternalExport.g:1695:4: rule__XMultiplicativeExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group__0(); - switch (alt14) { - case 1 : - // InternalExport.g:1670:2: ( ruleBooleanLiteral ) - { - // InternalExport.g:1670:2: ( ruleBooleanLiteral ) - // InternalExport.g:1671:3: ruleBooleanLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleBooleanLiteral(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); + } + } - } - break; - case 2 : - // InternalExport.g:1676:2: ( ruleIntegerLiteral ) - { - // InternalExport.g:1676:2: ( ruleIntegerLiteral ) - // InternalExport.g:1677:3: ruleIntegerLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleIntegerLiteral(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); - } + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + restoreStackSize(stackSize); - } - break; - case 3 : - // InternalExport.g:1682:2: ( ruleNullLiteral ) - { - // InternalExport.g:1682:2: ( ruleNullLiteral ) - // InternalExport.g:1683:3: ruleNullLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); - } - pushFollow(FOLLOW_2); - ruleNullLiteral(); + } + return ; + } + // $ANTLR end "ruleXMultiplicativeExpression" - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); - } - } + // $ANTLR start "entryRuleOpMulti" + // InternalExport.g:1704:1: entryRuleOpMulti : ruleOpMulti EOF ; + public final void entryRuleOpMulti() throws RecognitionException { + try { + // InternalExport.g:1705:1: ( ruleOpMulti EOF ) + // InternalExport.g:1706:1: ruleOpMulti EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiRule()); + } + pushFollow(FOLLOW_1); + ruleOpMulti(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - } - break; - case 4 : - // InternalExport.g:1688:2: ( ruleRealLiteral ) - { - // InternalExport.g:1688:2: ( ruleRealLiteral ) - // InternalExport.g:1689:3: ruleRealLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); - } - pushFollow(FOLLOW_2); - ruleRealLiteral(); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpMulti" - } + // $ANTLR start "ruleOpMulti" + // InternalExport.g:1713:1: ruleOpMulti : ( ( rule__OpMulti__Alternatives ) ) ; + public final void ruleOpMulti() throws RecognitionException { - } - break; - case 5 : - // InternalExport.g:1694:2: ( ruleStringLiteral ) - { - // InternalExport.g:1694:2: ( ruleStringLiteral ) - // InternalExport.g:1695:3: ruleStringLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); - } - pushFollow(FOLLOW_2); - ruleStringLiteral(); + int stackSize = keepStackSize(); + + try { + // InternalExport.g:1717:2: ( ( ( rule__OpMulti__Alternatives ) ) ) + // InternalExport.g:1718:2: ( ( rule__OpMulti__Alternatives ) ) + { + // InternalExport.g:1718:2: ( ( rule__OpMulti__Alternatives ) ) + // InternalExport.g:1719:3: ( rule__OpMulti__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAccess().getAlternatives()); + } + // InternalExport.g:1720:3: ( rule__OpMulti__Alternatives ) + // InternalExport.g:1720:4: rule__OpMulti__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpMulti__Alternatives(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); - } + state._fsp--; + if (state.failed) return ; - } + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAccess().getAlternatives()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -6200,479 +5822,249 @@ public final void rule__Literal__Alternatives() throws RecognitionException { } return ; } - // $ANTLR end "rule__Literal__Alternatives" + // $ANTLR end "ruleOpMulti" - // $ANTLR start "rule__BooleanLiteral__ValAlternatives_0" - // InternalExport.g:1704:1: rule__BooleanLiteral__ValAlternatives_0 : ( ( 'true' ) | ( 'false' ) ); - public final void rule__BooleanLiteral__ValAlternatives_0() throws RecognitionException { + // $ANTLR start "entryRuleXUnaryOperation" + // InternalExport.g:1729:1: entryRuleXUnaryOperation : ruleXUnaryOperation EOF ; + public final void entryRuleXUnaryOperation() throws RecognitionException { + try { + // InternalExport.g:1730:1: ( ruleXUnaryOperation EOF ) + // InternalExport.g:1731:1: ruleXUnaryOperation EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationRule()); + } + pushFollow(FOLLOW_1); + ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXUnaryOperation" + + + // $ANTLR start "ruleXUnaryOperation" + // InternalExport.g:1738:1: ruleXUnaryOperation : ( ( rule__XUnaryOperation__Alternatives ) ) ; + public final void ruleXUnaryOperation() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:1708:1: ( ( 'true' ) | ( 'false' ) ) - int alt15=2; - int LA15_0 = input.LA(1); + // InternalExport.g:1742:2: ( ( ( rule__XUnaryOperation__Alternatives ) ) ) + // InternalExport.g:1743:2: ( ( rule__XUnaryOperation__Alternatives ) ) + { + // InternalExport.g:1743:2: ( ( rule__XUnaryOperation__Alternatives ) ) + // InternalExport.g:1744:3: ( rule__XUnaryOperation__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getAlternatives()); + } + // InternalExport.g:1745:3: ( rule__XUnaryOperation__Alternatives ) + // InternalExport.g:1745:4: rule__XUnaryOperation__Alternatives + { + pushFollow(FOLLOW_2); + rule__XUnaryOperation__Alternatives(); + + state._fsp--; + if (state.failed) return ; - if ( (LA15_0==31) ) { - alt15=1; } - else if ( (LA15_0==32) ) { - alt15=2; + + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getAlternatives()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 15, 0, input); - throw nvae; } - switch (alt15) { - case 1 : - // InternalExport.g:1709:2: ( 'true' ) - { - // InternalExport.g:1709:2: ( 'true' ) - // InternalExport.g:1710:3: 'true' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); - } - match(input,31,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); - } - } + } - } - break; - case 2 : - // InternalExport.g:1715:2: ( 'false' ) - { - // InternalExport.g:1715:2: ( 'false' ) - // InternalExport.g:1716:3: 'false' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); - } - match(input,32,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleXUnaryOperation" - } - break; + // $ANTLR start "entryRuleOpUnary" + // InternalExport.g:1754:1: entryRuleOpUnary : ruleOpUnary EOF ; + public final void entryRuleOpUnary() throws RecognitionException { + try { + // InternalExport.g:1755:1: ( ruleOpUnary EOF ) + // InternalExport.g:1756:1: ruleOpUnary EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpUnaryRule()); + } + pushFollow(FOLLOW_1); + ruleOpUnary(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpUnaryRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__BooleanLiteral__ValAlternatives_0" + // $ANTLR end "entryRuleOpUnary" - // $ANTLR start "rule__FeatureCall__Alternatives" - // InternalExport.g:1725:1: rule__FeatureCall__Alternatives : ( ( ruleOperationCall ) | ( ( rule__FeatureCall__TypeAssignment_1 ) ) | ( ruleCollectionExpression ) | ( ruleTypeSelectExpression ) ); - public final void rule__FeatureCall__Alternatives() throws RecognitionException { + // $ANTLR start "ruleOpUnary" + // InternalExport.g:1763:1: ruleOpUnary : ( ( rule__OpUnary__Alternatives ) ) ; + public final void ruleOpUnary() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:1729:1: ( ( ruleOperationCall ) | ( ( rule__FeatureCall__TypeAssignment_1 ) ) | ( ruleCollectionExpression ) | ( ruleTypeSelectExpression ) ) - int alt16=4; - switch ( input.LA(1) ) { - case RULE_ID: - { - int LA16_1 = input.LA(2); - - if ( (LA16_1==EOF||(LA16_1>=12 && LA16_1<=21)||(LA16_1>=39 && LA16_1<=40)||(LA16_1>=44 && LA16_1<=46)||LA16_1==48||LA16_1==52||LA16_1==57||(LA16_1>=59 && LA16_1<=61)||(LA16_1>=63 && LA16_1<=64)||(LA16_1>=66 && LA16_1<=68)||(LA16_1>=77 && LA16_1<=79)) ) { - alt16=2; - } - else if ( (LA16_1==51) ) { - alt16=1; - } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 16, 1, input); + // InternalExport.g:1767:2: ( ( ( rule__OpUnary__Alternatives ) ) ) + // InternalExport.g:1768:2: ( ( rule__OpUnary__Alternatives ) ) + { + // InternalExport.g:1768:2: ( ( rule__OpUnary__Alternatives ) ) + // InternalExport.g:1769:3: ( rule__OpUnary__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpUnaryAccess().getAlternatives()); + } + // InternalExport.g:1770:3: ( rule__OpUnary__Alternatives ) + // InternalExport.g:1770:4: rule__OpUnary__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpUnary__Alternatives(); - throw nvae; - } - } - break; - case 33: - case 34: - case 35: - { - alt16=2; - } - break; - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - { - alt16=3; - } - break; - case 80: - { - alt16=4; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 16, 0, input); + state._fsp--; + if (state.failed) return ; - throw nvae; } - switch (alt16) { - case 1 : - // InternalExport.g:1730:2: ( ruleOperationCall ) - { - // InternalExport.g:1730:2: ( ruleOperationCall ) - // InternalExport.g:1731:3: ruleOperationCall - { - if ( state.backtracking==0 ) { - before(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleOperationCall(); + if ( state.backtracking==0 ) { + after(grammarAccess.getOpUnaryAccess().getAlternatives()); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); - } + } - } + } - } - break; - case 2 : - // InternalExport.g:1736:2: ( ( rule__FeatureCall__TypeAssignment_1 ) ) - { - // InternalExport.g:1736:2: ( ( rule__FeatureCall__TypeAssignment_1 ) ) - // InternalExport.g:1737:3: ( rule__FeatureCall__TypeAssignment_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); - } - // InternalExport.g:1738:3: ( rule__FeatureCall__TypeAssignment_1 ) - // InternalExport.g:1738:4: rule__FeatureCall__TypeAssignment_1 - { - pushFollow(FOLLOW_2); - rule__FeatureCall__TypeAssignment_1(); - - state._fsp--; - if (state.failed) return ; - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); - } - - } - - - } - break; - case 3 : - // InternalExport.g:1742:2: ( ruleCollectionExpression ) - { - // InternalExport.g:1742:2: ( ruleCollectionExpression ) - // InternalExport.g:1743:3: ruleCollectionExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); - } - pushFollow(FOLLOW_2); - ruleCollectionExpression(); - - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); - } - - } - + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 4 : - // InternalExport.g:1748:2: ( ruleTypeSelectExpression ) - { - // InternalExport.g:1748:2: ( ruleTypeSelectExpression ) - // InternalExport.g:1749:3: ruleTypeSelectExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); - } - pushFollow(FOLLOW_2); - ruleTypeSelectExpression(); + restoreStackSize(stackSize); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); - } + } + return ; + } + // $ANTLR end "ruleOpUnary" - } + // $ANTLR start "entryRuleXCastedExpression" + // InternalExport.g:1779:1: entryRuleXCastedExpression : ruleXCastedExpression EOF ; + public final void entryRuleXCastedExpression() throws RecognitionException { + try { + // InternalExport.g:1780:1: ( ruleXCastedExpression EOF ) + // InternalExport.g:1781:1: ruleXCastedExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXCastedExpression(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__FeatureCall__Alternatives" + // $ANTLR end "entryRuleXCastedExpression" - // $ANTLR start "rule__CollectionExpression__NameAlternatives_0_0" - // InternalExport.g:1758:1: rule__CollectionExpression__NameAlternatives_0_0 : ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ); - public final void rule__CollectionExpression__NameAlternatives_0_0() throws RecognitionException { + // $ANTLR start "ruleXCastedExpression" + // InternalExport.g:1788:1: ruleXCastedExpression : ( ( rule__XCastedExpression__Group__0 ) ) ; + public final void ruleXCastedExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:1762:1: ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) - int alt17=8; - switch ( input.LA(1) ) { - case 23: - { - alt17=1; - } - break; - case 24: - { - alt17=2; - } - break; - case 25: - { - alt17=3; - } - break; - case 26: - { - alt17=4; - } - break; - case 27: - { - alt17=5; - } - break; - case 28: - { - alt17=6; - } - break; - case 29: - { - alt17=7; - } - break; - case 30: - { - alt17=8; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 17, 0, input); - - throw nvae; + // InternalExport.g:1792:2: ( ( ( rule__XCastedExpression__Group__0 ) ) ) + // InternalExport.g:1793:2: ( ( rule__XCastedExpression__Group__0 ) ) + { + // InternalExport.g:1793:2: ( ( rule__XCastedExpression__Group__0 ) ) + // InternalExport.g:1794:3: ( rule__XCastedExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getGroup()); } + // InternalExport.g:1795:3: ( rule__XCastedExpression__Group__0 ) + // InternalExport.g:1795:4: rule__XCastedExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group__0(); - switch (alt17) { - case 1 : - // InternalExport.g:1763:2: ( 'collect' ) - { - // InternalExport.g:1763:2: ( 'collect' ) - // InternalExport.g:1764:3: 'collect' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); - } - match(input,23,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); - } - - } - - - } - break; - case 2 : - // InternalExport.g:1769:2: ( 'select' ) - { - // InternalExport.g:1769:2: ( 'select' ) - // InternalExport.g:1770:3: 'select' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); - } - match(input,24,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); - } - - } - - - } - break; - case 3 : - // InternalExport.g:1775:2: ( 'selectFirst' ) - { - // InternalExport.g:1775:2: ( 'selectFirst' ) - // InternalExport.g:1776:3: 'selectFirst' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); - } - match(input,25,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); - } - - } - - - } - break; - case 4 : - // InternalExport.g:1781:2: ( 'reject' ) - { - // InternalExport.g:1781:2: ( 'reject' ) - // InternalExport.g:1782:3: 'reject' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); - } - match(input,26,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); - } - - } - - - } - break; - case 5 : - // InternalExport.g:1787:2: ( 'exists' ) - { - // InternalExport.g:1787:2: ( 'exists' ) - // InternalExport.g:1788:3: 'exists' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); - } - match(input,27,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); - } - - } - - - } - break; - case 6 : - // InternalExport.g:1793:2: ( 'notExists' ) - { - // InternalExport.g:1793:2: ( 'notExists' ) - // InternalExport.g:1794:3: 'notExists' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); - } - match(input,28,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); - } - - } - - - } - break; - case 7 : - // InternalExport.g:1799:2: ( 'sortBy' ) - { - // InternalExport.g:1799:2: ( 'sortBy' ) - // InternalExport.g:1800:3: 'sortBy' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); - } - match(input,29,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); - } - - } - + state._fsp--; + if (state.failed) return ; - } - break; - case 8 : - // InternalExport.g:1805:2: ( 'forAll' ) - { - // InternalExport.g:1805:2: ( 'forAll' ) - // InternalExport.g:1806:3: 'forAll' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); - } - match(input,30,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getGroup()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -6685,190 +6077,79 @@ public final void rule__CollectionExpression__NameAlternatives_0_0() throws Reco } return ; } - // $ANTLR end "rule__CollectionExpression__NameAlternatives_0_0" - + // $ANTLR end "ruleXCastedExpression" - // $ANTLR start "rule__Type__Alternatives" - // InternalExport.g:1815:1: rule__Type__Alternatives : ( ( ruleCollectionType ) | ( ruleSimpleType ) ); - public final void rule__Type__Alternatives() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXPostfixOperation" + // InternalExport.g:1804:1: entryRuleXPostfixOperation : ruleXPostfixOperation EOF ; + public final void entryRuleXPostfixOperation() throws RecognitionException { try { - // InternalExport.g:1819:1: ( ( ruleCollectionType ) | ( ruleSimpleType ) ) - int alt18=2; - int LA18_0 = input.LA(1); - - if ( ((LA18_0>=33 && LA18_0<=35)) ) { - alt18=1; - } - else if ( (LA18_0==RULE_ID) ) { - alt18=2; + // InternalExport.g:1805:1: ( ruleXPostfixOperation EOF ) + // InternalExport.g:1806:1: ruleXPostfixOperation EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationRule()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 18, 0, input); + pushFollow(FOLLOW_1); + ruleXPostfixOperation(); - throw nvae; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationRule()); } - switch (alt18) { - case 1 : - // InternalExport.g:1820:2: ( ruleCollectionType ) - { - // InternalExport.g:1820:2: ( ruleCollectionType ) - // InternalExport.g:1821:3: ruleCollectionType - { - if ( state.backtracking==0 ) { - before(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleCollectionType(); - - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); - } - - } - - - } - break; - case 2 : - // InternalExport.g:1826:2: ( ruleSimpleType ) - { - // InternalExport.g:1826:2: ( ruleSimpleType ) - // InternalExport.g:1827:3: ruleSimpleType - { - if ( state.backtracking==0 ) { - before(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleSimpleType(); - - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); - } - - } - - - } - break; + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Type__Alternatives" + // $ANTLR end "entryRuleXPostfixOperation" - // $ANTLR start "rule__CollectionType__ClAlternatives_0_0" - // InternalExport.g:1836:1: rule__CollectionType__ClAlternatives_0_0 : ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ); - public final void rule__CollectionType__ClAlternatives_0_0() throws RecognitionException { + // $ANTLR start "ruleXPostfixOperation" + // InternalExport.g:1813:1: ruleXPostfixOperation : ( ( rule__XPostfixOperation__Group__0 ) ) ; + public final void ruleXPostfixOperation() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:1840:1: ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) - int alt19=3; - switch ( input.LA(1) ) { - case 33: - { - alt19=1; - } - break; - case 34: - { - alt19=2; - } - break; - case 35: - { - alt19=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 19, 0, input); - - throw nvae; + // InternalExport.g:1817:2: ( ( ( rule__XPostfixOperation__Group__0 ) ) ) + // InternalExport.g:1818:2: ( ( rule__XPostfixOperation__Group__0 ) ) + { + // InternalExport.g:1818:2: ( ( rule__XPostfixOperation__Group__0 ) ) + // InternalExport.g:1819:3: ( rule__XPostfixOperation__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getGroup()); } + // InternalExport.g:1820:3: ( rule__XPostfixOperation__Group__0 ) + // InternalExport.g:1820:4: rule__XPostfixOperation__Group__0 + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group__0(); - switch (alt19) { - case 1 : - // InternalExport.g:1841:2: ( 'Collection' ) - { - // InternalExport.g:1841:2: ( 'Collection' ) - // InternalExport.g:1842:3: 'Collection' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); - } - match(input,33,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); - } - - } - - - } - break; - case 2 : - // InternalExport.g:1847:2: ( 'List' ) - { - // InternalExport.g:1847:2: ( 'List' ) - // InternalExport.g:1848:3: 'List' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); - } - match(input,34,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); - } - - } - + state._fsp--; + if (state.failed) return ; - } - break; - case 3 : - // InternalExport.g:1853:2: ( 'Set' ) - { - // InternalExport.g:1853:2: ( 'Set' ) - // InternalExport.g:1854:3: 'Set' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); - } - match(input,35,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getGroup()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -6881,29 +6162,28 @@ public final void rule__CollectionType__ClAlternatives_0_0() throws RecognitionE } return ; } - // $ANTLR end "rule__CollectionType__ClAlternatives_0_0" - + // $ANTLR end "ruleXPostfixOperation" - // $ANTLR start "rule__ExportModel__Group__0" - // InternalExport.g:1863:1: rule__ExportModel__Group__0 : rule__ExportModel__Group__0__Impl rule__ExportModel__Group__1 ; - public final void rule__ExportModel__Group__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleOpPostfix" + // InternalExport.g:1829:1: entryRuleOpPostfix : ruleOpPostfix EOF ; + public final void entryRuleOpPostfix() throws RecognitionException { try { - // InternalExport.g:1867:1: ( rule__ExportModel__Group__0__Impl rule__ExportModel__Group__1 ) - // InternalExport.g:1868:2: rule__ExportModel__Group__0__Impl rule__ExportModel__Group__1 + // InternalExport.g:1830:1: ( ruleOpPostfix EOF ) + // InternalExport.g:1831:1: ruleOpPostfix EOF { - pushFollow(FOLLOW_3); - rule__ExportModel__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ExportModel__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getOpPostfixRule()); + } + pushFollow(FOLLOW_1); + ruleOpPostfix(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpPostfixRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -6913,55 +6193,41 @@ public final void rule__ExportModel__Group__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ExportModel__Group__0" + // $ANTLR end "entryRuleOpPostfix" - // $ANTLR start "rule__ExportModel__Group__0__Impl" - // InternalExport.g:1875:1: rule__ExportModel__Group__0__Impl : ( ( rule__ExportModel__Group_0__0 )? ) ; - public final void rule__ExportModel__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleOpPostfix" + // InternalExport.g:1838:1: ruleOpPostfix : ( ( rule__OpPostfix__Alternatives ) ) ; + public final void ruleOpPostfix() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:1879:1: ( ( ( rule__ExportModel__Group_0__0 )? ) ) - // InternalExport.g:1880:1: ( ( rule__ExportModel__Group_0__0 )? ) + // InternalExport.g:1842:2: ( ( ( rule__OpPostfix__Alternatives ) ) ) + // InternalExport.g:1843:2: ( ( rule__OpPostfix__Alternatives ) ) { - // InternalExport.g:1880:1: ( ( rule__ExportModel__Group_0__0 )? ) - // InternalExport.g:1881:2: ( rule__ExportModel__Group_0__0 )? + // InternalExport.g:1843:2: ( ( rule__OpPostfix__Alternatives ) ) + // InternalExport.g:1844:3: ( rule__OpPostfix__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getGroup_0()); + before(grammarAccess.getOpPostfixAccess().getAlternatives()); } - // InternalExport.g:1882:2: ( rule__ExportModel__Group_0__0 )? - int alt20=2; - int LA20_0 = input.LA(1); - - if ( (LA20_0==36) ) { - alt20=1; - } - switch (alt20) { - case 1 : - // InternalExport.g:1882:3: rule__ExportModel__Group_0__0 - { - pushFollow(FOLLOW_2); - rule__ExportModel__Group_0__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:1845:3: ( rule__OpPostfix__Alternatives ) + // InternalExport.g:1845:4: rule__OpPostfix__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpPostfix__Alternatives(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getGroup_0()); + after(grammarAccess.getOpPostfixAccess().getAlternatives()); } } @@ -6981,29 +6247,28 @@ public final void rule__ExportModel__Group__0__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ExportModel__Group__0__Impl" - + // $ANTLR end "ruleOpPostfix" - // $ANTLR start "rule__ExportModel__Group__1" - // InternalExport.g:1890:1: rule__ExportModel__Group__1 : rule__ExportModel__Group__1__Impl rule__ExportModel__Group__2 ; - public final void rule__ExportModel__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXMemberFeatureCall" + // InternalExport.g:1854:1: entryRuleXMemberFeatureCall : ruleXMemberFeatureCall EOF ; + public final void entryRuleXMemberFeatureCall() throws RecognitionException { try { - // InternalExport.g:1894:1: ( rule__ExportModel__Group__1__Impl rule__ExportModel__Group__2 ) - // InternalExport.g:1895:2: rule__ExportModel__Group__1__Impl rule__ExportModel__Group__2 + // InternalExport.g:1855:1: ( ruleXMemberFeatureCall EOF ) + // InternalExport.g:1856:1: ruleXMemberFeatureCall EOF { - pushFollow(FOLLOW_4); - rule__ExportModel__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ExportModel__Group__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallRule()); + } + pushFollow(FOLLOW_1); + ruleXMemberFeatureCall(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7013,39 +6278,33 @@ public final void rule__ExportModel__Group__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ExportModel__Group__1" + // $ANTLR end "entryRuleXMemberFeatureCall" - // $ANTLR start "rule__ExportModel__Group__1__Impl" - // InternalExport.g:1902:1: rule__ExportModel__Group__1__Impl : ( ( ( rule__ExportModel__ImportsAssignment_1 ) ) ( ( rule__ExportModel__ImportsAssignment_1 )* ) ) ; - public final void rule__ExportModel__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXMemberFeatureCall" + // InternalExport.g:1863:1: ruleXMemberFeatureCall : ( ( rule__XMemberFeatureCall__Group__0 ) ) ; + public final void ruleXMemberFeatureCall() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:1906:1: ( ( ( ( rule__ExportModel__ImportsAssignment_1 ) ) ( ( rule__ExportModel__ImportsAssignment_1 )* ) ) ) - // InternalExport.g:1907:1: ( ( ( rule__ExportModel__ImportsAssignment_1 ) ) ( ( rule__ExportModel__ImportsAssignment_1 )* ) ) - { - // InternalExport.g:1907:1: ( ( ( rule__ExportModel__ImportsAssignment_1 ) ) ( ( rule__ExportModel__ImportsAssignment_1 )* ) ) - // InternalExport.g:1908:2: ( ( rule__ExportModel__ImportsAssignment_1 ) ) ( ( rule__ExportModel__ImportsAssignment_1 )* ) + // InternalExport.g:1867:2: ( ( ( rule__XMemberFeatureCall__Group__0 ) ) ) + // InternalExport.g:1868:2: ( ( rule__XMemberFeatureCall__Group__0 ) ) { - // InternalExport.g:1908:2: ( ( rule__ExportModel__ImportsAssignment_1 ) ) - // InternalExport.g:1909:3: ( rule__ExportModel__ImportsAssignment_1 ) + // InternalExport.g:1868:2: ( ( rule__XMemberFeatureCall__Group__0 ) ) + // InternalExport.g:1869:3: ( rule__XMemberFeatureCall__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getImportsAssignment_1()); + before(grammarAccess.getXMemberFeatureCallAccess().getGroup()); } - // InternalExport.g:1910:3: ( rule__ExportModel__ImportsAssignment_1 ) - // InternalExport.g:1910:4: rule__ExportModel__ImportsAssignment_1 + // InternalExport.g:1870:3: ( rule__XMemberFeatureCall__Group__0 ) + // InternalExport.g:1870:4: rule__XMemberFeatureCall__Group__0 { - pushFollow(FOLLOW_5); - rule__ExportModel__ImportsAssignment_1(); + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group__0(); state._fsp--; if (state.failed) return ; @@ -7053,52 +6312,93 @@ public final void rule__ExportModel__Group__1__Impl() throws RecognitionExceptio } if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getImportsAssignment_1()); + after(grammarAccess.getXMemberFeatureCallAccess().getGroup()); } } - // InternalExport.g:1913:2: ( ( rule__ExportModel__ImportsAssignment_1 )* ) - // InternalExport.g:1914:3: ( rule__ExportModel__ImportsAssignment_1 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getImportsAssignment_1()); + } - // InternalExport.g:1915:3: ( rule__ExportModel__ImportsAssignment_1 )* - loop21: - do { - int alt21=2; - int LA21_0 = input.LA(1); - if ( (LA21_0==41) ) { - alt21=1; - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + restoreStackSize(stackSize); - switch (alt21) { - case 1 : - // InternalExport.g:1915:4: rule__ExportModel__ImportsAssignment_1 - { - pushFollow(FOLLOW_5); - rule__ExportModel__ImportsAssignment_1(); + } + return ; + } + // $ANTLR end "ruleXMemberFeatureCall" - state._fsp--; - if (state.failed) return ; - } - break; + // $ANTLR start "entryRuleXPrimaryExpression" + // InternalExport.g:1879:1: entryRuleXPrimaryExpression : ruleXPrimaryExpression EOF ; + public final void entryRuleXPrimaryExpression() throws RecognitionException { + try { + // InternalExport.g:1880:1: ( ruleXPrimaryExpression EOF ) + // InternalExport.g:1881:1: ruleXPrimaryExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXPrimaryExpression(); - default : - break loop21; - } - } while (true); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXPrimaryExpression" + + + // $ANTLR start "ruleXPrimaryExpression" + // InternalExport.g:1888:1: ruleXPrimaryExpression : ( ( rule__XPrimaryExpression__Alternatives ) ) ; + public final void ruleXPrimaryExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:1892:2: ( ( ( rule__XPrimaryExpression__Alternatives ) ) ) + // InternalExport.g:1893:2: ( ( rule__XPrimaryExpression__Alternatives ) ) + { + // InternalExport.g:1893:2: ( ( rule__XPrimaryExpression__Alternatives ) ) + // InternalExport.g:1894:3: ( rule__XPrimaryExpression__Alternatives ) + { if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getImportsAssignment_1()); + before(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); } + // InternalExport.g:1895:3: ( rule__XPrimaryExpression__Alternatives ) + // InternalExport.g:1895:4: rule__XPrimaryExpression__Alternatives + { + pushFollow(FOLLOW_2); + rule__XPrimaryExpression__Alternatives(); + + state._fsp--; + if (state.failed) return ; } + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); + } } @@ -7117,29 +6417,28 @@ public final void rule__ExportModel__Group__1__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ExportModel__Group__1__Impl" + // $ANTLR end "ruleXPrimaryExpression" - // $ANTLR start "rule__ExportModel__Group__2" - // InternalExport.g:1924:1: rule__ExportModel__Group__2 : rule__ExportModel__Group__2__Impl rule__ExportModel__Group__3 ; - public final void rule__ExportModel__Group__2() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXLiteral" + // InternalExport.g:1904:1: entryRuleXLiteral : ruleXLiteral EOF ; + public final void entryRuleXLiteral() throws RecognitionException { try { - // InternalExport.g:1928:1: ( rule__ExportModel__Group__2__Impl rule__ExportModel__Group__3 ) - // InternalExport.g:1929:2: rule__ExportModel__Group__2__Impl rule__ExportModel__Group__3 + // InternalExport.g:1905:1: ( ruleXLiteral EOF ) + // InternalExport.g:1906:1: ruleXLiteral EOF { - pushFollow(FOLLOW_4); - rule__ExportModel__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ExportModel__Group__3(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7149,62 +6448,41 @@ public final void rule__ExportModel__Group__2() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ExportModel__Group__2" + // $ANTLR end "entryRuleXLiteral" - // $ANTLR start "rule__ExportModel__Group__2__Impl" - // InternalExport.g:1936:1: rule__ExportModel__Group__2__Impl : ( ( rule__ExportModel__ExtensionsAssignment_2 )* ) ; - public final void rule__ExportModel__Group__2__Impl() throws RecognitionException { + // $ANTLR start "ruleXLiteral" + // InternalExport.g:1913:1: ruleXLiteral : ( ( rule__XLiteral__Alternatives ) ) ; + public final void ruleXLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:1940:1: ( ( ( rule__ExportModel__ExtensionsAssignment_2 )* ) ) - // InternalExport.g:1941:1: ( ( rule__ExportModel__ExtensionsAssignment_2 )* ) + // InternalExport.g:1917:2: ( ( ( rule__XLiteral__Alternatives ) ) ) + // InternalExport.g:1918:2: ( ( rule__XLiteral__Alternatives ) ) { - // InternalExport.g:1941:1: ( ( rule__ExportModel__ExtensionsAssignment_2 )* ) - // InternalExport.g:1942:2: ( rule__ExportModel__ExtensionsAssignment_2 )* + // InternalExport.g:1918:2: ( ( rule__XLiteral__Alternatives ) ) + // InternalExport.g:1919:3: ( rule__XLiteral__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getExtensionsAssignment_2()); + before(grammarAccess.getXLiteralAccess().getAlternatives()); } - // InternalExport.g:1943:2: ( rule__ExportModel__ExtensionsAssignment_2 )* - loop22: - do { - int alt22=2; - int LA22_0 = input.LA(1); - - if ( (LA22_0==43) ) { - alt22=1; - } - - - switch (alt22) { - case 1 : - // InternalExport.g:1943:3: rule__ExportModel__ExtensionsAssignment_2 - { - pushFollow(FOLLOW_6); - rule__ExportModel__ExtensionsAssignment_2(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:1920:3: ( rule__XLiteral__Alternatives ) + // InternalExport.g:1920:4: rule__XLiteral__Alternatives + { + pushFollow(FOLLOW_2); + rule__XLiteral__Alternatives(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop22; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getExtensionsAssignment_2()); + after(grammarAccess.getXLiteralAccess().getAlternatives()); } } @@ -7224,29 +6502,28 @@ public final void rule__ExportModel__Group__2__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ExportModel__Group__2__Impl" - + // $ANTLR end "ruleXLiteral" - // $ANTLR start "rule__ExportModel__Group__3" - // InternalExport.g:1951:1: rule__ExportModel__Group__3 : rule__ExportModel__Group__3__Impl rule__ExportModel__Group__4 ; - public final void rule__ExportModel__Group__3() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXCollectionLiteral" + // InternalExport.g:1929:1: entryRuleXCollectionLiteral : ruleXCollectionLiteral EOF ; + public final void entryRuleXCollectionLiteral() throws RecognitionException { try { - // InternalExport.g:1955:1: ( rule__ExportModel__Group__3__Impl rule__ExportModel__Group__4 ) - // InternalExport.g:1956:2: rule__ExportModel__Group__3__Impl rule__ExportModel__Group__4 + // InternalExport.g:1930:1: ( ruleXCollectionLiteral EOF ) + // InternalExport.g:1931:1: ruleXCollectionLiteral EOF { - pushFollow(FOLLOW_4); - rule__ExportModel__Group__3__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ExportModel__Group__4(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXCollectionLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXCollectionLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCollectionLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7256,55 +6533,41 @@ public final void rule__ExportModel__Group__3() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ExportModel__Group__3" + // $ANTLR end "entryRuleXCollectionLiteral" - // $ANTLR start "rule__ExportModel__Group__3__Impl" - // InternalExport.g:1963:1: rule__ExportModel__Group__3__Impl : ( ( rule__ExportModel__Group_3__0 )? ) ; - public final void rule__ExportModel__Group__3__Impl() throws RecognitionException { + // $ANTLR start "ruleXCollectionLiteral" + // InternalExport.g:1938:1: ruleXCollectionLiteral : ( ( rule__XCollectionLiteral__Alternatives ) ) ; + public final void ruleXCollectionLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:1967:1: ( ( ( rule__ExportModel__Group_3__0 )? ) ) - // InternalExport.g:1968:1: ( ( rule__ExportModel__Group_3__0 )? ) + // InternalExport.g:1942:2: ( ( ( rule__XCollectionLiteral__Alternatives ) ) ) + // InternalExport.g:1943:2: ( ( rule__XCollectionLiteral__Alternatives ) ) { - // InternalExport.g:1968:1: ( ( rule__ExportModel__Group_3__0 )? ) - // InternalExport.g:1969:2: ( rule__ExportModel__Group_3__0 )? + // InternalExport.g:1943:2: ( ( rule__XCollectionLiteral__Alternatives ) ) + // InternalExport.g:1944:3: ( rule__XCollectionLiteral__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getGroup_3()); + before(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); } - // InternalExport.g:1970:2: ( rule__ExportModel__Group_3__0 )? - int alt23=2; - int LA23_0 = input.LA(1); - - if ( (LA23_0==38) ) { - alt23=1; - } - switch (alt23) { - case 1 : - // InternalExport.g:1970:3: rule__ExportModel__Group_3__0 - { - pushFollow(FOLLOW_2); - rule__ExportModel__Group_3__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:1945:3: ( rule__XCollectionLiteral__Alternatives ) + // InternalExport.g:1945:4: rule__XCollectionLiteral__Alternatives + { + pushFollow(FOLLOW_2); + rule__XCollectionLiteral__Alternatives(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getGroup_3()); + after(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); } } @@ -7324,24 +6587,28 @@ public final void rule__ExportModel__Group__3__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ExportModel__Group__3__Impl" - + // $ANTLR end "ruleXCollectionLiteral" - // $ANTLR start "rule__ExportModel__Group__4" - // InternalExport.g:1978:1: rule__ExportModel__Group__4 : rule__ExportModel__Group__4__Impl ; - public final void rule__ExportModel__Group__4() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXSetLiteral" + // InternalExport.g:1954:1: entryRuleXSetLiteral : ruleXSetLiteral EOF ; + public final void entryRuleXSetLiteral() throws RecognitionException { try { - // InternalExport.g:1982:1: ( rule__ExportModel__Group__4__Impl ) - // InternalExport.g:1983:2: rule__ExportModel__Group__4__Impl + // InternalExport.g:1955:1: ( ruleXSetLiteral EOF ) + // InternalExport.g:1956:1: ruleXSetLiteral EOF { - pushFollow(FOLLOW_2); - rule__ExportModel__Group__4__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXSetLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7351,39 +6618,33 @@ public final void rule__ExportModel__Group__4() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ExportModel__Group__4" + // $ANTLR end "entryRuleXSetLiteral" - // $ANTLR start "rule__ExportModel__Group__4__Impl" - // InternalExport.g:1989:1: rule__ExportModel__Group__4__Impl : ( ( ( rule__ExportModel__ExportsAssignment_4 ) ) ( ( rule__ExportModel__ExportsAssignment_4 )* ) ) ; - public final void rule__ExportModel__Group__4__Impl() throws RecognitionException { + // $ANTLR start "ruleXSetLiteral" + // InternalExport.g:1963:1: ruleXSetLiteral : ( ( rule__XSetLiteral__Group__0 ) ) ; + public final void ruleXSetLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:1993:1: ( ( ( ( rule__ExportModel__ExportsAssignment_4 ) ) ( ( rule__ExportModel__ExportsAssignment_4 )* ) ) ) - // InternalExport.g:1994:1: ( ( ( rule__ExportModel__ExportsAssignment_4 ) ) ( ( rule__ExportModel__ExportsAssignment_4 )* ) ) + // InternalExport.g:1967:2: ( ( ( rule__XSetLiteral__Group__0 ) ) ) + // InternalExport.g:1968:2: ( ( rule__XSetLiteral__Group__0 ) ) { - // InternalExport.g:1994:1: ( ( ( rule__ExportModel__ExportsAssignment_4 ) ) ( ( rule__ExportModel__ExportsAssignment_4 )* ) ) - // InternalExport.g:1995:2: ( ( rule__ExportModel__ExportsAssignment_4 ) ) ( ( rule__ExportModel__ExportsAssignment_4 )* ) - { - // InternalExport.g:1995:2: ( ( rule__ExportModel__ExportsAssignment_4 ) ) - // InternalExport.g:1996:3: ( rule__ExportModel__ExportsAssignment_4 ) + // InternalExport.g:1968:2: ( ( rule__XSetLiteral__Group__0 ) ) + // InternalExport.g:1969:3: ( rule__XSetLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getExportsAssignment_4()); + before(grammarAccess.getXSetLiteralAccess().getGroup()); } - // InternalExport.g:1997:3: ( rule__ExportModel__ExportsAssignment_4 ) - // InternalExport.g:1997:4: rule__ExportModel__ExportsAssignment_4 + // InternalExport.g:1970:3: ( rule__XSetLiteral__Group__0 ) + // InternalExport.g:1970:4: rule__XSetLiteral__Group__0 { - pushFollow(FOLLOW_7); - rule__ExportModel__ExportsAssignment_4(); + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group__0(); state._fsp--; if (state.failed) return ; @@ -7391,53 +6652,9 @@ public final void rule__ExportModel__Group__4__Impl() throws RecognitionExceptio } if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getExportsAssignment_4()); - } - - } - - // InternalExport.g:2000:2: ( ( rule__ExportModel__ExportsAssignment_4 )* ) - // InternalExport.g:2001:3: ( rule__ExportModel__ExportsAssignment_4 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getExportsAssignment_4()); - } - // InternalExport.g:2002:3: ( rule__ExportModel__ExportsAssignment_4 )* - loop24: - do { - int alt24=2; - int LA24_0 = input.LA(1); - - if ( (LA24_0==36) ) { - alt24=1; - } - - - switch (alt24) { - case 1 : - // InternalExport.g:2002:4: rule__ExportModel__ExportsAssignment_4 - { - pushFollow(FOLLOW_7); - rule__ExportModel__ExportsAssignment_4(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop24; - } - } while (true); - - if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getExportsAssignment_4()); - } - + after(grammarAccess.getXSetLiteralAccess().getGroup()); } - } @@ -7455,29 +6672,28 @@ public final void rule__ExportModel__Group__4__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ExportModel__Group__4__Impl" - + // $ANTLR end "ruleXSetLiteral" - // $ANTLR start "rule__ExportModel__Group_0__0" - // InternalExport.g:2012:1: rule__ExportModel__Group_0__0 : rule__ExportModel__Group_0__0__Impl rule__ExportModel__Group_0__1 ; - public final void rule__ExportModel__Group_0__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXListLiteral" + // InternalExport.g:1979:1: entryRuleXListLiteral : ruleXListLiteral EOF ; + public final void entryRuleXListLiteral() throws RecognitionException { try { - // InternalExport.g:2016:1: ( rule__ExportModel__Group_0__0__Impl rule__ExportModel__Group_0__1 ) - // InternalExport.g:2017:2: rule__ExportModel__Group_0__0__Impl rule__ExportModel__Group_0__1 + // InternalExport.g:1980:1: ( ruleXListLiteral EOF ) + // InternalExport.g:1981:1: ruleXListLiteral EOF { - pushFollow(FOLLOW_8); - rule__ExportModel__Group_0__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ExportModel__Group_0__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXListLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7487,34 +6703,41 @@ public final void rule__ExportModel__Group_0__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ExportModel__Group_0__0" + // $ANTLR end "entryRuleXListLiteral" - // $ANTLR start "rule__ExportModel__Group_0__0__Impl" - // InternalExport.g:2024:1: rule__ExportModel__Group_0__0__Impl : ( 'export' ) ; - public final void rule__ExportModel__Group_0__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXListLiteral" + // InternalExport.g:1988:1: ruleXListLiteral : ( ( rule__XListLiteral__Group__0 ) ) ; + public final void ruleXListLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2028:1: ( ( 'export' ) ) - // InternalExport.g:2029:1: ( 'export' ) + // InternalExport.g:1992:2: ( ( ( rule__XListLiteral__Group__0 ) ) ) + // InternalExport.g:1993:2: ( ( rule__XListLiteral__Group__0 ) ) { - // InternalExport.g:2029:1: ( 'export' ) - // InternalExport.g:2030:2: 'export' + // InternalExport.g:1993:2: ( ( rule__XListLiteral__Group__0 ) ) + // InternalExport.g:1994:3: ( rule__XListLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getExportKeyword_0_0()); + before(grammarAccess.getXListLiteralAccess().getGroup()); } - match(input,36,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:1995:3: ( rule__XListLiteral__Group__0 ) + // InternalExport.g:1995:4: rule__XListLiteral__Group__0 + { + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getExportKeyword_0_0()); + after(grammarAccess.getXListLiteralAccess().getGroup()); } } @@ -7534,29 +6757,28 @@ public final void rule__ExportModel__Group_0__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ExportModel__Group_0__0__Impl" - + // $ANTLR end "ruleXListLiteral" - // $ANTLR start "rule__ExportModel__Group_0__1" - // InternalExport.g:2039:1: rule__ExportModel__Group_0__1 : rule__ExportModel__Group_0__1__Impl rule__ExportModel__Group_0__2 ; - public final void rule__ExportModel__Group_0__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXClosure" + // InternalExport.g:2004:1: entryRuleXClosure : ruleXClosure EOF ; + public final void entryRuleXClosure() throws RecognitionException { try { - // InternalExport.g:2043:1: ( rule__ExportModel__Group_0__1__Impl rule__ExportModel__Group_0__2 ) - // InternalExport.g:2044:2: rule__ExportModel__Group_0__1__Impl rule__ExportModel__Group_0__2 + // InternalExport.g:2005:1: ( ruleXClosure EOF ) + // InternalExport.g:2006:1: ruleXClosure EOF { - pushFollow(FOLLOW_8); - rule__ExportModel__Group_0__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ExportModel__Group_0__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureRule()); + } + pushFollow(FOLLOW_1); + ruleXClosure(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7566,55 +6788,41 @@ public final void rule__ExportModel__Group_0__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ExportModel__Group_0__1" + // $ANTLR end "entryRuleXClosure" - // $ANTLR start "rule__ExportModel__Group_0__1__Impl" - // InternalExport.g:2051:1: rule__ExportModel__Group_0__1__Impl : ( ( rule__ExportModel__ExtensionAssignment_0_1 )? ) ; - public final void rule__ExportModel__Group_0__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXClosure" + // InternalExport.g:2013:1: ruleXClosure : ( ( rule__XClosure__Group__0 ) ) ; + public final void ruleXClosure() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2055:1: ( ( ( rule__ExportModel__ExtensionAssignment_0_1 )? ) ) - // InternalExport.g:2056:1: ( ( rule__ExportModel__ExtensionAssignment_0_1 )? ) + // InternalExport.g:2017:2: ( ( ( rule__XClosure__Group__0 ) ) ) + // InternalExport.g:2018:2: ( ( rule__XClosure__Group__0 ) ) { - // InternalExport.g:2056:1: ( ( rule__ExportModel__ExtensionAssignment_0_1 )? ) - // InternalExport.g:2057:2: ( rule__ExportModel__ExtensionAssignment_0_1 )? + // InternalExport.g:2018:2: ( ( rule__XClosure__Group__0 ) ) + // InternalExport.g:2019:3: ( rule__XClosure__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getExtensionAssignment_0_1()); - } - // InternalExport.g:2058:2: ( rule__ExportModel__ExtensionAssignment_0_1 )? - int alt25=2; - int LA25_0 = input.LA(1); - - if ( (LA25_0==43) ) { - alt25=1; + before(grammarAccess.getXClosureAccess().getGroup()); } - switch (alt25) { - case 1 : - // InternalExport.g:2058:3: rule__ExportModel__ExtensionAssignment_0_1 - { - pushFollow(FOLLOW_2); - rule__ExportModel__ExtensionAssignment_0_1(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:2020:3: ( rule__XClosure__Group__0 ) + // InternalExport.g:2020:4: rule__XClosure__Group__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getExtensionAssignment_0_1()); + after(grammarAccess.getXClosureAccess().getGroup()); } } @@ -7634,29 +6842,28 @@ public final void rule__ExportModel__Group_0__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ExportModel__Group_0__1__Impl" - + // $ANTLR end "ruleXClosure" - // $ANTLR start "rule__ExportModel__Group_0__2" - // InternalExport.g:2066:1: rule__ExportModel__Group_0__2 : rule__ExportModel__Group_0__2__Impl rule__ExportModel__Group_0__3 ; - public final void rule__ExportModel__Group_0__2() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXExpressionInClosure" + // InternalExport.g:2029:1: entryRuleXExpressionInClosure : ruleXExpressionInClosure EOF ; + public final void entryRuleXExpressionInClosure() throws RecognitionException { try { - // InternalExport.g:2070:1: ( rule__ExportModel__Group_0__2__Impl rule__ExportModel__Group_0__3 ) - // InternalExport.g:2071:2: rule__ExportModel__Group_0__2__Impl rule__ExportModel__Group_0__3 + // InternalExport.g:2030:1: ( ruleXExpressionInClosure EOF ) + // InternalExport.g:2031:1: ruleXExpressionInClosure EOF { - pushFollow(FOLLOW_9); - rule__ExportModel__Group_0__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ExportModel__Group_0__3(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureRule()); + } + pushFollow(FOLLOW_1); + ruleXExpressionInClosure(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7666,36 +6873,33 @@ public final void rule__ExportModel__Group_0__2() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ExportModel__Group_0__2" + // $ANTLR end "entryRuleXExpressionInClosure" - // $ANTLR start "rule__ExportModel__Group_0__2__Impl" - // InternalExport.g:2078:1: rule__ExportModel__Group_0__2__Impl : ( ( rule__ExportModel__NameAssignment_0_2 ) ) ; - public final void rule__ExportModel__Group_0__2__Impl() throws RecognitionException { + // $ANTLR start "ruleXExpressionInClosure" + // InternalExport.g:2038:1: ruleXExpressionInClosure : ( ( rule__XExpressionInClosure__Group__0 ) ) ; + public final void ruleXExpressionInClosure() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2082:1: ( ( ( rule__ExportModel__NameAssignment_0_2 ) ) ) - // InternalExport.g:2083:1: ( ( rule__ExportModel__NameAssignment_0_2 ) ) + // InternalExport.g:2042:2: ( ( ( rule__XExpressionInClosure__Group__0 ) ) ) + // InternalExport.g:2043:2: ( ( rule__XExpressionInClosure__Group__0 ) ) { - // InternalExport.g:2083:1: ( ( rule__ExportModel__NameAssignment_0_2 ) ) - // InternalExport.g:2084:2: ( rule__ExportModel__NameAssignment_0_2 ) + // InternalExport.g:2043:2: ( ( rule__XExpressionInClosure__Group__0 ) ) + // InternalExport.g:2044:3: ( rule__XExpressionInClosure__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getNameAssignment_0_2()); + before(grammarAccess.getXExpressionInClosureAccess().getGroup()); } - // InternalExport.g:2085:2: ( rule__ExportModel__NameAssignment_0_2 ) - // InternalExport.g:2085:3: rule__ExportModel__NameAssignment_0_2 + // InternalExport.g:2045:3: ( rule__XExpressionInClosure__Group__0 ) + // InternalExport.g:2045:4: rule__XExpressionInClosure__Group__0 { pushFollow(FOLLOW_2); - rule__ExportModel__NameAssignment_0_2(); + rule__XExpressionInClosure__Group__0(); state._fsp--; if (state.failed) return ; @@ -7703,7 +6907,7 @@ public final void rule__ExportModel__Group_0__2__Impl() throws RecognitionExcept } if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getNameAssignment_0_2()); + after(grammarAccess.getXExpressionInClosureAccess().getGroup()); } } @@ -7723,29 +6927,28 @@ public final void rule__ExportModel__Group_0__2__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ExportModel__Group_0__2__Impl" - + // $ANTLR end "ruleXExpressionInClosure" - // $ANTLR start "rule__ExportModel__Group_0__3" - // InternalExport.g:2093:1: rule__ExportModel__Group_0__3 : rule__ExportModel__Group_0__3__Impl rule__ExportModel__Group_0__4 ; - public final void rule__ExportModel__Group_0__3() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXShortClosure" + // InternalExport.g:2054:1: entryRuleXShortClosure : ruleXShortClosure EOF ; + public final void entryRuleXShortClosure() throws RecognitionException { try { - // InternalExport.g:2097:1: ( rule__ExportModel__Group_0__3__Impl rule__ExportModel__Group_0__4 ) - // InternalExport.g:2098:2: rule__ExportModel__Group_0__3__Impl rule__ExportModel__Group_0__4 + // InternalExport.g:2055:1: ( ruleXShortClosure EOF ) + // InternalExport.g:2056:1: ruleXShortClosure EOF { - pushFollow(FOLLOW_10); - rule__ExportModel__Group_0__3__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ExportModel__Group_0__4(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureRule()); + } + pushFollow(FOLLOW_1); + ruleXShortClosure(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7755,34 +6958,41 @@ public final void rule__ExportModel__Group_0__3() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ExportModel__Group_0__3" + // $ANTLR end "entryRuleXShortClosure" - // $ANTLR start "rule__ExportModel__Group_0__3__Impl" - // InternalExport.g:2105:1: rule__ExportModel__Group_0__3__Impl : ( 'for' ) ; - public final void rule__ExportModel__Group_0__3__Impl() throws RecognitionException { + // $ANTLR start "ruleXShortClosure" + // InternalExport.g:2063:1: ruleXShortClosure : ( ( rule__XShortClosure__Group__0 ) ) ; + public final void ruleXShortClosure() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2109:1: ( ( 'for' ) ) - // InternalExport.g:2110:1: ( 'for' ) + // InternalExport.g:2067:2: ( ( ( rule__XShortClosure__Group__0 ) ) ) + // InternalExport.g:2068:2: ( ( rule__XShortClosure__Group__0 ) ) { - // InternalExport.g:2110:1: ( 'for' ) - // InternalExport.g:2111:2: 'for' + // InternalExport.g:2068:2: ( ( rule__XShortClosure__Group__0 ) ) + // InternalExport.g:2069:3: ( rule__XShortClosure__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getForKeyword_0_3()); + before(grammarAccess.getXShortClosureAccess().getGroup()); + } + // InternalExport.g:2070:3: ( rule__XShortClosure__Group__0 ) + // InternalExport.g:2070:4: rule__XShortClosure__Group__0 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,37,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getForKeyword_0_3()); + after(grammarAccess.getXShortClosureAccess().getGroup()); } } @@ -7802,24 +7012,28 @@ public final void rule__ExportModel__Group_0__3__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ExportModel__Group_0__3__Impl" + // $ANTLR end "ruleXShortClosure" - // $ANTLR start "rule__ExportModel__Group_0__4" - // InternalExport.g:2120:1: rule__ExportModel__Group_0__4 : rule__ExportModel__Group_0__4__Impl ; - public final void rule__ExportModel__Group_0__4() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXParenthesizedExpression" + // InternalExport.g:2079:1: entryRuleXParenthesizedExpression : ruleXParenthesizedExpression EOF ; + public final void entryRuleXParenthesizedExpression() throws RecognitionException { try { - // InternalExport.g:2124:1: ( rule__ExportModel__Group_0__4__Impl ) - // InternalExport.g:2125:2: rule__ExportModel__Group_0__4__Impl + // InternalExport.g:2080:1: ( ruleXParenthesizedExpression EOF ) + // InternalExport.g:2081:1: ruleXParenthesizedExpression EOF { - pushFollow(FOLLOW_2); - rule__ExportModel__Group_0__4__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXParenthesizedExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXParenthesizedExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXParenthesizedExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7829,36 +7043,33 @@ public final void rule__ExportModel__Group_0__4() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ExportModel__Group_0__4" + // $ANTLR end "entryRuleXParenthesizedExpression" - // $ANTLR start "rule__ExportModel__Group_0__4__Impl" - // InternalExport.g:2131:1: rule__ExportModel__Group_0__4__Impl : ( ( rule__ExportModel__TargetGrammarAssignment_0_4 ) ) ; - public final void rule__ExportModel__Group_0__4__Impl() throws RecognitionException { + // $ANTLR start "ruleXParenthesizedExpression" + // InternalExport.g:2088:1: ruleXParenthesizedExpression : ( ( rule__XParenthesizedExpression__Group__0 ) ) ; + public final void ruleXParenthesizedExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2135:1: ( ( ( rule__ExportModel__TargetGrammarAssignment_0_4 ) ) ) - // InternalExport.g:2136:1: ( ( rule__ExportModel__TargetGrammarAssignment_0_4 ) ) + // InternalExport.g:2092:2: ( ( ( rule__XParenthesizedExpression__Group__0 ) ) ) + // InternalExport.g:2093:2: ( ( rule__XParenthesizedExpression__Group__0 ) ) { - // InternalExport.g:2136:1: ( ( rule__ExportModel__TargetGrammarAssignment_0_4 ) ) - // InternalExport.g:2137:2: ( rule__ExportModel__TargetGrammarAssignment_0_4 ) + // InternalExport.g:2093:2: ( ( rule__XParenthesizedExpression__Group__0 ) ) + // InternalExport.g:2094:3: ( rule__XParenthesizedExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getTargetGrammarAssignment_0_4()); + before(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); } - // InternalExport.g:2138:2: ( rule__ExportModel__TargetGrammarAssignment_0_4 ) - // InternalExport.g:2138:3: rule__ExportModel__TargetGrammarAssignment_0_4 + // InternalExport.g:2095:3: ( rule__XParenthesizedExpression__Group__0 ) + // InternalExport.g:2095:4: rule__XParenthesizedExpression__Group__0 { pushFollow(FOLLOW_2); - rule__ExportModel__TargetGrammarAssignment_0_4(); + rule__XParenthesizedExpression__Group__0(); state._fsp--; if (state.failed) return ; @@ -7866,7 +7077,7 @@ public final void rule__ExportModel__Group_0__4__Impl() throws RecognitionExcept } if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getTargetGrammarAssignment_0_4()); + after(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); } } @@ -7886,29 +7097,28 @@ public final void rule__ExportModel__Group_0__4__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ExportModel__Group_0__4__Impl" - + // $ANTLR end "ruleXParenthesizedExpression" - // $ANTLR start "rule__ExportModel__Group_3__0" - // InternalExport.g:2147:1: rule__ExportModel__Group_3__0 : rule__ExportModel__Group_3__0__Impl rule__ExportModel__Group_3__1 ; - public final void rule__ExportModel__Group_3__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXIfExpression" + // InternalExport.g:2104:1: entryRuleXIfExpression : ruleXIfExpression EOF ; + public final void entryRuleXIfExpression() throws RecognitionException { try { - // InternalExport.g:2151:1: ( rule__ExportModel__Group_3__0__Impl rule__ExportModel__Group_3__1 ) - // InternalExport.g:2152:2: rule__ExportModel__Group_3__0__Impl rule__ExportModel__Group_3__1 + // InternalExport.g:2105:1: ( ruleXIfExpression EOF ) + // InternalExport.g:2106:1: ruleXIfExpression EOF { - pushFollow(FOLLOW_11); - rule__ExportModel__Group_3__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ExportModel__Group_3__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXIfExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7918,34 +7128,41 @@ public final void rule__ExportModel__Group_3__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ExportModel__Group_3__0" + // $ANTLR end "entryRuleXIfExpression" - // $ANTLR start "rule__ExportModel__Group_3__0__Impl" - // InternalExport.g:2159:1: rule__ExportModel__Group_3__0__Impl : ( 'interface' ) ; - public final void rule__ExportModel__Group_3__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXIfExpression" + // InternalExport.g:2113:1: ruleXIfExpression : ( ( rule__XIfExpression__Group__0 ) ) ; + public final void ruleXIfExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2163:1: ( ( 'interface' ) ) - // InternalExport.g:2164:1: ( 'interface' ) + // InternalExport.g:2117:2: ( ( ( rule__XIfExpression__Group__0 ) ) ) + // InternalExport.g:2118:2: ( ( rule__XIfExpression__Group__0 ) ) { - // InternalExport.g:2164:1: ( 'interface' ) - // InternalExport.g:2165:2: 'interface' + // InternalExport.g:2118:2: ( ( rule__XIfExpression__Group__0 ) ) + // InternalExport.g:2119:3: ( rule__XIfExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getInterfaceKeyword_3_0()); + before(grammarAccess.getXIfExpressionAccess().getGroup()); } - match(input,38,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:2120:3: ( rule__XIfExpression__Group__0 ) + // InternalExport.g:2120:4: rule__XIfExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getInterfaceKeyword_3_0()); + after(grammarAccess.getXIfExpressionAccess().getGroup()); } } @@ -7965,29 +7182,28 @@ public final void rule__ExportModel__Group_3__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ExportModel__Group_3__0__Impl" + // $ANTLR end "ruleXIfExpression" - // $ANTLR start "rule__ExportModel__Group_3__1" - // InternalExport.g:2174:1: rule__ExportModel__Group_3__1 : rule__ExportModel__Group_3__1__Impl rule__ExportModel__Group_3__2 ; - public final void rule__ExportModel__Group_3__1() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXSwitchExpression" + // InternalExport.g:2129:1: entryRuleXSwitchExpression : ruleXSwitchExpression EOF ; + public final void entryRuleXSwitchExpression() throws RecognitionException { try { - // InternalExport.g:2178:1: ( rule__ExportModel__Group_3__1__Impl rule__ExportModel__Group_3__2 ) - // InternalExport.g:2179:2: rule__ExportModel__Group_3__1__Impl rule__ExportModel__Group_3__2 + // InternalExport.g:2130:1: ( ruleXSwitchExpression EOF ) + // InternalExport.g:2131:1: ruleXSwitchExpression EOF { - pushFollow(FOLLOW_10); - rule__ExportModel__Group_3__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ExportModel__Group_3__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXSwitchExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7997,34 +7213,41 @@ public final void rule__ExportModel__Group_3__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ExportModel__Group_3__1" + // $ANTLR end "entryRuleXSwitchExpression" - // $ANTLR start "rule__ExportModel__Group_3__1__Impl" - // InternalExport.g:2186:1: rule__ExportModel__Group_3__1__Impl : ( '{' ) ; - public final void rule__ExportModel__Group_3__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXSwitchExpression" + // InternalExport.g:2138:1: ruleXSwitchExpression : ( ( rule__XSwitchExpression__Group__0 ) ) ; + public final void ruleXSwitchExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2190:1: ( ( '{' ) ) - // InternalExport.g:2191:1: ( '{' ) + // InternalExport.g:2142:2: ( ( ( rule__XSwitchExpression__Group__0 ) ) ) + // InternalExport.g:2143:2: ( ( rule__XSwitchExpression__Group__0 ) ) { - // InternalExport.g:2191:1: ( '{' ) - // InternalExport.g:2192:2: '{' + // InternalExport.g:2143:2: ( ( rule__XSwitchExpression__Group__0 ) ) + // InternalExport.g:2144:3: ( rule__XSwitchExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getLeftCurlyBracketKeyword_3_1()); + before(grammarAccess.getXSwitchExpressionAccess().getGroup()); + } + // InternalExport.g:2145:3: ( rule__XSwitchExpression__Group__0 ) + // InternalExport.g:2145:4: rule__XSwitchExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,39,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getLeftCurlyBracketKeyword_3_1()); + after(grammarAccess.getXSwitchExpressionAccess().getGroup()); } } @@ -8044,29 +7267,28 @@ public final void rule__ExportModel__Group_3__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ExportModel__Group_3__1__Impl" - + // $ANTLR end "ruleXSwitchExpression" - // $ANTLR start "rule__ExportModel__Group_3__2" - // InternalExport.g:2201:1: rule__ExportModel__Group_3__2 : rule__ExportModel__Group_3__2__Impl rule__ExportModel__Group_3__3 ; - public final void rule__ExportModel__Group_3__2() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXCasePart" + // InternalExport.g:2154:1: entryRuleXCasePart : ruleXCasePart EOF ; + public final void entryRuleXCasePart() throws RecognitionException { try { - // InternalExport.g:2205:1: ( rule__ExportModel__Group_3__2__Impl rule__ExportModel__Group_3__3 ) - // InternalExport.g:2206:2: rule__ExportModel__Group_3__2__Impl rule__ExportModel__Group_3__3 + // InternalExport.g:2155:1: ( ruleXCasePart EOF ) + // InternalExport.g:2156:1: ruleXCasePart EOF { - pushFollow(FOLLOW_12); - rule__ExportModel__Group_3__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ExportModel__Group_3__3(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartRule()); + } + pushFollow(FOLLOW_1); + ruleXCasePart(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8076,39 +7298,33 @@ public final void rule__ExportModel__Group_3__2() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ExportModel__Group_3__2" + // $ANTLR end "entryRuleXCasePart" - // $ANTLR start "rule__ExportModel__Group_3__2__Impl" - // InternalExport.g:2213:1: rule__ExportModel__Group_3__2__Impl : ( ( ( rule__ExportModel__InterfacesAssignment_3_2 ) ) ( ( rule__ExportModel__InterfacesAssignment_3_2 )* ) ) ; - public final void rule__ExportModel__Group_3__2__Impl() throws RecognitionException { + // $ANTLR start "ruleXCasePart" + // InternalExport.g:2163:1: ruleXCasePart : ( ( rule__XCasePart__Group__0 ) ) ; + public final void ruleXCasePart() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2217:1: ( ( ( ( rule__ExportModel__InterfacesAssignment_3_2 ) ) ( ( rule__ExportModel__InterfacesAssignment_3_2 )* ) ) ) - // InternalExport.g:2218:1: ( ( ( rule__ExportModel__InterfacesAssignment_3_2 ) ) ( ( rule__ExportModel__InterfacesAssignment_3_2 )* ) ) - { - // InternalExport.g:2218:1: ( ( ( rule__ExportModel__InterfacesAssignment_3_2 ) ) ( ( rule__ExportModel__InterfacesAssignment_3_2 )* ) ) - // InternalExport.g:2219:2: ( ( rule__ExportModel__InterfacesAssignment_3_2 ) ) ( ( rule__ExportModel__InterfacesAssignment_3_2 )* ) + // InternalExport.g:2167:2: ( ( ( rule__XCasePart__Group__0 ) ) ) + // InternalExport.g:2168:2: ( ( rule__XCasePart__Group__0 ) ) { - // InternalExport.g:2219:2: ( ( rule__ExportModel__InterfacesAssignment_3_2 ) ) - // InternalExport.g:2220:3: ( rule__ExportModel__InterfacesAssignment_3_2 ) + // InternalExport.g:2168:2: ( ( rule__XCasePart__Group__0 ) ) + // InternalExport.g:2169:3: ( rule__XCasePart__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getInterfacesAssignment_3_2()); + before(grammarAccess.getXCasePartAccess().getGroup()); } - // InternalExport.g:2221:3: ( rule__ExportModel__InterfacesAssignment_3_2 ) - // InternalExport.g:2221:4: rule__ExportModel__InterfacesAssignment_3_2 + // InternalExport.g:2170:3: ( rule__XCasePart__Group__0 ) + // InternalExport.g:2170:4: rule__XCasePart__Group__0 { - pushFollow(FOLLOW_13); - rule__ExportModel__InterfacesAssignment_3_2(); + pushFollow(FOLLOW_2); + rule__XCasePart__Group__0(); state._fsp--; if (state.failed) return ; @@ -8116,48 +7332,7 @@ public final void rule__ExportModel__Group_3__2__Impl() throws RecognitionExcept } if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getInterfacesAssignment_3_2()); - } - - } - - // InternalExport.g:2224:2: ( ( rule__ExportModel__InterfacesAssignment_3_2 )* ) - // InternalExport.g:2225:3: ( rule__ExportModel__InterfacesAssignment_3_2 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getInterfacesAssignment_3_2()); - } - // InternalExport.g:2226:3: ( rule__ExportModel__InterfacesAssignment_3_2 )* - loop26: - do { - int alt26=2; - int LA26_0 = input.LA(1); - - if ( (LA26_0==RULE_ID) ) { - alt26=1; - } - - - switch (alt26) { - case 1 : - // InternalExport.g:2226:4: rule__ExportModel__InterfacesAssignment_3_2 - { - pushFollow(FOLLOW_13); - rule__ExportModel__InterfacesAssignment_3_2(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop26; - } - } while (true); - - if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getInterfacesAssignment_3_2()); + after(grammarAccess.getXCasePartAccess().getGroup()); } } @@ -8165,9 +7340,6 @@ public final void rule__ExportModel__Group_3__2__Impl() throws RecognitionExcept } - - } - } catch (RecognitionException re) { reportError(re); @@ -8180,24 +7352,28 @@ public final void rule__ExportModel__Group_3__2__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ExportModel__Group_3__2__Impl" + // $ANTLR end "ruleXCasePart" - // $ANTLR start "rule__ExportModel__Group_3__3" - // InternalExport.g:2235:1: rule__ExportModel__Group_3__3 : rule__ExportModel__Group_3__3__Impl ; - public final void rule__ExportModel__Group_3__3() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXForLoopExpression" + // InternalExport.g:2179:1: entryRuleXForLoopExpression : ruleXForLoopExpression EOF ; + public final void entryRuleXForLoopExpression() throws RecognitionException { try { - // InternalExport.g:2239:1: ( rule__ExportModel__Group_3__3__Impl ) - // InternalExport.g:2240:2: rule__ExportModel__Group_3__3__Impl + // InternalExport.g:2180:1: ( ruleXForLoopExpression EOF ) + // InternalExport.g:2181:1: ruleXForLoopExpression EOF { - pushFollow(FOLLOW_2); - rule__ExportModel__Group_3__3__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXForLoopExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8207,34 +7383,41 @@ public final void rule__ExportModel__Group_3__3() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ExportModel__Group_3__3" + // $ANTLR end "entryRuleXForLoopExpression" - // $ANTLR start "rule__ExportModel__Group_3__3__Impl" - // InternalExport.g:2246:1: rule__ExportModel__Group_3__3__Impl : ( '}' ) ; - public final void rule__ExportModel__Group_3__3__Impl() throws RecognitionException { + // $ANTLR start "ruleXForLoopExpression" + // InternalExport.g:2188:1: ruleXForLoopExpression : ( ( rule__XForLoopExpression__Group__0 ) ) ; + public final void ruleXForLoopExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2250:1: ( ( '}' ) ) - // InternalExport.g:2251:1: ( '}' ) + // InternalExport.g:2192:2: ( ( ( rule__XForLoopExpression__Group__0 ) ) ) + // InternalExport.g:2193:2: ( ( rule__XForLoopExpression__Group__0 ) ) { - // InternalExport.g:2251:1: ( '}' ) - // InternalExport.g:2252:2: '}' + // InternalExport.g:2193:2: ( ( rule__XForLoopExpression__Group__0 ) ) + // InternalExport.g:2194:3: ( rule__XForLoopExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getRightCurlyBracketKeyword_3_3()); + before(grammarAccess.getXForLoopExpressionAccess().getGroup()); } - match(input,40,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:2195:3: ( rule__XForLoopExpression__Group__0 ) + // InternalExport.g:2195:4: rule__XForLoopExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getRightCurlyBracketKeyword_3_3()); + after(grammarAccess.getXForLoopExpressionAccess().getGroup()); } } @@ -8254,29 +7437,28 @@ public final void rule__ExportModel__Group_3__3__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ExportModel__Group_3__3__Impl" + // $ANTLR end "ruleXForLoopExpression" - // $ANTLR start "rule__Import__Group__0" - // InternalExport.g:2262: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(); - + // $ANTLR start "entryRuleXBasicForLoopExpression" + // InternalExport.g:2204:1: entryRuleXBasicForLoopExpression : ruleXBasicForLoopExpression EOF ; + public final void entryRuleXBasicForLoopExpression() throws RecognitionException { try { - // InternalExport.g:2266:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 ) - // InternalExport.g:2267:2: rule__Import__Group__0__Impl rule__Import__Group__1 + // InternalExport.g:2205:1: ( ruleXBasicForLoopExpression EOF ) + // InternalExport.g:2206:1: ruleXBasicForLoopExpression EOF { - pushFollow(FOLLOW_14); - rule__Import__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Import__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXBasicForLoopExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8286,34 +7468,41 @@ public final void rule__Import__Group__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Import__Group__0" + // $ANTLR end "entryRuleXBasicForLoopExpression" - // $ANTLR start "rule__Import__Group__0__Impl" - // InternalExport.g:2274:1: rule__Import__Group__0__Impl : ( 'import' ) ; - public final void rule__Import__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXBasicForLoopExpression" + // InternalExport.g:2213:1: ruleXBasicForLoopExpression : ( ( rule__XBasicForLoopExpression__Group__0 ) ) ; + public final void ruleXBasicForLoopExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2278:1: ( ( 'import' ) ) - // InternalExport.g:2279:1: ( 'import' ) + // InternalExport.g:2217:2: ( ( ( rule__XBasicForLoopExpression__Group__0 ) ) ) + // InternalExport.g:2218:2: ( ( rule__XBasicForLoopExpression__Group__0 ) ) { - // InternalExport.g:2279:1: ( 'import' ) - // InternalExport.g:2280:2: 'import' + // InternalExport.g:2218:2: ( ( rule__XBasicForLoopExpression__Group__0 ) ) + // InternalExport.g:2219:3: ( rule__XBasicForLoopExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getImportAccess().getImportKeyword_0()); + before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); + } + // InternalExport.g:2220:3: ( rule__XBasicForLoopExpression__Group__0 ) + // InternalExport.g:2220:4: rule__XBasicForLoopExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,41,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getImportAccess().getImportKeyword_0()); + after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); } } @@ -8333,29 +7522,28 @@ public final void rule__Import__Group__0__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Import__Group__0__Impl" - + // $ANTLR end "ruleXBasicForLoopExpression" - // $ANTLR start "rule__Import__Group__1" - // InternalExport.g:2289:1: rule__Import__Group__1 : rule__Import__Group__1__Impl rule__Import__Group__2 ; - public final void rule__Import__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXWhileExpression" + // InternalExport.g:2229:1: entryRuleXWhileExpression : ruleXWhileExpression EOF ; + public final void entryRuleXWhileExpression() throws RecognitionException { try { - // InternalExport.g:2293:1: ( rule__Import__Group__1__Impl rule__Import__Group__2 ) - // InternalExport.g:2294:2: rule__Import__Group__1__Impl rule__Import__Group__2 + // InternalExport.g:2230:1: ( ruleXWhileExpression EOF ) + // InternalExport.g:2231:1: ruleXWhileExpression EOF { - pushFollow(FOLLOW_15); - rule__Import__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Import__Group__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXWhileExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8365,36 +7553,33 @@ public final void rule__Import__Group__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Import__Group__1" + // $ANTLR end "entryRuleXWhileExpression" - // $ANTLR start "rule__Import__Group__1__Impl" - // InternalExport.g:2301:1: rule__Import__Group__1__Impl : ( ( rule__Import__PackageAssignment_1 ) ) ; - public final void rule__Import__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXWhileExpression" + // InternalExport.g:2238:1: ruleXWhileExpression : ( ( rule__XWhileExpression__Group__0 ) ) ; + public final void ruleXWhileExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2305:1: ( ( ( rule__Import__PackageAssignment_1 ) ) ) - // InternalExport.g:2306:1: ( ( rule__Import__PackageAssignment_1 ) ) + // InternalExport.g:2242:2: ( ( ( rule__XWhileExpression__Group__0 ) ) ) + // InternalExport.g:2243:2: ( ( rule__XWhileExpression__Group__0 ) ) { - // InternalExport.g:2306:1: ( ( rule__Import__PackageAssignment_1 ) ) - // InternalExport.g:2307:2: ( rule__Import__PackageAssignment_1 ) + // InternalExport.g:2243:2: ( ( rule__XWhileExpression__Group__0 ) ) + // InternalExport.g:2244:3: ( rule__XWhileExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getImportAccess().getPackageAssignment_1()); + before(grammarAccess.getXWhileExpressionAccess().getGroup()); } - // InternalExport.g:2308:2: ( rule__Import__PackageAssignment_1 ) - // InternalExport.g:2308:3: rule__Import__PackageAssignment_1 + // InternalExport.g:2245:3: ( rule__XWhileExpression__Group__0 ) + // InternalExport.g:2245:4: rule__XWhileExpression__Group__0 { pushFollow(FOLLOW_2); - rule__Import__PackageAssignment_1(); + rule__XWhileExpression__Group__0(); state._fsp--; if (state.failed) return ; @@ -8402,7 +7587,7 @@ public final void rule__Import__Group__1__Impl() throws RecognitionException { } if ( state.backtracking==0 ) { - after(grammarAccess.getImportAccess().getPackageAssignment_1()); + after(grammarAccess.getXWhileExpressionAccess().getGroup()); } } @@ -8422,24 +7607,28 @@ public final void rule__Import__Group__1__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Import__Group__1__Impl" - + // $ANTLR end "ruleXWhileExpression" - // $ANTLR start "rule__Import__Group__2" - // InternalExport.g:2316:1: rule__Import__Group__2 : rule__Import__Group__2__Impl ; - public final void rule__Import__Group__2() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXDoWhileExpression" + // InternalExport.g:2254:1: entryRuleXDoWhileExpression : ruleXDoWhileExpression EOF ; + public final void entryRuleXDoWhileExpression() throws RecognitionException { try { - // InternalExport.g:2320:1: ( rule__Import__Group__2__Impl ) - // InternalExport.g:2321:2: rule__Import__Group__2__Impl + // InternalExport.g:2255:1: ( ruleXDoWhileExpression EOF ) + // InternalExport.g:2256:1: ruleXDoWhileExpression EOF { - pushFollow(FOLLOW_2); - rule__Import__Group__2__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXDoWhileExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8449,55 +7638,41 @@ public final void rule__Import__Group__2() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Import__Group__2" + // $ANTLR end "entryRuleXDoWhileExpression" - // $ANTLR start "rule__Import__Group__2__Impl" - // InternalExport.g:2327:1: rule__Import__Group__2__Impl : ( ( rule__Import__Group_2__0 )? ) ; - public final void rule__Import__Group__2__Impl() throws RecognitionException { + // $ANTLR start "ruleXDoWhileExpression" + // InternalExport.g:2263:1: ruleXDoWhileExpression : ( ( rule__XDoWhileExpression__Group__0 ) ) ; + public final void ruleXDoWhileExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2331:1: ( ( ( rule__Import__Group_2__0 )? ) ) - // InternalExport.g:2332:1: ( ( rule__Import__Group_2__0 )? ) + // InternalExport.g:2267:2: ( ( ( rule__XDoWhileExpression__Group__0 ) ) ) + // InternalExport.g:2268:2: ( ( rule__XDoWhileExpression__Group__0 ) ) { - // InternalExport.g:2332:1: ( ( rule__Import__Group_2__0 )? ) - // InternalExport.g:2333:2: ( rule__Import__Group_2__0 )? + // InternalExport.g:2268:2: ( ( rule__XDoWhileExpression__Group__0 ) ) + // InternalExport.g:2269:3: ( rule__XDoWhileExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getImportAccess().getGroup_2()); - } - // InternalExport.g:2334:2: ( rule__Import__Group_2__0 )? - int alt27=2; - int LA27_0 = input.LA(1); - - if ( (LA27_0==42) ) { - alt27=1; + before(grammarAccess.getXDoWhileExpressionAccess().getGroup()); } - switch (alt27) { - case 1 : - // InternalExport.g:2334:3: rule__Import__Group_2__0 - { - pushFollow(FOLLOW_2); - rule__Import__Group_2__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:2270:3: ( rule__XDoWhileExpression__Group__0 ) + // InternalExport.g:2270:4: rule__XDoWhileExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getImportAccess().getGroup_2()); + after(grammarAccess.getXDoWhileExpressionAccess().getGroup()); } } @@ -8517,29 +7692,28 @@ public final void rule__Import__Group__2__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Import__Group__2__Impl" - + // $ANTLR end "ruleXDoWhileExpression" - // $ANTLR start "rule__Import__Group_2__0" - // InternalExport.g:2343:1: rule__Import__Group_2__0 : rule__Import__Group_2__0__Impl rule__Import__Group_2__1 ; - public final void rule__Import__Group_2__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXBlockExpression" + // InternalExport.g:2279:1: entryRuleXBlockExpression : ruleXBlockExpression EOF ; + public final void entryRuleXBlockExpression() throws RecognitionException { try { - // InternalExport.g:2347:1: ( rule__Import__Group_2__0__Impl rule__Import__Group_2__1 ) - // InternalExport.g:2348:2: rule__Import__Group_2__0__Impl rule__Import__Group_2__1 + // InternalExport.g:2280:1: ( ruleXBlockExpression EOF ) + // InternalExport.g:2281:1: ruleXBlockExpression EOF { - pushFollow(FOLLOW_10); - rule__Import__Group_2__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Import__Group_2__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXBlockExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8549,34 +7723,41 @@ public final void rule__Import__Group_2__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Import__Group_2__0" + // $ANTLR end "entryRuleXBlockExpression" - // $ANTLR start "rule__Import__Group_2__0__Impl" - // InternalExport.g:2355:1: rule__Import__Group_2__0__Impl : ( 'as' ) ; - public final void rule__Import__Group_2__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXBlockExpression" + // InternalExport.g:2288:1: ruleXBlockExpression : ( ( rule__XBlockExpression__Group__0 ) ) ; + public final void ruleXBlockExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2359:1: ( ( 'as' ) ) - // InternalExport.g:2360:1: ( 'as' ) + // InternalExport.g:2292:2: ( ( ( rule__XBlockExpression__Group__0 ) ) ) + // InternalExport.g:2293:2: ( ( rule__XBlockExpression__Group__0 ) ) { - // InternalExport.g:2360:1: ( 'as' ) - // InternalExport.g:2361:2: 'as' + // InternalExport.g:2293:2: ( ( rule__XBlockExpression__Group__0 ) ) + // InternalExport.g:2294:3: ( rule__XBlockExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getImportAccess().getAsKeyword_2_0()); + before(grammarAccess.getXBlockExpressionAccess().getGroup()); + } + // InternalExport.g:2295:3: ( rule__XBlockExpression__Group__0 ) + // InternalExport.g:2295:4: rule__XBlockExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,42,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getImportAccess().getAsKeyword_2_0()); + after(grammarAccess.getXBlockExpressionAccess().getGroup()); } } @@ -8596,24 +7777,28 @@ public final void rule__Import__Group_2__0__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Import__Group_2__0__Impl" + // $ANTLR end "ruleXBlockExpression" - // $ANTLR start "rule__Import__Group_2__1" - // InternalExport.g:2370:1: rule__Import__Group_2__1 : rule__Import__Group_2__1__Impl ; - public final void rule__Import__Group_2__1() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXExpressionOrVarDeclaration" + // InternalExport.g:2304:1: entryRuleXExpressionOrVarDeclaration : ruleXExpressionOrVarDeclaration EOF ; + public final void entryRuleXExpressionOrVarDeclaration() throws RecognitionException { try { - // InternalExport.g:2374:1: ( rule__Import__Group_2__1__Impl ) - // InternalExport.g:2375:2: rule__Import__Group_2__1__Impl + // InternalExport.g:2305:1: ( ruleXExpressionOrVarDeclaration EOF ) + // InternalExport.g:2306:1: ruleXExpressionOrVarDeclaration EOF { - pushFollow(FOLLOW_2); - rule__Import__Group_2__1__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionOrVarDeclarationRule()); + } + pushFollow(FOLLOW_1); + ruleXExpressionOrVarDeclaration(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionOrVarDeclarationRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8623,36 +7808,33 @@ public final void rule__Import__Group_2__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Import__Group_2__1" + // $ANTLR end "entryRuleXExpressionOrVarDeclaration" - // $ANTLR start "rule__Import__Group_2__1__Impl" - // InternalExport.g:2381:1: rule__Import__Group_2__1__Impl : ( ( rule__Import__NameAssignment_2_1 ) ) ; - public final void rule__Import__Group_2__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXExpressionOrVarDeclaration" + // InternalExport.g:2313:1: ruleXExpressionOrVarDeclaration : ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) ; + public final void ruleXExpressionOrVarDeclaration() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2385:1: ( ( ( rule__Import__NameAssignment_2_1 ) ) ) - // InternalExport.g:2386:1: ( ( rule__Import__NameAssignment_2_1 ) ) + // InternalExport.g:2317:2: ( ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) ) + // InternalExport.g:2318:2: ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) { - // InternalExport.g:2386:1: ( ( rule__Import__NameAssignment_2_1 ) ) - // InternalExport.g:2387:2: ( rule__Import__NameAssignment_2_1 ) + // InternalExport.g:2318:2: ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) + // InternalExport.g:2319:3: ( rule__XExpressionOrVarDeclaration__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getImportAccess().getNameAssignment_2_1()); + before(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); } - // InternalExport.g:2388:2: ( rule__Import__NameAssignment_2_1 ) - // InternalExport.g:2388:3: rule__Import__NameAssignment_2_1 + // InternalExport.g:2320:3: ( rule__XExpressionOrVarDeclaration__Alternatives ) + // InternalExport.g:2320:4: rule__XExpressionOrVarDeclaration__Alternatives { pushFollow(FOLLOW_2); - rule__Import__NameAssignment_2_1(); + rule__XExpressionOrVarDeclaration__Alternatives(); state._fsp--; if (state.failed) return ; @@ -8660,7 +7842,7 @@ public final void rule__Import__Group_2__1__Impl() throws RecognitionException { } if ( state.backtracking==0 ) { - after(grammarAccess.getImportAccess().getNameAssignment_2_1()); + after(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); } } @@ -8680,29 +7862,28 @@ public final void rule__Import__Group_2__1__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Import__Group_2__1__Impl" - + // $ANTLR end "ruleXExpressionOrVarDeclaration" - // $ANTLR start "rule__Extension__Group__0" - // InternalExport.g:2397:1: rule__Extension__Group__0 : rule__Extension__Group__0__Impl rule__Extension__Group__1 ; - public final void rule__Extension__Group__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXVariableDeclaration" + // InternalExport.g:2329:1: entryRuleXVariableDeclaration : ruleXVariableDeclaration EOF ; + public final void entryRuleXVariableDeclaration() throws RecognitionException { try { - // InternalExport.g:2401:1: ( rule__Extension__Group__0__Impl rule__Extension__Group__1 ) - // InternalExport.g:2402:2: rule__Extension__Group__0__Impl rule__Extension__Group__1 + // InternalExport.g:2330:1: ( ruleXVariableDeclaration EOF ) + // InternalExport.g:2331:1: ruleXVariableDeclaration EOF { - pushFollow(FOLLOW_10); - rule__Extension__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Extension__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationRule()); + } + pushFollow(FOLLOW_1); + ruleXVariableDeclaration(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8712,34 +7893,41 @@ public final void rule__Extension__Group__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Extension__Group__0" + // $ANTLR end "entryRuleXVariableDeclaration" - // $ANTLR start "rule__Extension__Group__0__Impl" - // InternalExport.g:2409:1: rule__Extension__Group__0__Impl : ( 'extension' ) ; - public final void rule__Extension__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXVariableDeclaration" + // InternalExport.g:2338:1: ruleXVariableDeclaration : ( ( rule__XVariableDeclaration__Group__0 ) ) ; + public final void ruleXVariableDeclaration() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2413:1: ( ( 'extension' ) ) - // InternalExport.g:2414:1: ( 'extension' ) + // InternalExport.g:2342:2: ( ( ( rule__XVariableDeclaration__Group__0 ) ) ) + // InternalExport.g:2343:2: ( ( rule__XVariableDeclaration__Group__0 ) ) { - // InternalExport.g:2414:1: ( 'extension' ) - // InternalExport.g:2415:2: 'extension' + // InternalExport.g:2343:2: ( ( rule__XVariableDeclaration__Group__0 ) ) + // InternalExport.g:2344:3: ( rule__XVariableDeclaration__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExtensionAccess().getExtensionKeyword_0()); + before(grammarAccess.getXVariableDeclarationAccess().getGroup()); + } + // InternalExport.g:2345:3: ( rule__XVariableDeclaration__Group__0 ) + // InternalExport.g:2345:4: rule__XVariableDeclaration__Group__0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,43,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getExtensionAccess().getExtensionKeyword_0()); + after(grammarAccess.getXVariableDeclarationAccess().getGroup()); } } @@ -8759,24 +7947,28 @@ public final void rule__Extension__Group__0__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Extension__Group__0__Impl" + // $ANTLR end "ruleXVariableDeclaration" - // $ANTLR start "rule__Extension__Group__1" - // InternalExport.g:2424:1: rule__Extension__Group__1 : rule__Extension__Group__1__Impl ; - public final void rule__Extension__Group__1() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmFormalParameter" + // InternalExport.g:2354:1: entryRuleJvmFormalParameter : ruleJvmFormalParameter EOF ; + public final void entryRuleJvmFormalParameter() throws RecognitionException { try { - // InternalExport.g:2428:1: ( rule__Extension__Group__1__Impl ) - // InternalExport.g:2429:2: rule__Extension__Group__1__Impl + // InternalExport.g:2355:1: ( ruleJvmFormalParameter EOF ) + // InternalExport.g:2356:1: ruleJvmFormalParameter EOF { - pushFollow(FOLLOW_2); - rule__Extension__Group__1__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmFormalParameterRule()); + } + pushFollow(FOLLOW_1); + ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmFormalParameterRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8786,36 +7978,33 @@ public final void rule__Extension__Group__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Extension__Group__1" + // $ANTLR end "entryRuleJvmFormalParameter" - // $ANTLR start "rule__Extension__Group__1__Impl" - // InternalExport.g:2435:1: rule__Extension__Group__1__Impl : ( ( rule__Extension__ExtensionAssignment_1 ) ) ; - public final void rule__Extension__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmFormalParameter" + // InternalExport.g:2363:1: ruleJvmFormalParameter : ( ( rule__JvmFormalParameter__Group__0 ) ) ; + public final void ruleJvmFormalParameter() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2439:1: ( ( ( rule__Extension__ExtensionAssignment_1 ) ) ) - // InternalExport.g:2440:1: ( ( rule__Extension__ExtensionAssignment_1 ) ) + // InternalExport.g:2367:2: ( ( ( rule__JvmFormalParameter__Group__0 ) ) ) + // InternalExport.g:2368:2: ( ( rule__JvmFormalParameter__Group__0 ) ) { - // InternalExport.g:2440:1: ( ( rule__Extension__ExtensionAssignment_1 ) ) - // InternalExport.g:2441:2: ( rule__Extension__ExtensionAssignment_1 ) + // InternalExport.g:2368:2: ( ( rule__JvmFormalParameter__Group__0 ) ) + // InternalExport.g:2369:3: ( rule__JvmFormalParameter__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExtensionAccess().getExtensionAssignment_1()); + before(grammarAccess.getJvmFormalParameterAccess().getGroup()); } - // InternalExport.g:2442:2: ( rule__Extension__ExtensionAssignment_1 ) - // InternalExport.g:2442:3: rule__Extension__ExtensionAssignment_1 + // InternalExport.g:2370:3: ( rule__JvmFormalParameter__Group__0 ) + // InternalExport.g:2370:4: rule__JvmFormalParameter__Group__0 { pushFollow(FOLLOW_2); - rule__Extension__ExtensionAssignment_1(); + rule__JvmFormalParameter__Group__0(); state._fsp--; if (state.failed) return ; @@ -8823,7 +8012,7 @@ public final void rule__Extension__Group__1__Impl() throws RecognitionException } if ( state.backtracking==0 ) { - after(grammarAccess.getExtensionAccess().getExtensionAssignment_1()); + after(grammarAccess.getJvmFormalParameterAccess().getGroup()); } } @@ -8843,29 +8032,28 @@ public final void rule__Extension__Group__1__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Extension__Group__1__Impl" - + // $ANTLR end "ruleJvmFormalParameter" - // $ANTLR start "rule__Interface__Group__0" - // InternalExport.g:2451:1: rule__Interface__Group__0 : rule__Interface__Group__0__Impl rule__Interface__Group__1 ; - public final void rule__Interface__Group__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleFullJvmFormalParameter" + // InternalExport.g:2379:1: entryRuleFullJvmFormalParameter : ruleFullJvmFormalParameter EOF ; + public final void entryRuleFullJvmFormalParameter() throws RecognitionException { try { - // InternalExport.g:2455:1: ( rule__Interface__Group__0__Impl rule__Interface__Group__1 ) - // InternalExport.g:2456:2: rule__Interface__Group__0__Impl rule__Interface__Group__1 + // InternalExport.g:2380:1: ( ruleFullJvmFormalParameter EOF ) + // InternalExport.g:2381:1: ruleFullJvmFormalParameter EOF { - pushFollow(FOLLOW_16); - rule__Interface__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Interface__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getFullJvmFormalParameterRule()); + } + pushFollow(FOLLOW_1); + ruleFullJvmFormalParameter(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFullJvmFormalParameterRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8875,36 +8063,33 @@ public final void rule__Interface__Group__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Interface__Group__0" + // $ANTLR end "entryRuleFullJvmFormalParameter" - // $ANTLR start "rule__Interface__Group__0__Impl" - // InternalExport.g:2463:1: rule__Interface__Group__0__Impl : ( ( rule__Interface__TypeAssignment_0 ) ) ; - public final void rule__Interface__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleFullJvmFormalParameter" + // InternalExport.g:2388:1: ruleFullJvmFormalParameter : ( ( rule__FullJvmFormalParameter__Group__0 ) ) ; + public final void ruleFullJvmFormalParameter() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2467:1: ( ( ( rule__Interface__TypeAssignment_0 ) ) ) - // InternalExport.g:2468:1: ( ( rule__Interface__TypeAssignment_0 ) ) + // InternalExport.g:2392:2: ( ( ( rule__FullJvmFormalParameter__Group__0 ) ) ) + // InternalExport.g:2393:2: ( ( rule__FullJvmFormalParameter__Group__0 ) ) { - // InternalExport.g:2468:1: ( ( rule__Interface__TypeAssignment_0 ) ) - // InternalExport.g:2469:2: ( rule__Interface__TypeAssignment_0 ) + // InternalExport.g:2393:2: ( ( rule__FullJvmFormalParameter__Group__0 ) ) + // InternalExport.g:2394:3: ( rule__FullJvmFormalParameter__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceAccess().getTypeAssignment_0()); + before(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); } - // InternalExport.g:2470:2: ( rule__Interface__TypeAssignment_0 ) - // InternalExport.g:2470:3: rule__Interface__TypeAssignment_0 + // InternalExport.g:2395:3: ( rule__FullJvmFormalParameter__Group__0 ) + // InternalExport.g:2395:4: rule__FullJvmFormalParameter__Group__0 { pushFollow(FOLLOW_2); - rule__Interface__TypeAssignment_0(); + rule__FullJvmFormalParameter__Group__0(); state._fsp--; if (state.failed) return ; @@ -8912,7 +8097,7 @@ public final void rule__Interface__Group__0__Impl() throws RecognitionException } if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceAccess().getTypeAssignment_0()); + after(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); } } @@ -8932,29 +8117,28 @@ public final void rule__Interface__Group__0__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Interface__Group__0__Impl" - + // $ANTLR end "ruleFullJvmFormalParameter" - // $ANTLR start "rule__Interface__Group__1" - // InternalExport.g:2478:1: rule__Interface__Group__1 : rule__Interface__Group__1__Impl rule__Interface__Group__2 ; - public final void rule__Interface__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXFeatureCall" + // InternalExport.g:2404:1: entryRuleXFeatureCall : ruleXFeatureCall EOF ; + public final void entryRuleXFeatureCall() throws RecognitionException { try { - // InternalExport.g:2482:1: ( rule__Interface__Group__1__Impl rule__Interface__Group__2 ) - // InternalExport.g:2483:2: rule__Interface__Group__1__Impl rule__Interface__Group__2 + // InternalExport.g:2405:1: ( ruleXFeatureCall EOF ) + // InternalExport.g:2406:1: ruleXFeatureCall EOF { - pushFollow(FOLLOW_16); - rule__Interface__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Interface__Group__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallRule()); + } + pushFollow(FOLLOW_1); + ruleXFeatureCall(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8964,55 +8148,41 @@ public final void rule__Interface__Group__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Interface__Group__1" + // $ANTLR end "entryRuleXFeatureCall" - // $ANTLR start "rule__Interface__Group__1__Impl" - // InternalExport.g:2490:1: rule__Interface__Group__1__Impl : ( ( rule__Interface__Group_1__0 )? ) ; - public final void rule__Interface__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXFeatureCall" + // InternalExport.g:2413:1: ruleXFeatureCall : ( ( rule__XFeatureCall__Group__0 ) ) ; + public final void ruleXFeatureCall() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2494:1: ( ( ( rule__Interface__Group_1__0 )? ) ) - // InternalExport.g:2495:1: ( ( rule__Interface__Group_1__0 )? ) + // InternalExport.g:2417:2: ( ( ( rule__XFeatureCall__Group__0 ) ) ) + // InternalExport.g:2418:2: ( ( rule__XFeatureCall__Group__0 ) ) { - // InternalExport.g:2495:1: ( ( rule__Interface__Group_1__0 )? ) - // InternalExport.g:2496:2: ( rule__Interface__Group_1__0 )? + // InternalExport.g:2418:2: ( ( rule__XFeatureCall__Group__0 ) ) + // InternalExport.g:2419:3: ( rule__XFeatureCall__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceAccess().getGroup_1()); - } - // InternalExport.g:2497:2: ( rule__Interface__Group_1__0 )? - int alt28=2; - int LA28_0 = input.LA(1); - - if ( (LA28_0==45) ) { - alt28=1; + before(grammarAccess.getXFeatureCallAccess().getGroup()); } - switch (alt28) { - case 1 : - // InternalExport.g:2497:3: rule__Interface__Group_1__0 - { - pushFollow(FOLLOW_2); - rule__Interface__Group_1__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:2420:3: ( rule__XFeatureCall__Group__0 ) + // InternalExport.g:2420:4: rule__XFeatureCall__Group__0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceAccess().getGroup_1()); + after(grammarAccess.getXFeatureCallAccess().getGroup()); } } @@ -9032,29 +8202,28 @@ public final void rule__Interface__Group__1__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Interface__Group__1__Impl" - + // $ANTLR end "ruleXFeatureCall" - // $ANTLR start "rule__Interface__Group__2" - // InternalExport.g:2505:1: rule__Interface__Group__2 : rule__Interface__Group__2__Impl rule__Interface__Group__3 ; - public final void rule__Interface__Group__2() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleFeatureCallID" + // InternalExport.g:2429:1: entryRuleFeatureCallID : ruleFeatureCallID EOF ; + public final void entryRuleFeatureCallID() throws RecognitionException { try { - // InternalExport.g:2509:1: ( rule__Interface__Group__2__Impl rule__Interface__Group__3 ) - // InternalExport.g:2510:2: rule__Interface__Group__2__Impl rule__Interface__Group__3 + // InternalExport.g:2430:1: ( ruleFeatureCallID EOF ) + // InternalExport.g:2431:1: ruleFeatureCallID EOF { - pushFollow(FOLLOW_16); - rule__Interface__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Interface__Group__3(); + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDRule()); + } + pushFollow(FOLLOW_1); + ruleFeatureCallID(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9064,62 +8233,41 @@ public final void rule__Interface__Group__2() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Interface__Group__2" + // $ANTLR end "entryRuleFeatureCallID" - // $ANTLR start "rule__Interface__Group__2__Impl" - // InternalExport.g:2517:1: rule__Interface__Group__2__Impl : ( ( rule__Interface__Group_2__0 )* ) ; - public final void rule__Interface__Group__2__Impl() throws RecognitionException { + // $ANTLR start "ruleFeatureCallID" + // InternalExport.g:2438:1: ruleFeatureCallID : ( ( rule__FeatureCallID__Alternatives ) ) ; + public final void ruleFeatureCallID() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2521:1: ( ( ( rule__Interface__Group_2__0 )* ) ) - // InternalExport.g:2522:1: ( ( rule__Interface__Group_2__0 )* ) + // InternalExport.g:2442:2: ( ( ( rule__FeatureCallID__Alternatives ) ) ) + // InternalExport.g:2443:2: ( ( rule__FeatureCallID__Alternatives ) ) { - // InternalExport.g:2522:1: ( ( rule__Interface__Group_2__0 )* ) - // InternalExport.g:2523:2: ( rule__Interface__Group_2__0 )* + // InternalExport.g:2443:2: ( ( rule__FeatureCallID__Alternatives ) ) + // InternalExport.g:2444:3: ( rule__FeatureCallID__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceAccess().getGroup_2()); + before(grammarAccess.getFeatureCallIDAccess().getAlternatives()); } - // InternalExport.g:2524:2: ( rule__Interface__Group_2__0 )* - loop29: - do { - int alt29=2; - int LA29_0 = input.LA(1); - - if ( (LA29_0==47) ) { - alt29=1; - } - - - switch (alt29) { - case 1 : - // InternalExport.g:2524:3: rule__Interface__Group_2__0 - { - pushFollow(FOLLOW_17); - rule__Interface__Group_2__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:2445:3: ( rule__FeatureCallID__Alternatives ) + // InternalExport.g:2445:4: rule__FeatureCallID__Alternatives + { + pushFollow(FOLLOW_2); + rule__FeatureCallID__Alternatives(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop29; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceAccess().getGroup_2()); + after(grammarAccess.getFeatureCallIDAccess().getAlternatives()); } } @@ -9139,24 +8287,28 @@ public final void rule__Interface__Group__2__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Interface__Group__2__Impl" + // $ANTLR end "ruleFeatureCallID" - // $ANTLR start "rule__Interface__Group__3" - // InternalExport.g:2532:1: rule__Interface__Group__3 : rule__Interface__Group__3__Impl ; - public final void rule__Interface__Group__3() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleIdOrSuper" + // InternalExport.g:2454:1: entryRuleIdOrSuper : ruleIdOrSuper EOF ; + public final void entryRuleIdOrSuper() throws RecognitionException { try { - // InternalExport.g:2536:1: ( rule__Interface__Group__3__Impl ) - // InternalExport.g:2537:2: rule__Interface__Group__3__Impl + // InternalExport.g:2455:1: ( ruleIdOrSuper EOF ) + // InternalExport.g:2456:1: ruleIdOrSuper EOF { - pushFollow(FOLLOW_2); - rule__Interface__Group__3__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getIdOrSuperRule()); + } + pushFollow(FOLLOW_1); + ruleIdOrSuper(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdOrSuperRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9166,34 +8318,41 @@ public final void rule__Interface__Group__3() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Interface__Group__3" + // $ANTLR end "entryRuleIdOrSuper" - // $ANTLR start "rule__Interface__Group__3__Impl" - // InternalExport.g:2543:1: rule__Interface__Group__3__Impl : ( ';' ) ; - public final void rule__Interface__Group__3__Impl() throws RecognitionException { + // $ANTLR start "ruleIdOrSuper" + // InternalExport.g:2463:1: ruleIdOrSuper : ( ( rule__IdOrSuper__Alternatives ) ) ; + public final void ruleIdOrSuper() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2547:1: ( ( ';' ) ) - // InternalExport.g:2548:1: ( ';' ) + // InternalExport.g:2467:2: ( ( ( rule__IdOrSuper__Alternatives ) ) ) + // InternalExport.g:2468:2: ( ( rule__IdOrSuper__Alternatives ) ) { - // InternalExport.g:2548:1: ( ';' ) - // InternalExport.g:2549:2: ';' + // InternalExport.g:2468:2: ( ( rule__IdOrSuper__Alternatives ) ) + // InternalExport.g:2469:3: ( rule__IdOrSuper__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceAccess().getSemicolonKeyword_3()); + before(grammarAccess.getIdOrSuperAccess().getAlternatives()); + } + // InternalExport.g:2470:3: ( rule__IdOrSuper__Alternatives ) + // InternalExport.g:2470:4: rule__IdOrSuper__Alternatives + { + pushFollow(FOLLOW_2); + rule__IdOrSuper__Alternatives(); + + state._fsp--; + if (state.failed) return ; + } - match(input,44,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceAccess().getSemicolonKeyword_3()); + after(grammarAccess.getIdOrSuperAccess().getAlternatives()); } } @@ -9213,29 +8372,28 @@ public final void rule__Interface__Group__3__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Interface__Group__3__Impl" + // $ANTLR end "ruleIdOrSuper" - // $ANTLR start "rule__Interface__Group_1__0" - // InternalExport.g:2559:1: rule__Interface__Group_1__0 : rule__Interface__Group_1__0__Impl rule__Interface__Group_1__1 ; - public final void rule__Interface__Group_1__0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXConstructorCall" + // InternalExport.g:2479:1: entryRuleXConstructorCall : ruleXConstructorCall EOF ; + public final void entryRuleXConstructorCall() throws RecognitionException { try { - // InternalExport.g:2563:1: ( rule__Interface__Group_1__0__Impl rule__Interface__Group_1__1 ) - // InternalExport.g:2564:2: rule__Interface__Group_1__0__Impl rule__Interface__Group_1__1 + // InternalExport.g:2480:1: ( ruleXConstructorCall EOF ) + // InternalExport.g:2481:1: ruleXConstructorCall EOF { - pushFollow(FOLLOW_18); - rule__Interface__Group_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Interface__Group_1__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallRule()); + } + pushFollow(FOLLOW_1); + ruleXConstructorCall(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9245,34 +8403,41 @@ public final void rule__Interface__Group_1__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Interface__Group_1__0" + // $ANTLR end "entryRuleXConstructorCall" - // $ANTLR start "rule__Interface__Group_1__0__Impl" - // InternalExport.g:2571:1: rule__Interface__Group_1__0__Impl : ( '[' ) ; - public final void rule__Interface__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXConstructorCall" + // InternalExport.g:2488:1: ruleXConstructorCall : ( ( rule__XConstructorCall__Group__0 ) ) ; + public final void ruleXConstructorCall() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2575:1: ( ( '[' ) ) - // InternalExport.g:2576:1: ( '[' ) + // InternalExport.g:2492:2: ( ( ( rule__XConstructorCall__Group__0 ) ) ) + // InternalExport.g:2493:2: ( ( rule__XConstructorCall__Group__0 ) ) { - // InternalExport.g:2576:1: ( '[' ) - // InternalExport.g:2577:2: '[' + // InternalExport.g:2493:2: ( ( rule__XConstructorCall__Group__0 ) ) + // InternalExport.g:2494:3: ( rule__XConstructorCall__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceAccess().getLeftSquareBracketKeyword_1_0()); + before(grammarAccess.getXConstructorCallAccess().getGroup()); + } + // InternalExport.g:2495:3: ( rule__XConstructorCall__Group__0 ) + // InternalExport.g:2495:4: rule__XConstructorCall__Group__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,45,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceAccess().getLeftSquareBracketKeyword_1_0()); + after(grammarAccess.getXConstructorCallAccess().getGroup()); } } @@ -9292,29 +8457,28 @@ public final void rule__Interface__Group_1__0__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__Interface__Group_1__0__Impl" - + // $ANTLR end "ruleXConstructorCall" - // $ANTLR start "rule__Interface__Group_1__1" - // InternalExport.g:2586:1: rule__Interface__Group_1__1 : rule__Interface__Group_1__1__Impl rule__Interface__Group_1__2 ; - public final void rule__Interface__Group_1__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXBooleanLiteral" + // InternalExport.g:2504:1: entryRuleXBooleanLiteral : ruleXBooleanLiteral EOF ; + public final void entryRuleXBooleanLiteral() throws RecognitionException { try { - // InternalExport.g:2590:1: ( rule__Interface__Group_1__1__Impl rule__Interface__Group_1__2 ) - // InternalExport.g:2591:2: rule__Interface__Group_1__1__Impl rule__Interface__Group_1__2 + // InternalExport.g:2505:1: ( ruleXBooleanLiteral EOF ) + // InternalExport.g:2506:1: ruleXBooleanLiteral EOF { - pushFollow(FOLLOW_19); - rule__Interface__Group_1__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Interface__Group_1__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXBooleanLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9324,36 +8488,33 @@ public final void rule__Interface__Group_1__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Interface__Group_1__1" + // $ANTLR end "entryRuleXBooleanLiteral" - // $ANTLR start "rule__Interface__Group_1__1__Impl" - // InternalExport.g:2598:1: rule__Interface__Group_1__1__Impl : ( ( rule__Interface__GuardAssignment_1_1 ) ) ; - public final void rule__Interface__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXBooleanLiteral" + // InternalExport.g:2513:1: ruleXBooleanLiteral : ( ( rule__XBooleanLiteral__Group__0 ) ) ; + public final void ruleXBooleanLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2602:1: ( ( ( rule__Interface__GuardAssignment_1_1 ) ) ) - // InternalExport.g:2603:1: ( ( rule__Interface__GuardAssignment_1_1 ) ) + // InternalExport.g:2517:2: ( ( ( rule__XBooleanLiteral__Group__0 ) ) ) + // InternalExport.g:2518:2: ( ( rule__XBooleanLiteral__Group__0 ) ) { - // InternalExport.g:2603:1: ( ( rule__Interface__GuardAssignment_1_1 ) ) - // InternalExport.g:2604:2: ( rule__Interface__GuardAssignment_1_1 ) + // InternalExport.g:2518:2: ( ( rule__XBooleanLiteral__Group__0 ) ) + // InternalExport.g:2519:3: ( rule__XBooleanLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceAccess().getGuardAssignment_1_1()); + before(grammarAccess.getXBooleanLiteralAccess().getGroup()); } - // InternalExport.g:2605:2: ( rule__Interface__GuardAssignment_1_1 ) - // InternalExport.g:2605:3: rule__Interface__GuardAssignment_1_1 + // InternalExport.g:2520:3: ( rule__XBooleanLiteral__Group__0 ) + // InternalExport.g:2520:4: rule__XBooleanLiteral__Group__0 { pushFollow(FOLLOW_2); - rule__Interface__GuardAssignment_1_1(); + rule__XBooleanLiteral__Group__0(); state._fsp--; if (state.failed) return ; @@ -9361,7 +8522,7 @@ public final void rule__Interface__Group_1__1__Impl() throws RecognitionExceptio } if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceAccess().getGuardAssignment_1_1()); + after(grammarAccess.getXBooleanLiteralAccess().getGroup()); } } @@ -9381,24 +8542,28 @@ public final void rule__Interface__Group_1__1__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__Interface__Group_1__1__Impl" - + // $ANTLR end "ruleXBooleanLiteral" - // $ANTLR start "rule__Interface__Group_1__2" - // InternalExport.g:2613:1: rule__Interface__Group_1__2 : rule__Interface__Group_1__2__Impl ; - public final void rule__Interface__Group_1__2() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXNullLiteral" + // InternalExport.g:2529:1: entryRuleXNullLiteral : ruleXNullLiteral EOF ; + public final void entryRuleXNullLiteral() throws RecognitionException { try { - // InternalExport.g:2617:1: ( rule__Interface__Group_1__2__Impl ) - // InternalExport.g:2618:2: rule__Interface__Group_1__2__Impl + // InternalExport.g:2530:1: ( ruleXNullLiteral EOF ) + // InternalExport.g:2531:1: ruleXNullLiteral EOF { - pushFollow(FOLLOW_2); - rule__Interface__Group_1__2__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXNullLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXNullLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXNullLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9408,34 +8573,41 @@ public final void rule__Interface__Group_1__2() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Interface__Group_1__2" + // $ANTLR end "entryRuleXNullLiteral" - // $ANTLR start "rule__Interface__Group_1__2__Impl" - // InternalExport.g:2624:1: rule__Interface__Group_1__2__Impl : ( ']' ) ; - public final void rule__Interface__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "ruleXNullLiteral" + // InternalExport.g:2538:1: ruleXNullLiteral : ( ( rule__XNullLiteral__Group__0 ) ) ; + public final void ruleXNullLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2628:1: ( ( ']' ) ) - // InternalExport.g:2629:1: ( ']' ) + // InternalExport.g:2542:2: ( ( ( rule__XNullLiteral__Group__0 ) ) ) + // InternalExport.g:2543:2: ( ( rule__XNullLiteral__Group__0 ) ) { - // InternalExport.g:2629:1: ( ']' ) - // InternalExport.g:2630:2: ']' + // InternalExport.g:2543:2: ( ( rule__XNullLiteral__Group__0 ) ) + // InternalExport.g:2544:3: ( rule__XNullLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceAccess().getRightSquareBracketKeyword_1_2()); + before(grammarAccess.getXNullLiteralAccess().getGroup()); + } + // InternalExport.g:2545:3: ( rule__XNullLiteral__Group__0 ) + // InternalExport.g:2545:4: rule__XNullLiteral__Group__0 + { + pushFollow(FOLLOW_2); + rule__XNullLiteral__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,46,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceAccess().getRightSquareBracketKeyword_1_2()); + after(grammarAccess.getXNullLiteralAccess().getGroup()); } } @@ -9455,29 +8627,28 @@ public final void rule__Interface__Group_1__2__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__Interface__Group_1__2__Impl" - + // $ANTLR end "ruleXNullLiteral" - // $ANTLR start "rule__Interface__Group_2__0" - // InternalExport.g:2640:1: rule__Interface__Group_2__0 : rule__Interface__Group_2__0__Impl rule__Interface__Group_2__1 ; - public final void rule__Interface__Group_2__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXNumberLiteral" + // InternalExport.g:2554:1: entryRuleXNumberLiteral : ruleXNumberLiteral EOF ; + public final void entryRuleXNumberLiteral() throws RecognitionException { try { - // InternalExport.g:2644:1: ( rule__Interface__Group_2__0__Impl rule__Interface__Group_2__1 ) - // InternalExport.g:2645:2: rule__Interface__Group_2__0__Impl rule__Interface__Group_2__1 + // InternalExport.g:2555:1: ( ruleXNumberLiteral EOF ) + // InternalExport.g:2556:1: ruleXNumberLiteral EOF { - pushFollow(FOLLOW_20); - rule__Interface__Group_2__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Interface__Group_2__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXNumberLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXNumberLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXNumberLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9487,34 +8658,41 @@ public final void rule__Interface__Group_2__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Interface__Group_2__0" + // $ANTLR end "entryRuleXNumberLiteral" - // $ANTLR start "rule__Interface__Group_2__0__Impl" - // InternalExport.g:2652:1: rule__Interface__Group_2__0__Impl : ( '=' ) ; - public final void rule__Interface__Group_2__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXNumberLiteral" + // InternalExport.g:2563:1: ruleXNumberLiteral : ( ( rule__XNumberLiteral__Group__0 ) ) ; + public final void ruleXNumberLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2656:1: ( ( '=' ) ) - // InternalExport.g:2657:1: ( '=' ) + // InternalExport.g:2567:2: ( ( ( rule__XNumberLiteral__Group__0 ) ) ) + // InternalExport.g:2568:2: ( ( rule__XNumberLiteral__Group__0 ) ) { - // InternalExport.g:2657:1: ( '=' ) - // InternalExport.g:2658:2: '=' + // InternalExport.g:2568:2: ( ( rule__XNumberLiteral__Group__0 ) ) + // InternalExport.g:2569:3: ( rule__XNumberLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceAccess().getEqualsSignKeyword_2_0()); + before(grammarAccess.getXNumberLiteralAccess().getGroup()); + } + // InternalExport.g:2570:3: ( rule__XNumberLiteral__Group__0 ) + // InternalExport.g:2570:4: rule__XNumberLiteral__Group__0 + { + pushFollow(FOLLOW_2); + rule__XNumberLiteral__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,47,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceAccess().getEqualsSignKeyword_2_0()); + after(grammarAccess.getXNumberLiteralAccess().getGroup()); } } @@ -9534,29 +8712,28 @@ public final void rule__Interface__Group_2__0__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__Interface__Group_2__0__Impl" + // $ANTLR end "ruleXNumberLiteral" - // $ANTLR start "rule__Interface__Group_2__1" - // InternalExport.g:2667:1: rule__Interface__Group_2__1 : rule__Interface__Group_2__1__Impl rule__Interface__Group_2__2 ; - public final void rule__Interface__Group_2__1() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXStringLiteral" + // InternalExport.g:2579:1: entryRuleXStringLiteral : ruleXStringLiteral EOF ; + public final void entryRuleXStringLiteral() throws RecognitionException { try { - // InternalExport.g:2671:1: ( rule__Interface__Group_2__1__Impl rule__Interface__Group_2__2 ) - // InternalExport.g:2672:2: rule__Interface__Group_2__1__Impl rule__Interface__Group_2__2 + // InternalExport.g:2580:1: ( ruleXStringLiteral EOF ) + // InternalExport.g:2581:1: ruleXStringLiteral EOF { - pushFollow(FOLLOW_21); - rule__Interface__Group_2__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Interface__Group_2__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXStringLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXStringLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXStringLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9566,36 +8743,33 @@ public final void rule__Interface__Group_2__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Interface__Group_2__1" + // $ANTLR end "entryRuleXStringLiteral" - // $ANTLR start "rule__Interface__Group_2__1__Impl" - // InternalExport.g:2679:1: rule__Interface__Group_2__1__Impl : ( ( rule__Interface__ItemsAssignment_2_1 ) ) ; - public final void rule__Interface__Group_2__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXStringLiteral" + // InternalExport.g:2588:1: ruleXStringLiteral : ( ( rule__XStringLiteral__Group__0 ) ) ; + public final void ruleXStringLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2683:1: ( ( ( rule__Interface__ItemsAssignment_2_1 ) ) ) - // InternalExport.g:2684:1: ( ( rule__Interface__ItemsAssignment_2_1 ) ) + // InternalExport.g:2592:2: ( ( ( rule__XStringLiteral__Group__0 ) ) ) + // InternalExport.g:2593:2: ( ( rule__XStringLiteral__Group__0 ) ) { - // InternalExport.g:2684:1: ( ( rule__Interface__ItemsAssignment_2_1 ) ) - // InternalExport.g:2685:2: ( rule__Interface__ItemsAssignment_2_1 ) + // InternalExport.g:2593:2: ( ( rule__XStringLiteral__Group__0 ) ) + // InternalExport.g:2594:3: ( rule__XStringLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceAccess().getItemsAssignment_2_1()); + before(grammarAccess.getXStringLiteralAccess().getGroup()); } - // InternalExport.g:2686:2: ( rule__Interface__ItemsAssignment_2_1 ) - // InternalExport.g:2686:3: rule__Interface__ItemsAssignment_2_1 + // InternalExport.g:2595:3: ( rule__XStringLiteral__Group__0 ) + // InternalExport.g:2595:4: rule__XStringLiteral__Group__0 { pushFollow(FOLLOW_2); - rule__Interface__ItemsAssignment_2_1(); + rule__XStringLiteral__Group__0(); state._fsp--; if (state.failed) return ; @@ -9603,7 +8777,7 @@ public final void rule__Interface__Group_2__1__Impl() throws RecognitionExceptio } if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceAccess().getItemsAssignment_2_1()); + after(grammarAccess.getXStringLiteralAccess().getGroup()); } } @@ -9623,24 +8797,28 @@ public final void rule__Interface__Group_2__1__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__Interface__Group_2__1__Impl" + // $ANTLR end "ruleXStringLiteral" - // $ANTLR start "rule__Interface__Group_2__2" - // InternalExport.g:2694:1: rule__Interface__Group_2__2 : rule__Interface__Group_2__2__Impl ; - public final void rule__Interface__Group_2__2() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXTypeLiteral" + // InternalExport.g:2604:1: entryRuleXTypeLiteral : ruleXTypeLiteral EOF ; + public final void entryRuleXTypeLiteral() throws RecognitionException { try { - // InternalExport.g:2698:1: ( rule__Interface__Group_2__2__Impl ) - // InternalExport.g:2699:2: rule__Interface__Group_2__2__Impl + // InternalExport.g:2605:1: ( ruleXTypeLiteral EOF ) + // InternalExport.g:2606:1: ruleXTypeLiteral EOF { - pushFollow(FOLLOW_2); - rule__Interface__Group_2__2__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXTypeLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9650,62 +8828,41 @@ public final void rule__Interface__Group_2__2() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Interface__Group_2__2" + // $ANTLR end "entryRuleXTypeLiteral" - // $ANTLR start "rule__Interface__Group_2__2__Impl" - // InternalExport.g:2705:1: rule__Interface__Group_2__2__Impl : ( ( rule__Interface__Group_2_2__0 )* ) ; - public final void rule__Interface__Group_2__2__Impl() throws RecognitionException { + // $ANTLR start "ruleXTypeLiteral" + // InternalExport.g:2613:1: ruleXTypeLiteral : ( ( rule__XTypeLiteral__Group__0 ) ) ; + public final void ruleXTypeLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2709:1: ( ( ( rule__Interface__Group_2_2__0 )* ) ) - // InternalExport.g:2710:1: ( ( rule__Interface__Group_2_2__0 )* ) + // InternalExport.g:2617:2: ( ( ( rule__XTypeLiteral__Group__0 ) ) ) + // InternalExport.g:2618:2: ( ( rule__XTypeLiteral__Group__0 ) ) { - // InternalExport.g:2710:1: ( ( rule__Interface__Group_2_2__0 )* ) - // InternalExport.g:2711:2: ( rule__Interface__Group_2_2__0 )* + // InternalExport.g:2618:2: ( ( rule__XTypeLiteral__Group__0 ) ) + // InternalExport.g:2619:3: ( rule__XTypeLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceAccess().getGroup_2_2()); + before(grammarAccess.getXTypeLiteralAccess().getGroup()); } - // InternalExport.g:2712:2: ( rule__Interface__Group_2_2__0 )* - loop30: - do { - int alt30=2; - int LA30_0 = input.LA(1); - - if ( (LA30_0==48) ) { - alt30=1; - } - - - switch (alt30) { - case 1 : - // InternalExport.g:2712:3: rule__Interface__Group_2_2__0 - { - pushFollow(FOLLOW_22); - rule__Interface__Group_2_2__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:2620:3: ( rule__XTypeLiteral__Group__0 ) + // InternalExport.g:2620:4: rule__XTypeLiteral__Group__0 + { + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop30; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceAccess().getGroup_2_2()); + after(grammarAccess.getXTypeLiteralAccess().getGroup()); } } @@ -9725,29 +8882,28 @@ public final void rule__Interface__Group_2__2__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__Interface__Group_2__2__Impl" + // $ANTLR end "ruleXTypeLiteral" - // $ANTLR start "rule__Interface__Group_2_2__0" - // InternalExport.g:2721:1: rule__Interface__Group_2_2__0 : rule__Interface__Group_2_2__0__Impl rule__Interface__Group_2_2__1 ; - public final void rule__Interface__Group_2_2__0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXThrowExpression" + // InternalExport.g:2629:1: entryRuleXThrowExpression : ruleXThrowExpression EOF ; + public final void entryRuleXThrowExpression() throws RecognitionException { try { - // InternalExport.g:2725:1: ( rule__Interface__Group_2_2__0__Impl rule__Interface__Group_2_2__1 ) - // InternalExport.g:2726:2: rule__Interface__Group_2_2__0__Impl rule__Interface__Group_2_2__1 + // InternalExport.g:2630:1: ( ruleXThrowExpression EOF ) + // InternalExport.g:2631:1: ruleXThrowExpression EOF { - pushFollow(FOLLOW_20); - rule__Interface__Group_2_2__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Interface__Group_2_2__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXThrowExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXThrowExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXThrowExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9757,34 +8913,41 @@ public final void rule__Interface__Group_2_2__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Interface__Group_2_2__0" + // $ANTLR end "entryRuleXThrowExpression" - // $ANTLR start "rule__Interface__Group_2_2__0__Impl" - // InternalExport.g:2733:1: rule__Interface__Group_2_2__0__Impl : ( ',' ) ; - public final void rule__Interface__Group_2_2__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXThrowExpression" + // InternalExport.g:2638:1: ruleXThrowExpression : ( ( rule__XThrowExpression__Group__0 ) ) ; + public final void ruleXThrowExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2737:1: ( ( ',' ) ) - // InternalExport.g:2738:1: ( ',' ) + // InternalExport.g:2642:2: ( ( ( rule__XThrowExpression__Group__0 ) ) ) + // InternalExport.g:2643:2: ( ( rule__XThrowExpression__Group__0 ) ) { - // InternalExport.g:2738:1: ( ',' ) - // InternalExport.g:2739:2: ',' + // InternalExport.g:2643:2: ( ( rule__XThrowExpression__Group__0 ) ) + // InternalExport.g:2644:3: ( rule__XThrowExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceAccess().getCommaKeyword_2_2_0()); + before(grammarAccess.getXThrowExpressionAccess().getGroup()); } - match(input,48,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:2645:3: ( rule__XThrowExpression__Group__0 ) + // InternalExport.g:2645:4: rule__XThrowExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XThrowExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceAccess().getCommaKeyword_2_2_0()); + after(grammarAccess.getXThrowExpressionAccess().getGroup()); } } @@ -9804,24 +8967,28 @@ public final void rule__Interface__Group_2_2__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__Interface__Group_2_2__0__Impl" + // $ANTLR end "ruleXThrowExpression" - // $ANTLR start "rule__Interface__Group_2_2__1" - // InternalExport.g:2748:1: rule__Interface__Group_2_2__1 : rule__Interface__Group_2_2__1__Impl ; - public final void rule__Interface__Group_2_2__1() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXReturnExpression" + // InternalExport.g:2654:1: entryRuleXReturnExpression : ruleXReturnExpression EOF ; + public final void entryRuleXReturnExpression() throws RecognitionException { try { - // InternalExport.g:2752:1: ( rule__Interface__Group_2_2__1__Impl ) - // InternalExport.g:2753:2: rule__Interface__Group_2_2__1__Impl + // InternalExport.g:2655:1: ( ruleXReturnExpression EOF ) + // InternalExport.g:2656:1: ruleXReturnExpression EOF { - pushFollow(FOLLOW_2); - rule__Interface__Group_2_2__1__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXReturnExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXReturnExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXReturnExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9831,36 +8998,33 @@ public final void rule__Interface__Group_2_2__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Interface__Group_2_2__1" + // $ANTLR end "entryRuleXReturnExpression" - // $ANTLR start "rule__Interface__Group_2_2__1__Impl" - // InternalExport.g:2759:1: rule__Interface__Group_2_2__1__Impl : ( ( rule__Interface__ItemsAssignment_2_2_1 ) ) ; - public final void rule__Interface__Group_2_2__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXReturnExpression" + // InternalExport.g:2663:1: ruleXReturnExpression : ( ( rule__XReturnExpression__Group__0 ) ) ; + public final void ruleXReturnExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2763:1: ( ( ( rule__Interface__ItemsAssignment_2_2_1 ) ) ) - // InternalExport.g:2764:1: ( ( rule__Interface__ItemsAssignment_2_2_1 ) ) + // InternalExport.g:2667:2: ( ( ( rule__XReturnExpression__Group__0 ) ) ) + // InternalExport.g:2668:2: ( ( rule__XReturnExpression__Group__0 ) ) { - // InternalExport.g:2764:1: ( ( rule__Interface__ItemsAssignment_2_2_1 ) ) - // InternalExport.g:2765:2: ( rule__Interface__ItemsAssignment_2_2_1 ) + // InternalExport.g:2668:2: ( ( rule__XReturnExpression__Group__0 ) ) + // InternalExport.g:2669:3: ( rule__XReturnExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceAccess().getItemsAssignment_2_2_1()); + before(grammarAccess.getXReturnExpressionAccess().getGroup()); } - // InternalExport.g:2766:2: ( rule__Interface__ItemsAssignment_2_2_1 ) - // InternalExport.g:2766:3: rule__Interface__ItemsAssignment_2_2_1 + // InternalExport.g:2670:3: ( rule__XReturnExpression__Group__0 ) + // InternalExport.g:2670:4: rule__XReturnExpression__Group__0 { pushFollow(FOLLOW_2); - rule__Interface__ItemsAssignment_2_2_1(); + rule__XReturnExpression__Group__0(); state._fsp--; if (state.failed) return ; @@ -9868,7 +9032,7 @@ public final void rule__Interface__Group_2_2__1__Impl() throws RecognitionExcept } if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceAccess().getItemsAssignment_2_2_1()); + after(grammarAccess.getXReturnExpressionAccess().getGroup()); } } @@ -9888,29 +9052,28 @@ public final void rule__Interface__Group_2_2__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__Interface__Group_2_2__1__Impl" - + // $ANTLR end "ruleXReturnExpression" - // $ANTLR start "rule__InterfaceField__Group__0" - // InternalExport.g:2775:1: rule__InterfaceField__Group__0 : rule__InterfaceField__Group__0__Impl rule__InterfaceField__Group__1 ; - public final void rule__InterfaceField__Group__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXTryCatchFinallyExpression" + // InternalExport.g:2679:1: entryRuleXTryCatchFinallyExpression : ruleXTryCatchFinallyExpression EOF ; + public final void entryRuleXTryCatchFinallyExpression() throws RecognitionException { try { - // InternalExport.g:2779:1: ( rule__InterfaceField__Group__0__Impl rule__InterfaceField__Group__1 ) - // InternalExport.g:2780:2: rule__InterfaceField__Group__0__Impl rule__InterfaceField__Group__1 + // InternalExport.g:2680:1: ( ruleXTryCatchFinallyExpression EOF ) + // InternalExport.g:2681:1: ruleXTryCatchFinallyExpression EOF { - pushFollow(FOLLOW_23); - rule__InterfaceField__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InterfaceField__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXTryCatchFinallyExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9920,55 +9083,41 @@ public final void rule__InterfaceField__Group__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__InterfaceField__Group__0" + // $ANTLR end "entryRuleXTryCatchFinallyExpression" - // $ANTLR start "rule__InterfaceField__Group__0__Impl" - // InternalExport.g:2787:1: rule__InterfaceField__Group__0__Impl : ( ( rule__InterfaceField__UnorderedAssignment_0 )? ) ; - public final void rule__InterfaceField__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXTryCatchFinallyExpression" + // InternalExport.g:2688:1: ruleXTryCatchFinallyExpression : ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) ; + public final void ruleXTryCatchFinallyExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2791:1: ( ( ( rule__InterfaceField__UnorderedAssignment_0 )? ) ) - // InternalExport.g:2792:1: ( ( rule__InterfaceField__UnorderedAssignment_0 )? ) + // InternalExport.g:2692:2: ( ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) ) + // InternalExport.g:2693:2: ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) { - // InternalExport.g:2792:1: ( ( rule__InterfaceField__UnorderedAssignment_0 )? ) - // InternalExport.g:2793:2: ( rule__InterfaceField__UnorderedAssignment_0 )? + // InternalExport.g:2693:2: ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) + // InternalExport.g:2694:3: ( rule__XTryCatchFinallyExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceFieldAccess().getUnorderedAssignment_0()); + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); } - // InternalExport.g:2794:2: ( rule__InterfaceField__UnorderedAssignment_0 )? - int alt31=2; - int LA31_0 = input.LA(1); - - if ( (LA31_0==18) ) { - alt31=1; - } - switch (alt31) { - case 1 : - // InternalExport.g:2794:3: rule__InterfaceField__UnorderedAssignment_0 - { - pushFollow(FOLLOW_2); - rule__InterfaceField__UnorderedAssignment_0(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:2695:3: ( rule__XTryCatchFinallyExpression__Group__0 ) + // InternalExport.g:2695:4: rule__XTryCatchFinallyExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceFieldAccess().getUnorderedAssignment_0()); + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); } } @@ -9988,24 +9137,28 @@ public final void rule__InterfaceField__Group__0__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__InterfaceField__Group__0__Impl" - + // $ANTLR end "ruleXTryCatchFinallyExpression" - // $ANTLR start "rule__InterfaceField__Group__1" - // InternalExport.g:2802:1: rule__InterfaceField__Group__1 : rule__InterfaceField__Group__1__Impl ; - public final void rule__InterfaceField__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXSynchronizedExpression" + // InternalExport.g:2704:1: entryRuleXSynchronizedExpression : ruleXSynchronizedExpression EOF ; + public final void entryRuleXSynchronizedExpression() throws RecognitionException { try { - // InternalExport.g:2806:1: ( rule__InterfaceField__Group__1__Impl ) - // InternalExport.g:2807:2: rule__InterfaceField__Group__1__Impl + // InternalExport.g:2705:1: ( ruleXSynchronizedExpression EOF ) + // InternalExport.g:2706:1: ruleXSynchronizedExpression EOF { - pushFollow(FOLLOW_2); - rule__InterfaceField__Group__1__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXSynchronizedExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10015,36 +9168,33 @@ public final void rule__InterfaceField__Group__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__InterfaceField__Group__1" + // $ANTLR end "entryRuleXSynchronizedExpression" - // $ANTLR start "rule__InterfaceField__Group__1__Impl" - // InternalExport.g:2813:1: rule__InterfaceField__Group__1__Impl : ( ( rule__InterfaceField__FieldAssignment_1 ) ) ; - public final void rule__InterfaceField__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXSynchronizedExpression" + // InternalExport.g:2713:1: ruleXSynchronizedExpression : ( ( rule__XSynchronizedExpression__Group__0 ) ) ; + public final void ruleXSynchronizedExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2817:1: ( ( ( rule__InterfaceField__FieldAssignment_1 ) ) ) - // InternalExport.g:2818:1: ( ( rule__InterfaceField__FieldAssignment_1 ) ) + // InternalExport.g:2717:2: ( ( ( rule__XSynchronizedExpression__Group__0 ) ) ) + // InternalExport.g:2718:2: ( ( rule__XSynchronizedExpression__Group__0 ) ) { - // InternalExport.g:2818:1: ( ( rule__InterfaceField__FieldAssignment_1 ) ) - // InternalExport.g:2819:2: ( rule__InterfaceField__FieldAssignment_1 ) + // InternalExport.g:2718:2: ( ( rule__XSynchronizedExpression__Group__0 ) ) + // InternalExport.g:2719:3: ( rule__XSynchronizedExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceFieldAccess().getFieldAssignment_1()); + before(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); } - // InternalExport.g:2820:2: ( rule__InterfaceField__FieldAssignment_1 ) - // InternalExport.g:2820:3: rule__InterfaceField__FieldAssignment_1 + // InternalExport.g:2720:3: ( rule__XSynchronizedExpression__Group__0 ) + // InternalExport.g:2720:4: rule__XSynchronizedExpression__Group__0 { pushFollow(FOLLOW_2); - rule__InterfaceField__FieldAssignment_1(); + rule__XSynchronizedExpression__Group__0(); state._fsp--; if (state.failed) return ; @@ -10052,7 +9202,7 @@ public final void rule__InterfaceField__Group__1__Impl() throws RecognitionExcep } if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceFieldAccess().getFieldAssignment_1()); + after(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); } } @@ -10072,29 +9222,28 @@ public final void rule__InterfaceField__Group__1__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__InterfaceField__Group__1__Impl" + // $ANTLR end "ruleXSynchronizedExpression" - // $ANTLR start "rule__InterfaceNavigation__Group__0" - // InternalExport.g:2829:1: rule__InterfaceNavigation__Group__0 : rule__InterfaceNavigation__Group__0__Impl rule__InterfaceNavigation__Group__1 ; - public final void rule__InterfaceNavigation__Group__0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXCatchClause" + // InternalExport.g:2729:1: entryRuleXCatchClause : ruleXCatchClause EOF ; + public final void entryRuleXCatchClause() throws RecognitionException { try { - // InternalExport.g:2833:1: ( rule__InterfaceNavigation__Group__0__Impl rule__InterfaceNavigation__Group__1 ) - // InternalExport.g:2834:2: rule__InterfaceNavigation__Group__0__Impl rule__InterfaceNavigation__Group__1 + // InternalExport.g:2730:1: ( ruleXCatchClause EOF ) + // InternalExport.g:2731:1: ruleXCatchClause EOF { - pushFollow(FOLLOW_23); - rule__InterfaceNavigation__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InterfaceNavigation__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseRule()); + } + pushFollow(FOLLOW_1); + ruleXCatchClause(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10104,34 +9253,41 @@ public final void rule__InterfaceNavigation__Group__0() throws RecognitionExcept recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__InterfaceNavigation__Group__0" + // $ANTLR end "entryRuleXCatchClause" - // $ANTLR start "rule__InterfaceNavigation__Group__0__Impl" - // InternalExport.g:2841:1: rule__InterfaceNavigation__Group__0__Impl : ( '@' ) ; - public final void rule__InterfaceNavigation__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXCatchClause" + // InternalExport.g:2738:1: ruleXCatchClause : ( ( rule__XCatchClause__Group__0 ) ) ; + public final void ruleXCatchClause() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2845:1: ( ( '@' ) ) - // InternalExport.g:2846:1: ( '@' ) + // InternalExport.g:2742:2: ( ( ( rule__XCatchClause__Group__0 ) ) ) + // InternalExport.g:2743:2: ( ( rule__XCatchClause__Group__0 ) ) { - // InternalExport.g:2846:1: ( '@' ) - // InternalExport.g:2847:2: '@' + // InternalExport.g:2743:2: ( ( rule__XCatchClause__Group__0 ) ) + // InternalExport.g:2744:3: ( rule__XCatchClause__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceNavigationAccess().getCommercialAtKeyword_0()); + before(grammarAccess.getXCatchClauseAccess().getGroup()); + } + // InternalExport.g:2745:3: ( rule__XCatchClause__Group__0 ) + // InternalExport.g:2745:4: rule__XCatchClause__Group__0 + { + pushFollow(FOLLOW_2); + rule__XCatchClause__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,49,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceNavigationAccess().getCommercialAtKeyword_0()); + after(grammarAccess.getXCatchClauseAccess().getGroup()); } } @@ -10151,29 +9307,28 @@ public final void rule__InterfaceNavigation__Group__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InterfaceNavigation__Group__0__Impl" - + // $ANTLR end "ruleXCatchClause" - // $ANTLR start "rule__InterfaceNavigation__Group__1" - // InternalExport.g:2856:1: rule__InterfaceNavigation__Group__1 : rule__InterfaceNavigation__Group__1__Impl rule__InterfaceNavigation__Group__2 ; - public final void rule__InterfaceNavigation__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleQualifiedName" + // InternalExport.g:2754:1: entryRuleQualifiedName : ruleQualifiedName EOF ; + public final void entryRuleQualifiedName() throws RecognitionException { try { - // InternalExport.g:2860:1: ( rule__InterfaceNavigation__Group__1__Impl rule__InterfaceNavigation__Group__2 ) - // InternalExport.g:2861:2: rule__InterfaceNavigation__Group__1__Impl rule__InterfaceNavigation__Group__2 + // InternalExport.g:2755:1: ( ruleQualifiedName EOF ) + // InternalExport.g:2756:1: ruleQualifiedName EOF { - pushFollow(FOLLOW_23); - rule__InterfaceNavigation__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InterfaceNavigation__Group__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameRule()); + } + pushFollow(FOLLOW_1); + ruleQualifiedName(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10183,55 +9338,41 @@ public final void rule__InterfaceNavigation__Group__1() throws RecognitionExcept recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__InterfaceNavigation__Group__1" + // $ANTLR end "entryRuleQualifiedName" - // $ANTLR start "rule__InterfaceNavigation__Group__1__Impl" - // InternalExport.g:2868:1: rule__InterfaceNavigation__Group__1__Impl : ( ( rule__InterfaceNavigation__UnorderedAssignment_1 )? ) ; - public final void rule__InterfaceNavigation__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleQualifiedName" + // InternalExport.g:2763:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ; + public final void ruleQualifiedName() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2872:1: ( ( ( rule__InterfaceNavigation__UnorderedAssignment_1 )? ) ) - // InternalExport.g:2873:1: ( ( rule__InterfaceNavigation__UnorderedAssignment_1 )? ) + // InternalExport.g:2767:2: ( ( ( rule__QualifiedName__Group__0 ) ) ) + // InternalExport.g:2768:2: ( ( rule__QualifiedName__Group__0 ) ) { - // InternalExport.g:2873:1: ( ( rule__InterfaceNavigation__UnorderedAssignment_1 )? ) - // InternalExport.g:2874:2: ( rule__InterfaceNavigation__UnorderedAssignment_1 )? + // InternalExport.g:2768:2: ( ( rule__QualifiedName__Group__0 ) ) + // InternalExport.g:2769:3: ( rule__QualifiedName__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceNavigationAccess().getUnorderedAssignment_1()); + before(grammarAccess.getQualifiedNameAccess().getGroup()); } - // InternalExport.g:2875:2: ( rule__InterfaceNavigation__UnorderedAssignment_1 )? - int alt32=2; - int LA32_0 = input.LA(1); - - if ( (LA32_0==18) ) { - alt32=1; - } - switch (alt32) { - case 1 : - // InternalExport.g:2875:3: rule__InterfaceNavigation__UnorderedAssignment_1 - { - pushFollow(FOLLOW_2); - rule__InterfaceNavigation__UnorderedAssignment_1(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:2770:3: ( rule__QualifiedName__Group__0 ) + // InternalExport.g:2770:4: rule__QualifiedName__Group__0 + { + pushFollow(FOLLOW_2); + rule__QualifiedName__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceNavigationAccess().getUnorderedAssignment_1()); + after(grammarAccess.getQualifiedNameAccess().getGroup()); } } @@ -10251,24 +9392,31 @@ public final void rule__InterfaceNavigation__Group__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InterfaceNavigation__Group__1__Impl" + // $ANTLR end "ruleQualifiedName" - // $ANTLR start "rule__InterfaceNavigation__Group__2" - // InternalExport.g:2883:1: rule__InterfaceNavigation__Group__2 : rule__InterfaceNavigation__Group__2__Impl ; - public final void rule__InterfaceNavigation__Group__2() throws RecognitionException { + // $ANTLR start "entryRuleNumber" + // InternalExport.g:2779:1: entryRuleNumber : ruleNumber EOF ; + public final void entryRuleNumber() throws RecognitionException { + + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); - int stackSize = keepStackSize(); - try { - // InternalExport.g:2887:1: ( rule__InterfaceNavigation__Group__2__Impl ) - // InternalExport.g:2888:2: rule__InterfaceNavigation__Group__2__Impl + // InternalExport.g:2783:1: ( ruleNumber EOF ) + // InternalExport.g:2784:1: ruleNumber EOF { - pushFollow(FOLLOW_2); - rule__InterfaceNavigation__Group__2__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberRule()); + } + pushFollow(FOLLOW_1); + ruleNumber(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10279,35 +9427,36 @@ public final void rule__InterfaceNavigation__Group__2() throws RecognitionExcept } finally { - restoreStackSize(stackSize); + myHiddenTokenState.restore(); } return ; } - // $ANTLR end "rule__InterfaceNavigation__Group__2" + // $ANTLR end "entryRuleNumber" - // $ANTLR start "rule__InterfaceNavigation__Group__2__Impl" - // InternalExport.g:2894:1: rule__InterfaceNavigation__Group__2__Impl : ( ( rule__InterfaceNavigation__RefAssignment_2 ) ) ; - public final void rule__InterfaceNavigation__Group__2__Impl() throws RecognitionException { + // $ANTLR start "ruleNumber" + // InternalExport.g:2794:1: ruleNumber : ( ( rule__Number__Alternatives ) ) ; + public final void ruleNumber() throws RecognitionException { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); int stackSize = keepStackSize(); try { - // InternalExport.g:2898:1: ( ( ( rule__InterfaceNavigation__RefAssignment_2 ) ) ) - // InternalExport.g:2899:1: ( ( rule__InterfaceNavigation__RefAssignment_2 ) ) + // InternalExport.g:2799:2: ( ( ( rule__Number__Alternatives ) ) ) + // InternalExport.g:2800:2: ( ( rule__Number__Alternatives ) ) { - // InternalExport.g:2899:1: ( ( rule__InterfaceNavigation__RefAssignment_2 ) ) - // InternalExport.g:2900:2: ( rule__InterfaceNavigation__RefAssignment_2 ) + // InternalExport.g:2800:2: ( ( rule__Number__Alternatives ) ) + // InternalExport.g:2801:3: ( rule__Number__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceNavigationAccess().getRefAssignment_2()); + before(grammarAccess.getNumberAccess().getAlternatives()); } - // InternalExport.g:2901:2: ( rule__InterfaceNavigation__RefAssignment_2 ) - // InternalExport.g:2901:3: rule__InterfaceNavigation__RefAssignment_2 + // InternalExport.g:2802:3: ( rule__Number__Alternatives ) + // InternalExport.g:2802:4: rule__Number__Alternatives { pushFollow(FOLLOW_2); - rule__InterfaceNavigation__RefAssignment_2(); + rule__Number__Alternatives(); state._fsp--; if (state.failed) return ; @@ -10315,7 +9464,7 @@ public final void rule__InterfaceNavigation__Group__2__Impl() throws Recognition } if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceNavigationAccess().getRefAssignment_2()); + after(grammarAccess.getNumberAccess().getAlternatives()); } } @@ -10331,33 +9480,33 @@ public final void rule__InterfaceNavigation__Group__2__Impl() throws Recognition finally { restoreStackSize(stackSize); + myHiddenTokenState.restore(); } return ; } - // $ANTLR end "rule__InterfaceNavigation__Group__2__Impl" - + // $ANTLR end "ruleNumber" - // $ANTLR start "rule__InterfaceExpression__Group__0" - // InternalExport.g:2910:1: rule__InterfaceExpression__Group__0 : rule__InterfaceExpression__Group__0__Impl rule__InterfaceExpression__Group__1 ; - public final void rule__InterfaceExpression__Group__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmTypeReference" + // InternalExport.g:2812:1: entryRuleJvmTypeReference : ruleJvmTypeReference EOF ; + public final void entryRuleJvmTypeReference() throws RecognitionException { try { - // InternalExport.g:2914:1: ( rule__InterfaceExpression__Group__0__Impl rule__InterfaceExpression__Group__1 ) - // InternalExport.g:2915:2: rule__InterfaceExpression__Group__0__Impl rule__InterfaceExpression__Group__1 + // InternalExport.g:2813:1: ( ruleJvmTypeReference EOF ) + // InternalExport.g:2814:1: ruleJvmTypeReference EOF { - pushFollow(FOLLOW_24); - rule__InterfaceExpression__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InterfaceExpression__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + ruleJvmTypeReference(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10367,34 +9516,41 @@ public final void rule__InterfaceExpression__Group__0() throws RecognitionExcept recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__InterfaceExpression__Group__0" + // $ANTLR end "entryRuleJvmTypeReference" - // $ANTLR start "rule__InterfaceExpression__Group__0__Impl" - // InternalExport.g:2922:1: rule__InterfaceExpression__Group__0__Impl : ( 'eval' ) ; - public final void rule__InterfaceExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmTypeReference" + // InternalExport.g:2821:1: ruleJvmTypeReference : ( ( rule__JvmTypeReference__Alternatives ) ) ; + public final void ruleJvmTypeReference() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2926:1: ( ( 'eval' ) ) - // InternalExport.g:2927:1: ( 'eval' ) + // InternalExport.g:2825:2: ( ( ( rule__JvmTypeReference__Alternatives ) ) ) + // InternalExport.g:2826:2: ( ( rule__JvmTypeReference__Alternatives ) ) { - // InternalExport.g:2927:1: ( 'eval' ) - // InternalExport.g:2928:2: 'eval' + // InternalExport.g:2826:2: ( ( rule__JvmTypeReference__Alternatives ) ) + // InternalExport.g:2827:3: ( rule__JvmTypeReference__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceExpressionAccess().getEvalKeyword_0()); + before(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); } - match(input,50,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:2828:3: ( rule__JvmTypeReference__Alternatives ) + // InternalExport.g:2828:4: rule__JvmTypeReference__Alternatives + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceExpressionAccess().getEvalKeyword_0()); + after(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); } } @@ -10414,29 +9570,28 @@ public final void rule__InterfaceExpression__Group__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InterfaceExpression__Group__0__Impl" - + // $ANTLR end "ruleJvmTypeReference" - // $ANTLR start "rule__InterfaceExpression__Group__1" - // InternalExport.g:2937:1: rule__InterfaceExpression__Group__1 : rule__InterfaceExpression__Group__1__Impl rule__InterfaceExpression__Group__2 ; - public final void rule__InterfaceExpression__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleArrayBrackets" + // InternalExport.g:2837:1: entryRuleArrayBrackets : ruleArrayBrackets EOF ; + public final void entryRuleArrayBrackets() throws RecognitionException { try { - // InternalExport.g:2941:1: ( rule__InterfaceExpression__Group__1__Impl rule__InterfaceExpression__Group__2 ) - // InternalExport.g:2942:2: rule__InterfaceExpression__Group__1__Impl rule__InterfaceExpression__Group__2 + // InternalExport.g:2838:1: ( ruleArrayBrackets EOF ) + // InternalExport.g:2839:1: ruleArrayBrackets EOF { - pushFollow(FOLLOW_24); - rule__InterfaceExpression__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InterfaceExpression__Group__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayBracketsRule()); + } + pushFollow(FOLLOW_1); + ruleArrayBrackets(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayBracketsRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10446,55 +9601,41 @@ public final void rule__InterfaceExpression__Group__1() throws RecognitionExcept recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__InterfaceExpression__Group__1" + // $ANTLR end "entryRuleArrayBrackets" - // $ANTLR start "rule__InterfaceExpression__Group__1__Impl" - // InternalExport.g:2949:1: rule__InterfaceExpression__Group__1__Impl : ( ( rule__InterfaceExpression__RefAssignment_1 )? ) ; - public final void rule__InterfaceExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleArrayBrackets" + // InternalExport.g:2846:1: ruleArrayBrackets : ( ( rule__ArrayBrackets__Group__0 ) ) ; + public final void ruleArrayBrackets() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2953:1: ( ( ( rule__InterfaceExpression__RefAssignment_1 )? ) ) - // InternalExport.g:2954:1: ( ( rule__InterfaceExpression__RefAssignment_1 )? ) + // InternalExport.g:2850:2: ( ( ( rule__ArrayBrackets__Group__0 ) ) ) + // InternalExport.g:2851:2: ( ( rule__ArrayBrackets__Group__0 ) ) { - // InternalExport.g:2954:1: ( ( rule__InterfaceExpression__RefAssignment_1 )? ) - // InternalExport.g:2955:2: ( rule__InterfaceExpression__RefAssignment_1 )? + // InternalExport.g:2851:2: ( ( rule__ArrayBrackets__Group__0 ) ) + // InternalExport.g:2852:3: ( rule__ArrayBrackets__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceExpressionAccess().getRefAssignment_1()); - } - // InternalExport.g:2956:2: ( rule__InterfaceExpression__RefAssignment_1 )? - int alt33=2; - int LA33_0 = input.LA(1); - - if ( (LA33_0==49) ) { - alt33=1; + before(grammarAccess.getArrayBracketsAccess().getGroup()); } - switch (alt33) { - case 1 : - // InternalExport.g:2956:3: rule__InterfaceExpression__RefAssignment_1 - { - pushFollow(FOLLOW_2); - rule__InterfaceExpression__RefAssignment_1(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:2853:3: ( rule__ArrayBrackets__Group__0 ) + // InternalExport.g:2853:4: rule__ArrayBrackets__Group__0 + { + pushFollow(FOLLOW_2); + rule__ArrayBrackets__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceExpressionAccess().getRefAssignment_1()); + after(grammarAccess.getArrayBracketsAccess().getGroup()); } } @@ -10514,29 +9655,28 @@ public final void rule__InterfaceExpression__Group__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InterfaceExpression__Group__1__Impl" - + // $ANTLR end "ruleArrayBrackets" - // $ANTLR start "rule__InterfaceExpression__Group__2" - // InternalExport.g:2964:1: rule__InterfaceExpression__Group__2 : rule__InterfaceExpression__Group__2__Impl rule__InterfaceExpression__Group__3 ; - public final void rule__InterfaceExpression__Group__2() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXFunctionTypeRef" + // InternalExport.g:2862:1: entryRuleXFunctionTypeRef : ruleXFunctionTypeRef EOF ; + public final void entryRuleXFunctionTypeRef() throws RecognitionException { try { - // InternalExport.g:2968:1: ( rule__InterfaceExpression__Group__2__Impl rule__InterfaceExpression__Group__3 ) - // InternalExport.g:2969:2: rule__InterfaceExpression__Group__2__Impl rule__InterfaceExpression__Group__3 + // InternalExport.g:2863:1: ( ruleXFunctionTypeRef EOF ) + // InternalExport.g:2864:1: ruleXFunctionTypeRef EOF { - pushFollow(FOLLOW_24); - rule__InterfaceExpression__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InterfaceExpression__Group__3(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefRule()); + } + pushFollow(FOLLOW_1); + ruleXFunctionTypeRef(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10546,55 +9686,41 @@ public final void rule__InterfaceExpression__Group__2() throws RecognitionExcept recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__InterfaceExpression__Group__2" + // $ANTLR end "entryRuleXFunctionTypeRef" - // $ANTLR start "rule__InterfaceExpression__Group__2__Impl" - // InternalExport.g:2976:1: rule__InterfaceExpression__Group__2__Impl : ( ( rule__InterfaceExpression__UnorderedAssignment_2 )? ) ; - public final void rule__InterfaceExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "ruleXFunctionTypeRef" + // InternalExport.g:2871:1: ruleXFunctionTypeRef : ( ( rule__XFunctionTypeRef__Group__0 ) ) ; + public final void ruleXFunctionTypeRef() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:2980:1: ( ( ( rule__InterfaceExpression__UnorderedAssignment_2 )? ) ) - // InternalExport.g:2981:1: ( ( rule__InterfaceExpression__UnorderedAssignment_2 )? ) + // InternalExport.g:2875:2: ( ( ( rule__XFunctionTypeRef__Group__0 ) ) ) + // InternalExport.g:2876:2: ( ( rule__XFunctionTypeRef__Group__0 ) ) { - // InternalExport.g:2981:1: ( ( rule__InterfaceExpression__UnorderedAssignment_2 )? ) - // InternalExport.g:2982:2: ( rule__InterfaceExpression__UnorderedAssignment_2 )? + // InternalExport.g:2876:2: ( ( rule__XFunctionTypeRef__Group__0 ) ) + // InternalExport.g:2877:3: ( rule__XFunctionTypeRef__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceExpressionAccess().getUnorderedAssignment_2()); - } - // InternalExport.g:2983:2: ( rule__InterfaceExpression__UnorderedAssignment_2 )? - int alt34=2; - int LA34_0 = input.LA(1); - - if ( (LA34_0==18) ) { - alt34=1; + before(grammarAccess.getXFunctionTypeRefAccess().getGroup()); } - switch (alt34) { - case 1 : - // InternalExport.g:2983:3: rule__InterfaceExpression__UnorderedAssignment_2 - { - pushFollow(FOLLOW_2); - rule__InterfaceExpression__UnorderedAssignment_2(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:2878:3: ( rule__XFunctionTypeRef__Group__0 ) + // InternalExport.g:2878:4: rule__XFunctionTypeRef__Group__0 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceExpressionAccess().getUnorderedAssignment_2()); + after(grammarAccess.getXFunctionTypeRefAccess().getGroup()); } } @@ -10614,29 +9740,28 @@ public final void rule__InterfaceExpression__Group__2__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InterfaceExpression__Group__2__Impl" - + // $ANTLR end "ruleXFunctionTypeRef" - // $ANTLR start "rule__InterfaceExpression__Group__3" - // InternalExport.g:2991:1: rule__InterfaceExpression__Group__3 : rule__InterfaceExpression__Group__3__Impl rule__InterfaceExpression__Group__4 ; - public final void rule__InterfaceExpression__Group__3() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmParameterizedTypeReference" + // InternalExport.g:2887:1: entryRuleJvmParameterizedTypeReference : ruleJvmParameterizedTypeReference EOF ; + public final void entryRuleJvmParameterizedTypeReference() throws RecognitionException { try { - // InternalExport.g:2995:1: ( rule__InterfaceExpression__Group__3__Impl rule__InterfaceExpression__Group__4 ) - // InternalExport.g:2996:2: rule__InterfaceExpression__Group__3__Impl rule__InterfaceExpression__Group__4 + // InternalExport.g:2888:1: ( ruleJvmParameterizedTypeReference EOF ) + // InternalExport.g:2889:1: ruleJvmParameterizedTypeReference EOF { - pushFollow(FOLLOW_18); - rule__InterfaceExpression__Group__3__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InterfaceExpression__Group__4(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10646,34 +9771,41 @@ public final void rule__InterfaceExpression__Group__3() throws RecognitionExcept recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__InterfaceExpression__Group__3" + // $ANTLR end "entryRuleJvmParameterizedTypeReference" - // $ANTLR start "rule__InterfaceExpression__Group__3__Impl" - // InternalExport.g:3003:1: rule__InterfaceExpression__Group__3__Impl : ( '(' ) ; - public final void rule__InterfaceExpression__Group__3__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmParameterizedTypeReference" + // InternalExport.g:2896:1: ruleJvmParameterizedTypeReference : ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) ; + public final void ruleJvmParameterizedTypeReference() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3007:1: ( ( '(' ) ) - // InternalExport.g:3008:1: ( '(' ) + // InternalExport.g:2900:2: ( ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) ) + // InternalExport.g:2901:2: ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) { - // InternalExport.g:3008:1: ( '(' ) - // InternalExport.g:3009:2: '(' + // InternalExport.g:2901:2: ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) + // InternalExport.g:2902:3: ( rule__JvmParameterizedTypeReference__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceExpressionAccess().getLeftParenthesisKeyword_3()); + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:2903:3: ( rule__JvmParameterizedTypeReference__Group__0 ) + // InternalExport.g:2903:4: rule__JvmParameterizedTypeReference__Group__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceExpressionAccess().getLeftParenthesisKeyword_3()); + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); } } @@ -10693,29 +9825,28 @@ public final void rule__InterfaceExpression__Group__3__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InterfaceExpression__Group__3__Impl" - + // $ANTLR end "ruleJvmParameterizedTypeReference" - // $ANTLR start "rule__InterfaceExpression__Group__4" - // InternalExport.g:3018:1: rule__InterfaceExpression__Group__4 : rule__InterfaceExpression__Group__4__Impl rule__InterfaceExpression__Group__5 ; - public final void rule__InterfaceExpression__Group__4() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmArgumentTypeReference" + // InternalExport.g:2912:1: entryRuleJvmArgumentTypeReference : ruleJvmArgumentTypeReference EOF ; + public final void entryRuleJvmArgumentTypeReference() throws RecognitionException { try { - // InternalExport.g:3022:1: ( rule__InterfaceExpression__Group__4__Impl rule__InterfaceExpression__Group__5 ) - // InternalExport.g:3023:2: rule__InterfaceExpression__Group__4__Impl rule__InterfaceExpression__Group__5 + // InternalExport.g:2913:1: ( ruleJvmArgumentTypeReference EOF ) + // InternalExport.g:2914:1: ruleJvmArgumentTypeReference EOF { - pushFollow(FOLLOW_25); - rule__InterfaceExpression__Group__4__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InterfaceExpression__Group__5(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmArgumentTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmArgumentTypeReferenceRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10725,36 +9856,33 @@ public final void rule__InterfaceExpression__Group__4() throws RecognitionExcept recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__InterfaceExpression__Group__4" + // $ANTLR end "entryRuleJvmArgumentTypeReference" - // $ANTLR start "rule__InterfaceExpression__Group__4__Impl" - // InternalExport.g:3030:1: rule__InterfaceExpression__Group__4__Impl : ( ( rule__InterfaceExpression__ExprAssignment_4 ) ) ; - public final void rule__InterfaceExpression__Group__4__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmArgumentTypeReference" + // InternalExport.g:2921:1: ruleJvmArgumentTypeReference : ( ( rule__JvmArgumentTypeReference__Alternatives ) ) ; + public final void ruleJvmArgumentTypeReference() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3034:1: ( ( ( rule__InterfaceExpression__ExprAssignment_4 ) ) ) - // InternalExport.g:3035:1: ( ( rule__InterfaceExpression__ExprAssignment_4 ) ) + // InternalExport.g:2925:2: ( ( ( rule__JvmArgumentTypeReference__Alternatives ) ) ) + // InternalExport.g:2926:2: ( ( rule__JvmArgumentTypeReference__Alternatives ) ) { - // InternalExport.g:3035:1: ( ( rule__InterfaceExpression__ExprAssignment_4 ) ) - // InternalExport.g:3036:2: ( rule__InterfaceExpression__ExprAssignment_4 ) + // InternalExport.g:2926:2: ( ( rule__JvmArgumentTypeReference__Alternatives ) ) + // InternalExport.g:2927:3: ( rule__JvmArgumentTypeReference__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceExpressionAccess().getExprAssignment_4()); + before(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); } - // InternalExport.g:3037:2: ( rule__InterfaceExpression__ExprAssignment_4 ) - // InternalExport.g:3037:3: rule__InterfaceExpression__ExprAssignment_4 + // InternalExport.g:2928:3: ( rule__JvmArgumentTypeReference__Alternatives ) + // InternalExport.g:2928:4: rule__JvmArgumentTypeReference__Alternatives { pushFollow(FOLLOW_2); - rule__InterfaceExpression__ExprAssignment_4(); + rule__JvmArgumentTypeReference__Alternatives(); state._fsp--; if (state.failed) return ; @@ -10762,7 +9890,7 @@ public final void rule__InterfaceExpression__Group__4__Impl() throws Recognition } if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceExpressionAccess().getExprAssignment_4()); + after(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); } } @@ -10782,24 +9910,28 @@ public final void rule__InterfaceExpression__Group__4__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InterfaceExpression__Group__4__Impl" - + // $ANTLR end "ruleJvmArgumentTypeReference" - // $ANTLR start "rule__InterfaceExpression__Group__5" - // InternalExport.g:3045:1: rule__InterfaceExpression__Group__5 : rule__InterfaceExpression__Group__5__Impl ; - public final void rule__InterfaceExpression__Group__5() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmWildcardTypeReference" + // InternalExport.g:2937:1: entryRuleJvmWildcardTypeReference : ruleJvmWildcardTypeReference EOF ; + public final void entryRuleJvmWildcardTypeReference() throws RecognitionException { try { - // InternalExport.g:3049:1: ( rule__InterfaceExpression__Group__5__Impl ) - // InternalExport.g:3050:2: rule__InterfaceExpression__Group__5__Impl + // InternalExport.g:2938:1: ( ruleJvmWildcardTypeReference EOF ) + // InternalExport.g:2939:1: ruleJvmWildcardTypeReference EOF { - pushFollow(FOLLOW_2); - rule__InterfaceExpression__Group__5__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + ruleJvmWildcardTypeReference(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10809,36 +9941,43 @@ public final void rule__InterfaceExpression__Group__5() throws RecognitionExcept recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__InterfaceExpression__Group__5" + // $ANTLR end "entryRuleJvmWildcardTypeReference" - // $ANTLR start "rule__InterfaceExpression__Group__5__Impl" - // InternalExport.g:3056:1: rule__InterfaceExpression__Group__5__Impl : ( ')' ) ; - public final void rule__InterfaceExpression__Group__5__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmWildcardTypeReference" + // InternalExport.g:2946:1: ruleJvmWildcardTypeReference : ( ( rule__JvmWildcardTypeReference__Group__0 ) ) ; + public final void ruleJvmWildcardTypeReference() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3060:1: ( ( ')' ) ) - // InternalExport.g:3061:1: ( ')' ) + // InternalExport.g:2950:2: ( ( ( rule__JvmWildcardTypeReference__Group__0 ) ) ) + // InternalExport.g:2951:2: ( ( rule__JvmWildcardTypeReference__Group__0 ) ) { - // InternalExport.g:3061:1: ( ')' ) - // InternalExport.g:3062:2: ')' + // InternalExport.g:2951:2: ( ( rule__JvmWildcardTypeReference__Group__0 ) ) + // InternalExport.g:2952:3: ( rule__JvmWildcardTypeReference__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceExpressionAccess().getRightParenthesisKeyword_5()); - } - match(input,52,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceExpressionAccess().getRightParenthesisKeyword_5()); - } - + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); + } + // InternalExport.g:2953:3: ( rule__JvmWildcardTypeReference__Group__0 ) + // InternalExport.g:2953:4: rule__JvmWildcardTypeReference__Group__0 + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); + } + } @@ -10856,29 +9995,28 @@ public final void rule__InterfaceExpression__Group__5__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InterfaceExpression__Group__5__Impl" - + // $ANTLR end "ruleJvmWildcardTypeReference" - // $ANTLR start "rule__Export__Group__0" - // InternalExport.g:3072:1: rule__Export__Group__0 : rule__Export__Group__0__Impl rule__Export__Group__1 ; - public final void rule__Export__Group__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmUpperBound" + // InternalExport.g:2962:1: entryRuleJvmUpperBound : ruleJvmUpperBound EOF ; + public final void entryRuleJvmUpperBound() throws RecognitionException { try { - // InternalExport.g:3076:1: ( rule__Export__Group__0__Impl rule__Export__Group__1 ) - // InternalExport.g:3077:2: rule__Export__Group__0__Impl rule__Export__Group__1 + // InternalExport.g:2963:1: ( ruleJvmUpperBound EOF ) + // InternalExport.g:2964:1: ruleJvmUpperBound EOF { - pushFollow(FOLLOW_26); - rule__Export__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundRule()); + } + pushFollow(FOLLOW_1); + ruleJvmUpperBound(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10888,34 +10026,41 @@ public final void rule__Export__Group__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Export__Group__0" + // $ANTLR end "entryRuleJvmUpperBound" - // $ANTLR start "rule__Export__Group__0__Impl" - // InternalExport.g:3084:1: rule__Export__Group__0__Impl : ( 'export' ) ; - public final void rule__Export__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmUpperBound" + // InternalExport.g:2971:1: ruleJvmUpperBound : ( ( rule__JvmUpperBound__Group__0 ) ) ; + public final void ruleJvmUpperBound() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3088:1: ( ( 'export' ) ) - // InternalExport.g:3089:1: ( 'export' ) + // InternalExport.g:2975:2: ( ( ( rule__JvmUpperBound__Group__0 ) ) ) + // InternalExport.g:2976:2: ( ( rule__JvmUpperBound__Group__0 ) ) { - // InternalExport.g:3089:1: ( 'export' ) - // InternalExport.g:3090:2: 'export' + // InternalExport.g:2976:2: ( ( rule__JvmUpperBound__Group__0 ) ) + // InternalExport.g:2977:3: ( rule__JvmUpperBound__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getExportKeyword_0()); + before(grammarAccess.getJvmUpperBoundAccess().getGroup()); } - match(input,36,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:2978:3: ( rule__JvmUpperBound__Group__0 ) + // InternalExport.g:2978:4: rule__JvmUpperBound__Group__0 + { + pushFollow(FOLLOW_2); + rule__JvmUpperBound__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getExportKeyword_0()); + after(grammarAccess.getJvmUpperBoundAccess().getGroup()); } } @@ -10935,29 +10080,28 @@ public final void rule__Export__Group__0__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group__0__Impl" - + // $ANTLR end "ruleJvmUpperBound" - // $ANTLR start "rule__Export__Group__1" - // InternalExport.g:3099:1: rule__Export__Group__1 : rule__Export__Group__1__Impl rule__Export__Group__2 ; - public final void rule__Export__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmUpperBoundAnded" + // InternalExport.g:2987:1: entryRuleJvmUpperBoundAnded : ruleJvmUpperBoundAnded EOF ; + public final void entryRuleJvmUpperBoundAnded() throws RecognitionException { try { - // InternalExport.g:3103:1: ( rule__Export__Group__1__Impl rule__Export__Group__2 ) - // InternalExport.g:3104:2: rule__Export__Group__1__Impl rule__Export__Group__2 + // InternalExport.g:2988:1: ( ruleJvmUpperBoundAnded EOF ) + // InternalExport.g:2989:1: ruleJvmUpperBoundAnded EOF { - pushFollow(FOLLOW_26); - rule__Export__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAndedRule()); + } + pushFollow(FOLLOW_1); + ruleJvmUpperBoundAnded(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAndedRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10967,55 +10111,41 @@ public final void rule__Export__Group__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Export__Group__1" + // $ANTLR end "entryRuleJvmUpperBoundAnded" - // $ANTLR start "rule__Export__Group__1__Impl" - // InternalExport.g:3111:1: rule__Export__Group__1__Impl : ( ( rule__Export__Group_1__0 )? ) ; - public final void rule__Export__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmUpperBoundAnded" + // InternalExport.g:2996:1: ruleJvmUpperBoundAnded : ( ( rule__JvmUpperBoundAnded__Group__0 ) ) ; + public final void ruleJvmUpperBoundAnded() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3115:1: ( ( ( rule__Export__Group_1__0 )? ) ) - // InternalExport.g:3116:1: ( ( rule__Export__Group_1__0 )? ) + // InternalExport.g:3000:2: ( ( ( rule__JvmUpperBoundAnded__Group__0 ) ) ) + // InternalExport.g:3001:2: ( ( rule__JvmUpperBoundAnded__Group__0 ) ) { - // InternalExport.g:3116:1: ( ( rule__Export__Group_1__0 )? ) - // InternalExport.g:3117:2: ( rule__Export__Group_1__0 )? + // InternalExport.g:3001:2: ( ( rule__JvmUpperBoundAnded__Group__0 ) ) + // InternalExport.g:3002:3: ( rule__JvmUpperBoundAnded__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getGroup_1()); + before(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); } - // InternalExport.g:3118:2: ( rule__Export__Group_1__0 )? - int alt35=2; - int LA35_0 = input.LA(1); - - if ( (LA35_0==72) ) { - alt35=1; - } - switch (alt35) { - case 1 : - // InternalExport.g:3118:3: rule__Export__Group_1__0 - { - pushFollow(FOLLOW_2); - rule__Export__Group_1__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:3003:3: ( rule__JvmUpperBoundAnded__Group__0 ) + // InternalExport.g:3003:4: rule__JvmUpperBoundAnded__Group__0 + { + pushFollow(FOLLOW_2); + rule__JvmUpperBoundAnded__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getGroup_1()); + after(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); } } @@ -11035,29 +10165,28 @@ public final void rule__Export__Group__1__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group__1__Impl" - + // $ANTLR end "ruleJvmUpperBoundAnded" - // $ANTLR start "rule__Export__Group__2" - // InternalExport.g:3126:1: rule__Export__Group__2 : rule__Export__Group__2__Impl rule__Export__Group__3 ; - public final void rule__Export__Group__2() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmLowerBound" + // InternalExport.g:3012:1: entryRuleJvmLowerBound : ruleJvmLowerBound EOF ; + public final void entryRuleJvmLowerBound() throws RecognitionException { try { - // InternalExport.g:3130:1: ( rule__Export__Group__2__Impl rule__Export__Group__3 ) - // InternalExport.g:3131:2: rule__Export__Group__2__Impl rule__Export__Group__3 + // InternalExport.g:3013:1: ( ruleJvmLowerBound EOF ) + // InternalExport.g:3014:1: ruleJvmLowerBound EOF { - pushFollow(FOLLOW_27); - rule__Export__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group__3(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundRule()); + } + pushFollow(FOLLOW_1); + ruleJvmLowerBound(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11067,36 +10196,33 @@ public final void rule__Export__Group__2() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Export__Group__2" + // $ANTLR end "entryRuleJvmLowerBound" - // $ANTLR start "rule__Export__Group__2__Impl" - // InternalExport.g:3138:1: rule__Export__Group__2__Impl : ( ( rule__Export__TypeAssignment_2 ) ) ; - public final void rule__Export__Group__2__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmLowerBound" + // InternalExport.g:3021:1: ruleJvmLowerBound : ( ( rule__JvmLowerBound__Group__0 ) ) ; + public final void ruleJvmLowerBound() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3142:1: ( ( ( rule__Export__TypeAssignment_2 ) ) ) - // InternalExport.g:3143:1: ( ( rule__Export__TypeAssignment_2 ) ) + // InternalExport.g:3025:2: ( ( ( rule__JvmLowerBound__Group__0 ) ) ) + // InternalExport.g:3026:2: ( ( rule__JvmLowerBound__Group__0 ) ) { - // InternalExport.g:3143:1: ( ( rule__Export__TypeAssignment_2 ) ) - // InternalExport.g:3144:2: ( rule__Export__TypeAssignment_2 ) + // InternalExport.g:3026:2: ( ( rule__JvmLowerBound__Group__0 ) ) + // InternalExport.g:3027:3: ( rule__JvmLowerBound__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getTypeAssignment_2()); + before(grammarAccess.getJvmLowerBoundAccess().getGroup()); } - // InternalExport.g:3145:2: ( rule__Export__TypeAssignment_2 ) - // InternalExport.g:3145:3: rule__Export__TypeAssignment_2 + // InternalExport.g:3028:3: ( rule__JvmLowerBound__Group__0 ) + // InternalExport.g:3028:4: rule__JvmLowerBound__Group__0 { pushFollow(FOLLOW_2); - rule__Export__TypeAssignment_2(); + rule__JvmLowerBound__Group__0(); state._fsp--; if (state.failed) return ; @@ -11104,7 +10230,7 @@ public final void rule__Export__Group__2__Impl() throws RecognitionException { } if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getTypeAssignment_2()); + after(grammarAccess.getJvmLowerBoundAccess().getGroup()); } } @@ -11124,29 +10250,28 @@ public final void rule__Export__Group__2__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group__2__Impl" - + // $ANTLR end "ruleJvmLowerBound" - // $ANTLR start "rule__Export__Group__3" - // InternalExport.g:3153:1: rule__Export__Group__3 : rule__Export__Group__3__Impl rule__Export__Group__4 ; - public final void rule__Export__Group__3() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmLowerBoundAnded" + // InternalExport.g:3037:1: entryRuleJvmLowerBoundAnded : ruleJvmLowerBoundAnded EOF ; + public final void entryRuleJvmLowerBoundAnded() throws RecognitionException { try { - // InternalExport.g:3157:1: ( rule__Export__Group__3__Impl rule__Export__Group__4 ) - // InternalExport.g:3158:2: rule__Export__Group__3__Impl rule__Export__Group__4 + // InternalExport.g:3038:1: ( ruleJvmLowerBoundAnded EOF ) + // InternalExport.g:3039:1: ruleJvmLowerBoundAnded EOF { - pushFollow(FOLLOW_27); - rule__Export__Group__3__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group__4(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAndedRule()); + } + pushFollow(FOLLOW_1); + ruleJvmLowerBoundAnded(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAndedRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11156,55 +10281,41 @@ public final void rule__Export__Group__3() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Export__Group__3" + // $ANTLR end "entryRuleJvmLowerBoundAnded" - // $ANTLR start "rule__Export__Group__3__Impl" - // InternalExport.g:3165:1: rule__Export__Group__3__Impl : ( ( rule__Export__Group_3__0 )? ) ; - public final void rule__Export__Group__3__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmLowerBoundAnded" + // InternalExport.g:3046:1: ruleJvmLowerBoundAnded : ( ( rule__JvmLowerBoundAnded__Group__0 ) ) ; + public final void ruleJvmLowerBoundAnded() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3169:1: ( ( ( rule__Export__Group_3__0 )? ) ) - // InternalExport.g:3170:1: ( ( rule__Export__Group_3__0 )? ) + // InternalExport.g:3050:2: ( ( ( rule__JvmLowerBoundAnded__Group__0 ) ) ) + // InternalExport.g:3051:2: ( ( rule__JvmLowerBoundAnded__Group__0 ) ) { - // InternalExport.g:3170:1: ( ( rule__Export__Group_3__0 )? ) - // InternalExport.g:3171:2: ( rule__Export__Group_3__0 )? + // InternalExport.g:3051:2: ( ( rule__JvmLowerBoundAnded__Group__0 ) ) + // InternalExport.g:3052:3: ( rule__JvmLowerBoundAnded__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getGroup_3()); - } - // InternalExport.g:3172:2: ( rule__Export__Group_3__0 )? - int alt36=2; - int LA36_0 = input.LA(1); - - if ( (LA36_0==42) ) { - alt36=1; + before(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); } - switch (alt36) { - case 1 : - // InternalExport.g:3172:3: rule__Export__Group_3__0 - { - pushFollow(FOLLOW_2); - rule__Export__Group_3__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:3053:3: ( rule__JvmLowerBoundAnded__Group__0 ) + // InternalExport.g:3053:4: rule__JvmLowerBoundAnded__Group__0 + { + pushFollow(FOLLOW_2); + rule__JvmLowerBoundAnded__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getGroup_3()); + after(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); } } @@ -11224,29 +10335,28 @@ public final void rule__Export__Group__3__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group__3__Impl" - + // $ANTLR end "ruleJvmLowerBoundAnded" - // $ANTLR start "rule__Export__Group__4" - // InternalExport.g:3180:1: rule__Export__Group__4 : rule__Export__Group__4__Impl rule__Export__Group__5 ; - public final void rule__Export__Group__4() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleQualifiedNameWithWildcard" + // InternalExport.g:3062:1: entryRuleQualifiedNameWithWildcard : ruleQualifiedNameWithWildcard EOF ; + public final void entryRuleQualifiedNameWithWildcard() throws RecognitionException { try { - // InternalExport.g:3184:1: ( rule__Export__Group__4__Impl rule__Export__Group__5 ) - // InternalExport.g:3185:2: rule__Export__Group__4__Impl rule__Export__Group__5 + // InternalExport.g:3063:1: ( ruleQualifiedNameWithWildcard EOF ) + // InternalExport.g:3064:1: ruleQualifiedNameWithWildcard EOF { - pushFollow(FOLLOW_27); - rule__Export__Group__4__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group__5(); + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameWithWildcardRule()); + } + pushFollow(FOLLOW_1); + ruleQualifiedNameWithWildcard(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameWithWildcardRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11256,55 +10366,41 @@ public final void rule__Export__Group__4() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Export__Group__4" + // $ANTLR end "entryRuleQualifiedNameWithWildcard" - // $ANTLR start "rule__Export__Group__4__Impl" - // InternalExport.g:3192:1: rule__Export__Group__4__Impl : ( ( rule__Export__Group_4__0 )? ) ; - public final void rule__Export__Group__4__Impl() throws RecognitionException { + // $ANTLR start "ruleQualifiedNameWithWildcard" + // InternalExport.g:3071:1: ruleQualifiedNameWithWildcard : ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) ; + public final void ruleQualifiedNameWithWildcard() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3196:1: ( ( ( rule__Export__Group_4__0 )? ) ) - // InternalExport.g:3197:1: ( ( rule__Export__Group_4__0 )? ) + // InternalExport.g:3075:2: ( ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) ) + // InternalExport.g:3076:2: ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) { - // InternalExport.g:3197:1: ( ( rule__Export__Group_4__0 )? ) - // InternalExport.g:3198:2: ( rule__Export__Group_4__0 )? + // InternalExport.g:3076:2: ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) + // InternalExport.g:3077:3: ( rule__QualifiedNameWithWildcard__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getGroup_4()); - } - // InternalExport.g:3199:2: ( rule__Export__Group_4__0 )? - int alt37=2; - int LA37_0 = input.LA(1); - - if ( (LA37_0==45) ) { - alt37=1; + before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); } - switch (alt37) { - case 1 : - // InternalExport.g:3199:3: rule__Export__Group_4__0 - { - pushFollow(FOLLOW_2); - rule__Export__Group_4__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:3078:3: ( rule__QualifiedNameWithWildcard__Group__0 ) + // InternalExport.g:3078:4: rule__QualifiedNameWithWildcard__Group__0 + { + pushFollow(FOLLOW_2); + rule__QualifiedNameWithWildcard__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getGroup_4()); + after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); } } @@ -11324,29 +10420,28 @@ public final void rule__Export__Group__4__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group__4__Impl" - + // $ANTLR end "ruleQualifiedNameWithWildcard" - // $ANTLR start "rule__Export__Group__5" - // InternalExport.g:3207:1: rule__Export__Group__5 : rule__Export__Group__5__Impl rule__Export__Group__6 ; - public final void rule__Export__Group__5() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleValidID" + // InternalExport.g:3087:1: entryRuleValidID : ruleValidID EOF ; + public final void entryRuleValidID() throws RecognitionException { try { - // InternalExport.g:3211:1: ( rule__Export__Group__5__Impl rule__Export__Group__6 ) - // InternalExport.g:3212:2: rule__Export__Group__5__Impl rule__Export__Group__6 + // InternalExport.g:3088:1: ( ruleValidID EOF ) + // InternalExport.g:3089:1: ruleValidID EOF { - pushFollow(FOLLOW_28); - rule__Export__Group__5__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group__6(); + if ( state.backtracking==0 ) { + before(grammarAccess.getValidIDRule()); + } + pushFollow(FOLLOW_1); + ruleValidID(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getValidIDRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11356,34 +10451,31 @@ public final void rule__Export__Group__5() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Export__Group__5" + // $ANTLR end "entryRuleValidID" - // $ANTLR start "rule__Export__Group__5__Impl" - // InternalExport.g:3219:1: rule__Export__Group__5__Impl : ( '{' ) ; - public final void rule__Export__Group__5__Impl() throws RecognitionException { + // $ANTLR start "ruleValidID" + // InternalExport.g:3096:1: ruleValidID : ( RULE_ID ) ; + public final void ruleValidID() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3223:1: ( ( '{' ) ) - // InternalExport.g:3224:1: ( '{' ) + // InternalExport.g:3100:2: ( ( RULE_ID ) ) + // InternalExport.g:3101:2: ( RULE_ID ) { - // InternalExport.g:3224:1: ( '{' ) - // InternalExport.g:3225:2: '{' + // InternalExport.g:3101:2: ( RULE_ID ) + // InternalExport.g:3102:3: RULE_ID { if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getLeftCurlyBracketKeyword_5()); + before(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); } - match(input,39,FOLLOW_2); if (state.failed) return ; + match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getLeftCurlyBracketKeyword_5()); + after(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); } } @@ -11403,29 +10495,28 @@ public final void rule__Export__Group__5__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group__5__Impl" - + // $ANTLR end "ruleValidID" - // $ANTLR start "rule__Export__Group__6" - // InternalExport.g:3234:1: rule__Export__Group__6 : rule__Export__Group__6__Impl rule__Export__Group__7 ; - public final void rule__Export__Group__6() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXImportDeclaration" + // InternalExport.g:3112:1: entryRuleXImportDeclaration : ruleXImportDeclaration EOF ; + public final void entryRuleXImportDeclaration() throws RecognitionException { try { - // InternalExport.g:3238:1: ( rule__Export__Group__6__Impl rule__Export__Group__7 ) - // InternalExport.g:3239:2: rule__Export__Group__6__Impl rule__Export__Group__7 + // InternalExport.g:3113:1: ( ruleXImportDeclaration EOF ) + // InternalExport.g:3114:1: ruleXImportDeclaration EOF { - pushFollow(FOLLOW_28); - rule__Export__Group__6__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group__7(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationRule()); + } + pushFollow(FOLLOW_1); + ruleXImportDeclaration(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11435,55 +10526,41 @@ public final void rule__Export__Group__6() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Export__Group__6" + // $ANTLR end "entryRuleXImportDeclaration" - // $ANTLR start "rule__Export__Group__6__Impl" - // InternalExport.g:3246:1: rule__Export__Group__6__Impl : ( ( rule__Export__Group_6__0 )? ) ; - public final void rule__Export__Group__6__Impl() throws RecognitionException { + // $ANTLR start "ruleXImportDeclaration" + // InternalExport.g:3121:1: ruleXImportDeclaration : ( ( rule__XImportDeclaration__Group__0 ) ) ; + public final void ruleXImportDeclaration() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3250:1: ( ( ( rule__Export__Group_6__0 )? ) ) - // InternalExport.g:3251:1: ( ( rule__Export__Group_6__0 )? ) + // InternalExport.g:3125:2: ( ( ( rule__XImportDeclaration__Group__0 ) ) ) + // InternalExport.g:3126:2: ( ( rule__XImportDeclaration__Group__0 ) ) { - // InternalExport.g:3251:1: ( ( rule__Export__Group_6__0 )? ) - // InternalExport.g:3252:2: ( rule__Export__Group_6__0 )? + // InternalExport.g:3126:2: ( ( rule__XImportDeclaration__Group__0 ) ) + // InternalExport.g:3127:3: ( rule__XImportDeclaration__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getGroup_6()); - } - // InternalExport.g:3253:2: ( rule__Export__Group_6__0 )? - int alt38=2; - int LA38_0 = input.LA(1); - - if ( (LA38_0==53) ) { - alt38=1; + before(grammarAccess.getXImportDeclarationAccess().getGroup()); } - switch (alt38) { - case 1 : - // InternalExport.g:3253:3: rule__Export__Group_6__0 - { - pushFollow(FOLLOW_2); - rule__Export__Group_6__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:3128:3: ( rule__XImportDeclaration__Group__0 ) + // InternalExport.g:3128:4: rule__XImportDeclaration__Group__0 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getGroup_6()); + after(grammarAccess.getXImportDeclarationAccess().getGroup()); } } @@ -11503,29 +10580,28 @@ public final void rule__Export__Group__6__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group__6__Impl" + // $ANTLR end "ruleXImportDeclaration" - // $ANTLR start "rule__Export__Group__7" - // InternalExport.g:3261:1: rule__Export__Group__7 : rule__Export__Group__7__Impl rule__Export__Group__8 ; - public final void rule__Export__Group__7() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleQualifiedNameInStaticImport" + // InternalExport.g:3137:1: entryRuleQualifiedNameInStaticImport : ruleQualifiedNameInStaticImport EOF ; + public final void entryRuleQualifiedNameInStaticImport() throws RecognitionException { try { - // InternalExport.g:3265:1: ( rule__Export__Group__7__Impl rule__Export__Group__8 ) - // InternalExport.g:3266:2: rule__Export__Group__7__Impl rule__Export__Group__8 + // InternalExport.g:3138:1: ( ruleQualifiedNameInStaticImport EOF ) + // InternalExport.g:3139:1: ruleQualifiedNameInStaticImport EOF { - pushFollow(FOLLOW_28); - rule__Export__Group__7__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group__8(); + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameInStaticImportRule()); + } + pushFollow(FOLLOW_1); + ruleQualifiedNameInStaticImport(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameInStaticImportRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11535,148 +10611,77 @@ public final void rule__Export__Group__7() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Export__Group__7" + // $ANTLR end "entryRuleQualifiedNameInStaticImport" - // $ANTLR start "rule__Export__Group__7__Impl" - // InternalExport.g:3273:1: rule__Export__Group__7__Impl : ( ( rule__Export__Group_7__0 )? ) ; - public final void rule__Export__Group__7__Impl() throws RecognitionException { + // $ANTLR start "ruleQualifiedNameInStaticImport" + // InternalExport.g:3146:1: ruleQualifiedNameInStaticImport : ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) ; + public final void ruleQualifiedNameInStaticImport() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3277:1: ( ( ( rule__Export__Group_7__0 )? ) ) - // InternalExport.g:3278:1: ( ( rule__Export__Group_7__0 )? ) + // InternalExport.g:3150:2: ( ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) ) + // InternalExport.g:3151:2: ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) { - // InternalExport.g:3278:1: ( ( rule__Export__Group_7__0 )? ) - // InternalExport.g:3279:2: ( rule__Export__Group_7__0 )? + // InternalExport.g:3151:2: ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) + // InternalExport.g:3152:3: ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) + { + // InternalExport.g:3152:3: ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) + // InternalExport.g:3153:4: ( rule__QualifiedNameInStaticImport__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getGroup_7()); - } - // InternalExport.g:3280:2: ( rule__Export__Group_7__0 )? - int alt39=2; - int LA39_0 = input.LA(1); - - if ( ((LA39_0>=75 && LA39_0<=76)) ) { - alt39=1; + before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } - switch (alt39) { - case 1 : - // InternalExport.g:3280:3: rule__Export__Group_7__0 - { - pushFollow(FOLLOW_2); - rule__Export__Group_7__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:3154:4: ( rule__QualifiedNameInStaticImport__Group__0 ) + // InternalExport.g:3154:5: rule__QualifiedNameInStaticImport__Group__0 + { + pushFollow(FOLLOW_3); + rule__QualifiedNameInStaticImport__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getGroup_7()); + after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } } - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Export__Group__7__Impl" - - - // $ANTLR start "rule__Export__Group__8" - // InternalExport.g:3288:1: rule__Export__Group__8 : rule__Export__Group__8__Impl rule__Export__Group__9 ; - public final void rule__Export__Group__8() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3292:1: ( rule__Export__Group__8__Impl rule__Export__Group__9 ) - // InternalExport.g:3293:2: rule__Export__Group__8__Impl rule__Export__Group__9 + // InternalExport.g:3157:3: ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) + // InternalExport.g:3158:4: ( rule__QualifiedNameInStaticImport__Group__0 )* { - pushFollow(FOLLOW_28); - rule__Export__Group__8__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group__9(); - - state._fsp--; - if (state.failed) return ; - + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } + // InternalExport.g:3159:4: ( rule__QualifiedNameInStaticImport__Group__0 )* + loop1: + do { + int alt1=2; + int LA1_0 = input.LA(1); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Export__Group__8" - + if ( (LA1_0==RULE_ID) ) { + int LA1_2 = input.LA(2); - // $ANTLR start "rule__Export__Group__8__Impl" - // InternalExport.g:3300:1: rule__Export__Group__8__Impl : ( ( rule__Export__Alternatives_8 )* ) ; - public final void rule__Export__Group__8__Impl() throws RecognitionException { + if ( (LA1_2==58) ) { + alt1=1; + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3304:1: ( ( ( rule__Export__Alternatives_8 )* ) ) - // InternalExport.g:3305:1: ( ( rule__Export__Alternatives_8 )* ) - { - // InternalExport.g:3305:1: ( ( rule__Export__Alternatives_8 )* ) - // InternalExport.g:3306:2: ( rule__Export__Alternatives_8 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getAlternatives_8()); - } - // InternalExport.g:3307:2: ( rule__Export__Alternatives_8 )* - loop40: - do { - int alt40=2; - int LA40_0 = input.LA(1); - if ( ((LA40_0>=55 && LA40_0<=56)) ) { - alt40=1; } - switch (alt40) { + switch (alt1) { case 1 : - // InternalExport.g:3307:3: rule__Export__Alternatives_8 + // InternalExport.g:3159:5: rule__QualifiedNameInStaticImport__Group__0 { - pushFollow(FOLLOW_29); - rule__Export__Alternatives_8(); + pushFollow(FOLLOW_3); + rule__QualifiedNameInStaticImport__Group__0(); state._fsp--; if (state.failed) return ; @@ -11685,14 +10690,17 @@ public final void rule__Export__Group__8__Impl() throws RecognitionException { break; default : - break loop40; + break loop1; } } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getAlternatives_8()); + after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); + } + } + } @@ -11710,68 +10718,115 @@ public final void rule__Export__Group__8__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group__8__Impl" + // $ANTLR end "ruleQualifiedNameInStaticImport" - // $ANTLR start "rule__Export__Group__9" - // InternalExport.g:3315:1: rule__Export__Group__9 : rule__Export__Group__9__Impl ; - public final void rule__Export__Group__9() throws RecognitionException { + // $ANTLR start "rule__InterfaceItem__Alternatives" + // InternalExport.g:3168:1: rule__InterfaceItem__Alternatives : ( ( ruleInterfaceField ) | ( ruleInterfaceNavigation ) | ( ruleInterfaceExpression ) ); + public final void rule__InterfaceItem__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3319:1: ( rule__Export__Group__9__Impl ) - // InternalExport.g:3320:2: rule__Export__Group__9__Impl - { - pushFollow(FOLLOW_2); - rule__Export__Group__9__Impl(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:3172:1: ( ( ruleInterfaceField ) | ( ruleInterfaceNavigation ) | ( ruleInterfaceExpression ) ) + int alt2=3; + switch ( input.LA(1) ) { + case RULE_ID: + case 23: + { + alt2=1; + } + break; + case 75: + { + alt2=2; + } + break; + case 76: + { + alt2=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 2, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + switch (alt2) { + case 1 : + // InternalExport.g:3173:2: ( ruleInterfaceField ) + { + // InternalExport.g:3173:2: ( ruleInterfaceField ) + // InternalExport.g:3174:3: ruleInterfaceField + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceItemAccess().getInterfaceFieldParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleInterfaceField(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceItemAccess().getInterfaceFieldParserRuleCall_0()); + } - } - return ; - } - // $ANTLR end "rule__Export__Group__9" + } - // $ANTLR start "rule__Export__Group__9__Impl" - // InternalExport.g:3326:1: rule__Export__Group__9__Impl : ( '}' ) ; - public final void rule__Export__Group__9__Impl() throws RecognitionException { + } + break; + case 2 : + // InternalExport.g:3179:2: ( ruleInterfaceNavigation ) + { + // InternalExport.g:3179:2: ( ruleInterfaceNavigation ) + // InternalExport.g:3180:3: ruleInterfaceNavigation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceItemAccess().getInterfaceNavigationParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleInterfaceNavigation(); - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3330:1: ( ( '}' ) ) - // InternalExport.g:3331:1: ( '}' ) - { - // InternalExport.g:3331:1: ( '}' ) - // InternalExport.g:3332:2: '}' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getRightCurlyBracketKeyword_9()); - } - match(input,40,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getRightCurlyBracketKeyword_9()); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceItemAccess().getInterfaceNavigationParserRuleCall_1()); + } - } + } - } + } + break; + case 3 : + // InternalExport.g:3185:2: ( ruleInterfaceExpression ) + { + // InternalExport.g:3185:2: ( ruleInterfaceExpression ) + // InternalExport.g:3186:3: ruleInterfaceExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceItemAccess().getInterfaceExpressionParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleInterfaceExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceItemAccess().getInterfaceExpressionParserRuleCall_2()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -11784,116 +10839,94 @@ public final void rule__Export__Group__9__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group__9__Impl" + // $ANTLR end "rule__InterfaceItem__Alternatives" - // $ANTLR start "rule__Export__Group_1__0" - // InternalExport.g:3342:1: rule__Export__Group_1__0 : rule__Export__Group_1__0__Impl rule__Export__Group_1__1 ; - public final void rule__Export__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__Export__Alternatives_7_0" + // InternalExport.g:3195:1: rule__Export__Alternatives_7_0 : ( ( ( rule__Export__FingerprintAssignment_7_0_0 ) ) | ( ( rule__Export__ResourceFingerprintAssignment_7_0_1 ) ) ); + public final void rule__Export__Alternatives_7_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3346:1: ( rule__Export__Group_1__0__Impl rule__Export__Group_1__1 ) - // InternalExport.g:3347:2: rule__Export__Group_1__0__Impl rule__Export__Group_1__1 - { - pushFollow(FOLLOW_30); - rule__Export__Group_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_1__1(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:3199:1: ( ( ( rule__Export__FingerprintAssignment_7_0_0 ) ) | ( ( rule__Export__ResourceFingerprintAssignment_7_0_1 ) ) ) + int alt3=2; + int LA3_0 = input.LA(1); + if ( (LA3_0==112) ) { + alt3=1; } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Export__Group_1__0" - - - // $ANTLR start "rule__Export__Group_1__0__Impl" - // InternalExport.g:3354:1: rule__Export__Group_1__0__Impl : ( ( rule__Export__LookupAssignment_1_0 ) ) ; - public final void rule__Export__Group_1__0__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3358:1: ( ( ( rule__Export__LookupAssignment_1_0 ) ) ) - // InternalExport.g:3359:1: ( ( rule__Export__LookupAssignment_1_0 ) ) - { - // InternalExport.g:3359:1: ( ( rule__Export__LookupAssignment_1_0 ) ) - // InternalExport.g:3360:2: ( rule__Export__LookupAssignment_1_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getLookupAssignment_1_0()); + else if ( (LA3_0==113) ) { + alt3=2; } - // InternalExport.g:3361:2: ( rule__Export__LookupAssignment_1_0 ) - // InternalExport.g:3361:3: rule__Export__LookupAssignment_1_0 - { - pushFollow(FOLLOW_2); - rule__Export__LookupAssignment_1_0(); - - state._fsp--; - if (state.failed) return ; + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 3, 0, input); + throw nvae; } + switch (alt3) { + case 1 : + // InternalExport.g:3200:2: ( ( rule__Export__FingerprintAssignment_7_0_0 ) ) + { + // InternalExport.g:3200:2: ( ( rule__Export__FingerprintAssignment_7_0_0 ) ) + // InternalExport.g:3201:3: ( rule__Export__FingerprintAssignment_7_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getFingerprintAssignment_7_0_0()); + } + // InternalExport.g:3202:3: ( rule__Export__FingerprintAssignment_7_0_0 ) + // InternalExport.g:3202:4: rule__Export__FingerprintAssignment_7_0_0 + { + pushFollow(FOLLOW_2); + rule__Export__FingerprintAssignment_7_0_0(); - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getLookupAssignment_1_0()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getFingerprintAssignment_7_0_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalExport.g:3206:2: ( ( rule__Export__ResourceFingerprintAssignment_7_0_1 ) ) + { + // InternalExport.g:3206:2: ( ( rule__Export__ResourceFingerprintAssignment_7_0_1 ) ) + // InternalExport.g:3207:3: ( rule__Export__ResourceFingerprintAssignment_7_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getResourceFingerprintAssignment_7_0_1()); + } + // InternalExport.g:3208:3: ( rule__Export__ResourceFingerprintAssignment_7_0_1 ) + // InternalExport.g:3208:4: rule__Export__ResourceFingerprintAssignment_7_0_1 + { + pushFollow(FOLLOW_2); + rule__Export__ResourceFingerprintAssignment_7_0_1(); - } - return ; - } - // $ANTLR end "rule__Export__Group_1__0__Impl" + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__Export__Group_1__1" - // InternalExport.g:3369:1: rule__Export__Group_1__1 : rule__Export__Group_1__1__Impl ; - public final void rule__Export__Group_1__1() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getResourceFingerprintAssignment_7_0_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3373:1: ( rule__Export__Group_1__1__Impl ) - // InternalExport.g:3374:2: rule__Export__Group_1__1__Impl - { - pushFollow(FOLLOW_2); - rule__Export__Group_1__1__Impl(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -11906,94 +10939,94 @@ public final void rule__Export__Group_1__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_1__1" + // $ANTLR end "rule__Export__Alternatives_7_0" - // $ANTLR start "rule__Export__Group_1__1__Impl" - // InternalExport.g:3380:1: rule__Export__Group_1__1__Impl : ( ( rule__Export__Group_1_1__0 )? ) ; - public final void rule__Export__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Alternatives_8" + // InternalExport.g:3216:1: rule__Export__Alternatives_8 : ( ( ( rule__Export__Group_8_0__0 ) ) | ( ( rule__Export__Group_8_1__0 ) ) ); + public final void rule__Export__Alternatives_8() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3384:1: ( ( ( rule__Export__Group_1_1__0 )? ) ) - // InternalExport.g:3385:1: ( ( rule__Export__Group_1_1__0 )? ) - { - // InternalExport.g:3385:1: ( ( rule__Export__Group_1_1__0 )? ) - // InternalExport.g:3386:2: ( rule__Export__Group_1_1__0 )? - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getGroup_1_1()); + // InternalExport.g:3220:1: ( ( ( rule__Export__Group_8_0__0 ) ) | ( ( rule__Export__Group_8_1__0 ) ) ) + int alt4=2; + int LA4_0 = input.LA(1); + + if ( (LA4_0==81) ) { + alt4=1; } - // InternalExport.g:3387:2: ( rule__Export__Group_1_1__0 )? - int alt41=2; - int LA41_0 = input.LA(1); + else if ( (LA4_0==82) ) { + alt4=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 4, 0, input); - if ( (LA41_0==45) ) { - alt41=1; + throw nvae; } - switch (alt41) { + switch (alt4) { case 1 : - // InternalExport.g:3387:3: rule__Export__Group_1_1__0 + // InternalExport.g:3221:2: ( ( rule__Export__Group_8_0__0 ) ) + { + // InternalExport.g:3221:2: ( ( rule__Export__Group_8_0__0 ) ) + // InternalExport.g:3222:3: ( rule__Export__Group_8_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getGroup_8_0()); + } + // InternalExport.g:3223:3: ( rule__Export__Group_8_0__0 ) + // InternalExport.g:3223:4: rule__Export__Group_8_0__0 { pushFollow(FOLLOW_2); - rule__Export__Group_1_1__0(); + rule__Export__Group_8_0__0(); state._fsp--; if (state.failed) return ; } - break; - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getGroup_1_1()); - } - - } + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getGroup_8_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalExport.g:3227:2: ( ( rule__Export__Group_8_1__0 ) ) + { + // InternalExport.g:3227:2: ( ( rule__Export__Group_8_1__0 ) ) + // InternalExport.g:3228:3: ( rule__Export__Group_8_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getGroup_8_1()); + } + // InternalExport.g:3229:3: ( rule__Export__Group_8_1__0 ) + // InternalExport.g:3229:4: rule__Export__Group_8_1__0 + { + pushFollow(FOLLOW_2); + rule__Export__Group_8_1__0(); - } - return ; - } - // $ANTLR end "rule__Export__Group_1__1__Impl" + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__Export__Group_1_1__0" - // InternalExport.g:3396:1: rule__Export__Group_1_1__0 : rule__Export__Group_1_1__0__Impl rule__Export__Group_1_1__1 ; - public final void rule__Export__Group_1_1__0() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getGroup_8_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3400:1: ( rule__Export__Group_1_1__0__Impl rule__Export__Group_1_1__1 ) - // InternalExport.g:3401:2: rule__Export__Group_1_1__0__Impl rule__Export__Group_1_1__1 - { - pushFollow(FOLLOW_18); - rule__Export__Group_1_1__0__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_1_1__1(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -12006,73 +11039,97 @@ public final void rule__Export__Group_1_1__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_1_1__0" + // $ANTLR end "rule__Export__Alternatives_8" - // $ANTLR start "rule__Export__Group_1_1__0__Impl" - // InternalExport.g:3408:1: rule__Export__Group_1_1__0__Impl : ( '[' ) ; - public final void rule__Export__Group_1_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Expression__Alternatives" + // InternalExport.g:3237:1: rule__Expression__Alternatives : ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) ); + public final void rule__Expression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3412:1: ( ( '[' ) ) - // InternalExport.g:3413:1: ( '[' ) - { - // InternalExport.g:3413:1: ( '[' ) - // InternalExport.g:3414:2: '[' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getLeftSquareBracketKeyword_1_1_0()); - } - match(input,45,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getLeftSquareBracketKeyword_1_1_0()); - } + // InternalExport.g:3241:1: ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) ) + int alt5=3; + alt5 = dfa5.predict(input); + switch (alt5) { + case 1 : + // InternalExport.g:3242:2: ( ruleLetExpression ) + { + // InternalExport.g:3242:2: ( ruleLetExpression ) + // InternalExport.g:3243:3: ruleLetExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleLetExpression(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); + } + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 2 : + // InternalExport.g:3248:2: ( ( ruleCastedExpression ) ) + { + // InternalExport.g:3248:2: ( ( ruleCastedExpression ) ) + // InternalExport.g:3249:3: ( ruleCastedExpression ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); + } + // InternalExport.g:3250:3: ( ruleCastedExpression ) + // InternalExport.g:3250:4: ruleCastedExpression + { + pushFollow(FOLLOW_2); + ruleCastedExpression(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; - } - return ; - } - // $ANTLR end "rule__Export__Group_1_1__0__Impl" + } + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); + } - // $ANTLR start "rule__Export__Group_1_1__1" - // InternalExport.g:3423:1: rule__Export__Group_1_1__1 : rule__Export__Group_1_1__1__Impl rule__Export__Group_1_1__2 ; - public final void rule__Export__Group_1_1__1() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3427:1: ( rule__Export__Group_1_1__1__Impl rule__Export__Group_1_1__2 ) - // InternalExport.g:3428:2: rule__Export__Group_1_1__1__Impl rule__Export__Group_1_1__2 - { - pushFollow(FOLLOW_19); - rule__Export__Group_1_1__1__Impl(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_1_1__2(); + } + break; + case 3 : + // InternalExport.g:3254:2: ( ruleChainExpression ) + { + // InternalExport.g:3254:2: ( ruleChainExpression ) + // InternalExport.g:3255:3: ruleChainExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleChainExpression(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); + } - } + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -12085,78 +11142,138 @@ public final void rule__Export__Group_1_1__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_1_1__1" + // $ANTLR end "rule__Expression__Alternatives" - // $ANTLR start "rule__Export__Group_1_1__1__Impl" - // InternalExport.g:3435:1: rule__Export__Group_1_1__1__Impl : ( ( rule__Export__LookupPredicateAssignment_1_1_1 ) ) ; - public final void rule__Export__Group_1_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ChainedExpression__Alternatives" + // InternalExport.g:3264:1: rule__ChainedExpression__Alternatives : ( ( ruleIfExpressionKw ) | ( ruleIfExpressionTri ) | ( ruleSwitchExpression ) ); + public final void rule__ChainedExpression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3439:1: ( ( ( rule__Export__LookupPredicateAssignment_1_1_1 ) ) ) - // InternalExport.g:3440:1: ( ( rule__Export__LookupPredicateAssignment_1_1_1 ) ) - { - // InternalExport.g:3440:1: ( ( rule__Export__LookupPredicateAssignment_1_1_1 ) ) - // InternalExport.g:3441:2: ( rule__Export__LookupPredicateAssignment_1_1_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getLookupPredicateAssignment_1_1_1()); + // InternalExport.g:3268:1: ( ( ruleIfExpressionKw ) | ( ruleIfExpressionTri ) | ( ruleSwitchExpression ) ) + int alt6=3; + switch ( input.LA(1) ) { + case 87: + { + alt6=1; + } + break; + case RULE_ID: + case RULE_INT: + case RULE_STRING: + case RULE_REAL: + case 24: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + case 39: + case 40: + case 68: + case 77: + case 94: + case 95: + case 100: + case 115: + { + alt6=2; + } + break; + case 90: + { + alt6=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 6, 0, input); + + throw nvae; } - // InternalExport.g:3442:2: ( rule__Export__LookupPredicateAssignment_1_1_1 ) - // InternalExport.g:3442:3: rule__Export__LookupPredicateAssignment_1_1_1 - { - pushFollow(FOLLOW_2); - rule__Export__LookupPredicateAssignment_1_1_1(); - state._fsp--; - if (state.failed) return ; + switch (alt6) { + case 1 : + // InternalExport.g:3269:2: ( ruleIfExpressionKw ) + { + // InternalExport.g:3269:2: ( ruleIfExpressionKw ) + // InternalExport.g:3270:3: ruleIfExpressionKw + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleIfExpressionKw(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getLookupPredicateAssignment_1_1_1()); - } + } - } + } + break; + case 2 : + // InternalExport.g:3275:2: ( ruleIfExpressionTri ) + { + // InternalExport.g:3275:2: ( ruleIfExpressionTri ) + // InternalExport.g:3276:3: ruleIfExpressionTri + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleIfExpressionTri(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__Export__Group_1_1__1__Impl" + } + break; + case 3 : + // InternalExport.g:3281:2: ( ruleSwitchExpression ) + { + // InternalExport.g:3281:2: ( ruleSwitchExpression ) + // InternalExport.g:3282:3: ruleSwitchExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleSwitchExpression(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); + } - // $ANTLR start "rule__Export__Group_1_1__2" - // InternalExport.g:3450:1: rule__Export__Group_1_1__2 : rule__Export__Group_1_1__2__Impl ; - public final void rule__Export__Group_1_1__2() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3454:1: ( rule__Export__Group_1_1__2__Impl ) - // InternalExport.g:3455:2: rule__Export__Group_1_1__2__Impl - { - pushFollow(FOLLOW_2); - rule__Export__Group_1_1__2__Impl(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -12169,73 +11286,174 @@ public final void rule__Export__Group_1_1__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_1_1__2" + // $ANTLR end "rule__ChainedExpression__Alternatives" - // $ANTLR start "rule__Export__Group_1_1__2__Impl" - // InternalExport.g:3461:1: rule__Export__Group_1_1__2__Impl : ( ']' ) ; - public final void rule__Export__Group_1_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__OperatorAlternatives_1_1_0" + // InternalExport.g:3291:1: rule__RelationalExpression__OperatorAlternatives_1_1_0 : ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ); + public final void rule__RelationalExpression__OperatorAlternatives_1_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3465:1: ( ( ']' ) ) - // InternalExport.g:3466:1: ( ']' ) - { - // InternalExport.g:3466:1: ( ']' ) - // InternalExport.g:3467:2: ']' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getRightSquareBracketKeyword_1_1_2()); - } - match(input,46,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getRightSquareBracketKeyword_1_1_2()); - } + // InternalExport.g:3295:1: ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ) + int alt7=6; + switch ( input.LA(1) ) { + case 17: + { + alt7=1; + } + break; + case 18: + { + alt7=2; + } + break; + case 19: + { + alt7=3; + } + break; + case 20: + { + alt7=4; + } + break; + case 21: + { + alt7=5; + } + break; + case 22: + { + alt7=6; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 7, 0, input); + throw nvae; } + switch (alt7) { + case 1 : + // InternalExport.g:3296:2: ( '==' ) + { + // InternalExport.g:3296:2: ( '==' ) + // InternalExport.g:3297:3: '==' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); + } + match(input,17,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); + } - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__Export__Group_1_1__2__Impl" + } + break; + case 2 : + // InternalExport.g:3302:2: ( '!=' ) + { + // InternalExport.g:3302:2: ( '!=' ) + // InternalExport.g:3303:3: '!=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); + } + match(input,18,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); + } + } - // $ANTLR start "rule__Export__Group_3__0" - // InternalExport.g:3477:1: rule__Export__Group_3__0 : rule__Export__Group_3__0__Impl rule__Export__Group_3__1 ; - public final void rule__Export__Group_3__0() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3481:1: ( rule__Export__Group_3__0__Impl rule__Export__Group_3__1 ) - // InternalExport.g:3482:2: rule__Export__Group_3__0__Impl rule__Export__Group_3__1 - { - pushFollow(FOLLOW_31); - rule__Export__Group_3__0__Impl(); + } + break; + case 3 : + // InternalExport.g:3308:2: ( '>=' ) + { + // InternalExport.g:3308:2: ( '>=' ) + // InternalExport.g:3309:3: '>=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); + } + match(input,19,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_3__1(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + case 4 : + // InternalExport.g:3314:2: ( '<=' ) + { + // InternalExport.g:3314:2: ( '<=' ) + // InternalExport.g:3315:3: '<=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); + } + match(input,20,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); + } + + } + + + } + break; + case 5 : + // InternalExport.g:3320:2: ( '>' ) + { + // InternalExport.g:3320:2: ( '>' ) + // InternalExport.g:3321:3: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); + } + + } + + + } + break; + case 6 : + // InternalExport.g:3326:2: ( '<' ) + { + // InternalExport.g:3326:2: ( '<' ) + // InternalExport.g:3327:3: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -12248,35 +11466,74 @@ public final void rule__Export__Group_3__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_3__0" + // $ANTLR end "rule__RelationalExpression__OperatorAlternatives_1_1_0" - // $ANTLR start "rule__Export__Group_3__0__Impl" - // InternalExport.g:3489:1: rule__Export__Group_3__0__Impl : ( 'as' ) ; - public final void rule__Export__Group_3__0__Impl() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__NameAlternatives_1_1_0" + // InternalExport.g:3336:1: rule__AdditiveExpression__NameAlternatives_1_1_0 : ( ( '+' ) | ( '-' ) ); + public final void rule__AdditiveExpression__NameAlternatives_1_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3493:1: ( ( 'as' ) ) - // InternalExport.g:3494:1: ( 'as' ) - { - // InternalExport.g:3494:1: ( 'as' ) - // InternalExport.g:3495:2: 'as' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getAsKeyword_3_0()); + // InternalExport.g:3340:1: ( ( '+' ) | ( '-' ) ) + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0==23) ) { + alt8=1; } - match(input,42,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getAsKeyword_3_0()); + else if ( (LA8_0==24) ) { + alt8=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 8, 0, input); + throw nvae; } + switch (alt8) { + case 1 : + // InternalExport.g:3341:2: ( '+' ) + { + // InternalExport.g:3341:2: ( '+' ) + // InternalExport.g:3342:3: '+' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); + } + match(input,23,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); + } + } + + + } + break; + case 2 : + // InternalExport.g:3347:2: ( '-' ) + { + // InternalExport.g:3347:2: ( '-' ) + // InternalExport.g:3348:3: '-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); + } + match(input,24,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); + } + + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -12289,32 +11546,74 @@ public final void rule__Export__Group_3__0__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_3__0__Impl" + // $ANTLR end "rule__AdditiveExpression__NameAlternatives_1_1_0" - // $ANTLR start "rule__Export__Group_3__1" - // InternalExport.g:3504:1: rule__Export__Group_3__1 : rule__Export__Group_3__1__Impl rule__Export__Group_3__2 ; - public final void rule__Export__Group_3__1() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__NameAlternatives_1_1_0" + // InternalExport.g:3357:1: rule__MultiplicativeExpression__NameAlternatives_1_1_0 : ( ( '*' ) | ( '/' ) ); + public final void rule__MultiplicativeExpression__NameAlternatives_1_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3508:1: ( rule__Export__Group_3__1__Impl rule__Export__Group_3__2 ) - // InternalExport.g:3509:2: rule__Export__Group_3__1__Impl rule__Export__Group_3__2 - { - pushFollow(FOLLOW_31); - rule__Export__Group_3__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_3__2(); + // InternalExport.g:3361:1: ( ( '*' ) | ( '/' ) ) + int alt9=2; + int LA9_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA9_0==25) ) { + alt9=1; + } + else if ( (LA9_0==26) ) { + alt9=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 9, 0, input); + throw nvae; } + switch (alt9) { + case 1 : + // InternalExport.g:3362:2: ( '*' ) + { + // InternalExport.g:3362:2: ( '*' ) + // InternalExport.g:3363:3: '*' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); + } + match(input,25,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); + } + + } + + + } + break; + case 2 : + // InternalExport.g:3368:2: ( '/' ) + { + // InternalExport.g:3368:2: ( '/' ) + // InternalExport.g:3369:3: '/' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); + } + match(input,26,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -12327,56 +11626,82 @@ public final void rule__Export__Group_3__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_3__1" + // $ANTLR end "rule__MultiplicativeExpression__NameAlternatives_1_1_0" - // $ANTLR start "rule__Export__Group_3__1__Impl" - // InternalExport.g:3516:1: rule__Export__Group_3__1__Impl : ( ( rule__Export__QualifiedNameAssignment_3_1 )? ) ; - public final void rule__Export__Group_3__1__Impl() throws RecognitionException { + // $ANTLR start "rule__UnaryOrInfixExpression__Alternatives" + // InternalExport.g:3378:1: rule__UnaryOrInfixExpression__Alternatives : ( ( ruleUnaryExpression ) | ( ruleInfixExpression ) ); + public final void rule__UnaryOrInfixExpression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3520:1: ( ( ( rule__Export__QualifiedNameAssignment_3_1 )? ) ) - // InternalExport.g:3521:1: ( ( rule__Export__QualifiedNameAssignment_3_1 )? ) - { - // InternalExport.g:3521:1: ( ( rule__Export__QualifiedNameAssignment_3_1 )? ) - // InternalExport.g:3522:2: ( rule__Export__QualifiedNameAssignment_3_1 )? - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getQualifiedNameAssignment_3_1()); + // InternalExport.g:3382:1: ( ( ruleUnaryExpression ) | ( ruleInfixExpression ) ) + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0==24||LA10_0==27) ) { + alt10=1; } - // InternalExport.g:3523:2: ( rule__Export__QualifiedNameAssignment_3_1 )? - int alt42=2; - int LA42_0 = input.LA(1); + else if ( (LA10_0==RULE_ID||LA10_0==RULE_INT||(LA10_0>=RULE_STRING && LA10_0<=RULE_REAL)||(LA10_0>=28 && LA10_0<=40)||LA10_0==68||LA10_0==77||(LA10_0>=94 && LA10_0<=95)||LA10_0==100||LA10_0==115) ) { + alt10=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 10, 0, input); - if ( (LA42_0==73) ) { - alt42=1; + throw nvae; } - switch (alt42) { + switch (alt10) { case 1 : - // InternalExport.g:3523:3: rule__Export__QualifiedNameAssignment_3_1 + // InternalExport.g:3383:2: ( ruleUnaryExpression ) + { + // InternalExport.g:3383:2: ( ruleUnaryExpression ) + // InternalExport.g:3384:3: ruleUnaryExpression { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); + } pushFollow(FOLLOW_2); - rule__Export__QualifiedNameAssignment_3_1(); + ruleUnaryExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); + } + + } + } break; + case 2 : + // InternalExport.g:3389:2: ( ruleInfixExpression ) + { + // InternalExport.g:3389:2: ( ruleInfixExpression ) + // InternalExport.g:3390:3: ruleInfixExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleInfixExpression(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getQualifiedNameAssignment_3_1()); - } + } - } + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -12389,27 +11714,74 @@ public final void rule__Export__Group_3__1__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_3__1__Impl" + // $ANTLR end "rule__UnaryOrInfixExpression__Alternatives" - // $ANTLR start "rule__Export__Group_3__2" - // InternalExport.g:3531:1: rule__Export__Group_3__2 : rule__Export__Group_3__2__Impl ; - public final void rule__Export__Group_3__2() throws RecognitionException { + // $ANTLR start "rule__UnaryExpression__NameAlternatives_0_0" + // InternalExport.g:3399:1: rule__UnaryExpression__NameAlternatives_0_0 : ( ( '!' ) | ( '-' ) ); + public final void rule__UnaryExpression__NameAlternatives_0_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3535:1: ( rule__Export__Group_3__2__Impl ) - // InternalExport.g:3536:2: rule__Export__Group_3__2__Impl - { - pushFollow(FOLLOW_2); - rule__Export__Group_3__2__Impl(); + // InternalExport.g:3403:1: ( ( '!' ) | ( '-' ) ) + int alt11=2; + int LA11_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA11_0==27) ) { + alt11=1; + } + else if ( (LA11_0==24) ) { + alt11=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 11, 0, input); + throw nvae; } + switch (alt11) { + case 1 : + // InternalExport.g:3404:2: ( '!' ) + { + // InternalExport.g:3404:2: ( '!' ) + // InternalExport.g:3405:3: '!' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); + } + match(input,27,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); + } + + } + + + } + break; + case 2 : + // InternalExport.g:3410:2: ( '-' ) + { + // InternalExport.g:3410:2: ( '-' ) + // InternalExport.g:3411:3: '-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); + } + match(input,24,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -12422,124 +11794,200 @@ public final void rule__Export__Group_3__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_3__2" + // $ANTLR end "rule__UnaryExpression__NameAlternatives_0_0" - // $ANTLR start "rule__Export__Group_3__2__Impl" - // InternalExport.g:3542:1: rule__Export__Group_3__2__Impl : ( ( rule__Export__NamingAssignment_3_2 ) ) ; - public final void rule__Export__Group_3__2__Impl() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Alternatives_1" + // InternalExport.g:3420:1: rule__InfixExpression__Alternatives_1 : ( ( ( rule__InfixExpression__Group_1_0__0 ) ) | ( ( rule__InfixExpression__Group_1_1__0 ) ) | ( ( rule__InfixExpression__Group_1_2__0 ) ) | ( ( rule__InfixExpression__Group_1_3__0 ) ) ); + public final void rule__InfixExpression__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3546:1: ( ( ( rule__Export__NamingAssignment_3_2 ) ) ) - // InternalExport.g:3547:1: ( ( rule__Export__NamingAssignment_3_2 ) ) - { - // InternalExport.g:3547:1: ( ( rule__Export__NamingAssignment_3_2 ) ) - // InternalExport.g:3548:2: ( rule__Export__NamingAssignment_3_2 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getNamingAssignment_3_2()); - } - // InternalExport.g:3549:2: ( rule__Export__NamingAssignment_3_2 ) - // InternalExport.g:3549:3: rule__Export__NamingAssignment_3_2 - { - pushFollow(FOLLOW_2); - rule__Export__NamingAssignment_3_2(); + // InternalExport.g:3424:1: ( ( ( rule__InfixExpression__Group_1_0__0 ) ) | ( ( rule__InfixExpression__Group_1_1__0 ) ) | ( ( rule__InfixExpression__Group_1_2__0 ) ) | ( ( rule__InfixExpression__Group_1_3__0 ) ) ) + int alt12=4; + int LA12_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA12_0==58) ) { + switch ( input.LA(2) ) { + case 38: + case 39: + case 40: + { + alt12=2; + } + break; + case RULE_ID: + { + int LA12_3 = input.LA(3); - } + if ( (LA12_3==77) ) { + alt12=1; + } + else if ( (LA12_3==EOF||(LA12_3>=15 && LA12_3<=26)||LA12_3==48||LA12_3==58||(LA12_3>=68 && LA12_3<=69)||(LA12_3>=71 && LA12_3<=74)||LA12_3==78||LA12_3==83||(LA12_3>=85 && LA12_3<=86)||(LA12_3>=88 && LA12_3<=89)||(LA12_3>=91 && LA12_3<=92)||LA12_3==114) ) { + alt12=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 12, 3, input); + + throw nvae; + } + } + break; + case 115: + { + alt12=3; + } + break; + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + { + alt12=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 12, 1, input); + + throw nvae; + } - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getNamingAssignment_3_2()); } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 12, 0, input); + throw nvae; } + switch (alt12) { + case 1 : + // InternalExport.g:3425:2: ( ( rule__InfixExpression__Group_1_0__0 ) ) + { + // InternalExport.g:3425:2: ( ( rule__InfixExpression__Group_1_0__0 ) ) + // InternalExport.g:3426:3: ( rule__InfixExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); + } + // InternalExport.g:3427:3: ( rule__InfixExpression__Group_1_0__0 ) + // InternalExport.g:3427:4: rule__InfixExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__0(); + state._fsp--; + if (state.failed) return ; - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_3__2__Impl" + } + break; + case 2 : + // InternalExport.g:3431:2: ( ( rule__InfixExpression__Group_1_1__0 ) ) + { + // InternalExport.g:3431:2: ( ( rule__InfixExpression__Group_1_1__0 ) ) + // InternalExport.g:3432:3: ( rule__InfixExpression__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); + } + // InternalExport.g:3433:3: ( rule__InfixExpression__Group_1_1__0 ) + // InternalExport.g:3433:4: rule__InfixExpression__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_1__0(); - // $ANTLR start "rule__Export__Group_4__0" - // InternalExport.g:3558:1: rule__Export__Group_4__0 : rule__Export__Group_4__0__Impl rule__Export__Group_4__1 ; - public final void rule__Export__Group_4__0() throws RecognitionException { + state._fsp--; + if (state.failed) return ; - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3562:1: ( rule__Export__Group_4__0__Impl rule__Export__Group_4__1 ) - // InternalExport.g:3563:2: rule__Export__Group_4__0__Impl rule__Export__Group_4__1 - { - pushFollow(FOLLOW_18); - rule__Export__Group_4__0__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_4__1(); + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); + } - state._fsp--; - if (state.failed) return ; + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 3 : + // InternalExport.g:3437:2: ( ( rule__InfixExpression__Group_1_2__0 ) ) + { + // InternalExport.g:3437:2: ( ( rule__InfixExpression__Group_1_2__0 ) ) + // InternalExport.g:3438:3: ( rule__InfixExpression__Group_1_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); + } + // InternalExport.g:3439:3: ( rule__InfixExpression__Group_1_2__0 ) + // InternalExport.g:3439:4: rule__InfixExpression__Group_1_2__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__0(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; - } - return ; - } - // $ANTLR end "rule__Export__Group_4__0" + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); + } + } - // $ANTLR start "rule__Export__Group_4__0__Impl" - // InternalExport.g:3570:1: rule__Export__Group_4__0__Impl : ( '[' ) ; - public final void rule__Export__Group_4__0__Impl() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3574:1: ( ( '[' ) ) - // InternalExport.g:3575:1: ( '[' ) - { - // InternalExport.g:3575:1: ( '[' ) - // InternalExport.g:3576:2: '[' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getLeftSquareBracketKeyword_4_0()); - } - match(input,45,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getLeftSquareBracketKeyword_4_0()); - } + } + break; + case 4 : + // InternalExport.g:3443:2: ( ( rule__InfixExpression__Group_1_3__0 ) ) + { + // InternalExport.g:3443:2: ( ( rule__InfixExpression__Group_1_3__0 ) ) + // InternalExport.g:3444:3: ( rule__InfixExpression__Group_1_3__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); + } + // InternalExport.g:3445:3: ( rule__InfixExpression__Group_1_3__0 ) + // InternalExport.g:3445:4: rule__InfixExpression__Group_1_3__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__0(); - } + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); + } + + } - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -12552,157 +12000,222 @@ public final void rule__Export__Group_4__0__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_4__0__Impl" + // $ANTLR end "rule__InfixExpression__Alternatives_1" - // $ANTLR start "rule__Export__Group_4__1" - // InternalExport.g:3585:1: rule__Export__Group_4__1 : rule__Export__Group_4__1__Impl rule__Export__Group_4__2 ; - public final void rule__Export__Group_4__1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__NameAlternatives_1_3_2_0" + // InternalExport.g:3453:1: rule__InfixExpression__NameAlternatives_1_3_2_0 : ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ); + public final void rule__InfixExpression__NameAlternatives_1_3_2_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3589:1: ( rule__Export__Group_4__1__Impl rule__Export__Group_4__2 ) - // InternalExport.g:3590:2: rule__Export__Group_4__1__Impl rule__Export__Group_4__2 - { - pushFollow(FOLLOW_19); - rule__Export__Group_4__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_4__2(); - - state._fsp--; - if (state.failed) return ; - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); + // InternalExport.g:3457:1: ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) + int alt13=8; + switch ( input.LA(1) ) { + case 28: + { + alt13=1; + } + break; + case 29: + { + alt13=2; + } + break; + case 30: + { + alt13=3; + } + break; + case 31: + { + alt13=4; + } + break; + case 32: + { + alt13=5; + } + break; + case 33: + { + alt13=6; + } + break; + case 34: + { + alt13=7; + } + break; + case 35: + { + alt13=8; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 13, 0, input); - } - return ; - } - // $ANTLR end "rule__Export__Group_4__1" + throw nvae; + } + switch (alt13) { + case 1 : + // InternalExport.g:3458:2: ( 'collect' ) + { + // InternalExport.g:3458:2: ( 'collect' ) + // InternalExport.g:3459:3: 'collect' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); + } + match(input,28,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); + } - // $ANTLR start "rule__Export__Group_4__1__Impl" - // InternalExport.g:3597:1: rule__Export__Group_4__1__Impl : ( ( rule__Export__GuardAssignment_4_1 ) ) ; - public final void rule__Export__Group_4__1__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3601:1: ( ( ( rule__Export__GuardAssignment_4_1 ) ) ) - // InternalExport.g:3602:1: ( ( rule__Export__GuardAssignment_4_1 ) ) - { - // InternalExport.g:3602:1: ( ( rule__Export__GuardAssignment_4_1 ) ) - // InternalExport.g:3603:2: ( rule__Export__GuardAssignment_4_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getGuardAssignment_4_1()); - } - // InternalExport.g:3604:2: ( rule__Export__GuardAssignment_4_1 ) - // InternalExport.g:3604:3: rule__Export__GuardAssignment_4_1 - { - pushFollow(FOLLOW_2); - rule__Export__GuardAssignment_4_1(); - state._fsp--; - if (state.failed) return ; + } + break; + case 2 : + // InternalExport.g:3464:2: ( 'select' ) + { + // InternalExport.g:3464:2: ( 'select' ) + // InternalExport.g:3465:3: 'select' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); + } + match(input,29,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); + } - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getGuardAssignment_4_1()); - } - } + } + break; + case 3 : + // InternalExport.g:3470:2: ( 'selectFirst' ) + { + // InternalExport.g:3470:2: ( 'selectFirst' ) + // InternalExport.g:3471:3: 'selectFirst' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); + } + match(input,30,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); + } + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 4 : + // InternalExport.g:3476:2: ( 'reject' ) + { + // InternalExport.g:3476:2: ( 'reject' ) + // InternalExport.g:3477:3: 'reject' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); + } + match(input,31,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_4__1__Impl" + } + break; + case 5 : + // InternalExport.g:3482:2: ( 'exists' ) + { + // InternalExport.g:3482:2: ( 'exists' ) + // InternalExport.g:3483:3: 'exists' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); + } + match(input,32,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); + } - // $ANTLR start "rule__Export__Group_4__2" - // InternalExport.g:3612:1: rule__Export__Group_4__2 : rule__Export__Group_4__2__Impl ; - public final void rule__Export__Group_4__2() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3616:1: ( rule__Export__Group_4__2__Impl ) - // InternalExport.g:3617:2: rule__Export__Group_4__2__Impl - { - pushFollow(FOLLOW_2); - rule__Export__Group_4__2__Impl(); - state._fsp--; - if (state.failed) return ; + } + break; + case 6 : + // InternalExport.g:3488:2: ( 'notExists' ) + { + // InternalExport.g:3488:2: ( 'notExists' ) + // InternalExport.g:3489:3: 'notExists' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); + } + match(input,33,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 7 : + // InternalExport.g:3494:2: ( 'sortBy' ) + { + // InternalExport.g:3494:2: ( 'sortBy' ) + // InternalExport.g:3495:3: 'sortBy' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); + } + match(input,34,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_4__2" + } - // $ANTLR start "rule__Export__Group_4__2__Impl" - // InternalExport.g:3623:1: rule__Export__Group_4__2__Impl : ( ']' ) ; - public final void rule__Export__Group_4__2__Impl() throws RecognitionException { + } + break; + case 8 : + // InternalExport.g:3500:2: ( 'forAll' ) + { + // InternalExport.g:3500:2: ( 'forAll' ) + // InternalExport.g:3501:3: 'forAll' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); + } + match(input,35,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3627:1: ( ( ']' ) ) - // InternalExport.g:3628:1: ( ']' ) - { - // InternalExport.g:3628:1: ( ']' ) - // InternalExport.g:3629:2: ']' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getRightSquareBracketKeyword_4_2()); - } - match(input,46,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getRightSquareBracketKeyword_4_2()); - } + } - } + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -12715,152 +12228,215 @@ public final void rule__Export__Group_4__2__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_4__2__Impl" + // $ANTLR end "rule__InfixExpression__NameAlternatives_1_3_2_0" - // $ANTLR start "rule__Export__Group_6__0" - // InternalExport.g:3639:1: rule__Export__Group_6__0 : rule__Export__Group_6__0__Impl rule__Export__Group_6__1 ; - public final void rule__Export__Group_6__0() throws RecognitionException { + // $ANTLR start "rule__PrimaryExpression__Alternatives" + // InternalExport.g:3510:1: rule__PrimaryExpression__Alternatives : ( ( ruleLiteral ) | ( ruleFeatureCall ) | ( ruleListLiteral ) | ( ruleConstructorCallExpression ) | ( ruleGlobalVarExpression ) | ( ruleParanthesizedExpression ) ); + public final void rule__PrimaryExpression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3643:1: ( rule__Export__Group_6__0__Impl rule__Export__Group_6__1 ) - // InternalExport.g:3644:2: rule__Export__Group_6__0__Impl rule__Export__Group_6__1 - { - pushFollow(FOLLOW_32); - rule__Export__Group_6__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_6__1(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:3514:1: ( ( ruleLiteral ) | ( ruleFeatureCall ) | ( ruleListLiteral ) | ( ruleConstructorCallExpression ) | ( ruleGlobalVarExpression ) | ( ruleParanthesizedExpression ) ) + int alt14=6; + switch ( input.LA(1) ) { + case RULE_INT: + case RULE_STRING: + case RULE_REAL: + case 36: + case 37: + case 100: + { + alt14=1; + } + break; + case RULE_ID: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 38: + case 39: + case 40: + case 115: + { + alt14=2; + } + break; + case 68: + { + alt14=3; + } + break; + case 95: + { + alt14=4; + } + break; + case 94: + { + alt14=5; + } + break; + case 77: + { + alt14=6; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 14, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); + switch (alt14) { + case 1 : + // InternalExport.g:3515:2: ( ruleLiteral ) + { + // InternalExport.g:3515:2: ( ruleLiteral ) + // InternalExport.g:3516:3: ruleLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleLiteral(); - } - return ; - } - // $ANTLR end "rule__Export__Group_6__0" + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); + } + } - // $ANTLR start "rule__Export__Group_6__0__Impl" - // InternalExport.g:3651:1: rule__Export__Group_6__0__Impl : ( 'uri-fragment' ) ; - public final void rule__Export__Group_6__0__Impl() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3655:1: ( ( 'uri-fragment' ) ) - // InternalExport.g:3656:1: ( 'uri-fragment' ) - { - // InternalExport.g:3656:1: ( 'uri-fragment' ) - // InternalExport.g:3657:2: 'uri-fragment' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getUriFragmentKeyword_6_0()); - } - match(input,53,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getUriFragmentKeyword_6_0()); - } + } + break; + case 2 : + // InternalExport.g:3521:2: ( ruleFeatureCall ) + { + // InternalExport.g:3521:2: ( ruleFeatureCall ) + // InternalExport.g:3522:3: ruleFeatureCall + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleFeatureCall(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); + } + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 3 : + // InternalExport.g:3527:2: ( ruleListLiteral ) + { + // InternalExport.g:3527:2: ( ruleListLiteral ) + // InternalExport.g:3528:3: ruleListLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleListLiteral(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_6__0__Impl" + } - // $ANTLR start "rule__Export__Group_6__1" - // InternalExport.g:3666:1: rule__Export__Group_6__1 : rule__Export__Group_6__1__Impl rule__Export__Group_6__2 ; - public final void rule__Export__Group_6__1() throws RecognitionException { + } + break; + case 4 : + // InternalExport.g:3533:2: ( ruleConstructorCallExpression ) + { + // InternalExport.g:3533:2: ( ruleConstructorCallExpression ) + // InternalExport.g:3534:3: ruleConstructorCallExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); + } + pushFollow(FOLLOW_2); + ruleConstructorCallExpression(); - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3670:1: ( rule__Export__Group_6__1__Impl rule__Export__Group_6__2 ) - // InternalExport.g:3671:2: rule__Export__Group_6__1__Impl rule__Export__Group_6__2 - { - pushFollow(FOLLOW_33); - rule__Export__Group_6__1__Impl(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_6__2(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + case 5 : + // InternalExport.g:3539:2: ( ruleGlobalVarExpression ) + { + // InternalExport.g:3539:2: ( ruleGlobalVarExpression ) + // InternalExport.g:3540:3: ruleGlobalVarExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); + } + pushFollow(FOLLOW_2); + ruleGlobalVarExpression(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_6__1" + } + break; + case 6 : + // InternalExport.g:3545:2: ( ruleParanthesizedExpression ) + { + // InternalExport.g:3545:2: ( ruleParanthesizedExpression ) + // InternalExport.g:3546:3: ruleParanthesizedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); + } + pushFollow(FOLLOW_2); + ruleParanthesizedExpression(); - // $ANTLR start "rule__Export__Group_6__1__Impl" - // InternalExport.g:3678:1: rule__Export__Group_6__1__Impl : ( '=' ) ; - public final void rule__Export__Group_6__1__Impl() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3682:1: ( ( '=' ) ) - // InternalExport.g:3683:1: ( '=' ) - { - // InternalExport.g:3683:1: ( '=' ) - // InternalExport.g:3684:2: '=' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getEqualsSignKeyword_6_1()); - } - match(input,47,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getEqualsSignKeyword_6_1()); - } + } - } + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -12873,132 +12449,171 @@ public final void rule__Export__Group_6__1__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_6__1__Impl" + // $ANTLR end "rule__PrimaryExpression__Alternatives" - // $ANTLR start "rule__Export__Group_6__2" - // InternalExport.g:3693:1: rule__Export__Group_6__2 : rule__Export__Group_6__2__Impl rule__Export__Group_6__3 ; - public final void rule__Export__Group_6__2() throws RecognitionException { + // $ANTLR start "rule__Literal__Alternatives" + // InternalExport.g:3555:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleIntegerLiteral ) | ( ruleNullLiteral ) | ( ruleRealLiteral ) | ( ruleStringLiteral ) ); + public final void rule__Literal__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3697:1: ( rule__Export__Group_6__2__Impl rule__Export__Group_6__3 ) - // InternalExport.g:3698:2: rule__Export__Group_6__2__Impl rule__Export__Group_6__3 - { - pushFollow(FOLLOW_33); - rule__Export__Group_6__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_6__3(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:3559:1: ( ( ruleBooleanLiteral ) | ( ruleIntegerLiteral ) | ( ruleNullLiteral ) | ( ruleRealLiteral ) | ( ruleStringLiteral ) ) + int alt15=5; + switch ( input.LA(1) ) { + case 36: + case 37: + { + alt15=1; + } + break; + case RULE_INT: + { + alt15=2; + } + break; + case 100: + { + alt15=3; + } + break; + case RULE_REAL: + { + alt15=4; + } + break; + case RULE_STRING: + { + alt15=5; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 15, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Export__Group_6__2" + switch (alt15) { + case 1 : + // InternalExport.g:3560:2: ( ruleBooleanLiteral ) + { + // InternalExport.g:3560:2: ( ruleBooleanLiteral ) + // InternalExport.g:3561:3: ruleBooleanLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleBooleanLiteral(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); + } - // $ANTLR start "rule__Export__Group_6__2__Impl" - // InternalExport.g:3705:1: rule__Export__Group_6__2__Impl : ( ( rule__Export__FragmentUniqueAssignment_6_2 )? ) ; - public final void rule__Export__Group_6__2__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3709:1: ( ( ( rule__Export__FragmentUniqueAssignment_6_2 )? ) ) - // InternalExport.g:3710:1: ( ( rule__Export__FragmentUniqueAssignment_6_2 )? ) - { - // InternalExport.g:3710:1: ( ( rule__Export__FragmentUniqueAssignment_6_2 )? ) - // InternalExport.g:3711:2: ( rule__Export__FragmentUniqueAssignment_6_2 )? - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getFragmentUniqueAssignment_6_2()); - } - // InternalExport.g:3712:2: ( rule__Export__FragmentUniqueAssignment_6_2 )? - int alt43=2; - int LA43_0 = input.LA(1); - if ( (LA43_0==74) ) { - alt43=1; - } - switch (alt43) { - case 1 : - // InternalExport.g:3712:3: rule__Export__FragmentUniqueAssignment_6_2 + } + break; + case 2 : + // InternalExport.g:3566:2: ( ruleIntegerLiteral ) + { + // InternalExport.g:3566:2: ( ruleIntegerLiteral ) + // InternalExport.g:3567:3: ruleIntegerLiteral { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); + } pushFollow(FOLLOW_2); - rule__Export__FragmentUniqueAssignment_6_2(); + ruleIntegerLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); + } } - break; - } - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getFragmentUniqueAssignment_6_2()); - } + } + break; + case 3 : + // InternalExport.g:3572:2: ( ruleNullLiteral ) + { + // InternalExport.g:3572:2: ( ruleNullLiteral ) + // InternalExport.g:3573:3: ruleNullLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleNullLiteral(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); + } + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 4 : + // InternalExport.g:3578:2: ( ruleRealLiteral ) + { + // InternalExport.g:3578:2: ( ruleRealLiteral ) + // InternalExport.g:3579:3: ruleRealLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); + } + pushFollow(FOLLOW_2); + ruleRealLiteral(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_6__2__Impl" + } - // $ANTLR start "rule__Export__Group_6__3" - // InternalExport.g:3720:1: rule__Export__Group_6__3 : rule__Export__Group_6__3__Impl rule__Export__Group_6__4 ; - public final void rule__Export__Group_6__3() throws RecognitionException { + } + break; + case 5 : + // InternalExport.g:3584:2: ( ruleStringLiteral ) + { + // InternalExport.g:3584:2: ( ruleStringLiteral ) + // InternalExport.g:3585:3: ruleStringLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); + } + pushFollow(FOLLOW_2); + ruleStringLiteral(); - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3724:1: ( rule__Export__Group_6__3__Impl rule__Export__Group_6__4 ) - // InternalExport.g:3725:2: rule__Export__Group_6__3__Impl rule__Export__Group_6__4 - { - pushFollow(FOLLOW_34); - rule__Export__Group_6__3__Impl(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_6__4(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -13011,73 +12626,74 @@ public final void rule__Export__Group_6__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_6__3" + // $ANTLR end "rule__Literal__Alternatives" - // $ANTLR start "rule__Export__Group_6__3__Impl" - // InternalExport.g:3732:1: rule__Export__Group_6__3__Impl : ( 'attribute' ) ; - public final void rule__Export__Group_6__3__Impl() throws RecognitionException { + // $ANTLR start "rule__BooleanLiteral__ValAlternatives_0" + // InternalExport.g:3594:1: rule__BooleanLiteral__ValAlternatives_0 : ( ( 'true' ) | ( 'false' ) ); + public final void rule__BooleanLiteral__ValAlternatives_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3736:1: ( ( 'attribute' ) ) - // InternalExport.g:3737:1: ( 'attribute' ) - { - // InternalExport.g:3737:1: ( 'attribute' ) - // InternalExport.g:3738:2: 'attribute' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getAttributeKeyword_6_3()); - } - match(input,54,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getAttributeKeyword_6_3()); - } + // InternalExport.g:3598:1: ( ( 'true' ) | ( 'false' ) ) + int alt16=2; + int LA16_0 = input.LA(1); + if ( (LA16_0==36) ) { + alt16=1; } - - + else if ( (LA16_0==37) ) { + alt16=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 16, 0, input); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); + throw nvae; + } + switch (alt16) { + case 1 : + // InternalExport.g:3599:2: ( 'true' ) + { + // InternalExport.g:3599:2: ( 'true' ) + // InternalExport.g:3600:3: 'true' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); + } + match(input,36,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_6__3__Impl" + } - // $ANTLR start "rule__Export__Group_6__4" - // InternalExport.g:3747:1: rule__Export__Group_6__4 : rule__Export__Group_6__4__Impl rule__Export__Group_6__5 ; - public final void rule__Export__Group_6__4() throws RecognitionException { + } + break; + case 2 : + // InternalExport.g:3605:2: ( 'false' ) + { + // InternalExport.g:3605:2: ( 'false' ) + // InternalExport.g:3606:3: 'false' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); + } + match(input,37,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3751:1: ( rule__Export__Group_6__4__Impl rule__Export__Group_6__5 ) - // InternalExport.g:3752:2: rule__Export__Group_6__4__Impl rule__Export__Group_6__5 - { - pushFollow(FOLLOW_10); - rule__Export__Group_6__4__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_6__5(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -13090,124 +12706,171 @@ public final void rule__Export__Group_6__4() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_6__4" + // $ANTLR end "rule__BooleanLiteral__ValAlternatives_0" - // $ANTLR start "rule__Export__Group_6__4__Impl" - // InternalExport.g:3759:1: rule__Export__Group_6__4__Impl : ( '(' ) ; - public final void rule__Export__Group_6__4__Impl() throws RecognitionException { + // $ANTLR start "rule__FeatureCall__Alternatives" + // InternalExport.g:3615:1: rule__FeatureCall__Alternatives : ( ( ruleOperationCall ) | ( ( rule__FeatureCall__TypeAssignment_1 ) ) | ( ruleCollectionExpression ) | ( ruleTypeSelectExpression ) ); + public final void rule__FeatureCall__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3763:1: ( ( '(' ) ) - // InternalExport.g:3764:1: ( '(' ) - { - // InternalExport.g:3764:1: ( '(' ) - // InternalExport.g:3765:2: '(' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getLeftParenthesisKeyword_6_4()); - } - match(input,51,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getLeftParenthesisKeyword_6_4()); - } + // InternalExport.g:3619:1: ( ( ruleOperationCall ) | ( ( rule__FeatureCall__TypeAssignment_1 ) ) | ( ruleCollectionExpression ) | ( ruleTypeSelectExpression ) ) + int alt17=4; + switch ( input.LA(1) ) { + case RULE_ID: + { + int LA17_1 = input.LA(2); - } + if ( (LA17_1==EOF||(LA17_1>=15 && LA17_1<=26)||LA17_1==48||LA17_1==58||(LA17_1>=68 && LA17_1<=69)||(LA17_1>=71 && LA17_1<=74)||LA17_1==78||LA17_1==83||(LA17_1>=85 && LA17_1<=86)||(LA17_1>=88 && LA17_1<=89)||(LA17_1>=91 && LA17_1<=92)||LA17_1==114) ) { + alt17=2; + } + else if ( (LA17_1==77) ) { + alt17=1; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 17, 1, input); + throw nvae; + } + } + break; + case 38: + case 39: + case 40: + { + alt17=2; + } + break; + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + { + alt17=3; + } + break; + case 115: + { + alt17=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 17, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); + switch (alt17) { + case 1 : + // InternalExport.g:3620:2: ( ruleOperationCall ) + { + // InternalExport.g:3620:2: ( ruleOperationCall ) + // InternalExport.g:3621:3: ruleOperationCall + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleOperationCall(); - } - return ; - } - // $ANTLR end "rule__Export__Group_6__4__Impl" + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); + } + } - // $ANTLR start "rule__Export__Group_6__5" - // InternalExport.g:3774:1: rule__Export__Group_6__5 : rule__Export__Group_6__5__Impl rule__Export__Group_6__6 ; - public final void rule__Export__Group_6__5() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3778:1: ( rule__Export__Group_6__5__Impl rule__Export__Group_6__6 ) - // InternalExport.g:3779:2: rule__Export__Group_6__5__Impl rule__Export__Group_6__6 - { - pushFollow(FOLLOW_25); - rule__Export__Group_6__5__Impl(); + } + break; + case 2 : + // InternalExport.g:3626:2: ( ( rule__FeatureCall__TypeAssignment_1 ) ) + { + // InternalExport.g:3626:2: ( ( rule__FeatureCall__TypeAssignment_1 ) ) + // InternalExport.g:3627:3: ( rule__FeatureCall__TypeAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); + } + // InternalExport.g:3628:3: ( rule__FeatureCall__TypeAssignment_1 ) + // InternalExport.g:3628:4: rule__FeatureCall__TypeAssignment_1 + { + pushFollow(FOLLOW_2); + rule__FeatureCall__TypeAssignment_1(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_6__6(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__Export__Group_6__5" + } + break; + case 3 : + // InternalExport.g:3632:2: ( ruleCollectionExpression ) + { + // InternalExport.g:3632:2: ( ruleCollectionExpression ) + // InternalExport.g:3633:3: ruleCollectionExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleCollectionExpression(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); + } - // $ANTLR start "rule__Export__Group_6__5__Impl" - // InternalExport.g:3786:1: rule__Export__Group_6__5__Impl : ( ( rule__Export__FragmentAttributeAssignment_6_5 ) ) ; - public final void rule__Export__Group_6__5__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3790:1: ( ( ( rule__Export__FragmentAttributeAssignment_6_5 ) ) ) - // InternalExport.g:3791:1: ( ( rule__Export__FragmentAttributeAssignment_6_5 ) ) - { - // InternalExport.g:3791:1: ( ( rule__Export__FragmentAttributeAssignment_6_5 ) ) - // InternalExport.g:3792:2: ( rule__Export__FragmentAttributeAssignment_6_5 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getFragmentAttributeAssignment_6_5()); - } - // InternalExport.g:3793:2: ( rule__Export__FragmentAttributeAssignment_6_5 ) - // InternalExport.g:3793:3: rule__Export__FragmentAttributeAssignment_6_5 - { - pushFollow(FOLLOW_2); - rule__Export__FragmentAttributeAssignment_6_5(); - state._fsp--; - if (state.failed) return ; + } + break; + case 4 : + // InternalExport.g:3638:2: ( ruleTypeSelectExpression ) + { + // InternalExport.g:3638:2: ( ruleTypeSelectExpression ) + // InternalExport.g:3639:3: ruleTypeSelectExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); + } + pushFollow(FOLLOW_2); + ruleTypeSelectExpression(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getFragmentAttributeAssignment_6_5()); - } + } - } + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -13220,185 +12883,222 @@ public final void rule__Export__Group_6__5__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_6__5__Impl" + // $ANTLR end "rule__FeatureCall__Alternatives" - // $ANTLR start "rule__Export__Group_6__6" - // InternalExport.g:3801:1: rule__Export__Group_6__6 : rule__Export__Group_6__6__Impl rule__Export__Group_6__7 ; - public final void rule__Export__Group_6__6() throws RecognitionException { + // $ANTLR start "rule__CollectionExpression__NameAlternatives_0_0" + // InternalExport.g:3648:1: rule__CollectionExpression__NameAlternatives_0_0 : ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ); + public final void rule__CollectionExpression__NameAlternatives_0_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3805:1: ( rule__Export__Group_6__6__Impl rule__Export__Group_6__7 ) - // InternalExport.g:3806:2: rule__Export__Group_6__6__Impl rule__Export__Group_6__7 - { - pushFollow(FOLLOW_35); - rule__Export__Group_6__6__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_6__7(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:3652:1: ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) + int alt18=8; + switch ( input.LA(1) ) { + case 28: + { + alt18=1; + } + break; + case 29: + { + alt18=2; + } + break; + case 30: + { + alt18=3; + } + break; + case 31: + { + alt18=4; + } + break; + case 32: + { + alt18=5; + } + break; + case 33: + { + alt18=6; + } + break; + case 34: + { + alt18=7; + } + break; + case 35: + { + alt18=8; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 18, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + switch (alt18) { + case 1 : + // InternalExport.g:3653:2: ( 'collect' ) + { + // InternalExport.g:3653:2: ( 'collect' ) + // InternalExport.g:3654:3: 'collect' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); + } + match(input,28,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_6__6" + } + break; + case 2 : + // InternalExport.g:3659:2: ( 'select' ) + { + // InternalExport.g:3659:2: ( 'select' ) + // InternalExport.g:3660:3: 'select' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); + } + match(input,29,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); + } - // $ANTLR start "rule__Export__Group_6__6__Impl" - // InternalExport.g:3813:1: rule__Export__Group_6__6__Impl : ( ')' ) ; - public final void rule__Export__Group_6__6__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3817:1: ( ( ')' ) ) - // InternalExport.g:3818:1: ( ')' ) - { - // InternalExport.g:3818:1: ( ')' ) - // InternalExport.g:3819:2: ')' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getRightParenthesisKeyword_6_6()); - } - match(input,52,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getRightParenthesisKeyword_6_6()); - } - } + } + break; + case 3 : + // InternalExport.g:3665:2: ( 'selectFirst' ) + { + // InternalExport.g:3665:2: ( 'selectFirst' ) + // InternalExport.g:3666:3: 'selectFirst' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); + } + match(input,30,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); + } + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Export__Group_6__6__Impl" - - - // $ANTLR start "rule__Export__Group_6__7" - // InternalExport.g:3828:1: rule__Export__Group_6__7 : rule__Export__Group_6__7__Impl ; - public final void rule__Export__Group_6__7() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3832:1: ( rule__Export__Group_6__7__Impl ) - // InternalExport.g:3833:2: rule__Export__Group_6__7__Impl - { - pushFollow(FOLLOW_2); - rule__Export__Group_6__7__Impl(); - - state._fsp--; - if (state.failed) return ; - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); + } + break; + case 4 : + // InternalExport.g:3671:2: ( 'reject' ) + { + // InternalExport.g:3671:2: ( 'reject' ) + // InternalExport.g:3672:3: 'reject' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); + } + match(input,31,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_6__7" + } - // $ANTLR start "rule__Export__Group_6__7__Impl" - // InternalExport.g:3839:1: rule__Export__Group_6__7__Impl : ( ';' ) ; - public final void rule__Export__Group_6__7__Impl() throws RecognitionException { + } + break; + case 5 : + // InternalExport.g:3677:2: ( 'exists' ) + { + // InternalExport.g:3677:2: ( 'exists' ) + // InternalExport.g:3678:3: 'exists' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); + } + match(input,32,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3843:1: ( ( ';' ) ) - // InternalExport.g:3844:1: ( ';' ) - { - // InternalExport.g:3844:1: ( ';' ) - // InternalExport.g:3845:2: ';' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getSemicolonKeyword_6_7()); - } - match(input,44,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getSemicolonKeyword_6_7()); - } + } - } + } + break; + case 6 : + // InternalExport.g:3683:2: ( 'notExists' ) + { + // InternalExport.g:3683:2: ( 'notExists' ) + // InternalExport.g:3684:3: 'notExists' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); + } + match(input,33,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 7 : + // InternalExport.g:3689:2: ( 'sortBy' ) + { + // InternalExport.g:3689:2: ( 'sortBy' ) + // InternalExport.g:3690:3: 'sortBy' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); + } + match(input,34,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_6__7__Impl" + } - // $ANTLR start "rule__Export__Group_7__0" - // InternalExport.g:3855:1: rule__Export__Group_7__0 : rule__Export__Group_7__0__Impl rule__Export__Group_7__1 ; - public final void rule__Export__Group_7__0() throws RecognitionException { + } + break; + case 8 : + // InternalExport.g:3695:2: ( 'forAll' ) + { + // InternalExport.g:3695:2: ( 'forAll' ) + // InternalExport.g:3696:3: 'forAll' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); + } + match(input,35,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3859:1: ( rule__Export__Group_7__0__Impl rule__Export__Group_7__1 ) - // InternalExport.g:3860:2: rule__Export__Group_7__0__Impl rule__Export__Group_7__1 - { - pushFollow(FOLLOW_35); - rule__Export__Group_7__0__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_7__1(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -13411,78 +13111,82 @@ public final void rule__Export__Group_7__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_7__0" + // $ANTLR end "rule__CollectionExpression__NameAlternatives_0_0" - // $ANTLR start "rule__Export__Group_7__0__Impl" - // InternalExport.g:3867:1: rule__Export__Group_7__0__Impl : ( ( rule__Export__Alternatives_7_0 ) ) ; - public final void rule__Export__Group_7__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Type__Alternatives" + // InternalExport.g:3705:1: rule__Type__Alternatives : ( ( ruleCollectionType ) | ( ruleSimpleType ) ); + public final void rule__Type__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3871:1: ( ( ( rule__Export__Alternatives_7_0 ) ) ) - // InternalExport.g:3872:1: ( ( rule__Export__Alternatives_7_0 ) ) - { - // InternalExport.g:3872:1: ( ( rule__Export__Alternatives_7_0 ) ) - // InternalExport.g:3873:2: ( rule__Export__Alternatives_7_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getAlternatives_7_0()); - } - // InternalExport.g:3874:2: ( rule__Export__Alternatives_7_0 ) - // InternalExport.g:3874:3: rule__Export__Alternatives_7_0 - { - pushFollow(FOLLOW_2); - rule__Export__Alternatives_7_0(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:3709:1: ( ( ruleCollectionType ) | ( ruleSimpleType ) ) + int alt19=2; + int LA19_0 = input.LA(1); + if ( ((LA19_0>=38 && LA19_0<=40)) ) { + alt19=1; } - - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getAlternatives_7_0()); + else if ( (LA19_0==RULE_ID) ) { + alt19=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 19, 0, input); + throw nvae; } + switch (alt19) { + case 1 : + // InternalExport.g:3710:2: ( ruleCollectionType ) + { + // InternalExport.g:3710:2: ( ruleCollectionType ) + // InternalExport.g:3711:3: ruleCollectionType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleCollectionType(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); + } - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__Export__Group_7__0__Impl" + } + break; + case 2 : + // InternalExport.g:3716:2: ( ruleSimpleType ) + { + // InternalExport.g:3716:2: ( ruleSimpleType ) + // InternalExport.g:3717:3: ruleSimpleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleSimpleType(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); + } - // $ANTLR start "rule__Export__Group_7__1" - // InternalExport.g:3882:1: rule__Export__Group_7__1 : rule__Export__Group_7__1__Impl ; - public final void rule__Export__Group_7__1() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3886:1: ( rule__Export__Group_7__1__Impl ) - // InternalExport.g:3887:2: rule__Export__Group_7__1__Impl - { - pushFollow(FOLLOW_2); - rule__Export__Group_7__1__Impl(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -13495,73 +13199,102 @@ public final void rule__Export__Group_7__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_7__1" + // $ANTLR end "rule__Type__Alternatives" - // $ANTLR start "rule__Export__Group_7__1__Impl" - // InternalExport.g:3893:1: rule__Export__Group_7__1__Impl : ( ';' ) ; - public final void rule__Export__Group_7__1__Impl() throws RecognitionException { + // $ANTLR start "rule__CollectionType__ClAlternatives_0_0" + // InternalExport.g:3726:1: rule__CollectionType__ClAlternatives_0_0 : ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ); + public final void rule__CollectionType__ClAlternatives_0_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3897:1: ( ( ';' ) ) - // InternalExport.g:3898:1: ( ';' ) - { - // InternalExport.g:3898:1: ( ';' ) - // InternalExport.g:3899:2: ';' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getSemicolonKeyword_7_1()); - } - match(input,44,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getSemicolonKeyword_7_1()); - } + // InternalExport.g:3730:1: ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) + int alt20=3; + switch ( input.LA(1) ) { + case 38: + { + alt20=1; + } + break; + case 39: + { + alt20=2; + } + break; + case 40: + { + alt20=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 20, 0, input); + throw nvae; } + switch (alt20) { + case 1 : + // InternalExport.g:3731:2: ( 'Collection' ) + { + // InternalExport.g:3731:2: ( 'Collection' ) + // InternalExport.g:3732:3: 'Collection' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); + } + match(input,38,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalExport.g:3737:2: ( 'List' ) + { + // InternalExport.g:3737:2: ( 'List' ) + // InternalExport.g:3738:3: 'List' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); + } + match(input,39,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_7__1__Impl" + } - // $ANTLR start "rule__Export__Group_8_0__0" - // InternalExport.g:3909:1: rule__Export__Group_8_0__0 : rule__Export__Group_8_0__0__Impl rule__Export__Group_8_0__1 ; - public final void rule__Export__Group_8_0__0() throws RecognitionException { + } + break; + case 3 : + // InternalExport.g:3743:2: ( 'Set' ) + { + // InternalExport.g:3743:2: ( 'Set' ) + // InternalExport.g:3744:3: 'Set' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); + } + match(input,40,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3913:1: ( rule__Export__Group_8_0__0__Impl rule__Export__Group_8_0__1 ) - // InternalExport.g:3914:2: rule__Export__Group_8_0__0__Impl rule__Export__Group_8_0__1 - { - pushFollow(FOLLOW_10); - rule__Export__Group_8_0__0__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_8_0__1(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -13574,124 +13307,214 @@ public final void rule__Export__Group_8_0__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_8_0__0" + // $ANTLR end "rule__CollectionType__ClAlternatives_0_0" - // $ANTLR start "rule__Export__Group_8_0__0__Impl" - // InternalExport.g:3921:1: rule__Export__Group_8_0__0__Impl : ( 'field' ) ; - public final void rule__Export__Group_8_0__0__Impl() throws RecognitionException { + // $ANTLR start "rule__XAssignment__Alternatives" + // InternalExport.g:3753:1: rule__XAssignment__Alternatives : ( ( ( rule__XAssignment__Group_0__0 ) ) | ( ( rule__XAssignment__Group_1__0 ) ) ); + public final void rule__XAssignment__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3925:1: ( ( 'field' ) ) - // InternalExport.g:3926:1: ( 'field' ) - { - // InternalExport.g:3926:1: ( 'field' ) - // InternalExport.g:3927:2: 'field' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getFieldKeyword_8_0_0()); - } - match(input,55,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getFieldKeyword_8_0_0()); - } - - } + // InternalExport.g:3757:1: ( ( ( rule__XAssignment__Group_0__0 ) ) | ( ( rule__XAssignment__Group_1__0 ) ) ) + int alt21=2; + switch ( input.LA(1) ) { + case RULE_ID: + { + int LA21_1 = input.LA(2); + if ( (LA21_1==14) ) { + alt21=1; + } + else if ( (LA21_1==EOF||(LA21_1>=RULE_ID && LA21_1<=RULE_STRING)||(LA21_1>=15 && LA21_1<=19)||(LA21_1>=21 && LA21_1<=27)||(LA21_1>=36 && LA21_1<=37)||(LA21_1>=41 && LA21_1<=64)||LA21_1==66||(LA21_1>=68 && LA21_1<=74)||(LA21_1>=77 && LA21_1<=78)||LA21_1==83||LA21_1==85||LA21_1==87||(LA21_1>=89 && LA21_1<=92)||(LA21_1>=95 && LA21_1<=107)||(LA21_1>=116 && LA21_1<=117)) ) { + alt21=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 21, 1, input); - } + throw nvae; + } + } + break; + case 60: + { + int LA21_2 = input.LA(2); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( (LA21_2==EOF||(LA21_2>=RULE_ID && LA21_2<=RULE_STRING)||(LA21_2>=15 && LA21_2<=19)||(LA21_2>=21 && LA21_2<=27)||(LA21_2>=36 && LA21_2<=37)||(LA21_2>=41 && LA21_2<=64)||LA21_2==66||(LA21_2>=68 && LA21_2<=74)||(LA21_2>=77 && LA21_2<=78)||LA21_2==83||LA21_2==85||LA21_2==87||(LA21_2>=89 && LA21_2<=92)||(LA21_2>=95 && LA21_2<=107)||(LA21_2>=116 && LA21_2<=117)) ) { + alt21=2; + } + else if ( (LA21_2==14) ) { + alt21=1; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 21, 2, input); - restoreStackSize(stackSize); + throw nvae; + } + } + break; + case 61: + { + int LA21_3 = input.LA(2); - } - return ; - } - // $ANTLR end "rule__Export__Group_8_0__0__Impl" + if ( (LA21_3==14) ) { + alt21=1; + } + else if ( (LA21_3==EOF||(LA21_3>=RULE_ID && LA21_3<=RULE_STRING)||(LA21_3>=15 && LA21_3<=19)||(LA21_3>=21 && LA21_3<=27)||(LA21_3>=36 && LA21_3<=37)||(LA21_3>=41 && LA21_3<=64)||LA21_3==66||(LA21_3>=68 && LA21_3<=74)||(LA21_3>=77 && LA21_3<=78)||LA21_3==83||LA21_3==85||LA21_3==87||(LA21_3>=89 && LA21_3<=92)||(LA21_3>=95 && LA21_3<=107)||(LA21_3>=116 && LA21_3<=117)) ) { + alt21=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 21, 3, input); + throw nvae; + } + } + break; + case 62: + { + int LA21_4 = input.LA(2); - // $ANTLR start "rule__Export__Group_8_0__1" - // InternalExport.g:3936:1: rule__Export__Group_8_0__1 : rule__Export__Group_8_0__1__Impl rule__Export__Group_8_0__2 ; - public final void rule__Export__Group_8_0__1() throws RecognitionException { + if ( (LA21_4==14) ) { + alt21=1; + } + else if ( (LA21_4==EOF||(LA21_4>=RULE_ID && LA21_4<=RULE_STRING)||(LA21_4>=15 && LA21_4<=19)||(LA21_4>=21 && LA21_4<=27)||(LA21_4>=36 && LA21_4<=37)||(LA21_4>=41 && LA21_4<=64)||LA21_4==66||(LA21_4>=68 && LA21_4<=74)||(LA21_4>=77 && LA21_4<=78)||LA21_4==83||LA21_4==85||LA21_4==87||(LA21_4>=89 && LA21_4<=92)||(LA21_4>=95 && LA21_4<=107)||(LA21_4>=116 && LA21_4<=117)) ) { + alt21=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 21, 4, input); - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3940:1: ( rule__Export__Group_8_0__1__Impl rule__Export__Group_8_0__2 ) - // InternalExport.g:3941:2: rule__Export__Group_8_0__1__Impl rule__Export__Group_8_0__2 - { - pushFollow(FOLLOW_36); - rule__Export__Group_8_0__1__Impl(); + throw nvae; + } + } + break; + case 63: + { + int LA21_5 = input.LA(2); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_8_0__2(); + if ( (LA21_5==14) ) { + alt21=1; + } + else if ( (LA21_5==EOF||(LA21_5>=RULE_ID && LA21_5<=RULE_STRING)||(LA21_5>=15 && LA21_5<=19)||(LA21_5>=21 && LA21_5<=27)||(LA21_5>=36 && LA21_5<=37)||(LA21_5>=41 && LA21_5<=64)||LA21_5==66||(LA21_5>=68 && LA21_5<=74)||(LA21_5>=77 && LA21_5<=78)||LA21_5==83||LA21_5==85||LA21_5==87||(LA21_5>=89 && LA21_5<=92)||(LA21_5>=95 && LA21_5<=107)||(LA21_5>=116 && LA21_5<=117)) ) { + alt21=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 21, 5, input); - state._fsp--; - if (state.failed) return ; + throw nvae; + } + } + break; + case RULE_HEX: + case RULE_INT: + case RULE_DECIMAL: + case RULE_STRING: + case 22: + case 23: + case 24: + case 27: + case 36: + case 37: + case 64: + case 66: + case 68: + case 72: + case 77: + case 87: + case 90: + case 95: + case 97: + case 98: + case 99: + case 100: + case 101: + case 102: + case 103: + case 104: + case 106: + { + alt21=2; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 21, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + switch (alt21) { + case 1 : + // InternalExport.g:3758:2: ( ( rule__XAssignment__Group_0__0 ) ) + { + // InternalExport.g:3758:2: ( ( rule__XAssignment__Group_0__0 ) ) + // InternalExport.g:3759:3: ( rule__XAssignment__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getGroup_0()); + } + // InternalExport.g:3760:3: ( rule__XAssignment__Group_0__0 ) + // InternalExport.g:3760:4: rule__XAssignment__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_0__0(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; - } - return ; - } - // $ANTLR end "rule__Export__Group_8_0__1" + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getGroup_0()); + } - // $ANTLR start "rule__Export__Group_8_0__1__Impl" - // InternalExport.g:3948:1: rule__Export__Group_8_0__1__Impl : ( ( rule__Export__AttributesAssignment_8_0_1 ) ) ; - public final void rule__Export__Group_8_0__1__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3952:1: ( ( ( rule__Export__AttributesAssignment_8_0_1 ) ) ) - // InternalExport.g:3953:1: ( ( rule__Export__AttributesAssignment_8_0_1 ) ) - { - // InternalExport.g:3953:1: ( ( rule__Export__AttributesAssignment_8_0_1 ) ) - // InternalExport.g:3954:2: ( rule__Export__AttributesAssignment_8_0_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getAttributesAssignment_8_0_1()); - } - // InternalExport.g:3955:2: ( rule__Export__AttributesAssignment_8_0_1 ) - // InternalExport.g:3955:3: rule__Export__AttributesAssignment_8_0_1 - { - pushFollow(FOLLOW_2); - rule__Export__AttributesAssignment_8_0_1(); - state._fsp--; - if (state.failed) return ; + } + break; + case 2 : + // InternalExport.g:3764:2: ( ( rule__XAssignment__Group_1__0 ) ) + { + // InternalExport.g:3764:2: ( ( rule__XAssignment__Group_1__0 ) ) + // InternalExport.g:3765:3: ( rule__XAssignment__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getGroup_1()); + } + // InternalExport.g:3766:3: ( rule__XAssignment__Group_1__0 ) + // InternalExport.g:3766:4: rule__XAssignment__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1__0(); - } + state._fsp--; + if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getAttributesAssignment_8_0_1()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getGroup_1()); + } + + } - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -13704,134 +13527,218 @@ public final void rule__Export__Group_8_0__1__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Export__Group_8_0__1__Impl" + // $ANTLR end "rule__XAssignment__Alternatives" - // $ANTLR start "rule__Export__Group_8_0__2" - // InternalExport.g:3963:1: rule__Export__Group_8_0__2 : rule__Export__Group_8_0__2__Impl rule__Export__Group_8_0__3 ; - public final void rule__Export__Group_8_0__2() throws RecognitionException { + // $ANTLR start "rule__OpMultiAssign__Alternatives" + // InternalExport.g:3774:1: rule__OpMultiAssign__Alternatives : ( ( '+=' ) | ( '-=' ) | ( '*=' ) | ( '/=' ) | ( '%=' ) | ( ( rule__OpMultiAssign__Group_5__0 ) ) | ( ( rule__OpMultiAssign__Group_6__0 ) ) ); + public final void rule__OpMultiAssign__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:3967:1: ( rule__Export__Group_8_0__2__Impl rule__Export__Group_8_0__3 ) - // InternalExport.g:3968:2: rule__Export__Group_8_0__2__Impl rule__Export__Group_8_0__3 - { - pushFollow(FOLLOW_36); - rule__Export__Group_8_0__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_8_0__3(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:3778:1: ( ( '+=' ) | ( '-=' ) | ( '*=' ) | ( '/=' ) | ( '%=' ) | ( ( rule__OpMultiAssign__Group_5__0 ) ) | ( ( rule__OpMultiAssign__Group_6__0 ) ) ) + int alt22=7; + switch ( input.LA(1) ) { + case 41: + { + alt22=1; + } + break; + case 42: + { + alt22=2; + } + break; + case 43: + { + alt22=3; + } + break; + case 44: + { + alt22=4; + } + break; + case 45: + { + alt22=5; + } + break; + case 22: + { + alt22=6; + } + break; + case 21: + { + alt22=7; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 22, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + switch (alt22) { + case 1 : + // InternalExport.g:3779:2: ( '+=' ) + { + // InternalExport.g:3779:2: ( '+=' ) + // InternalExport.g:3780:3: '+=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); + } + match(input,41,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_8_0__2" + } + break; + case 2 : + // InternalExport.g:3785:2: ( '-=' ) + { + // InternalExport.g:3785:2: ( '-=' ) + // InternalExport.g:3786:3: '-=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); + } + match(input,42,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); + } - // $ANTLR start "rule__Export__Group_8_0__2__Impl" - // InternalExport.g:3975:1: rule__Export__Group_8_0__2__Impl : ( ( rule__Export__Group_8_0_2__0 )* ) ; - public final void rule__Export__Group_8_0__2__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3979:1: ( ( ( rule__Export__Group_8_0_2__0 )* ) ) - // InternalExport.g:3980:1: ( ( rule__Export__Group_8_0_2__0 )* ) - { - // InternalExport.g:3980:1: ( ( rule__Export__Group_8_0_2__0 )* ) - // InternalExport.g:3981:2: ( rule__Export__Group_8_0_2__0 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getGroup_8_0_2()); - } - // InternalExport.g:3982:2: ( rule__Export__Group_8_0_2__0 )* - loop44: - do { - int alt44=2; - int LA44_0 = input.LA(1); - if ( (LA44_0==48) ) { - alt44=1; - } + } + break; + case 3 : + // InternalExport.g:3791:2: ( '*=' ) + { + // InternalExport.g:3791:2: ( '*=' ) + // InternalExport.g:3792:3: '*=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); + } + match(input,43,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); + } + } - switch (alt44) { - case 1 : - // InternalExport.g:3982:3: rule__Export__Group_8_0_2__0 - { - pushFollow(FOLLOW_22); - rule__Export__Group_8_0_2__0(); - state._fsp--; - if (state.failed) return ; + } + break; + case 4 : + // InternalExport.g:3797:2: ( '/=' ) + { + // InternalExport.g:3797:2: ( '/=' ) + // InternalExport.g:3798:3: '/=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); + } + match(input,44,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); + } - } - break; + } - default : - break loop44; - } - } while (true); - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getGroup_8_0_2()); - } + } + break; + case 5 : + // InternalExport.g:3803:2: ( '%=' ) + { + // InternalExport.g:3803:2: ( '%=' ) + // InternalExport.g:3804:3: '%=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); + } + match(input,45,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); + } - } + } - } + } + break; + case 6 : + // InternalExport.g:3809:2: ( ( rule__OpMultiAssign__Group_5__0 ) ) + { + // InternalExport.g:3809:2: ( ( rule__OpMultiAssign__Group_5__0 ) ) + // InternalExport.g:3810:3: ( rule__OpMultiAssign__Group_5__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getGroup_5()); + } + // InternalExport.g:3811:3: ( rule__OpMultiAssign__Group_5__0 ) + // InternalExport.g:3811:4: rule__OpMultiAssign__Group_5__0 + { + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_5__0(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_8_0__2__Impl" + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getGroup_5()); + } + } - // $ANTLR start "rule__Export__Group_8_0__3" - // InternalExport.g:3990:1: rule__Export__Group_8_0__3 : rule__Export__Group_8_0__3__Impl ; - public final void rule__Export__Group_8_0__3() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalExport.g:3994:1: ( rule__Export__Group_8_0__3__Impl ) - // InternalExport.g:3995:2: rule__Export__Group_8_0__3__Impl - { - pushFollow(FOLLOW_2); - rule__Export__Group_8_0__3__Impl(); + } + break; + case 7 : + // InternalExport.g:3815:2: ( ( rule__OpMultiAssign__Group_6__0 ) ) + { + // InternalExport.g:3815:2: ( ( rule__OpMultiAssign__Group_6__0 ) ) + // InternalExport.g:3816:3: ( rule__OpMultiAssign__Group_6__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getGroup_6()); + } + // InternalExport.g:3817:3: ( rule__OpMultiAssign__Group_6__0 ) + // InternalExport.g:3817:4: rule__OpMultiAssign__Group_6__0 + { + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_6__0(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; - } + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getGroup_6()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -13844,73 +13751,126 @@ public final void rule__Export__Group_8_0__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_8_0__3" + // $ANTLR end "rule__OpMultiAssign__Alternatives" - // $ANTLR start "rule__Export__Group_8_0__3__Impl" - // InternalExport.g:4001:1: rule__Export__Group_8_0__3__Impl : ( ';' ) ; - public final void rule__Export__Group_8_0__3__Impl() throws RecognitionException { + // $ANTLR start "rule__OpEquality__Alternatives" + // InternalExport.g:3825:1: rule__OpEquality__Alternatives : ( ( '==' ) | ( '!=' ) | ( '===' ) | ( '!==' ) ); + public final void rule__OpEquality__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4005:1: ( ( ';' ) ) - // InternalExport.g:4006:1: ( ';' ) - { - // InternalExport.g:4006:1: ( ';' ) - // InternalExport.g:4007:2: ';' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getSemicolonKeyword_8_0_3()); - } - match(input,44,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getSemicolonKeyword_8_0_3()); - } + // InternalExport.g:3829:1: ( ( '==' ) | ( '!=' ) | ( '===' ) | ( '!==' ) ) + int alt23=4; + switch ( input.LA(1) ) { + case 17: + { + alt23=1; + } + break; + case 18: + { + alt23=2; + } + break; + case 46: + { + alt23=3; + } + break; + case 47: + { + alt23=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 23, 0, input); + throw nvae; } + switch (alt23) { + case 1 : + // InternalExport.g:3830:2: ( '==' ) + { + // InternalExport.g:3830:2: ( '==' ) + // InternalExport.g:3831:3: '==' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); + } + match(input,17,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalExport.g:3836:2: ( '!=' ) + { + // InternalExport.g:3836:2: ( '!=' ) + // InternalExport.g:3837:3: '!=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); + } + match(input,18,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_8_0__3__Impl" + } - // $ANTLR start "rule__Export__Group_8_0_2__0" - // InternalExport.g:4017:1: rule__Export__Group_8_0_2__0 : rule__Export__Group_8_0_2__0__Impl rule__Export__Group_8_0_2__1 ; - public final void rule__Export__Group_8_0_2__0() throws RecognitionException { + } + break; + case 3 : + // InternalExport.g:3842:2: ( '===' ) + { + // InternalExport.g:3842:2: ( '===' ) + // InternalExport.g:3843:3: '===' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); + } + match(input,46,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4021:1: ( rule__Export__Group_8_0_2__0__Impl rule__Export__Group_8_0_2__1 ) - // InternalExport.g:4022:2: rule__Export__Group_8_0_2__0__Impl rule__Export__Group_8_0_2__1 - { - pushFollow(FOLLOW_10); - rule__Export__Group_8_0_2__0__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_8_0_2__1(); - state._fsp--; - if (state.failed) return ; + } + break; + case 4 : + // InternalExport.g:3848:2: ( '!==' ) + { + // InternalExport.g:3848:2: ( '!==' ) + // InternalExport.g:3849:3: '!==' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); + } + match(input,47,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); + } - } + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -13923,68 +13883,94 @@ public final void rule__Export__Group_8_0_2__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_8_0_2__0" + // $ANTLR end "rule__OpEquality__Alternatives" - // $ANTLR start "rule__Export__Group_8_0_2__0__Impl" - // InternalExport.g:4029:1: rule__Export__Group_8_0_2__0__Impl : ( ',' ) ; - public final void rule__Export__Group_8_0_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__XRelationalExpression__Alternatives_1" + // InternalExport.g:3858:1: rule__XRelationalExpression__Alternatives_1 : ( ( ( rule__XRelationalExpression__Group_1_0__0 ) ) | ( ( rule__XRelationalExpression__Group_1_1__0 ) ) ); + public final void rule__XRelationalExpression__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4033:1: ( ( ',' ) ) - // InternalExport.g:4034:1: ( ',' ) - { - // InternalExport.g:4034:1: ( ',' ) - // InternalExport.g:4035:2: ',' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getCommaKeyword_8_0_2_0()); + // InternalExport.g:3862:1: ( ( ( rule__XRelationalExpression__Group_1_0__0 ) ) | ( ( rule__XRelationalExpression__Group_1_1__0 ) ) ) + int alt24=2; + int LA24_0 = input.LA(1); + + if ( (LA24_0==96) ) { + alt24=1; } - match(input,48,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getCommaKeyword_8_0_2_0()); + else if ( (LA24_0==19||(LA24_0>=21 && LA24_0<=22)) ) { + alt24=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 24, 0, input); + throw nvae; } + switch (alt24) { + case 1 : + // InternalExport.g:3863:2: ( ( rule__XRelationalExpression__Group_1_0__0 ) ) + { + // InternalExport.g:3863:2: ( ( rule__XRelationalExpression__Group_1_0__0 ) ) + // InternalExport.g:3864:3: ( rule__XRelationalExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); + } + // InternalExport.g:3865:3: ( rule__XRelationalExpression__Group_1_0__0 ) + // InternalExport.g:3865:4: rule__XRelationalExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0__0(); + state._fsp--; + if (state.failed) return ; - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_8_0_2__0__Impl" + } + break; + case 2 : + // InternalExport.g:3869:2: ( ( rule__XRelationalExpression__Group_1_1__0 ) ) + { + // InternalExport.g:3869:2: ( ( rule__XRelationalExpression__Group_1_1__0 ) ) + // InternalExport.g:3870:3: ( rule__XRelationalExpression__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); + } + // InternalExport.g:3871:3: ( rule__XRelationalExpression__Group_1_1__0 ) + // InternalExport.g:3871:4: rule__XRelationalExpression__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1__0(); - // $ANTLR start "rule__Export__Group_8_0_2__1" - // InternalExport.g:4044:1: rule__Export__Group_8_0_2__1 : rule__Export__Group_8_0_2__1__Impl ; - public final void rule__Export__Group_8_0_2__1() throws RecognitionException { + state._fsp--; + if (state.failed) return ; - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4048:1: ( rule__Export__Group_8_0_2__1__Impl ) - // InternalExport.g:4049:2: rule__Export__Group_8_0_2__1__Impl - { - pushFollow(FOLLOW_2); - rule__Export__Group_8_0_2__1__Impl(); + } - state._fsp--; - if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); + } - } + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -13997,124 +13983,145 @@ public final void rule__Export__Group_8_0_2__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_8_0_2__1" + // $ANTLR end "rule__XRelationalExpression__Alternatives_1" - // $ANTLR start "rule__Export__Group_8_0_2__1__Impl" - // InternalExport.g:4055:1: rule__Export__Group_8_0_2__1__Impl : ( ( rule__Export__AttributesAssignment_8_0_2_1 ) ) ; - public final void rule__Export__Group_8_0_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__OpCompare__Alternatives" + // InternalExport.g:3879:1: rule__OpCompare__Alternatives : ( ( '>=' ) | ( ( rule__OpCompare__Group_1__0 ) ) | ( '>' ) | ( '<' ) ); + public final void rule__OpCompare__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4059:1: ( ( ( rule__Export__AttributesAssignment_8_0_2_1 ) ) ) - // InternalExport.g:4060:1: ( ( rule__Export__AttributesAssignment_8_0_2_1 ) ) - { - // InternalExport.g:4060:1: ( ( rule__Export__AttributesAssignment_8_0_2_1 ) ) - // InternalExport.g:4061:2: ( rule__Export__AttributesAssignment_8_0_2_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getAttributesAssignment_8_0_2_1()); - } - // InternalExport.g:4062:2: ( rule__Export__AttributesAssignment_8_0_2_1 ) - // InternalExport.g:4062:3: rule__Export__AttributesAssignment_8_0_2_1 - { - pushFollow(FOLLOW_2); - rule__Export__AttributesAssignment_8_0_2_1(); - - state._fsp--; - if (state.failed) return ; - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getAttributesAssignment_8_0_2_1()); - } + // InternalExport.g:3883:1: ( ( '>=' ) | ( ( rule__OpCompare__Group_1__0 ) ) | ( '>' ) | ( '<' ) ) + int alt25=4; + switch ( input.LA(1) ) { + case 19: + { + alt25=1; + } + break; + case 22: + { + int LA25_2 = input.LA(2); - } + if ( (LA25_2==14) ) { + alt25=2; + } + else if ( (LA25_2==EOF||(LA25_2>=RULE_ID && LA25_2<=RULE_STRING)||(LA25_2>=22 && LA25_2<=24)||LA25_2==27||(LA25_2>=36 && LA25_2<=37)||(LA25_2>=60 && LA25_2<=64)||LA25_2==66||LA25_2==68||LA25_2==72||LA25_2==77||LA25_2==87||LA25_2==90||LA25_2==95||(LA25_2>=97 && LA25_2<=104)||LA25_2==106) ) { + alt25=4; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 25, 2, input); + throw nvae; + } + } + break; + case 21: + { + alt25=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 25, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); + switch (alt25) { + case 1 : + // InternalExport.g:3884:2: ( '>=' ) + { + // InternalExport.g:3884:2: ( '>=' ) + // InternalExport.g:3885:3: '>=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); + } + match(input,19,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_8_0_2__1__Impl" + } - // $ANTLR start "rule__Export__Group_8_1__0" - // InternalExport.g:4071:1: rule__Export__Group_8_1__0 : rule__Export__Group_8_1__0__Impl rule__Export__Group_8_1__1 ; - public final void rule__Export__Group_8_1__0() throws RecognitionException { + } + break; + case 2 : + // InternalExport.g:3890:2: ( ( rule__OpCompare__Group_1__0 ) ) + { + // InternalExport.g:3890:2: ( ( rule__OpCompare__Group_1__0 ) ) + // InternalExport.g:3891:3: ( rule__OpCompare__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getGroup_1()); + } + // InternalExport.g:3892:3: ( rule__OpCompare__Group_1__0 ) + // InternalExport.g:3892:4: rule__OpCompare__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__OpCompare__Group_1__0(); - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4075:1: ( rule__Export__Group_8_1__0__Impl rule__Export__Group_8_1__1 ) - // InternalExport.g:4076:2: rule__Export__Group_8_1__0__Impl rule__Export__Group_8_1__1 - { - pushFollow(FOLLOW_10); - rule__Export__Group_8_1__0__Impl(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_8_1__1(); + } - state._fsp--; - if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getGroup_1()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 3 : + // InternalExport.g:3896:2: ( '>' ) + { + // InternalExport.g:3896:2: ( '>' ) + // InternalExport.g:3897:3: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_8_1__0" + } - // $ANTLR start "rule__Export__Group_8_1__0__Impl" - // InternalExport.g:4083:1: rule__Export__Group_8_1__0__Impl : ( 'data' ) ; - public final void rule__Export__Group_8_1__0__Impl() throws RecognitionException { + } + break; + case 4 : + // InternalExport.g:3902:2: ( '<' ) + { + // InternalExport.g:3902:2: ( '<' ) + // InternalExport.g:3903:3: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4087:1: ( ( 'data' ) ) - // InternalExport.g:4088:1: ( 'data' ) - { - // InternalExport.g:4088:1: ( 'data' ) - // InternalExport.g:4089:2: 'data' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getDataKeyword_8_1_0()); - } - match(input,56,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getDataKeyword_8_1_0()); - } + } - } + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -14127,190 +14134,223 @@ public final void rule__Export__Group_8_1__0__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Export__Group_8_1__0__Impl" + // $ANTLR end "rule__OpCompare__Alternatives" - // $ANTLR start "rule__Export__Group_8_1__1" - // InternalExport.g:4098:1: rule__Export__Group_8_1__1 : rule__Export__Group_8_1__1__Impl rule__Export__Group_8_1__2 ; - public final void rule__Export__Group_8_1__1() throws RecognitionException { + // $ANTLR start "rule__OpOther__Alternatives" + // InternalExport.g:3912:1: rule__OpOther__Alternatives : ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) ); + public final void rule__OpOther__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4102:1: ( rule__Export__Group_8_1__1__Impl rule__Export__Group_8_1__2 ) - // InternalExport.g:4103:2: rule__Export__Group_8_1__1__Impl rule__Export__Group_8_1__2 - { - pushFollow(FOLLOW_36); - rule__Export__Group_8_1__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_8_1__2(); - - state._fsp--; - if (state.failed) return ; - - } + // InternalExport.g:3916:1: ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) ) + int alt26=9; + alt26 = dfa26.predict(input); + switch (alt26) { + case 1 : + // InternalExport.g:3917:2: ( '->' ) + { + // InternalExport.g:3917:2: ( '->' ) + // InternalExport.g:3918:3: '->' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); + } + match(input,48,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__Export__Group_8_1__1" + } + break; + case 2 : + // InternalExport.g:3923:2: ( '..<' ) + { + // InternalExport.g:3923:2: ( '..<' ) + // InternalExport.g:3924:3: '..<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); + } + match(input,49,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); + } + } - // $ANTLR start "rule__Export__Group_8_1__1__Impl" - // InternalExport.g:4110:1: rule__Export__Group_8_1__1__Impl : ( ( rule__Export__UserDataAssignment_8_1_1 ) ) ; - public final void rule__Export__Group_8_1__1__Impl() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4114:1: ( ( ( rule__Export__UserDataAssignment_8_1_1 ) ) ) - // InternalExport.g:4115:1: ( ( rule__Export__UserDataAssignment_8_1_1 ) ) - { - // InternalExport.g:4115:1: ( ( rule__Export__UserDataAssignment_8_1_1 ) ) - // InternalExport.g:4116:2: ( rule__Export__UserDataAssignment_8_1_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getUserDataAssignment_8_1_1()); - } - // InternalExport.g:4117:2: ( rule__Export__UserDataAssignment_8_1_1 ) - // InternalExport.g:4117:3: rule__Export__UserDataAssignment_8_1_1 - { - pushFollow(FOLLOW_2); - rule__Export__UserDataAssignment_8_1_1(); + } + break; + case 3 : + // InternalExport.g:3929:2: ( ( rule__OpOther__Group_2__0 ) ) + { + // InternalExport.g:3929:2: ( ( rule__OpOther__Group_2__0 ) ) + // InternalExport.g:3930:3: ( rule__OpOther__Group_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_2()); + } + // InternalExport.g:3931:3: ( rule__OpOther__Group_2__0 ) + // InternalExport.g:3931:4: rule__OpOther__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_2__0(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getUserDataAssignment_8_1_1()); - } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_2()); + } - } + } - } + } + break; + case 4 : + // InternalExport.g:3935:2: ( '..' ) + { + // InternalExport.g:3935:2: ( '..' ) + // InternalExport.g:3936:3: '..' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); + } + match(input,50,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__Export__Group_8_1__1__Impl" + } + break; + case 5 : + // InternalExport.g:3941:2: ( '=>' ) + { + // InternalExport.g:3941:2: ( '=>' ) + // InternalExport.g:3942:3: '=>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); + } + match(input,51,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); + } + } - // $ANTLR start "rule__Export__Group_8_1__2" - // InternalExport.g:4125:1: rule__Export__Group_8_1__2 : rule__Export__Group_8_1__2__Impl rule__Export__Group_8_1__3 ; - public final void rule__Export__Group_8_1__2() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4129:1: ( rule__Export__Group_8_1__2__Impl rule__Export__Group_8_1__3 ) - // InternalExport.g:4130:2: rule__Export__Group_8_1__2__Impl rule__Export__Group_8_1__3 - { - pushFollow(FOLLOW_36); - rule__Export__Group_8_1__2__Impl(); + } + break; + case 6 : + // InternalExport.g:3947:2: ( ( rule__OpOther__Group_5__0 ) ) + { + // InternalExport.g:3947:2: ( ( rule__OpOther__Group_5__0 ) ) + // InternalExport.g:3948:3: ( rule__OpOther__Group_5__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_5()); + } + // InternalExport.g:3949:3: ( rule__OpOther__Group_5__0 ) + // InternalExport.g:3949:4: rule__OpOther__Group_5__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_5__0(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_8_1__3(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_5()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__Export__Group_8_1__2" + } + break; + case 7 : + // InternalExport.g:3953:2: ( ( rule__OpOther__Group_6__0 ) ) + { + // InternalExport.g:3953:2: ( ( rule__OpOther__Group_6__0 ) ) + // InternalExport.g:3954:3: ( rule__OpOther__Group_6__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_6()); + } + // InternalExport.g:3955:3: ( rule__OpOther__Group_6__0 ) + // InternalExport.g:3955:4: rule__OpOther__Group_6__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6__0(); + state._fsp--; + if (state.failed) return ; - // $ANTLR start "rule__Export__Group_8_1__2__Impl" - // InternalExport.g:4137:1: rule__Export__Group_8_1__2__Impl : ( ( rule__Export__Group_8_1_2__0 )* ) ; - public final void rule__Export__Group_8_1__2__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4141:1: ( ( ( rule__Export__Group_8_1_2__0 )* ) ) - // InternalExport.g:4142:1: ( ( rule__Export__Group_8_1_2__0 )* ) - { - // InternalExport.g:4142:1: ( ( rule__Export__Group_8_1_2__0 )* ) - // InternalExport.g:4143:2: ( rule__Export__Group_8_1_2__0 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getGroup_8_1_2()); - } - // InternalExport.g:4144:2: ( rule__Export__Group_8_1_2__0 )* - loop45: - do { - int alt45=2; - int LA45_0 = input.LA(1); + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_6()); + } - if ( (LA45_0==48) ) { - alt45=1; - } + } - switch (alt45) { - case 1 : - // InternalExport.g:4144:3: rule__Export__Group_8_1_2__0 - { - pushFollow(FOLLOW_22); - rule__Export__Group_8_1_2__0(); + } + break; + case 8 : + // InternalExport.g:3959:2: ( '<>' ) + { + // InternalExport.g:3959:2: ( '<>' ) + // InternalExport.g:3960:3: '<>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); + } + match(input,52,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); + } - state._fsp--; - if (state.failed) return ; + } - } - break; - default : - break loop45; - } - } while (true); + } + break; + case 9 : + // InternalExport.g:3965:2: ( '?:' ) + { + // InternalExport.g:3965:2: ( '?:' ) + // InternalExport.g:3966:3: '?:' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); + } + match(input,53,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getGroup_8_1_2()); - } + } - } + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -14323,27 +14363,95 @@ public final void rule__Export__Group_8_1__2__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Export__Group_8_1__2__Impl" + // $ANTLR end "rule__OpOther__Alternatives" - // $ANTLR start "rule__Export__Group_8_1__3" - // InternalExport.g:4152:1: rule__Export__Group_8_1__3 : rule__Export__Group_8_1__3__Impl ; - public final void rule__Export__Group_8_1__3() throws RecognitionException { + // $ANTLR start "rule__OpOther__Alternatives_5_1" + // InternalExport.g:3975:1: rule__OpOther__Alternatives_5_1 : ( ( ( rule__OpOther__Group_5_1_0__0 ) ) | ( '>' ) ); + public final void rule__OpOther__Alternatives_5_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4156:1: ( rule__Export__Group_8_1__3__Impl ) - // InternalExport.g:4157:2: rule__Export__Group_8_1__3__Impl - { - pushFollow(FOLLOW_2); - rule__Export__Group_8_1__3__Impl(); + // InternalExport.g:3979:1: ( ( ( rule__OpOther__Group_5_1_0__0 ) ) | ( '>' ) ) + int alt27=2; + int LA27_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA27_0==21) ) { + int LA27_1 = input.LA(2); + + if ( (LA27_1==EOF||(LA27_1>=RULE_ID && LA27_1<=RULE_STRING)||(LA27_1>=22 && LA27_1<=24)||LA27_1==27||(LA27_1>=36 && LA27_1<=37)||(LA27_1>=60 && LA27_1<=64)||LA27_1==66||LA27_1==68||LA27_1==72||LA27_1==77||LA27_1==87||LA27_1==90||LA27_1==95||(LA27_1>=97 && LA27_1<=104)||LA27_1==106) ) { + alt27=2; + } + else if ( (LA27_1==21) ) { + alt27=1; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 27, 1, input); + + throw nvae; + } + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 27, 0, input); + throw nvae; } + switch (alt27) { + case 1 : + // InternalExport.g:3980:2: ( ( rule__OpOther__Group_5_1_0__0 ) ) + { + // InternalExport.g:3980:2: ( ( rule__OpOther__Group_5_1_0__0 ) ) + // InternalExport.g:3981:3: ( rule__OpOther__Group_5_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); + } + // InternalExport.g:3982:3: ( rule__OpOther__Group_5_1_0__0 ) + // InternalExport.g:3982:4: rule__OpOther__Group_5_1_0__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_5_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); + } + + } + + + } + break; + case 2 : + // InternalExport.g:3986:2: ( '>' ) + { + // InternalExport.g:3986:2: ( '>' ) + // InternalExport.g:3987:3: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -14356,73 +14464,117 @@ public final void rule__Export__Group_8_1__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_8_1__3" + // $ANTLR end "rule__OpOther__Alternatives_5_1" - // $ANTLR start "rule__Export__Group_8_1__3__Impl" - // InternalExport.g:4163:1: rule__Export__Group_8_1__3__Impl : ( ';' ) ; - public final void rule__Export__Group_8_1__3__Impl() throws RecognitionException { + // $ANTLR start "rule__OpOther__Alternatives_6_1" + // InternalExport.g:3996:1: rule__OpOther__Alternatives_6_1 : ( ( ( rule__OpOther__Group_6_1_0__0 ) ) | ( '<' ) | ( '=>' ) ); + public final void rule__OpOther__Alternatives_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4167:1: ( ( ';' ) ) - // InternalExport.g:4168:1: ( ';' ) - { - // InternalExport.g:4168:1: ( ';' ) - // InternalExport.g:4169:2: ';' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getSemicolonKeyword_8_1_3()); + // InternalExport.g:4000:1: ( ( ( rule__OpOther__Group_6_1_0__0 ) ) | ( '<' ) | ( '=>' ) ) + int alt28=3; + int LA28_0 = input.LA(1); + + if ( (LA28_0==22) ) { + int LA28_1 = input.LA(2); + + if ( (synpred75_InternalExport()) ) { + alt28=1; + } + else if ( (synpred76_InternalExport()) ) { + alt28=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 28, 1, input); + + throw nvae; + } } - match(input,44,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getSemicolonKeyword_8_1_3()); + else if ( (LA28_0==51) ) { + alt28=3; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 28, 0, input); + throw nvae; } + switch (alt28) { + case 1 : + // InternalExport.g:4001:2: ( ( rule__OpOther__Group_6_1_0__0 ) ) + { + // InternalExport.g:4001:2: ( ( rule__OpOther__Group_6_1_0__0 ) ) + // InternalExport.g:4002:3: ( rule__OpOther__Group_6_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); + } + // InternalExport.g:4003:3: ( rule__OpOther__Group_6_1_0__0 ) + // InternalExport.g:4003:4: rule__OpOther__Group_6_1_0__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6_1_0__0(); + state._fsp--; + if (state.failed) return ; - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_8_1__3__Impl" + } + break; + case 2 : + // InternalExport.g:4007:2: ( '<' ) + { + // InternalExport.g:4007:2: ( '<' ) + // InternalExport.g:4008:3: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); + } + + } - // $ANTLR start "rule__Export__Group_8_1_2__0" - // InternalExport.g:4179:1: rule__Export__Group_8_1_2__0 : rule__Export__Group_8_1_2__0__Impl rule__Export__Group_8_1_2__1 ; - public final void rule__Export__Group_8_1_2__0() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4183:1: ( rule__Export__Group_8_1_2__0__Impl rule__Export__Group_8_1_2__1 ) - // InternalExport.g:4184:2: rule__Export__Group_8_1_2__0__Impl rule__Export__Group_8_1_2__1 - { - pushFollow(FOLLOW_10); - rule__Export__Group_8_1_2__0__Impl(); + } + break; + case 3 : + // InternalExport.g:4013:2: ( '=>' ) + { + // InternalExport.g:4013:2: ( '=>' ) + // InternalExport.g:4014:3: '=>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); + } + match(input,51,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Export__Group_8_1_2__1(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -14435,35 +14587,74 @@ public final void rule__Export__Group_8_1_2__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__Group_8_1_2__0" + // $ANTLR end "rule__OpOther__Alternatives_6_1" - // $ANTLR start "rule__Export__Group_8_1_2__0__Impl" - // InternalExport.g:4191:1: rule__Export__Group_8_1_2__0__Impl : ( ',' ) ; - public final void rule__Export__Group_8_1_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__OpAdd__Alternatives" + // InternalExport.g:4023:1: rule__OpAdd__Alternatives : ( ( '+' ) | ( '-' ) ); + public final void rule__OpAdd__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4195:1: ( ( ',' ) ) - // InternalExport.g:4196:1: ( ',' ) - { - // InternalExport.g:4196:1: ( ',' ) - // InternalExport.g:4197:2: ',' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getCommaKeyword_8_1_2_0()); + // InternalExport.g:4027:1: ( ( '+' ) | ( '-' ) ) + int alt29=2; + int LA29_0 = input.LA(1); + + if ( (LA29_0==23) ) { + alt29=1; } - match(input,48,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getCommaKeyword_8_1_2_0()); + else if ( (LA29_0==24) ) { + alt29=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 29, 0, input); + throw nvae; } + switch (alt29) { + case 1 : + // InternalExport.g:4028:2: ( '+' ) + { + // InternalExport.g:4028:2: ( '+' ) + // InternalExport.g:4029:3: '+' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); + } + match(input,23,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); + } + } + + + } + break; + case 2 : + // InternalExport.g:4034:2: ( '-' ) + { + // InternalExport.g:4034:2: ( '-' ) + // InternalExport.g:4035:3: '-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); + } + match(input,24,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); + } + + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -14476,78 +14667,126 @@ public final void rule__Export__Group_8_1_2__0__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__Export__Group_8_1_2__0__Impl" + // $ANTLR end "rule__OpAdd__Alternatives" - // $ANTLR start "rule__Export__Group_8_1_2__1" - // InternalExport.g:4206:1: rule__Export__Group_8_1_2__1 : rule__Export__Group_8_1_2__1__Impl ; - public final void rule__Export__Group_8_1_2__1() throws RecognitionException { + // $ANTLR start "rule__OpMulti__Alternatives" + // InternalExport.g:4044:1: rule__OpMulti__Alternatives : ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) ); + public final void rule__OpMulti__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4210:1: ( rule__Export__Group_8_1_2__1__Impl ) - // InternalExport.g:4211:2: rule__Export__Group_8_1_2__1__Impl - { - pushFollow(FOLLOW_2); - rule__Export__Group_8_1_2__1__Impl(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:4048:1: ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) ) + int alt30=4; + switch ( input.LA(1) ) { + case 25: + { + alt30=1; + } + break; + case 54: + { + alt30=2; + } + break; + case 26: + { + alt30=3; + } + break; + case 55: + { + alt30=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 30, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + switch (alt30) { + case 1 : + // InternalExport.g:4049:2: ( '*' ) + { + // InternalExport.g:4049:2: ( '*' ) + // InternalExport.g:4050:3: '*' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); + } + match(input,25,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__Export__Group_8_1_2__1" + } + break; + case 2 : + // InternalExport.g:4055:2: ( '**' ) + { + // InternalExport.g:4055:2: ( '**' ) + // InternalExport.g:4056:3: '**' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); + } + match(input,54,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); + } - // $ANTLR start "rule__Export__Group_8_1_2__1__Impl" - // InternalExport.g:4217:1: rule__Export__Group_8_1_2__1__Impl : ( ( rule__Export__UserDataAssignment_8_1_2_1 ) ) ; - public final void rule__Export__Group_8_1_2__1__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4221:1: ( ( ( rule__Export__UserDataAssignment_8_1_2_1 ) ) ) - // InternalExport.g:4222:1: ( ( rule__Export__UserDataAssignment_8_1_2_1 ) ) - { - // InternalExport.g:4222:1: ( ( rule__Export__UserDataAssignment_8_1_2_1 ) ) - // InternalExport.g:4223:2: ( rule__Export__UserDataAssignment_8_1_2_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getUserDataAssignment_8_1_2_1()); - } - // InternalExport.g:4224:2: ( rule__Export__UserDataAssignment_8_1_2_1 ) - // InternalExport.g:4224:3: rule__Export__UserDataAssignment_8_1_2_1 - { - pushFollow(FOLLOW_2); - rule__Export__UserDataAssignment_8_1_2_1(); - state._fsp--; - if (state.failed) return ; + } + break; + case 3 : + // InternalExport.g:4061:2: ( '/' ) + { + // InternalExport.g:4061:2: ( '/' ) + // InternalExport.g:4062:3: '/' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); + } + match(input,26,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); + } - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getUserDataAssignment_8_1_2_1()); - } - } + } + break; + case 4 : + // InternalExport.g:4067:2: ( '%' ) + { + // InternalExport.g:4067:2: ( '%' ) + // InternalExport.g:4068:3: '%' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); + } + match(input,55,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); + } + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -14560,83 +14799,88 @@ public final void rule__Export__Group_8_1_2__1__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__Export__Group_8_1_2__1__Impl" + // $ANTLR end "rule__OpMulti__Alternatives" - // $ANTLR start "rule__UserData__Group__0" - // InternalExport.g:4233:1: rule__UserData__Group__0 : rule__UserData__Group__0__Impl rule__UserData__Group__1 ; - public final void rule__UserData__Group__0() throws RecognitionException { + // $ANTLR start "rule__XUnaryOperation__Alternatives" + // InternalExport.g:4077:1: rule__XUnaryOperation__Alternatives : ( ( ( rule__XUnaryOperation__Group_0__0 ) ) | ( ruleXCastedExpression ) ); + public final void rule__XUnaryOperation__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4237:1: ( rule__UserData__Group__0__Impl rule__UserData__Group__1 ) - // InternalExport.g:4238:2: rule__UserData__Group__0__Impl rule__UserData__Group__1 - { - pushFollow(FOLLOW_32); - rule__UserData__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__UserData__Group__1(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:4081:1: ( ( ( rule__XUnaryOperation__Group_0__0 ) ) | ( ruleXCastedExpression ) ) + int alt31=2; + int LA31_0 = input.LA(1); + if ( ((LA31_0>=23 && LA31_0<=24)||LA31_0==27) ) { + alt31=1; + } + else if ( ((LA31_0>=RULE_ID && LA31_0<=RULE_STRING)||LA31_0==22||(LA31_0>=36 && LA31_0<=37)||(LA31_0>=60 && LA31_0<=64)||LA31_0==66||LA31_0==68||LA31_0==72||LA31_0==77||LA31_0==87||LA31_0==90||LA31_0==95||(LA31_0>=97 && LA31_0<=104)||LA31_0==106) ) { + alt31=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 31, 0, input); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + throw nvae; + } + switch (alt31) { + case 1 : + // InternalExport.g:4082:2: ( ( rule__XUnaryOperation__Group_0__0 ) ) + { + // InternalExport.g:4082:2: ( ( rule__XUnaryOperation__Group_0__0 ) ) + // InternalExport.g:4083:3: ( rule__XUnaryOperation__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getGroup_0()); + } + // InternalExport.g:4084:3: ( rule__XUnaryOperation__Group_0__0 ) + // InternalExport.g:4084:4: rule__XUnaryOperation__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XUnaryOperation__Group_0__0(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; - } - return ; - } - // $ANTLR end "rule__UserData__Group__0" + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getGroup_0()); + } - // $ANTLR start "rule__UserData__Group__0__Impl" - // InternalExport.g:4245:1: rule__UserData__Group__0__Impl : ( ( rule__UserData__NameAssignment_0 ) ) ; - public final void rule__UserData__Group__0__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4249:1: ( ( ( rule__UserData__NameAssignment_0 ) ) ) - // InternalExport.g:4250:1: ( ( rule__UserData__NameAssignment_0 ) ) - { - // InternalExport.g:4250:1: ( ( rule__UserData__NameAssignment_0 ) ) - // InternalExport.g:4251:2: ( rule__UserData__NameAssignment_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUserDataAccess().getNameAssignment_0()); - } - // InternalExport.g:4252:2: ( rule__UserData__NameAssignment_0 ) - // InternalExport.g:4252:3: rule__UserData__NameAssignment_0 - { - pushFollow(FOLLOW_2); - rule__UserData__NameAssignment_0(); - state._fsp--; - if (state.failed) return ; + } + break; + case 2 : + // InternalExport.g:4088:2: ( ruleXCastedExpression ) + { + // InternalExport.g:4088:2: ( ruleXCastedExpression ) + // InternalExport.g:4089:3: ruleXCastedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXCastedExpression(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getUserDataAccess().getNameAssignment_0()); - } + } - } + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -14649,73 +14893,102 @@ public final void rule__UserData__Group__0__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__UserData__Group__0__Impl" + // $ANTLR end "rule__XUnaryOperation__Alternatives" - // $ANTLR start "rule__UserData__Group__1" - // InternalExport.g:4260:1: rule__UserData__Group__1 : rule__UserData__Group__1__Impl rule__UserData__Group__2 ; - public final void rule__UserData__Group__1() throws RecognitionException { + // $ANTLR start "rule__OpUnary__Alternatives" + // InternalExport.g:4098:1: rule__OpUnary__Alternatives : ( ( '!' ) | ( '-' ) | ( '+' ) ); + public final void rule__OpUnary__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4264:1: ( rule__UserData__Group__1__Impl rule__UserData__Group__2 ) - // InternalExport.g:4265:2: rule__UserData__Group__1__Impl rule__UserData__Group__2 - { - pushFollow(FOLLOW_18); - rule__UserData__Group__1__Impl(); + // InternalExport.g:4102:1: ( ( '!' ) | ( '-' ) | ( '+' ) ) + int alt32=3; + switch ( input.LA(1) ) { + case 27: + { + alt32=1; + } + break; + case 24: + { + alt32=2; + } + break; + case 23: + { + alt32=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 32, 0, input); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__UserData__Group__2(); + throw nvae; + } - state._fsp--; - if (state.failed) return ; + switch (alt32) { + case 1 : + // InternalExport.g:4103:2: ( '!' ) + { + // InternalExport.g:4103:2: ( '!' ) + // InternalExport.g:4104:3: '!' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); + } + match(input,27,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalExport.g:4109:2: ( '-' ) + { + // InternalExport.g:4109:2: ( '-' ) + // InternalExport.g:4110:3: '-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); + } + match(input,24,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); + } - } - return ; - } - // $ANTLR end "rule__UserData__Group__1" + } - // $ANTLR start "rule__UserData__Group__1__Impl" - // InternalExport.g:4272:1: rule__UserData__Group__1__Impl : ( '=' ) ; - public final void rule__UserData__Group__1__Impl() throws RecognitionException { + } + break; + case 3 : + // InternalExport.g:4115:2: ( '+' ) + { + // InternalExport.g:4115:2: ( '+' ) + // InternalExport.g:4116:3: '+' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); + } + match(input,23,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4276:1: ( ( '=' ) ) - // InternalExport.g:4277:1: ( '=' ) - { - // InternalExport.g:4277:1: ( '=' ) - // InternalExport.g:4278:2: '=' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUserDataAccess().getEqualsSignKeyword_1()); - } - match(input,47,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getUserDataAccess().getEqualsSignKeyword_1()); - } + } - } + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -14728,27 +15001,74 @@ public final void rule__UserData__Group__1__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__UserData__Group__1__Impl" + // $ANTLR end "rule__OpUnary__Alternatives" - // $ANTLR start "rule__UserData__Group__2" - // InternalExport.g:4287:1: rule__UserData__Group__2 : rule__UserData__Group__2__Impl ; - public final void rule__UserData__Group__2() throws RecognitionException { + // $ANTLR start "rule__OpPostfix__Alternatives" + // InternalExport.g:4125:1: rule__OpPostfix__Alternatives : ( ( '++' ) | ( '--' ) ); + public final void rule__OpPostfix__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4291:1: ( rule__UserData__Group__2__Impl ) - // InternalExport.g:4292:2: rule__UserData__Group__2__Impl - { - pushFollow(FOLLOW_2); - rule__UserData__Group__2__Impl(); + // InternalExport.g:4129:1: ( ( '++' ) | ( '--' ) ) + int alt33=2; + int LA33_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA33_0==56) ) { + alt33=1; + } + else if ( (LA33_0==57) ) { + alt33=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 33, 0, input); + throw nvae; } + switch (alt33) { + case 1 : + // InternalExport.g:4130:2: ( '++' ) + { + // InternalExport.g:4130:2: ( '++' ) + // InternalExport.g:4131:3: '++' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); + } + match(input,56,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); + } + + } + + + } + break; + case 2 : + // InternalExport.g:4136:2: ( '--' ) + { + // InternalExport.g:4136:2: ( '--' ) + // InternalExport.g:4137:3: '--' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); + } + match(input,57,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -14761,83 +15081,80 @@ public final void rule__UserData__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__UserData__Group__2" + // $ANTLR end "rule__OpPostfix__Alternatives" - // $ANTLR start "rule__UserData__Group__2__Impl" - // InternalExport.g:4298:1: rule__UserData__Group__2__Impl : ( ( rule__UserData__ExprAssignment_2 ) ) ; - public final void rule__UserData__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1" + // InternalExport.g:4146:1: rule__XMemberFeatureCall__Alternatives_1 : ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) ); + public final void rule__XMemberFeatureCall__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4302:1: ( ( ( rule__UserData__ExprAssignment_2 ) ) ) - // InternalExport.g:4303:1: ( ( rule__UserData__ExprAssignment_2 ) ) - { - // InternalExport.g:4303:1: ( ( rule__UserData__ExprAssignment_2 ) ) - // InternalExport.g:4304:2: ( rule__UserData__ExprAssignment_2 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUserDataAccess().getExprAssignment_2()); - } - // InternalExport.g:4305:2: ( rule__UserData__ExprAssignment_2 ) - // InternalExport.g:4305:3: rule__UserData__ExprAssignment_2 - { - pushFollow(FOLLOW_2); - rule__UserData__ExprAssignment_2(); - - state._fsp--; - if (state.failed) return ; - - } + // InternalExport.g:4150:1: ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) ) + int alt34=2; + alt34 = dfa34.predict(input); + switch (alt34) { + case 1 : + // InternalExport.g:4151:2: ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) + { + // InternalExport.g:4151:2: ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) + // InternalExport.g:4152:3: ( rule__XMemberFeatureCall__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); + } + // InternalExport.g:4153:3: ( rule__XMemberFeatureCall__Group_1_0__0 ) + // InternalExport.g:4153:4: rule__XMemberFeatureCall__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0__0(); - if ( state.backtracking==0 ) { - after(grammarAccess.getUserDataAccess().getExprAssignment_2()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalExport.g:4157:2: ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) + { + // InternalExport.g:4157:2: ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) + // InternalExport.g:4158:3: ( rule__XMemberFeatureCall__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); + } + // InternalExport.g:4159:3: ( rule__XMemberFeatureCall__Group_1_1__0 ) + // InternalExport.g:4159:4: rule__XMemberFeatureCall__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__0(); - } - return ; - } - // $ANTLR end "rule__UserData__Group__2__Impl" + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__QualifiedID__Group__0" - // InternalExport.g:4314:1: rule__QualifiedID__Group__0 : rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 ; - public final void rule__QualifiedID__Group__0() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4318:1: ( rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 ) - // InternalExport.g:4319:2: rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 - { - pushFollow(FOLLOW_37); - rule__QualifiedID__Group__0__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__QualifiedID__Group__1(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -14850,68 +15167,84 @@ public final void rule__QualifiedID__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__QualifiedID__Group__0" + // $ANTLR end "rule__XMemberFeatureCall__Alternatives_1" - // $ANTLR start "rule__QualifiedID__Group__0__Impl" - // InternalExport.g:4326:1: rule__QualifiedID__Group__0__Impl : ( RULE_ID ) ; - public final void rule__QualifiedID__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1_0_0_0_1" + // InternalExport.g:4167:1: rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 : ( ( '.' ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) ); + public final void rule__XMemberFeatureCall__Alternatives_1_0_0_0_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4330:1: ( ( RULE_ID ) ) - // InternalExport.g:4331:1: ( RULE_ID ) - { - // InternalExport.g:4331:1: ( RULE_ID ) - // InternalExport.g:4332:2: RULE_ID - { - if ( state.backtracking==0 ) { - before(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_0()); + // InternalExport.g:4171:1: ( ( '.' ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) ) + int alt35=2; + int LA35_0 = input.LA(1); + + if ( (LA35_0==58) ) { + alt35=1; } - match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_0()); + else if ( (LA35_0==83) ) { + alt35=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 35, 0, input); + throw nvae; } + switch (alt35) { + case 1 : + // InternalExport.g:4172:2: ( '.' ) + { + // InternalExport.g:4172:2: ( '.' ) + // InternalExport.g:4173:3: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); + } + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 2 : + // InternalExport.g:4178:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) + { + // InternalExport.g:4178:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) + // InternalExport.g:4179:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); + } + // InternalExport.g:4180:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) + // InternalExport.g:4180:4: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; - } - return ; - } - // $ANTLR end "rule__QualifiedID__Group__0__Impl" + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); + } - // $ANTLR start "rule__QualifiedID__Group__1" - // InternalExport.g:4341:1: rule__QualifiedID__Group__1 : rule__QualifiedID__Group__1__Impl ; - public final void rule__QualifiedID__Group__1() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4345:1: ( rule__QualifiedID__Group__1__Impl ) - // InternalExport.g:4346:2: rule__QualifiedID__Group__1__Impl - { - pushFollow(FOLLOW_2); - rule__QualifiedID__Group__1__Impl(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -14924,63 +15257,122 @@ public final void rule__QualifiedID__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__QualifiedID__Group__1" + // $ANTLR end "rule__XMemberFeatureCall__Alternatives_1_0_0_0_1" - // $ANTLR start "rule__QualifiedID__Group__1__Impl" - // InternalExport.g:4352:1: rule__QualifiedID__Group__1__Impl : ( ( rule__QualifiedID__Group_1__0 )* ) ; - public final void rule__QualifiedID__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1_1_0_0_1" + // InternalExport.g:4188:1: rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 : ( ( '.' ) | ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) ); + public final void rule__XMemberFeatureCall__Alternatives_1_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4356:1: ( ( ( rule__QualifiedID__Group_1__0 )* ) ) - // InternalExport.g:4357:1: ( ( rule__QualifiedID__Group_1__0 )* ) - { - // InternalExport.g:4357:1: ( ( rule__QualifiedID__Group_1__0 )* ) - // InternalExport.g:4358:2: ( rule__QualifiedID__Group_1__0 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getQualifiedIDAccess().getGroup_1()); + // InternalExport.g:4192:1: ( ( '.' ) | ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) ) + int alt36=3; + switch ( input.LA(1) ) { + case 58: + { + alt36=1; + } + break; + case 116: + { + alt36=2; + } + break; + case 83: + { + alt36=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 36, 0, input); + + throw nvae; } - // InternalExport.g:4359:2: ( rule__QualifiedID__Group_1__0 )* - loop46: - do { - int alt46=2; - int LA46_0 = input.LA(1); - if ( (LA46_0==57) ) { - alt46=1; - } + switch (alt36) { + case 1 : + // InternalExport.g:4193:2: ( '.' ) + { + // InternalExport.g:4193:2: ( '.' ) + // InternalExport.g:4194:3: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); + } + } - switch (alt46) { - case 1 : - // InternalExport.g:4359:3: rule__QualifiedID__Group_1__0 - { - pushFollow(FOLLOW_38); - rule__QualifiedID__Group_1__0(); - state._fsp--; - if (state.failed) return ; + } + break; + case 2 : + // InternalExport.g:4199:2: ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) + { + // InternalExport.g:4199:2: ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) + // InternalExport.g:4200:3: ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); + } + // InternalExport.g:4201:3: ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) + // InternalExport.g:4201:4: rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop46; - } - } while (true); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getQualifiedIDAccess().getGroup_1()); - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); + } - } + } - } + } + break; + case 3 : + // InternalExport.g:4205:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) + { + // InternalExport.g:4205:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) + // InternalExport.g:4206:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); + } + // InternalExport.g:4207:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) + // InternalExport.g:4207:4: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -14993,32 +15385,80 @@ public final void rule__QualifiedID__Group__1__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__QualifiedID__Group__1__Impl" + // $ANTLR end "rule__XMemberFeatureCall__Alternatives_1_1_0_0_1" - // $ANTLR start "rule__QualifiedID__Group_1__0" - // InternalExport.g:4368:1: rule__QualifiedID__Group_1__0 : rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 ; - public final void rule__QualifiedID__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1_1_3_1" + // InternalExport.g:4215:1: rule__XMemberFeatureCall__Alternatives_1_1_3_1 : ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) ); + public final void rule__XMemberFeatureCall__Alternatives_1_1_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4372:1: ( rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 ) - // InternalExport.g:4373:2: rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 - { - pushFollow(FOLLOW_10); - rule__QualifiedID__Group_1__0__Impl(); + // InternalExport.g:4219:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) ) + int alt37=2; + alt37 = dfa37.predict(input); + switch (alt37) { + case 1 : + // InternalExport.g:4220:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) + { + // InternalExport.g:4220:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) + // InternalExport.g:4221:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); + } + // InternalExport.g:4222:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) + // InternalExport.g:4222:4: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__QualifiedID__Group_1__1(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); + } + + } + + + } + break; + case 2 : + // InternalExport.g:4226:2: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) + { + // InternalExport.g:4226:2: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) + // InternalExport.g:4227:3: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); + } + // InternalExport.g:4228:3: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) + // InternalExport.g:4228:4: rule__XMemberFeatureCall__Group_1_1_3_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); + } + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -15031,315 +15471,379 @@ public final void rule__QualifiedID__Group_1__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__QualifiedID__Group_1__0" + // $ANTLR end "rule__XMemberFeatureCall__Alternatives_1_1_3_1" - // $ANTLR start "rule__QualifiedID__Group_1__0__Impl" - // InternalExport.g:4380:1: rule__QualifiedID__Group_1__0__Impl : ( '::' ) ; - public final void rule__QualifiedID__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__XPrimaryExpression__Alternatives" + // InternalExport.g:4236:1: rule__XPrimaryExpression__Alternatives : ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) ); + public final void rule__XPrimaryExpression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4384:1: ( ( '::' ) ) - // InternalExport.g:4385:1: ( '::' ) - { - // InternalExport.g:4385:1: ( '::' ) - // InternalExport.g:4386:2: '::' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); - } - match(input,57,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); - } - - } - - - } + // InternalExport.g:4240:1: ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) ) + int alt38=15; + alt38 = dfa38.predict(input); + switch (alt38) { + case 1 : + // InternalExport.g:4241:2: ( ruleXConstructorCall ) + { + // InternalExport.g:4241:2: ( ruleXConstructorCall ) + // InternalExport.g:4242:3: ruleXConstructorCall + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXConstructorCall(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__QualifiedID__Group_1__0__Impl" + } + break; + case 2 : + // InternalExport.g:4247:2: ( ruleXBlockExpression ) + { + // InternalExport.g:4247:2: ( ruleXBlockExpression ) + // InternalExport.g:4248:3: ruleXBlockExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXBlockExpression(); - // $ANTLR start "rule__QualifiedID__Group_1__1" - // InternalExport.g:4395:1: rule__QualifiedID__Group_1__1 : rule__QualifiedID__Group_1__1__Impl ; - public final void rule__QualifiedID__Group_1__1() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4399:1: ( rule__QualifiedID__Group_1__1__Impl ) - // InternalExport.g:4400:2: rule__QualifiedID__Group_1__1__Impl - { - pushFollow(FOLLOW_2); - rule__QualifiedID__Group_1__1__Impl(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + case 3 : + // InternalExport.g:4253:2: ( ruleXSwitchExpression ) + { + // InternalExport.g:4253:2: ( ruleXSwitchExpression ) + // InternalExport.g:4254:3: ruleXSwitchExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleXSwitchExpression(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__QualifiedID__Group_1__1" + } + break; + case 4 : + // InternalExport.g:4259:2: ( ( ruleXSynchronizedExpression ) ) + { + // InternalExport.g:4259:2: ( ( ruleXSynchronizedExpression ) ) + // InternalExport.g:4260:3: ( ruleXSynchronizedExpression ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); + } + // InternalExport.g:4261:3: ( ruleXSynchronizedExpression ) + // InternalExport.g:4261:4: ruleXSynchronizedExpression + { + pushFollow(FOLLOW_2); + ruleXSynchronizedExpression(); - // $ANTLR start "rule__QualifiedID__Group_1__1__Impl" - // InternalExport.g:4406:1: rule__QualifiedID__Group_1__1__Impl : ( RULE_ID ) ; - public final void rule__QualifiedID__Group_1__1__Impl() throws RecognitionException { + state._fsp--; + if (state.failed) return ; - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4410:1: ( ( RULE_ID ) ) - // InternalExport.g:4411:1: ( RULE_ID ) - { - // InternalExport.g:4411:1: ( RULE_ID ) - // InternalExport.g:4412:2: RULE_ID - { - if ( state.backtracking==0 ) { - before(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_1_1()); - } - match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_1_1()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); + } + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 5 : + // InternalExport.g:4265:2: ( ruleXFeatureCall ) + { + // InternalExport.g:4265:2: ( ruleXFeatureCall ) + // InternalExport.g:4266:3: ruleXFeatureCall + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); + } + pushFollow(FOLLOW_2); + ruleXFeatureCall(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); + } - } - return ; - } - // $ANTLR end "rule__QualifiedID__Group_1__1__Impl" + } - // $ANTLR start "rule__LetExpression__Group__0" - // InternalExport.g:4422:1: rule__LetExpression__Group__0 : rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 ; - public final void rule__LetExpression__Group__0() throws RecognitionException { + } + break; + case 6 : + // InternalExport.g:4271:2: ( ruleXLiteral ) + { + // InternalExport.g:4271:2: ( ruleXLiteral ) + // InternalExport.g:4272:3: ruleXLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); + } + pushFollow(FOLLOW_2); + ruleXLiteral(); - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4426:1: ( rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 ) - // InternalExport.g:4427:2: rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 - { - pushFollow(FOLLOW_10); - rule__LetExpression__Group__0__Impl(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__LetExpression__Group__1(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + case 7 : + // InternalExport.g:4277:2: ( ruleXIfExpression ) + { + // InternalExport.g:4277:2: ( ruleXIfExpression ) + // InternalExport.g:4278:3: ruleXIfExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); + } + pushFollow(FOLLOW_2); + ruleXIfExpression(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__LetExpression__Group__0" + } + break; + case 8 : + // InternalExport.g:4283:2: ( ( ruleXForLoopExpression ) ) + { + // InternalExport.g:4283:2: ( ( ruleXForLoopExpression ) ) + // InternalExport.g:4284:3: ( ruleXForLoopExpression ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); + } + // InternalExport.g:4285:3: ( ruleXForLoopExpression ) + // InternalExport.g:4285:4: ruleXForLoopExpression + { + pushFollow(FOLLOW_2); + ruleXForLoopExpression(); - // $ANTLR start "rule__LetExpression__Group__0__Impl" - // InternalExport.g:4434:1: rule__LetExpression__Group__0__Impl : ( 'let' ) ; - public final void rule__LetExpression__Group__0__Impl() throws RecognitionException { + state._fsp--; + if (state.failed) return ; - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4438:1: ( ( 'let' ) ) - // InternalExport.g:4439:1: ( 'let' ) - { - // InternalExport.g:4439:1: ( 'let' ) - // InternalExport.g:4440:2: 'let' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); - } - match(input,58,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); + } + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 9 : + // InternalExport.g:4289:2: ( ruleXBasicForLoopExpression ) + { + // InternalExport.g:4289:2: ( ruleXBasicForLoopExpression ) + // InternalExport.g:4290:3: ruleXBasicForLoopExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); + } + pushFollow(FOLLOW_2); + ruleXBasicForLoopExpression(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); + } - } - return ; - } - // $ANTLR end "rule__LetExpression__Group__0__Impl" + } - // $ANTLR start "rule__LetExpression__Group__1" - // InternalExport.g:4449:1: rule__LetExpression__Group__1 : rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 ; - public final void rule__LetExpression__Group__1() throws RecognitionException { + } + break; + case 10 : + // InternalExport.g:4295:2: ( ruleXWhileExpression ) + { + // InternalExport.g:4295:2: ( ruleXWhileExpression ) + // InternalExport.g:4296:3: ruleXWhileExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); + } + pushFollow(FOLLOW_2); + ruleXWhileExpression(); - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4453:1: ( rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 ) - // InternalExport.g:4454:2: rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 - { - pushFollow(FOLLOW_32); - rule__LetExpression__Group__1__Impl(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__LetExpression__Group__2(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + case 11 : + // InternalExport.g:4301:2: ( ruleXDoWhileExpression ) + { + // InternalExport.g:4301:2: ( ruleXDoWhileExpression ) + // InternalExport.g:4302:3: ruleXDoWhileExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); + } + pushFollow(FOLLOW_2); + ruleXDoWhileExpression(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__LetExpression__Group__1" + } + break; + case 12 : + // InternalExport.g:4307:2: ( ruleXThrowExpression ) + { + // InternalExport.g:4307:2: ( ruleXThrowExpression ) + // InternalExport.g:4308:3: ruleXThrowExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); + } + pushFollow(FOLLOW_2); + ruleXThrowExpression(); - // $ANTLR start "rule__LetExpression__Group__1__Impl" - // InternalExport.g:4461:1: rule__LetExpression__Group__1__Impl : ( ( rule__LetExpression__IdentifierAssignment_1 ) ) ; - public final void rule__LetExpression__Group__1__Impl() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4465:1: ( ( ( rule__LetExpression__IdentifierAssignment_1 ) ) ) - // InternalExport.g:4466:1: ( ( rule__LetExpression__IdentifierAssignment_1 ) ) - { - // InternalExport.g:4466:1: ( ( rule__LetExpression__IdentifierAssignment_1 ) ) - // InternalExport.g:4467:2: ( rule__LetExpression__IdentifierAssignment_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); - } - // InternalExport.g:4468:2: ( rule__LetExpression__IdentifierAssignment_1 ) - // InternalExport.g:4468:3: rule__LetExpression__IdentifierAssignment_1 - { - pushFollow(FOLLOW_2); - rule__LetExpression__IdentifierAssignment_1(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + case 13 : + // InternalExport.g:4313:2: ( ruleXReturnExpression ) + { + // InternalExport.g:4313:2: ( ruleXReturnExpression ) + // InternalExport.g:4314:3: ruleXReturnExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); + } + pushFollow(FOLLOW_2); + ruleXReturnExpression(); - if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); + } - } + } - } + } + break; + case 14 : + // InternalExport.g:4319:2: ( ruleXTryCatchFinallyExpression ) + { + // InternalExport.g:4319:2: ( ruleXTryCatchFinallyExpression ) + // InternalExport.g:4320:3: ruleXTryCatchFinallyExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); + } + pushFollow(FOLLOW_2); + ruleXTryCatchFinallyExpression(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__LetExpression__Group__1__Impl" + } + break; + case 15 : + // InternalExport.g:4325:2: ( ruleXParenthesizedExpression ) + { + // InternalExport.g:4325:2: ( ruleXParenthesizedExpression ) + // InternalExport.g:4326:3: ruleXParenthesizedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); + } + pushFollow(FOLLOW_2); + ruleXParenthesizedExpression(); - // $ANTLR start "rule__LetExpression__Group__2" - // InternalExport.g:4476:1: rule__LetExpression__Group__2 : rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 ; - public final void rule__LetExpression__Group__2() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4480:1: ( rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 ) - // InternalExport.g:4481:2: rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 - { - pushFollow(FOLLOW_18); - rule__LetExpression__Group__2__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__LetExpression__Group__3(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -15352,162 +15856,235 @@ public final void rule__LetExpression__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__LetExpression__Group__2" + // $ANTLR end "rule__XPrimaryExpression__Alternatives" - // $ANTLR start "rule__LetExpression__Group__2__Impl" - // InternalExport.g:4488:1: rule__LetExpression__Group__2__Impl : ( '=' ) ; - public final void rule__LetExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__XLiteral__Alternatives" + // InternalExport.g:4335:1: rule__XLiteral__Alternatives : ( ( ruleXCollectionLiteral ) | ( ( ruleXClosure ) ) | ( ruleXBooleanLiteral ) | ( ruleXNumberLiteral ) | ( ruleXNullLiteral ) | ( ruleXStringLiteral ) | ( ruleXTypeLiteral ) ); + public final void rule__XLiteral__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4492:1: ( ( '=' ) ) - // InternalExport.g:4493:1: ( '=' ) - { - // InternalExport.g:4493:1: ( '=' ) - // InternalExport.g:4494:2: '=' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); - } - match(input,47,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); - } + // InternalExport.g:4339:1: ( ( ruleXCollectionLiteral ) | ( ( ruleXClosure ) ) | ( ruleXBooleanLiteral ) | ( ruleXNumberLiteral ) | ( ruleXNullLiteral ) | ( ruleXStringLiteral ) | ( ruleXTypeLiteral ) ) + int alt39=7; + switch ( input.LA(1) ) { + case 97: + { + alt39=1; + } + break; + case 72: + { + alt39=2; + } + break; + case 36: + case 37: + { + alt39=3; + } + break; + case RULE_HEX: + case RULE_INT: + case RULE_DECIMAL: + { + alt39=4; + } + break; + case 100: + { + alt39=5; + } + break; + case RULE_STRING: + { + alt39=6; + } + break; + case 101: + { + alt39=7; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 39, 0, input); + throw nvae; } + switch (alt39) { + case 1 : + // InternalExport.g:4340:2: ( ruleXCollectionLiteral ) + { + // InternalExport.g:4340:2: ( ruleXCollectionLiteral ) + // InternalExport.g:4341:3: ruleXCollectionLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXCollectionLiteral(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__LetExpression__Group__2__Impl" + } + break; + case 2 : + // InternalExport.g:4346:2: ( ( ruleXClosure ) ) + { + // InternalExport.g:4346:2: ( ( ruleXClosure ) ) + // InternalExport.g:4347:3: ( ruleXClosure ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); + } + // InternalExport.g:4348:3: ( ruleXClosure ) + // InternalExport.g:4348:4: ruleXClosure + { + pushFollow(FOLLOW_2); + ruleXClosure(); + state._fsp--; + if (state.failed) return ; - // $ANTLR start "rule__LetExpression__Group__3" - // InternalExport.g:4503:1: rule__LetExpression__Group__3 : rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 ; - public final void rule__LetExpression__Group__3() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4507:1: ( rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 ) - // InternalExport.g:4508:2: rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 - { - pushFollow(FOLLOW_39); - rule__LetExpression__Group__3__Impl(); + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__LetExpression__Group__4(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + case 3 : + // InternalExport.g:4352:2: ( ruleXBooleanLiteral ) + { + // InternalExport.g:4352:2: ( ruleXBooleanLiteral ) + // InternalExport.g:4353:3: ruleXBooleanLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleXBooleanLiteral(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__LetExpression__Group__3" + } + break; + case 4 : + // InternalExport.g:4358:2: ( ruleXNumberLiteral ) + { + // InternalExport.g:4358:2: ( ruleXNumberLiteral ) + // InternalExport.g:4359:3: ruleXNumberLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); + } + pushFollow(FOLLOW_2); + ruleXNumberLiteral(); - // $ANTLR start "rule__LetExpression__Group__3__Impl" - // InternalExport.g:4515:1: rule__LetExpression__Group__3__Impl : ( ( rule__LetExpression__VarExprAssignment_3 ) ) ; - public final void rule__LetExpression__Group__3__Impl() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4519:1: ( ( ( rule__LetExpression__VarExprAssignment_3 ) ) ) - // InternalExport.g:4520:1: ( ( rule__LetExpression__VarExprAssignment_3 ) ) - { - // InternalExport.g:4520:1: ( ( rule__LetExpression__VarExprAssignment_3 ) ) - // InternalExport.g:4521:2: ( rule__LetExpression__VarExprAssignment_3 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); - } - // InternalExport.g:4522:2: ( rule__LetExpression__VarExprAssignment_3 ) - // InternalExport.g:4522:3: rule__LetExpression__VarExprAssignment_3 - { - pushFollow(FOLLOW_2); - rule__LetExpression__VarExprAssignment_3(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + case 5 : + // InternalExport.g:4364:2: ( ruleXNullLiteral ) + { + // InternalExport.g:4364:2: ( ruleXNullLiteral ) + // InternalExport.g:4365:3: ruleXNullLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); + } + pushFollow(FOLLOW_2); + ruleXNullLiteral(); - if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); + } - } + } - } + } + break; + case 6 : + // InternalExport.g:4370:2: ( ruleXStringLiteral ) + { + // InternalExport.g:4370:2: ( ruleXStringLiteral ) + // InternalExport.g:4371:3: ruleXStringLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); + } + pushFollow(FOLLOW_2); + ruleXStringLiteral(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__LetExpression__Group__3__Impl" + } + break; + case 7 : + // InternalExport.g:4376:2: ( ruleXTypeLiteral ) + { + // InternalExport.g:4376:2: ( ruleXTypeLiteral ) + // InternalExport.g:4377:3: ruleXTypeLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); + } + pushFollow(FOLLOW_2); + ruleXTypeLiteral(); - // $ANTLR start "rule__LetExpression__Group__4" - // InternalExport.g:4530:1: rule__LetExpression__Group__4 : rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 ; - public final void rule__LetExpression__Group__4() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4534:1: ( rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 ) - // InternalExport.g:4535:2: rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 - { - pushFollow(FOLLOW_18); - rule__LetExpression__Group__4__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__LetExpression__Group__5(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -15520,68 +16097,93 @@ public final void rule__LetExpression__Group__4() throws RecognitionException { } return ; } - // $ANTLR end "rule__LetExpression__Group__4" + // $ANTLR end "rule__XLiteral__Alternatives" - // $ANTLR start "rule__LetExpression__Group__4__Impl" - // InternalExport.g:4542:1: rule__LetExpression__Group__4__Impl : ( ':' ) ; - public final void rule__LetExpression__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__XCollectionLiteral__Alternatives" + // InternalExport.g:4386:1: rule__XCollectionLiteral__Alternatives : ( ( ruleXSetLiteral ) | ( ruleXListLiteral ) ); + public final void rule__XCollectionLiteral__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4546:1: ( ( ':' ) ) - // InternalExport.g:4547:1: ( ':' ) - { - // InternalExport.g:4547:1: ( ':' ) - // InternalExport.g:4548:2: ':' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); - } - match(input,59,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); - } + // InternalExport.g:4390:1: ( ( ruleXSetLiteral ) | ( ruleXListLiteral ) ) + int alt40=2; + int LA40_0 = input.LA(1); - } + if ( (LA40_0==97) ) { + int LA40_1 = input.LA(2); + if ( (LA40_1==68) ) { + alt40=1; + } + else if ( (LA40_1==72) ) { + alt40=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 40, 1, input); + throw nvae; + } } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 40, 0, input); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + throw nvae; + } + switch (alt40) { + case 1 : + // InternalExport.g:4391:2: ( ruleXSetLiteral ) + { + // InternalExport.g:4391:2: ( ruleXSetLiteral ) + // InternalExport.g:4392:3: ruleXSetLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXSetLiteral(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); + } - } - return ; - } - // $ANTLR end "rule__LetExpression__Group__4__Impl" + } - // $ANTLR start "rule__LetExpression__Group__5" - // InternalExport.g:4557:1: rule__LetExpression__Group__5 : rule__LetExpression__Group__5__Impl ; - public final void rule__LetExpression__Group__5() throws RecognitionException { + } + break; + case 2 : + // InternalExport.g:4397:2: ( ruleXListLiteral ) + { + // InternalExport.g:4397:2: ( ruleXListLiteral ) + // InternalExport.g:4398:3: ruleXListLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXListLiteral(); - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4561:1: ( rule__LetExpression__Group__5__Impl ) - // InternalExport.g:4562:2: rule__LetExpression__Group__5__Impl - { - pushFollow(FOLLOW_2); - rule__LetExpression__Group__5__Impl(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); + } - state._fsp--; - if (state.failed) return ; + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -15594,83 +16196,80 @@ public final void rule__LetExpression__Group__5() throws RecognitionException { } return ; } - // $ANTLR end "rule__LetExpression__Group__5" + // $ANTLR end "rule__XCollectionLiteral__Alternatives" - // $ANTLR start "rule__LetExpression__Group__5__Impl" - // InternalExport.g:4568:1: rule__LetExpression__Group__5__Impl : ( ( rule__LetExpression__TargetAssignment_5 ) ) ; - public final void rule__LetExpression__Group__5__Impl() throws RecognitionException { + // $ANTLR start "rule__XSwitchExpression__Alternatives_2" + // InternalExport.g:4407:1: rule__XSwitchExpression__Alternatives_2 : ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) ); + public final void rule__XSwitchExpression__Alternatives_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4572:1: ( ( ( rule__LetExpression__TargetAssignment_5 ) ) ) - // InternalExport.g:4573:1: ( ( rule__LetExpression__TargetAssignment_5 ) ) - { - // InternalExport.g:4573:1: ( ( rule__LetExpression__TargetAssignment_5 ) ) - // InternalExport.g:4574:2: ( rule__LetExpression__TargetAssignment_5 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); - } - // InternalExport.g:4575:2: ( rule__LetExpression__TargetAssignment_5 ) - // InternalExport.g:4575:3: rule__LetExpression__TargetAssignment_5 - { - pushFollow(FOLLOW_2); - rule__LetExpression__TargetAssignment_5(); - - state._fsp--; - if (state.failed) return ; - - } + // InternalExport.g:4411:1: ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) ) + int alt41=2; + alt41 = dfa41.predict(input); + switch (alt41) { + case 1 : + // InternalExport.g:4412:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) ) + { + // InternalExport.g:4412:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) ) + // InternalExport.g:4413:3: ( rule__XSwitchExpression__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); + } + // InternalExport.g:4414:3: ( rule__XSwitchExpression__Group_2_0__0 ) + // InternalExport.g:4414:4: rule__XSwitchExpression__Group_2_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0__0(); - if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalExport.g:4418:2: ( ( rule__XSwitchExpression__Group_2_1__0 ) ) + { + // InternalExport.g:4418:2: ( ( rule__XSwitchExpression__Group_2_1__0 ) ) + // InternalExport.g:4419:3: ( rule__XSwitchExpression__Group_2_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); + } + // InternalExport.g:4420:3: ( rule__XSwitchExpression__Group_2_1__0 ) + // InternalExport.g:4420:4: rule__XSwitchExpression__Group_2_1__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1__0(); - } - return ; - } - // $ANTLR end "rule__LetExpression__Group__5__Impl" + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__CastedExpression__Group__0" - // InternalExport.g:4584:1: rule__CastedExpression__Group__0 : rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 ; - public final void rule__CastedExpression__Group__0() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4588:1: ( rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 ) - // InternalExport.g:4589:2: rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 - { - pushFollow(FOLLOW_40); - rule__CastedExpression__Group__0__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__CastedExpression__Group__1(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -15683,73 +16282,94 @@ public final void rule__CastedExpression__Group__0() throws RecognitionException } return ; } - // $ANTLR end "rule__CastedExpression__Group__0" + // $ANTLR end "rule__XSwitchExpression__Alternatives_2" - // $ANTLR start "rule__CastedExpression__Group__0__Impl" - // InternalExport.g:4596:1: rule__CastedExpression__Group__0__Impl : ( '(' ) ; - public final void rule__CastedExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__XCasePart__Alternatives_3" + // InternalExport.g:4428:1: rule__XCasePart__Alternatives_3 : ( ( ( rule__XCasePart__Group_3_0__0 ) ) | ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) ); + public final void rule__XCasePart__Alternatives_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4600:1: ( ( '(' ) ) - // InternalExport.g:4601:1: ( '(' ) - { - // InternalExport.g:4601:1: ( '(' ) - // InternalExport.g:4602:2: '(' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); + // InternalExport.g:4432:1: ( ( ( rule__XCasePart__Group_3_0__0 ) ) | ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) ) + int alt42=2; + int LA42_0 = input.LA(1); + + if ( (LA42_0==85) ) { + alt42=1; } - match(input,51,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); + else if ( (LA42_0==74) ) { + alt42=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 42, 0, input); + throw nvae; } + switch (alt42) { + case 1 : + // InternalExport.g:4433:2: ( ( rule__XCasePart__Group_3_0__0 ) ) + { + // InternalExport.g:4433:2: ( ( rule__XCasePart__Group_3_0__0 ) ) + // InternalExport.g:4434:3: ( rule__XCasePart__Group_3_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getGroup_3_0()); + } + // InternalExport.g:4435:3: ( rule__XCasePart__Group_3_0__0 ) + // InternalExport.g:4435:4: rule__XCasePart__Group_3_0__0 + { + pushFollow(FOLLOW_2); + rule__XCasePart__Group_3_0__0(); + state._fsp--; + if (state.failed) return ; - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getGroup_3_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__CastedExpression__Group__0__Impl" + } + break; + case 2 : + // InternalExport.g:4439:2: ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) + { + // InternalExport.g:4439:2: ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) + // InternalExport.g:4440:3: ( rule__XCasePart__FallThroughAssignment_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); + } + // InternalExport.g:4441:3: ( rule__XCasePart__FallThroughAssignment_3_1 ) + // InternalExport.g:4441:4: rule__XCasePart__FallThroughAssignment_3_1 + { + pushFollow(FOLLOW_2); + rule__XCasePart__FallThroughAssignment_3_1(); - // $ANTLR start "rule__CastedExpression__Group__1" - // InternalExport.g:4611:1: rule__CastedExpression__Group__1 : rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 ; - public final void rule__CastedExpression__Group__1() throws RecognitionException { + state._fsp--; + if (state.failed) return ; - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4615:1: ( rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 ) - // InternalExport.g:4616:2: rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 - { - pushFollow(FOLLOW_25); - rule__CastedExpression__Group__1__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__CastedExpression__Group__2(); + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); + } - state._fsp--; - if (state.failed) return ; + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -15762,83 +16382,82 @@ public final void rule__CastedExpression__Group__1() throws RecognitionException } return ; } - // $ANTLR end "rule__CastedExpression__Group__1" + // $ANTLR end "rule__XCasePart__Alternatives_3" - // $ANTLR start "rule__CastedExpression__Group__1__Impl" - // InternalExport.g:4623:1: rule__CastedExpression__Group__1__Impl : ( ( rule__CastedExpression__TypeAssignment_1 ) ) ; - public final void rule__CastedExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__XExpressionOrVarDeclaration__Alternatives" + // InternalExport.g:4449:1: rule__XExpressionOrVarDeclaration__Alternatives : ( ( ruleXVariableDeclaration ) | ( ruleXExpression ) ); + public final void rule__XExpressionOrVarDeclaration__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4627:1: ( ( ( rule__CastedExpression__TypeAssignment_1 ) ) ) - // InternalExport.g:4628:1: ( ( rule__CastedExpression__TypeAssignment_1 ) ) - { - // InternalExport.g:4628:1: ( ( rule__CastedExpression__TypeAssignment_1 ) ) - // InternalExport.g:4629:2: ( rule__CastedExpression__TypeAssignment_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); - } - // InternalExport.g:4630:2: ( rule__CastedExpression__TypeAssignment_1 ) - // InternalExport.g:4630:3: rule__CastedExpression__TypeAssignment_1 - { - pushFollow(FOLLOW_2); - rule__CastedExpression__TypeAssignment_1(); - - state._fsp--; - if (state.failed) return ; - - } + // InternalExport.g:4453:1: ( ( ruleXVariableDeclaration ) | ( ruleXExpression ) ) + int alt43=2; + int LA43_0 = input.LA(1); - if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); + if ( (LA43_0==59||LA43_0==117) ) { + alt43=1; } - + else if ( ((LA43_0>=RULE_ID && LA43_0<=RULE_STRING)||(LA43_0>=22 && LA43_0<=24)||LA43_0==27||(LA43_0>=36 && LA43_0<=37)||(LA43_0>=60 && LA43_0<=64)||LA43_0==66||LA43_0==68||LA43_0==72||LA43_0==77||LA43_0==87||LA43_0==90||LA43_0==95||(LA43_0>=97 && LA43_0<=104)||LA43_0==106) ) { + alt43=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 43, 0, input); - + throw nvae; } + switch (alt43) { + case 1 : + // InternalExport.g:4454:2: ( ruleXVariableDeclaration ) + { + // InternalExport.g:4454:2: ( ruleXVariableDeclaration ) + // InternalExport.g:4455:3: ruleXVariableDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXVariableDeclaration(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__CastedExpression__Group__1__Impl" + } + break; + case 2 : + // InternalExport.g:4460:2: ( ruleXExpression ) + { + // InternalExport.g:4460:2: ( ruleXExpression ) + // InternalExport.g:4461:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); - // $ANTLR start "rule__CastedExpression__Group__2" - // InternalExport.g:4638:1: rule__CastedExpression__Group__2 : rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 ; - public final void rule__CastedExpression__Group__2() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4642:1: ( rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 ) - // InternalExport.g:4643:2: rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 - { - pushFollow(FOLLOW_18); - rule__CastedExpression__Group__2__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__CastedExpression__Group__3(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -15851,68 +16470,84 @@ public final void rule__CastedExpression__Group__2() throws RecognitionException } return ; } - // $ANTLR end "rule__CastedExpression__Group__2" + // $ANTLR end "rule__XExpressionOrVarDeclaration__Alternatives" - // $ANTLR start "rule__CastedExpression__Group__2__Impl" - // InternalExport.g:4650:1: rule__CastedExpression__Group__2__Impl : ( ')' ) ; - public final void rule__CastedExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__XVariableDeclaration__Alternatives_1" + // InternalExport.g:4470:1: rule__XVariableDeclaration__Alternatives_1 : ( ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) | ( 'val' ) ); + public final void rule__XVariableDeclaration__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4654:1: ( ( ')' ) ) - // InternalExport.g:4655:1: ( ')' ) - { - // InternalExport.g:4655:1: ( ')' ) - // InternalExport.g:4656:2: ')' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); + // InternalExport.g:4474:1: ( ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) | ( 'val' ) ) + int alt44=2; + int LA44_0 = input.LA(1); + + if ( (LA44_0==117) ) { + alt44=1; } - match(input,52,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); + else if ( (LA44_0==59) ) { + alt44=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 44, 0, input); + throw nvae; } + switch (alt44) { + case 1 : + // InternalExport.g:4475:2: ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) + { + // InternalExport.g:4475:2: ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) + // InternalExport.g:4476:3: ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); + } + // InternalExport.g:4477:3: ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) + // InternalExport.g:4477:4: rule__XVariableDeclaration__WriteableAssignment_1_0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__WriteableAssignment_1_0(); + state._fsp--; + if (state.failed) return ; - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__CastedExpression__Group__2__Impl" + } + break; + case 2 : + // InternalExport.g:4481:2: ( 'val' ) + { + // InternalExport.g:4481:2: ( 'val' ) + // InternalExport.g:4482:3: 'val' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); + } + match(input,59,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); + } - // $ANTLR start "rule__CastedExpression__Group__3" - // InternalExport.g:4665:1: rule__CastedExpression__Group__3 : rule__CastedExpression__Group__3__Impl ; - public final void rule__CastedExpression__Group__3() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4669:1: ( rule__CastedExpression__Group__3__Impl ) - // InternalExport.g:4670:2: rule__CastedExpression__Group__3__Impl - { - pushFollow(FOLLOW_2); - rule__CastedExpression__Group__3__Impl(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -15925,83 +16560,108 @@ public final void rule__CastedExpression__Group__3() throws RecognitionException } return ; } - // $ANTLR end "rule__CastedExpression__Group__3" + // $ANTLR end "rule__XVariableDeclaration__Alternatives_1" - // $ANTLR start "rule__CastedExpression__Group__3__Impl" - // InternalExport.g:4676:1: rule__CastedExpression__Group__3__Impl : ( ( rule__CastedExpression__TargetAssignment_3 ) ) ; - public final void rule__CastedExpression__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__XVariableDeclaration__Alternatives_2" + // InternalExport.g:4491:1: rule__XVariableDeclaration__Alternatives_2 : ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) | ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) ); + public final void rule__XVariableDeclaration__Alternatives_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4680:1: ( ( ( rule__CastedExpression__TargetAssignment_3 ) ) ) - // InternalExport.g:4681:1: ( ( rule__CastedExpression__TargetAssignment_3 ) ) - { - // InternalExport.g:4681:1: ( ( rule__CastedExpression__TargetAssignment_3 ) ) - // InternalExport.g:4682:2: ( rule__CastedExpression__TargetAssignment_3 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); - } - // InternalExport.g:4683:2: ( rule__CastedExpression__TargetAssignment_3 ) - // InternalExport.g:4683:3: rule__CastedExpression__TargetAssignment_3 - { - pushFollow(FOLLOW_2); - rule__CastedExpression__TargetAssignment_3(); + // InternalExport.g:4495:1: ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) | ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) ) + int alt45=2; + int LA45_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA45_0==RULE_ID) ) { + int LA45_1 = input.LA(2); - } + if ( (synpred115_InternalExport()) ) { + alt45=1; + } + else if ( (true) ) { + alt45=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 45, 1, input); - if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); + throw nvae; + } } - + else if ( (LA45_0==51||LA45_0==77) ) { + alt45=1; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 45, 0, input); - + throw nvae; } + switch (alt45) { + case 1 : + // InternalExport.g:4496:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) + { + // InternalExport.g:4496:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) + // InternalExport.g:4497:3: ( rule__XVariableDeclaration__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); + } + // InternalExport.g:4498:3: ( rule__XVariableDeclaration__Group_2_0__0 ) + // InternalExport.g:4498:4: rule__XVariableDeclaration__Group_2_0__0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0__0(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__CastedExpression__Group__3__Impl" + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); + } + } - // $ANTLR start "rule__ChainExpression__Group__0" - // InternalExport.g:4692:1: rule__ChainExpression__Group__0 : rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 ; - public final void rule__ChainExpression__Group__0() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4696:1: ( rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 ) - // InternalExport.g:4697:2: rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 - { - pushFollow(FOLLOW_41); - rule__ChainExpression__Group__0__Impl(); + } + break; + case 2 : + // InternalExport.g:4502:2: ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) + { + // InternalExport.g:4502:2: ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) + // InternalExport.g:4503:3: ( rule__XVariableDeclaration__NameAssignment_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); + } + // InternalExport.g:4504:3: ( rule__XVariableDeclaration__NameAssignment_2_1 ) + // InternalExport.g:4504:4: rule__XVariableDeclaration__NameAssignment_2_1 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__NameAssignment_2_1(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ChainExpression__Group__1(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -16014,72 +16674,80 @@ public final void rule__ChainExpression__Group__0() throws RecognitionException } return ; } - // $ANTLR end "rule__ChainExpression__Group__0" + // $ANTLR end "rule__XVariableDeclaration__Alternatives_2" - // $ANTLR start "rule__ChainExpression__Group__0__Impl" - // InternalExport.g:4704:1: rule__ChainExpression__Group__0__Impl : ( ruleChainedExpression ) ; - public final void rule__ChainExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__XFeatureCall__Alternatives_3_1" + // InternalExport.g:4512:1: rule__XFeatureCall__Alternatives_3_1 : ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) ); + public final void rule__XFeatureCall__Alternatives_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4708:1: ( ( ruleChainedExpression ) ) - // InternalExport.g:4709:1: ( ruleChainedExpression ) - { - // InternalExport.g:4709:1: ( ruleChainedExpression ) - // InternalExport.g:4710:2: ruleChainedExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleChainedExpression(); + // InternalExport.g:4516:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) ) + int alt46=2; + alt46 = dfa46.predict(input); + switch (alt46) { + case 1 : + // InternalExport.g:4517:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) + { + // InternalExport.g:4517:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) + // InternalExport.g:4518:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); + } + // InternalExport.g:4519:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) + // InternalExport.g:4519:4: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalExport.g:4523:2: ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) + { + // InternalExport.g:4523:2: ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) + // InternalExport.g:4524:3: ( rule__XFeatureCall__Group_3_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); + } + // InternalExport.g:4525:3: ( rule__XFeatureCall__Group_3_1_1__0 ) + // InternalExport.g:4525:4: rule__XFeatureCall__Group_3_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3_1_1__0(); - } - return ; - } - // $ANTLR end "rule__ChainExpression__Group__0__Impl" + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__ChainExpression__Group__1" - // InternalExport.g:4719:1: rule__ChainExpression__Group__1 : rule__ChainExpression__Group__1__Impl ; - public final void rule__ChainExpression__Group__1() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4723:1: ( rule__ChainExpression__Group__1__Impl ) - // InternalExport.g:4724:2: rule__ChainExpression__Group__1__Impl - { - pushFollow(FOLLOW_2); - rule__ChainExpression__Group__1__Impl(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -16092,63 +16760,154 @@ public final void rule__ChainExpression__Group__1() throws RecognitionException } return ; } - // $ANTLR end "rule__ChainExpression__Group__1" + // $ANTLR end "rule__XFeatureCall__Alternatives_3_1" - // $ANTLR start "rule__ChainExpression__Group__1__Impl" - // InternalExport.g:4730:1: rule__ChainExpression__Group__1__Impl : ( ( rule__ChainExpression__Group_1__0 )* ) ; - public final void rule__ChainExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__FeatureCallID__Alternatives" + // InternalExport.g:4533:1: rule__FeatureCallID__Alternatives : ( ( ruleValidID ) | ( 'extends' ) | ( 'static' ) | ( 'import' ) | ( 'extension' ) ); + public final void rule__FeatureCallID__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4734:1: ( ( ( rule__ChainExpression__Group_1__0 )* ) ) - // InternalExport.g:4735:1: ( ( rule__ChainExpression__Group_1__0 )* ) - { - // InternalExport.g:4735:1: ( ( rule__ChainExpression__Group_1__0 )* ) - // InternalExport.g:4736:2: ( rule__ChainExpression__Group_1__0 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getGroup_1()); + // InternalExport.g:4537:1: ( ( ruleValidID ) | ( 'extends' ) | ( 'static' ) | ( 'import' ) | ( 'extension' ) ) + int alt47=5; + switch ( input.LA(1) ) { + case RULE_ID: + { + alt47=1; + } + break; + case 60: + { + alt47=2; + } + break; + case 61: + { + alt47=3; + } + break; + case 62: + { + alt47=4; + } + break; + case 63: + { + alt47=5; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 47, 0, input); + + throw nvae; } - // InternalExport.g:4737:2: ( rule__ChainExpression__Group_1__0 )* - loop47: - do { - int alt47=2; - int LA47_0 = input.LA(1); - if ( (LA47_0==60) ) { - alt47=1; - } + switch (alt47) { + case 1 : + // InternalExport.g:4538:2: ( ruleValidID ) + { + // InternalExport.g:4538:2: ( ruleValidID ) + // InternalExport.g:4539:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); + } - switch (alt47) { - case 1 : - // InternalExport.g:4737:3: rule__ChainExpression__Group_1__0 - { - pushFollow(FOLLOW_42); - rule__ChainExpression__Group_1__0(); + } - state._fsp--; - if (state.failed) return ; - } - break; + } + break; + case 2 : + // InternalExport.g:4544:2: ( 'extends' ) + { + // InternalExport.g:4544:2: ( 'extends' ) + // InternalExport.g:4545:3: 'extends' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); + } + match(input,60,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); + } - default : - break loop47; - } - } while (true); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getGroup_1()); - } - } + } + break; + case 3 : + // InternalExport.g:4550:2: ( 'static' ) + { + // InternalExport.g:4550:2: ( 'static' ) + // InternalExport.g:4551:3: 'static' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); + } + match(input,61,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); + } + } + + + } + break; + case 4 : + // InternalExport.g:4556:2: ( 'import' ) + { + // InternalExport.g:4556:2: ( 'import' ) + // InternalExport.g:4557:3: 'import' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); + } + match(input,62,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); + } + + } + + + } + break; + case 5 : + // InternalExport.g:4562:2: ( 'extension' ) + { + // InternalExport.g:4562:2: ( 'extension' ) + // InternalExport.g:4563:3: 'extension' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); + } + match(input,63,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); + } + + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -16161,32 +16920,78 @@ public final void rule__ChainExpression__Group__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ChainExpression__Group__1__Impl" + // $ANTLR end "rule__FeatureCallID__Alternatives" - // $ANTLR start "rule__ChainExpression__Group_1__0" - // InternalExport.g:4746:1: rule__ChainExpression__Group_1__0 : rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 ; - public final void rule__ChainExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__IdOrSuper__Alternatives" + // InternalExport.g:4572:1: rule__IdOrSuper__Alternatives : ( ( ruleFeatureCallID ) | ( 'super' ) ); + public final void rule__IdOrSuper__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4750:1: ( rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 ) - // InternalExport.g:4751:2: rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 - { - pushFollow(FOLLOW_41); - rule__ChainExpression__Group_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ChainExpression__Group_1__1(); + // InternalExport.g:4576:1: ( ( ruleFeatureCallID ) | ( 'super' ) ) + int alt48=2; + int LA48_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA48_0==RULE_ID||(LA48_0>=60 && LA48_0<=63)) ) { + alt48=1; + } + else if ( (LA48_0==64) ) { + alt48=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 48, 0, input); + throw nvae; } + switch (alt48) { + case 1 : + // InternalExport.g:4577:2: ( ruleFeatureCallID ) + { + // InternalExport.g:4577:2: ( ruleFeatureCallID ) + // InternalExport.g:4578:3: ruleFeatureCallID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalExport.g:4583:2: ( 'super' ) + { + // InternalExport.g:4583:2: ( 'super' ) + // InternalExport.g:4584:3: 'super' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); + } + match(input,64,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -16199,73 +17004,80 @@ public final void rule__ChainExpression__Group_1__0() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ChainExpression__Group_1__0" + // $ANTLR end "rule__IdOrSuper__Alternatives" - // $ANTLR start "rule__ChainExpression__Group_1__0__Impl" - // InternalExport.g:4758:1: rule__ChainExpression__Group_1__0__Impl : ( () ) ; - public final void rule__ChainExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__XConstructorCall__Alternatives_4_1" + // InternalExport.g:4593:1: rule__XConstructorCall__Alternatives_4_1 : ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) ); + public final void rule__XConstructorCall__Alternatives_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4762:1: ( ( () ) ) - // InternalExport.g:4763:1: ( () ) - { - // InternalExport.g:4763:1: ( () ) - // InternalExport.g:4764:2: () - { - if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); - } - // InternalExport.g:4765:2: () - // InternalExport.g:4765:3: - { - } + // InternalExport.g:4597:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) ) + int alt49=2; + alt49 = dfa49.predict(input); + switch (alt49) { + case 1 : + // InternalExport.g:4598:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) + { + // InternalExport.g:4598:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) + // InternalExport.g:4599:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); + } + // InternalExport.g:4600:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) + // InternalExport.g:4600:4: rule__XConstructorCall__ArgumentsAssignment_4_1_0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_4_1_0(); - if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); + } - } + } - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalExport.g:4604:2: ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) + { + // InternalExport.g:4604:2: ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) + // InternalExport.g:4605:3: ( rule__XConstructorCall__Group_4_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); + } + // InternalExport.g:4606:3: ( rule__XConstructorCall__Group_4_1_1__0 ) + // InternalExport.g:4606:4: rule__XConstructorCall__Group_4_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4_1_1__0(); - } - return ; - } - // $ANTLR end "rule__ChainExpression__Group_1__0__Impl" + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__ChainExpression__Group_1__1" - // InternalExport.g:4773:1: rule__ChainExpression__Group_1__1 : rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 ; - public final void rule__ChainExpression__Group_1__1() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4777:1: ( rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 ) - // InternalExport.g:4778:2: rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 - { - pushFollow(FOLLOW_18); - rule__ChainExpression__Group_1__1__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ChainExpression__Group_1__2(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -16278,68 +17090,84 @@ public final void rule__ChainExpression__Group_1__1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ChainExpression__Group_1__1" + // $ANTLR end "rule__XConstructorCall__Alternatives_4_1" - // $ANTLR start "rule__ChainExpression__Group_1__1__Impl" - // InternalExport.g:4785:1: rule__ChainExpression__Group_1__1__Impl : ( '->' ) ; - public final void rule__ChainExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__XBooleanLiteral__Alternatives_1" + // InternalExport.g:4614:1: rule__XBooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) ); + public final void rule__XBooleanLiteral__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4789:1: ( ( '->' ) ) - // InternalExport.g:4790:1: ( '->' ) - { - // InternalExport.g:4790:1: ( '->' ) - // InternalExport.g:4791:2: '->' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); + // InternalExport.g:4618:1: ( ( 'false' ) | ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) ) + int alt50=2; + int LA50_0 = input.LA(1); + + if ( (LA50_0==37) ) { + alt50=1; } - match(input,60,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); + else if ( (LA50_0==36) ) { + alt50=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 50, 0, input); + throw nvae; } + switch (alt50) { + case 1 : + // InternalExport.g:4619:2: ( 'false' ) + { + // InternalExport.g:4619:2: ( 'false' ) + // InternalExport.g:4620:3: 'false' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); + } + match(input,37,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); + } + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 2 : + // InternalExport.g:4625:2: ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) + { + // InternalExport.g:4625:2: ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) + // InternalExport.g:4626:3: ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); + } + // InternalExport.g:4627:3: ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) + // InternalExport.g:4627:4: rule__XBooleanLiteral__IsTrueAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XBooleanLiteral__IsTrueAssignment_1_1(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; - } - return ; - } - // $ANTLR end "rule__ChainExpression__Group_1__1__Impl" + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); + } - // $ANTLR start "rule__ChainExpression__Group_1__2" - // InternalExport.g:4800:1: rule__ChainExpression__Group_1__2 : rule__ChainExpression__Group_1__2__Impl ; - public final void rule__ChainExpression__Group_1__2() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4804:1: ( rule__ChainExpression__Group_1__2__Impl ) - // InternalExport.g:4805:2: rule__ChainExpression__Group_1__2__Impl - { - pushFollow(FOLLOW_2); - rule__ChainExpression__Group_1__2__Impl(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -16352,83 +17180,94 @@ public final void rule__ChainExpression__Group_1__2() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ChainExpression__Group_1__2" + // $ANTLR end "rule__XBooleanLiteral__Alternatives_1" - // $ANTLR start "rule__ChainExpression__Group_1__2__Impl" - // InternalExport.g:4811:1: rule__ChainExpression__Group_1__2__Impl : ( ( rule__ChainExpression__NextAssignment_1_2 ) ) ; - public final void rule__ChainExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__XTryCatchFinallyExpression__Alternatives_3" + // InternalExport.g:4635:1: rule__XTryCatchFinallyExpression__Alternatives_3 : ( ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) | ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) ); + public final void rule__XTryCatchFinallyExpression__Alternatives_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4815:1: ( ( ( rule__ChainExpression__NextAssignment_1_2 ) ) ) - // InternalExport.g:4816:1: ( ( rule__ChainExpression__NextAssignment_1_2 ) ) - { - // InternalExport.g:4816:1: ( ( rule__ChainExpression__NextAssignment_1_2 ) ) - // InternalExport.g:4817:2: ( rule__ChainExpression__NextAssignment_1_2 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); - } - // InternalExport.g:4818:2: ( rule__ChainExpression__NextAssignment_1_2 ) - // InternalExport.g:4818:3: rule__ChainExpression__NextAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__ChainExpression__NextAssignment_1_2(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:4639:1: ( ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) | ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) ) + int alt51=2; + int LA51_0 = input.LA(1); + if ( (LA51_0==107) ) { + alt51=1; } - - if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); + else if ( (LA51_0==105) ) { + alt51=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 51, 0, input); + throw nvae; } + switch (alt51) { + case 1 : + // InternalExport.g:4640:2: ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) + { + // InternalExport.g:4640:2: ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) + // InternalExport.g:4641:3: ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); + } + // InternalExport.g:4642:3: ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) + // InternalExport.g:4642:4: rule__XTryCatchFinallyExpression__Group_3_0__0 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0__0(); + state._fsp--; + if (state.failed) return ; - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__ChainExpression__Group_1__2__Impl" + } + break; + case 2 : + // InternalExport.g:4646:2: ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) + { + // InternalExport.g:4646:2: ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) + // InternalExport.g:4647:3: ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); + } + // InternalExport.g:4648:3: ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) + // InternalExport.g:4648:4: rule__XTryCatchFinallyExpression__Group_3_1__0 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_1__0(); - // $ANTLR start "rule__IfExpressionTri__Group__0" - // InternalExport.g:4827:1: rule__IfExpressionTri__Group__0 : rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 ; - public final void rule__IfExpressionTri__Group__0() throws RecognitionException { + state._fsp--; + if (state.failed) return ; - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4831:1: ( rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 ) - // InternalExport.g:4832:2: rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 - { - pushFollow(FOLLOW_43); - rule__IfExpressionTri__Group__0__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group__1(); + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); + } - state._fsp--; - if (state.failed) return ; + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -16441,39 +17280,84 @@ public final void rule__IfExpressionTri__Group__0() throws RecognitionException } return ; } - // $ANTLR end "rule__IfExpressionTri__Group__0" + // $ANTLR end "rule__XTryCatchFinallyExpression__Alternatives_3" - // $ANTLR start "rule__IfExpressionTri__Group__0__Impl" - // InternalExport.g:4839:1: rule__IfExpressionTri__Group__0__Impl : ( ruleOrExpression ) ; - public final void rule__IfExpressionTri__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Number__Alternatives" + // InternalExport.g:4656:1: rule__Number__Alternatives : ( ( RULE_HEX ) | ( ( rule__Number__Group_1__0 ) ) ); + public final void rule__Number__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4843:1: ( ( ruleOrExpression ) ) - // InternalExport.g:4844:1: ( ruleOrExpression ) - { - // InternalExport.g:4844:1: ( ruleOrExpression ) - // InternalExport.g:4845:2: ruleOrExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleOrExpression(); + // InternalExport.g:4660:1: ( ( RULE_HEX ) | ( ( rule__Number__Group_1__0 ) ) ) + int alt52=2; + int LA52_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); + if ( (LA52_0==RULE_HEX) ) { + alt52=1; } - + else if ( ((LA52_0>=RULE_INT && LA52_0<=RULE_DECIMAL)) ) { + alt52=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 52, 0, input); - + throw nvae; } + switch (alt52) { + case 1 : + // InternalExport.g:4661:2: ( RULE_HEX ) + { + // InternalExport.g:4661:2: ( RULE_HEX ) + // InternalExport.g:4662:3: RULE_HEX + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); + } + match(input,RULE_HEX,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalExport.g:4667:2: ( ( rule__Number__Group_1__0 ) ) + { + // InternalExport.g:4667:2: ( ( rule__Number__Group_1__0 ) ) + // InternalExport.g:4668:3: ( rule__Number__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getGroup_1()); + } + // InternalExport.g:4669:3: ( rule__Number__Group_1__0 ) + // InternalExport.g:4669:4: rule__Number__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__Number__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getGroup_1()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -16486,27 +17370,74 @@ public final void rule__IfExpressionTri__Group__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__IfExpressionTri__Group__0__Impl" + // $ANTLR end "rule__Number__Alternatives" - // $ANTLR start "rule__IfExpressionTri__Group__1" - // InternalExport.g:4854:1: rule__IfExpressionTri__Group__1 : rule__IfExpressionTri__Group__1__Impl ; - public final void rule__IfExpressionTri__Group__1() throws RecognitionException { + // $ANTLR start "rule__Number__Alternatives_1_0" + // InternalExport.g:4677:1: rule__Number__Alternatives_1_0 : ( ( RULE_INT ) | ( RULE_DECIMAL ) ); + public final void rule__Number__Alternatives_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4858:1: ( rule__IfExpressionTri__Group__1__Impl ) - // InternalExport.g:4859:2: rule__IfExpressionTri__Group__1__Impl - { - pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group__1__Impl(); + // InternalExport.g:4681:1: ( ( RULE_INT ) | ( RULE_DECIMAL ) ) + int alt53=2; + int LA53_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA53_0==RULE_INT) ) { + alt53=1; + } + else if ( (LA53_0==RULE_DECIMAL) ) { + alt53=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 53, 0, input); + throw nvae; } + switch (alt53) { + case 1 : + // InternalExport.g:4682:2: ( RULE_INT ) + { + // InternalExport.g:4682:2: ( RULE_INT ) + // InternalExport.g:4683:3: RULE_INT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); + } + + } + + + } + break; + case 2 : + // InternalExport.g:4688:2: ( RULE_DECIMAL ) + { + // InternalExport.g:4688:2: ( RULE_DECIMAL ) + // InternalExport.g:4689:3: RULE_DECIMAL + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); + } + match(input,RULE_DECIMAL,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -16519,56 +17450,74 @@ public final void rule__IfExpressionTri__Group__1() throws RecognitionException } return ; } - // $ANTLR end "rule__IfExpressionTri__Group__1" + // $ANTLR end "rule__Number__Alternatives_1_0" - // $ANTLR start "rule__IfExpressionTri__Group__1__Impl" - // InternalExport.g:4865:1: rule__IfExpressionTri__Group__1__Impl : ( ( rule__IfExpressionTri__Group_1__0 )? ) ; - public final void rule__IfExpressionTri__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Number__Alternatives_1_1_1" + // InternalExport.g:4698:1: rule__Number__Alternatives_1_1_1 : ( ( RULE_INT ) | ( RULE_DECIMAL ) ); + public final void rule__Number__Alternatives_1_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4869:1: ( ( ( rule__IfExpressionTri__Group_1__0 )? ) ) - // InternalExport.g:4870:1: ( ( rule__IfExpressionTri__Group_1__0 )? ) - { - // InternalExport.g:4870:1: ( ( rule__IfExpressionTri__Group_1__0 )? ) - // InternalExport.g:4871:2: ( rule__IfExpressionTri__Group_1__0 )? - { - if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getGroup_1()); + // InternalExport.g:4702:1: ( ( RULE_INT ) | ( RULE_DECIMAL ) ) + int alt54=2; + int LA54_0 = input.LA(1); + + if ( (LA54_0==RULE_INT) ) { + alt54=1; } - // InternalExport.g:4872:2: ( rule__IfExpressionTri__Group_1__0 )? - int alt48=2; - int LA48_0 = input.LA(1); + else if ( (LA54_0==RULE_DECIMAL) ) { + alt54=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 54, 0, input); - if ( (LA48_0==61) ) { - alt48=1; + throw nvae; } - switch (alt48) { + switch (alt54) { case 1 : - // InternalExport.g:4872:3: rule__IfExpressionTri__Group_1__0 + // InternalExport.g:4703:2: ( RULE_INT ) { - pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__0(); + // InternalExport.g:4703:2: ( RULE_INT ) + // InternalExport.g:4704:3: RULE_INT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); + } + + } - state._fsp--; - if (state.failed) return ; } break; + case 2 : + // InternalExport.g:4709:2: ( RULE_DECIMAL ) + { + // InternalExport.g:4709:2: ( RULE_DECIMAL ) + // InternalExport.g:4710:3: RULE_DECIMAL + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); + } + match(input,RULE_DECIMAL,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); + } - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getGroup_1()); - } + } - } + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -16581,32 +17530,88 @@ public final void rule__IfExpressionTri__Group__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__IfExpressionTri__Group__1__Impl" + // $ANTLR end "rule__Number__Alternatives_1_1_1" - // $ANTLR start "rule__IfExpressionTri__Group_1__0" - // InternalExport.g:4881:1: rule__IfExpressionTri__Group_1__0 : rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 ; - public final void rule__IfExpressionTri__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__JvmTypeReference__Alternatives" + // InternalExport.g:4719:1: rule__JvmTypeReference__Alternatives : ( ( ( rule__JvmTypeReference__Group_0__0 ) ) | ( ruleXFunctionTypeRef ) ); + public final void rule__JvmTypeReference__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4885:1: ( rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 ) - // InternalExport.g:4886:2: rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 - { - pushFollow(FOLLOW_43); - rule__IfExpressionTri__Group_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__1(); + // InternalExport.g:4723:1: ( ( ( rule__JvmTypeReference__Group_0__0 ) ) | ( ruleXFunctionTypeRef ) ) + int alt55=2; + int LA55_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA55_0==RULE_ID) ) { + alt55=1; + } + else if ( (LA55_0==51||LA55_0==77) ) { + alt55=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 55, 0, input); + throw nvae; } + switch (alt55) { + case 1 : + // InternalExport.g:4724:2: ( ( rule__JvmTypeReference__Group_0__0 ) ) + { + // InternalExport.g:4724:2: ( ( rule__JvmTypeReference__Group_0__0 ) ) + // InternalExport.g:4725:3: ( rule__JvmTypeReference__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); + } + // InternalExport.g:4726:3: ( rule__JvmTypeReference__Group_0__0 ) + // InternalExport.g:4726:4: rule__JvmTypeReference__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); + } + + } + + } + break; + case 2 : + // InternalExport.g:4730:2: ( ruleXFunctionTypeRef ) + { + // InternalExport.g:4730:2: ( ruleXFunctionTypeRef ) + // InternalExport.g:4731:3: ruleXFunctionTypeRef + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXFunctionTypeRef(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -16619,73 +17624,82 @@ public final void rule__IfExpressionTri__Group_1__0() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__0" + // $ANTLR end "rule__JvmTypeReference__Alternatives" - // $ANTLR start "rule__IfExpressionTri__Group_1__0__Impl" - // InternalExport.g:4893:1: rule__IfExpressionTri__Group_1__0__Impl : ( () ) ; - public final void rule__IfExpressionTri__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__JvmArgumentTypeReference__Alternatives" + // InternalExport.g:4740:1: rule__JvmArgumentTypeReference__Alternatives : ( ( ruleJvmTypeReference ) | ( ruleJvmWildcardTypeReference ) ); + public final void rule__JvmArgumentTypeReference__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4897:1: ( ( () ) ) - // InternalExport.g:4898:1: ( () ) - { - // InternalExport.g:4898:1: ( () ) - // InternalExport.g:4899:2: () - { - if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); - } - // InternalExport.g:4900:2: () - // InternalExport.g:4900:3: - { - } + // InternalExport.g:4744:1: ( ( ruleJvmTypeReference ) | ( ruleJvmWildcardTypeReference ) ) + int alt56=2; + int LA56_0 = input.LA(1); - if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); + if ( (LA56_0==RULE_ID||LA56_0==51||LA56_0==77) ) { + alt56=1; } - + else if ( (LA56_0==86) ) { + alt56=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 56, 0, input); - + throw nvae; } + switch (alt56) { + case 1 : + // InternalExport.g:4745:2: ( ruleJvmTypeReference ) + { + // InternalExport.g:4745:2: ( ruleJvmTypeReference ) + // InternalExport.g:4746:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__IfExpressionTri__Group_1__0__Impl" + } + break; + case 2 : + // InternalExport.g:4751:2: ( ruleJvmWildcardTypeReference ) + { + // InternalExport.g:4751:2: ( ruleJvmWildcardTypeReference ) + // InternalExport.g:4752:3: ruleJvmWildcardTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleJvmWildcardTypeReference(); - // $ANTLR start "rule__IfExpressionTri__Group_1__1" - // InternalExport.g:4908:1: rule__IfExpressionTri__Group_1__1 : rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 ; - public final void rule__IfExpressionTri__Group_1__1() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:4912:1: ( rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 ) - // InternalExport.g:4913:2: rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 - { - pushFollow(FOLLOW_18); - rule__IfExpressionTri__Group_1__1__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__2(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -16698,35 +17712,94 @@ public final void rule__IfExpressionTri__Group_1__1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__1" + // $ANTLR end "rule__JvmArgumentTypeReference__Alternatives" - // $ANTLR start "rule__IfExpressionTri__Group_1__1__Impl" - // InternalExport.g:4920:1: rule__IfExpressionTri__Group_1__1__Impl : ( '?' ) ; - public final void rule__IfExpressionTri__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__JvmWildcardTypeReference__Alternatives_2" + // InternalExport.g:4761:1: rule__JvmWildcardTypeReference__Alternatives_2 : ( ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) | ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) ); + public final void rule__JvmWildcardTypeReference__Alternatives_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4924:1: ( ( '?' ) ) - // InternalExport.g:4925:1: ( '?' ) - { - // InternalExport.g:4925:1: ( '?' ) - // InternalExport.g:4926:2: '?' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); + // InternalExport.g:4765:1: ( ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) | ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) ) + int alt57=2; + int LA57_0 = input.LA(1); + + if ( (LA57_0==60) ) { + alt57=1; } - match(input,61,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); + else if ( (LA57_0==64) ) { + alt57=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 57, 0, input); + throw nvae; } + switch (alt57) { + case 1 : + // InternalExport.g:4766:2: ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) + { + // InternalExport.g:4766:2: ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) + // InternalExport.g:4767:3: ( rule__JvmWildcardTypeReference__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); + } + // InternalExport.g:4768:3: ( rule__JvmWildcardTypeReference__Group_2_0__0 ) + // InternalExport.g:4768:4: rule__JvmWildcardTypeReference__Group_2_0__0 + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_0__0(); + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); + } + + } + + + } + break; + case 2 : + // InternalExport.g:4772:2: ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) + { + // InternalExport.g:4772:2: ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) + // InternalExport.g:4773:3: ( rule__JvmWildcardTypeReference__Group_2_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); + } + // InternalExport.g:4774:3: ( rule__JvmWildcardTypeReference__Group_2_1__0 ) + // InternalExport.g:4774:4: rule__JvmWildcardTypeReference__Group_2_1__0 + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); + } + + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -16739,32 +17812,109 @@ public final void rule__IfExpressionTri__Group_1__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__1__Impl" + // $ANTLR end "rule__JvmWildcardTypeReference__Alternatives_2" - // $ANTLR start "rule__IfExpressionTri__Group_1__2" - // InternalExport.g:4935:1: rule__IfExpressionTri__Group_1__2 : rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 ; - public final void rule__IfExpressionTri__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__XImportDeclaration__Alternatives_1" + // InternalExport.g:4782:1: rule__XImportDeclaration__Alternatives_1 : ( ( ( rule__XImportDeclaration__Group_1_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) ) ); + public final void rule__XImportDeclaration__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4939:1: ( rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 ) - // InternalExport.g:4940:2: rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 - { - pushFollow(FOLLOW_39); - rule__IfExpressionTri__Group_1__2__Impl(); + // InternalExport.g:4786:1: ( ( ( rule__XImportDeclaration__Group_1_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) ) ) + int alt58=3; + alt58 = dfa58.predict(input); + switch (alt58) { + case 1 : + // InternalExport.g:4787:2: ( ( rule__XImportDeclaration__Group_1_0__0 ) ) + { + // InternalExport.g:4787:2: ( ( rule__XImportDeclaration__Group_1_0__0 ) ) + // InternalExport.g:4788:3: ( rule__XImportDeclaration__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); + } + // InternalExport.g:4789:3: ( rule__XImportDeclaration__Group_1_0__0 ) + // InternalExport.g:4789:4: rule__XImportDeclaration__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group_1_0__0(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__3(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); + } + + } + + + } + break; + case 2 : + // InternalExport.g:4793:2: ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) ) + { + // InternalExport.g:4793:2: ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) ) + // InternalExport.g:4794:3: ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); + } + // InternalExport.g:4795:3: ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) + // InternalExport.g:4795:4: rule__XImportDeclaration__ImportedTypeAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__ImportedTypeAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); + } + + } + + } + break; + case 3 : + // InternalExport.g:4799:2: ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) ) + { + // InternalExport.g:4799:2: ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) ) + // InternalExport.g:4800:3: ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); + } + // InternalExport.g:4801:3: ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) + // InternalExport.g:4801:4: rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__ImportedNamespaceAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -16777,45 +17927,94 @@ public final void rule__IfExpressionTri__Group_1__2() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__2" + // $ANTLR end "rule__XImportDeclaration__Alternatives_1" - // $ANTLR start "rule__IfExpressionTri__Group_1__2__Impl" - // InternalExport.g:4947:1: rule__IfExpressionTri__Group_1__2__Impl : ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) ; - public final void rule__IfExpressionTri__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__XImportDeclaration__Alternatives_1_0_3" + // InternalExport.g:4809:1: rule__XImportDeclaration__Alternatives_1_0_3 : ( ( ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) ) | ( ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) ) ); + public final void rule__XImportDeclaration__Alternatives_1_0_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4951:1: ( ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) ) - // InternalExport.g:4952:1: ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) - { - // InternalExport.g:4952:1: ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) - // InternalExport.g:4953:2: ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); - } - // InternalExport.g:4954:2: ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) - // InternalExport.g:4954:3: rule__IfExpressionTri__ThenPartAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__IfExpressionTri__ThenPartAssignment_1_2(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:4813:1: ( ( ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) ) | ( ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) ) ) + int alt59=2; + int LA59_0 = input.LA(1); + if ( (LA59_0==25) ) { + alt59=1; } - - if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); + else if ( (LA59_0==RULE_ID) ) { + alt59=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 59, 0, input); + throw nvae; } + switch (alt59) { + case 1 : + // InternalExport.g:4814:2: ( ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) ) + { + // InternalExport.g:4814:2: ( ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) ) + // InternalExport.g:4815:3: ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); + } + // InternalExport.g:4816:3: ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) + // InternalExport.g:4816:4: rule__XImportDeclaration__WildcardAssignment_1_0_3_0 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__WildcardAssignment_1_0_3_0(); + + state._fsp--; + if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); + } + + } + + + } + break; + case 2 : + // InternalExport.g:4820:2: ( ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) ) + { + // InternalExport.g:4820:2: ( ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) ) + // InternalExport.g:4821:3: ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); + } + // InternalExport.g:4822:3: ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) + // InternalExport.g:4822:4: rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__MemberNameAssignment_1_0_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -16828,26 +18027,26 @@ public final void rule__IfExpressionTri__Group_1__2__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__2__Impl" + // $ANTLR end "rule__XImportDeclaration__Alternatives_1_0_3" - // $ANTLR start "rule__IfExpressionTri__Group_1__3" - // InternalExport.g:4962:1: rule__IfExpressionTri__Group_1__3 : rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 ; - public final void rule__IfExpressionTri__Group_1__3() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group__0" + // InternalExport.g:4830:1: rule__ExportModel__Group__0 : rule__ExportModel__Group__0__Impl rule__ExportModel__Group__1 ; + public final void rule__ExportModel__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4966:1: ( rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 ) - // InternalExport.g:4967:2: rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 + // InternalExport.g:4834:1: ( rule__ExportModel__Group__0__Impl rule__ExportModel__Group__1 ) + // InternalExport.g:4835:2: rule__ExportModel__Group__0__Impl rule__ExportModel__Group__1 { - pushFollow(FOLLOW_18); - rule__IfExpressionTri__Group_1__3__Impl(); + pushFollow(FOLLOW_4); + rule__ExportModel__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__4(); + rule__ExportModel__Group__1(); state._fsp--; if (state.failed) return ; @@ -16866,28 +18065,49 @@ public final void rule__IfExpressionTri__Group_1__3() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__3" + // $ANTLR end "rule__ExportModel__Group__0" - // $ANTLR start "rule__IfExpressionTri__Group_1__3__Impl" - // InternalExport.g:4974:1: rule__IfExpressionTri__Group_1__3__Impl : ( ':' ) ; - public final void rule__IfExpressionTri__Group_1__3__Impl() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group__0__Impl" + // InternalExport.g:4842:1: rule__ExportModel__Group__0__Impl : ( ( rule__ExportModel__Group_0__0 )? ) ; + public final void rule__ExportModel__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4978:1: ( ( ':' ) ) - // InternalExport.g:4979:1: ( ':' ) + // InternalExport.g:4846:1: ( ( ( rule__ExportModel__Group_0__0 )? ) ) + // InternalExport.g:4847:1: ( ( rule__ExportModel__Group_0__0 )? ) { - // InternalExport.g:4979:1: ( ':' ) - // InternalExport.g:4980:2: ':' + // InternalExport.g:4847:1: ( ( rule__ExportModel__Group_0__0 )? ) + // InternalExport.g:4848:2: ( rule__ExportModel__Group_0__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); + before(grammarAccess.getExportModelAccess().getGroup_0()); } - match(input,59,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:4849:2: ( rule__ExportModel__Group_0__0 )? + int alt60=2; + int LA60_0 = input.LA(1); + + if ( (LA60_0==65) ) { + alt60=1; + } + switch (alt60) { + case 1 : + // InternalExport.g:4849:3: rule__ExportModel__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__ExportModel__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); + after(grammarAccess.getExportModelAccess().getGroup_0()); } } @@ -16907,21 +18127,26 @@ public final void rule__IfExpressionTri__Group_1__3__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__3__Impl" + // $ANTLR end "rule__ExportModel__Group__0__Impl" - // $ANTLR start "rule__IfExpressionTri__Group_1__4" - // InternalExport.g:4989:1: rule__IfExpressionTri__Group_1__4 : rule__IfExpressionTri__Group_1__4__Impl ; - public final void rule__IfExpressionTri__Group_1__4() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group__1" + // InternalExport.g:4857:1: rule__ExportModel__Group__1 : rule__ExportModel__Group__1__Impl rule__ExportModel__Group__2 ; + public final void rule__ExportModel__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:4993:1: ( rule__IfExpressionTri__Group_1__4__Impl ) - // InternalExport.g:4994:2: rule__IfExpressionTri__Group_1__4__Impl + // InternalExport.g:4861:1: ( rule__ExportModel__Group__1__Impl rule__ExportModel__Group__2 ) + // InternalExport.g:4862:2: rule__ExportModel__Group__1__Impl rule__ExportModel__Group__2 { + pushFollow(FOLLOW_5); + rule__ExportModel__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__4__Impl(); + rule__ExportModel__Group__2(); state._fsp--; if (state.failed) return ; @@ -16940,30 +18165,33 @@ public final void rule__IfExpressionTri__Group_1__4() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__4" + // $ANTLR end "rule__ExportModel__Group__1" - // $ANTLR start "rule__IfExpressionTri__Group_1__4__Impl" - // InternalExport.g:5000:1: rule__IfExpressionTri__Group_1__4__Impl : ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) ; - public final void rule__IfExpressionTri__Group_1__4__Impl() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group__1__Impl" + // InternalExport.g:4869:1: rule__ExportModel__Group__1__Impl : ( ( ( rule__ExportModel__ImportsAssignment_1 ) ) ( ( rule__ExportModel__ImportsAssignment_1 )* ) ) ; + public final void rule__ExportModel__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5004:1: ( ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) ) - // InternalExport.g:5005:1: ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) + // InternalExport.g:4873:1: ( ( ( ( rule__ExportModel__ImportsAssignment_1 ) ) ( ( rule__ExportModel__ImportsAssignment_1 )* ) ) ) + // InternalExport.g:4874:1: ( ( ( rule__ExportModel__ImportsAssignment_1 ) ) ( ( rule__ExportModel__ImportsAssignment_1 )* ) ) { - // InternalExport.g:5005:1: ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) - // InternalExport.g:5006:2: ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) + // InternalExport.g:4874:1: ( ( ( rule__ExportModel__ImportsAssignment_1 ) ) ( ( rule__ExportModel__ImportsAssignment_1 )* ) ) + // InternalExport.g:4875:2: ( ( rule__ExportModel__ImportsAssignment_1 ) ) ( ( rule__ExportModel__ImportsAssignment_1 )* ) + { + // InternalExport.g:4875:2: ( ( rule__ExportModel__ImportsAssignment_1 ) ) + // InternalExport.g:4876:3: ( rule__ExportModel__ImportsAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); + before(grammarAccess.getExportModelAccess().getImportsAssignment_1()); } - // InternalExport.g:5007:2: ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) - // InternalExport.g:5007:3: rule__IfExpressionTri__ElsePartAssignment_1_4 + // InternalExport.g:4877:3: ( rule__ExportModel__ImportsAssignment_1 ) + // InternalExport.g:4877:4: rule__ExportModel__ImportsAssignment_1 { - pushFollow(FOLLOW_2); - rule__IfExpressionTri__ElsePartAssignment_1_4(); + pushFollow(FOLLOW_6); + rule__ExportModel__ImportsAssignment_1(); state._fsp--; if (state.failed) return ; @@ -16971,12 +18199,56 @@ public final void rule__IfExpressionTri__Group_1__4__Impl() throws RecognitionEx } if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); + after(grammarAccess.getExportModelAccess().getImportsAssignment_1()); } } - + // InternalExport.g:4880:2: ( ( rule__ExportModel__ImportsAssignment_1 )* ) + // InternalExport.g:4881:3: ( rule__ExportModel__ImportsAssignment_1 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportModelAccess().getImportsAssignment_1()); + } + // InternalExport.g:4882:3: ( rule__ExportModel__ImportsAssignment_1 )* + loop61: + do { + int alt61=2; + int LA61_0 = input.LA(1); + + if ( (LA61_0==62) ) { + alt61=1; + } + + + switch (alt61) { + case 1 : + // InternalExport.g:4882:4: rule__ExportModel__ImportsAssignment_1 + { + pushFollow(FOLLOW_6); + rule__ExportModel__ImportsAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop61; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getExportModelAccess().getImportsAssignment_1()); + } + + } + + + } + + } } @@ -16991,26 +18263,26 @@ public final void rule__IfExpressionTri__Group_1__4__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__4__Impl" + // $ANTLR end "rule__ExportModel__Group__1__Impl" - // $ANTLR start "rule__IfExpressionKw__Group__0" - // InternalExport.g:5016:1: rule__IfExpressionKw__Group__0 : rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 ; - public final void rule__IfExpressionKw__Group__0() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group__2" + // InternalExport.g:4891:1: rule__ExportModel__Group__2 : rule__ExportModel__Group__2__Impl rule__ExportModel__Group__3 ; + public final void rule__ExportModel__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5020:1: ( rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 ) - // InternalExport.g:5021:2: rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 + // InternalExport.g:4895:1: ( rule__ExportModel__Group__2__Impl rule__ExportModel__Group__3 ) + // InternalExport.g:4896:2: rule__ExportModel__Group__2__Impl rule__ExportModel__Group__3 { - pushFollow(FOLLOW_18); - rule__IfExpressionKw__Group__0__Impl(); + pushFollow(FOLLOW_5); + rule__ExportModel__Group__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group__1(); + rule__ExportModel__Group__3(); state._fsp--; if (state.failed) return ; @@ -17029,28 +18301,56 @@ public final void rule__IfExpressionKw__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__0" + // $ANTLR end "rule__ExportModel__Group__2" - // $ANTLR start "rule__IfExpressionKw__Group__0__Impl" - // InternalExport.g:5028:1: rule__IfExpressionKw__Group__0__Impl : ( 'if' ) ; - public final void rule__IfExpressionKw__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group__2__Impl" + // InternalExport.g:4903:1: rule__ExportModel__Group__2__Impl : ( ( rule__ExportModel__ExtensionsAssignment_2 )* ) ; + public final void rule__ExportModel__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5032:1: ( ( 'if' ) ) - // InternalExport.g:5033:1: ( 'if' ) + // InternalExport.g:4907:1: ( ( ( rule__ExportModel__ExtensionsAssignment_2 )* ) ) + // InternalExport.g:4908:1: ( ( rule__ExportModel__ExtensionsAssignment_2 )* ) { - // InternalExport.g:5033:1: ( 'if' ) - // InternalExport.g:5034:2: 'if' + // InternalExport.g:4908:1: ( ( rule__ExportModel__ExtensionsAssignment_2 )* ) + // InternalExport.g:4909:2: ( rule__ExportModel__ExtensionsAssignment_2 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); + before(grammarAccess.getExportModelAccess().getExtensionsAssignment_2()); } - match(input,62,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:4910:2: ( rule__ExportModel__ExtensionsAssignment_2 )* + loop62: + do { + int alt62=2; + int LA62_0 = input.LA(1); + + if ( (LA62_0==63) ) { + alt62=1; + } + + + switch (alt62) { + case 1 : + // InternalExport.g:4910:3: rule__ExportModel__ExtensionsAssignment_2 + { + pushFollow(FOLLOW_7); + rule__ExportModel__ExtensionsAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop62; + } + } while (true); + if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); + after(grammarAccess.getExportModelAccess().getExtensionsAssignment_2()); } } @@ -17070,26 +18370,26 @@ public final void rule__IfExpressionKw__Group__0__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__0__Impl" + // $ANTLR end "rule__ExportModel__Group__2__Impl" - // $ANTLR start "rule__IfExpressionKw__Group__1" - // InternalExport.g:5043:1: rule__IfExpressionKw__Group__1 : rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 ; - public final void rule__IfExpressionKw__Group__1() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group__3" + // InternalExport.g:4918:1: rule__ExportModel__Group__3 : rule__ExportModel__Group__3__Impl rule__ExportModel__Group__4 ; + public final void rule__ExportModel__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5047:1: ( rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 ) - // InternalExport.g:5048:2: rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 + // InternalExport.g:4922:1: ( rule__ExportModel__Group__3__Impl rule__ExportModel__Group__4 ) + // InternalExport.g:4923:2: rule__ExportModel__Group__3__Impl rule__ExportModel__Group__4 { - pushFollow(FOLLOW_44); - rule__IfExpressionKw__Group__1__Impl(); + pushFollow(FOLLOW_5); + rule__ExportModel__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group__2(); + rule__ExportModel__Group__4(); state._fsp--; if (state.failed) return ; @@ -17108,38 +18408,49 @@ public final void rule__IfExpressionKw__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__1" + // $ANTLR end "rule__ExportModel__Group__3" - // $ANTLR start "rule__IfExpressionKw__Group__1__Impl" - // InternalExport.g:5055:1: rule__IfExpressionKw__Group__1__Impl : ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) ; - public final void rule__IfExpressionKw__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group__3__Impl" + // InternalExport.g:4930:1: rule__ExportModel__Group__3__Impl : ( ( rule__ExportModel__Group_3__0 )? ) ; + public final void rule__ExportModel__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5059:1: ( ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) ) - // InternalExport.g:5060:1: ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) + // InternalExport.g:4934:1: ( ( ( rule__ExportModel__Group_3__0 )? ) ) + // InternalExport.g:4935:1: ( ( rule__ExportModel__Group_3__0 )? ) { - // InternalExport.g:5060:1: ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) - // InternalExport.g:5061:2: ( rule__IfExpressionKw__ConditionAssignment_1 ) + // InternalExport.g:4935:1: ( ( rule__ExportModel__Group_3__0 )? ) + // InternalExport.g:4936:2: ( rule__ExportModel__Group_3__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); + before(grammarAccess.getExportModelAccess().getGroup_3()); } - // InternalExport.g:5062:2: ( rule__IfExpressionKw__ConditionAssignment_1 ) - // InternalExport.g:5062:3: rule__IfExpressionKw__ConditionAssignment_1 - { - pushFollow(FOLLOW_2); - rule__IfExpressionKw__ConditionAssignment_1(); + // InternalExport.g:4937:2: ( rule__ExportModel__Group_3__0 )? + int alt63=2; + int LA63_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA63_0==67) ) { + alt63=1; + } + switch (alt63) { + case 1 : + // InternalExport.g:4937:3: rule__ExportModel__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__ExportModel__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; } if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); + after(grammarAccess.getExportModelAccess().getGroup_3()); } } @@ -17159,26 +18470,21 @@ public final void rule__IfExpressionKw__Group__1__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__1__Impl" + // $ANTLR end "rule__ExportModel__Group__3__Impl" - // $ANTLR start "rule__IfExpressionKw__Group__2" - // InternalExport.g:5070:1: rule__IfExpressionKw__Group__2 : rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 ; - public final void rule__IfExpressionKw__Group__2() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group__4" + // InternalExport.g:4945:1: rule__ExportModel__Group__4 : rule__ExportModel__Group__4__Impl ; + public final void rule__ExportModel__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5074:1: ( rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 ) - // InternalExport.g:5075:2: rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 + // InternalExport.g:4949:1: ( rule__ExportModel__Group__4__Impl ) + // InternalExport.g:4950:2: rule__ExportModel__Group__4__Impl { - pushFollow(FOLLOW_18); - rule__IfExpressionKw__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group__3(); + rule__ExportModel__Group__4__Impl(); state._fsp--; if (state.failed) return ; @@ -17197,28 +18503,82 @@ public final void rule__IfExpressionKw__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__2" + // $ANTLR end "rule__ExportModel__Group__4" - // $ANTLR start "rule__IfExpressionKw__Group__2__Impl" - // InternalExport.g:5082:1: rule__IfExpressionKw__Group__2__Impl : ( 'then' ) ; - public final void rule__IfExpressionKw__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group__4__Impl" + // InternalExport.g:4956:1: rule__ExportModel__Group__4__Impl : ( ( ( rule__ExportModel__ExportsAssignment_4 ) ) ( ( rule__ExportModel__ExportsAssignment_4 )* ) ) ; + public final void rule__ExportModel__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5086:1: ( ( 'then' ) ) - // InternalExport.g:5087:1: ( 'then' ) + // InternalExport.g:4960:1: ( ( ( ( rule__ExportModel__ExportsAssignment_4 ) ) ( ( rule__ExportModel__ExportsAssignment_4 )* ) ) ) + // InternalExport.g:4961:1: ( ( ( rule__ExportModel__ExportsAssignment_4 ) ) ( ( rule__ExportModel__ExportsAssignment_4 )* ) ) { - // InternalExport.g:5087:1: ( 'then' ) - // InternalExport.g:5088:2: 'then' + // InternalExport.g:4961:1: ( ( ( rule__ExportModel__ExportsAssignment_4 ) ) ( ( rule__ExportModel__ExportsAssignment_4 )* ) ) + // InternalExport.g:4962:2: ( ( rule__ExportModel__ExportsAssignment_4 ) ) ( ( rule__ExportModel__ExportsAssignment_4 )* ) + { + // InternalExport.g:4962:2: ( ( rule__ExportModel__ExportsAssignment_4 ) ) + // InternalExport.g:4963:3: ( rule__ExportModel__ExportsAssignment_4 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); + before(grammarAccess.getExportModelAccess().getExportsAssignment_4()); } - match(input,63,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:4964:3: ( rule__ExportModel__ExportsAssignment_4 ) + // InternalExport.g:4964:4: rule__ExportModel__ExportsAssignment_4 + { + pushFollow(FOLLOW_8); + rule__ExportModel__ExportsAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); + after(grammarAccess.getExportModelAccess().getExportsAssignment_4()); + } + + } + + // InternalExport.g:4967:2: ( ( rule__ExportModel__ExportsAssignment_4 )* ) + // InternalExport.g:4968:3: ( rule__ExportModel__ExportsAssignment_4 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportModelAccess().getExportsAssignment_4()); + } + // InternalExport.g:4969:3: ( rule__ExportModel__ExportsAssignment_4 )* + loop64: + do { + int alt64=2; + int LA64_0 = input.LA(1); + + if ( (LA64_0==65) ) { + alt64=1; + } + + + switch (alt64) { + case 1 : + // InternalExport.g:4969:4: rule__ExportModel__ExportsAssignment_4 + { + pushFollow(FOLLOW_8); + rule__ExportModel__ExportsAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop64; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getExportModelAccess().getExportsAssignment_4()); } } @@ -17226,6 +18586,9 @@ public final void rule__IfExpressionKw__Group__2__Impl() throws RecognitionExcep } + + } + } catch (RecognitionException re) { reportError(re); @@ -17238,26 +18601,26 @@ public final void rule__IfExpressionKw__Group__2__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__2__Impl" + // $ANTLR end "rule__ExportModel__Group__4__Impl" - // $ANTLR start "rule__IfExpressionKw__Group__3" - // InternalExport.g:5097:1: rule__IfExpressionKw__Group__3 : rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 ; - public final void rule__IfExpressionKw__Group__3() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_0__0" + // InternalExport.g:4979:1: rule__ExportModel__Group_0__0 : rule__ExportModel__Group_0__0__Impl rule__ExportModel__Group_0__1 ; + public final void rule__ExportModel__Group_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5101:1: ( rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 ) - // InternalExport.g:5102:2: rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 + // InternalExport.g:4983:1: ( rule__ExportModel__Group_0__0__Impl rule__ExportModel__Group_0__1 ) + // InternalExport.g:4984:2: rule__ExportModel__Group_0__0__Impl rule__ExportModel__Group_0__1 { - pushFollow(FOLLOW_45); - rule__IfExpressionKw__Group__3__Impl(); + pushFollow(FOLLOW_9); + rule__ExportModel__Group_0__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group__4(); + rule__ExportModel__Group_0__1(); state._fsp--; if (state.failed) return ; @@ -17276,38 +18639,28 @@ public final void rule__IfExpressionKw__Group__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__3" + // $ANTLR end "rule__ExportModel__Group_0__0" - // $ANTLR start "rule__IfExpressionKw__Group__3__Impl" - // InternalExport.g:5109:1: rule__IfExpressionKw__Group__3__Impl : ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) ; - public final void rule__IfExpressionKw__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_0__0__Impl" + // InternalExport.g:4991:1: rule__ExportModel__Group_0__0__Impl : ( 'export' ) ; + public final void rule__ExportModel__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5113:1: ( ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) ) - // InternalExport.g:5114:1: ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) + // InternalExport.g:4995:1: ( ( 'export' ) ) + // InternalExport.g:4996:1: ( 'export' ) { - // InternalExport.g:5114:1: ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) - // InternalExport.g:5115:2: ( rule__IfExpressionKw__ThenPartAssignment_3 ) + // InternalExport.g:4996:1: ( 'export' ) + // InternalExport.g:4997:2: 'export' { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); - } - // InternalExport.g:5116:2: ( rule__IfExpressionKw__ThenPartAssignment_3 ) - // InternalExport.g:5116:3: rule__IfExpressionKw__ThenPartAssignment_3 - { - pushFollow(FOLLOW_2); - rule__IfExpressionKw__ThenPartAssignment_3(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getExportModelAccess().getExportKeyword_0_0()); } - + match(input,65,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); + after(grammarAccess.getExportModelAccess().getExportKeyword_0_0()); } } @@ -17327,21 +18680,26 @@ public final void rule__IfExpressionKw__Group__3__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__3__Impl" + // $ANTLR end "rule__ExportModel__Group_0__0__Impl" - // $ANTLR start "rule__IfExpressionKw__Group__4" - // InternalExport.g:5124:1: rule__IfExpressionKw__Group__4 : rule__IfExpressionKw__Group__4__Impl ; - public final void rule__IfExpressionKw__Group__4() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_0__1" + // InternalExport.g:5006:1: rule__ExportModel__Group_0__1 : rule__ExportModel__Group_0__1__Impl rule__ExportModel__Group_0__2 ; + public final void rule__ExportModel__Group_0__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5128:1: ( rule__IfExpressionKw__Group__4__Impl ) - // InternalExport.g:5129:2: rule__IfExpressionKw__Group__4__Impl + // InternalExport.g:5010:1: ( rule__ExportModel__Group_0__1__Impl rule__ExportModel__Group_0__2 ) + // InternalExport.g:5011:2: rule__ExportModel__Group_0__1__Impl rule__ExportModel__Group_0__2 { + pushFollow(FOLLOW_9); + rule__ExportModel__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group__4__Impl(); + rule__ExportModel__Group_0__2(); state._fsp--; if (state.failed) return ; @@ -17360,42 +18718,38 @@ public final void rule__IfExpressionKw__Group__4() throws RecognitionException { } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__4" + // $ANTLR end "rule__ExportModel__Group_0__1" - // $ANTLR start "rule__IfExpressionKw__Group__4__Impl" - // InternalExport.g:5135:1: rule__IfExpressionKw__Group__4__Impl : ( ( rule__IfExpressionKw__Group_4__0 )? ) ; - public final void rule__IfExpressionKw__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_0__1__Impl" + // InternalExport.g:5018:1: rule__ExportModel__Group_0__1__Impl : ( ( rule__ExportModel__ExtensionAssignment_0_1 )? ) ; + public final void rule__ExportModel__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5139:1: ( ( ( rule__IfExpressionKw__Group_4__0 )? ) ) - // InternalExport.g:5140:1: ( ( rule__IfExpressionKw__Group_4__0 )? ) + // InternalExport.g:5022:1: ( ( ( rule__ExportModel__ExtensionAssignment_0_1 )? ) ) + // InternalExport.g:5023:1: ( ( rule__ExportModel__ExtensionAssignment_0_1 )? ) { - // InternalExport.g:5140:1: ( ( rule__IfExpressionKw__Group_4__0 )? ) - // InternalExport.g:5141:2: ( rule__IfExpressionKw__Group_4__0 )? + // InternalExport.g:5023:1: ( ( rule__ExportModel__ExtensionAssignment_0_1 )? ) + // InternalExport.g:5024:2: ( rule__ExportModel__ExtensionAssignment_0_1 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getGroup_4()); + before(grammarAccess.getExportModelAccess().getExtensionAssignment_0_1()); } - // InternalExport.g:5142:2: ( rule__IfExpressionKw__Group_4__0 )? - int alt49=2; - int LA49_0 = input.LA(1); - - if ( (LA49_0==64) ) { - int LA49_1 = input.LA(2); + // InternalExport.g:5025:2: ( rule__ExportModel__ExtensionAssignment_0_1 )? + int alt65=2; + int LA65_0 = input.LA(1); - if ( (synpred80_InternalExport()) ) { - alt49=1; - } + if ( (LA65_0==63) ) { + alt65=1; } - switch (alt49) { + switch (alt65) { case 1 : - // InternalExport.g:5142:3: rule__IfExpressionKw__Group_4__0 + // InternalExport.g:5025:3: rule__ExportModel__ExtensionAssignment_0_1 { pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4__0(); + rule__ExportModel__ExtensionAssignment_0_1(); state._fsp--; if (state.failed) return ; @@ -17406,7 +18760,7 @@ public final void rule__IfExpressionKw__Group__4__Impl() throws RecognitionExcep } if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getGroup_4()); + after(grammarAccess.getExportModelAccess().getExtensionAssignment_0_1()); } } @@ -17426,21 +18780,26 @@ public final void rule__IfExpressionKw__Group__4__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__4__Impl" + // $ANTLR end "rule__ExportModel__Group_0__1__Impl" - // $ANTLR start "rule__IfExpressionKw__Group_4__0" - // InternalExport.g:5151:1: rule__IfExpressionKw__Group_4__0 : rule__IfExpressionKw__Group_4__0__Impl ; - public final void rule__IfExpressionKw__Group_4__0() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_0__2" + // InternalExport.g:5033:1: rule__ExportModel__Group_0__2 : rule__ExportModel__Group_0__2__Impl rule__ExportModel__Group_0__3 ; + public final void rule__ExportModel__Group_0__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5155:1: ( rule__IfExpressionKw__Group_4__0__Impl ) - // InternalExport.g:5156:2: rule__IfExpressionKw__Group_4__0__Impl + // InternalExport.g:5037:1: ( rule__ExportModel__Group_0__2__Impl rule__ExportModel__Group_0__3 ) + // InternalExport.g:5038:2: rule__ExportModel__Group_0__2__Impl rule__ExportModel__Group_0__3 { + pushFollow(FOLLOW_10); + rule__ExportModel__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4__0__Impl(); + rule__ExportModel__Group_0__3(); state._fsp--; if (state.failed) return ; @@ -17459,30 +18818,30 @@ public final void rule__IfExpressionKw__Group_4__0() throws RecognitionException } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4__0" + // $ANTLR end "rule__ExportModel__Group_0__2" - // $ANTLR start "rule__IfExpressionKw__Group_4__0__Impl" - // InternalExport.g:5162:1: rule__IfExpressionKw__Group_4__0__Impl : ( ( rule__IfExpressionKw__Group_4_0__0 ) ) ; - public final void rule__IfExpressionKw__Group_4__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_0__2__Impl" + // InternalExport.g:5045:1: rule__ExportModel__Group_0__2__Impl : ( ( rule__ExportModel__NameAssignment_0_2 ) ) ; + public final void rule__ExportModel__Group_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5166:1: ( ( ( rule__IfExpressionKw__Group_4_0__0 ) ) ) - // InternalExport.g:5167:1: ( ( rule__IfExpressionKw__Group_4_0__0 ) ) + // InternalExport.g:5049:1: ( ( ( rule__ExportModel__NameAssignment_0_2 ) ) ) + // InternalExport.g:5050:1: ( ( rule__ExportModel__NameAssignment_0_2 ) ) { - // InternalExport.g:5167:1: ( ( rule__IfExpressionKw__Group_4_0__0 ) ) - // InternalExport.g:5168:2: ( rule__IfExpressionKw__Group_4_0__0 ) + // InternalExport.g:5050:1: ( ( rule__ExportModel__NameAssignment_0_2 ) ) + // InternalExport.g:5051:2: ( rule__ExportModel__NameAssignment_0_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); + before(grammarAccess.getExportModelAccess().getNameAssignment_0_2()); } - // InternalExport.g:5169:2: ( rule__IfExpressionKw__Group_4_0__0 ) - // InternalExport.g:5169:3: rule__IfExpressionKw__Group_4_0__0 + // InternalExport.g:5052:2: ( rule__ExportModel__NameAssignment_0_2 ) + // InternalExport.g:5052:3: rule__ExportModel__NameAssignment_0_2 { pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4_0__0(); + rule__ExportModel__NameAssignment_0_2(); state._fsp--; if (state.failed) return ; @@ -17490,7 +18849,7 @@ public final void rule__IfExpressionKw__Group_4__0__Impl() throws RecognitionExc } if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); + after(grammarAccess.getExportModelAccess().getNameAssignment_0_2()); } } @@ -17510,26 +18869,26 @@ public final void rule__IfExpressionKw__Group_4__0__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4__0__Impl" + // $ANTLR end "rule__ExportModel__Group_0__2__Impl" - // $ANTLR start "rule__IfExpressionKw__Group_4_0__0" - // InternalExport.g:5178:1: rule__IfExpressionKw__Group_4_0__0 : rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 ; - public final void rule__IfExpressionKw__Group_4_0__0() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_0__3" + // InternalExport.g:5060:1: rule__ExportModel__Group_0__3 : rule__ExportModel__Group_0__3__Impl rule__ExportModel__Group_0__4 ; + public final void rule__ExportModel__Group_0__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5182:1: ( rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 ) - // InternalExport.g:5183:2: rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 + // InternalExport.g:5064:1: ( rule__ExportModel__Group_0__3__Impl rule__ExportModel__Group_0__4 ) + // InternalExport.g:5065:2: rule__ExportModel__Group_0__3__Impl rule__ExportModel__Group_0__4 { - pushFollow(FOLLOW_18); - rule__IfExpressionKw__Group_4_0__0__Impl(); + pushFollow(FOLLOW_11); + rule__ExportModel__Group_0__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4_0__1(); + rule__ExportModel__Group_0__4(); state._fsp--; if (state.failed) return ; @@ -17548,28 +18907,28 @@ public final void rule__IfExpressionKw__Group_4_0__0() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4_0__0" + // $ANTLR end "rule__ExportModel__Group_0__3" - // $ANTLR start "rule__IfExpressionKw__Group_4_0__0__Impl" - // InternalExport.g:5190:1: rule__IfExpressionKw__Group_4_0__0__Impl : ( 'else' ) ; - public final void rule__IfExpressionKw__Group_4_0__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_0__3__Impl" + // InternalExport.g:5072:1: rule__ExportModel__Group_0__3__Impl : ( 'for' ) ; + public final void rule__ExportModel__Group_0__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5194:1: ( ( 'else' ) ) - // InternalExport.g:5195:1: ( 'else' ) + // InternalExport.g:5076:1: ( ( 'for' ) ) + // InternalExport.g:5077:1: ( 'for' ) { - // InternalExport.g:5195:1: ( 'else' ) - // InternalExport.g:5196:2: 'else' + // InternalExport.g:5077:1: ( 'for' ) + // InternalExport.g:5078:2: 'for' { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); + before(grammarAccess.getExportModelAccess().getForKeyword_0_3()); } - match(input,64,FOLLOW_2); if (state.failed) return ; + match(input,66,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); + after(grammarAccess.getExportModelAccess().getForKeyword_0_3()); } } @@ -17589,21 +18948,21 @@ public final void rule__IfExpressionKw__Group_4_0__0__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4_0__0__Impl" + // $ANTLR end "rule__ExportModel__Group_0__3__Impl" - // $ANTLR start "rule__IfExpressionKw__Group_4_0__1" - // InternalExport.g:5205:1: rule__IfExpressionKw__Group_4_0__1 : rule__IfExpressionKw__Group_4_0__1__Impl ; - public final void rule__IfExpressionKw__Group_4_0__1() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_0__4" + // InternalExport.g:5087:1: rule__ExportModel__Group_0__4 : rule__ExportModel__Group_0__4__Impl ; + public final void rule__ExportModel__Group_0__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5209:1: ( rule__IfExpressionKw__Group_4_0__1__Impl ) - // InternalExport.g:5210:2: rule__IfExpressionKw__Group_4_0__1__Impl + // InternalExport.g:5091:1: ( rule__ExportModel__Group_0__4__Impl ) + // InternalExport.g:5092:2: rule__ExportModel__Group_0__4__Impl { pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4_0__1__Impl(); + rule__ExportModel__Group_0__4__Impl(); state._fsp--; if (state.failed) return ; @@ -17622,30 +18981,30 @@ public final void rule__IfExpressionKw__Group_4_0__1() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4_0__1" + // $ANTLR end "rule__ExportModel__Group_0__4" - // $ANTLR start "rule__IfExpressionKw__Group_4_0__1__Impl" - // InternalExport.g:5216:1: rule__IfExpressionKw__Group_4_0__1__Impl : ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) ; - public final void rule__IfExpressionKw__Group_4_0__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_0__4__Impl" + // InternalExport.g:5098:1: rule__ExportModel__Group_0__4__Impl : ( ( rule__ExportModel__TargetGrammarAssignment_0_4 ) ) ; + public final void rule__ExportModel__Group_0__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5220:1: ( ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) ) - // InternalExport.g:5221:1: ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) + // InternalExport.g:5102:1: ( ( ( rule__ExportModel__TargetGrammarAssignment_0_4 ) ) ) + // InternalExport.g:5103:1: ( ( rule__ExportModel__TargetGrammarAssignment_0_4 ) ) { - // InternalExport.g:5221:1: ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) - // InternalExport.g:5222:2: ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) + // InternalExport.g:5103:1: ( ( rule__ExportModel__TargetGrammarAssignment_0_4 ) ) + // InternalExport.g:5104:2: ( rule__ExportModel__TargetGrammarAssignment_0_4 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); + before(grammarAccess.getExportModelAccess().getTargetGrammarAssignment_0_4()); } - // InternalExport.g:5223:2: ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) - // InternalExport.g:5223:3: rule__IfExpressionKw__ElsePartAssignment_4_0_1 + // InternalExport.g:5105:2: ( rule__ExportModel__TargetGrammarAssignment_0_4 ) + // InternalExport.g:5105:3: rule__ExportModel__TargetGrammarAssignment_0_4 { pushFollow(FOLLOW_2); - rule__IfExpressionKw__ElsePartAssignment_4_0_1(); + rule__ExportModel__TargetGrammarAssignment_0_4(); state._fsp--; if (state.failed) return ; @@ -17653,7 +19012,7 @@ public final void rule__IfExpressionKw__Group_4_0__1__Impl() throws RecognitionE } if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); + after(grammarAccess.getExportModelAccess().getTargetGrammarAssignment_0_4()); } } @@ -17673,26 +19032,26 @@ public final void rule__IfExpressionKw__Group_4_0__1__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4_0__1__Impl" + // $ANTLR end "rule__ExportModel__Group_0__4__Impl" - // $ANTLR start "rule__SwitchExpression__Group__0" - // InternalExport.g:5232:1: rule__SwitchExpression__Group__0 : rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 ; - public final void rule__SwitchExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_3__0" + // InternalExport.g:5114:1: rule__ExportModel__Group_3__0 : rule__ExportModel__Group_3__0__Impl rule__ExportModel__Group_3__1 ; + public final void rule__ExportModel__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5236:1: ( rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 ) - // InternalExport.g:5237:2: rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 + // InternalExport.g:5118:1: ( rule__ExportModel__Group_3__0__Impl rule__ExportModel__Group_3__1 ) + // InternalExport.g:5119:2: rule__ExportModel__Group_3__0__Impl rule__ExportModel__Group_3__1 { - pushFollow(FOLLOW_46); - rule__SwitchExpression__Group__0__Impl(); + pushFollow(FOLLOW_12); + rule__ExportModel__Group_3__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__1(); + rule__ExportModel__Group_3__1(); state._fsp--; if (state.failed) return ; @@ -17711,28 +19070,28 @@ public final void rule__SwitchExpression__Group__0() throws RecognitionException } return ; } - // $ANTLR end "rule__SwitchExpression__Group__0" + // $ANTLR end "rule__ExportModel__Group_3__0" - // $ANTLR start "rule__SwitchExpression__Group__0__Impl" - // InternalExport.g:5244:1: rule__SwitchExpression__Group__0__Impl : ( 'switch' ) ; - public final void rule__SwitchExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_3__0__Impl" + // InternalExport.g:5126:1: rule__ExportModel__Group_3__0__Impl : ( 'interface' ) ; + public final void rule__ExportModel__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5248:1: ( ( 'switch' ) ) - // InternalExport.g:5249:1: ( 'switch' ) + // InternalExport.g:5130:1: ( ( 'interface' ) ) + // InternalExport.g:5131:1: ( 'interface' ) { - // InternalExport.g:5249:1: ( 'switch' ) - // InternalExport.g:5250:2: 'switch' + // InternalExport.g:5131:1: ( 'interface' ) + // InternalExport.g:5132:2: 'interface' { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); + before(grammarAccess.getExportModelAccess().getInterfaceKeyword_3_0()); } - match(input,65,FOLLOW_2); if (state.failed) return ; + match(input,67,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); + after(grammarAccess.getExportModelAccess().getInterfaceKeyword_3_0()); } } @@ -17752,26 +19111,26 @@ public final void rule__SwitchExpression__Group__0__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__0__Impl" + // $ANTLR end "rule__ExportModel__Group_3__0__Impl" - // $ANTLR start "rule__SwitchExpression__Group__1" - // InternalExport.g:5259:1: rule__SwitchExpression__Group__1 : rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 ; - public final void rule__SwitchExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_3__1" + // InternalExport.g:5141:1: rule__ExportModel__Group_3__1 : rule__ExportModel__Group_3__1__Impl rule__ExportModel__Group_3__2 ; + public final void rule__ExportModel__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5263:1: ( rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 ) - // InternalExport.g:5264:2: rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 + // InternalExport.g:5145:1: ( rule__ExportModel__Group_3__1__Impl rule__ExportModel__Group_3__2 ) + // InternalExport.g:5146:2: rule__ExportModel__Group_3__1__Impl rule__ExportModel__Group_3__2 { - pushFollow(FOLLOW_46); - rule__SwitchExpression__Group__1__Impl(); + pushFollow(FOLLOW_11); + rule__ExportModel__Group_3__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__2(); + rule__ExportModel__Group_3__2(); state._fsp--; if (state.failed) return ; @@ -17790,49 +19149,28 @@ public final void rule__SwitchExpression__Group__1() throws RecognitionException } return ; } - // $ANTLR end "rule__SwitchExpression__Group__1" + // $ANTLR end "rule__ExportModel__Group_3__1" - // $ANTLR start "rule__SwitchExpression__Group__1__Impl" - // InternalExport.g:5271:1: rule__SwitchExpression__Group__1__Impl : ( ( rule__SwitchExpression__Group_1__0 )? ) ; - public final void rule__SwitchExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_3__1__Impl" + // InternalExport.g:5153:1: rule__ExportModel__Group_3__1__Impl : ( '{' ) ; + public final void rule__ExportModel__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5275:1: ( ( ( rule__SwitchExpression__Group_1__0 )? ) ) - // InternalExport.g:5276:1: ( ( rule__SwitchExpression__Group_1__0 )? ) + // InternalExport.g:5157:1: ( ( '{' ) ) + // InternalExport.g:5158:1: ( '{' ) { - // InternalExport.g:5276:1: ( ( rule__SwitchExpression__Group_1__0 )? ) - // InternalExport.g:5277:2: ( rule__SwitchExpression__Group_1__0 )? + // InternalExport.g:5158:1: ( '{' ) + // InternalExport.g:5159:2: '{' { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getGroup_1()); - } - // InternalExport.g:5278:2: ( rule__SwitchExpression__Group_1__0 )? - int alt50=2; - int LA50_0 = input.LA(1); - - if ( (LA50_0==51) ) { - alt50=1; - } - switch (alt50) { - case 1 : - // InternalExport.g:5278:3: rule__SwitchExpression__Group_1__0 - { - pushFollow(FOLLOW_2); - rule__SwitchExpression__Group_1__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - + before(grammarAccess.getExportModelAccess().getLeftCurlyBracketKeyword_3_1()); } - + match(input,68,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getGroup_1()); + after(grammarAccess.getExportModelAccess().getLeftCurlyBracketKeyword_3_1()); } } @@ -17852,26 +19190,26 @@ public final void rule__SwitchExpression__Group__1__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__1__Impl" + // $ANTLR end "rule__ExportModel__Group_3__1__Impl" - // $ANTLR start "rule__SwitchExpression__Group__2" - // InternalExport.g:5286:1: rule__SwitchExpression__Group__2 : rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 ; - public final void rule__SwitchExpression__Group__2() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_3__2" + // InternalExport.g:5168:1: rule__ExportModel__Group_3__2 : rule__ExportModel__Group_3__2__Impl rule__ExportModel__Group_3__3 ; + public final void rule__ExportModel__Group_3__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5290:1: ( rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 ) - // InternalExport.g:5291:2: rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 + // InternalExport.g:5172:1: ( rule__ExportModel__Group_3__2__Impl rule__ExportModel__Group_3__3 ) + // InternalExport.g:5173:2: rule__ExportModel__Group_3__2__Impl rule__ExportModel__Group_3__3 { - pushFollow(FOLLOW_47); - rule__SwitchExpression__Group__2__Impl(); + pushFollow(FOLLOW_13); + rule__ExportModel__Group_3__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__3(); + rule__ExportModel__Group_3__3(); state._fsp--; if (state.failed) return ; @@ -17890,121 +19228,68 @@ public final void rule__SwitchExpression__Group__2() throws RecognitionException } return ; } - // $ANTLR end "rule__SwitchExpression__Group__2" + // $ANTLR end "rule__ExportModel__Group_3__2" - // $ANTLR start "rule__SwitchExpression__Group__2__Impl" - // InternalExport.g:5298:1: rule__SwitchExpression__Group__2__Impl : ( '{' ) ; - public final void rule__SwitchExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_3__2__Impl" + // InternalExport.g:5180:1: rule__ExportModel__Group_3__2__Impl : ( ( ( rule__ExportModel__InterfacesAssignment_3_2 ) ) ( ( rule__ExportModel__InterfacesAssignment_3_2 )* ) ) ; + public final void rule__ExportModel__Group_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5302:1: ( ( '{' ) ) - // InternalExport.g:5303:1: ( '{' ) + // InternalExport.g:5184:1: ( ( ( ( rule__ExportModel__InterfacesAssignment_3_2 ) ) ( ( rule__ExportModel__InterfacesAssignment_3_2 )* ) ) ) + // InternalExport.g:5185:1: ( ( ( rule__ExportModel__InterfacesAssignment_3_2 ) ) ( ( rule__ExportModel__InterfacesAssignment_3_2 )* ) ) { - // InternalExport.g:5303:1: ( '{' ) - // InternalExport.g:5304:2: '{' + // InternalExport.g:5185:1: ( ( ( rule__ExportModel__InterfacesAssignment_3_2 ) ) ( ( rule__ExportModel__InterfacesAssignment_3_2 )* ) ) + // InternalExport.g:5186:2: ( ( rule__ExportModel__InterfacesAssignment_3_2 ) ) ( ( rule__ExportModel__InterfacesAssignment_3_2 )* ) + { + // InternalExport.g:5186:2: ( ( rule__ExportModel__InterfacesAssignment_3_2 ) ) + // InternalExport.g:5187:3: ( rule__ExportModel__InterfacesAssignment_3_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); - } - match(input,39,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); - } - - } - - + before(grammarAccess.getExportModelAccess().getInterfacesAssignment_3_2()); } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__SwitchExpression__Group__2__Impl" - - - // $ANTLR start "rule__SwitchExpression__Group__3" - // InternalExport.g:5313:1: rule__SwitchExpression__Group__3 : rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 ; - public final void rule__SwitchExpression__Group__3() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // InternalExport.g:5317:1: ( rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 ) - // InternalExport.g:5318:2: rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 + // InternalExport.g:5188:3: ( rule__ExportModel__InterfacesAssignment_3_2 ) + // InternalExport.g:5188:4: rule__ExportModel__InterfacesAssignment_3_2 { - pushFollow(FOLLOW_47); - rule__SwitchExpression__Group__3__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__4(); + pushFollow(FOLLOW_3); + rule__ExportModel__InterfacesAssignment_3_2(); state._fsp--; if (state.failed) return ; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__SwitchExpression__Group__3" - + if ( state.backtracking==0 ) { + after(grammarAccess.getExportModelAccess().getInterfacesAssignment_3_2()); + } - // $ANTLR start "rule__SwitchExpression__Group__3__Impl" - // InternalExport.g:5325:1: rule__SwitchExpression__Group__3__Impl : ( ( rule__SwitchExpression__CaseAssignment_3 )* ) ; - public final void rule__SwitchExpression__Group__3__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExport.g:5329:1: ( ( ( rule__SwitchExpression__CaseAssignment_3 )* ) ) - // InternalExport.g:5330:1: ( ( rule__SwitchExpression__CaseAssignment_3 )* ) - { - // InternalExport.g:5330:1: ( ( rule__SwitchExpression__CaseAssignment_3 )* ) - // InternalExport.g:5331:2: ( rule__SwitchExpression__CaseAssignment_3 )* + // InternalExport.g:5191:2: ( ( rule__ExportModel__InterfacesAssignment_3_2 )* ) + // InternalExport.g:5192:3: ( rule__ExportModel__InterfacesAssignment_3_2 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); + before(grammarAccess.getExportModelAccess().getInterfacesAssignment_3_2()); } - // InternalExport.g:5332:2: ( rule__SwitchExpression__CaseAssignment_3 )* - loop51: + // InternalExport.g:5193:3: ( rule__ExportModel__InterfacesAssignment_3_2 )* + loop66: do { - int alt51=2; - int LA51_0 = input.LA(1); + int alt66=2; + int LA66_0 = input.LA(1); - if ( (LA51_0==67) ) { - alt51=1; + if ( (LA66_0==RULE_ID) ) { + alt66=1; } - switch (alt51) { + switch (alt66) { case 1 : - // InternalExport.g:5332:3: rule__SwitchExpression__CaseAssignment_3 + // InternalExport.g:5193:4: rule__ExportModel__InterfacesAssignment_3_2 { - pushFollow(FOLLOW_48); - rule__SwitchExpression__CaseAssignment_3(); + pushFollow(FOLLOW_3); + rule__ExportModel__InterfacesAssignment_3_2(); state._fsp--; if (state.failed) return ; @@ -18013,14 +19298,17 @@ public final void rule__SwitchExpression__Group__3__Impl() throws RecognitionExc break; default : - break loop51; + break loop66; } } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); + after(grammarAccess.getExportModelAccess().getInterfacesAssignment_3_2()); + } + } + } @@ -18038,26 +19326,21 @@ public final void rule__SwitchExpression__Group__3__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__3__Impl" + // $ANTLR end "rule__ExportModel__Group_3__2__Impl" - // $ANTLR start "rule__SwitchExpression__Group__4" - // InternalExport.g:5340:1: rule__SwitchExpression__Group__4 : rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 ; - public final void rule__SwitchExpression__Group__4() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_3__3" + // InternalExport.g:5202:1: rule__ExportModel__Group_3__3 : rule__ExportModel__Group_3__3__Impl ; + public final void rule__ExportModel__Group_3__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5344:1: ( rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 ) - // InternalExport.g:5345:2: rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 + // InternalExport.g:5206:1: ( rule__ExportModel__Group_3__3__Impl ) + // InternalExport.g:5207:2: rule__ExportModel__Group_3__3__Impl { - pushFollow(FOLLOW_39); - rule__SwitchExpression__Group__4__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__5(); + rule__ExportModel__Group_3__3__Impl(); state._fsp--; if (state.failed) return ; @@ -18076,28 +19359,28 @@ public final void rule__SwitchExpression__Group__4() throws RecognitionException } return ; } - // $ANTLR end "rule__SwitchExpression__Group__4" + // $ANTLR end "rule__ExportModel__Group_3__3" - // $ANTLR start "rule__SwitchExpression__Group__4__Impl" - // InternalExport.g:5352:1: rule__SwitchExpression__Group__4__Impl : ( 'default' ) ; - public final void rule__SwitchExpression__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__ExportModel__Group_3__3__Impl" + // InternalExport.g:5213:1: rule__ExportModel__Group_3__3__Impl : ( '}' ) ; + public final void rule__ExportModel__Group_3__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5356:1: ( ( 'default' ) ) - // InternalExport.g:5357:1: ( 'default' ) + // InternalExport.g:5217:1: ( ( '}' ) ) + // InternalExport.g:5218:1: ( '}' ) { - // InternalExport.g:5357:1: ( 'default' ) - // InternalExport.g:5358:2: 'default' + // InternalExport.g:5218:1: ( '}' ) + // InternalExport.g:5219:2: '}' { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); + before(grammarAccess.getExportModelAccess().getRightCurlyBracketKeyword_3_3()); } - match(input,66,FOLLOW_2); if (state.failed) return ; + match(input,69,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); + after(grammarAccess.getExportModelAccess().getRightCurlyBracketKeyword_3_3()); } } @@ -18117,26 +19400,26 @@ public final void rule__SwitchExpression__Group__4__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__4__Impl" + // $ANTLR end "rule__ExportModel__Group_3__3__Impl" - // $ANTLR start "rule__SwitchExpression__Group__5" - // InternalExport.g:5367:1: rule__SwitchExpression__Group__5 : rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 ; - public final void rule__SwitchExpression__Group__5() throws RecognitionException { + // $ANTLR start "rule__Import__Group__0" + // InternalExport.g:5229: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 { - // InternalExport.g:5371:1: ( rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 ) - // InternalExport.g:5372:2: rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 + // InternalExport.g:5233:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 ) + // InternalExport.g:5234:2: rule__Import__Group__0__Impl rule__Import__Group__1 { - pushFollow(FOLLOW_49); - rule__SwitchExpression__Group__5__Impl(); + pushFollow(FOLLOW_14); + rule__Import__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__6(); + rule__Import__Group__1(); state._fsp--; if (state.failed) return ; @@ -18155,28 +19438,28 @@ public final void rule__SwitchExpression__Group__5() throws RecognitionException } return ; } - // $ANTLR end "rule__SwitchExpression__Group__5" - + // $ANTLR end "rule__Import__Group__0" - // $ANTLR start "rule__SwitchExpression__Group__5__Impl" - // InternalExport.g:5379:1: rule__SwitchExpression__Group__5__Impl : ( ':' ) ; - public final void rule__SwitchExpression__Group__5__Impl() throws RecognitionException { + + // $ANTLR start "rule__Import__Group__0__Impl" + // InternalExport.g:5241:1: rule__Import__Group__0__Impl : ( 'import' ) ; + public final void rule__Import__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5383:1: ( ( ':' ) ) - // InternalExport.g:5384:1: ( ':' ) + // InternalExport.g:5245:1: ( ( 'import' ) ) + // InternalExport.g:5246:1: ( 'import' ) { - // InternalExport.g:5384:1: ( ':' ) - // InternalExport.g:5385:2: ':' + // InternalExport.g:5246:1: ( 'import' ) + // InternalExport.g:5247:2: 'import' { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); + before(grammarAccess.getImportAccess().getImportKeyword_0()); } - match(input,59,FOLLOW_2); if (state.failed) return ; + match(input,62,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); + after(grammarAccess.getImportAccess().getImportKeyword_0()); } } @@ -18196,26 +19479,26 @@ public final void rule__SwitchExpression__Group__5__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__5__Impl" + // $ANTLR end "rule__Import__Group__0__Impl" - // $ANTLR start "rule__SwitchExpression__Group__6" - // InternalExport.g:5394:1: rule__SwitchExpression__Group__6 : rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 ; - public final void rule__SwitchExpression__Group__6() throws RecognitionException { + // $ANTLR start "rule__Import__Group__1" + // InternalExport.g:5256:1: rule__Import__Group__1 : rule__Import__Group__1__Impl rule__Import__Group__2 ; + public final void rule__Import__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5398:1: ( rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 ) - // InternalExport.g:5399:2: rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 + // InternalExport.g:5260:1: ( rule__Import__Group__1__Impl rule__Import__Group__2 ) + // InternalExport.g:5261:2: rule__Import__Group__1__Impl rule__Import__Group__2 { - pushFollow(FOLLOW_12); - rule__SwitchExpression__Group__6__Impl(); + pushFollow(FOLLOW_15); + rule__Import__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__7(); + rule__Import__Group__2(); state._fsp--; if (state.failed) return ; @@ -18234,30 +19517,30 @@ public final void rule__SwitchExpression__Group__6() throws RecognitionException } return ; } - // $ANTLR end "rule__SwitchExpression__Group__6" + // $ANTLR end "rule__Import__Group__1" - // $ANTLR start "rule__SwitchExpression__Group__6__Impl" - // InternalExport.g:5406:1: rule__SwitchExpression__Group__6__Impl : ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) ; - public final void rule__SwitchExpression__Group__6__Impl() throws RecognitionException { + // $ANTLR start "rule__Import__Group__1__Impl" + // InternalExport.g:5268:1: rule__Import__Group__1__Impl : ( ( rule__Import__PackageAssignment_1 ) ) ; + public final void rule__Import__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5410:1: ( ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) ) - // InternalExport.g:5411:1: ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) + // InternalExport.g:5272:1: ( ( ( rule__Import__PackageAssignment_1 ) ) ) + // InternalExport.g:5273:1: ( ( rule__Import__PackageAssignment_1 ) ) { - // InternalExport.g:5411:1: ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) - // InternalExport.g:5412:2: ( rule__SwitchExpression__DefaultExprAssignment_6 ) + // InternalExport.g:5273:1: ( ( rule__Import__PackageAssignment_1 ) ) + // InternalExport.g:5274:2: ( rule__Import__PackageAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); + before(grammarAccess.getImportAccess().getPackageAssignment_1()); } - // InternalExport.g:5413:2: ( rule__SwitchExpression__DefaultExprAssignment_6 ) - // InternalExport.g:5413:3: rule__SwitchExpression__DefaultExprAssignment_6 + // InternalExport.g:5275:2: ( rule__Import__PackageAssignment_1 ) + // InternalExport.g:5275:3: rule__Import__PackageAssignment_1 { pushFollow(FOLLOW_2); - rule__SwitchExpression__DefaultExprAssignment_6(); + rule__Import__PackageAssignment_1(); state._fsp--; if (state.failed) return ; @@ -18265,7 +19548,7 @@ public final void rule__SwitchExpression__Group__6__Impl() throws RecognitionExc } if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); + after(grammarAccess.getImportAccess().getPackageAssignment_1()); } } @@ -18285,21 +19568,21 @@ public final void rule__SwitchExpression__Group__6__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__6__Impl" + // $ANTLR end "rule__Import__Group__1__Impl" - // $ANTLR start "rule__SwitchExpression__Group__7" - // InternalExport.g:5421:1: rule__SwitchExpression__Group__7 : rule__SwitchExpression__Group__7__Impl ; - public final void rule__SwitchExpression__Group__7() throws RecognitionException { + // $ANTLR start "rule__Import__Group__2" + // InternalExport.g:5283:1: rule__Import__Group__2 : rule__Import__Group__2__Impl ; + public final void rule__Import__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5425:1: ( rule__SwitchExpression__Group__7__Impl ) - // InternalExport.g:5426:2: rule__SwitchExpression__Group__7__Impl + // InternalExport.g:5287:1: ( rule__Import__Group__2__Impl ) + // InternalExport.g:5288:2: rule__Import__Group__2__Impl { pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__7__Impl(); + rule__Import__Group__2__Impl(); state._fsp--; if (state.failed) return ; @@ -18318,28 +19601,49 @@ public final void rule__SwitchExpression__Group__7() throws RecognitionException } return ; } - // $ANTLR end "rule__SwitchExpression__Group__7" + // $ANTLR end "rule__Import__Group__2" - // $ANTLR start "rule__SwitchExpression__Group__7__Impl" - // InternalExport.g:5432:1: rule__SwitchExpression__Group__7__Impl : ( '}' ) ; - public final void rule__SwitchExpression__Group__7__Impl() throws RecognitionException { + // $ANTLR start "rule__Import__Group__2__Impl" + // InternalExport.g:5294:1: rule__Import__Group__2__Impl : ( ( rule__Import__Group_2__0 )? ) ; + public final void rule__Import__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5436:1: ( ( '}' ) ) - // InternalExport.g:5437:1: ( '}' ) + // InternalExport.g:5298:1: ( ( ( rule__Import__Group_2__0 )? ) ) + // InternalExport.g:5299:1: ( ( rule__Import__Group_2__0 )? ) { - // InternalExport.g:5437:1: ( '}' ) - // InternalExport.g:5438:2: '}' + // InternalExport.g:5299:1: ( ( rule__Import__Group_2__0 )? ) + // InternalExport.g:5300:2: ( rule__Import__Group_2__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); + before(grammarAccess.getImportAccess().getGroup_2()); } - match(input,40,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:5301:2: ( rule__Import__Group_2__0 )? + int alt67=2; + int LA67_0 = input.LA(1); + + if ( (LA67_0==70) ) { + alt67=1; + } + switch (alt67) { + case 1 : + // InternalExport.g:5301:3: rule__Import__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__Import__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); + after(grammarAccess.getImportAccess().getGroup_2()); } } @@ -18359,26 +19663,26 @@ public final void rule__SwitchExpression__Group__7__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__7__Impl" + // $ANTLR end "rule__Import__Group__2__Impl" - // $ANTLR start "rule__SwitchExpression__Group_1__0" - // InternalExport.g:5448:1: rule__SwitchExpression__Group_1__0 : rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 ; - public final void rule__SwitchExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__Import__Group_2__0" + // InternalExport.g:5310:1: rule__Import__Group_2__0 : rule__Import__Group_2__0__Impl rule__Import__Group_2__1 ; + public final void rule__Import__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5452:1: ( rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 ) - // InternalExport.g:5453:2: rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 + // InternalExport.g:5314:1: ( rule__Import__Group_2__0__Impl rule__Import__Group_2__1 ) + // InternalExport.g:5315:2: rule__Import__Group_2__0__Impl rule__Import__Group_2__1 { - pushFollow(FOLLOW_49); - rule__SwitchExpression__Group_1__0__Impl(); + pushFollow(FOLLOW_11); + rule__Import__Group_2__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group_1__1(); + rule__Import__Group_2__1(); state._fsp--; if (state.failed) return ; @@ -18397,28 +19701,28 @@ public final void rule__SwitchExpression__Group_1__0() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__0" + // $ANTLR end "rule__Import__Group_2__0" - // $ANTLR start "rule__SwitchExpression__Group_1__0__Impl" - // InternalExport.g:5460:1: rule__SwitchExpression__Group_1__0__Impl : ( '(' ) ; - public final void rule__SwitchExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Import__Group_2__0__Impl" + // InternalExport.g:5322:1: rule__Import__Group_2__0__Impl : ( 'as' ) ; + public final void rule__Import__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5464:1: ( ( '(' ) ) - // InternalExport.g:5465:1: ( '(' ) + // InternalExport.g:5326:1: ( ( 'as' ) ) + // InternalExport.g:5327:1: ( 'as' ) { - // InternalExport.g:5465:1: ( '(' ) - // InternalExport.g:5466:2: '(' + // InternalExport.g:5327:1: ( 'as' ) + // InternalExport.g:5328:2: 'as' { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); + before(grammarAccess.getImportAccess().getAsKeyword_2_0()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + match(input,70,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); + after(grammarAccess.getImportAccess().getAsKeyword_2_0()); } } @@ -18438,26 +19742,21 @@ public final void rule__SwitchExpression__Group_1__0__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__0__Impl" + // $ANTLR end "rule__Import__Group_2__0__Impl" - // $ANTLR start "rule__SwitchExpression__Group_1__1" - // InternalExport.g:5475:1: rule__SwitchExpression__Group_1__1 : rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 ; - public final void rule__SwitchExpression__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__Import__Group_2__1" + // InternalExport.g:5337:1: rule__Import__Group_2__1 : rule__Import__Group_2__1__Impl ; + public final void rule__Import__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5479:1: ( rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 ) - // InternalExport.g:5480:2: rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 + // InternalExport.g:5341:1: ( rule__Import__Group_2__1__Impl ) + // InternalExport.g:5342:2: rule__Import__Group_2__1__Impl { - pushFollow(FOLLOW_25); - rule__SwitchExpression__Group_1__1__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group_1__2(); + rule__Import__Group_2__1__Impl(); state._fsp--; if (state.failed) return ; @@ -18476,30 +19775,30 @@ public final void rule__SwitchExpression__Group_1__1() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__1" + // $ANTLR end "rule__Import__Group_2__1" - // $ANTLR start "rule__SwitchExpression__Group_1__1__Impl" - // InternalExport.g:5487:1: rule__SwitchExpression__Group_1__1__Impl : ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) ; - public final void rule__SwitchExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Import__Group_2__1__Impl" + // InternalExport.g:5348:1: rule__Import__Group_2__1__Impl : ( ( rule__Import__NameAssignment_2_1 ) ) ; + public final void rule__Import__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5491:1: ( ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) ) - // InternalExport.g:5492:1: ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) + // InternalExport.g:5352:1: ( ( ( rule__Import__NameAssignment_2_1 ) ) ) + // InternalExport.g:5353:1: ( ( rule__Import__NameAssignment_2_1 ) ) { - // InternalExport.g:5492:1: ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) - // InternalExport.g:5493:2: ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) + // InternalExport.g:5353:1: ( ( rule__Import__NameAssignment_2_1 ) ) + // InternalExport.g:5354:2: ( rule__Import__NameAssignment_2_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); + before(grammarAccess.getImportAccess().getNameAssignment_2_1()); } - // InternalExport.g:5494:2: ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) - // InternalExport.g:5494:3: rule__SwitchExpression__SwitchExprAssignment_1_1 + // InternalExport.g:5355:2: ( rule__Import__NameAssignment_2_1 ) + // InternalExport.g:5355:3: rule__Import__NameAssignment_2_1 { pushFollow(FOLLOW_2); - rule__SwitchExpression__SwitchExprAssignment_1_1(); + rule__Import__NameAssignment_2_1(); state._fsp--; if (state.failed) return ; @@ -18507,7 +19806,7 @@ public final void rule__SwitchExpression__Group_1__1__Impl() throws RecognitionE } if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); + after(grammarAccess.getImportAccess().getNameAssignment_2_1()); } } @@ -18527,21 +19826,26 @@ public final void rule__SwitchExpression__Group_1__1__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__1__Impl" + // $ANTLR end "rule__Import__Group_2__1__Impl" - // $ANTLR start "rule__SwitchExpression__Group_1__2" - // InternalExport.g:5502:1: rule__SwitchExpression__Group_1__2 : rule__SwitchExpression__Group_1__2__Impl ; - public final void rule__SwitchExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__Extension__Group__0" + // InternalExport.g:5364:1: rule__Extension__Group__0 : rule__Extension__Group__0__Impl rule__Extension__Group__1 ; + public final void rule__Extension__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5506:1: ( rule__SwitchExpression__Group_1__2__Impl ) - // InternalExport.g:5507:2: rule__SwitchExpression__Group_1__2__Impl + // InternalExport.g:5368:1: ( rule__Extension__Group__0__Impl rule__Extension__Group__1 ) + // InternalExport.g:5369:2: rule__Extension__Group__0__Impl rule__Extension__Group__1 { + pushFollow(FOLLOW_11); + rule__Extension__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group_1__2__Impl(); + rule__Extension__Group__1(); state._fsp--; if (state.failed) return ; @@ -18560,28 +19864,28 @@ public final void rule__SwitchExpression__Group_1__2() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__2" + // $ANTLR end "rule__Extension__Group__0" - // $ANTLR start "rule__SwitchExpression__Group_1__2__Impl" - // InternalExport.g:5513:1: rule__SwitchExpression__Group_1__2__Impl : ( ')' ) ; - public final void rule__SwitchExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__Extension__Group__0__Impl" + // InternalExport.g:5376:1: rule__Extension__Group__0__Impl : ( 'extension' ) ; + public final void rule__Extension__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5517:1: ( ( ')' ) ) - // InternalExport.g:5518:1: ( ')' ) + // InternalExport.g:5380:1: ( ( 'extension' ) ) + // InternalExport.g:5381:1: ( 'extension' ) { - // InternalExport.g:5518:1: ( ')' ) - // InternalExport.g:5519:2: ')' + // InternalExport.g:5381:1: ( 'extension' ) + // InternalExport.g:5382:2: 'extension' { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); + before(grammarAccess.getExtensionAccess().getExtensionKeyword_0()); } - match(input,52,FOLLOW_2); if (state.failed) return ; + match(input,63,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); + after(grammarAccess.getExtensionAccess().getExtensionKeyword_0()); } } @@ -18601,26 +19905,21 @@ public final void rule__SwitchExpression__Group_1__2__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__2__Impl" + // $ANTLR end "rule__Extension__Group__0__Impl" - // $ANTLR start "rule__Case__Group__0" - // InternalExport.g:5529:1: rule__Case__Group__0 : rule__Case__Group__0__Impl rule__Case__Group__1 ; - public final void rule__Case__Group__0() throws RecognitionException { + // $ANTLR start "rule__Extension__Group__1" + // InternalExport.g:5391:1: rule__Extension__Group__1 : rule__Extension__Group__1__Impl ; + public final void rule__Extension__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5533:1: ( rule__Case__Group__0__Impl rule__Case__Group__1 ) - // InternalExport.g:5534:2: rule__Case__Group__0__Impl rule__Case__Group__1 + // InternalExport.g:5395:1: ( rule__Extension__Group__1__Impl ) + // InternalExport.g:5396:2: rule__Extension__Group__1__Impl { - pushFollow(FOLLOW_49); - rule__Case__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Case__Group__1(); + rule__Extension__Group__1__Impl(); state._fsp--; if (state.failed) return ; @@ -18639,28 +19938,38 @@ public final void rule__Case__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__0" + // $ANTLR end "rule__Extension__Group__1" - // $ANTLR start "rule__Case__Group__0__Impl" - // InternalExport.g:5541:1: rule__Case__Group__0__Impl : ( 'case' ) ; - public final void rule__Case__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Extension__Group__1__Impl" + // InternalExport.g:5402:1: rule__Extension__Group__1__Impl : ( ( rule__Extension__ExtensionAssignment_1 ) ) ; + public final void rule__Extension__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5545:1: ( ( 'case' ) ) - // InternalExport.g:5546:1: ( 'case' ) + // InternalExport.g:5406:1: ( ( ( rule__Extension__ExtensionAssignment_1 ) ) ) + // InternalExport.g:5407:1: ( ( rule__Extension__ExtensionAssignment_1 ) ) { - // InternalExport.g:5546:1: ( 'case' ) - // InternalExport.g:5547:2: 'case' + // InternalExport.g:5407:1: ( ( rule__Extension__ExtensionAssignment_1 ) ) + // InternalExport.g:5408:2: ( rule__Extension__ExtensionAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getCaseKeyword_0()); + before(grammarAccess.getExtensionAccess().getExtensionAssignment_1()); } - match(input,67,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:5409:2: ( rule__Extension__ExtensionAssignment_1 ) + // InternalExport.g:5409:3: rule__Extension__ExtensionAssignment_1 + { + pushFollow(FOLLOW_2); + rule__Extension__ExtensionAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getCaseKeyword_0()); + after(grammarAccess.getExtensionAccess().getExtensionAssignment_1()); } } @@ -18680,26 +19989,26 @@ public final void rule__Case__Group__0__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__0__Impl" + // $ANTLR end "rule__Extension__Group__1__Impl" - // $ANTLR start "rule__Case__Group__1" - // InternalExport.g:5556:1: rule__Case__Group__1 : rule__Case__Group__1__Impl rule__Case__Group__2 ; - public final void rule__Case__Group__1() throws RecognitionException { + // $ANTLR start "rule__Interface__Group__0" + // InternalExport.g:5418:1: rule__Interface__Group__0 : rule__Interface__Group__0__Impl rule__Interface__Group__1 ; + public final void rule__Interface__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5560:1: ( rule__Case__Group__1__Impl rule__Case__Group__2 ) - // InternalExport.g:5561:2: rule__Case__Group__1__Impl rule__Case__Group__2 + // InternalExport.g:5422:1: ( rule__Interface__Group__0__Impl rule__Interface__Group__1 ) + // InternalExport.g:5423:2: rule__Interface__Group__0__Impl rule__Interface__Group__1 { - pushFollow(FOLLOW_39); - rule__Case__Group__1__Impl(); + pushFollow(FOLLOW_16); + rule__Interface__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Case__Group__2(); + rule__Interface__Group__1(); state._fsp--; if (state.failed) return ; @@ -18718,30 +20027,30 @@ public final void rule__Case__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__1" + // $ANTLR end "rule__Interface__Group__0" - // $ANTLR start "rule__Case__Group__1__Impl" - // InternalExport.g:5568:1: rule__Case__Group__1__Impl : ( ( rule__Case__ConditionAssignment_1 ) ) ; - public final void rule__Case__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Interface__Group__0__Impl" + // InternalExport.g:5430:1: rule__Interface__Group__0__Impl : ( ( rule__Interface__TypeAssignment_0 ) ) ; + public final void rule__Interface__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5572:1: ( ( ( rule__Case__ConditionAssignment_1 ) ) ) - // InternalExport.g:5573:1: ( ( rule__Case__ConditionAssignment_1 ) ) + // InternalExport.g:5434:1: ( ( ( rule__Interface__TypeAssignment_0 ) ) ) + // InternalExport.g:5435:1: ( ( rule__Interface__TypeAssignment_0 ) ) { - // InternalExport.g:5573:1: ( ( rule__Case__ConditionAssignment_1 ) ) - // InternalExport.g:5574:2: ( rule__Case__ConditionAssignment_1 ) + // InternalExport.g:5435:1: ( ( rule__Interface__TypeAssignment_0 ) ) + // InternalExport.g:5436:2: ( rule__Interface__TypeAssignment_0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getConditionAssignment_1()); + before(grammarAccess.getInterfaceAccess().getTypeAssignment_0()); } - // InternalExport.g:5575:2: ( rule__Case__ConditionAssignment_1 ) - // InternalExport.g:5575:3: rule__Case__ConditionAssignment_1 + // InternalExport.g:5437:2: ( rule__Interface__TypeAssignment_0 ) + // InternalExport.g:5437:3: rule__Interface__TypeAssignment_0 { pushFollow(FOLLOW_2); - rule__Case__ConditionAssignment_1(); + rule__Interface__TypeAssignment_0(); state._fsp--; if (state.failed) return ; @@ -18749,7 +20058,7 @@ public final void rule__Case__Group__1__Impl() throws RecognitionException { } if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getConditionAssignment_1()); + after(grammarAccess.getInterfaceAccess().getTypeAssignment_0()); } } @@ -18769,26 +20078,26 @@ public final void rule__Case__Group__1__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__1__Impl" + // $ANTLR end "rule__Interface__Group__0__Impl" - // $ANTLR start "rule__Case__Group__2" - // InternalExport.g:5583:1: rule__Case__Group__2 : rule__Case__Group__2__Impl rule__Case__Group__3 ; - public final void rule__Case__Group__2() throws RecognitionException { + // $ANTLR start "rule__Interface__Group__1" + // InternalExport.g:5445:1: rule__Interface__Group__1 : rule__Interface__Group__1__Impl rule__Interface__Group__2 ; + public final void rule__Interface__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5587:1: ( rule__Case__Group__2__Impl rule__Case__Group__3 ) - // InternalExport.g:5588:2: rule__Case__Group__2__Impl rule__Case__Group__3 + // InternalExport.g:5449:1: ( rule__Interface__Group__1__Impl rule__Interface__Group__2 ) + // InternalExport.g:5450:2: rule__Interface__Group__1__Impl rule__Interface__Group__2 { - pushFollow(FOLLOW_49); - rule__Case__Group__2__Impl(); + pushFollow(FOLLOW_16); + rule__Interface__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Case__Group__3(); + rule__Interface__Group__2(); state._fsp--; if (state.failed) return ; @@ -18807,28 +20116,49 @@ public final void rule__Case__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__2" + // $ANTLR end "rule__Interface__Group__1" - // $ANTLR start "rule__Case__Group__2__Impl" - // InternalExport.g:5595:1: rule__Case__Group__2__Impl : ( ':' ) ; - public final void rule__Case__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__Interface__Group__1__Impl" + // InternalExport.g:5457:1: rule__Interface__Group__1__Impl : ( ( rule__Interface__Group_1__0 )? ) ; + public final void rule__Interface__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5599:1: ( ( ':' ) ) - // InternalExport.g:5600:1: ( ':' ) + // InternalExport.g:5461:1: ( ( ( rule__Interface__Group_1__0 )? ) ) + // InternalExport.g:5462:1: ( ( rule__Interface__Group_1__0 )? ) { - // InternalExport.g:5600:1: ( ':' ) - // InternalExport.g:5601:2: ':' + // InternalExport.g:5462:1: ( ( rule__Interface__Group_1__0 )? ) + // InternalExport.g:5463:2: ( rule__Interface__Group_1__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getColonKeyword_2()); + before(grammarAccess.getInterfaceAccess().getGroup_1()); + } + // InternalExport.g:5464:2: ( rule__Interface__Group_1__0 )? + int alt68=2; + int LA68_0 = input.LA(1); + + if ( (LA68_0==72) ) { + alt68=1; + } + switch (alt68) { + case 1 : + // InternalExport.g:5464:3: rule__Interface__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__Interface__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + } - match(input,59,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getColonKeyword_2()); + after(grammarAccess.getInterfaceAccess().getGroup_1()); } } @@ -18848,21 +20178,26 @@ public final void rule__Case__Group__2__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__2__Impl" + // $ANTLR end "rule__Interface__Group__1__Impl" - // $ANTLR start "rule__Case__Group__3" - // InternalExport.g:5610:1: rule__Case__Group__3 : rule__Case__Group__3__Impl ; - public final void rule__Case__Group__3() throws RecognitionException { + // $ANTLR start "rule__Interface__Group__2" + // InternalExport.g:5472:1: rule__Interface__Group__2 : rule__Interface__Group__2__Impl rule__Interface__Group__3 ; + public final void rule__Interface__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5614:1: ( rule__Case__Group__3__Impl ) - // InternalExport.g:5615:2: rule__Case__Group__3__Impl + // InternalExport.g:5476:1: ( rule__Interface__Group__2__Impl rule__Interface__Group__3 ) + // InternalExport.g:5477:2: rule__Interface__Group__2__Impl rule__Interface__Group__3 { + pushFollow(FOLLOW_16); + rule__Interface__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Case__Group__3__Impl(); + rule__Interface__Group__3(); state._fsp--; if (state.failed) return ; @@ -18881,38 +20216,56 @@ public final void rule__Case__Group__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__3" + // $ANTLR end "rule__Interface__Group__2" - // $ANTLR start "rule__Case__Group__3__Impl" - // InternalExport.g:5621:1: rule__Case__Group__3__Impl : ( ( rule__Case__ThenParAssignment_3 ) ) ; - public final void rule__Case__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__Interface__Group__2__Impl" + // InternalExport.g:5484:1: rule__Interface__Group__2__Impl : ( ( rule__Interface__Group_2__0 )* ) ; + public final void rule__Interface__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5625:1: ( ( ( rule__Case__ThenParAssignment_3 ) ) ) - // InternalExport.g:5626:1: ( ( rule__Case__ThenParAssignment_3 ) ) + // InternalExport.g:5488:1: ( ( ( rule__Interface__Group_2__0 )* ) ) + // InternalExport.g:5489:1: ( ( rule__Interface__Group_2__0 )* ) { - // InternalExport.g:5626:1: ( ( rule__Case__ThenParAssignment_3 ) ) - // InternalExport.g:5627:2: ( rule__Case__ThenParAssignment_3 ) + // InternalExport.g:5489:1: ( ( rule__Interface__Group_2__0 )* ) + // InternalExport.g:5490:2: ( rule__Interface__Group_2__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getThenParAssignment_3()); + before(grammarAccess.getInterfaceAccess().getGroup_2()); } - // InternalExport.g:5628:2: ( rule__Case__ThenParAssignment_3 ) - // InternalExport.g:5628:3: rule__Case__ThenParAssignment_3 - { - pushFollow(FOLLOW_2); - rule__Case__ThenParAssignment_3(); + // InternalExport.g:5491:2: ( rule__Interface__Group_2__0 )* + loop69: + do { + int alt69=2; + int LA69_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA69_0==14) ) { + alt69=1; + } - } + + switch (alt69) { + case 1 : + // InternalExport.g:5491:3: rule__Interface__Group_2__0 + { + pushFollow(FOLLOW_17); + rule__Interface__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop69; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getThenParAssignment_3()); + after(grammarAccess.getInterfaceAccess().getGroup_2()); } } @@ -18932,26 +20285,21 @@ public final void rule__Case__Group__3__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__3__Impl" + // $ANTLR end "rule__Interface__Group__2__Impl" - // $ANTLR start "rule__OrExpression__Group__0" - // InternalExport.g:5637:1: rule__OrExpression__Group__0 : rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 ; - public final void rule__OrExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__Interface__Group__3" + // InternalExport.g:5499:1: rule__Interface__Group__3 : rule__Interface__Group__3__Impl ; + public final void rule__Interface__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5641:1: ( rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 ) - // InternalExport.g:5642:2: rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 + // InternalExport.g:5503:1: ( rule__Interface__Group__3__Impl ) + // InternalExport.g:5504:2: rule__Interface__Group__3__Impl { - pushFollow(FOLLOW_50); - rule__OrExpression__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OrExpression__Group__1(); + rule__Interface__Group__3__Impl(); state._fsp--; if (state.failed) return ; @@ -18970,32 +20318,28 @@ public final void rule__OrExpression__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__OrExpression__Group__0" + // $ANTLR end "rule__Interface__Group__3" - // $ANTLR start "rule__OrExpression__Group__0__Impl" - // InternalExport.g:5649:1: rule__OrExpression__Group__0__Impl : ( ruleAndExpression ) ; - public final void rule__OrExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Interface__Group__3__Impl" + // InternalExport.g:5510:1: rule__Interface__Group__3__Impl : ( ';' ) ; + public final void rule__Interface__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5653:1: ( ( ruleAndExpression ) ) - // InternalExport.g:5654:1: ( ruleAndExpression ) + // InternalExport.g:5514:1: ( ( ';' ) ) + // InternalExport.g:5515:1: ( ';' ) { - // InternalExport.g:5654:1: ( ruleAndExpression ) - // InternalExport.g:5655:2: ruleAndExpression + // InternalExport.g:5515:1: ( ';' ) + // InternalExport.g:5516:2: ';' { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); + before(grammarAccess.getInterfaceAccess().getSemicolonKeyword_3()); } - pushFollow(FOLLOW_2); - ruleAndExpression(); - - state._fsp--; - if (state.failed) return ; + match(input,71,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); + after(grammarAccess.getInterfaceAccess().getSemicolonKeyword_3()); } } @@ -19015,21 +20359,26 @@ public final void rule__OrExpression__Group__0__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__OrExpression__Group__0__Impl" + // $ANTLR end "rule__Interface__Group__3__Impl" - // $ANTLR start "rule__OrExpression__Group__1" - // InternalExport.g:5664:1: rule__OrExpression__Group__1 : rule__OrExpression__Group__1__Impl ; - public final void rule__OrExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__Interface__Group_1__0" + // InternalExport.g:5526:1: rule__Interface__Group_1__0 : rule__Interface__Group_1__0__Impl rule__Interface__Group_1__1 ; + public final void rule__Interface__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5668:1: ( rule__OrExpression__Group__1__Impl ) - // InternalExport.g:5669:2: rule__OrExpression__Group__1__Impl + // InternalExport.g:5530:1: ( rule__Interface__Group_1__0__Impl rule__Interface__Group_1__1 ) + // InternalExport.g:5531:2: rule__Interface__Group_1__0__Impl rule__Interface__Group_1__1 { + pushFollow(FOLLOW_18); + rule__Interface__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OrExpression__Group__1__Impl(); + rule__Interface__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -19048,56 +20397,28 @@ public final void rule__OrExpression__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__OrExpression__Group__1" + // $ANTLR end "rule__Interface__Group_1__0" - // $ANTLR start "rule__OrExpression__Group__1__Impl" - // InternalExport.g:5675:1: rule__OrExpression__Group__1__Impl : ( ( rule__OrExpression__Group_1__0 )* ) ; - public final void rule__OrExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Interface__Group_1__0__Impl" + // InternalExport.g:5538:1: rule__Interface__Group_1__0__Impl : ( '[' ) ; + public final void rule__Interface__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5679:1: ( ( ( rule__OrExpression__Group_1__0 )* ) ) - // InternalExport.g:5680:1: ( ( rule__OrExpression__Group_1__0 )* ) + // InternalExport.g:5542:1: ( ( '[' ) ) + // InternalExport.g:5543:1: ( '[' ) { - // InternalExport.g:5680:1: ( ( rule__OrExpression__Group_1__0 )* ) - // InternalExport.g:5681:2: ( rule__OrExpression__Group_1__0 )* + // InternalExport.g:5543:1: ( '[' ) + // InternalExport.g:5544:2: '[' { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getGroup_1()); + before(grammarAccess.getInterfaceAccess().getLeftSquareBracketKeyword_1_0()); } - // InternalExport.g:5682:2: ( rule__OrExpression__Group_1__0 )* - loop52: - do { - int alt52=2; - int LA52_0 = input.LA(1); - - if ( (LA52_0==77) ) { - alt52=1; - } - - - switch (alt52) { - case 1 : - // InternalExport.g:5682:3: rule__OrExpression__Group_1__0 - { - pushFollow(FOLLOW_51); - rule__OrExpression__Group_1__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop52; - } - } while (true); - + match(input,72,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getGroup_1()); + after(grammarAccess.getInterfaceAccess().getLeftSquareBracketKeyword_1_0()); } } @@ -19117,26 +20438,26 @@ public final void rule__OrExpression__Group__1__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__OrExpression__Group__1__Impl" + // $ANTLR end "rule__Interface__Group_1__0__Impl" - // $ANTLR start "rule__OrExpression__Group_1__0" - // InternalExport.g:5691:1: rule__OrExpression__Group_1__0 : rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 ; - public final void rule__OrExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__Interface__Group_1__1" + // InternalExport.g:5553:1: rule__Interface__Group_1__1 : rule__Interface__Group_1__1__Impl rule__Interface__Group_1__2 ; + public final void rule__Interface__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5695:1: ( rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 ) - // InternalExport.g:5696:2: rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 + // InternalExport.g:5557:1: ( rule__Interface__Group_1__1__Impl rule__Interface__Group_1__2 ) + // InternalExport.g:5558:2: rule__Interface__Group_1__1__Impl rule__Interface__Group_1__2 { - pushFollow(FOLLOW_50); - rule__OrExpression__Group_1__0__Impl(); + pushFollow(FOLLOW_19); + rule__Interface__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OrExpression__Group_1__1(); + rule__Interface__Group_1__2(); state._fsp--; if (state.failed) return ; @@ -19155,32 +20476,38 @@ public final void rule__OrExpression__Group_1__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__OrExpression__Group_1__0" + // $ANTLR end "rule__Interface__Group_1__1" - // $ANTLR start "rule__OrExpression__Group_1__0__Impl" - // InternalExport.g:5703:1: rule__OrExpression__Group_1__0__Impl : ( () ) ; - public final void rule__OrExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Interface__Group_1__1__Impl" + // InternalExport.g:5565:1: rule__Interface__Group_1__1__Impl : ( ( rule__Interface__GuardAssignment_1_1 ) ) ; + public final void rule__Interface__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5707:1: ( ( () ) ) - // InternalExport.g:5708:1: ( () ) + // InternalExport.g:5569:1: ( ( ( rule__Interface__GuardAssignment_1_1 ) ) ) + // InternalExport.g:5570:1: ( ( rule__Interface__GuardAssignment_1_1 ) ) { - // InternalExport.g:5708:1: ( () ) - // InternalExport.g:5709:2: () + // InternalExport.g:5570:1: ( ( rule__Interface__GuardAssignment_1_1 ) ) + // InternalExport.g:5571:2: ( rule__Interface__GuardAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); + before(grammarAccess.getInterfaceAccess().getGuardAssignment_1_1()); } - // InternalExport.g:5710:2: () - // InternalExport.g:5710:3: + // InternalExport.g:5572:2: ( rule__Interface__GuardAssignment_1_1 ) + // InternalExport.g:5572:3: rule__Interface__GuardAssignment_1_1 { + pushFollow(FOLLOW_2); + rule__Interface__GuardAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + } if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); + after(grammarAccess.getInterfaceAccess().getGuardAssignment_1_1()); } } @@ -19189,6 +20516,10 @@ public final void rule__OrExpression__Group_1__0__Impl() throws RecognitionExcep } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -19196,26 +20527,21 @@ public final void rule__OrExpression__Group_1__0__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__OrExpression__Group_1__0__Impl" + // $ANTLR end "rule__Interface__Group_1__1__Impl" - // $ANTLR start "rule__OrExpression__Group_1__1" - // InternalExport.g:5718:1: rule__OrExpression__Group_1__1 : rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 ; - public final void rule__OrExpression__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__Interface__Group_1__2" + // InternalExport.g:5580:1: rule__Interface__Group_1__2 : rule__Interface__Group_1__2__Impl ; + public final void rule__Interface__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5722:1: ( rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 ) - // InternalExport.g:5723:2: rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 + // InternalExport.g:5584:1: ( rule__Interface__Group_1__2__Impl ) + // InternalExport.g:5585:2: rule__Interface__Group_1__2__Impl { - pushFollow(FOLLOW_49); - rule__OrExpression__Group_1__1__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OrExpression__Group_1__2(); + rule__Interface__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; @@ -19234,38 +20560,28 @@ public final void rule__OrExpression__Group_1__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__OrExpression__Group_1__1" + // $ANTLR end "rule__Interface__Group_1__2" - // $ANTLR start "rule__OrExpression__Group_1__1__Impl" - // InternalExport.g:5730:1: rule__OrExpression__Group_1__1__Impl : ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) ; - public final void rule__OrExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Interface__Group_1__2__Impl" + // InternalExport.g:5591:1: rule__Interface__Group_1__2__Impl : ( ']' ) ; + public final void rule__Interface__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5734:1: ( ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) ) - // InternalExport.g:5735:1: ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) + // InternalExport.g:5595:1: ( ( ']' ) ) + // InternalExport.g:5596:1: ( ']' ) { - // InternalExport.g:5735:1: ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) - // InternalExport.g:5736:2: ( rule__OrExpression__OperatorAssignment_1_1 ) + // InternalExport.g:5596:1: ( ']' ) + // InternalExport.g:5597:2: ']' { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); - } - // InternalExport.g:5737:2: ( rule__OrExpression__OperatorAssignment_1_1 ) - // InternalExport.g:5737:3: rule__OrExpression__OperatorAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__OrExpression__OperatorAssignment_1_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getInterfaceAccess().getRightSquareBracketKeyword_1_2()); } - + match(input,73,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); + after(grammarAccess.getInterfaceAccess().getRightSquareBracketKeyword_1_2()); } } @@ -19285,21 +20601,26 @@ public final void rule__OrExpression__Group_1__1__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__OrExpression__Group_1__1__Impl" + // $ANTLR end "rule__Interface__Group_1__2__Impl" - // $ANTLR start "rule__OrExpression__Group_1__2" - // InternalExport.g:5745:1: rule__OrExpression__Group_1__2 : rule__OrExpression__Group_1__2__Impl ; - public final void rule__OrExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__Interface__Group_2__0" + // InternalExport.g:5607:1: rule__Interface__Group_2__0 : rule__Interface__Group_2__0__Impl rule__Interface__Group_2__1 ; + public final void rule__Interface__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5749:1: ( rule__OrExpression__Group_1__2__Impl ) - // InternalExport.g:5750:2: rule__OrExpression__Group_1__2__Impl + // InternalExport.g:5611:1: ( rule__Interface__Group_2__0__Impl rule__Interface__Group_2__1 ) + // InternalExport.g:5612:2: rule__Interface__Group_2__0__Impl rule__Interface__Group_2__1 { + pushFollow(FOLLOW_20); + rule__Interface__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OrExpression__Group_1__2__Impl(); + rule__Interface__Group_2__1(); state._fsp--; if (state.failed) return ; @@ -19318,38 +20639,28 @@ public final void rule__OrExpression__Group_1__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__OrExpression__Group_1__2" + // $ANTLR end "rule__Interface__Group_2__0" - // $ANTLR start "rule__OrExpression__Group_1__2__Impl" - // InternalExport.g:5756:1: rule__OrExpression__Group_1__2__Impl : ( ( rule__OrExpression__RightAssignment_1_2 ) ) ; - public final void rule__OrExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__Interface__Group_2__0__Impl" + // InternalExport.g:5619:1: rule__Interface__Group_2__0__Impl : ( '=' ) ; + public final void rule__Interface__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5760:1: ( ( ( rule__OrExpression__RightAssignment_1_2 ) ) ) - // InternalExport.g:5761:1: ( ( rule__OrExpression__RightAssignment_1_2 ) ) + // InternalExport.g:5623:1: ( ( '=' ) ) + // InternalExport.g:5624:1: ( '=' ) { - // InternalExport.g:5761:1: ( ( rule__OrExpression__RightAssignment_1_2 ) ) - // InternalExport.g:5762:2: ( rule__OrExpression__RightAssignment_1_2 ) + // InternalExport.g:5624:1: ( '=' ) + // InternalExport.g:5625:2: '=' { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); - } - // InternalExport.g:5763:2: ( rule__OrExpression__RightAssignment_1_2 ) - // InternalExport.g:5763:3: rule__OrExpression__RightAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__OrExpression__RightAssignment_1_2(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getInterfaceAccess().getEqualsSignKeyword_2_0()); } - + match(input,14,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); + after(grammarAccess.getInterfaceAccess().getEqualsSignKeyword_2_0()); } } @@ -19369,26 +20680,26 @@ public final void rule__OrExpression__Group_1__2__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__OrExpression__Group_1__2__Impl" + // $ANTLR end "rule__Interface__Group_2__0__Impl" - // $ANTLR start "rule__AndExpression__Group__0" - // InternalExport.g:5772:1: rule__AndExpression__Group__0 : rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 ; - public final void rule__AndExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__Interface__Group_2__1" + // InternalExport.g:5634:1: rule__Interface__Group_2__1 : rule__Interface__Group_2__1__Impl rule__Interface__Group_2__2 ; + public final void rule__Interface__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5776:1: ( rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 ) - // InternalExport.g:5777:2: rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 + // InternalExport.g:5638:1: ( rule__Interface__Group_2__1__Impl rule__Interface__Group_2__2 ) + // InternalExport.g:5639:2: rule__Interface__Group_2__1__Impl rule__Interface__Group_2__2 { - pushFollow(FOLLOW_52); - rule__AndExpression__Group__0__Impl(); + pushFollow(FOLLOW_21); + rule__Interface__Group_2__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AndExpression__Group__1(); + rule__Interface__Group_2__2(); state._fsp--; if (state.failed) return ; @@ -19407,32 +20718,38 @@ public final void rule__AndExpression__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__AndExpression__Group__0" + // $ANTLR end "rule__Interface__Group_2__1" - // $ANTLR start "rule__AndExpression__Group__0__Impl" - // InternalExport.g:5784:1: rule__AndExpression__Group__0__Impl : ( ruleImpliesExpression ) ; - public final void rule__AndExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Interface__Group_2__1__Impl" + // InternalExport.g:5646:1: rule__Interface__Group_2__1__Impl : ( ( rule__Interface__ItemsAssignment_2_1 ) ) ; + public final void rule__Interface__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5788:1: ( ( ruleImpliesExpression ) ) - // InternalExport.g:5789:1: ( ruleImpliesExpression ) + // InternalExport.g:5650:1: ( ( ( rule__Interface__ItemsAssignment_2_1 ) ) ) + // InternalExport.g:5651:1: ( ( rule__Interface__ItemsAssignment_2_1 ) ) { - // InternalExport.g:5789:1: ( ruleImpliesExpression ) - // InternalExport.g:5790:2: ruleImpliesExpression + // InternalExport.g:5651:1: ( ( rule__Interface__ItemsAssignment_2_1 ) ) + // InternalExport.g:5652:2: ( rule__Interface__ItemsAssignment_2_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); + before(grammarAccess.getInterfaceAccess().getItemsAssignment_2_1()); } + // InternalExport.g:5653:2: ( rule__Interface__ItemsAssignment_2_1 ) + // InternalExport.g:5653:3: rule__Interface__ItemsAssignment_2_1 + { pushFollow(FOLLOW_2); - ruleImpliesExpression(); + rule__Interface__ItemsAssignment_2_1(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); + after(grammarAccess.getInterfaceAccess().getItemsAssignment_2_1()); } } @@ -19452,21 +20769,21 @@ public final void rule__AndExpression__Group__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__AndExpression__Group__0__Impl" + // $ANTLR end "rule__Interface__Group_2__1__Impl" - // $ANTLR start "rule__AndExpression__Group__1" - // InternalExport.g:5799:1: rule__AndExpression__Group__1 : rule__AndExpression__Group__1__Impl ; - public final void rule__AndExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__Interface__Group_2__2" + // InternalExport.g:5661:1: rule__Interface__Group_2__2 : rule__Interface__Group_2__2__Impl ; + public final void rule__Interface__Group_2__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5803:1: ( rule__AndExpression__Group__1__Impl ) - // InternalExport.g:5804:2: rule__AndExpression__Group__1__Impl + // InternalExport.g:5665:1: ( rule__Interface__Group_2__2__Impl ) + // InternalExport.g:5666:2: rule__Interface__Group_2__2__Impl { pushFollow(FOLLOW_2); - rule__AndExpression__Group__1__Impl(); + rule__Interface__Group_2__2__Impl(); state._fsp--; if (state.failed) return ; @@ -19485,42 +20802,42 @@ public final void rule__AndExpression__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__AndExpression__Group__1" + // $ANTLR end "rule__Interface__Group_2__2" - // $ANTLR start "rule__AndExpression__Group__1__Impl" - // InternalExport.g:5810:1: rule__AndExpression__Group__1__Impl : ( ( rule__AndExpression__Group_1__0 )* ) ; - public final void rule__AndExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Interface__Group_2__2__Impl" + // InternalExport.g:5672:1: rule__Interface__Group_2__2__Impl : ( ( rule__Interface__Group_2_2__0 )* ) ; + public final void rule__Interface__Group_2__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5814:1: ( ( ( rule__AndExpression__Group_1__0 )* ) ) - // InternalExport.g:5815:1: ( ( rule__AndExpression__Group_1__0 )* ) + // InternalExport.g:5676:1: ( ( ( rule__Interface__Group_2_2__0 )* ) ) + // InternalExport.g:5677:1: ( ( rule__Interface__Group_2_2__0 )* ) { - // InternalExport.g:5815:1: ( ( rule__AndExpression__Group_1__0 )* ) - // InternalExport.g:5816:2: ( rule__AndExpression__Group_1__0 )* + // InternalExport.g:5677:1: ( ( rule__Interface__Group_2_2__0 )* ) + // InternalExport.g:5678:2: ( rule__Interface__Group_2_2__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getGroup_1()); + before(grammarAccess.getInterfaceAccess().getGroup_2_2()); } - // InternalExport.g:5817:2: ( rule__AndExpression__Group_1__0 )* - loop53: + // InternalExport.g:5679:2: ( rule__Interface__Group_2_2__0 )* + loop70: do { - int alt53=2; - int LA53_0 = input.LA(1); + int alt70=2; + int LA70_0 = input.LA(1); - if ( (LA53_0==78) ) { - alt53=1; + if ( (LA70_0==74) ) { + alt70=1; } - switch (alt53) { + switch (alt70) { case 1 : - // InternalExport.g:5817:3: rule__AndExpression__Group_1__0 + // InternalExport.g:5679:3: rule__Interface__Group_2_2__0 { - pushFollow(FOLLOW_53); - rule__AndExpression__Group_1__0(); + pushFollow(FOLLOW_22); + rule__Interface__Group_2_2__0(); state._fsp--; if (state.failed) return ; @@ -19529,12 +20846,12 @@ public final void rule__AndExpression__Group__1__Impl() throws RecognitionExcept break; default : - break loop53; + break loop70; } } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getGroup_1()); + after(grammarAccess.getInterfaceAccess().getGroup_2_2()); } } @@ -19554,26 +20871,26 @@ public final void rule__AndExpression__Group__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__AndExpression__Group__1__Impl" + // $ANTLR end "rule__Interface__Group_2__2__Impl" - // $ANTLR start "rule__AndExpression__Group_1__0" - // InternalExport.g:5826:1: rule__AndExpression__Group_1__0 : rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 ; - public final void rule__AndExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__Interface__Group_2_2__0" + // InternalExport.g:5688:1: rule__Interface__Group_2_2__0 : rule__Interface__Group_2_2__0__Impl rule__Interface__Group_2_2__1 ; + public final void rule__Interface__Group_2_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5830:1: ( rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 ) - // InternalExport.g:5831:2: rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 + // InternalExport.g:5692:1: ( rule__Interface__Group_2_2__0__Impl rule__Interface__Group_2_2__1 ) + // InternalExport.g:5693:2: rule__Interface__Group_2_2__0__Impl rule__Interface__Group_2_2__1 { - pushFollow(FOLLOW_52); - rule__AndExpression__Group_1__0__Impl(); + pushFollow(FOLLOW_20); + rule__Interface__Group_2_2__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AndExpression__Group_1__1(); + rule__Interface__Group_2_2__1(); state._fsp--; if (state.failed) return ; @@ -19592,32 +20909,28 @@ public final void rule__AndExpression__Group_1__0() throws RecognitionException } return ; } - // $ANTLR end "rule__AndExpression__Group_1__0" + // $ANTLR end "rule__Interface__Group_2_2__0" - // $ANTLR start "rule__AndExpression__Group_1__0__Impl" - // InternalExport.g:5838:1: rule__AndExpression__Group_1__0__Impl : ( () ) ; - public final void rule__AndExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Interface__Group_2_2__0__Impl" + // InternalExport.g:5700:1: rule__Interface__Group_2_2__0__Impl : ( ',' ) ; + public final void rule__Interface__Group_2_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5842:1: ( ( () ) ) - // InternalExport.g:5843:1: ( () ) + // InternalExport.g:5704:1: ( ( ',' ) ) + // InternalExport.g:5705:1: ( ',' ) { - // InternalExport.g:5843:1: ( () ) - // InternalExport.g:5844:2: () + // InternalExport.g:5705:1: ( ',' ) + // InternalExport.g:5706:2: ',' { if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); - } - // InternalExport.g:5845:2: () - // InternalExport.g:5845:3: - { + before(grammarAccess.getInterfaceAccess().getCommaKeyword_2_2_0()); } - + match(input,74,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); + after(grammarAccess.getInterfaceAccess().getCommaKeyword_2_2_0()); } } @@ -19626,6 +20939,10 @@ public final void rule__AndExpression__Group_1__0__Impl() throws RecognitionExce } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -19633,26 +20950,21 @@ public final void rule__AndExpression__Group_1__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__AndExpression__Group_1__0__Impl" + // $ANTLR end "rule__Interface__Group_2_2__0__Impl" - // $ANTLR start "rule__AndExpression__Group_1__1" - // InternalExport.g:5853:1: rule__AndExpression__Group_1__1 : rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 ; - public final void rule__AndExpression__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__Interface__Group_2_2__1" + // InternalExport.g:5715:1: rule__Interface__Group_2_2__1 : rule__Interface__Group_2_2__1__Impl ; + public final void rule__Interface__Group_2_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5857:1: ( rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 ) - // InternalExport.g:5858:2: rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 + // InternalExport.g:5719:1: ( rule__Interface__Group_2_2__1__Impl ) + // InternalExport.g:5720:2: rule__Interface__Group_2_2__1__Impl { - pushFollow(FOLLOW_49); - rule__AndExpression__Group_1__1__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AndExpression__Group_1__2(); + rule__Interface__Group_2_2__1__Impl(); state._fsp--; if (state.failed) return ; @@ -19671,30 +20983,30 @@ public final void rule__AndExpression__Group_1__1() throws RecognitionException } return ; } - // $ANTLR end "rule__AndExpression__Group_1__1" + // $ANTLR end "rule__Interface__Group_2_2__1" - // $ANTLR start "rule__AndExpression__Group_1__1__Impl" - // InternalExport.g:5865:1: rule__AndExpression__Group_1__1__Impl : ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) ; - public final void rule__AndExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Interface__Group_2_2__1__Impl" + // InternalExport.g:5726:1: rule__Interface__Group_2_2__1__Impl : ( ( rule__Interface__ItemsAssignment_2_2_1 ) ) ; + public final void rule__Interface__Group_2_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5869:1: ( ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) ) - // InternalExport.g:5870:1: ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) + // InternalExport.g:5730:1: ( ( ( rule__Interface__ItemsAssignment_2_2_1 ) ) ) + // InternalExport.g:5731:1: ( ( rule__Interface__ItemsAssignment_2_2_1 ) ) { - // InternalExport.g:5870:1: ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) - // InternalExport.g:5871:2: ( rule__AndExpression__OperatorAssignment_1_1 ) + // InternalExport.g:5731:1: ( ( rule__Interface__ItemsAssignment_2_2_1 ) ) + // InternalExport.g:5732:2: ( rule__Interface__ItemsAssignment_2_2_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); + before(grammarAccess.getInterfaceAccess().getItemsAssignment_2_2_1()); } - // InternalExport.g:5872:2: ( rule__AndExpression__OperatorAssignment_1_1 ) - // InternalExport.g:5872:3: rule__AndExpression__OperatorAssignment_1_1 + // InternalExport.g:5733:2: ( rule__Interface__ItemsAssignment_2_2_1 ) + // InternalExport.g:5733:3: rule__Interface__ItemsAssignment_2_2_1 { pushFollow(FOLLOW_2); - rule__AndExpression__OperatorAssignment_1_1(); + rule__Interface__ItemsAssignment_2_2_1(); state._fsp--; if (state.failed) return ; @@ -19702,7 +21014,7 @@ public final void rule__AndExpression__Group_1__1__Impl() throws RecognitionExce } if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); + after(grammarAccess.getInterfaceAccess().getItemsAssignment_2_2_1()); } } @@ -19722,21 +21034,26 @@ public final void rule__AndExpression__Group_1__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__AndExpression__Group_1__1__Impl" + // $ANTLR end "rule__Interface__Group_2_2__1__Impl" - // $ANTLR start "rule__AndExpression__Group_1__2" - // InternalExport.g:5880:1: rule__AndExpression__Group_1__2 : rule__AndExpression__Group_1__2__Impl ; - public final void rule__AndExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__InterfaceField__Group__0" + // InternalExport.g:5742:1: rule__InterfaceField__Group__0 : rule__InterfaceField__Group__0__Impl rule__InterfaceField__Group__1 ; + public final void rule__InterfaceField__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5884:1: ( rule__AndExpression__Group_1__2__Impl ) - // InternalExport.g:5885:2: rule__AndExpression__Group_1__2__Impl + // InternalExport.g:5746:1: ( rule__InterfaceField__Group__0__Impl rule__InterfaceField__Group__1 ) + // InternalExport.g:5747:2: rule__InterfaceField__Group__0__Impl rule__InterfaceField__Group__1 { + pushFollow(FOLLOW_23); + rule__InterfaceField__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AndExpression__Group_1__2__Impl(); + rule__InterfaceField__Group__1(); state._fsp--; if (state.failed) return ; @@ -19755,38 +21072,49 @@ public final void rule__AndExpression__Group_1__2() throws RecognitionException } return ; } - // $ANTLR end "rule__AndExpression__Group_1__2" + // $ANTLR end "rule__InterfaceField__Group__0" - // $ANTLR start "rule__AndExpression__Group_1__2__Impl" - // InternalExport.g:5891:1: rule__AndExpression__Group_1__2__Impl : ( ( rule__AndExpression__RightAssignment_1_2 ) ) ; - public final void rule__AndExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__InterfaceField__Group__0__Impl" + // InternalExport.g:5754:1: rule__InterfaceField__Group__0__Impl : ( ( rule__InterfaceField__UnorderedAssignment_0 )? ) ; + public final void rule__InterfaceField__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5895:1: ( ( ( rule__AndExpression__RightAssignment_1_2 ) ) ) - // InternalExport.g:5896:1: ( ( rule__AndExpression__RightAssignment_1_2 ) ) + // InternalExport.g:5758:1: ( ( ( rule__InterfaceField__UnorderedAssignment_0 )? ) ) + // InternalExport.g:5759:1: ( ( rule__InterfaceField__UnorderedAssignment_0 )? ) { - // InternalExport.g:5896:1: ( ( rule__AndExpression__RightAssignment_1_2 ) ) - // InternalExport.g:5897:2: ( rule__AndExpression__RightAssignment_1_2 ) + // InternalExport.g:5759:1: ( ( rule__InterfaceField__UnorderedAssignment_0 )? ) + // InternalExport.g:5760:2: ( rule__InterfaceField__UnorderedAssignment_0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); + before(grammarAccess.getInterfaceFieldAccess().getUnorderedAssignment_0()); } - // InternalExport.g:5898:2: ( rule__AndExpression__RightAssignment_1_2 ) - // InternalExport.g:5898:3: rule__AndExpression__RightAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__AndExpression__RightAssignment_1_2(); + // InternalExport.g:5761:2: ( rule__InterfaceField__UnorderedAssignment_0 )? + int alt71=2; + int LA71_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA71_0==23) ) { + alt71=1; + } + switch (alt71) { + case 1 : + // InternalExport.g:5761:3: rule__InterfaceField__UnorderedAssignment_0 + { + pushFollow(FOLLOW_2); + rule__InterfaceField__UnorderedAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + break; } if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); + after(grammarAccess.getInterfaceFieldAccess().getUnorderedAssignment_0()); } } @@ -19806,26 +21134,21 @@ public final void rule__AndExpression__Group_1__2__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__AndExpression__Group_1__2__Impl" + // $ANTLR end "rule__InterfaceField__Group__0__Impl" - // $ANTLR start "rule__ImpliesExpression__Group__0" - // InternalExport.g:5907:1: rule__ImpliesExpression__Group__0 : rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 ; - public final void rule__ImpliesExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__InterfaceField__Group__1" + // InternalExport.g:5769:1: rule__InterfaceField__Group__1 : rule__InterfaceField__Group__1__Impl ; + public final void rule__InterfaceField__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5911:1: ( rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 ) - // InternalExport.g:5912:2: rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 + // InternalExport.g:5773:1: ( rule__InterfaceField__Group__1__Impl ) + // InternalExport.g:5774:2: rule__InterfaceField__Group__1__Impl { - pushFollow(FOLLOW_54); - rule__ImpliesExpression__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ImpliesExpression__Group__1(); + rule__InterfaceField__Group__1__Impl(); state._fsp--; if (state.failed) return ; @@ -19844,32 +21167,38 @@ public final void rule__ImpliesExpression__Group__0() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ImpliesExpression__Group__0" + // $ANTLR end "rule__InterfaceField__Group__1" - // $ANTLR start "rule__ImpliesExpression__Group__0__Impl" - // InternalExport.g:5919:1: rule__ImpliesExpression__Group__0__Impl : ( ruleRelationalExpression ) ; - public final void rule__ImpliesExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__InterfaceField__Group__1__Impl" + // InternalExport.g:5780:1: rule__InterfaceField__Group__1__Impl : ( ( rule__InterfaceField__FieldAssignment_1 ) ) ; + public final void rule__InterfaceField__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5923:1: ( ( ruleRelationalExpression ) ) - // InternalExport.g:5924:1: ( ruleRelationalExpression ) + // InternalExport.g:5784:1: ( ( ( rule__InterfaceField__FieldAssignment_1 ) ) ) + // InternalExport.g:5785:1: ( ( rule__InterfaceField__FieldAssignment_1 ) ) { - // InternalExport.g:5924:1: ( ruleRelationalExpression ) - // InternalExport.g:5925:2: ruleRelationalExpression + // InternalExport.g:5785:1: ( ( rule__InterfaceField__FieldAssignment_1 ) ) + // InternalExport.g:5786:2: ( rule__InterfaceField__FieldAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); + before(grammarAccess.getInterfaceFieldAccess().getFieldAssignment_1()); } + // InternalExport.g:5787:2: ( rule__InterfaceField__FieldAssignment_1 ) + // InternalExport.g:5787:3: rule__InterfaceField__FieldAssignment_1 + { pushFollow(FOLLOW_2); - ruleRelationalExpression(); + rule__InterfaceField__FieldAssignment_1(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); + after(grammarAccess.getInterfaceFieldAccess().getFieldAssignment_1()); } } @@ -19889,21 +21218,26 @@ public final void rule__ImpliesExpression__Group__0__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ImpliesExpression__Group__0__Impl" + // $ANTLR end "rule__InterfaceField__Group__1__Impl" - // $ANTLR start "rule__ImpliesExpression__Group__1" - // InternalExport.g:5934:1: rule__ImpliesExpression__Group__1 : rule__ImpliesExpression__Group__1__Impl ; - public final void rule__ImpliesExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__InterfaceNavigation__Group__0" + // InternalExport.g:5796:1: rule__InterfaceNavigation__Group__0 : rule__InterfaceNavigation__Group__0__Impl rule__InterfaceNavigation__Group__1 ; + public final void rule__InterfaceNavigation__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5938:1: ( rule__ImpliesExpression__Group__1__Impl ) - // InternalExport.g:5939:2: rule__ImpliesExpression__Group__1__Impl + // InternalExport.g:5800:1: ( rule__InterfaceNavigation__Group__0__Impl rule__InterfaceNavigation__Group__1 ) + // InternalExport.g:5801:2: rule__InterfaceNavigation__Group__0__Impl rule__InterfaceNavigation__Group__1 { + pushFollow(FOLLOW_23); + rule__InterfaceNavigation__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ImpliesExpression__Group__1__Impl(); + rule__InterfaceNavigation__Group__1(); state._fsp--; if (state.failed) return ; @@ -19922,56 +21256,28 @@ public final void rule__ImpliesExpression__Group__1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ImpliesExpression__Group__1" + // $ANTLR end "rule__InterfaceNavigation__Group__0" - // $ANTLR start "rule__ImpliesExpression__Group__1__Impl" - // InternalExport.g:5945:1: rule__ImpliesExpression__Group__1__Impl : ( ( rule__ImpliesExpression__Group_1__0 )* ) ; - public final void rule__ImpliesExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__InterfaceNavigation__Group__0__Impl" + // InternalExport.g:5808:1: rule__InterfaceNavigation__Group__0__Impl : ( '@' ) ; + public final void rule__InterfaceNavigation__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5949:1: ( ( ( rule__ImpliesExpression__Group_1__0 )* ) ) - // InternalExport.g:5950:1: ( ( rule__ImpliesExpression__Group_1__0 )* ) + // InternalExport.g:5812:1: ( ( '@' ) ) + // InternalExport.g:5813:1: ( '@' ) { - // InternalExport.g:5950:1: ( ( rule__ImpliesExpression__Group_1__0 )* ) - // InternalExport.g:5951:2: ( rule__ImpliesExpression__Group_1__0 )* + // InternalExport.g:5813:1: ( '@' ) + // InternalExport.g:5814:2: '@' { if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getGroup_1()); + before(grammarAccess.getInterfaceNavigationAccess().getCommercialAtKeyword_0()); } - // InternalExport.g:5952:2: ( rule__ImpliesExpression__Group_1__0 )* - loop54: - do { - int alt54=2; - int LA54_0 = input.LA(1); - - if ( (LA54_0==79) ) { - alt54=1; - } - - - switch (alt54) { - case 1 : - // InternalExport.g:5952:3: rule__ImpliesExpression__Group_1__0 - { - pushFollow(FOLLOW_55); - rule__ImpliesExpression__Group_1__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop54; - } - } while (true); - + match(input,75,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getGroup_1()); + after(grammarAccess.getInterfaceNavigationAccess().getCommercialAtKeyword_0()); } } @@ -19991,26 +21297,26 @@ public final void rule__ImpliesExpression__Group__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ImpliesExpression__Group__1__Impl" + // $ANTLR end "rule__InterfaceNavigation__Group__0__Impl" - // $ANTLR start "rule__ImpliesExpression__Group_1__0" - // InternalExport.g:5961:1: rule__ImpliesExpression__Group_1__0 : rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 ; - public final void rule__ImpliesExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__InterfaceNavigation__Group__1" + // InternalExport.g:5823:1: rule__InterfaceNavigation__Group__1 : rule__InterfaceNavigation__Group__1__Impl rule__InterfaceNavigation__Group__2 ; + public final void rule__InterfaceNavigation__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5965:1: ( rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 ) - // InternalExport.g:5966:2: rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 + // InternalExport.g:5827:1: ( rule__InterfaceNavigation__Group__1__Impl rule__InterfaceNavigation__Group__2 ) + // InternalExport.g:5828:2: rule__InterfaceNavigation__Group__1__Impl rule__InterfaceNavigation__Group__2 { - pushFollow(FOLLOW_54); - rule__ImpliesExpression__Group_1__0__Impl(); + pushFollow(FOLLOW_23); + rule__InterfaceNavigation__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ImpliesExpression__Group_1__1(); + rule__InterfaceNavigation__Group__2(); state._fsp--; if (state.failed) return ; @@ -20029,32 +21335,49 @@ public final void rule__ImpliesExpression__Group_1__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ImpliesExpression__Group_1__0" + // $ANTLR end "rule__InterfaceNavigation__Group__1" - // $ANTLR start "rule__ImpliesExpression__Group_1__0__Impl" - // InternalExport.g:5973:1: rule__ImpliesExpression__Group_1__0__Impl : ( () ) ; - public final void rule__ImpliesExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__InterfaceNavigation__Group__1__Impl" + // InternalExport.g:5835:1: rule__InterfaceNavigation__Group__1__Impl : ( ( rule__InterfaceNavigation__UnorderedAssignment_1 )? ) ; + public final void rule__InterfaceNavigation__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5977:1: ( ( () ) ) - // InternalExport.g:5978:1: ( () ) + // InternalExport.g:5839:1: ( ( ( rule__InterfaceNavigation__UnorderedAssignment_1 )? ) ) + // InternalExport.g:5840:1: ( ( rule__InterfaceNavigation__UnorderedAssignment_1 )? ) { - // InternalExport.g:5978:1: ( () ) - // InternalExport.g:5979:2: () + // InternalExport.g:5840:1: ( ( rule__InterfaceNavigation__UnorderedAssignment_1 )? ) + // InternalExport.g:5841:2: ( rule__InterfaceNavigation__UnorderedAssignment_1 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); + before(grammarAccess.getInterfaceNavigationAccess().getUnorderedAssignment_1()); } - // InternalExport.g:5980:2: () - // InternalExport.g:5980:3: - { + // InternalExport.g:5842:2: ( rule__InterfaceNavigation__UnorderedAssignment_1 )? + int alt72=2; + int LA72_0 = input.LA(1); + + if ( (LA72_0==23) ) { + alt72=1; + } + switch (alt72) { + case 1 : + // InternalExport.g:5842:3: rule__InterfaceNavigation__UnorderedAssignment_1 + { + pushFollow(FOLLOW_2); + rule__InterfaceNavigation__UnorderedAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + } if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); + after(grammarAccess.getInterfaceNavigationAccess().getUnorderedAssignment_1()); } } @@ -20063,6 +21386,10 @@ public final void rule__ImpliesExpression__Group_1__0__Impl() throws Recognition } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -20070,26 +21397,21 @@ public final void rule__ImpliesExpression__Group_1__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__ImpliesExpression__Group_1__0__Impl" + // $ANTLR end "rule__InterfaceNavigation__Group__1__Impl" - // $ANTLR start "rule__ImpliesExpression__Group_1__1" - // InternalExport.g:5988:1: rule__ImpliesExpression__Group_1__1 : rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 ; - public final void rule__ImpliesExpression__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__InterfaceNavigation__Group__2" + // InternalExport.g:5850:1: rule__InterfaceNavigation__Group__2 : rule__InterfaceNavigation__Group__2__Impl ; + public final void rule__InterfaceNavigation__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:5992:1: ( rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 ) - // InternalExport.g:5993:2: rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 + // InternalExport.g:5854:1: ( rule__InterfaceNavigation__Group__2__Impl ) + // InternalExport.g:5855:2: rule__InterfaceNavigation__Group__2__Impl { - pushFollow(FOLLOW_49); - rule__ImpliesExpression__Group_1__1__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ImpliesExpression__Group_1__2(); + rule__InterfaceNavigation__Group__2__Impl(); state._fsp--; if (state.failed) return ; @@ -20108,30 +21430,30 @@ public final void rule__ImpliesExpression__Group_1__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ImpliesExpression__Group_1__1" + // $ANTLR end "rule__InterfaceNavigation__Group__2" - // $ANTLR start "rule__ImpliesExpression__Group_1__1__Impl" - // InternalExport.g:6000:1: rule__ImpliesExpression__Group_1__1__Impl : ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) ; - public final void rule__ImpliesExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__InterfaceNavigation__Group__2__Impl" + // InternalExport.g:5861:1: rule__InterfaceNavigation__Group__2__Impl : ( ( rule__InterfaceNavigation__RefAssignment_2 ) ) ; + public final void rule__InterfaceNavigation__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6004:1: ( ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) ) - // InternalExport.g:6005:1: ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) + // InternalExport.g:5865:1: ( ( ( rule__InterfaceNavigation__RefAssignment_2 ) ) ) + // InternalExport.g:5866:1: ( ( rule__InterfaceNavigation__RefAssignment_2 ) ) { - // InternalExport.g:6005:1: ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) - // InternalExport.g:6006:2: ( rule__ImpliesExpression__OperatorAssignment_1_1 ) + // InternalExport.g:5866:1: ( ( rule__InterfaceNavigation__RefAssignment_2 ) ) + // InternalExport.g:5867:2: ( rule__InterfaceNavigation__RefAssignment_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); + before(grammarAccess.getInterfaceNavigationAccess().getRefAssignment_2()); } - // InternalExport.g:6007:2: ( rule__ImpliesExpression__OperatorAssignment_1_1 ) - // InternalExport.g:6007:3: rule__ImpliesExpression__OperatorAssignment_1_1 + // InternalExport.g:5868:2: ( rule__InterfaceNavigation__RefAssignment_2 ) + // InternalExport.g:5868:3: rule__InterfaceNavigation__RefAssignment_2 { pushFollow(FOLLOW_2); - rule__ImpliesExpression__OperatorAssignment_1_1(); + rule__InterfaceNavigation__RefAssignment_2(); state._fsp--; if (state.failed) return ; @@ -20139,7 +21461,7 @@ public final void rule__ImpliesExpression__Group_1__1__Impl() throws Recognition } if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); + after(grammarAccess.getInterfaceNavigationAccess().getRefAssignment_2()); } } @@ -20159,21 +21481,26 @@ public final void rule__ImpliesExpression__Group_1__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__ImpliesExpression__Group_1__1__Impl" + // $ANTLR end "rule__InterfaceNavigation__Group__2__Impl" - // $ANTLR start "rule__ImpliesExpression__Group_1__2" - // InternalExport.g:6015:1: rule__ImpliesExpression__Group_1__2 : rule__ImpliesExpression__Group_1__2__Impl ; - public final void rule__ImpliesExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__InterfaceExpression__Group__0" + // InternalExport.g:5877:1: rule__InterfaceExpression__Group__0 : rule__InterfaceExpression__Group__0__Impl rule__InterfaceExpression__Group__1 ; + public final void rule__InterfaceExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6019:1: ( rule__ImpliesExpression__Group_1__2__Impl ) - // InternalExport.g:6020:2: rule__ImpliesExpression__Group_1__2__Impl + // InternalExport.g:5881:1: ( rule__InterfaceExpression__Group__0__Impl rule__InterfaceExpression__Group__1 ) + // InternalExport.g:5882:2: rule__InterfaceExpression__Group__0__Impl rule__InterfaceExpression__Group__1 { + pushFollow(FOLLOW_24); + rule__InterfaceExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ImpliesExpression__Group_1__2__Impl(); + rule__InterfaceExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -20192,38 +21519,28 @@ public final void rule__ImpliesExpression__Group_1__2() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ImpliesExpression__Group_1__2" + // $ANTLR end "rule__InterfaceExpression__Group__0" - // $ANTLR start "rule__ImpliesExpression__Group_1__2__Impl" - // InternalExport.g:6026:1: rule__ImpliesExpression__Group_1__2__Impl : ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) ; - public final void rule__ImpliesExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__InterfaceExpression__Group__0__Impl" + // InternalExport.g:5889:1: rule__InterfaceExpression__Group__0__Impl : ( 'eval' ) ; + public final void rule__InterfaceExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6030:1: ( ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) ) - // InternalExport.g:6031:1: ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) + // InternalExport.g:5893:1: ( ( 'eval' ) ) + // InternalExport.g:5894:1: ( 'eval' ) { - // InternalExport.g:6031:1: ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) - // InternalExport.g:6032:2: ( rule__ImpliesExpression__RightAssignment_1_2 ) + // InternalExport.g:5894:1: ( 'eval' ) + // InternalExport.g:5895:2: 'eval' { if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); - } - // InternalExport.g:6033:2: ( rule__ImpliesExpression__RightAssignment_1_2 ) - // InternalExport.g:6033:3: rule__ImpliesExpression__RightAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__ImpliesExpression__RightAssignment_1_2(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getInterfaceExpressionAccess().getEvalKeyword_0()); } - + match(input,76,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); + after(grammarAccess.getInterfaceExpressionAccess().getEvalKeyword_0()); } } @@ -20243,26 +21560,26 @@ public final void rule__ImpliesExpression__Group_1__2__Impl() throws Recognition } return ; } - // $ANTLR end "rule__ImpliesExpression__Group_1__2__Impl" + // $ANTLR end "rule__InterfaceExpression__Group__0__Impl" - // $ANTLR start "rule__RelationalExpression__Group__0" - // InternalExport.g:6042:1: rule__RelationalExpression__Group__0 : rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 ; - public final void rule__RelationalExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__InterfaceExpression__Group__1" + // InternalExport.g:5904:1: rule__InterfaceExpression__Group__1 : rule__InterfaceExpression__Group__1__Impl rule__InterfaceExpression__Group__2 ; + public final void rule__InterfaceExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6046:1: ( rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 ) - // InternalExport.g:6047:2: rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 + // InternalExport.g:5908:1: ( rule__InterfaceExpression__Group__1__Impl rule__InterfaceExpression__Group__2 ) + // InternalExport.g:5909:2: rule__InterfaceExpression__Group__1__Impl rule__InterfaceExpression__Group__2 { - pushFollow(FOLLOW_56); - rule__RelationalExpression__Group__0__Impl(); + pushFollow(FOLLOW_24); + rule__InterfaceExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__RelationalExpression__Group__1(); + rule__InterfaceExpression__Group__2(); state._fsp--; if (state.failed) return ; @@ -20281,32 +21598,49 @@ public final void rule__RelationalExpression__Group__0() throws RecognitionExcep } return ; } - // $ANTLR end "rule__RelationalExpression__Group__0" + // $ANTLR end "rule__InterfaceExpression__Group__1" - // $ANTLR start "rule__RelationalExpression__Group__0__Impl" - // InternalExport.g:6054:1: rule__RelationalExpression__Group__0__Impl : ( ruleAdditiveExpression ) ; - public final void rule__RelationalExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__InterfaceExpression__Group__1__Impl" + // InternalExport.g:5916:1: rule__InterfaceExpression__Group__1__Impl : ( ( rule__InterfaceExpression__RefAssignment_1 )? ) ; + public final void rule__InterfaceExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6058:1: ( ( ruleAdditiveExpression ) ) - // InternalExport.g:6059:1: ( ruleAdditiveExpression ) + // InternalExport.g:5920:1: ( ( ( rule__InterfaceExpression__RefAssignment_1 )? ) ) + // InternalExport.g:5921:1: ( ( rule__InterfaceExpression__RefAssignment_1 )? ) { - // InternalExport.g:6059:1: ( ruleAdditiveExpression ) - // InternalExport.g:6060:2: ruleAdditiveExpression + // InternalExport.g:5921:1: ( ( rule__InterfaceExpression__RefAssignment_1 )? ) + // InternalExport.g:5922:2: ( rule__InterfaceExpression__RefAssignment_1 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); + before(grammarAccess.getInterfaceExpressionAccess().getRefAssignment_1()); + } + // InternalExport.g:5923:2: ( rule__InterfaceExpression__RefAssignment_1 )? + int alt73=2; + int LA73_0 = input.LA(1); + + if ( (LA73_0==75) ) { + alt73=1; + } + switch (alt73) { + case 1 : + // InternalExport.g:5923:3: rule__InterfaceExpression__RefAssignment_1 + { + pushFollow(FOLLOW_2); + rule__InterfaceExpression__RefAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + } - pushFollow(FOLLOW_2); - ruleAdditiveExpression(); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); + after(grammarAccess.getInterfaceExpressionAccess().getRefAssignment_1()); } } @@ -20326,21 +21660,26 @@ public final void rule__RelationalExpression__Group__0__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__RelationalExpression__Group__0__Impl" + // $ANTLR end "rule__InterfaceExpression__Group__1__Impl" - // $ANTLR start "rule__RelationalExpression__Group__1" - // InternalExport.g:6069:1: rule__RelationalExpression__Group__1 : rule__RelationalExpression__Group__1__Impl ; - public final void rule__RelationalExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__InterfaceExpression__Group__2" + // InternalExport.g:5931:1: rule__InterfaceExpression__Group__2 : rule__InterfaceExpression__Group__2__Impl rule__InterfaceExpression__Group__3 ; + public final void rule__InterfaceExpression__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6073:1: ( rule__RelationalExpression__Group__1__Impl ) - // InternalExport.g:6074:2: rule__RelationalExpression__Group__1__Impl + // InternalExport.g:5935:1: ( rule__InterfaceExpression__Group__2__Impl rule__InterfaceExpression__Group__3 ) + // InternalExport.g:5936:2: rule__InterfaceExpression__Group__2__Impl rule__InterfaceExpression__Group__3 { + pushFollow(FOLLOW_24); + rule__InterfaceExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__RelationalExpression__Group__1__Impl(); + rule__InterfaceExpression__Group__3(); state._fsp--; if (state.failed) return ; @@ -20359,56 +21698,49 @@ public final void rule__RelationalExpression__Group__1() throws RecognitionExcep } return ; } - // $ANTLR end "rule__RelationalExpression__Group__1" + // $ANTLR end "rule__InterfaceExpression__Group__2" - // $ANTLR start "rule__RelationalExpression__Group__1__Impl" - // InternalExport.g:6080:1: rule__RelationalExpression__Group__1__Impl : ( ( rule__RelationalExpression__Group_1__0 )* ) ; - public final void rule__RelationalExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__InterfaceExpression__Group__2__Impl" + // InternalExport.g:5943:1: rule__InterfaceExpression__Group__2__Impl : ( ( rule__InterfaceExpression__UnorderedAssignment_2 )? ) ; + public final void rule__InterfaceExpression__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6084:1: ( ( ( rule__RelationalExpression__Group_1__0 )* ) ) - // InternalExport.g:6085:1: ( ( rule__RelationalExpression__Group_1__0 )* ) + // InternalExport.g:5947:1: ( ( ( rule__InterfaceExpression__UnorderedAssignment_2 )? ) ) + // InternalExport.g:5948:1: ( ( rule__InterfaceExpression__UnorderedAssignment_2 )? ) { - // InternalExport.g:6085:1: ( ( rule__RelationalExpression__Group_1__0 )* ) - // InternalExport.g:6086:2: ( rule__RelationalExpression__Group_1__0 )* + // InternalExport.g:5948:1: ( ( rule__InterfaceExpression__UnorderedAssignment_2 )? ) + // InternalExport.g:5949:2: ( rule__InterfaceExpression__UnorderedAssignment_2 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getGroup_1()); + before(grammarAccess.getInterfaceExpressionAccess().getUnorderedAssignment_2()); } - // InternalExport.g:6087:2: ( rule__RelationalExpression__Group_1__0 )* - loop55: - do { - int alt55=2; - int LA55_0 = input.LA(1); - - if ( ((LA55_0>=12 && LA55_0<=17)) ) { - alt55=1; - } - + // InternalExport.g:5950:2: ( rule__InterfaceExpression__UnorderedAssignment_2 )? + int alt74=2; + int LA74_0 = input.LA(1); - switch (alt55) { - case 1 : - // InternalExport.g:6087:3: rule__RelationalExpression__Group_1__0 - { - pushFollow(FOLLOW_57); - rule__RelationalExpression__Group_1__0(); + if ( (LA74_0==23) ) { + alt74=1; + } + switch (alt74) { + case 1 : + // InternalExport.g:5950:3: rule__InterfaceExpression__UnorderedAssignment_2 + { + pushFollow(FOLLOW_2); + rule__InterfaceExpression__UnorderedAssignment_2(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; - } - break; + } + break; - default : - break loop55; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getGroup_1()); + after(grammarAccess.getInterfaceExpressionAccess().getUnorderedAssignment_2()); } } @@ -20428,26 +21760,26 @@ public final void rule__RelationalExpression__Group__1__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__RelationalExpression__Group__1__Impl" + // $ANTLR end "rule__InterfaceExpression__Group__2__Impl" - // $ANTLR start "rule__RelationalExpression__Group_1__0" - // InternalExport.g:6096:1: rule__RelationalExpression__Group_1__0 : rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 ; - public final void rule__RelationalExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__InterfaceExpression__Group__3" + // InternalExport.g:5958:1: rule__InterfaceExpression__Group__3 : rule__InterfaceExpression__Group__3__Impl rule__InterfaceExpression__Group__4 ; + public final void rule__InterfaceExpression__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6100:1: ( rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 ) - // InternalExport.g:6101:2: rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 + // InternalExport.g:5962:1: ( rule__InterfaceExpression__Group__3__Impl rule__InterfaceExpression__Group__4 ) + // InternalExport.g:5963:2: rule__InterfaceExpression__Group__3__Impl rule__InterfaceExpression__Group__4 { - pushFollow(FOLLOW_56); - rule__RelationalExpression__Group_1__0__Impl(); + pushFollow(FOLLOW_18); + rule__InterfaceExpression__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__RelationalExpression__Group_1__1(); + rule__InterfaceExpression__Group__4(); state._fsp--; if (state.failed) return ; @@ -20466,32 +21798,28 @@ public final void rule__RelationalExpression__Group_1__0() throws RecognitionExc } return ; } - // $ANTLR end "rule__RelationalExpression__Group_1__0" + // $ANTLR end "rule__InterfaceExpression__Group__3" - // $ANTLR start "rule__RelationalExpression__Group_1__0__Impl" - // InternalExport.g:6108:1: rule__RelationalExpression__Group_1__0__Impl : ( () ) ; - public final void rule__RelationalExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__InterfaceExpression__Group__3__Impl" + // InternalExport.g:5970:1: rule__InterfaceExpression__Group__3__Impl : ( '(' ) ; + public final void rule__InterfaceExpression__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6112:1: ( ( () ) ) - // InternalExport.g:6113:1: ( () ) + // InternalExport.g:5974:1: ( ( '(' ) ) + // InternalExport.g:5975:1: ( '(' ) { - // InternalExport.g:6113:1: ( () ) - // InternalExport.g:6114:2: () + // InternalExport.g:5975:1: ( '(' ) + // InternalExport.g:5976:2: '(' { if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); - } - // InternalExport.g:6115:2: () - // InternalExport.g:6115:3: - { + before(grammarAccess.getInterfaceExpressionAccess().getLeftParenthesisKeyword_3()); } - + match(input,77,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); + after(grammarAccess.getInterfaceExpressionAccess().getLeftParenthesisKeyword_3()); } } @@ -20500,6 +21828,10 @@ public final void rule__RelationalExpression__Group_1__0__Impl() throws Recognit } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -20507,26 +21839,26 @@ public final void rule__RelationalExpression__Group_1__0__Impl() throws Recognit } return ; } - // $ANTLR end "rule__RelationalExpression__Group_1__0__Impl" + // $ANTLR end "rule__InterfaceExpression__Group__3__Impl" - // $ANTLR start "rule__RelationalExpression__Group_1__1" - // InternalExport.g:6123:1: rule__RelationalExpression__Group_1__1 : rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 ; - public final void rule__RelationalExpression__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__InterfaceExpression__Group__4" + // InternalExport.g:5985:1: rule__InterfaceExpression__Group__4 : rule__InterfaceExpression__Group__4__Impl rule__InterfaceExpression__Group__5 ; + public final void rule__InterfaceExpression__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6127:1: ( rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 ) - // InternalExport.g:6128:2: rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 + // InternalExport.g:5989:1: ( rule__InterfaceExpression__Group__4__Impl rule__InterfaceExpression__Group__5 ) + // InternalExport.g:5990:2: rule__InterfaceExpression__Group__4__Impl rule__InterfaceExpression__Group__5 { - pushFollow(FOLLOW_49); - rule__RelationalExpression__Group_1__1__Impl(); + pushFollow(FOLLOW_25); + rule__InterfaceExpression__Group__4__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__RelationalExpression__Group_1__2(); + rule__InterfaceExpression__Group__5(); state._fsp--; if (state.failed) return ; @@ -20545,30 +21877,30 @@ public final void rule__RelationalExpression__Group_1__1() throws RecognitionExc } return ; } - // $ANTLR end "rule__RelationalExpression__Group_1__1" + // $ANTLR end "rule__InterfaceExpression__Group__4" - // $ANTLR start "rule__RelationalExpression__Group_1__1__Impl" - // InternalExport.g:6135:1: rule__RelationalExpression__Group_1__1__Impl : ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) ; - public final void rule__RelationalExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__InterfaceExpression__Group__4__Impl" + // InternalExport.g:5997:1: rule__InterfaceExpression__Group__4__Impl : ( ( rule__InterfaceExpression__ExprAssignment_4 ) ) ; + public final void rule__InterfaceExpression__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6139:1: ( ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) ) - // InternalExport.g:6140:1: ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) + // InternalExport.g:6001:1: ( ( ( rule__InterfaceExpression__ExprAssignment_4 ) ) ) + // InternalExport.g:6002:1: ( ( rule__InterfaceExpression__ExprAssignment_4 ) ) { - // InternalExport.g:6140:1: ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) - // InternalExport.g:6141:2: ( rule__RelationalExpression__OperatorAssignment_1_1 ) + // InternalExport.g:6002:1: ( ( rule__InterfaceExpression__ExprAssignment_4 ) ) + // InternalExport.g:6003:2: ( rule__InterfaceExpression__ExprAssignment_4 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); + before(grammarAccess.getInterfaceExpressionAccess().getExprAssignment_4()); } - // InternalExport.g:6142:2: ( rule__RelationalExpression__OperatorAssignment_1_1 ) - // InternalExport.g:6142:3: rule__RelationalExpression__OperatorAssignment_1_1 + // InternalExport.g:6004:2: ( rule__InterfaceExpression__ExprAssignment_4 ) + // InternalExport.g:6004:3: rule__InterfaceExpression__ExprAssignment_4 { pushFollow(FOLLOW_2); - rule__RelationalExpression__OperatorAssignment_1_1(); + rule__InterfaceExpression__ExprAssignment_4(); state._fsp--; if (state.failed) return ; @@ -20576,7 +21908,7 @@ public final void rule__RelationalExpression__Group_1__1__Impl() throws Recognit } if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); + after(grammarAccess.getInterfaceExpressionAccess().getExprAssignment_4()); } } @@ -20596,21 +21928,21 @@ public final void rule__RelationalExpression__Group_1__1__Impl() throws Recognit } return ; } - // $ANTLR end "rule__RelationalExpression__Group_1__1__Impl" + // $ANTLR end "rule__InterfaceExpression__Group__4__Impl" - // $ANTLR start "rule__RelationalExpression__Group_1__2" - // InternalExport.g:6150:1: rule__RelationalExpression__Group_1__2 : rule__RelationalExpression__Group_1__2__Impl ; - public final void rule__RelationalExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__InterfaceExpression__Group__5" + // InternalExport.g:6012:1: rule__InterfaceExpression__Group__5 : rule__InterfaceExpression__Group__5__Impl ; + public final void rule__InterfaceExpression__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6154:1: ( rule__RelationalExpression__Group_1__2__Impl ) - // InternalExport.g:6155:2: rule__RelationalExpression__Group_1__2__Impl + // InternalExport.g:6016:1: ( rule__InterfaceExpression__Group__5__Impl ) + // InternalExport.g:6017:2: rule__InterfaceExpression__Group__5__Impl { pushFollow(FOLLOW_2); - rule__RelationalExpression__Group_1__2__Impl(); + rule__InterfaceExpression__Group__5__Impl(); state._fsp--; if (state.failed) return ; @@ -20629,38 +21961,28 @@ public final void rule__RelationalExpression__Group_1__2() throws RecognitionExc } return ; } - // $ANTLR end "rule__RelationalExpression__Group_1__2" + // $ANTLR end "rule__InterfaceExpression__Group__5" - // $ANTLR start "rule__RelationalExpression__Group_1__2__Impl" - // InternalExport.g:6161:1: rule__RelationalExpression__Group_1__2__Impl : ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) ; - public final void rule__RelationalExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__InterfaceExpression__Group__5__Impl" + // InternalExport.g:6023:1: rule__InterfaceExpression__Group__5__Impl : ( ')' ) ; + public final void rule__InterfaceExpression__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6165:1: ( ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) ) - // InternalExport.g:6166:1: ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) + // InternalExport.g:6027:1: ( ( ')' ) ) + // InternalExport.g:6028:1: ( ')' ) { - // InternalExport.g:6166:1: ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) - // InternalExport.g:6167:2: ( rule__RelationalExpression__RightAssignment_1_2 ) + // InternalExport.g:6028:1: ( ')' ) + // InternalExport.g:6029:2: ')' { if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); - } - // InternalExport.g:6168:2: ( rule__RelationalExpression__RightAssignment_1_2 ) - // InternalExport.g:6168:3: rule__RelationalExpression__RightAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__RelationalExpression__RightAssignment_1_2(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getInterfaceExpressionAccess().getRightParenthesisKeyword_5()); } - + match(input,78,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); + after(grammarAccess.getInterfaceExpressionAccess().getRightParenthesisKeyword_5()); } } @@ -20680,26 +22002,26 @@ public final void rule__RelationalExpression__Group_1__2__Impl() throws Recognit } return ; } - // $ANTLR end "rule__RelationalExpression__Group_1__2__Impl" + // $ANTLR end "rule__InterfaceExpression__Group__5__Impl" - // $ANTLR start "rule__AdditiveExpression__Group__0" - // InternalExport.g:6177:1: rule__AdditiveExpression__Group__0 : rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ; - public final void rule__AdditiveExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__Export__Group__0" + // InternalExport.g:6039:1: rule__Export__Group__0 : rule__Export__Group__0__Impl rule__Export__Group__1 ; + public final void rule__Export__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6181:1: ( rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ) - // InternalExport.g:6182:2: rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 + // InternalExport.g:6043:1: ( rule__Export__Group__0__Impl rule__Export__Group__1 ) + // InternalExport.g:6044:2: rule__Export__Group__0__Impl rule__Export__Group__1 { - pushFollow(FOLLOW_58); - rule__AdditiveExpression__Group__0__Impl(); + pushFollow(FOLLOW_26); + rule__Export__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AdditiveExpression__Group__1(); + rule__Export__Group__1(); state._fsp--; if (state.failed) return ; @@ -20718,32 +22040,28 @@ public final void rule__AdditiveExpression__Group__0() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__AdditiveExpression__Group__0" + // $ANTLR end "rule__Export__Group__0" - // $ANTLR start "rule__AdditiveExpression__Group__0__Impl" - // InternalExport.g:6189:1: rule__AdditiveExpression__Group__0__Impl : ( ruleMultiplicativeExpression ) ; - public final void rule__AdditiveExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group__0__Impl" + // InternalExport.g:6051:1: rule__Export__Group__0__Impl : ( 'export' ) ; + public final void rule__Export__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6193:1: ( ( ruleMultiplicativeExpression ) ) - // InternalExport.g:6194:1: ( ruleMultiplicativeExpression ) + // InternalExport.g:6055:1: ( ( 'export' ) ) + // InternalExport.g:6056:1: ( 'export' ) { - // InternalExport.g:6194:1: ( ruleMultiplicativeExpression ) - // InternalExport.g:6195:2: ruleMultiplicativeExpression + // InternalExport.g:6056:1: ( 'export' ) + // InternalExport.g:6057:2: 'export' { if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); + before(grammarAccess.getExportAccess().getExportKeyword_0()); } - pushFollow(FOLLOW_2); - ruleMultiplicativeExpression(); - - state._fsp--; - if (state.failed) return ; + match(input,65,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); + after(grammarAccess.getExportAccess().getExportKeyword_0()); } } @@ -20763,21 +22081,26 @@ public final void rule__AdditiveExpression__Group__0__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__AdditiveExpression__Group__0__Impl" + // $ANTLR end "rule__Export__Group__0__Impl" - // $ANTLR start "rule__AdditiveExpression__Group__1" - // InternalExport.g:6204:1: rule__AdditiveExpression__Group__1 : rule__AdditiveExpression__Group__1__Impl ; - public final void rule__AdditiveExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__Export__Group__1" + // InternalExport.g:6066:1: rule__Export__Group__1 : rule__Export__Group__1__Impl rule__Export__Group__2 ; + public final void rule__Export__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6208:1: ( rule__AdditiveExpression__Group__1__Impl ) - // InternalExport.g:6209:2: rule__AdditiveExpression__Group__1__Impl + // InternalExport.g:6070:1: ( rule__Export__Group__1__Impl rule__Export__Group__2 ) + // InternalExport.g:6071:2: rule__Export__Group__1__Impl rule__Export__Group__2 { + pushFollow(FOLLOW_26); + rule__Export__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AdditiveExpression__Group__1__Impl(); + rule__Export__Group__2(); state._fsp--; if (state.failed) return ; @@ -20796,56 +22119,49 @@ public final void rule__AdditiveExpression__Group__1() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__AdditiveExpression__Group__1" + // $ANTLR end "rule__Export__Group__1" - // $ANTLR start "rule__AdditiveExpression__Group__1__Impl" - // InternalExport.g:6215:1: rule__AdditiveExpression__Group__1__Impl : ( ( rule__AdditiveExpression__Group_1__0 )* ) ; - public final void rule__AdditiveExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group__1__Impl" + // InternalExport.g:6078:1: rule__Export__Group__1__Impl : ( ( rule__Export__Group_1__0 )? ) ; + public final void rule__Export__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6219:1: ( ( ( rule__AdditiveExpression__Group_1__0 )* ) ) - // InternalExport.g:6220:1: ( ( rule__AdditiveExpression__Group_1__0 )* ) + // InternalExport.g:6082:1: ( ( ( rule__Export__Group_1__0 )? ) ) + // InternalExport.g:6083:1: ( ( rule__Export__Group_1__0 )? ) { - // InternalExport.g:6220:1: ( ( rule__AdditiveExpression__Group_1__0 )* ) - // InternalExport.g:6221:2: ( rule__AdditiveExpression__Group_1__0 )* + // InternalExport.g:6083:1: ( ( rule__Export__Group_1__0 )? ) + // InternalExport.g:6084:2: ( rule__Export__Group_1__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); + before(grammarAccess.getExportAccess().getGroup_1()); } - // InternalExport.g:6222:2: ( rule__AdditiveExpression__Group_1__0 )* - loop56: - do { - int alt56=2; - int LA56_0 = input.LA(1); - - if ( ((LA56_0>=18 && LA56_0<=19)) ) { - alt56=1; - } - + // InternalExport.g:6085:2: ( rule__Export__Group_1__0 )? + int alt75=2; + int LA75_0 = input.LA(1); - switch (alt56) { - case 1 : - // InternalExport.g:6222:3: rule__AdditiveExpression__Group_1__0 - { - pushFollow(FOLLOW_59); - rule__AdditiveExpression__Group_1__0(); + if ( (LA75_0==109) ) { + alt75=1; + } + switch (alt75) { + case 1 : + // InternalExport.g:6085:3: rule__Export__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__Export__Group_1__0(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; - } - break; + } + break; - default : - break loop56; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); + after(grammarAccess.getExportAccess().getGroup_1()); } } @@ -20865,26 +22181,26 @@ public final void rule__AdditiveExpression__Group__1__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__AdditiveExpression__Group__1__Impl" + // $ANTLR end "rule__Export__Group__1__Impl" - // $ANTLR start "rule__AdditiveExpression__Group_1__0" - // InternalExport.g:6231:1: rule__AdditiveExpression__Group_1__0 : rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ; - public final void rule__AdditiveExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__Export__Group__2" + // InternalExport.g:6093:1: rule__Export__Group__2 : rule__Export__Group__2__Impl rule__Export__Group__3 ; + public final void rule__Export__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6235:1: ( rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ) - // InternalExport.g:6236:2: rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 + // InternalExport.g:6097:1: ( rule__Export__Group__2__Impl rule__Export__Group__3 ) + // InternalExport.g:6098:2: rule__Export__Group__2__Impl rule__Export__Group__3 { - pushFollow(FOLLOW_58); - rule__AdditiveExpression__Group_1__0__Impl(); + pushFollow(FOLLOW_27); + rule__Export__Group__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AdditiveExpression__Group_1__1(); + rule__Export__Group__3(); state._fsp--; if (state.failed) return ; @@ -20903,32 +22219,38 @@ public final void rule__AdditiveExpression__Group_1__0() throws RecognitionExcep } return ; } - // $ANTLR end "rule__AdditiveExpression__Group_1__0" + // $ANTLR end "rule__Export__Group__2" - // $ANTLR start "rule__AdditiveExpression__Group_1__0__Impl" - // InternalExport.g:6243:1: rule__AdditiveExpression__Group_1__0__Impl : ( () ) ; - public final void rule__AdditiveExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group__2__Impl" + // InternalExport.g:6105:1: rule__Export__Group__2__Impl : ( ( rule__Export__TypeAssignment_2 ) ) ; + public final void rule__Export__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6247:1: ( ( () ) ) - // InternalExport.g:6248:1: ( () ) + // InternalExport.g:6109:1: ( ( ( rule__Export__TypeAssignment_2 ) ) ) + // InternalExport.g:6110:1: ( ( rule__Export__TypeAssignment_2 ) ) { - // InternalExport.g:6248:1: ( () ) - // InternalExport.g:6249:2: () + // InternalExport.g:6110:1: ( ( rule__Export__TypeAssignment_2 ) ) + // InternalExport.g:6111:2: ( rule__Export__TypeAssignment_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); + before(grammarAccess.getExportAccess().getTypeAssignment_2()); } - // InternalExport.g:6250:2: () - // InternalExport.g:6250:3: + // InternalExport.g:6112:2: ( rule__Export__TypeAssignment_2 ) + // InternalExport.g:6112:3: rule__Export__TypeAssignment_2 { + pushFollow(FOLLOW_2); + rule__Export__TypeAssignment_2(); + + state._fsp--; + if (state.failed) return ; + } if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); + after(grammarAccess.getExportAccess().getTypeAssignment_2()); } } @@ -20937,6 +22259,10 @@ public final void rule__AdditiveExpression__Group_1__0__Impl() throws Recognitio } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -20944,26 +22270,26 @@ public final void rule__AdditiveExpression__Group_1__0__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__AdditiveExpression__Group_1__0__Impl" + // $ANTLR end "rule__Export__Group__2__Impl" - // $ANTLR start "rule__AdditiveExpression__Group_1__1" - // InternalExport.g:6258:1: rule__AdditiveExpression__Group_1__1 : rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ; - public final void rule__AdditiveExpression__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__Export__Group__3" + // InternalExport.g:6120:1: rule__Export__Group__3 : rule__Export__Group__3__Impl rule__Export__Group__4 ; + public final void rule__Export__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6262:1: ( rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ) - // InternalExport.g:6263:2: rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 + // InternalExport.g:6124:1: ( rule__Export__Group__3__Impl rule__Export__Group__4 ) + // InternalExport.g:6125:2: rule__Export__Group__3__Impl rule__Export__Group__4 { - pushFollow(FOLLOW_49); - rule__AdditiveExpression__Group_1__1__Impl(); + pushFollow(FOLLOW_27); + rule__Export__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AdditiveExpression__Group_1__2(); + rule__Export__Group__4(); state._fsp--; if (state.failed) return ; @@ -20982,38 +22308,49 @@ public final void rule__AdditiveExpression__Group_1__1() throws RecognitionExcep } return ; } - // $ANTLR end "rule__AdditiveExpression__Group_1__1" + // $ANTLR end "rule__Export__Group__3" - // $ANTLR start "rule__AdditiveExpression__Group_1__1__Impl" - // InternalExport.g:6270:1: rule__AdditiveExpression__Group_1__1__Impl : ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) ; - public final void rule__AdditiveExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group__3__Impl" + // InternalExport.g:6132:1: rule__Export__Group__3__Impl : ( ( rule__Export__Group_3__0 )? ) ; + public final void rule__Export__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6274:1: ( ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) ) - // InternalExport.g:6275:1: ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) + // InternalExport.g:6136:1: ( ( ( rule__Export__Group_3__0 )? ) ) + // InternalExport.g:6137:1: ( ( rule__Export__Group_3__0 )? ) { - // InternalExport.g:6275:1: ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) - // InternalExport.g:6276:2: ( rule__AdditiveExpression__NameAssignment_1_1 ) + // InternalExport.g:6137:1: ( ( rule__Export__Group_3__0 )? ) + // InternalExport.g:6138:2: ( rule__Export__Group_3__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); + before(grammarAccess.getExportAccess().getGroup_3()); } - // InternalExport.g:6277:2: ( rule__AdditiveExpression__NameAssignment_1_1 ) - // InternalExport.g:6277:3: rule__AdditiveExpression__NameAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__AdditiveExpression__NameAssignment_1_1(); + // InternalExport.g:6139:2: ( rule__Export__Group_3__0 )? + int alt76=2; + int LA76_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA76_0==70) ) { + alt76=1; + } + switch (alt76) { + case 1 : + // InternalExport.g:6139:3: rule__Export__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__Export__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; } if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); + after(grammarAccess.getExportAccess().getGroup_3()); } } @@ -21033,21 +22370,26 @@ public final void rule__AdditiveExpression__Group_1__1__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__AdditiveExpression__Group_1__1__Impl" + // $ANTLR end "rule__Export__Group__3__Impl" - // $ANTLR start "rule__AdditiveExpression__Group_1__2" - // InternalExport.g:6285:1: rule__AdditiveExpression__Group_1__2 : rule__AdditiveExpression__Group_1__2__Impl ; - public final void rule__AdditiveExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__Export__Group__4" + // InternalExport.g:6147:1: rule__Export__Group__4 : rule__Export__Group__4__Impl rule__Export__Group__5 ; + public final void rule__Export__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6289:1: ( rule__AdditiveExpression__Group_1__2__Impl ) - // InternalExport.g:6290:2: rule__AdditiveExpression__Group_1__2__Impl + // InternalExport.g:6151:1: ( rule__Export__Group__4__Impl rule__Export__Group__5 ) + // InternalExport.g:6152:2: rule__Export__Group__4__Impl rule__Export__Group__5 { + pushFollow(FOLLOW_27); + rule__Export__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AdditiveExpression__Group_1__2__Impl(); + rule__Export__Group__5(); state._fsp--; if (state.failed) return ; @@ -21066,38 +22408,49 @@ public final void rule__AdditiveExpression__Group_1__2() throws RecognitionExcep } return ; } - // $ANTLR end "rule__AdditiveExpression__Group_1__2" + // $ANTLR end "rule__Export__Group__4" - // $ANTLR start "rule__AdditiveExpression__Group_1__2__Impl" - // InternalExport.g:6296:1: rule__AdditiveExpression__Group_1__2__Impl : ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) ; - public final void rule__AdditiveExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group__4__Impl" + // InternalExport.g:6159:1: rule__Export__Group__4__Impl : ( ( rule__Export__Group_4__0 )? ) ; + public final void rule__Export__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6300:1: ( ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) ) - // InternalExport.g:6301:1: ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) + // InternalExport.g:6163:1: ( ( ( rule__Export__Group_4__0 )? ) ) + // InternalExport.g:6164:1: ( ( rule__Export__Group_4__0 )? ) { - // InternalExport.g:6301:1: ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) - // InternalExport.g:6302:2: ( rule__AdditiveExpression__ParamsAssignment_1_2 ) + // InternalExport.g:6164:1: ( ( rule__Export__Group_4__0 )? ) + // InternalExport.g:6165:2: ( rule__Export__Group_4__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); + before(grammarAccess.getExportAccess().getGroup_4()); } - // InternalExport.g:6303:2: ( rule__AdditiveExpression__ParamsAssignment_1_2 ) - // InternalExport.g:6303:3: rule__AdditiveExpression__ParamsAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__AdditiveExpression__ParamsAssignment_1_2(); + // InternalExport.g:6166:2: ( rule__Export__Group_4__0 )? + int alt77=2; + int LA77_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA77_0==72) ) { + alt77=1; + } + switch (alt77) { + case 1 : + // InternalExport.g:6166:3: rule__Export__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__Export__Group_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; } if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); + after(grammarAccess.getExportAccess().getGroup_4()); } } @@ -21117,26 +22470,26 @@ public final void rule__AdditiveExpression__Group_1__2__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__AdditiveExpression__Group_1__2__Impl" + // $ANTLR end "rule__Export__Group__4__Impl" - // $ANTLR start "rule__MultiplicativeExpression__Group__0" - // InternalExport.g:6312:1: rule__MultiplicativeExpression__Group__0 : rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ; - public final void rule__MultiplicativeExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__Export__Group__5" + // InternalExport.g:6174:1: rule__Export__Group__5 : rule__Export__Group__5__Impl rule__Export__Group__6 ; + public final void rule__Export__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6316:1: ( rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ) - // InternalExport.g:6317:2: rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 + // InternalExport.g:6178:1: ( rule__Export__Group__5__Impl rule__Export__Group__6 ) + // InternalExport.g:6179:2: rule__Export__Group__5__Impl rule__Export__Group__6 { - pushFollow(FOLLOW_60); - rule__MultiplicativeExpression__Group__0__Impl(); + pushFollow(FOLLOW_28); + rule__Export__Group__5__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__Group__1(); + rule__Export__Group__6(); state._fsp--; if (state.failed) return ; @@ -21155,32 +22508,28 @@ public final void rule__MultiplicativeExpression__Group__0() throws RecognitionE } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group__0" + // $ANTLR end "rule__Export__Group__5" - // $ANTLR start "rule__MultiplicativeExpression__Group__0__Impl" - // InternalExport.g:6324:1: rule__MultiplicativeExpression__Group__0__Impl : ( ruleUnaryOrInfixExpression ) ; - public final void rule__MultiplicativeExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group__5__Impl" + // InternalExport.g:6186:1: rule__Export__Group__5__Impl : ( '{' ) ; + public final void rule__Export__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6328:1: ( ( ruleUnaryOrInfixExpression ) ) - // InternalExport.g:6329:1: ( ruleUnaryOrInfixExpression ) + // InternalExport.g:6190:1: ( ( '{' ) ) + // InternalExport.g:6191:1: ( '{' ) { - // InternalExport.g:6329:1: ( ruleUnaryOrInfixExpression ) - // InternalExport.g:6330:2: ruleUnaryOrInfixExpression + // InternalExport.g:6191:1: ( '{' ) + // InternalExport.g:6192:2: '{' { if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); + before(grammarAccess.getExportAccess().getLeftCurlyBracketKeyword_5()); } - pushFollow(FOLLOW_2); - ruleUnaryOrInfixExpression(); - - state._fsp--; - if (state.failed) return ; + match(input,68,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); + after(grammarAccess.getExportAccess().getLeftCurlyBracketKeyword_5()); } } @@ -21200,21 +22549,26 @@ public final void rule__MultiplicativeExpression__Group__0__Impl() throws Recogn } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group__0__Impl" + // $ANTLR end "rule__Export__Group__5__Impl" - // $ANTLR start "rule__MultiplicativeExpression__Group__1" - // InternalExport.g:6339:1: rule__MultiplicativeExpression__Group__1 : rule__MultiplicativeExpression__Group__1__Impl ; - public final void rule__MultiplicativeExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__Export__Group__6" + // InternalExport.g:6201:1: rule__Export__Group__6 : rule__Export__Group__6__Impl rule__Export__Group__7 ; + public final void rule__Export__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6343:1: ( rule__MultiplicativeExpression__Group__1__Impl ) - // InternalExport.g:6344:2: rule__MultiplicativeExpression__Group__1__Impl + // InternalExport.g:6205:1: ( rule__Export__Group__6__Impl rule__Export__Group__7 ) + // InternalExport.g:6206:2: rule__Export__Group__6__Impl rule__Export__Group__7 { + pushFollow(FOLLOW_28); + rule__Export__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__Group__1__Impl(); + rule__Export__Group__7(); state._fsp--; if (state.failed) return ; @@ -21233,56 +22587,49 @@ public final void rule__MultiplicativeExpression__Group__1() throws RecognitionE } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group__1" + // $ANTLR end "rule__Export__Group__6" - // $ANTLR start "rule__MultiplicativeExpression__Group__1__Impl" - // InternalExport.g:6350:1: rule__MultiplicativeExpression__Group__1__Impl : ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ; - public final void rule__MultiplicativeExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group__6__Impl" + // InternalExport.g:6213:1: rule__Export__Group__6__Impl : ( ( rule__Export__Group_6__0 )? ) ; + public final void rule__Export__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6354:1: ( ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ) - // InternalExport.g:6355:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* ) + // InternalExport.g:6217:1: ( ( ( rule__Export__Group_6__0 )? ) ) + // InternalExport.g:6218:1: ( ( rule__Export__Group_6__0 )? ) { - // InternalExport.g:6355:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* ) - // InternalExport.g:6356:2: ( rule__MultiplicativeExpression__Group_1__0 )* + // InternalExport.g:6218:1: ( ( rule__Export__Group_6__0 )? ) + // InternalExport.g:6219:2: ( rule__Export__Group_6__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); + before(grammarAccess.getExportAccess().getGroup_6()); } - // InternalExport.g:6357:2: ( rule__MultiplicativeExpression__Group_1__0 )* - loop57: - do { - int alt57=2; - int LA57_0 = input.LA(1); + // InternalExport.g:6220:2: ( rule__Export__Group_6__0 )? + int alt78=2; + int LA78_0 = input.LA(1); - if ( ((LA57_0>=20 && LA57_0<=21)) ) { - alt57=1; - } - - - switch (alt57) { - case 1 : - // InternalExport.g:6357:3: rule__MultiplicativeExpression__Group_1__0 - { - pushFollow(FOLLOW_61); - rule__MultiplicativeExpression__Group_1__0(); + if ( (LA78_0==79) ) { + alt78=1; + } + switch (alt78) { + case 1 : + // InternalExport.g:6220:3: rule__Export__Group_6__0 + { + pushFollow(FOLLOW_2); + rule__Export__Group_6__0(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; - } - break; + } + break; - default : - break loop57; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); + after(grammarAccess.getExportAccess().getGroup_6()); } } @@ -21302,26 +22649,26 @@ public final void rule__MultiplicativeExpression__Group__1__Impl() throws Recogn } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group__1__Impl" + // $ANTLR end "rule__Export__Group__6__Impl" - // $ANTLR start "rule__MultiplicativeExpression__Group_1__0" - // InternalExport.g:6366:1: rule__MultiplicativeExpression__Group_1__0 : rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ; - public final void rule__MultiplicativeExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__Export__Group__7" + // InternalExport.g:6228:1: rule__Export__Group__7 : rule__Export__Group__7__Impl rule__Export__Group__8 ; + public final void rule__Export__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6370:1: ( rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ) - // InternalExport.g:6371:2: rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 + // InternalExport.g:6232:1: ( rule__Export__Group__7__Impl rule__Export__Group__8 ) + // InternalExport.g:6233:2: rule__Export__Group__7__Impl rule__Export__Group__8 { - pushFollow(FOLLOW_60); - rule__MultiplicativeExpression__Group_1__0__Impl(); + pushFollow(FOLLOW_28); + rule__Export__Group__7__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__Group_1__1(); + rule__Export__Group__8(); state._fsp--; if (state.failed) return ; @@ -21340,32 +22687,49 @@ public final void rule__MultiplicativeExpression__Group_1__0() throws Recognitio } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__0" + // $ANTLR end "rule__Export__Group__7" - // $ANTLR start "rule__MultiplicativeExpression__Group_1__0__Impl" - // InternalExport.g:6378:1: rule__MultiplicativeExpression__Group_1__0__Impl : ( () ) ; - public final void rule__MultiplicativeExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group__7__Impl" + // InternalExport.g:6240:1: rule__Export__Group__7__Impl : ( ( rule__Export__Group_7__0 )? ) ; + public final void rule__Export__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6382:1: ( ( () ) ) - // InternalExport.g:6383:1: ( () ) + // InternalExport.g:6244:1: ( ( ( rule__Export__Group_7__0 )? ) ) + // InternalExport.g:6245:1: ( ( rule__Export__Group_7__0 )? ) { - // InternalExport.g:6383:1: ( () ) - // InternalExport.g:6384:2: () + // InternalExport.g:6245:1: ( ( rule__Export__Group_7__0 )? ) + // InternalExport.g:6246:2: ( rule__Export__Group_7__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); + before(grammarAccess.getExportAccess().getGroup_7()); } - // InternalExport.g:6385:2: () - // InternalExport.g:6385:3: - { + // InternalExport.g:6247:2: ( rule__Export__Group_7__0 )? + int alt79=2; + int LA79_0 = input.LA(1); + + if ( ((LA79_0>=112 && LA79_0<=113)) ) { + alt79=1; + } + switch (alt79) { + case 1 : + // InternalExport.g:6247:3: rule__Export__Group_7__0 + { + pushFollow(FOLLOW_2); + rule__Export__Group_7__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + } if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); + after(grammarAccess.getExportAccess().getGroup_7()); } } @@ -21374,6 +22738,10 @@ public final void rule__MultiplicativeExpression__Group_1__0__Impl() throws Reco } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -21381,26 +22749,26 @@ public final void rule__MultiplicativeExpression__Group_1__0__Impl() throws Reco } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__0__Impl" + // $ANTLR end "rule__Export__Group__7__Impl" - // $ANTLR start "rule__MultiplicativeExpression__Group_1__1" - // InternalExport.g:6393:1: rule__MultiplicativeExpression__Group_1__1 : rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ; - public final void rule__MultiplicativeExpression__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__Export__Group__8" + // InternalExport.g:6255:1: rule__Export__Group__8 : rule__Export__Group__8__Impl rule__Export__Group__9 ; + public final void rule__Export__Group__8() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6397:1: ( rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ) - // InternalExport.g:6398:2: rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 + // InternalExport.g:6259:1: ( rule__Export__Group__8__Impl rule__Export__Group__9 ) + // InternalExport.g:6260:2: rule__Export__Group__8__Impl rule__Export__Group__9 { - pushFollow(FOLLOW_49); - rule__MultiplicativeExpression__Group_1__1__Impl(); + pushFollow(FOLLOW_28); + rule__Export__Group__8__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__Group_1__2(); + rule__Export__Group__9(); state._fsp--; if (state.failed) return ; @@ -21419,38 +22787,56 @@ public final void rule__MultiplicativeExpression__Group_1__1() throws Recognitio } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__1" + // $ANTLR end "rule__Export__Group__8" - // $ANTLR start "rule__MultiplicativeExpression__Group_1__1__Impl" - // InternalExport.g:6405:1: rule__MultiplicativeExpression__Group_1__1__Impl : ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) ; - public final void rule__MultiplicativeExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group__8__Impl" + // InternalExport.g:6267:1: rule__Export__Group__8__Impl : ( ( rule__Export__Alternatives_8 )* ) ; + public final void rule__Export__Group__8__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6409:1: ( ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) ) - // InternalExport.g:6410:1: ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) + // InternalExport.g:6271:1: ( ( ( rule__Export__Alternatives_8 )* ) ) + // InternalExport.g:6272:1: ( ( rule__Export__Alternatives_8 )* ) { - // InternalExport.g:6410:1: ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) - // InternalExport.g:6411:2: ( rule__MultiplicativeExpression__NameAssignment_1_1 ) + // InternalExport.g:6272:1: ( ( rule__Export__Alternatives_8 )* ) + // InternalExport.g:6273:2: ( rule__Export__Alternatives_8 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); + before(grammarAccess.getExportAccess().getAlternatives_8()); } - // InternalExport.g:6412:2: ( rule__MultiplicativeExpression__NameAssignment_1_1 ) - // InternalExport.g:6412:3: rule__MultiplicativeExpression__NameAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__NameAssignment_1_1(); + // InternalExport.g:6274:2: ( rule__Export__Alternatives_8 )* + loop80: + do { + int alt80=2; + int LA80_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( ((LA80_0>=81 && LA80_0<=82)) ) { + alt80=1; + } - } + + switch (alt80) { + case 1 : + // InternalExport.g:6274:3: rule__Export__Alternatives_8 + { + pushFollow(FOLLOW_29); + rule__Export__Alternatives_8(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop80; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); + after(grammarAccess.getExportAccess().getAlternatives_8()); } } @@ -21470,21 +22856,21 @@ public final void rule__MultiplicativeExpression__Group_1__1__Impl() throws Reco } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__1__Impl" + // $ANTLR end "rule__Export__Group__8__Impl" - // $ANTLR start "rule__MultiplicativeExpression__Group_1__2" - // InternalExport.g:6420:1: rule__MultiplicativeExpression__Group_1__2 : rule__MultiplicativeExpression__Group_1__2__Impl ; - public final void rule__MultiplicativeExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__Export__Group__9" + // InternalExport.g:6282:1: rule__Export__Group__9 : rule__Export__Group__9__Impl ; + public final void rule__Export__Group__9() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6424:1: ( rule__MultiplicativeExpression__Group_1__2__Impl ) - // InternalExport.g:6425:2: rule__MultiplicativeExpression__Group_1__2__Impl + // InternalExport.g:6286:1: ( rule__Export__Group__9__Impl ) + // InternalExport.g:6287:2: rule__Export__Group__9__Impl { pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__Group_1__2__Impl(); + rule__Export__Group__9__Impl(); state._fsp--; if (state.failed) return ; @@ -21503,38 +22889,28 @@ public final void rule__MultiplicativeExpression__Group_1__2() throws Recognitio } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__2" + // $ANTLR end "rule__Export__Group__9" - // $ANTLR start "rule__MultiplicativeExpression__Group_1__2__Impl" - // InternalExport.g:6431:1: rule__MultiplicativeExpression__Group_1__2__Impl : ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) ; - public final void rule__MultiplicativeExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group__9__Impl" + // InternalExport.g:6293:1: rule__Export__Group__9__Impl : ( '}' ) ; + public final void rule__Export__Group__9__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6435:1: ( ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) ) - // InternalExport.g:6436:1: ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) + // InternalExport.g:6297:1: ( ( '}' ) ) + // InternalExport.g:6298:1: ( '}' ) { - // InternalExport.g:6436:1: ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) - // InternalExport.g:6437:2: ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) + // InternalExport.g:6298:1: ( '}' ) + // InternalExport.g:6299:2: '}' { if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); - } - // InternalExport.g:6438:2: ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) - // InternalExport.g:6438:3: rule__MultiplicativeExpression__ParamsAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__ParamsAssignment_1_2(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getExportAccess().getRightCurlyBracketKeyword_9()); } - + match(input,69,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); + after(grammarAccess.getExportAccess().getRightCurlyBracketKeyword_9()); } } @@ -21554,26 +22930,26 @@ public final void rule__MultiplicativeExpression__Group_1__2__Impl() throws Reco } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__2__Impl" + // $ANTLR end "rule__Export__Group__9__Impl" - // $ANTLR start "rule__UnaryExpression__Group__0" - // InternalExport.g:6447:1: rule__UnaryExpression__Group__0 : rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 ; - public final void rule__UnaryExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__Export__Group_1__0" + // InternalExport.g:6309:1: rule__Export__Group_1__0 : rule__Export__Group_1__0__Impl rule__Export__Group_1__1 ; + public final void rule__Export__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6451:1: ( rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 ) - // InternalExport.g:6452:2: rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 + // InternalExport.g:6313:1: ( rule__Export__Group_1__0__Impl rule__Export__Group_1__1 ) + // InternalExport.g:6314:2: rule__Export__Group_1__0__Impl rule__Export__Group_1__1 { - pushFollow(FOLLOW_49); - rule__UnaryExpression__Group__0__Impl(); + pushFollow(FOLLOW_30); + rule__Export__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__UnaryExpression__Group__1(); + rule__Export__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -21592,30 +22968,30 @@ public final void rule__UnaryExpression__Group__0() throws RecognitionException } return ; } - // $ANTLR end "rule__UnaryExpression__Group__0" + // $ANTLR end "rule__Export__Group_1__0" - // $ANTLR start "rule__UnaryExpression__Group__0__Impl" - // InternalExport.g:6459:1: rule__UnaryExpression__Group__0__Impl : ( ( rule__UnaryExpression__NameAssignment_0 ) ) ; - public final void rule__UnaryExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_1__0__Impl" + // InternalExport.g:6321:1: rule__Export__Group_1__0__Impl : ( ( rule__Export__LookupAssignment_1_0 ) ) ; + public final void rule__Export__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6463:1: ( ( ( rule__UnaryExpression__NameAssignment_0 ) ) ) - // InternalExport.g:6464:1: ( ( rule__UnaryExpression__NameAssignment_0 ) ) + // InternalExport.g:6325:1: ( ( ( rule__Export__LookupAssignment_1_0 ) ) ) + // InternalExport.g:6326:1: ( ( rule__Export__LookupAssignment_1_0 ) ) { - // InternalExport.g:6464:1: ( ( rule__UnaryExpression__NameAssignment_0 ) ) - // InternalExport.g:6465:2: ( rule__UnaryExpression__NameAssignment_0 ) + // InternalExport.g:6326:1: ( ( rule__Export__LookupAssignment_1_0 ) ) + // InternalExport.g:6327:2: ( rule__Export__LookupAssignment_1_0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); + before(grammarAccess.getExportAccess().getLookupAssignment_1_0()); } - // InternalExport.g:6466:2: ( rule__UnaryExpression__NameAssignment_0 ) - // InternalExport.g:6466:3: rule__UnaryExpression__NameAssignment_0 + // InternalExport.g:6328:2: ( rule__Export__LookupAssignment_1_0 ) + // InternalExport.g:6328:3: rule__Export__LookupAssignment_1_0 { pushFollow(FOLLOW_2); - rule__UnaryExpression__NameAssignment_0(); + rule__Export__LookupAssignment_1_0(); state._fsp--; if (state.failed) return ; @@ -21623,7 +22999,7 @@ public final void rule__UnaryExpression__Group__0__Impl() throws RecognitionExce } if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); + after(grammarAccess.getExportAccess().getLookupAssignment_1_0()); } } @@ -21643,21 +23019,21 @@ public final void rule__UnaryExpression__Group__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__UnaryExpression__Group__0__Impl" + // $ANTLR end "rule__Export__Group_1__0__Impl" - // $ANTLR start "rule__UnaryExpression__Group__1" - // InternalExport.g:6474:1: rule__UnaryExpression__Group__1 : rule__UnaryExpression__Group__1__Impl ; - public final void rule__UnaryExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__Export__Group_1__1" + // InternalExport.g:6336:1: rule__Export__Group_1__1 : rule__Export__Group_1__1__Impl ; + public final void rule__Export__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6478:1: ( rule__UnaryExpression__Group__1__Impl ) - // InternalExport.g:6479:2: rule__UnaryExpression__Group__1__Impl + // InternalExport.g:6340:1: ( rule__Export__Group_1__1__Impl ) + // InternalExport.g:6341:2: rule__Export__Group_1__1__Impl { pushFollow(FOLLOW_2); - rule__UnaryExpression__Group__1__Impl(); + rule__Export__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; @@ -21676,38 +23052,49 @@ public final void rule__UnaryExpression__Group__1() throws RecognitionException } return ; } - // $ANTLR end "rule__UnaryExpression__Group__1" + // $ANTLR end "rule__Export__Group_1__1" - // $ANTLR start "rule__UnaryExpression__Group__1__Impl" - // InternalExport.g:6485:1: rule__UnaryExpression__Group__1__Impl : ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) ; - public final void rule__UnaryExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_1__1__Impl" + // InternalExport.g:6347:1: rule__Export__Group_1__1__Impl : ( ( rule__Export__Group_1_1__0 )? ) ; + public final void rule__Export__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6489:1: ( ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) ) - // InternalExport.g:6490:1: ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) + // InternalExport.g:6351:1: ( ( ( rule__Export__Group_1_1__0 )? ) ) + // InternalExport.g:6352:1: ( ( rule__Export__Group_1_1__0 )? ) { - // InternalExport.g:6490:1: ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) - // InternalExport.g:6491:2: ( rule__UnaryExpression__ParamsAssignment_1 ) + // InternalExport.g:6352:1: ( ( rule__Export__Group_1_1__0 )? ) + // InternalExport.g:6353:2: ( rule__Export__Group_1_1__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); + before(grammarAccess.getExportAccess().getGroup_1_1()); } - // InternalExport.g:6492:2: ( rule__UnaryExpression__ParamsAssignment_1 ) - // InternalExport.g:6492:3: rule__UnaryExpression__ParamsAssignment_1 - { - pushFollow(FOLLOW_2); - rule__UnaryExpression__ParamsAssignment_1(); + // InternalExport.g:6354:2: ( rule__Export__Group_1_1__0 )? + int alt81=2; + int LA81_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA81_0==72) ) { + alt81=1; + } + switch (alt81) { + case 1 : + // InternalExport.g:6354:3: rule__Export__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__Export__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; } if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); + after(grammarAccess.getExportAccess().getGroup_1_1()); } } @@ -21727,26 +23114,26 @@ public final void rule__UnaryExpression__Group__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__UnaryExpression__Group__1__Impl" + // $ANTLR end "rule__Export__Group_1__1__Impl" - // $ANTLR start "rule__InfixExpression__Group__0" - // InternalExport.g:6501:1: rule__InfixExpression__Group__0 : rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 ; - public final void rule__InfixExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__Export__Group_1_1__0" + // InternalExport.g:6363:1: rule__Export__Group_1_1__0 : rule__Export__Group_1_1__0__Impl rule__Export__Group_1_1__1 ; + public final void rule__Export__Group_1_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6505:1: ( rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 ) - // InternalExport.g:6506:2: rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 + // InternalExport.g:6367:1: ( rule__Export__Group_1_1__0__Impl rule__Export__Group_1_1__1 ) + // InternalExport.g:6368:2: rule__Export__Group_1_1__0__Impl rule__Export__Group_1_1__1 { - pushFollow(FOLLOW_62); - rule__InfixExpression__Group__0__Impl(); + pushFollow(FOLLOW_18); + rule__Export__Group_1_1__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group__1(); + rule__Export__Group_1_1__1(); state._fsp--; if (state.failed) return ; @@ -21765,32 +23152,28 @@ public final void rule__InfixExpression__Group__0() throws RecognitionException } return ; } - // $ANTLR end "rule__InfixExpression__Group__0" + // $ANTLR end "rule__Export__Group_1_1__0" - // $ANTLR start "rule__InfixExpression__Group__0__Impl" - // InternalExport.g:6513:1: rule__InfixExpression__Group__0__Impl : ( rulePrimaryExpression ) ; - public final void rule__InfixExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_1_1__0__Impl" + // InternalExport.g:6375:1: rule__Export__Group_1_1__0__Impl : ( '[' ) ; + public final void rule__Export__Group_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6517:1: ( ( rulePrimaryExpression ) ) - // InternalExport.g:6518:1: ( rulePrimaryExpression ) + // InternalExport.g:6379:1: ( ( '[' ) ) + // InternalExport.g:6380:1: ( '[' ) { - // InternalExport.g:6518:1: ( rulePrimaryExpression ) - // InternalExport.g:6519:2: rulePrimaryExpression + // InternalExport.g:6380:1: ( '[' ) + // InternalExport.g:6381:2: '[' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); + before(grammarAccess.getExportAccess().getLeftSquareBracketKeyword_1_1_0()); } - pushFollow(FOLLOW_2); - rulePrimaryExpression(); - - state._fsp--; - if (state.failed) return ; + match(input,72,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); + after(grammarAccess.getExportAccess().getLeftSquareBracketKeyword_1_1_0()); } } @@ -21810,21 +23193,26 @@ public final void rule__InfixExpression__Group__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__InfixExpression__Group__0__Impl" + // $ANTLR end "rule__Export__Group_1_1__0__Impl" - // $ANTLR start "rule__InfixExpression__Group__1" - // InternalExport.g:6528:1: rule__InfixExpression__Group__1 : rule__InfixExpression__Group__1__Impl ; - public final void rule__InfixExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__Export__Group_1_1__1" + // InternalExport.g:6390:1: rule__Export__Group_1_1__1 : rule__Export__Group_1_1__1__Impl rule__Export__Group_1_1__2 ; + public final void rule__Export__Group_1_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6532:1: ( rule__InfixExpression__Group__1__Impl ) - // InternalExport.g:6533:2: rule__InfixExpression__Group__1__Impl + // InternalExport.g:6394:1: ( rule__Export__Group_1_1__1__Impl rule__Export__Group_1_1__2 ) + // InternalExport.g:6395:2: rule__Export__Group_1_1__1__Impl rule__Export__Group_1_1__2 { + pushFollow(FOLLOW_19); + rule__Export__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group__1__Impl(); + rule__Export__Group_1_1__2(); state._fsp--; if (state.failed) return ; @@ -21843,56 +23231,38 @@ public final void rule__InfixExpression__Group__1() throws RecognitionException } return ; } - // $ANTLR end "rule__InfixExpression__Group__1" + // $ANTLR end "rule__Export__Group_1_1__1" - // $ANTLR start "rule__InfixExpression__Group__1__Impl" - // InternalExport.g:6539:1: rule__InfixExpression__Group__1__Impl : ( ( rule__InfixExpression__Alternatives_1 )* ) ; - public final void rule__InfixExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_1_1__1__Impl" + // InternalExport.g:6402:1: rule__Export__Group_1_1__1__Impl : ( ( rule__Export__LookupPredicateAssignment_1_1_1 ) ) ; + public final void rule__Export__Group_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6543:1: ( ( ( rule__InfixExpression__Alternatives_1 )* ) ) - // InternalExport.g:6544:1: ( ( rule__InfixExpression__Alternatives_1 )* ) + // InternalExport.g:6406:1: ( ( ( rule__Export__LookupPredicateAssignment_1_1_1 ) ) ) + // InternalExport.g:6407:1: ( ( rule__Export__LookupPredicateAssignment_1_1_1 ) ) { - // InternalExport.g:6544:1: ( ( rule__InfixExpression__Alternatives_1 )* ) - // InternalExport.g:6545:2: ( rule__InfixExpression__Alternatives_1 )* + // InternalExport.g:6407:1: ( ( rule__Export__LookupPredicateAssignment_1_1_1 ) ) + // InternalExport.g:6408:2: ( rule__Export__LookupPredicateAssignment_1_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); + before(grammarAccess.getExportAccess().getLookupPredicateAssignment_1_1_1()); } - // InternalExport.g:6546:2: ( rule__InfixExpression__Alternatives_1 )* - loop58: - do { - int alt58=2; - int LA58_0 = input.LA(1); - - if ( (LA58_0==68) ) { - alt58=1; - } - - - switch (alt58) { - case 1 : - // InternalExport.g:6546:3: rule__InfixExpression__Alternatives_1 - { - pushFollow(FOLLOW_63); - rule__InfixExpression__Alternatives_1(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:6409:2: ( rule__Export__LookupPredicateAssignment_1_1_1 ) + // InternalExport.g:6409:3: rule__Export__LookupPredicateAssignment_1_1_1 + { + pushFollow(FOLLOW_2); + rule__Export__LookupPredicateAssignment_1_1_1(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop58; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); + after(grammarAccess.getExportAccess().getLookupPredicateAssignment_1_1_1()); } } @@ -21912,26 +23282,21 @@ public final void rule__InfixExpression__Group__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__InfixExpression__Group__1__Impl" + // $ANTLR end "rule__Export__Group_1_1__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0__0" - // InternalExport.g:6555:1: rule__InfixExpression__Group_1_0__0 : rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 ; - public final void rule__InfixExpression__Group_1_0__0() throws RecognitionException { + // $ANTLR start "rule__Export__Group_1_1__2" + // InternalExport.g:6417:1: rule__Export__Group_1_1__2 : rule__Export__Group_1_1__2__Impl ; + public final void rule__Export__Group_1_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6559:1: ( rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 ) - // InternalExport.g:6560:2: rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 + // InternalExport.g:6421:1: ( rule__Export__Group_1_1__2__Impl ) + // InternalExport.g:6422:2: rule__Export__Group_1_1__2__Impl { - pushFollow(FOLLOW_62); - rule__InfixExpression__Group_1_0__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__1(); + rule__Export__Group_1_1__2__Impl(); state._fsp--; if (state.failed) return ; @@ -21950,32 +23315,28 @@ public final void rule__InfixExpression__Group_1_0__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__0" + // $ANTLR end "rule__Export__Group_1_1__2" - // $ANTLR start "rule__InfixExpression__Group_1_0__0__Impl" - // InternalExport.g:6567:1: rule__InfixExpression__Group_1_0__0__Impl : ( () ) ; - public final void rule__InfixExpression__Group_1_0__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_1_1__2__Impl" + // InternalExport.g:6428:1: rule__Export__Group_1_1__2__Impl : ( ']' ) ; + public final void rule__Export__Group_1_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6571:1: ( ( () ) ) - // InternalExport.g:6572:1: ( () ) + // InternalExport.g:6432:1: ( ( ']' ) ) + // InternalExport.g:6433:1: ( ']' ) { - // InternalExport.g:6572:1: ( () ) - // InternalExport.g:6573:2: () + // InternalExport.g:6433:1: ( ']' ) + // InternalExport.g:6434:2: ']' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); - } - // InternalExport.g:6574:2: () - // InternalExport.g:6574:3: - { + before(grammarAccess.getExportAccess().getRightSquareBracketKeyword_1_1_2()); } - + match(input,73,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); + after(grammarAccess.getExportAccess().getRightSquareBracketKeyword_1_1_2()); } } @@ -21984,6 +23345,10 @@ public final void rule__InfixExpression__Group_1_0__0__Impl() throws Recognition } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -21991,26 +23356,26 @@ public final void rule__InfixExpression__Group_1_0__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__0__Impl" + // $ANTLR end "rule__Export__Group_1_1__2__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0__1" - // InternalExport.g:6582:1: rule__InfixExpression__Group_1_0__1 : rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 ; - public final void rule__InfixExpression__Group_1_0__1() throws RecognitionException { + // $ANTLR start "rule__Export__Group_3__0" + // InternalExport.g:6444:1: rule__Export__Group_3__0 : rule__Export__Group_3__0__Impl rule__Export__Group_3__1 ; + public final void rule__Export__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6586:1: ( rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 ) - // InternalExport.g:6587:2: rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 + // InternalExport.g:6448:1: ( rule__Export__Group_3__0__Impl rule__Export__Group_3__1 ) + // InternalExport.g:6449:2: rule__Export__Group_3__0__Impl rule__Export__Group_3__1 { - pushFollow(FOLLOW_10); - rule__InfixExpression__Group_1_0__1__Impl(); + pushFollow(FOLLOW_31); + rule__Export__Group_3__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__2(); + rule__Export__Group_3__1(); state._fsp--; if (state.failed) return ; @@ -22029,28 +23394,28 @@ public final void rule__InfixExpression__Group_1_0__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__1" + // $ANTLR end "rule__Export__Group_3__0" - // $ANTLR start "rule__InfixExpression__Group_1_0__1__Impl" - // InternalExport.g:6594:1: rule__InfixExpression__Group_1_0__1__Impl : ( '.' ) ; - public final void rule__InfixExpression__Group_1_0__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_3__0__Impl" + // InternalExport.g:6456:1: rule__Export__Group_3__0__Impl : ( 'as' ) ; + public final void rule__Export__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6598:1: ( ( '.' ) ) - // InternalExport.g:6599:1: ( '.' ) + // InternalExport.g:6460:1: ( ( 'as' ) ) + // InternalExport.g:6461:1: ( 'as' ) { - // InternalExport.g:6599:1: ( '.' ) - // InternalExport.g:6600:2: '.' + // InternalExport.g:6461:1: ( 'as' ) + // InternalExport.g:6462:2: 'as' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); + before(grammarAccess.getExportAccess().getAsKeyword_3_0()); } - match(input,68,FOLLOW_2); if (state.failed) return ; + match(input,70,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); + after(grammarAccess.getExportAccess().getAsKeyword_3_0()); } } @@ -22070,26 +23435,26 @@ public final void rule__InfixExpression__Group_1_0__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__1__Impl" + // $ANTLR end "rule__Export__Group_3__0__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0__2" - // InternalExport.g:6609:1: rule__InfixExpression__Group_1_0__2 : rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 ; - public final void rule__InfixExpression__Group_1_0__2() throws RecognitionException { + // $ANTLR start "rule__Export__Group_3__1" + // InternalExport.g:6471:1: rule__Export__Group_3__1 : rule__Export__Group_3__1__Impl rule__Export__Group_3__2 ; + public final void rule__Export__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6613:1: ( rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 ) - // InternalExport.g:6614:2: rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 + // InternalExport.g:6475:1: ( rule__Export__Group_3__1__Impl rule__Export__Group_3__2 ) + // InternalExport.g:6476:2: rule__Export__Group_3__1__Impl rule__Export__Group_3__2 { - pushFollow(FOLLOW_34); - rule__InfixExpression__Group_1_0__2__Impl(); + pushFollow(FOLLOW_31); + rule__Export__Group_3__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__3(); + rule__Export__Group_3__2(); state._fsp--; if (state.failed) return ; @@ -22108,38 +23473,49 @@ public final void rule__InfixExpression__Group_1_0__2() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__2" + // $ANTLR end "rule__Export__Group_3__1" - // $ANTLR start "rule__InfixExpression__Group_1_0__2__Impl" - // InternalExport.g:6621:1: rule__InfixExpression__Group_1_0__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) ; - public final void rule__InfixExpression__Group_1_0__2__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_3__1__Impl" + // InternalExport.g:6483:1: rule__Export__Group_3__1__Impl : ( ( rule__Export__QualifiedNameAssignment_3_1 )? ) ; + public final void rule__Export__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6625:1: ( ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) ) - // InternalExport.g:6626:1: ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) + // InternalExport.g:6487:1: ( ( ( rule__Export__QualifiedNameAssignment_3_1 )? ) ) + // InternalExport.g:6488:1: ( ( rule__Export__QualifiedNameAssignment_3_1 )? ) { - // InternalExport.g:6626:1: ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) - // InternalExport.g:6627:2: ( rule__InfixExpression__NameAssignment_1_0_2 ) + // InternalExport.g:6488:1: ( ( rule__Export__QualifiedNameAssignment_3_1 )? ) + // InternalExport.g:6489:2: ( rule__Export__QualifiedNameAssignment_3_1 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); + before(grammarAccess.getExportAccess().getQualifiedNameAssignment_3_1()); } - // InternalExport.g:6628:2: ( rule__InfixExpression__NameAssignment_1_0_2 ) - // InternalExport.g:6628:3: rule__InfixExpression__NameAssignment_1_0_2 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__NameAssignment_1_0_2(); + // InternalExport.g:6490:2: ( rule__Export__QualifiedNameAssignment_3_1 )? + int alt82=2; + int LA82_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA82_0==110) ) { + alt82=1; + } + switch (alt82) { + case 1 : + // InternalExport.g:6490:3: rule__Export__QualifiedNameAssignment_3_1 + { + pushFollow(FOLLOW_2); + rule__Export__QualifiedNameAssignment_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; } if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); + after(grammarAccess.getExportAccess().getQualifiedNameAssignment_3_1()); } } @@ -22159,26 +23535,21 @@ public final void rule__InfixExpression__Group_1_0__2__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__2__Impl" + // $ANTLR end "rule__Export__Group_3__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0__3" - // InternalExport.g:6636:1: rule__InfixExpression__Group_1_0__3 : rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 ; - public final void rule__InfixExpression__Group_1_0__3() throws RecognitionException { + // $ANTLR start "rule__Export__Group_3__2" + // InternalExport.g:6498:1: rule__Export__Group_3__2 : rule__Export__Group_3__2__Impl ; + public final void rule__Export__Group_3__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6640:1: ( rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 ) - // InternalExport.g:6641:2: rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 + // InternalExport.g:6502:1: ( rule__Export__Group_3__2__Impl ) + // InternalExport.g:6503:2: rule__Export__Group_3__2__Impl { - pushFollow(FOLLOW_64); - rule__InfixExpression__Group_1_0__3__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__4(); + rule__Export__Group_3__2__Impl(); state._fsp--; if (state.failed) return ; @@ -22197,28 +23568,38 @@ public final void rule__InfixExpression__Group_1_0__3() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__3" + // $ANTLR end "rule__Export__Group_3__2" - // $ANTLR start "rule__InfixExpression__Group_1_0__3__Impl" - // InternalExport.g:6648:1: rule__InfixExpression__Group_1_0__3__Impl : ( '(' ) ; - public final void rule__InfixExpression__Group_1_0__3__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_3__2__Impl" + // InternalExport.g:6509:1: rule__Export__Group_3__2__Impl : ( ( rule__Export__NamingAssignment_3_2 ) ) ; + public final void rule__Export__Group_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6652:1: ( ( '(' ) ) - // InternalExport.g:6653:1: ( '(' ) + // InternalExport.g:6513:1: ( ( ( rule__Export__NamingAssignment_3_2 ) ) ) + // InternalExport.g:6514:1: ( ( rule__Export__NamingAssignment_3_2 ) ) { - // InternalExport.g:6653:1: ( '(' ) - // InternalExport.g:6654:2: '(' + // InternalExport.g:6514:1: ( ( rule__Export__NamingAssignment_3_2 ) ) + // InternalExport.g:6515:2: ( rule__Export__NamingAssignment_3_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); + before(grammarAccess.getExportAccess().getNamingAssignment_3_2()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:6516:2: ( rule__Export__NamingAssignment_3_2 ) + // InternalExport.g:6516:3: rule__Export__NamingAssignment_3_2 + { + pushFollow(FOLLOW_2); + rule__Export__NamingAssignment_3_2(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); + after(grammarAccess.getExportAccess().getNamingAssignment_3_2()); } } @@ -22238,26 +23619,26 @@ public final void rule__InfixExpression__Group_1_0__3__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__3__Impl" + // $ANTLR end "rule__Export__Group_3__2__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0__4" - // InternalExport.g:6663:1: rule__InfixExpression__Group_1_0__4 : rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 ; - public final void rule__InfixExpression__Group_1_0__4() throws RecognitionException { + // $ANTLR start "rule__Export__Group_4__0" + // InternalExport.g:6525:1: rule__Export__Group_4__0 : rule__Export__Group_4__0__Impl rule__Export__Group_4__1 ; + public final void rule__Export__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6667:1: ( rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 ) - // InternalExport.g:6668:2: rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 + // InternalExport.g:6529:1: ( rule__Export__Group_4__0__Impl rule__Export__Group_4__1 ) + // InternalExport.g:6530:2: rule__Export__Group_4__0__Impl rule__Export__Group_4__1 { - pushFollow(FOLLOW_64); - rule__InfixExpression__Group_1_0__4__Impl(); + pushFollow(FOLLOW_18); + rule__Export__Group_4__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__5(); + rule__Export__Group_4__1(); state._fsp--; if (state.failed) return ; @@ -22276,49 +23657,28 @@ public final void rule__InfixExpression__Group_1_0__4() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__4" + // $ANTLR end "rule__Export__Group_4__0" - // $ANTLR start "rule__InfixExpression__Group_1_0__4__Impl" - // InternalExport.g:6675:1: rule__InfixExpression__Group_1_0__4__Impl : ( ( rule__InfixExpression__Group_1_0_4__0 )? ) ; - public final void rule__InfixExpression__Group_1_0__4__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_4__0__Impl" + // InternalExport.g:6537:1: rule__Export__Group_4__0__Impl : ( '[' ) ; + public final void rule__Export__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6679:1: ( ( ( rule__InfixExpression__Group_1_0_4__0 )? ) ) - // InternalExport.g:6680:1: ( ( rule__InfixExpression__Group_1_0_4__0 )? ) + // InternalExport.g:6541:1: ( ( '[' ) ) + // InternalExport.g:6542:1: ( '[' ) { - // InternalExport.g:6680:1: ( ( rule__InfixExpression__Group_1_0_4__0 )? ) - // InternalExport.g:6681:2: ( rule__InfixExpression__Group_1_0_4__0 )? + // InternalExport.g:6542:1: ( '[' ) + // InternalExport.g:6543:2: '[' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); - } - // InternalExport.g:6682:2: ( rule__InfixExpression__Group_1_0_4__0 )? - int alt59=2; - int LA59_0 = input.LA(1); - - if ( ((LA59_0>=RULE_ID && LA59_0<=RULE_REAL)||LA59_0==19||(LA59_0>=22 && LA59_0<=35)||LA59_0==39||LA59_0==51||LA59_0==58||LA59_0==62||LA59_0==65||(LA59_0>=70 && LA59_0<=71)||(LA59_0>=80 && LA59_0<=81)) ) { - alt59=1; - } - switch (alt59) { - case 1 : - // InternalExport.g:6682:3: rule__InfixExpression__Group_1_0_4__0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0_4__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - + before(grammarAccess.getExportAccess().getLeftSquareBracketKeyword_4_0()); } - + match(input,72,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); + after(grammarAccess.getExportAccess().getLeftSquareBracketKeyword_4_0()); } } @@ -22338,21 +23698,26 @@ public final void rule__InfixExpression__Group_1_0__4__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__4__Impl" + // $ANTLR end "rule__Export__Group_4__0__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0__5" - // InternalExport.g:6690:1: rule__InfixExpression__Group_1_0__5 : rule__InfixExpression__Group_1_0__5__Impl ; - public final void rule__InfixExpression__Group_1_0__5() throws RecognitionException { + // $ANTLR start "rule__Export__Group_4__1" + // InternalExport.g:6552:1: rule__Export__Group_4__1 : rule__Export__Group_4__1__Impl rule__Export__Group_4__2 ; + public final void rule__Export__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6694:1: ( rule__InfixExpression__Group_1_0__5__Impl ) - // InternalExport.g:6695:2: rule__InfixExpression__Group_1_0__5__Impl + // InternalExport.g:6556:1: ( rule__Export__Group_4__1__Impl rule__Export__Group_4__2 ) + // InternalExport.g:6557:2: rule__Export__Group_4__1__Impl rule__Export__Group_4__2 { + pushFollow(FOLLOW_19); + rule__Export__Group_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__5__Impl(); + rule__Export__Group_4__2(); state._fsp--; if (state.failed) return ; @@ -22371,28 +23736,38 @@ public final void rule__InfixExpression__Group_1_0__5() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__5" + // $ANTLR end "rule__Export__Group_4__1" - // $ANTLR start "rule__InfixExpression__Group_1_0__5__Impl" - // InternalExport.g:6701:1: rule__InfixExpression__Group_1_0__5__Impl : ( ')' ) ; - public final void rule__InfixExpression__Group_1_0__5__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_4__1__Impl" + // InternalExport.g:6564:1: rule__Export__Group_4__1__Impl : ( ( rule__Export__GuardAssignment_4_1 ) ) ; + public final void rule__Export__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6705:1: ( ( ')' ) ) - // InternalExport.g:6706:1: ( ')' ) + // InternalExport.g:6568:1: ( ( ( rule__Export__GuardAssignment_4_1 ) ) ) + // InternalExport.g:6569:1: ( ( rule__Export__GuardAssignment_4_1 ) ) { - // InternalExport.g:6706:1: ( ')' ) - // InternalExport.g:6707:2: ')' + // InternalExport.g:6569:1: ( ( rule__Export__GuardAssignment_4_1 ) ) + // InternalExport.g:6570:2: ( rule__Export__GuardAssignment_4_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); + before(grammarAccess.getExportAccess().getGuardAssignment_4_1()); + } + // InternalExport.g:6571:2: ( rule__Export__GuardAssignment_4_1 ) + // InternalExport.g:6571:3: rule__Export__GuardAssignment_4_1 + { + pushFollow(FOLLOW_2); + rule__Export__GuardAssignment_4_1(); + + state._fsp--; + if (state.failed) return ; + } - match(input,52,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); + after(grammarAccess.getExportAccess().getGuardAssignment_4_1()); } } @@ -22412,26 +23787,21 @@ public final void rule__InfixExpression__Group_1_0__5__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__5__Impl" + // $ANTLR end "rule__Export__Group_4__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0_4__0" - // InternalExport.g:6717:1: rule__InfixExpression__Group_1_0_4__0 : rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 ; - public final void rule__InfixExpression__Group_1_0_4__0() throws RecognitionException { + // $ANTLR start "rule__Export__Group_4__2" + // InternalExport.g:6579:1: rule__Export__Group_4__2 : rule__Export__Group_4__2__Impl ; + public final void rule__Export__Group_4__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6721:1: ( rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 ) - // InternalExport.g:6722:2: rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 + // InternalExport.g:6583:1: ( rule__Export__Group_4__2__Impl ) + // InternalExport.g:6584:2: rule__Export__Group_4__2__Impl { - pushFollow(FOLLOW_21); - rule__InfixExpression__Group_1_0_4__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0_4__1(); + rule__Export__Group_4__2__Impl(); state._fsp--; if (state.failed) return ; @@ -22450,38 +23820,28 @@ public final void rule__InfixExpression__Group_1_0_4__0() throws RecognitionExce } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0_4__0" + // $ANTLR end "rule__Export__Group_4__2" - // $ANTLR start "rule__InfixExpression__Group_1_0_4__0__Impl" - // InternalExport.g:6729:1: rule__InfixExpression__Group_1_0_4__0__Impl : ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) ; - public final void rule__InfixExpression__Group_1_0_4__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_4__2__Impl" + // InternalExport.g:6590:1: rule__Export__Group_4__2__Impl : ( ']' ) ; + public final void rule__Export__Group_4__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6733:1: ( ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) ) - // InternalExport.g:6734:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) + // InternalExport.g:6594:1: ( ( ']' ) ) + // InternalExport.g:6595:1: ( ']' ) { - // InternalExport.g:6734:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) - // InternalExport.g:6735:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) + // InternalExport.g:6595:1: ( ']' ) + // InternalExport.g:6596:2: ']' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); - } - // InternalExport.g:6736:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) - // InternalExport.g:6736:3: rule__InfixExpression__ParamsAssignment_1_0_4_0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__ParamsAssignment_1_0_4_0(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getExportAccess().getRightSquareBracketKeyword_4_2()); } - + match(input,73,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); + after(grammarAccess.getExportAccess().getRightSquareBracketKeyword_4_2()); } } @@ -22501,21 +23861,26 @@ public final void rule__InfixExpression__Group_1_0_4__0__Impl() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0_4__0__Impl" + // $ANTLR end "rule__Export__Group_4__2__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0_4__1" - // InternalExport.g:6744:1: rule__InfixExpression__Group_1_0_4__1 : rule__InfixExpression__Group_1_0_4__1__Impl ; - public final void rule__InfixExpression__Group_1_0_4__1() throws RecognitionException { + // $ANTLR start "rule__Export__Group_6__0" + // InternalExport.g:6606:1: rule__Export__Group_6__0 : rule__Export__Group_6__0__Impl rule__Export__Group_6__1 ; + public final void rule__Export__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6748:1: ( rule__InfixExpression__Group_1_0_4__1__Impl ) - // InternalExport.g:6749:2: rule__InfixExpression__Group_1_0_4__1__Impl + // InternalExport.g:6610:1: ( rule__Export__Group_6__0__Impl rule__Export__Group_6__1 ) + // InternalExport.g:6611:2: rule__Export__Group_6__0__Impl rule__Export__Group_6__1 { + pushFollow(FOLLOW_32); + rule__Export__Group_6__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0_4__1__Impl(); + rule__Export__Group_6__1(); state._fsp--; if (state.failed) return ; @@ -22534,56 +23899,28 @@ public final void rule__InfixExpression__Group_1_0_4__1() throws RecognitionExce } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0_4__1" + // $ANTLR end "rule__Export__Group_6__0" - // $ANTLR start "rule__InfixExpression__Group_1_0_4__1__Impl" - // InternalExport.g:6755:1: rule__InfixExpression__Group_1_0_4__1__Impl : ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) ; - public final void rule__InfixExpression__Group_1_0_4__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_6__0__Impl" + // InternalExport.g:6618:1: rule__Export__Group_6__0__Impl : ( 'uri-fragment' ) ; + public final void rule__Export__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6759:1: ( ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) ) - // InternalExport.g:6760:1: ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) + // InternalExport.g:6622:1: ( ( 'uri-fragment' ) ) + // InternalExport.g:6623:1: ( 'uri-fragment' ) { - // InternalExport.g:6760:1: ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) - // InternalExport.g:6761:2: ( rule__InfixExpression__Group_1_0_4_1__0 )* + // InternalExport.g:6623:1: ( 'uri-fragment' ) + // InternalExport.g:6624:2: 'uri-fragment' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); + before(grammarAccess.getExportAccess().getUriFragmentKeyword_6_0()); } - // InternalExport.g:6762:2: ( rule__InfixExpression__Group_1_0_4_1__0 )* - loop60: - do { - int alt60=2; - int LA60_0 = input.LA(1); - - if ( (LA60_0==48) ) { - alt60=1; - } - - - switch (alt60) { - case 1 : - // InternalExport.g:6762:3: rule__InfixExpression__Group_1_0_4_1__0 - { - pushFollow(FOLLOW_22); - rule__InfixExpression__Group_1_0_4_1__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop60; - } - } while (true); - + match(input,79,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); + after(grammarAccess.getExportAccess().getUriFragmentKeyword_6_0()); } } @@ -22603,26 +23940,26 @@ public final void rule__InfixExpression__Group_1_0_4__1__Impl() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0_4__1__Impl" + // $ANTLR end "rule__Export__Group_6__0__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__0" - // InternalExport.g:6771:1: rule__InfixExpression__Group_1_0_4_1__0 : rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 ; - public final void rule__InfixExpression__Group_1_0_4_1__0() throws RecognitionException { + // $ANTLR start "rule__Export__Group_6__1" + // InternalExport.g:6633:1: rule__Export__Group_6__1 : rule__Export__Group_6__1__Impl rule__Export__Group_6__2 ; + public final void rule__Export__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6775:1: ( rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 ) - // InternalExport.g:6776:2: rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 + // InternalExport.g:6637:1: ( rule__Export__Group_6__1__Impl rule__Export__Group_6__2 ) + // InternalExport.g:6638:2: rule__Export__Group_6__1__Impl rule__Export__Group_6__2 { - pushFollow(FOLLOW_18); - rule__InfixExpression__Group_1_0_4_1__0__Impl(); + pushFollow(FOLLOW_33); + rule__Export__Group_6__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0_4_1__1(); + rule__Export__Group_6__2(); state._fsp--; if (state.failed) return ; @@ -22641,28 +23978,28 @@ public final void rule__InfixExpression__Group_1_0_4_1__0() throws RecognitionEx } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__0" + // $ANTLR end "rule__Export__Group_6__1" - // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__0__Impl" - // InternalExport.g:6783:1: rule__InfixExpression__Group_1_0_4_1__0__Impl : ( ',' ) ; - public final void rule__InfixExpression__Group_1_0_4_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_6__1__Impl" + // InternalExport.g:6645:1: rule__Export__Group_6__1__Impl : ( '=' ) ; + public final void rule__Export__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6787:1: ( ( ',' ) ) - // InternalExport.g:6788:1: ( ',' ) + // InternalExport.g:6649:1: ( ( '=' ) ) + // InternalExport.g:6650:1: ( '=' ) { - // InternalExport.g:6788:1: ( ',' ) - // InternalExport.g:6789:2: ',' + // InternalExport.g:6650:1: ( '=' ) + // InternalExport.g:6651:2: '=' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); + before(grammarAccess.getExportAccess().getEqualsSignKeyword_6_1()); } - match(input,48,FOLLOW_2); if (state.failed) return ; + match(input,14,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); + after(grammarAccess.getExportAccess().getEqualsSignKeyword_6_1()); } } @@ -22682,21 +24019,26 @@ public final void rule__InfixExpression__Group_1_0_4_1__0__Impl() throws Recogni } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__0__Impl" + // $ANTLR end "rule__Export__Group_6__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__1" - // InternalExport.g:6798:1: rule__InfixExpression__Group_1_0_4_1__1 : rule__InfixExpression__Group_1_0_4_1__1__Impl ; - public final void rule__InfixExpression__Group_1_0_4_1__1() throws RecognitionException { + // $ANTLR start "rule__Export__Group_6__2" + // InternalExport.g:6660:1: rule__Export__Group_6__2 : rule__Export__Group_6__2__Impl rule__Export__Group_6__3 ; + public final void rule__Export__Group_6__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6802:1: ( rule__InfixExpression__Group_1_0_4_1__1__Impl ) - // InternalExport.g:6803:2: rule__InfixExpression__Group_1_0_4_1__1__Impl + // InternalExport.g:6664:1: ( rule__Export__Group_6__2__Impl rule__Export__Group_6__3 ) + // InternalExport.g:6665:2: rule__Export__Group_6__2__Impl rule__Export__Group_6__3 { + pushFollow(FOLLOW_33); + rule__Export__Group_6__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0_4_1__1__Impl(); + rule__Export__Group_6__3(); state._fsp--; if (state.failed) return ; @@ -22715,38 +24057,49 @@ public final void rule__InfixExpression__Group_1_0_4_1__1() throws RecognitionEx } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__1" + // $ANTLR end "rule__Export__Group_6__2" - // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__1__Impl" - // InternalExport.g:6809:1: rule__InfixExpression__Group_1_0_4_1__1__Impl : ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) ; - public final void rule__InfixExpression__Group_1_0_4_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_6__2__Impl" + // InternalExport.g:6672:1: rule__Export__Group_6__2__Impl : ( ( rule__Export__FragmentUniqueAssignment_6_2 )? ) ; + public final void rule__Export__Group_6__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6813:1: ( ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) ) - // InternalExport.g:6814:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) + // InternalExport.g:6676:1: ( ( ( rule__Export__FragmentUniqueAssignment_6_2 )? ) ) + // InternalExport.g:6677:1: ( ( rule__Export__FragmentUniqueAssignment_6_2 )? ) { - // InternalExport.g:6814:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) - // InternalExport.g:6815:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) + // InternalExport.g:6677:1: ( ( rule__Export__FragmentUniqueAssignment_6_2 )? ) + // InternalExport.g:6678:2: ( rule__Export__FragmentUniqueAssignment_6_2 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); + before(grammarAccess.getExportAccess().getFragmentUniqueAssignment_6_2()); } - // InternalExport.g:6816:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) - // InternalExport.g:6816:3: rule__InfixExpression__ParamsAssignment_1_0_4_1_1 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__ParamsAssignment_1_0_4_1_1(); + // InternalExport.g:6679:2: ( rule__Export__FragmentUniqueAssignment_6_2 )? + int alt83=2; + int LA83_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA83_0==111) ) { + alt83=1; + } + switch (alt83) { + case 1 : + // InternalExport.g:6679:3: rule__Export__FragmentUniqueAssignment_6_2 + { + pushFollow(FOLLOW_2); + rule__Export__FragmentUniqueAssignment_6_2(); + + state._fsp--; + if (state.failed) return ; + + } + break; } if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); + after(grammarAccess.getExportAccess().getFragmentUniqueAssignment_6_2()); } } @@ -22766,26 +24119,26 @@ public final void rule__InfixExpression__Group_1_0_4_1__1__Impl() throws Recogni } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__1__Impl" + // $ANTLR end "rule__Export__Group_6__2__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_1__0" - // InternalExport.g:6825:1: rule__InfixExpression__Group_1_1__0 : rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 ; - public final void rule__InfixExpression__Group_1_1__0() throws RecognitionException { + // $ANTLR start "rule__Export__Group_6__3" + // InternalExport.g:6687:1: rule__Export__Group_6__3 : rule__Export__Group_6__3__Impl rule__Export__Group_6__4 ; + public final void rule__Export__Group_6__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6829:1: ( rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 ) - // InternalExport.g:6830:2: rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 + // InternalExport.g:6691:1: ( rule__Export__Group_6__3__Impl rule__Export__Group_6__4 ) + // InternalExport.g:6692:2: rule__Export__Group_6__3__Impl rule__Export__Group_6__4 { - pushFollow(FOLLOW_62); - rule__InfixExpression__Group_1_1__0__Impl(); + pushFollow(FOLLOW_34); + rule__Export__Group_6__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_1__1(); + rule__Export__Group_6__4(); state._fsp--; if (state.failed) return ; @@ -22804,32 +24157,28 @@ public final void rule__InfixExpression__Group_1_1__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_1__0" + // $ANTLR end "rule__Export__Group_6__3" - // $ANTLR start "rule__InfixExpression__Group_1_1__0__Impl" - // InternalExport.g:6837:1: rule__InfixExpression__Group_1_1__0__Impl : ( () ) ; - public final void rule__InfixExpression__Group_1_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_6__3__Impl" + // InternalExport.g:6699:1: rule__Export__Group_6__3__Impl : ( 'attribute' ) ; + public final void rule__Export__Group_6__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6841:1: ( ( () ) ) - // InternalExport.g:6842:1: ( () ) + // InternalExport.g:6703:1: ( ( 'attribute' ) ) + // InternalExport.g:6704:1: ( 'attribute' ) { - // InternalExport.g:6842:1: ( () ) - // InternalExport.g:6843:2: () + // InternalExport.g:6704:1: ( 'attribute' ) + // InternalExport.g:6705:2: 'attribute' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); - } - // InternalExport.g:6844:2: () - // InternalExport.g:6844:3: - { + before(grammarAccess.getExportAccess().getAttributeKeyword_6_3()); } - + match(input,80,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); + after(grammarAccess.getExportAccess().getAttributeKeyword_6_3()); } } @@ -22838,6 +24187,10 @@ public final void rule__InfixExpression__Group_1_1__0__Impl() throws Recognition } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -22845,26 +24198,26 @@ public final void rule__InfixExpression__Group_1_1__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_1__0__Impl" + // $ANTLR end "rule__Export__Group_6__3__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_1__1" - // InternalExport.g:6852:1: rule__InfixExpression__Group_1_1__1 : rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 ; - public final void rule__InfixExpression__Group_1_1__1() throws RecognitionException { + // $ANTLR start "rule__Export__Group_6__4" + // InternalExport.g:6714:1: rule__Export__Group_6__4 : rule__Export__Group_6__4__Impl rule__Export__Group_6__5 ; + public final void rule__Export__Group_6__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6856:1: ( rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 ) - // InternalExport.g:6857:2: rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 + // InternalExport.g:6718:1: ( rule__Export__Group_6__4__Impl rule__Export__Group_6__5 ) + // InternalExport.g:6719:2: rule__Export__Group_6__4__Impl rule__Export__Group_6__5 { - pushFollow(FOLLOW_40); - rule__InfixExpression__Group_1_1__1__Impl(); + pushFollow(FOLLOW_11); + rule__Export__Group_6__4__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_1__2(); + rule__Export__Group_6__5(); state._fsp--; if (state.failed) return ; @@ -22883,28 +24236,28 @@ public final void rule__InfixExpression__Group_1_1__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_1__1" + // $ANTLR end "rule__Export__Group_6__4" - // $ANTLR start "rule__InfixExpression__Group_1_1__1__Impl" - // InternalExport.g:6864:1: rule__InfixExpression__Group_1_1__1__Impl : ( '.' ) ; - public final void rule__InfixExpression__Group_1_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_6__4__Impl" + // InternalExport.g:6726:1: rule__Export__Group_6__4__Impl : ( '(' ) ; + public final void rule__Export__Group_6__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6868:1: ( ( '.' ) ) - // InternalExport.g:6869:1: ( '.' ) + // InternalExport.g:6730:1: ( ( '(' ) ) + // InternalExport.g:6731:1: ( '(' ) { - // InternalExport.g:6869:1: ( '.' ) - // InternalExport.g:6870:2: '.' + // InternalExport.g:6731:1: ( '(' ) + // InternalExport.g:6732:2: '(' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); + before(grammarAccess.getExportAccess().getLeftParenthesisKeyword_6_4()); } - match(input,68,FOLLOW_2); if (state.failed) return ; + match(input,77,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); + after(grammarAccess.getExportAccess().getLeftParenthesisKeyword_6_4()); } } @@ -22924,21 +24277,26 @@ public final void rule__InfixExpression__Group_1_1__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_1__1__Impl" + // $ANTLR end "rule__Export__Group_6__4__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_1__2" - // InternalExport.g:6879:1: rule__InfixExpression__Group_1_1__2 : rule__InfixExpression__Group_1_1__2__Impl ; - public final void rule__InfixExpression__Group_1_1__2() throws RecognitionException { + // $ANTLR start "rule__Export__Group_6__5" + // InternalExport.g:6741:1: rule__Export__Group_6__5 : rule__Export__Group_6__5__Impl rule__Export__Group_6__6 ; + public final void rule__Export__Group_6__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6883:1: ( rule__InfixExpression__Group_1_1__2__Impl ) - // InternalExport.g:6884:2: rule__InfixExpression__Group_1_1__2__Impl + // InternalExport.g:6745:1: ( rule__Export__Group_6__5__Impl rule__Export__Group_6__6 ) + // InternalExport.g:6746:2: rule__Export__Group_6__5__Impl rule__Export__Group_6__6 { + pushFollow(FOLLOW_25); + rule__Export__Group_6__5__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_1__2__Impl(); + rule__Export__Group_6__6(); state._fsp--; if (state.failed) return ; @@ -22957,30 +24315,30 @@ public final void rule__InfixExpression__Group_1_1__2() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_1__2" + // $ANTLR end "rule__Export__Group_6__5" - // $ANTLR start "rule__InfixExpression__Group_1_1__2__Impl" - // InternalExport.g:6890:1: rule__InfixExpression__Group_1_1__2__Impl : ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) ; - public final void rule__InfixExpression__Group_1_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_6__5__Impl" + // InternalExport.g:6753:1: rule__Export__Group_6__5__Impl : ( ( rule__Export__FragmentAttributeAssignment_6_5 ) ) ; + public final void rule__Export__Group_6__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6894:1: ( ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) ) - // InternalExport.g:6895:1: ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) + // InternalExport.g:6757:1: ( ( ( rule__Export__FragmentAttributeAssignment_6_5 ) ) ) + // InternalExport.g:6758:1: ( ( rule__Export__FragmentAttributeAssignment_6_5 ) ) { - // InternalExport.g:6895:1: ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) - // InternalExport.g:6896:2: ( rule__InfixExpression__TypeAssignment_1_1_2 ) + // InternalExport.g:6758:1: ( ( rule__Export__FragmentAttributeAssignment_6_5 ) ) + // InternalExport.g:6759:2: ( rule__Export__FragmentAttributeAssignment_6_5 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); + before(grammarAccess.getExportAccess().getFragmentAttributeAssignment_6_5()); } - // InternalExport.g:6897:2: ( rule__InfixExpression__TypeAssignment_1_1_2 ) - // InternalExport.g:6897:3: rule__InfixExpression__TypeAssignment_1_1_2 + // InternalExport.g:6760:2: ( rule__Export__FragmentAttributeAssignment_6_5 ) + // InternalExport.g:6760:3: rule__Export__FragmentAttributeAssignment_6_5 { pushFollow(FOLLOW_2); - rule__InfixExpression__TypeAssignment_1_1_2(); + rule__Export__FragmentAttributeAssignment_6_5(); state._fsp--; if (state.failed) return ; @@ -22988,7 +24346,7 @@ public final void rule__InfixExpression__Group_1_1__2__Impl() throws Recognition } if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); + after(grammarAccess.getExportAccess().getFragmentAttributeAssignment_6_5()); } } @@ -23008,26 +24366,26 @@ public final void rule__InfixExpression__Group_1_1__2__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_1__2__Impl" + // $ANTLR end "rule__Export__Group_6__5__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_2__0" - // InternalExport.g:6906:1: rule__InfixExpression__Group_1_2__0 : rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 ; - public final void rule__InfixExpression__Group_1_2__0() throws RecognitionException { + // $ANTLR start "rule__Export__Group_6__6" + // InternalExport.g:6768:1: rule__Export__Group_6__6 : rule__Export__Group_6__6__Impl rule__Export__Group_6__7 ; + public final void rule__Export__Group_6__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6910:1: ( rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 ) - // InternalExport.g:6911:2: rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 + // InternalExport.g:6772:1: ( rule__Export__Group_6__6__Impl rule__Export__Group_6__7 ) + // InternalExport.g:6773:2: rule__Export__Group_6__6__Impl rule__Export__Group_6__7 { - pushFollow(FOLLOW_62); - rule__InfixExpression__Group_1_2__0__Impl(); + pushFollow(FOLLOW_35); + rule__Export__Group_6__6__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__1(); + rule__Export__Group_6__7(); state._fsp--; if (state.failed) return ; @@ -23046,32 +24404,28 @@ public final void rule__InfixExpression__Group_1_2__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__0" + // $ANTLR end "rule__Export__Group_6__6" - // $ANTLR start "rule__InfixExpression__Group_1_2__0__Impl" - // InternalExport.g:6918:1: rule__InfixExpression__Group_1_2__0__Impl : ( () ) ; - public final void rule__InfixExpression__Group_1_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_6__6__Impl" + // InternalExport.g:6780:1: rule__Export__Group_6__6__Impl : ( ')' ) ; + public final void rule__Export__Group_6__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6922:1: ( ( () ) ) - // InternalExport.g:6923:1: ( () ) + // InternalExport.g:6784:1: ( ( ')' ) ) + // InternalExport.g:6785:1: ( ')' ) { - // InternalExport.g:6923:1: ( () ) - // InternalExport.g:6924:2: () + // InternalExport.g:6785:1: ( ')' ) + // InternalExport.g:6786:2: ')' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); - } - // InternalExport.g:6925:2: () - // InternalExport.g:6925:3: - { + before(grammarAccess.getExportAccess().getRightParenthesisKeyword_6_6()); } - + match(input,78,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); + after(grammarAccess.getExportAccess().getRightParenthesisKeyword_6_6()); } } @@ -23080,6 +24434,10 @@ public final void rule__InfixExpression__Group_1_2__0__Impl() throws Recognition } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -23087,26 +24445,21 @@ public final void rule__InfixExpression__Group_1_2__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__0__Impl" + // $ANTLR end "rule__Export__Group_6__6__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_2__1" - // InternalExport.g:6933:1: rule__InfixExpression__Group_1_2__1 : rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 ; - public final void rule__InfixExpression__Group_1_2__1() throws RecognitionException { + // $ANTLR start "rule__Export__Group_6__7" + // InternalExport.g:6795:1: rule__Export__Group_6__7 : rule__Export__Group_6__7__Impl ; + public final void rule__Export__Group_6__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6937:1: ( rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 ) - // InternalExport.g:6938:2: rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 + // InternalExport.g:6799:1: ( rule__Export__Group_6__7__Impl ) + // InternalExport.g:6800:2: rule__Export__Group_6__7__Impl { - pushFollow(FOLLOW_65); - rule__InfixExpression__Group_1_2__1__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__2(); + rule__Export__Group_6__7__Impl(); state._fsp--; if (state.failed) return ; @@ -23125,28 +24478,28 @@ public final void rule__InfixExpression__Group_1_2__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__1" + // $ANTLR end "rule__Export__Group_6__7" - // $ANTLR start "rule__InfixExpression__Group_1_2__1__Impl" - // InternalExport.g:6945:1: rule__InfixExpression__Group_1_2__1__Impl : ( '.' ) ; - public final void rule__InfixExpression__Group_1_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_6__7__Impl" + // InternalExport.g:6806:1: rule__Export__Group_6__7__Impl : ( ';' ) ; + public final void rule__Export__Group_6__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6949:1: ( ( '.' ) ) - // InternalExport.g:6950:1: ( '.' ) + // InternalExport.g:6810:1: ( ( ';' ) ) + // InternalExport.g:6811:1: ( ';' ) { - // InternalExport.g:6950:1: ( '.' ) - // InternalExport.g:6951:2: '.' + // InternalExport.g:6811:1: ( ';' ) + // InternalExport.g:6812:2: ';' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); + before(grammarAccess.getExportAccess().getSemicolonKeyword_6_7()); } - match(input,68,FOLLOW_2); if (state.failed) return ; + match(input,71,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); + after(grammarAccess.getExportAccess().getSemicolonKeyword_6_7()); } } @@ -23166,26 +24519,26 @@ public final void rule__InfixExpression__Group_1_2__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__1__Impl" + // $ANTLR end "rule__Export__Group_6__7__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_2__2" - // InternalExport.g:6960:1: rule__InfixExpression__Group_1_2__2 : rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 ; - public final void rule__InfixExpression__Group_1_2__2() throws RecognitionException { + // $ANTLR start "rule__Export__Group_7__0" + // InternalExport.g:6822:1: rule__Export__Group_7__0 : rule__Export__Group_7__0__Impl rule__Export__Group_7__1 ; + public final void rule__Export__Group_7__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6964:1: ( rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 ) - // InternalExport.g:6965:2: rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 + // InternalExport.g:6826:1: ( rule__Export__Group_7__0__Impl rule__Export__Group_7__1 ) + // InternalExport.g:6827:2: rule__Export__Group_7__0__Impl rule__Export__Group_7__1 { - pushFollow(FOLLOW_34); - rule__InfixExpression__Group_1_2__2__Impl(); + pushFollow(FOLLOW_35); + rule__Export__Group_7__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__3(); + rule__Export__Group_7__1(); state._fsp--; if (state.failed) return ; @@ -23204,30 +24557,30 @@ public final void rule__InfixExpression__Group_1_2__2() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__2" + // $ANTLR end "rule__Export__Group_7__0" - // $ANTLR start "rule__InfixExpression__Group_1_2__2__Impl" - // InternalExport.g:6972:1: rule__InfixExpression__Group_1_2__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) ; - public final void rule__InfixExpression__Group_1_2__2__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_7__0__Impl" + // InternalExport.g:6834:1: rule__Export__Group_7__0__Impl : ( ( rule__Export__Alternatives_7_0 ) ) ; + public final void rule__Export__Group_7__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6976:1: ( ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) ) - // InternalExport.g:6977:1: ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) + // InternalExport.g:6838:1: ( ( ( rule__Export__Alternatives_7_0 ) ) ) + // InternalExport.g:6839:1: ( ( rule__Export__Alternatives_7_0 ) ) { - // InternalExport.g:6977:1: ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) - // InternalExport.g:6978:2: ( rule__InfixExpression__NameAssignment_1_2_2 ) + // InternalExport.g:6839:1: ( ( rule__Export__Alternatives_7_0 ) ) + // InternalExport.g:6840:2: ( rule__Export__Alternatives_7_0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); + before(grammarAccess.getExportAccess().getAlternatives_7_0()); } - // InternalExport.g:6979:2: ( rule__InfixExpression__NameAssignment_1_2_2 ) - // InternalExport.g:6979:3: rule__InfixExpression__NameAssignment_1_2_2 + // InternalExport.g:6841:2: ( rule__Export__Alternatives_7_0 ) + // InternalExport.g:6841:3: rule__Export__Alternatives_7_0 { pushFollow(FOLLOW_2); - rule__InfixExpression__NameAssignment_1_2_2(); + rule__Export__Alternatives_7_0(); state._fsp--; if (state.failed) return ; @@ -23235,7 +24588,7 @@ public final void rule__InfixExpression__Group_1_2__2__Impl() throws Recognition } if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); + after(grammarAccess.getExportAccess().getAlternatives_7_0()); } } @@ -23255,26 +24608,21 @@ public final void rule__InfixExpression__Group_1_2__2__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__2__Impl" + // $ANTLR end "rule__Export__Group_7__0__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_2__3" - // InternalExport.g:6987:1: rule__InfixExpression__Group_1_2__3 : rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 ; - public final void rule__InfixExpression__Group_1_2__3() throws RecognitionException { + // $ANTLR start "rule__Export__Group_7__1" + // InternalExport.g:6849:1: rule__Export__Group_7__1 : rule__Export__Group_7__1__Impl ; + public final void rule__Export__Group_7__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:6991:1: ( rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 ) - // InternalExport.g:6992:2: rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 + // InternalExport.g:6853:1: ( rule__Export__Group_7__1__Impl ) + // InternalExport.g:6854:2: rule__Export__Group_7__1__Impl { - pushFollow(FOLLOW_40); - rule__InfixExpression__Group_1_2__3__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__4(); + rule__Export__Group_7__1__Impl(); state._fsp--; if (state.failed) return ; @@ -23293,28 +24641,28 @@ public final void rule__InfixExpression__Group_1_2__3() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__3" + // $ANTLR end "rule__Export__Group_7__1" - // $ANTLR start "rule__InfixExpression__Group_1_2__3__Impl" - // InternalExport.g:6999:1: rule__InfixExpression__Group_1_2__3__Impl : ( '(' ) ; - public final void rule__InfixExpression__Group_1_2__3__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_7__1__Impl" + // InternalExport.g:6860:1: rule__Export__Group_7__1__Impl : ( ';' ) ; + public final void rule__Export__Group_7__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7003:1: ( ( '(' ) ) - // InternalExport.g:7004:1: ( '(' ) + // InternalExport.g:6864:1: ( ( ';' ) ) + // InternalExport.g:6865:1: ( ';' ) { - // InternalExport.g:7004:1: ( '(' ) - // InternalExport.g:7005:2: '(' + // InternalExport.g:6865:1: ( ';' ) + // InternalExport.g:6866:2: ';' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); + before(grammarAccess.getExportAccess().getSemicolonKeyword_7_1()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + match(input,71,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); + after(grammarAccess.getExportAccess().getSemicolonKeyword_7_1()); } } @@ -23334,26 +24682,26 @@ public final void rule__InfixExpression__Group_1_2__3__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__3__Impl" + // $ANTLR end "rule__Export__Group_7__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_2__4" - // InternalExport.g:7014:1: rule__InfixExpression__Group_1_2__4 : rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 ; - public final void rule__InfixExpression__Group_1_2__4() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_0__0" + // InternalExport.g:6876:1: rule__Export__Group_8_0__0 : rule__Export__Group_8_0__0__Impl rule__Export__Group_8_0__1 ; + public final void rule__Export__Group_8_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7018:1: ( rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 ) - // InternalExport.g:7019:2: rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 + // InternalExport.g:6880:1: ( rule__Export__Group_8_0__0__Impl rule__Export__Group_8_0__1 ) + // InternalExport.g:6881:2: rule__Export__Group_8_0__0__Impl rule__Export__Group_8_0__1 { - pushFollow(FOLLOW_25); - rule__InfixExpression__Group_1_2__4__Impl(); + pushFollow(FOLLOW_11); + rule__Export__Group_8_0__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__5(); + rule__Export__Group_8_0__1(); state._fsp--; if (state.failed) return ; @@ -23372,38 +24720,28 @@ public final void rule__InfixExpression__Group_1_2__4() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__4" + // $ANTLR end "rule__Export__Group_8_0__0" - // $ANTLR start "rule__InfixExpression__Group_1_2__4__Impl" - // InternalExport.g:7026:1: rule__InfixExpression__Group_1_2__4__Impl : ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) ; - public final void rule__InfixExpression__Group_1_2__4__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_0__0__Impl" + // InternalExport.g:6888:1: rule__Export__Group_8_0__0__Impl : ( 'field' ) ; + public final void rule__Export__Group_8_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7030:1: ( ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) ) - // InternalExport.g:7031:1: ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) + // InternalExport.g:6892:1: ( ( 'field' ) ) + // InternalExport.g:6893:1: ( 'field' ) { - // InternalExport.g:7031:1: ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) - // InternalExport.g:7032:2: ( rule__InfixExpression__TypeAssignment_1_2_4 ) + // InternalExport.g:6893:1: ( 'field' ) + // InternalExport.g:6894:2: 'field' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); - } - // InternalExport.g:7033:2: ( rule__InfixExpression__TypeAssignment_1_2_4 ) - // InternalExport.g:7033:3: rule__InfixExpression__TypeAssignment_1_2_4 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__TypeAssignment_1_2_4(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getExportAccess().getFieldKeyword_8_0_0()); } - + match(input,81,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); + after(grammarAccess.getExportAccess().getFieldKeyword_8_0_0()); } } @@ -23423,21 +24761,26 @@ public final void rule__InfixExpression__Group_1_2__4__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__4__Impl" + // $ANTLR end "rule__Export__Group_8_0__0__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_2__5" - // InternalExport.g:7041:1: rule__InfixExpression__Group_1_2__5 : rule__InfixExpression__Group_1_2__5__Impl ; - public final void rule__InfixExpression__Group_1_2__5() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_0__1" + // InternalExport.g:6903:1: rule__Export__Group_8_0__1 : rule__Export__Group_8_0__1__Impl rule__Export__Group_8_0__2 ; + public final void rule__Export__Group_8_0__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7045:1: ( rule__InfixExpression__Group_1_2__5__Impl ) - // InternalExport.g:7046:2: rule__InfixExpression__Group_1_2__5__Impl + // InternalExport.g:6907:1: ( rule__Export__Group_8_0__1__Impl rule__Export__Group_8_0__2 ) + // InternalExport.g:6908:2: rule__Export__Group_8_0__1__Impl rule__Export__Group_8_0__2 { + pushFollow(FOLLOW_36); + rule__Export__Group_8_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__5__Impl(); + rule__Export__Group_8_0__2(); state._fsp--; if (state.failed) return ; @@ -23456,28 +24799,38 @@ public final void rule__InfixExpression__Group_1_2__5() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__5" + // $ANTLR end "rule__Export__Group_8_0__1" - // $ANTLR start "rule__InfixExpression__Group_1_2__5__Impl" - // InternalExport.g:7052:1: rule__InfixExpression__Group_1_2__5__Impl : ( ')' ) ; - public final void rule__InfixExpression__Group_1_2__5__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_0__1__Impl" + // InternalExport.g:6915:1: rule__Export__Group_8_0__1__Impl : ( ( rule__Export__AttributesAssignment_8_0_1 ) ) ; + public final void rule__Export__Group_8_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7056:1: ( ( ')' ) ) - // InternalExport.g:7057:1: ( ')' ) + // InternalExport.g:6919:1: ( ( ( rule__Export__AttributesAssignment_8_0_1 ) ) ) + // InternalExport.g:6920:1: ( ( rule__Export__AttributesAssignment_8_0_1 ) ) { - // InternalExport.g:7057:1: ( ')' ) - // InternalExport.g:7058:2: ')' + // InternalExport.g:6920:1: ( ( rule__Export__AttributesAssignment_8_0_1 ) ) + // InternalExport.g:6921:2: ( rule__Export__AttributesAssignment_8_0_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); + before(grammarAccess.getExportAccess().getAttributesAssignment_8_0_1()); + } + // InternalExport.g:6922:2: ( rule__Export__AttributesAssignment_8_0_1 ) + // InternalExport.g:6922:3: rule__Export__AttributesAssignment_8_0_1 + { + pushFollow(FOLLOW_2); + rule__Export__AttributesAssignment_8_0_1(); + + state._fsp--; + if (state.failed) return ; + } - match(input,52,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); + after(grammarAccess.getExportAccess().getAttributesAssignment_8_0_1()); } } @@ -23497,26 +24850,26 @@ public final void rule__InfixExpression__Group_1_2__5__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__5__Impl" + // $ANTLR end "rule__Export__Group_8_0__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3__0" - // InternalExport.g:7068:1: rule__InfixExpression__Group_1_3__0 : rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 ; - public final void rule__InfixExpression__Group_1_3__0() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_0__2" + // InternalExport.g:6930:1: rule__Export__Group_8_0__2 : rule__Export__Group_8_0__2__Impl rule__Export__Group_8_0__3 ; + public final void rule__Export__Group_8_0__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7072:1: ( rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 ) - // InternalExport.g:7073:2: rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 + // InternalExport.g:6934:1: ( rule__Export__Group_8_0__2__Impl rule__Export__Group_8_0__3 ) + // InternalExport.g:6935:2: rule__Export__Group_8_0__2__Impl rule__Export__Group_8_0__3 { - pushFollow(FOLLOW_62); - rule__InfixExpression__Group_1_3__0__Impl(); + pushFollow(FOLLOW_36); + rule__Export__Group_8_0__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__1(); + rule__Export__Group_8_0__3(); state._fsp--; if (state.failed) return ; @@ -23535,32 +24888,56 @@ public final void rule__InfixExpression__Group_1_3__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__0" + // $ANTLR end "rule__Export__Group_8_0__2" - // $ANTLR start "rule__InfixExpression__Group_1_3__0__Impl" - // InternalExport.g:7080:1: rule__InfixExpression__Group_1_3__0__Impl : ( () ) ; - public final void rule__InfixExpression__Group_1_3__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_0__2__Impl" + // InternalExport.g:6942:1: rule__Export__Group_8_0__2__Impl : ( ( rule__Export__Group_8_0_2__0 )* ) ; + public final void rule__Export__Group_8_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7084:1: ( ( () ) ) - // InternalExport.g:7085:1: ( () ) + // InternalExport.g:6946:1: ( ( ( rule__Export__Group_8_0_2__0 )* ) ) + // InternalExport.g:6947:1: ( ( rule__Export__Group_8_0_2__0 )* ) { - // InternalExport.g:7085:1: ( () ) - // InternalExport.g:7086:2: () + // InternalExport.g:6947:1: ( ( rule__Export__Group_8_0_2__0 )* ) + // InternalExport.g:6948:2: ( rule__Export__Group_8_0_2__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); - } - // InternalExport.g:7087:2: () - // InternalExport.g:7087:3: - { + before(grammarAccess.getExportAccess().getGroup_8_0_2()); } + // InternalExport.g:6949:2: ( rule__Export__Group_8_0_2__0 )* + loop84: + do { + int alt84=2; + int LA84_0 = input.LA(1); + + if ( (LA84_0==74) ) { + alt84=1; + } + + + switch (alt84) { + case 1 : + // InternalExport.g:6949:3: rule__Export__Group_8_0_2__0 + { + pushFollow(FOLLOW_22); + rule__Export__Group_8_0_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop84; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); + after(grammarAccess.getExportAccess().getGroup_8_0_2()); } } @@ -23569,6 +24946,10 @@ public final void rule__InfixExpression__Group_1_3__0__Impl() throws Recognition } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -23576,26 +24957,21 @@ public final void rule__InfixExpression__Group_1_3__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__0__Impl" + // $ANTLR end "rule__Export__Group_8_0__2__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3__1" - // InternalExport.g:7095:1: rule__InfixExpression__Group_1_3__1 : rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 ; - public final void rule__InfixExpression__Group_1_3__1() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_0__3" + // InternalExport.g:6957:1: rule__Export__Group_8_0__3 : rule__Export__Group_8_0__3__Impl ; + public final void rule__Export__Group_8_0__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7099:1: ( rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 ) - // InternalExport.g:7100:2: rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 + // InternalExport.g:6961:1: ( rule__Export__Group_8_0__3__Impl ) + // InternalExport.g:6962:2: rule__Export__Group_8_0__3__Impl { - pushFollow(FOLLOW_66); - rule__InfixExpression__Group_1_3__1__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__2(); + rule__Export__Group_8_0__3__Impl(); state._fsp--; if (state.failed) return ; @@ -23614,28 +24990,28 @@ public final void rule__InfixExpression__Group_1_3__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__1" + // $ANTLR end "rule__Export__Group_8_0__3" - // $ANTLR start "rule__InfixExpression__Group_1_3__1__Impl" - // InternalExport.g:7107:1: rule__InfixExpression__Group_1_3__1__Impl : ( '.' ) ; - public final void rule__InfixExpression__Group_1_3__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_0__3__Impl" + // InternalExport.g:6968:1: rule__Export__Group_8_0__3__Impl : ( ';' ) ; + public final void rule__Export__Group_8_0__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7111:1: ( ( '.' ) ) - // InternalExport.g:7112:1: ( '.' ) + // InternalExport.g:6972:1: ( ( ';' ) ) + // InternalExport.g:6973:1: ( ';' ) { - // InternalExport.g:7112:1: ( '.' ) - // InternalExport.g:7113:2: '.' + // InternalExport.g:6973:1: ( ';' ) + // InternalExport.g:6974:2: ';' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); + before(grammarAccess.getExportAccess().getSemicolonKeyword_8_0_3()); } - match(input,68,FOLLOW_2); if (state.failed) return ; + match(input,71,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); + after(grammarAccess.getExportAccess().getSemicolonKeyword_8_0_3()); } } @@ -23655,26 +25031,26 @@ public final void rule__InfixExpression__Group_1_3__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__1__Impl" + // $ANTLR end "rule__Export__Group_8_0__3__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3__2" - // InternalExport.g:7122:1: rule__InfixExpression__Group_1_3__2 : rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 ; - public final void rule__InfixExpression__Group_1_3__2() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_0_2__0" + // InternalExport.g:6984:1: rule__Export__Group_8_0_2__0 : rule__Export__Group_8_0_2__0__Impl rule__Export__Group_8_0_2__1 ; + public final void rule__Export__Group_8_0_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7126:1: ( rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 ) - // InternalExport.g:7127:2: rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 + // InternalExport.g:6988:1: ( rule__Export__Group_8_0_2__0__Impl rule__Export__Group_8_0_2__1 ) + // InternalExport.g:6989:2: rule__Export__Group_8_0_2__0__Impl rule__Export__Group_8_0_2__1 { - pushFollow(FOLLOW_34); - rule__InfixExpression__Group_1_3__2__Impl(); + pushFollow(FOLLOW_11); + rule__Export__Group_8_0_2__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__3(); + rule__Export__Group_8_0_2__1(); state._fsp--; if (state.failed) return ; @@ -23693,38 +25069,28 @@ public final void rule__InfixExpression__Group_1_3__2() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__2" + // $ANTLR end "rule__Export__Group_8_0_2__0" - // $ANTLR start "rule__InfixExpression__Group_1_3__2__Impl" - // InternalExport.g:7134:1: rule__InfixExpression__Group_1_3__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) ; - public final void rule__InfixExpression__Group_1_3__2__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_0_2__0__Impl" + // InternalExport.g:6996:1: rule__Export__Group_8_0_2__0__Impl : ( ',' ) ; + public final void rule__Export__Group_8_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7138:1: ( ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) ) - // InternalExport.g:7139:1: ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) + // InternalExport.g:7000:1: ( ( ',' ) ) + // InternalExport.g:7001:1: ( ',' ) { - // InternalExport.g:7139:1: ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) - // InternalExport.g:7140:2: ( rule__InfixExpression__NameAssignment_1_3_2 ) + // InternalExport.g:7001:1: ( ',' ) + // InternalExport.g:7002:2: ',' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); - } - // InternalExport.g:7141:2: ( rule__InfixExpression__NameAssignment_1_3_2 ) - // InternalExport.g:7141:3: rule__InfixExpression__NameAssignment_1_3_2 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__NameAssignment_1_3_2(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getExportAccess().getCommaKeyword_8_0_2_0()); } - + match(input,74,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); + after(grammarAccess.getExportAccess().getCommaKeyword_8_0_2_0()); } } @@ -23744,26 +25110,21 @@ public final void rule__InfixExpression__Group_1_3__2__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__2__Impl" + // $ANTLR end "rule__Export__Group_8_0_2__0__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3__3" - // InternalExport.g:7149:1: rule__InfixExpression__Group_1_3__3 : rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 ; - public final void rule__InfixExpression__Group_1_3__3() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_0_2__1" + // InternalExport.g:7011:1: rule__Export__Group_8_0_2__1 : rule__Export__Group_8_0_2__1__Impl ; + public final void rule__Export__Group_8_0_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7153:1: ( rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 ) - // InternalExport.g:7154:2: rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 + // InternalExport.g:7015:1: ( rule__Export__Group_8_0_2__1__Impl ) + // InternalExport.g:7016:2: rule__Export__Group_8_0_2__1__Impl { - pushFollow(FOLLOW_18); - rule__InfixExpression__Group_1_3__3__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__4(); + rule__Export__Group_8_0_2__1__Impl(); state._fsp--; if (state.failed) return ; @@ -23782,28 +25143,38 @@ public final void rule__InfixExpression__Group_1_3__3() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__3" + // $ANTLR end "rule__Export__Group_8_0_2__1" - // $ANTLR start "rule__InfixExpression__Group_1_3__3__Impl" - // InternalExport.g:7161:1: rule__InfixExpression__Group_1_3__3__Impl : ( '(' ) ; - public final void rule__InfixExpression__Group_1_3__3__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_0_2__1__Impl" + // InternalExport.g:7022:1: rule__Export__Group_8_0_2__1__Impl : ( ( rule__Export__AttributesAssignment_8_0_2_1 ) ) ; + public final void rule__Export__Group_8_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7165:1: ( ( '(' ) ) - // InternalExport.g:7166:1: ( '(' ) + // InternalExport.g:7026:1: ( ( ( rule__Export__AttributesAssignment_8_0_2_1 ) ) ) + // InternalExport.g:7027:1: ( ( rule__Export__AttributesAssignment_8_0_2_1 ) ) { - // InternalExport.g:7166:1: ( '(' ) - // InternalExport.g:7167:2: '(' + // InternalExport.g:7027:1: ( ( rule__Export__AttributesAssignment_8_0_2_1 ) ) + // InternalExport.g:7028:2: ( rule__Export__AttributesAssignment_8_0_2_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); + before(grammarAccess.getExportAccess().getAttributesAssignment_8_0_2_1()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:7029:2: ( rule__Export__AttributesAssignment_8_0_2_1 ) + // InternalExport.g:7029:3: rule__Export__AttributesAssignment_8_0_2_1 + { + pushFollow(FOLLOW_2); + rule__Export__AttributesAssignment_8_0_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); + after(grammarAccess.getExportAccess().getAttributesAssignment_8_0_2_1()); } } @@ -23823,26 +25194,26 @@ public final void rule__InfixExpression__Group_1_3__3__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__3__Impl" + // $ANTLR end "rule__Export__Group_8_0_2__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3__4" - // InternalExport.g:7176:1: rule__InfixExpression__Group_1_3__4 : rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 ; - public final void rule__InfixExpression__Group_1_3__4() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_1__0" + // InternalExport.g:7038:1: rule__Export__Group_8_1__0 : rule__Export__Group_8_1__0__Impl rule__Export__Group_8_1__1 ; + public final void rule__Export__Group_8_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7180:1: ( rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 ) - // InternalExport.g:7181:2: rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 + // InternalExport.g:7042:1: ( rule__Export__Group_8_1__0__Impl rule__Export__Group_8_1__1 ) + // InternalExport.g:7043:2: rule__Export__Group_8_1__0__Impl rule__Export__Group_8_1__1 { - pushFollow(FOLLOW_18); - rule__InfixExpression__Group_1_3__4__Impl(); + pushFollow(FOLLOW_11); + rule__Export__Group_8_1__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__5(); + rule__Export__Group_8_1__1(); state._fsp--; if (state.failed) return ; @@ -23861,53 +25232,28 @@ public final void rule__InfixExpression__Group_1_3__4() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__4" + // $ANTLR end "rule__Export__Group_8_1__0" - // $ANTLR start "rule__InfixExpression__Group_1_3__4__Impl" - // InternalExport.g:7188:1: rule__InfixExpression__Group_1_3__4__Impl : ( ( rule__InfixExpression__Group_1_3_4__0 )? ) ; - public final void rule__InfixExpression__Group_1_3__4__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_1__0__Impl" + // InternalExport.g:7050:1: rule__Export__Group_8_1__0__Impl : ( 'data' ) ; + public final void rule__Export__Group_8_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7192:1: ( ( ( rule__InfixExpression__Group_1_3_4__0 )? ) ) - // InternalExport.g:7193:1: ( ( rule__InfixExpression__Group_1_3_4__0 )? ) + // InternalExport.g:7054:1: ( ( 'data' ) ) + // InternalExport.g:7055:1: ( 'data' ) { - // InternalExport.g:7193:1: ( ( rule__InfixExpression__Group_1_3_4__0 )? ) - // InternalExport.g:7194:2: ( rule__InfixExpression__Group_1_3_4__0 )? + // InternalExport.g:7055:1: ( 'data' ) + // InternalExport.g:7056:2: 'data' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); - } - // InternalExport.g:7195:2: ( rule__InfixExpression__Group_1_3_4__0 )? - int alt61=2; - int LA61_0 = input.LA(1); - - if ( (LA61_0==RULE_ID) ) { - int LA61_1 = input.LA(2); - - if ( (LA61_1==69) ) { - alt61=1; - } - } - switch (alt61) { - case 1 : - // InternalExport.g:7195:3: rule__InfixExpression__Group_1_3_4__0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3_4__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - + before(grammarAccess.getExportAccess().getDataKeyword_8_1_0()); } - + match(input,82,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); + after(grammarAccess.getExportAccess().getDataKeyword_8_1_0()); } } @@ -23927,26 +25273,26 @@ public final void rule__InfixExpression__Group_1_3__4__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__4__Impl" + // $ANTLR end "rule__Export__Group_8_1__0__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3__5" - // InternalExport.g:7203:1: rule__InfixExpression__Group_1_3__5 : rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 ; - public final void rule__InfixExpression__Group_1_3__5() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_1__1" + // InternalExport.g:7065:1: rule__Export__Group_8_1__1 : rule__Export__Group_8_1__1__Impl rule__Export__Group_8_1__2 ; + public final void rule__Export__Group_8_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7207:1: ( rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 ) - // InternalExport.g:7208:2: rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 + // InternalExport.g:7069:1: ( rule__Export__Group_8_1__1__Impl rule__Export__Group_8_1__2 ) + // InternalExport.g:7070:2: rule__Export__Group_8_1__1__Impl rule__Export__Group_8_1__2 { - pushFollow(FOLLOW_25); - rule__InfixExpression__Group_1_3__5__Impl(); + pushFollow(FOLLOW_36); + rule__Export__Group_8_1__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__6(); + rule__Export__Group_8_1__2(); state._fsp--; if (state.failed) return ; @@ -23965,30 +25311,30 @@ public final void rule__InfixExpression__Group_1_3__5() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__5" + // $ANTLR end "rule__Export__Group_8_1__1" - // $ANTLR start "rule__InfixExpression__Group_1_3__5__Impl" - // InternalExport.g:7215:1: rule__InfixExpression__Group_1_3__5__Impl : ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) ; - public final void rule__InfixExpression__Group_1_3__5__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_1__1__Impl" + // InternalExport.g:7077:1: rule__Export__Group_8_1__1__Impl : ( ( rule__Export__UserDataAssignment_8_1_1 ) ) ; + public final void rule__Export__Group_8_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7219:1: ( ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) ) - // InternalExport.g:7220:1: ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) + // InternalExport.g:7081:1: ( ( ( rule__Export__UserDataAssignment_8_1_1 ) ) ) + // InternalExport.g:7082:1: ( ( rule__Export__UserDataAssignment_8_1_1 ) ) { - // InternalExport.g:7220:1: ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) - // InternalExport.g:7221:2: ( rule__InfixExpression__ExpAssignment_1_3_5 ) + // InternalExport.g:7082:1: ( ( rule__Export__UserDataAssignment_8_1_1 ) ) + // InternalExport.g:7083:2: ( rule__Export__UserDataAssignment_8_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); + before(grammarAccess.getExportAccess().getUserDataAssignment_8_1_1()); } - // InternalExport.g:7222:2: ( rule__InfixExpression__ExpAssignment_1_3_5 ) - // InternalExport.g:7222:3: rule__InfixExpression__ExpAssignment_1_3_5 + // InternalExport.g:7084:2: ( rule__Export__UserDataAssignment_8_1_1 ) + // InternalExport.g:7084:3: rule__Export__UserDataAssignment_8_1_1 { pushFollow(FOLLOW_2); - rule__InfixExpression__ExpAssignment_1_3_5(); + rule__Export__UserDataAssignment_8_1_1(); state._fsp--; if (state.failed) return ; @@ -23996,7 +25342,7 @@ public final void rule__InfixExpression__Group_1_3__5__Impl() throws Recognition } if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); + after(grammarAccess.getExportAccess().getUserDataAssignment_8_1_1()); } } @@ -24016,21 +25362,26 @@ public final void rule__InfixExpression__Group_1_3__5__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__5__Impl" + // $ANTLR end "rule__Export__Group_8_1__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3__6" - // InternalExport.g:7230:1: rule__InfixExpression__Group_1_3__6 : rule__InfixExpression__Group_1_3__6__Impl ; - public final void rule__InfixExpression__Group_1_3__6() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_1__2" + // InternalExport.g:7092:1: rule__Export__Group_8_1__2 : rule__Export__Group_8_1__2__Impl rule__Export__Group_8_1__3 ; + public final void rule__Export__Group_8_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7234:1: ( rule__InfixExpression__Group_1_3__6__Impl ) - // InternalExport.g:7235:2: rule__InfixExpression__Group_1_3__6__Impl + // InternalExport.g:7096:1: ( rule__Export__Group_8_1__2__Impl rule__Export__Group_8_1__3 ) + // InternalExport.g:7097:2: rule__Export__Group_8_1__2__Impl rule__Export__Group_8_1__3 { + pushFollow(FOLLOW_36); + rule__Export__Group_8_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__6__Impl(); + rule__Export__Group_8_1__3(); state._fsp--; if (state.failed) return ; @@ -24049,28 +25400,56 @@ public final void rule__InfixExpression__Group_1_3__6() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__6" + // $ANTLR end "rule__Export__Group_8_1__2" - // $ANTLR start "rule__InfixExpression__Group_1_3__6__Impl" - // InternalExport.g:7241:1: rule__InfixExpression__Group_1_3__6__Impl : ( ')' ) ; - public final void rule__InfixExpression__Group_1_3__6__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_1__2__Impl" + // InternalExport.g:7104:1: rule__Export__Group_8_1__2__Impl : ( ( rule__Export__Group_8_1_2__0 )* ) ; + public final void rule__Export__Group_8_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7245:1: ( ( ')' ) ) - // InternalExport.g:7246:1: ( ')' ) + // InternalExport.g:7108:1: ( ( ( rule__Export__Group_8_1_2__0 )* ) ) + // InternalExport.g:7109:1: ( ( rule__Export__Group_8_1_2__0 )* ) { - // InternalExport.g:7246:1: ( ')' ) - // InternalExport.g:7247:2: ')' + // InternalExport.g:7109:1: ( ( rule__Export__Group_8_1_2__0 )* ) + // InternalExport.g:7110:2: ( rule__Export__Group_8_1_2__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); + before(grammarAccess.getExportAccess().getGroup_8_1_2()); } - match(input,52,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:7111:2: ( rule__Export__Group_8_1_2__0 )* + loop85: + do { + int alt85=2; + int LA85_0 = input.LA(1); + + if ( (LA85_0==74) ) { + alt85=1; + } + + + switch (alt85) { + case 1 : + // InternalExport.g:7111:3: rule__Export__Group_8_1_2__0 + { + pushFollow(FOLLOW_22); + rule__Export__Group_8_1_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop85; + } + } while (true); + if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); + after(grammarAccess.getExportAccess().getGroup_8_1_2()); } } @@ -24090,26 +25469,21 @@ public final void rule__InfixExpression__Group_1_3__6__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__6__Impl" + // $ANTLR end "rule__Export__Group_8_1__2__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3_4__0" - // InternalExport.g:7257:1: rule__InfixExpression__Group_1_3_4__0 : rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 ; - public final void rule__InfixExpression__Group_1_3_4__0() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_1__3" + // InternalExport.g:7119:1: rule__Export__Group_8_1__3 : rule__Export__Group_8_1__3__Impl ; + public final void rule__Export__Group_8_1__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7261:1: ( rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 ) - // InternalExport.g:7262:2: rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 + // InternalExport.g:7123:1: ( rule__Export__Group_8_1__3__Impl ) + // InternalExport.g:7124:2: rule__Export__Group_8_1__3__Impl { - pushFollow(FOLLOW_67); - rule__InfixExpression__Group_1_3_4__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3_4__1(); + rule__Export__Group_8_1__3__Impl(); state._fsp--; if (state.failed) return ; @@ -24128,38 +25502,28 @@ public final void rule__InfixExpression__Group_1_3_4__0() throws RecognitionExce } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3_4__0" + // $ANTLR end "rule__Export__Group_8_1__3" - // $ANTLR start "rule__InfixExpression__Group_1_3_4__0__Impl" - // InternalExport.g:7269:1: rule__InfixExpression__Group_1_3_4__0__Impl : ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) ; - public final void rule__InfixExpression__Group_1_3_4__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_1__3__Impl" + // InternalExport.g:7130:1: rule__Export__Group_8_1__3__Impl : ( ';' ) ; + public final void rule__Export__Group_8_1__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7273:1: ( ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) ) - // InternalExport.g:7274:1: ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) + // InternalExport.g:7134:1: ( ( ';' ) ) + // InternalExport.g:7135:1: ( ';' ) { - // InternalExport.g:7274:1: ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) - // InternalExport.g:7275:2: ( rule__InfixExpression__VarAssignment_1_3_4_0 ) + // InternalExport.g:7135:1: ( ';' ) + // InternalExport.g:7136:2: ';' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); - } - // InternalExport.g:7276:2: ( rule__InfixExpression__VarAssignment_1_3_4_0 ) - // InternalExport.g:7276:3: rule__InfixExpression__VarAssignment_1_3_4_0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__VarAssignment_1_3_4_0(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getExportAccess().getSemicolonKeyword_8_1_3()); } - + match(input,71,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); + after(grammarAccess.getExportAccess().getSemicolonKeyword_8_1_3()); } } @@ -24179,21 +25543,26 @@ public final void rule__InfixExpression__Group_1_3_4__0__Impl() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3_4__0__Impl" + // $ANTLR end "rule__Export__Group_8_1__3__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3_4__1" - // InternalExport.g:7284:1: rule__InfixExpression__Group_1_3_4__1 : rule__InfixExpression__Group_1_3_4__1__Impl ; - public final void rule__InfixExpression__Group_1_3_4__1() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_1_2__0" + // InternalExport.g:7146:1: rule__Export__Group_8_1_2__0 : rule__Export__Group_8_1_2__0__Impl rule__Export__Group_8_1_2__1 ; + public final void rule__Export__Group_8_1_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7288:1: ( rule__InfixExpression__Group_1_3_4__1__Impl ) - // InternalExport.g:7289:2: rule__InfixExpression__Group_1_3_4__1__Impl + // InternalExport.g:7150:1: ( rule__Export__Group_8_1_2__0__Impl rule__Export__Group_8_1_2__1 ) + // InternalExport.g:7151:2: rule__Export__Group_8_1_2__0__Impl rule__Export__Group_8_1_2__1 { + pushFollow(FOLLOW_11); + rule__Export__Group_8_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3_4__1__Impl(); + rule__Export__Group_8_1_2__1(); state._fsp--; if (state.failed) return ; @@ -24212,28 +25581,28 @@ public final void rule__InfixExpression__Group_1_3_4__1() throws RecognitionExce } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3_4__1" + // $ANTLR end "rule__Export__Group_8_1_2__0" - // $ANTLR start "rule__InfixExpression__Group_1_3_4__1__Impl" - // InternalExport.g:7295:1: rule__InfixExpression__Group_1_3_4__1__Impl : ( '|' ) ; - public final void rule__InfixExpression__Group_1_3_4__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_1_2__0__Impl" + // InternalExport.g:7158:1: rule__Export__Group_8_1_2__0__Impl : ( ',' ) ; + public final void rule__Export__Group_8_1_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7299:1: ( ( '|' ) ) - // InternalExport.g:7300:1: ( '|' ) + // InternalExport.g:7162:1: ( ( ',' ) ) + // InternalExport.g:7163:1: ( ',' ) { - // InternalExport.g:7300:1: ( '|' ) - // InternalExport.g:7301:2: '|' + // InternalExport.g:7163:1: ( ',' ) + // InternalExport.g:7164:2: ',' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); + before(grammarAccess.getExportAccess().getCommaKeyword_8_1_2_0()); } - match(input,69,FOLLOW_2); if (state.failed) return ; + match(input,74,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); + after(grammarAccess.getExportAccess().getCommaKeyword_8_1_2_0()); } } @@ -24253,26 +25622,21 @@ public final void rule__InfixExpression__Group_1_3_4__1__Impl() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3_4__1__Impl" + // $ANTLR end "rule__Export__Group_8_1_2__0__Impl" - // $ANTLR start "rule__ParanthesizedExpression__Group__0" - // InternalExport.g:7311:1: rule__ParanthesizedExpression__Group__0 : rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 ; - public final void rule__ParanthesizedExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_1_2__1" + // InternalExport.g:7173:1: rule__Export__Group_8_1_2__1 : rule__Export__Group_8_1_2__1__Impl ; + public final void rule__Export__Group_8_1_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7315:1: ( rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 ) - // InternalExport.g:7316:2: rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 + // InternalExport.g:7177:1: ( rule__Export__Group_8_1_2__1__Impl ) + // InternalExport.g:7178:2: rule__Export__Group_8_1_2__1__Impl { - pushFollow(FOLLOW_18); - rule__ParanthesizedExpression__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ParanthesizedExpression__Group__1(); + rule__Export__Group_8_1_2__1__Impl(); state._fsp--; if (state.failed) return ; @@ -24291,28 +25655,38 @@ public final void rule__ParanthesizedExpression__Group__0() throws RecognitionEx } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__0" + // $ANTLR end "rule__Export__Group_8_1_2__1" - // $ANTLR start "rule__ParanthesizedExpression__Group__0__Impl" - // InternalExport.g:7323:1: rule__ParanthesizedExpression__Group__0__Impl : ( '(' ) ; - public final void rule__ParanthesizedExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Export__Group_8_1_2__1__Impl" + // InternalExport.g:7184:1: rule__Export__Group_8_1_2__1__Impl : ( ( rule__Export__UserDataAssignment_8_1_2_1 ) ) ; + public final void rule__Export__Group_8_1_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7327:1: ( ( '(' ) ) - // InternalExport.g:7328:1: ( '(' ) + // InternalExport.g:7188:1: ( ( ( rule__Export__UserDataAssignment_8_1_2_1 ) ) ) + // InternalExport.g:7189:1: ( ( rule__Export__UserDataAssignment_8_1_2_1 ) ) { - // InternalExport.g:7328:1: ( '(' ) - // InternalExport.g:7329:2: '(' + // InternalExport.g:7189:1: ( ( rule__Export__UserDataAssignment_8_1_2_1 ) ) + // InternalExport.g:7190:2: ( rule__Export__UserDataAssignment_8_1_2_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + before(grammarAccess.getExportAccess().getUserDataAssignment_8_1_2_1()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:7191:2: ( rule__Export__UserDataAssignment_8_1_2_1 ) + // InternalExport.g:7191:3: rule__Export__UserDataAssignment_8_1_2_1 + { + pushFollow(FOLLOW_2); + rule__Export__UserDataAssignment_8_1_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + after(grammarAccess.getExportAccess().getUserDataAssignment_8_1_2_1()); } } @@ -24332,26 +25706,26 @@ public final void rule__ParanthesizedExpression__Group__0__Impl() throws Recogni } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__0__Impl" + // $ANTLR end "rule__Export__Group_8_1_2__1__Impl" - // $ANTLR start "rule__ParanthesizedExpression__Group__1" - // InternalExport.g:7338:1: rule__ParanthesizedExpression__Group__1 : rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 ; - public final void rule__ParanthesizedExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__UserData__Group__0" + // InternalExport.g:7200:1: rule__UserData__Group__0 : rule__UserData__Group__0__Impl rule__UserData__Group__1 ; + public final void rule__UserData__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7342:1: ( rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 ) - // InternalExport.g:7343:2: rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 + // InternalExport.g:7204:1: ( rule__UserData__Group__0__Impl rule__UserData__Group__1 ) + // InternalExport.g:7205:2: rule__UserData__Group__0__Impl rule__UserData__Group__1 { - pushFollow(FOLLOW_25); - rule__ParanthesizedExpression__Group__1__Impl(); + pushFollow(FOLLOW_32); + rule__UserData__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ParanthesizedExpression__Group__2(); + rule__UserData__Group__1(); state._fsp--; if (state.failed) return ; @@ -24370,32 +25744,38 @@ public final void rule__ParanthesizedExpression__Group__1() throws RecognitionEx } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__1" + // $ANTLR end "rule__UserData__Group__0" - // $ANTLR start "rule__ParanthesizedExpression__Group__1__Impl" - // InternalExport.g:7350:1: rule__ParanthesizedExpression__Group__1__Impl : ( ruleExpression ) ; - public final void rule__ParanthesizedExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__UserData__Group__0__Impl" + // InternalExport.g:7212:1: rule__UserData__Group__0__Impl : ( ( rule__UserData__NameAssignment_0 ) ) ; + public final void rule__UserData__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7354:1: ( ( ruleExpression ) ) - // InternalExport.g:7355:1: ( ruleExpression ) + // InternalExport.g:7216:1: ( ( ( rule__UserData__NameAssignment_0 ) ) ) + // InternalExport.g:7217:1: ( ( rule__UserData__NameAssignment_0 ) ) { - // InternalExport.g:7355:1: ( ruleExpression ) - // InternalExport.g:7356:2: ruleExpression + // InternalExport.g:7217:1: ( ( rule__UserData__NameAssignment_0 ) ) + // InternalExport.g:7218:2: ( rule__UserData__NameAssignment_0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); + before(grammarAccess.getUserDataAccess().getNameAssignment_0()); } + // InternalExport.g:7219:2: ( rule__UserData__NameAssignment_0 ) + // InternalExport.g:7219:3: rule__UserData__NameAssignment_0 + { pushFollow(FOLLOW_2); - ruleExpression(); + rule__UserData__NameAssignment_0(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); + after(grammarAccess.getUserDataAccess().getNameAssignment_0()); } } @@ -24415,21 +25795,26 @@ public final void rule__ParanthesizedExpression__Group__1__Impl() throws Recogni } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__1__Impl" + // $ANTLR end "rule__UserData__Group__0__Impl" - // $ANTLR start "rule__ParanthesizedExpression__Group__2" - // InternalExport.g:7365:1: rule__ParanthesizedExpression__Group__2 : rule__ParanthesizedExpression__Group__2__Impl ; - public final void rule__ParanthesizedExpression__Group__2() throws RecognitionException { + // $ANTLR start "rule__UserData__Group__1" + // InternalExport.g:7227:1: rule__UserData__Group__1 : rule__UserData__Group__1__Impl rule__UserData__Group__2 ; + public final void rule__UserData__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7369:1: ( rule__ParanthesizedExpression__Group__2__Impl ) - // InternalExport.g:7370:2: rule__ParanthesizedExpression__Group__2__Impl + // InternalExport.g:7231:1: ( rule__UserData__Group__1__Impl rule__UserData__Group__2 ) + // InternalExport.g:7232:2: rule__UserData__Group__1__Impl rule__UserData__Group__2 { + pushFollow(FOLLOW_18); + rule__UserData__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ParanthesizedExpression__Group__2__Impl(); + rule__UserData__Group__2(); state._fsp--; if (state.failed) return ; @@ -24448,28 +25833,28 @@ public final void rule__ParanthesizedExpression__Group__2() throws RecognitionEx } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__2" + // $ANTLR end "rule__UserData__Group__1" - // $ANTLR start "rule__ParanthesizedExpression__Group__2__Impl" - // InternalExport.g:7376:1: rule__ParanthesizedExpression__Group__2__Impl : ( ')' ) ; - public final void rule__ParanthesizedExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__UserData__Group__1__Impl" + // InternalExport.g:7239:1: rule__UserData__Group__1__Impl : ( '=' ) ; + public final void rule__UserData__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7380:1: ( ( ')' ) ) - // InternalExport.g:7381:1: ( ')' ) + // InternalExport.g:7243:1: ( ( '=' ) ) + // InternalExport.g:7244:1: ( '=' ) { - // InternalExport.g:7381:1: ( ')' ) - // InternalExport.g:7382:2: ')' + // InternalExport.g:7244:1: ( '=' ) + // InternalExport.g:7245:2: '=' { if ( state.backtracking==0 ) { - before(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); + before(grammarAccess.getUserDataAccess().getEqualsSignKeyword_1()); } - match(input,52,FOLLOW_2); if (state.failed) return ; + match(input,14,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); + after(grammarAccess.getUserDataAccess().getEqualsSignKeyword_1()); } } @@ -24489,26 +25874,21 @@ public final void rule__ParanthesizedExpression__Group__2__Impl() throws Recogni } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__2__Impl" + // $ANTLR end "rule__UserData__Group__1__Impl" - // $ANTLR start "rule__GlobalVarExpression__Group__0" - // InternalExport.g:7392:1: rule__GlobalVarExpression__Group__0 : rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 ; - public final void rule__GlobalVarExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__UserData__Group__2" + // InternalExport.g:7254:1: rule__UserData__Group__2 : rule__UserData__Group__2__Impl ; + public final void rule__UserData__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7396:1: ( rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 ) - // InternalExport.g:7397:2: rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 + // InternalExport.g:7258:1: ( rule__UserData__Group__2__Impl ) + // InternalExport.g:7259:2: rule__UserData__Group__2__Impl { - pushFollow(FOLLOW_10); - rule__GlobalVarExpression__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__GlobalVarExpression__Group__1(); + rule__UserData__Group__2__Impl(); state._fsp--; if (state.failed) return ; @@ -24527,28 +25907,38 @@ public final void rule__GlobalVarExpression__Group__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__GlobalVarExpression__Group__0" + // $ANTLR end "rule__UserData__Group__2" - // $ANTLR start "rule__GlobalVarExpression__Group__0__Impl" - // InternalExport.g:7404:1: rule__GlobalVarExpression__Group__0__Impl : ( 'GLOBALVAR' ) ; - public final void rule__GlobalVarExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__UserData__Group__2__Impl" + // InternalExport.g:7265:1: rule__UserData__Group__2__Impl : ( ( rule__UserData__ExprAssignment_2 ) ) ; + public final void rule__UserData__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7408:1: ( ( 'GLOBALVAR' ) ) - // InternalExport.g:7409:1: ( 'GLOBALVAR' ) + // InternalExport.g:7269:1: ( ( ( rule__UserData__ExprAssignment_2 ) ) ) + // InternalExport.g:7270:1: ( ( rule__UserData__ExprAssignment_2 ) ) { - // InternalExport.g:7409:1: ( 'GLOBALVAR' ) - // InternalExport.g:7410:2: 'GLOBALVAR' + // InternalExport.g:7270:1: ( ( rule__UserData__ExprAssignment_2 ) ) + // InternalExport.g:7271:2: ( rule__UserData__ExprAssignment_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); + before(grammarAccess.getUserDataAccess().getExprAssignment_2()); } - match(input,70,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:7272:2: ( rule__UserData__ExprAssignment_2 ) + // InternalExport.g:7272:3: rule__UserData__ExprAssignment_2 + { + pushFollow(FOLLOW_2); + rule__UserData__ExprAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); + after(grammarAccess.getUserDataAccess().getExprAssignment_2()); } } @@ -24568,21 +25958,26 @@ public final void rule__GlobalVarExpression__Group__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__GlobalVarExpression__Group__0__Impl" + // $ANTLR end "rule__UserData__Group__2__Impl" - // $ANTLR start "rule__GlobalVarExpression__Group__1" - // InternalExport.g:7419:1: rule__GlobalVarExpression__Group__1 : rule__GlobalVarExpression__Group__1__Impl ; - public final void rule__GlobalVarExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__QualifiedID__Group__0" + // InternalExport.g:7281:1: rule__QualifiedID__Group__0 : rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 ; + public final void rule__QualifiedID__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7423:1: ( rule__GlobalVarExpression__Group__1__Impl ) - // InternalExport.g:7424:2: rule__GlobalVarExpression__Group__1__Impl + // InternalExport.g:7285:1: ( rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 ) + // InternalExport.g:7286:2: rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 { + pushFollow(FOLLOW_37); + rule__QualifiedID__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__GlobalVarExpression__Group__1__Impl(); + rule__QualifiedID__Group__1(); state._fsp--; if (state.failed) return ; @@ -24601,38 +25996,28 @@ public final void rule__GlobalVarExpression__Group__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__GlobalVarExpression__Group__1" + // $ANTLR end "rule__QualifiedID__Group__0" - // $ANTLR start "rule__GlobalVarExpression__Group__1__Impl" - // InternalExport.g:7430:1: rule__GlobalVarExpression__Group__1__Impl : ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) ; - public final void rule__GlobalVarExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__QualifiedID__Group__0__Impl" + // InternalExport.g:7293:1: rule__QualifiedID__Group__0__Impl : ( RULE_ID ) ; + public final void rule__QualifiedID__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7434:1: ( ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) ) - // InternalExport.g:7435:1: ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) + // InternalExport.g:7297:1: ( ( RULE_ID ) ) + // InternalExport.g:7298:1: ( RULE_ID ) { - // InternalExport.g:7435:1: ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) - // InternalExport.g:7436:2: ( rule__GlobalVarExpression__NameAssignment_1 ) + // InternalExport.g:7298:1: ( RULE_ID ) + // InternalExport.g:7299:2: RULE_ID { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); - } - // InternalExport.g:7437:2: ( rule__GlobalVarExpression__NameAssignment_1 ) - // InternalExport.g:7437:3: rule__GlobalVarExpression__NameAssignment_1 - { - pushFollow(FOLLOW_2); - rule__GlobalVarExpression__NameAssignment_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_0()); } - + match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); + after(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_0()); } } @@ -24652,26 +26037,21 @@ public final void rule__GlobalVarExpression__Group__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__GlobalVarExpression__Group__1__Impl" + // $ANTLR end "rule__QualifiedID__Group__0__Impl" - // $ANTLR start "rule__OperationCall__Group__0" - // InternalExport.g:7446:1: rule__OperationCall__Group__0 : rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 ; - public final void rule__OperationCall__Group__0() throws RecognitionException { + // $ANTLR start "rule__QualifiedID__Group__1" + // InternalExport.g:7308:1: rule__QualifiedID__Group__1 : rule__QualifiedID__Group__1__Impl ; + public final void rule__QualifiedID__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7450:1: ( rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 ) - // InternalExport.g:7451:2: rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 + // InternalExport.g:7312:1: ( rule__QualifiedID__Group__1__Impl ) + // InternalExport.g:7313:2: rule__QualifiedID__Group__1__Impl { - pushFollow(FOLLOW_34); - rule__OperationCall__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group__1(); + rule__QualifiedID__Group__1__Impl(); state._fsp--; if (state.failed) return ; @@ -24690,38 +26070,56 @@ public final void rule__OperationCall__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__OperationCall__Group__0" + // $ANTLR end "rule__QualifiedID__Group__1" - // $ANTLR start "rule__OperationCall__Group__0__Impl" - // InternalExport.g:7458:1: rule__OperationCall__Group__0__Impl : ( ( rule__OperationCall__NameAssignment_0 ) ) ; - public final void rule__OperationCall__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__QualifiedID__Group__1__Impl" + // InternalExport.g:7319:1: rule__QualifiedID__Group__1__Impl : ( ( rule__QualifiedID__Group_1__0 )* ) ; + public final void rule__QualifiedID__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7462:1: ( ( ( rule__OperationCall__NameAssignment_0 ) ) ) - // InternalExport.g:7463:1: ( ( rule__OperationCall__NameAssignment_0 ) ) + // InternalExport.g:7323:1: ( ( ( rule__QualifiedID__Group_1__0 )* ) ) + // InternalExport.g:7324:1: ( ( rule__QualifiedID__Group_1__0 )* ) { - // InternalExport.g:7463:1: ( ( rule__OperationCall__NameAssignment_0 ) ) - // InternalExport.g:7464:2: ( rule__OperationCall__NameAssignment_0 ) + // InternalExport.g:7324:1: ( ( rule__QualifiedID__Group_1__0 )* ) + // InternalExport.g:7325:2: ( rule__QualifiedID__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getNameAssignment_0()); + before(grammarAccess.getQualifiedIDAccess().getGroup_1()); } - // InternalExport.g:7465:2: ( rule__OperationCall__NameAssignment_0 ) - // InternalExport.g:7465:3: rule__OperationCall__NameAssignment_0 - { - pushFollow(FOLLOW_2); - rule__OperationCall__NameAssignment_0(); + // InternalExport.g:7326:2: ( rule__QualifiedID__Group_1__0 )* + loop86: + do { + int alt86=2; + int LA86_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA86_0==83) ) { + alt86=1; + } - } + + switch (alt86) { + case 1 : + // InternalExport.g:7326:3: rule__QualifiedID__Group_1__0 + { + pushFollow(FOLLOW_38); + rule__QualifiedID__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop86; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getNameAssignment_0()); + after(grammarAccess.getQualifiedIDAccess().getGroup_1()); } } @@ -24741,26 +26139,26 @@ public final void rule__OperationCall__Group__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__OperationCall__Group__0__Impl" + // $ANTLR end "rule__QualifiedID__Group__1__Impl" - // $ANTLR start "rule__OperationCall__Group__1" - // InternalExport.g:7473:1: rule__OperationCall__Group__1 : rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 ; - public final void rule__OperationCall__Group__1() throws RecognitionException { + // $ANTLR start "rule__QualifiedID__Group_1__0" + // InternalExport.g:7335:1: rule__QualifiedID__Group_1__0 : rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 ; + public final void rule__QualifiedID__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7477:1: ( rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 ) - // InternalExport.g:7478:2: rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 + // InternalExport.g:7339:1: ( rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 ) + // InternalExport.g:7340:2: rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 { - pushFollow(FOLLOW_64); - rule__OperationCall__Group__1__Impl(); + pushFollow(FOLLOW_11); + rule__QualifiedID__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group__2(); + rule__QualifiedID__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -24779,28 +26177,28 @@ public final void rule__OperationCall__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__OperationCall__Group__1" + // $ANTLR end "rule__QualifiedID__Group_1__0" - // $ANTLR start "rule__OperationCall__Group__1__Impl" - // InternalExport.g:7485:1: rule__OperationCall__Group__1__Impl : ( '(' ) ; - public final void rule__OperationCall__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__QualifiedID__Group_1__0__Impl" + // InternalExport.g:7347:1: rule__QualifiedID__Group_1__0__Impl : ( '::' ) ; + public final void rule__QualifiedID__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7489:1: ( ( '(' ) ) - // InternalExport.g:7490:1: ( '(' ) + // InternalExport.g:7351:1: ( ( '::' ) ) + // InternalExport.g:7352:1: ( '::' ) { - // InternalExport.g:7490:1: ( '(' ) - // InternalExport.g:7491:2: '(' + // InternalExport.g:7352:1: ( '::' ) + // InternalExport.g:7353:2: '::' { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); + before(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + match(input,83,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); + after(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); } } @@ -24820,26 +26218,21 @@ public final void rule__OperationCall__Group__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__OperationCall__Group__1__Impl" + // $ANTLR end "rule__QualifiedID__Group_1__0__Impl" - // $ANTLR start "rule__OperationCall__Group__2" - // InternalExport.g:7500:1: rule__OperationCall__Group__2 : rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 ; - public final void rule__OperationCall__Group__2() throws RecognitionException { + // $ANTLR start "rule__QualifiedID__Group_1__1" + // InternalExport.g:7362:1: rule__QualifiedID__Group_1__1 : rule__QualifiedID__Group_1__1__Impl ; + public final void rule__QualifiedID__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7504:1: ( rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 ) - // InternalExport.g:7505:2: rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 + // InternalExport.g:7366:1: ( rule__QualifiedID__Group_1__1__Impl ) + // InternalExport.g:7367:2: rule__QualifiedID__Group_1__1__Impl { - pushFollow(FOLLOW_64); - rule__OperationCall__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group__3(); + rule__QualifiedID__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; @@ -24858,49 +26251,28 @@ public final void rule__OperationCall__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__OperationCall__Group__2" + // $ANTLR end "rule__QualifiedID__Group_1__1" - // $ANTLR start "rule__OperationCall__Group__2__Impl" - // InternalExport.g:7512:1: rule__OperationCall__Group__2__Impl : ( ( rule__OperationCall__Group_2__0 )? ) ; - public final void rule__OperationCall__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__QualifiedID__Group_1__1__Impl" + // InternalExport.g:7373:1: rule__QualifiedID__Group_1__1__Impl : ( RULE_ID ) ; + public final void rule__QualifiedID__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7516:1: ( ( ( rule__OperationCall__Group_2__0 )? ) ) - // InternalExport.g:7517:1: ( ( rule__OperationCall__Group_2__0 )? ) + // InternalExport.g:7377:1: ( ( RULE_ID ) ) + // InternalExport.g:7378:1: ( RULE_ID ) { - // InternalExport.g:7517:1: ( ( rule__OperationCall__Group_2__0 )? ) - // InternalExport.g:7518:2: ( rule__OperationCall__Group_2__0 )? + // InternalExport.g:7378:1: ( RULE_ID ) + // InternalExport.g:7379:2: RULE_ID { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getGroup_2()); - } - // InternalExport.g:7519:2: ( rule__OperationCall__Group_2__0 )? - int alt62=2; - int LA62_0 = input.LA(1); - - if ( ((LA62_0>=RULE_ID && LA62_0<=RULE_REAL)||LA62_0==19||(LA62_0>=22 && LA62_0<=35)||LA62_0==39||LA62_0==51||LA62_0==58||LA62_0==62||LA62_0==65||(LA62_0>=70 && LA62_0<=71)||(LA62_0>=80 && LA62_0<=81)) ) { - alt62=1; - } - switch (alt62) { - case 1 : - // InternalExport.g:7519:3: rule__OperationCall__Group_2__0 - { - pushFollow(FOLLOW_2); - rule__OperationCall__Group_2__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - + before(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_1_1()); } - + match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getGroup_2()); + after(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_1_1()); } } @@ -24920,21 +26292,26 @@ public final void rule__OperationCall__Group__2__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__OperationCall__Group__2__Impl" + // $ANTLR end "rule__QualifiedID__Group_1__1__Impl" - // $ANTLR start "rule__OperationCall__Group__3" - // InternalExport.g:7527:1: rule__OperationCall__Group__3 : rule__OperationCall__Group__3__Impl ; - public final void rule__OperationCall__Group__3() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__0" + // InternalExport.g:7389:1: rule__LetExpression__Group__0 : rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 ; + public final void rule__LetExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7531:1: ( rule__OperationCall__Group__3__Impl ) - // InternalExport.g:7532:2: rule__OperationCall__Group__3__Impl + // InternalExport.g:7393:1: ( rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 ) + // InternalExport.g:7394:2: rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 { + pushFollow(FOLLOW_11); + rule__LetExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group__3__Impl(); + rule__LetExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -24953,28 +26330,28 @@ public final void rule__OperationCall__Group__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__OperationCall__Group__3" + // $ANTLR end "rule__LetExpression__Group__0" - // $ANTLR start "rule__OperationCall__Group__3__Impl" - // InternalExport.g:7538:1: rule__OperationCall__Group__3__Impl : ( ')' ) ; - public final void rule__OperationCall__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__0__Impl" + // InternalExport.g:7401:1: rule__LetExpression__Group__0__Impl : ( 'let' ) ; + public final void rule__LetExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7542:1: ( ( ')' ) ) - // InternalExport.g:7543:1: ( ')' ) + // InternalExport.g:7405:1: ( ( 'let' ) ) + // InternalExport.g:7406:1: ( 'let' ) { - // InternalExport.g:7543:1: ( ')' ) - // InternalExport.g:7544:2: ')' + // InternalExport.g:7406:1: ( 'let' ) + // InternalExport.g:7407:2: 'let' { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); + before(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } - match(input,52,FOLLOW_2); if (state.failed) return ; + match(input,84,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); + after(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } } @@ -24994,26 +26371,26 @@ public final void rule__OperationCall__Group__3__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__OperationCall__Group__3__Impl" + // $ANTLR end "rule__LetExpression__Group__0__Impl" - // $ANTLR start "rule__OperationCall__Group_2__0" - // InternalExport.g:7554:1: rule__OperationCall__Group_2__0 : rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 ; - public final void rule__OperationCall__Group_2__0() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__1" + // InternalExport.g:7416:1: rule__LetExpression__Group__1 : rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 ; + public final void rule__LetExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7558:1: ( rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 ) - // InternalExport.g:7559:2: rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 + // InternalExport.g:7420:1: ( rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 ) + // InternalExport.g:7421:2: rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 { - pushFollow(FOLLOW_21); - rule__OperationCall__Group_2__0__Impl(); + pushFollow(FOLLOW_32); + rule__LetExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group_2__1(); + rule__LetExpression__Group__2(); state._fsp--; if (state.failed) return ; @@ -25032,30 +26409,30 @@ public final void rule__OperationCall__Group_2__0() throws RecognitionException } return ; } - // $ANTLR end "rule__OperationCall__Group_2__0" + // $ANTLR end "rule__LetExpression__Group__1" - // $ANTLR start "rule__OperationCall__Group_2__0__Impl" - // InternalExport.g:7566:1: rule__OperationCall__Group_2__0__Impl : ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) ; - public final void rule__OperationCall__Group_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__1__Impl" + // InternalExport.g:7428:1: rule__LetExpression__Group__1__Impl : ( ( rule__LetExpression__IdentifierAssignment_1 ) ) ; + public final void rule__LetExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7570:1: ( ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) ) - // InternalExport.g:7571:1: ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) + // InternalExport.g:7432:1: ( ( ( rule__LetExpression__IdentifierAssignment_1 ) ) ) + // InternalExport.g:7433:1: ( ( rule__LetExpression__IdentifierAssignment_1 ) ) { - // InternalExport.g:7571:1: ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) - // InternalExport.g:7572:2: ( rule__OperationCall__ParamsAssignment_2_0 ) + // InternalExport.g:7433:1: ( ( rule__LetExpression__IdentifierAssignment_1 ) ) + // InternalExport.g:7434:2: ( rule__LetExpression__IdentifierAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); + before(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); } - // InternalExport.g:7573:2: ( rule__OperationCall__ParamsAssignment_2_0 ) - // InternalExport.g:7573:3: rule__OperationCall__ParamsAssignment_2_0 + // InternalExport.g:7435:2: ( rule__LetExpression__IdentifierAssignment_1 ) + // InternalExport.g:7435:3: rule__LetExpression__IdentifierAssignment_1 { pushFollow(FOLLOW_2); - rule__OperationCall__ParamsAssignment_2_0(); + rule__LetExpression__IdentifierAssignment_1(); state._fsp--; if (state.failed) return ; @@ -25063,7 +26440,7 @@ public final void rule__OperationCall__Group_2__0__Impl() throws RecognitionExce } if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); + after(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); } } @@ -25083,21 +26460,26 @@ public final void rule__OperationCall__Group_2__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__OperationCall__Group_2__0__Impl" + // $ANTLR end "rule__LetExpression__Group__1__Impl" - // $ANTLR start "rule__OperationCall__Group_2__1" - // InternalExport.g:7581:1: rule__OperationCall__Group_2__1 : rule__OperationCall__Group_2__1__Impl ; - public final void rule__OperationCall__Group_2__1() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__2" + // InternalExport.g:7443:1: rule__LetExpression__Group__2 : rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 ; + public final void rule__LetExpression__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7585:1: ( rule__OperationCall__Group_2__1__Impl ) - // InternalExport.g:7586:2: rule__OperationCall__Group_2__1__Impl + // InternalExport.g:7447:1: ( rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 ) + // InternalExport.g:7448:2: rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 { + pushFollow(FOLLOW_18); + rule__LetExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group_2__1__Impl(); + rule__LetExpression__Group__3(); state._fsp--; if (state.failed) return ; @@ -25116,56 +26498,28 @@ public final void rule__OperationCall__Group_2__1() throws RecognitionException } return ; } - // $ANTLR end "rule__OperationCall__Group_2__1" + // $ANTLR end "rule__LetExpression__Group__2" - // $ANTLR start "rule__OperationCall__Group_2__1__Impl" - // InternalExport.g:7592:1: rule__OperationCall__Group_2__1__Impl : ( ( rule__OperationCall__Group_2_1__0 )* ) ; - public final void rule__OperationCall__Group_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__2__Impl" + // InternalExport.g:7455:1: rule__LetExpression__Group__2__Impl : ( '=' ) ; + public final void rule__LetExpression__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7596:1: ( ( ( rule__OperationCall__Group_2_1__0 )* ) ) - // InternalExport.g:7597:1: ( ( rule__OperationCall__Group_2_1__0 )* ) + // InternalExport.g:7459:1: ( ( '=' ) ) + // InternalExport.g:7460:1: ( '=' ) { - // InternalExport.g:7597:1: ( ( rule__OperationCall__Group_2_1__0 )* ) - // InternalExport.g:7598:2: ( rule__OperationCall__Group_2_1__0 )* + // InternalExport.g:7460:1: ( '=' ) + // InternalExport.g:7461:2: '=' { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getGroup_2_1()); + before(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } - // InternalExport.g:7599:2: ( rule__OperationCall__Group_2_1__0 )* - loop63: - do { - int alt63=2; - int LA63_0 = input.LA(1); - - if ( (LA63_0==48) ) { - alt63=1; - } - - - switch (alt63) { - case 1 : - // InternalExport.g:7599:3: rule__OperationCall__Group_2_1__0 - { - pushFollow(FOLLOW_22); - rule__OperationCall__Group_2_1__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop63; - } - } while (true); - + match(input,14,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getGroup_2_1()); + after(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } } @@ -25185,26 +26539,26 @@ public final void rule__OperationCall__Group_2__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__OperationCall__Group_2__1__Impl" + // $ANTLR end "rule__LetExpression__Group__2__Impl" - // $ANTLR start "rule__OperationCall__Group_2_1__0" - // InternalExport.g:7608:1: rule__OperationCall__Group_2_1__0 : rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 ; - public final void rule__OperationCall__Group_2_1__0() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__3" + // InternalExport.g:7470:1: rule__LetExpression__Group__3 : rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 ; + public final void rule__LetExpression__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7612:1: ( rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 ) - // InternalExport.g:7613:2: rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 + // InternalExport.g:7474:1: ( rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 ) + // InternalExport.g:7475:2: rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 { - pushFollow(FOLLOW_18); - rule__OperationCall__Group_2_1__0__Impl(); + pushFollow(FOLLOW_39); + rule__LetExpression__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group_2_1__1(); + rule__LetExpression__Group__4(); state._fsp--; if (state.failed) return ; @@ -25223,28 +26577,38 @@ public final void rule__OperationCall__Group_2_1__0() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__OperationCall__Group_2_1__0" + // $ANTLR end "rule__LetExpression__Group__3" - // $ANTLR start "rule__OperationCall__Group_2_1__0__Impl" - // InternalExport.g:7620:1: rule__OperationCall__Group_2_1__0__Impl : ( ',' ) ; - public final void rule__OperationCall__Group_2_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__3__Impl" + // InternalExport.g:7482:1: rule__LetExpression__Group__3__Impl : ( ( rule__LetExpression__VarExprAssignment_3 ) ) ; + public final void rule__LetExpression__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7624:1: ( ( ',' ) ) - // InternalExport.g:7625:1: ( ',' ) + // InternalExport.g:7486:1: ( ( ( rule__LetExpression__VarExprAssignment_3 ) ) ) + // InternalExport.g:7487:1: ( ( rule__LetExpression__VarExprAssignment_3 ) ) { - // InternalExport.g:7625:1: ( ',' ) - // InternalExport.g:7626:2: ',' + // InternalExport.g:7487:1: ( ( rule__LetExpression__VarExprAssignment_3 ) ) + // InternalExport.g:7488:2: ( rule__LetExpression__VarExprAssignment_3 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); + before(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); } - match(input,48,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:7489:2: ( rule__LetExpression__VarExprAssignment_3 ) + // InternalExport.g:7489:3: rule__LetExpression__VarExprAssignment_3 + { + pushFollow(FOLLOW_2); + rule__LetExpression__VarExprAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); + after(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); } } @@ -25264,21 +26628,26 @@ public final void rule__OperationCall__Group_2_1__0__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__OperationCall__Group_2_1__0__Impl" + // $ANTLR end "rule__LetExpression__Group__3__Impl" - // $ANTLR start "rule__OperationCall__Group_2_1__1" - // InternalExport.g:7635:1: rule__OperationCall__Group_2_1__1 : rule__OperationCall__Group_2_1__1__Impl ; - public final void rule__OperationCall__Group_2_1__1() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__4" + // InternalExport.g:7497:1: rule__LetExpression__Group__4 : rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 ; + public final void rule__LetExpression__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7639:1: ( rule__OperationCall__Group_2_1__1__Impl ) - // InternalExport.g:7640:2: rule__OperationCall__Group_2_1__1__Impl + // InternalExport.g:7501:1: ( rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 ) + // InternalExport.g:7502:2: rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 { + pushFollow(FOLLOW_18); + rule__LetExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group_2_1__1__Impl(); + rule__LetExpression__Group__5(); state._fsp--; if (state.failed) return ; @@ -25297,38 +26666,28 @@ public final void rule__OperationCall__Group_2_1__1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__OperationCall__Group_2_1__1" + // $ANTLR end "rule__LetExpression__Group__4" - // $ANTLR start "rule__OperationCall__Group_2_1__1__Impl" - // InternalExport.g:7646:1: rule__OperationCall__Group_2_1__1__Impl : ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) ; - public final void rule__OperationCall__Group_2_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__4__Impl" + // InternalExport.g:7509:1: rule__LetExpression__Group__4__Impl : ( ':' ) ; + public final void rule__LetExpression__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7650:1: ( ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) ) - // InternalExport.g:7651:1: ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) + // InternalExport.g:7513:1: ( ( ':' ) ) + // InternalExport.g:7514:1: ( ':' ) { - // InternalExport.g:7651:1: ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) - // InternalExport.g:7652:2: ( rule__OperationCall__ParamsAssignment_2_1_1 ) + // InternalExport.g:7514:1: ( ':' ) + // InternalExport.g:7515:2: ':' { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); - } - // InternalExport.g:7653:2: ( rule__OperationCall__ParamsAssignment_2_1_1 ) - // InternalExport.g:7653:3: rule__OperationCall__ParamsAssignment_2_1_1 - { - pushFollow(FOLLOW_2); - rule__OperationCall__ParamsAssignment_2_1_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } - + match(input,85,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); + after(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } } @@ -25348,26 +26707,21 @@ public final void rule__OperationCall__Group_2_1__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__OperationCall__Group_2_1__1__Impl" + // $ANTLR end "rule__LetExpression__Group__4__Impl" - // $ANTLR start "rule__ListLiteral__Group__0" - // InternalExport.g:7662:1: rule__ListLiteral__Group__0 : rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 ; - public final void rule__ListLiteral__Group__0() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__5" + // InternalExport.g:7524:1: rule__LetExpression__Group__5 : rule__LetExpression__Group__5__Impl ; + public final void rule__LetExpression__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7666:1: ( rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 ) - // InternalExport.g:7667:2: rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 + // InternalExport.g:7528:1: ( rule__LetExpression__Group__5__Impl ) + // InternalExport.g:7529:2: rule__LetExpression__Group__5__Impl { - pushFollow(FOLLOW_11); - rule__ListLiteral__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group__1(); + rule__LetExpression__Group__5__Impl(); state._fsp--; if (state.failed) return ; @@ -25386,32 +26740,38 @@ public final void rule__ListLiteral__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group__0" + // $ANTLR end "rule__LetExpression__Group__5" - // $ANTLR start "rule__ListLiteral__Group__0__Impl" - // InternalExport.g:7674:1: rule__ListLiteral__Group__0__Impl : ( () ) ; - public final void rule__ListLiteral__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__5__Impl" + // InternalExport.g:7535:1: rule__LetExpression__Group__5__Impl : ( ( rule__LetExpression__TargetAssignment_5 ) ) ; + public final void rule__LetExpression__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7678:1: ( ( () ) ) - // InternalExport.g:7679:1: ( () ) + // InternalExport.g:7539:1: ( ( ( rule__LetExpression__TargetAssignment_5 ) ) ) + // InternalExport.g:7540:1: ( ( rule__LetExpression__TargetAssignment_5 ) ) { - // InternalExport.g:7679:1: ( () ) - // InternalExport.g:7680:2: () + // InternalExport.g:7540:1: ( ( rule__LetExpression__TargetAssignment_5 ) ) + // InternalExport.g:7541:2: ( rule__LetExpression__TargetAssignment_5 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); + before(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } - // InternalExport.g:7681:2: () - // InternalExport.g:7681:3: + // InternalExport.g:7542:2: ( rule__LetExpression__TargetAssignment_5 ) + // InternalExport.g:7542:3: rule__LetExpression__TargetAssignment_5 { + pushFollow(FOLLOW_2); + rule__LetExpression__TargetAssignment_5(); + + state._fsp--; + if (state.failed) return ; + } if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); + after(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } } @@ -25420,6 +26780,10 @@ public final void rule__ListLiteral__Group__0__Impl() throws RecognitionExceptio } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -25427,26 +26791,26 @@ public final void rule__ListLiteral__Group__0__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ListLiteral__Group__0__Impl" + // $ANTLR end "rule__LetExpression__Group__5__Impl" - // $ANTLR start "rule__ListLiteral__Group__1" - // InternalExport.g:7689:1: rule__ListLiteral__Group__1 : rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 ; - public final void rule__ListLiteral__Group__1() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__0" + // InternalExport.g:7551:1: rule__CastedExpression__Group__0 : rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 ; + public final void rule__CastedExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7693:1: ( rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 ) - // InternalExport.g:7694:2: rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 + // InternalExport.g:7555:1: ( rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 ) + // InternalExport.g:7556:2: rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 { - pushFollow(FOLLOW_68); - rule__ListLiteral__Group__1__Impl(); + pushFollow(FOLLOW_40); + rule__CastedExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group__2(); + rule__CastedExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -25465,28 +26829,28 @@ public final void rule__ListLiteral__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group__1" + // $ANTLR end "rule__CastedExpression__Group__0" - // $ANTLR start "rule__ListLiteral__Group__1__Impl" - // InternalExport.g:7701:1: rule__ListLiteral__Group__1__Impl : ( '{' ) ; - public final void rule__ListLiteral__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__0__Impl" + // InternalExport.g:7563:1: rule__CastedExpression__Group__0__Impl : ( '(' ) ; + public final void rule__CastedExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7705:1: ( ( '{' ) ) - // InternalExport.g:7706:1: ( '{' ) + // InternalExport.g:7567:1: ( ( '(' ) ) + // InternalExport.g:7568:1: ( '(' ) { - // InternalExport.g:7706:1: ( '{' ) - // InternalExport.g:7707:2: '{' + // InternalExport.g:7568:1: ( '(' ) + // InternalExport.g:7569:2: '(' { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); + before(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } - match(input,39,FOLLOW_2); if (state.failed) return ; + match(input,77,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); + after(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } } @@ -25506,26 +26870,26 @@ public final void rule__ListLiteral__Group__1__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ListLiteral__Group__1__Impl" + // $ANTLR end "rule__CastedExpression__Group__0__Impl" - // $ANTLR start "rule__ListLiteral__Group__2" - // InternalExport.g:7716:1: rule__ListLiteral__Group__2 : rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 ; - public final void rule__ListLiteral__Group__2() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__1" + // InternalExport.g:7578:1: rule__CastedExpression__Group__1 : rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 ; + public final void rule__CastedExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7720:1: ( rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 ) - // InternalExport.g:7721:2: rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 + // InternalExport.g:7582:1: ( rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 ) + // InternalExport.g:7583:2: rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 { - pushFollow(FOLLOW_68); - rule__ListLiteral__Group__2__Impl(); + pushFollow(FOLLOW_25); + rule__CastedExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group__3(); + rule__CastedExpression__Group__2(); state._fsp--; if (state.failed) return ; @@ -25544,49 +26908,38 @@ public final void rule__ListLiteral__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group__2" + // $ANTLR end "rule__CastedExpression__Group__1" - // $ANTLR start "rule__ListLiteral__Group__2__Impl" - // InternalExport.g:7728:1: rule__ListLiteral__Group__2__Impl : ( ( rule__ListLiteral__Group_2__0 )? ) ; - public final void rule__ListLiteral__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__1__Impl" + // InternalExport.g:7590:1: rule__CastedExpression__Group__1__Impl : ( ( rule__CastedExpression__TypeAssignment_1 ) ) ; + public final void rule__CastedExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7732:1: ( ( ( rule__ListLiteral__Group_2__0 )? ) ) - // InternalExport.g:7733:1: ( ( rule__ListLiteral__Group_2__0 )? ) + // InternalExport.g:7594:1: ( ( ( rule__CastedExpression__TypeAssignment_1 ) ) ) + // InternalExport.g:7595:1: ( ( rule__CastedExpression__TypeAssignment_1 ) ) { - // InternalExport.g:7733:1: ( ( rule__ListLiteral__Group_2__0 )? ) - // InternalExport.g:7734:2: ( rule__ListLiteral__Group_2__0 )? + // InternalExport.g:7595:1: ( ( rule__CastedExpression__TypeAssignment_1 ) ) + // InternalExport.g:7596:2: ( rule__CastedExpression__TypeAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getGroup_2()); - } - // InternalExport.g:7735:2: ( rule__ListLiteral__Group_2__0 )? - int alt64=2; - int LA64_0 = input.LA(1); - - if ( ((LA64_0>=RULE_ID && LA64_0<=RULE_REAL)||LA64_0==19||(LA64_0>=22 && LA64_0<=35)||LA64_0==39||LA64_0==51||LA64_0==58||LA64_0==62||LA64_0==65||(LA64_0>=70 && LA64_0<=71)||(LA64_0>=80 && LA64_0<=81)) ) { - alt64=1; + before(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); } - switch (alt64) { - case 1 : - // InternalExport.g:7735:3: rule__ListLiteral__Group_2__0 - { - pushFollow(FOLLOW_2); - rule__ListLiteral__Group_2__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExport.g:7597:2: ( rule__CastedExpression__TypeAssignment_1 ) + // InternalExport.g:7597:3: rule__CastedExpression__TypeAssignment_1 + { + pushFollow(FOLLOW_2); + rule__CastedExpression__TypeAssignment_1(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getGroup_2()); + after(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); } } @@ -25606,21 +26959,26 @@ public final void rule__ListLiteral__Group__2__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ListLiteral__Group__2__Impl" + // $ANTLR end "rule__CastedExpression__Group__1__Impl" - // $ANTLR start "rule__ListLiteral__Group__3" - // InternalExport.g:7743:1: rule__ListLiteral__Group__3 : rule__ListLiteral__Group__3__Impl ; - public final void rule__ListLiteral__Group__3() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__2" + // InternalExport.g:7605:1: rule__CastedExpression__Group__2 : rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 ; + public final void rule__CastedExpression__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7747:1: ( rule__ListLiteral__Group__3__Impl ) - // InternalExport.g:7748:2: rule__ListLiteral__Group__3__Impl + // InternalExport.g:7609:1: ( rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 ) + // InternalExport.g:7610:2: rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 { + pushFollow(FOLLOW_18); + rule__CastedExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group__3__Impl(); + rule__CastedExpression__Group__3(); state._fsp--; if (state.failed) return ; @@ -25639,28 +26997,28 @@ public final void rule__ListLiteral__Group__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group__3" + // $ANTLR end "rule__CastedExpression__Group__2" - // $ANTLR start "rule__ListLiteral__Group__3__Impl" - // InternalExport.g:7754:1: rule__ListLiteral__Group__3__Impl : ( '}' ) ; - public final void rule__ListLiteral__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__2__Impl" + // InternalExport.g:7617:1: rule__CastedExpression__Group__2__Impl : ( ')' ) ; + public final void rule__CastedExpression__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7758:1: ( ( '}' ) ) - // InternalExport.g:7759:1: ( '}' ) + // InternalExport.g:7621:1: ( ( ')' ) ) + // InternalExport.g:7622:1: ( ')' ) { - // InternalExport.g:7759:1: ( '}' ) - // InternalExport.g:7760:2: '}' + // InternalExport.g:7622:1: ( ')' ) + // InternalExport.g:7623:2: ')' { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); + before(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); } - match(input,40,FOLLOW_2); if (state.failed) return ; + match(input,78,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); + after(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); } } @@ -25680,26 +27038,21 @@ public final void rule__ListLiteral__Group__3__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ListLiteral__Group__3__Impl" + // $ANTLR end "rule__CastedExpression__Group__2__Impl" - // $ANTLR start "rule__ListLiteral__Group_2__0" - // InternalExport.g:7770:1: rule__ListLiteral__Group_2__0 : rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 ; - public final void rule__ListLiteral__Group_2__0() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__3" + // InternalExport.g:7632:1: rule__CastedExpression__Group__3 : rule__CastedExpression__Group__3__Impl ; + public final void rule__CastedExpression__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7774:1: ( rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 ) - // InternalExport.g:7775:2: rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 + // InternalExport.g:7636:1: ( rule__CastedExpression__Group__3__Impl ) + // InternalExport.g:7637:2: rule__CastedExpression__Group__3__Impl { - pushFollow(FOLLOW_21); - rule__ListLiteral__Group_2__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group_2__1(); + rule__CastedExpression__Group__3__Impl(); state._fsp--; if (state.failed) return ; @@ -25718,30 +27071,30 @@ public final void rule__ListLiteral__Group_2__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group_2__0" + // $ANTLR end "rule__CastedExpression__Group__3" - // $ANTLR start "rule__ListLiteral__Group_2__0__Impl" - // InternalExport.g:7782:1: rule__ListLiteral__Group_2__0__Impl : ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) ; - public final void rule__ListLiteral__Group_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__3__Impl" + // InternalExport.g:7643:1: rule__CastedExpression__Group__3__Impl : ( ( rule__CastedExpression__TargetAssignment_3 ) ) ; + public final void rule__CastedExpression__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7786:1: ( ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) ) - // InternalExport.g:7787:1: ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) + // InternalExport.g:7647:1: ( ( ( rule__CastedExpression__TargetAssignment_3 ) ) ) + // InternalExport.g:7648:1: ( ( rule__CastedExpression__TargetAssignment_3 ) ) { - // InternalExport.g:7787:1: ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) - // InternalExport.g:7788:2: ( rule__ListLiteral__ElementsAssignment_2_0 ) + // InternalExport.g:7648:1: ( ( rule__CastedExpression__TargetAssignment_3 ) ) + // InternalExport.g:7649:2: ( rule__CastedExpression__TargetAssignment_3 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); + before(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); } - // InternalExport.g:7789:2: ( rule__ListLiteral__ElementsAssignment_2_0 ) - // InternalExport.g:7789:3: rule__ListLiteral__ElementsAssignment_2_0 + // InternalExport.g:7650:2: ( rule__CastedExpression__TargetAssignment_3 ) + // InternalExport.g:7650:3: rule__CastedExpression__TargetAssignment_3 { pushFollow(FOLLOW_2); - rule__ListLiteral__ElementsAssignment_2_0(); + rule__CastedExpression__TargetAssignment_3(); state._fsp--; if (state.failed) return ; @@ -25749,7 +27102,7 @@ public final void rule__ListLiteral__Group_2__0__Impl() throws RecognitionExcept } if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); + after(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); } } @@ -25769,21 +27122,26 @@ public final void rule__ListLiteral__Group_2__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ListLiteral__Group_2__0__Impl" + // $ANTLR end "rule__CastedExpression__Group__3__Impl" - // $ANTLR start "rule__ListLiteral__Group_2__1" - // InternalExport.g:7797:1: rule__ListLiteral__Group_2__1 : rule__ListLiteral__Group_2__1__Impl ; - public final void rule__ListLiteral__Group_2__1() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group__0" + // InternalExport.g:7659:1: rule__ChainExpression__Group__0 : rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 ; + public final void rule__ChainExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7801:1: ( rule__ListLiteral__Group_2__1__Impl ) - // InternalExport.g:7802:2: rule__ListLiteral__Group_2__1__Impl + // InternalExport.g:7663:1: ( rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 ) + // InternalExport.g:7664:2: rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 { + pushFollow(FOLLOW_41); + rule__ChainExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group_2__1__Impl(); + rule__ChainExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -25802,56 +27160,32 @@ public final void rule__ListLiteral__Group_2__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group_2__1" + // $ANTLR end "rule__ChainExpression__Group__0" - // $ANTLR start "rule__ListLiteral__Group_2__1__Impl" - // InternalExport.g:7808:1: rule__ListLiteral__Group_2__1__Impl : ( ( rule__ListLiteral__Group_2_1__0 )* ) ; - public final void rule__ListLiteral__Group_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group__0__Impl" + // InternalExport.g:7671:1: rule__ChainExpression__Group__0__Impl : ( ruleChainedExpression ) ; + public final void rule__ChainExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7812:1: ( ( ( rule__ListLiteral__Group_2_1__0 )* ) ) - // InternalExport.g:7813:1: ( ( rule__ListLiteral__Group_2_1__0 )* ) + // InternalExport.g:7675:1: ( ( ruleChainedExpression ) ) + // InternalExport.g:7676:1: ( ruleChainedExpression ) { - // InternalExport.g:7813:1: ( ( rule__ListLiteral__Group_2_1__0 )* ) - // InternalExport.g:7814:2: ( rule__ListLiteral__Group_2_1__0 )* + // InternalExport.g:7676:1: ( ruleChainedExpression ) + // InternalExport.g:7677:2: ruleChainedExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getGroup_2_1()); + before(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } - // InternalExport.g:7815:2: ( rule__ListLiteral__Group_2_1__0 )* - loop65: - do { - int alt65=2; - int LA65_0 = input.LA(1); - - if ( (LA65_0==48) ) { - alt65=1; - } - - - switch (alt65) { - case 1 : - // InternalExport.g:7815:3: rule__ListLiteral__Group_2_1__0 - { - pushFollow(FOLLOW_22); - rule__ListLiteral__Group_2_1__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop65; - } - } while (true); + pushFollow(FOLLOW_2); + ruleChainedExpression(); + state._fsp--; + if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getGroup_2_1()); + after(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } } @@ -25871,26 +27205,21 @@ public final void rule__ListLiteral__Group_2__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ListLiteral__Group_2__1__Impl" + // $ANTLR end "rule__ChainExpression__Group__0__Impl" - // $ANTLR start "rule__ListLiteral__Group_2_1__0" - // InternalExport.g:7824:1: rule__ListLiteral__Group_2_1__0 : rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 ; - public final void rule__ListLiteral__Group_2_1__0() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group__1" + // InternalExport.g:7686:1: rule__ChainExpression__Group__1 : rule__ChainExpression__Group__1__Impl ; + public final void rule__ChainExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7828:1: ( rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 ) - // InternalExport.g:7829:2: rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 + // InternalExport.g:7690:1: ( rule__ChainExpression__Group__1__Impl ) + // InternalExport.g:7691:2: rule__ChainExpression__Group__1__Impl { - pushFollow(FOLLOW_18); - rule__ListLiteral__Group_2_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group_2_1__1(); + rule__ChainExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; @@ -25909,28 +27238,56 @@ public final void rule__ListLiteral__Group_2_1__0() throws RecognitionException } return ; } - // $ANTLR end "rule__ListLiteral__Group_2_1__0" + // $ANTLR end "rule__ChainExpression__Group__1" - // $ANTLR start "rule__ListLiteral__Group_2_1__0__Impl" - // InternalExport.g:7836:1: rule__ListLiteral__Group_2_1__0__Impl : ( ',' ) ; - public final void rule__ListLiteral__Group_2_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group__1__Impl" + // InternalExport.g:7697:1: rule__ChainExpression__Group__1__Impl : ( ( rule__ChainExpression__Group_1__0 )* ) ; + public final void rule__ChainExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7840:1: ( ( ',' ) ) - // InternalExport.g:7841:1: ( ',' ) + // InternalExport.g:7701:1: ( ( ( rule__ChainExpression__Group_1__0 )* ) ) + // InternalExport.g:7702:1: ( ( rule__ChainExpression__Group_1__0 )* ) { - // InternalExport.g:7841:1: ( ',' ) - // InternalExport.g:7842:2: ',' + // InternalExport.g:7702:1: ( ( rule__ChainExpression__Group_1__0 )* ) + // InternalExport.g:7703:2: ( rule__ChainExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); + before(grammarAccess.getChainExpressionAccess().getGroup_1()); } - match(input,48,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:7704:2: ( rule__ChainExpression__Group_1__0 )* + loop87: + do { + int alt87=2; + int LA87_0 = input.LA(1); + + if ( (LA87_0==48) ) { + alt87=1; + } + + + switch (alt87) { + case 1 : + // InternalExport.g:7704:3: rule__ChainExpression__Group_1__0 + { + pushFollow(FOLLOW_42); + rule__ChainExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop87; + } + } while (true); + if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); + after(grammarAccess.getChainExpressionAccess().getGroup_1()); } } @@ -25950,21 +27307,26 @@ public final void rule__ListLiteral__Group_2_1__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ListLiteral__Group_2_1__0__Impl" + // $ANTLR end "rule__ChainExpression__Group__1__Impl" - // $ANTLR start "rule__ListLiteral__Group_2_1__1" - // InternalExport.g:7851:1: rule__ListLiteral__Group_2_1__1 : rule__ListLiteral__Group_2_1__1__Impl ; - public final void rule__ListLiteral__Group_2_1__1() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__0" + // InternalExport.g:7713:1: rule__ChainExpression__Group_1__0 : rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 ; + public final void rule__ChainExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7855:1: ( rule__ListLiteral__Group_2_1__1__Impl ) - // InternalExport.g:7856:2: rule__ListLiteral__Group_2_1__1__Impl + // InternalExport.g:7717:1: ( rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 ) + // InternalExport.g:7718:2: rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 { + pushFollow(FOLLOW_41); + rule__ChainExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group_2_1__1__Impl(); + rule__ChainExpression__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -25983,38 +27345,32 @@ public final void rule__ListLiteral__Group_2_1__1() throws RecognitionException } return ; } - // $ANTLR end "rule__ListLiteral__Group_2_1__1" + // $ANTLR end "rule__ChainExpression__Group_1__0" - // $ANTLR start "rule__ListLiteral__Group_2_1__1__Impl" - // InternalExport.g:7862:1: rule__ListLiteral__Group_2_1__1__Impl : ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) ; - public final void rule__ListLiteral__Group_2_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__0__Impl" + // InternalExport.g:7725:1: rule__ChainExpression__Group_1__0__Impl : ( () ) ; + public final void rule__ChainExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7866:1: ( ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) ) - // InternalExport.g:7867:1: ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) + // InternalExport.g:7729:1: ( ( () ) ) + // InternalExport.g:7730:1: ( () ) { - // InternalExport.g:7867:1: ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) - // InternalExport.g:7868:2: ( rule__ListLiteral__ElementsAssignment_2_1_1 ) + // InternalExport.g:7730:1: ( () ) + // InternalExport.g:7731:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); + before(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); } - // InternalExport.g:7869:2: ( rule__ListLiteral__ElementsAssignment_2_1_1 ) - // InternalExport.g:7869:3: rule__ListLiteral__ElementsAssignment_2_1_1 + // InternalExport.g:7732:2: () + // InternalExport.g:7732:3: { - pushFollow(FOLLOW_2); - rule__ListLiteral__ElementsAssignment_2_1_1(); - - state._fsp--; - if (state.failed) return ; - } if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); + after(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); } } @@ -26023,10 +27379,6 @@ public final void rule__ListLiteral__Group_2_1__1__Impl() throws RecognitionExce } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -26034,26 +27386,26 @@ public final void rule__ListLiteral__Group_2_1__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ListLiteral__Group_2_1__1__Impl" + // $ANTLR end "rule__ChainExpression__Group_1__0__Impl" - // $ANTLR start "rule__ConstructorCallExpression__Group__0" - // InternalExport.g:7878:1: rule__ConstructorCallExpression__Group__0 : rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 ; - public final void rule__ConstructorCallExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__1" + // InternalExport.g:7740:1: rule__ChainExpression__Group_1__1 : rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 ; + public final void rule__ChainExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7882:1: ( rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 ) - // InternalExport.g:7883:2: rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 + // InternalExport.g:7744:1: ( rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 ) + // InternalExport.g:7745:2: rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 { - pushFollow(FOLLOW_40); - rule__ConstructorCallExpression__Group__0__Impl(); + pushFollow(FOLLOW_18); + rule__ChainExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ConstructorCallExpression__Group__1(); + rule__ChainExpression__Group_1__2(); state._fsp--; if (state.failed) return ; @@ -26072,28 +27424,28 @@ public final void rule__ConstructorCallExpression__Group__0() throws Recognition } return ; } - // $ANTLR end "rule__ConstructorCallExpression__Group__0" + // $ANTLR end "rule__ChainExpression__Group_1__1" - // $ANTLR start "rule__ConstructorCallExpression__Group__0__Impl" - // InternalExport.g:7890:1: rule__ConstructorCallExpression__Group__0__Impl : ( 'new' ) ; - public final void rule__ConstructorCallExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__1__Impl" + // InternalExport.g:7752:1: rule__ChainExpression__Group_1__1__Impl : ( '->' ) ; + public final void rule__ChainExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7894:1: ( ( 'new' ) ) - // InternalExport.g:7895:1: ( 'new' ) + // InternalExport.g:7756:1: ( ( '->' ) ) + // InternalExport.g:7757:1: ( '->' ) { - // InternalExport.g:7895:1: ( 'new' ) - // InternalExport.g:7896:2: 'new' + // InternalExport.g:7757:1: ( '->' ) + // InternalExport.g:7758:2: '->' { if ( state.backtracking==0 ) { - before(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); + before(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } - match(input,71,FOLLOW_2); if (state.failed) return ; + match(input,48,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); + after(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } } @@ -26113,21 +27465,21 @@ public final void rule__ConstructorCallExpression__Group__0__Impl() throws Recog } return ; } - // $ANTLR end "rule__ConstructorCallExpression__Group__0__Impl" + // $ANTLR end "rule__ChainExpression__Group_1__1__Impl" - // $ANTLR start "rule__ConstructorCallExpression__Group__1" - // InternalExport.g:7905:1: rule__ConstructorCallExpression__Group__1 : rule__ConstructorCallExpression__Group__1__Impl ; - public final void rule__ConstructorCallExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__2" + // InternalExport.g:7767:1: rule__ChainExpression__Group_1__2 : rule__ChainExpression__Group_1__2__Impl ; + public final void rule__ChainExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7909:1: ( rule__ConstructorCallExpression__Group__1__Impl ) - // InternalExport.g:7910:2: rule__ConstructorCallExpression__Group__1__Impl + // InternalExport.g:7771:1: ( rule__ChainExpression__Group_1__2__Impl ) + // InternalExport.g:7772:2: rule__ChainExpression__Group_1__2__Impl { pushFollow(FOLLOW_2); - rule__ConstructorCallExpression__Group__1__Impl(); + rule__ChainExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; @@ -26146,30 +27498,30 @@ public final void rule__ConstructorCallExpression__Group__1() throws Recognition } return ; } - // $ANTLR end "rule__ConstructorCallExpression__Group__1" + // $ANTLR end "rule__ChainExpression__Group_1__2" - // $ANTLR start "rule__ConstructorCallExpression__Group__1__Impl" - // InternalExport.g:7916:1: rule__ConstructorCallExpression__Group__1__Impl : ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) ; - public final void rule__ConstructorCallExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__2__Impl" + // InternalExport.g:7778:1: rule__ChainExpression__Group_1__2__Impl : ( ( rule__ChainExpression__NextAssignment_1_2 ) ) ; + public final void rule__ChainExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7920:1: ( ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) ) - // InternalExport.g:7921:1: ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) + // InternalExport.g:7782:1: ( ( ( rule__ChainExpression__NextAssignment_1_2 ) ) ) + // InternalExport.g:7783:1: ( ( rule__ChainExpression__NextAssignment_1_2 ) ) { - // InternalExport.g:7921:1: ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) - // InternalExport.g:7922:2: ( rule__ConstructorCallExpression__TypeAssignment_1 ) + // InternalExport.g:7783:1: ( ( rule__ChainExpression__NextAssignment_1_2 ) ) + // InternalExport.g:7784:2: ( rule__ChainExpression__NextAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); + before(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } - // InternalExport.g:7923:2: ( rule__ConstructorCallExpression__TypeAssignment_1 ) - // InternalExport.g:7923:3: rule__ConstructorCallExpression__TypeAssignment_1 + // InternalExport.g:7785:2: ( rule__ChainExpression__NextAssignment_1_2 ) + // InternalExport.g:7785:3: rule__ChainExpression__NextAssignment_1_2 { pushFollow(FOLLOW_2); - rule__ConstructorCallExpression__TypeAssignment_1(); + rule__ChainExpression__NextAssignment_1_2(); state._fsp--; if (state.failed) return ; @@ -26177,7 +27529,7 @@ public final void rule__ConstructorCallExpression__Group__1__Impl() throws Recog } if ( state.backtracking==0 ) { - after(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); + after(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } } @@ -26197,26 +27549,26 @@ public final void rule__ConstructorCallExpression__Group__1__Impl() throws Recog } return ; } - // $ANTLR end "rule__ConstructorCallExpression__Group__1__Impl" + // $ANTLR end "rule__ChainExpression__Group_1__2__Impl" - // $ANTLR start "rule__TypeSelectExpression__Group__0" - // InternalExport.g:7932:1: rule__TypeSelectExpression__Group__0 : rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 ; - public final void rule__TypeSelectExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group__0" + // InternalExport.g:7794:1: rule__IfExpressionTri__Group__0 : rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 ; + public final void rule__IfExpressionTri__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7936:1: ( rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 ) - // InternalExport.g:7937:2: rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 + // InternalExport.g:7798:1: ( rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 ) + // InternalExport.g:7799:2: rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 { - pushFollow(FOLLOW_34); - rule__TypeSelectExpression__Group__0__Impl(); + pushFollow(FOLLOW_43); + rule__IfExpressionTri__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__TypeSelectExpression__Group__1(); + rule__IfExpressionTri__Group__1(); state._fsp--; if (state.failed) return ; @@ -26235,38 +27587,32 @@ public final void rule__TypeSelectExpression__Group__0() throws RecognitionExcep } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__0" + // $ANTLR end "rule__IfExpressionTri__Group__0" - // $ANTLR start "rule__TypeSelectExpression__Group__0__Impl" - // InternalExport.g:7944:1: rule__TypeSelectExpression__Group__0__Impl : ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) ; - public final void rule__TypeSelectExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group__0__Impl" + // InternalExport.g:7806:1: rule__IfExpressionTri__Group__0__Impl : ( ruleOrExpression ) ; + public final void rule__IfExpressionTri__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7948:1: ( ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) ) - // InternalExport.g:7949:1: ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) + // InternalExport.g:7810:1: ( ( ruleOrExpression ) ) + // InternalExport.g:7811:1: ( ruleOrExpression ) { - // InternalExport.g:7949:1: ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) - // InternalExport.g:7950:2: ( rule__TypeSelectExpression__NameAssignment_0 ) + // InternalExport.g:7811:1: ( ruleOrExpression ) + // InternalExport.g:7812:2: ruleOrExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); + before(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } - // InternalExport.g:7951:2: ( rule__TypeSelectExpression__NameAssignment_0 ) - // InternalExport.g:7951:3: rule__TypeSelectExpression__NameAssignment_0 - { pushFollow(FOLLOW_2); - rule__TypeSelectExpression__NameAssignment_0(); + ruleOrExpression(); state._fsp--; if (state.failed) return ; - - } - if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); + after(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } } @@ -26286,26 +27632,21 @@ public final void rule__TypeSelectExpression__Group__0__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__0__Impl" + // $ANTLR end "rule__IfExpressionTri__Group__0__Impl" - // $ANTLR start "rule__TypeSelectExpression__Group__1" - // InternalExport.g:7959:1: rule__TypeSelectExpression__Group__1 : rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 ; - public final void rule__TypeSelectExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group__1" + // InternalExport.g:7821:1: rule__IfExpressionTri__Group__1 : rule__IfExpressionTri__Group__1__Impl ; + public final void rule__IfExpressionTri__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7963:1: ( rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 ) - // InternalExport.g:7964:2: rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 + // InternalExport.g:7825:1: ( rule__IfExpressionTri__Group__1__Impl ) + // InternalExport.g:7826:2: rule__IfExpressionTri__Group__1__Impl { - pushFollow(FOLLOW_40); - rule__TypeSelectExpression__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__TypeSelectExpression__Group__2(); + rule__IfExpressionTri__Group__1__Impl(); state._fsp--; if (state.failed) return ; @@ -26324,28 +27665,49 @@ public final void rule__TypeSelectExpression__Group__1() throws RecognitionExcep } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__1" + // $ANTLR end "rule__IfExpressionTri__Group__1" - // $ANTLR start "rule__TypeSelectExpression__Group__1__Impl" - // InternalExport.g:7971:1: rule__TypeSelectExpression__Group__1__Impl : ( '(' ) ; - public final void rule__TypeSelectExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group__1__Impl" + // InternalExport.g:7832:1: rule__IfExpressionTri__Group__1__Impl : ( ( rule__IfExpressionTri__Group_1__0 )? ) ; + public final void rule__IfExpressionTri__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7975:1: ( ( '(' ) ) - // InternalExport.g:7976:1: ( '(' ) + // InternalExport.g:7836:1: ( ( ( rule__IfExpressionTri__Group_1__0 )? ) ) + // InternalExport.g:7837:1: ( ( rule__IfExpressionTri__Group_1__0 )? ) { - // InternalExport.g:7976:1: ( '(' ) - // InternalExport.g:7977:2: '(' + // InternalExport.g:7837:1: ( ( rule__IfExpressionTri__Group_1__0 )? ) + // InternalExport.g:7838:2: ( rule__IfExpressionTri__Group_1__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); + before(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:7839:2: ( rule__IfExpressionTri__Group_1__0 )? + int alt88=2; + int LA88_0 = input.LA(1); + + if ( (LA88_0==86) ) { + alt88=1; + } + switch (alt88) { + case 1 : + // InternalExport.g:7839:3: rule__IfExpressionTri__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__IfExpressionTri__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); + after(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } } @@ -26365,26 +27727,26 @@ public final void rule__TypeSelectExpression__Group__1__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__1__Impl" + // $ANTLR end "rule__IfExpressionTri__Group__1__Impl" - // $ANTLR start "rule__TypeSelectExpression__Group__2" - // InternalExport.g:7986:1: rule__TypeSelectExpression__Group__2 : rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 ; - public final void rule__TypeSelectExpression__Group__2() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__0" + // InternalExport.g:7848:1: rule__IfExpressionTri__Group_1__0 : rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 ; + public final void rule__IfExpressionTri__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:7990:1: ( rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 ) - // InternalExport.g:7991:2: rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 + // InternalExport.g:7852:1: ( rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 ) + // InternalExport.g:7853:2: rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 { - pushFollow(FOLLOW_25); - rule__TypeSelectExpression__Group__2__Impl(); + pushFollow(FOLLOW_43); + rule__IfExpressionTri__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__TypeSelectExpression__Group__3(); + rule__IfExpressionTri__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -26403,38 +27765,32 @@ public final void rule__TypeSelectExpression__Group__2() throws RecognitionExcep } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__2" + // $ANTLR end "rule__IfExpressionTri__Group_1__0" - // $ANTLR start "rule__TypeSelectExpression__Group__2__Impl" - // InternalExport.g:7998:1: rule__TypeSelectExpression__Group__2__Impl : ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) ; - public final void rule__TypeSelectExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__0__Impl" + // InternalExport.g:7860:1: rule__IfExpressionTri__Group_1__0__Impl : ( () ) ; + public final void rule__IfExpressionTri__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8002:1: ( ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) ) - // InternalExport.g:8003:1: ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) + // InternalExport.g:7864:1: ( ( () ) ) + // InternalExport.g:7865:1: ( () ) { - // InternalExport.g:8003:1: ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) - // InternalExport.g:8004:2: ( rule__TypeSelectExpression__TypeAssignment_2 ) + // InternalExport.g:7865:1: ( () ) + // InternalExport.g:7866:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); + before(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } - // InternalExport.g:8005:2: ( rule__TypeSelectExpression__TypeAssignment_2 ) - // InternalExport.g:8005:3: rule__TypeSelectExpression__TypeAssignment_2 + // InternalExport.g:7867:2: () + // InternalExport.g:7867:3: { - pushFollow(FOLLOW_2); - rule__TypeSelectExpression__TypeAssignment_2(); - - state._fsp--; - if (state.failed) return ; - } if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); + after(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } } @@ -26443,10 +27799,6 @@ public final void rule__TypeSelectExpression__Group__2__Impl() throws Recognitio } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -26454,21 +27806,26 @@ public final void rule__TypeSelectExpression__Group__2__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__2__Impl" + // $ANTLR end "rule__IfExpressionTri__Group_1__0__Impl" - // $ANTLR start "rule__TypeSelectExpression__Group__3" - // InternalExport.g:8013:1: rule__TypeSelectExpression__Group__3 : rule__TypeSelectExpression__Group__3__Impl ; - public final void rule__TypeSelectExpression__Group__3() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__1" + // InternalExport.g:7875:1: rule__IfExpressionTri__Group_1__1 : rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 ; + public final void rule__IfExpressionTri__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8017:1: ( rule__TypeSelectExpression__Group__3__Impl ) - // InternalExport.g:8018:2: rule__TypeSelectExpression__Group__3__Impl + // InternalExport.g:7879:1: ( rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 ) + // InternalExport.g:7880:2: rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 { + pushFollow(FOLLOW_18); + rule__IfExpressionTri__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__TypeSelectExpression__Group__3__Impl(); + rule__IfExpressionTri__Group_1__2(); state._fsp--; if (state.failed) return ; @@ -26487,28 +27844,28 @@ public final void rule__TypeSelectExpression__Group__3() throws RecognitionExcep } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__3" + // $ANTLR end "rule__IfExpressionTri__Group_1__1" - // $ANTLR start "rule__TypeSelectExpression__Group__3__Impl" - // InternalExport.g:8024:1: rule__TypeSelectExpression__Group__3__Impl : ( ')' ) ; - public final void rule__TypeSelectExpression__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__1__Impl" + // InternalExport.g:7887:1: rule__IfExpressionTri__Group_1__1__Impl : ( '?' ) ; + public final void rule__IfExpressionTri__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8028:1: ( ( ')' ) ) - // InternalExport.g:8029:1: ( ')' ) + // InternalExport.g:7891:1: ( ( '?' ) ) + // InternalExport.g:7892:1: ( '?' ) { - // InternalExport.g:8029:1: ( ')' ) - // InternalExport.g:8030:2: ')' + // InternalExport.g:7892:1: ( '?' ) + // InternalExport.g:7893:2: '?' { if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); + before(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } - match(input,52,FOLLOW_2); if (state.failed) return ; + match(input,86,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); + after(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } } @@ -26528,26 +27885,26 @@ public final void rule__TypeSelectExpression__Group__3__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__3__Impl" + // $ANTLR end "rule__IfExpressionTri__Group_1__1__Impl" - // $ANTLR start "rule__CollectionExpression__Group__0" - // InternalExport.g:8040:1: rule__CollectionExpression__Group__0 : rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 ; - public final void rule__CollectionExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__2" + // InternalExport.g:7902:1: rule__IfExpressionTri__Group_1__2 : rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 ; + public final void rule__IfExpressionTri__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8044:1: ( rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 ) - // InternalExport.g:8045:2: rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 + // InternalExport.g:7906:1: ( rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 ) + // InternalExport.g:7907:2: rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 { - pushFollow(FOLLOW_34); - rule__CollectionExpression__Group__0__Impl(); + pushFollow(FOLLOW_39); + rule__IfExpressionTri__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group__1(); + rule__IfExpressionTri__Group_1__3(); state._fsp--; if (state.failed) return ; @@ -26566,30 +27923,30 @@ public final void rule__CollectionExpression__Group__0() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionExpression__Group__0" + // $ANTLR end "rule__IfExpressionTri__Group_1__2" - // $ANTLR start "rule__CollectionExpression__Group__0__Impl" - // InternalExport.g:8052:1: rule__CollectionExpression__Group__0__Impl : ( ( rule__CollectionExpression__NameAssignment_0 ) ) ; - public final void rule__CollectionExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__2__Impl" + // InternalExport.g:7914:1: rule__IfExpressionTri__Group_1__2__Impl : ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) ; + public final void rule__IfExpressionTri__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8056:1: ( ( ( rule__CollectionExpression__NameAssignment_0 ) ) ) - // InternalExport.g:8057:1: ( ( rule__CollectionExpression__NameAssignment_0 ) ) + // InternalExport.g:7918:1: ( ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) ) + // InternalExport.g:7919:1: ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) { - // InternalExport.g:8057:1: ( ( rule__CollectionExpression__NameAssignment_0 ) ) - // InternalExport.g:8058:2: ( rule__CollectionExpression__NameAssignment_0 ) + // InternalExport.g:7919:1: ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) + // InternalExport.g:7920:2: ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); + before(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); } - // InternalExport.g:8059:2: ( rule__CollectionExpression__NameAssignment_0 ) - // InternalExport.g:8059:3: rule__CollectionExpression__NameAssignment_0 + // InternalExport.g:7921:2: ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) + // InternalExport.g:7921:3: rule__IfExpressionTri__ThenPartAssignment_1_2 { pushFollow(FOLLOW_2); - rule__CollectionExpression__NameAssignment_0(); + rule__IfExpressionTri__ThenPartAssignment_1_2(); state._fsp--; if (state.failed) return ; @@ -26597,7 +27954,7 @@ public final void rule__CollectionExpression__Group__0__Impl() throws Recognitio } if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); + after(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); } } @@ -26617,26 +27974,26 @@ public final void rule__CollectionExpression__Group__0__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__CollectionExpression__Group__0__Impl" + // $ANTLR end "rule__IfExpressionTri__Group_1__2__Impl" - // $ANTLR start "rule__CollectionExpression__Group__1" - // InternalExport.g:8067:1: rule__CollectionExpression__Group__1 : rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 ; - public final void rule__CollectionExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__3" + // InternalExport.g:7929:1: rule__IfExpressionTri__Group_1__3 : rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 ; + public final void rule__IfExpressionTri__Group_1__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8071:1: ( rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 ) - // InternalExport.g:8072:2: rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 + // InternalExport.g:7933:1: ( rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 ) + // InternalExport.g:7934:2: rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 { pushFollow(FOLLOW_18); - rule__CollectionExpression__Group__1__Impl(); + rule__IfExpressionTri__Group_1__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group__2(); + rule__IfExpressionTri__Group_1__4(); state._fsp--; if (state.failed) return ; @@ -26655,28 +28012,28 @@ public final void rule__CollectionExpression__Group__1() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionExpression__Group__1" + // $ANTLR end "rule__IfExpressionTri__Group_1__3" - // $ANTLR start "rule__CollectionExpression__Group__1__Impl" - // InternalExport.g:8079:1: rule__CollectionExpression__Group__1__Impl : ( '(' ) ; - public final void rule__CollectionExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__3__Impl" + // InternalExport.g:7941:1: rule__IfExpressionTri__Group_1__3__Impl : ( ':' ) ; + public final void rule__IfExpressionTri__Group_1__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8083:1: ( ( '(' ) ) - // InternalExport.g:8084:1: ( '(' ) + // InternalExport.g:7945:1: ( ( ':' ) ) + // InternalExport.g:7946:1: ( ':' ) { - // InternalExport.g:8084:1: ( '(' ) - // InternalExport.g:8085:2: '(' + // InternalExport.g:7946:1: ( ':' ) + // InternalExport.g:7947:2: ':' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); + before(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + match(input,85,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); + after(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } } @@ -26696,26 +28053,21 @@ public final void rule__CollectionExpression__Group__1__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__CollectionExpression__Group__1__Impl" + // $ANTLR end "rule__IfExpressionTri__Group_1__3__Impl" - // $ANTLR start "rule__CollectionExpression__Group__2" - // InternalExport.g:8094:1: rule__CollectionExpression__Group__2 : rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 ; - public final void rule__CollectionExpression__Group__2() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__4" + // InternalExport.g:7956:1: rule__IfExpressionTri__Group_1__4 : rule__IfExpressionTri__Group_1__4__Impl ; + public final void rule__IfExpressionTri__Group_1__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8098:1: ( rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 ) - // InternalExport.g:8099:2: rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 + // InternalExport.g:7960:1: ( rule__IfExpressionTri__Group_1__4__Impl ) + // InternalExport.g:7961:2: rule__IfExpressionTri__Group_1__4__Impl { - pushFollow(FOLLOW_18); - rule__CollectionExpression__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group__3(); + rule__IfExpressionTri__Group_1__4__Impl(); state._fsp--; if (state.failed) return ; @@ -26734,53 +28086,117 @@ public final void rule__CollectionExpression__Group__2() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionExpression__Group__2" + // $ANTLR end "rule__IfExpressionTri__Group_1__4" - // $ANTLR start "rule__CollectionExpression__Group__2__Impl" - // InternalExport.g:8106:1: rule__CollectionExpression__Group__2__Impl : ( ( rule__CollectionExpression__Group_2__0 )? ) ; - public final void rule__CollectionExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__4__Impl" + // InternalExport.g:7967:1: rule__IfExpressionTri__Group_1__4__Impl : ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) ; + public final void rule__IfExpressionTri__Group_1__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8110:1: ( ( ( rule__CollectionExpression__Group_2__0 )? ) ) - // InternalExport.g:8111:1: ( ( rule__CollectionExpression__Group_2__0 )? ) + // InternalExport.g:7971:1: ( ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) ) + // InternalExport.g:7972:1: ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) { - // InternalExport.g:8111:1: ( ( rule__CollectionExpression__Group_2__0 )? ) - // InternalExport.g:8112:2: ( rule__CollectionExpression__Group_2__0 )? + // InternalExport.g:7972:1: ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) + // InternalExport.g:7973:2: ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getGroup_2()); + before(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); } - // InternalExport.g:8113:2: ( rule__CollectionExpression__Group_2__0 )? - int alt66=2; - int LA66_0 = input.LA(1); + // InternalExport.g:7974:2: ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) + // InternalExport.g:7974:3: rule__IfExpressionTri__ElsePartAssignment_1_4 + { + pushFollow(FOLLOW_2); + rule__IfExpressionTri__ElsePartAssignment_1_4(); - if ( (LA66_0==RULE_ID) ) { - int LA66_1 = input.LA(2); + state._fsp--; + if (state.failed) return ; - if ( (LA66_1==69) ) { - alt66=1; - } } - switch (alt66) { - case 1 : - // InternalExport.g:8113:3: rule__CollectionExpression__Group_2__0 - { - pushFollow(FOLLOW_2); - rule__CollectionExpression__Group_2__0(); - state._fsp--; - if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); + } - } - break; + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfExpressionTri__Group_1__4__Impl" + + + // $ANTLR start "rule__IfExpressionKw__Group__0" + // InternalExport.g:7983:1: rule__IfExpressionKw__Group__0 : rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 ; + public final void rule__IfExpressionKw__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:7987:1: ( rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 ) + // InternalExport.g:7988:2: rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 + { + pushFollow(FOLLOW_18); + rule__IfExpressionKw__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__IfExpressionKw__Group__1(); + + state._fsp--; + if (state.failed) return ; } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfExpressionKw__Group__0" + + + // $ANTLR start "rule__IfExpressionKw__Group__0__Impl" + // InternalExport.g:7995:1: rule__IfExpressionKw__Group__0__Impl : ( 'if' ) ; + public final void rule__IfExpressionKw__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:7999:1: ( ( 'if' ) ) + // InternalExport.g:8000:1: ( 'if' ) + { + // InternalExport.g:8000:1: ( 'if' ) + // InternalExport.g:8001:2: 'if' + { if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getGroup_2()); + before(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); + } + match(input,87,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); } } @@ -26800,26 +28216,26 @@ public final void rule__CollectionExpression__Group__2__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__CollectionExpression__Group__2__Impl" + // $ANTLR end "rule__IfExpressionKw__Group__0__Impl" - // $ANTLR start "rule__CollectionExpression__Group__3" - // InternalExport.g:8121:1: rule__CollectionExpression__Group__3 : rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 ; - public final void rule__CollectionExpression__Group__3() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__1" + // InternalExport.g:8010:1: rule__IfExpressionKw__Group__1 : rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 ; + public final void rule__IfExpressionKw__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8125:1: ( rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 ) - // InternalExport.g:8126:2: rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 + // InternalExport.g:8014:1: ( rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 ) + // InternalExport.g:8015:2: rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 { - pushFollow(FOLLOW_25); - rule__CollectionExpression__Group__3__Impl(); + pushFollow(FOLLOW_44); + rule__IfExpressionKw__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group__4(); + rule__IfExpressionKw__Group__2(); state._fsp--; if (state.failed) return ; @@ -26838,30 +28254,30 @@ public final void rule__CollectionExpression__Group__3() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionExpression__Group__3" + // $ANTLR end "rule__IfExpressionKw__Group__1" - // $ANTLR start "rule__CollectionExpression__Group__3__Impl" - // InternalExport.g:8133:1: rule__CollectionExpression__Group__3__Impl : ( ( rule__CollectionExpression__ExpAssignment_3 ) ) ; - public final void rule__CollectionExpression__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__1__Impl" + // InternalExport.g:8022:1: rule__IfExpressionKw__Group__1__Impl : ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) ; + public final void rule__IfExpressionKw__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8137:1: ( ( ( rule__CollectionExpression__ExpAssignment_3 ) ) ) - // InternalExport.g:8138:1: ( ( rule__CollectionExpression__ExpAssignment_3 ) ) + // InternalExport.g:8026:1: ( ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) ) + // InternalExport.g:8027:1: ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) { - // InternalExport.g:8138:1: ( ( rule__CollectionExpression__ExpAssignment_3 ) ) - // InternalExport.g:8139:2: ( rule__CollectionExpression__ExpAssignment_3 ) + // InternalExport.g:8027:1: ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) + // InternalExport.g:8028:2: ( rule__IfExpressionKw__ConditionAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); + before(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } - // InternalExport.g:8140:2: ( rule__CollectionExpression__ExpAssignment_3 ) - // InternalExport.g:8140:3: rule__CollectionExpression__ExpAssignment_3 + // InternalExport.g:8029:2: ( rule__IfExpressionKw__ConditionAssignment_1 ) + // InternalExport.g:8029:3: rule__IfExpressionKw__ConditionAssignment_1 { pushFollow(FOLLOW_2); - rule__CollectionExpression__ExpAssignment_3(); + rule__IfExpressionKw__ConditionAssignment_1(); state._fsp--; if (state.failed) return ; @@ -26869,7 +28285,7 @@ public final void rule__CollectionExpression__Group__3__Impl() throws Recognitio } if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); + after(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } } @@ -26889,21 +28305,26 @@ public final void rule__CollectionExpression__Group__3__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__CollectionExpression__Group__3__Impl" + // $ANTLR end "rule__IfExpressionKw__Group__1__Impl" - // $ANTLR start "rule__CollectionExpression__Group__4" - // InternalExport.g:8148:1: rule__CollectionExpression__Group__4 : rule__CollectionExpression__Group__4__Impl ; - public final void rule__CollectionExpression__Group__4() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__2" + // InternalExport.g:8037:1: rule__IfExpressionKw__Group__2 : rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 ; + public final void rule__IfExpressionKw__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8152:1: ( rule__CollectionExpression__Group__4__Impl ) - // InternalExport.g:8153:2: rule__CollectionExpression__Group__4__Impl + // InternalExport.g:8041:1: ( rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 ) + // InternalExport.g:8042:2: rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 { + pushFollow(FOLLOW_18); + rule__IfExpressionKw__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group__4__Impl(); + rule__IfExpressionKw__Group__3(); state._fsp--; if (state.failed) return ; @@ -26922,28 +28343,28 @@ public final void rule__CollectionExpression__Group__4() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionExpression__Group__4" + // $ANTLR end "rule__IfExpressionKw__Group__2" - // $ANTLR start "rule__CollectionExpression__Group__4__Impl" - // InternalExport.g:8159:1: rule__CollectionExpression__Group__4__Impl : ( ')' ) ; - public final void rule__CollectionExpression__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__2__Impl" + // InternalExport.g:8049:1: rule__IfExpressionKw__Group__2__Impl : ( 'then' ) ; + public final void rule__IfExpressionKw__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8163:1: ( ( ')' ) ) - // InternalExport.g:8164:1: ( ')' ) + // InternalExport.g:8053:1: ( ( 'then' ) ) + // InternalExport.g:8054:1: ( 'then' ) { - // InternalExport.g:8164:1: ( ')' ) - // InternalExport.g:8165:2: ')' + // InternalExport.g:8054:1: ( 'then' ) + // InternalExport.g:8055:2: 'then' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); + before(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } - match(input,52,FOLLOW_2); if (state.failed) return ; + match(input,88,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); + after(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } } @@ -26963,26 +28384,26 @@ public final void rule__CollectionExpression__Group__4__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__CollectionExpression__Group__4__Impl" + // $ANTLR end "rule__IfExpressionKw__Group__2__Impl" - // $ANTLR start "rule__CollectionExpression__Group_2__0" - // InternalExport.g:8175:1: rule__CollectionExpression__Group_2__0 : rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 ; - public final void rule__CollectionExpression__Group_2__0() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__3" + // InternalExport.g:8064:1: rule__IfExpressionKw__Group__3 : rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 ; + public final void rule__IfExpressionKw__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8179:1: ( rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 ) - // InternalExport.g:8180:2: rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 + // InternalExport.g:8068:1: ( rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 ) + // InternalExport.g:8069:2: rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 { - pushFollow(FOLLOW_67); - rule__CollectionExpression__Group_2__0__Impl(); + pushFollow(FOLLOW_45); + rule__IfExpressionKw__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group_2__1(); + rule__IfExpressionKw__Group__4(); state._fsp--; if (state.failed) return ; @@ -27001,30 +28422,30 @@ public final void rule__CollectionExpression__Group_2__0() throws RecognitionExc } return ; } - // $ANTLR end "rule__CollectionExpression__Group_2__0" + // $ANTLR end "rule__IfExpressionKw__Group__3" - // $ANTLR start "rule__CollectionExpression__Group_2__0__Impl" - // InternalExport.g:8187:1: rule__CollectionExpression__Group_2__0__Impl : ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) ; - public final void rule__CollectionExpression__Group_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__3__Impl" + // InternalExport.g:8076:1: rule__IfExpressionKw__Group__3__Impl : ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) ; + public final void rule__IfExpressionKw__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8191:1: ( ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) ) - // InternalExport.g:8192:1: ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) + // InternalExport.g:8080:1: ( ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) ) + // InternalExport.g:8081:1: ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) { - // InternalExport.g:8192:1: ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) - // InternalExport.g:8193:2: ( rule__CollectionExpression__VarAssignment_2_0 ) + // InternalExport.g:8081:1: ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) + // InternalExport.g:8082:2: ( rule__IfExpressionKw__ThenPartAssignment_3 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); + before(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); } - // InternalExport.g:8194:2: ( rule__CollectionExpression__VarAssignment_2_0 ) - // InternalExport.g:8194:3: rule__CollectionExpression__VarAssignment_2_0 + // InternalExport.g:8083:2: ( rule__IfExpressionKw__ThenPartAssignment_3 ) + // InternalExport.g:8083:3: rule__IfExpressionKw__ThenPartAssignment_3 { pushFollow(FOLLOW_2); - rule__CollectionExpression__VarAssignment_2_0(); + rule__IfExpressionKw__ThenPartAssignment_3(); state._fsp--; if (state.failed) return ; @@ -27032,7 +28453,7 @@ public final void rule__CollectionExpression__Group_2__0__Impl() throws Recognit } if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); + after(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); } } @@ -27052,21 +28473,21 @@ public final void rule__CollectionExpression__Group_2__0__Impl() throws Recognit } return ; } - // $ANTLR end "rule__CollectionExpression__Group_2__0__Impl" + // $ANTLR end "rule__IfExpressionKw__Group__3__Impl" - // $ANTLR start "rule__CollectionExpression__Group_2__1" - // InternalExport.g:8202:1: rule__CollectionExpression__Group_2__1 : rule__CollectionExpression__Group_2__1__Impl ; - public final void rule__CollectionExpression__Group_2__1() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__4" + // InternalExport.g:8091:1: rule__IfExpressionKw__Group__4 : rule__IfExpressionKw__Group__4__Impl ; + public final void rule__IfExpressionKw__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8206:1: ( rule__CollectionExpression__Group_2__1__Impl ) - // InternalExport.g:8207:2: rule__CollectionExpression__Group_2__1__Impl + // InternalExport.g:8095:1: ( rule__IfExpressionKw__Group__4__Impl ) + // InternalExport.g:8096:2: rule__IfExpressionKw__Group__4__Impl { pushFollow(FOLLOW_2); - rule__CollectionExpression__Group_2__1__Impl(); + rule__IfExpressionKw__Group__4__Impl(); state._fsp--; if (state.failed) return ; @@ -27085,28 +28506,53 @@ public final void rule__CollectionExpression__Group_2__1() throws RecognitionExc } return ; } - // $ANTLR end "rule__CollectionExpression__Group_2__1" + // $ANTLR end "rule__IfExpressionKw__Group__4" - // $ANTLR start "rule__CollectionExpression__Group_2__1__Impl" - // InternalExport.g:8213:1: rule__CollectionExpression__Group_2__1__Impl : ( '|' ) ; - public final void rule__CollectionExpression__Group_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__4__Impl" + // InternalExport.g:8102:1: rule__IfExpressionKw__Group__4__Impl : ( ( rule__IfExpressionKw__Group_4__0 )? ) ; + public final void rule__IfExpressionKw__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8217:1: ( ( '|' ) ) - // InternalExport.g:8218:1: ( '|' ) + // InternalExport.g:8106:1: ( ( ( rule__IfExpressionKw__Group_4__0 )? ) ) + // InternalExport.g:8107:1: ( ( rule__IfExpressionKw__Group_4__0 )? ) { - // InternalExport.g:8218:1: ( '|' ) - // InternalExport.g:8219:2: '|' + // InternalExport.g:8107:1: ( ( rule__IfExpressionKw__Group_4__0 )? ) + // InternalExport.g:8108:2: ( rule__IfExpressionKw__Group_4__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); + before(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } - match(input,69,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:8109:2: ( rule__IfExpressionKw__Group_4__0 )? + int alt89=2; + int LA89_0 = input.LA(1); + + if ( (LA89_0==89) ) { + int LA89_1 = input.LA(2); + + if ( (synpred163_InternalExport()) ) { + alt89=1; + } + } + switch (alt89) { + case 1 : + // InternalExport.g:8109:3: rule__IfExpressionKw__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__IfExpressionKw__Group_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); + after(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } } @@ -27126,26 +28572,21 @@ public final void rule__CollectionExpression__Group_2__1__Impl() throws Recognit } return ; } - // $ANTLR end "rule__CollectionExpression__Group_2__1__Impl" + // $ANTLR end "rule__IfExpressionKw__Group__4__Impl" - // $ANTLR start "rule__CollectionType__Group__0" - // InternalExport.g:8229:1: rule__CollectionType__Group__0 : rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 ; - public final void rule__CollectionType__Group__0() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4__0" + // InternalExport.g:8118:1: rule__IfExpressionKw__Group_4__0 : rule__IfExpressionKw__Group_4__0__Impl ; + public final void rule__IfExpressionKw__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8233:1: ( rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 ) - // InternalExport.g:8234:2: rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 + // InternalExport.g:8122:1: ( rule__IfExpressionKw__Group_4__0__Impl ) + // InternalExport.g:8123:2: rule__IfExpressionKw__Group_4__0__Impl { - pushFollow(FOLLOW_30); - rule__CollectionType__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionType__Group__1(); + rule__IfExpressionKw__Group_4__0__Impl(); state._fsp--; if (state.failed) return ; @@ -27164,30 +28605,30 @@ public final void rule__CollectionType__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__CollectionType__Group__0" + // $ANTLR end "rule__IfExpressionKw__Group_4__0" - // $ANTLR start "rule__CollectionType__Group__0__Impl" - // InternalExport.g:8241:1: rule__CollectionType__Group__0__Impl : ( ( rule__CollectionType__ClAssignment_0 ) ) ; - public final void rule__CollectionType__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4__0__Impl" + // InternalExport.g:8129:1: rule__IfExpressionKw__Group_4__0__Impl : ( ( rule__IfExpressionKw__Group_4_0__0 ) ) ; + public final void rule__IfExpressionKw__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8245:1: ( ( ( rule__CollectionType__ClAssignment_0 ) ) ) - // InternalExport.g:8246:1: ( ( rule__CollectionType__ClAssignment_0 ) ) + // InternalExport.g:8133:1: ( ( ( rule__IfExpressionKw__Group_4_0__0 ) ) ) + // InternalExport.g:8134:1: ( ( rule__IfExpressionKw__Group_4_0__0 ) ) { - // InternalExport.g:8246:1: ( ( rule__CollectionType__ClAssignment_0 ) ) - // InternalExport.g:8247:2: ( rule__CollectionType__ClAssignment_0 ) + // InternalExport.g:8134:1: ( ( rule__IfExpressionKw__Group_4_0__0 ) ) + // InternalExport.g:8135:2: ( rule__IfExpressionKw__Group_4_0__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); + before(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); } - // InternalExport.g:8248:2: ( rule__CollectionType__ClAssignment_0 ) - // InternalExport.g:8248:3: rule__CollectionType__ClAssignment_0 + // InternalExport.g:8136:2: ( rule__IfExpressionKw__Group_4_0__0 ) + // InternalExport.g:8136:3: rule__IfExpressionKw__Group_4_0__0 { pushFollow(FOLLOW_2); - rule__CollectionType__ClAssignment_0(); + rule__IfExpressionKw__Group_4_0__0(); state._fsp--; if (state.failed) return ; @@ -27195,7 +28636,7 @@ public final void rule__CollectionType__Group__0__Impl() throws RecognitionExcep } if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); + after(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); } } @@ -27215,26 +28656,26 @@ public final void rule__CollectionType__Group__0__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionType__Group__0__Impl" + // $ANTLR end "rule__IfExpressionKw__Group_4__0__Impl" - // $ANTLR start "rule__CollectionType__Group__1" - // InternalExport.g:8256:1: rule__CollectionType__Group__1 : rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 ; - public final void rule__CollectionType__Group__1() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4_0__0" + // InternalExport.g:8145:1: rule__IfExpressionKw__Group_4_0__0 : rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 ; + public final void rule__IfExpressionKw__Group_4_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8260:1: ( rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 ) - // InternalExport.g:8261:2: rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 + // InternalExport.g:8149:1: ( rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 ) + // InternalExport.g:8150:2: rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 { - pushFollow(FOLLOW_40); - rule__CollectionType__Group__1__Impl(); + pushFollow(FOLLOW_18); + rule__IfExpressionKw__Group_4_0__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionType__Group__2(); + rule__IfExpressionKw__Group_4_0__1(); state._fsp--; if (state.failed) return ; @@ -27253,28 +28694,28 @@ public final void rule__CollectionType__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__CollectionType__Group__1" + // $ANTLR end "rule__IfExpressionKw__Group_4_0__0" - // $ANTLR start "rule__CollectionType__Group__1__Impl" - // InternalExport.g:8268:1: rule__CollectionType__Group__1__Impl : ( '[' ) ; - public final void rule__CollectionType__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4_0__0__Impl" + // InternalExport.g:8157:1: rule__IfExpressionKw__Group_4_0__0__Impl : ( 'else' ) ; + public final void rule__IfExpressionKw__Group_4_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8272:1: ( ( '[' ) ) - // InternalExport.g:8273:1: ( '[' ) + // InternalExport.g:8161:1: ( ( 'else' ) ) + // InternalExport.g:8162:1: ( 'else' ) { - // InternalExport.g:8273:1: ( '[' ) - // InternalExport.g:8274:2: '[' + // InternalExport.g:8162:1: ( 'else' ) + // InternalExport.g:8163:2: 'else' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); + before(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } - match(input,45,FOLLOW_2); if (state.failed) return ; + match(input,89,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); + after(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } } @@ -27294,26 +28735,21 @@ public final void rule__CollectionType__Group__1__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionType__Group__1__Impl" + // $ANTLR end "rule__IfExpressionKw__Group_4_0__0__Impl" - // $ANTLR start "rule__CollectionType__Group__2" - // InternalExport.g:8283:1: rule__CollectionType__Group__2 : rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 ; - public final void rule__CollectionType__Group__2() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4_0__1" + // InternalExport.g:8172:1: rule__IfExpressionKw__Group_4_0__1 : rule__IfExpressionKw__Group_4_0__1__Impl ; + public final void rule__IfExpressionKw__Group_4_0__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8287:1: ( rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 ) - // InternalExport.g:8288:2: rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 + // InternalExport.g:8176:1: ( rule__IfExpressionKw__Group_4_0__1__Impl ) + // InternalExport.g:8177:2: rule__IfExpressionKw__Group_4_0__1__Impl { - pushFollow(FOLLOW_19); - rule__CollectionType__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionType__Group__3(); + rule__IfExpressionKw__Group_4_0__1__Impl(); state._fsp--; if (state.failed) return ; @@ -27332,30 +28768,30 @@ public final void rule__CollectionType__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__CollectionType__Group__2" + // $ANTLR end "rule__IfExpressionKw__Group_4_0__1" - // $ANTLR start "rule__CollectionType__Group__2__Impl" - // InternalExport.g:8295:1: rule__CollectionType__Group__2__Impl : ( ( rule__CollectionType__Id1Assignment_2 ) ) ; - public final void rule__CollectionType__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4_0__1__Impl" + // InternalExport.g:8183:1: rule__IfExpressionKw__Group_4_0__1__Impl : ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) ; + public final void rule__IfExpressionKw__Group_4_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8299:1: ( ( ( rule__CollectionType__Id1Assignment_2 ) ) ) - // InternalExport.g:8300:1: ( ( rule__CollectionType__Id1Assignment_2 ) ) + // InternalExport.g:8187:1: ( ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) ) + // InternalExport.g:8188:1: ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) { - // InternalExport.g:8300:1: ( ( rule__CollectionType__Id1Assignment_2 ) ) - // InternalExport.g:8301:2: ( rule__CollectionType__Id1Assignment_2 ) + // InternalExport.g:8188:1: ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) + // InternalExport.g:8189:2: ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); + before(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); } - // InternalExport.g:8302:2: ( rule__CollectionType__Id1Assignment_2 ) - // InternalExport.g:8302:3: rule__CollectionType__Id1Assignment_2 + // InternalExport.g:8190:2: ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) + // InternalExport.g:8190:3: rule__IfExpressionKw__ElsePartAssignment_4_0_1 { pushFollow(FOLLOW_2); - rule__CollectionType__Id1Assignment_2(); + rule__IfExpressionKw__ElsePartAssignment_4_0_1(); state._fsp--; if (state.failed) return ; @@ -27363,7 +28799,7 @@ public final void rule__CollectionType__Group__2__Impl() throws RecognitionExcep } if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); + after(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); } } @@ -27383,21 +28819,26 @@ public final void rule__CollectionType__Group__2__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionType__Group__2__Impl" + // $ANTLR end "rule__IfExpressionKw__Group_4_0__1__Impl" - // $ANTLR start "rule__CollectionType__Group__3" - // InternalExport.g:8310:1: rule__CollectionType__Group__3 : rule__CollectionType__Group__3__Impl ; - public final void rule__CollectionType__Group__3() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__0" + // InternalExport.g:8199:1: rule__SwitchExpression__Group__0 : rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 ; + public final void rule__SwitchExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8314:1: ( rule__CollectionType__Group__3__Impl ) - // InternalExport.g:8315:2: rule__CollectionType__Group__3__Impl + // InternalExport.g:8203:1: ( rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 ) + // InternalExport.g:8204:2: rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 { + pushFollow(FOLLOW_46); + rule__SwitchExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionType__Group__3__Impl(); + rule__SwitchExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -27416,28 +28857,28 @@ public final void rule__CollectionType__Group__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__CollectionType__Group__3" + // $ANTLR end "rule__SwitchExpression__Group__0" - // $ANTLR start "rule__CollectionType__Group__3__Impl" - // InternalExport.g:8321:1: rule__CollectionType__Group__3__Impl : ( ']' ) ; - public final void rule__CollectionType__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__0__Impl" + // InternalExport.g:8211:1: rule__SwitchExpression__Group__0__Impl : ( 'switch' ) ; + public final void rule__SwitchExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8325:1: ( ( ']' ) ) - // InternalExport.g:8326:1: ( ']' ) + // InternalExport.g:8215:1: ( ( 'switch' ) ) + // InternalExport.g:8216:1: ( 'switch' ) { - // InternalExport.g:8326:1: ( ']' ) - // InternalExport.g:8327:2: ']' + // InternalExport.g:8216:1: ( 'switch' ) + // InternalExport.g:8217:2: 'switch' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); + before(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } - match(input,46,FOLLOW_2); if (state.failed) return ; + match(input,90,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); + after(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } } @@ -27457,26 +28898,26 @@ public final void rule__CollectionType__Group__3__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionType__Group__3__Impl" + // $ANTLR end "rule__SwitchExpression__Group__0__Impl" - // $ANTLR start "rule__SimpleType__Group__0" - // InternalExport.g:8337:1: rule__SimpleType__Group__0 : rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 ; - public final void rule__SimpleType__Group__0() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__1" + // InternalExport.g:8226:1: rule__SwitchExpression__Group__1 : rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 ; + public final void rule__SwitchExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8341:1: ( rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 ) - // InternalExport.g:8342:2: rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 + // InternalExport.g:8230:1: ( rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 ) + // InternalExport.g:8231:2: rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 { - pushFollow(FOLLOW_37); - rule__SimpleType__Group__0__Impl(); + pushFollow(FOLLOW_46); + rule__SwitchExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SimpleType__Group__1(); + rule__SwitchExpression__Group__2(); state._fsp--; if (state.failed) return ; @@ -27495,38 +28936,49 @@ public final void rule__SimpleType__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__SimpleType__Group__0" + // $ANTLR end "rule__SwitchExpression__Group__1" - // $ANTLR start "rule__SimpleType__Group__0__Impl" - // InternalExport.g:8349:1: rule__SimpleType__Group__0__Impl : ( ( rule__SimpleType__IdAssignment_0 ) ) ; - public final void rule__SimpleType__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__1__Impl" + // InternalExport.g:8238:1: rule__SwitchExpression__Group__1__Impl : ( ( rule__SwitchExpression__Group_1__0 )? ) ; + public final void rule__SwitchExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8353:1: ( ( ( rule__SimpleType__IdAssignment_0 ) ) ) - // InternalExport.g:8354:1: ( ( rule__SimpleType__IdAssignment_0 ) ) + // InternalExport.g:8242:1: ( ( ( rule__SwitchExpression__Group_1__0 )? ) ) + // InternalExport.g:8243:1: ( ( rule__SwitchExpression__Group_1__0 )? ) { - // InternalExport.g:8354:1: ( ( rule__SimpleType__IdAssignment_0 ) ) - // InternalExport.g:8355:2: ( rule__SimpleType__IdAssignment_0 ) + // InternalExport.g:8243:1: ( ( rule__SwitchExpression__Group_1__0 )? ) + // InternalExport.g:8244:2: ( rule__SwitchExpression__Group_1__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); + before(grammarAccess.getSwitchExpressionAccess().getGroup_1()); } - // InternalExport.g:8356:2: ( rule__SimpleType__IdAssignment_0 ) - // InternalExport.g:8356:3: rule__SimpleType__IdAssignment_0 - { - pushFollow(FOLLOW_2); - rule__SimpleType__IdAssignment_0(); + // InternalExport.g:8245:2: ( rule__SwitchExpression__Group_1__0 )? + int alt90=2; + int LA90_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA90_0==77) ) { + alt90=1; + } + switch (alt90) { + case 1 : + // InternalExport.g:8245:3: rule__SwitchExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__SwitchExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; } if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); + after(grammarAccess.getSwitchExpressionAccess().getGroup_1()); } } @@ -27546,21 +28998,26 @@ public final void rule__SimpleType__Group__0__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__SimpleType__Group__0__Impl" + // $ANTLR end "rule__SwitchExpression__Group__1__Impl" - // $ANTLR start "rule__SimpleType__Group__1" - // InternalExport.g:8364:1: rule__SimpleType__Group__1 : rule__SimpleType__Group__1__Impl ; - public final void rule__SimpleType__Group__1() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__2" + // InternalExport.g:8253:1: rule__SwitchExpression__Group__2 : rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 ; + public final void rule__SwitchExpression__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8368:1: ( rule__SimpleType__Group__1__Impl ) - // InternalExport.g:8369:2: rule__SimpleType__Group__1__Impl + // InternalExport.g:8257:1: ( rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 ) + // InternalExport.g:8258:2: rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 { + pushFollow(FOLLOW_47); + rule__SwitchExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SimpleType__Group__1__Impl(); + rule__SwitchExpression__Group__3(); state._fsp--; if (state.failed) return ; @@ -27579,56 +29036,28 @@ public final void rule__SimpleType__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__SimpleType__Group__1" + // $ANTLR end "rule__SwitchExpression__Group__2" - // $ANTLR start "rule__SimpleType__Group__1__Impl" - // InternalExport.g:8375:1: rule__SimpleType__Group__1__Impl : ( ( rule__SimpleType__Group_1__0 )* ) ; - public final void rule__SimpleType__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__2__Impl" + // InternalExport.g:8265:1: rule__SwitchExpression__Group__2__Impl : ( '{' ) ; + public final void rule__SwitchExpression__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8379:1: ( ( ( rule__SimpleType__Group_1__0 )* ) ) - // InternalExport.g:8380:1: ( ( rule__SimpleType__Group_1__0 )* ) + // InternalExport.g:8269:1: ( ( '{' ) ) + // InternalExport.g:8270:1: ( '{' ) { - // InternalExport.g:8380:1: ( ( rule__SimpleType__Group_1__0 )* ) - // InternalExport.g:8381:2: ( rule__SimpleType__Group_1__0 )* + // InternalExport.g:8270:1: ( '{' ) + // InternalExport.g:8271:2: '{' { if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getGroup_1()); + before(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } - // InternalExport.g:8382:2: ( rule__SimpleType__Group_1__0 )* - loop67: - do { - int alt67=2; - int LA67_0 = input.LA(1); - - if ( (LA67_0==57) ) { - alt67=1; - } - - - switch (alt67) { - case 1 : - // InternalExport.g:8382:3: rule__SimpleType__Group_1__0 - { - pushFollow(FOLLOW_38); - rule__SimpleType__Group_1__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop67; - } - } while (true); - + match(input,68,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getGroup_1()); + after(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } } @@ -27648,26 +29077,26 @@ public final void rule__SimpleType__Group__1__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__SimpleType__Group__1__Impl" + // $ANTLR end "rule__SwitchExpression__Group__2__Impl" - // $ANTLR start "rule__SimpleType__Group_1__0" - // InternalExport.g:8391:1: rule__SimpleType__Group_1__0 : rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 ; - public final void rule__SimpleType__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__3" + // InternalExport.g:8280:1: rule__SwitchExpression__Group__3 : rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 ; + public final void rule__SwitchExpression__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8395:1: ( rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 ) - // InternalExport.g:8396:2: rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 + // InternalExport.g:8284:1: ( rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 ) + // InternalExport.g:8285:2: rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 { - pushFollow(FOLLOW_10); - rule__SimpleType__Group_1__0__Impl(); + pushFollow(FOLLOW_47); + rule__SwitchExpression__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SimpleType__Group_1__1(); + rule__SwitchExpression__Group__4(); state._fsp--; if (state.failed) return ; @@ -27686,28 +29115,56 @@ public final void rule__SimpleType__Group_1__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__SimpleType__Group_1__0" + // $ANTLR end "rule__SwitchExpression__Group__3" - // $ANTLR start "rule__SimpleType__Group_1__0__Impl" - // InternalExport.g:8403:1: rule__SimpleType__Group_1__0__Impl : ( '::' ) ; - public final void rule__SimpleType__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__3__Impl" + // InternalExport.g:8292:1: rule__SwitchExpression__Group__3__Impl : ( ( rule__SwitchExpression__CaseAssignment_3 )* ) ; + public final void rule__SwitchExpression__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8407:1: ( ( '::' ) ) - // InternalExport.g:8408:1: ( '::' ) + // InternalExport.g:8296:1: ( ( ( rule__SwitchExpression__CaseAssignment_3 )* ) ) + // InternalExport.g:8297:1: ( ( rule__SwitchExpression__CaseAssignment_3 )* ) { - // InternalExport.g:8408:1: ( '::' ) - // InternalExport.g:8409:2: '::' + // InternalExport.g:8297:1: ( ( rule__SwitchExpression__CaseAssignment_3 )* ) + // InternalExport.g:8298:2: ( rule__SwitchExpression__CaseAssignment_3 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); + before(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } - match(input,57,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:8299:2: ( rule__SwitchExpression__CaseAssignment_3 )* + loop91: + do { + int alt91=2; + int LA91_0 = input.LA(1); + + if ( (LA91_0==92) ) { + alt91=1; + } + + + switch (alt91) { + case 1 : + // InternalExport.g:8299:3: rule__SwitchExpression__CaseAssignment_3 + { + pushFollow(FOLLOW_48); + rule__SwitchExpression__CaseAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop91; + } + } while (true); + if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); + after(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } } @@ -27727,21 +29184,26 @@ public final void rule__SimpleType__Group_1__0__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__SimpleType__Group_1__0__Impl" + // $ANTLR end "rule__SwitchExpression__Group__3__Impl" - // $ANTLR start "rule__SimpleType__Group_1__1" - // InternalExport.g:8418:1: rule__SimpleType__Group_1__1 : rule__SimpleType__Group_1__1__Impl ; - public final void rule__SimpleType__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__4" + // InternalExport.g:8307:1: rule__SwitchExpression__Group__4 : rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 ; + public final void rule__SwitchExpression__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8422:1: ( rule__SimpleType__Group_1__1__Impl ) - // InternalExport.g:8423:2: rule__SimpleType__Group_1__1__Impl + // InternalExport.g:8311:1: ( rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 ) + // InternalExport.g:8312:2: rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 { + pushFollow(FOLLOW_39); + rule__SwitchExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SimpleType__Group_1__1__Impl(); + rule__SwitchExpression__Group__5(); state._fsp--; if (state.failed) return ; @@ -27760,38 +29222,28 @@ public final void rule__SimpleType__Group_1__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__SimpleType__Group_1__1" + // $ANTLR end "rule__SwitchExpression__Group__4" - // $ANTLR start "rule__SimpleType__Group_1__1__Impl" - // InternalExport.g:8429:1: rule__SimpleType__Group_1__1__Impl : ( ( rule__SimpleType__IdAssignment_1_1 ) ) ; - public final void rule__SimpleType__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__4__Impl" + // InternalExport.g:8319:1: rule__SwitchExpression__Group__4__Impl : ( 'default' ) ; + public final void rule__SwitchExpression__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8433:1: ( ( ( rule__SimpleType__IdAssignment_1_1 ) ) ) - // InternalExport.g:8434:1: ( ( rule__SimpleType__IdAssignment_1_1 ) ) + // InternalExport.g:8323:1: ( ( 'default' ) ) + // InternalExport.g:8324:1: ( 'default' ) { - // InternalExport.g:8434:1: ( ( rule__SimpleType__IdAssignment_1_1 ) ) - // InternalExport.g:8435:2: ( rule__SimpleType__IdAssignment_1_1 ) + // InternalExport.g:8324:1: ( 'default' ) + // InternalExport.g:8325:2: 'default' { if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); - } - // InternalExport.g:8436:2: ( rule__SimpleType__IdAssignment_1_1 ) - // InternalExport.g:8436:3: rule__SimpleType__IdAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__SimpleType__IdAssignment_1_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } - + match(input,91,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); + after(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } } @@ -27811,44 +29263,29 @@ public final void rule__SimpleType__Group_1__1__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__SimpleType__Group_1__1__Impl" + // $ANTLR end "rule__SwitchExpression__Group__4__Impl" - // $ANTLR start "rule__ExportModel__ExtensionAssignment_0_1" - // InternalExport.g:8445:1: rule__ExportModel__ExtensionAssignment_0_1 : ( ( 'extension' ) ) ; - public final void rule__ExportModel__ExtensionAssignment_0_1() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__5" + // InternalExport.g:8334:1: rule__SwitchExpression__Group__5 : rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 ; + public final void rule__SwitchExpression__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8449:1: ( ( ( 'extension' ) ) ) - // InternalExport.g:8450:2: ( ( 'extension' ) ) - { - // InternalExport.g:8450:2: ( ( 'extension' ) ) - // InternalExport.g:8451:3: ( 'extension' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getExtensionExtensionKeyword_0_1_0()); - } - // InternalExport.g:8452:3: ( 'extension' ) - // InternalExport.g:8453:4: 'extension' + // InternalExport.g:8338:1: ( rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 ) + // InternalExport.g:8339:2: rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getExtensionExtensionKeyword_0_1_0()); - } - match(input,43,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getExtensionExtensionKeyword_0_1_0()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getExtensionExtensionKeyword_0_1_0()); - } + pushFollow(FOLLOW_49); + rule__SwitchExpression__Group__5__Impl(); - } + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__SwitchExpression__Group__6(); + state._fsp--; + if (state.failed) return ; } @@ -27864,28 +29301,28 @@ public final void rule__ExportModel__ExtensionAssignment_0_1() throws Recognitio } return ; } - // $ANTLR end "rule__ExportModel__ExtensionAssignment_0_1" + // $ANTLR end "rule__SwitchExpression__Group__5" - // $ANTLR start "rule__ExportModel__NameAssignment_0_2" - // InternalExport.g:8464:1: rule__ExportModel__NameAssignment_0_2 : ( RULE_ID ) ; - public final void rule__ExportModel__NameAssignment_0_2() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__5__Impl" + // InternalExport.g:8346:1: rule__SwitchExpression__Group__5__Impl : ( ':' ) ; + public final void rule__SwitchExpression__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8468:1: ( ( RULE_ID ) ) - // InternalExport.g:8469:2: ( RULE_ID ) + // InternalExport.g:8350:1: ( ( ':' ) ) + // InternalExport.g:8351:1: ( ':' ) { - // InternalExport.g:8469:2: ( RULE_ID ) - // InternalExport.g:8470:3: RULE_ID + // InternalExport.g:8351:1: ( ':' ) + // InternalExport.g:8352:2: ':' { if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getNameIDTerminalRuleCall_0_2_0()); + before(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } - match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; + match(input,85,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getNameIDTerminalRuleCall_0_2_0()); + after(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } } @@ -27905,48 +29342,29 @@ public final void rule__ExportModel__NameAssignment_0_2() throws RecognitionExce } return ; } - // $ANTLR end "rule__ExportModel__NameAssignment_0_2" + // $ANTLR end "rule__SwitchExpression__Group__5__Impl" - // $ANTLR start "rule__ExportModel__TargetGrammarAssignment_0_4" - // InternalExport.g:8479:1: rule__ExportModel__TargetGrammarAssignment_0_4 : ( ( ruleQualifiedID ) ) ; - public final void rule__ExportModel__TargetGrammarAssignment_0_4() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__6" + // InternalExport.g:8361:1: rule__SwitchExpression__Group__6 : rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 ; + public final void rule__SwitchExpression__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8483:1: ( ( ( ruleQualifiedID ) ) ) - // InternalExport.g:8484:2: ( ( ruleQualifiedID ) ) - { - // InternalExport.g:8484:2: ( ( ruleQualifiedID ) ) - // InternalExport.g:8485:3: ( ruleQualifiedID ) + // InternalExport.g:8365:1: ( rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 ) + // InternalExport.g:8366:2: rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getTargetGrammarGrammarCrossReference_0_4_0()); - } - // InternalExport.g:8486:3: ( ruleQualifiedID ) - // InternalExport.g:8487:4: ruleQualifiedID - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getTargetGrammarGrammarQualifiedIDParserRuleCall_0_4_0_1()); - } - pushFollow(FOLLOW_2); - ruleQualifiedID(); + pushFollow(FOLLOW_13); + rule__SwitchExpression__Group__6__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getTargetGrammarGrammarQualifiedIDParserRuleCall_0_4_0_1()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getTargetGrammarGrammarCrossReference_0_4_0()); - } - - } + pushFollow(FOLLOW_2); + rule__SwitchExpression__Group__7(); + state._fsp--; + if (state.failed) return ; } @@ -27962,32 +29380,38 @@ public final void rule__ExportModel__TargetGrammarAssignment_0_4() throws Recogn } return ; } - // $ANTLR end "rule__ExportModel__TargetGrammarAssignment_0_4" + // $ANTLR end "rule__SwitchExpression__Group__6" - // $ANTLR start "rule__ExportModel__ImportsAssignment_1" - // InternalExport.g:8498:1: rule__ExportModel__ImportsAssignment_1 : ( ruleImport ) ; - public final void rule__ExportModel__ImportsAssignment_1() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__6__Impl" + // InternalExport.g:8373:1: rule__SwitchExpression__Group__6__Impl : ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) ; + public final void rule__SwitchExpression__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8502:1: ( ( ruleImport ) ) - // InternalExport.g:8503:2: ( ruleImport ) + // InternalExport.g:8377:1: ( ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) ) + // InternalExport.g:8378:1: ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) { - // InternalExport.g:8503:2: ( ruleImport ) - // InternalExport.g:8504:3: ruleImport + // InternalExport.g:8378:1: ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) + // InternalExport.g:8379:2: ( rule__SwitchExpression__DefaultExprAssignment_6 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getImportsImportParserRuleCall_1_0()); + before(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); } + // InternalExport.g:8380:2: ( rule__SwitchExpression__DefaultExprAssignment_6 ) + // InternalExport.g:8380:3: rule__SwitchExpression__DefaultExprAssignment_6 + { pushFollow(FOLLOW_2); - ruleImport(); + rule__SwitchExpression__DefaultExprAssignment_6(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getImportsImportParserRuleCall_1_0()); + after(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); } } @@ -28007,36 +29431,24 @@ public final void rule__ExportModel__ImportsAssignment_1() throws RecognitionExc } return ; } - // $ANTLR end "rule__ExportModel__ImportsAssignment_1" + // $ANTLR end "rule__SwitchExpression__Group__6__Impl" - // $ANTLR start "rule__ExportModel__ExtensionsAssignment_2" - // InternalExport.g:8513:1: rule__ExportModel__ExtensionsAssignment_2 : ( ruleExtension ) ; - public final void rule__ExportModel__ExtensionsAssignment_2() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__7" + // InternalExport.g:8388:1: rule__SwitchExpression__Group__7 : rule__SwitchExpression__Group__7__Impl ; + public final void rule__SwitchExpression__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8517:1: ( ( ruleExtension ) ) - // InternalExport.g:8518:2: ( ruleExtension ) + // InternalExport.g:8392:1: ( rule__SwitchExpression__Group__7__Impl ) + // InternalExport.g:8393:2: rule__SwitchExpression__Group__7__Impl { - // InternalExport.g:8518:2: ( ruleExtension ) - // InternalExport.g:8519:3: ruleExtension - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getExtensionsExtensionParserRuleCall_2_0()); - } pushFollow(FOLLOW_2); - ruleExtension(); + rule__SwitchExpression__Group__7__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getExtensionsExtensionParserRuleCall_2_0()); - } - - } - } @@ -28052,32 +29464,28 @@ public final void rule__ExportModel__ExtensionsAssignment_2() throws Recognition } return ; } - // $ANTLR end "rule__ExportModel__ExtensionsAssignment_2" + // $ANTLR end "rule__SwitchExpression__Group__7" - // $ANTLR start "rule__ExportModel__InterfacesAssignment_3_2" - // InternalExport.g:8528:1: rule__ExportModel__InterfacesAssignment_3_2 : ( ruleInterface ) ; - public final void rule__ExportModel__InterfacesAssignment_3_2() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__7__Impl" + // InternalExport.g:8399:1: rule__SwitchExpression__Group__7__Impl : ( '}' ) ; + public final void rule__SwitchExpression__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8532:1: ( ( ruleInterface ) ) - // InternalExport.g:8533:2: ( ruleInterface ) + // InternalExport.g:8403:1: ( ( '}' ) ) + // InternalExport.g:8404:1: ( '}' ) { - // InternalExport.g:8533:2: ( ruleInterface ) - // InternalExport.g:8534:3: ruleInterface + // InternalExport.g:8404:1: ( '}' ) + // InternalExport.g:8405:2: '}' { if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getInterfacesInterfaceParserRuleCall_3_2_0()); + before(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } - pushFollow(FOLLOW_2); - ruleInterface(); - - state._fsp--; - if (state.failed) return ; + match(input,69,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getInterfacesInterfaceParserRuleCall_3_2_0()); + after(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } } @@ -28097,36 +29505,29 @@ public final void rule__ExportModel__InterfacesAssignment_3_2() throws Recogniti } return ; } - // $ANTLR end "rule__ExportModel__InterfacesAssignment_3_2" + // $ANTLR end "rule__SwitchExpression__Group__7__Impl" - // $ANTLR start "rule__ExportModel__ExportsAssignment_4" - // InternalExport.g:8543:1: rule__ExportModel__ExportsAssignment_4 : ( ruleExport ) ; - public final void rule__ExportModel__ExportsAssignment_4() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__0" + // InternalExport.g:8415:1: rule__SwitchExpression__Group_1__0 : rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 ; + public final void rule__SwitchExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8547:1: ( ( ruleExport ) ) - // InternalExport.g:8548:2: ( ruleExport ) + // InternalExport.g:8419:1: ( rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 ) + // InternalExport.g:8420:2: rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 { - // InternalExport.g:8548:2: ( ruleExport ) - // InternalExport.g:8549:3: ruleExport - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportModelAccess().getExportsExportParserRuleCall_4_0()); - } - pushFollow(FOLLOW_2); - ruleExport(); + pushFollow(FOLLOW_49); + rule__SwitchExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportModelAccess().getExportsExportParserRuleCall_4_0()); - } - - } + pushFollow(FOLLOW_2); + rule__SwitchExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -28142,40 +29543,28 @@ public final void rule__ExportModel__ExportsAssignment_4() throws RecognitionExc } return ; } - // $ANTLR end "rule__ExportModel__ExportsAssignment_4" + // $ANTLR end "rule__SwitchExpression__Group_1__0" - // $ANTLR start "rule__Import__PackageAssignment_1" - // InternalExport.g:8558:1: rule__Import__PackageAssignment_1 : ( ( RULE_STRING ) ) ; - public final void rule__Import__PackageAssignment_1() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__0__Impl" + // InternalExport.g:8427:1: rule__SwitchExpression__Group_1__0__Impl : ( '(' ) ; + public final void rule__SwitchExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8562:1: ( ( ( RULE_STRING ) ) ) - // InternalExport.g:8563:2: ( ( RULE_STRING ) ) - { - // InternalExport.g:8563:2: ( ( RULE_STRING ) ) - // InternalExport.g:8564:3: ( RULE_STRING ) + // InternalExport.g:8431:1: ( ( '(' ) ) + // InternalExport.g:8432:1: ( '(' ) { - if ( state.backtracking==0 ) { - before(grammarAccess.getImportAccess().getPackageEPackageCrossReference_1_0()); - } - // InternalExport.g:8565:3: ( RULE_STRING ) - // InternalExport.g:8566:4: RULE_STRING + // InternalExport.g:8432:1: ( '(' ) + // InternalExport.g:8433:2: '(' { if ( state.backtracking==0 ) { - before(grammarAccess.getImportAccess().getPackageEPackageSTRINGTerminalRuleCall_1_0_1()); - } - match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getImportAccess().getPackageEPackageSTRINGTerminalRuleCall_1_0_1()); - } - + before(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } - + match(input,77,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getImportAccess().getPackageEPackageCrossReference_1_0()); + after(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } } @@ -28195,32 +29584,29 @@ public final void rule__Import__PackageAssignment_1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__Import__PackageAssignment_1" + // $ANTLR end "rule__SwitchExpression__Group_1__0__Impl" - // $ANTLR start "rule__Import__NameAssignment_2_1" - // InternalExport.g:8577:1: rule__Import__NameAssignment_2_1 : ( RULE_ID ) ; - public final void rule__Import__NameAssignment_2_1() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__1" + // InternalExport.g:8442:1: rule__SwitchExpression__Group_1__1 : rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 ; + public final void rule__SwitchExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8581:1: ( ( RULE_ID ) ) - // InternalExport.g:8582:2: ( RULE_ID ) - { - // InternalExport.g:8582:2: ( RULE_ID ) - // InternalExport.g:8583:3: RULE_ID + // InternalExport.g:8446:1: ( rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 ) + // InternalExport.g:8447:2: rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 { - if ( state.backtracking==0 ) { - before(grammarAccess.getImportAccess().getNameIDTerminalRuleCall_2_1_0()); - } - match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getImportAccess().getNameIDTerminalRuleCall_2_1_0()); - } + pushFollow(FOLLOW_25); + rule__SwitchExpression__Group_1__1__Impl(); - } + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__SwitchExpression__Group_1__2(); + state._fsp--; + if (state.failed) return ; } @@ -28236,32 +29622,38 @@ public final void rule__Import__NameAssignment_2_1() throws RecognitionException } return ; } - // $ANTLR end "rule__Import__NameAssignment_2_1" + // $ANTLR end "rule__SwitchExpression__Group_1__1" - // $ANTLR start "rule__Extension__ExtensionAssignment_1" - // InternalExport.g:8592:1: rule__Extension__ExtensionAssignment_1 : ( ruleQualifiedID ) ; - public final void rule__Extension__ExtensionAssignment_1() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__1__Impl" + // InternalExport.g:8454:1: rule__SwitchExpression__Group_1__1__Impl : ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) ; + public final void rule__SwitchExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8596:1: ( ( ruleQualifiedID ) ) - // InternalExport.g:8597:2: ( ruleQualifiedID ) + // InternalExport.g:8458:1: ( ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) ) + // InternalExport.g:8459:1: ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) { - // InternalExport.g:8597:2: ( ruleQualifiedID ) - // InternalExport.g:8598:3: ruleQualifiedID + // InternalExport.g:8459:1: ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) + // InternalExport.g:8460:2: ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExtensionAccess().getExtensionQualifiedIDParserRuleCall_1_0()); + before(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } + // InternalExport.g:8461:2: ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) + // InternalExport.g:8461:3: rule__SwitchExpression__SwitchExprAssignment_1_1 + { pushFollow(FOLLOW_2); - ruleQualifiedID(); + rule__SwitchExpression__SwitchExprAssignment_1_1(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getExtensionAccess().getExtensionQualifiedIDParserRuleCall_1_0()); + after(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } } @@ -28281,48 +29673,24 @@ public final void rule__Extension__ExtensionAssignment_1() throws RecognitionExc } return ; } - // $ANTLR end "rule__Extension__ExtensionAssignment_1" + // $ANTLR end "rule__SwitchExpression__Group_1__1__Impl" - // $ANTLR start "rule__Interface__TypeAssignment_0" - // InternalExport.g:8607:1: rule__Interface__TypeAssignment_0 : ( ( ruleQualifiedID ) ) ; - public final void rule__Interface__TypeAssignment_0() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__2" + // InternalExport.g:8469:1: rule__SwitchExpression__Group_1__2 : rule__SwitchExpression__Group_1__2__Impl ; + public final void rule__SwitchExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8611:1: ( ( ( ruleQualifiedID ) ) ) - // InternalExport.g:8612:2: ( ( ruleQualifiedID ) ) - { - // InternalExport.g:8612:2: ( ( ruleQualifiedID ) ) - // InternalExport.g:8613:3: ( ruleQualifiedID ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceAccess().getTypeEClassCrossReference_0_0()); - } - // InternalExport.g:8614:3: ( ruleQualifiedID ) - // InternalExport.g:8615:4: ruleQualifiedID + // InternalExport.g:8473:1: ( rule__SwitchExpression__Group_1__2__Impl ) + // InternalExport.g:8474:2: rule__SwitchExpression__Group_1__2__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceAccess().getTypeEClassQualifiedIDParserRuleCall_0_0_1()); - } pushFollow(FOLLOW_2); - ruleQualifiedID(); + rule__SwitchExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceAccess().getTypeEClassQualifiedIDParserRuleCall_0_0_1()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceAccess().getTypeEClassCrossReference_0_0()); - } - - } - } @@ -28338,32 +29706,28 @@ public final void rule__Interface__TypeAssignment_0() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__Interface__TypeAssignment_0" + // $ANTLR end "rule__SwitchExpression__Group_1__2" - // $ANTLR start "rule__Interface__GuardAssignment_1_1" - // InternalExport.g:8626:1: rule__Interface__GuardAssignment_1_1 : ( ruleExpression ) ; - public final void rule__Interface__GuardAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__2__Impl" + // InternalExport.g:8480:1: rule__SwitchExpression__Group_1__2__Impl : ( ')' ) ; + public final void rule__SwitchExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8630:1: ( ( ruleExpression ) ) - // InternalExport.g:8631:2: ( ruleExpression ) + // InternalExport.g:8484:1: ( ( ')' ) ) + // InternalExport.g:8485:1: ( ')' ) { - // InternalExport.g:8631:2: ( ruleExpression ) - // InternalExport.g:8632:3: ruleExpression + // InternalExport.g:8485:1: ( ')' ) + // InternalExport.g:8486:2: ')' { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceAccess().getGuardExpressionParserRuleCall_1_1_0()); + before(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } - pushFollow(FOLLOW_2); - ruleExpression(); - - state._fsp--; - if (state.failed) return ; + match(input,78,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceAccess().getGuardExpressionParserRuleCall_1_1_0()); + after(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } } @@ -28383,36 +29747,29 @@ public final void rule__Interface__GuardAssignment_1_1() throws RecognitionExcep } return ; } - // $ANTLR end "rule__Interface__GuardAssignment_1_1" + // $ANTLR end "rule__SwitchExpression__Group_1__2__Impl" - // $ANTLR start "rule__Interface__ItemsAssignment_2_1" - // InternalExport.g:8641:1: rule__Interface__ItemsAssignment_2_1 : ( ruleInterfaceItem ) ; - public final void rule__Interface__ItemsAssignment_2_1() throws RecognitionException { + // $ANTLR start "rule__Case__Group__0" + // InternalExport.g:8496:1: rule__Case__Group__0 : rule__Case__Group__0__Impl rule__Case__Group__1 ; + public final void rule__Case__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8645:1: ( ( ruleInterfaceItem ) ) - // InternalExport.g:8646:2: ( ruleInterfaceItem ) + // InternalExport.g:8500:1: ( rule__Case__Group__0__Impl rule__Case__Group__1 ) + // InternalExport.g:8501:2: rule__Case__Group__0__Impl rule__Case__Group__1 { - // InternalExport.g:8646:2: ( ruleInterfaceItem ) - // InternalExport.g:8647:3: ruleInterfaceItem - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceAccess().getItemsInterfaceItemParserRuleCall_2_1_0()); - } - pushFollow(FOLLOW_2); - ruleInterfaceItem(); + pushFollow(FOLLOW_49); + rule__Case__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceAccess().getItemsInterfaceItemParserRuleCall_2_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__Case__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -28428,32 +29785,28 @@ public final void rule__Interface__ItemsAssignment_2_1() throws RecognitionExcep } return ; } - // $ANTLR end "rule__Interface__ItemsAssignment_2_1" + // $ANTLR end "rule__Case__Group__0" - // $ANTLR start "rule__Interface__ItemsAssignment_2_2_1" - // InternalExport.g:8656:1: rule__Interface__ItemsAssignment_2_2_1 : ( ruleInterfaceItem ) ; - public final void rule__Interface__ItemsAssignment_2_2_1() throws RecognitionException { + // $ANTLR start "rule__Case__Group__0__Impl" + // InternalExport.g:8508:1: rule__Case__Group__0__Impl : ( 'case' ) ; + public final void rule__Case__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8660:1: ( ( ruleInterfaceItem ) ) - // InternalExport.g:8661:2: ( ruleInterfaceItem ) + // InternalExport.g:8512:1: ( ( 'case' ) ) + // InternalExport.g:8513:1: ( 'case' ) { - // InternalExport.g:8661:2: ( ruleInterfaceItem ) - // InternalExport.g:8662:3: ruleInterfaceItem + // InternalExport.g:8513:1: ( 'case' ) + // InternalExport.g:8514:2: 'case' { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceAccess().getItemsInterfaceItemParserRuleCall_2_2_1_0()); + before(grammarAccess.getCaseAccess().getCaseKeyword_0()); } - pushFollow(FOLLOW_2); - ruleInterfaceItem(); - - state._fsp--; - if (state.failed) return ; + match(input,92,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceAccess().getItemsInterfaceItemParserRuleCall_2_2_1_0()); + after(grammarAccess.getCaseAccess().getCaseKeyword_0()); } } @@ -28473,44 +29826,29 @@ public final void rule__Interface__ItemsAssignment_2_2_1() throws RecognitionExc } return ; } - // $ANTLR end "rule__Interface__ItemsAssignment_2_2_1" + // $ANTLR end "rule__Case__Group__0__Impl" - // $ANTLR start "rule__InterfaceField__UnorderedAssignment_0" - // InternalExport.g:8671:1: rule__InterfaceField__UnorderedAssignment_0 : ( ( '+' ) ) ; - public final void rule__InterfaceField__UnorderedAssignment_0() throws RecognitionException { + // $ANTLR start "rule__Case__Group__1" + // InternalExport.g:8523:1: rule__Case__Group__1 : rule__Case__Group__1__Impl rule__Case__Group__2 ; + public final void rule__Case__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8675:1: ( ( ( '+' ) ) ) - // InternalExport.g:8676:2: ( ( '+' ) ) + // InternalExport.g:8527:1: ( rule__Case__Group__1__Impl rule__Case__Group__2 ) + // InternalExport.g:8528:2: rule__Case__Group__1__Impl rule__Case__Group__2 { - // InternalExport.g:8676:2: ( ( '+' ) ) - // InternalExport.g:8677:3: ( '+' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceFieldAccess().getUnorderedPlusSignKeyword_0_0()); - } - // InternalExport.g:8678:3: ( '+' ) - // InternalExport.g:8679:4: '+' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceFieldAccess().getUnorderedPlusSignKeyword_0_0()); - } - match(input,18,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceFieldAccess().getUnorderedPlusSignKeyword_0_0()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceFieldAccess().getUnorderedPlusSignKeyword_0_0()); - } + pushFollow(FOLLOW_39); + rule__Case__Group__1__Impl(); - } + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Case__Group__2(); + state._fsp--; + if (state.failed) return ; } @@ -28526,40 +29864,38 @@ public final void rule__InterfaceField__UnorderedAssignment_0() throws Recogniti } return ; } - // $ANTLR end "rule__InterfaceField__UnorderedAssignment_0" + // $ANTLR end "rule__Case__Group__1" - // $ANTLR start "rule__InterfaceField__FieldAssignment_1" - // InternalExport.g:8690:1: rule__InterfaceField__FieldAssignment_1 : ( ( RULE_ID ) ) ; - public final void rule__InterfaceField__FieldAssignment_1() throws RecognitionException { + // $ANTLR start "rule__Case__Group__1__Impl" + // InternalExport.g:8535:1: rule__Case__Group__1__Impl : ( ( rule__Case__ConditionAssignment_1 ) ) ; + public final void rule__Case__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8694:1: ( ( ( RULE_ID ) ) ) - // InternalExport.g:8695:2: ( ( RULE_ID ) ) + // InternalExport.g:8539:1: ( ( ( rule__Case__ConditionAssignment_1 ) ) ) + // InternalExport.g:8540:1: ( ( rule__Case__ConditionAssignment_1 ) ) { - // InternalExport.g:8695:2: ( ( RULE_ID ) ) - // InternalExport.g:8696:3: ( RULE_ID ) + // InternalExport.g:8540:1: ( ( rule__Case__ConditionAssignment_1 ) ) + // InternalExport.g:8541:2: ( rule__Case__ConditionAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceFieldAccess().getFieldEStructuralFeatureCrossReference_1_0()); + before(grammarAccess.getCaseAccess().getConditionAssignment_1()); } - // InternalExport.g:8697:3: ( RULE_ID ) - // InternalExport.g:8698:4: RULE_ID + // InternalExport.g:8542:2: ( rule__Case__ConditionAssignment_1 ) + // InternalExport.g:8542:3: rule__Case__ConditionAssignment_1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceFieldAccess().getFieldEStructuralFeatureIDTerminalRuleCall_1_0_1()); - } - match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceFieldAccess().getFieldEStructuralFeatureIDTerminalRuleCall_1_0_1()); - } + pushFollow(FOLLOW_2); + rule__Case__ConditionAssignment_1(); + + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceFieldAccess().getFieldEStructuralFeatureCrossReference_1_0()); + after(grammarAccess.getCaseAccess().getConditionAssignment_1()); } } @@ -28579,44 +29915,29 @@ public final void rule__InterfaceField__FieldAssignment_1() throws RecognitionEx } return ; } - // $ANTLR end "rule__InterfaceField__FieldAssignment_1" + // $ANTLR end "rule__Case__Group__1__Impl" - // $ANTLR start "rule__InterfaceNavigation__UnorderedAssignment_1" - // InternalExport.g:8709:1: rule__InterfaceNavigation__UnorderedAssignment_1 : ( ( '+' ) ) ; - public final void rule__InterfaceNavigation__UnorderedAssignment_1() throws RecognitionException { + // $ANTLR start "rule__Case__Group__2" + // InternalExport.g:8550:1: rule__Case__Group__2 : rule__Case__Group__2__Impl rule__Case__Group__3 ; + public final void rule__Case__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8713:1: ( ( ( '+' ) ) ) - // InternalExport.g:8714:2: ( ( '+' ) ) - { - // InternalExport.g:8714:2: ( ( '+' ) ) - // InternalExport.g:8715:3: ( '+' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceNavigationAccess().getUnorderedPlusSignKeyword_1_0()); - } - // InternalExport.g:8716:3: ( '+' ) - // InternalExport.g:8717:4: '+' + // InternalExport.g:8554:1: ( rule__Case__Group__2__Impl rule__Case__Group__3 ) + // InternalExport.g:8555:2: rule__Case__Group__2__Impl rule__Case__Group__3 { - if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceNavigationAccess().getUnorderedPlusSignKeyword_1_0()); - } - match(input,18,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceNavigationAccess().getUnorderedPlusSignKeyword_1_0()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceNavigationAccess().getUnorderedPlusSignKeyword_1_0()); - } + pushFollow(FOLLOW_49); + rule__Case__Group__2__Impl(); - } + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Case__Group__3(); + state._fsp--; + if (state.failed) return ; } @@ -28632,40 +29953,28 @@ public final void rule__InterfaceNavigation__UnorderedAssignment_1() throws Reco } return ; } - // $ANTLR end "rule__InterfaceNavigation__UnorderedAssignment_1" + // $ANTLR end "rule__Case__Group__2" - // $ANTLR start "rule__InterfaceNavigation__RefAssignment_2" - // InternalExport.g:8728:1: rule__InterfaceNavigation__RefAssignment_2 : ( ( RULE_ID ) ) ; - public final void rule__InterfaceNavigation__RefAssignment_2() throws RecognitionException { + // $ANTLR start "rule__Case__Group__2__Impl" + // InternalExport.g:8562:1: rule__Case__Group__2__Impl : ( ':' ) ; + public final void rule__Case__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8732:1: ( ( ( RULE_ID ) ) ) - // InternalExport.g:8733:2: ( ( RULE_ID ) ) + // InternalExport.g:8566:1: ( ( ':' ) ) + // InternalExport.g:8567:1: ( ':' ) { - // InternalExport.g:8733:2: ( ( RULE_ID ) ) - // InternalExport.g:8734:3: ( RULE_ID ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceNavigationAccess().getRefEReferenceCrossReference_2_0()); - } - // InternalExport.g:8735:3: ( RULE_ID ) - // InternalExport.g:8736:4: RULE_ID + // InternalExport.g:8567:1: ( ':' ) + // InternalExport.g:8568:2: ':' { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceNavigationAccess().getRefEReferenceIDTerminalRuleCall_2_0_1()); - } - match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceNavigationAccess().getRefEReferenceIDTerminalRuleCall_2_0_1()); - } - + before(grammarAccess.getCaseAccess().getColonKeyword_2()); } - + match(input,85,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceNavigationAccess().getRefEReferenceCrossReference_2_0()); + after(grammarAccess.getCaseAccess().getColonKeyword_2()); } } @@ -28685,44 +29994,24 @@ public final void rule__InterfaceNavigation__RefAssignment_2() throws Recognitio } return ; } - // $ANTLR end "rule__InterfaceNavigation__RefAssignment_2" + // $ANTLR end "rule__Case__Group__2__Impl" - // $ANTLR start "rule__InterfaceExpression__RefAssignment_1" - // InternalExport.g:8747:1: rule__InterfaceExpression__RefAssignment_1 : ( ( '@' ) ) ; - public final void rule__InterfaceExpression__RefAssignment_1() throws RecognitionException { + // $ANTLR start "rule__Case__Group__3" + // InternalExport.g:8577:1: rule__Case__Group__3 : rule__Case__Group__3__Impl ; + public final void rule__Case__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8751:1: ( ( ( '@' ) ) ) - // InternalExport.g:8752:2: ( ( '@' ) ) - { - // InternalExport.g:8752:2: ( ( '@' ) ) - // InternalExport.g:8753:3: ( '@' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceExpressionAccess().getRefCommercialAtKeyword_1_0()); - } - // InternalExport.g:8754:3: ( '@' ) - // InternalExport.g:8755:4: '@' + // InternalExport.g:8581:1: ( rule__Case__Group__3__Impl ) + // InternalExport.g:8582:2: rule__Case__Group__3__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceExpressionAccess().getRefCommercialAtKeyword_1_0()); - } - match(input,49,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceExpressionAccess().getRefCommercialAtKeyword_1_0()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceExpressionAccess().getRefCommercialAtKeyword_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__Case__Group__3__Impl(); + state._fsp--; + if (state.failed) return ; } @@ -28738,40 +30027,38 @@ public final void rule__InterfaceExpression__RefAssignment_1() throws Recognitio } return ; } - // $ANTLR end "rule__InterfaceExpression__RefAssignment_1" + // $ANTLR end "rule__Case__Group__3" - // $ANTLR start "rule__InterfaceExpression__UnorderedAssignment_2" - // InternalExport.g:8766:1: rule__InterfaceExpression__UnorderedAssignment_2 : ( ( '+' ) ) ; - public final void rule__InterfaceExpression__UnorderedAssignment_2() throws RecognitionException { + // $ANTLR start "rule__Case__Group__3__Impl" + // InternalExport.g:8588:1: rule__Case__Group__3__Impl : ( ( rule__Case__ThenParAssignment_3 ) ) ; + public final void rule__Case__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8770:1: ( ( ( '+' ) ) ) - // InternalExport.g:8771:2: ( ( '+' ) ) + // InternalExport.g:8592:1: ( ( ( rule__Case__ThenParAssignment_3 ) ) ) + // InternalExport.g:8593:1: ( ( rule__Case__ThenParAssignment_3 ) ) { - // InternalExport.g:8771:2: ( ( '+' ) ) - // InternalExport.g:8772:3: ( '+' ) + // InternalExport.g:8593:1: ( ( rule__Case__ThenParAssignment_3 ) ) + // InternalExport.g:8594:2: ( rule__Case__ThenParAssignment_3 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceExpressionAccess().getUnorderedPlusSignKeyword_2_0()); + before(grammarAccess.getCaseAccess().getThenParAssignment_3()); } - // InternalExport.g:8773:3: ( '+' ) - // InternalExport.g:8774:4: '+' + // InternalExport.g:8595:2: ( rule__Case__ThenParAssignment_3 ) + // InternalExport.g:8595:3: rule__Case__ThenParAssignment_3 { - if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceExpressionAccess().getUnorderedPlusSignKeyword_2_0()); - } - match(input,18,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceExpressionAccess().getUnorderedPlusSignKeyword_2_0()); - } + pushFollow(FOLLOW_2); + rule__Case__ThenParAssignment_3(); + + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceExpressionAccess().getUnorderedPlusSignKeyword_2_0()); + after(grammarAccess.getCaseAccess().getThenParAssignment_3()); } } @@ -28791,36 +30078,29 @@ public final void rule__InterfaceExpression__UnorderedAssignment_2() throws Reco } return ; } - // $ANTLR end "rule__InterfaceExpression__UnorderedAssignment_2" + // $ANTLR end "rule__Case__Group__3__Impl" - // $ANTLR start "rule__InterfaceExpression__ExprAssignment_4" - // InternalExport.g:8785:1: rule__InterfaceExpression__ExprAssignment_4 : ( ruleExpression ) ; - public final void rule__InterfaceExpression__ExprAssignment_4() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group__0" + // InternalExport.g:8604:1: rule__OrExpression__Group__0 : rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 ; + public final void rule__OrExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8789:1: ( ( ruleExpression ) ) - // InternalExport.g:8790:2: ( ruleExpression ) - { - // InternalExport.g:8790:2: ( ruleExpression ) - // InternalExport.g:8791:3: ruleExpression + // InternalExport.g:8608:1: ( rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 ) + // InternalExport.g:8609:2: rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getInterfaceExpressionAccess().getExprExpressionParserRuleCall_4_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); + pushFollow(FOLLOW_50); + rule__OrExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInterfaceExpressionAccess().getExprExpressionParserRuleCall_4_0()); - } - - } + pushFollow(FOLLOW_2); + rule__OrExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -28836,40 +30116,32 @@ public final void rule__InterfaceExpression__ExprAssignment_4() throws Recogniti } return ; } - // $ANTLR end "rule__InterfaceExpression__ExprAssignment_4" + // $ANTLR end "rule__OrExpression__Group__0" - // $ANTLR start "rule__Export__LookupAssignment_1_0" - // InternalExport.g:8800:1: rule__Export__LookupAssignment_1_0 : ( ( 'lookup' ) ) ; - public final void rule__Export__LookupAssignment_1_0() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group__0__Impl" + // InternalExport.g:8616:1: rule__OrExpression__Group__0__Impl : ( ruleAndExpression ) ; + public final void rule__OrExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8804:1: ( ( ( 'lookup' ) ) ) - // InternalExport.g:8805:2: ( ( 'lookup' ) ) + // InternalExport.g:8620:1: ( ( ruleAndExpression ) ) + // InternalExport.g:8621:1: ( ruleAndExpression ) { - // InternalExport.g:8805:2: ( ( 'lookup' ) ) - // InternalExport.g:8806:3: ( 'lookup' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getLookupLookupKeyword_1_0_0()); - } - // InternalExport.g:8807:3: ( 'lookup' ) - // InternalExport.g:8808:4: 'lookup' + // InternalExport.g:8621:1: ( ruleAndExpression ) + // InternalExport.g:8622:2: ruleAndExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getLookupLookupKeyword_1_0_0()); - } - match(input,72,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getLookupLookupKeyword_1_0_0()); - } - + before(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } + pushFollow(FOLLOW_2); + ruleAndExpression(); + state._fsp--; + if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getLookupLookupKeyword_1_0_0()); + after(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } } @@ -28889,36 +30161,24 @@ public final void rule__Export__LookupAssignment_1_0() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__Export__LookupAssignment_1_0" + // $ANTLR end "rule__OrExpression__Group__0__Impl" - // $ANTLR start "rule__Export__LookupPredicateAssignment_1_1_1" - // InternalExport.g:8819:1: rule__Export__LookupPredicateAssignment_1_1_1 : ( ruleExpression ) ; - public final void rule__Export__LookupPredicateAssignment_1_1_1() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group__1" + // InternalExport.g:8631:1: rule__OrExpression__Group__1 : rule__OrExpression__Group__1__Impl ; + public final void rule__OrExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8823:1: ( ( ruleExpression ) ) - // InternalExport.g:8824:2: ( ruleExpression ) + // InternalExport.g:8635:1: ( rule__OrExpression__Group__1__Impl ) + // InternalExport.g:8636:2: rule__OrExpression__Group__1__Impl { - // InternalExport.g:8824:2: ( ruleExpression ) - // InternalExport.g:8825:3: ruleExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getLookupPredicateExpressionParserRuleCall_1_1_1_0()); - } pushFollow(FOLLOW_2); - ruleExpression(); + rule__OrExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getLookupPredicateExpressionParserRuleCall_1_1_1_0()); - } - - } - } @@ -28934,44 +30194,56 @@ public final void rule__Export__LookupPredicateAssignment_1_1_1() throws Recogni } return ; } - // $ANTLR end "rule__Export__LookupPredicateAssignment_1_1_1" + // $ANTLR end "rule__OrExpression__Group__1" - // $ANTLR start "rule__Export__TypeAssignment_2" - // InternalExport.g:8834:1: rule__Export__TypeAssignment_2 : ( ( ruleQualifiedID ) ) ; - public final void rule__Export__TypeAssignment_2() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group__1__Impl" + // InternalExport.g:8642:1: rule__OrExpression__Group__1__Impl : ( ( rule__OrExpression__Group_1__0 )* ) ; + public final void rule__OrExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8838:1: ( ( ( ruleQualifiedID ) ) ) - // InternalExport.g:8839:2: ( ( ruleQualifiedID ) ) + // InternalExport.g:8646:1: ( ( ( rule__OrExpression__Group_1__0 )* ) ) + // InternalExport.g:8647:1: ( ( rule__OrExpression__Group_1__0 )* ) { - // InternalExport.g:8839:2: ( ( ruleQualifiedID ) ) - // InternalExport.g:8840:3: ( ruleQualifiedID ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getTypeEClassCrossReference_2_0()); - } - // InternalExport.g:8841:3: ( ruleQualifiedID ) - // InternalExport.g:8842:4: ruleQualifiedID + // InternalExport.g:8647:1: ( ( rule__OrExpression__Group_1__0 )* ) + // InternalExport.g:8648:2: ( rule__OrExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getTypeEClassQualifiedIDParserRuleCall_2_0_1()); + before(grammarAccess.getOrExpressionAccess().getGroup_1()); } - pushFollow(FOLLOW_2); - ruleQualifiedID(); + // InternalExport.g:8649:2: ( rule__OrExpression__Group_1__0 )* + loop92: + do { + int alt92=2; + int LA92_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getTypeEClassQualifiedIDParserRuleCall_2_0_1()); - } + if ( (LA92_0==15) ) { + alt92=1; + } - } + + switch (alt92) { + case 1 : + // InternalExport.g:8649:3: rule__OrExpression__Group_1__0 + { + pushFollow(FOLLOW_51); + rule__OrExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop92; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getTypeEClassCrossReference_2_0()); + after(grammarAccess.getOrExpressionAccess().getGroup_1()); } } @@ -28991,44 +30263,29 @@ public final void rule__Export__TypeAssignment_2() throws RecognitionException { } return ; } - // $ANTLR end "rule__Export__TypeAssignment_2" + // $ANTLR end "rule__OrExpression__Group__1__Impl" - // $ANTLR start "rule__Export__QualifiedNameAssignment_3_1" - // InternalExport.g:8853:1: rule__Export__QualifiedNameAssignment_3_1 : ( ( 'qualified' ) ) ; - public final void rule__Export__QualifiedNameAssignment_3_1() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__0" + // InternalExport.g:8658:1: rule__OrExpression__Group_1__0 : rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 ; + public final void rule__OrExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8857:1: ( ( ( 'qualified' ) ) ) - // InternalExport.g:8858:2: ( ( 'qualified' ) ) - { - // InternalExport.g:8858:2: ( ( 'qualified' ) ) - // InternalExport.g:8859:3: ( 'qualified' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getQualifiedNameQualifiedKeyword_3_1_0()); - } - // InternalExport.g:8860:3: ( 'qualified' ) - // InternalExport.g:8861:4: 'qualified' + // InternalExport.g:8662:1: ( rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 ) + // InternalExport.g:8663:2: rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getQualifiedNameQualifiedKeyword_3_1_0()); - } - match(input,73,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getQualifiedNameQualifiedKeyword_3_1_0()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getQualifiedNameQualifiedKeyword_3_1_0()); - } + pushFollow(FOLLOW_50); + rule__OrExpression__Group_1__0__Impl(); - } + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OrExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -29044,32 +30301,32 @@ public final void rule__Export__QualifiedNameAssignment_3_1() throws Recognition } return ; } - // $ANTLR end "rule__Export__QualifiedNameAssignment_3_1" + // $ANTLR end "rule__OrExpression__Group_1__0" - // $ANTLR start "rule__Export__NamingAssignment_3_2" - // InternalExport.g:8872:1: rule__Export__NamingAssignment_3_2 : ( ruleExpression ) ; - public final void rule__Export__NamingAssignment_3_2() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__0__Impl" + // InternalExport.g:8670:1: rule__OrExpression__Group_1__0__Impl : ( () ) ; + public final void rule__OrExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8876:1: ( ( ruleExpression ) ) - // InternalExport.g:8877:2: ( ruleExpression ) + // InternalExport.g:8674:1: ( ( () ) ) + // InternalExport.g:8675:1: ( () ) { - // InternalExport.g:8877:2: ( ruleExpression ) - // InternalExport.g:8878:3: ruleExpression + // InternalExport.g:8675:1: ( () ) + // InternalExport.g:8676:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getNamingExpressionParserRuleCall_3_2_0()); + before(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); + } + // InternalExport.g:8677:2: () + // InternalExport.g:8677:3: + { } - pushFollow(FOLLOW_2); - ruleExpression(); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getNamingExpressionParserRuleCall_3_2_0()); + after(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); } } @@ -29078,10 +30335,6 @@ public final void rule__Export__NamingAssignment_3_2() throws RecognitionExcepti } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -29089,36 +30342,29 @@ public final void rule__Export__NamingAssignment_3_2() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__Export__NamingAssignment_3_2" + // $ANTLR end "rule__OrExpression__Group_1__0__Impl" - // $ANTLR start "rule__Export__GuardAssignment_4_1" - // InternalExport.g:8887:1: rule__Export__GuardAssignment_4_1 : ( ruleExpression ) ; - public final void rule__Export__GuardAssignment_4_1() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__1" + // InternalExport.g:8685:1: rule__OrExpression__Group_1__1 : rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 ; + public final void rule__OrExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8891:1: ( ( ruleExpression ) ) - // InternalExport.g:8892:2: ( ruleExpression ) + // InternalExport.g:8689:1: ( rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 ) + // InternalExport.g:8690:2: rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 { - // InternalExport.g:8892:2: ( ruleExpression ) - // InternalExport.g:8893:3: ruleExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getGuardExpressionParserRuleCall_4_1_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); + pushFollow(FOLLOW_49); + rule__OrExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getGuardExpressionParserRuleCall_4_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__OrExpression__Group_1__2(); + state._fsp--; + if (state.failed) return ; } @@ -29134,40 +30380,38 @@ public final void rule__Export__GuardAssignment_4_1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__Export__GuardAssignment_4_1" + // $ANTLR end "rule__OrExpression__Group_1__1" - // $ANTLR start "rule__Export__FragmentUniqueAssignment_6_2" - // InternalExport.g:8902:1: rule__Export__FragmentUniqueAssignment_6_2 : ( ( 'unique' ) ) ; - public final void rule__Export__FragmentUniqueAssignment_6_2() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__1__Impl" + // InternalExport.g:8697:1: rule__OrExpression__Group_1__1__Impl : ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) ; + public final void rule__OrExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8906:1: ( ( ( 'unique' ) ) ) - // InternalExport.g:8907:2: ( ( 'unique' ) ) + // InternalExport.g:8701:1: ( ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) ) + // InternalExport.g:8702:1: ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) { - // InternalExport.g:8907:2: ( ( 'unique' ) ) - // InternalExport.g:8908:3: ( 'unique' ) + // InternalExport.g:8702:1: ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) + // InternalExport.g:8703:2: ( rule__OrExpression__OperatorAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getFragmentUniqueUniqueKeyword_6_2_0()); + before(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } - // InternalExport.g:8909:3: ( 'unique' ) - // InternalExport.g:8910:4: 'unique' + // InternalExport.g:8704:2: ( rule__OrExpression__OperatorAssignment_1_1 ) + // InternalExport.g:8704:3: rule__OrExpression__OperatorAssignment_1_1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getFragmentUniqueUniqueKeyword_6_2_0()); - } - match(input,74,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getFragmentUniqueUniqueKeyword_6_2_0()); - } + pushFollow(FOLLOW_2); + rule__OrExpression__OperatorAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getFragmentUniqueUniqueKeyword_6_2_0()); + after(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } } @@ -29187,44 +30431,24 @@ public final void rule__Export__FragmentUniqueAssignment_6_2() throws Recognitio } return ; } - // $ANTLR end "rule__Export__FragmentUniqueAssignment_6_2" + // $ANTLR end "rule__OrExpression__Group_1__1__Impl" - // $ANTLR start "rule__Export__FragmentAttributeAssignment_6_5" - // InternalExport.g:8921:1: rule__Export__FragmentAttributeAssignment_6_5 : ( ( RULE_ID ) ) ; - public final void rule__Export__FragmentAttributeAssignment_6_5() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__2" + // InternalExport.g:8712:1: rule__OrExpression__Group_1__2 : rule__OrExpression__Group_1__2__Impl ; + public final void rule__OrExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8925:1: ( ( ( RULE_ID ) ) ) - // InternalExport.g:8926:2: ( ( RULE_ID ) ) - { - // InternalExport.g:8926:2: ( ( RULE_ID ) ) - // InternalExport.g:8927:3: ( RULE_ID ) + // InternalExport.g:8716:1: ( rule__OrExpression__Group_1__2__Impl ) + // InternalExport.g:8717:2: rule__OrExpression__Group_1__2__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getFragmentAttributeEAttributeCrossReference_6_5_0()); - } - // InternalExport.g:8928:3: ( RULE_ID ) - // InternalExport.g:8929:4: RULE_ID - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getFragmentAttributeEAttributeIDTerminalRuleCall_6_5_0_1()); - } - match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getFragmentAttributeEAttributeIDTerminalRuleCall_6_5_0_1()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getFragmentAttributeEAttributeCrossReference_6_5_0()); - } - - } + pushFollow(FOLLOW_2); + rule__OrExpression__Group_1__2__Impl(); + state._fsp--; + if (state.failed) return ; } @@ -29240,40 +30464,38 @@ public final void rule__Export__FragmentAttributeAssignment_6_5() throws Recogni } return ; } - // $ANTLR end "rule__Export__FragmentAttributeAssignment_6_5" + // $ANTLR end "rule__OrExpression__Group_1__2" - // $ANTLR start "rule__Export__FingerprintAssignment_7_0_0" - // InternalExport.g:8940:1: rule__Export__FingerprintAssignment_7_0_0 : ( ( 'object-fingerprint' ) ) ; - public final void rule__Export__FingerprintAssignment_7_0_0() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__2__Impl" + // InternalExport.g:8723:1: rule__OrExpression__Group_1__2__Impl : ( ( rule__OrExpression__RightAssignment_1_2 ) ) ; + public final void rule__OrExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8944:1: ( ( ( 'object-fingerprint' ) ) ) - // InternalExport.g:8945:2: ( ( 'object-fingerprint' ) ) + // InternalExport.g:8727:1: ( ( ( rule__OrExpression__RightAssignment_1_2 ) ) ) + // InternalExport.g:8728:1: ( ( rule__OrExpression__RightAssignment_1_2 ) ) { - // InternalExport.g:8945:2: ( ( 'object-fingerprint' ) ) - // InternalExport.g:8946:3: ( 'object-fingerprint' ) + // InternalExport.g:8728:1: ( ( rule__OrExpression__RightAssignment_1_2 ) ) + // InternalExport.g:8729:2: ( rule__OrExpression__RightAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getFingerprintObjectFingerprintKeyword_7_0_0_0()); + before(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } - // InternalExport.g:8947:3: ( 'object-fingerprint' ) - // InternalExport.g:8948:4: 'object-fingerprint' + // InternalExport.g:8730:2: ( rule__OrExpression__RightAssignment_1_2 ) + // InternalExport.g:8730:3: rule__OrExpression__RightAssignment_1_2 { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getFingerprintObjectFingerprintKeyword_7_0_0_0()); - } - match(input,75,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getFingerprintObjectFingerprintKeyword_7_0_0_0()); - } + pushFollow(FOLLOW_2); + rule__OrExpression__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getFingerprintObjectFingerprintKeyword_7_0_0_0()); + after(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } } @@ -29293,44 +30515,29 @@ public final void rule__Export__FingerprintAssignment_7_0_0() throws Recognition } return ; } - // $ANTLR end "rule__Export__FingerprintAssignment_7_0_0" + // $ANTLR end "rule__OrExpression__Group_1__2__Impl" - // $ANTLR start "rule__Export__ResourceFingerprintAssignment_7_0_1" - // InternalExport.g:8959:1: rule__Export__ResourceFingerprintAssignment_7_0_1 : ( ( 'resource-fingerprint' ) ) ; - public final void rule__Export__ResourceFingerprintAssignment_7_0_1() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group__0" + // InternalExport.g:8739:1: rule__AndExpression__Group__0 : rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 ; + public final void rule__AndExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8963:1: ( ( ( 'resource-fingerprint' ) ) ) - // InternalExport.g:8964:2: ( ( 'resource-fingerprint' ) ) - { - // InternalExport.g:8964:2: ( ( 'resource-fingerprint' ) ) - // InternalExport.g:8965:3: ( 'resource-fingerprint' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getResourceFingerprintResourceFingerprintKeyword_7_0_1_0()); - } - // InternalExport.g:8966:3: ( 'resource-fingerprint' ) - // InternalExport.g:8967:4: 'resource-fingerprint' + // InternalExport.g:8743:1: ( rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 ) + // InternalExport.g:8744:2: rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getResourceFingerprintResourceFingerprintKeyword_7_0_1_0()); - } - match(input,76,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getResourceFingerprintResourceFingerprintKeyword_7_0_1_0()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getResourceFingerprintResourceFingerprintKeyword_7_0_1_0()); - } + pushFollow(FOLLOW_52); + rule__AndExpression__Group__0__Impl(); - } + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__AndExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -29346,32 +30553,32 @@ public final void rule__Export__ResourceFingerprintAssignment_7_0_1() throws Rec } return ; } - // $ANTLR end "rule__Export__ResourceFingerprintAssignment_7_0_1" + // $ANTLR end "rule__AndExpression__Group__0" - // $ANTLR start "rule__Export__AttributesAssignment_8_0_1" - // InternalExport.g:8978:1: rule__Export__AttributesAssignment_8_0_1 : ( ruleAttribute ) ; - public final void rule__Export__AttributesAssignment_8_0_1() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group__0__Impl" + // InternalExport.g:8751:1: rule__AndExpression__Group__0__Impl : ( ruleImpliesExpression ) ; + public final void rule__AndExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8982:1: ( ( ruleAttribute ) ) - // InternalExport.g:8983:2: ( ruleAttribute ) + // InternalExport.g:8755:1: ( ( ruleImpliesExpression ) ) + // InternalExport.g:8756:1: ( ruleImpliesExpression ) { - // InternalExport.g:8983:2: ( ruleAttribute ) - // InternalExport.g:8984:3: ruleAttribute + // InternalExport.g:8756:1: ( ruleImpliesExpression ) + // InternalExport.g:8757:2: ruleImpliesExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getAttributesAttributeParserRuleCall_8_0_1_0()); + before(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } pushFollow(FOLLOW_2); - ruleAttribute(); + ruleImpliesExpression(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getAttributesAttributeParserRuleCall_8_0_1_0()); + after(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } } @@ -29391,36 +30598,24 @@ public final void rule__Export__AttributesAssignment_8_0_1() throws RecognitionE } return ; } - // $ANTLR end "rule__Export__AttributesAssignment_8_0_1" + // $ANTLR end "rule__AndExpression__Group__0__Impl" - // $ANTLR start "rule__Export__AttributesAssignment_8_0_2_1" - // InternalExport.g:8993:1: rule__Export__AttributesAssignment_8_0_2_1 : ( ruleAttribute ) ; - public final void rule__Export__AttributesAssignment_8_0_2_1() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group__1" + // InternalExport.g:8766:1: rule__AndExpression__Group__1 : rule__AndExpression__Group__1__Impl ; + public final void rule__AndExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:8997:1: ( ( ruleAttribute ) ) - // InternalExport.g:8998:2: ( ruleAttribute ) + // InternalExport.g:8770:1: ( rule__AndExpression__Group__1__Impl ) + // InternalExport.g:8771:2: rule__AndExpression__Group__1__Impl { - // InternalExport.g:8998:2: ( ruleAttribute ) - // InternalExport.g:8999:3: ruleAttribute - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getAttributesAttributeParserRuleCall_8_0_2_1_0()); - } pushFollow(FOLLOW_2); - ruleAttribute(); + rule__AndExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getAttributesAttributeParserRuleCall_8_0_2_1_0()); - } - - } - } @@ -29436,32 +30631,56 @@ public final void rule__Export__AttributesAssignment_8_0_2_1() throws Recognitio } return ; } - // $ANTLR end "rule__Export__AttributesAssignment_8_0_2_1" + // $ANTLR end "rule__AndExpression__Group__1" - // $ANTLR start "rule__Export__UserDataAssignment_8_1_1" - // InternalExport.g:9008:1: rule__Export__UserDataAssignment_8_1_1 : ( ruleUserData ) ; - public final void rule__Export__UserDataAssignment_8_1_1() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group__1__Impl" + // InternalExport.g:8777:1: rule__AndExpression__Group__1__Impl : ( ( rule__AndExpression__Group_1__0 )* ) ; + public final void rule__AndExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9012:1: ( ( ruleUserData ) ) - // InternalExport.g:9013:2: ( ruleUserData ) + // InternalExport.g:8781:1: ( ( ( rule__AndExpression__Group_1__0 )* ) ) + // InternalExport.g:8782:1: ( ( rule__AndExpression__Group_1__0 )* ) { - // InternalExport.g:9013:2: ( ruleUserData ) - // InternalExport.g:9014:3: ruleUserData + // InternalExport.g:8782:1: ( ( rule__AndExpression__Group_1__0 )* ) + // InternalExport.g:8783:2: ( rule__AndExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getUserDataUserDataParserRuleCall_8_1_1_0()); + before(grammarAccess.getAndExpressionAccess().getGroup_1()); } - pushFollow(FOLLOW_2); - ruleUserData(); + // InternalExport.g:8784:2: ( rule__AndExpression__Group_1__0 )* + loop93: + do { + int alt93=2; + int LA93_0 = input.LA(1); + + if ( (LA93_0==16) ) { + alt93=1; + } + + + switch (alt93) { + case 1 : + // InternalExport.g:8784:3: rule__AndExpression__Group_1__0 + { + pushFollow(FOLLOW_53); + rule__AndExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop93; + } + } while (true); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getUserDataUserDataParserRuleCall_8_1_1_0()); + after(grammarAccess.getAndExpressionAccess().getGroup_1()); } } @@ -29481,36 +30700,29 @@ public final void rule__Export__UserDataAssignment_8_1_1() throws RecognitionExc } return ; } - // $ANTLR end "rule__Export__UserDataAssignment_8_1_1" + // $ANTLR end "rule__AndExpression__Group__1__Impl" - // $ANTLR start "rule__Export__UserDataAssignment_8_1_2_1" - // InternalExport.g:9023:1: rule__Export__UserDataAssignment_8_1_2_1 : ( ruleUserData ) ; - public final void rule__Export__UserDataAssignment_8_1_2_1() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__0" + // InternalExport.g:8793:1: rule__AndExpression__Group_1__0 : rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 ; + public final void rule__AndExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9027:1: ( ( ruleUserData ) ) - // InternalExport.g:9028:2: ( ruleUserData ) - { - // InternalExport.g:9028:2: ( ruleUserData ) - // InternalExport.g:9029:3: ruleUserData + // InternalExport.g:8797:1: ( rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 ) + // InternalExport.g:8798:2: rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getExportAccess().getUserDataUserDataParserRuleCall_8_1_2_1_0()); - } - pushFollow(FOLLOW_2); - ruleUserData(); + pushFollow(FOLLOW_52); + rule__AndExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExportAccess().getUserDataUserDataParserRuleCall_8_1_2_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__AndExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -29526,28 +30738,32 @@ public final void rule__Export__UserDataAssignment_8_1_2_1() throws RecognitionE } return ; } - // $ANTLR end "rule__Export__UserDataAssignment_8_1_2_1" + // $ANTLR end "rule__AndExpression__Group_1__0" - // $ANTLR start "rule__UserData__NameAssignment_0" - // InternalExport.g:9038:1: rule__UserData__NameAssignment_0 : ( RULE_ID ) ; - public final void rule__UserData__NameAssignment_0() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__0__Impl" + // InternalExport.g:8805:1: rule__AndExpression__Group_1__0__Impl : ( () ) ; + public final void rule__AndExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9042:1: ( ( RULE_ID ) ) - // InternalExport.g:9043:2: ( RULE_ID ) + // InternalExport.g:8809:1: ( ( () ) ) + // InternalExport.g:8810:1: ( () ) { - // InternalExport.g:9043:2: ( RULE_ID ) - // InternalExport.g:9044:3: RULE_ID + // InternalExport.g:8810:1: ( () ) + // InternalExport.g:8811:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getUserDataAccess().getNameIDTerminalRuleCall_0_0()); + before(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); } - match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:8812:2: () + // InternalExport.g:8812:3: + { + } + if ( state.backtracking==0 ) { - after(grammarAccess.getUserDataAccess().getNameIDTerminalRuleCall_0_0()); + after(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); } } @@ -29556,10 +30772,6 @@ public final void rule__UserData__NameAssignment_0() throws RecognitionException } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -29567,36 +30779,29 @@ public final void rule__UserData__NameAssignment_0() throws RecognitionException } return ; } - // $ANTLR end "rule__UserData__NameAssignment_0" + // $ANTLR end "rule__AndExpression__Group_1__0__Impl" - // $ANTLR start "rule__UserData__ExprAssignment_2" - // InternalExport.g:9053:1: rule__UserData__ExprAssignment_2 : ( ruleExpression ) ; - public final void rule__UserData__ExprAssignment_2() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__1" + // InternalExport.g:8820:1: rule__AndExpression__Group_1__1 : rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 ; + public final void rule__AndExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9057:1: ( ( ruleExpression ) ) - // InternalExport.g:9058:2: ( ruleExpression ) + // InternalExport.g:8824:1: ( rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 ) + // InternalExport.g:8825:2: rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 { - // InternalExport.g:9058:2: ( ruleExpression ) - // InternalExport.g:9059:3: ruleExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUserDataAccess().getExprExpressionParserRuleCall_2_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); + pushFollow(FOLLOW_49); + rule__AndExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getUserDataAccess().getExprExpressionParserRuleCall_2_0()); - } - - } + pushFollow(FOLLOW_2); + rule__AndExpression__Group_1__2(); + state._fsp--; + if (state.failed) return ; } @@ -29612,40 +30817,38 @@ public final void rule__UserData__ExprAssignment_2() throws RecognitionException } return ; } - // $ANTLR end "rule__UserData__ExprAssignment_2" + // $ANTLR end "rule__AndExpression__Group_1__1" - // $ANTLR start "rule__Attribute__AttributeAssignment" - // InternalExport.g:9068:1: rule__Attribute__AttributeAssignment : ( ( RULE_ID ) ) ; - public final void rule__Attribute__AttributeAssignment() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__1__Impl" + // InternalExport.g:8832:1: rule__AndExpression__Group_1__1__Impl : ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) ; + public final void rule__AndExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9072:1: ( ( ( RULE_ID ) ) ) - // InternalExport.g:9073:2: ( ( RULE_ID ) ) + // InternalExport.g:8836:1: ( ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) ) + // InternalExport.g:8837:1: ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) { - // InternalExport.g:9073:2: ( ( RULE_ID ) ) - // InternalExport.g:9074:3: ( RULE_ID ) + // InternalExport.g:8837:1: ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) + // InternalExport.g:8838:2: ( rule__AndExpression__OperatorAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getAttributeAccess().getAttributeEAttributeCrossReference_0()); + before(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } - // InternalExport.g:9075:3: ( RULE_ID ) - // InternalExport.g:9076:4: RULE_ID + // InternalExport.g:8839:2: ( rule__AndExpression__OperatorAssignment_1_1 ) + // InternalExport.g:8839:3: rule__AndExpression__OperatorAssignment_1_1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getAttributeAccess().getAttributeEAttributeIDTerminalRuleCall_0_1()); - } - match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getAttributeAccess().getAttributeEAttributeIDTerminalRuleCall_0_1()); - } + pushFollow(FOLLOW_2); + rule__AndExpression__OperatorAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getAttributeAccess().getAttributeEAttributeCrossReference_0()); + after(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } } @@ -29665,36 +30868,24 @@ public final void rule__Attribute__AttributeAssignment() throws RecognitionExcep } return ; } - // $ANTLR end "rule__Attribute__AttributeAssignment" + // $ANTLR end "rule__AndExpression__Group_1__1__Impl" - // $ANTLR start "rule__LetExpression__IdentifierAssignment_1" - // InternalExport.g:9087:1: rule__LetExpression__IdentifierAssignment_1 : ( ruleIdentifier ) ; - public final void rule__LetExpression__IdentifierAssignment_1() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__2" + // InternalExport.g:8847:1: rule__AndExpression__Group_1__2 : rule__AndExpression__Group_1__2__Impl ; + public final void rule__AndExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9091:1: ( ( ruleIdentifier ) ) - // InternalExport.g:9092:2: ( ruleIdentifier ) - { - // InternalExport.g:9092:2: ( ruleIdentifier ) - // InternalExport.g:9093:3: ruleIdentifier + // InternalExport.g:8851:1: ( rule__AndExpression__Group_1__2__Impl ) + // InternalExport.g:8852:2: rule__AndExpression__Group_1__2__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); - } pushFollow(FOLLOW_2); - ruleIdentifier(); + rule__AndExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); - } - - } - } @@ -29710,32 +30901,38 @@ public final void rule__LetExpression__IdentifierAssignment_1() throws Recogniti } return ; } - // $ANTLR end "rule__LetExpression__IdentifierAssignment_1" + // $ANTLR end "rule__AndExpression__Group_1__2" - // $ANTLR start "rule__LetExpression__VarExprAssignment_3" - // InternalExport.g:9102:1: rule__LetExpression__VarExprAssignment_3 : ( ruleExpression ) ; - public final void rule__LetExpression__VarExprAssignment_3() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__2__Impl" + // InternalExport.g:8858:1: rule__AndExpression__Group_1__2__Impl : ( ( rule__AndExpression__RightAssignment_1_2 ) ) ; + public final void rule__AndExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9106:1: ( ( ruleExpression ) ) - // InternalExport.g:9107:2: ( ruleExpression ) + // InternalExport.g:8862:1: ( ( ( rule__AndExpression__RightAssignment_1_2 ) ) ) + // InternalExport.g:8863:1: ( ( rule__AndExpression__RightAssignment_1_2 ) ) { - // InternalExport.g:9107:2: ( ruleExpression ) - // InternalExport.g:9108:3: ruleExpression + // InternalExport.g:8863:1: ( ( rule__AndExpression__RightAssignment_1_2 ) ) + // InternalExport.g:8864:2: ( rule__AndExpression__RightAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); + before(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } + // InternalExport.g:8865:2: ( rule__AndExpression__RightAssignment_1_2 ) + // InternalExport.g:8865:3: rule__AndExpression__RightAssignment_1_2 + { pushFollow(FOLLOW_2); - ruleExpression(); + rule__AndExpression__RightAssignment_1_2(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); + after(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } } @@ -29755,36 +30952,29 @@ public final void rule__LetExpression__VarExprAssignment_3() throws RecognitionE } return ; } - // $ANTLR end "rule__LetExpression__VarExprAssignment_3" + // $ANTLR end "rule__AndExpression__Group_1__2__Impl" - // $ANTLR start "rule__LetExpression__TargetAssignment_5" - // InternalExport.g:9117:1: rule__LetExpression__TargetAssignment_5 : ( ruleExpression ) ; - public final void rule__LetExpression__TargetAssignment_5() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group__0" + // InternalExport.g:8874:1: rule__ImpliesExpression__Group__0 : rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 ; + public final void rule__ImpliesExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9121:1: ( ( ruleExpression ) ) - // InternalExport.g:9122:2: ( ruleExpression ) - { - // InternalExport.g:9122:2: ( ruleExpression ) - // InternalExport.g:9123:3: ruleExpression + // InternalExport.g:8878:1: ( rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 ) + // InternalExport.g:8879:2: rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); + pushFollow(FOLLOW_54); + rule__ImpliesExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); - } - - } + pushFollow(FOLLOW_2); + rule__ImpliesExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -29800,32 +30990,32 @@ public final void rule__LetExpression__TargetAssignment_5() throws RecognitionEx } return ; } - // $ANTLR end "rule__LetExpression__TargetAssignment_5" + // $ANTLR end "rule__ImpliesExpression__Group__0" - // $ANTLR start "rule__CastedExpression__TypeAssignment_1" - // InternalExport.g:9132:1: rule__CastedExpression__TypeAssignment_1 : ( ruleType ) ; - public final void rule__CastedExpression__TypeAssignment_1() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group__0__Impl" + // InternalExport.g:8886:1: rule__ImpliesExpression__Group__0__Impl : ( ruleRelationalExpression ) ; + public final void rule__ImpliesExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9136:1: ( ( ruleType ) ) - // InternalExport.g:9137:2: ( ruleType ) + // InternalExport.g:8890:1: ( ( ruleRelationalExpression ) ) + // InternalExport.g:8891:1: ( ruleRelationalExpression ) { - // InternalExport.g:9137:2: ( ruleType ) - // InternalExport.g:9138:3: ruleType + // InternalExport.g:8891:1: ( ruleRelationalExpression ) + // InternalExport.g:8892:2: ruleRelationalExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); + before(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } pushFollow(FOLLOW_2); - ruleType(); + ruleRelationalExpression(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); + after(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } } @@ -29845,36 +31035,24 @@ public final void rule__CastedExpression__TypeAssignment_1() throws RecognitionE } return ; } - // $ANTLR end "rule__CastedExpression__TypeAssignment_1" + // $ANTLR end "rule__ImpliesExpression__Group__0__Impl" - // $ANTLR start "rule__CastedExpression__TargetAssignment_3" - // InternalExport.g:9147:1: rule__CastedExpression__TargetAssignment_3 : ( ruleExpression ) ; - public final void rule__CastedExpression__TargetAssignment_3() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group__1" + // InternalExport.g:8901:1: rule__ImpliesExpression__Group__1 : rule__ImpliesExpression__Group__1__Impl ; + public final void rule__ImpliesExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9151:1: ( ( ruleExpression ) ) - // InternalExport.g:9152:2: ( ruleExpression ) + // InternalExport.g:8905:1: ( rule__ImpliesExpression__Group__1__Impl ) + // InternalExport.g:8906:2: rule__ImpliesExpression__Group__1__Impl { - // InternalExport.g:9152:2: ( ruleExpression ) - // InternalExport.g:9153:3: ruleExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); - } pushFollow(FOLLOW_2); - ruleExpression(); + rule__ImpliesExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); - } - - } - } @@ -29890,77 +31068,56 @@ public final void rule__CastedExpression__TargetAssignment_3() throws Recognitio } return ; } - // $ANTLR end "rule__CastedExpression__TargetAssignment_3" + // $ANTLR end "rule__ImpliesExpression__Group__1" - // $ANTLR start "rule__ChainExpression__NextAssignment_1_2" - // InternalExport.g:9162:1: rule__ChainExpression__NextAssignment_1_2 : ( ruleChainedExpression ) ; - public final void rule__ChainExpression__NextAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group__1__Impl" + // InternalExport.g:8912:1: rule__ImpliesExpression__Group__1__Impl : ( ( rule__ImpliesExpression__Group_1__0 )* ) ; + public final void rule__ImpliesExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9166:1: ( ( ruleChainedExpression ) ) - // InternalExport.g:9167:2: ( ruleChainedExpression ) + // InternalExport.g:8916:1: ( ( ( rule__ImpliesExpression__Group_1__0 )* ) ) + // InternalExport.g:8917:1: ( ( rule__ImpliesExpression__Group_1__0 )* ) { - // InternalExport.g:9167:2: ( ruleChainedExpression ) - // InternalExport.g:9168:3: ruleChainedExpression + // InternalExport.g:8917:1: ( ( rule__ImpliesExpression__Group_1__0 )* ) + // InternalExport.g:8918:2: ( rule__ImpliesExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); - } - pushFollow(FOLLOW_2); - ruleChainedExpression(); - - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); - } - - } - - + before(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } + // InternalExport.g:8919:2: ( rule__ImpliesExpression__Group_1__0 )* + loop94: + do { + int alt94=2; + int LA94_0 = input.LA(1); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( (LA94_0==114) ) { + alt94=1; + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__ChainExpression__NextAssignment_1_2" + switch (alt94) { + case 1 : + // InternalExport.g:8919:3: rule__ImpliesExpression__Group_1__0 + { + pushFollow(FOLLOW_55); + rule__ImpliesExpression__Group_1__0(); + state._fsp--; + if (state.failed) return ; - // $ANTLR start "rule__IfExpressionTri__ThenPartAssignment_1_2" - // InternalExport.g:9177:1: rule__IfExpressionTri__ThenPartAssignment_1_2 : ( ruleChainedExpression ) ; - public final void rule__IfExpressionTri__ThenPartAssignment_1_2() throws RecognitionException { + } + break; - int stackSize = keepStackSize(); - - try { - // InternalExport.g:9181:1: ( ( ruleChainedExpression ) ) - // InternalExport.g:9182:2: ( ruleChainedExpression ) - { - // InternalExport.g:9182:2: ( ruleChainedExpression ) - // InternalExport.g:9183:3: ruleChainedExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); - } - pushFollow(FOLLOW_2); - ruleChainedExpression(); + default : + break loop94; + } + } while (true); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); + after(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } } @@ -29980,36 +31137,29 @@ public final void rule__IfExpressionTri__ThenPartAssignment_1_2() throws Recogni } return ; } - // $ANTLR end "rule__IfExpressionTri__ThenPartAssignment_1_2" + // $ANTLR end "rule__ImpliesExpression__Group__1__Impl" - // $ANTLR start "rule__IfExpressionTri__ElsePartAssignment_1_4" - // InternalExport.g:9192:1: rule__IfExpressionTri__ElsePartAssignment_1_4 : ( ruleChainedExpression ) ; - public final void rule__IfExpressionTri__ElsePartAssignment_1_4() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__0" + // InternalExport.g:8928:1: rule__ImpliesExpression__Group_1__0 : rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 ; + public final void rule__ImpliesExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9196:1: ( ( ruleChainedExpression ) ) - // InternalExport.g:9197:2: ( ruleChainedExpression ) - { - // InternalExport.g:9197:2: ( ruleChainedExpression ) - // InternalExport.g:9198:3: ruleChainedExpression + // InternalExport.g:8932:1: ( rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 ) + // InternalExport.g:8933:2: rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); - } - pushFollow(FOLLOW_2); - ruleChainedExpression(); + pushFollow(FOLLOW_54); + rule__ImpliesExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); - } - - } + pushFollow(FOLLOW_2); + rule__ImpliesExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -30025,32 +31175,32 @@ public final void rule__IfExpressionTri__ElsePartAssignment_1_4() throws Recogni } return ; } - // $ANTLR end "rule__IfExpressionTri__ElsePartAssignment_1_4" + // $ANTLR end "rule__ImpliesExpression__Group_1__0" - // $ANTLR start "rule__IfExpressionKw__ConditionAssignment_1" - // InternalExport.g:9207:1: rule__IfExpressionKw__ConditionAssignment_1 : ( ruleChainedExpression ) ; - public final void rule__IfExpressionKw__ConditionAssignment_1() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__0__Impl" + // InternalExport.g:8940:1: rule__ImpliesExpression__Group_1__0__Impl : ( () ) ; + public final void rule__ImpliesExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9211:1: ( ( ruleChainedExpression ) ) - // InternalExport.g:9212:2: ( ruleChainedExpression ) + // InternalExport.g:8944:1: ( ( () ) ) + // InternalExport.g:8945:1: ( () ) { - // InternalExport.g:9212:2: ( ruleChainedExpression ) - // InternalExport.g:9213:3: ruleChainedExpression + // InternalExport.g:8945:1: ( () ) + // InternalExport.g:8946:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); + before(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); + } + // InternalExport.g:8947:2: () + // InternalExport.g:8947:3: + { } - pushFollow(FOLLOW_2); - ruleChainedExpression(); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); + after(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); } } @@ -30059,10 +31209,6 @@ public final void rule__IfExpressionKw__ConditionAssignment_1() throws Recogniti } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -30070,36 +31216,29 @@ public final void rule__IfExpressionKw__ConditionAssignment_1() throws Recogniti } return ; } - // $ANTLR end "rule__IfExpressionKw__ConditionAssignment_1" + // $ANTLR end "rule__ImpliesExpression__Group_1__0__Impl" - // $ANTLR start "rule__IfExpressionKw__ThenPartAssignment_3" - // InternalExport.g:9222:1: rule__IfExpressionKw__ThenPartAssignment_3 : ( ruleChainedExpression ) ; - public final void rule__IfExpressionKw__ThenPartAssignment_3() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__1" + // InternalExport.g:8955:1: rule__ImpliesExpression__Group_1__1 : rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 ; + public final void rule__ImpliesExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9226:1: ( ( ruleChainedExpression ) ) - // InternalExport.g:9227:2: ( ruleChainedExpression ) + // InternalExport.g:8959:1: ( rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 ) + // InternalExport.g:8960:2: rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 { - // InternalExport.g:9227:2: ( ruleChainedExpression ) - // InternalExport.g:9228:3: ruleChainedExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); - } - pushFollow(FOLLOW_2); - ruleChainedExpression(); + pushFollow(FOLLOW_49); + rule__ImpliesExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); - } - - } + pushFollow(FOLLOW_2); + rule__ImpliesExpression__Group_1__2(); + state._fsp--; + if (state.failed) return ; } @@ -30115,32 +31254,38 @@ public final void rule__IfExpressionKw__ThenPartAssignment_3() throws Recognitio } return ; } - // $ANTLR end "rule__IfExpressionKw__ThenPartAssignment_3" + // $ANTLR end "rule__ImpliesExpression__Group_1__1" - // $ANTLR start "rule__IfExpressionKw__ElsePartAssignment_4_0_1" - // InternalExport.g:9237:1: rule__IfExpressionKw__ElsePartAssignment_4_0_1 : ( ruleChainedExpression ) ; - public final void rule__IfExpressionKw__ElsePartAssignment_4_0_1() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__1__Impl" + // InternalExport.g:8967:1: rule__ImpliesExpression__Group_1__1__Impl : ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) ; + public final void rule__ImpliesExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9241:1: ( ( ruleChainedExpression ) ) - // InternalExport.g:9242:2: ( ruleChainedExpression ) + // InternalExport.g:8971:1: ( ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) ) + // InternalExport.g:8972:1: ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) { - // InternalExport.g:9242:2: ( ruleChainedExpression ) - // InternalExport.g:9243:3: ruleChainedExpression + // InternalExport.g:8972:1: ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) + // InternalExport.g:8973:2: ( rule__ImpliesExpression__OperatorAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); + before(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } + // InternalExport.g:8974:2: ( rule__ImpliesExpression__OperatorAssignment_1_1 ) + // InternalExport.g:8974:3: rule__ImpliesExpression__OperatorAssignment_1_1 + { pushFollow(FOLLOW_2); - ruleChainedExpression(); + rule__ImpliesExpression__OperatorAssignment_1_1(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); + after(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } } @@ -30160,36 +31305,24 @@ public final void rule__IfExpressionKw__ElsePartAssignment_4_0_1() throws Recogn } return ; } - // $ANTLR end "rule__IfExpressionKw__ElsePartAssignment_4_0_1" + // $ANTLR end "rule__ImpliesExpression__Group_1__1__Impl" - // $ANTLR start "rule__SwitchExpression__SwitchExprAssignment_1_1" - // InternalExport.g:9252:1: rule__SwitchExpression__SwitchExprAssignment_1_1 : ( ruleOrExpression ) ; - public final void rule__SwitchExpression__SwitchExprAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__2" + // InternalExport.g:8982:1: rule__ImpliesExpression__Group_1__2 : rule__ImpliesExpression__Group_1__2__Impl ; + public final void rule__ImpliesExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9256:1: ( ( ruleOrExpression ) ) - // InternalExport.g:9257:2: ( ruleOrExpression ) - { - // InternalExport.g:9257:2: ( ruleOrExpression ) - // InternalExport.g:9258:3: ruleOrExpression + // InternalExport.g:8986:1: ( rule__ImpliesExpression__Group_1__2__Impl ) + // InternalExport.g:8987:2: rule__ImpliesExpression__Group_1__2__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); - } pushFollow(FOLLOW_2); - ruleOrExpression(); + rule__ImpliesExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); - } - - } - } @@ -30205,32 +31338,38 @@ public final void rule__SwitchExpression__SwitchExprAssignment_1_1() throws Reco } return ; } - // $ANTLR end "rule__SwitchExpression__SwitchExprAssignment_1_1" + // $ANTLR end "rule__ImpliesExpression__Group_1__2" - // $ANTLR start "rule__SwitchExpression__CaseAssignment_3" - // InternalExport.g:9267:1: rule__SwitchExpression__CaseAssignment_3 : ( ruleCase ) ; - public final void rule__SwitchExpression__CaseAssignment_3() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__2__Impl" + // InternalExport.g:8993:1: rule__ImpliesExpression__Group_1__2__Impl : ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) ; + public final void rule__ImpliesExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9271:1: ( ( ruleCase ) ) - // InternalExport.g:9272:2: ( ruleCase ) + // InternalExport.g:8997:1: ( ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) ) + // InternalExport.g:8998:1: ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) { - // InternalExport.g:9272:2: ( ruleCase ) - // InternalExport.g:9273:3: ruleCase + // InternalExport.g:8998:1: ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) + // InternalExport.g:8999:2: ( rule__ImpliesExpression__RightAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); + before(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } + // InternalExport.g:9000:2: ( rule__ImpliesExpression__RightAssignment_1_2 ) + // InternalExport.g:9000:3: rule__ImpliesExpression__RightAssignment_1_2 + { pushFollow(FOLLOW_2); - ruleCase(); + rule__ImpliesExpression__RightAssignment_1_2(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); + after(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } } @@ -30250,36 +31389,29 @@ public final void rule__SwitchExpression__CaseAssignment_3() throws RecognitionE } return ; } - // $ANTLR end "rule__SwitchExpression__CaseAssignment_3" + // $ANTLR end "rule__ImpliesExpression__Group_1__2__Impl" - // $ANTLR start "rule__SwitchExpression__DefaultExprAssignment_6" - // InternalExport.g:9282:1: rule__SwitchExpression__DefaultExprAssignment_6 : ( ruleOrExpression ) ; - public final void rule__SwitchExpression__DefaultExprAssignment_6() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group__0" + // InternalExport.g:9009:1: rule__RelationalExpression__Group__0 : rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 ; + public final void rule__RelationalExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9286:1: ( ( ruleOrExpression ) ) - // InternalExport.g:9287:2: ( ruleOrExpression ) - { - // InternalExport.g:9287:2: ( ruleOrExpression ) - // InternalExport.g:9288:3: ruleOrExpression + // InternalExport.g:9013:1: ( rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 ) + // InternalExport.g:9014:2: rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); - } - pushFollow(FOLLOW_2); - ruleOrExpression(); + pushFollow(FOLLOW_56); + rule__RelationalExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); - } - - } + pushFollow(FOLLOW_2); + rule__RelationalExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -30295,32 +31427,32 @@ public final void rule__SwitchExpression__DefaultExprAssignment_6() throws Recog } return ; } - // $ANTLR end "rule__SwitchExpression__DefaultExprAssignment_6" + // $ANTLR end "rule__RelationalExpression__Group__0" - // $ANTLR start "rule__Case__ConditionAssignment_1" - // InternalExport.g:9297:1: rule__Case__ConditionAssignment_1 : ( ruleOrExpression ) ; - public final void rule__Case__ConditionAssignment_1() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group__0__Impl" + // InternalExport.g:9021:1: rule__RelationalExpression__Group__0__Impl : ( ruleAdditiveExpression ) ; + public final void rule__RelationalExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9301:1: ( ( ruleOrExpression ) ) - // InternalExport.g:9302:2: ( ruleOrExpression ) + // InternalExport.g:9025:1: ( ( ruleAdditiveExpression ) ) + // InternalExport.g:9026:1: ( ruleAdditiveExpression ) { - // InternalExport.g:9302:2: ( ruleOrExpression ) - // InternalExport.g:9303:3: ruleOrExpression + // InternalExport.g:9026:1: ( ruleAdditiveExpression ) + // InternalExport.g:9027:2: ruleAdditiveExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); + before(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } pushFollow(FOLLOW_2); - ruleOrExpression(); + ruleAdditiveExpression(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); + after(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } } @@ -30340,36 +31472,24 @@ public final void rule__Case__ConditionAssignment_1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__Case__ConditionAssignment_1" + // $ANTLR end "rule__RelationalExpression__Group__0__Impl" - // $ANTLR start "rule__Case__ThenParAssignment_3" - // InternalExport.g:9312:1: rule__Case__ThenParAssignment_3 : ( ruleOrExpression ) ; - public final void rule__Case__ThenParAssignment_3() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group__1" + // InternalExport.g:9036:1: rule__RelationalExpression__Group__1 : rule__RelationalExpression__Group__1__Impl ; + public final void rule__RelationalExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9316:1: ( ( ruleOrExpression ) ) - // InternalExport.g:9317:2: ( ruleOrExpression ) + // InternalExport.g:9040:1: ( rule__RelationalExpression__Group__1__Impl ) + // InternalExport.g:9041:2: rule__RelationalExpression__Group__1__Impl { - // InternalExport.g:9317:2: ( ruleOrExpression ) - // InternalExport.g:9318:3: ruleOrExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); - } pushFollow(FOLLOW_2); - ruleOrExpression(); + rule__RelationalExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); - } - - } - } @@ -30385,40 +31505,56 @@ public final void rule__Case__ThenParAssignment_3() throws RecognitionException } return ; } - // $ANTLR end "rule__Case__ThenParAssignment_3" + // $ANTLR end "rule__RelationalExpression__Group__1" - // $ANTLR start "rule__OrExpression__OperatorAssignment_1_1" - // InternalExport.g:9327:1: rule__OrExpression__OperatorAssignment_1_1 : ( ( '||' ) ) ; - public final void rule__OrExpression__OperatorAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group__1__Impl" + // InternalExport.g:9047:1: rule__RelationalExpression__Group__1__Impl : ( ( rule__RelationalExpression__Group_1__0 )* ) ; + public final void rule__RelationalExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9331:1: ( ( ( '||' ) ) ) - // InternalExport.g:9332:2: ( ( '||' ) ) + // InternalExport.g:9051:1: ( ( ( rule__RelationalExpression__Group_1__0 )* ) ) + // InternalExport.g:9052:1: ( ( rule__RelationalExpression__Group_1__0 )* ) { - // InternalExport.g:9332:2: ( ( '||' ) ) - // InternalExport.g:9333:3: ( '||' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); - } - // InternalExport.g:9334:3: ( '||' ) - // InternalExport.g:9335:4: '||' + // InternalExport.g:9052:1: ( ( rule__RelationalExpression__Group_1__0 )* ) + // InternalExport.g:9053:2: ( rule__RelationalExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); - } - match(input,77,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); + before(grammarAccess.getRelationalExpressionAccess().getGroup_1()); } + // InternalExport.g:9054:2: ( rule__RelationalExpression__Group_1__0 )* + loop95: + do { + int alt95=2; + int LA95_0 = input.LA(1); - } + if ( ((LA95_0>=17 && LA95_0<=22)) ) { + alt95=1; + } + + + switch (alt95) { + case 1 : + // InternalExport.g:9054:3: rule__RelationalExpression__Group_1__0 + { + pushFollow(FOLLOW_57); + rule__RelationalExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop95; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); + after(grammarAccess.getRelationalExpressionAccess().getGroup_1()); } } @@ -30438,36 +31574,29 @@ public final void rule__OrExpression__OperatorAssignment_1_1() throws Recognitio } return ; } - // $ANTLR end "rule__OrExpression__OperatorAssignment_1_1" + // $ANTLR end "rule__RelationalExpression__Group__1__Impl" - // $ANTLR start "rule__OrExpression__RightAssignment_1_2" - // InternalExport.g:9346:1: rule__OrExpression__RightAssignment_1_2 : ( ruleAndExpression ) ; - public final void rule__OrExpression__RightAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group_1__0" + // InternalExport.g:9063:1: rule__RelationalExpression__Group_1__0 : rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 ; + public final void rule__RelationalExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9350:1: ( ( ruleAndExpression ) ) - // InternalExport.g:9351:2: ( ruleAndExpression ) - { - // InternalExport.g:9351:2: ( ruleAndExpression ) - // InternalExport.g:9352:3: ruleAndExpression + // InternalExport.g:9067:1: ( rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 ) + // InternalExport.g:9068:2: rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); - } - pushFollow(FOLLOW_2); - ruleAndExpression(); + pushFollow(FOLLOW_56); + rule__RelationalExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); - } - - } + pushFollow(FOLLOW_2); + rule__RelationalExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -30483,40 +31612,32 @@ public final void rule__OrExpression__RightAssignment_1_2() throws RecognitionEx } return ; } - // $ANTLR end "rule__OrExpression__RightAssignment_1_2" + // $ANTLR end "rule__RelationalExpression__Group_1__0" - // $ANTLR start "rule__AndExpression__OperatorAssignment_1_1" - // InternalExport.g:9361:1: rule__AndExpression__OperatorAssignment_1_1 : ( ( '&&' ) ) ; - public final void rule__AndExpression__OperatorAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group_1__0__Impl" + // InternalExport.g:9075:1: rule__RelationalExpression__Group_1__0__Impl : ( () ) ; + public final void rule__RelationalExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9365:1: ( ( ( '&&' ) ) ) - // InternalExport.g:9366:2: ( ( '&&' ) ) + // InternalExport.g:9079:1: ( ( () ) ) + // InternalExport.g:9080:1: ( () ) { - // InternalExport.g:9366:2: ( ( '&&' ) ) - // InternalExport.g:9367:3: ( '&&' ) + // InternalExport.g:9080:1: ( () ) + // InternalExport.g:9081:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + before(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); } - // InternalExport.g:9368:3: ( '&&' ) - // InternalExport.g:9369:4: '&&' + // InternalExport.g:9082:2: () + // InternalExport.g:9082:3: { - if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); - } - match(input,78,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); - } - } if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + after(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); } } @@ -30525,10 +31646,6 @@ public final void rule__AndExpression__OperatorAssignment_1_1() throws Recogniti } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -30536,36 +31653,29 @@ public final void rule__AndExpression__OperatorAssignment_1_1() throws Recogniti } return ; } - // $ANTLR end "rule__AndExpression__OperatorAssignment_1_1" + // $ANTLR end "rule__RelationalExpression__Group_1__0__Impl" - // $ANTLR start "rule__AndExpression__RightAssignment_1_2" - // InternalExport.g:9380:1: rule__AndExpression__RightAssignment_1_2 : ( ruleImpliesExpression ) ; - public final void rule__AndExpression__RightAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group_1__1" + // InternalExport.g:9090:1: rule__RelationalExpression__Group_1__1 : rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 ; + public final void rule__RelationalExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9384:1: ( ( ruleImpliesExpression ) ) - // InternalExport.g:9385:2: ( ruleImpliesExpression ) + // InternalExport.g:9094:1: ( rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 ) + // InternalExport.g:9095:2: rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 { - // InternalExport.g:9385:2: ( ruleImpliesExpression ) - // InternalExport.g:9386:3: ruleImpliesExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); - } - pushFollow(FOLLOW_2); - ruleImpliesExpression(); + pushFollow(FOLLOW_49); + rule__RelationalExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); - } - - } + pushFollow(FOLLOW_2); + rule__RelationalExpression__Group_1__2(); + state._fsp--; + if (state.failed) return ; } @@ -30581,40 +31691,38 @@ public final void rule__AndExpression__RightAssignment_1_2() throws RecognitionE } return ; } - // $ANTLR end "rule__AndExpression__RightAssignment_1_2" + // $ANTLR end "rule__RelationalExpression__Group_1__1" - // $ANTLR start "rule__ImpliesExpression__OperatorAssignment_1_1" - // InternalExport.g:9395:1: rule__ImpliesExpression__OperatorAssignment_1_1 : ( ( 'implies' ) ) ; - public final void rule__ImpliesExpression__OperatorAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group_1__1__Impl" + // InternalExport.g:9102:1: rule__RelationalExpression__Group_1__1__Impl : ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) ; + public final void rule__RelationalExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9399:1: ( ( ( 'implies' ) ) ) - // InternalExport.g:9400:2: ( ( 'implies' ) ) + // InternalExport.g:9106:1: ( ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) ) + // InternalExport.g:9107:1: ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) { - // InternalExport.g:9400:2: ( ( 'implies' ) ) - // InternalExport.g:9401:3: ( 'implies' ) + // InternalExport.g:9107:1: ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) + // InternalExport.g:9108:2: ( rule__RelationalExpression__OperatorAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); + before(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } - // InternalExport.g:9402:3: ( 'implies' ) - // InternalExport.g:9403:4: 'implies' + // InternalExport.g:9109:2: ( rule__RelationalExpression__OperatorAssignment_1_1 ) + // InternalExport.g:9109:3: rule__RelationalExpression__OperatorAssignment_1_1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); - } - match(input,79,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); - } + pushFollow(FOLLOW_2); + rule__RelationalExpression__OperatorAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); + after(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } } @@ -30634,36 +31742,24 @@ public final void rule__ImpliesExpression__OperatorAssignment_1_1() throws Recog } return ; } - // $ANTLR end "rule__ImpliesExpression__OperatorAssignment_1_1" + // $ANTLR end "rule__RelationalExpression__Group_1__1__Impl" - // $ANTLR start "rule__ImpliesExpression__RightAssignment_1_2" - // InternalExport.g:9414:1: rule__ImpliesExpression__RightAssignment_1_2 : ( ruleRelationalExpression ) ; - public final void rule__ImpliesExpression__RightAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group_1__2" + // InternalExport.g:9117:1: rule__RelationalExpression__Group_1__2 : rule__RelationalExpression__Group_1__2__Impl ; + public final void rule__RelationalExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9418:1: ( ( ruleRelationalExpression ) ) - // InternalExport.g:9419:2: ( ruleRelationalExpression ) - { - // InternalExport.g:9419:2: ( ruleRelationalExpression ) - // InternalExport.g:9420:3: ruleRelationalExpression + // InternalExport.g:9121:1: ( rule__RelationalExpression__Group_1__2__Impl ) + // InternalExport.g:9122:2: rule__RelationalExpression__Group_1__2__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); - } pushFollow(FOLLOW_2); - ruleRelationalExpression(); + rule__RelationalExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); - } - - } - } @@ -30679,30 +31775,30 @@ public final void rule__ImpliesExpression__RightAssignment_1_2() throws Recognit } return ; } - // $ANTLR end "rule__ImpliesExpression__RightAssignment_1_2" + // $ANTLR end "rule__RelationalExpression__Group_1__2" - // $ANTLR start "rule__RelationalExpression__OperatorAssignment_1_1" - // InternalExport.g:9429:1: rule__RelationalExpression__OperatorAssignment_1_1 : ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) ; - public final void rule__RelationalExpression__OperatorAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group_1__2__Impl" + // InternalExport.g:9128:1: rule__RelationalExpression__Group_1__2__Impl : ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) ; + public final void rule__RelationalExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9433:1: ( ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) ) - // InternalExport.g:9434:2: ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) + // InternalExport.g:9132:1: ( ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) ) + // InternalExport.g:9133:1: ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) { - // InternalExport.g:9434:2: ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) - // InternalExport.g:9435:3: ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) + // InternalExport.g:9133:1: ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) + // InternalExport.g:9134:2: ( rule__RelationalExpression__RightAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); + before(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } - // InternalExport.g:9436:3: ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) - // InternalExport.g:9436:4: rule__RelationalExpression__OperatorAlternatives_1_1_0 + // InternalExport.g:9135:2: ( rule__RelationalExpression__RightAssignment_1_2 ) + // InternalExport.g:9135:3: rule__RelationalExpression__RightAssignment_1_2 { pushFollow(FOLLOW_2); - rule__RelationalExpression__OperatorAlternatives_1_1_0(); + rule__RelationalExpression__RightAssignment_1_2(); state._fsp--; if (state.failed) return ; @@ -30710,7 +31806,7 @@ public final void rule__RelationalExpression__OperatorAssignment_1_1() throws Re } if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); + after(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } } @@ -30730,36 +31826,29 @@ public final void rule__RelationalExpression__OperatorAssignment_1_1() throws Re } return ; } - // $ANTLR end "rule__RelationalExpression__OperatorAssignment_1_1" + // $ANTLR end "rule__RelationalExpression__Group_1__2__Impl" - // $ANTLR start "rule__RelationalExpression__RightAssignment_1_2" - // InternalExport.g:9444:1: rule__RelationalExpression__RightAssignment_1_2 : ( ruleAdditiveExpression ) ; - public final void rule__RelationalExpression__RightAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group__0" + // InternalExport.g:9144:1: rule__AdditiveExpression__Group__0 : rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ; + public final void rule__AdditiveExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9448:1: ( ( ruleAdditiveExpression ) ) - // InternalExport.g:9449:2: ( ruleAdditiveExpression ) - { - // InternalExport.g:9449:2: ( ruleAdditiveExpression ) - // InternalExport.g:9450:3: ruleAdditiveExpression + // InternalExport.g:9148:1: ( rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ) + // InternalExport.g:9149:2: rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); - } - pushFollow(FOLLOW_2); - ruleAdditiveExpression(); + pushFollow(FOLLOW_58); + rule__AdditiveExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); - } - - } + pushFollow(FOLLOW_2); + rule__AdditiveExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -30775,38 +31864,32 @@ public final void rule__RelationalExpression__RightAssignment_1_2() throws Recog } return ; } - // $ANTLR end "rule__RelationalExpression__RightAssignment_1_2" + // $ANTLR end "rule__AdditiveExpression__Group__0" - // $ANTLR start "rule__AdditiveExpression__NameAssignment_1_1" - // InternalExport.g:9459:1: rule__AdditiveExpression__NameAssignment_1_1 : ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) ; - public final void rule__AdditiveExpression__NameAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group__0__Impl" + // InternalExport.g:9156:1: rule__AdditiveExpression__Group__0__Impl : ( ruleMultiplicativeExpression ) ; + public final void rule__AdditiveExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9463:1: ( ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) ) - // InternalExport.g:9464:2: ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) + // InternalExport.g:9160:1: ( ( ruleMultiplicativeExpression ) ) + // InternalExport.g:9161:1: ( ruleMultiplicativeExpression ) { - // InternalExport.g:9464:2: ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) - // InternalExport.g:9465:3: ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) + // InternalExport.g:9161:1: ( ruleMultiplicativeExpression ) + // InternalExport.g:9162:2: ruleMultiplicativeExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); + before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } - // InternalExport.g:9466:3: ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) - // InternalExport.g:9466:4: rule__AdditiveExpression__NameAlternatives_1_1_0 - { pushFollow(FOLLOW_2); - rule__AdditiveExpression__NameAlternatives_1_1_0(); + ruleMultiplicativeExpression(); state._fsp--; if (state.failed) return ; - - } - if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); + after(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } } @@ -30826,36 +31909,24 @@ public final void rule__AdditiveExpression__NameAssignment_1_1() throws Recognit } return ; } - // $ANTLR end "rule__AdditiveExpression__NameAssignment_1_1" + // $ANTLR end "rule__AdditiveExpression__Group__0__Impl" - // $ANTLR start "rule__AdditiveExpression__ParamsAssignment_1_2" - // InternalExport.g:9474:1: rule__AdditiveExpression__ParamsAssignment_1_2 : ( ruleMultiplicativeExpression ) ; - public final void rule__AdditiveExpression__ParamsAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group__1" + // InternalExport.g:9171:1: rule__AdditiveExpression__Group__1 : rule__AdditiveExpression__Group__1__Impl ; + public final void rule__AdditiveExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9478:1: ( ( ruleMultiplicativeExpression ) ) - // InternalExport.g:9479:2: ( ruleMultiplicativeExpression ) + // InternalExport.g:9175:1: ( rule__AdditiveExpression__Group__1__Impl ) + // InternalExport.g:9176:2: rule__AdditiveExpression__Group__1__Impl { - // InternalExport.g:9479:2: ( ruleMultiplicativeExpression ) - // InternalExport.g:9480:3: ruleMultiplicativeExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); - } pushFollow(FOLLOW_2); - ruleMultiplicativeExpression(); + rule__AdditiveExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); - } - - } - } @@ -30871,41 +31942,59 @@ public final void rule__AdditiveExpression__ParamsAssignment_1_2() throws Recogn } return ; } - // $ANTLR end "rule__AdditiveExpression__ParamsAssignment_1_2" + // $ANTLR end "rule__AdditiveExpression__Group__1" - // $ANTLR start "rule__MultiplicativeExpression__NameAssignment_1_1" - // InternalExport.g:9489:1: rule__MultiplicativeExpression__NameAssignment_1_1 : ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) ; - public final void rule__MultiplicativeExpression__NameAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group__1__Impl" + // InternalExport.g:9182:1: rule__AdditiveExpression__Group__1__Impl : ( ( rule__AdditiveExpression__Group_1__0 )* ) ; + public final void rule__AdditiveExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9493:1: ( ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) ) - // InternalExport.g:9494:2: ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) + // InternalExport.g:9186:1: ( ( ( rule__AdditiveExpression__Group_1__0 )* ) ) + // InternalExport.g:9187:1: ( ( rule__AdditiveExpression__Group_1__0 )* ) { - // InternalExport.g:9494:2: ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) - // InternalExport.g:9495:3: ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) + // InternalExport.g:9187:1: ( ( rule__AdditiveExpression__Group_1__0 )* ) + // InternalExport.g:9188:2: ( rule__AdditiveExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); + before(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } - // InternalExport.g:9496:3: ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) - // InternalExport.g:9496:4: rule__MultiplicativeExpression__NameAlternatives_1_1_0 - { - pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__NameAlternatives_1_1_0(); + // InternalExport.g:9189:2: ( rule__AdditiveExpression__Group_1__0 )* + loop96: + do { + int alt96=2; + int LA96_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( ((LA96_0>=23 && LA96_0<=24)) ) { + alt96=1; + } - } - if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); - } + switch (alt96) { + case 1 : + // InternalExport.g:9189:3: rule__AdditiveExpression__Group_1__0 + { + pushFollow(FOLLOW_59); + rule__AdditiveExpression__Group_1__0(); - } + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop96; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); + } + + } } @@ -30922,36 +32011,29 @@ public final void rule__MultiplicativeExpression__NameAssignment_1_1() throws Re } return ; } - // $ANTLR end "rule__MultiplicativeExpression__NameAssignment_1_1" + // $ANTLR end "rule__AdditiveExpression__Group__1__Impl" - // $ANTLR start "rule__MultiplicativeExpression__ParamsAssignment_1_2" - // InternalExport.g:9504:1: rule__MultiplicativeExpression__ParamsAssignment_1_2 : ( ruleUnaryOrInfixExpression ) ; - public final void rule__MultiplicativeExpression__ParamsAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group_1__0" + // InternalExport.g:9198:1: rule__AdditiveExpression__Group_1__0 : rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ; + public final void rule__AdditiveExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9508:1: ( ( ruleUnaryOrInfixExpression ) ) - // InternalExport.g:9509:2: ( ruleUnaryOrInfixExpression ) - { - // InternalExport.g:9509:2: ( ruleUnaryOrInfixExpression ) - // InternalExport.g:9510:3: ruleUnaryOrInfixExpression + // InternalExport.g:9202:1: ( rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ) + // InternalExport.g:9203:2: rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); - } - pushFollow(FOLLOW_2); - ruleUnaryOrInfixExpression(); + pushFollow(FOLLOW_58); + rule__AdditiveExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); - } - - } + pushFollow(FOLLOW_2); + rule__AdditiveExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -30967,38 +32049,32 @@ public final void rule__MultiplicativeExpression__ParamsAssignment_1_2() throws } return ; } - // $ANTLR end "rule__MultiplicativeExpression__ParamsAssignment_1_2" + // $ANTLR end "rule__AdditiveExpression__Group_1__0" - // $ANTLR start "rule__UnaryExpression__NameAssignment_0" - // InternalExport.g:9519:1: rule__UnaryExpression__NameAssignment_0 : ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) ; - public final void rule__UnaryExpression__NameAssignment_0() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group_1__0__Impl" + // InternalExport.g:9210:1: rule__AdditiveExpression__Group_1__0__Impl : ( () ) ; + public final void rule__AdditiveExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9523:1: ( ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) ) - // InternalExport.g:9524:2: ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) + // InternalExport.g:9214:1: ( ( () ) ) + // InternalExport.g:9215:1: ( () ) { - // InternalExport.g:9524:2: ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) - // InternalExport.g:9525:3: ( rule__UnaryExpression__NameAlternatives_0_0 ) + // InternalExport.g:9215:1: ( () ) + // InternalExport.g:9216:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); + before(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); } - // InternalExport.g:9526:3: ( rule__UnaryExpression__NameAlternatives_0_0 ) - // InternalExport.g:9526:4: rule__UnaryExpression__NameAlternatives_0_0 + // InternalExport.g:9217:2: () + // InternalExport.g:9217:3: { - pushFollow(FOLLOW_2); - rule__UnaryExpression__NameAlternatives_0_0(); - - state._fsp--; - if (state.failed) return ; - } if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); + after(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); } } @@ -31007,10 +32083,6 @@ public final void rule__UnaryExpression__NameAssignment_0() throws RecognitionEx } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -31018,36 +32090,29 @@ public final void rule__UnaryExpression__NameAssignment_0() throws RecognitionEx } return ; } - // $ANTLR end "rule__UnaryExpression__NameAssignment_0" + // $ANTLR end "rule__AdditiveExpression__Group_1__0__Impl" - // $ANTLR start "rule__UnaryExpression__ParamsAssignment_1" - // InternalExport.g:9534:1: rule__UnaryExpression__ParamsAssignment_1 : ( ruleInfixExpression ) ; - public final void rule__UnaryExpression__ParamsAssignment_1() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group_1__1" + // InternalExport.g:9225:1: rule__AdditiveExpression__Group_1__1 : rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ; + public final void rule__AdditiveExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9538:1: ( ( ruleInfixExpression ) ) - // InternalExport.g:9539:2: ( ruleInfixExpression ) + // InternalExport.g:9229:1: ( rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ) + // InternalExport.g:9230:2: rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 { - // InternalExport.g:9539:2: ( ruleInfixExpression ) - // InternalExport.g:9540:3: ruleInfixExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); - } - pushFollow(FOLLOW_2); - ruleInfixExpression(); + pushFollow(FOLLOW_49); + rule__AdditiveExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__AdditiveExpression__Group_1__2(); + state._fsp--; + if (state.failed) return ; } @@ -31063,32 +32128,38 @@ public final void rule__UnaryExpression__ParamsAssignment_1() throws Recognition } return ; } - // $ANTLR end "rule__UnaryExpression__ParamsAssignment_1" + // $ANTLR end "rule__AdditiveExpression__Group_1__1" - // $ANTLR start "rule__InfixExpression__NameAssignment_1_0_2" - // InternalExport.g:9549:1: rule__InfixExpression__NameAssignment_1_0_2 : ( ruleIdentifier ) ; - public final void rule__InfixExpression__NameAssignment_1_0_2() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group_1__1__Impl" + // InternalExport.g:9237:1: rule__AdditiveExpression__Group_1__1__Impl : ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) ; + public final void rule__AdditiveExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9553:1: ( ( ruleIdentifier ) ) - // InternalExport.g:9554:2: ( ruleIdentifier ) + // InternalExport.g:9241:1: ( ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) ) + // InternalExport.g:9242:1: ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) { - // InternalExport.g:9554:2: ( ruleIdentifier ) - // InternalExport.g:9555:3: ruleIdentifier + // InternalExport.g:9242:1: ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) + // InternalExport.g:9243:2: ( rule__AdditiveExpression__NameAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); + before(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } + // InternalExport.g:9244:2: ( rule__AdditiveExpression__NameAssignment_1_1 ) + // InternalExport.g:9244:3: rule__AdditiveExpression__NameAssignment_1_1 + { pushFollow(FOLLOW_2); - ruleIdentifier(); + rule__AdditiveExpression__NameAssignment_1_1(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); + after(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } } @@ -31108,36 +32179,24 @@ public final void rule__InfixExpression__NameAssignment_1_0_2() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__NameAssignment_1_0_2" + // $ANTLR end "rule__AdditiveExpression__Group_1__1__Impl" - // $ANTLR start "rule__InfixExpression__ParamsAssignment_1_0_4_0" - // InternalExport.g:9564:1: rule__InfixExpression__ParamsAssignment_1_0_4_0 : ( ruleExpression ) ; - public final void rule__InfixExpression__ParamsAssignment_1_0_4_0() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group_1__2" + // InternalExport.g:9252:1: rule__AdditiveExpression__Group_1__2 : rule__AdditiveExpression__Group_1__2__Impl ; + public final void rule__AdditiveExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9568:1: ( ( ruleExpression ) ) - // InternalExport.g:9569:2: ( ruleExpression ) - { - // InternalExport.g:9569:2: ( ruleExpression ) - // InternalExport.g:9570:3: ruleExpression + // InternalExport.g:9256:1: ( rule__AdditiveExpression__Group_1__2__Impl ) + // InternalExport.g:9257:2: rule__AdditiveExpression__Group_1__2__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); - } pushFollow(FOLLOW_2); - ruleExpression(); + rule__AdditiveExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); - } - - } - } @@ -31153,32 +32212,38 @@ public final void rule__InfixExpression__ParamsAssignment_1_0_4_0() throws Recog } return ; } - // $ANTLR end "rule__InfixExpression__ParamsAssignment_1_0_4_0" + // $ANTLR end "rule__AdditiveExpression__Group_1__2" - // $ANTLR start "rule__InfixExpression__ParamsAssignment_1_0_4_1_1" - // InternalExport.g:9579:1: rule__InfixExpression__ParamsAssignment_1_0_4_1_1 : ( ruleExpression ) ; - public final void rule__InfixExpression__ParamsAssignment_1_0_4_1_1() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group_1__2__Impl" + // InternalExport.g:9263:1: rule__AdditiveExpression__Group_1__2__Impl : ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) ; + public final void rule__AdditiveExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9583:1: ( ( ruleExpression ) ) - // InternalExport.g:9584:2: ( ruleExpression ) + // InternalExport.g:9267:1: ( ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) ) + // InternalExport.g:9268:1: ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) { - // InternalExport.g:9584:2: ( ruleExpression ) - // InternalExport.g:9585:3: ruleExpression + // InternalExport.g:9268:1: ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) + // InternalExport.g:9269:2: ( rule__AdditiveExpression__ParamsAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); + before(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } + // InternalExport.g:9270:2: ( rule__AdditiveExpression__ParamsAssignment_1_2 ) + // InternalExport.g:9270:3: rule__AdditiveExpression__ParamsAssignment_1_2 + { pushFollow(FOLLOW_2); - ruleExpression(); + rule__AdditiveExpression__ParamsAssignment_1_2(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); + after(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } } @@ -31198,36 +32263,29 @@ public final void rule__InfixExpression__ParamsAssignment_1_0_4_1_1() throws Rec } return ; } - // $ANTLR end "rule__InfixExpression__ParamsAssignment_1_0_4_1_1" + // $ANTLR end "rule__AdditiveExpression__Group_1__2__Impl" - // $ANTLR start "rule__InfixExpression__TypeAssignment_1_1_2" - // InternalExport.g:9594:1: rule__InfixExpression__TypeAssignment_1_1_2 : ( ruleType ) ; - public final void rule__InfixExpression__TypeAssignment_1_1_2() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group__0" + // InternalExport.g:9279:1: rule__MultiplicativeExpression__Group__0 : rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ; + public final void rule__MultiplicativeExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9598:1: ( ( ruleType ) ) - // InternalExport.g:9599:2: ( ruleType ) - { - // InternalExport.g:9599:2: ( ruleType ) - // InternalExport.g:9600:3: ruleType + // InternalExport.g:9283:1: ( rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ) + // InternalExport.g:9284:2: rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); - } - pushFollow(FOLLOW_2); - ruleType(); + pushFollow(FOLLOW_60); + rule__MultiplicativeExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); - } - - } + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -31243,40 +32301,32 @@ public final void rule__InfixExpression__TypeAssignment_1_1_2() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__TypeAssignment_1_1_2" + // $ANTLR end "rule__MultiplicativeExpression__Group__0" - // $ANTLR start "rule__InfixExpression__NameAssignment_1_2_2" - // InternalExport.g:9609:1: rule__InfixExpression__NameAssignment_1_2_2 : ( ( 'typeSelect' ) ) ; - public final void rule__InfixExpression__NameAssignment_1_2_2() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group__0__Impl" + // InternalExport.g:9291:1: rule__MultiplicativeExpression__Group__0__Impl : ( ruleUnaryOrInfixExpression ) ; + public final void rule__MultiplicativeExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9613:1: ( ( ( 'typeSelect' ) ) ) - // InternalExport.g:9614:2: ( ( 'typeSelect' ) ) + // InternalExport.g:9295:1: ( ( ruleUnaryOrInfixExpression ) ) + // InternalExport.g:9296:1: ( ruleUnaryOrInfixExpression ) { - // InternalExport.g:9614:2: ( ( 'typeSelect' ) ) - // InternalExport.g:9615:3: ( 'typeSelect' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); - } - // InternalExport.g:9616:3: ( 'typeSelect' ) - // InternalExport.g:9617:4: 'typeSelect' + // InternalExport.g:9296:1: ( ruleUnaryOrInfixExpression ) + // InternalExport.g:9297:2: ruleUnaryOrInfixExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); - } - match(input,80,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); - } - + before(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } + pushFollow(FOLLOW_2); + ruleUnaryOrInfixExpression(); + state._fsp--; + if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); + after(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } } @@ -31296,36 +32346,24 @@ public final void rule__InfixExpression__NameAssignment_1_2_2() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__NameAssignment_1_2_2" + // $ANTLR end "rule__MultiplicativeExpression__Group__0__Impl" - // $ANTLR start "rule__InfixExpression__TypeAssignment_1_2_4" - // InternalExport.g:9628:1: rule__InfixExpression__TypeAssignment_1_2_4 : ( ruleType ) ; - public final void rule__InfixExpression__TypeAssignment_1_2_4() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group__1" + // InternalExport.g:9306:1: rule__MultiplicativeExpression__Group__1 : rule__MultiplicativeExpression__Group__1__Impl ; + public final void rule__MultiplicativeExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9632:1: ( ( ruleType ) ) - // InternalExport.g:9633:2: ( ruleType ) + // InternalExport.g:9310:1: ( rule__MultiplicativeExpression__Group__1__Impl ) + // InternalExport.g:9311:2: rule__MultiplicativeExpression__Group__1__Impl { - // InternalExport.g:9633:2: ( ruleType ) - // InternalExport.g:9634:3: ruleType - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); - } pushFollow(FOLLOW_2); - ruleType(); + rule__MultiplicativeExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); - } - - } - } @@ -31341,38 +32379,56 @@ public final void rule__InfixExpression__TypeAssignment_1_2_4() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__TypeAssignment_1_2_4" + // $ANTLR end "rule__MultiplicativeExpression__Group__1" - // $ANTLR start "rule__InfixExpression__NameAssignment_1_3_2" - // InternalExport.g:9643:1: rule__InfixExpression__NameAssignment_1_3_2 : ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) ; - public final void rule__InfixExpression__NameAssignment_1_3_2() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group__1__Impl" + // InternalExport.g:9317:1: rule__MultiplicativeExpression__Group__1__Impl : ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ; + public final void rule__MultiplicativeExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9647:1: ( ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) ) - // InternalExport.g:9648:2: ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) + // InternalExport.g:9321:1: ( ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ) + // InternalExport.g:9322:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* ) { - // InternalExport.g:9648:2: ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) - // InternalExport.g:9649:3: ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) + // InternalExport.g:9322:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* ) + // InternalExport.g:9323:2: ( rule__MultiplicativeExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); + before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } - // InternalExport.g:9650:3: ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) - // InternalExport.g:9650:4: rule__InfixExpression__NameAlternatives_1_3_2_0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__NameAlternatives_1_3_2_0(); + // InternalExport.g:9324:2: ( rule__MultiplicativeExpression__Group_1__0 )* + loop97: + do { + int alt97=2; + int LA97_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( ((LA97_0>=25 && LA97_0<=26)) ) { + alt97=1; + } - } + + switch (alt97) { + case 1 : + // InternalExport.g:9324:3: rule__MultiplicativeExpression__Group_1__0 + { + pushFollow(FOLLOW_61); + rule__MultiplicativeExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop97; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); + after(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } } @@ -31392,36 +32448,29 @@ public final void rule__InfixExpression__NameAssignment_1_3_2() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__NameAssignment_1_3_2" + // $ANTLR end "rule__MultiplicativeExpression__Group__1__Impl" - // $ANTLR start "rule__InfixExpression__VarAssignment_1_3_4_0" - // InternalExport.g:9658:1: rule__InfixExpression__VarAssignment_1_3_4_0 : ( ruleIdentifier ) ; - public final void rule__InfixExpression__VarAssignment_1_3_4_0() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group_1__0" + // InternalExport.g:9333:1: rule__MultiplicativeExpression__Group_1__0 : rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ; + public final void rule__MultiplicativeExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9662:1: ( ( ruleIdentifier ) ) - // InternalExport.g:9663:2: ( ruleIdentifier ) - { - // InternalExport.g:9663:2: ( ruleIdentifier ) - // InternalExport.g:9664:3: ruleIdentifier + // InternalExport.g:9337:1: ( rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ) + // InternalExport.g:9338:2: rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); - } - pushFollow(FOLLOW_2); - ruleIdentifier(); + pushFollow(FOLLOW_60); + rule__MultiplicativeExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); - } - - } + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -31437,32 +32486,32 @@ public final void rule__InfixExpression__VarAssignment_1_3_4_0() throws Recognit } return ; } - // $ANTLR end "rule__InfixExpression__VarAssignment_1_3_4_0" + // $ANTLR end "rule__MultiplicativeExpression__Group_1__0" - // $ANTLR start "rule__InfixExpression__ExpAssignment_1_3_5" - // InternalExport.g:9673:1: rule__InfixExpression__ExpAssignment_1_3_5 : ( ruleExpression ) ; - public final void rule__InfixExpression__ExpAssignment_1_3_5() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group_1__0__Impl" + // InternalExport.g:9345:1: rule__MultiplicativeExpression__Group_1__0__Impl : ( () ) ; + public final void rule__MultiplicativeExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9677:1: ( ( ruleExpression ) ) - // InternalExport.g:9678:2: ( ruleExpression ) + // InternalExport.g:9349:1: ( ( () ) ) + // InternalExport.g:9350:1: ( () ) { - // InternalExport.g:9678:2: ( ruleExpression ) - // InternalExport.g:9679:3: ruleExpression + // InternalExport.g:9350:1: ( () ) + // InternalExport.g:9351:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); + before(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); + } + // InternalExport.g:9352:2: () + // InternalExport.g:9352:3: + { } - pushFollow(FOLLOW_2); - ruleExpression(); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); + after(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); } } @@ -31471,10 +32520,6 @@ public final void rule__InfixExpression__ExpAssignment_1_3_5() throws Recognitio } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -31482,42 +32527,29 @@ public final void rule__InfixExpression__ExpAssignment_1_3_5() throws Recognitio } return ; } - // $ANTLR end "rule__InfixExpression__ExpAssignment_1_3_5" + // $ANTLR end "rule__MultiplicativeExpression__Group_1__0__Impl" - // $ANTLR start "rule__BooleanLiteral__ValAssignment" - // InternalExport.g:9688:1: rule__BooleanLiteral__ValAssignment : ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) ; - public final void rule__BooleanLiteral__ValAssignment() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group_1__1" + // InternalExport.g:9360:1: rule__MultiplicativeExpression__Group_1__1 : rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ; + public final void rule__MultiplicativeExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9692:1: ( ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) ) - // InternalExport.g:9693:2: ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) - { - // InternalExport.g:9693:2: ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) - // InternalExport.g:9694:3: ( rule__BooleanLiteral__ValAlternatives_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); - } - // InternalExport.g:9695:3: ( rule__BooleanLiteral__ValAlternatives_0 ) - // InternalExport.g:9695:4: rule__BooleanLiteral__ValAlternatives_0 + // InternalExport.g:9364:1: ( rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ) + // InternalExport.g:9365:2: rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 { - pushFollow(FOLLOW_2); - rule__BooleanLiteral__ValAlternatives_0(); + pushFollow(FOLLOW_49); + rule__MultiplicativeExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__Group_1__2(); - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); - } - - } - + state._fsp--; + if (state.failed) return ; } @@ -31533,28 +32565,38 @@ public final void rule__BooleanLiteral__ValAssignment() throws RecognitionExcept } return ; } - // $ANTLR end "rule__BooleanLiteral__ValAssignment" + // $ANTLR end "rule__MultiplicativeExpression__Group_1__1" - // $ANTLR start "rule__IntegerLiteral__ValAssignment" - // InternalExport.g:9703:1: rule__IntegerLiteral__ValAssignment : ( RULE_INT ) ; - public final void rule__IntegerLiteral__ValAssignment() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group_1__1__Impl" + // InternalExport.g:9372:1: rule__MultiplicativeExpression__Group_1__1__Impl : ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) ; + public final void rule__MultiplicativeExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9707:1: ( ( RULE_INT ) ) - // InternalExport.g:9708:2: ( RULE_INT ) + // InternalExport.g:9376:1: ( ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) ) + // InternalExport.g:9377:1: ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) { - // InternalExport.g:9708:2: ( RULE_INT ) - // InternalExport.g:9709:3: RULE_INT + // InternalExport.g:9377:1: ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) + // InternalExport.g:9378:2: ( rule__MultiplicativeExpression__NameAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); + before(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); } - match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:9379:2: ( rule__MultiplicativeExpression__NameAssignment_1_1 ) + // InternalExport.g:9379:3: rule__MultiplicativeExpression__NameAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__NameAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); + after(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); } } @@ -31574,44 +32616,24 @@ public final void rule__IntegerLiteral__ValAssignment() throws RecognitionExcept } return ; } - // $ANTLR end "rule__IntegerLiteral__ValAssignment" + // $ANTLR end "rule__MultiplicativeExpression__Group_1__1__Impl" - // $ANTLR start "rule__NullLiteral__ValAssignment" - // InternalExport.g:9718:1: rule__NullLiteral__ValAssignment : ( ( 'null' ) ) ; - public final void rule__NullLiteral__ValAssignment() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group_1__2" + // InternalExport.g:9387:1: rule__MultiplicativeExpression__Group_1__2 : rule__MultiplicativeExpression__Group_1__2__Impl ; + public final void rule__MultiplicativeExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9722:1: ( ( ( 'null' ) ) ) - // InternalExport.g:9723:2: ( ( 'null' ) ) - { - // InternalExport.g:9723:2: ( ( 'null' ) ) - // InternalExport.g:9724:3: ( 'null' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); - } - // InternalExport.g:9725:3: ( 'null' ) - // InternalExport.g:9726:4: 'null' + // InternalExport.g:9391:1: ( rule__MultiplicativeExpression__Group_1__2__Impl ) + // InternalExport.g:9392:2: rule__MultiplicativeExpression__Group_1__2__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); - } - match(input,81,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); - } - - } + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__Group_1__2__Impl(); + state._fsp--; + if (state.failed) return ; } @@ -31627,28 +32649,38 @@ public final void rule__NullLiteral__ValAssignment() throws RecognitionException } return ; } - // $ANTLR end "rule__NullLiteral__ValAssignment" + // $ANTLR end "rule__MultiplicativeExpression__Group_1__2" - // $ANTLR start "rule__RealLiteral__ValAssignment" - // InternalExport.g:9737:1: rule__RealLiteral__ValAssignment : ( RULE_REAL ) ; - public final void rule__RealLiteral__ValAssignment() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group_1__2__Impl" + // InternalExport.g:9398:1: rule__MultiplicativeExpression__Group_1__2__Impl : ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) ; + public final void rule__MultiplicativeExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9741:1: ( ( RULE_REAL ) ) - // InternalExport.g:9742:2: ( RULE_REAL ) + // InternalExport.g:9402:1: ( ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) ) + // InternalExport.g:9403:1: ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) { - // InternalExport.g:9742:2: ( RULE_REAL ) - // InternalExport.g:9743:3: RULE_REAL + // InternalExport.g:9403:1: ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) + // InternalExport.g:9404:2: ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); + before(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); } - match(input,RULE_REAL,FOLLOW_2); if (state.failed) return ; + // InternalExport.g:9405:2: ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) + // InternalExport.g:9405:3: rule__MultiplicativeExpression__ParamsAssignment_1_2 + { + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__ParamsAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); + after(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); } } @@ -31668,32 +32700,29 @@ public final void rule__RealLiteral__ValAssignment() throws RecognitionException } return ; } - // $ANTLR end "rule__RealLiteral__ValAssignment" + // $ANTLR end "rule__MultiplicativeExpression__Group_1__2__Impl" - // $ANTLR start "rule__StringLiteral__ValAssignment" - // InternalExport.g:9752:1: rule__StringLiteral__ValAssignment : ( RULE_STRING ) ; - public final void rule__StringLiteral__ValAssignment() throws RecognitionException { + // $ANTLR start "rule__UnaryExpression__Group__0" + // InternalExport.g:9414:1: rule__UnaryExpression__Group__0 : rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 ; + public final void rule__UnaryExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9756:1: ( ( RULE_STRING ) ) - // InternalExport.g:9757:2: ( RULE_STRING ) - { - // InternalExport.g:9757:2: ( RULE_STRING ) - // InternalExport.g:9758:3: RULE_STRING + // InternalExport.g:9418:1: ( rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 ) + // InternalExport.g:9419:2: rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); - } - match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); - } + pushFollow(FOLLOW_49); + rule__UnaryExpression__Group__0__Impl(); - } + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__UnaryExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -31709,32 +32738,38 @@ public final void rule__StringLiteral__ValAssignment() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__StringLiteral__ValAssignment" + // $ANTLR end "rule__UnaryExpression__Group__0" - // $ANTLR start "rule__GlobalVarExpression__NameAssignment_1" - // InternalExport.g:9767:1: rule__GlobalVarExpression__NameAssignment_1 : ( ruleIdentifier ) ; - public final void rule__GlobalVarExpression__NameAssignment_1() throws RecognitionException { + // $ANTLR start "rule__UnaryExpression__Group__0__Impl" + // InternalExport.g:9426:1: rule__UnaryExpression__Group__0__Impl : ( ( rule__UnaryExpression__NameAssignment_0 ) ) ; + public final void rule__UnaryExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9771:1: ( ( ruleIdentifier ) ) - // InternalExport.g:9772:2: ( ruleIdentifier ) + // InternalExport.g:9430:1: ( ( ( rule__UnaryExpression__NameAssignment_0 ) ) ) + // InternalExport.g:9431:1: ( ( rule__UnaryExpression__NameAssignment_0 ) ) { - // InternalExport.g:9772:2: ( ruleIdentifier ) - // InternalExport.g:9773:3: ruleIdentifier + // InternalExport.g:9431:1: ( ( rule__UnaryExpression__NameAssignment_0 ) ) + // InternalExport.g:9432:2: ( rule__UnaryExpression__NameAssignment_0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); + before(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); } + // InternalExport.g:9433:2: ( rule__UnaryExpression__NameAssignment_0 ) + // InternalExport.g:9433:3: rule__UnaryExpression__NameAssignment_0 + { pushFollow(FOLLOW_2); - ruleIdentifier(); + rule__UnaryExpression__NameAssignment_0(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); + after(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); } } @@ -31754,36 +32789,24 @@ public final void rule__GlobalVarExpression__NameAssignment_1() throws Recogniti } return ; } - // $ANTLR end "rule__GlobalVarExpression__NameAssignment_1" + // $ANTLR end "rule__UnaryExpression__Group__0__Impl" - // $ANTLR start "rule__FeatureCall__TypeAssignment_1" - // InternalExport.g:9782:1: rule__FeatureCall__TypeAssignment_1 : ( ruleType ) ; - public final void rule__FeatureCall__TypeAssignment_1() throws RecognitionException { + // $ANTLR start "rule__UnaryExpression__Group__1" + // InternalExport.g:9441:1: rule__UnaryExpression__Group__1 : rule__UnaryExpression__Group__1__Impl ; + public final void rule__UnaryExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9786:1: ( ( ruleType ) ) - // InternalExport.g:9787:2: ( ruleType ) + // InternalExport.g:9445:1: ( rule__UnaryExpression__Group__1__Impl ) + // InternalExport.g:9446:2: rule__UnaryExpression__Group__1__Impl { - // InternalExport.g:9787:2: ( ruleType ) - // InternalExport.g:9788:3: ruleType - { - if ( state.backtracking==0 ) { - before(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); - } pushFollow(FOLLOW_2); - ruleType(); + rule__UnaryExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); - } - - } - } @@ -31799,32 +32822,38 @@ public final void rule__FeatureCall__TypeAssignment_1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__FeatureCall__TypeAssignment_1" + // $ANTLR end "rule__UnaryExpression__Group__1" - // $ANTLR start "rule__OperationCall__NameAssignment_0" - // InternalExport.g:9797:1: rule__OperationCall__NameAssignment_0 : ( ruleIdentifier ) ; - public final void rule__OperationCall__NameAssignment_0() throws RecognitionException { + // $ANTLR start "rule__UnaryExpression__Group__1__Impl" + // InternalExport.g:9452:1: rule__UnaryExpression__Group__1__Impl : ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) ; + public final void rule__UnaryExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9801:1: ( ( ruleIdentifier ) ) - // InternalExport.g:9802:2: ( ruleIdentifier ) + // InternalExport.g:9456:1: ( ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) ) + // InternalExport.g:9457:1: ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) { - // InternalExport.g:9802:2: ( ruleIdentifier ) - // InternalExport.g:9803:3: ruleIdentifier + // InternalExport.g:9457:1: ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) + // InternalExport.g:9458:2: ( rule__UnaryExpression__ParamsAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); + before(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); } + // InternalExport.g:9459:2: ( rule__UnaryExpression__ParamsAssignment_1 ) + // InternalExport.g:9459:3: rule__UnaryExpression__ParamsAssignment_1 + { pushFollow(FOLLOW_2); - ruleIdentifier(); + rule__UnaryExpression__ParamsAssignment_1(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); + after(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); } } @@ -31844,36 +32873,29 @@ public final void rule__OperationCall__NameAssignment_0() throws RecognitionExce } return ; } - // $ANTLR end "rule__OperationCall__NameAssignment_0" + // $ANTLR end "rule__UnaryExpression__Group__1__Impl" - // $ANTLR start "rule__OperationCall__ParamsAssignment_2_0" - // InternalExport.g:9812:1: rule__OperationCall__ParamsAssignment_2_0 : ( ruleExpression ) ; - public final void rule__OperationCall__ParamsAssignment_2_0() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group__0" + // InternalExport.g:9468:1: rule__InfixExpression__Group__0 : rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 ; + public final void rule__InfixExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9816:1: ( ( ruleExpression ) ) - // InternalExport.g:9817:2: ( ruleExpression ) + // InternalExport.g:9472:1: ( rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 ) + // InternalExport.g:9473:2: rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 { - // InternalExport.g:9817:2: ( ruleExpression ) - // InternalExport.g:9818:3: ruleExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); + pushFollow(FOLLOW_62); + rule__InfixExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); - } - - } + pushFollow(FOLLOW_2); + rule__InfixExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -31889,32 +32911,32 @@ public final void rule__OperationCall__ParamsAssignment_2_0() throws Recognition } return ; } - // $ANTLR end "rule__OperationCall__ParamsAssignment_2_0" + // $ANTLR end "rule__InfixExpression__Group__0" - // $ANTLR start "rule__OperationCall__ParamsAssignment_2_1_1" - // InternalExport.g:9827:1: rule__OperationCall__ParamsAssignment_2_1_1 : ( ruleExpression ) ; - public final void rule__OperationCall__ParamsAssignment_2_1_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group__0__Impl" + // InternalExport.g:9480:1: rule__InfixExpression__Group__0__Impl : ( rulePrimaryExpression ) ; + public final void rule__InfixExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9831:1: ( ( ruleExpression ) ) - // InternalExport.g:9832:2: ( ruleExpression ) + // InternalExport.g:9484:1: ( ( rulePrimaryExpression ) ) + // InternalExport.g:9485:1: ( rulePrimaryExpression ) { - // InternalExport.g:9832:2: ( ruleExpression ) - // InternalExport.g:9833:3: ruleExpression + // InternalExport.g:9485:1: ( rulePrimaryExpression ) + // InternalExport.g:9486:2: rulePrimaryExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); + before(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); } pushFollow(FOLLOW_2); - ruleExpression(); + rulePrimaryExpression(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); + after(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); } } @@ -31934,36 +32956,24 @@ public final void rule__OperationCall__ParamsAssignment_2_1_1() throws Recogniti } return ; } - // $ANTLR end "rule__OperationCall__ParamsAssignment_2_1_1" + // $ANTLR end "rule__InfixExpression__Group__0__Impl" - // $ANTLR start "rule__ListLiteral__ElementsAssignment_2_0" - // InternalExport.g:9842:1: rule__ListLiteral__ElementsAssignment_2_0 : ( ruleExpression ) ; - public final void rule__ListLiteral__ElementsAssignment_2_0() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group__1" + // InternalExport.g:9495:1: rule__InfixExpression__Group__1 : rule__InfixExpression__Group__1__Impl ; + public final void rule__InfixExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9846:1: ( ( ruleExpression ) ) - // InternalExport.g:9847:2: ( ruleExpression ) - { - // InternalExport.g:9847:2: ( ruleExpression ) - // InternalExport.g:9848:3: ruleExpression + // InternalExport.g:9499:1: ( rule__InfixExpression__Group__1__Impl ) + // InternalExport.g:9500:2: rule__InfixExpression__Group__1__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); - } pushFollow(FOLLOW_2); - ruleExpression(); + rule__InfixExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); - } - - } - } @@ -31979,35 +32989,59 @@ public final void rule__ListLiteral__ElementsAssignment_2_0() throws Recognition } return ; } - // $ANTLR end "rule__ListLiteral__ElementsAssignment_2_0" + // $ANTLR end "rule__InfixExpression__Group__1" - // $ANTLR start "rule__ListLiteral__ElementsAssignment_2_1_1" - // InternalExport.g:9857:1: rule__ListLiteral__ElementsAssignment_2_1_1 : ( ruleExpression ) ; - public final void rule__ListLiteral__ElementsAssignment_2_1_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group__1__Impl" + // InternalExport.g:9506:1: rule__InfixExpression__Group__1__Impl : ( ( rule__InfixExpression__Alternatives_1 )* ) ; + public final void rule__InfixExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9861:1: ( ( ruleExpression ) ) - // InternalExport.g:9862:2: ( ruleExpression ) + // InternalExport.g:9510:1: ( ( ( rule__InfixExpression__Alternatives_1 )* ) ) + // InternalExport.g:9511:1: ( ( rule__InfixExpression__Alternatives_1 )* ) { - // InternalExport.g:9862:2: ( ruleExpression ) - // InternalExport.g:9863:3: ruleExpression + // InternalExport.g:9511:1: ( ( rule__InfixExpression__Alternatives_1 )* ) + // InternalExport.g:9512:2: ( rule__InfixExpression__Alternatives_1 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); - - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); + before(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); } + // InternalExport.g:9513:2: ( rule__InfixExpression__Alternatives_1 )* + loop98: + do { + int alt98=2; + int LA98_0 = input.LA(1); - } + if ( (LA98_0==58) ) { + alt98=1; + } + + + switch (alt98) { + case 1 : + // InternalExport.g:9513:3: rule__InfixExpression__Alternatives_1 + { + pushFollow(FOLLOW_63); + rule__InfixExpression__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop98; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); + } + + } } @@ -32024,32 +33058,145 @@ public final void rule__ListLiteral__ElementsAssignment_2_1_1() throws Recogniti } return ; } - // $ANTLR end "rule__ListLiteral__ElementsAssignment_2_1_1" + // $ANTLR end "rule__InfixExpression__Group__1__Impl" - // $ANTLR start "rule__ConstructorCallExpression__TypeAssignment_1" - // InternalExport.g:9872:1: rule__ConstructorCallExpression__TypeAssignment_1 : ( ruleSimpleType ) ; - public final void rule__ConstructorCallExpression__TypeAssignment_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0__0" + // InternalExport.g:9522:1: rule__InfixExpression__Group_1_0__0 : rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 ; + public final void rule__InfixExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9526:1: ( rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 ) + // InternalExport.g:9527:2: rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 + { + pushFollow(FOLLOW_62); + rule__InfixExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__0" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__0__Impl" + // InternalExport.g:9534:1: rule__InfixExpression__Group_1_0__0__Impl : ( () ) ; + public final void rule__InfixExpression__Group_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9876:1: ( ( ruleSimpleType ) ) - // InternalExport.g:9877:2: ( ruleSimpleType ) + // InternalExport.g:9538:1: ( ( () ) ) + // InternalExport.g:9539:1: ( () ) { - // InternalExport.g:9877:2: ( ruleSimpleType ) - // InternalExport.g:9878:3: ruleSimpleType + // InternalExport.g:9539:1: ( () ) + // InternalExport.g:9540:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); + before(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); + } + // InternalExport.g:9541:2: () + // InternalExport.g:9541:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); + } + + } + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__1" + // InternalExport.g:9549:1: rule__InfixExpression__Group_1_0__1 : rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 ; + public final void rule__InfixExpression__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9553:1: ( rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 ) + // InternalExport.g:9554:2: rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 + { + pushFollow(FOLLOW_11); + rule__InfixExpression__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - ruleSimpleType(); + rule__InfixExpression__Group_1_0__2(); state._fsp--; if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__1" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__1__Impl" + // InternalExport.g:9561:1: rule__InfixExpression__Group_1_0__1__Impl : ( '.' ) ; + public final void rule__InfixExpression__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9565:1: ( ( '.' ) ) + // InternalExport.g:9566:1: ( '.' ) + { + // InternalExport.g:9566:1: ( '.' ) + // InternalExport.g:9567:2: '.' + { if ( state.backtracking==0 ) { - after(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); + before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); } } @@ -32069,40 +33216,155 @@ public final void rule__ConstructorCallExpression__TypeAssignment_1() throws Rec } return ; } - // $ANTLR end "rule__ConstructorCallExpression__TypeAssignment_1" + // $ANTLR end "rule__InfixExpression__Group_1_0__1__Impl" - // $ANTLR start "rule__TypeSelectExpression__NameAssignment_0" - // InternalExport.g:9887:1: rule__TypeSelectExpression__NameAssignment_0 : ( ( 'typeSelect' ) ) ; - public final void rule__TypeSelectExpression__NameAssignment_0() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0__2" + // InternalExport.g:9576:1: rule__InfixExpression__Group_1_0__2 : rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 ; + public final void rule__InfixExpression__Group_1_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9580:1: ( rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 ) + // InternalExport.g:9581:2: rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 + { + pushFollow(FOLLOW_34); + rule__InfixExpression__Group_1_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__2" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__2__Impl" + // InternalExport.g:9588:1: rule__InfixExpression__Group_1_0__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) ; + public final void rule__InfixExpression__Group_1_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9891:1: ( ( ( 'typeSelect' ) ) ) - // InternalExport.g:9892:2: ( ( 'typeSelect' ) ) + // InternalExport.g:9592:1: ( ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) ) + // InternalExport.g:9593:1: ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) { - // InternalExport.g:9892:2: ( ( 'typeSelect' ) ) - // InternalExport.g:9893:3: ( 'typeSelect' ) + // InternalExport.g:9593:1: ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) + // InternalExport.g:9594:2: ( rule__InfixExpression__NameAssignment_1_0_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); } - // InternalExport.g:9894:3: ( 'typeSelect' ) - // InternalExport.g:9895:4: 'typeSelect' + // InternalExport.g:9595:2: ( rule__InfixExpression__NameAssignment_1_0_2 ) + // InternalExport.g:9595:3: rule__InfixExpression__NameAssignment_1_0_2 { - if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + pushFollow(FOLLOW_2); + rule__InfixExpression__NameAssignment_1_0_2(); + + state._fsp--; + if (state.failed) return ; + } - match(input,80,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); + } + + } + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__2__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__3" + // InternalExport.g:9603:1: rule__InfixExpression__Group_1_0__3 : rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 ; + public final void rule__InfixExpression__Group_1_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9607:1: ( rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 ) + // InternalExport.g:9608:2: rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 + { + pushFollow(FOLLOW_64); + rule__InfixExpression__Group_1_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__4(); + + state._fsp--; + if (state.failed) return ; + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__3" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__3__Impl" + // InternalExport.g:9615:1: rule__InfixExpression__Group_1_0__3__Impl : ( '(' ) ; + public final void rule__InfixExpression__Group_1_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9619:1: ( ( '(' ) ) + // InternalExport.g:9620:1: ( '(' ) + { + // InternalExport.g:9620:1: ( '(' ) + // InternalExport.g:9621:2: '(' + { if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); } } @@ -32122,32 +33384,161 @@ public final void rule__TypeSelectExpression__NameAssignment_0() throws Recognit } return ; } - // $ANTLR end "rule__TypeSelectExpression__NameAssignment_0" + // $ANTLR end "rule__InfixExpression__Group_1_0__3__Impl" - // $ANTLR start "rule__TypeSelectExpression__TypeAssignment_2" - // InternalExport.g:9906:1: rule__TypeSelectExpression__TypeAssignment_2 : ( ruleType ) ; - public final void rule__TypeSelectExpression__TypeAssignment_2() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0__4" + // InternalExport.g:9630:1: rule__InfixExpression__Group_1_0__4 : rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 ; + public final void rule__InfixExpression__Group_1_0__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9634:1: ( rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 ) + // InternalExport.g:9635:2: rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 + { + pushFollow(FOLLOW_64); + rule__InfixExpression__Group_1_0__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__4" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__4__Impl" + // InternalExport.g:9642:1: rule__InfixExpression__Group_1_0__4__Impl : ( ( rule__InfixExpression__Group_1_0_4__0 )? ) ; + public final void rule__InfixExpression__Group_1_0__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9910:1: ( ( ruleType ) ) - // InternalExport.g:9911:2: ( ruleType ) + // InternalExport.g:9646:1: ( ( ( rule__InfixExpression__Group_1_0_4__0 )? ) ) + // InternalExport.g:9647:1: ( ( rule__InfixExpression__Group_1_0_4__0 )? ) { - // InternalExport.g:9911:2: ( ruleType ) - // InternalExport.g:9912:3: ruleType + // InternalExport.g:9647:1: ( ( rule__InfixExpression__Group_1_0_4__0 )? ) + // InternalExport.g:9648:2: ( rule__InfixExpression__Group_1_0_4__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); + before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); + } + // InternalExport.g:9649:2: ( rule__InfixExpression__Group_1_0_4__0 )? + int alt99=2; + int LA99_0 = input.LA(1); + + if ( (LA99_0==RULE_ID||LA99_0==RULE_INT||(LA99_0>=RULE_STRING && LA99_0<=RULE_REAL)||LA99_0==24||(LA99_0>=27 && LA99_0<=40)||LA99_0==68||LA99_0==77||LA99_0==84||LA99_0==87||LA99_0==90||(LA99_0>=94 && LA99_0<=95)||LA99_0==100||LA99_0==115) ) { + alt99=1; + } + switch (alt99) { + case 1 : + // InternalExport.g:9649:3: rule__InfixExpression__Group_1_0_4__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); + } + + } + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__4__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__5" + // InternalExport.g:9657:1: rule__InfixExpression__Group_1_0__5 : rule__InfixExpression__Group_1_0__5__Impl ; + public final void rule__InfixExpression__Group_1_0__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9661:1: ( rule__InfixExpression__Group_1_0__5__Impl ) + // InternalExport.g:9662:2: rule__InfixExpression__Group_1_0__5__Impl + { pushFollow(FOLLOW_2); - ruleType(); + rule__InfixExpression__Group_1_0__5__Impl(); state._fsp--; if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__5" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__5__Impl" + // InternalExport.g:9668:1: rule__InfixExpression__Group_1_0__5__Impl : ( ')' ) ; + public final void rule__InfixExpression__Group_1_0__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9672:1: ( ( ')' ) ) + // InternalExport.g:9673:1: ( ')' ) + { + // InternalExport.g:9673:1: ( ')' ) + // InternalExport.g:9674:2: ')' + { if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); + before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); } } @@ -32167,421 +33558,57439 @@ public final void rule__TypeSelectExpression__TypeAssignment_2() throws Recognit } return ; } - // $ANTLR end "rule__TypeSelectExpression__TypeAssignment_2" + // $ANTLR end "rule__InfixExpression__Group_1_0__5__Impl" - // $ANTLR start "rule__CollectionExpression__NameAssignment_0" - // InternalExport.g:9921:1: rule__CollectionExpression__NameAssignment_0 : ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) ; - public final void rule__CollectionExpression__NameAssignment_0() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0_4__0" + // InternalExport.g:9684:1: rule__InfixExpression__Group_1_0_4__0 : rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 ; + public final void rule__InfixExpression__Group_1_0_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9688:1: ( rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 ) + // InternalExport.g:9689:2: rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 + { + pushFollow(FOLLOW_21); + rule__InfixExpression__Group_1_0_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0_4__0" + + + // $ANTLR start "rule__InfixExpression__Group_1_0_4__0__Impl" + // InternalExport.g:9696:1: rule__InfixExpression__Group_1_0_4__0__Impl : ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) ; + public final void rule__InfixExpression__Group_1_0_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExport.g:9925:1: ( ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) ) - // InternalExport.g:9926:2: ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) + // InternalExport.g:9700:1: ( ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) ) + // InternalExport.g:9701:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) { - // InternalExport.g:9926:2: ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) - // InternalExport.g:9927:3: ( rule__CollectionExpression__NameAlternatives_0_0 ) + // InternalExport.g:9701:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) + // InternalExport.g:9702:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); + before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); } - // InternalExport.g:9928:3: ( rule__CollectionExpression__NameAlternatives_0_0 ) - // InternalExport.g:9928:4: rule__CollectionExpression__NameAlternatives_0_0 + // InternalExport.g:9703:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) + // InternalExport.g:9703:3: rule__InfixExpression__ParamsAssignment_1_0_4_0 { pushFollow(FOLLOW_2); - rule__CollectionExpression__NameAlternatives_0_0(); + rule__InfixExpression__ParamsAssignment_1_0_4_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0_4__0__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_0_4__1" + // InternalExport.g:9711:1: rule__InfixExpression__Group_1_0_4__1 : rule__InfixExpression__Group_1_0_4__1__Impl ; + public final void rule__InfixExpression__Group_1_0_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9715:1: ( rule__InfixExpression__Group_1_0_4__1__Impl ) + // InternalExport.g:9716:2: rule__InfixExpression__Group_1_0_4__1__Impl + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0_4__1__Impl(); state._fsp--; if (state.failed) return ; - } + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0_4__1" + + + // $ANTLR start "rule__InfixExpression__Group_1_0_4__1__Impl" + // InternalExport.g:9722:1: rule__InfixExpression__Group_1_0_4__1__Impl : ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) ; + public final void rule__InfixExpression__Group_1_0_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9726:1: ( ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) ) + // InternalExport.g:9727:1: ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) + { + // InternalExport.g:9727:1: ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) + // InternalExport.g:9728:2: ( rule__InfixExpression__Group_1_0_4_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); + } + // InternalExport.g:9729:2: ( rule__InfixExpression__Group_1_0_4_1__0 )* + loop100: + do { + int alt100=2; + int LA100_0 = input.LA(1); + + if ( (LA100_0==74) ) { + alt100=1; + } + + + switch (alt100) { + case 1 : + // InternalExport.g:9729:3: rule__InfixExpression__Group_1_0_4_1__0 + { + pushFollow(FOLLOW_22); + rule__InfixExpression__Group_1_0_4_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop100; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0_4__1__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__0" + // InternalExport.g:9738:1: rule__InfixExpression__Group_1_0_4_1__0 : rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 ; + public final void rule__InfixExpression__Group_1_0_4_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9742:1: ( rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 ) + // InternalExport.g:9743:2: rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 + { + pushFollow(FOLLOW_18); + rule__InfixExpression__Group_1_0_4_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0_4_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__0" + + + // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__0__Impl" + // InternalExport.g:9750:1: rule__InfixExpression__Group_1_0_4_1__0__Impl : ( ',' ) ; + public final void rule__InfixExpression__Group_1_0_4_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9754:1: ( ( ',' ) ) + // InternalExport.g:9755:1: ( ',' ) + { + // InternalExport.g:9755:1: ( ',' ) + // InternalExport.g:9756:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__0__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__1" + // InternalExport.g:9765:1: rule__InfixExpression__Group_1_0_4_1__1 : rule__InfixExpression__Group_1_0_4_1__1__Impl ; + public final void rule__InfixExpression__Group_1_0_4_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9769:1: ( rule__InfixExpression__Group_1_0_4_1__1__Impl ) + // InternalExport.g:9770:2: rule__InfixExpression__Group_1_0_4_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0_4_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__1" + + + // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__1__Impl" + // InternalExport.g:9776:1: rule__InfixExpression__Group_1_0_4_1__1__Impl : ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) ; + public final void rule__InfixExpression__Group_1_0_4_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9780:1: ( ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) ) + // InternalExport.g:9781:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) + { + // InternalExport.g:9781:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) + // InternalExport.g:9782:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); + } + // InternalExport.g:9783:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) + // InternalExport.g:9783:3: rule__InfixExpression__ParamsAssignment_1_0_4_1_1 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__ParamsAssignment_1_0_4_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__1__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_1__0" + // InternalExport.g:9792:1: rule__InfixExpression__Group_1_1__0 : rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 ; + public final void rule__InfixExpression__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9796:1: ( rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 ) + // InternalExport.g:9797:2: rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 + { + pushFollow(FOLLOW_62); + rule__InfixExpression__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_1__0" + + + // $ANTLR start "rule__InfixExpression__Group_1_1__0__Impl" + // InternalExport.g:9804:1: rule__InfixExpression__Group_1_1__0__Impl : ( () ) ; + public final void rule__InfixExpression__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9808:1: ( ( () ) ) + // InternalExport.g:9809:1: ( () ) + { + // InternalExport.g:9809:1: ( () ) + // InternalExport.g:9810:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); + } + // InternalExport.g:9811:2: () + // InternalExport.g:9811:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_1__0__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_1__1" + // InternalExport.g:9819:1: rule__InfixExpression__Group_1_1__1 : rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 ; + public final void rule__InfixExpression__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9823:1: ( rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 ) + // InternalExport.g:9824:2: rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 + { + pushFollow(FOLLOW_40); + rule__InfixExpression__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_1__1" + + + // $ANTLR start "rule__InfixExpression__Group_1_1__1__Impl" + // InternalExport.g:9831:1: rule__InfixExpression__Group_1_1__1__Impl : ( '.' ) ; + public final void rule__InfixExpression__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9835:1: ( ( '.' ) ) + // InternalExport.g:9836:1: ( '.' ) + { + // InternalExport.g:9836:1: ( '.' ) + // InternalExport.g:9837:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_1__1__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_1__2" + // InternalExport.g:9846:1: rule__InfixExpression__Group_1_1__2 : rule__InfixExpression__Group_1_1__2__Impl ; + public final void rule__InfixExpression__Group_1_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9850:1: ( rule__InfixExpression__Group_1_1__2__Impl ) + // InternalExport.g:9851:2: rule__InfixExpression__Group_1_1__2__Impl + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_1__2" + + + // $ANTLR start "rule__InfixExpression__Group_1_1__2__Impl" + // InternalExport.g:9857:1: rule__InfixExpression__Group_1_1__2__Impl : ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) ; + public final void rule__InfixExpression__Group_1_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9861:1: ( ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) ) + // InternalExport.g:9862:1: ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) + { + // InternalExport.g:9862:1: ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) + // InternalExport.g:9863:2: ( rule__InfixExpression__TypeAssignment_1_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); + } + // InternalExport.g:9864:2: ( rule__InfixExpression__TypeAssignment_1_1_2 ) + // InternalExport.g:9864:3: rule__InfixExpression__TypeAssignment_1_1_2 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__TypeAssignment_1_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_1__2__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__0" + // InternalExport.g:9873:1: rule__InfixExpression__Group_1_2__0 : rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 ; + public final void rule__InfixExpression__Group_1_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9877:1: ( rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 ) + // InternalExport.g:9878:2: rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 + { + pushFollow(FOLLOW_62); + rule__InfixExpression__Group_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__0" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__0__Impl" + // InternalExport.g:9885:1: rule__InfixExpression__Group_1_2__0__Impl : ( () ) ; + public final void rule__InfixExpression__Group_1_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9889:1: ( ( () ) ) + // InternalExport.g:9890:1: ( () ) + { + // InternalExport.g:9890:1: ( () ) + // InternalExport.g:9891:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); + } + // InternalExport.g:9892:2: () + // InternalExport.g:9892:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__0__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__1" + // InternalExport.g:9900:1: rule__InfixExpression__Group_1_2__1 : rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 ; + public final void rule__InfixExpression__Group_1_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9904:1: ( rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 ) + // InternalExport.g:9905:2: rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 + { + pushFollow(FOLLOW_65); + rule__InfixExpression__Group_1_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__1" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__1__Impl" + // InternalExport.g:9912:1: rule__InfixExpression__Group_1_2__1__Impl : ( '.' ) ; + public final void rule__InfixExpression__Group_1_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9916:1: ( ( '.' ) ) + // InternalExport.g:9917:1: ( '.' ) + { + // InternalExport.g:9917:1: ( '.' ) + // InternalExport.g:9918:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__1__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__2" + // InternalExport.g:9927:1: rule__InfixExpression__Group_1_2__2 : rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 ; + public final void rule__InfixExpression__Group_1_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9931:1: ( rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 ) + // InternalExport.g:9932:2: rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 + { + pushFollow(FOLLOW_34); + rule__InfixExpression__Group_1_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__2" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__2__Impl" + // InternalExport.g:9939:1: rule__InfixExpression__Group_1_2__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) ; + public final void rule__InfixExpression__Group_1_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9943:1: ( ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) ) + // InternalExport.g:9944:1: ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) + { + // InternalExport.g:9944:1: ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) + // InternalExport.g:9945:2: ( rule__InfixExpression__NameAssignment_1_2_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); + } + // InternalExport.g:9946:2: ( rule__InfixExpression__NameAssignment_1_2_2 ) + // InternalExport.g:9946:3: rule__InfixExpression__NameAssignment_1_2_2 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__NameAssignment_1_2_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__2__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__3" + // InternalExport.g:9954:1: rule__InfixExpression__Group_1_2__3 : rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 ; + public final void rule__InfixExpression__Group_1_2__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9958:1: ( rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 ) + // InternalExport.g:9959:2: rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 + { + pushFollow(FOLLOW_40); + rule__InfixExpression__Group_1_2__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__3" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__3__Impl" + // InternalExport.g:9966:1: rule__InfixExpression__Group_1_2__3__Impl : ( '(' ) ; + public final void rule__InfixExpression__Group_1_2__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9970:1: ( ( '(' ) ) + // InternalExport.g:9971:1: ( '(' ) + { + // InternalExport.g:9971:1: ( '(' ) + // InternalExport.g:9972:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__3__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__4" + // InternalExport.g:9981:1: rule__InfixExpression__Group_1_2__4 : rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 ; + public final void rule__InfixExpression__Group_1_2__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9985:1: ( rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 ) + // InternalExport.g:9986:2: rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 + { + pushFollow(FOLLOW_25); + rule__InfixExpression__Group_1_2__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__4" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__4__Impl" + // InternalExport.g:9993:1: rule__InfixExpression__Group_1_2__4__Impl : ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) ; + public final void rule__InfixExpression__Group_1_2__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:9997:1: ( ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) ) + // InternalExport.g:9998:1: ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) + { + // InternalExport.g:9998:1: ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) + // InternalExport.g:9999:2: ( rule__InfixExpression__TypeAssignment_1_2_4 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); + } + // InternalExport.g:10000:2: ( rule__InfixExpression__TypeAssignment_1_2_4 ) + // InternalExport.g:10000:3: rule__InfixExpression__TypeAssignment_1_2_4 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__TypeAssignment_1_2_4(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__4__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__5" + // InternalExport.g:10008:1: rule__InfixExpression__Group_1_2__5 : rule__InfixExpression__Group_1_2__5__Impl ; + public final void rule__InfixExpression__Group_1_2__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10012:1: ( rule__InfixExpression__Group_1_2__5__Impl ) + // InternalExport.g:10013:2: rule__InfixExpression__Group_1_2__5__Impl + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__5" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__5__Impl" + // InternalExport.g:10019:1: rule__InfixExpression__Group_1_2__5__Impl : ( ')' ) ; + public final void rule__InfixExpression__Group_1_2__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10023:1: ( ( ')' ) ) + // InternalExport.g:10024:1: ( ')' ) + { + // InternalExport.g:10024:1: ( ')' ) + // InternalExport.g:10025:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__5__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__0" + // InternalExport.g:10035:1: rule__InfixExpression__Group_1_3__0 : rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 ; + public final void rule__InfixExpression__Group_1_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10039:1: ( rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 ) + // InternalExport.g:10040:2: rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 + { + pushFollow(FOLLOW_62); + rule__InfixExpression__Group_1_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__0" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__0__Impl" + // InternalExport.g:10047:1: rule__InfixExpression__Group_1_3__0__Impl : ( () ) ; + public final void rule__InfixExpression__Group_1_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10051:1: ( ( () ) ) + // InternalExport.g:10052:1: ( () ) + { + // InternalExport.g:10052:1: ( () ) + // InternalExport.g:10053:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); + } + // InternalExport.g:10054:2: () + // InternalExport.g:10054:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__0__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__1" + // InternalExport.g:10062:1: rule__InfixExpression__Group_1_3__1 : rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 ; + public final void rule__InfixExpression__Group_1_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10066:1: ( rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 ) + // InternalExport.g:10067:2: rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 + { + pushFollow(FOLLOW_66); + rule__InfixExpression__Group_1_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__1" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__1__Impl" + // InternalExport.g:10074:1: rule__InfixExpression__Group_1_3__1__Impl : ( '.' ) ; + public final void rule__InfixExpression__Group_1_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10078:1: ( ( '.' ) ) + // InternalExport.g:10079:1: ( '.' ) + { + // InternalExport.g:10079:1: ( '.' ) + // InternalExport.g:10080:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__1__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__2" + // InternalExport.g:10089:1: rule__InfixExpression__Group_1_3__2 : rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 ; + public final void rule__InfixExpression__Group_1_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10093:1: ( rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 ) + // InternalExport.g:10094:2: rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 + { + pushFollow(FOLLOW_34); + rule__InfixExpression__Group_1_3__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__2" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__2__Impl" + // InternalExport.g:10101:1: rule__InfixExpression__Group_1_3__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) ; + public final void rule__InfixExpression__Group_1_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10105:1: ( ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) ) + // InternalExport.g:10106:1: ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) + { + // InternalExport.g:10106:1: ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) + // InternalExport.g:10107:2: ( rule__InfixExpression__NameAssignment_1_3_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); + } + // InternalExport.g:10108:2: ( rule__InfixExpression__NameAssignment_1_3_2 ) + // InternalExport.g:10108:3: rule__InfixExpression__NameAssignment_1_3_2 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__NameAssignment_1_3_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__2__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__3" + // InternalExport.g:10116:1: rule__InfixExpression__Group_1_3__3 : rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 ; + public final void rule__InfixExpression__Group_1_3__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10120:1: ( rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 ) + // InternalExport.g:10121:2: rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 + { + pushFollow(FOLLOW_18); + rule__InfixExpression__Group_1_3__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__3" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__3__Impl" + // InternalExport.g:10128:1: rule__InfixExpression__Group_1_3__3__Impl : ( '(' ) ; + public final void rule__InfixExpression__Group_1_3__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10132:1: ( ( '(' ) ) + // InternalExport.g:10133:1: ( '(' ) + { + // InternalExport.g:10133:1: ( '(' ) + // InternalExport.g:10134:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__3__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__4" + // InternalExport.g:10143:1: rule__InfixExpression__Group_1_3__4 : rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 ; + public final void rule__InfixExpression__Group_1_3__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10147:1: ( rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 ) + // InternalExport.g:10148:2: rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 + { + pushFollow(FOLLOW_18); + rule__InfixExpression__Group_1_3__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__4" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__4__Impl" + // InternalExport.g:10155:1: rule__InfixExpression__Group_1_3__4__Impl : ( ( rule__InfixExpression__Group_1_3_4__0 )? ) ; + public final void rule__InfixExpression__Group_1_3__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10159:1: ( ( ( rule__InfixExpression__Group_1_3_4__0 )? ) ) + // InternalExport.g:10160:1: ( ( rule__InfixExpression__Group_1_3_4__0 )? ) + { + // InternalExport.g:10160:1: ( ( rule__InfixExpression__Group_1_3_4__0 )? ) + // InternalExport.g:10161:2: ( rule__InfixExpression__Group_1_3_4__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); + } + // InternalExport.g:10162:2: ( rule__InfixExpression__Group_1_3_4__0 )? + int alt101=2; + int LA101_0 = input.LA(1); + + if ( (LA101_0==RULE_ID) ) { + int LA101_1 = input.LA(2); + + if ( (LA101_1==93) ) { + alt101=1; + } + } + switch (alt101) { + case 1 : + // InternalExport.g:10162:3: rule__InfixExpression__Group_1_3_4__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__4__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__5" + // InternalExport.g:10170:1: rule__InfixExpression__Group_1_3__5 : rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 ; + public final void rule__InfixExpression__Group_1_3__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10174:1: ( rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 ) + // InternalExport.g:10175:2: rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 + { + pushFollow(FOLLOW_25); + rule__InfixExpression__Group_1_3__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__5" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__5__Impl" + // InternalExport.g:10182:1: rule__InfixExpression__Group_1_3__5__Impl : ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) ; + public final void rule__InfixExpression__Group_1_3__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10186:1: ( ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) ) + // InternalExport.g:10187:1: ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) + { + // InternalExport.g:10187:1: ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) + // InternalExport.g:10188:2: ( rule__InfixExpression__ExpAssignment_1_3_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); + } + // InternalExport.g:10189:2: ( rule__InfixExpression__ExpAssignment_1_3_5 ) + // InternalExport.g:10189:3: rule__InfixExpression__ExpAssignment_1_3_5 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__ExpAssignment_1_3_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__5__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__6" + // InternalExport.g:10197:1: rule__InfixExpression__Group_1_3__6 : rule__InfixExpression__Group_1_3__6__Impl ; + public final void rule__InfixExpression__Group_1_3__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10201:1: ( rule__InfixExpression__Group_1_3__6__Impl ) + // InternalExport.g:10202:2: rule__InfixExpression__Group_1_3__6__Impl + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__6__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__6" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__6__Impl" + // InternalExport.g:10208:1: rule__InfixExpression__Group_1_3__6__Impl : ( ')' ) ; + public final void rule__InfixExpression__Group_1_3__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10212:1: ( ( ')' ) ) + // InternalExport.g:10213:1: ( ')' ) + { + // InternalExport.g:10213:1: ( ')' ) + // InternalExport.g:10214:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__6__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3_4__0" + // InternalExport.g:10224:1: rule__InfixExpression__Group_1_3_4__0 : rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 ; + public final void rule__InfixExpression__Group_1_3_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10228:1: ( rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 ) + // InternalExport.g:10229:2: rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 + { + pushFollow(FOLLOW_67); + rule__InfixExpression__Group_1_3_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3_4__0" + + + // $ANTLR start "rule__InfixExpression__Group_1_3_4__0__Impl" + // InternalExport.g:10236:1: rule__InfixExpression__Group_1_3_4__0__Impl : ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) ; + public final void rule__InfixExpression__Group_1_3_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10240:1: ( ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) ) + // InternalExport.g:10241:1: ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) + { + // InternalExport.g:10241:1: ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) + // InternalExport.g:10242:2: ( rule__InfixExpression__VarAssignment_1_3_4_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); + } + // InternalExport.g:10243:2: ( rule__InfixExpression__VarAssignment_1_3_4_0 ) + // InternalExport.g:10243:3: rule__InfixExpression__VarAssignment_1_3_4_0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__VarAssignment_1_3_4_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3_4__0__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3_4__1" + // InternalExport.g:10251:1: rule__InfixExpression__Group_1_3_4__1 : rule__InfixExpression__Group_1_3_4__1__Impl ; + public final void rule__InfixExpression__Group_1_3_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10255:1: ( rule__InfixExpression__Group_1_3_4__1__Impl ) + // InternalExport.g:10256:2: rule__InfixExpression__Group_1_3_4__1__Impl + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3_4__1" + + + // $ANTLR start "rule__InfixExpression__Group_1_3_4__1__Impl" + // InternalExport.g:10262:1: rule__InfixExpression__Group_1_3_4__1__Impl : ( '|' ) ; + public final void rule__InfixExpression__Group_1_3_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10266:1: ( ( '|' ) ) + // InternalExport.g:10267:1: ( '|' ) + { + // InternalExport.g:10267:1: ( '|' ) + // InternalExport.g:10268:2: '|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); + } + match(input,93,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3_4__1__Impl" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__0" + // InternalExport.g:10278:1: rule__ParanthesizedExpression__Group__0 : rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 ; + public final void rule__ParanthesizedExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10282:1: ( rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 ) + // InternalExport.g:10283:2: rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 + { + pushFollow(FOLLOW_18); + rule__ParanthesizedExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ParanthesizedExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__0" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__0__Impl" + // InternalExport.g:10290:1: rule__ParanthesizedExpression__Group__0__Impl : ( '(' ) ; + public final void rule__ParanthesizedExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10294:1: ( ( '(' ) ) + // InternalExport.g:10295:1: ( '(' ) + { + // InternalExport.g:10295:1: ( '(' ) + // InternalExport.g:10296:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__0__Impl" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__1" + // InternalExport.g:10305:1: rule__ParanthesizedExpression__Group__1 : rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 ; + public final void rule__ParanthesizedExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10309:1: ( rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 ) + // InternalExport.g:10310:2: rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 + { + pushFollow(FOLLOW_25); + rule__ParanthesizedExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ParanthesizedExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__1" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__1__Impl" + // InternalExport.g:10317:1: rule__ParanthesizedExpression__Group__1__Impl : ( ruleExpression ) ; + public final void rule__ParanthesizedExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10321:1: ( ( ruleExpression ) ) + // InternalExport.g:10322:1: ( ruleExpression ) + { + // InternalExport.g:10322:1: ( ruleExpression ) + // InternalExport.g:10323:2: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__1__Impl" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__2" + // InternalExport.g:10332:1: rule__ParanthesizedExpression__Group__2 : rule__ParanthesizedExpression__Group__2__Impl ; + public final void rule__ParanthesizedExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10336:1: ( rule__ParanthesizedExpression__Group__2__Impl ) + // InternalExport.g:10337:2: rule__ParanthesizedExpression__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__ParanthesizedExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__2" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__2__Impl" + // InternalExport.g:10343:1: rule__ParanthesizedExpression__Group__2__Impl : ( ')' ) ; + public final void rule__ParanthesizedExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10347:1: ( ( ')' ) ) + // InternalExport.g:10348:1: ( ')' ) + { + // InternalExport.g:10348:1: ( ')' ) + // InternalExport.g:10349:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__2__Impl" + + + // $ANTLR start "rule__GlobalVarExpression__Group__0" + // InternalExport.g:10359:1: rule__GlobalVarExpression__Group__0 : rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 ; + public final void rule__GlobalVarExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10363:1: ( rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 ) + // InternalExport.g:10364:2: rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 + { + pushFollow(FOLLOW_11); + rule__GlobalVarExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__GlobalVarExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalVarExpression__Group__0" + + + // $ANTLR start "rule__GlobalVarExpression__Group__0__Impl" + // InternalExport.g:10371:1: rule__GlobalVarExpression__Group__0__Impl : ( 'GLOBALVAR' ) ; + public final void rule__GlobalVarExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10375:1: ( ( 'GLOBALVAR' ) ) + // InternalExport.g:10376:1: ( 'GLOBALVAR' ) + { + // InternalExport.g:10376:1: ( 'GLOBALVAR' ) + // InternalExport.g:10377:2: 'GLOBALVAR' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); + } + match(input,94,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalVarExpression__Group__0__Impl" + + + // $ANTLR start "rule__GlobalVarExpression__Group__1" + // InternalExport.g:10386:1: rule__GlobalVarExpression__Group__1 : rule__GlobalVarExpression__Group__1__Impl ; + public final void rule__GlobalVarExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10390:1: ( rule__GlobalVarExpression__Group__1__Impl ) + // InternalExport.g:10391:2: rule__GlobalVarExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__GlobalVarExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalVarExpression__Group__1" + + + // $ANTLR start "rule__GlobalVarExpression__Group__1__Impl" + // InternalExport.g:10397:1: rule__GlobalVarExpression__Group__1__Impl : ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) ; + public final void rule__GlobalVarExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10401:1: ( ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) ) + // InternalExport.g:10402:1: ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) + { + // InternalExport.g:10402:1: ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) + // InternalExport.g:10403:2: ( rule__GlobalVarExpression__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); + } + // InternalExport.g:10404:2: ( rule__GlobalVarExpression__NameAssignment_1 ) + // InternalExport.g:10404:3: rule__GlobalVarExpression__NameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__GlobalVarExpression__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalVarExpression__Group__1__Impl" + + + // $ANTLR start "rule__OperationCall__Group__0" + // InternalExport.g:10413:1: rule__OperationCall__Group__0 : rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 ; + public final void rule__OperationCall__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10417:1: ( rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 ) + // InternalExport.g:10418:2: rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 + { + pushFollow(FOLLOW_34); + rule__OperationCall__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OperationCall__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__0" + + + // $ANTLR start "rule__OperationCall__Group__0__Impl" + // InternalExport.g:10425:1: rule__OperationCall__Group__0__Impl : ( ( rule__OperationCall__NameAssignment_0 ) ) ; + public final void rule__OperationCall__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10429:1: ( ( ( rule__OperationCall__NameAssignment_0 ) ) ) + // InternalExport.g:10430:1: ( ( rule__OperationCall__NameAssignment_0 ) ) + { + // InternalExport.g:10430:1: ( ( rule__OperationCall__NameAssignment_0 ) ) + // InternalExport.g:10431:2: ( rule__OperationCall__NameAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getNameAssignment_0()); + } + // InternalExport.g:10432:2: ( rule__OperationCall__NameAssignment_0 ) + // InternalExport.g:10432:3: rule__OperationCall__NameAssignment_0 + { + pushFollow(FOLLOW_2); + rule__OperationCall__NameAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getNameAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__0__Impl" + + + // $ANTLR start "rule__OperationCall__Group__1" + // InternalExport.g:10440:1: rule__OperationCall__Group__1 : rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 ; + public final void rule__OperationCall__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10444:1: ( rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 ) + // InternalExport.g:10445:2: rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 + { + pushFollow(FOLLOW_64); + rule__OperationCall__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OperationCall__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__1" + + + // $ANTLR start "rule__OperationCall__Group__1__Impl" + // InternalExport.g:10452:1: rule__OperationCall__Group__1__Impl : ( '(' ) ; + public final void rule__OperationCall__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10456:1: ( ( '(' ) ) + // InternalExport.g:10457:1: ( '(' ) + { + // InternalExport.g:10457:1: ( '(' ) + // InternalExport.g:10458:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__1__Impl" + + + // $ANTLR start "rule__OperationCall__Group__2" + // InternalExport.g:10467:1: rule__OperationCall__Group__2 : rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 ; + public final void rule__OperationCall__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10471:1: ( rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 ) + // InternalExport.g:10472:2: rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 + { + pushFollow(FOLLOW_64); + rule__OperationCall__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OperationCall__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__2" + + + // $ANTLR start "rule__OperationCall__Group__2__Impl" + // InternalExport.g:10479:1: rule__OperationCall__Group__2__Impl : ( ( rule__OperationCall__Group_2__0 )? ) ; + public final void rule__OperationCall__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10483:1: ( ( ( rule__OperationCall__Group_2__0 )? ) ) + // InternalExport.g:10484:1: ( ( rule__OperationCall__Group_2__0 )? ) + { + // InternalExport.g:10484:1: ( ( rule__OperationCall__Group_2__0 )? ) + // InternalExport.g:10485:2: ( rule__OperationCall__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getGroup_2()); + } + // InternalExport.g:10486:2: ( rule__OperationCall__Group_2__0 )? + int alt102=2; + int LA102_0 = input.LA(1); + + if ( (LA102_0==RULE_ID||LA102_0==RULE_INT||(LA102_0>=RULE_STRING && LA102_0<=RULE_REAL)||LA102_0==24||(LA102_0>=27 && LA102_0<=40)||LA102_0==68||LA102_0==77||LA102_0==84||LA102_0==87||LA102_0==90||(LA102_0>=94 && LA102_0<=95)||LA102_0==100||LA102_0==115) ) { + alt102=1; + } + switch (alt102) { + case 1 : + // InternalExport.g:10486:3: rule__OperationCall__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__OperationCall__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__2__Impl" + + + // $ANTLR start "rule__OperationCall__Group__3" + // InternalExport.g:10494:1: rule__OperationCall__Group__3 : rule__OperationCall__Group__3__Impl ; + public final void rule__OperationCall__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10498:1: ( rule__OperationCall__Group__3__Impl ) + // InternalExport.g:10499:2: rule__OperationCall__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__OperationCall__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__3" + + + // $ANTLR start "rule__OperationCall__Group__3__Impl" + // InternalExport.g:10505:1: rule__OperationCall__Group__3__Impl : ( ')' ) ; + public final void rule__OperationCall__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10509:1: ( ( ')' ) ) + // InternalExport.g:10510:1: ( ')' ) + { + // InternalExport.g:10510:1: ( ')' ) + // InternalExport.g:10511:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__3__Impl" + + + // $ANTLR start "rule__OperationCall__Group_2__0" + // InternalExport.g:10521:1: rule__OperationCall__Group_2__0 : rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 ; + public final void rule__OperationCall__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10525:1: ( rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 ) + // InternalExport.g:10526:2: rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 + { + pushFollow(FOLLOW_21); + rule__OperationCall__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OperationCall__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2__0" + + + // $ANTLR start "rule__OperationCall__Group_2__0__Impl" + // InternalExport.g:10533:1: rule__OperationCall__Group_2__0__Impl : ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) ; + public final void rule__OperationCall__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10537:1: ( ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) ) + // InternalExport.g:10538:1: ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) + { + // InternalExport.g:10538:1: ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) + // InternalExport.g:10539:2: ( rule__OperationCall__ParamsAssignment_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); + } + // InternalExport.g:10540:2: ( rule__OperationCall__ParamsAssignment_2_0 ) + // InternalExport.g:10540:3: rule__OperationCall__ParamsAssignment_2_0 + { + pushFollow(FOLLOW_2); + rule__OperationCall__ParamsAssignment_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2__0__Impl" + + + // $ANTLR start "rule__OperationCall__Group_2__1" + // InternalExport.g:10548:1: rule__OperationCall__Group_2__1 : rule__OperationCall__Group_2__1__Impl ; + public final void rule__OperationCall__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10552:1: ( rule__OperationCall__Group_2__1__Impl ) + // InternalExport.g:10553:2: rule__OperationCall__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__OperationCall__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2__1" + + + // $ANTLR start "rule__OperationCall__Group_2__1__Impl" + // InternalExport.g:10559:1: rule__OperationCall__Group_2__1__Impl : ( ( rule__OperationCall__Group_2_1__0 )* ) ; + public final void rule__OperationCall__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10563:1: ( ( ( rule__OperationCall__Group_2_1__0 )* ) ) + // InternalExport.g:10564:1: ( ( rule__OperationCall__Group_2_1__0 )* ) + { + // InternalExport.g:10564:1: ( ( rule__OperationCall__Group_2_1__0 )* ) + // InternalExport.g:10565:2: ( rule__OperationCall__Group_2_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getGroup_2_1()); + } + // InternalExport.g:10566:2: ( rule__OperationCall__Group_2_1__0 )* + loop103: + do { + int alt103=2; + int LA103_0 = input.LA(1); + + if ( (LA103_0==74) ) { + alt103=1; + } + + + switch (alt103) { + case 1 : + // InternalExport.g:10566:3: rule__OperationCall__Group_2_1__0 + { + pushFollow(FOLLOW_22); + rule__OperationCall__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop103; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getGroup_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2__1__Impl" + + + // $ANTLR start "rule__OperationCall__Group_2_1__0" + // InternalExport.g:10575:1: rule__OperationCall__Group_2_1__0 : rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 ; + public final void rule__OperationCall__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10579:1: ( rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 ) + // InternalExport.g:10580:2: rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 + { + pushFollow(FOLLOW_18); + rule__OperationCall__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OperationCall__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2_1__0" + + + // $ANTLR start "rule__OperationCall__Group_2_1__0__Impl" + // InternalExport.g:10587:1: rule__OperationCall__Group_2_1__0__Impl : ( ',' ) ; + public final void rule__OperationCall__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10591:1: ( ( ',' ) ) + // InternalExport.g:10592:1: ( ',' ) + { + // InternalExport.g:10592:1: ( ',' ) + // InternalExport.g:10593:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2_1__0__Impl" + + + // $ANTLR start "rule__OperationCall__Group_2_1__1" + // InternalExport.g:10602:1: rule__OperationCall__Group_2_1__1 : rule__OperationCall__Group_2_1__1__Impl ; + public final void rule__OperationCall__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10606:1: ( rule__OperationCall__Group_2_1__1__Impl ) + // InternalExport.g:10607:2: rule__OperationCall__Group_2_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__OperationCall__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2_1__1" + + + // $ANTLR start "rule__OperationCall__Group_2_1__1__Impl" + // InternalExport.g:10613:1: rule__OperationCall__Group_2_1__1__Impl : ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) ; + public final void rule__OperationCall__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10617:1: ( ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) ) + // InternalExport.g:10618:1: ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) + { + // InternalExport.g:10618:1: ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) + // InternalExport.g:10619:2: ( rule__OperationCall__ParamsAssignment_2_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); + } + // InternalExport.g:10620:2: ( rule__OperationCall__ParamsAssignment_2_1_1 ) + // InternalExport.g:10620:3: rule__OperationCall__ParamsAssignment_2_1_1 + { + pushFollow(FOLLOW_2); + rule__OperationCall__ParamsAssignment_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2_1__1__Impl" + + + // $ANTLR start "rule__ListLiteral__Group__0" + // InternalExport.g:10629:1: rule__ListLiteral__Group__0 : rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 ; + public final void rule__ListLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10633:1: ( rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 ) + // InternalExport.g:10634:2: rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 + { + pushFollow(FOLLOW_12); + rule__ListLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ListLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__0" + + + // $ANTLR start "rule__ListLiteral__Group__0__Impl" + // InternalExport.g:10641:1: rule__ListLiteral__Group__0__Impl : ( () ) ; + public final void rule__ListLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10645:1: ( ( () ) ) + // InternalExport.g:10646:1: ( () ) + { + // InternalExport.g:10646:1: ( () ) + // InternalExport.g:10647:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); + } + // InternalExport.g:10648:2: () + // InternalExport.g:10648:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__0__Impl" + + + // $ANTLR start "rule__ListLiteral__Group__1" + // InternalExport.g:10656:1: rule__ListLiteral__Group__1 : rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 ; + public final void rule__ListLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10660:1: ( rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 ) + // InternalExport.g:10661:2: rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 + { + pushFollow(FOLLOW_68); + rule__ListLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ListLiteral__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__1" + + + // $ANTLR start "rule__ListLiteral__Group__1__Impl" + // InternalExport.g:10668:1: rule__ListLiteral__Group__1__Impl : ( '{' ) ; + public final void rule__ListLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10672:1: ( ( '{' ) ) + // InternalExport.g:10673:1: ( '{' ) + { + // InternalExport.g:10673:1: ( '{' ) + // InternalExport.g:10674:2: '{' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__1__Impl" + + + // $ANTLR start "rule__ListLiteral__Group__2" + // InternalExport.g:10683:1: rule__ListLiteral__Group__2 : rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 ; + public final void rule__ListLiteral__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10687:1: ( rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 ) + // InternalExport.g:10688:2: rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 + { + pushFollow(FOLLOW_68); + rule__ListLiteral__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ListLiteral__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__2" + + + // $ANTLR start "rule__ListLiteral__Group__2__Impl" + // InternalExport.g:10695:1: rule__ListLiteral__Group__2__Impl : ( ( rule__ListLiteral__Group_2__0 )? ) ; + public final void rule__ListLiteral__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10699:1: ( ( ( rule__ListLiteral__Group_2__0 )? ) ) + // InternalExport.g:10700:1: ( ( rule__ListLiteral__Group_2__0 )? ) + { + // InternalExport.g:10700:1: ( ( rule__ListLiteral__Group_2__0 )? ) + // InternalExport.g:10701:2: ( rule__ListLiteral__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getGroup_2()); + } + // InternalExport.g:10702:2: ( rule__ListLiteral__Group_2__0 )? + int alt104=2; + int LA104_0 = input.LA(1); + + if ( (LA104_0==RULE_ID||LA104_0==RULE_INT||(LA104_0>=RULE_STRING && LA104_0<=RULE_REAL)||LA104_0==24||(LA104_0>=27 && LA104_0<=40)||LA104_0==68||LA104_0==77||LA104_0==84||LA104_0==87||LA104_0==90||(LA104_0>=94 && LA104_0<=95)||LA104_0==100||LA104_0==115) ) { + alt104=1; + } + switch (alt104) { + case 1 : + // InternalExport.g:10702:3: rule__ListLiteral__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__ListLiteral__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__2__Impl" + + + // $ANTLR start "rule__ListLiteral__Group__3" + // InternalExport.g:10710:1: rule__ListLiteral__Group__3 : rule__ListLiteral__Group__3__Impl ; + public final void rule__ListLiteral__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10714:1: ( rule__ListLiteral__Group__3__Impl ) + // InternalExport.g:10715:2: rule__ListLiteral__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__ListLiteral__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__3" + + + // $ANTLR start "rule__ListLiteral__Group__3__Impl" + // InternalExport.g:10721:1: rule__ListLiteral__Group__3__Impl : ( '}' ) ; + public final void rule__ListLiteral__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10725:1: ( ( '}' ) ) + // InternalExport.g:10726:1: ( '}' ) + { + // InternalExport.g:10726:1: ( '}' ) + // InternalExport.g:10727:2: '}' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); + } + match(input,69,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__3__Impl" + + + // $ANTLR start "rule__ListLiteral__Group_2__0" + // InternalExport.g:10737:1: rule__ListLiteral__Group_2__0 : rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 ; + public final void rule__ListLiteral__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10741:1: ( rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 ) + // InternalExport.g:10742:2: rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 + { + pushFollow(FOLLOW_21); + rule__ListLiteral__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ListLiteral__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2__0" + + + // $ANTLR start "rule__ListLiteral__Group_2__0__Impl" + // InternalExport.g:10749:1: rule__ListLiteral__Group_2__0__Impl : ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) ; + public final void rule__ListLiteral__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10753:1: ( ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) ) + // InternalExport.g:10754:1: ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) + { + // InternalExport.g:10754:1: ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) + // InternalExport.g:10755:2: ( rule__ListLiteral__ElementsAssignment_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); + } + // InternalExport.g:10756:2: ( rule__ListLiteral__ElementsAssignment_2_0 ) + // InternalExport.g:10756:3: rule__ListLiteral__ElementsAssignment_2_0 + { + pushFollow(FOLLOW_2); + rule__ListLiteral__ElementsAssignment_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2__0__Impl" + + + // $ANTLR start "rule__ListLiteral__Group_2__1" + // InternalExport.g:10764:1: rule__ListLiteral__Group_2__1 : rule__ListLiteral__Group_2__1__Impl ; + public final void rule__ListLiteral__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10768:1: ( rule__ListLiteral__Group_2__1__Impl ) + // InternalExport.g:10769:2: rule__ListLiteral__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__ListLiteral__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2__1" + + + // $ANTLR start "rule__ListLiteral__Group_2__1__Impl" + // InternalExport.g:10775:1: rule__ListLiteral__Group_2__1__Impl : ( ( rule__ListLiteral__Group_2_1__0 )* ) ; + public final void rule__ListLiteral__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10779:1: ( ( ( rule__ListLiteral__Group_2_1__0 )* ) ) + // InternalExport.g:10780:1: ( ( rule__ListLiteral__Group_2_1__0 )* ) + { + // InternalExport.g:10780:1: ( ( rule__ListLiteral__Group_2_1__0 )* ) + // InternalExport.g:10781:2: ( rule__ListLiteral__Group_2_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getGroup_2_1()); + } + // InternalExport.g:10782:2: ( rule__ListLiteral__Group_2_1__0 )* + loop105: + do { + int alt105=2; + int LA105_0 = input.LA(1); + + if ( (LA105_0==74) ) { + alt105=1; + } + + + switch (alt105) { + case 1 : + // InternalExport.g:10782:3: rule__ListLiteral__Group_2_1__0 + { + pushFollow(FOLLOW_22); + rule__ListLiteral__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop105; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getGroup_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2__1__Impl" + + + // $ANTLR start "rule__ListLiteral__Group_2_1__0" + // InternalExport.g:10791:1: rule__ListLiteral__Group_2_1__0 : rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 ; + public final void rule__ListLiteral__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10795:1: ( rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 ) + // InternalExport.g:10796:2: rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 + { + pushFollow(FOLLOW_18); + rule__ListLiteral__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ListLiteral__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2_1__0" + + + // $ANTLR start "rule__ListLiteral__Group_2_1__0__Impl" + // InternalExport.g:10803:1: rule__ListLiteral__Group_2_1__0__Impl : ( ',' ) ; + public final void rule__ListLiteral__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10807:1: ( ( ',' ) ) + // InternalExport.g:10808:1: ( ',' ) + { + // InternalExport.g:10808:1: ( ',' ) + // InternalExport.g:10809:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2_1__0__Impl" + + + // $ANTLR start "rule__ListLiteral__Group_2_1__1" + // InternalExport.g:10818:1: rule__ListLiteral__Group_2_1__1 : rule__ListLiteral__Group_2_1__1__Impl ; + public final void rule__ListLiteral__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10822:1: ( rule__ListLiteral__Group_2_1__1__Impl ) + // InternalExport.g:10823:2: rule__ListLiteral__Group_2_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__ListLiteral__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2_1__1" + + + // $ANTLR start "rule__ListLiteral__Group_2_1__1__Impl" + // InternalExport.g:10829:1: rule__ListLiteral__Group_2_1__1__Impl : ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) ; + public final void rule__ListLiteral__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10833:1: ( ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) ) + // InternalExport.g:10834:1: ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) + { + // InternalExport.g:10834:1: ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) + // InternalExport.g:10835:2: ( rule__ListLiteral__ElementsAssignment_2_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); + } + // InternalExport.g:10836:2: ( rule__ListLiteral__ElementsAssignment_2_1_1 ) + // InternalExport.g:10836:3: rule__ListLiteral__ElementsAssignment_2_1_1 + { + pushFollow(FOLLOW_2); + rule__ListLiteral__ElementsAssignment_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2_1__1__Impl" + + + // $ANTLR start "rule__ConstructorCallExpression__Group__0" + // InternalExport.g:10845:1: rule__ConstructorCallExpression__Group__0 : rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 ; + public final void rule__ConstructorCallExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10849:1: ( rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 ) + // InternalExport.g:10850:2: rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 + { + pushFollow(FOLLOW_40); + rule__ConstructorCallExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ConstructorCallExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstructorCallExpression__Group__0" + + + // $ANTLR start "rule__ConstructorCallExpression__Group__0__Impl" + // InternalExport.g:10857:1: rule__ConstructorCallExpression__Group__0__Impl : ( 'new' ) ; + public final void rule__ConstructorCallExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10861:1: ( ( 'new' ) ) + // InternalExport.g:10862:1: ( 'new' ) + { + // InternalExport.g:10862:1: ( 'new' ) + // InternalExport.g:10863:2: 'new' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); + } + match(input,95,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstructorCallExpression__Group__0__Impl" + + + // $ANTLR start "rule__ConstructorCallExpression__Group__1" + // InternalExport.g:10872:1: rule__ConstructorCallExpression__Group__1 : rule__ConstructorCallExpression__Group__1__Impl ; + public final void rule__ConstructorCallExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10876:1: ( rule__ConstructorCallExpression__Group__1__Impl ) + // InternalExport.g:10877:2: rule__ConstructorCallExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__ConstructorCallExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstructorCallExpression__Group__1" + + + // $ANTLR start "rule__ConstructorCallExpression__Group__1__Impl" + // InternalExport.g:10883:1: rule__ConstructorCallExpression__Group__1__Impl : ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) ; + public final void rule__ConstructorCallExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10887:1: ( ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) ) + // InternalExport.g:10888:1: ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) + { + // InternalExport.g:10888:1: ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) + // InternalExport.g:10889:2: ( rule__ConstructorCallExpression__TypeAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); + } + // InternalExport.g:10890:2: ( rule__ConstructorCallExpression__TypeAssignment_1 ) + // InternalExport.g:10890:3: rule__ConstructorCallExpression__TypeAssignment_1 + { + pushFollow(FOLLOW_2); + rule__ConstructorCallExpression__TypeAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstructorCallExpression__Group__1__Impl" + + + // $ANTLR start "rule__TypeSelectExpression__Group__0" + // InternalExport.g:10899:1: rule__TypeSelectExpression__Group__0 : rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 ; + public final void rule__TypeSelectExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10903:1: ( rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 ) + // InternalExport.g:10904:2: rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 + { + pushFollow(FOLLOW_34); + rule__TypeSelectExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__0" + + + // $ANTLR start "rule__TypeSelectExpression__Group__0__Impl" + // InternalExport.g:10911:1: rule__TypeSelectExpression__Group__0__Impl : ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) ; + public final void rule__TypeSelectExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10915:1: ( ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) ) + // InternalExport.g:10916:1: ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) + { + // InternalExport.g:10916:1: ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) + // InternalExport.g:10917:2: ( rule__TypeSelectExpression__NameAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); + } + // InternalExport.g:10918:2: ( rule__TypeSelectExpression__NameAssignment_0 ) + // InternalExport.g:10918:3: rule__TypeSelectExpression__NameAssignment_0 + { + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__NameAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__0__Impl" + + + // $ANTLR start "rule__TypeSelectExpression__Group__1" + // InternalExport.g:10926:1: rule__TypeSelectExpression__Group__1 : rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 ; + public final void rule__TypeSelectExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10930:1: ( rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 ) + // InternalExport.g:10931:2: rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 + { + pushFollow(FOLLOW_40); + rule__TypeSelectExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__1" + + + // $ANTLR start "rule__TypeSelectExpression__Group__1__Impl" + // InternalExport.g:10938:1: rule__TypeSelectExpression__Group__1__Impl : ( '(' ) ; + public final void rule__TypeSelectExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10942:1: ( ( '(' ) ) + // InternalExport.g:10943:1: ( '(' ) + { + // InternalExport.g:10943:1: ( '(' ) + // InternalExport.g:10944:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__1__Impl" + + + // $ANTLR start "rule__TypeSelectExpression__Group__2" + // InternalExport.g:10953:1: rule__TypeSelectExpression__Group__2 : rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 ; + public final void rule__TypeSelectExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10957:1: ( rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 ) + // InternalExport.g:10958:2: rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 + { + pushFollow(FOLLOW_25); + rule__TypeSelectExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__2" + + + // $ANTLR start "rule__TypeSelectExpression__Group__2__Impl" + // InternalExport.g:10965:1: rule__TypeSelectExpression__Group__2__Impl : ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) ; + public final void rule__TypeSelectExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10969:1: ( ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) ) + // InternalExport.g:10970:1: ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) + { + // InternalExport.g:10970:1: ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) + // InternalExport.g:10971:2: ( rule__TypeSelectExpression__TypeAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); + } + // InternalExport.g:10972:2: ( rule__TypeSelectExpression__TypeAssignment_2 ) + // InternalExport.g:10972:3: rule__TypeSelectExpression__TypeAssignment_2 + { + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__TypeAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__2__Impl" + + + // $ANTLR start "rule__TypeSelectExpression__Group__3" + // InternalExport.g:10980:1: rule__TypeSelectExpression__Group__3 : rule__TypeSelectExpression__Group__3__Impl ; + public final void rule__TypeSelectExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10984:1: ( rule__TypeSelectExpression__Group__3__Impl ) + // InternalExport.g:10985:2: rule__TypeSelectExpression__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__3" + + + // $ANTLR start "rule__TypeSelectExpression__Group__3__Impl" + // InternalExport.g:10991:1: rule__TypeSelectExpression__Group__3__Impl : ( ')' ) ; + public final void rule__TypeSelectExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:10995:1: ( ( ')' ) ) + // InternalExport.g:10996:1: ( ')' ) + { + // InternalExport.g:10996:1: ( ')' ) + // InternalExport.g:10997:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__3__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group__0" + // InternalExport.g:11007:1: rule__CollectionExpression__Group__0 : rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 ; + public final void rule__CollectionExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11011:1: ( rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 ) + // InternalExport.g:11012:2: rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 + { + pushFollow(FOLLOW_34); + rule__CollectionExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__0" + + + // $ANTLR start "rule__CollectionExpression__Group__0__Impl" + // InternalExport.g:11019:1: rule__CollectionExpression__Group__0__Impl : ( ( rule__CollectionExpression__NameAssignment_0 ) ) ; + public final void rule__CollectionExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11023:1: ( ( ( rule__CollectionExpression__NameAssignment_0 ) ) ) + // InternalExport.g:11024:1: ( ( rule__CollectionExpression__NameAssignment_0 ) ) + { + // InternalExport.g:11024:1: ( ( rule__CollectionExpression__NameAssignment_0 ) ) + // InternalExport.g:11025:2: ( rule__CollectionExpression__NameAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); + } + // InternalExport.g:11026:2: ( rule__CollectionExpression__NameAssignment_0 ) + // InternalExport.g:11026:3: rule__CollectionExpression__NameAssignment_0 + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__NameAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__0__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group__1" + // InternalExport.g:11034:1: rule__CollectionExpression__Group__1 : rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 ; + public final void rule__CollectionExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11038:1: ( rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 ) + // InternalExport.g:11039:2: rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 + { + pushFollow(FOLLOW_18); + rule__CollectionExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__1" + + + // $ANTLR start "rule__CollectionExpression__Group__1__Impl" + // InternalExport.g:11046:1: rule__CollectionExpression__Group__1__Impl : ( '(' ) ; + public final void rule__CollectionExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11050:1: ( ( '(' ) ) + // InternalExport.g:11051:1: ( '(' ) + { + // InternalExport.g:11051:1: ( '(' ) + // InternalExport.g:11052:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__1__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group__2" + // InternalExport.g:11061:1: rule__CollectionExpression__Group__2 : rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 ; + public final void rule__CollectionExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11065:1: ( rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 ) + // InternalExport.g:11066:2: rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 + { + pushFollow(FOLLOW_18); + rule__CollectionExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__2" + + + // $ANTLR start "rule__CollectionExpression__Group__2__Impl" + // InternalExport.g:11073:1: rule__CollectionExpression__Group__2__Impl : ( ( rule__CollectionExpression__Group_2__0 )? ) ; + public final void rule__CollectionExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11077:1: ( ( ( rule__CollectionExpression__Group_2__0 )? ) ) + // InternalExport.g:11078:1: ( ( rule__CollectionExpression__Group_2__0 )? ) + { + // InternalExport.g:11078:1: ( ( rule__CollectionExpression__Group_2__0 )? ) + // InternalExport.g:11079:2: ( rule__CollectionExpression__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getGroup_2()); + } + // InternalExport.g:11080:2: ( rule__CollectionExpression__Group_2__0 )? + int alt106=2; + int LA106_0 = input.LA(1); + + if ( (LA106_0==RULE_ID) ) { + int LA106_1 = input.LA(2); + + if ( (LA106_1==93) ) { + alt106=1; + } + } + switch (alt106) { + case 1 : + // InternalExport.g:11080:3: rule__CollectionExpression__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__2__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group__3" + // InternalExport.g:11088:1: rule__CollectionExpression__Group__3 : rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 ; + public final void rule__CollectionExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11092:1: ( rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 ) + // InternalExport.g:11093:2: rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 + { + pushFollow(FOLLOW_25); + rule__CollectionExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__3" + + + // $ANTLR start "rule__CollectionExpression__Group__3__Impl" + // InternalExport.g:11100:1: rule__CollectionExpression__Group__3__Impl : ( ( rule__CollectionExpression__ExpAssignment_3 ) ) ; + public final void rule__CollectionExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11104:1: ( ( ( rule__CollectionExpression__ExpAssignment_3 ) ) ) + // InternalExport.g:11105:1: ( ( rule__CollectionExpression__ExpAssignment_3 ) ) + { + // InternalExport.g:11105:1: ( ( rule__CollectionExpression__ExpAssignment_3 ) ) + // InternalExport.g:11106:2: ( rule__CollectionExpression__ExpAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); + } + // InternalExport.g:11107:2: ( rule__CollectionExpression__ExpAssignment_3 ) + // InternalExport.g:11107:3: rule__CollectionExpression__ExpAssignment_3 + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__ExpAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__3__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group__4" + // InternalExport.g:11115:1: rule__CollectionExpression__Group__4 : rule__CollectionExpression__Group__4__Impl ; + public final void rule__CollectionExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11119:1: ( rule__CollectionExpression__Group__4__Impl ) + // InternalExport.g:11120:2: rule__CollectionExpression__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__4" + + + // $ANTLR start "rule__CollectionExpression__Group__4__Impl" + // InternalExport.g:11126:1: rule__CollectionExpression__Group__4__Impl : ( ')' ) ; + public final void rule__CollectionExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11130:1: ( ( ')' ) ) + // InternalExport.g:11131:1: ( ')' ) + { + // InternalExport.g:11131:1: ( ')' ) + // InternalExport.g:11132:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__4__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group_2__0" + // InternalExport.g:11142:1: rule__CollectionExpression__Group_2__0 : rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 ; + public final void rule__CollectionExpression__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11146:1: ( rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 ) + // InternalExport.g:11147:2: rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 + { + pushFollow(FOLLOW_67); + rule__CollectionExpression__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group_2__0" + + + // $ANTLR start "rule__CollectionExpression__Group_2__0__Impl" + // InternalExport.g:11154:1: rule__CollectionExpression__Group_2__0__Impl : ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) ; + public final void rule__CollectionExpression__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11158:1: ( ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) ) + // InternalExport.g:11159:1: ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) + { + // InternalExport.g:11159:1: ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) + // InternalExport.g:11160:2: ( rule__CollectionExpression__VarAssignment_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); + } + // InternalExport.g:11161:2: ( rule__CollectionExpression__VarAssignment_2_0 ) + // InternalExport.g:11161:3: rule__CollectionExpression__VarAssignment_2_0 + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__VarAssignment_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group_2__0__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group_2__1" + // InternalExport.g:11169:1: rule__CollectionExpression__Group_2__1 : rule__CollectionExpression__Group_2__1__Impl ; + public final void rule__CollectionExpression__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11173:1: ( rule__CollectionExpression__Group_2__1__Impl ) + // InternalExport.g:11174:2: rule__CollectionExpression__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group_2__1" + + + // $ANTLR start "rule__CollectionExpression__Group_2__1__Impl" + // InternalExport.g:11180:1: rule__CollectionExpression__Group_2__1__Impl : ( '|' ) ; + public final void rule__CollectionExpression__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11184:1: ( ( '|' ) ) + // InternalExport.g:11185:1: ( '|' ) + { + // InternalExport.g:11185:1: ( '|' ) + // InternalExport.g:11186:2: '|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); + } + match(input,93,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group_2__1__Impl" + + + // $ANTLR start "rule__CollectionType__Group__0" + // InternalExport.g:11196:1: rule__CollectionType__Group__0 : rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 ; + public final void rule__CollectionType__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11200:1: ( rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 ) + // InternalExport.g:11201:2: rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 + { + pushFollow(FOLLOW_30); + rule__CollectionType__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionType__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__0" + + + // $ANTLR start "rule__CollectionType__Group__0__Impl" + // InternalExport.g:11208:1: rule__CollectionType__Group__0__Impl : ( ( rule__CollectionType__ClAssignment_0 ) ) ; + public final void rule__CollectionType__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11212:1: ( ( ( rule__CollectionType__ClAssignment_0 ) ) ) + // InternalExport.g:11213:1: ( ( rule__CollectionType__ClAssignment_0 ) ) + { + // InternalExport.g:11213:1: ( ( rule__CollectionType__ClAssignment_0 ) ) + // InternalExport.g:11214:2: ( rule__CollectionType__ClAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); + } + // InternalExport.g:11215:2: ( rule__CollectionType__ClAssignment_0 ) + // InternalExport.g:11215:3: rule__CollectionType__ClAssignment_0 + { + pushFollow(FOLLOW_2); + rule__CollectionType__ClAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__0__Impl" + + + // $ANTLR start "rule__CollectionType__Group__1" + // InternalExport.g:11223:1: rule__CollectionType__Group__1 : rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 ; + public final void rule__CollectionType__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11227:1: ( rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 ) + // InternalExport.g:11228:2: rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 + { + pushFollow(FOLLOW_40); + rule__CollectionType__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionType__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__1" + + + // $ANTLR start "rule__CollectionType__Group__1__Impl" + // InternalExport.g:11235:1: rule__CollectionType__Group__1__Impl : ( '[' ) ; + public final void rule__CollectionType__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11239:1: ( ( '[' ) ) + // InternalExport.g:11240:1: ( '[' ) + { + // InternalExport.g:11240:1: ( '[' ) + // InternalExport.g:11241:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); + } + match(input,72,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__1__Impl" + + + // $ANTLR start "rule__CollectionType__Group__2" + // InternalExport.g:11250:1: rule__CollectionType__Group__2 : rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 ; + public final void rule__CollectionType__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11254:1: ( rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 ) + // InternalExport.g:11255:2: rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 + { + pushFollow(FOLLOW_19); + rule__CollectionType__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionType__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__2" + + + // $ANTLR start "rule__CollectionType__Group__2__Impl" + // InternalExport.g:11262:1: rule__CollectionType__Group__2__Impl : ( ( rule__CollectionType__Id1Assignment_2 ) ) ; + public final void rule__CollectionType__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11266:1: ( ( ( rule__CollectionType__Id1Assignment_2 ) ) ) + // InternalExport.g:11267:1: ( ( rule__CollectionType__Id1Assignment_2 ) ) + { + // InternalExport.g:11267:1: ( ( rule__CollectionType__Id1Assignment_2 ) ) + // InternalExport.g:11268:2: ( rule__CollectionType__Id1Assignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); + } + // InternalExport.g:11269:2: ( rule__CollectionType__Id1Assignment_2 ) + // InternalExport.g:11269:3: rule__CollectionType__Id1Assignment_2 + { + pushFollow(FOLLOW_2); + rule__CollectionType__Id1Assignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__2__Impl" + + + // $ANTLR start "rule__CollectionType__Group__3" + // InternalExport.g:11277:1: rule__CollectionType__Group__3 : rule__CollectionType__Group__3__Impl ; + public final void rule__CollectionType__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11281:1: ( rule__CollectionType__Group__3__Impl ) + // InternalExport.g:11282:2: rule__CollectionType__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__CollectionType__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__3" + + + // $ANTLR start "rule__CollectionType__Group__3__Impl" + // InternalExport.g:11288:1: rule__CollectionType__Group__3__Impl : ( ']' ) ; + public final void rule__CollectionType__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11292:1: ( ( ']' ) ) + // InternalExport.g:11293:1: ( ']' ) + { + // InternalExport.g:11293:1: ( ']' ) + // InternalExport.g:11294:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); + } + match(input,73,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__3__Impl" + + + // $ANTLR start "rule__SimpleType__Group__0" + // InternalExport.g:11304:1: rule__SimpleType__Group__0 : rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 ; + public final void rule__SimpleType__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11308:1: ( rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 ) + // InternalExport.g:11309:2: rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 + { + pushFollow(FOLLOW_37); + rule__SimpleType__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__SimpleType__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group__0" + + + // $ANTLR start "rule__SimpleType__Group__0__Impl" + // InternalExport.g:11316:1: rule__SimpleType__Group__0__Impl : ( ( rule__SimpleType__IdAssignment_0 ) ) ; + public final void rule__SimpleType__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11320:1: ( ( ( rule__SimpleType__IdAssignment_0 ) ) ) + // InternalExport.g:11321:1: ( ( rule__SimpleType__IdAssignment_0 ) ) + { + // InternalExport.g:11321:1: ( ( rule__SimpleType__IdAssignment_0 ) ) + // InternalExport.g:11322:2: ( rule__SimpleType__IdAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); + } + // InternalExport.g:11323:2: ( rule__SimpleType__IdAssignment_0 ) + // InternalExport.g:11323:3: rule__SimpleType__IdAssignment_0 + { + pushFollow(FOLLOW_2); + rule__SimpleType__IdAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group__0__Impl" + + + // $ANTLR start "rule__SimpleType__Group__1" + // InternalExport.g:11331:1: rule__SimpleType__Group__1 : rule__SimpleType__Group__1__Impl ; + public final void rule__SimpleType__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11335:1: ( rule__SimpleType__Group__1__Impl ) + // InternalExport.g:11336:2: rule__SimpleType__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__SimpleType__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group__1" + + + // $ANTLR start "rule__SimpleType__Group__1__Impl" + // InternalExport.g:11342:1: rule__SimpleType__Group__1__Impl : ( ( rule__SimpleType__Group_1__0 )* ) ; + public final void rule__SimpleType__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11346:1: ( ( ( rule__SimpleType__Group_1__0 )* ) ) + // InternalExport.g:11347:1: ( ( rule__SimpleType__Group_1__0 )* ) + { + // InternalExport.g:11347:1: ( ( rule__SimpleType__Group_1__0 )* ) + // InternalExport.g:11348:2: ( rule__SimpleType__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getGroup_1()); + } + // InternalExport.g:11349:2: ( rule__SimpleType__Group_1__0 )* + loop107: + do { + int alt107=2; + int LA107_0 = input.LA(1); + + if ( (LA107_0==83) ) { + alt107=1; + } + + + switch (alt107) { + case 1 : + // InternalExport.g:11349:3: rule__SimpleType__Group_1__0 + { + pushFollow(FOLLOW_38); + rule__SimpleType__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop107; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group__1__Impl" + + + // $ANTLR start "rule__SimpleType__Group_1__0" + // InternalExport.g:11358:1: rule__SimpleType__Group_1__0 : rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 ; + public final void rule__SimpleType__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11362:1: ( rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 ) + // InternalExport.g:11363:2: rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 + { + pushFollow(FOLLOW_11); + rule__SimpleType__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__SimpleType__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group_1__0" + + + // $ANTLR start "rule__SimpleType__Group_1__0__Impl" + // InternalExport.g:11370:1: rule__SimpleType__Group_1__0__Impl : ( '::' ) ; + public final void rule__SimpleType__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11374:1: ( ( '::' ) ) + // InternalExport.g:11375:1: ( '::' ) + { + // InternalExport.g:11375:1: ( '::' ) + // InternalExport.g:11376:2: '::' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); + } + match(input,83,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group_1__0__Impl" + + + // $ANTLR start "rule__SimpleType__Group_1__1" + // InternalExport.g:11385:1: rule__SimpleType__Group_1__1 : rule__SimpleType__Group_1__1__Impl ; + public final void rule__SimpleType__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11389:1: ( rule__SimpleType__Group_1__1__Impl ) + // InternalExport.g:11390:2: rule__SimpleType__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__SimpleType__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group_1__1" + + + // $ANTLR start "rule__SimpleType__Group_1__1__Impl" + // InternalExport.g:11396:1: rule__SimpleType__Group_1__1__Impl : ( ( rule__SimpleType__IdAssignment_1_1 ) ) ; + public final void rule__SimpleType__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11400:1: ( ( ( rule__SimpleType__IdAssignment_1_1 ) ) ) + // InternalExport.g:11401:1: ( ( rule__SimpleType__IdAssignment_1_1 ) ) + { + // InternalExport.g:11401:1: ( ( rule__SimpleType__IdAssignment_1_1 ) ) + // InternalExport.g:11402:2: ( rule__SimpleType__IdAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); + } + // InternalExport.g:11403:2: ( rule__SimpleType__IdAssignment_1_1 ) + // InternalExport.g:11403:3: rule__SimpleType__IdAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__SimpleType__IdAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group_1__1__Impl" + + + // $ANTLR start "rule__XAssignment__Group_0__0" + // InternalExport.g:11412:1: rule__XAssignment__Group_0__0 : rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 ; + public final void rule__XAssignment__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11416:1: ( rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 ) + // InternalExport.g:11417:2: rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 + { + pushFollow(FOLLOW_69); + rule__XAssignment__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__0" + + + // $ANTLR start "rule__XAssignment__Group_0__0__Impl" + // InternalExport.g:11424:1: rule__XAssignment__Group_0__0__Impl : ( () ) ; + public final void rule__XAssignment__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11428:1: ( ( () ) ) + // InternalExport.g:11429:1: ( () ) + { + // InternalExport.g:11429:1: ( () ) + // InternalExport.g:11430:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0()); + } + // InternalExport.g:11431:2: () + // InternalExport.g:11431:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__0__Impl" + + + // $ANTLR start "rule__XAssignment__Group_0__1" + // InternalExport.g:11439:1: rule__XAssignment__Group_0__1 : rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 ; + public final void rule__XAssignment__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11443:1: ( rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 ) + // InternalExport.g:11444:2: rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 + { + pushFollow(FOLLOW_32); + rule__XAssignment__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__1" + + + // $ANTLR start "rule__XAssignment__Group_0__1__Impl" + // InternalExport.g:11451:1: rule__XAssignment__Group_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) ; + public final void rule__XAssignment__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11455:1: ( ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) ) + // InternalExport.g:11456:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) + { + // InternalExport.g:11456:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) + // InternalExport.g:11457:2: ( rule__XAssignment__FeatureAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1()); + } + // InternalExport.g:11458:2: ( rule__XAssignment__FeatureAssignment_0_1 ) + // InternalExport.g:11458:3: rule__XAssignment__FeatureAssignment_0_1 + { + pushFollow(FOLLOW_2); + rule__XAssignment__FeatureAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__1__Impl" + + + // $ANTLR start "rule__XAssignment__Group_0__2" + // InternalExport.g:11466:1: rule__XAssignment__Group_0__2 : rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 ; + public final void rule__XAssignment__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11470:1: ( rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 ) + // InternalExport.g:11471:2: rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 + { + pushFollow(FOLLOW_70); + rule__XAssignment__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__2" + + + // $ANTLR start "rule__XAssignment__Group_0__2__Impl" + // InternalExport.g:11478:1: rule__XAssignment__Group_0__2__Impl : ( ruleOpSingleAssign ) ; + public final void rule__XAssignment__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11482:1: ( ( ruleOpSingleAssign ) ) + // InternalExport.g:11483:1: ( ruleOpSingleAssign ) + { + // InternalExport.g:11483:1: ( ruleOpSingleAssign ) + // InternalExport.g:11484:2: ruleOpSingleAssign + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); + } + pushFollow(FOLLOW_2); + ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__2__Impl" + + + // $ANTLR start "rule__XAssignment__Group_0__3" + // InternalExport.g:11493:1: rule__XAssignment__Group_0__3 : rule__XAssignment__Group_0__3__Impl ; + public final void rule__XAssignment__Group_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11497:1: ( rule__XAssignment__Group_0__3__Impl ) + // InternalExport.g:11498:2: rule__XAssignment__Group_0__3__Impl + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__3" + + + // $ANTLR start "rule__XAssignment__Group_0__3__Impl" + // InternalExport.g:11504:1: rule__XAssignment__Group_0__3__Impl : ( ( rule__XAssignment__ValueAssignment_0_3 ) ) ; + public final void rule__XAssignment__Group_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11508:1: ( ( ( rule__XAssignment__ValueAssignment_0_3 ) ) ) + // InternalExport.g:11509:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) ) + { + // InternalExport.g:11509:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) ) + // InternalExport.g:11510:2: ( rule__XAssignment__ValueAssignment_0_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3()); + } + // InternalExport.g:11511:2: ( rule__XAssignment__ValueAssignment_0_3 ) + // InternalExport.g:11511:3: rule__XAssignment__ValueAssignment_0_3 + { + pushFollow(FOLLOW_2); + rule__XAssignment__ValueAssignment_0_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__3__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1__0" + // InternalExport.g:11520:1: rule__XAssignment__Group_1__0 : rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 ; + public final void rule__XAssignment__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11524:1: ( rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 ) + // InternalExport.g:11525:2: rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 + { + pushFollow(FOLLOW_71); + rule__XAssignment__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1__0" + + + // $ANTLR start "rule__XAssignment__Group_1__0__Impl" + // InternalExport.g:11532:1: rule__XAssignment__Group_1__0__Impl : ( ruleXOrExpression ) ; + public final void rule__XAssignment__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11536:1: ( ( ruleXOrExpression ) ) + // InternalExport.g:11537:1: ( ruleXOrExpression ) + { + // InternalExport.g:11537:1: ( ruleXOrExpression ) + // InternalExport.g:11538:2: ruleXOrExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleXOrExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1__0__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1__1" + // InternalExport.g:11547:1: rule__XAssignment__Group_1__1 : rule__XAssignment__Group_1__1__Impl ; + public final void rule__XAssignment__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11551:1: ( rule__XAssignment__Group_1__1__Impl ) + // InternalExport.g:11552:2: rule__XAssignment__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1__1" + + + // $ANTLR start "rule__XAssignment__Group_1__1__Impl" + // InternalExport.g:11558:1: rule__XAssignment__Group_1__1__Impl : ( ( rule__XAssignment__Group_1_1__0 )? ) ; + public final void rule__XAssignment__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11562:1: ( ( ( rule__XAssignment__Group_1_1__0 )? ) ) + // InternalExport.g:11563:1: ( ( rule__XAssignment__Group_1_1__0 )? ) + { + // InternalExport.g:11563:1: ( ( rule__XAssignment__Group_1_1__0 )? ) + // InternalExport.g:11564:2: ( rule__XAssignment__Group_1_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getGroup_1_1()); + } + // InternalExport.g:11565:2: ( rule__XAssignment__Group_1_1__0 )? + int alt108=2; + alt108 = dfa108.predict(input); + switch (alt108) { + case 1 : + // InternalExport.g:11565:3: rule__XAssignment__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getGroup_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1__1__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1_1__0" + // InternalExport.g:11574:1: rule__XAssignment__Group_1_1__0 : rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 ; + public final void rule__XAssignment__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11578:1: ( rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 ) + // InternalExport.g:11579:2: rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 + { + pushFollow(FOLLOW_70); + rule__XAssignment__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1__0" + + + // $ANTLR start "rule__XAssignment__Group_1_1__0__Impl" + // InternalExport.g:11586:1: rule__XAssignment__Group_1_1__0__Impl : ( ( rule__XAssignment__Group_1_1_0__0 ) ) ; + public final void rule__XAssignment__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11590:1: ( ( ( rule__XAssignment__Group_1_1_0__0 ) ) ) + // InternalExport.g:11591:1: ( ( rule__XAssignment__Group_1_1_0__0 ) ) + { + // InternalExport.g:11591:1: ( ( rule__XAssignment__Group_1_1_0__0 ) ) + // InternalExport.g:11592:2: ( rule__XAssignment__Group_1_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0()); + } + // InternalExport.g:11593:2: ( rule__XAssignment__Group_1_1_0__0 ) + // InternalExport.g:11593:3: rule__XAssignment__Group_1_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getGroup_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1__0__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1_1__1" + // InternalExport.g:11601:1: rule__XAssignment__Group_1_1__1 : rule__XAssignment__Group_1_1__1__Impl ; + public final void rule__XAssignment__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11605:1: ( rule__XAssignment__Group_1_1__1__Impl ) + // InternalExport.g:11606:2: rule__XAssignment__Group_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1__1" + + + // $ANTLR start "rule__XAssignment__Group_1_1__1__Impl" + // InternalExport.g:11612:1: rule__XAssignment__Group_1_1__1__Impl : ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) ; + public final void rule__XAssignment__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11616:1: ( ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) ) + // InternalExport.g:11617:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) + { + // InternalExport.g:11617:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) + // InternalExport.g:11618:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1()); + } + // InternalExport.g:11619:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 ) + // InternalExport.g:11619:3: rule__XAssignment__RightOperandAssignment_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XAssignment__RightOperandAssignment_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1__1__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0__0" + // InternalExport.g:11628:1: rule__XAssignment__Group_1_1_0__0 : rule__XAssignment__Group_1_1_0__0__Impl ; + public final void rule__XAssignment__Group_1_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11632:1: ( rule__XAssignment__Group_1_1_0__0__Impl ) + // InternalExport.g:11633:2: rule__XAssignment__Group_1_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0__0" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0__0__Impl" + // InternalExport.g:11639:1: rule__XAssignment__Group_1_1_0__0__Impl : ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) ; + public final void rule__XAssignment__Group_1_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11643:1: ( ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) ) + // InternalExport.g:11644:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) + { + // InternalExport.g:11644:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) + // InternalExport.g:11645:2: ( rule__XAssignment__Group_1_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0()); + } + // InternalExport.g:11646:2: ( rule__XAssignment__Group_1_1_0_0__0 ) + // InternalExport.g:11646:3: rule__XAssignment__Group_1_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0__0__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0_0__0" + // InternalExport.g:11655:1: rule__XAssignment__Group_1_1_0_0__0 : rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 ; + public final void rule__XAssignment__Group_1_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11659:1: ( rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 ) + // InternalExport.g:11660:2: rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 + { + pushFollow(FOLLOW_71); + rule__XAssignment__Group_1_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0_0__0" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0_0__0__Impl" + // InternalExport.g:11667:1: rule__XAssignment__Group_1_1_0_0__0__Impl : ( () ) ; + public final void rule__XAssignment__Group_1_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11671:1: ( ( () ) ) + // InternalExport.g:11672:1: ( () ) + { + // InternalExport.g:11672:1: ( () ) + // InternalExport.g:11673:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); + } + // InternalExport.g:11674:2: () + // InternalExport.g:11674:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0_0__0__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0_0__1" + // InternalExport.g:11682:1: rule__XAssignment__Group_1_1_0_0__1 : rule__XAssignment__Group_1_1_0_0__1__Impl ; + public final void rule__XAssignment__Group_1_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11686:1: ( rule__XAssignment__Group_1_1_0_0__1__Impl ) + // InternalExport.g:11687:2: rule__XAssignment__Group_1_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0_0__1" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0_0__1__Impl" + // InternalExport.g:11693:1: rule__XAssignment__Group_1_1_0_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) ; + public final void rule__XAssignment__Group_1_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11697:1: ( ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) ) + // InternalExport.g:11698:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) + { + // InternalExport.g:11698:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) + // InternalExport.g:11699:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1()); + } + // InternalExport.g:11700:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) + // InternalExport.g:11700:3: rule__XAssignment__FeatureAssignment_1_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XAssignment__FeatureAssignment_1_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0_0__1__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__0" + // InternalExport.g:11709:1: rule__OpMultiAssign__Group_5__0 : rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 ; + public final void rule__OpMultiAssign__Group_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11713:1: ( rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 ) + // InternalExport.g:11714:2: rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 + { + pushFollow(FOLLOW_72); + rule__OpMultiAssign__Group_5__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_5__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__0" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__0__Impl" + // InternalExport.g:11721:1: rule__OpMultiAssign__Group_5__0__Impl : ( '<' ) ; + public final void rule__OpMultiAssign__Group_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11725:1: ( ( '<' ) ) + // InternalExport.g:11726:1: ( '<' ) + { + // InternalExport.g:11726:1: ( '<' ) + // InternalExport.g:11727:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__0__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__1" + // InternalExport.g:11736:1: rule__OpMultiAssign__Group_5__1 : rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 ; + public final void rule__OpMultiAssign__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11740:1: ( rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 ) + // InternalExport.g:11741:2: rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 + { + pushFollow(FOLLOW_32); + rule__OpMultiAssign__Group_5__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_5__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__1" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__1__Impl" + // InternalExport.g:11748:1: rule__OpMultiAssign__Group_5__1__Impl : ( '<' ) ; + public final void rule__OpMultiAssign__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11752:1: ( ( '<' ) ) + // InternalExport.g:11753:1: ( '<' ) + { + // InternalExport.g:11753:1: ( '<' ) + // InternalExport.g:11754:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__1__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__2" + // InternalExport.g:11763:1: rule__OpMultiAssign__Group_5__2 : rule__OpMultiAssign__Group_5__2__Impl ; + public final void rule__OpMultiAssign__Group_5__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11767:1: ( rule__OpMultiAssign__Group_5__2__Impl ) + // InternalExport.g:11768:2: rule__OpMultiAssign__Group_5__2__Impl + { + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_5__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__2" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__2__Impl" + // InternalExport.g:11774:1: rule__OpMultiAssign__Group_5__2__Impl : ( '=' ) ; + public final void rule__OpMultiAssign__Group_5__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11778:1: ( ( '=' ) ) + // InternalExport.g:11779:1: ( '=' ) + { + // InternalExport.g:11779:1: ( '=' ) + // InternalExport.g:11780:2: '=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); + } + match(input,14,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__2__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__0" + // InternalExport.g:11790:1: rule__OpMultiAssign__Group_6__0 : rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1 ; + public final void rule__OpMultiAssign__Group_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11794:1: ( rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1 ) + // InternalExport.g:11795:2: rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1 + { + pushFollow(FOLLOW_73); + rule__OpMultiAssign__Group_6__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_6__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__0" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__0__Impl" + // InternalExport.g:11802:1: rule__OpMultiAssign__Group_6__0__Impl : ( '>' ) ; + public final void rule__OpMultiAssign__Group_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11806:1: ( ( '>' ) ) + // InternalExport.g:11807:1: ( '>' ) + { + // InternalExport.g:11807:1: ( '>' ) + // InternalExport.g:11808:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__0__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__1" + // InternalExport.g:11817:1: rule__OpMultiAssign__Group_6__1 : rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2 ; + public final void rule__OpMultiAssign__Group_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11821:1: ( rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2 ) + // InternalExport.g:11822:2: rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2 + { + pushFollow(FOLLOW_73); + rule__OpMultiAssign__Group_6__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_6__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__1" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__1__Impl" + // InternalExport.g:11829:1: rule__OpMultiAssign__Group_6__1__Impl : ( ( '>' )? ) ; + public final void rule__OpMultiAssign__Group_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11833:1: ( ( ( '>' )? ) ) + // InternalExport.g:11834:1: ( ( '>' )? ) + { + // InternalExport.g:11834:1: ( ( '>' )? ) + // InternalExport.g:11835:2: ( '>' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); + } + // InternalExport.g:11836:2: ( '>' )? + int alt109=2; + int LA109_0 = input.LA(1); + + if ( (LA109_0==21) ) { + alt109=1; + } + switch (alt109) { + case 1 : + // InternalExport.g:11836:3: '>' + { + match(input,21,FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__1__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__2" + // InternalExport.g:11844:1: rule__OpMultiAssign__Group_6__2 : rule__OpMultiAssign__Group_6__2__Impl ; + public final void rule__OpMultiAssign__Group_6__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11848:1: ( rule__OpMultiAssign__Group_6__2__Impl ) + // InternalExport.g:11849:2: rule__OpMultiAssign__Group_6__2__Impl + { + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_6__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__2" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__2__Impl" + // InternalExport.g:11855:1: rule__OpMultiAssign__Group_6__2__Impl : ( '>=' ) ; + public final void rule__OpMultiAssign__Group_6__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11859:1: ( ( '>=' ) ) + // InternalExport.g:11860:1: ( '>=' ) + { + // InternalExport.g:11860:1: ( '>=' ) + // InternalExport.g:11861:2: '>=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); + } + match(input,19,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__2__Impl" + + + // $ANTLR start "rule__XOrExpression__Group__0" + // InternalExport.g:11871:1: rule__XOrExpression__Group__0 : rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1 ; + public final void rule__XOrExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11875:1: ( rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1 ) + // InternalExport.g:11876:2: rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1 + { + pushFollow(FOLLOW_50); + rule__XOrExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOrExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group__0" + + + // $ANTLR start "rule__XOrExpression__Group__0__Impl" + // InternalExport.g:11883:1: rule__XOrExpression__Group__0__Impl : ( ruleXAndExpression ) ; + public final void rule__XOrExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11887:1: ( ( ruleXAndExpression ) ) + // InternalExport.g:11888:1: ( ruleXAndExpression ) + { + // InternalExport.g:11888:1: ( ruleXAndExpression ) + // InternalExport.g:11889:2: ruleXAndExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXAndExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group__0__Impl" + + + // $ANTLR start "rule__XOrExpression__Group__1" + // InternalExport.g:11898:1: rule__XOrExpression__Group__1 : rule__XOrExpression__Group__1__Impl ; + public final void rule__XOrExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11902:1: ( rule__XOrExpression__Group__1__Impl ) + // InternalExport.g:11903:2: rule__XOrExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group__1" + + + // $ANTLR start "rule__XOrExpression__Group__1__Impl" + // InternalExport.g:11909:1: rule__XOrExpression__Group__1__Impl : ( ( rule__XOrExpression__Group_1__0 )* ) ; + public final void rule__XOrExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11913:1: ( ( ( rule__XOrExpression__Group_1__0 )* ) ) + // InternalExport.g:11914:1: ( ( rule__XOrExpression__Group_1__0 )* ) + { + // InternalExport.g:11914:1: ( ( rule__XOrExpression__Group_1__0 )* ) + // InternalExport.g:11915:2: ( rule__XOrExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getGroup_1()); + } + // InternalExport.g:11916:2: ( rule__XOrExpression__Group_1__0 )* + loop110: + do { + int alt110=2; + int LA110_0 = input.LA(1); + + if ( (LA110_0==15) ) { + int LA110_2 = input.LA(2); + + if ( (synpred184_InternalExport()) ) { + alt110=1; + } + + + } + + + switch (alt110) { + case 1 : + // InternalExport.g:11916:3: rule__XOrExpression__Group_1__0 + { + pushFollow(FOLLOW_51); + rule__XOrExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop110; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group__1__Impl" + + + // $ANTLR start "rule__XOrExpression__Group_1__0" + // InternalExport.g:11925:1: rule__XOrExpression__Group_1__0 : rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1 ; + public final void rule__XOrExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11929:1: ( rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1 ) + // InternalExport.g:11930:2: rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1 + { + pushFollow(FOLLOW_70); + rule__XOrExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1__0" + + + // $ANTLR start "rule__XOrExpression__Group_1__0__Impl" + // InternalExport.g:11937:1: rule__XOrExpression__Group_1__0__Impl : ( ( rule__XOrExpression__Group_1_0__0 ) ) ; + public final void rule__XOrExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11941:1: ( ( ( rule__XOrExpression__Group_1_0__0 ) ) ) + // InternalExport.g:11942:1: ( ( rule__XOrExpression__Group_1_0__0 ) ) + { + // InternalExport.g:11942:1: ( ( rule__XOrExpression__Group_1_0__0 ) ) + // InternalExport.g:11943:2: ( rule__XOrExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getGroup_1_0()); + } + // InternalExport.g:11944:2: ( rule__XOrExpression__Group_1_0__0 ) + // InternalExport.g:11944:3: rule__XOrExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XOrExpression__Group_1__1" + // InternalExport.g:11952:1: rule__XOrExpression__Group_1__1 : rule__XOrExpression__Group_1__1__Impl ; + public final void rule__XOrExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11956:1: ( rule__XOrExpression__Group_1__1__Impl ) + // InternalExport.g:11957:2: rule__XOrExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1__1" + + + // $ANTLR start "rule__XOrExpression__Group_1__1__Impl" + // InternalExport.g:11963:1: rule__XOrExpression__Group_1__1__Impl : ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XOrExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11967:1: ( ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) ) + // InternalExport.g:11968:1: ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) + { + // InternalExport.g:11968:1: ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) + // InternalExport.g:11969:2: ( rule__XOrExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalExport.g:11970:2: ( rule__XOrExpression__RightOperandAssignment_1_1 ) + // InternalExport.g:11970:3: rule__XOrExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XOrExpression__Group_1_0__0" + // InternalExport.g:11979:1: rule__XOrExpression__Group_1_0__0 : rule__XOrExpression__Group_1_0__0__Impl ; + public final void rule__XOrExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11983:1: ( rule__XOrExpression__Group_1_0__0__Impl ) + // InternalExport.g:11984:2: rule__XOrExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0__0" + + + // $ANTLR start "rule__XOrExpression__Group_1_0__0__Impl" + // InternalExport.g:11990:1: rule__XOrExpression__Group_1_0__0__Impl : ( ( rule__XOrExpression__Group_1_0_0__0 ) ) ; + public final void rule__XOrExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:11994:1: ( ( ( rule__XOrExpression__Group_1_0_0__0 ) ) ) + // InternalExport.g:11995:1: ( ( rule__XOrExpression__Group_1_0_0__0 ) ) + { + // InternalExport.g:11995:1: ( ( rule__XOrExpression__Group_1_0_0__0 ) ) + // InternalExport.g:11996:2: ( rule__XOrExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0()); + } + // InternalExport.g:11997:2: ( rule__XOrExpression__Group_1_0_0__0 ) + // InternalExport.g:11997:3: rule__XOrExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XOrExpression__Group_1_0_0__0" + // InternalExport.g:12006:1: rule__XOrExpression__Group_1_0_0__0 : rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1 ; + public final void rule__XOrExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12010:1: ( rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1 ) + // InternalExport.g:12011:2: rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_50); + rule__XOrExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XOrExpression__Group_1_0_0__0__Impl" + // InternalExport.g:12018:1: rule__XOrExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XOrExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12022:1: ( ( () ) ) + // InternalExport.g:12023:1: ( () ) + { + // InternalExport.g:12023:1: ( () ) + // InternalExport.g:12024:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalExport.g:12025:2: () + // InternalExport.g:12025:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XOrExpression__Group_1_0_0__1" + // InternalExport.g:12033:1: rule__XOrExpression__Group_1_0_0__1 : rule__XOrExpression__Group_1_0_0__1__Impl ; + public final void rule__XOrExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12037:1: ( rule__XOrExpression__Group_1_0_0__1__Impl ) + // InternalExport.g:12038:2: rule__XOrExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XOrExpression__Group_1_0_0__1__Impl" + // InternalExport.g:12044:1: rule__XOrExpression__Group_1_0_0__1__Impl : ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XOrExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12048:1: ( ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalExport.g:12049:1: ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalExport.g:12049:1: ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalExport.g:12050:2: ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalExport.g:12051:2: ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) + // InternalExport.g:12051:3: rule__XOrExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XAndExpression__Group__0" + // InternalExport.g:12060:1: rule__XAndExpression__Group__0 : rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1 ; + public final void rule__XAndExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12064:1: ( rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1 ) + // InternalExport.g:12065:2: rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1 + { + pushFollow(FOLLOW_52); + rule__XAndExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAndExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group__0" + + + // $ANTLR start "rule__XAndExpression__Group__0__Impl" + // InternalExport.g:12072:1: rule__XAndExpression__Group__0__Impl : ( ruleXEqualityExpression ) ; + public final void rule__XAndExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12076:1: ( ( ruleXEqualityExpression ) ) + // InternalExport.g:12077:1: ( ruleXEqualityExpression ) + { + // InternalExport.g:12077:1: ( ruleXEqualityExpression ) + // InternalExport.g:12078:2: ruleXEqualityExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXEqualityExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group__0__Impl" + + + // $ANTLR start "rule__XAndExpression__Group__1" + // InternalExport.g:12087:1: rule__XAndExpression__Group__1 : rule__XAndExpression__Group__1__Impl ; + public final void rule__XAndExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12091:1: ( rule__XAndExpression__Group__1__Impl ) + // InternalExport.g:12092:2: rule__XAndExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group__1" + + + // $ANTLR start "rule__XAndExpression__Group__1__Impl" + // InternalExport.g:12098:1: rule__XAndExpression__Group__1__Impl : ( ( rule__XAndExpression__Group_1__0 )* ) ; + public final void rule__XAndExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12102:1: ( ( ( rule__XAndExpression__Group_1__0 )* ) ) + // InternalExport.g:12103:1: ( ( rule__XAndExpression__Group_1__0 )* ) + { + // InternalExport.g:12103:1: ( ( rule__XAndExpression__Group_1__0 )* ) + // InternalExport.g:12104:2: ( rule__XAndExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getGroup_1()); + } + // InternalExport.g:12105:2: ( rule__XAndExpression__Group_1__0 )* + loop111: + do { + int alt111=2; + int LA111_0 = input.LA(1); + + if ( (LA111_0==16) ) { + int LA111_2 = input.LA(2); + + if ( (synpred185_InternalExport()) ) { + alt111=1; + } + + + } + + + switch (alt111) { + case 1 : + // InternalExport.g:12105:3: rule__XAndExpression__Group_1__0 + { + pushFollow(FOLLOW_53); + rule__XAndExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop111; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group__1__Impl" + + + // $ANTLR start "rule__XAndExpression__Group_1__0" + // InternalExport.g:12114:1: rule__XAndExpression__Group_1__0 : rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1 ; + public final void rule__XAndExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12118:1: ( rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1 ) + // InternalExport.g:12119:2: rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1 + { + pushFollow(FOLLOW_70); + rule__XAndExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1__0" + + + // $ANTLR start "rule__XAndExpression__Group_1__0__Impl" + // InternalExport.g:12126:1: rule__XAndExpression__Group_1__0__Impl : ( ( rule__XAndExpression__Group_1_0__0 ) ) ; + public final void rule__XAndExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12130:1: ( ( ( rule__XAndExpression__Group_1_0__0 ) ) ) + // InternalExport.g:12131:1: ( ( rule__XAndExpression__Group_1_0__0 ) ) + { + // InternalExport.g:12131:1: ( ( rule__XAndExpression__Group_1_0__0 ) ) + // InternalExport.g:12132:2: ( rule__XAndExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getGroup_1_0()); + } + // InternalExport.g:12133:2: ( rule__XAndExpression__Group_1_0__0 ) + // InternalExport.g:12133:3: rule__XAndExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XAndExpression__Group_1__1" + // InternalExport.g:12141:1: rule__XAndExpression__Group_1__1 : rule__XAndExpression__Group_1__1__Impl ; + public final void rule__XAndExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12145:1: ( rule__XAndExpression__Group_1__1__Impl ) + // InternalExport.g:12146:2: rule__XAndExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1__1" + + + // $ANTLR start "rule__XAndExpression__Group_1__1__Impl" + // InternalExport.g:12152:1: rule__XAndExpression__Group_1__1__Impl : ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XAndExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12156:1: ( ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) ) + // InternalExport.g:12157:1: ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) + { + // InternalExport.g:12157:1: ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) + // InternalExport.g:12158:2: ( rule__XAndExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalExport.g:12159:2: ( rule__XAndExpression__RightOperandAssignment_1_1 ) + // InternalExport.g:12159:3: rule__XAndExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XAndExpression__Group_1_0__0" + // InternalExport.g:12168:1: rule__XAndExpression__Group_1_0__0 : rule__XAndExpression__Group_1_0__0__Impl ; + public final void rule__XAndExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12172:1: ( rule__XAndExpression__Group_1_0__0__Impl ) + // InternalExport.g:12173:2: rule__XAndExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0__0" + + + // $ANTLR start "rule__XAndExpression__Group_1_0__0__Impl" + // InternalExport.g:12179:1: rule__XAndExpression__Group_1_0__0__Impl : ( ( rule__XAndExpression__Group_1_0_0__0 ) ) ; + public final void rule__XAndExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12183:1: ( ( ( rule__XAndExpression__Group_1_0_0__0 ) ) ) + // InternalExport.g:12184:1: ( ( rule__XAndExpression__Group_1_0_0__0 ) ) + { + // InternalExport.g:12184:1: ( ( rule__XAndExpression__Group_1_0_0__0 ) ) + // InternalExport.g:12185:2: ( rule__XAndExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0()); + } + // InternalExport.g:12186:2: ( rule__XAndExpression__Group_1_0_0__0 ) + // InternalExport.g:12186:3: rule__XAndExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XAndExpression__Group_1_0_0__0" + // InternalExport.g:12195:1: rule__XAndExpression__Group_1_0_0__0 : rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1 ; + public final void rule__XAndExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12199:1: ( rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1 ) + // InternalExport.g:12200:2: rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_52); + rule__XAndExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XAndExpression__Group_1_0_0__0__Impl" + // InternalExport.g:12207:1: rule__XAndExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XAndExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12211:1: ( ( () ) ) + // InternalExport.g:12212:1: ( () ) + { + // InternalExport.g:12212:1: ( () ) + // InternalExport.g:12213:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalExport.g:12214:2: () + // InternalExport.g:12214:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XAndExpression__Group_1_0_0__1" + // InternalExport.g:12222:1: rule__XAndExpression__Group_1_0_0__1 : rule__XAndExpression__Group_1_0_0__1__Impl ; + public final void rule__XAndExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12226:1: ( rule__XAndExpression__Group_1_0_0__1__Impl ) + // InternalExport.g:12227:2: rule__XAndExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XAndExpression__Group_1_0_0__1__Impl" + // InternalExport.g:12233:1: rule__XAndExpression__Group_1_0_0__1__Impl : ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XAndExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12237:1: ( ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalExport.g:12238:1: ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalExport.g:12238:1: ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalExport.g:12239:2: ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalExport.g:12240:2: ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) + // InternalExport.g:12240:3: rule__XAndExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group__0" + // InternalExport.g:12249:1: rule__XEqualityExpression__Group__0 : rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1 ; + public final void rule__XEqualityExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12253:1: ( rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1 ) + // InternalExport.g:12254:2: rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1 + { + pushFollow(FOLLOW_74); + rule__XEqualityExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group__0" + + + // $ANTLR start "rule__XEqualityExpression__Group__0__Impl" + // InternalExport.g:12261:1: rule__XEqualityExpression__Group__0__Impl : ( ruleXRelationalExpression ) ; + public final void rule__XEqualityExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12265:1: ( ( ruleXRelationalExpression ) ) + // InternalExport.g:12266:1: ( ruleXRelationalExpression ) + { + // InternalExport.g:12266:1: ( ruleXRelationalExpression ) + // InternalExport.g:12267:2: ruleXRelationalExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXRelationalExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group__0__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group__1" + // InternalExport.g:12276:1: rule__XEqualityExpression__Group__1 : rule__XEqualityExpression__Group__1__Impl ; + public final void rule__XEqualityExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12280:1: ( rule__XEqualityExpression__Group__1__Impl ) + // InternalExport.g:12281:2: rule__XEqualityExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group__1" + + + // $ANTLR start "rule__XEqualityExpression__Group__1__Impl" + // InternalExport.g:12287:1: rule__XEqualityExpression__Group__1__Impl : ( ( rule__XEqualityExpression__Group_1__0 )* ) ; + public final void rule__XEqualityExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12291:1: ( ( ( rule__XEqualityExpression__Group_1__0 )* ) ) + // InternalExport.g:12292:1: ( ( rule__XEqualityExpression__Group_1__0 )* ) + { + // InternalExport.g:12292:1: ( ( rule__XEqualityExpression__Group_1__0 )* ) + // InternalExport.g:12293:2: ( rule__XEqualityExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getGroup_1()); + } + // InternalExport.g:12294:2: ( rule__XEqualityExpression__Group_1__0 )* + loop112: + do { + int alt112=2; + switch ( input.LA(1) ) { + case 17: + { + int LA112_2 = input.LA(2); + + if ( (synpred186_InternalExport()) ) { + alt112=1; + } + + + } + break; + case 18: + { + int LA112_3 = input.LA(2); + + if ( (synpred186_InternalExport()) ) { + alt112=1; + } + + + } + break; + case 46: + { + int LA112_4 = input.LA(2); + + if ( (synpred186_InternalExport()) ) { + alt112=1; + } + + + } + break; + case 47: + { + int LA112_5 = input.LA(2); + + if ( (synpred186_InternalExport()) ) { + alt112=1; + } + + + } + break; + + } + + switch (alt112) { + case 1 : + // InternalExport.g:12294:3: rule__XEqualityExpression__Group_1__0 + { + pushFollow(FOLLOW_75); + rule__XEqualityExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop112; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group__1__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group_1__0" + // InternalExport.g:12303:1: rule__XEqualityExpression__Group_1__0 : rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1 ; + public final void rule__XEqualityExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12307:1: ( rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1 ) + // InternalExport.g:12308:2: rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1 + { + pushFollow(FOLLOW_70); + rule__XEqualityExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1__0" + + + // $ANTLR start "rule__XEqualityExpression__Group_1__0__Impl" + // InternalExport.g:12315:1: rule__XEqualityExpression__Group_1__0__Impl : ( ( rule__XEqualityExpression__Group_1_0__0 ) ) ; + public final void rule__XEqualityExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12319:1: ( ( ( rule__XEqualityExpression__Group_1_0__0 ) ) ) + // InternalExport.g:12320:1: ( ( rule__XEqualityExpression__Group_1_0__0 ) ) + { + // InternalExport.g:12320:1: ( ( rule__XEqualityExpression__Group_1_0__0 ) ) + // InternalExport.g:12321:2: ( rule__XEqualityExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0()); + } + // InternalExport.g:12322:2: ( rule__XEqualityExpression__Group_1_0__0 ) + // InternalExport.g:12322:3: rule__XEqualityExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group_1__1" + // InternalExport.g:12330:1: rule__XEqualityExpression__Group_1__1 : rule__XEqualityExpression__Group_1__1__Impl ; + public final void rule__XEqualityExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12334:1: ( rule__XEqualityExpression__Group_1__1__Impl ) + // InternalExport.g:12335:2: rule__XEqualityExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1__1" + + + // $ANTLR start "rule__XEqualityExpression__Group_1__1__Impl" + // InternalExport.g:12341:1: rule__XEqualityExpression__Group_1__1__Impl : ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XEqualityExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12345:1: ( ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) ) + // InternalExport.g:12346:1: ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) + { + // InternalExport.g:12346:1: ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) + // InternalExport.g:12347:2: ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalExport.g:12348:2: ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) + // InternalExport.g:12348:3: rule__XEqualityExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0__0" + // InternalExport.g:12357:1: rule__XEqualityExpression__Group_1_0__0 : rule__XEqualityExpression__Group_1_0__0__Impl ; + public final void rule__XEqualityExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12361:1: ( rule__XEqualityExpression__Group_1_0__0__Impl ) + // InternalExport.g:12362:2: rule__XEqualityExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0__0" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0__0__Impl" + // InternalExport.g:12368:1: rule__XEqualityExpression__Group_1_0__0__Impl : ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) ; + public final void rule__XEqualityExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12372:1: ( ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) ) + // InternalExport.g:12373:1: ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) + { + // InternalExport.g:12373:1: ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) + // InternalExport.g:12374:2: ( rule__XEqualityExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0()); + } + // InternalExport.g:12375:2: ( rule__XEqualityExpression__Group_1_0_0__0 ) + // InternalExport.g:12375:3: rule__XEqualityExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__0" + // InternalExport.g:12384:1: rule__XEqualityExpression__Group_1_0_0__0 : rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1 ; + public final void rule__XEqualityExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12388:1: ( rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1 ) + // InternalExport.g:12389:2: rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_74); + rule__XEqualityExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__0__Impl" + // InternalExport.g:12396:1: rule__XEqualityExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XEqualityExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12400:1: ( ( () ) ) + // InternalExport.g:12401:1: ( () ) + { + // InternalExport.g:12401:1: ( () ) + // InternalExport.g:12402:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalExport.g:12403:2: () + // InternalExport.g:12403:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__1" + // InternalExport.g:12411:1: rule__XEqualityExpression__Group_1_0_0__1 : rule__XEqualityExpression__Group_1_0_0__1__Impl ; + public final void rule__XEqualityExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12415:1: ( rule__XEqualityExpression__Group_1_0_0__1__Impl ) + // InternalExport.g:12416:2: rule__XEqualityExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__1__Impl" + // InternalExport.g:12422:1: rule__XEqualityExpression__Group_1_0_0__1__Impl : ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XEqualityExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12426:1: ( ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalExport.g:12427:1: ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalExport.g:12427:1: ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalExport.g:12428:2: ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalExport.g:12429:2: ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) + // InternalExport.g:12429:3: rule__XEqualityExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group__0" + // InternalExport.g:12438:1: rule__XRelationalExpression__Group__0 : rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1 ; + public final void rule__XRelationalExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12442:1: ( rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1 ) + // InternalExport.g:12443:2: rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1 + { + pushFollow(FOLLOW_76); + rule__XRelationalExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group__0" + + + // $ANTLR start "rule__XRelationalExpression__Group__0__Impl" + // InternalExport.g:12450:1: rule__XRelationalExpression__Group__0__Impl : ( ruleXOtherOperatorExpression ) ; + public final void rule__XRelationalExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12454:1: ( ( ruleXOtherOperatorExpression ) ) + // InternalExport.g:12455:1: ( ruleXOtherOperatorExpression ) + { + // InternalExport.g:12455:1: ( ruleXOtherOperatorExpression ) + // InternalExport.g:12456:2: ruleXOtherOperatorExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXOtherOperatorExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group__1" + // InternalExport.g:12465:1: rule__XRelationalExpression__Group__1 : rule__XRelationalExpression__Group__1__Impl ; + public final void rule__XRelationalExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12469:1: ( rule__XRelationalExpression__Group__1__Impl ) + // InternalExport.g:12470:2: rule__XRelationalExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group__1" + + + // $ANTLR start "rule__XRelationalExpression__Group__1__Impl" + // InternalExport.g:12476:1: rule__XRelationalExpression__Group__1__Impl : ( ( rule__XRelationalExpression__Alternatives_1 )* ) ; + public final void rule__XRelationalExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12480:1: ( ( ( rule__XRelationalExpression__Alternatives_1 )* ) ) + // InternalExport.g:12481:1: ( ( rule__XRelationalExpression__Alternatives_1 )* ) + { + // InternalExport.g:12481:1: ( ( rule__XRelationalExpression__Alternatives_1 )* ) + // InternalExport.g:12482:2: ( rule__XRelationalExpression__Alternatives_1 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1()); + } + // InternalExport.g:12483:2: ( rule__XRelationalExpression__Alternatives_1 )* + loop113: + do { + int alt113=2; + switch ( input.LA(1) ) { + case 22: + { + int LA113_2 = input.LA(2); + + if ( (synpred187_InternalExport()) ) { + alt113=1; + } + + + } + break; + case 21: + { + int LA113_3 = input.LA(2); + + if ( (synpred187_InternalExport()) ) { + alt113=1; + } + + + } + break; + case 96: + { + int LA113_4 = input.LA(2); + + if ( (synpred187_InternalExport()) ) { + alt113=1; + } + + + } + break; + case 19: + { + int LA113_5 = input.LA(2); + + if ( (synpred187_InternalExport()) ) { + alt113=1; + } + + + } + break; + + } + + switch (alt113) { + case 1 : + // InternalExport.g:12483:3: rule__XRelationalExpression__Alternatives_1 + { + pushFollow(FOLLOW_77); + rule__XRelationalExpression__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop113; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group__1__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0__0" + // InternalExport.g:12492:1: rule__XRelationalExpression__Group_1_0__0 : rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1 ; + public final void rule__XRelationalExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12496:1: ( rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1 ) + // InternalExport.g:12497:2: rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1 + { + pushFollow(FOLLOW_78); + rule__XRelationalExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0__0__Impl" + // InternalExport.g:12504:1: rule__XRelationalExpression__Group_1_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) ; + public final void rule__XRelationalExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12508:1: ( ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) ) + // InternalExport.g:12509:1: ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) + { + // InternalExport.g:12509:1: ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) + // InternalExport.g:12510:2: ( rule__XRelationalExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0()); + } + // InternalExport.g:12511:2: ( rule__XRelationalExpression__Group_1_0_0__0 ) + // InternalExport.g:12511:3: rule__XRelationalExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0__1" + // InternalExport.g:12519:1: rule__XRelationalExpression__Group_1_0__1 : rule__XRelationalExpression__Group_1_0__1__Impl ; + public final void rule__XRelationalExpression__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12523:1: ( rule__XRelationalExpression__Group_1_0__1__Impl ) + // InternalExport.g:12524:2: rule__XRelationalExpression__Group_1_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0__1" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0__1__Impl" + // InternalExport.g:12530:1: rule__XRelationalExpression__Group_1_0__1__Impl : ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) ; + public final void rule__XRelationalExpression__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12534:1: ( ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) ) + // InternalExport.g:12535:1: ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) + { + // InternalExport.g:12535:1: ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) + // InternalExport.g:12536:2: ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1()); + } + // InternalExport.g:12537:2: ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) + // InternalExport.g:12537:3: rule__XRelationalExpression__TypeAssignment_1_0_1 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__TypeAssignment_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0__1__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0__0" + // InternalExport.g:12546:1: rule__XRelationalExpression__Group_1_0_0__0 : rule__XRelationalExpression__Group_1_0_0__0__Impl ; + public final void rule__XRelationalExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12550:1: ( rule__XRelationalExpression__Group_1_0_0__0__Impl ) + // InternalExport.g:12551:2: rule__XRelationalExpression__Group_1_0_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0__0__Impl" + // InternalExport.g:12557:1: rule__XRelationalExpression__Group_1_0_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) ; + public final void rule__XRelationalExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12561:1: ( ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) ) + // InternalExport.g:12562:1: ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) + { + // InternalExport.g:12562:1: ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) + // InternalExport.g:12563:2: ( rule__XRelationalExpression__Group_1_0_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0()); + } + // InternalExport.g:12564:2: ( rule__XRelationalExpression__Group_1_0_0_0__0 ) + // InternalExport.g:12564:3: rule__XRelationalExpression__Group_1_0_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__0" + // InternalExport.g:12573:1: rule__XRelationalExpression__Group_1_0_0_0__0 : rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1 ; + public final void rule__XRelationalExpression__Group_1_0_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12577:1: ( rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1 ) + // InternalExport.g:12578:2: rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1 + { + pushFollow(FOLLOW_79); + rule__XRelationalExpression__Group_1_0_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0_0__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__0__Impl" + // InternalExport.g:12585:1: rule__XRelationalExpression__Group_1_0_0_0__0__Impl : ( () ) ; + public final void rule__XRelationalExpression__Group_1_0_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12589:1: ( ( () ) ) + // InternalExport.g:12590:1: ( () ) + { + // InternalExport.g:12590:1: ( () ) + // InternalExport.g:12591:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0()); + } + // InternalExport.g:12592:2: () + // InternalExport.g:12592:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0_0__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__1" + // InternalExport.g:12600:1: rule__XRelationalExpression__Group_1_0_0_0__1 : rule__XRelationalExpression__Group_1_0_0_0__1__Impl ; + public final void rule__XRelationalExpression__Group_1_0_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12604:1: ( rule__XRelationalExpression__Group_1_0_0_0__1__Impl ) + // InternalExport.g:12605:2: rule__XRelationalExpression__Group_1_0_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0_0__1" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__1__Impl" + // InternalExport.g:12611:1: rule__XRelationalExpression__Group_1_0_0_0__1__Impl : ( 'instanceof' ) ; + public final void rule__XRelationalExpression__Group_1_0_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12615:1: ( ( 'instanceof' ) ) + // InternalExport.g:12616:1: ( 'instanceof' ) + { + // InternalExport.g:12616:1: ( 'instanceof' ) + // InternalExport.g:12617:2: 'instanceof' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); + } + match(input,96,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0_0__1__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1__0" + // InternalExport.g:12627:1: rule__XRelationalExpression__Group_1_1__0 : rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1 ; + public final void rule__XRelationalExpression__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12631:1: ( rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1 ) + // InternalExport.g:12632:2: rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1 + { + pushFollow(FOLLOW_70); + rule__XRelationalExpression__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1__0__Impl" + // InternalExport.g:12639:1: rule__XRelationalExpression__Group_1_1__0__Impl : ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) ; + public final void rule__XRelationalExpression__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12643:1: ( ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) ) + // InternalExport.g:12644:1: ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) + { + // InternalExport.g:12644:1: ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) + // InternalExport.g:12645:2: ( rule__XRelationalExpression__Group_1_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0()); + } + // InternalExport.g:12646:2: ( rule__XRelationalExpression__Group_1_1_0__0 ) + // InternalExport.g:12646:3: rule__XRelationalExpression__Group_1_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1__1" + // InternalExport.g:12654:1: rule__XRelationalExpression__Group_1_1__1 : rule__XRelationalExpression__Group_1_1__1__Impl ; + public final void rule__XRelationalExpression__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12658:1: ( rule__XRelationalExpression__Group_1_1__1__Impl ) + // InternalExport.g:12659:2: rule__XRelationalExpression__Group_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1__1" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1__1__Impl" + // InternalExport.g:12665:1: rule__XRelationalExpression__Group_1_1__1__Impl : ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) ; + public final void rule__XRelationalExpression__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12669:1: ( ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) ) + // InternalExport.g:12670:1: ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) + { + // InternalExport.g:12670:1: ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) + // InternalExport.g:12671:2: ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1()); + } + // InternalExport.g:12672:2: ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) + // InternalExport.g:12672:3: rule__XRelationalExpression__RightOperandAssignment_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__RightOperandAssignment_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1__1__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0__0" + // InternalExport.g:12681:1: rule__XRelationalExpression__Group_1_1_0__0 : rule__XRelationalExpression__Group_1_1_0__0__Impl ; + public final void rule__XRelationalExpression__Group_1_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12685:1: ( rule__XRelationalExpression__Group_1_1_0__0__Impl ) + // InternalExport.g:12686:2: rule__XRelationalExpression__Group_1_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0__0__Impl" + // InternalExport.g:12692:1: rule__XRelationalExpression__Group_1_1_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) ; + public final void rule__XRelationalExpression__Group_1_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12696:1: ( ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) ) + // InternalExport.g:12697:1: ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) + { + // InternalExport.g:12697:1: ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) + // InternalExport.g:12698:2: ( rule__XRelationalExpression__Group_1_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0()); + } + // InternalExport.g:12699:2: ( rule__XRelationalExpression__Group_1_1_0_0__0 ) + // InternalExport.g:12699:3: rule__XRelationalExpression__Group_1_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__0" + // InternalExport.g:12708:1: rule__XRelationalExpression__Group_1_1_0_0__0 : rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1 ; + public final void rule__XRelationalExpression__Group_1_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12712:1: ( rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1 ) + // InternalExport.g:12713:2: rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1 + { + pushFollow(FOLLOW_76); + rule__XRelationalExpression__Group_1_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0_0__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__0__Impl" + // InternalExport.g:12720:1: rule__XRelationalExpression__Group_1_1_0_0__0__Impl : ( () ) ; + public final void rule__XRelationalExpression__Group_1_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12724:1: ( ( () ) ) + // InternalExport.g:12725:1: ( () ) + { + // InternalExport.g:12725:1: ( () ) + // InternalExport.g:12726:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); + } + // InternalExport.g:12727:2: () + // InternalExport.g:12727:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0_0__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__1" + // InternalExport.g:12735:1: rule__XRelationalExpression__Group_1_1_0_0__1 : rule__XRelationalExpression__Group_1_1_0_0__1__Impl ; + public final void rule__XRelationalExpression__Group_1_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12739:1: ( rule__XRelationalExpression__Group_1_1_0_0__1__Impl ) + // InternalExport.g:12740:2: rule__XRelationalExpression__Group_1_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0_0__1" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__1__Impl" + // InternalExport.g:12746:1: rule__XRelationalExpression__Group_1_1_0_0__1__Impl : ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) ; + public final void rule__XRelationalExpression__Group_1_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12750:1: ( ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) ) + // InternalExport.g:12751:1: ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) + { + // InternalExport.g:12751:1: ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) + // InternalExport.g:12752:2: ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1()); + } + // InternalExport.g:12753:2: ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) + // InternalExport.g:12753:3: rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0_0__1__Impl" + + + // $ANTLR start "rule__OpCompare__Group_1__0" + // InternalExport.g:12762:1: rule__OpCompare__Group_1__0 : rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1 ; + public final void rule__OpCompare__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12766:1: ( rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1 ) + // InternalExport.g:12767:2: rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1 + { + pushFollow(FOLLOW_32); + rule__OpCompare__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpCompare__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpCompare__Group_1__0" + + + // $ANTLR start "rule__OpCompare__Group_1__0__Impl" + // InternalExport.g:12774:1: rule__OpCompare__Group_1__0__Impl : ( '<' ) ; + public final void rule__OpCompare__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12778:1: ( ( '<' ) ) + // InternalExport.g:12779:1: ( '<' ) + { + // InternalExport.g:12779:1: ( '<' ) + // InternalExport.g:12780:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpCompare__Group_1__0__Impl" + + + // $ANTLR start "rule__OpCompare__Group_1__1" + // InternalExport.g:12789:1: rule__OpCompare__Group_1__1 : rule__OpCompare__Group_1__1__Impl ; + public final void rule__OpCompare__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12793:1: ( rule__OpCompare__Group_1__1__Impl ) + // InternalExport.g:12794:2: rule__OpCompare__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpCompare__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpCompare__Group_1__1" + + + // $ANTLR start "rule__OpCompare__Group_1__1__Impl" + // InternalExport.g:12800:1: rule__OpCompare__Group_1__1__Impl : ( '=' ) ; + public final void rule__OpCompare__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12804:1: ( ( '=' ) ) + // InternalExport.g:12805:1: ( '=' ) + { + // InternalExport.g:12805:1: ( '=' ) + // InternalExport.g:12806:2: '=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); + } + match(input,14,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpCompare__Group_1__1__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group__0" + // InternalExport.g:12816:1: rule__XOtherOperatorExpression__Group__0 : rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1 ; + public final void rule__XOtherOperatorExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12820:1: ( rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1 ) + // InternalExport.g:12821:2: rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1 + { + pushFollow(FOLLOW_80); + rule__XOtherOperatorExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group__0" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group__0__Impl" + // InternalExport.g:12828:1: rule__XOtherOperatorExpression__Group__0__Impl : ( ruleXAdditiveExpression ) ; + public final void rule__XOtherOperatorExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12832:1: ( ( ruleXAdditiveExpression ) ) + // InternalExport.g:12833:1: ( ruleXAdditiveExpression ) + { + // InternalExport.g:12833:1: ( ruleXAdditiveExpression ) + // InternalExport.g:12834:2: ruleXAdditiveExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXAdditiveExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group__0__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group__1" + // InternalExport.g:12843:1: rule__XOtherOperatorExpression__Group__1 : rule__XOtherOperatorExpression__Group__1__Impl ; + public final void rule__XOtherOperatorExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12847:1: ( rule__XOtherOperatorExpression__Group__1__Impl ) + // InternalExport.g:12848:2: rule__XOtherOperatorExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group__1" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group__1__Impl" + // InternalExport.g:12854:1: rule__XOtherOperatorExpression__Group__1__Impl : ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) ; + public final void rule__XOtherOperatorExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12858:1: ( ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) ) + // InternalExport.g:12859:1: ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) + { + // InternalExport.g:12859:1: ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) + // InternalExport.g:12860:2: ( rule__XOtherOperatorExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1()); + } + // InternalExport.g:12861:2: ( rule__XOtherOperatorExpression__Group_1__0 )* + loop114: + do { + int alt114=2; + alt114 = dfa114.predict(input); + switch (alt114) { + case 1 : + // InternalExport.g:12861:3: rule__XOtherOperatorExpression__Group_1__0 + { + pushFollow(FOLLOW_81); + rule__XOtherOperatorExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop114; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group__1__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1__0" + // InternalExport.g:12870:1: rule__XOtherOperatorExpression__Group_1__0 : rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1 ; + public final void rule__XOtherOperatorExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12874:1: ( rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1 ) + // InternalExport.g:12875:2: rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1 + { + pushFollow(FOLLOW_70); + rule__XOtherOperatorExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1__0" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1__0__Impl" + // InternalExport.g:12882:1: rule__XOtherOperatorExpression__Group_1__0__Impl : ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) ; + public final void rule__XOtherOperatorExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12886:1: ( ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) ) + // InternalExport.g:12887:1: ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) + { + // InternalExport.g:12887:1: ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) + // InternalExport.g:12888:2: ( rule__XOtherOperatorExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0()); + } + // InternalExport.g:12889:2: ( rule__XOtherOperatorExpression__Group_1_0__0 ) + // InternalExport.g:12889:3: rule__XOtherOperatorExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1__1" + // InternalExport.g:12897:1: rule__XOtherOperatorExpression__Group_1__1 : rule__XOtherOperatorExpression__Group_1__1__Impl ; + public final void rule__XOtherOperatorExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12901:1: ( rule__XOtherOperatorExpression__Group_1__1__Impl ) + // InternalExport.g:12902:2: rule__XOtherOperatorExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1__1" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1__1__Impl" + // InternalExport.g:12908:1: rule__XOtherOperatorExpression__Group_1__1__Impl : ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XOtherOperatorExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12912:1: ( ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) ) + // InternalExport.g:12913:1: ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) + { + // InternalExport.g:12913:1: ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) + // InternalExport.g:12914:2: ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalExport.g:12915:2: ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) + // InternalExport.g:12915:3: rule__XOtherOperatorExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0__0" + // InternalExport.g:12924:1: rule__XOtherOperatorExpression__Group_1_0__0 : rule__XOtherOperatorExpression__Group_1_0__0__Impl ; + public final void rule__XOtherOperatorExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12928:1: ( rule__XOtherOperatorExpression__Group_1_0__0__Impl ) + // InternalExport.g:12929:2: rule__XOtherOperatorExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0__0" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0__0__Impl" + // InternalExport.g:12935:1: rule__XOtherOperatorExpression__Group_1_0__0__Impl : ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) ; + public final void rule__XOtherOperatorExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12939:1: ( ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) ) + // InternalExport.g:12940:1: ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) + { + // InternalExport.g:12940:1: ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) + // InternalExport.g:12941:2: ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0()); + } + // InternalExport.g:12942:2: ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) + // InternalExport.g:12942:3: rule__XOtherOperatorExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__0" + // InternalExport.g:12951:1: rule__XOtherOperatorExpression__Group_1_0_0__0 : rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1 ; + public final void rule__XOtherOperatorExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12955:1: ( rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1 ) + // InternalExport.g:12956:2: rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_80); + rule__XOtherOperatorExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__0__Impl" + // InternalExport.g:12963:1: rule__XOtherOperatorExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XOtherOperatorExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12967:1: ( ( () ) ) + // InternalExport.g:12968:1: ( () ) + { + // InternalExport.g:12968:1: ( () ) + // InternalExport.g:12969:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalExport.g:12970:2: () + // InternalExport.g:12970:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__1" + // InternalExport.g:12978:1: rule__XOtherOperatorExpression__Group_1_0_0__1 : rule__XOtherOperatorExpression__Group_1_0_0__1__Impl ; + public final void rule__XOtherOperatorExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12982:1: ( rule__XOtherOperatorExpression__Group_1_0_0__1__Impl ) + // InternalExport.g:12983:2: rule__XOtherOperatorExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__1__Impl" + // InternalExport.g:12989:1: rule__XOtherOperatorExpression__Group_1_0_0__1__Impl : ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XOtherOperatorExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:12993:1: ( ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalExport.g:12994:1: ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalExport.g:12994:1: ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalExport.g:12995:2: ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalExport.g:12996:2: ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) + // InternalExport.g:12996:3: rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__OpOther__Group_2__0" + // InternalExport.g:13005:1: rule__OpOther__Group_2__0 : rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1 ; + public final void rule__OpOther__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13009:1: ( rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1 ) + // InternalExport.g:13010:2: rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1 + { + pushFollow(FOLLOW_82); + rule__OpOther__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpOther__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_2__0" + + + // $ANTLR start "rule__OpOther__Group_2__0__Impl" + // InternalExport.g:13017:1: rule__OpOther__Group_2__0__Impl : ( '>' ) ; + public final void rule__OpOther__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13021:1: ( ( '>' ) ) + // InternalExport.g:13022:1: ( '>' ) + { + // InternalExport.g:13022:1: ( '>' ) + // InternalExport.g:13023:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_2__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_2__1" + // InternalExport.g:13032:1: rule__OpOther__Group_2__1 : rule__OpOther__Group_2__1__Impl ; + public final void rule__OpOther__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13036:1: ( rule__OpOther__Group_2__1__Impl ) + // InternalExport.g:13037:2: rule__OpOther__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_2__1" + + + // $ANTLR start "rule__OpOther__Group_2__1__Impl" + // InternalExport.g:13043:1: rule__OpOther__Group_2__1__Impl : ( '..' ) ; + public final void rule__OpOther__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13047:1: ( ( '..' ) ) + // InternalExport.g:13048:1: ( '..' ) + { + // InternalExport.g:13048:1: ( '..' ) + // InternalExport.g:13049:2: '..' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); + } + match(input,50,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_2__1__Impl" + + + // $ANTLR start "rule__OpOther__Group_5__0" + // InternalExport.g:13059:1: rule__OpOther__Group_5__0 : rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1 ; + public final void rule__OpOther__Group_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13063:1: ( rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1 ) + // InternalExport.g:13064:2: rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1 + { + pushFollow(FOLLOW_83); + rule__OpOther__Group_5__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpOther__Group_5__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5__0" + + + // $ANTLR start "rule__OpOther__Group_5__0__Impl" + // InternalExport.g:13071:1: rule__OpOther__Group_5__0__Impl : ( '>' ) ; + public final void rule__OpOther__Group_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13075:1: ( ( '>' ) ) + // InternalExport.g:13076:1: ( '>' ) + { + // InternalExport.g:13076:1: ( '>' ) + // InternalExport.g:13077:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_5__1" + // InternalExport.g:13086:1: rule__OpOther__Group_5__1 : rule__OpOther__Group_5__1__Impl ; + public final void rule__OpOther__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13090:1: ( rule__OpOther__Group_5__1__Impl ) + // InternalExport.g:13091:2: rule__OpOther__Group_5__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_5__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5__1" + + + // $ANTLR start "rule__OpOther__Group_5__1__Impl" + // InternalExport.g:13097:1: rule__OpOther__Group_5__1__Impl : ( ( rule__OpOther__Alternatives_5_1 ) ) ; + public final void rule__OpOther__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13101:1: ( ( ( rule__OpOther__Alternatives_5_1 ) ) ) + // InternalExport.g:13102:1: ( ( rule__OpOther__Alternatives_5_1 ) ) + { + // InternalExport.g:13102:1: ( ( rule__OpOther__Alternatives_5_1 ) ) + // InternalExport.g:13103:2: ( rule__OpOther__Alternatives_5_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getAlternatives_5_1()); + } + // InternalExport.g:13104:2: ( rule__OpOther__Alternatives_5_1 ) + // InternalExport.g:13104:3: rule__OpOther__Alternatives_5_1 + { + pushFollow(FOLLOW_2); + rule__OpOther__Alternatives_5_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getAlternatives_5_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5__1__Impl" + + + // $ANTLR start "rule__OpOther__Group_5_1_0__0" + // InternalExport.g:13113:1: rule__OpOther__Group_5_1_0__0 : rule__OpOther__Group_5_1_0__0__Impl ; + public final void rule__OpOther__Group_5_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13117:1: ( rule__OpOther__Group_5_1_0__0__Impl ) + // InternalExport.g:13118:2: rule__OpOther__Group_5_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_5_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0__0" + + + // $ANTLR start "rule__OpOther__Group_5_1_0__0__Impl" + // InternalExport.g:13124:1: rule__OpOther__Group_5_1_0__0__Impl : ( ( rule__OpOther__Group_5_1_0_0__0 ) ) ; + public final void rule__OpOther__Group_5_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13128:1: ( ( ( rule__OpOther__Group_5_1_0_0__0 ) ) ) + // InternalExport.g:13129:1: ( ( rule__OpOther__Group_5_1_0_0__0 ) ) + { + // InternalExport.g:13129:1: ( ( rule__OpOther__Group_5_1_0_0__0 ) ) + // InternalExport.g:13130:2: ( rule__OpOther__Group_5_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0()); + } + // InternalExport.g:13131:2: ( rule__OpOther__Group_5_1_0_0__0 ) + // InternalExport.g:13131:3: rule__OpOther__Group_5_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_5_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_5_1_0_0__0" + // InternalExport.g:13140:1: rule__OpOther__Group_5_1_0_0__0 : rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1 ; + public final void rule__OpOther__Group_5_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13144:1: ( rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1 ) + // InternalExport.g:13145:2: rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1 + { + pushFollow(FOLLOW_83); + rule__OpOther__Group_5_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpOther__Group_5_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0_0__0" + + + // $ANTLR start "rule__OpOther__Group_5_1_0_0__0__Impl" + // InternalExport.g:13152:1: rule__OpOther__Group_5_1_0_0__0__Impl : ( '>' ) ; + public final void rule__OpOther__Group_5_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13156:1: ( ( '>' ) ) + // InternalExport.g:13157:1: ( '>' ) + { + // InternalExport.g:13157:1: ( '>' ) + // InternalExport.g:13158:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0_0__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_5_1_0_0__1" + // InternalExport.g:13167:1: rule__OpOther__Group_5_1_0_0__1 : rule__OpOther__Group_5_1_0_0__1__Impl ; + public final void rule__OpOther__Group_5_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13171:1: ( rule__OpOther__Group_5_1_0_0__1__Impl ) + // InternalExport.g:13172:2: rule__OpOther__Group_5_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_5_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0_0__1" + + + // $ANTLR start "rule__OpOther__Group_5_1_0_0__1__Impl" + // InternalExport.g:13178:1: rule__OpOther__Group_5_1_0_0__1__Impl : ( '>' ) ; + public final void rule__OpOther__Group_5_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13182:1: ( ( '>' ) ) + // InternalExport.g:13183:1: ( '>' ) + { + // InternalExport.g:13183:1: ( '>' ) + // InternalExport.g:13184:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0_0__1__Impl" + + + // $ANTLR start "rule__OpOther__Group_6__0" + // InternalExport.g:13194:1: rule__OpOther__Group_6__0 : rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1 ; + public final void rule__OpOther__Group_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13198:1: ( rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1 ) + // InternalExport.g:13199:2: rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1 + { + pushFollow(FOLLOW_84); + rule__OpOther__Group_6__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpOther__Group_6__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6__0" + + + // $ANTLR start "rule__OpOther__Group_6__0__Impl" + // InternalExport.g:13206:1: rule__OpOther__Group_6__0__Impl : ( '<' ) ; + public final void rule__OpOther__Group_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13210:1: ( ( '<' ) ) + // InternalExport.g:13211:1: ( '<' ) + { + // InternalExport.g:13211:1: ( '<' ) + // InternalExport.g:13212:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_6__1" + // InternalExport.g:13221:1: rule__OpOther__Group_6__1 : rule__OpOther__Group_6__1__Impl ; + public final void rule__OpOther__Group_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13225:1: ( rule__OpOther__Group_6__1__Impl ) + // InternalExport.g:13226:2: rule__OpOther__Group_6__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6__1" + + + // $ANTLR start "rule__OpOther__Group_6__1__Impl" + // InternalExport.g:13232:1: rule__OpOther__Group_6__1__Impl : ( ( rule__OpOther__Alternatives_6_1 ) ) ; + public final void rule__OpOther__Group_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13236:1: ( ( ( rule__OpOther__Alternatives_6_1 ) ) ) + // InternalExport.g:13237:1: ( ( rule__OpOther__Alternatives_6_1 ) ) + { + // InternalExport.g:13237:1: ( ( rule__OpOther__Alternatives_6_1 ) ) + // InternalExport.g:13238:2: ( rule__OpOther__Alternatives_6_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getAlternatives_6_1()); + } + // InternalExport.g:13239:2: ( rule__OpOther__Alternatives_6_1 ) + // InternalExport.g:13239:3: rule__OpOther__Alternatives_6_1 + { + pushFollow(FOLLOW_2); + rule__OpOther__Alternatives_6_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getAlternatives_6_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6__1__Impl" + + + // $ANTLR start "rule__OpOther__Group_6_1_0__0" + // InternalExport.g:13248:1: rule__OpOther__Group_6_1_0__0 : rule__OpOther__Group_6_1_0__0__Impl ; + public final void rule__OpOther__Group_6_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13252:1: ( rule__OpOther__Group_6_1_0__0__Impl ) + // InternalExport.g:13253:2: rule__OpOther__Group_6_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0__0" + + + // $ANTLR start "rule__OpOther__Group_6_1_0__0__Impl" + // InternalExport.g:13259:1: rule__OpOther__Group_6_1_0__0__Impl : ( ( rule__OpOther__Group_6_1_0_0__0 ) ) ; + public final void rule__OpOther__Group_6_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13263:1: ( ( ( rule__OpOther__Group_6_1_0_0__0 ) ) ) + // InternalExport.g:13264:1: ( ( rule__OpOther__Group_6_1_0_0__0 ) ) + { + // InternalExport.g:13264:1: ( ( rule__OpOther__Group_6_1_0_0__0 ) ) + // InternalExport.g:13265:2: ( rule__OpOther__Group_6_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0()); + } + // InternalExport.g:13266:2: ( rule__OpOther__Group_6_1_0_0__0 ) + // InternalExport.g:13266:3: rule__OpOther__Group_6_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_6_1_0_0__0" + // InternalExport.g:13275:1: rule__OpOther__Group_6_1_0_0__0 : rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1 ; + public final void rule__OpOther__Group_6_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13279:1: ( rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1 ) + // InternalExport.g:13280:2: rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1 + { + pushFollow(FOLLOW_72); + rule__OpOther__Group_6_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpOther__Group_6_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0_0__0" + + + // $ANTLR start "rule__OpOther__Group_6_1_0_0__0__Impl" + // InternalExport.g:13287:1: rule__OpOther__Group_6_1_0_0__0__Impl : ( '<' ) ; + public final void rule__OpOther__Group_6_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13291:1: ( ( '<' ) ) + // InternalExport.g:13292:1: ( '<' ) + { + // InternalExport.g:13292:1: ( '<' ) + // InternalExport.g:13293:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0_0__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_6_1_0_0__1" + // InternalExport.g:13302:1: rule__OpOther__Group_6_1_0_0__1 : rule__OpOther__Group_6_1_0_0__1__Impl ; + public final void rule__OpOther__Group_6_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13306:1: ( rule__OpOther__Group_6_1_0_0__1__Impl ) + // InternalExport.g:13307:2: rule__OpOther__Group_6_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0_0__1" + + + // $ANTLR start "rule__OpOther__Group_6_1_0_0__1__Impl" + // InternalExport.g:13313:1: rule__OpOther__Group_6_1_0_0__1__Impl : ( '<' ) ; + public final void rule__OpOther__Group_6_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13317:1: ( ( '<' ) ) + // InternalExport.g:13318:1: ( '<' ) + { + // InternalExport.g:13318:1: ( '<' ) + // InternalExport.g:13319:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0_0__1__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group__0" + // InternalExport.g:13329:1: rule__XAdditiveExpression__Group__0 : rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1 ; + public final void rule__XAdditiveExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13333:1: ( rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1 ) + // InternalExport.g:13334:2: rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1 + { + pushFollow(FOLLOW_58); + rule__XAdditiveExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group__0" + + + // $ANTLR start "rule__XAdditiveExpression__Group__0__Impl" + // InternalExport.g:13341:1: rule__XAdditiveExpression__Group__0__Impl : ( ruleXMultiplicativeExpression ) ; + public final void rule__XAdditiveExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13345:1: ( ( ruleXMultiplicativeExpression ) ) + // InternalExport.g:13346:1: ( ruleXMultiplicativeExpression ) + { + // InternalExport.g:13346:1: ( ruleXMultiplicativeExpression ) + // InternalExport.g:13347:2: ruleXMultiplicativeExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group__0__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group__1" + // InternalExport.g:13356:1: rule__XAdditiveExpression__Group__1 : rule__XAdditiveExpression__Group__1__Impl ; + public final void rule__XAdditiveExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13360:1: ( rule__XAdditiveExpression__Group__1__Impl ) + // InternalExport.g:13361:2: rule__XAdditiveExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group__1" + + + // $ANTLR start "rule__XAdditiveExpression__Group__1__Impl" + // InternalExport.g:13367:1: rule__XAdditiveExpression__Group__1__Impl : ( ( rule__XAdditiveExpression__Group_1__0 )* ) ; + public final void rule__XAdditiveExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13371:1: ( ( ( rule__XAdditiveExpression__Group_1__0 )* ) ) + // InternalExport.g:13372:1: ( ( rule__XAdditiveExpression__Group_1__0 )* ) + { + // InternalExport.g:13372:1: ( ( rule__XAdditiveExpression__Group_1__0 )* ) + // InternalExport.g:13373:2: ( rule__XAdditiveExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1()); + } + // InternalExport.g:13374:2: ( rule__XAdditiveExpression__Group_1__0 )* + loop115: + do { + int alt115=2; + int LA115_0 = input.LA(1); + + if ( (LA115_0==24) ) { + int LA115_2 = input.LA(2); + + if ( (synpred189_InternalExport()) ) { + alt115=1; + } + + + } + else if ( (LA115_0==23) ) { + int LA115_3 = input.LA(2); + + if ( (synpred189_InternalExport()) ) { + alt115=1; + } + + + } + + + switch (alt115) { + case 1 : + // InternalExport.g:13374:3: rule__XAdditiveExpression__Group_1__0 + { + pushFollow(FOLLOW_59); + rule__XAdditiveExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop115; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group__1__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1__0" + // InternalExport.g:13383:1: rule__XAdditiveExpression__Group_1__0 : rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1 ; + public final void rule__XAdditiveExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13387:1: ( rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1 ) + // InternalExport.g:13388:2: rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1 + { + pushFollow(FOLLOW_70); + rule__XAdditiveExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1__0" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1__0__Impl" + // InternalExport.g:13395:1: rule__XAdditiveExpression__Group_1__0__Impl : ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) ; + public final void rule__XAdditiveExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13399:1: ( ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) ) + // InternalExport.g:13400:1: ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) + { + // InternalExport.g:13400:1: ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) + // InternalExport.g:13401:2: ( rule__XAdditiveExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0()); + } + // InternalExport.g:13402:2: ( rule__XAdditiveExpression__Group_1_0__0 ) + // InternalExport.g:13402:3: rule__XAdditiveExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1__1" + // InternalExport.g:13410:1: rule__XAdditiveExpression__Group_1__1 : rule__XAdditiveExpression__Group_1__1__Impl ; + public final void rule__XAdditiveExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13414:1: ( rule__XAdditiveExpression__Group_1__1__Impl ) + // InternalExport.g:13415:2: rule__XAdditiveExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1__1" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1__1__Impl" + // InternalExport.g:13421:1: rule__XAdditiveExpression__Group_1__1__Impl : ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XAdditiveExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13425:1: ( ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) ) + // InternalExport.g:13426:1: ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) + { + // InternalExport.g:13426:1: ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) + // InternalExport.g:13427:2: ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalExport.g:13428:2: ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) + // InternalExport.g:13428:3: rule__XAdditiveExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0__0" + // InternalExport.g:13437:1: rule__XAdditiveExpression__Group_1_0__0 : rule__XAdditiveExpression__Group_1_0__0__Impl ; + public final void rule__XAdditiveExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13441:1: ( rule__XAdditiveExpression__Group_1_0__0__Impl ) + // InternalExport.g:13442:2: rule__XAdditiveExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0__0" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0__0__Impl" + // InternalExport.g:13448:1: rule__XAdditiveExpression__Group_1_0__0__Impl : ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) ; + public final void rule__XAdditiveExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13452:1: ( ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) ) + // InternalExport.g:13453:1: ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) + { + // InternalExport.g:13453:1: ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) + // InternalExport.g:13454:2: ( rule__XAdditiveExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0()); + } + // InternalExport.g:13455:2: ( rule__XAdditiveExpression__Group_1_0_0__0 ) + // InternalExport.g:13455:3: rule__XAdditiveExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__0" + // InternalExport.g:13464:1: rule__XAdditiveExpression__Group_1_0_0__0 : rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1 ; + public final void rule__XAdditiveExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13468:1: ( rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1 ) + // InternalExport.g:13469:2: rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_58); + rule__XAdditiveExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__0__Impl" + // InternalExport.g:13476:1: rule__XAdditiveExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XAdditiveExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13480:1: ( ( () ) ) + // InternalExport.g:13481:1: ( () ) + { + // InternalExport.g:13481:1: ( () ) + // InternalExport.g:13482:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalExport.g:13483:2: () + // InternalExport.g:13483:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__1" + // InternalExport.g:13491:1: rule__XAdditiveExpression__Group_1_0_0__1 : rule__XAdditiveExpression__Group_1_0_0__1__Impl ; + public final void rule__XAdditiveExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13495:1: ( rule__XAdditiveExpression__Group_1_0_0__1__Impl ) + // InternalExport.g:13496:2: rule__XAdditiveExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__1__Impl" + // InternalExport.g:13502:1: rule__XAdditiveExpression__Group_1_0_0__1__Impl : ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XAdditiveExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13506:1: ( ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalExport.g:13507:1: ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalExport.g:13507:1: ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalExport.g:13508:2: ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalExport.g:13509:2: ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) + // InternalExport.g:13509:3: rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group__0" + // InternalExport.g:13518:1: rule__XMultiplicativeExpression__Group__0 : rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1 ; + public final void rule__XMultiplicativeExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13522:1: ( rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1 ) + // InternalExport.g:13523:2: rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1 + { + pushFollow(FOLLOW_85); + rule__XMultiplicativeExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group__0" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group__0__Impl" + // InternalExport.g:13530:1: rule__XMultiplicativeExpression__Group__0__Impl : ( ruleXUnaryOperation ) ; + public final void rule__XMultiplicativeExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13534:1: ( ( ruleXUnaryOperation ) ) + // InternalExport.g:13535:1: ( ruleXUnaryOperation ) + { + // InternalExport.g:13535:1: ( ruleXUnaryOperation ) + // InternalExport.g:13536:2: ruleXUnaryOperation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group__0__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group__1" + // InternalExport.g:13545:1: rule__XMultiplicativeExpression__Group__1 : rule__XMultiplicativeExpression__Group__1__Impl ; + public final void rule__XMultiplicativeExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13549:1: ( rule__XMultiplicativeExpression__Group__1__Impl ) + // InternalExport.g:13550:2: rule__XMultiplicativeExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group__1" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group__1__Impl" + // InternalExport.g:13556:1: rule__XMultiplicativeExpression__Group__1__Impl : ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) ; + public final void rule__XMultiplicativeExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13560:1: ( ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) ) + // InternalExport.g:13561:1: ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) + { + // InternalExport.g:13561:1: ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) + // InternalExport.g:13562:2: ( rule__XMultiplicativeExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1()); + } + // InternalExport.g:13563:2: ( rule__XMultiplicativeExpression__Group_1__0 )* + loop116: + do { + int alt116=2; + switch ( input.LA(1) ) { + case 25: + { + int LA116_2 = input.LA(2); + + if ( (synpred190_InternalExport()) ) { + alt116=1; + } + + + } + break; + case 54: + { + int LA116_3 = input.LA(2); + + if ( (synpred190_InternalExport()) ) { + alt116=1; + } + + + } + break; + case 26: + { + int LA116_4 = input.LA(2); + + if ( (synpred190_InternalExport()) ) { + alt116=1; + } + + + } + break; + case 55: + { + int LA116_5 = input.LA(2); + + if ( (synpred190_InternalExport()) ) { + alt116=1; + } + + + } + break; + + } + + switch (alt116) { + case 1 : + // InternalExport.g:13563:3: rule__XMultiplicativeExpression__Group_1__0 + { + pushFollow(FOLLOW_86); + rule__XMultiplicativeExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop116; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group__1__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1__0" + // InternalExport.g:13572:1: rule__XMultiplicativeExpression__Group_1__0 : rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1 ; + public final void rule__XMultiplicativeExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13576:1: ( rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1 ) + // InternalExport.g:13577:2: rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1 + { + pushFollow(FOLLOW_70); + rule__XMultiplicativeExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1__0" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1__0__Impl" + // InternalExport.g:13584:1: rule__XMultiplicativeExpression__Group_1__0__Impl : ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) ; + public final void rule__XMultiplicativeExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13588:1: ( ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) ) + // InternalExport.g:13589:1: ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) + { + // InternalExport.g:13589:1: ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) + // InternalExport.g:13590:2: ( rule__XMultiplicativeExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0()); + } + // InternalExport.g:13591:2: ( rule__XMultiplicativeExpression__Group_1_0__0 ) + // InternalExport.g:13591:3: rule__XMultiplicativeExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1__1" + // InternalExport.g:13599:1: rule__XMultiplicativeExpression__Group_1__1 : rule__XMultiplicativeExpression__Group_1__1__Impl ; + public final void rule__XMultiplicativeExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13603:1: ( rule__XMultiplicativeExpression__Group_1__1__Impl ) + // InternalExport.g:13604:2: rule__XMultiplicativeExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1__1" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1__1__Impl" + // InternalExport.g:13610:1: rule__XMultiplicativeExpression__Group_1__1__Impl : ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XMultiplicativeExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13614:1: ( ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) ) + // InternalExport.g:13615:1: ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) + { + // InternalExport.g:13615:1: ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) + // InternalExport.g:13616:2: ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalExport.g:13617:2: ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) + // InternalExport.g:13617:3: rule__XMultiplicativeExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0__0" + // InternalExport.g:13626:1: rule__XMultiplicativeExpression__Group_1_0__0 : rule__XMultiplicativeExpression__Group_1_0__0__Impl ; + public final void rule__XMultiplicativeExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13630:1: ( rule__XMultiplicativeExpression__Group_1_0__0__Impl ) + // InternalExport.g:13631:2: rule__XMultiplicativeExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0__0" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0__0__Impl" + // InternalExport.g:13637:1: rule__XMultiplicativeExpression__Group_1_0__0__Impl : ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) ; + public final void rule__XMultiplicativeExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13641:1: ( ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) ) + // InternalExport.g:13642:1: ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) + { + // InternalExport.g:13642:1: ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) + // InternalExport.g:13643:2: ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0()); + } + // InternalExport.g:13644:2: ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) + // InternalExport.g:13644:3: rule__XMultiplicativeExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__0" + // InternalExport.g:13653:1: rule__XMultiplicativeExpression__Group_1_0_0__0 : rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1 ; + public final void rule__XMultiplicativeExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13657:1: ( rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1 ) + // InternalExport.g:13658:2: rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_85); + rule__XMultiplicativeExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__0__Impl" + // InternalExport.g:13665:1: rule__XMultiplicativeExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XMultiplicativeExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13669:1: ( ( () ) ) + // InternalExport.g:13670:1: ( () ) + { + // InternalExport.g:13670:1: ( () ) + // InternalExport.g:13671:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalExport.g:13672:2: () + // InternalExport.g:13672:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__1" + // InternalExport.g:13680:1: rule__XMultiplicativeExpression__Group_1_0_0__1 : rule__XMultiplicativeExpression__Group_1_0_0__1__Impl ; + public final void rule__XMultiplicativeExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13684:1: ( rule__XMultiplicativeExpression__Group_1_0_0__1__Impl ) + // InternalExport.g:13685:2: rule__XMultiplicativeExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__1__Impl" + // InternalExport.g:13691:1: rule__XMultiplicativeExpression__Group_1_0_0__1__Impl : ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XMultiplicativeExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13695:1: ( ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalExport.g:13696:1: ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalExport.g:13696:1: ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalExport.g:13697:2: ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalExport.g:13698:2: ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) + // InternalExport.g:13698:3: rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__0" + // InternalExport.g:13707:1: rule__XUnaryOperation__Group_0__0 : rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1 ; + public final void rule__XUnaryOperation__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13711:1: ( rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1 ) + // InternalExport.g:13712:2: rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1 + { + pushFollow(FOLLOW_87); + rule__XUnaryOperation__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XUnaryOperation__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__0" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__0__Impl" + // InternalExport.g:13719:1: rule__XUnaryOperation__Group_0__0__Impl : ( () ) ; + public final void rule__XUnaryOperation__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13723:1: ( ( () ) ) + // InternalExport.g:13724:1: ( () ) + { + // InternalExport.g:13724:1: ( () ) + // InternalExport.g:13725:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0()); + } + // InternalExport.g:13726:2: () + // InternalExport.g:13726:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__0__Impl" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__1" + // InternalExport.g:13734:1: rule__XUnaryOperation__Group_0__1 : rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2 ; + public final void rule__XUnaryOperation__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13738:1: ( rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2 ) + // InternalExport.g:13739:2: rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2 + { + pushFollow(FOLLOW_70); + rule__XUnaryOperation__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XUnaryOperation__Group_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__1" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__1__Impl" + // InternalExport.g:13746:1: rule__XUnaryOperation__Group_0__1__Impl : ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) ; + public final void rule__XUnaryOperation__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13750:1: ( ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) ) + // InternalExport.g:13751:1: ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) + { + // InternalExport.g:13751:1: ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) + // InternalExport.g:13752:2: ( rule__XUnaryOperation__FeatureAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1()); + } + // InternalExport.g:13753:2: ( rule__XUnaryOperation__FeatureAssignment_0_1 ) + // InternalExport.g:13753:3: rule__XUnaryOperation__FeatureAssignment_0_1 + { + pushFollow(FOLLOW_2); + rule__XUnaryOperation__FeatureAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__1__Impl" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__2" + // InternalExport.g:13761:1: rule__XUnaryOperation__Group_0__2 : rule__XUnaryOperation__Group_0__2__Impl ; + public final void rule__XUnaryOperation__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13765:1: ( rule__XUnaryOperation__Group_0__2__Impl ) + // InternalExport.g:13766:2: rule__XUnaryOperation__Group_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XUnaryOperation__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__2" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__2__Impl" + // InternalExport.g:13772:1: rule__XUnaryOperation__Group_0__2__Impl : ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) ; + public final void rule__XUnaryOperation__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13776:1: ( ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) ) + // InternalExport.g:13777:1: ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) + { + // InternalExport.g:13777:1: ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) + // InternalExport.g:13778:2: ( rule__XUnaryOperation__OperandAssignment_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2()); + } + // InternalExport.g:13779:2: ( rule__XUnaryOperation__OperandAssignment_0_2 ) + // InternalExport.g:13779:3: rule__XUnaryOperation__OperandAssignment_0_2 + { + pushFollow(FOLLOW_2); + rule__XUnaryOperation__OperandAssignment_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__2__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group__0" + // InternalExport.g:13788:1: rule__XCastedExpression__Group__0 : rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1 ; + public final void rule__XCastedExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13792:1: ( rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1 ) + // InternalExport.g:13793:2: rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1 + { + pushFollow(FOLLOW_15); + rule__XCastedExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group__0" + + + // $ANTLR start "rule__XCastedExpression__Group__0__Impl" + // InternalExport.g:13800:1: rule__XCastedExpression__Group__0__Impl : ( ruleXPostfixOperation ) ; + public final void rule__XCastedExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13804:1: ( ( ruleXPostfixOperation ) ) + // InternalExport.g:13805:1: ( ruleXPostfixOperation ) + { + // InternalExport.g:13805:1: ( ruleXPostfixOperation ) + // InternalExport.g:13806:2: ruleXPostfixOperation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXPostfixOperation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group__0__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group__1" + // InternalExport.g:13815:1: rule__XCastedExpression__Group__1 : rule__XCastedExpression__Group__1__Impl ; + public final void rule__XCastedExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13819:1: ( rule__XCastedExpression__Group__1__Impl ) + // InternalExport.g:13820:2: rule__XCastedExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group__1" + + + // $ANTLR start "rule__XCastedExpression__Group__1__Impl" + // InternalExport.g:13826:1: rule__XCastedExpression__Group__1__Impl : ( ( rule__XCastedExpression__Group_1__0 )* ) ; + public final void rule__XCastedExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13830:1: ( ( ( rule__XCastedExpression__Group_1__0 )* ) ) + // InternalExport.g:13831:1: ( ( rule__XCastedExpression__Group_1__0 )* ) + { + // InternalExport.g:13831:1: ( ( rule__XCastedExpression__Group_1__0 )* ) + // InternalExport.g:13832:2: ( rule__XCastedExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getGroup_1()); + } + // InternalExport.g:13833:2: ( rule__XCastedExpression__Group_1__0 )* + loop117: + do { + int alt117=2; + int LA117_0 = input.LA(1); + + if ( (LA117_0==70) ) { + int LA117_2 = input.LA(2); + + if ( (synpred191_InternalExport()) ) { + alt117=1; + } + + + } + + + switch (alt117) { + case 1 : + // InternalExport.g:13833:3: rule__XCastedExpression__Group_1__0 + { + pushFollow(FOLLOW_88); + rule__XCastedExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop117; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group__1__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group_1__0" + // InternalExport.g:13842:1: rule__XCastedExpression__Group_1__0 : rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1 ; + public final void rule__XCastedExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13846:1: ( rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1 ) + // InternalExport.g:13847:2: rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1 + { + pushFollow(FOLLOW_78); + rule__XCastedExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1__0" + + + // $ANTLR start "rule__XCastedExpression__Group_1__0__Impl" + // InternalExport.g:13854:1: rule__XCastedExpression__Group_1__0__Impl : ( ( rule__XCastedExpression__Group_1_0__0 ) ) ; + public final void rule__XCastedExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13858:1: ( ( ( rule__XCastedExpression__Group_1_0__0 ) ) ) + // InternalExport.g:13859:1: ( ( rule__XCastedExpression__Group_1_0__0 ) ) + { + // InternalExport.g:13859:1: ( ( rule__XCastedExpression__Group_1_0__0 ) ) + // InternalExport.g:13860:2: ( rule__XCastedExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getGroup_1_0()); + } + // InternalExport.g:13861:2: ( rule__XCastedExpression__Group_1_0__0 ) + // InternalExport.g:13861:3: rule__XCastedExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group_1__1" + // InternalExport.g:13869:1: rule__XCastedExpression__Group_1__1 : rule__XCastedExpression__Group_1__1__Impl ; + public final void rule__XCastedExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13873:1: ( rule__XCastedExpression__Group_1__1__Impl ) + // InternalExport.g:13874:2: rule__XCastedExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1__1" + + + // $ANTLR start "rule__XCastedExpression__Group_1__1__Impl" + // InternalExport.g:13880:1: rule__XCastedExpression__Group_1__1__Impl : ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) ; + public final void rule__XCastedExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13884:1: ( ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) ) + // InternalExport.g:13885:1: ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) + { + // InternalExport.g:13885:1: ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) + // InternalExport.g:13886:2: ( rule__XCastedExpression__TypeAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1()); + } + // InternalExport.g:13887:2: ( rule__XCastedExpression__TypeAssignment_1_1 ) + // InternalExport.g:13887:3: rule__XCastedExpression__TypeAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__TypeAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0__0" + // InternalExport.g:13896:1: rule__XCastedExpression__Group_1_0__0 : rule__XCastedExpression__Group_1_0__0__Impl ; + public final void rule__XCastedExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13900:1: ( rule__XCastedExpression__Group_1_0__0__Impl ) + // InternalExport.g:13901:2: rule__XCastedExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0__0" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0__0__Impl" + // InternalExport.g:13907:1: rule__XCastedExpression__Group_1_0__0__Impl : ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) ; + public final void rule__XCastedExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13911:1: ( ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) ) + // InternalExport.g:13912:1: ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) + { + // InternalExport.g:13912:1: ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) + // InternalExport.g:13913:2: ( rule__XCastedExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0()); + } + // InternalExport.g:13914:2: ( rule__XCastedExpression__Group_1_0_0__0 ) + // InternalExport.g:13914:3: rule__XCastedExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0_0__0" + // InternalExport.g:13923:1: rule__XCastedExpression__Group_1_0_0__0 : rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1 ; + public final void rule__XCastedExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13927:1: ( rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1 ) + // InternalExport.g:13928:2: rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_15); + rule__XCastedExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0_0__0__Impl" + // InternalExport.g:13935:1: rule__XCastedExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XCastedExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13939:1: ( ( () ) ) + // InternalExport.g:13940:1: ( () ) + { + // InternalExport.g:13940:1: ( () ) + // InternalExport.g:13941:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0()); + } + // InternalExport.g:13942:2: () + // InternalExport.g:13942:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0_0__1" + // InternalExport.g:13950:1: rule__XCastedExpression__Group_1_0_0__1 : rule__XCastedExpression__Group_1_0_0__1__Impl ; + public final void rule__XCastedExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13954:1: ( rule__XCastedExpression__Group_1_0_0__1__Impl ) + // InternalExport.g:13955:2: rule__XCastedExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0_0__1__Impl" + // InternalExport.g:13961:1: rule__XCastedExpression__Group_1_0_0__1__Impl : ( 'as' ) ; + public final void rule__XCastedExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13965:1: ( ( 'as' ) ) + // InternalExport.g:13966:1: ( 'as' ) + { + // InternalExport.g:13966:1: ( 'as' ) + // InternalExport.g:13967:2: 'as' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); + } + match(input,70,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XPostfixOperation__Group__0" + // InternalExport.g:13977:1: rule__XPostfixOperation__Group__0 : rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1 ; + public final void rule__XPostfixOperation__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13981:1: ( rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1 ) + // InternalExport.g:13982:2: rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1 + { + pushFollow(FOLLOW_89); + rule__XPostfixOperation__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group__0" + + + // $ANTLR start "rule__XPostfixOperation__Group__0__Impl" + // InternalExport.g:13989:1: rule__XPostfixOperation__Group__0__Impl : ( ruleXMemberFeatureCall ) ; + public final void rule__XPostfixOperation__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:13993:1: ( ( ruleXMemberFeatureCall ) ) + // InternalExport.g:13994:1: ( ruleXMemberFeatureCall ) + { + // InternalExport.g:13994:1: ( ruleXMemberFeatureCall ) + // InternalExport.g:13995:2: ruleXMemberFeatureCall + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXMemberFeatureCall(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group__0__Impl" + + + // $ANTLR start "rule__XPostfixOperation__Group__1" + // InternalExport.g:14004:1: rule__XPostfixOperation__Group__1 : rule__XPostfixOperation__Group__1__Impl ; + public final void rule__XPostfixOperation__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14008:1: ( rule__XPostfixOperation__Group__1__Impl ) + // InternalExport.g:14009:2: rule__XPostfixOperation__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group__1" + + + // $ANTLR start "rule__XPostfixOperation__Group__1__Impl" + // InternalExport.g:14015:1: rule__XPostfixOperation__Group__1__Impl : ( ( rule__XPostfixOperation__Group_1__0 )? ) ; + public final void rule__XPostfixOperation__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14019:1: ( ( ( rule__XPostfixOperation__Group_1__0 )? ) ) + // InternalExport.g:14020:1: ( ( rule__XPostfixOperation__Group_1__0 )? ) + { + // InternalExport.g:14020:1: ( ( rule__XPostfixOperation__Group_1__0 )? ) + // InternalExport.g:14021:2: ( rule__XPostfixOperation__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getGroup_1()); + } + // InternalExport.g:14022:2: ( rule__XPostfixOperation__Group_1__0 )? + int alt118=2; + int LA118_0 = input.LA(1); + + if ( (LA118_0==56) ) { + int LA118_1 = input.LA(2); + + if ( (synpred192_InternalExport()) ) { + alt118=1; + } + } + else if ( (LA118_0==57) ) { + int LA118_2 = input.LA(2); + + if ( (synpred192_InternalExport()) ) { + alt118=1; + } + } + switch (alt118) { + case 1 : + // InternalExport.g:14022:3: rule__XPostfixOperation__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group__1__Impl" + + + // $ANTLR start "rule__XPostfixOperation__Group_1__0" + // InternalExport.g:14031:1: rule__XPostfixOperation__Group_1__0 : rule__XPostfixOperation__Group_1__0__Impl ; + public final void rule__XPostfixOperation__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14035:1: ( rule__XPostfixOperation__Group_1__0__Impl ) + // InternalExport.g:14036:2: rule__XPostfixOperation__Group_1__0__Impl + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1__0" + + + // $ANTLR start "rule__XPostfixOperation__Group_1__0__Impl" + // InternalExport.g:14042:1: rule__XPostfixOperation__Group_1__0__Impl : ( ( rule__XPostfixOperation__Group_1_0__0 ) ) ; + public final void rule__XPostfixOperation__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14046:1: ( ( ( rule__XPostfixOperation__Group_1_0__0 ) ) ) + // InternalExport.g:14047:1: ( ( rule__XPostfixOperation__Group_1_0__0 ) ) + { + // InternalExport.g:14047:1: ( ( rule__XPostfixOperation__Group_1_0__0 ) ) + // InternalExport.g:14048:2: ( rule__XPostfixOperation__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getGroup_1_0()); + } + // InternalExport.g:14049:2: ( rule__XPostfixOperation__Group_1_0__0 ) + // InternalExport.g:14049:3: rule__XPostfixOperation__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1__0__Impl" + + + // $ANTLR start "rule__XPostfixOperation__Group_1_0__0" + // InternalExport.g:14058:1: rule__XPostfixOperation__Group_1_0__0 : rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1 ; + public final void rule__XPostfixOperation__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14062:1: ( rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1 ) + // InternalExport.g:14063:2: rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1 + { + pushFollow(FOLLOW_89); + rule__XPostfixOperation__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1_0__0" + + + // $ANTLR start "rule__XPostfixOperation__Group_1_0__0__Impl" + // InternalExport.g:14070:1: rule__XPostfixOperation__Group_1_0__0__Impl : ( () ) ; + public final void rule__XPostfixOperation__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14074:1: ( ( () ) ) + // InternalExport.g:14075:1: ( () ) + { + // InternalExport.g:14075:1: ( () ) + // InternalExport.g:14076:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0()); + } + // InternalExport.g:14077:2: () + // InternalExport.g:14077:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XPostfixOperation__Group_1_0__1" + // InternalExport.g:14085:1: rule__XPostfixOperation__Group_1_0__1 : rule__XPostfixOperation__Group_1_0__1__Impl ; + public final void rule__XPostfixOperation__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14089:1: ( rule__XPostfixOperation__Group_1_0__1__Impl ) + // InternalExport.g:14090:2: rule__XPostfixOperation__Group_1_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1_0__1" + + + // $ANTLR start "rule__XPostfixOperation__Group_1_0__1__Impl" + // InternalExport.g:14096:1: rule__XPostfixOperation__Group_1_0__1__Impl : ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) ; + public final void rule__XPostfixOperation__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14100:1: ( ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) ) + // InternalExport.g:14101:1: ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) + { + // InternalExport.g:14101:1: ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) + // InternalExport.g:14102:2: ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1()); + } + // InternalExport.g:14103:2: ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) + // InternalExport.g:14103:3: rule__XPostfixOperation__FeatureAssignment_1_0_1 + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__FeatureAssignment_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1_0__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group__0" + // InternalExport.g:14112:1: rule__XMemberFeatureCall__Group__0 : rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1 ; + public final void rule__XMemberFeatureCall__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14116:1: ( rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1 ) + // InternalExport.g:14117:2: rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1 + { + pushFollow(FOLLOW_90); + rule__XMemberFeatureCall__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group__0__Impl" + // InternalExport.g:14124:1: rule__XMemberFeatureCall__Group__0__Impl : ( ruleXPrimaryExpression ) ; + public final void rule__XMemberFeatureCall__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14128:1: ( ( ruleXPrimaryExpression ) ) + // InternalExport.g:14129:1: ( ruleXPrimaryExpression ) + { + // InternalExport.g:14129:1: ( ruleXPrimaryExpression ) + // InternalExport.g:14130:2: ruleXPrimaryExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXPrimaryExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group__1" + // InternalExport.g:14139:1: rule__XMemberFeatureCall__Group__1 : rule__XMemberFeatureCall__Group__1__Impl ; + public final void rule__XMemberFeatureCall__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14143:1: ( rule__XMemberFeatureCall__Group__1__Impl ) + // InternalExport.g:14144:2: rule__XMemberFeatureCall__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group__1__Impl" + // InternalExport.g:14150:1: rule__XMemberFeatureCall__Group__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) ; + public final void rule__XMemberFeatureCall__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14154:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) ) + // InternalExport.g:14155:1: ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) + { + // InternalExport.g:14155:1: ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) + // InternalExport.g:14156:2: ( rule__XMemberFeatureCall__Alternatives_1 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1()); + } + // InternalExport.g:14157:2: ( rule__XMemberFeatureCall__Alternatives_1 )* + loop119: + do { + int alt119=2; + switch ( input.LA(1) ) { + case 58: + { + int LA119_2 = input.LA(2); + + if ( (synpred193_InternalExport()) ) { + alt119=1; + } + + + } + break; + case 83: + { + int LA119_3 = input.LA(2); + + if ( (synpred193_InternalExport()) ) { + alt119=1; + } + + + } + break; + case 116: + { + int LA119_4 = input.LA(2); + + if ( (synpred193_InternalExport()) ) { + alt119=1; + } + + + } + break; + + } + + switch (alt119) { + case 1 : + // InternalExport.g:14157:3: rule__XMemberFeatureCall__Alternatives_1 + { + pushFollow(FOLLOW_91); + rule__XMemberFeatureCall__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop119; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__0" + // InternalExport.g:14166:1: rule__XMemberFeatureCall__Group_1_0__0 : rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1 ; + public final void rule__XMemberFeatureCall__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14170:1: ( rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1 ) + // InternalExport.g:14171:2: rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1 + { + pushFollow(FOLLOW_70); + rule__XMemberFeatureCall__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__0__Impl" + // InternalExport.g:14178:1: rule__XMemberFeatureCall__Group_1_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14182:1: ( ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) ) + // InternalExport.g:14183:1: ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) + { + // InternalExport.g:14183:1: ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) + // InternalExport.g:14184:2: ( rule__XMemberFeatureCall__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0()); + } + // InternalExport.g:14185:2: ( rule__XMemberFeatureCall__Group_1_0_0__0 ) + // InternalExport.g:14185:3: rule__XMemberFeatureCall__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__1" + // InternalExport.g:14193:1: rule__XMemberFeatureCall__Group_1_0__1 : rule__XMemberFeatureCall__Group_1_0__1__Impl ; + public final void rule__XMemberFeatureCall__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14197:1: ( rule__XMemberFeatureCall__Group_1_0__1__Impl ) + // InternalExport.g:14198:2: rule__XMemberFeatureCall__Group_1_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__1__Impl" + // InternalExport.g:14204:1: rule__XMemberFeatureCall__Group_1_0__1__Impl : ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14208:1: ( ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) ) + // InternalExport.g:14209:1: ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) + { + // InternalExport.g:14209:1: ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) + // InternalExport.g:14210:2: ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1()); + } + // InternalExport.g:14211:2: ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) + // InternalExport.g:14211:3: rule__XMemberFeatureCall__ValueAssignment_1_0_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__ValueAssignment_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0__0" + // InternalExport.g:14220:1: rule__XMemberFeatureCall__Group_1_0_0__0 : rule__XMemberFeatureCall__Group_1_0_0__0__Impl ; + public final void rule__XMemberFeatureCall__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14224:1: ( rule__XMemberFeatureCall__Group_1_0_0__0__Impl ) + // InternalExport.g:14225:2: rule__XMemberFeatureCall__Group_1_0_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0__0__Impl" + // InternalExport.g:14231:1: rule__XMemberFeatureCall__Group_1_0_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14235:1: ( ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) ) + // InternalExport.g:14236:1: ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) + { + // InternalExport.g:14236:1: ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) + // InternalExport.g:14237:2: ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0()); + } + // InternalExport.g:14238:2: ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) + // InternalExport.g:14238:3: rule__XMemberFeatureCall__Group_1_0_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__0" + // InternalExport.g:14247:1: rule__XMemberFeatureCall__Group_1_0_0_0__0 : rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1 ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14251:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1 ) + // InternalExport.g:14252:2: rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1 + { + pushFollow(FOLLOW_92); + rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl" + // InternalExport.g:14259:1: rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl : ( () ) ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14263:1: ( ( () ) ) + // InternalExport.g:14264:1: ( () ) + { + // InternalExport.g:14264:1: ( () ) + // InternalExport.g:14265:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0()); + } + // InternalExport.g:14266:2: () + // InternalExport.g:14266:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__1" + // InternalExport.g:14274:1: rule__XMemberFeatureCall__Group_1_0_0_0__1 : rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2 ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14278:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2 ) + // InternalExport.g:14279:2: rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2 + { + pushFollow(FOLLOW_69); + rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl" + // InternalExport.g:14286:1: rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14290:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) ) + // InternalExport.g:14291:1: ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) + { + // InternalExport.g:14291:1: ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) + // InternalExport.g:14292:2: ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1()); + } + // InternalExport.g:14293:2: ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) + // InternalExport.g:14293:3: rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Alternatives_1_0_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__2" + // InternalExport.g:14301:1: rule__XMemberFeatureCall__Group_1_0_0_0__2 : rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3 ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14305:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3 ) + // InternalExport.g:14306:2: rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3 + { + pushFollow(FOLLOW_32); + rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__2" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl" + // InternalExport.g:14313:1: rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl : ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14317:1: ( ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) ) + // InternalExport.g:14318:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) + { + // InternalExport.g:14318:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) + // InternalExport.g:14319:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2()); + } + // InternalExport.g:14320:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) + // InternalExport.g:14320:3: rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__3" + // InternalExport.g:14328:1: rule__XMemberFeatureCall__Group_1_0_0_0__3 : rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14332:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl ) + // InternalExport.g:14333:2: rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__3" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl" + // InternalExport.g:14339:1: rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl : ( ruleOpSingleAssign ) ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14343:1: ( ( ruleOpSingleAssign ) ) + // InternalExport.g:14344:1: ( ruleOpSingleAssign ) + { + // InternalExport.g:14344:1: ( ruleOpSingleAssign ) + // InternalExport.g:14345:2: ruleOpSingleAssign + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); + } + pushFollow(FOLLOW_2); + ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__0" + // InternalExport.g:14355:1: rule__XMemberFeatureCall__Group_1_1__0 : rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1 ; + public final void rule__XMemberFeatureCall__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14359:1: ( rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1 ) + // InternalExport.g:14360:2: rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1 + { + pushFollow(FOLLOW_93); + rule__XMemberFeatureCall__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__0__Impl" + // InternalExport.g:14367:1: rule__XMemberFeatureCall__Group_1_1__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14371:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) ) + // InternalExport.g:14372:1: ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) + { + // InternalExport.g:14372:1: ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) + // InternalExport.g:14373:2: ( rule__XMemberFeatureCall__Group_1_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0()); + } + // InternalExport.g:14374:2: ( rule__XMemberFeatureCall__Group_1_1_0__0 ) + // InternalExport.g:14374:3: rule__XMemberFeatureCall__Group_1_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__1" + // InternalExport.g:14382:1: rule__XMemberFeatureCall__Group_1_1__1 : rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2 ; + public final void rule__XMemberFeatureCall__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14386:1: ( rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2 ) + // InternalExport.g:14387:2: rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2 + { + pushFollow(FOLLOW_93); + rule__XMemberFeatureCall__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__1__Impl" + // InternalExport.g:14394:1: rule__XMemberFeatureCall__Group_1_1__1__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) ; + public final void rule__XMemberFeatureCall__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14398:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) ) + // InternalExport.g:14399:1: ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) + { + // InternalExport.g:14399:1: ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) + // InternalExport.g:14400:2: ( rule__XMemberFeatureCall__Group_1_1_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1()); + } + // InternalExport.g:14401:2: ( rule__XMemberFeatureCall__Group_1_1_1__0 )? + int alt120=2; + int LA120_0 = input.LA(1); + + if ( (LA120_0==22) ) { + alt120=1; + } + switch (alt120) { + case 1 : + // InternalExport.g:14401:3: rule__XMemberFeatureCall__Group_1_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__2" + // InternalExport.g:14409:1: rule__XMemberFeatureCall__Group_1_1__2 : rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3 ; + public final void rule__XMemberFeatureCall__Group_1_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14413:1: ( rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3 ) + // InternalExport.g:14414:2: rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3 + { + pushFollow(FOLLOW_94); + rule__XMemberFeatureCall__Group_1_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__2" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__2__Impl" + // InternalExport.g:14421:1: rule__XMemberFeatureCall__Group_1_1__2__Impl : ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14425:1: ( ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) ) + // InternalExport.g:14426:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) + { + // InternalExport.g:14426:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) + // InternalExport.g:14427:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2()); + } + // InternalExport.g:14428:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) + // InternalExport.g:14428:3: rule__XMemberFeatureCall__FeatureAssignment_1_1_2 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__FeatureAssignment_1_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__2__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__3" + // InternalExport.g:14436:1: rule__XMemberFeatureCall__Group_1_1__3 : rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4 ; + public final void rule__XMemberFeatureCall__Group_1_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14440:1: ( rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4 ) + // InternalExport.g:14441:2: rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4 + { + pushFollow(FOLLOW_94); + rule__XMemberFeatureCall__Group_1_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__3" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__3__Impl" + // InternalExport.g:14448:1: rule__XMemberFeatureCall__Group_1_1__3__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) ; + public final void rule__XMemberFeatureCall__Group_1_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14452:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) ) + // InternalExport.g:14453:1: ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) + { + // InternalExport.g:14453:1: ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) + // InternalExport.g:14454:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3()); + } + // InternalExport.g:14455:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )? + int alt121=2; + alt121 = dfa121.predict(input); + switch (alt121) { + case 1 : + // InternalExport.g:14455:3: rule__XMemberFeatureCall__Group_1_1_3__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__3__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__4" + // InternalExport.g:14463:1: rule__XMemberFeatureCall__Group_1_1__4 : rule__XMemberFeatureCall__Group_1_1__4__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14467:1: ( rule__XMemberFeatureCall__Group_1_1__4__Impl ) + // InternalExport.g:14468:2: rule__XMemberFeatureCall__Group_1_1__4__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__4" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__4__Impl" + // InternalExport.g:14474:1: rule__XMemberFeatureCall__Group_1_1__4__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) ; + public final void rule__XMemberFeatureCall__Group_1_1__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14478:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) ) + // InternalExport.g:14479:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) + { + // InternalExport.g:14479:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) + // InternalExport.g:14480:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4()); + } + // InternalExport.g:14481:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? + int alt122=2; + alt122 = dfa122.predict(input); + switch (alt122) { + case 1 : + // InternalExport.g:14481:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__4__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0__0" + // InternalExport.g:14490:1: rule__XMemberFeatureCall__Group_1_1_0__0 : rule__XMemberFeatureCall__Group_1_1_0__0__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14494:1: ( rule__XMemberFeatureCall__Group_1_1_0__0__Impl ) + // InternalExport.g:14495:2: rule__XMemberFeatureCall__Group_1_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0__0__Impl" + // InternalExport.g:14501:1: rule__XMemberFeatureCall__Group_1_1_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14505:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) ) + // InternalExport.g:14506:1: ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) + { + // InternalExport.g:14506:1: ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) + // InternalExport.g:14507:2: ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0()); + } + // InternalExport.g:14508:2: ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) + // InternalExport.g:14508:3: rule__XMemberFeatureCall__Group_1_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__0" + // InternalExport.g:14517:1: rule__XMemberFeatureCall__Group_1_1_0_0__0 : rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14521:1: ( rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1 ) + // InternalExport.g:14522:2: rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1 + { + pushFollow(FOLLOW_90); + rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0_0__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl" + // InternalExport.g:14529:1: rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl : ( () ) ; + public final void rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14533:1: ( ( () ) ) + // InternalExport.g:14534:1: ( () ) + { + // InternalExport.g:14534:1: ( () ) + // InternalExport.g:14535:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0()); + } + // InternalExport.g:14536:2: () + // InternalExport.g:14536:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__1" + // InternalExport.g:14544:1: rule__XMemberFeatureCall__Group_1_1_0_0__1 : rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14548:1: ( rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl ) + // InternalExport.g:14549:2: rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0_0__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl" + // InternalExport.g:14555:1: rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14559:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) ) + // InternalExport.g:14560:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) + { + // InternalExport.g:14560:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) + // InternalExport.g:14561:2: ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1()); + } + // InternalExport.g:14562:2: ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) + // InternalExport.g:14562:3: rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Alternatives_1_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__0" + // InternalExport.g:14571:1: rule__XMemberFeatureCall__Group_1_1_1__0 : rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14575:1: ( rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1 ) + // InternalExport.g:14576:2: rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1 + { + pushFollow(FOLLOW_95); + rule__XMemberFeatureCall__Group_1_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__0__Impl" + // InternalExport.g:14583:1: rule__XMemberFeatureCall__Group_1_1_1__0__Impl : ( '<' ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14587:1: ( ( '<' ) ) + // InternalExport.g:14588:1: ( '<' ) + { + // InternalExport.g:14588:1: ( '<' ) + // InternalExport.g:14589:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__1" + // InternalExport.g:14598:1: rule__XMemberFeatureCall__Group_1_1_1__1 : rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2 ; + public final void rule__XMemberFeatureCall__Group_1_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14602:1: ( rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2 ) + // InternalExport.g:14603:2: rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2 + { + pushFollow(FOLLOW_96); + rule__XMemberFeatureCall__Group_1_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__1__Impl" + // InternalExport.g:14610:1: rule__XMemberFeatureCall__Group_1_1_1__1__Impl : ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14614:1: ( ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) ) + // InternalExport.g:14615:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) + { + // InternalExport.g:14615:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) + // InternalExport.g:14616:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1()); + } + // InternalExport.g:14617:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) + // InternalExport.g:14617:3: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__2" + // InternalExport.g:14625:1: rule__XMemberFeatureCall__Group_1_1_1__2 : rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3 ; + public final void rule__XMemberFeatureCall__Group_1_1_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14629:1: ( rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3 ) + // InternalExport.g:14630:2: rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3 + { + pushFollow(FOLLOW_96); + rule__XMemberFeatureCall__Group_1_1_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__2" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__2__Impl" + // InternalExport.g:14637:1: rule__XMemberFeatureCall__Group_1_1_1__2__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14641:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) ) + // InternalExport.g:14642:1: ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) + { + // InternalExport.g:14642:1: ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) + // InternalExport.g:14643:2: ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2()); + } + // InternalExport.g:14644:2: ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* + loop123: + do { + int alt123=2; + int LA123_0 = input.LA(1); + + if ( (LA123_0==74) ) { + alt123=1; + } + + + switch (alt123) { + case 1 : + // InternalExport.g:14644:3: rule__XMemberFeatureCall__Group_1_1_1_2__0 + { + pushFollow(FOLLOW_22); + rule__XMemberFeatureCall__Group_1_1_1_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop123; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__2__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__3" + // InternalExport.g:14652:1: rule__XMemberFeatureCall__Group_1_1_1__3 : rule__XMemberFeatureCall__Group_1_1_1__3__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14656:1: ( rule__XMemberFeatureCall__Group_1_1_1__3__Impl ) + // InternalExport.g:14657:2: rule__XMemberFeatureCall__Group_1_1_1__3__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__3" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__3__Impl" + // InternalExport.g:14663:1: rule__XMemberFeatureCall__Group_1_1_1__3__Impl : ( '>' ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14667:1: ( ( '>' ) ) + // InternalExport.g:14668:1: ( '>' ) + { + // InternalExport.g:14668:1: ( '>' ) + // InternalExport.g:14669:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__3__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__0" + // InternalExport.g:14679:1: rule__XMemberFeatureCall__Group_1_1_1_2__0 : rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_1_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14683:1: ( rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1 ) + // InternalExport.g:14684:2: rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1 + { + pushFollow(FOLLOW_95); + rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1_2__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl" + // InternalExport.g:14691:1: rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl : ( ',' ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14695:1: ( ( ',' ) ) + // InternalExport.g:14696:1: ( ',' ) + { + // InternalExport.g:14696:1: ( ',' ) + // InternalExport.g:14697:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__1" + // InternalExport.g:14706:1: rule__XMemberFeatureCall__Group_1_1_1_2__1 : rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_1_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14710:1: ( rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl ) + // InternalExport.g:14711:2: rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1_2__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl" + // InternalExport.g:14717:1: rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl : ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14721:1: ( ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) ) + // InternalExport.g:14722:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) + { + // InternalExport.g:14722:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) + // InternalExport.g:14723:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1()); + } + // InternalExport.g:14724:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) + // InternalExport.g:14724:3: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__0" + // InternalExport.g:14733:1: rule__XMemberFeatureCall__Group_1_1_3__0 : rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14737:1: ( rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1 ) + // InternalExport.g:14738:2: rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1 + { + pushFollow(FOLLOW_97); + rule__XMemberFeatureCall__Group_1_1_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__0__Impl" + // InternalExport.g:14745:1: rule__XMemberFeatureCall__Group_1_1_3__0__Impl : ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14749:1: ( ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) ) + // InternalExport.g:14750:1: ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) + { + // InternalExport.g:14750:1: ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) + // InternalExport.g:14751:2: ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0()); + } + // InternalExport.g:14752:2: ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) + // InternalExport.g:14752:3: rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__1" + // InternalExport.g:14760:1: rule__XMemberFeatureCall__Group_1_1_3__1 : rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2 ; + public final void rule__XMemberFeatureCall__Group_1_1_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14764:1: ( rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2 ) + // InternalExport.g:14765:2: rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2 + { + pushFollow(FOLLOW_97); + rule__XMemberFeatureCall__Group_1_1_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__1__Impl" + // InternalExport.g:14772:1: rule__XMemberFeatureCall__Group_1_1_3__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14776:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) ) + // InternalExport.g:14777:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) + { + // InternalExport.g:14777:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) + // InternalExport.g:14778:2: ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1()); + } + // InternalExport.g:14779:2: ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? + int alt124=2; + int LA124_0 = input.LA(1); + + if ( ((LA124_0>=RULE_ID && LA124_0<=RULE_STRING)||(LA124_0>=22 && LA124_0<=24)||LA124_0==27||(LA124_0>=36 && LA124_0<=37)||LA124_0==51||(LA124_0>=60 && LA124_0<=64)||LA124_0==66||LA124_0==68||LA124_0==72||LA124_0==77||LA124_0==87||LA124_0==90||LA124_0==93||LA124_0==95||(LA124_0>=97 && LA124_0<=104)||LA124_0==106) ) { + alt124=1; + } + switch (alt124) { + case 1 : + // InternalExport.g:14779:3: rule__XMemberFeatureCall__Alternatives_1_1_3_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Alternatives_1_1_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__2" + // InternalExport.g:14787:1: rule__XMemberFeatureCall__Group_1_1_3__2 : rule__XMemberFeatureCall__Group_1_1_3__2__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14791:1: ( rule__XMemberFeatureCall__Group_1_1_3__2__Impl ) + // InternalExport.g:14792:2: rule__XMemberFeatureCall__Group_1_1_3__2__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__2" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__2__Impl" + // InternalExport.g:14798:1: rule__XMemberFeatureCall__Group_1_1_3__2__Impl : ( ')' ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14802:1: ( ( ')' ) ) + // InternalExport.g:14803:1: ( ')' ) + { + // InternalExport.g:14803:1: ( ')' ) + // InternalExport.g:14804:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__2__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__0" + // InternalExport.g:14814:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__0 : rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14818:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1 ) + // InternalExport.g:14819:2: rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1 + { + pushFollow(FOLLOW_21); + rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl" + // InternalExport.g:14826:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14830:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) ) + // InternalExport.g:14831:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) + { + // InternalExport.g:14831:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) + // InternalExport.g:14832:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0()); + } + // InternalExport.g:14833:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) + // InternalExport.g:14833:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__1" + // InternalExport.g:14841:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__1 : rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14845:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl ) + // InternalExport.g:14846:2: rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl" + // InternalExport.g:14852:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14856:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) ) + // InternalExport.g:14857:1: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) + { + // InternalExport.g:14857:1: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) + // InternalExport.g:14858:2: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1()); + } + // InternalExport.g:14859:2: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* + loop125: + do { + int alt125=2; + int LA125_0 = input.LA(1); + + if ( (LA125_0==74) ) { + alt125=1; + } + + + switch (alt125) { + case 1 : + // InternalExport.g:14859:3: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 + { + pushFollow(FOLLOW_22); + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop125; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0" + // InternalExport.g:14868:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 : rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14872:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 ) + // InternalExport.g:14873:2: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 + { + pushFollow(FOLLOW_98); + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl" + // InternalExport.g:14880:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl : ( ',' ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14884:1: ( ( ',' ) ) + // InternalExport.g:14885:1: ( ',' ) + { + // InternalExport.g:14885:1: ( ',' ) + // InternalExport.g:14886:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1" + // InternalExport.g:14895:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 : rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14899:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl ) + // InternalExport.g:14900:2: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl" + // InternalExport.g:14906:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14910:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) ) + // InternalExport.g:14911:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) + { + // InternalExport.g:14911:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) + // InternalExport.g:14912:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1()); + } + // InternalExport.g:14913:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) + // InternalExport.g:14913:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group__0" + // InternalExport.g:14922:1: rule__XSetLiteral__Group__0 : rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1 ; + public final void rule__XSetLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14926:1: ( rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1 ) + // InternalExport.g:14927:2: rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1 + { + pushFollow(FOLLOW_99); + rule__XSetLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__0" + + + // $ANTLR start "rule__XSetLiteral__Group__0__Impl" + // InternalExport.g:14934:1: rule__XSetLiteral__Group__0__Impl : ( () ) ; + public final void rule__XSetLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14938:1: ( ( () ) ) + // InternalExport.g:14939:1: ( () ) + { + // InternalExport.g:14939:1: ( () ) + // InternalExport.g:14940:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0()); + } + // InternalExport.g:14941:2: () + // InternalExport.g:14941:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group__1" + // InternalExport.g:14949:1: rule__XSetLiteral__Group__1 : rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2 ; + public final void rule__XSetLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14953:1: ( rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2 ) + // InternalExport.g:14954:2: rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2 + { + pushFollow(FOLLOW_12); + rule__XSetLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__1" + + + // $ANTLR start "rule__XSetLiteral__Group__1__Impl" + // InternalExport.g:14961:1: rule__XSetLiteral__Group__1__Impl : ( '#' ) ; + public final void rule__XSetLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14965:1: ( ( '#' ) ) + // InternalExport.g:14966:1: ( '#' ) + { + // InternalExport.g:14966:1: ( '#' ) + // InternalExport.g:14967:2: '#' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); + } + match(input,97,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group__2" + // InternalExport.g:14976:1: rule__XSetLiteral__Group__2 : rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3 ; + public final void rule__XSetLiteral__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14980:1: ( rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3 ) + // InternalExport.g:14981:2: rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3 + { + pushFollow(FOLLOW_100); + rule__XSetLiteral__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__2" + + + // $ANTLR start "rule__XSetLiteral__Group__2__Impl" + // InternalExport.g:14988:1: rule__XSetLiteral__Group__2__Impl : ( '{' ) ; + public final void rule__XSetLiteral__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:14992:1: ( ( '{' ) ) + // InternalExport.g:14993:1: ( '{' ) + { + // InternalExport.g:14993:1: ( '{' ) + // InternalExport.g:14994:2: '{' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__2__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group__3" + // InternalExport.g:15003:1: rule__XSetLiteral__Group__3 : rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4 ; + public final void rule__XSetLiteral__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15007:1: ( rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4 ) + // InternalExport.g:15008:2: rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4 + { + pushFollow(FOLLOW_100); + rule__XSetLiteral__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__3" + + + // $ANTLR start "rule__XSetLiteral__Group__3__Impl" + // InternalExport.g:15015:1: rule__XSetLiteral__Group__3__Impl : ( ( rule__XSetLiteral__Group_3__0 )? ) ; + public final void rule__XSetLiteral__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15019:1: ( ( ( rule__XSetLiteral__Group_3__0 )? ) ) + // InternalExport.g:15020:1: ( ( rule__XSetLiteral__Group_3__0 )? ) + { + // InternalExport.g:15020:1: ( ( rule__XSetLiteral__Group_3__0 )? ) + // InternalExport.g:15021:2: ( rule__XSetLiteral__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getGroup_3()); + } + // InternalExport.g:15022:2: ( rule__XSetLiteral__Group_3__0 )? + int alt126=2; + int LA126_0 = input.LA(1); + + if ( ((LA126_0>=RULE_ID && LA126_0<=RULE_STRING)||(LA126_0>=22 && LA126_0<=24)||LA126_0==27||(LA126_0>=36 && LA126_0<=37)||(LA126_0>=60 && LA126_0<=64)||LA126_0==66||LA126_0==68||LA126_0==72||LA126_0==77||LA126_0==87||LA126_0==90||LA126_0==95||(LA126_0>=97 && LA126_0<=104)||LA126_0==106) ) { + alt126=1; + } + switch (alt126) { + case 1 : + // InternalExport.g:15022:3: rule__XSetLiteral__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__3__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group__4" + // InternalExport.g:15030:1: rule__XSetLiteral__Group__4 : rule__XSetLiteral__Group__4__Impl ; + public final void rule__XSetLiteral__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15034:1: ( rule__XSetLiteral__Group__4__Impl ) + // InternalExport.g:15035:2: rule__XSetLiteral__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__4" + + + // $ANTLR start "rule__XSetLiteral__Group__4__Impl" + // InternalExport.g:15041:1: rule__XSetLiteral__Group__4__Impl : ( '}' ) ; + public final void rule__XSetLiteral__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15045:1: ( ( '}' ) ) + // InternalExport.g:15046:1: ( '}' ) + { + // InternalExport.g:15046:1: ( '}' ) + // InternalExport.g:15047:2: '}' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); + } + match(input,69,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__4__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group_3__0" + // InternalExport.g:15057:1: rule__XSetLiteral__Group_3__0 : rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1 ; + public final void rule__XSetLiteral__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15061:1: ( rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1 ) + // InternalExport.g:15062:2: rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1 + { + pushFollow(FOLLOW_21); + rule__XSetLiteral__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3__0" + + + // $ANTLR start "rule__XSetLiteral__Group_3__0__Impl" + // InternalExport.g:15069:1: rule__XSetLiteral__Group_3__0__Impl : ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) ; + public final void rule__XSetLiteral__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15073:1: ( ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) ) + // InternalExport.g:15074:1: ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) + { + // InternalExport.g:15074:1: ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) + // InternalExport.g:15075:2: ( rule__XSetLiteral__ElementsAssignment_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0()); + } + // InternalExport.g:15076:2: ( rule__XSetLiteral__ElementsAssignment_3_0 ) + // InternalExport.g:15076:3: rule__XSetLiteral__ElementsAssignment_3_0 + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__ElementsAssignment_3_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3__0__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group_3__1" + // InternalExport.g:15084:1: rule__XSetLiteral__Group_3__1 : rule__XSetLiteral__Group_3__1__Impl ; + public final void rule__XSetLiteral__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15088:1: ( rule__XSetLiteral__Group_3__1__Impl ) + // InternalExport.g:15089:2: rule__XSetLiteral__Group_3__1__Impl + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3__1" + + + // $ANTLR start "rule__XSetLiteral__Group_3__1__Impl" + // InternalExport.g:15095:1: rule__XSetLiteral__Group_3__1__Impl : ( ( rule__XSetLiteral__Group_3_1__0 )* ) ; + public final void rule__XSetLiteral__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15099:1: ( ( ( rule__XSetLiteral__Group_3_1__0 )* ) ) + // InternalExport.g:15100:1: ( ( rule__XSetLiteral__Group_3_1__0 )* ) + { + // InternalExport.g:15100:1: ( ( rule__XSetLiteral__Group_3_1__0 )* ) + // InternalExport.g:15101:2: ( rule__XSetLiteral__Group_3_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getGroup_3_1()); + } + // InternalExport.g:15102:2: ( rule__XSetLiteral__Group_3_1__0 )* + loop127: + do { + int alt127=2; + int LA127_0 = input.LA(1); + + if ( (LA127_0==74) ) { + alt127=1; + } + + + switch (alt127) { + case 1 : + // InternalExport.g:15102:3: rule__XSetLiteral__Group_3_1__0 + { + pushFollow(FOLLOW_22); + rule__XSetLiteral__Group_3_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop127; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getGroup_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3__1__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group_3_1__0" + // InternalExport.g:15111:1: rule__XSetLiteral__Group_3_1__0 : rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1 ; + public final void rule__XSetLiteral__Group_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15115:1: ( rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1 ) + // InternalExport.g:15116:2: rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1 + { + pushFollow(FOLLOW_98); + rule__XSetLiteral__Group_3_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group_3_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3_1__0" + + + // $ANTLR start "rule__XSetLiteral__Group_3_1__0__Impl" + // InternalExport.g:15123:1: rule__XSetLiteral__Group_3_1__0__Impl : ( ',' ) ; + public final void rule__XSetLiteral__Group_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15127:1: ( ( ',' ) ) + // InternalExport.g:15128:1: ( ',' ) + { + // InternalExport.g:15128:1: ( ',' ) + // InternalExport.g:15129:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3_1__0__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group_3_1__1" + // InternalExport.g:15138:1: rule__XSetLiteral__Group_3_1__1 : rule__XSetLiteral__Group_3_1__1__Impl ; + public final void rule__XSetLiteral__Group_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15142:1: ( rule__XSetLiteral__Group_3_1__1__Impl ) + // InternalExport.g:15143:2: rule__XSetLiteral__Group_3_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group_3_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3_1__1" + + + // $ANTLR start "rule__XSetLiteral__Group_3_1__1__Impl" + // InternalExport.g:15149:1: rule__XSetLiteral__Group_3_1__1__Impl : ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) ; + public final void rule__XSetLiteral__Group_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15153:1: ( ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) ) + // InternalExport.g:15154:1: ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) + { + // InternalExport.g:15154:1: ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) + // InternalExport.g:15155:2: ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1()); + } + // InternalExport.g:15156:2: ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) + // InternalExport.g:15156:3: rule__XSetLiteral__ElementsAssignment_3_1_1 + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__ElementsAssignment_3_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3_1__1__Impl" + + + // $ANTLR start "rule__XListLiteral__Group__0" + // InternalExport.g:15165:1: rule__XListLiteral__Group__0 : rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1 ; + public final void rule__XListLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15169:1: ( rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1 ) + // InternalExport.g:15170:2: rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1 + { + pushFollow(FOLLOW_99); + rule__XListLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__0" + + + // $ANTLR start "rule__XListLiteral__Group__0__Impl" + // InternalExport.g:15177:1: rule__XListLiteral__Group__0__Impl : ( () ) ; + public final void rule__XListLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15181:1: ( ( () ) ) + // InternalExport.g:15182:1: ( () ) + { + // InternalExport.g:15182:1: ( () ) + // InternalExport.g:15183:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getXListLiteralAction_0()); + } + // InternalExport.g:15184:2: () + // InternalExport.g:15184:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getXListLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XListLiteral__Group__1" + // InternalExport.g:15192:1: rule__XListLiteral__Group__1 : rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2 ; + public final void rule__XListLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15196:1: ( rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2 ) + // InternalExport.g:15197:2: rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2 + { + pushFollow(FOLLOW_30); + rule__XListLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__1" + + + // $ANTLR start "rule__XListLiteral__Group__1__Impl" + // InternalExport.g:15204:1: rule__XListLiteral__Group__1__Impl : ( '#' ) ; + public final void rule__XListLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15208:1: ( ( '#' ) ) + // InternalExport.g:15209:1: ( '#' ) + { + // InternalExport.g:15209:1: ( '#' ) + // InternalExport.g:15210:2: '#' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); + } + match(input,97,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XListLiteral__Group__2" + // InternalExport.g:15219:1: rule__XListLiteral__Group__2 : rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3 ; + public final void rule__XListLiteral__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15223:1: ( rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3 ) + // InternalExport.g:15224:2: rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3 + { + pushFollow(FOLLOW_101); + rule__XListLiteral__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__2" + + + // $ANTLR start "rule__XListLiteral__Group__2__Impl" + // InternalExport.g:15231:1: rule__XListLiteral__Group__2__Impl : ( '[' ) ; + public final void rule__XListLiteral__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15235:1: ( ( '[' ) ) + // InternalExport.g:15236:1: ( '[' ) + { + // InternalExport.g:15236:1: ( '[' ) + // InternalExport.g:15237:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); + } + match(input,72,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__2__Impl" + + + // $ANTLR start "rule__XListLiteral__Group__3" + // InternalExport.g:15246:1: rule__XListLiteral__Group__3 : rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4 ; + public final void rule__XListLiteral__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15250:1: ( rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4 ) + // InternalExport.g:15251:2: rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4 + { + pushFollow(FOLLOW_101); + rule__XListLiteral__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__3" + + + // $ANTLR start "rule__XListLiteral__Group__3__Impl" + // InternalExport.g:15258:1: rule__XListLiteral__Group__3__Impl : ( ( rule__XListLiteral__Group_3__0 )? ) ; + public final void rule__XListLiteral__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15262:1: ( ( ( rule__XListLiteral__Group_3__0 )? ) ) + // InternalExport.g:15263:1: ( ( rule__XListLiteral__Group_3__0 )? ) + { + // InternalExport.g:15263:1: ( ( rule__XListLiteral__Group_3__0 )? ) + // InternalExport.g:15264:2: ( rule__XListLiteral__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getGroup_3()); + } + // InternalExport.g:15265:2: ( rule__XListLiteral__Group_3__0 )? + int alt128=2; + int LA128_0 = input.LA(1); + + if ( ((LA128_0>=RULE_ID && LA128_0<=RULE_STRING)||(LA128_0>=22 && LA128_0<=24)||LA128_0==27||(LA128_0>=36 && LA128_0<=37)||(LA128_0>=60 && LA128_0<=64)||LA128_0==66||LA128_0==68||LA128_0==72||LA128_0==77||LA128_0==87||LA128_0==90||LA128_0==95||(LA128_0>=97 && LA128_0<=104)||LA128_0==106) ) { + alt128=1; + } + switch (alt128) { + case 1 : + // InternalExport.g:15265:3: rule__XListLiteral__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XListLiteral__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__3__Impl" + + + // $ANTLR start "rule__XListLiteral__Group__4" + // InternalExport.g:15273:1: rule__XListLiteral__Group__4 : rule__XListLiteral__Group__4__Impl ; + public final void rule__XListLiteral__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15277:1: ( rule__XListLiteral__Group__4__Impl ) + // InternalExport.g:15278:2: rule__XListLiteral__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__4" + + + // $ANTLR start "rule__XListLiteral__Group__4__Impl" + // InternalExport.g:15284:1: rule__XListLiteral__Group__4__Impl : ( ']' ) ; + public final void rule__XListLiteral__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15288:1: ( ( ']' ) ) + // InternalExport.g:15289:1: ( ']' ) + { + // InternalExport.g:15289:1: ( ']' ) + // InternalExport.g:15290:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); + } + match(input,73,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__4__Impl" + + + // $ANTLR start "rule__XListLiteral__Group_3__0" + // InternalExport.g:15300:1: rule__XListLiteral__Group_3__0 : rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1 ; + public final void rule__XListLiteral__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15304:1: ( rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1 ) + // InternalExport.g:15305:2: rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1 + { + pushFollow(FOLLOW_21); + rule__XListLiteral__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3__0" + + + // $ANTLR start "rule__XListLiteral__Group_3__0__Impl" + // InternalExport.g:15312:1: rule__XListLiteral__Group_3__0__Impl : ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) ; + public final void rule__XListLiteral__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15316:1: ( ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) ) + // InternalExport.g:15317:1: ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) + { + // InternalExport.g:15317:1: ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) + // InternalExport.g:15318:2: ( rule__XListLiteral__ElementsAssignment_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0()); + } + // InternalExport.g:15319:2: ( rule__XListLiteral__ElementsAssignment_3_0 ) + // InternalExport.g:15319:3: rule__XListLiteral__ElementsAssignment_3_0 + { + pushFollow(FOLLOW_2); + rule__XListLiteral__ElementsAssignment_3_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3__0__Impl" + + + // $ANTLR start "rule__XListLiteral__Group_3__1" + // InternalExport.g:15327:1: rule__XListLiteral__Group_3__1 : rule__XListLiteral__Group_3__1__Impl ; + public final void rule__XListLiteral__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15331:1: ( rule__XListLiteral__Group_3__1__Impl ) + // InternalExport.g:15332:2: rule__XListLiteral__Group_3__1__Impl + { + pushFollow(FOLLOW_2); + rule__XListLiteral__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3__1" + + + // $ANTLR start "rule__XListLiteral__Group_3__1__Impl" + // InternalExport.g:15338:1: rule__XListLiteral__Group_3__1__Impl : ( ( rule__XListLiteral__Group_3_1__0 )* ) ; + public final void rule__XListLiteral__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15342:1: ( ( ( rule__XListLiteral__Group_3_1__0 )* ) ) + // InternalExport.g:15343:1: ( ( rule__XListLiteral__Group_3_1__0 )* ) + { + // InternalExport.g:15343:1: ( ( rule__XListLiteral__Group_3_1__0 )* ) + // InternalExport.g:15344:2: ( rule__XListLiteral__Group_3_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getGroup_3_1()); + } + // InternalExport.g:15345:2: ( rule__XListLiteral__Group_3_1__0 )* + loop129: + do { + int alt129=2; + int LA129_0 = input.LA(1); + + if ( (LA129_0==74) ) { + alt129=1; + } + + + switch (alt129) { + case 1 : + // InternalExport.g:15345:3: rule__XListLiteral__Group_3_1__0 + { + pushFollow(FOLLOW_22); + rule__XListLiteral__Group_3_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop129; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getGroup_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3__1__Impl" + + + // $ANTLR start "rule__XListLiteral__Group_3_1__0" + // InternalExport.g:15354:1: rule__XListLiteral__Group_3_1__0 : rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1 ; + public final void rule__XListLiteral__Group_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15358:1: ( rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1 ) + // InternalExport.g:15359:2: rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1 + { + pushFollow(FOLLOW_98); + rule__XListLiteral__Group_3_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group_3_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3_1__0" + + + // $ANTLR start "rule__XListLiteral__Group_3_1__0__Impl" + // InternalExport.g:15366:1: rule__XListLiteral__Group_3_1__0__Impl : ( ',' ) ; + public final void rule__XListLiteral__Group_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15370:1: ( ( ',' ) ) + // InternalExport.g:15371:1: ( ',' ) + { + // InternalExport.g:15371:1: ( ',' ) + // InternalExport.g:15372:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3_1__0__Impl" + + + // $ANTLR start "rule__XListLiteral__Group_3_1__1" + // InternalExport.g:15381:1: rule__XListLiteral__Group_3_1__1 : rule__XListLiteral__Group_3_1__1__Impl ; + public final void rule__XListLiteral__Group_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15385:1: ( rule__XListLiteral__Group_3_1__1__Impl ) + // InternalExport.g:15386:2: rule__XListLiteral__Group_3_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XListLiteral__Group_3_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3_1__1" + + + // $ANTLR start "rule__XListLiteral__Group_3_1__1__Impl" + // InternalExport.g:15392:1: rule__XListLiteral__Group_3_1__1__Impl : ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) ; + public final void rule__XListLiteral__Group_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15396:1: ( ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) ) + // InternalExport.g:15397:1: ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) + { + // InternalExport.g:15397:1: ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) + // InternalExport.g:15398:2: ( rule__XListLiteral__ElementsAssignment_3_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1()); + } + // InternalExport.g:15399:2: ( rule__XListLiteral__ElementsAssignment_3_1_1 ) + // InternalExport.g:15399:3: rule__XListLiteral__ElementsAssignment_3_1_1 + { + pushFollow(FOLLOW_2); + rule__XListLiteral__ElementsAssignment_3_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3_1__1__Impl" + + + // $ANTLR start "rule__XClosure__Group__0" + // InternalExport.g:15408:1: rule__XClosure__Group__0 : rule__XClosure__Group__0__Impl rule__XClosure__Group__1 ; + public final void rule__XClosure__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15412:1: ( rule__XClosure__Group__0__Impl rule__XClosure__Group__1 ) + // InternalExport.g:15413:2: rule__XClosure__Group__0__Impl rule__XClosure__Group__1 + { + pushFollow(FOLLOW_102); + rule__XClosure__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__0" + + + // $ANTLR start "rule__XClosure__Group__0__Impl" + // InternalExport.g:15420:1: rule__XClosure__Group__0__Impl : ( ( rule__XClosure__Group_0__0 ) ) ; + public final void rule__XClosure__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15424:1: ( ( ( rule__XClosure__Group_0__0 ) ) ) + // InternalExport.g:15425:1: ( ( rule__XClosure__Group_0__0 ) ) + { + // InternalExport.g:15425:1: ( ( rule__XClosure__Group_0__0 ) ) + // InternalExport.g:15426:2: ( rule__XClosure__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_0()); + } + // InternalExport.g:15427:2: ( rule__XClosure__Group_0__0 ) + // InternalExport.g:15427:3: rule__XClosure__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__0__Impl" + + + // $ANTLR start "rule__XClosure__Group__1" + // InternalExport.g:15435:1: rule__XClosure__Group__1 : rule__XClosure__Group__1__Impl rule__XClosure__Group__2 ; + public final void rule__XClosure__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15439:1: ( rule__XClosure__Group__1__Impl rule__XClosure__Group__2 ) + // InternalExport.g:15440:2: rule__XClosure__Group__1__Impl rule__XClosure__Group__2 + { + pushFollow(FOLLOW_102); + rule__XClosure__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__1" + + + // $ANTLR start "rule__XClosure__Group__1__Impl" + // InternalExport.g:15447:1: rule__XClosure__Group__1__Impl : ( ( rule__XClosure__Group_1__0 )? ) ; + public final void rule__XClosure__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15451:1: ( ( ( rule__XClosure__Group_1__0 )? ) ) + // InternalExport.g:15452:1: ( ( rule__XClosure__Group_1__0 )? ) + { + // InternalExport.g:15452:1: ( ( rule__XClosure__Group_1__0 )? ) + // InternalExport.g:15453:2: ( rule__XClosure__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_1()); + } + // InternalExport.g:15454:2: ( rule__XClosure__Group_1__0 )? + int alt130=2; + alt130 = dfa130.predict(input); + switch (alt130) { + case 1 : + // InternalExport.g:15454:3: rule__XClosure__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__1__Impl" + + + // $ANTLR start "rule__XClosure__Group__2" + // InternalExport.g:15462:1: rule__XClosure__Group__2 : rule__XClosure__Group__2__Impl rule__XClosure__Group__3 ; + public final void rule__XClosure__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15466:1: ( rule__XClosure__Group__2__Impl rule__XClosure__Group__3 ) + // InternalExport.g:15467:2: rule__XClosure__Group__2__Impl rule__XClosure__Group__3 + { + pushFollow(FOLLOW_19); + rule__XClosure__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__2" + + + // $ANTLR start "rule__XClosure__Group__2__Impl" + // InternalExport.g:15474:1: rule__XClosure__Group__2__Impl : ( ( rule__XClosure__ExpressionAssignment_2 ) ) ; + public final void rule__XClosure__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15478:1: ( ( ( rule__XClosure__ExpressionAssignment_2 ) ) ) + // InternalExport.g:15479:1: ( ( rule__XClosure__ExpressionAssignment_2 ) ) + { + // InternalExport.g:15479:1: ( ( rule__XClosure__ExpressionAssignment_2 ) ) + // InternalExport.g:15480:2: ( rule__XClosure__ExpressionAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getExpressionAssignment_2()); + } + // InternalExport.g:15481:2: ( rule__XClosure__ExpressionAssignment_2 ) + // InternalExport.g:15481:3: rule__XClosure__ExpressionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XClosure__ExpressionAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getExpressionAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__2__Impl" + + + // $ANTLR start "rule__XClosure__Group__3" + // InternalExport.g:15489:1: rule__XClosure__Group__3 : rule__XClosure__Group__3__Impl ; + public final void rule__XClosure__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15493:1: ( rule__XClosure__Group__3__Impl ) + // InternalExport.g:15494:2: rule__XClosure__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__3" + + + // $ANTLR start "rule__XClosure__Group__3__Impl" + // InternalExport.g:15500:1: rule__XClosure__Group__3__Impl : ( ']' ) ; + public final void rule__XClosure__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15504:1: ( ( ']' ) ) + // InternalExport.g:15505:1: ( ']' ) + { + // InternalExport.g:15505:1: ( ']' ) + // InternalExport.g:15506:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); + } + match(input,73,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__3__Impl" + + + // $ANTLR start "rule__XClosure__Group_0__0" + // InternalExport.g:15516:1: rule__XClosure__Group_0__0 : rule__XClosure__Group_0__0__Impl ; + public final void rule__XClosure__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15520:1: ( rule__XClosure__Group_0__0__Impl ) + // InternalExport.g:15521:2: rule__XClosure__Group_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0__0" + + + // $ANTLR start "rule__XClosure__Group_0__0__Impl" + // InternalExport.g:15527:1: rule__XClosure__Group_0__0__Impl : ( ( rule__XClosure__Group_0_0__0 ) ) ; + public final void rule__XClosure__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15531:1: ( ( ( rule__XClosure__Group_0_0__0 ) ) ) + // InternalExport.g:15532:1: ( ( rule__XClosure__Group_0_0__0 ) ) + { + // InternalExport.g:15532:1: ( ( rule__XClosure__Group_0_0__0 ) ) + // InternalExport.g:15533:2: ( rule__XClosure__Group_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_0_0()); + } + // InternalExport.g:15534:2: ( rule__XClosure__Group_0_0__0 ) + // InternalExport.g:15534:3: rule__XClosure__Group_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_0_0__0" + // InternalExport.g:15543:1: rule__XClosure__Group_0_0__0 : rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1 ; + public final void rule__XClosure__Group_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15547:1: ( rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1 ) + // InternalExport.g:15548:2: rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1 + { + pushFollow(FOLLOW_30); + rule__XClosure__Group_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0_0__0" + + + // $ANTLR start "rule__XClosure__Group_0_0__0__Impl" + // InternalExport.g:15555:1: rule__XClosure__Group_0_0__0__Impl : ( () ) ; + public final void rule__XClosure__Group_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15559:1: ( ( () ) ) + // InternalExport.g:15560:1: ( () ) + { + // InternalExport.g:15560:1: ( () ) + // InternalExport.g:15561:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getXClosureAction_0_0_0()); + } + // InternalExport.g:15562:2: () + // InternalExport.g:15562:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getXClosureAction_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0_0__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_0_0__1" + // InternalExport.g:15570:1: rule__XClosure__Group_0_0__1 : rule__XClosure__Group_0_0__1__Impl ; + public final void rule__XClosure__Group_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15574:1: ( rule__XClosure__Group_0_0__1__Impl ) + // InternalExport.g:15575:2: rule__XClosure__Group_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0_0__1" + + + // $ANTLR start "rule__XClosure__Group_0_0__1__Impl" + // InternalExport.g:15581:1: rule__XClosure__Group_0_0__1__Impl : ( '[' ) ; + public final void rule__XClosure__Group_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15585:1: ( ( '[' ) ) + // InternalExport.g:15586:1: ( '[' ) + { + // InternalExport.g:15586:1: ( '[' ) + // InternalExport.g:15587:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); + } + match(input,72,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0_0__1__Impl" + + + // $ANTLR start "rule__XClosure__Group_1__0" + // InternalExport.g:15597:1: rule__XClosure__Group_1__0 : rule__XClosure__Group_1__0__Impl ; + public final void rule__XClosure__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15601:1: ( rule__XClosure__Group_1__0__Impl ) + // InternalExport.g:15602:2: rule__XClosure__Group_1__0__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1__0" + + + // $ANTLR start "rule__XClosure__Group_1__0__Impl" + // InternalExport.g:15608:1: rule__XClosure__Group_1__0__Impl : ( ( rule__XClosure__Group_1_0__0 ) ) ; + public final void rule__XClosure__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15612:1: ( ( ( rule__XClosure__Group_1_0__0 ) ) ) + // InternalExport.g:15613:1: ( ( rule__XClosure__Group_1_0__0 ) ) + { + // InternalExport.g:15613:1: ( ( rule__XClosure__Group_1_0__0 ) ) + // InternalExport.g:15614:2: ( rule__XClosure__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_1_0()); + } + // InternalExport.g:15615:2: ( rule__XClosure__Group_1_0__0 ) + // InternalExport.g:15615:3: rule__XClosure__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0__0" + // InternalExport.g:15624:1: rule__XClosure__Group_1_0__0 : rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1 ; + public final void rule__XClosure__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15628:1: ( rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1 ) + // InternalExport.g:15629:2: rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1 + { + pushFollow(FOLLOW_103); + rule__XClosure__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0__0" + + + // $ANTLR start "rule__XClosure__Group_1_0__0__Impl" + // InternalExport.g:15636:1: rule__XClosure__Group_1_0__0__Impl : ( ( rule__XClosure__Group_1_0_0__0 )? ) ; + public final void rule__XClosure__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15640:1: ( ( ( rule__XClosure__Group_1_0_0__0 )? ) ) + // InternalExport.g:15641:1: ( ( rule__XClosure__Group_1_0_0__0 )? ) + { + // InternalExport.g:15641:1: ( ( rule__XClosure__Group_1_0_0__0 )? ) + // InternalExport.g:15642:2: ( rule__XClosure__Group_1_0_0__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_1_0_0()); + } + // InternalExport.g:15643:2: ( rule__XClosure__Group_1_0_0__0 )? + int alt131=2; + int LA131_0 = input.LA(1); + + if ( (LA131_0==RULE_ID||LA131_0==51||LA131_0==77) ) { + alt131=1; + } + switch (alt131) { + case 1 : + // InternalExport.g:15643:3: rule__XClosure__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0__1" + // InternalExport.g:15651:1: rule__XClosure__Group_1_0__1 : rule__XClosure__Group_1_0__1__Impl ; + public final void rule__XClosure__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15655:1: ( rule__XClosure__Group_1_0__1__Impl ) + // InternalExport.g:15656:2: rule__XClosure__Group_1_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0__1" + + + // $ANTLR start "rule__XClosure__Group_1_0__1__Impl" + // InternalExport.g:15662:1: rule__XClosure__Group_1_0__1__Impl : ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) ; + public final void rule__XClosure__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15666:1: ( ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) ) + // InternalExport.g:15667:1: ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) + { + // InternalExport.g:15667:1: ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) + // InternalExport.g:15668:2: ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1()); + } + // InternalExport.g:15669:2: ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) + // InternalExport.g:15669:3: rule__XClosure__ExplicitSyntaxAssignment_1_0_1 + { + pushFollow(FOLLOW_2); + rule__XClosure__ExplicitSyntaxAssignment_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0__1__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0_0__0" + // InternalExport.g:15678:1: rule__XClosure__Group_1_0_0__0 : rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1 ; + public final void rule__XClosure__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15682:1: ( rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1 ) + // InternalExport.g:15683:2: rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1 + { + pushFollow(FOLLOW_21); + rule__XClosure__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0__0" + + + // $ANTLR start "rule__XClosure__Group_1_0_0__0__Impl" + // InternalExport.g:15690:1: rule__XClosure__Group_1_0_0__0__Impl : ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) ; + public final void rule__XClosure__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15694:1: ( ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) ) + // InternalExport.g:15695:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) + { + // InternalExport.g:15695:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) + // InternalExport.g:15696:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0()); + } + // InternalExport.g:15697:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) + // InternalExport.g:15697:3: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 + { + pushFollow(FOLLOW_2); + rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0_0__1" + // InternalExport.g:15705:1: rule__XClosure__Group_1_0_0__1 : rule__XClosure__Group_1_0_0__1__Impl ; + public final void rule__XClosure__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15709:1: ( rule__XClosure__Group_1_0_0__1__Impl ) + // InternalExport.g:15710:2: rule__XClosure__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0__1" + + + // $ANTLR start "rule__XClosure__Group_1_0_0__1__Impl" + // InternalExport.g:15716:1: rule__XClosure__Group_1_0_0__1__Impl : ( ( rule__XClosure__Group_1_0_0_1__0 )* ) ; + public final void rule__XClosure__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15720:1: ( ( ( rule__XClosure__Group_1_0_0_1__0 )* ) ) + // InternalExport.g:15721:1: ( ( rule__XClosure__Group_1_0_0_1__0 )* ) + { + // InternalExport.g:15721:1: ( ( rule__XClosure__Group_1_0_0_1__0 )* ) + // InternalExport.g:15722:2: ( rule__XClosure__Group_1_0_0_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_1_0_0_1()); + } + // InternalExport.g:15723:2: ( rule__XClosure__Group_1_0_0_1__0 )* + loop132: + do { + int alt132=2; + int LA132_0 = input.LA(1); + + if ( (LA132_0==74) ) { + alt132=1; + } + + + switch (alt132) { + case 1 : + // InternalExport.g:15723:3: rule__XClosure__Group_1_0_0_1__0 + { + pushFollow(FOLLOW_22); + rule__XClosure__Group_1_0_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop132; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0_0_1__0" + // InternalExport.g:15732:1: rule__XClosure__Group_1_0_0_1__0 : rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1 ; + public final void rule__XClosure__Group_1_0_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15736:1: ( rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1 ) + // InternalExport.g:15737:2: rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1 + { + pushFollow(FOLLOW_78); + rule__XClosure__Group_1_0_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0_1__0" + + + // $ANTLR start "rule__XClosure__Group_1_0_0_1__0__Impl" + // InternalExport.g:15744:1: rule__XClosure__Group_1_0_0_1__0__Impl : ( ',' ) ; + public final void rule__XClosure__Group_1_0_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15748:1: ( ( ',' ) ) + // InternalExport.g:15749:1: ( ',' ) + { + // InternalExport.g:15749:1: ( ',' ) + // InternalExport.g:15750:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0_1__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0_0_1__1" + // InternalExport.g:15759:1: rule__XClosure__Group_1_0_0_1__1 : rule__XClosure__Group_1_0_0_1__1__Impl ; + public final void rule__XClosure__Group_1_0_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15763:1: ( rule__XClosure__Group_1_0_0_1__1__Impl ) + // InternalExport.g:15764:2: rule__XClosure__Group_1_0_0_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0_1__1" + + + // $ANTLR start "rule__XClosure__Group_1_0_0_1__1__Impl" + // InternalExport.g:15770:1: rule__XClosure__Group_1_0_0_1__1__Impl : ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) ; + public final void rule__XClosure__Group_1_0_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15774:1: ( ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) ) + // InternalExport.g:15775:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) + { + // InternalExport.g:15775:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) + // InternalExport.g:15776:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1()); + } + // InternalExport.g:15777:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) + // InternalExport.g:15777:3: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 + { + pushFollow(FOLLOW_2); + rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0_1__1__Impl" + + + // $ANTLR start "rule__XExpressionInClosure__Group__0" + // InternalExport.g:15786:1: rule__XExpressionInClosure__Group__0 : rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1 ; + public final void rule__XExpressionInClosure__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15790:1: ( rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1 ) + // InternalExport.g:15791:2: rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1 + { + pushFollow(FOLLOW_102); + rule__XExpressionInClosure__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XExpressionInClosure__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group__0" + + + // $ANTLR start "rule__XExpressionInClosure__Group__0__Impl" + // InternalExport.g:15798:1: rule__XExpressionInClosure__Group__0__Impl : ( () ) ; + public final void rule__XExpressionInClosure__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15802:1: ( ( () ) ) + // InternalExport.g:15803:1: ( () ) + { + // InternalExport.g:15803:1: ( () ) + // InternalExport.g:15804:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0()); + } + // InternalExport.g:15805:2: () + // InternalExport.g:15805:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group__0__Impl" + + + // $ANTLR start "rule__XExpressionInClosure__Group__1" + // InternalExport.g:15813:1: rule__XExpressionInClosure__Group__1 : rule__XExpressionInClosure__Group__1__Impl ; + public final void rule__XExpressionInClosure__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15817:1: ( rule__XExpressionInClosure__Group__1__Impl ) + // InternalExport.g:15818:2: rule__XExpressionInClosure__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XExpressionInClosure__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group__1" + + + // $ANTLR start "rule__XExpressionInClosure__Group__1__Impl" + // InternalExport.g:15824:1: rule__XExpressionInClosure__Group__1__Impl : ( ( rule__XExpressionInClosure__Group_1__0 )* ) ; + public final void rule__XExpressionInClosure__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15828:1: ( ( ( rule__XExpressionInClosure__Group_1__0 )* ) ) + // InternalExport.g:15829:1: ( ( rule__XExpressionInClosure__Group_1__0 )* ) + { + // InternalExport.g:15829:1: ( ( rule__XExpressionInClosure__Group_1__0 )* ) + // InternalExport.g:15830:2: ( rule__XExpressionInClosure__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureAccess().getGroup_1()); + } + // InternalExport.g:15831:2: ( rule__XExpressionInClosure__Group_1__0 )* + loop133: + do { + int alt133=2; + int LA133_0 = input.LA(1); + + if ( ((LA133_0>=RULE_ID && LA133_0<=RULE_STRING)||(LA133_0>=22 && LA133_0<=24)||LA133_0==27||(LA133_0>=36 && LA133_0<=37)||(LA133_0>=59 && LA133_0<=64)||LA133_0==66||LA133_0==68||LA133_0==72||LA133_0==77||LA133_0==87||LA133_0==90||LA133_0==95||(LA133_0>=97 && LA133_0<=104)||LA133_0==106||LA133_0==117) ) { + alt133=1; + } + + + switch (alt133) { + case 1 : + // InternalExport.g:15831:3: rule__XExpressionInClosure__Group_1__0 + { + pushFollow(FOLLOW_104); + rule__XExpressionInClosure__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop133; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group__1__Impl" + + + // $ANTLR start "rule__XExpressionInClosure__Group_1__0" + // InternalExport.g:15840:1: rule__XExpressionInClosure__Group_1__0 : rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1 ; + public final void rule__XExpressionInClosure__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15844:1: ( rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1 ) + // InternalExport.g:15845:2: rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1 + { + pushFollow(FOLLOW_35); + rule__XExpressionInClosure__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XExpressionInClosure__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group_1__0" + + + // $ANTLR start "rule__XExpressionInClosure__Group_1__0__Impl" + // InternalExport.g:15852:1: rule__XExpressionInClosure__Group_1__0__Impl : ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) ; + public final void rule__XExpressionInClosure__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15856:1: ( ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) ) + // InternalExport.g:15857:1: ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) + { + // InternalExport.g:15857:1: ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) + // InternalExport.g:15858:2: ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0()); + } + // InternalExport.g:15859:2: ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) + // InternalExport.g:15859:3: rule__XExpressionInClosure__ExpressionsAssignment_1_0 + { + pushFollow(FOLLOW_2); + rule__XExpressionInClosure__ExpressionsAssignment_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group_1__0__Impl" + + + // $ANTLR start "rule__XExpressionInClosure__Group_1__1" + // InternalExport.g:15867:1: rule__XExpressionInClosure__Group_1__1 : rule__XExpressionInClosure__Group_1__1__Impl ; + public final void rule__XExpressionInClosure__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15871:1: ( rule__XExpressionInClosure__Group_1__1__Impl ) + // InternalExport.g:15872:2: rule__XExpressionInClosure__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XExpressionInClosure__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group_1__1" + + + // $ANTLR start "rule__XExpressionInClosure__Group_1__1__Impl" + // InternalExport.g:15878:1: rule__XExpressionInClosure__Group_1__1__Impl : ( ( ';' )? ) ; + public final void rule__XExpressionInClosure__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15882:1: ( ( ( ';' )? ) ) + // InternalExport.g:15883:1: ( ( ';' )? ) + { + // InternalExport.g:15883:1: ( ( ';' )? ) + // InternalExport.g:15884:2: ( ';' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); + } + // InternalExport.g:15885:2: ( ';' )? + int alt134=2; + int LA134_0 = input.LA(1); + + if ( (LA134_0==71) ) { + alt134=1; + } + switch (alt134) { + case 1 : + // InternalExport.g:15885:3: ';' + { + match(input,71,FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group_1__1__Impl" + + + // $ANTLR start "rule__XShortClosure__Group__0" + // InternalExport.g:15894:1: rule__XShortClosure__Group__0 : rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1 ; + public final void rule__XShortClosure__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15898:1: ( rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1 ) + // InternalExport.g:15899:2: rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1 + { + pushFollow(FOLLOW_98); + rule__XShortClosure__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XShortClosure__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group__0" + + + // $ANTLR start "rule__XShortClosure__Group__0__Impl" + // InternalExport.g:15906:1: rule__XShortClosure__Group__0__Impl : ( ( rule__XShortClosure__Group_0__0 ) ) ; + public final void rule__XShortClosure__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15910:1: ( ( ( rule__XShortClosure__Group_0__0 ) ) ) + // InternalExport.g:15911:1: ( ( rule__XShortClosure__Group_0__0 ) ) + { + // InternalExport.g:15911:1: ( ( rule__XShortClosure__Group_0__0 ) ) + // InternalExport.g:15912:2: ( rule__XShortClosure__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getGroup_0()); + } + // InternalExport.g:15913:2: ( rule__XShortClosure__Group_0__0 ) + // InternalExport.g:15913:3: rule__XShortClosure__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getGroup_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group__0__Impl" + + + // $ANTLR start "rule__XShortClosure__Group__1" + // InternalExport.g:15921:1: rule__XShortClosure__Group__1 : rule__XShortClosure__Group__1__Impl ; + public final void rule__XShortClosure__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15925:1: ( rule__XShortClosure__Group__1__Impl ) + // InternalExport.g:15926:2: rule__XShortClosure__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group__1" + + + // $ANTLR start "rule__XShortClosure__Group__1__Impl" + // InternalExport.g:15932:1: rule__XShortClosure__Group__1__Impl : ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) ; + public final void rule__XShortClosure__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15936:1: ( ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) ) + // InternalExport.g:15937:1: ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) + { + // InternalExport.g:15937:1: ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) + // InternalExport.g:15938:2: ( rule__XShortClosure__ExpressionAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1()); + } + // InternalExport.g:15939:2: ( rule__XShortClosure__ExpressionAssignment_1 ) + // InternalExport.g:15939:3: rule__XShortClosure__ExpressionAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__ExpressionAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group__1__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0__0" + // InternalExport.g:15948:1: rule__XShortClosure__Group_0__0 : rule__XShortClosure__Group_0__0__Impl ; + public final void rule__XShortClosure__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15952:1: ( rule__XShortClosure__Group_0__0__Impl ) + // InternalExport.g:15953:2: rule__XShortClosure__Group_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0__0" + + + // $ANTLR start "rule__XShortClosure__Group_0__0__Impl" + // InternalExport.g:15959:1: rule__XShortClosure__Group_0__0__Impl : ( ( rule__XShortClosure__Group_0_0__0 ) ) ; + public final void rule__XShortClosure__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15963:1: ( ( ( rule__XShortClosure__Group_0_0__0 ) ) ) + // InternalExport.g:15964:1: ( ( rule__XShortClosure__Group_0_0__0 ) ) + { + // InternalExport.g:15964:1: ( ( rule__XShortClosure__Group_0_0__0 ) ) + // InternalExport.g:15965:2: ( rule__XShortClosure__Group_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getGroup_0_0()); + } + // InternalExport.g:15966:2: ( rule__XShortClosure__Group_0_0__0 ) + // InternalExport.g:15966:3: rule__XShortClosure__Group_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getGroup_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0__0__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__0" + // InternalExport.g:15975:1: rule__XShortClosure__Group_0_0__0 : rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1 ; + public final void rule__XShortClosure__Group_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15979:1: ( rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1 ) + // InternalExport.g:15980:2: rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1 + { + pushFollow(FOLLOW_103); + rule__XShortClosure__Group_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__0" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__0__Impl" + // InternalExport.g:15987:1: rule__XShortClosure__Group_0_0__0__Impl : ( () ) ; + public final void rule__XShortClosure__Group_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:15991:1: ( ( () ) ) + // InternalExport.g:15992:1: ( () ) + { + // InternalExport.g:15992:1: ( () ) + // InternalExport.g:15993:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0()); + } + // InternalExport.g:15994:2: () + // InternalExport.g:15994:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__0__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__1" + // InternalExport.g:16002:1: rule__XShortClosure__Group_0_0__1 : rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2 ; + public final void rule__XShortClosure__Group_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16006:1: ( rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2 ) + // InternalExport.g:16007:2: rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2 + { + pushFollow(FOLLOW_103); + rule__XShortClosure__Group_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__1" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__1__Impl" + // InternalExport.g:16014:1: rule__XShortClosure__Group_0_0__1__Impl : ( ( rule__XShortClosure__Group_0_0_1__0 )? ) ; + public final void rule__XShortClosure__Group_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16018:1: ( ( ( rule__XShortClosure__Group_0_0_1__0 )? ) ) + // InternalExport.g:16019:1: ( ( rule__XShortClosure__Group_0_0_1__0 )? ) + { + // InternalExport.g:16019:1: ( ( rule__XShortClosure__Group_0_0_1__0 )? ) + // InternalExport.g:16020:2: ( rule__XShortClosure__Group_0_0_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getGroup_0_0_1()); + } + // InternalExport.g:16021:2: ( rule__XShortClosure__Group_0_0_1__0 )? + int alt135=2; + int LA135_0 = input.LA(1); + + if ( (LA135_0==RULE_ID||LA135_0==51||LA135_0==77) ) { + alt135=1; + } + switch (alt135) { + case 1 : + // InternalExport.g:16021:3: rule__XShortClosure__Group_0_0_1__0 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getGroup_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__1__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__2" + // InternalExport.g:16029:1: rule__XShortClosure__Group_0_0__2 : rule__XShortClosure__Group_0_0__2__Impl ; + public final void rule__XShortClosure__Group_0_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16033:1: ( rule__XShortClosure__Group_0_0__2__Impl ) + // InternalExport.g:16034:2: rule__XShortClosure__Group_0_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__2" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__2__Impl" + // InternalExport.g:16040:1: rule__XShortClosure__Group_0_0__2__Impl : ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) ; + public final void rule__XShortClosure__Group_0_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16044:1: ( ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) ) + // InternalExport.g:16045:1: ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) + { + // InternalExport.g:16045:1: ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) + // InternalExport.g:16046:2: ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2()); + } + // InternalExport.g:16047:2: ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) + // InternalExport.g:16047:3: rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__2__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1__0" + // InternalExport.g:16056:1: rule__XShortClosure__Group_0_0_1__0 : rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1 ; + public final void rule__XShortClosure__Group_0_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16060:1: ( rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1 ) + // InternalExport.g:16061:2: rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1 + { + pushFollow(FOLLOW_21); + rule__XShortClosure__Group_0_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1__0" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1__0__Impl" + // InternalExport.g:16068:1: rule__XShortClosure__Group_0_0_1__0__Impl : ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) ; + public final void rule__XShortClosure__Group_0_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16072:1: ( ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) ) + // InternalExport.g:16073:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) + { + // InternalExport.g:16073:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) + // InternalExport.g:16074:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0()); + } + // InternalExport.g:16075:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) + // InternalExport.g:16075:3: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1__0__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1__1" + // InternalExport.g:16083:1: rule__XShortClosure__Group_0_0_1__1 : rule__XShortClosure__Group_0_0_1__1__Impl ; + public final void rule__XShortClosure__Group_0_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16087:1: ( rule__XShortClosure__Group_0_0_1__1__Impl ) + // InternalExport.g:16088:2: rule__XShortClosure__Group_0_0_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1__1" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1__1__Impl" + // InternalExport.g:16094:1: rule__XShortClosure__Group_0_0_1__1__Impl : ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) ; + public final void rule__XShortClosure__Group_0_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16098:1: ( ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) ) + // InternalExport.g:16099:1: ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) + { + // InternalExport.g:16099:1: ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) + // InternalExport.g:16100:2: ( rule__XShortClosure__Group_0_0_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1()); + } + // InternalExport.g:16101:2: ( rule__XShortClosure__Group_0_0_1_1__0 )* + loop136: + do { + int alt136=2; + int LA136_0 = input.LA(1); + + if ( (LA136_0==74) ) { + alt136=1; + } + + + switch (alt136) { + case 1 : + // InternalExport.g:16101:3: rule__XShortClosure__Group_0_0_1_1__0 + { + pushFollow(FOLLOW_22); + rule__XShortClosure__Group_0_0_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop136; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1__1__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__0" + // InternalExport.g:16110:1: rule__XShortClosure__Group_0_0_1_1__0 : rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1 ; + public final void rule__XShortClosure__Group_0_0_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16114:1: ( rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1 ) + // InternalExport.g:16115:2: rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1 + { + pushFollow(FOLLOW_78); + rule__XShortClosure__Group_0_0_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1_1__0" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__0__Impl" + // InternalExport.g:16122:1: rule__XShortClosure__Group_0_0_1_1__0__Impl : ( ',' ) ; + public final void rule__XShortClosure__Group_0_0_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16126:1: ( ( ',' ) ) + // InternalExport.g:16127:1: ( ',' ) + { + // InternalExport.g:16127:1: ( ',' ) + // InternalExport.g:16128:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1_1__0__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__1" + // InternalExport.g:16137:1: rule__XShortClosure__Group_0_0_1_1__1 : rule__XShortClosure__Group_0_0_1_1__1__Impl ; + public final void rule__XShortClosure__Group_0_0_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16141:1: ( rule__XShortClosure__Group_0_0_1_1__1__Impl ) + // InternalExport.g:16142:2: rule__XShortClosure__Group_0_0_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1_1__1" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__1__Impl" + // InternalExport.g:16148:1: rule__XShortClosure__Group_0_0_1_1__1__Impl : ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) ; + public final void rule__XShortClosure__Group_0_0_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16152:1: ( ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) ) + // InternalExport.g:16153:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) + { + // InternalExport.g:16153:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) + // InternalExport.g:16154:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1()); + } + // InternalExport.g:16155:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) + // InternalExport.g:16155:3: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1_1__1__Impl" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__0" + // InternalExport.g:16164:1: rule__XParenthesizedExpression__Group__0 : rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1 ; + public final void rule__XParenthesizedExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16168:1: ( rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1 ) + // InternalExport.g:16169:2: rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1 + { + pushFollow(FOLLOW_98); + rule__XParenthesizedExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XParenthesizedExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__0" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__0__Impl" + // InternalExport.g:16176:1: rule__XParenthesizedExpression__Group__0__Impl : ( '(' ) ; + public final void rule__XParenthesizedExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16180:1: ( ( '(' ) ) + // InternalExport.g:16181:1: ( '(' ) + { + // InternalExport.g:16181:1: ( '(' ) + // InternalExport.g:16182:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__0__Impl" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__1" + // InternalExport.g:16191:1: rule__XParenthesizedExpression__Group__1 : rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2 ; + public final void rule__XParenthesizedExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16195:1: ( rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2 ) + // InternalExport.g:16196:2: rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2 + { + pushFollow(FOLLOW_25); + rule__XParenthesizedExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XParenthesizedExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__1" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__1__Impl" + // InternalExport.g:16203:1: rule__XParenthesizedExpression__Group__1__Impl : ( ruleXExpression ) ; + public final void rule__XParenthesizedExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16207:1: ( ( ruleXExpression ) ) + // InternalExport.g:16208:1: ( ruleXExpression ) + { + // InternalExport.g:16208:1: ( ruleXExpression ) + // InternalExport.g:16209:2: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__1__Impl" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__2" + // InternalExport.g:16218:1: rule__XParenthesizedExpression__Group__2 : rule__XParenthesizedExpression__Group__2__Impl ; + public final void rule__XParenthesizedExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16222:1: ( rule__XParenthesizedExpression__Group__2__Impl ) + // InternalExport.g:16223:2: rule__XParenthesizedExpression__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__XParenthesizedExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__2" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__2__Impl" + // InternalExport.g:16229:1: rule__XParenthesizedExpression__Group__2__Impl : ( ')' ) ; + public final void rule__XParenthesizedExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16233:1: ( ( ')' ) ) + // InternalExport.g:16234:1: ( ')' ) + { + // InternalExport.g:16234:1: ( ')' ) + // InternalExport.g:16235:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__2__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__0" + // InternalExport.g:16245:1: rule__XIfExpression__Group__0 : rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1 ; + public final void rule__XIfExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16249:1: ( rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1 ) + // InternalExport.g:16250:2: rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1 + { + pushFollow(FOLLOW_105); + rule__XIfExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__0" + + + // $ANTLR start "rule__XIfExpression__Group__0__Impl" + // InternalExport.g:16257:1: rule__XIfExpression__Group__0__Impl : ( () ) ; + public final void rule__XIfExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16261:1: ( ( () ) ) + // InternalExport.g:16262:1: ( () ) + { + // InternalExport.g:16262:1: ( () ) + // InternalExport.g:16263:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0()); + } + // InternalExport.g:16264:2: () + // InternalExport.g:16264:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__0__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__1" + // InternalExport.g:16272:1: rule__XIfExpression__Group__1 : rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2 ; + public final void rule__XIfExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16276:1: ( rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2 ) + // InternalExport.g:16277:2: rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2 + { + pushFollow(FOLLOW_34); + rule__XIfExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__1" + + + // $ANTLR start "rule__XIfExpression__Group__1__Impl" + // InternalExport.g:16284:1: rule__XIfExpression__Group__1__Impl : ( 'if' ) ; + public final void rule__XIfExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16288:1: ( ( 'if' ) ) + // InternalExport.g:16289:1: ( 'if' ) + { + // InternalExport.g:16289:1: ( 'if' ) + // InternalExport.g:16290:2: 'if' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); + } + match(input,87,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__1__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__2" + // InternalExport.g:16299:1: rule__XIfExpression__Group__2 : rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3 ; + public final void rule__XIfExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16303:1: ( rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3 ) + // InternalExport.g:16304:2: rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3 + { + pushFollow(FOLLOW_98); + rule__XIfExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__2" + + + // $ANTLR start "rule__XIfExpression__Group__2__Impl" + // InternalExport.g:16311:1: rule__XIfExpression__Group__2__Impl : ( '(' ) ; + public final void rule__XIfExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16315:1: ( ( '(' ) ) + // InternalExport.g:16316:1: ( '(' ) + { + // InternalExport.g:16316:1: ( '(' ) + // InternalExport.g:16317:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__2__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__3" + // InternalExport.g:16326:1: rule__XIfExpression__Group__3 : rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4 ; + public final void rule__XIfExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16330:1: ( rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4 ) + // InternalExport.g:16331:2: rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4 + { + pushFollow(FOLLOW_25); + rule__XIfExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__3" + + + // $ANTLR start "rule__XIfExpression__Group__3__Impl" + // InternalExport.g:16338:1: rule__XIfExpression__Group__3__Impl : ( ( rule__XIfExpression__IfAssignment_3 ) ) ; + public final void rule__XIfExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16342:1: ( ( ( rule__XIfExpression__IfAssignment_3 ) ) ) + // InternalExport.g:16343:1: ( ( rule__XIfExpression__IfAssignment_3 ) ) + { + // InternalExport.g:16343:1: ( ( rule__XIfExpression__IfAssignment_3 ) ) + // InternalExport.g:16344:2: ( rule__XIfExpression__IfAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getIfAssignment_3()); + } + // InternalExport.g:16345:2: ( rule__XIfExpression__IfAssignment_3 ) + // InternalExport.g:16345:3: rule__XIfExpression__IfAssignment_3 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__IfAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getIfAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__3__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__4" + // InternalExport.g:16353:1: rule__XIfExpression__Group__4 : rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5 ; + public final void rule__XIfExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16357:1: ( rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5 ) + // InternalExport.g:16358:2: rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5 + { + pushFollow(FOLLOW_98); + rule__XIfExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__4" + + + // $ANTLR start "rule__XIfExpression__Group__4__Impl" + // InternalExport.g:16365:1: rule__XIfExpression__Group__4__Impl : ( ')' ) ; + public final void rule__XIfExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16369:1: ( ( ')' ) ) + // InternalExport.g:16370:1: ( ')' ) + { + // InternalExport.g:16370:1: ( ')' ) + // InternalExport.g:16371:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__4__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__5" + // InternalExport.g:16380:1: rule__XIfExpression__Group__5 : rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6 ; + public final void rule__XIfExpression__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16384:1: ( rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6 ) + // InternalExport.g:16385:2: rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6 + { + pushFollow(FOLLOW_45); + rule__XIfExpression__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__5" + + + // $ANTLR start "rule__XIfExpression__Group__5__Impl" + // InternalExport.g:16392:1: rule__XIfExpression__Group__5__Impl : ( ( rule__XIfExpression__ThenAssignment_5 ) ) ; + public final void rule__XIfExpression__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16396:1: ( ( ( rule__XIfExpression__ThenAssignment_5 ) ) ) + // InternalExport.g:16397:1: ( ( rule__XIfExpression__ThenAssignment_5 ) ) + { + // InternalExport.g:16397:1: ( ( rule__XIfExpression__ThenAssignment_5 ) ) + // InternalExport.g:16398:2: ( rule__XIfExpression__ThenAssignment_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getThenAssignment_5()); + } + // InternalExport.g:16399:2: ( rule__XIfExpression__ThenAssignment_5 ) + // InternalExport.g:16399:3: rule__XIfExpression__ThenAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__ThenAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getThenAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__5__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__6" + // InternalExport.g:16407:1: rule__XIfExpression__Group__6 : rule__XIfExpression__Group__6__Impl ; + public final void rule__XIfExpression__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16411:1: ( rule__XIfExpression__Group__6__Impl ) + // InternalExport.g:16412:2: rule__XIfExpression__Group__6__Impl + { + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__6" + + + // $ANTLR start "rule__XIfExpression__Group__6__Impl" + // InternalExport.g:16418:1: rule__XIfExpression__Group__6__Impl : ( ( rule__XIfExpression__Group_6__0 )? ) ; + public final void rule__XIfExpression__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16422:1: ( ( ( rule__XIfExpression__Group_6__0 )? ) ) + // InternalExport.g:16423:1: ( ( rule__XIfExpression__Group_6__0 )? ) + { + // InternalExport.g:16423:1: ( ( rule__XIfExpression__Group_6__0 )? ) + // InternalExport.g:16424:2: ( rule__XIfExpression__Group_6__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getGroup_6()); + } + // InternalExport.g:16425:2: ( rule__XIfExpression__Group_6__0 )? + int alt137=2; + int LA137_0 = input.LA(1); + + if ( (LA137_0==89) ) { + int LA137_1 = input.LA(2); + + if ( (synpred211_InternalExport()) ) { + alt137=1; + } + } + switch (alt137) { + case 1 : + // InternalExport.g:16425:3: rule__XIfExpression__Group_6__0 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__Group_6__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getGroup_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__6__Impl" + + + // $ANTLR start "rule__XIfExpression__Group_6__0" + // InternalExport.g:16434:1: rule__XIfExpression__Group_6__0 : rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1 ; + public final void rule__XIfExpression__Group_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16438:1: ( rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1 ) + // InternalExport.g:16439:2: rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1 + { + pushFollow(FOLLOW_98); + rule__XIfExpression__Group_6__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group_6__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group_6__0" + + + // $ANTLR start "rule__XIfExpression__Group_6__0__Impl" + // InternalExport.g:16446:1: rule__XIfExpression__Group_6__0__Impl : ( ( 'else' ) ) ; + public final void rule__XIfExpression__Group_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16450:1: ( ( ( 'else' ) ) ) + // InternalExport.g:16451:1: ( ( 'else' ) ) + { + // InternalExport.g:16451:1: ( ( 'else' ) ) + // InternalExport.g:16452:2: ( 'else' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); + } + // InternalExport.g:16453:2: ( 'else' ) + // InternalExport.g:16453:3: 'else' + { + match(input,89,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group_6__0__Impl" + + + // $ANTLR start "rule__XIfExpression__Group_6__1" + // InternalExport.g:16461:1: rule__XIfExpression__Group_6__1 : rule__XIfExpression__Group_6__1__Impl ; + public final void rule__XIfExpression__Group_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16465:1: ( rule__XIfExpression__Group_6__1__Impl ) + // InternalExport.g:16466:2: rule__XIfExpression__Group_6__1__Impl + { + pushFollow(FOLLOW_2); + rule__XIfExpression__Group_6__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group_6__1" + + + // $ANTLR start "rule__XIfExpression__Group_6__1__Impl" + // InternalExport.g:16472:1: rule__XIfExpression__Group_6__1__Impl : ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) ; + public final void rule__XIfExpression__Group_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16476:1: ( ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) ) + // InternalExport.g:16477:1: ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) + { + // InternalExport.g:16477:1: ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) + // InternalExport.g:16478:2: ( rule__XIfExpression__ElseAssignment_6_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1()); + } + // InternalExport.g:16479:2: ( rule__XIfExpression__ElseAssignment_6_1 ) + // InternalExport.g:16479:3: rule__XIfExpression__ElseAssignment_6_1 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__ElseAssignment_6_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group_6__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__0" + // InternalExport.g:16488:1: rule__XSwitchExpression__Group__0 : rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1 ; + public final void rule__XSwitchExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16492:1: ( rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1 ) + // InternalExport.g:16493:2: rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1 + { + pushFollow(FOLLOW_106); + rule__XSwitchExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__0" + + + // $ANTLR start "rule__XSwitchExpression__Group__0__Impl" + // InternalExport.g:16500:1: rule__XSwitchExpression__Group__0__Impl : ( () ) ; + public final void rule__XSwitchExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16504:1: ( ( () ) ) + // InternalExport.g:16505:1: ( () ) + { + // InternalExport.g:16505:1: ( () ) + // InternalExport.g:16506:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0()); + } + // InternalExport.g:16507:2: () + // InternalExport.g:16507:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__1" + // InternalExport.g:16515:1: rule__XSwitchExpression__Group__1 : rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2 ; + public final void rule__XSwitchExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16519:1: ( rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2 ) + // InternalExport.g:16520:2: rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2 + { + pushFollow(FOLLOW_98); + rule__XSwitchExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__1" + + + // $ANTLR start "rule__XSwitchExpression__Group__1__Impl" + // InternalExport.g:16527:1: rule__XSwitchExpression__Group__1__Impl : ( 'switch' ) ; + public final void rule__XSwitchExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16531:1: ( ( 'switch' ) ) + // InternalExport.g:16532:1: ( 'switch' ) + { + // InternalExport.g:16532:1: ( 'switch' ) + // InternalExport.g:16533:2: 'switch' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); + } + match(input,90,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__2" + // InternalExport.g:16542:1: rule__XSwitchExpression__Group__2 : rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3 ; + public final void rule__XSwitchExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16546:1: ( rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3 ) + // InternalExport.g:16547:2: rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3 + { + pushFollow(FOLLOW_12); + rule__XSwitchExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__2" + + + // $ANTLR start "rule__XSwitchExpression__Group__2__Impl" + // InternalExport.g:16554:1: rule__XSwitchExpression__Group__2__Impl : ( ( rule__XSwitchExpression__Alternatives_2 ) ) ; + public final void rule__XSwitchExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16558:1: ( ( ( rule__XSwitchExpression__Alternatives_2 ) ) ) + // InternalExport.g:16559:1: ( ( rule__XSwitchExpression__Alternatives_2 ) ) + { + // InternalExport.g:16559:1: ( ( rule__XSwitchExpression__Alternatives_2 ) ) + // InternalExport.g:16560:2: ( rule__XSwitchExpression__Alternatives_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2()); + } + // InternalExport.g:16561:2: ( rule__XSwitchExpression__Alternatives_2 ) + // InternalExport.g:16561:3: rule__XSwitchExpression__Alternatives_2 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Alternatives_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__2__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__3" + // InternalExport.g:16569:1: rule__XSwitchExpression__Group__3 : rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4 ; + public final void rule__XSwitchExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16573:1: ( rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4 ) + // InternalExport.g:16574:2: rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4 + { + pushFollow(FOLLOW_107); + rule__XSwitchExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__3" + + + // $ANTLR start "rule__XSwitchExpression__Group__3__Impl" + // InternalExport.g:16581:1: rule__XSwitchExpression__Group__3__Impl : ( '{' ) ; + public final void rule__XSwitchExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16585:1: ( ( '{' ) ) + // InternalExport.g:16586:1: ( '{' ) + { + // InternalExport.g:16586:1: ( '{' ) + // InternalExport.g:16587:2: '{' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__3__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__4" + // InternalExport.g:16596:1: rule__XSwitchExpression__Group__4 : rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5 ; + public final void rule__XSwitchExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16600:1: ( rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5 ) + // InternalExport.g:16601:2: rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5 + { + pushFollow(FOLLOW_107); + rule__XSwitchExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__4" + + + // $ANTLR start "rule__XSwitchExpression__Group__4__Impl" + // InternalExport.g:16608:1: rule__XSwitchExpression__Group__4__Impl : ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) ; + public final void rule__XSwitchExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16612:1: ( ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) ) + // InternalExport.g:16613:1: ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) + { + // InternalExport.g:16613:1: ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) + // InternalExport.g:16614:2: ( rule__XSwitchExpression__CasesAssignment_4 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4()); + } + // InternalExport.g:16615:2: ( rule__XSwitchExpression__CasesAssignment_4 )* + loop138: + do { + int alt138=2; + int LA138_0 = input.LA(1); + + if ( (LA138_0==RULE_ID||LA138_0==51||LA138_0==74||LA138_0==77||LA138_0==85||LA138_0==92) ) { + alt138=1; + } + + + switch (alt138) { + case 1 : + // InternalExport.g:16615:3: rule__XSwitchExpression__CasesAssignment_4 + { + pushFollow(FOLLOW_108); + rule__XSwitchExpression__CasesAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop138; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__4__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__5" + // InternalExport.g:16623:1: rule__XSwitchExpression__Group__5 : rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6 ; + public final void rule__XSwitchExpression__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16627:1: ( rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6 ) + // InternalExport.g:16628:2: rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6 + { + pushFollow(FOLLOW_107); + rule__XSwitchExpression__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__5" + + + // $ANTLR start "rule__XSwitchExpression__Group__5__Impl" + // InternalExport.g:16635:1: rule__XSwitchExpression__Group__5__Impl : ( ( rule__XSwitchExpression__Group_5__0 )? ) ; + public final void rule__XSwitchExpression__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16639:1: ( ( ( rule__XSwitchExpression__Group_5__0 )? ) ) + // InternalExport.g:16640:1: ( ( rule__XSwitchExpression__Group_5__0 )? ) + { + // InternalExport.g:16640:1: ( ( rule__XSwitchExpression__Group_5__0 )? ) + // InternalExport.g:16641:2: ( rule__XSwitchExpression__Group_5__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_5()); + } + // InternalExport.g:16642:2: ( rule__XSwitchExpression__Group_5__0 )? + int alt139=2; + int LA139_0 = input.LA(1); + + if ( (LA139_0==91) ) { + alt139=1; + } + switch (alt139) { + case 1 : + // InternalExport.g:16642:3: rule__XSwitchExpression__Group_5__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_5__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__5__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__6" + // InternalExport.g:16650:1: rule__XSwitchExpression__Group__6 : rule__XSwitchExpression__Group__6__Impl ; + public final void rule__XSwitchExpression__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16654:1: ( rule__XSwitchExpression__Group__6__Impl ) + // InternalExport.g:16655:2: rule__XSwitchExpression__Group__6__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__6" + + + // $ANTLR start "rule__XSwitchExpression__Group__6__Impl" + // InternalExport.g:16661:1: rule__XSwitchExpression__Group__6__Impl : ( '}' ) ; + public final void rule__XSwitchExpression__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16665:1: ( ( '}' ) ) + // InternalExport.g:16666:1: ( '}' ) + { + // InternalExport.g:16666:1: ( '}' ) + // InternalExport.g:16667:2: '}' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); + } + match(input,69,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__6__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__0" + // InternalExport.g:16677:1: rule__XSwitchExpression__Group_2_0__0 : rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1 ; + public final void rule__XSwitchExpression__Group_2_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16681:1: ( rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1 ) + // InternalExport.g:16682:2: rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1 + { + pushFollow(FOLLOW_98); + rule__XSwitchExpression__Group_2_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__0__Impl" + // InternalExport.g:16689:1: rule__XSwitchExpression__Group_2_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) ; + public final void rule__XSwitchExpression__Group_2_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16693:1: ( ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) ) + // InternalExport.g:16694:1: ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) + { + // InternalExport.g:16694:1: ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) + // InternalExport.g:16695:2: ( rule__XSwitchExpression__Group_2_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0()); + } + // InternalExport.g:16696:2: ( rule__XSwitchExpression__Group_2_0_0__0 ) + // InternalExport.g:16696:3: rule__XSwitchExpression__Group_2_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__1" + // InternalExport.g:16704:1: rule__XSwitchExpression__Group_2_0__1 : rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2 ; + public final void rule__XSwitchExpression__Group_2_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16708:1: ( rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2 ) + // InternalExport.g:16709:2: rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2 + { + pushFollow(FOLLOW_25); + rule__XSwitchExpression__Group_2_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__1" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__1__Impl" + // InternalExport.g:16716:1: rule__XSwitchExpression__Group_2_0__1__Impl : ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) ; + public final void rule__XSwitchExpression__Group_2_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16720:1: ( ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) ) + // InternalExport.g:16721:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) + { + // InternalExport.g:16721:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) + // InternalExport.g:16722:2: ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1()); + } + // InternalExport.g:16723:2: ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) + // InternalExport.g:16723:3: rule__XSwitchExpression__SwitchAssignment_2_0_1 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__SwitchAssignment_2_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__2" + // InternalExport.g:16731:1: rule__XSwitchExpression__Group_2_0__2 : rule__XSwitchExpression__Group_2_0__2__Impl ; + public final void rule__XSwitchExpression__Group_2_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16735:1: ( rule__XSwitchExpression__Group_2_0__2__Impl ) + // InternalExport.g:16736:2: rule__XSwitchExpression__Group_2_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__2" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__2__Impl" + // InternalExport.g:16742:1: rule__XSwitchExpression__Group_2_0__2__Impl : ( ')' ) ; + public final void rule__XSwitchExpression__Group_2_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16746:1: ( ( ')' ) ) + // InternalExport.g:16747:1: ( ')' ) + { + // InternalExport.g:16747:1: ( ')' ) + // InternalExport.g:16748:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__2__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0__0" + // InternalExport.g:16758:1: rule__XSwitchExpression__Group_2_0_0__0 : rule__XSwitchExpression__Group_2_0_0__0__Impl ; + public final void rule__XSwitchExpression__Group_2_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16762:1: ( rule__XSwitchExpression__Group_2_0_0__0__Impl ) + // InternalExport.g:16763:2: rule__XSwitchExpression__Group_2_0_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0__0__Impl" + // InternalExport.g:16769:1: rule__XSwitchExpression__Group_2_0_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) ; + public final void rule__XSwitchExpression__Group_2_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16773:1: ( ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) ) + // InternalExport.g:16774:1: ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) + { + // InternalExport.g:16774:1: ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) + // InternalExport.g:16775:2: ( rule__XSwitchExpression__Group_2_0_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0()); + } + // InternalExport.g:16776:2: ( rule__XSwitchExpression__Group_2_0_0_0__0 ) + // InternalExport.g:16776:3: rule__XSwitchExpression__Group_2_0_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__0" + // InternalExport.g:16785:1: rule__XSwitchExpression__Group_2_0_0_0__0 : rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1 ; + public final void rule__XSwitchExpression__Group_2_0_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16789:1: ( rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1 ) + // InternalExport.g:16790:2: rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1 + { + pushFollow(FOLLOW_78); + rule__XSwitchExpression__Group_2_0_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__0__Impl" + // InternalExport.g:16797:1: rule__XSwitchExpression__Group_2_0_0_0__0__Impl : ( '(' ) ; + public final void rule__XSwitchExpression__Group_2_0_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16801:1: ( ( '(' ) ) + // InternalExport.g:16802:1: ( '(' ) + { + // InternalExport.g:16802:1: ( '(' ) + // InternalExport.g:16803:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__1" + // InternalExport.g:16812:1: rule__XSwitchExpression__Group_2_0_0_0__1 : rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2 ; + public final void rule__XSwitchExpression__Group_2_0_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16816:1: ( rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2 ) + // InternalExport.g:16817:2: rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2 + { + pushFollow(FOLLOW_39); + rule__XSwitchExpression__Group_2_0_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__1" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__1__Impl" + // InternalExport.g:16824:1: rule__XSwitchExpression__Group_2_0_0_0__1__Impl : ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) ; + public final void rule__XSwitchExpression__Group_2_0_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16828:1: ( ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) ) + // InternalExport.g:16829:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) + { + // InternalExport.g:16829:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) + // InternalExport.g:16830:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1()); + } + // InternalExport.g:16831:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) + // InternalExport.g:16831:3: rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__2" + // InternalExport.g:16839:1: rule__XSwitchExpression__Group_2_0_0_0__2 : rule__XSwitchExpression__Group_2_0_0_0__2__Impl ; + public final void rule__XSwitchExpression__Group_2_0_0_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16843:1: ( rule__XSwitchExpression__Group_2_0_0_0__2__Impl ) + // InternalExport.g:16844:2: rule__XSwitchExpression__Group_2_0_0_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__2" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__2__Impl" + // InternalExport.g:16850:1: rule__XSwitchExpression__Group_2_0_0_0__2__Impl : ( ':' ) ; + public final void rule__XSwitchExpression__Group_2_0_0_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16854:1: ( ( ':' ) ) + // InternalExport.g:16855:1: ( ':' ) + { + // InternalExport.g:16855:1: ( ':' ) + // InternalExport.g:16856:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); + } + match(input,85,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__2__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1__0" + // InternalExport.g:16866:1: rule__XSwitchExpression__Group_2_1__0 : rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1 ; + public final void rule__XSwitchExpression__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16870:1: ( rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1 ) + // InternalExport.g:16871:2: rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1 + { + pushFollow(FOLLOW_98); + rule__XSwitchExpression__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1__0__Impl" + // InternalExport.g:16878:1: rule__XSwitchExpression__Group_2_1__0__Impl : ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) ; + public final void rule__XSwitchExpression__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16882:1: ( ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) ) + // InternalExport.g:16883:1: ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) + { + // InternalExport.g:16883:1: ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) + // InternalExport.g:16884:2: ( rule__XSwitchExpression__Group_2_1_0__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0()); + } + // InternalExport.g:16885:2: ( rule__XSwitchExpression__Group_2_1_0__0 )? + int alt140=2; + alt140 = dfa140.predict(input); + switch (alt140) { + case 1 : + // InternalExport.g:16885:3: rule__XSwitchExpression__Group_2_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1__1" + // InternalExport.g:16893:1: rule__XSwitchExpression__Group_2_1__1 : rule__XSwitchExpression__Group_2_1__1__Impl ; + public final void rule__XSwitchExpression__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16897:1: ( rule__XSwitchExpression__Group_2_1__1__Impl ) + // InternalExport.g:16898:2: rule__XSwitchExpression__Group_2_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1__1" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1__1__Impl" + // InternalExport.g:16904:1: rule__XSwitchExpression__Group_2_1__1__Impl : ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) ; + public final void rule__XSwitchExpression__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16908:1: ( ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) ) + // InternalExport.g:16909:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) + { + // InternalExport.g:16909:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) + // InternalExport.g:16910:2: ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1()); + } + // InternalExport.g:16911:2: ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) + // InternalExport.g:16911:3: rule__XSwitchExpression__SwitchAssignment_2_1_1 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__SwitchAssignment_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0__0" + // InternalExport.g:16920:1: rule__XSwitchExpression__Group_2_1_0__0 : rule__XSwitchExpression__Group_2_1_0__0__Impl ; + public final void rule__XSwitchExpression__Group_2_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16924:1: ( rule__XSwitchExpression__Group_2_1_0__0__Impl ) + // InternalExport.g:16925:2: rule__XSwitchExpression__Group_2_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0__0__Impl" + // InternalExport.g:16931:1: rule__XSwitchExpression__Group_2_1_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) ; + public final void rule__XSwitchExpression__Group_2_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16935:1: ( ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) ) + // InternalExport.g:16936:1: ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) + { + // InternalExport.g:16936:1: ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) + // InternalExport.g:16937:2: ( rule__XSwitchExpression__Group_2_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0()); + } + // InternalExport.g:16938:2: ( rule__XSwitchExpression__Group_2_1_0_0__0 ) + // InternalExport.g:16938:3: rule__XSwitchExpression__Group_2_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__0" + // InternalExport.g:16947:1: rule__XSwitchExpression__Group_2_1_0_0__0 : rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1 ; + public final void rule__XSwitchExpression__Group_2_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16951:1: ( rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1 ) + // InternalExport.g:16952:2: rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1 + { + pushFollow(FOLLOW_39); + rule__XSwitchExpression__Group_2_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0_0__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__0__Impl" + // InternalExport.g:16959:1: rule__XSwitchExpression__Group_2_1_0_0__0__Impl : ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) ; + public final void rule__XSwitchExpression__Group_2_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16963:1: ( ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) ) + // InternalExport.g:16964:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) + { + // InternalExport.g:16964:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) + // InternalExport.g:16965:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0()); + } + // InternalExport.g:16966:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) + // InternalExport.g:16966:3: rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0_0__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__1" + // InternalExport.g:16974:1: rule__XSwitchExpression__Group_2_1_0_0__1 : rule__XSwitchExpression__Group_2_1_0_0__1__Impl ; + public final void rule__XSwitchExpression__Group_2_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16978:1: ( rule__XSwitchExpression__Group_2_1_0_0__1__Impl ) + // InternalExport.g:16979:2: rule__XSwitchExpression__Group_2_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0_0__1" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__1__Impl" + // InternalExport.g:16985:1: rule__XSwitchExpression__Group_2_1_0_0__1__Impl : ( ':' ) ; + public final void rule__XSwitchExpression__Group_2_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:16989:1: ( ( ':' ) ) + // InternalExport.g:16990:1: ( ':' ) + { + // InternalExport.g:16990:1: ( ':' ) + // InternalExport.g:16991:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); + } + match(input,85,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0_0__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__0" + // InternalExport.g:17001:1: rule__XSwitchExpression__Group_5__0 : rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1 ; + public final void rule__XSwitchExpression__Group_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17005:1: ( rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1 ) + // InternalExport.g:17006:2: rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1 + { + pushFollow(FOLLOW_39); + rule__XSwitchExpression__Group_5__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_5__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__0__Impl" + // InternalExport.g:17013:1: rule__XSwitchExpression__Group_5__0__Impl : ( 'default' ) ; + public final void rule__XSwitchExpression__Group_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17017:1: ( ( 'default' ) ) + // InternalExport.g:17018:1: ( 'default' ) + { + // InternalExport.g:17018:1: ( 'default' ) + // InternalExport.g:17019:2: 'default' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); + } + match(input,91,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__1" + // InternalExport.g:17028:1: rule__XSwitchExpression__Group_5__1 : rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2 ; + public final void rule__XSwitchExpression__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17032:1: ( rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2 ) + // InternalExport.g:17033:2: rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2 + { + pushFollow(FOLLOW_98); + rule__XSwitchExpression__Group_5__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_5__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__1" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__1__Impl" + // InternalExport.g:17040:1: rule__XSwitchExpression__Group_5__1__Impl : ( ':' ) ; + public final void rule__XSwitchExpression__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17044:1: ( ( ':' ) ) + // InternalExport.g:17045:1: ( ':' ) + { + // InternalExport.g:17045:1: ( ':' ) + // InternalExport.g:17046:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); + } + match(input,85,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__2" + // InternalExport.g:17055:1: rule__XSwitchExpression__Group_5__2 : rule__XSwitchExpression__Group_5__2__Impl ; + public final void rule__XSwitchExpression__Group_5__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17059:1: ( rule__XSwitchExpression__Group_5__2__Impl ) + // InternalExport.g:17060:2: rule__XSwitchExpression__Group_5__2__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_5__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__2" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__2__Impl" + // InternalExport.g:17066:1: rule__XSwitchExpression__Group_5__2__Impl : ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) ; + public final void rule__XSwitchExpression__Group_5__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17070:1: ( ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) ) + // InternalExport.g:17071:1: ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) + { + // InternalExport.g:17071:1: ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) + // InternalExport.g:17072:2: ( rule__XSwitchExpression__DefaultAssignment_5_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2()); + } + // InternalExport.g:17073:2: ( rule__XSwitchExpression__DefaultAssignment_5_2 ) + // InternalExport.g:17073:3: rule__XSwitchExpression__DefaultAssignment_5_2 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__DefaultAssignment_5_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__2__Impl" + + + // $ANTLR start "rule__XCasePart__Group__0" + // InternalExport.g:17082:1: rule__XCasePart__Group__0 : rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1 ; + public final void rule__XCasePart__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17086:1: ( rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1 ) + // InternalExport.g:17087:2: rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1 + { + pushFollow(FOLLOW_109); + rule__XCasePart__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCasePart__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__0" + + + // $ANTLR start "rule__XCasePart__Group__0__Impl" + // InternalExport.g:17094:1: rule__XCasePart__Group__0__Impl : ( () ) ; + public final void rule__XCasePart__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17098:1: ( ( () ) ) + // InternalExport.g:17099:1: ( () ) + { + // InternalExport.g:17099:1: ( () ) + // InternalExport.g:17100:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getXCasePartAction_0()); + } + // InternalExport.g:17101:2: () + // InternalExport.g:17101:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getXCasePartAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__0__Impl" + + + // $ANTLR start "rule__XCasePart__Group__1" + // InternalExport.g:17109:1: rule__XCasePart__Group__1 : rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2 ; + public final void rule__XCasePart__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17113:1: ( rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2 ) + // InternalExport.g:17114:2: rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2 + { + pushFollow(FOLLOW_109); + rule__XCasePart__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCasePart__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__1" + + + // $ANTLR start "rule__XCasePart__Group__1__Impl" + // InternalExport.g:17121:1: rule__XCasePart__Group__1__Impl : ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) ; + public final void rule__XCasePart__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17125:1: ( ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) ) + // InternalExport.g:17126:1: ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) + { + // InternalExport.g:17126:1: ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) + // InternalExport.g:17127:2: ( rule__XCasePart__TypeGuardAssignment_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1()); + } + // InternalExport.g:17128:2: ( rule__XCasePart__TypeGuardAssignment_1 )? + int alt141=2; + int LA141_0 = input.LA(1); + + if ( (LA141_0==RULE_ID||LA141_0==51||LA141_0==77) ) { + alt141=1; + } + switch (alt141) { + case 1 : + // InternalExport.g:17128:3: rule__XCasePart__TypeGuardAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XCasePart__TypeGuardAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__1__Impl" + + + // $ANTLR start "rule__XCasePart__Group__2" + // InternalExport.g:17136:1: rule__XCasePart__Group__2 : rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3 ; + public final void rule__XCasePart__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17140:1: ( rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3 ) + // InternalExport.g:17141:2: rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3 + { + pushFollow(FOLLOW_109); + rule__XCasePart__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCasePart__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__2" + + + // $ANTLR start "rule__XCasePart__Group__2__Impl" + // InternalExport.g:17148:1: rule__XCasePart__Group__2__Impl : ( ( rule__XCasePart__Group_2__0 )? ) ; + public final void rule__XCasePart__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17152:1: ( ( ( rule__XCasePart__Group_2__0 )? ) ) + // InternalExport.g:17153:1: ( ( rule__XCasePart__Group_2__0 )? ) + { + // InternalExport.g:17153:1: ( ( rule__XCasePart__Group_2__0 )? ) + // InternalExport.g:17154:2: ( rule__XCasePart__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getGroup_2()); + } + // InternalExport.g:17155:2: ( rule__XCasePart__Group_2__0 )? + int alt142=2; + int LA142_0 = input.LA(1); + + if ( (LA142_0==92) ) { + alt142=1; + } + switch (alt142) { + case 1 : + // InternalExport.g:17155:3: rule__XCasePart__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__XCasePart__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__2__Impl" + + + // $ANTLR start "rule__XCasePart__Group__3" + // InternalExport.g:17163:1: rule__XCasePart__Group__3 : rule__XCasePart__Group__3__Impl ; + public final void rule__XCasePart__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17167:1: ( rule__XCasePart__Group__3__Impl ) + // InternalExport.g:17168:2: rule__XCasePart__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XCasePart__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__3" + + + // $ANTLR start "rule__XCasePart__Group__3__Impl" + // InternalExport.g:17174:1: rule__XCasePart__Group__3__Impl : ( ( rule__XCasePart__Alternatives_3 ) ) ; + public final void rule__XCasePart__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17178:1: ( ( ( rule__XCasePart__Alternatives_3 ) ) ) + // InternalExport.g:17179:1: ( ( rule__XCasePart__Alternatives_3 ) ) + { + // InternalExport.g:17179:1: ( ( rule__XCasePart__Alternatives_3 ) ) + // InternalExport.g:17180:2: ( rule__XCasePart__Alternatives_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getAlternatives_3()); + } + // InternalExport.g:17181:2: ( rule__XCasePart__Alternatives_3 ) + // InternalExport.g:17181:3: rule__XCasePart__Alternatives_3 + { + pushFollow(FOLLOW_2); + rule__XCasePart__Alternatives_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getAlternatives_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__3__Impl" + + + // $ANTLR start "rule__XCasePart__Group_2__0" + // InternalExport.g:17190:1: rule__XCasePart__Group_2__0 : rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1 ; + public final void rule__XCasePart__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17194:1: ( rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1 ) + // InternalExport.g:17195:2: rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1 + { + pushFollow(FOLLOW_98); + rule__XCasePart__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCasePart__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_2__0" + + + // $ANTLR start "rule__XCasePart__Group_2__0__Impl" + // InternalExport.g:17202:1: rule__XCasePart__Group_2__0__Impl : ( 'case' ) ; + public final void rule__XCasePart__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17206:1: ( ( 'case' ) ) + // InternalExport.g:17207:1: ( 'case' ) + { + // InternalExport.g:17207:1: ( 'case' ) + // InternalExport.g:17208:2: 'case' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); + } + match(input,92,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_2__0__Impl" + + + // $ANTLR start "rule__XCasePart__Group_2__1" + // InternalExport.g:17217:1: rule__XCasePart__Group_2__1 : rule__XCasePart__Group_2__1__Impl ; + public final void rule__XCasePart__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17221:1: ( rule__XCasePart__Group_2__1__Impl ) + // InternalExport.g:17222:2: rule__XCasePart__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__XCasePart__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_2__1" + + + // $ANTLR start "rule__XCasePart__Group_2__1__Impl" + // InternalExport.g:17228:1: rule__XCasePart__Group_2__1__Impl : ( ( rule__XCasePart__CaseAssignment_2_1 ) ) ; + public final void rule__XCasePart__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17232:1: ( ( ( rule__XCasePart__CaseAssignment_2_1 ) ) ) + // InternalExport.g:17233:1: ( ( rule__XCasePart__CaseAssignment_2_1 ) ) + { + // InternalExport.g:17233:1: ( ( rule__XCasePart__CaseAssignment_2_1 ) ) + // InternalExport.g:17234:2: ( rule__XCasePart__CaseAssignment_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1()); + } + // InternalExport.g:17235:2: ( rule__XCasePart__CaseAssignment_2_1 ) + // InternalExport.g:17235:3: rule__XCasePart__CaseAssignment_2_1 + { + pushFollow(FOLLOW_2); + rule__XCasePart__CaseAssignment_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_2__1__Impl" + + + // $ANTLR start "rule__XCasePart__Group_3_0__0" + // InternalExport.g:17244:1: rule__XCasePart__Group_3_0__0 : rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1 ; + public final void rule__XCasePart__Group_3_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17248:1: ( rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1 ) + // InternalExport.g:17249:2: rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1 + { + pushFollow(FOLLOW_98); + rule__XCasePart__Group_3_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCasePart__Group_3_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_3_0__0" + + + // $ANTLR start "rule__XCasePart__Group_3_0__0__Impl" + // InternalExport.g:17256:1: rule__XCasePart__Group_3_0__0__Impl : ( ':' ) ; + public final void rule__XCasePart__Group_3_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17260:1: ( ( ':' ) ) + // InternalExport.g:17261:1: ( ':' ) + { + // InternalExport.g:17261:1: ( ':' ) + // InternalExport.g:17262:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); + } + match(input,85,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_3_0__0__Impl" + + + // $ANTLR start "rule__XCasePart__Group_3_0__1" + // InternalExport.g:17271:1: rule__XCasePart__Group_3_0__1 : rule__XCasePart__Group_3_0__1__Impl ; + public final void rule__XCasePart__Group_3_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17275:1: ( rule__XCasePart__Group_3_0__1__Impl ) + // InternalExport.g:17276:2: rule__XCasePart__Group_3_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XCasePart__Group_3_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_3_0__1" + + + // $ANTLR start "rule__XCasePart__Group_3_0__1__Impl" + // InternalExport.g:17282:1: rule__XCasePart__Group_3_0__1__Impl : ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) ; + public final void rule__XCasePart__Group_3_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17286:1: ( ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) ) + // InternalExport.g:17287:1: ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) + { + // InternalExport.g:17287:1: ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) + // InternalExport.g:17288:2: ( rule__XCasePart__ThenAssignment_3_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1()); + } + // InternalExport.g:17289:2: ( rule__XCasePart__ThenAssignment_3_0_1 ) + // InternalExport.g:17289:3: rule__XCasePart__ThenAssignment_3_0_1 + { + pushFollow(FOLLOW_2); + rule__XCasePart__ThenAssignment_3_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_3_0__1__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group__0" + // InternalExport.g:17298:1: rule__XForLoopExpression__Group__0 : rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1 ; + public final void rule__XForLoopExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17302:1: ( rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1 ) + // InternalExport.g:17303:2: rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1 + { + pushFollow(FOLLOW_98); + rule__XForLoopExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__0" + + + // $ANTLR start "rule__XForLoopExpression__Group__0__Impl" + // InternalExport.g:17310:1: rule__XForLoopExpression__Group__0__Impl : ( ( rule__XForLoopExpression__Group_0__0 ) ) ; + public final void rule__XForLoopExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17314:1: ( ( ( rule__XForLoopExpression__Group_0__0 ) ) ) + // InternalExport.g:17315:1: ( ( rule__XForLoopExpression__Group_0__0 ) ) + { + // InternalExport.g:17315:1: ( ( rule__XForLoopExpression__Group_0__0 ) ) + // InternalExport.g:17316:2: ( rule__XForLoopExpression__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getGroup_0()); + } + // InternalExport.g:17317:2: ( rule__XForLoopExpression__Group_0__0 ) + // InternalExport.g:17317:3: rule__XForLoopExpression__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getGroup_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__0__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group__1" + // InternalExport.g:17325:1: rule__XForLoopExpression__Group__1 : rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2 ; + public final void rule__XForLoopExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17329:1: ( rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2 ) + // InternalExport.g:17330:2: rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2 + { + pushFollow(FOLLOW_25); + rule__XForLoopExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__1" + + + // $ANTLR start "rule__XForLoopExpression__Group__1__Impl" + // InternalExport.g:17337:1: rule__XForLoopExpression__Group__1__Impl : ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) ; + public final void rule__XForLoopExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17341:1: ( ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) ) + // InternalExport.g:17342:1: ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) + { + // InternalExport.g:17342:1: ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) + // InternalExport.g:17343:2: ( rule__XForLoopExpression__ForExpressionAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1()); + } + // InternalExport.g:17344:2: ( rule__XForLoopExpression__ForExpressionAssignment_1 ) + // InternalExport.g:17344:3: rule__XForLoopExpression__ForExpressionAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__ForExpressionAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__1__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group__2" + // InternalExport.g:17352:1: rule__XForLoopExpression__Group__2 : rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3 ; + public final void rule__XForLoopExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17356:1: ( rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3 ) + // InternalExport.g:17357:2: rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3 + { + pushFollow(FOLLOW_98); + rule__XForLoopExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__2" + + + // $ANTLR start "rule__XForLoopExpression__Group__2__Impl" + // InternalExport.g:17364:1: rule__XForLoopExpression__Group__2__Impl : ( ')' ) ; + public final void rule__XForLoopExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17368:1: ( ( ')' ) ) + // InternalExport.g:17369:1: ( ')' ) + { + // InternalExport.g:17369:1: ( ')' ) + // InternalExport.g:17370:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__2__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group__3" + // InternalExport.g:17379:1: rule__XForLoopExpression__Group__3 : rule__XForLoopExpression__Group__3__Impl ; + public final void rule__XForLoopExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17383:1: ( rule__XForLoopExpression__Group__3__Impl ) + // InternalExport.g:17384:2: rule__XForLoopExpression__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__3" + + + // $ANTLR start "rule__XForLoopExpression__Group__3__Impl" + // InternalExport.g:17390:1: rule__XForLoopExpression__Group__3__Impl : ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) ; + public final void rule__XForLoopExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17394:1: ( ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) ) + // InternalExport.g:17395:1: ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) + { + // InternalExport.g:17395:1: ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) + // InternalExport.g:17396:2: ( rule__XForLoopExpression__EachExpressionAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3()); + } + // InternalExport.g:17397:2: ( rule__XForLoopExpression__EachExpressionAssignment_3 ) + // InternalExport.g:17397:3: rule__XForLoopExpression__EachExpressionAssignment_3 + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__EachExpressionAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__3__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0__0" + // InternalExport.g:17406:1: rule__XForLoopExpression__Group_0__0 : rule__XForLoopExpression__Group_0__0__Impl ; + public final void rule__XForLoopExpression__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17410:1: ( rule__XForLoopExpression__Group_0__0__Impl ) + // InternalExport.g:17411:2: rule__XForLoopExpression__Group_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0__0" + + + // $ANTLR start "rule__XForLoopExpression__Group_0__0__Impl" + // InternalExport.g:17417:1: rule__XForLoopExpression__Group_0__0__Impl : ( ( rule__XForLoopExpression__Group_0_0__0 ) ) ; + public final void rule__XForLoopExpression__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17421:1: ( ( ( rule__XForLoopExpression__Group_0_0__0 ) ) ) + // InternalExport.g:17422:1: ( ( rule__XForLoopExpression__Group_0_0__0 ) ) + { + // InternalExport.g:17422:1: ( ( rule__XForLoopExpression__Group_0_0__0 ) ) + // InternalExport.g:17423:2: ( rule__XForLoopExpression__Group_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0()); + } + // InternalExport.g:17424:2: ( rule__XForLoopExpression__Group_0_0__0 ) + // InternalExport.g:17424:3: rule__XForLoopExpression__Group_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0__0__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__0" + // InternalExport.g:17433:1: rule__XForLoopExpression__Group_0_0__0 : rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1 ; + public final void rule__XForLoopExpression__Group_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17437:1: ( rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1 ) + // InternalExport.g:17438:2: rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1 + { + pushFollow(FOLLOW_10); + rule__XForLoopExpression__Group_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__0" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__0__Impl" + // InternalExport.g:17445:1: rule__XForLoopExpression__Group_0_0__0__Impl : ( () ) ; + public final void rule__XForLoopExpression__Group_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17449:1: ( ( () ) ) + // InternalExport.g:17450:1: ( () ) + { + // InternalExport.g:17450:1: ( () ) + // InternalExport.g:17451:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0()); + } + // InternalExport.g:17452:2: () + // InternalExport.g:17452:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__0__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__1" + // InternalExport.g:17460:1: rule__XForLoopExpression__Group_0_0__1 : rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2 ; + public final void rule__XForLoopExpression__Group_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17464:1: ( rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2 ) + // InternalExport.g:17465:2: rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2 + { + pushFollow(FOLLOW_34); + rule__XForLoopExpression__Group_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__1" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__1__Impl" + // InternalExport.g:17472:1: rule__XForLoopExpression__Group_0_0__1__Impl : ( 'for' ) ; + public final void rule__XForLoopExpression__Group_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17476:1: ( ( 'for' ) ) + // InternalExport.g:17477:1: ( 'for' ) + { + // InternalExport.g:17477:1: ( 'for' ) + // InternalExport.g:17478:2: 'for' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); + } + match(input,66,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__1__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__2" + // InternalExport.g:17487:1: rule__XForLoopExpression__Group_0_0__2 : rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3 ; + public final void rule__XForLoopExpression__Group_0_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17491:1: ( rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3 ) + // InternalExport.g:17492:2: rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3 + { + pushFollow(FOLLOW_78); + rule__XForLoopExpression__Group_0_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__2" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__2__Impl" + // InternalExport.g:17499:1: rule__XForLoopExpression__Group_0_0__2__Impl : ( '(' ) ; + public final void rule__XForLoopExpression__Group_0_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17503:1: ( ( '(' ) ) + // InternalExport.g:17504:1: ( '(' ) + { + // InternalExport.g:17504:1: ( '(' ) + // InternalExport.g:17505:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__2__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__3" + // InternalExport.g:17514:1: rule__XForLoopExpression__Group_0_0__3 : rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4 ; + public final void rule__XForLoopExpression__Group_0_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17518:1: ( rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4 ) + // InternalExport.g:17519:2: rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4 + { + pushFollow(FOLLOW_39); + rule__XForLoopExpression__Group_0_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__3" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__3__Impl" + // InternalExport.g:17526:1: rule__XForLoopExpression__Group_0_0__3__Impl : ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) ; + public final void rule__XForLoopExpression__Group_0_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17530:1: ( ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) ) + // InternalExport.g:17531:1: ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) + { + // InternalExport.g:17531:1: ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) + // InternalExport.g:17532:2: ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3()); + } + // InternalExport.g:17533:2: ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) + // InternalExport.g:17533:3: rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__DeclaredParamAssignment_0_0_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__3__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__4" + // InternalExport.g:17541:1: rule__XForLoopExpression__Group_0_0__4 : rule__XForLoopExpression__Group_0_0__4__Impl ; + public final void rule__XForLoopExpression__Group_0_0__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17545:1: ( rule__XForLoopExpression__Group_0_0__4__Impl ) + // InternalExport.g:17546:2: rule__XForLoopExpression__Group_0_0__4__Impl + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__4" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__4__Impl" + // InternalExport.g:17552:1: rule__XForLoopExpression__Group_0_0__4__Impl : ( ':' ) ; + public final void rule__XForLoopExpression__Group_0_0__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17556:1: ( ( ':' ) ) + // InternalExport.g:17557:1: ( ':' ) + { + // InternalExport.g:17557:1: ( ':' ) + // InternalExport.g:17558:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); + } + match(input,85,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__4__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__0" + // InternalExport.g:17568:1: rule__XBasicForLoopExpression__Group__0 : rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1 ; + public final void rule__XBasicForLoopExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17572:1: ( rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1 ) + // InternalExport.g:17573:2: rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1 + { + pushFollow(FOLLOW_10); + rule__XBasicForLoopExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__0" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__0__Impl" + // InternalExport.g:17580:1: rule__XBasicForLoopExpression__Group__0__Impl : ( () ) ; + public final void rule__XBasicForLoopExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17584:1: ( ( () ) ) + // InternalExport.g:17585:1: ( () ) + { + // InternalExport.g:17585:1: ( () ) + // InternalExport.g:17586:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0()); + } + // InternalExport.g:17587:2: () + // InternalExport.g:17587:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__0__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__1" + // InternalExport.g:17595:1: rule__XBasicForLoopExpression__Group__1 : rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2 ; + public final void rule__XBasicForLoopExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17599:1: ( rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2 ) + // InternalExport.g:17600:2: rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2 + { + pushFollow(FOLLOW_34); + rule__XBasicForLoopExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__1" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__1__Impl" + // InternalExport.g:17607:1: rule__XBasicForLoopExpression__Group__1__Impl : ( 'for' ) ; + public final void rule__XBasicForLoopExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17611:1: ( ( 'for' ) ) + // InternalExport.g:17612:1: ( 'for' ) + { + // InternalExport.g:17612:1: ( 'for' ) + // InternalExport.g:17613:2: 'for' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); + } + match(input,66,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__1__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__2" + // InternalExport.g:17622:1: rule__XBasicForLoopExpression__Group__2 : rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3 ; + public final void rule__XBasicForLoopExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17626:1: ( rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3 ) + // InternalExport.g:17627:2: rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3 + { + pushFollow(FOLLOW_110); + rule__XBasicForLoopExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__2" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__2__Impl" + // InternalExport.g:17634:1: rule__XBasicForLoopExpression__Group__2__Impl : ( '(' ) ; + public final void rule__XBasicForLoopExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17638:1: ( ( '(' ) ) + // InternalExport.g:17639:1: ( '(' ) + { + // InternalExport.g:17639:1: ( '(' ) + // InternalExport.g:17640:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__2__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__3" + // InternalExport.g:17649:1: rule__XBasicForLoopExpression__Group__3 : rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4 ; + public final void rule__XBasicForLoopExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17653:1: ( rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4 ) + // InternalExport.g:17654:2: rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4 + { + pushFollow(FOLLOW_110); + rule__XBasicForLoopExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__3" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__3__Impl" + // InternalExport.g:17661:1: rule__XBasicForLoopExpression__Group__3__Impl : ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) ; + public final void rule__XBasicForLoopExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17665:1: ( ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) ) + // InternalExport.g:17666:1: ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) + { + // InternalExport.g:17666:1: ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) + // InternalExport.g:17667:2: ( rule__XBasicForLoopExpression__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3()); + } + // InternalExport.g:17668:2: ( rule__XBasicForLoopExpression__Group_3__0 )? + int alt143=2; + int LA143_0 = input.LA(1); + + if ( ((LA143_0>=RULE_ID && LA143_0<=RULE_STRING)||(LA143_0>=22 && LA143_0<=24)||LA143_0==27||(LA143_0>=36 && LA143_0<=37)||(LA143_0>=59 && LA143_0<=64)||LA143_0==66||LA143_0==68||LA143_0==72||LA143_0==77||LA143_0==87||LA143_0==90||LA143_0==95||(LA143_0>=97 && LA143_0<=104)||LA143_0==106||LA143_0==117) ) { + alt143=1; + } + switch (alt143) { + case 1 : + // InternalExport.g:17668:3: rule__XBasicForLoopExpression__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__3__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__4" + // InternalExport.g:17676:1: rule__XBasicForLoopExpression__Group__4 : rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5 ; + public final void rule__XBasicForLoopExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17680:1: ( rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5 ) + // InternalExport.g:17681:2: rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5 + { + pushFollow(FOLLOW_111); + rule__XBasicForLoopExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__4" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__4__Impl" + // InternalExport.g:17688:1: rule__XBasicForLoopExpression__Group__4__Impl : ( ';' ) ; + public final void rule__XBasicForLoopExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17692:1: ( ( ';' ) ) + // InternalExport.g:17693:1: ( ';' ) + { + // InternalExport.g:17693:1: ( ';' ) + // InternalExport.g:17694:2: ';' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); + } + match(input,71,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__4__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__5" + // InternalExport.g:17703:1: rule__XBasicForLoopExpression__Group__5 : rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6 ; + public final void rule__XBasicForLoopExpression__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17707:1: ( rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6 ) + // InternalExport.g:17708:2: rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6 + { + pushFollow(FOLLOW_111); + rule__XBasicForLoopExpression__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__5" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__5__Impl" + // InternalExport.g:17715:1: rule__XBasicForLoopExpression__Group__5__Impl : ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) ; + public final void rule__XBasicForLoopExpression__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17719:1: ( ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) ) + // InternalExport.g:17720:1: ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) + { + // InternalExport.g:17720:1: ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) + // InternalExport.g:17721:2: ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5()); + } + // InternalExport.g:17722:2: ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? + int alt144=2; + int LA144_0 = input.LA(1); + + if ( ((LA144_0>=RULE_ID && LA144_0<=RULE_STRING)||(LA144_0>=22 && LA144_0<=24)||LA144_0==27||(LA144_0>=36 && LA144_0<=37)||(LA144_0>=60 && LA144_0<=64)||LA144_0==66||LA144_0==68||LA144_0==72||LA144_0==77||LA144_0==87||LA144_0==90||LA144_0==95||(LA144_0>=97 && LA144_0<=104)||LA144_0==106) ) { + alt144=1; + } + switch (alt144) { + case 1 : + // InternalExport.g:17722:3: rule__XBasicForLoopExpression__ExpressionAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__ExpressionAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__5__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__6" + // InternalExport.g:17730:1: rule__XBasicForLoopExpression__Group__6 : rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7 ; + public final void rule__XBasicForLoopExpression__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17734:1: ( rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7 ) + // InternalExport.g:17735:2: rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7 + { + pushFollow(FOLLOW_97); + rule__XBasicForLoopExpression__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__7(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__6" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__6__Impl" + // InternalExport.g:17742:1: rule__XBasicForLoopExpression__Group__6__Impl : ( ';' ) ; + public final void rule__XBasicForLoopExpression__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17746:1: ( ( ';' ) ) + // InternalExport.g:17747:1: ( ';' ) + { + // InternalExport.g:17747:1: ( ';' ) + // InternalExport.g:17748:2: ';' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); + } + match(input,71,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__6__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__7" + // InternalExport.g:17757:1: rule__XBasicForLoopExpression__Group__7 : rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8 ; + public final void rule__XBasicForLoopExpression__Group__7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17761:1: ( rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8 ) + // InternalExport.g:17762:2: rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8 + { + pushFollow(FOLLOW_97); + rule__XBasicForLoopExpression__Group__7__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__8(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__7" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__7__Impl" + // InternalExport.g:17769:1: rule__XBasicForLoopExpression__Group__7__Impl : ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) ; + public final void rule__XBasicForLoopExpression__Group__7__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17773:1: ( ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) ) + // InternalExport.g:17774:1: ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) + { + // InternalExport.g:17774:1: ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) + // InternalExport.g:17775:2: ( rule__XBasicForLoopExpression__Group_7__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7()); + } + // InternalExport.g:17776:2: ( rule__XBasicForLoopExpression__Group_7__0 )? + int alt145=2; + int LA145_0 = input.LA(1); + + if ( ((LA145_0>=RULE_ID && LA145_0<=RULE_STRING)||(LA145_0>=22 && LA145_0<=24)||LA145_0==27||(LA145_0>=36 && LA145_0<=37)||(LA145_0>=60 && LA145_0<=64)||LA145_0==66||LA145_0==68||LA145_0==72||LA145_0==77||LA145_0==87||LA145_0==90||LA145_0==95||(LA145_0>=97 && LA145_0<=104)||LA145_0==106) ) { + alt145=1; + } + switch (alt145) { + case 1 : + // InternalExport.g:17776:3: rule__XBasicForLoopExpression__Group_7__0 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_7__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__7__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__8" + // InternalExport.g:17784:1: rule__XBasicForLoopExpression__Group__8 : rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9 ; + public final void rule__XBasicForLoopExpression__Group__8() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17788:1: ( rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9 ) + // InternalExport.g:17789:2: rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9 + { + pushFollow(FOLLOW_98); + rule__XBasicForLoopExpression__Group__8__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__9(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__8" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__8__Impl" + // InternalExport.g:17796:1: rule__XBasicForLoopExpression__Group__8__Impl : ( ')' ) ; + public final void rule__XBasicForLoopExpression__Group__8__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17800:1: ( ( ')' ) ) + // InternalExport.g:17801:1: ( ')' ) + { + // InternalExport.g:17801:1: ( ')' ) + // InternalExport.g:17802:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__8__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__9" + // InternalExport.g:17811:1: rule__XBasicForLoopExpression__Group__9 : rule__XBasicForLoopExpression__Group__9__Impl ; + public final void rule__XBasicForLoopExpression__Group__9() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17815:1: ( rule__XBasicForLoopExpression__Group__9__Impl ) + // InternalExport.g:17816:2: rule__XBasicForLoopExpression__Group__9__Impl + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__9__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__9" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__9__Impl" + // InternalExport.g:17822:1: rule__XBasicForLoopExpression__Group__9__Impl : ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) ; + public final void rule__XBasicForLoopExpression__Group__9__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17826:1: ( ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) ) + // InternalExport.g:17827:1: ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) + { + // InternalExport.g:17827:1: ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) + // InternalExport.g:17828:2: ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9()); + } + // InternalExport.g:17829:2: ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) + // InternalExport.g:17829:3: rule__XBasicForLoopExpression__EachExpressionAssignment_9 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__EachExpressionAssignment_9(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__9__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3__0" + // InternalExport.g:17838:1: rule__XBasicForLoopExpression__Group_3__0 : rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1 ; + public final void rule__XBasicForLoopExpression__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17842:1: ( rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1 ) + // InternalExport.g:17843:2: rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1 + { + pushFollow(FOLLOW_21); + rule__XBasicForLoopExpression__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3__0" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3__0__Impl" + // InternalExport.g:17850:1: rule__XBasicForLoopExpression__Group_3__0__Impl : ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) ; + public final void rule__XBasicForLoopExpression__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17854:1: ( ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) ) + // InternalExport.g:17855:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) + { + // InternalExport.g:17855:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) + // InternalExport.g:17856:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0()); + } + // InternalExport.g:17857:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) + // InternalExport.g:17857:3: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3__0__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3__1" + // InternalExport.g:17865:1: rule__XBasicForLoopExpression__Group_3__1 : rule__XBasicForLoopExpression__Group_3__1__Impl ; + public final void rule__XBasicForLoopExpression__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17869:1: ( rule__XBasicForLoopExpression__Group_3__1__Impl ) + // InternalExport.g:17870:2: rule__XBasicForLoopExpression__Group_3__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3__1" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3__1__Impl" + // InternalExport.g:17876:1: rule__XBasicForLoopExpression__Group_3__1__Impl : ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) ; + public final void rule__XBasicForLoopExpression__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17880:1: ( ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) ) + // InternalExport.g:17881:1: ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) + { + // InternalExport.g:17881:1: ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) + // InternalExport.g:17882:2: ( rule__XBasicForLoopExpression__Group_3_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1()); + } + // InternalExport.g:17883:2: ( rule__XBasicForLoopExpression__Group_3_1__0 )* + loop146: + do { + int alt146=2; + int LA146_0 = input.LA(1); + + if ( (LA146_0==74) ) { + alt146=1; + } + + + switch (alt146) { + case 1 : + // InternalExport.g:17883:3: rule__XBasicForLoopExpression__Group_3_1__0 + { + pushFollow(FOLLOW_22); + rule__XBasicForLoopExpression__Group_3_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop146; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3__1__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__0" + // InternalExport.g:17892:1: rule__XBasicForLoopExpression__Group_3_1__0 : rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1 ; + public final void rule__XBasicForLoopExpression__Group_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17896:1: ( rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1 ) + // InternalExport.g:17897:2: rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1 + { + pushFollow(FOLLOW_102); + rule__XBasicForLoopExpression__Group_3_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_3_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3_1__0" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__0__Impl" + // InternalExport.g:17904:1: rule__XBasicForLoopExpression__Group_3_1__0__Impl : ( ',' ) ; + public final void rule__XBasicForLoopExpression__Group_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17908:1: ( ( ',' ) ) + // InternalExport.g:17909:1: ( ',' ) + { + // InternalExport.g:17909:1: ( ',' ) + // InternalExport.g:17910:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3_1__0__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__1" + // InternalExport.g:17919:1: rule__XBasicForLoopExpression__Group_3_1__1 : rule__XBasicForLoopExpression__Group_3_1__1__Impl ; + public final void rule__XBasicForLoopExpression__Group_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17923:1: ( rule__XBasicForLoopExpression__Group_3_1__1__Impl ) + // InternalExport.g:17924:2: rule__XBasicForLoopExpression__Group_3_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_3_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3_1__1" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__1__Impl" + // InternalExport.g:17930:1: rule__XBasicForLoopExpression__Group_3_1__1__Impl : ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) ; + public final void rule__XBasicForLoopExpression__Group_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17934:1: ( ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) ) + // InternalExport.g:17935:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) + { + // InternalExport.g:17935:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) + // InternalExport.g:17936:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1()); + } + // InternalExport.g:17937:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) + // InternalExport.g:17937:3: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3_1__1__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7__0" + // InternalExport.g:17946:1: rule__XBasicForLoopExpression__Group_7__0 : rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1 ; + public final void rule__XBasicForLoopExpression__Group_7__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17950:1: ( rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1 ) + // InternalExport.g:17951:2: rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1 + { + pushFollow(FOLLOW_21); + rule__XBasicForLoopExpression__Group_7__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_7__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7__0" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7__0__Impl" + // InternalExport.g:17958:1: rule__XBasicForLoopExpression__Group_7__0__Impl : ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) ; + public final void rule__XBasicForLoopExpression__Group_7__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17962:1: ( ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) ) + // InternalExport.g:17963:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) + { + // InternalExport.g:17963:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) + // InternalExport.g:17964:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0()); + } + // InternalExport.g:17965:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) + // InternalExport.g:17965:3: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7__0__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7__1" + // InternalExport.g:17973:1: rule__XBasicForLoopExpression__Group_7__1 : rule__XBasicForLoopExpression__Group_7__1__Impl ; + public final void rule__XBasicForLoopExpression__Group_7__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17977:1: ( rule__XBasicForLoopExpression__Group_7__1__Impl ) + // InternalExport.g:17978:2: rule__XBasicForLoopExpression__Group_7__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_7__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7__1" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7__1__Impl" + // InternalExport.g:17984:1: rule__XBasicForLoopExpression__Group_7__1__Impl : ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) ; + public final void rule__XBasicForLoopExpression__Group_7__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:17988:1: ( ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) ) + // InternalExport.g:17989:1: ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) + { + // InternalExport.g:17989:1: ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) + // InternalExport.g:17990:2: ( rule__XBasicForLoopExpression__Group_7_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1()); + } + // InternalExport.g:17991:2: ( rule__XBasicForLoopExpression__Group_7_1__0 )* + loop147: + do { + int alt147=2; + int LA147_0 = input.LA(1); + + if ( (LA147_0==74) ) { + alt147=1; + } + + + switch (alt147) { + case 1 : + // InternalExport.g:17991:3: rule__XBasicForLoopExpression__Group_7_1__0 + { + pushFollow(FOLLOW_22); + rule__XBasicForLoopExpression__Group_7_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop147; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7__1__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__0" + // InternalExport.g:18000:1: rule__XBasicForLoopExpression__Group_7_1__0 : rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1 ; + public final void rule__XBasicForLoopExpression__Group_7_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18004:1: ( rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1 ) + // InternalExport.g:18005:2: rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1 + { + pushFollow(FOLLOW_98); + rule__XBasicForLoopExpression__Group_7_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_7_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7_1__0" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__0__Impl" + // InternalExport.g:18012:1: rule__XBasicForLoopExpression__Group_7_1__0__Impl : ( ',' ) ; + public final void rule__XBasicForLoopExpression__Group_7_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18016:1: ( ( ',' ) ) + // InternalExport.g:18017:1: ( ',' ) + { + // InternalExport.g:18017:1: ( ',' ) + // InternalExport.g:18018:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7_1__0__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__1" + // InternalExport.g:18027:1: rule__XBasicForLoopExpression__Group_7_1__1 : rule__XBasicForLoopExpression__Group_7_1__1__Impl ; + public final void rule__XBasicForLoopExpression__Group_7_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18031:1: ( rule__XBasicForLoopExpression__Group_7_1__1__Impl ) + // InternalExport.g:18032:2: rule__XBasicForLoopExpression__Group_7_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_7_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7_1__1" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__1__Impl" + // InternalExport.g:18038:1: rule__XBasicForLoopExpression__Group_7_1__1__Impl : ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) ; + public final void rule__XBasicForLoopExpression__Group_7_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18042:1: ( ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) ) + // InternalExport.g:18043:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) + { + // InternalExport.g:18043:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) + // InternalExport.g:18044:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1()); + } + // InternalExport.g:18045:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) + // InternalExport.g:18045:3: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7_1__1__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__0" + // InternalExport.g:18054:1: rule__XWhileExpression__Group__0 : rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1 ; + public final void rule__XWhileExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18058:1: ( rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1 ) + // InternalExport.g:18059:2: rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1 + { + pushFollow(FOLLOW_112); + rule__XWhileExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__0" + + + // $ANTLR start "rule__XWhileExpression__Group__0__Impl" + // InternalExport.g:18066:1: rule__XWhileExpression__Group__0__Impl : ( () ) ; + public final void rule__XWhileExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18070:1: ( ( () ) ) + // InternalExport.g:18071:1: ( () ) + { + // InternalExport.g:18071:1: ( () ) + // InternalExport.g:18072:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0()); + } + // InternalExport.g:18073:2: () + // InternalExport.g:18073:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__0__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__1" + // InternalExport.g:18081:1: rule__XWhileExpression__Group__1 : rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2 ; + public final void rule__XWhileExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18085:1: ( rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2 ) + // InternalExport.g:18086:2: rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2 + { + pushFollow(FOLLOW_34); + rule__XWhileExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__1" + + + // $ANTLR start "rule__XWhileExpression__Group__1__Impl" + // InternalExport.g:18093:1: rule__XWhileExpression__Group__1__Impl : ( 'while' ) ; + public final void rule__XWhileExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18097:1: ( ( 'while' ) ) + // InternalExport.g:18098:1: ( 'while' ) + { + // InternalExport.g:18098:1: ( 'while' ) + // InternalExport.g:18099:2: 'while' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); + } + match(input,98,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__1__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__2" + // InternalExport.g:18108:1: rule__XWhileExpression__Group__2 : rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3 ; + public final void rule__XWhileExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18112:1: ( rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3 ) + // InternalExport.g:18113:2: rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3 + { + pushFollow(FOLLOW_98); + rule__XWhileExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__2" + + + // $ANTLR start "rule__XWhileExpression__Group__2__Impl" + // InternalExport.g:18120:1: rule__XWhileExpression__Group__2__Impl : ( '(' ) ; + public final void rule__XWhileExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18124:1: ( ( '(' ) ) + // InternalExport.g:18125:1: ( '(' ) + { + // InternalExport.g:18125:1: ( '(' ) + // InternalExport.g:18126:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__2__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__3" + // InternalExport.g:18135:1: rule__XWhileExpression__Group__3 : rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4 ; + public final void rule__XWhileExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18139:1: ( rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4 ) + // InternalExport.g:18140:2: rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4 + { + pushFollow(FOLLOW_25); + rule__XWhileExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__3" + + + // $ANTLR start "rule__XWhileExpression__Group__3__Impl" + // InternalExport.g:18147:1: rule__XWhileExpression__Group__3__Impl : ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) ; + public final void rule__XWhileExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18151:1: ( ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) ) + // InternalExport.g:18152:1: ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) + { + // InternalExport.g:18152:1: ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) + // InternalExport.g:18153:2: ( rule__XWhileExpression__PredicateAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3()); + } + // InternalExport.g:18154:2: ( rule__XWhileExpression__PredicateAssignment_3 ) + // InternalExport.g:18154:3: rule__XWhileExpression__PredicateAssignment_3 + { + pushFollow(FOLLOW_2); + rule__XWhileExpression__PredicateAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__3__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__4" + // InternalExport.g:18162:1: rule__XWhileExpression__Group__4 : rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5 ; + public final void rule__XWhileExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18166:1: ( rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5 ) + // InternalExport.g:18167:2: rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5 + { + pushFollow(FOLLOW_98); + rule__XWhileExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__4" + + + // $ANTLR start "rule__XWhileExpression__Group__4__Impl" + // InternalExport.g:18174:1: rule__XWhileExpression__Group__4__Impl : ( ')' ) ; + public final void rule__XWhileExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18178:1: ( ( ')' ) ) + // InternalExport.g:18179:1: ( ')' ) + { + // InternalExport.g:18179:1: ( ')' ) + // InternalExport.g:18180:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__4__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__5" + // InternalExport.g:18189:1: rule__XWhileExpression__Group__5 : rule__XWhileExpression__Group__5__Impl ; + public final void rule__XWhileExpression__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18193:1: ( rule__XWhileExpression__Group__5__Impl ) + // InternalExport.g:18194:2: rule__XWhileExpression__Group__5__Impl + { + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__5" + + + // $ANTLR start "rule__XWhileExpression__Group__5__Impl" + // InternalExport.g:18200:1: rule__XWhileExpression__Group__5__Impl : ( ( rule__XWhileExpression__BodyAssignment_5 ) ) ; + public final void rule__XWhileExpression__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18204:1: ( ( ( rule__XWhileExpression__BodyAssignment_5 ) ) ) + // InternalExport.g:18205:1: ( ( rule__XWhileExpression__BodyAssignment_5 ) ) + { + // InternalExport.g:18205:1: ( ( rule__XWhileExpression__BodyAssignment_5 ) ) + // InternalExport.g:18206:2: ( rule__XWhileExpression__BodyAssignment_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5()); + } + // InternalExport.g:18207:2: ( rule__XWhileExpression__BodyAssignment_5 ) + // InternalExport.g:18207:3: rule__XWhileExpression__BodyAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XWhileExpression__BodyAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__5__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__0" + // InternalExport.g:18216:1: rule__XDoWhileExpression__Group__0 : rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1 ; + public final void rule__XDoWhileExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18220:1: ( rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1 ) + // InternalExport.g:18221:2: rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1 + { + pushFollow(FOLLOW_113); + rule__XDoWhileExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__0" + + + // $ANTLR start "rule__XDoWhileExpression__Group__0__Impl" + // InternalExport.g:18228:1: rule__XDoWhileExpression__Group__0__Impl : ( () ) ; + public final void rule__XDoWhileExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18232:1: ( ( () ) ) + // InternalExport.g:18233:1: ( () ) + { + // InternalExport.g:18233:1: ( () ) + // InternalExport.g:18234:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0()); + } + // InternalExport.g:18235:2: () + // InternalExport.g:18235:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__0__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__1" + // InternalExport.g:18243:1: rule__XDoWhileExpression__Group__1 : rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2 ; + public final void rule__XDoWhileExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18247:1: ( rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2 ) + // InternalExport.g:18248:2: rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2 + { + pushFollow(FOLLOW_98); + rule__XDoWhileExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__1" + + + // $ANTLR start "rule__XDoWhileExpression__Group__1__Impl" + // InternalExport.g:18255:1: rule__XDoWhileExpression__Group__1__Impl : ( 'do' ) ; + public final void rule__XDoWhileExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18259:1: ( ( 'do' ) ) + // InternalExport.g:18260:1: ( 'do' ) + { + // InternalExport.g:18260:1: ( 'do' ) + // InternalExport.g:18261:2: 'do' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); + } + match(input,99,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__1__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__2" + // InternalExport.g:18270:1: rule__XDoWhileExpression__Group__2 : rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3 ; + public final void rule__XDoWhileExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18274:1: ( rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3 ) + // InternalExport.g:18275:2: rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3 + { + pushFollow(FOLLOW_112); + rule__XDoWhileExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__2" + + + // $ANTLR start "rule__XDoWhileExpression__Group__2__Impl" + // InternalExport.g:18282:1: rule__XDoWhileExpression__Group__2__Impl : ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) ; + public final void rule__XDoWhileExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18286:1: ( ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) ) + // InternalExport.g:18287:1: ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) + { + // InternalExport.g:18287:1: ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) + // InternalExport.g:18288:2: ( rule__XDoWhileExpression__BodyAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2()); + } + // InternalExport.g:18289:2: ( rule__XDoWhileExpression__BodyAssignment_2 ) + // InternalExport.g:18289:3: rule__XDoWhileExpression__BodyAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__BodyAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__2__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__3" + // InternalExport.g:18297:1: rule__XDoWhileExpression__Group__3 : rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4 ; + public final void rule__XDoWhileExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18301:1: ( rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4 ) + // InternalExport.g:18302:2: rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4 + { + pushFollow(FOLLOW_34); + rule__XDoWhileExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__3" + + + // $ANTLR start "rule__XDoWhileExpression__Group__3__Impl" + // InternalExport.g:18309:1: rule__XDoWhileExpression__Group__3__Impl : ( 'while' ) ; + public final void rule__XDoWhileExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18313:1: ( ( 'while' ) ) + // InternalExport.g:18314:1: ( 'while' ) + { + // InternalExport.g:18314:1: ( 'while' ) + // InternalExport.g:18315:2: 'while' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); + } + match(input,98,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__3__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__4" + // InternalExport.g:18324:1: rule__XDoWhileExpression__Group__4 : rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5 ; + public final void rule__XDoWhileExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18328:1: ( rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5 ) + // InternalExport.g:18329:2: rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5 + { + pushFollow(FOLLOW_98); + rule__XDoWhileExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__4" + + + // $ANTLR start "rule__XDoWhileExpression__Group__4__Impl" + // InternalExport.g:18336:1: rule__XDoWhileExpression__Group__4__Impl : ( '(' ) ; + public final void rule__XDoWhileExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18340:1: ( ( '(' ) ) + // InternalExport.g:18341:1: ( '(' ) + { + // InternalExport.g:18341:1: ( '(' ) + // InternalExport.g:18342:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__4__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__5" + // InternalExport.g:18351:1: rule__XDoWhileExpression__Group__5 : rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6 ; + public final void rule__XDoWhileExpression__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18355:1: ( rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6 ) + // InternalExport.g:18356:2: rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6 + { + pushFollow(FOLLOW_25); + rule__XDoWhileExpression__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__5" + + + // $ANTLR start "rule__XDoWhileExpression__Group__5__Impl" + // InternalExport.g:18363:1: rule__XDoWhileExpression__Group__5__Impl : ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) ; + public final void rule__XDoWhileExpression__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18367:1: ( ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) ) + // InternalExport.g:18368:1: ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) + { + // InternalExport.g:18368:1: ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) + // InternalExport.g:18369:2: ( rule__XDoWhileExpression__PredicateAssignment_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5()); + } + // InternalExport.g:18370:2: ( rule__XDoWhileExpression__PredicateAssignment_5 ) + // InternalExport.g:18370:3: rule__XDoWhileExpression__PredicateAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__PredicateAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__5__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__6" + // InternalExport.g:18378:1: rule__XDoWhileExpression__Group__6 : rule__XDoWhileExpression__Group__6__Impl ; + public final void rule__XDoWhileExpression__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18382:1: ( rule__XDoWhileExpression__Group__6__Impl ) + // InternalExport.g:18383:2: rule__XDoWhileExpression__Group__6__Impl + { + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__6" + + + // $ANTLR start "rule__XDoWhileExpression__Group__6__Impl" + // InternalExport.g:18389:1: rule__XDoWhileExpression__Group__6__Impl : ( ')' ) ; + public final void rule__XDoWhileExpression__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18393:1: ( ( ')' ) ) + // InternalExport.g:18394:1: ( ')' ) + { + // InternalExport.g:18394:1: ( ')' ) + // InternalExport.g:18395:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__6__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group__0" + // InternalExport.g:18405:1: rule__XBlockExpression__Group__0 : rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1 ; + public final void rule__XBlockExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18409:1: ( rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1 ) + // InternalExport.g:18410:2: rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1 + { + pushFollow(FOLLOW_12); + rule__XBlockExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__0" + + + // $ANTLR start "rule__XBlockExpression__Group__0__Impl" + // InternalExport.g:18417:1: rule__XBlockExpression__Group__0__Impl : ( () ) ; + public final void rule__XBlockExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18421:1: ( ( () ) ) + // InternalExport.g:18422:1: ( () ) + { + // InternalExport.g:18422:1: ( () ) + // InternalExport.g:18423:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0()); + } + // InternalExport.g:18424:2: () + // InternalExport.g:18424:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__0__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group__1" + // InternalExport.g:18432:1: rule__XBlockExpression__Group__1 : rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2 ; + public final void rule__XBlockExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18436:1: ( rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2 ) + // InternalExport.g:18437:2: rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2 + { + pushFollow(FOLLOW_114); + rule__XBlockExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__1" + + + // $ANTLR start "rule__XBlockExpression__Group__1__Impl" + // InternalExport.g:18444:1: rule__XBlockExpression__Group__1__Impl : ( '{' ) ; + public final void rule__XBlockExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18448:1: ( ( '{' ) ) + // InternalExport.g:18449:1: ( '{' ) + { + // InternalExport.g:18449:1: ( '{' ) + // InternalExport.g:18450:2: '{' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__1__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group__2" + // InternalExport.g:18459:1: rule__XBlockExpression__Group__2 : rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3 ; + public final void rule__XBlockExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18463:1: ( rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3 ) + // InternalExport.g:18464:2: rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3 + { + pushFollow(FOLLOW_114); + rule__XBlockExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__2" + + + // $ANTLR start "rule__XBlockExpression__Group__2__Impl" + // InternalExport.g:18471:1: rule__XBlockExpression__Group__2__Impl : ( ( rule__XBlockExpression__Group_2__0 )* ) ; + public final void rule__XBlockExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18475:1: ( ( ( rule__XBlockExpression__Group_2__0 )* ) ) + // InternalExport.g:18476:1: ( ( rule__XBlockExpression__Group_2__0 )* ) + { + // InternalExport.g:18476:1: ( ( rule__XBlockExpression__Group_2__0 )* ) + // InternalExport.g:18477:2: ( rule__XBlockExpression__Group_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getGroup_2()); + } + // InternalExport.g:18478:2: ( rule__XBlockExpression__Group_2__0 )* + loop148: + do { + int alt148=2; + int LA148_0 = input.LA(1); + + if ( ((LA148_0>=RULE_ID && LA148_0<=RULE_STRING)||(LA148_0>=22 && LA148_0<=24)||LA148_0==27||(LA148_0>=36 && LA148_0<=37)||(LA148_0>=59 && LA148_0<=64)||LA148_0==66||LA148_0==68||LA148_0==72||LA148_0==77||LA148_0==87||LA148_0==90||LA148_0==95||(LA148_0>=97 && LA148_0<=104)||LA148_0==106||LA148_0==117) ) { + alt148=1; + } + + + switch (alt148) { + case 1 : + // InternalExport.g:18478:3: rule__XBlockExpression__Group_2__0 + { + pushFollow(FOLLOW_104); + rule__XBlockExpression__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop148; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__2__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group__3" + // InternalExport.g:18486:1: rule__XBlockExpression__Group__3 : rule__XBlockExpression__Group__3__Impl ; + public final void rule__XBlockExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18490:1: ( rule__XBlockExpression__Group__3__Impl ) + // InternalExport.g:18491:2: rule__XBlockExpression__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__3" + + + // $ANTLR start "rule__XBlockExpression__Group__3__Impl" + // InternalExport.g:18497:1: rule__XBlockExpression__Group__3__Impl : ( '}' ) ; + public final void rule__XBlockExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18501:1: ( ( '}' ) ) + // InternalExport.g:18502:1: ( '}' ) + { + // InternalExport.g:18502:1: ( '}' ) + // InternalExport.g:18503:2: '}' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); + } + match(input,69,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__3__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group_2__0" + // InternalExport.g:18513:1: rule__XBlockExpression__Group_2__0 : rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1 ; + public final void rule__XBlockExpression__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18517:1: ( rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1 ) + // InternalExport.g:18518:2: rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1 + { + pushFollow(FOLLOW_35); + rule__XBlockExpression__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group_2__0" + + + // $ANTLR start "rule__XBlockExpression__Group_2__0__Impl" + // InternalExport.g:18525:1: rule__XBlockExpression__Group_2__0__Impl : ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) ; + public final void rule__XBlockExpression__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18529:1: ( ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) ) + // InternalExport.g:18530:1: ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) + { + // InternalExport.g:18530:1: ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) + // InternalExport.g:18531:2: ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0()); + } + // InternalExport.g:18532:2: ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) + // InternalExport.g:18532:3: rule__XBlockExpression__ExpressionsAssignment_2_0 + { + pushFollow(FOLLOW_2); + rule__XBlockExpression__ExpressionsAssignment_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group_2__0__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group_2__1" + // InternalExport.g:18540:1: rule__XBlockExpression__Group_2__1 : rule__XBlockExpression__Group_2__1__Impl ; + public final void rule__XBlockExpression__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18544:1: ( rule__XBlockExpression__Group_2__1__Impl ) + // InternalExport.g:18545:2: rule__XBlockExpression__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group_2__1" + + + // $ANTLR start "rule__XBlockExpression__Group_2__1__Impl" + // InternalExport.g:18551:1: rule__XBlockExpression__Group_2__1__Impl : ( ( ';' )? ) ; + public final void rule__XBlockExpression__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18555:1: ( ( ( ';' )? ) ) + // InternalExport.g:18556:1: ( ( ';' )? ) + { + // InternalExport.g:18556:1: ( ( ';' )? ) + // InternalExport.g:18557:2: ( ';' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); + } + // InternalExport.g:18558:2: ( ';' )? + int alt149=2; + int LA149_0 = input.LA(1); + + if ( (LA149_0==71) ) { + alt149=1; + } + switch (alt149) { + case 1 : + // InternalExport.g:18558:3: ';' + { + match(input,71,FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group_2__1__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group__0" + // InternalExport.g:18567:1: rule__XVariableDeclaration__Group__0 : rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1 ; + public final void rule__XVariableDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18571:1: ( rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1 ) + // InternalExport.g:18572:2: rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1 + { + pushFollow(FOLLOW_115); + rule__XVariableDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__0" + + + // $ANTLR start "rule__XVariableDeclaration__Group__0__Impl" + // InternalExport.g:18579:1: rule__XVariableDeclaration__Group__0__Impl : ( () ) ; + public final void rule__XVariableDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18583:1: ( ( () ) ) + // InternalExport.g:18584:1: ( () ) + { + // InternalExport.g:18584:1: ( () ) + // InternalExport.g:18585:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0()); + } + // InternalExport.g:18586:2: () + // InternalExport.g:18586:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group__1" + // InternalExport.g:18594:1: rule__XVariableDeclaration__Group__1 : rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2 ; + public final void rule__XVariableDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18598:1: ( rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2 ) + // InternalExport.g:18599:2: rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2 + { + pushFollow(FOLLOW_78); + rule__XVariableDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__1" + + + // $ANTLR start "rule__XVariableDeclaration__Group__1__Impl" + // InternalExport.g:18606:1: rule__XVariableDeclaration__Group__1__Impl : ( ( rule__XVariableDeclaration__Alternatives_1 ) ) ; + public final void rule__XVariableDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18610:1: ( ( ( rule__XVariableDeclaration__Alternatives_1 ) ) ) + // InternalExport.g:18611:1: ( ( rule__XVariableDeclaration__Alternatives_1 ) ) + { + // InternalExport.g:18611:1: ( ( rule__XVariableDeclaration__Alternatives_1 ) ) + // InternalExport.g:18612:2: ( rule__XVariableDeclaration__Alternatives_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1()); + } + // InternalExport.g:18613:2: ( rule__XVariableDeclaration__Alternatives_1 ) + // InternalExport.g:18613:3: rule__XVariableDeclaration__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group__2" + // InternalExport.g:18621:1: rule__XVariableDeclaration__Group__2 : rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3 ; + public final void rule__XVariableDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18625:1: ( rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3 ) + // InternalExport.g:18626:2: rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3 + { + pushFollow(FOLLOW_32); + rule__XVariableDeclaration__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__2" + + + // $ANTLR start "rule__XVariableDeclaration__Group__2__Impl" + // InternalExport.g:18633:1: rule__XVariableDeclaration__Group__2__Impl : ( ( rule__XVariableDeclaration__Alternatives_2 ) ) ; + public final void rule__XVariableDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18637:1: ( ( ( rule__XVariableDeclaration__Alternatives_2 ) ) ) + // InternalExport.g:18638:1: ( ( rule__XVariableDeclaration__Alternatives_2 ) ) + { + // InternalExport.g:18638:1: ( ( rule__XVariableDeclaration__Alternatives_2 ) ) + // InternalExport.g:18639:2: ( rule__XVariableDeclaration__Alternatives_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2()); + } + // InternalExport.g:18640:2: ( rule__XVariableDeclaration__Alternatives_2 ) + // InternalExport.g:18640:3: rule__XVariableDeclaration__Alternatives_2 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Alternatives_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group__3" + // InternalExport.g:18648:1: rule__XVariableDeclaration__Group__3 : rule__XVariableDeclaration__Group__3__Impl ; + public final void rule__XVariableDeclaration__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18652:1: ( rule__XVariableDeclaration__Group__3__Impl ) + // InternalExport.g:18653:2: rule__XVariableDeclaration__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__3" + + + // $ANTLR start "rule__XVariableDeclaration__Group__3__Impl" + // InternalExport.g:18659:1: rule__XVariableDeclaration__Group__3__Impl : ( ( rule__XVariableDeclaration__Group_3__0 )? ) ; + public final void rule__XVariableDeclaration__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18663:1: ( ( ( rule__XVariableDeclaration__Group_3__0 )? ) ) + // InternalExport.g:18664:1: ( ( rule__XVariableDeclaration__Group_3__0 )? ) + { + // InternalExport.g:18664:1: ( ( rule__XVariableDeclaration__Group_3__0 )? ) + // InternalExport.g:18665:2: ( rule__XVariableDeclaration__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getGroup_3()); + } + // InternalExport.g:18666:2: ( rule__XVariableDeclaration__Group_3__0 )? + int alt150=2; + int LA150_0 = input.LA(1); + + if ( (LA150_0==14) ) { + alt150=1; + } + switch (alt150) { + case 1 : + // InternalExport.g:18666:3: rule__XVariableDeclaration__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__3__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0__0" + // InternalExport.g:18675:1: rule__XVariableDeclaration__Group_2_0__0 : rule__XVariableDeclaration__Group_2_0__0__Impl ; + public final void rule__XVariableDeclaration__Group_2_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18679:1: ( rule__XVariableDeclaration__Group_2_0__0__Impl ) + // InternalExport.g:18680:2: rule__XVariableDeclaration__Group_2_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0__0" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0__0__Impl" + // InternalExport.g:18686:1: rule__XVariableDeclaration__Group_2_0__0__Impl : ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) ; + public final void rule__XVariableDeclaration__Group_2_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18690:1: ( ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) ) + // InternalExport.g:18691:1: ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) + { + // InternalExport.g:18691:1: ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) + // InternalExport.g:18692:2: ( rule__XVariableDeclaration__Group_2_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0()); + } + // InternalExport.g:18693:2: ( rule__XVariableDeclaration__Group_2_0_0__0 ) + // InternalExport.g:18693:3: rule__XVariableDeclaration__Group_2_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0__0__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__0" + // InternalExport.g:18702:1: rule__XVariableDeclaration__Group_2_0_0__0 : rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1 ; + public final void rule__XVariableDeclaration__Group_2_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18706:1: ( rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1 ) + // InternalExport.g:18707:2: rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1 + { + pushFollow(FOLLOW_11); + rule__XVariableDeclaration__Group_2_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0_0__0" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__0__Impl" + // InternalExport.g:18714:1: rule__XVariableDeclaration__Group_2_0_0__0__Impl : ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) ; + public final void rule__XVariableDeclaration__Group_2_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18718:1: ( ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) ) + // InternalExport.g:18719:1: ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) + { + // InternalExport.g:18719:1: ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) + // InternalExport.g:18720:2: ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0()); + } + // InternalExport.g:18721:2: ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) + // InternalExport.g:18721:3: rule__XVariableDeclaration__TypeAssignment_2_0_0_0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__TypeAssignment_2_0_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0_0__0__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__1" + // InternalExport.g:18729:1: rule__XVariableDeclaration__Group_2_0_0__1 : rule__XVariableDeclaration__Group_2_0_0__1__Impl ; + public final void rule__XVariableDeclaration__Group_2_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18733:1: ( rule__XVariableDeclaration__Group_2_0_0__1__Impl ) + // InternalExport.g:18734:2: rule__XVariableDeclaration__Group_2_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0_0__1" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__1__Impl" + // InternalExport.g:18740:1: rule__XVariableDeclaration__Group_2_0_0__1__Impl : ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) ; + public final void rule__XVariableDeclaration__Group_2_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18744:1: ( ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) ) + // InternalExport.g:18745:1: ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) + { + // InternalExport.g:18745:1: ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) + // InternalExport.g:18746:2: ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1()); + } + // InternalExport.g:18747:2: ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) + // InternalExport.g:18747:3: rule__XVariableDeclaration__NameAssignment_2_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__NameAssignment_2_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0_0__1__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group_3__0" + // InternalExport.g:18756:1: rule__XVariableDeclaration__Group_3__0 : rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1 ; + public final void rule__XVariableDeclaration__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18760:1: ( rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1 ) + // InternalExport.g:18761:2: rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1 + { + pushFollow(FOLLOW_98); + rule__XVariableDeclaration__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_3__0" + + + // $ANTLR start "rule__XVariableDeclaration__Group_3__0__Impl" + // InternalExport.g:18768:1: rule__XVariableDeclaration__Group_3__0__Impl : ( '=' ) ; + public final void rule__XVariableDeclaration__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18772:1: ( ( '=' ) ) + // InternalExport.g:18773:1: ( '=' ) + { + // InternalExport.g:18773:1: ( '=' ) + // InternalExport.g:18774:2: '=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); + } + match(input,14,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_3__0__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group_3__1" + // InternalExport.g:18783:1: rule__XVariableDeclaration__Group_3__1 : rule__XVariableDeclaration__Group_3__1__Impl ; + public final void rule__XVariableDeclaration__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18787:1: ( rule__XVariableDeclaration__Group_3__1__Impl ) + // InternalExport.g:18788:2: rule__XVariableDeclaration__Group_3__1__Impl + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_3__1" + + + // $ANTLR start "rule__XVariableDeclaration__Group_3__1__Impl" + // InternalExport.g:18794:1: rule__XVariableDeclaration__Group_3__1__Impl : ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) ; + public final void rule__XVariableDeclaration__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18798:1: ( ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) ) + // InternalExport.g:18799:1: ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) + { + // InternalExport.g:18799:1: ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) + // InternalExport.g:18800:2: ( rule__XVariableDeclaration__RightAssignment_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1()); + } + // InternalExport.g:18801:2: ( rule__XVariableDeclaration__RightAssignment_3_1 ) + // InternalExport.g:18801:3: rule__XVariableDeclaration__RightAssignment_3_1 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__RightAssignment_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_3__1__Impl" + + + // $ANTLR start "rule__JvmFormalParameter__Group__0" + // InternalExport.g:18810:1: rule__JvmFormalParameter__Group__0 : rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1 ; + public final void rule__JvmFormalParameter__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18814:1: ( rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1 ) + // InternalExport.g:18815:2: rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1 + { + pushFollow(FOLLOW_78); + rule__JvmFormalParameter__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmFormalParameter__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__Group__0" + + + // $ANTLR start "rule__JvmFormalParameter__Group__0__Impl" + // InternalExport.g:18822:1: rule__JvmFormalParameter__Group__0__Impl : ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) ; + public final void rule__JvmFormalParameter__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18826:1: ( ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) ) + // InternalExport.g:18827:1: ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) + { + // InternalExport.g:18827:1: ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) + // InternalExport.g:18828:2: ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0()); + } + // InternalExport.g:18829:2: ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? + int alt151=2; + int LA151_0 = input.LA(1); + + if ( (LA151_0==RULE_ID) ) { + int LA151_1 = input.LA(2); + + if ( (LA151_1==RULE_ID||LA151_1==22||LA151_1==58||LA151_1==72) ) { + alt151=1; + } + } + else if ( (LA151_0==51||LA151_0==77) ) { + alt151=1; + } + switch (alt151) { + case 1 : + // InternalExport.g:18829:3: rule__JvmFormalParameter__ParameterTypeAssignment_0 + { + pushFollow(FOLLOW_2); + rule__JvmFormalParameter__ParameterTypeAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__Group__0__Impl" + + + // $ANTLR start "rule__JvmFormalParameter__Group__1" + // InternalExport.g:18837:1: rule__JvmFormalParameter__Group__1 : rule__JvmFormalParameter__Group__1__Impl ; + public final void rule__JvmFormalParameter__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18841:1: ( rule__JvmFormalParameter__Group__1__Impl ) + // InternalExport.g:18842:2: rule__JvmFormalParameter__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmFormalParameter__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__Group__1" + + + // $ANTLR start "rule__JvmFormalParameter__Group__1__Impl" + // InternalExport.g:18848:1: rule__JvmFormalParameter__Group__1__Impl : ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) ; + public final void rule__JvmFormalParameter__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18852:1: ( ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) ) + // InternalExport.g:18853:1: ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) + { + // InternalExport.g:18853:1: ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) + // InternalExport.g:18854:2: ( rule__JvmFormalParameter__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1()); + } + // InternalExport.g:18855:2: ( rule__JvmFormalParameter__NameAssignment_1 ) + // InternalExport.g:18855:3: rule__JvmFormalParameter__NameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__JvmFormalParameter__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__Group__1__Impl" + + + // $ANTLR start "rule__FullJvmFormalParameter__Group__0" + // InternalExport.g:18864:1: rule__FullJvmFormalParameter__Group__0 : rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1 ; + public final void rule__FullJvmFormalParameter__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18868:1: ( rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1 ) + // InternalExport.g:18869:2: rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1 + { + pushFollow(FOLLOW_11); + rule__FullJvmFormalParameter__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__FullJvmFormalParameter__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__Group__0" + + + // $ANTLR start "rule__FullJvmFormalParameter__Group__0__Impl" + // InternalExport.g:18876:1: rule__FullJvmFormalParameter__Group__0__Impl : ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) ; + public final void rule__FullJvmFormalParameter__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18880:1: ( ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) ) + // InternalExport.g:18881:1: ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) + { + // InternalExport.g:18881:1: ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) + // InternalExport.g:18882:2: ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0()); + } + // InternalExport.g:18883:2: ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) + // InternalExport.g:18883:3: rule__FullJvmFormalParameter__ParameterTypeAssignment_0 + { + pushFollow(FOLLOW_2); + rule__FullJvmFormalParameter__ParameterTypeAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__Group__0__Impl" + + + // $ANTLR start "rule__FullJvmFormalParameter__Group__1" + // InternalExport.g:18891:1: rule__FullJvmFormalParameter__Group__1 : rule__FullJvmFormalParameter__Group__1__Impl ; + public final void rule__FullJvmFormalParameter__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18895:1: ( rule__FullJvmFormalParameter__Group__1__Impl ) + // InternalExport.g:18896:2: rule__FullJvmFormalParameter__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__FullJvmFormalParameter__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__Group__1" + + + // $ANTLR start "rule__FullJvmFormalParameter__Group__1__Impl" + // InternalExport.g:18902:1: rule__FullJvmFormalParameter__Group__1__Impl : ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) ; + public final void rule__FullJvmFormalParameter__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18906:1: ( ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) ) + // InternalExport.g:18907:1: ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) + { + // InternalExport.g:18907:1: ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) + // InternalExport.g:18908:2: ( rule__FullJvmFormalParameter__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1()); + } + // InternalExport.g:18909:2: ( rule__FullJvmFormalParameter__NameAssignment_1 ) + // InternalExport.g:18909:3: rule__FullJvmFormalParameter__NameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__FullJvmFormalParameter__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__Group__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group__0" + // InternalExport.g:18918:1: rule__XFeatureCall__Group__0 : rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1 ; + public final void rule__XFeatureCall__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18922:1: ( rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1 ) + // InternalExport.g:18923:2: rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1 + { + pushFollow(FOLLOW_93); + rule__XFeatureCall__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__0" + + + // $ANTLR start "rule__XFeatureCall__Group__0__Impl" + // InternalExport.g:18930:1: rule__XFeatureCall__Group__0__Impl : ( () ) ; + public final void rule__XFeatureCall__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18934:1: ( ( () ) ) + // InternalExport.g:18935:1: ( () ) + { + // InternalExport.g:18935:1: ( () ) + // InternalExport.g:18936:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0()); + } + // InternalExport.g:18937:2: () + // InternalExport.g:18937:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group__1" + // InternalExport.g:18945:1: rule__XFeatureCall__Group__1 : rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2 ; + public final void rule__XFeatureCall__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18949:1: ( rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2 ) + // InternalExport.g:18950:2: rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2 + { + pushFollow(FOLLOW_93); + rule__XFeatureCall__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__1" + + + // $ANTLR start "rule__XFeatureCall__Group__1__Impl" + // InternalExport.g:18957:1: rule__XFeatureCall__Group__1__Impl : ( ( rule__XFeatureCall__Group_1__0 )? ) ; + public final void rule__XFeatureCall__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18961:1: ( ( ( rule__XFeatureCall__Group_1__0 )? ) ) + // InternalExport.g:18962:1: ( ( rule__XFeatureCall__Group_1__0 )? ) + { + // InternalExport.g:18962:1: ( ( rule__XFeatureCall__Group_1__0 )? ) + // InternalExport.g:18963:2: ( rule__XFeatureCall__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGroup_1()); + } + // InternalExport.g:18964:2: ( rule__XFeatureCall__Group_1__0 )? + int alt152=2; + int LA152_0 = input.LA(1); + + if ( (LA152_0==22) ) { + alt152=1; + } + switch (alt152) { + case 1 : + // InternalExport.g:18964:3: rule__XFeatureCall__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group__2" + // InternalExport.g:18972:1: rule__XFeatureCall__Group__2 : rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3 ; + public final void rule__XFeatureCall__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18976:1: ( rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3 ) + // InternalExport.g:18977:2: rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3 + { + pushFollow(FOLLOW_94); + rule__XFeatureCall__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__2" + + + // $ANTLR start "rule__XFeatureCall__Group__2__Impl" + // InternalExport.g:18984:1: rule__XFeatureCall__Group__2__Impl : ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) ; + public final void rule__XFeatureCall__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:18988:1: ( ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) ) + // InternalExport.g:18989:1: ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) + { + // InternalExport.g:18989:1: ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) + // InternalExport.g:18990:2: ( rule__XFeatureCall__FeatureAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2()); + } + // InternalExport.g:18991:2: ( rule__XFeatureCall__FeatureAssignment_2 ) + // InternalExport.g:18991:3: rule__XFeatureCall__FeatureAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__2__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group__3" + // InternalExport.g:18999:1: rule__XFeatureCall__Group__3 : rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4 ; + public final void rule__XFeatureCall__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19003:1: ( rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4 ) + // InternalExport.g:19004:2: rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4 + { + pushFollow(FOLLOW_94); + rule__XFeatureCall__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__3" + + + // $ANTLR start "rule__XFeatureCall__Group__3__Impl" + // InternalExport.g:19011:1: rule__XFeatureCall__Group__3__Impl : ( ( rule__XFeatureCall__Group_3__0 )? ) ; + public final void rule__XFeatureCall__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19015:1: ( ( ( rule__XFeatureCall__Group_3__0 )? ) ) + // InternalExport.g:19016:1: ( ( rule__XFeatureCall__Group_3__0 )? ) + { + // InternalExport.g:19016:1: ( ( rule__XFeatureCall__Group_3__0 )? ) + // InternalExport.g:19017:2: ( rule__XFeatureCall__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGroup_3()); + } + // InternalExport.g:19018:2: ( rule__XFeatureCall__Group_3__0 )? + int alt153=2; + alt153 = dfa153.predict(input); + switch (alt153) { + case 1 : + // InternalExport.g:19018:3: rule__XFeatureCall__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__3__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group__4" + // InternalExport.g:19026:1: rule__XFeatureCall__Group__4 : rule__XFeatureCall__Group__4__Impl ; + public final void rule__XFeatureCall__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19030:1: ( rule__XFeatureCall__Group__4__Impl ) + // InternalExport.g:19031:2: rule__XFeatureCall__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__4" + + + // $ANTLR start "rule__XFeatureCall__Group__4__Impl" + // InternalExport.g:19037:1: rule__XFeatureCall__Group__4__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) ; + public final void rule__XFeatureCall__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19041:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) ) + // InternalExport.g:19042:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) + { + // InternalExport.g:19042:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) + // InternalExport.g:19043:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4()); + } + // InternalExport.g:19044:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? + int alt154=2; + alt154 = dfa154.predict(input); + switch (alt154) { + case 1 : + // InternalExport.g:19044:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_4 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__4__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1__0" + // InternalExport.g:19053:1: rule__XFeatureCall__Group_1__0 : rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1 ; + public final void rule__XFeatureCall__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19057:1: ( rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1 ) + // InternalExport.g:19058:2: rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1 + { + pushFollow(FOLLOW_95); + rule__XFeatureCall__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__0" + + + // $ANTLR start "rule__XFeatureCall__Group_1__0__Impl" + // InternalExport.g:19065:1: rule__XFeatureCall__Group_1__0__Impl : ( '<' ) ; + public final void rule__XFeatureCall__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19069:1: ( ( '<' ) ) + // InternalExport.g:19070:1: ( '<' ) + { + // InternalExport.g:19070:1: ( '<' ) + // InternalExport.g:19071:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1__1" + // InternalExport.g:19080:1: rule__XFeatureCall__Group_1__1 : rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2 ; + public final void rule__XFeatureCall__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19084:1: ( rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2 ) + // InternalExport.g:19085:2: rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2 + { + pushFollow(FOLLOW_96); + rule__XFeatureCall__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__1" + + + // $ANTLR start "rule__XFeatureCall__Group_1__1__Impl" + // InternalExport.g:19092:1: rule__XFeatureCall__Group_1__1__Impl : ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) ; + public final void rule__XFeatureCall__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19096:1: ( ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) ) + // InternalExport.g:19097:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) + { + // InternalExport.g:19097:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) + // InternalExport.g:19098:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1()); + } + // InternalExport.g:19099:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) + // InternalExport.g:19099:3: rule__XFeatureCall__TypeArgumentsAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__TypeArgumentsAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1__2" + // InternalExport.g:19107:1: rule__XFeatureCall__Group_1__2 : rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3 ; + public final void rule__XFeatureCall__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19111:1: ( rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3 ) + // InternalExport.g:19112:2: rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3 + { + pushFollow(FOLLOW_96); + rule__XFeatureCall__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__2" + + + // $ANTLR start "rule__XFeatureCall__Group_1__2__Impl" + // InternalExport.g:19119:1: rule__XFeatureCall__Group_1__2__Impl : ( ( rule__XFeatureCall__Group_1_2__0 )* ) ; + public final void rule__XFeatureCall__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19123:1: ( ( ( rule__XFeatureCall__Group_1_2__0 )* ) ) + // InternalExport.g:19124:1: ( ( rule__XFeatureCall__Group_1_2__0 )* ) + { + // InternalExport.g:19124:1: ( ( rule__XFeatureCall__Group_1_2__0 )* ) + // InternalExport.g:19125:2: ( rule__XFeatureCall__Group_1_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGroup_1_2()); + } + // InternalExport.g:19126:2: ( rule__XFeatureCall__Group_1_2__0 )* + loop155: + do { + int alt155=2; + int LA155_0 = input.LA(1); + + if ( (LA155_0==74) ) { + alt155=1; + } + + + switch (alt155) { + case 1 : + // InternalExport.g:19126:3: rule__XFeatureCall__Group_1_2__0 + { + pushFollow(FOLLOW_22); + rule__XFeatureCall__Group_1_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop155; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGroup_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__2__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1__3" + // InternalExport.g:19134:1: rule__XFeatureCall__Group_1__3 : rule__XFeatureCall__Group_1__3__Impl ; + public final void rule__XFeatureCall__Group_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19138:1: ( rule__XFeatureCall__Group_1__3__Impl ) + // InternalExport.g:19139:2: rule__XFeatureCall__Group_1__3__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__3" + + + // $ANTLR start "rule__XFeatureCall__Group_1__3__Impl" + // InternalExport.g:19145:1: rule__XFeatureCall__Group_1__3__Impl : ( '>' ) ; + public final void rule__XFeatureCall__Group_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19149:1: ( ( '>' ) ) + // InternalExport.g:19150:1: ( '>' ) + { + // InternalExport.g:19150:1: ( '>' ) + // InternalExport.g:19151:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__3__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1_2__0" + // InternalExport.g:19161:1: rule__XFeatureCall__Group_1_2__0 : rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1 ; + public final void rule__XFeatureCall__Group_1_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19165:1: ( rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1 ) + // InternalExport.g:19166:2: rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1 + { + pushFollow(FOLLOW_95); + rule__XFeatureCall__Group_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1_2__0" + + + // $ANTLR start "rule__XFeatureCall__Group_1_2__0__Impl" + // InternalExport.g:19173:1: rule__XFeatureCall__Group_1_2__0__Impl : ( ',' ) ; + public final void rule__XFeatureCall__Group_1_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19177:1: ( ( ',' ) ) + // InternalExport.g:19178:1: ( ',' ) + { + // InternalExport.g:19178:1: ( ',' ) + // InternalExport.g:19179:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1_2__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1_2__1" + // InternalExport.g:19188:1: rule__XFeatureCall__Group_1_2__1 : rule__XFeatureCall__Group_1_2__1__Impl ; + public final void rule__XFeatureCall__Group_1_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19192:1: ( rule__XFeatureCall__Group_1_2__1__Impl ) + // InternalExport.g:19193:2: rule__XFeatureCall__Group_1_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1_2__1" + + + // $ANTLR start "rule__XFeatureCall__Group_1_2__1__Impl" + // InternalExport.g:19199:1: rule__XFeatureCall__Group_1_2__1__Impl : ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) ; + public final void rule__XFeatureCall__Group_1_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19203:1: ( ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) ) + // InternalExport.g:19204:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) + { + // InternalExport.g:19204:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) + // InternalExport.g:19205:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1()); + } + // InternalExport.g:19206:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) + // InternalExport.g:19206:3: rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__TypeArgumentsAssignment_1_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1_2__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3__0" + // InternalExport.g:19215:1: rule__XFeatureCall__Group_3__0 : rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1 ; + public final void rule__XFeatureCall__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19219:1: ( rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1 ) + // InternalExport.g:19220:2: rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1 + { + pushFollow(FOLLOW_97); + rule__XFeatureCall__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__0" + + + // $ANTLR start "rule__XFeatureCall__Group_3__0__Impl" + // InternalExport.g:19227:1: rule__XFeatureCall__Group_3__0__Impl : ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) ; + public final void rule__XFeatureCall__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19231:1: ( ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) ) + // InternalExport.g:19232:1: ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) + { + // InternalExport.g:19232:1: ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) + // InternalExport.g:19233:2: ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0()); + } + // InternalExport.g:19234:2: ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) + // InternalExport.g:19234:3: rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__ExplicitOperationCallAssignment_3_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3__1" + // InternalExport.g:19242:1: rule__XFeatureCall__Group_3__1 : rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2 ; + public final void rule__XFeatureCall__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19246:1: ( rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2 ) + // InternalExport.g:19247:2: rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2 + { + pushFollow(FOLLOW_97); + rule__XFeatureCall__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__1" + + + // $ANTLR start "rule__XFeatureCall__Group_3__1__Impl" + // InternalExport.g:19254:1: rule__XFeatureCall__Group_3__1__Impl : ( ( rule__XFeatureCall__Alternatives_3_1 )? ) ; + public final void rule__XFeatureCall__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19258:1: ( ( ( rule__XFeatureCall__Alternatives_3_1 )? ) ) + // InternalExport.g:19259:1: ( ( rule__XFeatureCall__Alternatives_3_1 )? ) + { + // InternalExport.g:19259:1: ( ( rule__XFeatureCall__Alternatives_3_1 )? ) + // InternalExport.g:19260:2: ( rule__XFeatureCall__Alternatives_3_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1()); + } + // InternalExport.g:19261:2: ( rule__XFeatureCall__Alternatives_3_1 )? + int alt156=2; + int LA156_0 = input.LA(1); + + if ( ((LA156_0>=RULE_ID && LA156_0<=RULE_STRING)||(LA156_0>=22 && LA156_0<=24)||LA156_0==27||(LA156_0>=36 && LA156_0<=37)||LA156_0==51||(LA156_0>=60 && LA156_0<=64)||LA156_0==66||LA156_0==68||LA156_0==72||LA156_0==77||LA156_0==87||LA156_0==90||LA156_0==93||LA156_0==95||(LA156_0>=97 && LA156_0<=104)||LA156_0==106) ) { + alt156=1; + } + switch (alt156) { + case 1 : + // InternalExport.g:19261:3: rule__XFeatureCall__Alternatives_3_1 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Alternatives_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3__2" + // InternalExport.g:19269:1: rule__XFeatureCall__Group_3__2 : rule__XFeatureCall__Group_3__2__Impl ; + public final void rule__XFeatureCall__Group_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19273:1: ( rule__XFeatureCall__Group_3__2__Impl ) + // InternalExport.g:19274:2: rule__XFeatureCall__Group_3__2__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__2" + + + // $ANTLR start "rule__XFeatureCall__Group_3__2__Impl" + // InternalExport.g:19280:1: rule__XFeatureCall__Group_3__2__Impl : ( ')' ) ; + public final void rule__XFeatureCall__Group_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19284:1: ( ( ')' ) ) + // InternalExport.g:19285:1: ( ')' ) + { + // InternalExport.g:19285:1: ( ')' ) + // InternalExport.g:19286:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__2__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1__0" + // InternalExport.g:19296:1: rule__XFeatureCall__Group_3_1_1__0 : rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1 ; + public final void rule__XFeatureCall__Group_3_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19300:1: ( rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1 ) + // InternalExport.g:19301:2: rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1 + { + pushFollow(FOLLOW_21); + rule__XFeatureCall__Group_3_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1__0" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1__0__Impl" + // InternalExport.g:19308:1: rule__XFeatureCall__Group_3_1_1__0__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) ; + public final void rule__XFeatureCall__Group_3_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19312:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) ) + // InternalExport.g:19313:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) + { + // InternalExport.g:19313:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) + // InternalExport.g:19314:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0()); + } + // InternalExport.g:19315:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) + // InternalExport.g:19315:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1__1" + // InternalExport.g:19323:1: rule__XFeatureCall__Group_3_1_1__1 : rule__XFeatureCall__Group_3_1_1__1__Impl ; + public final void rule__XFeatureCall__Group_3_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19327:1: ( rule__XFeatureCall__Group_3_1_1__1__Impl ) + // InternalExport.g:19328:2: rule__XFeatureCall__Group_3_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1__1" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1__1__Impl" + // InternalExport.g:19334:1: rule__XFeatureCall__Group_3_1_1__1__Impl : ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) ; + public final void rule__XFeatureCall__Group_3_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19338:1: ( ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) ) + // InternalExport.g:19339:1: ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) + { + // InternalExport.g:19339:1: ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) + // InternalExport.g:19340:2: ( rule__XFeatureCall__Group_3_1_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1()); + } + // InternalExport.g:19341:2: ( rule__XFeatureCall__Group_3_1_1_1__0 )* + loop157: + do { + int alt157=2; + int LA157_0 = input.LA(1); + + if ( (LA157_0==74) ) { + alt157=1; + } + + + switch (alt157) { + case 1 : + // InternalExport.g:19341:3: rule__XFeatureCall__Group_3_1_1_1__0 + { + pushFollow(FOLLOW_22); + rule__XFeatureCall__Group_3_1_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop157; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__0" + // InternalExport.g:19350:1: rule__XFeatureCall__Group_3_1_1_1__0 : rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1 ; + public final void rule__XFeatureCall__Group_3_1_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19354:1: ( rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1 ) + // InternalExport.g:19355:2: rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1 + { + pushFollow(FOLLOW_98); + rule__XFeatureCall__Group_3_1_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3_1_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1_1__0" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__0__Impl" + // InternalExport.g:19362:1: rule__XFeatureCall__Group_3_1_1_1__0__Impl : ( ',' ) ; + public final void rule__XFeatureCall__Group_3_1_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19366:1: ( ( ',' ) ) + // InternalExport.g:19367:1: ( ',' ) + { + // InternalExport.g:19367:1: ( ',' ) + // InternalExport.g:19368:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1_1__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__1" + // InternalExport.g:19377:1: rule__XFeatureCall__Group_3_1_1_1__1 : rule__XFeatureCall__Group_3_1_1_1__1__Impl ; + public final void rule__XFeatureCall__Group_3_1_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19381:1: ( rule__XFeatureCall__Group_3_1_1_1__1__Impl ) + // InternalExport.g:19382:2: rule__XFeatureCall__Group_3_1_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3_1_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1_1__1" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__1__Impl" + // InternalExport.g:19388:1: rule__XFeatureCall__Group_3_1_1_1__1__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) ; + public final void rule__XFeatureCall__Group_3_1_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19392:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) ) + // InternalExport.g:19393:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) + { + // InternalExport.g:19393:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) + // InternalExport.g:19394:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1()); + } + // InternalExport.g:19395:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) + // InternalExport.g:19395:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1_1__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__0" + // InternalExport.g:19404:1: rule__XConstructorCall__Group__0 : rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1 ; + public final void rule__XConstructorCall__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19408:1: ( rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1 ) + // InternalExport.g:19409:2: rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1 + { + pushFollow(FOLLOW_116); + rule__XConstructorCall__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__0" + + + // $ANTLR start "rule__XConstructorCall__Group__0__Impl" + // InternalExport.g:19416:1: rule__XConstructorCall__Group__0__Impl : ( () ) ; + public final void rule__XConstructorCall__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19420:1: ( ( () ) ) + // InternalExport.g:19421:1: ( () ) + { + // InternalExport.g:19421:1: ( () ) + // InternalExport.g:19422:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0()); + } + // InternalExport.g:19423:2: () + // InternalExport.g:19423:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__1" + // InternalExport.g:19431:1: rule__XConstructorCall__Group__1 : rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2 ; + public final void rule__XConstructorCall__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19435:1: ( rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2 ) + // InternalExport.g:19436:2: rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2 + { + pushFollow(FOLLOW_11); + rule__XConstructorCall__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__1" + + + // $ANTLR start "rule__XConstructorCall__Group__1__Impl" + // InternalExport.g:19443:1: rule__XConstructorCall__Group__1__Impl : ( 'new' ) ; + public final void rule__XConstructorCall__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19447:1: ( ( 'new' ) ) + // InternalExport.g:19448:1: ( 'new' ) + { + // InternalExport.g:19448:1: ( 'new' ) + // InternalExport.g:19449:2: 'new' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); + } + match(input,95,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__2" + // InternalExport.g:19458:1: rule__XConstructorCall__Group__2 : rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3 ; + public final void rule__XConstructorCall__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19462:1: ( rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3 ) + // InternalExport.g:19463:2: rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3 + { + pushFollow(FOLLOW_117); + rule__XConstructorCall__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__2" + + + // $ANTLR start "rule__XConstructorCall__Group__2__Impl" + // InternalExport.g:19470:1: rule__XConstructorCall__Group__2__Impl : ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) ; + public final void rule__XConstructorCall__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19474:1: ( ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) ) + // InternalExport.g:19475:1: ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) + { + // InternalExport.g:19475:1: ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) + // InternalExport.g:19476:2: ( rule__XConstructorCall__ConstructorAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2()); + } + // InternalExport.g:19477:2: ( rule__XConstructorCall__ConstructorAssignment_2 ) + // InternalExport.g:19477:3: rule__XConstructorCall__ConstructorAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ConstructorAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__2__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__3" + // InternalExport.g:19485:1: rule__XConstructorCall__Group__3 : rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4 ; + public final void rule__XConstructorCall__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19489:1: ( rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4 ) + // InternalExport.g:19490:2: rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4 + { + pushFollow(FOLLOW_117); + rule__XConstructorCall__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__3" + + + // $ANTLR start "rule__XConstructorCall__Group__3__Impl" + // InternalExport.g:19497:1: rule__XConstructorCall__Group__3__Impl : ( ( rule__XConstructorCall__Group_3__0 )? ) ; + public final void rule__XConstructorCall__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19501:1: ( ( ( rule__XConstructorCall__Group_3__0 )? ) ) + // InternalExport.g:19502:1: ( ( rule__XConstructorCall__Group_3__0 )? ) + { + // InternalExport.g:19502:1: ( ( rule__XConstructorCall__Group_3__0 )? ) + // InternalExport.g:19503:2: ( rule__XConstructorCall__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGroup_3()); + } + // InternalExport.g:19504:2: ( rule__XConstructorCall__Group_3__0 )? + int alt158=2; + alt158 = dfa158.predict(input); + switch (alt158) { + case 1 : + // InternalExport.g:19504:3: rule__XConstructorCall__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__3__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__4" + // InternalExport.g:19512:1: rule__XConstructorCall__Group__4 : rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5 ; + public final void rule__XConstructorCall__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19516:1: ( rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5 ) + // InternalExport.g:19517:2: rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5 + { + pushFollow(FOLLOW_117); + rule__XConstructorCall__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__4" + + + // $ANTLR start "rule__XConstructorCall__Group__4__Impl" + // InternalExport.g:19524:1: rule__XConstructorCall__Group__4__Impl : ( ( rule__XConstructorCall__Group_4__0 )? ) ; + public final void rule__XConstructorCall__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19528:1: ( ( ( rule__XConstructorCall__Group_4__0 )? ) ) + // InternalExport.g:19529:1: ( ( rule__XConstructorCall__Group_4__0 )? ) + { + // InternalExport.g:19529:1: ( ( rule__XConstructorCall__Group_4__0 )? ) + // InternalExport.g:19530:2: ( rule__XConstructorCall__Group_4__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGroup_4()); + } + // InternalExport.g:19531:2: ( rule__XConstructorCall__Group_4__0 )? + int alt159=2; + alt159 = dfa159.predict(input); + switch (alt159) { + case 1 : + // InternalExport.g:19531:3: rule__XConstructorCall__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGroup_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__4__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__5" + // InternalExport.g:19539:1: rule__XConstructorCall__Group__5 : rule__XConstructorCall__Group__5__Impl ; + public final void rule__XConstructorCall__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19543:1: ( rule__XConstructorCall__Group__5__Impl ) + // InternalExport.g:19544:2: rule__XConstructorCall__Group__5__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__5" + + + // $ANTLR start "rule__XConstructorCall__Group__5__Impl" + // InternalExport.g:19550:1: rule__XConstructorCall__Group__5__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) ; + public final void rule__XConstructorCall__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19554:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) ) + // InternalExport.g:19555:1: ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) + { + // InternalExport.g:19555:1: ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) + // InternalExport.g:19556:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5()); + } + // InternalExport.g:19557:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )? + int alt160=2; + alt160 = dfa160.predict(input); + switch (alt160) { + case 1 : + // InternalExport.g:19557:3: rule__XConstructorCall__ArgumentsAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__5__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3__0" + // InternalExport.g:19566:1: rule__XConstructorCall__Group_3__0 : rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1 ; + public final void rule__XConstructorCall__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19570:1: ( rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1 ) + // InternalExport.g:19571:2: rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1 + { + pushFollow(FOLLOW_95); + rule__XConstructorCall__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__0" + + + // $ANTLR start "rule__XConstructorCall__Group_3__0__Impl" + // InternalExport.g:19578:1: rule__XConstructorCall__Group_3__0__Impl : ( ( '<' ) ) ; + public final void rule__XConstructorCall__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19582:1: ( ( ( '<' ) ) ) + // InternalExport.g:19583:1: ( ( '<' ) ) + { + // InternalExport.g:19583:1: ( ( '<' ) ) + // InternalExport.g:19584:2: ( '<' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); + } + // InternalExport.g:19585:2: ( '<' ) + // InternalExport.g:19585:3: '<' + { + match(input,22,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3__1" + // InternalExport.g:19593:1: rule__XConstructorCall__Group_3__1 : rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2 ; + public final void rule__XConstructorCall__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19597:1: ( rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2 ) + // InternalExport.g:19598:2: rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2 + { + pushFollow(FOLLOW_96); + rule__XConstructorCall__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__1" + + + // $ANTLR start "rule__XConstructorCall__Group_3__1__Impl" + // InternalExport.g:19605:1: rule__XConstructorCall__Group_3__1__Impl : ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) ; + public final void rule__XConstructorCall__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19609:1: ( ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) ) + // InternalExport.g:19610:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) + { + // InternalExport.g:19610:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) + // InternalExport.g:19611:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1()); + } + // InternalExport.g:19612:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) + // InternalExport.g:19612:3: rule__XConstructorCall__TypeArgumentsAssignment_3_1 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__TypeArgumentsAssignment_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3__2" + // InternalExport.g:19620:1: rule__XConstructorCall__Group_3__2 : rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3 ; + public final void rule__XConstructorCall__Group_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19624:1: ( rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3 ) + // InternalExport.g:19625:2: rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3 + { + pushFollow(FOLLOW_96); + rule__XConstructorCall__Group_3__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__2" + + + // $ANTLR start "rule__XConstructorCall__Group_3__2__Impl" + // InternalExport.g:19632:1: rule__XConstructorCall__Group_3__2__Impl : ( ( rule__XConstructorCall__Group_3_2__0 )* ) ; + public final void rule__XConstructorCall__Group_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19636:1: ( ( ( rule__XConstructorCall__Group_3_2__0 )* ) ) + // InternalExport.g:19637:1: ( ( rule__XConstructorCall__Group_3_2__0 )* ) + { + // InternalExport.g:19637:1: ( ( rule__XConstructorCall__Group_3_2__0 )* ) + // InternalExport.g:19638:2: ( rule__XConstructorCall__Group_3_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGroup_3_2()); + } + // InternalExport.g:19639:2: ( rule__XConstructorCall__Group_3_2__0 )* + loop161: + do { + int alt161=2; + int LA161_0 = input.LA(1); + + if ( (LA161_0==74) ) { + alt161=1; + } + + + switch (alt161) { + case 1 : + // InternalExport.g:19639:3: rule__XConstructorCall__Group_3_2__0 + { + pushFollow(FOLLOW_22); + rule__XConstructorCall__Group_3_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop161; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGroup_3_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__2__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3__3" + // InternalExport.g:19647:1: rule__XConstructorCall__Group_3__3 : rule__XConstructorCall__Group_3__3__Impl ; + public final void rule__XConstructorCall__Group_3__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19651:1: ( rule__XConstructorCall__Group_3__3__Impl ) + // InternalExport.g:19652:2: rule__XConstructorCall__Group_3__3__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__3" + + + // $ANTLR start "rule__XConstructorCall__Group_3__3__Impl" + // InternalExport.g:19658:1: rule__XConstructorCall__Group_3__3__Impl : ( '>' ) ; + public final void rule__XConstructorCall__Group_3__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19662:1: ( ( '>' ) ) + // InternalExport.g:19663:1: ( '>' ) + { + // InternalExport.g:19663:1: ( '>' ) + // InternalExport.g:19664:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__3__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3_2__0" + // InternalExport.g:19674:1: rule__XConstructorCall__Group_3_2__0 : rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1 ; + public final void rule__XConstructorCall__Group_3_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19678:1: ( rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1 ) + // InternalExport.g:19679:2: rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1 + { + pushFollow(FOLLOW_95); + rule__XConstructorCall__Group_3_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3_2__0" + + + // $ANTLR start "rule__XConstructorCall__Group_3_2__0__Impl" + // InternalExport.g:19686:1: rule__XConstructorCall__Group_3_2__0__Impl : ( ',' ) ; + public final void rule__XConstructorCall__Group_3_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19690:1: ( ( ',' ) ) + // InternalExport.g:19691:1: ( ',' ) + { + // InternalExport.g:19691:1: ( ',' ) + // InternalExport.g:19692:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3_2__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3_2__1" + // InternalExport.g:19701:1: rule__XConstructorCall__Group_3_2__1 : rule__XConstructorCall__Group_3_2__1__Impl ; + public final void rule__XConstructorCall__Group_3_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19705:1: ( rule__XConstructorCall__Group_3_2__1__Impl ) + // InternalExport.g:19706:2: rule__XConstructorCall__Group_3_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3_2__1" + + + // $ANTLR start "rule__XConstructorCall__Group_3_2__1__Impl" + // InternalExport.g:19712:1: rule__XConstructorCall__Group_3_2__1__Impl : ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) ; + public final void rule__XConstructorCall__Group_3_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19716:1: ( ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) ) + // InternalExport.g:19717:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) + { + // InternalExport.g:19717:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) + // InternalExport.g:19718:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1()); + } + // InternalExport.g:19719:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) + // InternalExport.g:19719:3: rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__TypeArgumentsAssignment_3_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3_2__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4__0" + // InternalExport.g:19728:1: rule__XConstructorCall__Group_4__0 : rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1 ; + public final void rule__XConstructorCall__Group_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19732:1: ( rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1 ) + // InternalExport.g:19733:2: rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1 + { + pushFollow(FOLLOW_97); + rule__XConstructorCall__Group_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__0" + + + // $ANTLR start "rule__XConstructorCall__Group_4__0__Impl" + // InternalExport.g:19740:1: rule__XConstructorCall__Group_4__0__Impl : ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) ; + public final void rule__XConstructorCall__Group_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19744:1: ( ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) ) + // InternalExport.g:19745:1: ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) + { + // InternalExport.g:19745:1: ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) + // InternalExport.g:19746:2: ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0()); + } + // InternalExport.g:19747:2: ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) + // InternalExport.g:19747:3: rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4__1" + // InternalExport.g:19755:1: rule__XConstructorCall__Group_4__1 : rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2 ; + public final void rule__XConstructorCall__Group_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19759:1: ( rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2 ) + // InternalExport.g:19760:2: rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2 + { + pushFollow(FOLLOW_97); + rule__XConstructorCall__Group_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__1" + + + // $ANTLR start "rule__XConstructorCall__Group_4__1__Impl" + // InternalExport.g:19767:1: rule__XConstructorCall__Group_4__1__Impl : ( ( rule__XConstructorCall__Alternatives_4_1 )? ) ; + public final void rule__XConstructorCall__Group_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19771:1: ( ( ( rule__XConstructorCall__Alternatives_4_1 )? ) ) + // InternalExport.g:19772:1: ( ( rule__XConstructorCall__Alternatives_4_1 )? ) + { + // InternalExport.g:19772:1: ( ( rule__XConstructorCall__Alternatives_4_1 )? ) + // InternalExport.g:19773:2: ( rule__XConstructorCall__Alternatives_4_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1()); + } + // InternalExport.g:19774:2: ( rule__XConstructorCall__Alternatives_4_1 )? + int alt162=2; + int LA162_0 = input.LA(1); + + if ( ((LA162_0>=RULE_ID && LA162_0<=RULE_STRING)||(LA162_0>=22 && LA162_0<=24)||LA162_0==27||(LA162_0>=36 && LA162_0<=37)||LA162_0==51||(LA162_0>=60 && LA162_0<=64)||LA162_0==66||LA162_0==68||LA162_0==72||LA162_0==77||LA162_0==87||LA162_0==90||LA162_0==93||LA162_0==95||(LA162_0>=97 && LA162_0<=104)||LA162_0==106) ) { + alt162=1; + } + switch (alt162) { + case 1 : + // InternalExport.g:19774:3: rule__XConstructorCall__Alternatives_4_1 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Alternatives_4_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4__2" + // InternalExport.g:19782:1: rule__XConstructorCall__Group_4__2 : rule__XConstructorCall__Group_4__2__Impl ; + public final void rule__XConstructorCall__Group_4__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19786:1: ( rule__XConstructorCall__Group_4__2__Impl ) + // InternalExport.g:19787:2: rule__XConstructorCall__Group_4__2__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__2" + + + // $ANTLR start "rule__XConstructorCall__Group_4__2__Impl" + // InternalExport.g:19793:1: rule__XConstructorCall__Group_4__2__Impl : ( ')' ) ; + public final void rule__XConstructorCall__Group_4__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19797:1: ( ( ')' ) ) + // InternalExport.g:19798:1: ( ')' ) + { + // InternalExport.g:19798:1: ( ')' ) + // InternalExport.g:19799:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__2__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1__0" + // InternalExport.g:19809:1: rule__XConstructorCall__Group_4_1_1__0 : rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1 ; + public final void rule__XConstructorCall__Group_4_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19813:1: ( rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1 ) + // InternalExport.g:19814:2: rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1 + { + pushFollow(FOLLOW_21); + rule__XConstructorCall__Group_4_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1__0" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1__0__Impl" + // InternalExport.g:19821:1: rule__XConstructorCall__Group_4_1_1__0__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) ; + public final void rule__XConstructorCall__Group_4_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19825:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) ) + // InternalExport.g:19826:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) + { + // InternalExport.g:19826:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) + // InternalExport.g:19827:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0()); + } + // InternalExport.g:19828:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) + // InternalExport.g:19828:3: rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_4_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1__1" + // InternalExport.g:19836:1: rule__XConstructorCall__Group_4_1_1__1 : rule__XConstructorCall__Group_4_1_1__1__Impl ; + public final void rule__XConstructorCall__Group_4_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19840:1: ( rule__XConstructorCall__Group_4_1_1__1__Impl ) + // InternalExport.g:19841:2: rule__XConstructorCall__Group_4_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1__1" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1__1__Impl" + // InternalExport.g:19847:1: rule__XConstructorCall__Group_4_1_1__1__Impl : ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) ; + public final void rule__XConstructorCall__Group_4_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19851:1: ( ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) ) + // InternalExport.g:19852:1: ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) + { + // InternalExport.g:19852:1: ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) + // InternalExport.g:19853:2: ( rule__XConstructorCall__Group_4_1_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1()); + } + // InternalExport.g:19854:2: ( rule__XConstructorCall__Group_4_1_1_1__0 )* + loop163: + do { + int alt163=2; + int LA163_0 = input.LA(1); + + if ( (LA163_0==74) ) { + alt163=1; + } + + + switch (alt163) { + case 1 : + // InternalExport.g:19854:3: rule__XConstructorCall__Group_4_1_1_1__0 + { + pushFollow(FOLLOW_22); + rule__XConstructorCall__Group_4_1_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop163; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__0" + // InternalExport.g:19863:1: rule__XConstructorCall__Group_4_1_1_1__0 : rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1 ; + public final void rule__XConstructorCall__Group_4_1_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19867:1: ( rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1 ) + // InternalExport.g:19868:2: rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1 + { + pushFollow(FOLLOW_98); + rule__XConstructorCall__Group_4_1_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4_1_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1_1__0" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__0__Impl" + // InternalExport.g:19875:1: rule__XConstructorCall__Group_4_1_1_1__0__Impl : ( ',' ) ; + public final void rule__XConstructorCall__Group_4_1_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19879:1: ( ( ',' ) ) + // InternalExport.g:19880:1: ( ',' ) + { + // InternalExport.g:19880:1: ( ',' ) + // InternalExport.g:19881:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1_1__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__1" + // InternalExport.g:19890:1: rule__XConstructorCall__Group_4_1_1_1__1 : rule__XConstructorCall__Group_4_1_1_1__1__Impl ; + public final void rule__XConstructorCall__Group_4_1_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19894:1: ( rule__XConstructorCall__Group_4_1_1_1__1__Impl ) + // InternalExport.g:19895:2: rule__XConstructorCall__Group_4_1_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4_1_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1_1__1" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__1__Impl" + // InternalExport.g:19901:1: rule__XConstructorCall__Group_4_1_1_1__1__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) ; + public final void rule__XConstructorCall__Group_4_1_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19905:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) ) + // InternalExport.g:19906:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) + { + // InternalExport.g:19906:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) + // InternalExport.g:19907:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1()); + } + // InternalExport.g:19908:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) + // InternalExport.g:19908:3: rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1_1__1__Impl" + + + // $ANTLR start "rule__XBooleanLiteral__Group__0" + // InternalExport.g:19917:1: rule__XBooleanLiteral__Group__0 : rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1 ; + public final void rule__XBooleanLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19921:1: ( rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1 ) + // InternalExport.g:19922:2: rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1 + { + pushFollow(FOLLOW_118); + rule__XBooleanLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBooleanLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBooleanLiteral__Group__0" + + + // $ANTLR start "rule__XBooleanLiteral__Group__0__Impl" + // InternalExport.g:19929:1: rule__XBooleanLiteral__Group__0__Impl : ( () ) ; + public final void rule__XBooleanLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19933:1: ( ( () ) ) + // InternalExport.g:19934:1: ( () ) + { + // InternalExport.g:19934:1: ( () ) + // InternalExport.g:19935:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0()); + } + // InternalExport.g:19936:2: () + // InternalExport.g:19936:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBooleanLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XBooleanLiteral__Group__1" + // InternalExport.g:19944:1: rule__XBooleanLiteral__Group__1 : rule__XBooleanLiteral__Group__1__Impl ; + public final void rule__XBooleanLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19948:1: ( rule__XBooleanLiteral__Group__1__Impl ) + // InternalExport.g:19949:2: rule__XBooleanLiteral__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBooleanLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBooleanLiteral__Group__1" + + + // $ANTLR start "rule__XBooleanLiteral__Group__1__Impl" + // InternalExport.g:19955:1: rule__XBooleanLiteral__Group__1__Impl : ( ( rule__XBooleanLiteral__Alternatives_1 ) ) ; + public final void rule__XBooleanLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19959:1: ( ( ( rule__XBooleanLiteral__Alternatives_1 ) ) ) + // InternalExport.g:19960:1: ( ( rule__XBooleanLiteral__Alternatives_1 ) ) + { + // InternalExport.g:19960:1: ( ( rule__XBooleanLiteral__Alternatives_1 ) ) + // InternalExport.g:19961:2: ( rule__XBooleanLiteral__Alternatives_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1()); + } + // InternalExport.g:19962:2: ( rule__XBooleanLiteral__Alternatives_1 ) + // InternalExport.g:19962:3: rule__XBooleanLiteral__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__XBooleanLiteral__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBooleanLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XNullLiteral__Group__0" + // InternalExport.g:19971:1: rule__XNullLiteral__Group__0 : rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1 ; + public final void rule__XNullLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19975:1: ( rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1 ) + // InternalExport.g:19976:2: rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1 + { + pushFollow(FOLLOW_119); + rule__XNullLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XNullLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNullLiteral__Group__0" + + + // $ANTLR start "rule__XNullLiteral__Group__0__Impl" + // InternalExport.g:19983:1: rule__XNullLiteral__Group__0__Impl : ( () ) ; + public final void rule__XNullLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:19987:1: ( ( () ) ) + // InternalExport.g:19988:1: ( () ) + { + // InternalExport.g:19988:1: ( () ) + // InternalExport.g:19989:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0()); + } + // InternalExport.g:19990:2: () + // InternalExport.g:19990:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNullLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XNullLiteral__Group__1" + // InternalExport.g:19998:1: rule__XNullLiteral__Group__1 : rule__XNullLiteral__Group__1__Impl ; + public final void rule__XNullLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20002:1: ( rule__XNullLiteral__Group__1__Impl ) + // InternalExport.g:20003:2: rule__XNullLiteral__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XNullLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNullLiteral__Group__1" + + + // $ANTLR start "rule__XNullLiteral__Group__1__Impl" + // InternalExport.g:20009:1: rule__XNullLiteral__Group__1__Impl : ( 'null' ) ; + public final void rule__XNullLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20013:1: ( ( 'null' ) ) + // InternalExport.g:20014:1: ( 'null' ) + { + // InternalExport.g:20014:1: ( 'null' ) + // InternalExport.g:20015:2: 'null' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); + } + match(input,100,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNullLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XNumberLiteral__Group__0" + // InternalExport.g:20025:1: rule__XNumberLiteral__Group__0 : rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1 ; + public final void rule__XNumberLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20029:1: ( rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1 ) + // InternalExport.g:20030:2: rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1 + { + pushFollow(FOLLOW_120); + rule__XNumberLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XNumberLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNumberLiteral__Group__0" + + + // $ANTLR start "rule__XNumberLiteral__Group__0__Impl" + // InternalExport.g:20037:1: rule__XNumberLiteral__Group__0__Impl : ( () ) ; + public final void rule__XNumberLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20041:1: ( ( () ) ) + // InternalExport.g:20042:1: ( () ) + { + // InternalExport.g:20042:1: ( () ) + // InternalExport.g:20043:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0()); + } + // InternalExport.g:20044:2: () + // InternalExport.g:20044:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNumberLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XNumberLiteral__Group__1" + // InternalExport.g:20052:1: rule__XNumberLiteral__Group__1 : rule__XNumberLiteral__Group__1__Impl ; + public final void rule__XNumberLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20056:1: ( rule__XNumberLiteral__Group__1__Impl ) + // InternalExport.g:20057:2: rule__XNumberLiteral__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XNumberLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNumberLiteral__Group__1" + + + // $ANTLR start "rule__XNumberLiteral__Group__1__Impl" + // InternalExport.g:20063:1: rule__XNumberLiteral__Group__1__Impl : ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) ; + public final void rule__XNumberLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20067:1: ( ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) ) + // InternalExport.g:20068:1: ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) + { + // InternalExport.g:20068:1: ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) + // InternalExport.g:20069:2: ( rule__XNumberLiteral__ValueAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1()); + } + // InternalExport.g:20070:2: ( rule__XNumberLiteral__ValueAssignment_1 ) + // InternalExport.g:20070:3: rule__XNumberLiteral__ValueAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XNumberLiteral__ValueAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNumberLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XStringLiteral__Group__0" + // InternalExport.g:20079:1: rule__XStringLiteral__Group__0 : rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1 ; + public final void rule__XStringLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20083:1: ( rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1 ) + // InternalExport.g:20084:2: rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1 + { + pushFollow(FOLLOW_14); + rule__XStringLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XStringLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XStringLiteral__Group__0" + + + // $ANTLR start "rule__XStringLiteral__Group__0__Impl" + // InternalExport.g:20091:1: rule__XStringLiteral__Group__0__Impl : ( () ) ; + public final void rule__XStringLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20095:1: ( ( () ) ) + // InternalExport.g:20096:1: ( () ) + { + // InternalExport.g:20096:1: ( () ) + // InternalExport.g:20097:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0()); + } + // InternalExport.g:20098:2: () + // InternalExport.g:20098:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XStringLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XStringLiteral__Group__1" + // InternalExport.g:20106:1: rule__XStringLiteral__Group__1 : rule__XStringLiteral__Group__1__Impl ; + public final void rule__XStringLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20110:1: ( rule__XStringLiteral__Group__1__Impl ) + // InternalExport.g:20111:2: rule__XStringLiteral__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XStringLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XStringLiteral__Group__1" + + + // $ANTLR start "rule__XStringLiteral__Group__1__Impl" + // InternalExport.g:20117:1: rule__XStringLiteral__Group__1__Impl : ( ( rule__XStringLiteral__ValueAssignment_1 ) ) ; + public final void rule__XStringLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20121:1: ( ( ( rule__XStringLiteral__ValueAssignment_1 ) ) ) + // InternalExport.g:20122:1: ( ( rule__XStringLiteral__ValueAssignment_1 ) ) + { + // InternalExport.g:20122:1: ( ( rule__XStringLiteral__ValueAssignment_1 ) ) + // InternalExport.g:20123:2: ( rule__XStringLiteral__ValueAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXStringLiteralAccess().getValueAssignment_1()); + } + // InternalExport.g:20124:2: ( rule__XStringLiteral__ValueAssignment_1 ) + // InternalExport.g:20124:3: rule__XStringLiteral__ValueAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XStringLiteral__ValueAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXStringLiteralAccess().getValueAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XStringLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__0" + // InternalExport.g:20133:1: rule__XTypeLiteral__Group__0 : rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1 ; + public final void rule__XTypeLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20137:1: ( rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1 ) + // InternalExport.g:20138:2: rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1 + { + pushFollow(FOLLOW_121); + rule__XTypeLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__0" + + + // $ANTLR start "rule__XTypeLiteral__Group__0__Impl" + // InternalExport.g:20145:1: rule__XTypeLiteral__Group__0__Impl : ( () ) ; + public final void rule__XTypeLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20149:1: ( ( () ) ) + // InternalExport.g:20150:1: ( () ) + { + // InternalExport.g:20150:1: ( () ) + // InternalExport.g:20151:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0()); + } + // InternalExport.g:20152:2: () + // InternalExport.g:20152:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__1" + // InternalExport.g:20160:1: rule__XTypeLiteral__Group__1 : rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2 ; + public final void rule__XTypeLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20164:1: ( rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2 ) + // InternalExport.g:20165:2: rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2 + { + pushFollow(FOLLOW_34); + rule__XTypeLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__1" + + + // $ANTLR start "rule__XTypeLiteral__Group__1__Impl" + // InternalExport.g:20172:1: rule__XTypeLiteral__Group__1__Impl : ( 'typeof' ) ; + public final void rule__XTypeLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20176:1: ( ( 'typeof' ) ) + // InternalExport.g:20177:1: ( 'typeof' ) + { + // InternalExport.g:20177:1: ( 'typeof' ) + // InternalExport.g:20178:2: 'typeof' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); + } + match(input,101,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__2" + // InternalExport.g:20187:1: rule__XTypeLiteral__Group__2 : rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3 ; + public final void rule__XTypeLiteral__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20191:1: ( rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3 ) + // InternalExport.g:20192:2: rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3 + { + pushFollow(FOLLOW_11); + rule__XTypeLiteral__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__2" + + + // $ANTLR start "rule__XTypeLiteral__Group__2__Impl" + // InternalExport.g:20199:1: rule__XTypeLiteral__Group__2__Impl : ( '(' ) ; + public final void rule__XTypeLiteral__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20203:1: ( ( '(' ) ) + // InternalExport.g:20204:1: ( '(' ) + { + // InternalExport.g:20204:1: ( '(' ) + // InternalExport.g:20205:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__2__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__3" + // InternalExport.g:20214:1: rule__XTypeLiteral__Group__3 : rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4 ; + public final void rule__XTypeLiteral__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20218:1: ( rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4 ) + // InternalExport.g:20219:2: rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4 + { + pushFollow(FOLLOW_122); + rule__XTypeLiteral__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__3" + + + // $ANTLR start "rule__XTypeLiteral__Group__3__Impl" + // InternalExport.g:20226:1: rule__XTypeLiteral__Group__3__Impl : ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) ; + public final void rule__XTypeLiteral__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20230:1: ( ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) ) + // InternalExport.g:20231:1: ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) + { + // InternalExport.g:20231:1: ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) + // InternalExport.g:20232:2: ( rule__XTypeLiteral__TypeAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3()); + } + // InternalExport.g:20233:2: ( rule__XTypeLiteral__TypeAssignment_3 ) + // InternalExport.g:20233:3: rule__XTypeLiteral__TypeAssignment_3 + { + pushFollow(FOLLOW_2); + rule__XTypeLiteral__TypeAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__3__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__4" + // InternalExport.g:20241:1: rule__XTypeLiteral__Group__4 : rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5 ; + public final void rule__XTypeLiteral__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20245:1: ( rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5 ) + // InternalExport.g:20246:2: rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5 + { + pushFollow(FOLLOW_122); + rule__XTypeLiteral__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__4" + + + // $ANTLR start "rule__XTypeLiteral__Group__4__Impl" + // InternalExport.g:20253:1: rule__XTypeLiteral__Group__4__Impl : ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) ; + public final void rule__XTypeLiteral__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20257:1: ( ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) ) + // InternalExport.g:20258:1: ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) + { + // InternalExport.g:20258:1: ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) + // InternalExport.g:20259:2: ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4()); + } + // InternalExport.g:20260:2: ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* + loop164: + do { + int alt164=2; + int LA164_0 = input.LA(1); + + if ( (LA164_0==72) ) { + alt164=1; + } + + + switch (alt164) { + case 1 : + // InternalExport.g:20260:3: rule__XTypeLiteral__ArrayDimensionsAssignment_4 + { + pushFollow(FOLLOW_123); + rule__XTypeLiteral__ArrayDimensionsAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop164; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__4__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__5" + // InternalExport.g:20268:1: rule__XTypeLiteral__Group__5 : rule__XTypeLiteral__Group__5__Impl ; + public final void rule__XTypeLiteral__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20272:1: ( rule__XTypeLiteral__Group__5__Impl ) + // InternalExport.g:20273:2: rule__XTypeLiteral__Group__5__Impl + { + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__5" + + + // $ANTLR start "rule__XTypeLiteral__Group__5__Impl" + // InternalExport.g:20279:1: rule__XTypeLiteral__Group__5__Impl : ( ')' ) ; + public final void rule__XTypeLiteral__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20283:1: ( ( ')' ) ) + // InternalExport.g:20284:1: ( ')' ) + { + // InternalExport.g:20284:1: ( ')' ) + // InternalExport.g:20285:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__5__Impl" + + + // $ANTLR start "rule__XThrowExpression__Group__0" + // InternalExport.g:20295:1: rule__XThrowExpression__Group__0 : rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1 ; + public final void rule__XThrowExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20299:1: ( rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1 ) + // InternalExport.g:20300:2: rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1 + { + pushFollow(FOLLOW_124); + rule__XThrowExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XThrowExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__0" + + + // $ANTLR start "rule__XThrowExpression__Group__0__Impl" + // InternalExport.g:20307:1: rule__XThrowExpression__Group__0__Impl : ( () ) ; + public final void rule__XThrowExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20311:1: ( ( () ) ) + // InternalExport.g:20312:1: ( () ) + { + // InternalExport.g:20312:1: ( () ) + // InternalExport.g:20313:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0()); + } + // InternalExport.g:20314:2: () + // InternalExport.g:20314:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__0__Impl" + + + // $ANTLR start "rule__XThrowExpression__Group__1" + // InternalExport.g:20322:1: rule__XThrowExpression__Group__1 : rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2 ; + public final void rule__XThrowExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20326:1: ( rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2 ) + // InternalExport.g:20327:2: rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2 + { + pushFollow(FOLLOW_98); + rule__XThrowExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XThrowExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__1" + + + // $ANTLR start "rule__XThrowExpression__Group__1__Impl" + // InternalExport.g:20334:1: rule__XThrowExpression__Group__1__Impl : ( 'throw' ) ; + public final void rule__XThrowExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20338:1: ( ( 'throw' ) ) + // InternalExport.g:20339:1: ( 'throw' ) + { + // InternalExport.g:20339:1: ( 'throw' ) + // InternalExport.g:20340:2: 'throw' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); + } + match(input,102,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__1__Impl" + + + // $ANTLR start "rule__XThrowExpression__Group__2" + // InternalExport.g:20349:1: rule__XThrowExpression__Group__2 : rule__XThrowExpression__Group__2__Impl ; + public final void rule__XThrowExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20353:1: ( rule__XThrowExpression__Group__2__Impl ) + // InternalExport.g:20354:2: rule__XThrowExpression__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__XThrowExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__2" + + + // $ANTLR start "rule__XThrowExpression__Group__2__Impl" + // InternalExport.g:20360:1: rule__XThrowExpression__Group__2__Impl : ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) ; + public final void rule__XThrowExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20364:1: ( ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) ) + // InternalExport.g:20365:1: ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) + { + // InternalExport.g:20365:1: ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) + // InternalExport.g:20366:2: ( rule__XThrowExpression__ExpressionAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2()); + } + // InternalExport.g:20367:2: ( rule__XThrowExpression__ExpressionAssignment_2 ) + // InternalExport.g:20367:3: rule__XThrowExpression__ExpressionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XThrowExpression__ExpressionAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__2__Impl" + + + // $ANTLR start "rule__XReturnExpression__Group__0" + // InternalExport.g:20376:1: rule__XReturnExpression__Group__0 : rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1 ; + public final void rule__XReturnExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20380:1: ( rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1 ) + // InternalExport.g:20381:2: rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1 + { + pushFollow(FOLLOW_125); + rule__XReturnExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XReturnExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__0" + + + // $ANTLR start "rule__XReturnExpression__Group__0__Impl" + // InternalExport.g:20388:1: rule__XReturnExpression__Group__0__Impl : ( () ) ; + public final void rule__XReturnExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20392:1: ( ( () ) ) + // InternalExport.g:20393:1: ( () ) + { + // InternalExport.g:20393:1: ( () ) + // InternalExport.g:20394:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0()); + } + // InternalExport.g:20395:2: () + // InternalExport.g:20395:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__0__Impl" + + + // $ANTLR start "rule__XReturnExpression__Group__1" + // InternalExport.g:20403:1: rule__XReturnExpression__Group__1 : rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2 ; + public final void rule__XReturnExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20407:1: ( rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2 ) + // InternalExport.g:20408:2: rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2 + { + pushFollow(FOLLOW_98); + rule__XReturnExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XReturnExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__1" + + + // $ANTLR start "rule__XReturnExpression__Group__1__Impl" + // InternalExport.g:20415:1: rule__XReturnExpression__Group__1__Impl : ( 'return' ) ; + public final void rule__XReturnExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20419:1: ( ( 'return' ) ) + // InternalExport.g:20420:1: ( 'return' ) + { + // InternalExport.g:20420:1: ( 'return' ) + // InternalExport.g:20421:2: 'return' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); + } + match(input,103,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__1__Impl" + + + // $ANTLR start "rule__XReturnExpression__Group__2" + // InternalExport.g:20430:1: rule__XReturnExpression__Group__2 : rule__XReturnExpression__Group__2__Impl ; + public final void rule__XReturnExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20434:1: ( rule__XReturnExpression__Group__2__Impl ) + // InternalExport.g:20435:2: rule__XReturnExpression__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__XReturnExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__2" + + + // $ANTLR start "rule__XReturnExpression__Group__2__Impl" + // InternalExport.g:20441:1: rule__XReturnExpression__Group__2__Impl : ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) ; + public final void rule__XReturnExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20445:1: ( ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) ) + // InternalExport.g:20446:1: ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) + { + // InternalExport.g:20446:1: ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) + // InternalExport.g:20447:2: ( rule__XReturnExpression__ExpressionAssignment_2 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2()); + } + // InternalExport.g:20448:2: ( rule__XReturnExpression__ExpressionAssignment_2 )? + int alt165=2; + alt165 = dfa165.predict(input); + switch (alt165) { + case 1 : + // InternalExport.g:20448:3: rule__XReturnExpression__ExpressionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XReturnExpression__ExpressionAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__2__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__0" + // InternalExport.g:20457:1: rule__XTryCatchFinallyExpression__Group__0 : rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1 ; + public final void rule__XTryCatchFinallyExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20461:1: ( rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1 ) + // InternalExport.g:20462:2: rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1 + { + pushFollow(FOLLOW_126); + rule__XTryCatchFinallyExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__0" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__0__Impl" + // InternalExport.g:20469:1: rule__XTryCatchFinallyExpression__Group__0__Impl : ( () ) ; + public final void rule__XTryCatchFinallyExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20473:1: ( ( () ) ) + // InternalExport.g:20474:1: ( () ) + { + // InternalExport.g:20474:1: ( () ) + // InternalExport.g:20475:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0()); + } + // InternalExport.g:20476:2: () + // InternalExport.g:20476:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__0__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__1" + // InternalExport.g:20484:1: rule__XTryCatchFinallyExpression__Group__1 : rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2 ; + public final void rule__XTryCatchFinallyExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20488:1: ( rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2 ) + // InternalExport.g:20489:2: rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2 + { + pushFollow(FOLLOW_98); + rule__XTryCatchFinallyExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__1" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__1__Impl" + // InternalExport.g:20496:1: rule__XTryCatchFinallyExpression__Group__1__Impl : ( 'try' ) ; + public final void rule__XTryCatchFinallyExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20500:1: ( ( 'try' ) ) + // InternalExport.g:20501:1: ( 'try' ) + { + // InternalExport.g:20501:1: ( 'try' ) + // InternalExport.g:20502:2: 'try' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); + } + match(input,104,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__1__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__2" + // InternalExport.g:20511:1: rule__XTryCatchFinallyExpression__Group__2 : rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3 ; + public final void rule__XTryCatchFinallyExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20515:1: ( rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3 ) + // InternalExport.g:20516:2: rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3 + { + pushFollow(FOLLOW_127); + rule__XTryCatchFinallyExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__2" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__2__Impl" + // InternalExport.g:20523:1: rule__XTryCatchFinallyExpression__Group__2__Impl : ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) ; + public final void rule__XTryCatchFinallyExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20527:1: ( ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) ) + // InternalExport.g:20528:1: ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) + { + // InternalExport.g:20528:1: ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) + // InternalExport.g:20529:2: ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2()); + } + // InternalExport.g:20530:2: ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) + // InternalExport.g:20530:3: rule__XTryCatchFinallyExpression__ExpressionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__ExpressionAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__2__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__3" + // InternalExport.g:20538:1: rule__XTryCatchFinallyExpression__Group__3 : rule__XTryCatchFinallyExpression__Group__3__Impl ; + public final void rule__XTryCatchFinallyExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20542:1: ( rule__XTryCatchFinallyExpression__Group__3__Impl ) + // InternalExport.g:20543:2: rule__XTryCatchFinallyExpression__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__3" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__3__Impl" + // InternalExport.g:20549:1: rule__XTryCatchFinallyExpression__Group__3__Impl : ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) ; + public final void rule__XTryCatchFinallyExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20553:1: ( ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) ) + // InternalExport.g:20554:1: ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) + { + // InternalExport.g:20554:1: ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) + // InternalExport.g:20555:2: ( rule__XTryCatchFinallyExpression__Alternatives_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3()); + } + // InternalExport.g:20556:2: ( rule__XTryCatchFinallyExpression__Alternatives_3 ) + // InternalExport.g:20556:3: rule__XTryCatchFinallyExpression__Alternatives_3 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Alternatives_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__3__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__0" + // InternalExport.g:20565:1: rule__XTryCatchFinallyExpression__Group_3_0__0 : rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1 ; + public final void rule__XTryCatchFinallyExpression__Group_3_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20569:1: ( rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1 ) + // InternalExport.g:20570:2: rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1 + { + pushFollow(FOLLOW_128); + rule__XTryCatchFinallyExpression__Group_3_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0__0" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__0__Impl" + // InternalExport.g:20577:1: rule__XTryCatchFinallyExpression__Group_3_0__0__Impl : ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20581:1: ( ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) ) + // InternalExport.g:20582:1: ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) + { + // InternalExport.g:20582:1: ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) + // InternalExport.g:20583:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) + { + // InternalExport.g:20583:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) + // InternalExport.g:20584:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); + } + // InternalExport.g:20585:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) + // InternalExport.g:20585:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 + { + pushFollow(FOLLOW_129); + rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); + } + + } + + // InternalExport.g:20588:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) + // InternalExport.g:20589:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); + } + // InternalExport.g:20590:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* + loop166: + do { + int alt166=2; + int LA166_0 = input.LA(1); + + if ( (LA166_0==107) ) { + int LA166_2 = input.LA(2); + + if ( (synpred240_InternalExport()) ) { + alt166=1; + } + + + } + + + switch (alt166) { + case 1 : + // InternalExport.g:20590:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 + { + pushFollow(FOLLOW_129); + rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop166; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); + } + + } + + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0__0__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__1" + // InternalExport.g:20599:1: rule__XTryCatchFinallyExpression__Group_3_0__1 : rule__XTryCatchFinallyExpression__Group_3_0__1__Impl ; + public final void rule__XTryCatchFinallyExpression__Group_3_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20603:1: ( rule__XTryCatchFinallyExpression__Group_3_0__1__Impl ) + // InternalExport.g:20604:2: rule__XTryCatchFinallyExpression__Group_3_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0__1" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__1__Impl" + // InternalExport.g:20610:1: rule__XTryCatchFinallyExpression__Group_3_0__1__Impl : ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20614:1: ( ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) ) + // InternalExport.g:20615:1: ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) + { + // InternalExport.g:20615:1: ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) + // InternalExport.g:20616:2: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1()); + } + // InternalExport.g:20617:2: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? + int alt167=2; + int LA167_0 = input.LA(1); + + if ( (LA167_0==105) ) { + int LA167_1 = input.LA(2); + + if ( (synpred241_InternalExport()) ) { + alt167=1; + } + } + switch (alt167) { + case 1 : + // InternalExport.g:20617:3: rule__XTryCatchFinallyExpression__Group_3_0_1__0 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0__1__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__0" + // InternalExport.g:20626:1: rule__XTryCatchFinallyExpression__Group_3_0_1__0 : rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1 ; + public final void rule__XTryCatchFinallyExpression__Group_3_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20630:1: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1 ) + // InternalExport.g:20631:2: rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1 + { + pushFollow(FOLLOW_98); + rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0_1__0" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl" + // InternalExport.g:20638:1: rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl : ( ( 'finally' ) ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20642:1: ( ( ( 'finally' ) ) ) + // InternalExport.g:20643:1: ( ( 'finally' ) ) + { + // InternalExport.g:20643:1: ( ( 'finally' ) ) + // InternalExport.g:20644:2: ( 'finally' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); + } + // InternalExport.g:20645:2: ( 'finally' ) + // InternalExport.g:20645:3: 'finally' + { + match(input,105,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__1" + // InternalExport.g:20653:1: rule__XTryCatchFinallyExpression__Group_3_0_1__1 : rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl ; + public final void rule__XTryCatchFinallyExpression__Group_3_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20657:1: ( rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl ) + // InternalExport.g:20658:2: rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0_1__1" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl" + // InternalExport.g:20664:1: rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl : ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20668:1: ( ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) ) + // InternalExport.g:20669:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) + { + // InternalExport.g:20669:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) + // InternalExport.g:20670:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1()); + } + // InternalExport.g:20671:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) + // InternalExport.g:20671:3: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__0" + // InternalExport.g:20680:1: rule__XTryCatchFinallyExpression__Group_3_1__0 : rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1 ; + public final void rule__XTryCatchFinallyExpression__Group_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20684:1: ( rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1 ) + // InternalExport.g:20685:2: rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1 + { + pushFollow(FOLLOW_98); + rule__XTryCatchFinallyExpression__Group_3_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_1__0" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__0__Impl" + // InternalExport.g:20692:1: rule__XTryCatchFinallyExpression__Group_3_1__0__Impl : ( 'finally' ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20696:1: ( ( 'finally' ) ) + // InternalExport.g:20697:1: ( 'finally' ) + { + // InternalExport.g:20697:1: ( 'finally' ) + // InternalExport.g:20698:2: 'finally' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); + } + match(input,105,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_1__0__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__1" + // InternalExport.g:20707:1: rule__XTryCatchFinallyExpression__Group_3_1__1 : rule__XTryCatchFinallyExpression__Group_3_1__1__Impl ; + public final void rule__XTryCatchFinallyExpression__Group_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20711:1: ( rule__XTryCatchFinallyExpression__Group_3_1__1__Impl ) + // InternalExport.g:20712:2: rule__XTryCatchFinallyExpression__Group_3_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_1__1" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__1__Impl" + // InternalExport.g:20718:1: rule__XTryCatchFinallyExpression__Group_3_1__1__Impl : ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20722:1: ( ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) ) + // InternalExport.g:20723:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) + { + // InternalExport.g:20723:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) + // InternalExport.g:20724:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1()); + } + // InternalExport.g:20725:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) + // InternalExport.g:20725:3: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_1__1__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__0" + // InternalExport.g:20734:1: rule__XSynchronizedExpression__Group__0 : rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1 ; + public final void rule__XSynchronizedExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20738:1: ( rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1 ) + // InternalExport.g:20739:2: rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1 + { + pushFollow(FOLLOW_98); + rule__XSynchronizedExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__0" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__0__Impl" + // InternalExport.g:20746:1: rule__XSynchronizedExpression__Group__0__Impl : ( ( rule__XSynchronizedExpression__Group_0__0 ) ) ; + public final void rule__XSynchronizedExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20750:1: ( ( ( rule__XSynchronizedExpression__Group_0__0 ) ) ) + // InternalExport.g:20751:1: ( ( rule__XSynchronizedExpression__Group_0__0 ) ) + { + // InternalExport.g:20751:1: ( ( rule__XSynchronizedExpression__Group_0__0 ) ) + // InternalExport.g:20752:2: ( rule__XSynchronizedExpression__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0()); + } + // InternalExport.g:20753:2: ( rule__XSynchronizedExpression__Group_0__0 ) + // InternalExport.g:20753:3: rule__XSynchronizedExpression__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__0__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__1" + // InternalExport.g:20761:1: rule__XSynchronizedExpression__Group__1 : rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2 ; + public final void rule__XSynchronizedExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20765:1: ( rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2 ) + // InternalExport.g:20766:2: rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2 + { + pushFollow(FOLLOW_25); + rule__XSynchronizedExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__1" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__1__Impl" + // InternalExport.g:20773:1: rule__XSynchronizedExpression__Group__1__Impl : ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) ; + public final void rule__XSynchronizedExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20777:1: ( ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) ) + // InternalExport.g:20778:1: ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) + { + // InternalExport.g:20778:1: ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) + // InternalExport.g:20779:2: ( rule__XSynchronizedExpression__ParamAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1()); + } + // InternalExport.g:20780:2: ( rule__XSynchronizedExpression__ParamAssignment_1 ) + // InternalExport.g:20780:3: rule__XSynchronizedExpression__ParamAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__ParamAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__1__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__2" + // InternalExport.g:20788:1: rule__XSynchronizedExpression__Group__2 : rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3 ; + public final void rule__XSynchronizedExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20792:1: ( rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3 ) + // InternalExport.g:20793:2: rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3 + { + pushFollow(FOLLOW_98); + rule__XSynchronizedExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__2" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__2__Impl" + // InternalExport.g:20800:1: rule__XSynchronizedExpression__Group__2__Impl : ( ')' ) ; + public final void rule__XSynchronizedExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20804:1: ( ( ')' ) ) + // InternalExport.g:20805:1: ( ')' ) + { + // InternalExport.g:20805:1: ( ')' ) + // InternalExport.g:20806:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__2__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__3" + // InternalExport.g:20815:1: rule__XSynchronizedExpression__Group__3 : rule__XSynchronizedExpression__Group__3__Impl ; + public final void rule__XSynchronizedExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20819:1: ( rule__XSynchronizedExpression__Group__3__Impl ) + // InternalExport.g:20820:2: rule__XSynchronizedExpression__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__3" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__3__Impl" + // InternalExport.g:20826:1: rule__XSynchronizedExpression__Group__3__Impl : ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) ; + public final void rule__XSynchronizedExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20830:1: ( ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) ) + // InternalExport.g:20831:1: ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) + { + // InternalExport.g:20831:1: ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) + // InternalExport.g:20832:2: ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3()); + } + // InternalExport.g:20833:2: ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) + // InternalExport.g:20833:3: rule__XSynchronizedExpression__ExpressionAssignment_3 + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__ExpressionAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__3__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0__0" + // InternalExport.g:20842:1: rule__XSynchronizedExpression__Group_0__0 : rule__XSynchronizedExpression__Group_0__0__Impl ; + public final void rule__XSynchronizedExpression__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20846:1: ( rule__XSynchronizedExpression__Group_0__0__Impl ) + // InternalExport.g:20847:2: rule__XSynchronizedExpression__Group_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0__0" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0__0__Impl" + // InternalExport.g:20853:1: rule__XSynchronizedExpression__Group_0__0__Impl : ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) ; + public final void rule__XSynchronizedExpression__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20857:1: ( ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) ) + // InternalExport.g:20858:1: ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) + { + // InternalExport.g:20858:1: ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) + // InternalExport.g:20859:2: ( rule__XSynchronizedExpression__Group_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0()); + } + // InternalExport.g:20860:2: ( rule__XSynchronizedExpression__Group_0_0__0 ) + // InternalExport.g:20860:3: rule__XSynchronizedExpression__Group_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0__0__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__0" + // InternalExport.g:20869:1: rule__XSynchronizedExpression__Group_0_0__0 : rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1 ; + public final void rule__XSynchronizedExpression__Group_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20873:1: ( rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1 ) + // InternalExport.g:20874:2: rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1 + { + pushFollow(FOLLOW_130); + rule__XSynchronizedExpression__Group_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__0" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__0__Impl" + // InternalExport.g:20881:1: rule__XSynchronizedExpression__Group_0_0__0__Impl : ( () ) ; + public final void rule__XSynchronizedExpression__Group_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20885:1: ( ( () ) ) + // InternalExport.g:20886:1: ( () ) + { + // InternalExport.g:20886:1: ( () ) + // InternalExport.g:20887:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0()); + } + // InternalExport.g:20888:2: () + // InternalExport.g:20888:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__0__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__1" + // InternalExport.g:20896:1: rule__XSynchronizedExpression__Group_0_0__1 : rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2 ; + public final void rule__XSynchronizedExpression__Group_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20900:1: ( rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2 ) + // InternalExport.g:20901:2: rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2 + { + pushFollow(FOLLOW_34); + rule__XSynchronizedExpression__Group_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__1" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__1__Impl" + // InternalExport.g:20908:1: rule__XSynchronizedExpression__Group_0_0__1__Impl : ( 'synchronized' ) ; + public final void rule__XSynchronizedExpression__Group_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20912:1: ( ( 'synchronized' ) ) + // InternalExport.g:20913:1: ( 'synchronized' ) + { + // InternalExport.g:20913:1: ( 'synchronized' ) + // InternalExport.g:20914:2: 'synchronized' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); + } + match(input,106,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__1__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__2" + // InternalExport.g:20923:1: rule__XSynchronizedExpression__Group_0_0__2 : rule__XSynchronizedExpression__Group_0_0__2__Impl ; + public final void rule__XSynchronizedExpression__Group_0_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20927:1: ( rule__XSynchronizedExpression__Group_0_0__2__Impl ) + // InternalExport.g:20928:2: rule__XSynchronizedExpression__Group_0_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__2" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__2__Impl" + // InternalExport.g:20934:1: rule__XSynchronizedExpression__Group_0_0__2__Impl : ( '(' ) ; + public final void rule__XSynchronizedExpression__Group_0_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20938:1: ( ( '(' ) ) + // InternalExport.g:20939:1: ( '(' ) + { + // InternalExport.g:20939:1: ( '(' ) + // InternalExport.g:20940:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__2__Impl" + + + // $ANTLR start "rule__XCatchClause__Group__0" + // InternalExport.g:20950:1: rule__XCatchClause__Group__0 : rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1 ; + public final void rule__XCatchClause__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20954:1: ( rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1 ) + // InternalExport.g:20955:2: rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1 + { + pushFollow(FOLLOW_34); + rule__XCatchClause__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCatchClause__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__0" + + + // $ANTLR start "rule__XCatchClause__Group__0__Impl" + // InternalExport.g:20962:1: rule__XCatchClause__Group__0__Impl : ( ( 'catch' ) ) ; + public final void rule__XCatchClause__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20966:1: ( ( ( 'catch' ) ) ) + // InternalExport.g:20967:1: ( ( 'catch' ) ) + { + // InternalExport.g:20967:1: ( ( 'catch' ) ) + // InternalExport.g:20968:2: ( 'catch' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); + } + // InternalExport.g:20969:2: ( 'catch' ) + // InternalExport.g:20969:3: 'catch' + { + match(input,107,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__0__Impl" + + + // $ANTLR start "rule__XCatchClause__Group__1" + // InternalExport.g:20977:1: rule__XCatchClause__Group__1 : rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2 ; + public final void rule__XCatchClause__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20981:1: ( rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2 ) + // InternalExport.g:20982:2: rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2 + { + pushFollow(FOLLOW_78); + rule__XCatchClause__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCatchClause__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__1" + + + // $ANTLR start "rule__XCatchClause__Group__1__Impl" + // InternalExport.g:20989:1: rule__XCatchClause__Group__1__Impl : ( '(' ) ; + public final void rule__XCatchClause__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:20993:1: ( ( '(' ) ) + // InternalExport.g:20994:1: ( '(' ) + { + // InternalExport.g:20994:1: ( '(' ) + // InternalExport.g:20995:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__1__Impl" + + + // $ANTLR start "rule__XCatchClause__Group__2" + // InternalExport.g:21004:1: rule__XCatchClause__Group__2 : rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3 ; + public final void rule__XCatchClause__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21008:1: ( rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3 ) + // InternalExport.g:21009:2: rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3 + { + pushFollow(FOLLOW_25); + rule__XCatchClause__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCatchClause__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__2" + + + // $ANTLR start "rule__XCatchClause__Group__2__Impl" + // InternalExport.g:21016:1: rule__XCatchClause__Group__2__Impl : ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) ; + public final void rule__XCatchClause__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21020:1: ( ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) ) + // InternalExport.g:21021:1: ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) + { + // InternalExport.g:21021:1: ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) + // InternalExport.g:21022:2: ( rule__XCatchClause__DeclaredParamAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2()); + } + // InternalExport.g:21023:2: ( rule__XCatchClause__DeclaredParamAssignment_2 ) + // InternalExport.g:21023:3: rule__XCatchClause__DeclaredParamAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XCatchClause__DeclaredParamAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__2__Impl" + + + // $ANTLR start "rule__XCatchClause__Group__3" + // InternalExport.g:21031:1: rule__XCatchClause__Group__3 : rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4 ; + public final void rule__XCatchClause__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21035:1: ( rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4 ) + // InternalExport.g:21036:2: rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4 + { + pushFollow(FOLLOW_98); + rule__XCatchClause__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCatchClause__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__3" + + + // $ANTLR start "rule__XCatchClause__Group__3__Impl" + // InternalExport.g:21043:1: rule__XCatchClause__Group__3__Impl : ( ')' ) ; + public final void rule__XCatchClause__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21047:1: ( ( ')' ) ) + // InternalExport.g:21048:1: ( ')' ) + { + // InternalExport.g:21048:1: ( ')' ) + // InternalExport.g:21049:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__3__Impl" + + + // $ANTLR start "rule__XCatchClause__Group__4" + // InternalExport.g:21058:1: rule__XCatchClause__Group__4 : rule__XCatchClause__Group__4__Impl ; + public final void rule__XCatchClause__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21062:1: ( rule__XCatchClause__Group__4__Impl ) + // InternalExport.g:21063:2: rule__XCatchClause__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__XCatchClause__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__4" + + + // $ANTLR start "rule__XCatchClause__Group__4__Impl" + // InternalExport.g:21069:1: rule__XCatchClause__Group__4__Impl : ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) ; + public final void rule__XCatchClause__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21073:1: ( ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) ) + // InternalExport.g:21074:1: ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) + { + // InternalExport.g:21074:1: ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) + // InternalExport.g:21075:2: ( rule__XCatchClause__ExpressionAssignment_4 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4()); + } + // InternalExport.g:21076:2: ( rule__XCatchClause__ExpressionAssignment_4 ) + // InternalExport.g:21076:3: rule__XCatchClause__ExpressionAssignment_4 + { + pushFollow(FOLLOW_2); + rule__XCatchClause__ExpressionAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__4__Impl" + + + // $ANTLR start "rule__QualifiedName__Group__0" + // InternalExport.g:21085:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ; + public final void rule__QualifiedName__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21089:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ) + // InternalExport.g:21090:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 + { + pushFollow(FOLLOW_62); + rule__QualifiedName__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__QualifiedName__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group__0" + + + // $ANTLR start "rule__QualifiedName__Group__0__Impl" + // InternalExport.g:21097:1: rule__QualifiedName__Group__0__Impl : ( ruleValidID ) ; + public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21101:1: ( ( ruleValidID ) ) + // InternalExport.g:21102:1: ( ruleValidID ) + { + // InternalExport.g:21102:1: ( ruleValidID ) + // InternalExport.g:21103:2: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group__0__Impl" + + + // $ANTLR start "rule__QualifiedName__Group__1" + // InternalExport.g:21112:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ; + public final void rule__QualifiedName__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21116:1: ( rule__QualifiedName__Group__1__Impl ) + // InternalExport.g:21117:2: rule__QualifiedName__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__QualifiedName__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group__1" + + + // $ANTLR start "rule__QualifiedName__Group__1__Impl" + // InternalExport.g:21123:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ; + public final void rule__QualifiedName__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21127:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) ) + // InternalExport.g:21128:1: ( ( rule__QualifiedName__Group_1__0 )* ) + { + // InternalExport.g:21128:1: ( ( rule__QualifiedName__Group_1__0 )* ) + // InternalExport.g:21129:2: ( rule__QualifiedName__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getGroup_1()); + } + // InternalExport.g:21130:2: ( rule__QualifiedName__Group_1__0 )* + loop168: + do { + int alt168=2; + int LA168_0 = input.LA(1); + + if ( (LA168_0==58) ) { + int LA168_2 = input.LA(2); + + if ( (LA168_2==RULE_ID) ) { + int LA168_3 = input.LA(3); + + if ( (synpred242_InternalExport()) ) { + alt168=1; + } + + + } + + + } + + + switch (alt168) { + case 1 : + // InternalExport.g:21130:3: rule__QualifiedName__Group_1__0 + { + pushFollow(FOLLOW_63); + rule__QualifiedName__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop168; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group__1__Impl" + + + // $ANTLR start "rule__QualifiedName__Group_1__0" + // InternalExport.g:21139:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ; + public final void rule__QualifiedName__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21143:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ) + // InternalExport.g:21144:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 + { + pushFollow(FOLLOW_11); + rule__QualifiedName__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__QualifiedName__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group_1__0" + + + // $ANTLR start "rule__QualifiedName__Group_1__0__Impl" + // InternalExport.g:21151:1: rule__QualifiedName__Group_1__0__Impl : ( ( '.' ) ) ; + public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21155:1: ( ( ( '.' ) ) ) + // InternalExport.g:21156:1: ( ( '.' ) ) + { + // InternalExport.g:21156:1: ( ( '.' ) ) + // InternalExport.g:21157:2: ( '.' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); + } + // InternalExport.g:21158:2: ( '.' ) + // InternalExport.g:21158:3: '.' + { + match(input,58,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group_1__0__Impl" + + + // $ANTLR start "rule__QualifiedName__Group_1__1" + // InternalExport.g:21166:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ; + public final void rule__QualifiedName__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21170:1: ( rule__QualifiedName__Group_1__1__Impl ) + // InternalExport.g:21171:2: rule__QualifiedName__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__QualifiedName__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group_1__1" + + + // $ANTLR start "rule__QualifiedName__Group_1__1__Impl" + // InternalExport.g:21177:1: rule__QualifiedName__Group_1__1__Impl : ( ruleValidID ) ; + public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21181:1: ( ( ruleValidID ) ) + // InternalExport.g:21182:1: ( ruleValidID ) + { + // InternalExport.g:21182:1: ( ruleValidID ) + // InternalExport.g:21183:2: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group_1__1__Impl" + + + // $ANTLR start "rule__Number__Group_1__0" + // InternalExport.g:21193:1: rule__Number__Group_1__0 : rule__Number__Group_1__0__Impl rule__Number__Group_1__1 ; + public final void rule__Number__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21197:1: ( rule__Number__Group_1__0__Impl rule__Number__Group_1__1 ) + // InternalExport.g:21198:2: rule__Number__Group_1__0__Impl rule__Number__Group_1__1 + { + pushFollow(FOLLOW_62); + rule__Number__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Number__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1__0" + + + // $ANTLR start "rule__Number__Group_1__0__Impl" + // InternalExport.g:21205:1: rule__Number__Group_1__0__Impl : ( ( rule__Number__Alternatives_1_0 ) ) ; + public final void rule__Number__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21209:1: ( ( ( rule__Number__Alternatives_1_0 ) ) ) + // InternalExport.g:21210:1: ( ( rule__Number__Alternatives_1_0 ) ) + { + // InternalExport.g:21210:1: ( ( rule__Number__Alternatives_1_0 ) ) + // InternalExport.g:21211:2: ( rule__Number__Alternatives_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getAlternatives_1_0()); + } + // InternalExport.g:21212:2: ( rule__Number__Alternatives_1_0 ) + // InternalExport.g:21212:3: rule__Number__Alternatives_1_0 + { + pushFollow(FOLLOW_2); + rule__Number__Alternatives_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getAlternatives_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1__0__Impl" + + + // $ANTLR start "rule__Number__Group_1__1" + // InternalExport.g:21220:1: rule__Number__Group_1__1 : rule__Number__Group_1__1__Impl ; + public final void rule__Number__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21224:1: ( rule__Number__Group_1__1__Impl ) + // InternalExport.g:21225:2: rule__Number__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__Number__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1__1" + + + // $ANTLR start "rule__Number__Group_1__1__Impl" + // InternalExport.g:21231:1: rule__Number__Group_1__1__Impl : ( ( rule__Number__Group_1_1__0 )? ) ; + public final void rule__Number__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21235:1: ( ( ( rule__Number__Group_1_1__0 )? ) ) + // InternalExport.g:21236:1: ( ( rule__Number__Group_1_1__0 )? ) + { + // InternalExport.g:21236:1: ( ( rule__Number__Group_1_1__0 )? ) + // InternalExport.g:21237:2: ( rule__Number__Group_1_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getGroup_1_1()); + } + // InternalExport.g:21238:2: ( rule__Number__Group_1_1__0 )? + int alt169=2; + int LA169_0 = input.LA(1); + + if ( (LA169_0==58) ) { + int LA169_1 = input.LA(2); + + if ( ((LA169_1>=RULE_INT && LA169_1<=RULE_DECIMAL)) ) { + alt169=1; + } + } + switch (alt169) { + case 1 : + // InternalExport.g:21238:3: rule__Number__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__Number__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getGroup_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1__1__Impl" + + + // $ANTLR start "rule__Number__Group_1_1__0" + // InternalExport.g:21247:1: rule__Number__Group_1_1__0 : rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1 ; + public final void rule__Number__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21251:1: ( rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1 ) + // InternalExport.g:21252:2: rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1 + { + pushFollow(FOLLOW_131); + rule__Number__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Number__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1_1__0" + + + // $ANTLR start "rule__Number__Group_1_1__0__Impl" + // InternalExport.g:21259:1: rule__Number__Group_1_1__0__Impl : ( '.' ) ; + public final void rule__Number__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21263:1: ( ( '.' ) ) + // InternalExport.g:21264:1: ( '.' ) + { + // InternalExport.g:21264:1: ( '.' ) + // InternalExport.g:21265:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1_1__0__Impl" + + + // $ANTLR start "rule__Number__Group_1_1__1" + // InternalExport.g:21274:1: rule__Number__Group_1_1__1 : rule__Number__Group_1_1__1__Impl ; + public final void rule__Number__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21278:1: ( rule__Number__Group_1_1__1__Impl ) + // InternalExport.g:21279:2: rule__Number__Group_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__Number__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1_1__1" + + + // $ANTLR start "rule__Number__Group_1_1__1__Impl" + // InternalExport.g:21285:1: rule__Number__Group_1_1__1__Impl : ( ( rule__Number__Alternatives_1_1_1 ) ) ; + public final void rule__Number__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21289:1: ( ( ( rule__Number__Alternatives_1_1_1 ) ) ) + // InternalExport.g:21290:1: ( ( rule__Number__Alternatives_1_1_1 ) ) + { + // InternalExport.g:21290:1: ( ( rule__Number__Alternatives_1_1_1 ) ) + // InternalExport.g:21291:2: ( rule__Number__Alternatives_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getAlternatives_1_1_1()); + } + // InternalExport.g:21292:2: ( rule__Number__Alternatives_1_1_1 ) + // InternalExport.g:21292:3: rule__Number__Alternatives_1_1_1 + { + pushFollow(FOLLOW_2); + rule__Number__Alternatives_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getAlternatives_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1_1__1__Impl" + + + // $ANTLR start "rule__JvmTypeReference__Group_0__0" + // InternalExport.g:21301:1: rule__JvmTypeReference__Group_0__0 : rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1 ; + public final void rule__JvmTypeReference__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21305:1: ( rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1 ) + // InternalExport.g:21306:2: rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1 + { + pushFollow(FOLLOW_30); + rule__JvmTypeReference__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0__0" + + + // $ANTLR start "rule__JvmTypeReference__Group_0__0__Impl" + // InternalExport.g:21313:1: rule__JvmTypeReference__Group_0__0__Impl : ( ruleJvmParameterizedTypeReference ) ; + public final void rule__JvmTypeReference__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21317:1: ( ( ruleJvmParameterizedTypeReference ) ) + // InternalExport.g:21318:1: ( ruleJvmParameterizedTypeReference ) + { + // InternalExport.g:21318:1: ( ruleJvmParameterizedTypeReference ) + // InternalExport.g:21319:2: ruleJvmParameterizedTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmParameterizedTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0__0__Impl" + + + // $ANTLR start "rule__JvmTypeReference__Group_0__1" + // InternalExport.g:21328:1: rule__JvmTypeReference__Group_0__1 : rule__JvmTypeReference__Group_0__1__Impl ; + public final void rule__JvmTypeReference__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21332:1: ( rule__JvmTypeReference__Group_0__1__Impl ) + // InternalExport.g:21333:2: rule__JvmTypeReference__Group_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0__1" + + + // $ANTLR start "rule__JvmTypeReference__Group_0__1__Impl" + // InternalExport.g:21339:1: rule__JvmTypeReference__Group_0__1__Impl : ( ( rule__JvmTypeReference__Group_0_1__0 )* ) ; + public final void rule__JvmTypeReference__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21343:1: ( ( ( rule__JvmTypeReference__Group_0_1__0 )* ) ) + // InternalExport.g:21344:1: ( ( rule__JvmTypeReference__Group_0_1__0 )* ) + { + // InternalExport.g:21344:1: ( ( rule__JvmTypeReference__Group_0_1__0 )* ) + // InternalExport.g:21345:2: ( rule__JvmTypeReference__Group_0_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1()); + } + // InternalExport.g:21346:2: ( rule__JvmTypeReference__Group_0_1__0 )* + loop170: + do { + int alt170=2; + int LA170_0 = input.LA(1); + + if ( (LA170_0==72) ) { + int LA170_2 = input.LA(2); + + if ( (LA170_2==73) ) { + int LA170_3 = input.LA(3); + + if ( (synpred244_InternalExport()) ) { + alt170=1; + } + + + } + + + } + + + switch (alt170) { + case 1 : + // InternalExport.g:21346:3: rule__JvmTypeReference__Group_0_1__0 + { + pushFollow(FOLLOW_123); + rule__JvmTypeReference__Group_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop170; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0__1__Impl" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1__0" + // InternalExport.g:21355:1: rule__JvmTypeReference__Group_0_1__0 : rule__JvmTypeReference__Group_0_1__0__Impl ; + public final void rule__JvmTypeReference__Group_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21359:1: ( rule__JvmTypeReference__Group_0_1__0__Impl ) + // InternalExport.g:21360:2: rule__JvmTypeReference__Group_0_1__0__Impl + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1__0" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1__0__Impl" + // InternalExport.g:21366:1: rule__JvmTypeReference__Group_0_1__0__Impl : ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) ; + public final void rule__JvmTypeReference__Group_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21370:1: ( ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) ) + // InternalExport.g:21371:1: ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) + { + // InternalExport.g:21371:1: ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) + // InternalExport.g:21372:2: ( rule__JvmTypeReference__Group_0_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0()); + } + // InternalExport.g:21373:2: ( rule__JvmTypeReference__Group_0_1_0__0 ) + // InternalExport.g:21373:3: rule__JvmTypeReference__Group_0_1_0__0 + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1__0__Impl" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__0" + // InternalExport.g:21382:1: rule__JvmTypeReference__Group_0_1_0__0 : rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1 ; + public final void rule__JvmTypeReference__Group_0_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21386:1: ( rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1 ) + // InternalExport.g:21387:2: rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1 + { + pushFollow(FOLLOW_30); + rule__JvmTypeReference__Group_0_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1_0__0" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__0__Impl" + // InternalExport.g:21394:1: rule__JvmTypeReference__Group_0_1_0__0__Impl : ( () ) ; + public final void rule__JvmTypeReference__Group_0_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21398:1: ( ( () ) ) + // InternalExport.g:21399:1: ( () ) + { + // InternalExport.g:21399:1: ( () ) + // InternalExport.g:21400:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()); + } + // InternalExport.g:21401:2: () + // InternalExport.g:21401:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1_0__0__Impl" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__1" + // InternalExport.g:21409:1: rule__JvmTypeReference__Group_0_1_0__1 : rule__JvmTypeReference__Group_0_1_0__1__Impl ; + public final void rule__JvmTypeReference__Group_0_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21413:1: ( rule__JvmTypeReference__Group_0_1_0__1__Impl ) + // InternalExport.g:21414:2: rule__JvmTypeReference__Group_0_1_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1_0__1" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__1__Impl" + // InternalExport.g:21420:1: rule__JvmTypeReference__Group_0_1_0__1__Impl : ( ruleArrayBrackets ) ; + public final void rule__JvmTypeReference__Group_0_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21424:1: ( ( ruleArrayBrackets ) ) + // InternalExport.g:21425:1: ( ruleArrayBrackets ) + { + // InternalExport.g:21425:1: ( ruleArrayBrackets ) + // InternalExport.g:21426:2: ruleArrayBrackets + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1_0__1__Impl" + + + // $ANTLR start "rule__ArrayBrackets__Group__0" + // InternalExport.g:21436:1: rule__ArrayBrackets__Group__0 : rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1 ; + public final void rule__ArrayBrackets__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21440:1: ( rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1 ) + // InternalExport.g:21441:2: rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1 + { + pushFollow(FOLLOW_19); + rule__ArrayBrackets__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ArrayBrackets__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayBrackets__Group__0" + + + // $ANTLR start "rule__ArrayBrackets__Group__0__Impl" + // InternalExport.g:21448:1: rule__ArrayBrackets__Group__0__Impl : ( '[' ) ; + public final void rule__ArrayBrackets__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21452:1: ( ( '[' ) ) + // InternalExport.g:21453:1: ( '[' ) + { + // InternalExport.g:21453:1: ( '[' ) + // InternalExport.g:21454:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); + } + match(input,72,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayBrackets__Group__0__Impl" + + + // $ANTLR start "rule__ArrayBrackets__Group__1" + // InternalExport.g:21463:1: rule__ArrayBrackets__Group__1 : rule__ArrayBrackets__Group__1__Impl ; + public final void rule__ArrayBrackets__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21467:1: ( rule__ArrayBrackets__Group__1__Impl ) + // InternalExport.g:21468:2: rule__ArrayBrackets__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__ArrayBrackets__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayBrackets__Group__1" + + + // $ANTLR start "rule__ArrayBrackets__Group__1__Impl" + // InternalExport.g:21474:1: rule__ArrayBrackets__Group__1__Impl : ( ']' ) ; + public final void rule__ArrayBrackets__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21478:1: ( ( ']' ) ) + // InternalExport.g:21479:1: ( ']' ) + { + // InternalExport.g:21479:1: ( ']' ) + // InternalExport.g:21480:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); + } + match(input,73,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayBrackets__Group__1__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__0" + // InternalExport.g:21490:1: rule__XFunctionTypeRef__Group__0 : rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1 ; + public final void rule__XFunctionTypeRef__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21494:1: ( rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1 ) + // InternalExport.g:21495:2: rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1 + { + pushFollow(FOLLOW_78); + rule__XFunctionTypeRef__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__0" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__0__Impl" + // InternalExport.g:21502:1: rule__XFunctionTypeRef__Group__0__Impl : ( ( rule__XFunctionTypeRef__Group_0__0 )? ) ; + public final void rule__XFunctionTypeRef__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21506:1: ( ( ( rule__XFunctionTypeRef__Group_0__0 )? ) ) + // InternalExport.g:21507:1: ( ( rule__XFunctionTypeRef__Group_0__0 )? ) + { + // InternalExport.g:21507:1: ( ( rule__XFunctionTypeRef__Group_0__0 )? ) + // InternalExport.g:21508:2: ( rule__XFunctionTypeRef__Group_0__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0()); + } + // InternalExport.g:21509:2: ( rule__XFunctionTypeRef__Group_0__0 )? + int alt171=2; + int LA171_0 = input.LA(1); + + if ( (LA171_0==77) ) { + alt171=1; + } + switch (alt171) { + case 1 : + // InternalExport.g:21509:3: rule__XFunctionTypeRef__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__0__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__1" + // InternalExport.g:21517:1: rule__XFunctionTypeRef__Group__1 : rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2 ; + public final void rule__XFunctionTypeRef__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21521:1: ( rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2 ) + // InternalExport.g:21522:2: rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2 + { + pushFollow(FOLLOW_78); + rule__XFunctionTypeRef__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__1" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__1__Impl" + // InternalExport.g:21529:1: rule__XFunctionTypeRef__Group__1__Impl : ( '=>' ) ; + public final void rule__XFunctionTypeRef__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21533:1: ( ( '=>' ) ) + // InternalExport.g:21534:1: ( '=>' ) + { + // InternalExport.g:21534:1: ( '=>' ) + // InternalExport.g:21535:2: '=>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); + } + match(input,51,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__1__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__2" + // InternalExport.g:21544:1: rule__XFunctionTypeRef__Group__2 : rule__XFunctionTypeRef__Group__2__Impl ; + public final void rule__XFunctionTypeRef__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21548:1: ( rule__XFunctionTypeRef__Group__2__Impl ) + // InternalExport.g:21549:2: rule__XFunctionTypeRef__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__2" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__2__Impl" + // InternalExport.g:21555:1: rule__XFunctionTypeRef__Group__2__Impl : ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) ; + public final void rule__XFunctionTypeRef__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21559:1: ( ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) ) + // InternalExport.g:21560:1: ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) + { + // InternalExport.g:21560:1: ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) + // InternalExport.g:21561:2: ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2()); + } + // InternalExport.g:21562:2: ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) + // InternalExport.g:21562:3: rule__XFunctionTypeRef__ReturnTypeAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__ReturnTypeAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__2__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__0" + // InternalExport.g:21571:1: rule__XFunctionTypeRef__Group_0__0 : rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1 ; + public final void rule__XFunctionTypeRef__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21575:1: ( rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1 ) + // InternalExport.g:21576:2: rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1 + { + pushFollow(FOLLOW_132); + rule__XFunctionTypeRef__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__0" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__0__Impl" + // InternalExport.g:21583:1: rule__XFunctionTypeRef__Group_0__0__Impl : ( '(' ) ; + public final void rule__XFunctionTypeRef__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21587:1: ( ( '(' ) ) + // InternalExport.g:21588:1: ( '(' ) + { + // InternalExport.g:21588:1: ( '(' ) + // InternalExport.g:21589:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__0__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__1" + // InternalExport.g:21598:1: rule__XFunctionTypeRef__Group_0__1 : rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2 ; + public final void rule__XFunctionTypeRef__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21602:1: ( rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2 ) + // InternalExport.g:21603:2: rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2 + { + pushFollow(FOLLOW_132); + rule__XFunctionTypeRef__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__1" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__1__Impl" + // InternalExport.g:21610:1: rule__XFunctionTypeRef__Group_0__1__Impl : ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) ; + public final void rule__XFunctionTypeRef__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21614:1: ( ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) ) + // InternalExport.g:21615:1: ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) + { + // InternalExport.g:21615:1: ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) + // InternalExport.g:21616:2: ( rule__XFunctionTypeRef__Group_0_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1()); + } + // InternalExport.g:21617:2: ( rule__XFunctionTypeRef__Group_0_1__0 )? + int alt172=2; + int LA172_0 = input.LA(1); + + if ( (LA172_0==RULE_ID||LA172_0==51||LA172_0==77) ) { + alt172=1; + } + switch (alt172) { + case 1 : + // InternalExport.g:21617:3: rule__XFunctionTypeRef__Group_0_1__0 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__1__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__2" + // InternalExport.g:21625:1: rule__XFunctionTypeRef__Group_0__2 : rule__XFunctionTypeRef__Group_0__2__Impl ; + public final void rule__XFunctionTypeRef__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21629:1: ( rule__XFunctionTypeRef__Group_0__2__Impl ) + // InternalExport.g:21630:2: rule__XFunctionTypeRef__Group_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__2" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__2__Impl" + // InternalExport.g:21636:1: rule__XFunctionTypeRef__Group_0__2__Impl : ( ')' ) ; + public final void rule__XFunctionTypeRef__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21640:1: ( ( ')' ) ) + // InternalExport.g:21641:1: ( ')' ) + { + // InternalExport.g:21641:1: ( ')' ) + // InternalExport.g:21642:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__2__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__0" + // InternalExport.g:21652:1: rule__XFunctionTypeRef__Group_0_1__0 : rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1 ; + public final void rule__XFunctionTypeRef__Group_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21656:1: ( rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1 ) + // InternalExport.g:21657:2: rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1 + { + pushFollow(FOLLOW_21); + rule__XFunctionTypeRef__Group_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1__0" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__0__Impl" + // InternalExport.g:21664:1: rule__XFunctionTypeRef__Group_0_1__0__Impl : ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) ; + public final void rule__XFunctionTypeRef__Group_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21668:1: ( ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) ) + // InternalExport.g:21669:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) + { + // InternalExport.g:21669:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) + // InternalExport.g:21670:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0()); + } + // InternalExport.g:21671:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) + // InternalExport.g:21671:3: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1__0__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__1" + // InternalExport.g:21679:1: rule__XFunctionTypeRef__Group_0_1__1 : rule__XFunctionTypeRef__Group_0_1__1__Impl ; + public final void rule__XFunctionTypeRef__Group_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21683:1: ( rule__XFunctionTypeRef__Group_0_1__1__Impl ) + // InternalExport.g:21684:2: rule__XFunctionTypeRef__Group_0_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1__1" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__1__Impl" + // InternalExport.g:21690:1: rule__XFunctionTypeRef__Group_0_1__1__Impl : ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) ; + public final void rule__XFunctionTypeRef__Group_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21694:1: ( ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) ) + // InternalExport.g:21695:1: ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) + { + // InternalExport.g:21695:1: ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) + // InternalExport.g:21696:2: ( rule__XFunctionTypeRef__Group_0_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1()); + } + // InternalExport.g:21697:2: ( rule__XFunctionTypeRef__Group_0_1_1__0 )* + loop173: + do { + int alt173=2; + int LA173_0 = input.LA(1); + + if ( (LA173_0==74) ) { + alt173=1; + } + + + switch (alt173) { + case 1 : + // InternalExport.g:21697:3: rule__XFunctionTypeRef__Group_0_1_1__0 + { + pushFollow(FOLLOW_22); + rule__XFunctionTypeRef__Group_0_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop173; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1__1__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__0" + // InternalExport.g:21706:1: rule__XFunctionTypeRef__Group_0_1_1__0 : rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1 ; + public final void rule__XFunctionTypeRef__Group_0_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21710:1: ( rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1 ) + // InternalExport.g:21711:2: rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1 + { + pushFollow(FOLLOW_78); + rule__XFunctionTypeRef__Group_0_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1_1__0" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__0__Impl" + // InternalExport.g:21718:1: rule__XFunctionTypeRef__Group_0_1_1__0__Impl : ( ',' ) ; + public final void rule__XFunctionTypeRef__Group_0_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21722:1: ( ( ',' ) ) + // InternalExport.g:21723:1: ( ',' ) + { + // InternalExport.g:21723:1: ( ',' ) + // InternalExport.g:21724:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1_1__0__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__1" + // InternalExport.g:21733:1: rule__XFunctionTypeRef__Group_0_1_1__1 : rule__XFunctionTypeRef__Group_0_1_1__1__Impl ; + public final void rule__XFunctionTypeRef__Group_0_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21737:1: ( rule__XFunctionTypeRef__Group_0_1_1__1__Impl ) + // InternalExport.g:21738:2: rule__XFunctionTypeRef__Group_0_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1_1__1" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__1__Impl" + // InternalExport.g:21744:1: rule__XFunctionTypeRef__Group_0_1_1__1__Impl : ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) ; + public final void rule__XFunctionTypeRef__Group_0_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21748:1: ( ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) ) + // InternalExport.g:21749:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) + { + // InternalExport.g:21749:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) + // InternalExport.g:21750:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1()); + } + // InternalExport.g:21751:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) + // InternalExport.g:21751:3: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1_1__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group__0" + // InternalExport.g:21760:1: rule__JvmParameterizedTypeReference__Group__0 : rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1 ; + public final void rule__JvmParameterizedTypeReference__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21764:1: ( rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1 ) + // InternalExport.g:21765:2: rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1 + { + pushFollow(FOLLOW_72); + rule__JvmParameterizedTypeReference__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group__0__Impl" + // InternalExport.g:21772:1: rule__JvmParameterizedTypeReference__Group__0__Impl : ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21776:1: ( ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) ) + // InternalExport.g:21777:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) + { + // InternalExport.g:21777:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) + // InternalExport.g:21778:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0()); + } + // InternalExport.g:21779:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) + // InternalExport.g:21779:3: rule__JvmParameterizedTypeReference__TypeAssignment_0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__TypeAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group__1" + // InternalExport.g:21787:1: rule__JvmParameterizedTypeReference__Group__1 : rule__JvmParameterizedTypeReference__Group__1__Impl ; + public final void rule__JvmParameterizedTypeReference__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21791:1: ( rule__JvmParameterizedTypeReference__Group__1__Impl ) + // InternalExport.g:21792:2: rule__JvmParameterizedTypeReference__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group__1__Impl" + // InternalExport.g:21798:1: rule__JvmParameterizedTypeReference__Group__1__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) ; + public final void rule__JvmParameterizedTypeReference__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21802:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) ) + // InternalExport.g:21803:1: ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) + { + // InternalExport.g:21803:1: ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) + // InternalExport.g:21804:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1()); + } + // InternalExport.g:21805:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )? + int alt174=2; + alt174 = dfa174.predict(input); + switch (alt174) { + case 1 : + // InternalExport.g:21805:3: rule__JvmParameterizedTypeReference__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__0" + // InternalExport.g:21814:1: rule__JvmParameterizedTypeReference__Group_1__0 : rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21818:1: ( rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1 ) + // InternalExport.g:21819:2: rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1 + { + pushFollow(FOLLOW_95); + rule__JvmParameterizedTypeReference__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__0__Impl" + // InternalExport.g:21826:1: rule__JvmParameterizedTypeReference__Group_1__0__Impl : ( ( '<' ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21830:1: ( ( ( '<' ) ) ) + // InternalExport.g:21831:1: ( ( '<' ) ) + { + // InternalExport.g:21831:1: ( ( '<' ) ) + // InternalExport.g:21832:2: ( '<' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); + } + // InternalExport.g:21833:2: ( '<' ) + // InternalExport.g:21833:3: '<' + { + match(input,22,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__1" + // InternalExport.g:21841:1: rule__JvmParameterizedTypeReference__Group_1__1 : rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2 ; + public final void rule__JvmParameterizedTypeReference__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21845:1: ( rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2 ) + // InternalExport.g:21846:2: rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2 + { + pushFollow(FOLLOW_96); + rule__JvmParameterizedTypeReference__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__1__Impl" + // InternalExport.g:21853:1: rule__JvmParameterizedTypeReference__Group_1__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21857:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) ) + // InternalExport.g:21858:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) + { + // InternalExport.g:21858:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) + // InternalExport.g:21859:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1()); + } + // InternalExport.g:21860:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) + // InternalExport.g:21860:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__2" + // InternalExport.g:21868:1: rule__JvmParameterizedTypeReference__Group_1__2 : rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3 ; + public final void rule__JvmParameterizedTypeReference__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21872:1: ( rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3 ) + // InternalExport.g:21873:2: rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3 + { + pushFollow(FOLLOW_96); + rule__JvmParameterizedTypeReference__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__2" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__2__Impl" + // InternalExport.g:21880:1: rule__JvmParameterizedTypeReference__Group_1__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) ; + public final void rule__JvmParameterizedTypeReference__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21884:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) ) + // InternalExport.g:21885:1: ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) + { + // InternalExport.g:21885:1: ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) + // InternalExport.g:21886:2: ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2()); + } + // InternalExport.g:21887:2: ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* + loop175: + do { + int alt175=2; + int LA175_0 = input.LA(1); + + if ( (LA175_0==74) ) { + alt175=1; + } + + + switch (alt175) { + case 1 : + // InternalExport.g:21887:3: rule__JvmParameterizedTypeReference__Group_1_2__0 + { + pushFollow(FOLLOW_22); + rule__JvmParameterizedTypeReference__Group_1_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop175; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__2__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__3" + // InternalExport.g:21895:1: rule__JvmParameterizedTypeReference__Group_1__3 : rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4 ; + public final void rule__JvmParameterizedTypeReference__Group_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21899:1: ( rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4 ) + // InternalExport.g:21900:2: rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4 + { + pushFollow(FOLLOW_62); + rule__JvmParameterizedTypeReference__Group_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__3" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__3__Impl" + // InternalExport.g:21907:1: rule__JvmParameterizedTypeReference__Group_1__3__Impl : ( '>' ) ; + public final void rule__JvmParameterizedTypeReference__Group_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21911:1: ( ( '>' ) ) + // InternalExport.g:21912:1: ( '>' ) + { + // InternalExport.g:21912:1: ( '>' ) + // InternalExport.g:21913:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__3__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__4" + // InternalExport.g:21922:1: rule__JvmParameterizedTypeReference__Group_1__4 : rule__JvmParameterizedTypeReference__Group_1__4__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21926:1: ( rule__JvmParameterizedTypeReference__Group_1__4__Impl ) + // InternalExport.g:21927:2: rule__JvmParameterizedTypeReference__Group_1__4__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__4" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__4__Impl" + // InternalExport.g:21933:1: rule__JvmParameterizedTypeReference__Group_1__4__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) ; + public final void rule__JvmParameterizedTypeReference__Group_1__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21937:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) ) + // InternalExport.g:21938:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) + { + // InternalExport.g:21938:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) + // InternalExport.g:21939:2: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4()); + } + // InternalExport.g:21940:2: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* + loop176: + do { + int alt176=2; + int LA176_0 = input.LA(1); + + if ( (LA176_0==58) ) { + int LA176_2 = input.LA(2); + + if ( (LA176_2==RULE_ID) ) { + int LA176_3 = input.LA(3); + + if ( (synpred250_InternalExport()) ) { + alt176=1; + } + + + } + + + } + + + switch (alt176) { + case 1 : + // InternalExport.g:21940:3: rule__JvmParameterizedTypeReference__Group_1_4__0 + { + pushFollow(FOLLOW_63); + rule__JvmParameterizedTypeReference__Group_1_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop176; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__4__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__0" + // InternalExport.g:21949:1: rule__JvmParameterizedTypeReference__Group_1_2__0 : rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21953:1: ( rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1 ) + // InternalExport.g:21954:2: rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1 + { + pushFollow(FOLLOW_95); + rule__JvmParameterizedTypeReference__Group_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_2__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__0__Impl" + // InternalExport.g:21961:1: rule__JvmParameterizedTypeReference__Group_1_2__0__Impl : ( ',' ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21965:1: ( ( ',' ) ) + // InternalExport.g:21966:1: ( ',' ) + { + // InternalExport.g:21966:1: ( ',' ) + // InternalExport.g:21967:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_2__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__1" + // InternalExport.g:21976:1: rule__JvmParameterizedTypeReference__Group_1_2__1 : rule__JvmParameterizedTypeReference__Group_1_2__1__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21980:1: ( rule__JvmParameterizedTypeReference__Group_1_2__1__Impl ) + // InternalExport.g:21981:2: rule__JvmParameterizedTypeReference__Group_1_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_2__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__1__Impl" + // InternalExport.g:21987:1: rule__JvmParameterizedTypeReference__Group_1_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:21991:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) ) + // InternalExport.g:21992:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) + { + // InternalExport.g:21992:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) + // InternalExport.g:21993:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1()); + } + // InternalExport.g:21994:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) + // InternalExport.g:21994:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_2__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__0" + // InternalExport.g:22003:1: rule__JvmParameterizedTypeReference__Group_1_4__0 : rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22007:1: ( rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1 ) + // InternalExport.g:22008:2: rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1 + { + pushFollow(FOLLOW_11); + rule__JvmParameterizedTypeReference__Group_1_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__0__Impl" + // InternalExport.g:22015:1: rule__JvmParameterizedTypeReference__Group_1_4__0__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22019:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) ) + // InternalExport.g:22020:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) + { + // InternalExport.g:22020:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) + // InternalExport.g:22021:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0()); + } + // InternalExport.g:22022:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) + // InternalExport.g:22022:3: rule__JvmParameterizedTypeReference__Group_1_4_0__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__1" + // InternalExport.g:22030:1: rule__JvmParameterizedTypeReference__Group_1_4__1 : rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22034:1: ( rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2 ) + // InternalExport.g:22035:2: rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2 + { + pushFollow(FOLLOW_72); + rule__JvmParameterizedTypeReference__Group_1_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__1__Impl" + // InternalExport.g:22042:1: rule__JvmParameterizedTypeReference__Group_1_4__1__Impl : ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22046:1: ( ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) ) + // InternalExport.g:22047:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) + { + // InternalExport.g:22047:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) + // InternalExport.g:22048:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1()); + } + // InternalExport.g:22049:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) + // InternalExport.g:22049:3: rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__2" + // InternalExport.g:22057:1: rule__JvmParameterizedTypeReference__Group_1_4__2 : rule__JvmParameterizedTypeReference__Group_1_4__2__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22061:1: ( rule__JvmParameterizedTypeReference__Group_1_4__2__Impl ) + // InternalExport.g:22062:2: rule__JvmParameterizedTypeReference__Group_1_4__2__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__2" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__2__Impl" + // InternalExport.g:22068:1: rule__JvmParameterizedTypeReference__Group_1_4__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22072:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) ) + // InternalExport.g:22073:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) + { + // InternalExport.g:22073:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) + // InternalExport.g:22074:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2()); + } + // InternalExport.g:22075:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? + int alt177=2; + alt177 = dfa177.predict(input); + switch (alt177) { + case 1 : + // InternalExport.g:22075:3: rule__JvmParameterizedTypeReference__Group_1_4_2__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__2__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0__0" + // InternalExport.g:22084:1: rule__JvmParameterizedTypeReference__Group_1_4_0__0 : rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22088:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl ) + // InternalExport.g:22089:2: rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl" + // InternalExport.g:22095:1: rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22099:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) ) + // InternalExport.g:22100:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) + { + // InternalExport.g:22100:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) + // InternalExport.g:22101:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0()); + } + // InternalExport.g:22102:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) + // InternalExport.g:22102:3: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0" + // InternalExport.g:22111:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 : rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22115:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 ) + // InternalExport.g:22116:2: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 + { + pushFollow(FOLLOW_62); + rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl" + // InternalExport.g:22123:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl : ( () ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22127:1: ( ( () ) ) + // InternalExport.g:22128:1: ( () ) + { + // InternalExport.g:22128:1: ( () ) + // InternalExport.g:22129:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()); + } + // InternalExport.g:22130:2: () + // InternalExport.g:22130:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__1" + // InternalExport.g:22138:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 : rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22142:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl ) + // InternalExport.g:22143:2: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0_0__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl" + // InternalExport.g:22149:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl : ( '.' ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22153:1: ( ( '.' ) ) + // InternalExport.g:22154:1: ( '.' ) + { + // InternalExport.g:22154:1: ( '.' ) + // InternalExport.g:22155:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__0" + // InternalExport.g:22165:1: rule__JvmParameterizedTypeReference__Group_1_4_2__0 : rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22169:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1 ) + // InternalExport.g:22170:2: rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1 + { + pushFollow(FOLLOW_95); + rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl" + // InternalExport.g:22177:1: rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl : ( ( '<' ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22181:1: ( ( ( '<' ) ) ) + // InternalExport.g:22182:1: ( ( '<' ) ) + { + // InternalExport.g:22182:1: ( ( '<' ) ) + // InternalExport.g:22183:2: ( '<' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); + } + // InternalExport.g:22184:2: ( '<' ) + // InternalExport.g:22184:3: '<' + { + match(input,22,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__1" + // InternalExport.g:22192:1: rule__JvmParameterizedTypeReference__Group_1_4_2__1 : rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22196:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2 ) + // InternalExport.g:22197:2: rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2 + { + pushFollow(FOLLOW_96); + rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl" + // InternalExport.g:22204:1: rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22208:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) ) + // InternalExport.g:22209:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) + { + // InternalExport.g:22209:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) + // InternalExport.g:22210:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1()); + } + // InternalExport.g:22211:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) + // InternalExport.g:22211:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__2" + // InternalExport.g:22219:1: rule__JvmParameterizedTypeReference__Group_1_4_2__2 : rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22223:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3 ) + // InternalExport.g:22224:2: rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3 + { + pushFollow(FOLLOW_96); + rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__2" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl" + // InternalExport.g:22231:1: rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22235:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) ) + // InternalExport.g:22236:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) + { + // InternalExport.g:22236:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) + // InternalExport.g:22237:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2()); + } + // InternalExport.g:22238:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* + loop178: + do { + int alt178=2; + int LA178_0 = input.LA(1); + + if ( (LA178_0==74) ) { + alt178=1; + } + + + switch (alt178) { + case 1 : + // InternalExport.g:22238:3: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 + { + pushFollow(FOLLOW_22); + rule__JvmParameterizedTypeReference__Group_1_4_2_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop178; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__3" + // InternalExport.g:22246:1: rule__JvmParameterizedTypeReference__Group_1_4_2__3 : rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22250:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl ) + // InternalExport.g:22251:2: rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__3" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl" + // InternalExport.g:22257:1: rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl : ( '>' ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22261:1: ( ( '>' ) ) + // InternalExport.g:22262:1: ( '>' ) + { + // InternalExport.g:22262:1: ( '>' ) + // InternalExport.g:22263:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0" + // InternalExport.g:22273:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 : rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22277:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 ) + // InternalExport.g:22278:2: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 + { + pushFollow(FOLLOW_95); + rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl" + // InternalExport.g:22285:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl : ( ',' ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22289:1: ( ( ',' ) ) + // InternalExport.g:22290:1: ( ',' ) + { + // InternalExport.g:22290:1: ( ',' ) + // InternalExport.g:22291:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__1" + // InternalExport.g:22300:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 : rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22304:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl ) + // InternalExport.g:22305:2: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2_2__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl" + // InternalExport.g:22311:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22315:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) ) + // InternalExport.g:22316:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) + { + // InternalExport.g:22316:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) + // InternalExport.g:22317:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1()); + } + // InternalExport.g:22318:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) + // InternalExport.g:22318:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__0" + // InternalExport.g:22327:1: rule__JvmWildcardTypeReference__Group__0 : rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1 ; + public final void rule__JvmWildcardTypeReference__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22331:1: ( rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1 ) + // InternalExport.g:22332:2: rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1 + { + pushFollow(FOLLOW_95); + rule__JvmWildcardTypeReference__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__0" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__0__Impl" + // InternalExport.g:22339:1: rule__JvmWildcardTypeReference__Group__0__Impl : ( () ) ; + public final void rule__JvmWildcardTypeReference__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22343:1: ( ( () ) ) + // InternalExport.g:22344:1: ( () ) + { + // InternalExport.g:22344:1: ( () ) + // InternalExport.g:22345:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0()); + } + // InternalExport.g:22346:2: () + // InternalExport.g:22346:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__0__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__1" + // InternalExport.g:22354:1: rule__JvmWildcardTypeReference__Group__1 : rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2 ; + public final void rule__JvmWildcardTypeReference__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22358:1: ( rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2 ) + // InternalExport.g:22359:2: rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2 + { + pushFollow(FOLLOW_133); + rule__JvmWildcardTypeReference__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__1" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__1__Impl" + // InternalExport.g:22366:1: rule__JvmWildcardTypeReference__Group__1__Impl : ( '?' ) ; + public final void rule__JvmWildcardTypeReference__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22370:1: ( ( '?' ) ) + // InternalExport.g:22371:1: ( '?' ) + { + // InternalExport.g:22371:1: ( '?' ) + // InternalExport.g:22372:2: '?' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__1__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__2" + // InternalExport.g:22381:1: rule__JvmWildcardTypeReference__Group__2 : rule__JvmWildcardTypeReference__Group__2__Impl ; + public final void rule__JvmWildcardTypeReference__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22385:1: ( rule__JvmWildcardTypeReference__Group__2__Impl ) + // InternalExport.g:22386:2: rule__JvmWildcardTypeReference__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__2" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__2__Impl" + // InternalExport.g:22392:1: rule__JvmWildcardTypeReference__Group__2__Impl : ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) ; + public final void rule__JvmWildcardTypeReference__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22396:1: ( ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) ) + // InternalExport.g:22397:1: ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) + { + // InternalExport.g:22397:1: ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) + // InternalExport.g:22398:2: ( rule__JvmWildcardTypeReference__Alternatives_2 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2()); + } + // InternalExport.g:22399:2: ( rule__JvmWildcardTypeReference__Alternatives_2 )? + int alt179=2; + int LA179_0 = input.LA(1); + + if ( (LA179_0==60||LA179_0==64) ) { + alt179=1; + } + switch (alt179) { + case 1 : + // InternalExport.g:22399:3: rule__JvmWildcardTypeReference__Alternatives_2 + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Alternatives_2(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__2__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__0" + // InternalExport.g:22408:1: rule__JvmWildcardTypeReference__Group_2_0__0 : rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1 ; + public final void rule__JvmWildcardTypeReference__Group_2_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22412:1: ( rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1 ) + // InternalExport.g:22413:2: rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1 + { + pushFollow(FOLLOW_134); + rule__JvmWildcardTypeReference__Group_2_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_0__0" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__0__Impl" + // InternalExport.g:22420:1: rule__JvmWildcardTypeReference__Group_2_0__0__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) ; + public final void rule__JvmWildcardTypeReference__Group_2_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22424:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) ) + // InternalExport.g:22425:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) + { + // InternalExport.g:22425:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) + // InternalExport.g:22426:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0()); + } + // InternalExport.g:22427:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) + // InternalExport.g:22427:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_0__0__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__1" + // InternalExport.g:22435:1: rule__JvmWildcardTypeReference__Group_2_0__1 : rule__JvmWildcardTypeReference__Group_2_0__1__Impl ; + public final void rule__JvmWildcardTypeReference__Group_2_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22439:1: ( rule__JvmWildcardTypeReference__Group_2_0__1__Impl ) + // InternalExport.g:22440:2: rule__JvmWildcardTypeReference__Group_2_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_0__1" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__1__Impl" + // InternalExport.g:22446:1: rule__JvmWildcardTypeReference__Group_2_0__1__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) ; + public final void rule__JvmWildcardTypeReference__Group_2_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22450:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) ) + // InternalExport.g:22451:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) + { + // InternalExport.g:22451:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) + // InternalExport.g:22452:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1()); + } + // InternalExport.g:22453:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* + loop180: + do { + int alt180=2; + int LA180_0 = input.LA(1); + + if ( (LA180_0==108) ) { + alt180=1; + } + + + switch (alt180) { + case 1 : + // InternalExport.g:22453:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 + { + pushFollow(FOLLOW_135); + rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop180; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_0__1__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__0" + // InternalExport.g:22462:1: rule__JvmWildcardTypeReference__Group_2_1__0 : rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1 ; + public final void rule__JvmWildcardTypeReference__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22466:1: ( rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1 ) + // InternalExport.g:22467:2: rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1 + { + pushFollow(FOLLOW_134); + rule__JvmWildcardTypeReference__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_1__0" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__0__Impl" + // InternalExport.g:22474:1: rule__JvmWildcardTypeReference__Group_2_1__0__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) ; + public final void rule__JvmWildcardTypeReference__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22478:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) ) + // InternalExport.g:22479:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) + { + // InternalExport.g:22479:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) + // InternalExport.g:22480:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0()); + } + // InternalExport.g:22481:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) + // InternalExport.g:22481:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_1__0__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__1" + // InternalExport.g:22489:1: rule__JvmWildcardTypeReference__Group_2_1__1 : rule__JvmWildcardTypeReference__Group_2_1__1__Impl ; + public final void rule__JvmWildcardTypeReference__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22493:1: ( rule__JvmWildcardTypeReference__Group_2_1__1__Impl ) + // InternalExport.g:22494:2: rule__JvmWildcardTypeReference__Group_2_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_1__1" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__1__Impl" + // InternalExport.g:22500:1: rule__JvmWildcardTypeReference__Group_2_1__1__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) ; + public final void rule__JvmWildcardTypeReference__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22504:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) ) + // InternalExport.g:22505:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) + { + // InternalExport.g:22505:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) + // InternalExport.g:22506:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1()); + } + // InternalExport.g:22507:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* + loop181: + do { + int alt181=2; + int LA181_0 = input.LA(1); + + if ( (LA181_0==108) ) { + alt181=1; + } + + + switch (alt181) { + case 1 : + // InternalExport.g:22507:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 + { + pushFollow(FOLLOW_135); + rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop181; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_1__1__Impl" + + + // $ANTLR start "rule__JvmUpperBound__Group__0" + // InternalExport.g:22516:1: rule__JvmUpperBound__Group__0 : rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1 ; + public final void rule__JvmUpperBound__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22520:1: ( rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1 ) + // InternalExport.g:22521:2: rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1 + { + pushFollow(FOLLOW_78); + rule__JvmUpperBound__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmUpperBound__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBound__Group__0" + + + // $ANTLR start "rule__JvmUpperBound__Group__0__Impl" + // InternalExport.g:22528:1: rule__JvmUpperBound__Group__0__Impl : ( 'extends' ) ; + public final void rule__JvmUpperBound__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22532:1: ( ( 'extends' ) ) + // InternalExport.g:22533:1: ( 'extends' ) + { + // InternalExport.g:22533:1: ( 'extends' ) + // InternalExport.g:22534:2: 'extends' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); + } + match(input,60,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBound__Group__0__Impl" + + + // $ANTLR start "rule__JvmUpperBound__Group__1" + // InternalExport.g:22543:1: rule__JvmUpperBound__Group__1 : rule__JvmUpperBound__Group__1__Impl ; + public final void rule__JvmUpperBound__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22547:1: ( rule__JvmUpperBound__Group__1__Impl ) + // InternalExport.g:22548:2: rule__JvmUpperBound__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmUpperBound__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBound__Group__1" + + + // $ANTLR start "rule__JvmUpperBound__Group__1__Impl" + // InternalExport.g:22554:1: rule__JvmUpperBound__Group__1__Impl : ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) ; + public final void rule__JvmUpperBound__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22558:1: ( ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) ) + // InternalExport.g:22559:1: ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) + { + // InternalExport.g:22559:1: ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) + // InternalExport.g:22560:2: ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1()); + } + // InternalExport.g:22561:2: ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) + // InternalExport.g:22561:3: rule__JvmUpperBound__TypeReferenceAssignment_1 + { + pushFollow(FOLLOW_2); + rule__JvmUpperBound__TypeReferenceAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBound__Group__1__Impl" + + + // $ANTLR start "rule__JvmUpperBoundAnded__Group__0" + // InternalExport.g:22570:1: rule__JvmUpperBoundAnded__Group__0 : rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1 ; + public final void rule__JvmUpperBoundAnded__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22574:1: ( rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1 ) + // InternalExport.g:22575:2: rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1 + { + pushFollow(FOLLOW_78); + rule__JvmUpperBoundAnded__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmUpperBoundAnded__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBoundAnded__Group__0" + + + // $ANTLR start "rule__JvmUpperBoundAnded__Group__0__Impl" + // InternalExport.g:22582:1: rule__JvmUpperBoundAnded__Group__0__Impl : ( '&' ) ; + public final void rule__JvmUpperBoundAnded__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22586:1: ( ( '&' ) ) + // InternalExport.g:22587:1: ( '&' ) + { + // InternalExport.g:22587:1: ( '&' ) + // InternalExport.g:22588:2: '&' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); + } + match(input,108,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBoundAnded__Group__0__Impl" + + + // $ANTLR start "rule__JvmUpperBoundAnded__Group__1" + // InternalExport.g:22597:1: rule__JvmUpperBoundAnded__Group__1 : rule__JvmUpperBoundAnded__Group__1__Impl ; + public final void rule__JvmUpperBoundAnded__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22601:1: ( rule__JvmUpperBoundAnded__Group__1__Impl ) + // InternalExport.g:22602:2: rule__JvmUpperBoundAnded__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmUpperBoundAnded__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBoundAnded__Group__1" + + + // $ANTLR start "rule__JvmUpperBoundAnded__Group__1__Impl" + // InternalExport.g:22608:1: rule__JvmUpperBoundAnded__Group__1__Impl : ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) ; + public final void rule__JvmUpperBoundAnded__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22612:1: ( ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) ) + // InternalExport.g:22613:1: ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) + { + // InternalExport.g:22613:1: ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) + // InternalExport.g:22614:2: ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1()); + } + // InternalExport.g:22615:2: ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) + // InternalExport.g:22615:3: rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 + { + pushFollow(FOLLOW_2); + rule__JvmUpperBoundAnded__TypeReferenceAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBoundAnded__Group__1__Impl" + + + // $ANTLR start "rule__JvmLowerBound__Group__0" + // InternalExport.g:22624:1: rule__JvmLowerBound__Group__0 : rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1 ; + public final void rule__JvmLowerBound__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22628:1: ( rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1 ) + // InternalExport.g:22629:2: rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1 + { + pushFollow(FOLLOW_78); + rule__JvmLowerBound__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmLowerBound__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBound__Group__0" + + + // $ANTLR start "rule__JvmLowerBound__Group__0__Impl" + // InternalExport.g:22636:1: rule__JvmLowerBound__Group__0__Impl : ( 'super' ) ; + public final void rule__JvmLowerBound__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22640:1: ( ( 'super' ) ) + // InternalExport.g:22641:1: ( 'super' ) + { + // InternalExport.g:22641:1: ( 'super' ) + // InternalExport.g:22642:2: 'super' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); + } + match(input,64,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBound__Group__0__Impl" + + + // $ANTLR start "rule__JvmLowerBound__Group__1" + // InternalExport.g:22651:1: rule__JvmLowerBound__Group__1 : rule__JvmLowerBound__Group__1__Impl ; + public final void rule__JvmLowerBound__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22655:1: ( rule__JvmLowerBound__Group__1__Impl ) + // InternalExport.g:22656:2: rule__JvmLowerBound__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmLowerBound__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBound__Group__1" + + + // $ANTLR start "rule__JvmLowerBound__Group__1__Impl" + // InternalExport.g:22662:1: rule__JvmLowerBound__Group__1__Impl : ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) ; + public final void rule__JvmLowerBound__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22666:1: ( ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) ) + // InternalExport.g:22667:1: ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) + { + // InternalExport.g:22667:1: ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) + // InternalExport.g:22668:2: ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1()); + } + // InternalExport.g:22669:2: ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) + // InternalExport.g:22669:3: rule__JvmLowerBound__TypeReferenceAssignment_1 + { + pushFollow(FOLLOW_2); + rule__JvmLowerBound__TypeReferenceAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBound__Group__1__Impl" + + + // $ANTLR start "rule__JvmLowerBoundAnded__Group__0" + // InternalExport.g:22678:1: rule__JvmLowerBoundAnded__Group__0 : rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1 ; + public final void rule__JvmLowerBoundAnded__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22682:1: ( rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1 ) + // InternalExport.g:22683:2: rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1 + { + pushFollow(FOLLOW_78); + rule__JvmLowerBoundAnded__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmLowerBoundAnded__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBoundAnded__Group__0" + + + // $ANTLR start "rule__JvmLowerBoundAnded__Group__0__Impl" + // InternalExport.g:22690:1: rule__JvmLowerBoundAnded__Group__0__Impl : ( '&' ) ; + public final void rule__JvmLowerBoundAnded__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22694:1: ( ( '&' ) ) + // InternalExport.g:22695:1: ( '&' ) + { + // InternalExport.g:22695:1: ( '&' ) + // InternalExport.g:22696:2: '&' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); + } + match(input,108,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBoundAnded__Group__0__Impl" + + + // $ANTLR start "rule__JvmLowerBoundAnded__Group__1" + // InternalExport.g:22705:1: rule__JvmLowerBoundAnded__Group__1 : rule__JvmLowerBoundAnded__Group__1__Impl ; + public final void rule__JvmLowerBoundAnded__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22709:1: ( rule__JvmLowerBoundAnded__Group__1__Impl ) + // InternalExport.g:22710:2: rule__JvmLowerBoundAnded__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmLowerBoundAnded__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBoundAnded__Group__1" + + + // $ANTLR start "rule__JvmLowerBoundAnded__Group__1__Impl" + // InternalExport.g:22716:1: rule__JvmLowerBoundAnded__Group__1__Impl : ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) ; + public final void rule__JvmLowerBoundAnded__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22720:1: ( ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) ) + // InternalExport.g:22721:1: ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) + { + // InternalExport.g:22721:1: ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) + // InternalExport.g:22722:2: ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1()); + } + // InternalExport.g:22723:2: ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) + // InternalExport.g:22723:3: rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 + { + pushFollow(FOLLOW_2); + rule__JvmLowerBoundAnded__TypeReferenceAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBoundAnded__Group__1__Impl" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__0" + // InternalExport.g:22732:1: rule__QualifiedNameWithWildcard__Group__0 : rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 ; + public final void rule__QualifiedNameWithWildcard__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22736:1: ( rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 ) + // InternalExport.g:22737:2: rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 + { + pushFollow(FOLLOW_62); + rule__QualifiedNameWithWildcard__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__QualifiedNameWithWildcard__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__0" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__0__Impl" + // InternalExport.g:22744:1: rule__QualifiedNameWithWildcard__Group__0__Impl : ( ruleQualifiedName ) ; + public final void rule__QualifiedNameWithWildcard__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22748:1: ( ( ruleQualifiedName ) ) + // InternalExport.g:22749:1: ( ruleQualifiedName ) + { + // InternalExport.g:22749:1: ( ruleQualifiedName ) + // InternalExport.g:22750:2: ruleQualifiedName + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__0__Impl" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__1" + // InternalExport.g:22759:1: rule__QualifiedNameWithWildcard__Group__1 : rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2 ; + public final void rule__QualifiedNameWithWildcard__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22763:1: ( rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2 ) + // InternalExport.g:22764:2: rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2 + { + pushFollow(FOLLOW_136); + rule__QualifiedNameWithWildcard__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__QualifiedNameWithWildcard__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__1" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__1__Impl" + // InternalExport.g:22771:1: rule__QualifiedNameWithWildcard__Group__1__Impl : ( '.' ) ; + public final void rule__QualifiedNameWithWildcard__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22775:1: ( ( '.' ) ) + // InternalExport.g:22776:1: ( '.' ) + { + // InternalExport.g:22776:1: ( '.' ) + // InternalExport.g:22777:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__1__Impl" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__2" + // InternalExport.g:22786:1: rule__QualifiedNameWithWildcard__Group__2 : rule__QualifiedNameWithWildcard__Group__2__Impl ; + public final void rule__QualifiedNameWithWildcard__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22790:1: ( rule__QualifiedNameWithWildcard__Group__2__Impl ) + // InternalExport.g:22791:2: rule__QualifiedNameWithWildcard__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__QualifiedNameWithWildcard__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__2" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__2__Impl" + // InternalExport.g:22797:1: rule__QualifiedNameWithWildcard__Group__2__Impl : ( '*' ) ; + public final void rule__QualifiedNameWithWildcard__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22801:1: ( ( '*' ) ) + // InternalExport.g:22802:1: ( '*' ) + { + // InternalExport.g:22802:1: ( '*' ) + // InternalExport.g:22803:2: '*' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); + } + match(input,25,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__2__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group__0" + // InternalExport.g:22813:1: rule__XImportDeclaration__Group__0 : rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 ; + public final void rule__XImportDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22817:1: ( rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 ) + // InternalExport.g:22818:2: rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 + { + pushFollow(FOLLOW_137); + rule__XImportDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__0" + + + // $ANTLR start "rule__XImportDeclaration__Group__0__Impl" + // InternalExport.g:22825:1: rule__XImportDeclaration__Group__0__Impl : ( 'import' ) ; + public final void rule__XImportDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22829:1: ( ( 'import' ) ) + // InternalExport.g:22830:1: ( 'import' ) + { + // InternalExport.g:22830:1: ( 'import' ) + // InternalExport.g:22831:2: 'import' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); + } + match(input,62,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group__1" + // InternalExport.g:22840:1: rule__XImportDeclaration__Group__1 : rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 ; + public final void rule__XImportDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22844:1: ( rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 ) + // InternalExport.g:22845:2: rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 + { + pushFollow(FOLLOW_35); + rule__XImportDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__1" + + + // $ANTLR start "rule__XImportDeclaration__Group__1__Impl" + // InternalExport.g:22852:1: rule__XImportDeclaration__Group__1__Impl : ( ( rule__XImportDeclaration__Alternatives_1 ) ) ; + public final void rule__XImportDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22856:1: ( ( ( rule__XImportDeclaration__Alternatives_1 ) ) ) + // InternalExport.g:22857:1: ( ( rule__XImportDeclaration__Alternatives_1 ) ) + { + // InternalExport.g:22857:1: ( ( rule__XImportDeclaration__Alternatives_1 ) ) + // InternalExport.g:22858:2: ( rule__XImportDeclaration__Alternatives_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getAlternatives_1()); + } + // InternalExport.g:22859:2: ( rule__XImportDeclaration__Alternatives_1 ) + // InternalExport.g:22859:3: rule__XImportDeclaration__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group__2" + // InternalExport.g:22867:1: rule__XImportDeclaration__Group__2 : rule__XImportDeclaration__Group__2__Impl ; + public final void rule__XImportDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22871:1: ( rule__XImportDeclaration__Group__2__Impl ) + // InternalExport.g:22872:2: rule__XImportDeclaration__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__2" + + + // $ANTLR start "rule__XImportDeclaration__Group__2__Impl" + // InternalExport.g:22878:1: rule__XImportDeclaration__Group__2__Impl : ( ( ';' )? ) ; + public final void rule__XImportDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22882:1: ( ( ( ';' )? ) ) + // InternalExport.g:22883:1: ( ( ';' )? ) + { + // InternalExport.g:22883:1: ( ( ';' )? ) + // InternalExport.g:22884:2: ( ';' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); + } + // InternalExport.g:22885:2: ( ';' )? + int alt182=2; + int LA182_0 = input.LA(1); + + if ( (LA182_0==71) ) { + alt182=1; + } + switch (alt182) { + case 1 : + // InternalExport.g:22885:3: ';' + { + match(input,71,FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__0" + // InternalExport.g:22894:1: rule__XImportDeclaration__Group_1_0__0 : rule__XImportDeclaration__Group_1_0__0__Impl rule__XImportDeclaration__Group_1_0__1 ; + public final void rule__XImportDeclaration__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22898:1: ( rule__XImportDeclaration__Group_1_0__0__Impl rule__XImportDeclaration__Group_1_0__1 ) + // InternalExport.g:22899:2: rule__XImportDeclaration__Group_1_0__0__Impl rule__XImportDeclaration__Group_1_0__1 + { + pushFollow(FOLLOW_9); + rule__XImportDeclaration__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__0" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__0__Impl" + // InternalExport.g:22906:1: rule__XImportDeclaration__Group_1_0__0__Impl : ( ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) ) ; + public final void rule__XImportDeclaration__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22910:1: ( ( ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) ) ) + // InternalExport.g:22911:1: ( ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) ) + { + // InternalExport.g:22911:1: ( ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) ) + // InternalExport.g:22912:2: ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0()); + } + // InternalExport.g:22913:2: ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) + // InternalExport.g:22913:3: rule__XImportDeclaration__StaticAssignment_1_0_0 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__StaticAssignment_1_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__1" + // InternalExport.g:22921:1: rule__XImportDeclaration__Group_1_0__1 : rule__XImportDeclaration__Group_1_0__1__Impl rule__XImportDeclaration__Group_1_0__2 ; + public final void rule__XImportDeclaration__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22925:1: ( rule__XImportDeclaration__Group_1_0__1__Impl rule__XImportDeclaration__Group_1_0__2 ) + // InternalExport.g:22926:2: rule__XImportDeclaration__Group_1_0__1__Impl rule__XImportDeclaration__Group_1_0__2 + { + pushFollow(FOLLOW_9); + rule__XImportDeclaration__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group_1_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__1" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__1__Impl" + // InternalExport.g:22933:1: rule__XImportDeclaration__Group_1_0__1__Impl : ( ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? ) ; + public final void rule__XImportDeclaration__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22937:1: ( ( ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? ) ) + // InternalExport.g:22938:1: ( ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? ) + { + // InternalExport.g:22938:1: ( ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? ) + // InternalExport.g:22939:2: ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1()); + } + // InternalExport.g:22940:2: ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? + int alt183=2; + int LA183_0 = input.LA(1); + + if ( (LA183_0==63) ) { + alt183=1; + } + switch (alt183) { + case 1 : + // InternalExport.g:22940:3: rule__XImportDeclaration__ExtensionAssignment_1_0_1 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__ExtensionAssignment_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__1__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__2" + // InternalExport.g:22948:1: rule__XImportDeclaration__Group_1_0__2 : rule__XImportDeclaration__Group_1_0__2__Impl rule__XImportDeclaration__Group_1_0__3 ; + public final void rule__XImportDeclaration__Group_1_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22952:1: ( rule__XImportDeclaration__Group_1_0__2__Impl rule__XImportDeclaration__Group_1_0__3 ) + // InternalExport.g:22953:2: rule__XImportDeclaration__Group_1_0__2__Impl rule__XImportDeclaration__Group_1_0__3 + { + pushFollow(FOLLOW_138); + rule__XImportDeclaration__Group_1_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group_1_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__2" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__2__Impl" + // InternalExport.g:22960:1: rule__XImportDeclaration__Group_1_0__2__Impl : ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) ) ; + public final void rule__XImportDeclaration__Group_1_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22964:1: ( ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) ) ) + // InternalExport.g:22965:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) ) + { + // InternalExport.g:22965:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) ) + // InternalExport.g:22966:2: ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2()); + } + // InternalExport.g:22967:2: ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) + // InternalExport.g:22967:3: rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__ImportedTypeAssignment_1_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__2__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__3" + // InternalExport.g:22975:1: rule__XImportDeclaration__Group_1_0__3 : rule__XImportDeclaration__Group_1_0__3__Impl ; + public final void rule__XImportDeclaration__Group_1_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22979:1: ( rule__XImportDeclaration__Group_1_0__3__Impl ) + // InternalExport.g:22980:2: rule__XImportDeclaration__Group_1_0__3__Impl + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group_1_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__3" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__3__Impl" + // InternalExport.g:22986:1: rule__XImportDeclaration__Group_1_0__3__Impl : ( ( rule__XImportDeclaration__Alternatives_1_0_3 ) ) ; + public final void rule__XImportDeclaration__Group_1_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:22990:1: ( ( ( rule__XImportDeclaration__Alternatives_1_0_3 ) ) ) + // InternalExport.g:22991:1: ( ( rule__XImportDeclaration__Alternatives_1_0_3 ) ) + { + // InternalExport.g:22991:1: ( ( rule__XImportDeclaration__Alternatives_1_0_3 ) ) + // InternalExport.g:22992:2: ( rule__XImportDeclaration__Alternatives_1_0_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3()); + } + // InternalExport.g:22993:2: ( rule__XImportDeclaration__Alternatives_1_0_3 ) + // InternalExport.g:22993:3: rule__XImportDeclaration__Alternatives_1_0_3 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Alternatives_1_0_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__3__Impl" + + + // $ANTLR start "rule__QualifiedNameInStaticImport__Group__0" + // InternalExport.g:23002:1: rule__QualifiedNameInStaticImport__Group__0 : rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1 ; + public final void rule__QualifiedNameInStaticImport__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23006:1: ( rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1 ) + // InternalExport.g:23007:2: rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1 + { + pushFollow(FOLLOW_62); + rule__QualifiedNameInStaticImport__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__QualifiedNameInStaticImport__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameInStaticImport__Group__0" + + + // $ANTLR start "rule__QualifiedNameInStaticImport__Group__0__Impl" + // InternalExport.g:23014:1: rule__QualifiedNameInStaticImport__Group__0__Impl : ( ruleValidID ) ; + public final void rule__QualifiedNameInStaticImport__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23018:1: ( ( ruleValidID ) ) + // InternalExport.g:23019:1: ( ruleValidID ) + { + // InternalExport.g:23019:1: ( ruleValidID ) + // InternalExport.g:23020:2: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameInStaticImport__Group__0__Impl" + + + // $ANTLR start "rule__QualifiedNameInStaticImport__Group__1" + // InternalExport.g:23029:1: rule__QualifiedNameInStaticImport__Group__1 : rule__QualifiedNameInStaticImport__Group__1__Impl ; + public final void rule__QualifiedNameInStaticImport__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23033:1: ( rule__QualifiedNameInStaticImport__Group__1__Impl ) + // InternalExport.g:23034:2: rule__QualifiedNameInStaticImport__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__QualifiedNameInStaticImport__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameInStaticImport__Group__1" + + + // $ANTLR start "rule__QualifiedNameInStaticImport__Group__1__Impl" + // InternalExport.g:23040:1: rule__QualifiedNameInStaticImport__Group__1__Impl : ( '.' ) ; + public final void rule__QualifiedNameInStaticImport__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23044:1: ( ( '.' ) ) + // InternalExport.g:23045:1: ( '.' ) + { + // InternalExport.g:23045:1: ( '.' ) + // InternalExport.g:23046:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameInStaticImport__Group__1__Impl" + + + // $ANTLR start "rule__ExportModel__ExtensionAssignment_0_1" + // InternalExport.g:23056:1: rule__ExportModel__ExtensionAssignment_0_1 : ( ( 'extension' ) ) ; + public final void rule__ExportModel__ExtensionAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23060:1: ( ( ( 'extension' ) ) ) + // InternalExport.g:23061:2: ( ( 'extension' ) ) + { + // InternalExport.g:23061:2: ( ( 'extension' ) ) + // InternalExport.g:23062:3: ( 'extension' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportModelAccess().getExtensionExtensionKeyword_0_1_0()); + } + // InternalExport.g:23063:3: ( 'extension' ) + // InternalExport.g:23064:4: 'extension' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportModelAccess().getExtensionExtensionKeyword_0_1_0()); + } + match(input,63,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportModelAccess().getExtensionExtensionKeyword_0_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getExportModelAccess().getExtensionExtensionKeyword_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExportModel__ExtensionAssignment_0_1" + + + // $ANTLR start "rule__ExportModel__NameAssignment_0_2" + // InternalExport.g:23075:1: rule__ExportModel__NameAssignment_0_2 : ( RULE_ID ) ; + public final void rule__ExportModel__NameAssignment_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23079:1: ( ( RULE_ID ) ) + // InternalExport.g:23080:2: ( RULE_ID ) + { + // InternalExport.g:23080:2: ( RULE_ID ) + // InternalExport.g:23081:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportModelAccess().getNameIDTerminalRuleCall_0_2_0()); + } + match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportModelAccess().getNameIDTerminalRuleCall_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExportModel__NameAssignment_0_2" + + + // $ANTLR start "rule__ExportModel__TargetGrammarAssignment_0_4" + // InternalExport.g:23090:1: rule__ExportModel__TargetGrammarAssignment_0_4 : ( ( ruleQualifiedID ) ) ; + public final void rule__ExportModel__TargetGrammarAssignment_0_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23094:1: ( ( ( ruleQualifiedID ) ) ) + // InternalExport.g:23095:2: ( ( ruleQualifiedID ) ) + { + // InternalExport.g:23095:2: ( ( ruleQualifiedID ) ) + // InternalExport.g:23096:3: ( ruleQualifiedID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportModelAccess().getTargetGrammarGrammarCrossReference_0_4_0()); + } + // InternalExport.g:23097:3: ( ruleQualifiedID ) + // InternalExport.g:23098:4: ruleQualifiedID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportModelAccess().getTargetGrammarGrammarQualifiedIDParserRuleCall_0_4_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportModelAccess().getTargetGrammarGrammarQualifiedIDParserRuleCall_0_4_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getExportModelAccess().getTargetGrammarGrammarCrossReference_0_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExportModel__TargetGrammarAssignment_0_4" + + + // $ANTLR start "rule__ExportModel__ImportsAssignment_1" + // InternalExport.g:23109:1: rule__ExportModel__ImportsAssignment_1 : ( ruleImport ) ; + public final void rule__ExportModel__ImportsAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23113:1: ( ( ruleImport ) ) + // InternalExport.g:23114:2: ( ruleImport ) + { + // InternalExport.g:23114:2: ( ruleImport ) + // InternalExport.g:23115:3: ruleImport + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportModelAccess().getImportsImportParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleImport(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportModelAccess().getImportsImportParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExportModel__ImportsAssignment_1" + + + // $ANTLR start "rule__ExportModel__ExtensionsAssignment_2" + // InternalExport.g:23124:1: rule__ExportModel__ExtensionsAssignment_2 : ( ruleExtension ) ; + public final void rule__ExportModel__ExtensionsAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23128:1: ( ( ruleExtension ) ) + // InternalExport.g:23129:2: ( ruleExtension ) + { + // InternalExport.g:23129:2: ( ruleExtension ) + // InternalExport.g:23130:3: ruleExtension + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportModelAccess().getExtensionsExtensionParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleExtension(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportModelAccess().getExtensionsExtensionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExportModel__ExtensionsAssignment_2" + + + // $ANTLR start "rule__ExportModel__InterfacesAssignment_3_2" + // InternalExport.g:23139:1: rule__ExportModel__InterfacesAssignment_3_2 : ( ruleInterface ) ; + public final void rule__ExportModel__InterfacesAssignment_3_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23143:1: ( ( ruleInterface ) ) + // InternalExport.g:23144:2: ( ruleInterface ) + { + // InternalExport.g:23144:2: ( ruleInterface ) + // InternalExport.g:23145:3: ruleInterface + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportModelAccess().getInterfacesInterfaceParserRuleCall_3_2_0()); + } + pushFollow(FOLLOW_2); + ruleInterface(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportModelAccess().getInterfacesInterfaceParserRuleCall_3_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExportModel__InterfacesAssignment_3_2" + + + // $ANTLR start "rule__ExportModel__ExportsAssignment_4" + // InternalExport.g:23154:1: rule__ExportModel__ExportsAssignment_4 : ( ruleExport ) ; + public final void rule__ExportModel__ExportsAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23158:1: ( ( ruleExport ) ) + // InternalExport.g:23159:2: ( ruleExport ) + { + // InternalExport.g:23159:2: ( ruleExport ) + // InternalExport.g:23160:3: ruleExport + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportModelAccess().getExportsExportParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleExport(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportModelAccess().getExportsExportParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExportModel__ExportsAssignment_4" + + + // $ANTLR start "rule__Import__PackageAssignment_1" + // InternalExport.g:23169:1: rule__Import__PackageAssignment_1 : ( ( RULE_STRING ) ) ; + public final void rule__Import__PackageAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23173:1: ( ( ( RULE_STRING ) ) ) + // InternalExport.g:23174:2: ( ( RULE_STRING ) ) + { + // InternalExport.g:23174:2: ( ( RULE_STRING ) ) + // InternalExport.g:23175:3: ( RULE_STRING ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImportAccess().getPackageEPackageCrossReference_1_0()); + } + // InternalExport.g:23176:3: ( RULE_STRING ) + // InternalExport.g:23177:4: RULE_STRING + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImportAccess().getPackageEPackageSTRINGTerminalRuleCall_1_0_1()); + } + match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getImportAccess().getPackageEPackageSTRINGTerminalRuleCall_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getImportAccess().getPackageEPackageCrossReference_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Import__PackageAssignment_1" + + + // $ANTLR start "rule__Import__NameAssignment_2_1" + // InternalExport.g:23188:1: rule__Import__NameAssignment_2_1 : ( RULE_ID ) ; + public final void rule__Import__NameAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23192:1: ( ( RULE_ID ) ) + // InternalExport.g:23193:2: ( RULE_ID ) + { + // InternalExport.g:23193:2: ( RULE_ID ) + // InternalExport.g:23194:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImportAccess().getNameIDTerminalRuleCall_2_1_0()); + } + match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getImportAccess().getNameIDTerminalRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Import__NameAssignment_2_1" + + + // $ANTLR start "rule__Extension__ExtensionAssignment_1" + // InternalExport.g:23203:1: rule__Extension__ExtensionAssignment_1 : ( ruleQualifiedID ) ; + public final void rule__Extension__ExtensionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23207:1: ( ( ruleQualifiedID ) ) + // InternalExport.g:23208:2: ( ruleQualifiedID ) + { + // InternalExport.g:23208:2: ( ruleQualifiedID ) + // InternalExport.g:23209:3: ruleQualifiedID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExtensionAccess().getExtensionQualifiedIDParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleQualifiedID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExtensionAccess().getExtensionQualifiedIDParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Extension__ExtensionAssignment_1" + + + // $ANTLR start "rule__Interface__TypeAssignment_0" + // InternalExport.g:23218:1: rule__Interface__TypeAssignment_0 : ( ( ruleQualifiedID ) ) ; + public final void rule__Interface__TypeAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23222:1: ( ( ( ruleQualifiedID ) ) ) + // InternalExport.g:23223:2: ( ( ruleQualifiedID ) ) + { + // InternalExport.g:23223:2: ( ( ruleQualifiedID ) ) + // InternalExport.g:23224:3: ( ruleQualifiedID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceAccess().getTypeEClassCrossReference_0_0()); + } + // InternalExport.g:23225:3: ( ruleQualifiedID ) + // InternalExport.g:23226:4: ruleQualifiedID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceAccess().getTypeEClassQualifiedIDParserRuleCall_0_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceAccess().getTypeEClassQualifiedIDParserRuleCall_0_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceAccess().getTypeEClassCrossReference_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Interface__TypeAssignment_0" + + + // $ANTLR start "rule__Interface__GuardAssignment_1_1" + // InternalExport.g:23237:1: rule__Interface__GuardAssignment_1_1 : ( ruleExpression ) ; + public final void rule__Interface__GuardAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23241:1: ( ( ruleExpression ) ) + // InternalExport.g:23242:2: ( ruleExpression ) + { + // InternalExport.g:23242:2: ( ruleExpression ) + // InternalExport.g:23243:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceAccess().getGuardExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceAccess().getGuardExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Interface__GuardAssignment_1_1" + + + // $ANTLR start "rule__Interface__ItemsAssignment_2_1" + // InternalExport.g:23252:1: rule__Interface__ItemsAssignment_2_1 : ( ruleInterfaceItem ) ; + public final void rule__Interface__ItemsAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23256:1: ( ( ruleInterfaceItem ) ) + // InternalExport.g:23257:2: ( ruleInterfaceItem ) + { + // InternalExport.g:23257:2: ( ruleInterfaceItem ) + // InternalExport.g:23258:3: ruleInterfaceItem + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceAccess().getItemsInterfaceItemParserRuleCall_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleInterfaceItem(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceAccess().getItemsInterfaceItemParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Interface__ItemsAssignment_2_1" + + + // $ANTLR start "rule__Interface__ItemsAssignment_2_2_1" + // InternalExport.g:23267:1: rule__Interface__ItemsAssignment_2_2_1 : ( ruleInterfaceItem ) ; + public final void rule__Interface__ItemsAssignment_2_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23271:1: ( ( ruleInterfaceItem ) ) + // InternalExport.g:23272:2: ( ruleInterfaceItem ) + { + // InternalExport.g:23272:2: ( ruleInterfaceItem ) + // InternalExport.g:23273:3: ruleInterfaceItem + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceAccess().getItemsInterfaceItemParserRuleCall_2_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleInterfaceItem(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceAccess().getItemsInterfaceItemParserRuleCall_2_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Interface__ItemsAssignment_2_2_1" + + + // $ANTLR start "rule__InterfaceField__UnorderedAssignment_0" + // InternalExport.g:23282:1: rule__InterfaceField__UnorderedAssignment_0 : ( ( '+' ) ) ; + public final void rule__InterfaceField__UnorderedAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23286:1: ( ( ( '+' ) ) ) + // InternalExport.g:23287:2: ( ( '+' ) ) + { + // InternalExport.g:23287:2: ( ( '+' ) ) + // InternalExport.g:23288:3: ( '+' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceFieldAccess().getUnorderedPlusSignKeyword_0_0()); + } + // InternalExport.g:23289:3: ( '+' ) + // InternalExport.g:23290:4: '+' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceFieldAccess().getUnorderedPlusSignKeyword_0_0()); + } + match(input,23,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceFieldAccess().getUnorderedPlusSignKeyword_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceFieldAccess().getUnorderedPlusSignKeyword_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InterfaceField__UnorderedAssignment_0" + + + // $ANTLR start "rule__InterfaceField__FieldAssignment_1" + // InternalExport.g:23301:1: rule__InterfaceField__FieldAssignment_1 : ( ( RULE_ID ) ) ; + public final void rule__InterfaceField__FieldAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23305:1: ( ( ( RULE_ID ) ) ) + // InternalExport.g:23306:2: ( ( RULE_ID ) ) + { + // InternalExport.g:23306:2: ( ( RULE_ID ) ) + // InternalExport.g:23307:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceFieldAccess().getFieldEStructuralFeatureCrossReference_1_0()); + } + // InternalExport.g:23308:3: ( RULE_ID ) + // InternalExport.g:23309:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceFieldAccess().getFieldEStructuralFeatureIDTerminalRuleCall_1_0_1()); + } + match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceFieldAccess().getFieldEStructuralFeatureIDTerminalRuleCall_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceFieldAccess().getFieldEStructuralFeatureCrossReference_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InterfaceField__FieldAssignment_1" + + + // $ANTLR start "rule__InterfaceNavigation__UnorderedAssignment_1" + // InternalExport.g:23320:1: rule__InterfaceNavigation__UnorderedAssignment_1 : ( ( '+' ) ) ; + public final void rule__InterfaceNavigation__UnorderedAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23324:1: ( ( ( '+' ) ) ) + // InternalExport.g:23325:2: ( ( '+' ) ) + { + // InternalExport.g:23325:2: ( ( '+' ) ) + // InternalExport.g:23326:3: ( '+' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceNavigationAccess().getUnorderedPlusSignKeyword_1_0()); + } + // InternalExport.g:23327:3: ( '+' ) + // InternalExport.g:23328:4: '+' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceNavigationAccess().getUnorderedPlusSignKeyword_1_0()); + } + match(input,23,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceNavigationAccess().getUnorderedPlusSignKeyword_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceNavigationAccess().getUnorderedPlusSignKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InterfaceNavigation__UnorderedAssignment_1" + + + // $ANTLR start "rule__InterfaceNavigation__RefAssignment_2" + // InternalExport.g:23339:1: rule__InterfaceNavigation__RefAssignment_2 : ( ( RULE_ID ) ) ; + public final void rule__InterfaceNavigation__RefAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23343:1: ( ( ( RULE_ID ) ) ) + // InternalExport.g:23344:2: ( ( RULE_ID ) ) + { + // InternalExport.g:23344:2: ( ( RULE_ID ) ) + // InternalExport.g:23345:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceNavigationAccess().getRefEReferenceCrossReference_2_0()); + } + // InternalExport.g:23346:3: ( RULE_ID ) + // InternalExport.g:23347:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceNavigationAccess().getRefEReferenceIDTerminalRuleCall_2_0_1()); + } + match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceNavigationAccess().getRefEReferenceIDTerminalRuleCall_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceNavigationAccess().getRefEReferenceCrossReference_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InterfaceNavigation__RefAssignment_2" + + + // $ANTLR start "rule__InterfaceExpression__RefAssignment_1" + // InternalExport.g:23358:1: rule__InterfaceExpression__RefAssignment_1 : ( ( '@' ) ) ; + public final void rule__InterfaceExpression__RefAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23362:1: ( ( ( '@' ) ) ) + // InternalExport.g:23363:2: ( ( '@' ) ) + { + // InternalExport.g:23363:2: ( ( '@' ) ) + // InternalExport.g:23364:3: ( '@' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceExpressionAccess().getRefCommercialAtKeyword_1_0()); + } + // InternalExport.g:23365:3: ( '@' ) + // InternalExport.g:23366:4: '@' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceExpressionAccess().getRefCommercialAtKeyword_1_0()); + } + match(input,75,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceExpressionAccess().getRefCommercialAtKeyword_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceExpressionAccess().getRefCommercialAtKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InterfaceExpression__RefAssignment_1" + + + // $ANTLR start "rule__InterfaceExpression__UnorderedAssignment_2" + // InternalExport.g:23377:1: rule__InterfaceExpression__UnorderedAssignment_2 : ( ( '+' ) ) ; + public final void rule__InterfaceExpression__UnorderedAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23381:1: ( ( ( '+' ) ) ) + // InternalExport.g:23382:2: ( ( '+' ) ) + { + // InternalExport.g:23382:2: ( ( '+' ) ) + // InternalExport.g:23383:3: ( '+' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceExpressionAccess().getUnorderedPlusSignKeyword_2_0()); + } + // InternalExport.g:23384:3: ( '+' ) + // InternalExport.g:23385:4: '+' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceExpressionAccess().getUnorderedPlusSignKeyword_2_0()); + } + match(input,23,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceExpressionAccess().getUnorderedPlusSignKeyword_2_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceExpressionAccess().getUnorderedPlusSignKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InterfaceExpression__UnorderedAssignment_2" + + + // $ANTLR start "rule__InterfaceExpression__ExprAssignment_4" + // InternalExport.g:23396:1: rule__InterfaceExpression__ExprAssignment_4 : ( ruleExpression ) ; + public final void rule__InterfaceExpression__ExprAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23400:1: ( ( ruleExpression ) ) + // InternalExport.g:23401:2: ( ruleExpression ) + { + // InternalExport.g:23401:2: ( ruleExpression ) + // InternalExport.g:23402:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInterfaceExpressionAccess().getExprExpressionParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInterfaceExpressionAccess().getExprExpressionParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InterfaceExpression__ExprAssignment_4" + + + // $ANTLR start "rule__Export__LookupAssignment_1_0" + // InternalExport.g:23411:1: rule__Export__LookupAssignment_1_0 : ( ( 'lookup' ) ) ; + public final void rule__Export__LookupAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23415:1: ( ( ( 'lookup' ) ) ) + // InternalExport.g:23416:2: ( ( 'lookup' ) ) + { + // InternalExport.g:23416:2: ( ( 'lookup' ) ) + // InternalExport.g:23417:3: ( 'lookup' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getLookupLookupKeyword_1_0_0()); + } + // InternalExport.g:23418:3: ( 'lookup' ) + // InternalExport.g:23419:4: 'lookup' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getLookupLookupKeyword_1_0_0()); + } + match(input,109,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getLookupLookupKeyword_1_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getLookupLookupKeyword_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Export__LookupAssignment_1_0" + + + // $ANTLR start "rule__Export__LookupPredicateAssignment_1_1_1" + // InternalExport.g:23430:1: rule__Export__LookupPredicateAssignment_1_1_1 : ( ruleExpression ) ; + public final void rule__Export__LookupPredicateAssignment_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23434:1: ( ( ruleExpression ) ) + // InternalExport.g:23435:2: ( ruleExpression ) + { + // InternalExport.g:23435:2: ( ruleExpression ) + // InternalExport.g:23436:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getLookupPredicateExpressionParserRuleCall_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getLookupPredicateExpressionParserRuleCall_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Export__LookupPredicateAssignment_1_1_1" + + + // $ANTLR start "rule__Export__TypeAssignment_2" + // InternalExport.g:23445:1: rule__Export__TypeAssignment_2 : ( ( ruleQualifiedID ) ) ; + public final void rule__Export__TypeAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23449:1: ( ( ( ruleQualifiedID ) ) ) + // InternalExport.g:23450:2: ( ( ruleQualifiedID ) ) + { + // InternalExport.g:23450:2: ( ( ruleQualifiedID ) ) + // InternalExport.g:23451:3: ( ruleQualifiedID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getTypeEClassCrossReference_2_0()); + } + // InternalExport.g:23452:3: ( ruleQualifiedID ) + // InternalExport.g:23453:4: ruleQualifiedID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getTypeEClassQualifiedIDParserRuleCall_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getTypeEClassQualifiedIDParserRuleCall_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getTypeEClassCrossReference_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Export__TypeAssignment_2" + + + // $ANTLR start "rule__Export__QualifiedNameAssignment_3_1" + // InternalExport.g:23464:1: rule__Export__QualifiedNameAssignment_3_1 : ( ( 'qualified' ) ) ; + public final void rule__Export__QualifiedNameAssignment_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23468:1: ( ( ( 'qualified' ) ) ) + // InternalExport.g:23469:2: ( ( 'qualified' ) ) + { + // InternalExport.g:23469:2: ( ( 'qualified' ) ) + // InternalExport.g:23470:3: ( 'qualified' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getQualifiedNameQualifiedKeyword_3_1_0()); + } + // InternalExport.g:23471:3: ( 'qualified' ) + // InternalExport.g:23472:4: 'qualified' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getQualifiedNameQualifiedKeyword_3_1_0()); + } + match(input,110,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getQualifiedNameQualifiedKeyword_3_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getQualifiedNameQualifiedKeyword_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Export__QualifiedNameAssignment_3_1" + + + // $ANTLR start "rule__Export__NamingAssignment_3_2" + // InternalExport.g:23483:1: rule__Export__NamingAssignment_3_2 : ( ruleExpression ) ; + public final void rule__Export__NamingAssignment_3_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23487:1: ( ( ruleExpression ) ) + // InternalExport.g:23488:2: ( ruleExpression ) + { + // InternalExport.g:23488:2: ( ruleExpression ) + // InternalExport.g:23489:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getNamingExpressionParserRuleCall_3_2_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getNamingExpressionParserRuleCall_3_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Export__NamingAssignment_3_2" + + + // $ANTLR start "rule__Export__GuardAssignment_4_1" + // InternalExport.g:23498:1: rule__Export__GuardAssignment_4_1 : ( ruleExpression ) ; + public final void rule__Export__GuardAssignment_4_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23502:1: ( ( ruleExpression ) ) + // InternalExport.g:23503:2: ( ruleExpression ) + { + // InternalExport.g:23503:2: ( ruleExpression ) + // InternalExport.g:23504:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getGuardExpressionParserRuleCall_4_1_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getGuardExpressionParserRuleCall_4_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Export__GuardAssignment_4_1" + + + // $ANTLR start "rule__Export__FragmentUniqueAssignment_6_2" + // InternalExport.g:23513:1: rule__Export__FragmentUniqueAssignment_6_2 : ( ( 'unique' ) ) ; + public final void rule__Export__FragmentUniqueAssignment_6_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23517:1: ( ( ( 'unique' ) ) ) + // InternalExport.g:23518:2: ( ( 'unique' ) ) + { + // InternalExport.g:23518:2: ( ( 'unique' ) ) + // InternalExport.g:23519:3: ( 'unique' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getFragmentUniqueUniqueKeyword_6_2_0()); + } + // InternalExport.g:23520:3: ( 'unique' ) + // InternalExport.g:23521:4: 'unique' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getFragmentUniqueUniqueKeyword_6_2_0()); + } + match(input,111,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getFragmentUniqueUniqueKeyword_6_2_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getFragmentUniqueUniqueKeyword_6_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Export__FragmentUniqueAssignment_6_2" + + + // $ANTLR start "rule__Export__FragmentAttributeAssignment_6_5" + // InternalExport.g:23532:1: rule__Export__FragmentAttributeAssignment_6_5 : ( ( RULE_ID ) ) ; + public final void rule__Export__FragmentAttributeAssignment_6_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23536:1: ( ( ( RULE_ID ) ) ) + // InternalExport.g:23537:2: ( ( RULE_ID ) ) + { + // InternalExport.g:23537:2: ( ( RULE_ID ) ) + // InternalExport.g:23538:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getFragmentAttributeEAttributeCrossReference_6_5_0()); + } + // InternalExport.g:23539:3: ( RULE_ID ) + // InternalExport.g:23540:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getFragmentAttributeEAttributeIDTerminalRuleCall_6_5_0_1()); + } + match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getFragmentAttributeEAttributeIDTerminalRuleCall_6_5_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getFragmentAttributeEAttributeCrossReference_6_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Export__FragmentAttributeAssignment_6_5" + + + // $ANTLR start "rule__Export__FingerprintAssignment_7_0_0" + // InternalExport.g:23551:1: rule__Export__FingerprintAssignment_7_0_0 : ( ( 'object-fingerprint' ) ) ; + public final void rule__Export__FingerprintAssignment_7_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23555:1: ( ( ( 'object-fingerprint' ) ) ) + // InternalExport.g:23556:2: ( ( 'object-fingerprint' ) ) + { + // InternalExport.g:23556:2: ( ( 'object-fingerprint' ) ) + // InternalExport.g:23557:3: ( 'object-fingerprint' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getFingerprintObjectFingerprintKeyword_7_0_0_0()); + } + // InternalExport.g:23558:3: ( 'object-fingerprint' ) + // InternalExport.g:23559:4: 'object-fingerprint' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getFingerprintObjectFingerprintKeyword_7_0_0_0()); + } + match(input,112,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getFingerprintObjectFingerprintKeyword_7_0_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getFingerprintObjectFingerprintKeyword_7_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Export__FingerprintAssignment_7_0_0" + + + // $ANTLR start "rule__Export__ResourceFingerprintAssignment_7_0_1" + // InternalExport.g:23570:1: rule__Export__ResourceFingerprintAssignment_7_0_1 : ( ( 'resource-fingerprint' ) ) ; + public final void rule__Export__ResourceFingerprintAssignment_7_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23574:1: ( ( ( 'resource-fingerprint' ) ) ) + // InternalExport.g:23575:2: ( ( 'resource-fingerprint' ) ) + { + // InternalExport.g:23575:2: ( ( 'resource-fingerprint' ) ) + // InternalExport.g:23576:3: ( 'resource-fingerprint' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getResourceFingerprintResourceFingerprintKeyword_7_0_1_0()); + } + // InternalExport.g:23577:3: ( 'resource-fingerprint' ) + // InternalExport.g:23578:4: 'resource-fingerprint' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getResourceFingerprintResourceFingerprintKeyword_7_0_1_0()); + } + match(input,113,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getResourceFingerprintResourceFingerprintKeyword_7_0_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getResourceFingerprintResourceFingerprintKeyword_7_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Export__ResourceFingerprintAssignment_7_0_1" + + + // $ANTLR start "rule__Export__AttributesAssignment_8_0_1" + // InternalExport.g:23589:1: rule__Export__AttributesAssignment_8_0_1 : ( ruleAttribute ) ; + public final void rule__Export__AttributesAssignment_8_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23593:1: ( ( ruleAttribute ) ) + // InternalExport.g:23594:2: ( ruleAttribute ) + { + // InternalExport.g:23594:2: ( ruleAttribute ) + // InternalExport.g:23595:3: ruleAttribute + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getAttributesAttributeParserRuleCall_8_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleAttribute(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getAttributesAttributeParserRuleCall_8_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Export__AttributesAssignment_8_0_1" + + + // $ANTLR start "rule__Export__AttributesAssignment_8_0_2_1" + // InternalExport.g:23604:1: rule__Export__AttributesAssignment_8_0_2_1 : ( ruleAttribute ) ; + public final void rule__Export__AttributesAssignment_8_0_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23608:1: ( ( ruleAttribute ) ) + // InternalExport.g:23609:2: ( ruleAttribute ) + { + // InternalExport.g:23609:2: ( ruleAttribute ) + // InternalExport.g:23610:3: ruleAttribute + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getAttributesAttributeParserRuleCall_8_0_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleAttribute(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getAttributesAttributeParserRuleCall_8_0_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Export__AttributesAssignment_8_0_2_1" + + + // $ANTLR start "rule__Export__UserDataAssignment_8_1_1" + // InternalExport.g:23619:1: rule__Export__UserDataAssignment_8_1_1 : ( ruleUserData ) ; + public final void rule__Export__UserDataAssignment_8_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23623:1: ( ( ruleUserData ) ) + // InternalExport.g:23624:2: ( ruleUserData ) + { + // InternalExport.g:23624:2: ( ruleUserData ) + // InternalExport.g:23625:3: ruleUserData + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getUserDataUserDataParserRuleCall_8_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleUserData(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getUserDataUserDataParserRuleCall_8_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Export__UserDataAssignment_8_1_1" + + + // $ANTLR start "rule__Export__UserDataAssignment_8_1_2_1" + // InternalExport.g:23634:1: rule__Export__UserDataAssignment_8_1_2_1 : ( ruleUserData ) ; + public final void rule__Export__UserDataAssignment_8_1_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23638:1: ( ( ruleUserData ) ) + // InternalExport.g:23639:2: ( ruleUserData ) + { + // InternalExport.g:23639:2: ( ruleUserData ) + // InternalExport.g:23640:3: ruleUserData + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExportAccess().getUserDataUserDataParserRuleCall_8_1_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleUserData(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExportAccess().getUserDataUserDataParserRuleCall_8_1_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Export__UserDataAssignment_8_1_2_1" + + + // $ANTLR start "rule__UserData__NameAssignment_0" + // InternalExport.g:23649:1: rule__UserData__NameAssignment_0 : ( RULE_ID ) ; + public final void rule__UserData__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23653:1: ( ( RULE_ID ) ) + // InternalExport.g:23654:2: ( RULE_ID ) + { + // InternalExport.g:23654:2: ( RULE_ID ) + // InternalExport.g:23655:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUserDataAccess().getNameIDTerminalRuleCall_0_0()); + } + match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUserDataAccess().getNameIDTerminalRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UserData__NameAssignment_0" + + + // $ANTLR start "rule__UserData__ExprAssignment_2" + // InternalExport.g:23664:1: rule__UserData__ExprAssignment_2 : ( ruleExpression ) ; + public final void rule__UserData__ExprAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23668:1: ( ( ruleExpression ) ) + // InternalExport.g:23669:2: ( ruleExpression ) + { + // InternalExport.g:23669:2: ( ruleExpression ) + // InternalExport.g:23670:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUserDataAccess().getExprExpressionParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUserDataAccess().getExprExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UserData__ExprAssignment_2" + + + // $ANTLR start "rule__Attribute__AttributeAssignment" + // InternalExport.g:23679:1: rule__Attribute__AttributeAssignment : ( ( RULE_ID ) ) ; + public final void rule__Attribute__AttributeAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23683:1: ( ( ( RULE_ID ) ) ) + // InternalExport.g:23684:2: ( ( RULE_ID ) ) + { + // InternalExport.g:23684:2: ( ( RULE_ID ) ) + // InternalExport.g:23685:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAttributeAccess().getAttributeEAttributeCrossReference_0()); + } + // InternalExport.g:23686:3: ( RULE_ID ) + // InternalExport.g:23687:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAttributeAccess().getAttributeEAttributeIDTerminalRuleCall_0_1()); + } + match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAttributeAccess().getAttributeEAttributeIDTerminalRuleCall_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAttributeAccess().getAttributeEAttributeCrossReference_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Attribute__AttributeAssignment" + + + // $ANTLR start "rule__LetExpression__IdentifierAssignment_1" + // InternalExport.g:23698:1: rule__LetExpression__IdentifierAssignment_1 : ( ruleIdentifier ) ; + public final void rule__LetExpression__IdentifierAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23702:1: ( ( ruleIdentifier ) ) + // InternalExport.g:23703:2: ( ruleIdentifier ) + { + // InternalExport.g:23703:2: ( ruleIdentifier ) + // InternalExport.g:23704:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LetExpression__IdentifierAssignment_1" + + + // $ANTLR start "rule__LetExpression__VarExprAssignment_3" + // InternalExport.g:23713:1: rule__LetExpression__VarExprAssignment_3 : ( ruleExpression ) ; + public final void rule__LetExpression__VarExprAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23717:1: ( ( ruleExpression ) ) + // InternalExport.g:23718:2: ( ruleExpression ) + { + // InternalExport.g:23718:2: ( ruleExpression ) + // InternalExport.g:23719:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LetExpression__VarExprAssignment_3" + + + // $ANTLR start "rule__LetExpression__TargetAssignment_5" + // InternalExport.g:23728:1: rule__LetExpression__TargetAssignment_5 : ( ruleExpression ) ; + public final void rule__LetExpression__TargetAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23732:1: ( ( ruleExpression ) ) + // InternalExport.g:23733:2: ( ruleExpression ) + { + // InternalExport.g:23733:2: ( ruleExpression ) + // InternalExport.g:23734:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LetExpression__TargetAssignment_5" + + + // $ANTLR start "rule__CastedExpression__TypeAssignment_1" + // InternalExport.g:23743:1: rule__CastedExpression__TypeAssignment_1 : ( ruleType ) ; + public final void rule__CastedExpression__TypeAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23747:1: ( ( ruleType ) ) + // InternalExport.g:23748:2: ( ruleType ) + { + // InternalExport.g:23748:2: ( ruleType ) + // InternalExport.g:23749:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CastedExpression__TypeAssignment_1" + + + // $ANTLR start "rule__CastedExpression__TargetAssignment_3" + // InternalExport.g:23758:1: rule__CastedExpression__TargetAssignment_3 : ( ruleExpression ) ; + public final void rule__CastedExpression__TargetAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23762:1: ( ( ruleExpression ) ) + // InternalExport.g:23763:2: ( ruleExpression ) + { + // InternalExport.g:23763:2: ( ruleExpression ) + // InternalExport.g:23764:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CastedExpression__TargetAssignment_3" + + + // $ANTLR start "rule__ChainExpression__NextAssignment_1_2" + // InternalExport.g:23773:1: rule__ChainExpression__NextAssignment_1_2 : ( ruleChainedExpression ) ; + public final void rule__ChainExpression__NextAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23777:1: ( ( ruleChainedExpression ) ) + // InternalExport.g:23778:2: ( ruleChainedExpression ) + { + // InternalExport.g:23778:2: ( ruleChainedExpression ) + // InternalExport.g:23779:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChainExpression__NextAssignment_1_2" + + + // $ANTLR start "rule__IfExpressionTri__ThenPartAssignment_1_2" + // InternalExport.g:23788:1: rule__IfExpressionTri__ThenPartAssignment_1_2 : ( ruleChainedExpression ) ; + public final void rule__IfExpressionTri__ThenPartAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23792:1: ( ( ruleChainedExpression ) ) + // InternalExport.g:23793:2: ( ruleChainedExpression ) + { + // InternalExport.g:23793:2: ( ruleChainedExpression ) + // InternalExport.g:23794:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfExpressionTri__ThenPartAssignment_1_2" + + + // $ANTLR start "rule__IfExpressionTri__ElsePartAssignment_1_4" + // InternalExport.g:23803:1: rule__IfExpressionTri__ElsePartAssignment_1_4 : ( ruleChainedExpression ) ; + public final void rule__IfExpressionTri__ElsePartAssignment_1_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23807:1: ( ( ruleChainedExpression ) ) + // InternalExport.g:23808:2: ( ruleChainedExpression ) + { + // InternalExport.g:23808:2: ( ruleChainedExpression ) + // InternalExport.g:23809:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfExpressionTri__ElsePartAssignment_1_4" + + + // $ANTLR start "rule__IfExpressionKw__ConditionAssignment_1" + // InternalExport.g:23818:1: rule__IfExpressionKw__ConditionAssignment_1 : ( ruleChainedExpression ) ; + public final void rule__IfExpressionKw__ConditionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23822:1: ( ( ruleChainedExpression ) ) + // InternalExport.g:23823:2: ( ruleChainedExpression ) + { + // InternalExport.g:23823:2: ( ruleChainedExpression ) + // InternalExport.g:23824:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfExpressionKw__ConditionAssignment_1" + + + // $ANTLR start "rule__IfExpressionKw__ThenPartAssignment_3" + // InternalExport.g:23833:1: rule__IfExpressionKw__ThenPartAssignment_3 : ( ruleChainedExpression ) ; + public final void rule__IfExpressionKw__ThenPartAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23837:1: ( ( ruleChainedExpression ) ) + // InternalExport.g:23838:2: ( ruleChainedExpression ) + { + // InternalExport.g:23838:2: ( ruleChainedExpression ) + // InternalExport.g:23839:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfExpressionKw__ThenPartAssignment_3" + + + // $ANTLR start "rule__IfExpressionKw__ElsePartAssignment_4_0_1" + // InternalExport.g:23848:1: rule__IfExpressionKw__ElsePartAssignment_4_0_1 : ( ruleChainedExpression ) ; + public final void rule__IfExpressionKw__ElsePartAssignment_4_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23852:1: ( ( ruleChainedExpression ) ) + // InternalExport.g:23853:2: ( ruleChainedExpression ) + { + // InternalExport.g:23853:2: ( ruleChainedExpression ) + // InternalExport.g:23854:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfExpressionKw__ElsePartAssignment_4_0_1" + + + // $ANTLR start "rule__SwitchExpression__SwitchExprAssignment_1_1" + // InternalExport.g:23863:1: rule__SwitchExpression__SwitchExprAssignment_1_1 : ( ruleOrExpression ) ; + public final void rule__SwitchExpression__SwitchExprAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23867:1: ( ( ruleOrExpression ) ) + // InternalExport.g:23868:2: ( ruleOrExpression ) + { + // InternalExport.g:23868:2: ( ruleOrExpression ) + // InternalExport.g:23869:3: ruleOrExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleOrExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SwitchExpression__SwitchExprAssignment_1_1" + + + // $ANTLR start "rule__SwitchExpression__CaseAssignment_3" + // InternalExport.g:23878:1: rule__SwitchExpression__CaseAssignment_3 : ( ruleCase ) ; + public final void rule__SwitchExpression__CaseAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23882:1: ( ( ruleCase ) ) + // InternalExport.g:23883:2: ( ruleCase ) + { + // InternalExport.g:23883:2: ( ruleCase ) + // InternalExport.g:23884:3: ruleCase + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleCase(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SwitchExpression__CaseAssignment_3" + + + // $ANTLR start "rule__SwitchExpression__DefaultExprAssignment_6" + // InternalExport.g:23893:1: rule__SwitchExpression__DefaultExprAssignment_6 : ( ruleOrExpression ) ; + public final void rule__SwitchExpression__DefaultExprAssignment_6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23897:1: ( ( ruleOrExpression ) ) + // InternalExport.g:23898:2: ( ruleOrExpression ) + { + // InternalExport.g:23898:2: ( ruleOrExpression ) + // InternalExport.g:23899:3: ruleOrExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); + } + pushFollow(FOLLOW_2); + ruleOrExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SwitchExpression__DefaultExprAssignment_6" + + + // $ANTLR start "rule__Case__ConditionAssignment_1" + // InternalExport.g:23908:1: rule__Case__ConditionAssignment_1 : ( ruleOrExpression ) ; + public final void rule__Case__ConditionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23912:1: ( ( ruleOrExpression ) ) + // InternalExport.g:23913:2: ( ruleOrExpression ) + { + // InternalExport.g:23913:2: ( ruleOrExpression ) + // InternalExport.g:23914:3: ruleOrExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleOrExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Case__ConditionAssignment_1" + + + // $ANTLR start "rule__Case__ThenParAssignment_3" + // InternalExport.g:23923:1: rule__Case__ThenParAssignment_3 : ( ruleOrExpression ) ; + public final void rule__Case__ThenParAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23927:1: ( ( ruleOrExpression ) ) + // InternalExport.g:23928:2: ( ruleOrExpression ) + { + // InternalExport.g:23928:2: ( ruleOrExpression ) + // InternalExport.g:23929:3: ruleOrExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleOrExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Case__ThenParAssignment_3" + + + // $ANTLR start "rule__OrExpression__OperatorAssignment_1_1" + // InternalExport.g:23938:1: rule__OrExpression__OperatorAssignment_1_1 : ( ( '||' ) ) ; + public final void rule__OrExpression__OperatorAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23942:1: ( ( ( '||' ) ) ) + // InternalExport.g:23943:2: ( ( '||' ) ) + { + // InternalExport.g:23943:2: ( ( '||' ) ) + // InternalExport.g:23944:3: ( '||' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); + } + // InternalExport.g:23945:3: ( '||' ) + // InternalExport.g:23946:4: '||' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); + } + match(input,15,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrExpression__OperatorAssignment_1_1" + + + // $ANTLR start "rule__OrExpression__RightAssignment_1_2" + // InternalExport.g:23957:1: rule__OrExpression__RightAssignment_1_2 : ( ruleAndExpression ) ; + public final void rule__OrExpression__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23961:1: ( ( ruleAndExpression ) ) + // InternalExport.g:23962:2: ( ruleAndExpression ) + { + // InternalExport.g:23962:2: ( ruleAndExpression ) + // InternalExport.g:23963:3: ruleAndExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleAndExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrExpression__RightAssignment_1_2" + + + // $ANTLR start "rule__AndExpression__OperatorAssignment_1_1" + // InternalExport.g:23972:1: rule__AndExpression__OperatorAssignment_1_1 : ( ( '&&' ) ) ; + public final void rule__AndExpression__OperatorAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23976:1: ( ( ( '&&' ) ) ) + // InternalExport.g:23977:2: ( ( '&&' ) ) + { + // InternalExport.g:23977:2: ( ( '&&' ) ) + // InternalExport.g:23978:3: ( '&&' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + } + // InternalExport.g:23979:3: ( '&&' ) + // InternalExport.g:23980:4: '&&' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + } + match(input,16,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndExpression__OperatorAssignment_1_1" + + + // $ANTLR start "rule__AndExpression__RightAssignment_1_2" + // InternalExport.g:23991:1: rule__AndExpression__RightAssignment_1_2 : ( ruleImpliesExpression ) ; + public final void rule__AndExpression__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:23995:1: ( ( ruleImpliesExpression ) ) + // InternalExport.g:23996:2: ( ruleImpliesExpression ) + { + // InternalExport.g:23996:2: ( ruleImpliesExpression ) + // InternalExport.g:23997:3: ruleImpliesExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleImpliesExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndExpression__RightAssignment_1_2" + + + // $ANTLR start "rule__ImpliesExpression__OperatorAssignment_1_1" + // InternalExport.g:24006:1: rule__ImpliesExpression__OperatorAssignment_1_1 : ( ( 'implies' ) ) ; + public final void rule__ImpliesExpression__OperatorAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24010:1: ( ( ( 'implies' ) ) ) + // InternalExport.g:24011:2: ( ( 'implies' ) ) + { + // InternalExport.g:24011:2: ( ( 'implies' ) ) + // InternalExport.g:24012:3: ( 'implies' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); + } + // InternalExport.g:24013:3: ( 'implies' ) + // InternalExport.g:24014:4: 'implies' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); + } + match(input,114,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImpliesExpression__OperatorAssignment_1_1" + + + // $ANTLR start "rule__ImpliesExpression__RightAssignment_1_2" + // InternalExport.g:24025:1: rule__ImpliesExpression__RightAssignment_1_2 : ( ruleRelationalExpression ) ; + public final void rule__ImpliesExpression__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24029:1: ( ( ruleRelationalExpression ) ) + // InternalExport.g:24030:2: ( ruleRelationalExpression ) + { + // InternalExport.g:24030:2: ( ruleRelationalExpression ) + // InternalExport.g:24031:3: ruleRelationalExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleRelationalExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImpliesExpression__RightAssignment_1_2" + + + // $ANTLR start "rule__RelationalExpression__OperatorAssignment_1_1" + // InternalExport.g:24040:1: rule__RelationalExpression__OperatorAssignment_1_1 : ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) ; + public final void rule__RelationalExpression__OperatorAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24044:1: ( ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) ) + // InternalExport.g:24045:2: ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) + { + // InternalExport.g:24045:2: ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) + // InternalExport.g:24046:3: ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); + } + // InternalExport.g:24047:3: ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) + // InternalExport.g:24047:4: rule__RelationalExpression__OperatorAlternatives_1_1_0 + { + pushFollow(FOLLOW_2); + rule__RelationalExpression__OperatorAlternatives_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RelationalExpression__OperatorAssignment_1_1" + + + // $ANTLR start "rule__RelationalExpression__RightAssignment_1_2" + // InternalExport.g:24055:1: rule__RelationalExpression__RightAssignment_1_2 : ( ruleAdditiveExpression ) ; + public final void rule__RelationalExpression__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24059:1: ( ( ruleAdditiveExpression ) ) + // InternalExport.g:24060:2: ( ruleAdditiveExpression ) + { + // InternalExport.g:24060:2: ( ruleAdditiveExpression ) + // InternalExport.g:24061:3: ruleAdditiveExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleAdditiveExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RelationalExpression__RightAssignment_1_2" + + + // $ANTLR start "rule__AdditiveExpression__NameAssignment_1_1" + // InternalExport.g:24070:1: rule__AdditiveExpression__NameAssignment_1_1 : ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) ; + public final void rule__AdditiveExpression__NameAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24074:1: ( ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) ) + // InternalExport.g:24075:2: ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) + { + // InternalExport.g:24075:2: ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) + // InternalExport.g:24076:3: ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); + } + // InternalExport.g:24077:3: ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) + // InternalExport.g:24077:4: rule__AdditiveExpression__NameAlternatives_1_1_0 + { + pushFollow(FOLLOW_2); + rule__AdditiveExpression__NameAlternatives_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveExpression__NameAssignment_1_1" + + + // $ANTLR start "rule__AdditiveExpression__ParamsAssignment_1_2" + // InternalExport.g:24085:1: rule__AdditiveExpression__ParamsAssignment_1_2 : ( ruleMultiplicativeExpression ) ; + public final void rule__AdditiveExpression__ParamsAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24089:1: ( ( ruleMultiplicativeExpression ) ) + // InternalExport.g:24090:2: ( ruleMultiplicativeExpression ) + { + // InternalExport.g:24090:2: ( ruleMultiplicativeExpression ) + // InternalExport.g:24091:3: ruleMultiplicativeExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveExpression__ParamsAssignment_1_2" + + + // $ANTLR start "rule__MultiplicativeExpression__NameAssignment_1_1" + // InternalExport.g:24100:1: rule__MultiplicativeExpression__NameAssignment_1_1 : ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) ; + public final void rule__MultiplicativeExpression__NameAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24104:1: ( ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) ) + // InternalExport.g:24105:2: ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) + { + // InternalExport.g:24105:2: ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) + // InternalExport.g:24106:3: ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); + } + // InternalExport.g:24107:3: ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) + // InternalExport.g:24107:4: rule__MultiplicativeExpression__NameAlternatives_1_1_0 + { + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__NameAlternatives_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__NameAssignment_1_1" + + + // $ANTLR start "rule__MultiplicativeExpression__ParamsAssignment_1_2" + // InternalExport.g:24115:1: rule__MultiplicativeExpression__ParamsAssignment_1_2 : ( ruleUnaryOrInfixExpression ) ; + public final void rule__MultiplicativeExpression__ParamsAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24119:1: ( ( ruleUnaryOrInfixExpression ) ) + // InternalExport.g:24120:2: ( ruleUnaryOrInfixExpression ) + { + // InternalExport.g:24120:2: ( ruleUnaryOrInfixExpression ) + // InternalExport.g:24121:3: ruleUnaryOrInfixExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleUnaryOrInfixExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__ParamsAssignment_1_2" + + + // $ANTLR start "rule__UnaryExpression__NameAssignment_0" + // InternalExport.g:24130:1: rule__UnaryExpression__NameAssignment_0 : ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) ; + public final void rule__UnaryExpression__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24134:1: ( ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) ) + // InternalExport.g:24135:2: ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) + { + // InternalExport.g:24135:2: ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) + // InternalExport.g:24136:3: ( rule__UnaryExpression__NameAlternatives_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); + } + // InternalExport.g:24137:3: ( rule__UnaryExpression__NameAlternatives_0_0 ) + // InternalExport.g:24137:4: rule__UnaryExpression__NameAlternatives_0_0 + { + pushFollow(FOLLOW_2); + rule__UnaryExpression__NameAlternatives_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__NameAssignment_0" + + + // $ANTLR start "rule__UnaryExpression__ParamsAssignment_1" + // InternalExport.g:24145:1: rule__UnaryExpression__ParamsAssignment_1 : ( ruleInfixExpression ) ; + public final void rule__UnaryExpression__ParamsAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24149:1: ( ( ruleInfixExpression ) ) + // InternalExport.g:24150:2: ( ruleInfixExpression ) + { + // InternalExport.g:24150:2: ( ruleInfixExpression ) + // InternalExport.g:24151:3: ruleInfixExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleInfixExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__ParamsAssignment_1" + + + // $ANTLR start "rule__InfixExpression__NameAssignment_1_0_2" + // InternalExport.g:24160:1: rule__InfixExpression__NameAssignment_1_0_2 : ( ruleIdentifier ) ; + public final void rule__InfixExpression__NameAssignment_1_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24164:1: ( ( ruleIdentifier ) ) + // InternalExport.g:24165:2: ( ruleIdentifier ) + { + // InternalExport.g:24165:2: ( ruleIdentifier ) + // InternalExport.g:24166:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__NameAssignment_1_0_2" + + + // $ANTLR start "rule__InfixExpression__ParamsAssignment_1_0_4_0" + // InternalExport.g:24175:1: rule__InfixExpression__ParamsAssignment_1_0_4_0 : ( ruleExpression ) ; + public final void rule__InfixExpression__ParamsAssignment_1_0_4_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24179:1: ( ( ruleExpression ) ) + // InternalExport.g:24180:2: ( ruleExpression ) + { + // InternalExport.g:24180:2: ( ruleExpression ) + // InternalExport.g:24181:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__ParamsAssignment_1_0_4_0" + + + // $ANTLR start "rule__InfixExpression__ParamsAssignment_1_0_4_1_1" + // InternalExport.g:24190:1: rule__InfixExpression__ParamsAssignment_1_0_4_1_1 : ( ruleExpression ) ; + public final void rule__InfixExpression__ParamsAssignment_1_0_4_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24194:1: ( ( ruleExpression ) ) + // InternalExport.g:24195:2: ( ruleExpression ) + { + // InternalExport.g:24195:2: ( ruleExpression ) + // InternalExport.g:24196:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__ParamsAssignment_1_0_4_1_1" + + + // $ANTLR start "rule__InfixExpression__TypeAssignment_1_1_2" + // InternalExport.g:24205:1: rule__InfixExpression__TypeAssignment_1_1_2 : ( ruleType ) ; + public final void rule__InfixExpression__TypeAssignment_1_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24209:1: ( ( ruleType ) ) + // InternalExport.g:24210:2: ( ruleType ) + { + // InternalExport.g:24210:2: ( ruleType ) + // InternalExport.g:24211:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__TypeAssignment_1_1_2" + + + // $ANTLR start "rule__InfixExpression__NameAssignment_1_2_2" + // InternalExport.g:24220:1: rule__InfixExpression__NameAssignment_1_2_2 : ( ( 'typeSelect' ) ) ; + public final void rule__InfixExpression__NameAssignment_1_2_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24224:1: ( ( ( 'typeSelect' ) ) ) + // InternalExport.g:24225:2: ( ( 'typeSelect' ) ) + { + // InternalExport.g:24225:2: ( ( 'typeSelect' ) ) + // InternalExport.g:24226:3: ( 'typeSelect' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); + } + // InternalExport.g:24227:3: ( 'typeSelect' ) + // InternalExport.g:24228:4: 'typeSelect' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); + } + match(input,115,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__NameAssignment_1_2_2" + + + // $ANTLR start "rule__InfixExpression__TypeAssignment_1_2_4" + // InternalExport.g:24239:1: rule__InfixExpression__TypeAssignment_1_2_4 : ( ruleType ) ; + public final void rule__InfixExpression__TypeAssignment_1_2_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24243:1: ( ( ruleType ) ) + // InternalExport.g:24244:2: ( ruleType ) + { + // InternalExport.g:24244:2: ( ruleType ) + // InternalExport.g:24245:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); + } + pushFollow(FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__TypeAssignment_1_2_4" + + + // $ANTLR start "rule__InfixExpression__NameAssignment_1_3_2" + // InternalExport.g:24254:1: rule__InfixExpression__NameAssignment_1_3_2 : ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) ; + public final void rule__InfixExpression__NameAssignment_1_3_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24258:1: ( ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) ) + // InternalExport.g:24259:2: ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) + { + // InternalExport.g:24259:2: ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) + // InternalExport.g:24260:3: ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); + } + // InternalExport.g:24261:3: ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) + // InternalExport.g:24261:4: rule__InfixExpression__NameAlternatives_1_3_2_0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__NameAlternatives_1_3_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__NameAssignment_1_3_2" + + + // $ANTLR start "rule__InfixExpression__VarAssignment_1_3_4_0" + // InternalExport.g:24269:1: rule__InfixExpression__VarAssignment_1_3_4_0 : ( ruleIdentifier ) ; + public final void rule__InfixExpression__VarAssignment_1_3_4_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24273:1: ( ( ruleIdentifier ) ) + // InternalExport.g:24274:2: ( ruleIdentifier ) + { + // InternalExport.g:24274:2: ( ruleIdentifier ) + // InternalExport.g:24275:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__VarAssignment_1_3_4_0" + + + // $ANTLR start "rule__InfixExpression__ExpAssignment_1_3_5" + // InternalExport.g:24284:1: rule__InfixExpression__ExpAssignment_1_3_5 : ( ruleExpression ) ; + public final void rule__InfixExpression__ExpAssignment_1_3_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24288:1: ( ( ruleExpression ) ) + // InternalExport.g:24289:2: ( ruleExpression ) + { + // InternalExport.g:24289:2: ( ruleExpression ) + // InternalExport.g:24290:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__ExpAssignment_1_3_5" + + + // $ANTLR start "rule__BooleanLiteral__ValAssignment" + // InternalExport.g:24299:1: rule__BooleanLiteral__ValAssignment : ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) ; + public final void rule__BooleanLiteral__ValAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24303:1: ( ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) ) + // InternalExport.g:24304:2: ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) + { + // InternalExport.g:24304:2: ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) + // InternalExport.g:24305:3: ( rule__BooleanLiteral__ValAlternatives_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); + } + // InternalExport.g:24306:3: ( rule__BooleanLiteral__ValAlternatives_0 ) + // InternalExport.g:24306:4: rule__BooleanLiteral__ValAlternatives_0 + { + pushFollow(FOLLOW_2); + rule__BooleanLiteral__ValAlternatives_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteral__ValAssignment" + + + // $ANTLR start "rule__IntegerLiteral__ValAssignment" + // InternalExport.g:24314:1: rule__IntegerLiteral__ValAssignment : ( RULE_INT ) ; + public final void rule__IntegerLiteral__ValAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24318:1: ( ( RULE_INT ) ) + // InternalExport.g:24319:2: ( RULE_INT ) + { + // InternalExport.g:24319:2: ( RULE_INT ) + // InternalExport.g:24320:3: RULE_INT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IntegerLiteral__ValAssignment" + + + // $ANTLR start "rule__NullLiteral__ValAssignment" + // InternalExport.g:24329:1: rule__NullLiteral__ValAssignment : ( ( 'null' ) ) ; + public final void rule__NullLiteral__ValAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24333:1: ( ( ( 'null' ) ) ) + // InternalExport.g:24334:2: ( ( 'null' ) ) + { + // InternalExport.g:24334:2: ( ( 'null' ) ) + // InternalExport.g:24335:3: ( 'null' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); + } + // InternalExport.g:24336:3: ( 'null' ) + // InternalExport.g:24337:4: 'null' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); + } + match(input,100,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NullLiteral__ValAssignment" + + + // $ANTLR start "rule__RealLiteral__ValAssignment" + // InternalExport.g:24348:1: rule__RealLiteral__ValAssignment : ( RULE_REAL ) ; + public final void rule__RealLiteral__ValAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24352:1: ( ( RULE_REAL ) ) + // InternalExport.g:24353:2: ( RULE_REAL ) + { + // InternalExport.g:24353:2: ( RULE_REAL ) + // InternalExport.g:24354:3: RULE_REAL + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); + } + match(input,RULE_REAL,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RealLiteral__ValAssignment" + + + // $ANTLR start "rule__StringLiteral__ValAssignment" + // InternalExport.g:24363:1: rule__StringLiteral__ValAssignment : ( RULE_STRING ) ; + public final void rule__StringLiteral__ValAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24367:1: ( ( RULE_STRING ) ) + // InternalExport.g:24368:2: ( RULE_STRING ) + { + // InternalExport.g:24368:2: ( RULE_STRING ) + // InternalExport.g:24369:3: RULE_STRING + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); + } + match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StringLiteral__ValAssignment" + + + // $ANTLR start "rule__GlobalVarExpression__NameAssignment_1" + // InternalExport.g:24378:1: rule__GlobalVarExpression__NameAssignment_1 : ( ruleIdentifier ) ; + public final void rule__GlobalVarExpression__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24382:1: ( ( ruleIdentifier ) ) + // InternalExport.g:24383:2: ( ruleIdentifier ) + { + // InternalExport.g:24383:2: ( ruleIdentifier ) + // InternalExport.g:24384:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalVarExpression__NameAssignment_1" + + + // $ANTLR start "rule__FeatureCall__TypeAssignment_1" + // InternalExport.g:24393:1: rule__FeatureCall__TypeAssignment_1 : ( ruleType ) ; + public final void rule__FeatureCall__TypeAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24397:1: ( ( ruleType ) ) + // InternalExport.g:24398:2: ( ruleType ) + { + // InternalExport.g:24398:2: ( ruleType ) + // InternalExport.g:24399:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FeatureCall__TypeAssignment_1" + + + // $ANTLR start "rule__OperationCall__NameAssignment_0" + // InternalExport.g:24408:1: rule__OperationCall__NameAssignment_0 : ( ruleIdentifier ) ; + public final void rule__OperationCall__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24412:1: ( ( ruleIdentifier ) ) + // InternalExport.g:24413:2: ( ruleIdentifier ) + { + // InternalExport.g:24413:2: ( ruleIdentifier ) + // InternalExport.g:24414:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__NameAssignment_0" + + + // $ANTLR start "rule__OperationCall__ParamsAssignment_2_0" + // InternalExport.g:24423:1: rule__OperationCall__ParamsAssignment_2_0 : ( ruleExpression ) ; + public final void rule__OperationCall__ParamsAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24427:1: ( ( ruleExpression ) ) + // InternalExport.g:24428:2: ( ruleExpression ) + { + // InternalExport.g:24428:2: ( ruleExpression ) + // InternalExport.g:24429:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__ParamsAssignment_2_0" + + + // $ANTLR start "rule__OperationCall__ParamsAssignment_2_1_1" + // InternalExport.g:24438:1: rule__OperationCall__ParamsAssignment_2_1_1 : ( ruleExpression ) ; + public final void rule__OperationCall__ParamsAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24442:1: ( ( ruleExpression ) ) + // InternalExport.g:24443:2: ( ruleExpression ) + { + // InternalExport.g:24443:2: ( ruleExpression ) + // InternalExport.g:24444:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__ParamsAssignment_2_1_1" + + + // $ANTLR start "rule__ListLiteral__ElementsAssignment_2_0" + // InternalExport.g:24453:1: rule__ListLiteral__ElementsAssignment_2_0 : ( ruleExpression ) ; + public final void rule__ListLiteral__ElementsAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24457:1: ( ( ruleExpression ) ) + // InternalExport.g:24458:2: ( ruleExpression ) + { + // InternalExport.g:24458:2: ( ruleExpression ) + // InternalExport.g:24459:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__ElementsAssignment_2_0" + + + // $ANTLR start "rule__ListLiteral__ElementsAssignment_2_1_1" + // InternalExport.g:24468:1: rule__ListLiteral__ElementsAssignment_2_1_1 : ( ruleExpression ) ; + public final void rule__ListLiteral__ElementsAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24472:1: ( ( ruleExpression ) ) + // InternalExport.g:24473:2: ( ruleExpression ) + { + // InternalExport.g:24473:2: ( ruleExpression ) + // InternalExport.g:24474:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__ElementsAssignment_2_1_1" + + + // $ANTLR start "rule__ConstructorCallExpression__TypeAssignment_1" + // InternalExport.g:24483:1: rule__ConstructorCallExpression__TypeAssignment_1 : ( ruleSimpleType ) ; + public final void rule__ConstructorCallExpression__TypeAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24487:1: ( ( ruleSimpleType ) ) + // InternalExport.g:24488:2: ( ruleSimpleType ) + { + // InternalExport.g:24488:2: ( ruleSimpleType ) + // InternalExport.g:24489:3: ruleSimpleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleSimpleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstructorCallExpression__TypeAssignment_1" + + + // $ANTLR start "rule__TypeSelectExpression__NameAssignment_0" + // InternalExport.g:24498:1: rule__TypeSelectExpression__NameAssignment_0 : ( ( 'typeSelect' ) ) ; + public final void rule__TypeSelectExpression__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24502:1: ( ( ( 'typeSelect' ) ) ) + // InternalExport.g:24503:2: ( ( 'typeSelect' ) ) + { + // InternalExport.g:24503:2: ( ( 'typeSelect' ) ) + // InternalExport.g:24504:3: ( 'typeSelect' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + } + // InternalExport.g:24505:3: ( 'typeSelect' ) + // InternalExport.g:24506:4: 'typeSelect' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + } + match(input,115,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__NameAssignment_0" + + + // $ANTLR start "rule__TypeSelectExpression__TypeAssignment_2" + // InternalExport.g:24517:1: rule__TypeSelectExpression__TypeAssignment_2 : ( ruleType ) ; + public final void rule__TypeSelectExpression__TypeAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24521:1: ( ( ruleType ) ) + // InternalExport.g:24522:2: ( ruleType ) + { + // InternalExport.g:24522:2: ( ruleType ) + // InternalExport.g:24523:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__TypeAssignment_2" + + + // $ANTLR start "rule__CollectionExpression__NameAssignment_0" + // InternalExport.g:24532:1: rule__CollectionExpression__NameAssignment_0 : ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) ; + public final void rule__CollectionExpression__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24536:1: ( ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) ) + // InternalExport.g:24537:2: ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) + { + // InternalExport.g:24537:2: ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) + // InternalExport.g:24538:3: ( rule__CollectionExpression__NameAlternatives_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); + } + // InternalExport.g:24539:3: ( rule__CollectionExpression__NameAlternatives_0_0 ) + // InternalExport.g:24539:4: rule__CollectionExpression__NameAlternatives_0_0 + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__NameAlternatives_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__NameAssignment_0" + + + // $ANTLR start "rule__CollectionExpression__VarAssignment_2_0" + // InternalExport.g:24547:1: rule__CollectionExpression__VarAssignment_2_0 : ( ruleIdentifier ) ; + public final void rule__CollectionExpression__VarAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24551:1: ( ( ruleIdentifier ) ) + // InternalExport.g:24552:2: ( ruleIdentifier ) + { + // InternalExport.g:24552:2: ( ruleIdentifier ) + // InternalExport.g:24553:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__VarAssignment_2_0" + + + // $ANTLR start "rule__CollectionExpression__ExpAssignment_3" + // InternalExport.g:24562:1: rule__CollectionExpression__ExpAssignment_3 : ( ruleExpression ) ; + public final void rule__CollectionExpression__ExpAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24566:1: ( ( ruleExpression ) ) + // InternalExport.g:24567:2: ( ruleExpression ) + { + // InternalExport.g:24567:2: ( ruleExpression ) + // InternalExport.g:24568:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__ExpAssignment_3" + + + // $ANTLR start "rule__CollectionType__ClAssignment_0" + // InternalExport.g:24577:1: rule__CollectionType__ClAssignment_0 : ( ( rule__CollectionType__ClAlternatives_0_0 ) ) ; + public final void rule__CollectionType__ClAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24581:1: ( ( ( rule__CollectionType__ClAlternatives_0_0 ) ) ) + // InternalExport.g:24582:2: ( ( rule__CollectionType__ClAlternatives_0_0 ) ) + { + // InternalExport.g:24582:2: ( ( rule__CollectionType__ClAlternatives_0_0 ) ) + // InternalExport.g:24583:3: ( rule__CollectionType__ClAlternatives_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); + } + // InternalExport.g:24584:3: ( rule__CollectionType__ClAlternatives_0_0 ) + // InternalExport.g:24584:4: rule__CollectionType__ClAlternatives_0_0 + { + pushFollow(FOLLOW_2); + rule__CollectionType__ClAlternatives_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__ClAssignment_0" + + + // $ANTLR start "rule__CollectionType__Id1Assignment_2" + // InternalExport.g:24592:1: rule__CollectionType__Id1Assignment_2 : ( ruleSimpleType ) ; + public final void rule__CollectionType__Id1Assignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24596:1: ( ( ruleSimpleType ) ) + // InternalExport.g:24597:2: ( ruleSimpleType ) + { + // InternalExport.g:24597:2: ( ruleSimpleType ) + // InternalExport.g:24598:3: ruleSimpleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleSimpleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Id1Assignment_2" + + + // $ANTLR start "rule__SimpleType__IdAssignment_0" + // InternalExport.g:24607:1: rule__SimpleType__IdAssignment_0 : ( ruleIdentifier ) ; + public final void rule__SimpleType__IdAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24611:1: ( ( ruleIdentifier ) ) + // InternalExport.g:24612:2: ( ruleIdentifier ) + { + // InternalExport.g:24612:2: ( ruleIdentifier ) + // InternalExport.g:24613:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__IdAssignment_0" + + + // $ANTLR start "rule__SimpleType__IdAssignment_1_1" + // InternalExport.g:24622:1: rule__SimpleType__IdAssignment_1_1 : ( ruleIdentifier ) ; + public final void rule__SimpleType__IdAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24626:1: ( ( ruleIdentifier ) ) + // InternalExport.g:24627:2: ( ruleIdentifier ) + { + // InternalExport.g:24627:2: ( ruleIdentifier ) + // InternalExport.g:24628:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__IdAssignment_1_1" + + + // $ANTLR start "rule__XAssignment__FeatureAssignment_0_1" + // InternalExport.g:24637:1: rule__XAssignment__FeatureAssignment_0_1 : ( ( ruleFeatureCallID ) ) ; + public final void rule__XAssignment__FeatureAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24641:1: ( ( ( ruleFeatureCallID ) ) ) + // InternalExport.g:24642:2: ( ( ruleFeatureCallID ) ) + { + // InternalExport.g:24642:2: ( ( ruleFeatureCallID ) ) + // InternalExport.g:24643:3: ( ruleFeatureCallID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + // InternalExport.g:24644:3: ( ruleFeatureCallID ) + // InternalExport.g:24645:4: ruleFeatureCallID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__FeatureAssignment_0_1" + + + // $ANTLR start "rule__XAssignment__ValueAssignment_0_3" + // InternalExport.g:24656:1: rule__XAssignment__ValueAssignment_0_3 : ( ruleXAssignment ) ; + public final void rule__XAssignment__ValueAssignment_0_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24660:1: ( ( ruleXAssignment ) ) + // InternalExport.g:24661:2: ( ruleXAssignment ) + { + // InternalExport.g:24661:2: ( ruleXAssignment ) + // InternalExport.g:24662:3: ruleXAssignment + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); + } + pushFollow(FOLLOW_2); + ruleXAssignment(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__ValueAssignment_0_3" + + + // $ANTLR start "rule__XAssignment__FeatureAssignment_1_1_0_0_1" + // InternalExport.g:24671:1: rule__XAssignment__FeatureAssignment_1_1_0_0_1 : ( ( ruleOpMultiAssign ) ) ; + public final void rule__XAssignment__FeatureAssignment_1_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24675:1: ( ( ( ruleOpMultiAssign ) ) ) + // InternalExport.g:24676:2: ( ( ruleOpMultiAssign ) ) + { + // InternalExport.g:24676:2: ( ( ruleOpMultiAssign ) ) + // InternalExport.g:24677:3: ( ruleOpMultiAssign ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + // InternalExport.g:24678:3: ( ruleOpMultiAssign ) + // InternalExport.g:24679:4: ruleOpMultiAssign + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementOpMultiAssignParserRuleCall_1_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpMultiAssign(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementOpMultiAssignParserRuleCall_1_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__FeatureAssignment_1_1_0_0_1" + + + // $ANTLR start "rule__XAssignment__RightOperandAssignment_1_1_1" + // InternalExport.g:24690:1: rule__XAssignment__RightOperandAssignment_1_1_1 : ( ruleXAssignment ) ; + public final void rule__XAssignment__RightOperandAssignment_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24694:1: ( ( ruleXAssignment ) ) + // InternalExport.g:24695:2: ( ruleXAssignment ) + { + // InternalExport.g:24695:2: ( ruleXAssignment ) + // InternalExport.g:24696:3: ruleXAssignment + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXAssignment(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__RightOperandAssignment_1_1_1" + + + // $ANTLR start "rule__XOrExpression__FeatureAssignment_1_0_0_1" + // InternalExport.g:24705:1: rule__XOrExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpOr ) ) ; + public final void rule__XOrExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24709:1: ( ( ( ruleOpOr ) ) ) + // InternalExport.g:24710:2: ( ( ruleOpOr ) ) + { + // InternalExport.g:24710:2: ( ( ruleOpOr ) ) + // InternalExport.g:24711:3: ( ruleOpOr ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalExport.g:24712:3: ( ruleOpOr ) + // InternalExport.g:24713:4: ruleOpOr + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementOpOrParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpOr(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementOpOrParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XOrExpression__RightOperandAssignment_1_1" + // InternalExport.g:24724:1: rule__XOrExpression__RightOperandAssignment_1_1 : ( ruleXAndExpression ) ; + public final void rule__XOrExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24728:1: ( ( ruleXAndExpression ) ) + // InternalExport.g:24729:2: ( ruleXAndExpression ) + { + // InternalExport.g:24729:2: ( ruleXAndExpression ) + // InternalExport.g:24730:3: ruleXAndExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXAndExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XAndExpression__FeatureAssignment_1_0_0_1" + // InternalExport.g:24739:1: rule__XAndExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpAnd ) ) ; + public final void rule__XAndExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24743:1: ( ( ( ruleOpAnd ) ) ) + // InternalExport.g:24744:2: ( ( ruleOpAnd ) ) + { + // InternalExport.g:24744:2: ( ( ruleOpAnd ) ) + // InternalExport.g:24745:3: ( ruleOpAnd ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalExport.g:24746:3: ( ruleOpAnd ) + // InternalExport.g:24747:4: ruleOpAnd + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementOpAndParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpAnd(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementOpAndParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XAndExpression__RightOperandAssignment_1_1" + // InternalExport.g:24758:1: rule__XAndExpression__RightOperandAssignment_1_1 : ( ruleXEqualityExpression ) ; + public final void rule__XAndExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24762:1: ( ( ruleXEqualityExpression ) ) + // InternalExport.g:24763:2: ( ruleXEqualityExpression ) + { + // InternalExport.g:24763:2: ( ruleXEqualityExpression ) + // InternalExport.g:24764:3: ruleXEqualityExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXEqualityExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XEqualityExpression__FeatureAssignment_1_0_0_1" + // InternalExport.g:24773:1: rule__XEqualityExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpEquality ) ) ; + public final void rule__XEqualityExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24777:1: ( ( ( ruleOpEquality ) ) ) + // InternalExport.g:24778:2: ( ( ruleOpEquality ) ) + { + // InternalExport.g:24778:2: ( ( ruleOpEquality ) ) + // InternalExport.g:24779:3: ( ruleOpEquality ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalExport.g:24780:3: ( ruleOpEquality ) + // InternalExport.g:24781:4: ruleOpEquality + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementOpEqualityParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpEquality(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementOpEqualityParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XEqualityExpression__RightOperandAssignment_1_1" + // InternalExport.g:24792:1: rule__XEqualityExpression__RightOperandAssignment_1_1 : ( ruleXRelationalExpression ) ; + public final void rule__XEqualityExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24796:1: ( ( ruleXRelationalExpression ) ) + // InternalExport.g:24797:2: ( ruleXRelationalExpression ) + { + // InternalExport.g:24797:2: ( ruleXRelationalExpression ) + // InternalExport.g:24798:3: ruleXRelationalExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXRelationalExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XRelationalExpression__TypeAssignment_1_0_1" + // InternalExport.g:24807:1: rule__XRelationalExpression__TypeAssignment_1_0_1 : ( ruleJvmTypeReference ) ; + public final void rule__XRelationalExpression__TypeAssignment_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24811:1: ( ( ruleJvmTypeReference ) ) + // InternalExport.g:24812:2: ( ruleJvmTypeReference ) + { + // InternalExport.g:24812:2: ( ruleJvmTypeReference ) + // InternalExport.g:24813:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__TypeAssignment_1_0_1" + + + // $ANTLR start "rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1" + // InternalExport.g:24822:1: rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 : ( ( ruleOpCompare ) ) ; + public final void rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24826:1: ( ( ( ruleOpCompare ) ) ) + // InternalExport.g:24827:2: ( ( ruleOpCompare ) ) + { + // InternalExport.g:24827:2: ( ( ruleOpCompare ) ) + // InternalExport.g:24828:3: ( ruleOpCompare ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + // InternalExport.g:24829:3: ( ruleOpCompare ) + // InternalExport.g:24830:4: ruleOpCompare + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementOpCompareParserRuleCall_1_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpCompare(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementOpCompareParserRuleCall_1_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1" + + + // $ANTLR start "rule__XRelationalExpression__RightOperandAssignment_1_1_1" + // InternalExport.g:24841:1: rule__XRelationalExpression__RightOperandAssignment_1_1_1 : ( ruleXOtherOperatorExpression ) ; + public final void rule__XRelationalExpression__RightOperandAssignment_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24845:1: ( ( ruleXOtherOperatorExpression ) ) + // InternalExport.g:24846:2: ( ruleXOtherOperatorExpression ) + { + // InternalExport.g:24846:2: ( ruleXOtherOperatorExpression ) + // InternalExport.g:24847:3: ruleXOtherOperatorExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXOtherOperatorExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__RightOperandAssignment_1_1_1" + + + // $ANTLR start "rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1" + // InternalExport.g:24856:1: rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpOther ) ) ; + public final void rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24860:1: ( ( ( ruleOpOther ) ) ) + // InternalExport.g:24861:2: ( ( ruleOpOther ) ) + { + // InternalExport.g:24861:2: ( ( ruleOpOther ) ) + // InternalExport.g:24862:3: ( ruleOpOther ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalExport.g:24863:3: ( ruleOpOther ) + // InternalExport.g:24864:4: ruleOpOther + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementOpOtherParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpOther(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementOpOtherParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XOtherOperatorExpression__RightOperandAssignment_1_1" + // InternalExport.g:24875:1: rule__XOtherOperatorExpression__RightOperandAssignment_1_1 : ( ruleXAdditiveExpression ) ; + public final void rule__XOtherOperatorExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24879:1: ( ( ruleXAdditiveExpression ) ) + // InternalExport.g:24880:2: ( ruleXAdditiveExpression ) + { + // InternalExport.g:24880:2: ( ruleXAdditiveExpression ) + // InternalExport.g:24881:3: ruleXAdditiveExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXAdditiveExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XAdditiveExpression__FeatureAssignment_1_0_0_1" + // InternalExport.g:24890:1: rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpAdd ) ) ; + public final void rule__XAdditiveExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24894:1: ( ( ( ruleOpAdd ) ) ) + // InternalExport.g:24895:2: ( ( ruleOpAdd ) ) + { + // InternalExport.g:24895:2: ( ( ruleOpAdd ) ) + // InternalExport.g:24896:3: ( ruleOpAdd ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalExport.g:24897:3: ( ruleOpAdd ) + // InternalExport.g:24898:4: ruleOpAdd + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementOpAddParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpAdd(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementOpAddParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XAdditiveExpression__RightOperandAssignment_1_1" + // InternalExport.g:24909:1: rule__XAdditiveExpression__RightOperandAssignment_1_1 : ( ruleXMultiplicativeExpression ) ; + public final void rule__XAdditiveExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24913:1: ( ( ruleXMultiplicativeExpression ) ) + // InternalExport.g:24914:2: ( ruleXMultiplicativeExpression ) + { + // InternalExport.g:24914:2: ( ruleXMultiplicativeExpression ) + // InternalExport.g:24915:3: ruleXMultiplicativeExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1" + // InternalExport.g:24924:1: rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpMulti ) ) ; + public final void rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24928:1: ( ( ( ruleOpMulti ) ) ) + // InternalExport.g:24929:2: ( ( ruleOpMulti ) ) + { + // InternalExport.g:24929:2: ( ( ruleOpMulti ) ) + // InternalExport.g:24930:3: ( ruleOpMulti ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalExport.g:24931:3: ( ruleOpMulti ) + // InternalExport.g:24932:4: ruleOpMulti + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementOpMultiParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpMulti(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementOpMultiParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XMultiplicativeExpression__RightOperandAssignment_1_1" + // InternalExport.g:24943:1: rule__XMultiplicativeExpression__RightOperandAssignment_1_1 : ( ruleXUnaryOperation ) ; + public final void rule__XMultiplicativeExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24947:1: ( ( ruleXUnaryOperation ) ) + // InternalExport.g:24948:2: ( ruleXUnaryOperation ) + { + // InternalExport.g:24948:2: ( ruleXUnaryOperation ) + // InternalExport.g:24949:3: ruleXUnaryOperation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XUnaryOperation__FeatureAssignment_0_1" + // InternalExport.g:24958:1: rule__XUnaryOperation__FeatureAssignment_0_1 : ( ( ruleOpUnary ) ) ; + public final void rule__XUnaryOperation__FeatureAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24962:1: ( ( ( ruleOpUnary ) ) ) + // InternalExport.g:24963:2: ( ( ruleOpUnary ) ) + { + // InternalExport.g:24963:2: ( ( ruleOpUnary ) ) + // InternalExport.g:24964:3: ( ruleOpUnary ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + // InternalExport.g:24965:3: ( ruleOpUnary ) + // InternalExport.g:24966:4: ruleOpUnary + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementOpUnaryParserRuleCall_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpUnary(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementOpUnaryParserRuleCall_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__FeatureAssignment_0_1" + + + // $ANTLR start "rule__XUnaryOperation__OperandAssignment_0_2" + // InternalExport.g:24977:1: rule__XUnaryOperation__OperandAssignment_0_2 : ( ruleXUnaryOperation ) ; + public final void rule__XUnaryOperation__OperandAssignment_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24981:1: ( ( ruleXUnaryOperation ) ) + // InternalExport.g:24982:2: ( ruleXUnaryOperation ) + { + // InternalExport.g:24982:2: ( ruleXUnaryOperation ) + // InternalExport.g:24983:3: ruleXUnaryOperation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); + } + pushFollow(FOLLOW_2); + ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__OperandAssignment_0_2" + + + // $ANTLR start "rule__XCastedExpression__TypeAssignment_1_1" + // InternalExport.g:24992:1: rule__XCastedExpression__TypeAssignment_1_1 : ( ruleJvmTypeReference ) ; + public final void rule__XCastedExpression__TypeAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:24996:1: ( ( ruleJvmTypeReference ) ) + // InternalExport.g:24997:2: ( ruleJvmTypeReference ) + { + // InternalExport.g:24997:2: ( ruleJvmTypeReference ) + // InternalExport.g:24998:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__TypeAssignment_1_1" + + + // $ANTLR start "rule__XPostfixOperation__FeatureAssignment_1_0_1" + // InternalExport.g:25007:1: rule__XPostfixOperation__FeatureAssignment_1_0_1 : ( ( ruleOpPostfix ) ) ; + public final void rule__XPostfixOperation__FeatureAssignment_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25011:1: ( ( ( ruleOpPostfix ) ) ) + // InternalExport.g:25012:2: ( ( ruleOpPostfix ) ) + { + // InternalExport.g:25012:2: ( ( ruleOpPostfix ) ) + // InternalExport.g:25013:3: ( ruleOpPostfix ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); + } + // InternalExport.g:25014:3: ( ruleOpPostfix ) + // InternalExport.g:25015:4: ruleOpPostfix + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementOpPostfixParserRuleCall_1_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpPostfix(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementOpPostfixParserRuleCall_1_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__FeatureAssignment_1_0_1" + + + // $ANTLR start "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1" + // InternalExport.g:25026:1: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 : ( ( '::' ) ) ; + public final void rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25030:1: ( ( ( '::' ) ) ) + // InternalExport.g:25031:2: ( ( '::' ) ) + { + // InternalExport.g:25031:2: ( ( '::' ) ) + // InternalExport.g:25032:3: ( '::' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + } + // InternalExport.g:25033:3: ( '::' ) + // InternalExport.g:25034:4: '::' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + } + match(input,83,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1" + + + // $ANTLR start "rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2" + // InternalExport.g:25045:1: rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 : ( ( ruleFeatureCallID ) ) ; + public final void rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25049:1: ( ( ( ruleFeatureCallID ) ) ) + // InternalExport.g:25050:2: ( ( ruleFeatureCallID ) ) + { + // InternalExport.g:25050:2: ( ( ruleFeatureCallID ) ) + // InternalExport.g:25051:3: ( ruleFeatureCallID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); + } + // InternalExport.g:25052:3: ( ruleFeatureCallID ) + // InternalExport.g:25053:4: ruleFeatureCallID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_1_0_0_0_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_1_0_0_0_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2" + + + // $ANTLR start "rule__XMemberFeatureCall__ValueAssignment_1_0_1" + // InternalExport.g:25064:1: rule__XMemberFeatureCall__ValueAssignment_1_0_1 : ( ruleXAssignment ) ; + public final void rule__XMemberFeatureCall__ValueAssignment_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25068:1: ( ( ruleXAssignment ) ) + // InternalExport.g:25069:2: ( ruleXAssignment ) + { + // InternalExport.g:25069:2: ( ruleXAssignment ) + // InternalExport.g:25070:3: ruleXAssignment + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleXAssignment(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__ValueAssignment_1_0_1" + + + // $ANTLR start "rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1" + // InternalExport.g:25079:1: rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 : ( ( '?.' ) ) ; + public final void rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25083:1: ( ( ( '?.' ) ) ) + // InternalExport.g:25084:2: ( ( '?.' ) ) + { + // InternalExport.g:25084:2: ( ( '?.' ) ) + // InternalExport.g:25085:3: ( '?.' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + } + // InternalExport.g:25086:3: ( '?.' ) + // InternalExport.g:25087:4: '?.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + } + match(input,116,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1" + + + // $ANTLR start "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2" + // InternalExport.g:25098:1: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 : ( ( '::' ) ) ; + public final void rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25102:1: ( ( ( '::' ) ) ) + // InternalExport.g:25103:2: ( ( '::' ) ) + { + // InternalExport.g:25103:2: ( ( '::' ) ) + // InternalExport.g:25104:3: ( '::' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + } + // InternalExport.g:25105:3: ( '::' ) + // InternalExport.g:25106:4: '::' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + } + match(input,83,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2" + + + // $ANTLR start "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1" + // InternalExport.g:25117:1: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25121:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExport.g:25122:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExport.g:25122:2: ( ruleJvmArgumentTypeReference ) + // InternalExport.g:25123:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1" + + + // $ANTLR start "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1" + // InternalExport.g:25132:1: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25136:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExport.g:25137:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExport.g:25137:2: ( ruleJvmArgumentTypeReference ) + // InternalExport.g:25138:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1" + + + // $ANTLR start "rule__XMemberFeatureCall__FeatureAssignment_1_1_2" + // InternalExport.g:25147:1: rule__XMemberFeatureCall__FeatureAssignment_1_1_2 : ( ( ruleIdOrSuper ) ) ; + public final void rule__XMemberFeatureCall__FeatureAssignment_1_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25151:1: ( ( ( ruleIdOrSuper ) ) ) + // InternalExport.g:25152:2: ( ( ruleIdOrSuper ) ) + { + // InternalExport.g:25152:2: ( ( ruleIdOrSuper ) ) + // InternalExport.g:25153:3: ( ruleIdOrSuper ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); + } + // InternalExport.g:25154:3: ( ruleIdOrSuper ) + // InternalExport.g:25155:4: ruleIdOrSuper + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_1_1_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleIdOrSuper(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_1_1_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__FeatureAssignment_1_1_2" + + + // $ANTLR start "rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0" + // InternalExport.g:25166:1: rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 : ( ( '(' ) ) ; + public final void rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25170:1: ( ( ( '(' ) ) ) + // InternalExport.g:25171:2: ( ( '(' ) ) + { + // InternalExport.g:25171:2: ( ( '(' ) ) + // InternalExport.g:25172:3: ( '(' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + } + // InternalExport.g:25173:3: ( '(' ) + // InternalExport.g:25174:4: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0" + + + // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0" + // InternalExport.g:25185:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 : ( ruleXShortClosure ) ; + public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25189:1: ( ( ruleXShortClosure ) ) + // InternalExport.g:25190:2: ( ruleXShortClosure ) + { + // InternalExport.g:25190:2: ( ruleXShortClosure ) + // InternalExport.g:25191:3: ruleXShortClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXShortClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0" + + + // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0" + // InternalExport.g:25200:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 : ( ruleXExpression ) ; + public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25204:1: ( ( ruleXExpression ) ) + // InternalExport.g:25205:2: ( ruleXExpression ) + { + // InternalExport.g:25205:2: ( ruleXExpression ) + // InternalExport.g:25206:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0" + + + // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1" + // InternalExport.g:25215:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 : ( ruleXExpression ) ; + public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25219:1: ( ( ruleXExpression ) ) + // InternalExport.g:25220:2: ( ruleXExpression ) + { + // InternalExport.g:25220:2: ( ruleXExpression ) + // InternalExport.g:25221:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1" + + + // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4" + // InternalExport.g:25230:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 : ( ruleXClosure ) ; + public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25234:1: ( ( ruleXClosure ) ) + // InternalExport.g:25235:2: ( ruleXClosure ) + { + // InternalExport.g:25235:2: ( ruleXClosure ) + // InternalExport.g:25236:3: ruleXClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); + } + pushFollow(FOLLOW_2); + ruleXClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4" + + + // $ANTLR start "rule__XSetLiteral__ElementsAssignment_3_0" + // InternalExport.g:25245:1: rule__XSetLiteral__ElementsAssignment_3_0 : ( ruleXExpression ) ; + public final void rule__XSetLiteral__ElementsAssignment_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25249:1: ( ( ruleXExpression ) ) + // InternalExport.g:25250:2: ( ruleXExpression ) + { + // InternalExport.g:25250:2: ( ruleXExpression ) + // InternalExport.g:25251:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__ElementsAssignment_3_0" + + + // $ANTLR start "rule__XSetLiteral__ElementsAssignment_3_1_1" + // InternalExport.g:25260:1: rule__XSetLiteral__ElementsAssignment_3_1_1 : ( ruleXExpression ) ; + public final void rule__XSetLiteral__ElementsAssignment_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25264:1: ( ( ruleXExpression ) ) + // InternalExport.g:25265:2: ( ruleXExpression ) + { + // InternalExport.g:25265:2: ( ruleXExpression ) + // InternalExport.g:25266:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__ElementsAssignment_3_1_1" + + + // $ANTLR start "rule__XListLiteral__ElementsAssignment_3_0" + // InternalExport.g:25275:1: rule__XListLiteral__ElementsAssignment_3_0 : ( ruleXExpression ) ; + public final void rule__XListLiteral__ElementsAssignment_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25279:1: ( ( ruleXExpression ) ) + // InternalExport.g:25280:2: ( ruleXExpression ) + { + // InternalExport.g:25280:2: ( ruleXExpression ) + // InternalExport.g:25281:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__ElementsAssignment_3_0" + + + // $ANTLR start "rule__XListLiteral__ElementsAssignment_3_1_1" + // InternalExport.g:25290:1: rule__XListLiteral__ElementsAssignment_3_1_1 : ( ruleXExpression ) ; + public final void rule__XListLiteral__ElementsAssignment_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25294:1: ( ( ruleXExpression ) ) + // InternalExport.g:25295:2: ( ruleXExpression ) + { + // InternalExport.g:25295:2: ( ruleXExpression ) + // InternalExport.g:25296:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__ElementsAssignment_3_1_1" + + + // $ANTLR start "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0" + // InternalExport.g:25305:1: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 : ( ruleJvmFormalParameter ) ; + public final void rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25309:1: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:25310:2: ( ruleJvmFormalParameter ) + { + // InternalExport.g:25310:2: ( ruleJvmFormalParameter ) + // InternalExport.g:25311:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0" + + + // $ANTLR start "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1" + // InternalExport.g:25320:1: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 : ( ruleJvmFormalParameter ) ; + public final void rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25324:1: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:25325:2: ( ruleJvmFormalParameter ) + { + // InternalExport.g:25325:2: ( ruleJvmFormalParameter ) + // InternalExport.g:25326:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1" + + + // $ANTLR start "rule__XClosure__ExplicitSyntaxAssignment_1_0_1" + // InternalExport.g:25335:1: rule__XClosure__ExplicitSyntaxAssignment_1_0_1 : ( ( '|' ) ) ; + public final void rule__XClosure__ExplicitSyntaxAssignment_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25339:1: ( ( ( '|' ) ) ) + // InternalExport.g:25340:2: ( ( '|' ) ) + { + // InternalExport.g:25340:2: ( ( '|' ) ) + // InternalExport.g:25341:3: ( '|' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + } + // InternalExport.g:25342:3: ( '|' ) + // InternalExport.g:25343:4: '|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + } + match(input,93,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__ExplicitSyntaxAssignment_1_0_1" + + + // $ANTLR start "rule__XClosure__ExpressionAssignment_2" + // InternalExport.g:25354:1: rule__XClosure__ExpressionAssignment_2 : ( ruleXExpressionInClosure ) ; + public final void rule__XClosure__ExpressionAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25358:1: ( ( ruleXExpressionInClosure ) ) + // InternalExport.g:25359:2: ( ruleXExpressionInClosure ) + { + // InternalExport.g:25359:2: ( ruleXExpressionInClosure ) + // InternalExport.g:25360:3: ruleXExpressionInClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpressionInClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__ExpressionAssignment_2" + + + // $ANTLR start "rule__XExpressionInClosure__ExpressionsAssignment_1_0" + // InternalExport.g:25369:1: rule__XExpressionInClosure__ExpressionsAssignment_1_0 : ( ruleXExpressionOrVarDeclaration ) ; + public final void rule__XExpressionInClosure__ExpressionsAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25373:1: ( ( ruleXExpressionOrVarDeclaration ) ) + // InternalExport.g:25374:2: ( ruleXExpressionOrVarDeclaration ) + { + // InternalExport.g:25374:2: ( ruleXExpressionOrVarDeclaration ) + // InternalExport.g:25375:3: ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__ExpressionsAssignment_1_0" + + + // $ANTLR start "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0" + // InternalExport.g:25384:1: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 : ( ruleJvmFormalParameter ) ; + public final void rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25388:1: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:25389:2: ( ruleJvmFormalParameter ) + { + // InternalExport.g:25389:2: ( ruleJvmFormalParameter ) + // InternalExport.g:25390:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0" + + + // $ANTLR start "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1" + // InternalExport.g:25399:1: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 : ( ruleJvmFormalParameter ) ; + public final void rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25403:1: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:25404:2: ( ruleJvmFormalParameter ) + { + // InternalExport.g:25404:2: ( ruleJvmFormalParameter ) + // InternalExport.g:25405:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1" + + + // $ANTLR start "rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2" + // InternalExport.g:25414:1: rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 : ( ( '|' ) ) ; + public final void rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25418:1: ( ( ( '|' ) ) ) + // InternalExport.g:25419:2: ( ( '|' ) ) + { + // InternalExport.g:25419:2: ( ( '|' ) ) + // InternalExport.g:25420:3: ( '|' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + } + // InternalExport.g:25421:3: ( '|' ) + // InternalExport.g:25422:4: '|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + } + match(input,93,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2" + + + // $ANTLR start "rule__XShortClosure__ExpressionAssignment_1" + // InternalExport.g:25433:1: rule__XShortClosure__ExpressionAssignment_1 : ( ruleXExpression ) ; + public final void rule__XShortClosure__ExpressionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25437:1: ( ( ruleXExpression ) ) + // InternalExport.g:25438:2: ( ruleXExpression ) + { + // InternalExport.g:25438:2: ( ruleXExpression ) + // InternalExport.g:25439:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__ExpressionAssignment_1" + + + // $ANTLR start "rule__XIfExpression__IfAssignment_3" + // InternalExport.g:25448:1: rule__XIfExpression__IfAssignment_3 : ( ruleXExpression ) ; + public final void rule__XIfExpression__IfAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25452:1: ( ( ruleXExpression ) ) + // InternalExport.g:25453:2: ( ruleXExpression ) + { + // InternalExport.g:25453:2: ( ruleXExpression ) + // InternalExport.g:25454:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__IfAssignment_3" + + + // $ANTLR start "rule__XIfExpression__ThenAssignment_5" + // InternalExport.g:25463:1: rule__XIfExpression__ThenAssignment_5 : ( ruleXExpression ) ; + public final void rule__XIfExpression__ThenAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25467:1: ( ( ruleXExpression ) ) + // InternalExport.g:25468:2: ( ruleXExpression ) + { + // InternalExport.g:25468:2: ( ruleXExpression ) + // InternalExport.g:25469:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__ThenAssignment_5" + + + // $ANTLR start "rule__XIfExpression__ElseAssignment_6_1" + // InternalExport.g:25478:1: rule__XIfExpression__ElseAssignment_6_1 : ( ruleXExpression ) ; + public final void rule__XIfExpression__ElseAssignment_6_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25482:1: ( ( ruleXExpression ) ) + // InternalExport.g:25483:2: ( ruleXExpression ) + { + // InternalExport.g:25483:2: ( ruleXExpression ) + // InternalExport.g:25484:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__ElseAssignment_6_1" + + + // $ANTLR start "rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1" + // InternalExport.g:25493:1: rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 : ( ruleJvmFormalParameter ) ; + public final void rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25497:1: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:25498:2: ( ruleJvmFormalParameter ) + { + // InternalExport.g:25498:2: ( ruleJvmFormalParameter ) + // InternalExport.g:25499:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1" + + + // $ANTLR start "rule__XSwitchExpression__SwitchAssignment_2_0_1" + // InternalExport.g:25508:1: rule__XSwitchExpression__SwitchAssignment_2_0_1 : ( ruleXExpression ) ; + public final void rule__XSwitchExpression__SwitchAssignment_2_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25512:1: ( ( ruleXExpression ) ) + // InternalExport.g:25513:2: ( ruleXExpression ) + { + // InternalExport.g:25513:2: ( ruleXExpression ) + // InternalExport.g:25514:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__SwitchAssignment_2_0_1" + + + // $ANTLR start "rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0" + // InternalExport.g:25523:1: rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 : ( ruleJvmFormalParameter ) ; + public final void rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25527:1: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:25528:2: ( ruleJvmFormalParameter ) + { + // InternalExport.g:25528:2: ( ruleJvmFormalParameter ) + // InternalExport.g:25529:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0" + + + // $ANTLR start "rule__XSwitchExpression__SwitchAssignment_2_1_1" + // InternalExport.g:25538:1: rule__XSwitchExpression__SwitchAssignment_2_1_1 : ( ruleXExpression ) ; + public final void rule__XSwitchExpression__SwitchAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25542:1: ( ( ruleXExpression ) ) + // InternalExport.g:25543:2: ( ruleXExpression ) + { + // InternalExport.g:25543:2: ( ruleXExpression ) + // InternalExport.g:25544:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__SwitchAssignment_2_1_1" + + + // $ANTLR start "rule__XSwitchExpression__CasesAssignment_4" + // InternalExport.g:25553:1: rule__XSwitchExpression__CasesAssignment_4 : ( ruleXCasePart ) ; + public final void rule__XSwitchExpression__CasesAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25557:1: ( ( ruleXCasePart ) ) + // InternalExport.g:25558:2: ( ruleXCasePart ) + { + // InternalExport.g:25558:2: ( ruleXCasePart ) + // InternalExport.g:25559:3: ruleXCasePart + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleXCasePart(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__CasesAssignment_4" + + + // $ANTLR start "rule__XSwitchExpression__DefaultAssignment_5_2" + // InternalExport.g:25568:1: rule__XSwitchExpression__DefaultAssignment_5_2 : ( ruleXExpression ) ; + public final void rule__XSwitchExpression__DefaultAssignment_5_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25572:1: ( ( ruleXExpression ) ) + // InternalExport.g:25573:2: ( ruleXExpression ) + { + // InternalExport.g:25573:2: ( ruleXExpression ) + // InternalExport.g:25574:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__DefaultAssignment_5_2" + + + // $ANTLR start "rule__XCasePart__TypeGuardAssignment_1" + // InternalExport.g:25583:1: rule__XCasePart__TypeGuardAssignment_1 : ( ruleJvmTypeReference ) ; + public final void rule__XCasePart__TypeGuardAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25587:1: ( ( ruleJvmTypeReference ) ) + // InternalExport.g:25588:2: ( ruleJvmTypeReference ) + { + // InternalExport.g:25588:2: ( ruleJvmTypeReference ) + // InternalExport.g:25589:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__TypeGuardAssignment_1" + + + // $ANTLR start "rule__XCasePart__CaseAssignment_2_1" + // InternalExport.g:25598:1: rule__XCasePart__CaseAssignment_2_1 : ( ruleXExpression ) ; + public final void rule__XCasePart__CaseAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25602:1: ( ( ruleXExpression ) ) + // InternalExport.g:25603:2: ( ruleXExpression ) + { + // InternalExport.g:25603:2: ( ruleXExpression ) + // InternalExport.g:25604:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__CaseAssignment_2_1" + + + // $ANTLR start "rule__XCasePart__ThenAssignment_3_0_1" + // InternalExport.g:25613:1: rule__XCasePart__ThenAssignment_3_0_1 : ( ruleXExpression ) ; + public final void rule__XCasePart__ThenAssignment_3_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25617:1: ( ( ruleXExpression ) ) + // InternalExport.g:25618:2: ( ruleXExpression ) + { + // InternalExport.g:25618:2: ( ruleXExpression ) + // InternalExport.g:25619:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__ThenAssignment_3_0_1" + + + // $ANTLR start "rule__XCasePart__FallThroughAssignment_3_1" + // InternalExport.g:25628:1: rule__XCasePart__FallThroughAssignment_3_1 : ( ( ',' ) ) ; + public final void rule__XCasePart__FallThroughAssignment_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25632:1: ( ( ( ',' ) ) ) + // InternalExport.g:25633:2: ( ( ',' ) ) + { + // InternalExport.g:25633:2: ( ( ',' ) ) + // InternalExport.g:25634:3: ( ',' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + } + // InternalExport.g:25635:3: ( ',' ) + // InternalExport.g:25636:4: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__FallThroughAssignment_3_1" + + + // $ANTLR start "rule__XForLoopExpression__DeclaredParamAssignment_0_0_3" + // InternalExport.g:25647:1: rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 : ( ruleJvmFormalParameter ) ; + public final void rule__XForLoopExpression__DeclaredParamAssignment_0_0_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25651:1: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:25652:2: ( ruleJvmFormalParameter ) + { + // InternalExport.g:25652:2: ( ruleJvmFormalParameter ) + // InternalExport.g:25653:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__DeclaredParamAssignment_0_0_3" + + + // $ANTLR start "rule__XForLoopExpression__ForExpressionAssignment_1" + // InternalExport.g:25662:1: rule__XForLoopExpression__ForExpressionAssignment_1 : ( ruleXExpression ) ; + public final void rule__XForLoopExpression__ForExpressionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25666:1: ( ( ruleXExpression ) ) + // InternalExport.g:25667:2: ( ruleXExpression ) + { + // InternalExport.g:25667:2: ( ruleXExpression ) + // InternalExport.g:25668:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__ForExpressionAssignment_1" + + + // $ANTLR start "rule__XForLoopExpression__EachExpressionAssignment_3" + // InternalExport.g:25677:1: rule__XForLoopExpression__EachExpressionAssignment_3 : ( ruleXExpression ) ; + public final void rule__XForLoopExpression__EachExpressionAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25681:1: ( ( ruleXExpression ) ) + // InternalExport.g:25682:2: ( ruleXExpression ) + { + // InternalExport.g:25682:2: ( ruleXExpression ) + // InternalExport.g:25683:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__EachExpressionAssignment_3" + + + // $ANTLR start "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0" + // InternalExport.g:25692:1: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 : ( ruleXExpressionOrVarDeclaration ) ; + public final void rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25696:1: ( ( ruleXExpressionOrVarDeclaration ) ) + // InternalExport.g:25697:2: ( ruleXExpressionOrVarDeclaration ) + { + // InternalExport.g:25697:2: ( ruleXExpressionOrVarDeclaration ) + // InternalExport.g:25698:3: ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0" + + + // $ANTLR start "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1" + // InternalExport.g:25707:1: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 : ( ruleXExpressionOrVarDeclaration ) ; + public final void rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25711:1: ( ( ruleXExpressionOrVarDeclaration ) ) + // InternalExport.g:25712:2: ( ruleXExpressionOrVarDeclaration ) + { + // InternalExport.g:25712:2: ( ruleXExpressionOrVarDeclaration ) + // InternalExport.g:25713:3: ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1" + + + // $ANTLR start "rule__XBasicForLoopExpression__ExpressionAssignment_5" + // InternalExport.g:25722:1: rule__XBasicForLoopExpression__ExpressionAssignment_5 : ( ruleXExpression ) ; + public final void rule__XBasicForLoopExpression__ExpressionAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25726:1: ( ( ruleXExpression ) ) + // InternalExport.g:25727:2: ( ruleXExpression ) + { + // InternalExport.g:25727:2: ( ruleXExpression ) + // InternalExport.g:25728:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__ExpressionAssignment_5" + + + // $ANTLR start "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0" + // InternalExport.g:25737:1: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 : ( ruleXExpression ) ; + public final void rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25741:1: ( ( ruleXExpression ) ) + // InternalExport.g:25742:2: ( ruleXExpression ) + { + // InternalExport.g:25742:2: ( ruleXExpression ) + // InternalExport.g:25743:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0" + + + // $ANTLR start "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1" + // InternalExport.g:25752:1: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 : ( ruleXExpression ) ; + public final void rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25756:1: ( ( ruleXExpression ) ) + // InternalExport.g:25757:2: ( ruleXExpression ) + { + // InternalExport.g:25757:2: ( ruleXExpression ) + // InternalExport.g:25758:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1" + + + // $ANTLR start "rule__XBasicForLoopExpression__EachExpressionAssignment_9" + // InternalExport.g:25767:1: rule__XBasicForLoopExpression__EachExpressionAssignment_9 : ( ruleXExpression ) ; + public final void rule__XBasicForLoopExpression__EachExpressionAssignment_9() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25771:1: ( ( ruleXExpression ) ) + // InternalExport.g:25772:2: ( ruleXExpression ) + { + // InternalExport.g:25772:2: ( ruleXExpression ) + // InternalExport.g:25773:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__EachExpressionAssignment_9" + + + // $ANTLR start "rule__XWhileExpression__PredicateAssignment_3" + // InternalExport.g:25782:1: rule__XWhileExpression__PredicateAssignment_3 : ( ruleXExpression ) ; + public final void rule__XWhileExpression__PredicateAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25786:1: ( ( ruleXExpression ) ) + // InternalExport.g:25787:2: ( ruleXExpression ) + { + // InternalExport.g:25787:2: ( ruleXExpression ) + // InternalExport.g:25788:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__PredicateAssignment_3" + + + // $ANTLR start "rule__XWhileExpression__BodyAssignment_5" + // InternalExport.g:25797:1: rule__XWhileExpression__BodyAssignment_5 : ( ruleXExpression ) ; + public final void rule__XWhileExpression__BodyAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25801:1: ( ( ruleXExpression ) ) + // InternalExport.g:25802:2: ( ruleXExpression ) + { + // InternalExport.g:25802:2: ( ruleXExpression ) + // InternalExport.g:25803:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__BodyAssignment_5" + + + // $ANTLR start "rule__XDoWhileExpression__BodyAssignment_2" + // InternalExport.g:25812:1: rule__XDoWhileExpression__BodyAssignment_2 : ( ruleXExpression ) ; + public final void rule__XDoWhileExpression__BodyAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25816:1: ( ( ruleXExpression ) ) + // InternalExport.g:25817:2: ( ruleXExpression ) + { + // InternalExport.g:25817:2: ( ruleXExpression ) + // InternalExport.g:25818:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__BodyAssignment_2" + + + // $ANTLR start "rule__XDoWhileExpression__PredicateAssignment_5" + // InternalExport.g:25827:1: rule__XDoWhileExpression__PredicateAssignment_5 : ( ruleXExpression ) ; + public final void rule__XDoWhileExpression__PredicateAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25831:1: ( ( ruleXExpression ) ) + // InternalExport.g:25832:2: ( ruleXExpression ) + { + // InternalExport.g:25832:2: ( ruleXExpression ) + // InternalExport.g:25833:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__PredicateAssignment_5" + + + // $ANTLR start "rule__XBlockExpression__ExpressionsAssignment_2_0" + // InternalExport.g:25842:1: rule__XBlockExpression__ExpressionsAssignment_2_0 : ( ruleXExpressionOrVarDeclaration ) ; + public final void rule__XBlockExpression__ExpressionsAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25846:1: ( ( ruleXExpressionOrVarDeclaration ) ) + // InternalExport.g:25847:2: ( ruleXExpressionOrVarDeclaration ) + { + // InternalExport.g:25847:2: ( ruleXExpressionOrVarDeclaration ) + // InternalExport.g:25848:3: ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__ExpressionsAssignment_2_0" + + + // $ANTLR start "rule__XVariableDeclaration__WriteableAssignment_1_0" + // InternalExport.g:25857:1: rule__XVariableDeclaration__WriteableAssignment_1_0 : ( ( 'var' ) ) ; + public final void rule__XVariableDeclaration__WriteableAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25861:1: ( ( ( 'var' ) ) ) + // InternalExport.g:25862:2: ( ( 'var' ) ) + { + // InternalExport.g:25862:2: ( ( 'var' ) ) + // InternalExport.g:25863:3: ( 'var' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + } + // InternalExport.g:25864:3: ( 'var' ) + // InternalExport.g:25865:4: 'var' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + } + match(input,117,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__WriteableAssignment_1_0" + + + // $ANTLR start "rule__XVariableDeclaration__TypeAssignment_2_0_0_0" + // InternalExport.g:25876:1: rule__XVariableDeclaration__TypeAssignment_2_0_0_0 : ( ruleJvmTypeReference ) ; + public final void rule__XVariableDeclaration__TypeAssignment_2_0_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25880:1: ( ( ruleJvmTypeReference ) ) + // InternalExport.g:25881:2: ( ruleJvmTypeReference ) + { + // InternalExport.g:25881:2: ( ruleJvmTypeReference ) + // InternalExport.g:25882:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__TypeAssignment_2_0_0_0" + + + // $ANTLR start "rule__XVariableDeclaration__NameAssignment_2_0_0_1" + // InternalExport.g:25891:1: rule__XVariableDeclaration__NameAssignment_2_0_0_1 : ( ruleValidID ) ; + public final void rule__XVariableDeclaration__NameAssignment_2_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25895:1: ( ( ruleValidID ) ) + // InternalExport.g:25896:2: ( ruleValidID ) + { + // InternalExport.g:25896:2: ( ruleValidID ) + // InternalExport.g:25897:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__NameAssignment_2_0_0_1" + + + // $ANTLR start "rule__XVariableDeclaration__NameAssignment_2_1" + // InternalExport.g:25906:1: rule__XVariableDeclaration__NameAssignment_2_1 : ( ruleValidID ) ; + public final void rule__XVariableDeclaration__NameAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25910:1: ( ( ruleValidID ) ) + // InternalExport.g:25911:2: ( ruleValidID ) + { + // InternalExport.g:25911:2: ( ruleValidID ) + // InternalExport.g:25912:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__NameAssignment_2_1" + + + // $ANTLR start "rule__XVariableDeclaration__RightAssignment_3_1" + // InternalExport.g:25921:1: rule__XVariableDeclaration__RightAssignment_3_1 : ( ruleXExpression ) ; + public final void rule__XVariableDeclaration__RightAssignment_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25925:1: ( ( ruleXExpression ) ) + // InternalExport.g:25926:2: ( ruleXExpression ) + { + // InternalExport.g:25926:2: ( ruleXExpression ) + // InternalExport.g:25927:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__RightAssignment_3_1" + + + // $ANTLR start "rule__JvmFormalParameter__ParameterTypeAssignment_0" + // InternalExport.g:25936:1: rule__JvmFormalParameter__ParameterTypeAssignment_0 : ( ruleJvmTypeReference ) ; + public final void rule__JvmFormalParameter__ParameterTypeAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25940:1: ( ( ruleJvmTypeReference ) ) + // InternalExport.g:25941:2: ( ruleJvmTypeReference ) + { + // InternalExport.g:25941:2: ( ruleJvmTypeReference ) + // InternalExport.g:25942:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__ParameterTypeAssignment_0" + + + // $ANTLR start "rule__JvmFormalParameter__NameAssignment_1" + // InternalExport.g:25951:1: rule__JvmFormalParameter__NameAssignment_1 : ( ruleValidID ) ; + public final void rule__JvmFormalParameter__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25955:1: ( ( ruleValidID ) ) + // InternalExport.g:25956:2: ( ruleValidID ) + { + // InternalExport.g:25956:2: ( ruleValidID ) + // InternalExport.g:25957:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__NameAssignment_1" + + + // $ANTLR start "rule__FullJvmFormalParameter__ParameterTypeAssignment_0" + // InternalExport.g:25966:1: rule__FullJvmFormalParameter__ParameterTypeAssignment_0 : ( ruleJvmTypeReference ) ; + public final void rule__FullJvmFormalParameter__ParameterTypeAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25970:1: ( ( ruleJvmTypeReference ) ) + // InternalExport.g:25971:2: ( ruleJvmTypeReference ) + { + // InternalExport.g:25971:2: ( ruleJvmTypeReference ) + // InternalExport.g:25972:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__ParameterTypeAssignment_0" + + + // $ANTLR start "rule__FullJvmFormalParameter__NameAssignment_1" + // InternalExport.g:25981:1: rule__FullJvmFormalParameter__NameAssignment_1 : ( ruleValidID ) ; + public final void rule__FullJvmFormalParameter__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:25985:1: ( ( ruleValidID ) ) + // InternalExport.g:25986:2: ( ruleValidID ) + { + // InternalExport.g:25986:2: ( ruleValidID ) + // InternalExport.g:25987:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__NameAssignment_1" + + + // $ANTLR start "rule__XFeatureCall__TypeArgumentsAssignment_1_1" + // InternalExport.g:25996:1: rule__XFeatureCall__TypeArgumentsAssignment_1_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XFeatureCall__TypeArgumentsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26000:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExport.g:26001:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExport.g:26001:2: ( ruleJvmArgumentTypeReference ) + // InternalExport.g:26002:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__TypeArgumentsAssignment_1_1" + + + // $ANTLR start "rule__XFeatureCall__TypeArgumentsAssignment_1_2_1" + // InternalExport.g:26011:1: rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XFeatureCall__TypeArgumentsAssignment_1_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26015:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExport.g:26016:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExport.g:26016:2: ( ruleJvmArgumentTypeReference ) + // InternalExport.g:26017:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__TypeArgumentsAssignment_1_2_1" + + + // $ANTLR start "rule__XFeatureCall__FeatureAssignment_2" + // InternalExport.g:26026:1: rule__XFeatureCall__FeatureAssignment_2 : ( ( ruleIdOrSuper ) ) ; + public final void rule__XFeatureCall__FeatureAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26030:1: ( ( ( ruleIdOrSuper ) ) ) + // InternalExport.g:26031:2: ( ( ruleIdOrSuper ) ) + { + // InternalExport.g:26031:2: ( ( ruleIdOrSuper ) ) + // InternalExport.g:26032:3: ( ruleIdOrSuper ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); + } + // InternalExport.g:26033:3: ( ruleIdOrSuper ) + // InternalExport.g:26034:4: ruleIdOrSuper + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleIdOrSuper(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__FeatureAssignment_2" + + + // $ANTLR start "rule__XFeatureCall__ExplicitOperationCallAssignment_3_0" + // InternalExport.g:26045:1: rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 : ( ( '(' ) ) ; + public final void rule__XFeatureCall__ExplicitOperationCallAssignment_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26049:1: ( ( ( '(' ) ) ) + // InternalExport.g:26050:2: ( ( '(' ) ) + { + // InternalExport.g:26050:2: ( ( '(' ) ) + // InternalExport.g:26051:3: ( '(' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + } + // InternalExport.g:26052:3: ( '(' ) + // InternalExport.g:26053:4: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__ExplicitOperationCallAssignment_3_0" + + + // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0" + // InternalExport.g:26064:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 : ( ruleXShortClosure ) ; + public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26068:1: ( ( ruleXShortClosure ) ) + // InternalExport.g:26069:2: ( ruleXShortClosure ) + { + // InternalExport.g:26069:2: ( ruleXShortClosure ) + // InternalExport.g:26070:3: ruleXShortClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXShortClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0" + + + // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0" + // InternalExport.g:26079:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 : ( ruleXExpression ) ; + public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26083:1: ( ( ruleXExpression ) ) + // InternalExport.g:26084:2: ( ruleXExpression ) + { + // InternalExport.g:26084:2: ( ruleXExpression ) + // InternalExport.g:26085:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0" + + + // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1" + // InternalExport.g:26094:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 : ( ruleXExpression ) ; + public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26098:1: ( ( ruleXExpression ) ) + // InternalExport.g:26099:2: ( ruleXExpression ) + { + // InternalExport.g:26099:2: ( ruleXExpression ) + // InternalExport.g:26100:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1" + + + // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_4" + // InternalExport.g:26109:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_4 : ( ruleXClosure ) ; + public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26113:1: ( ( ruleXClosure ) ) + // InternalExport.g:26114:2: ( ruleXClosure ) + { + // InternalExport.g:26114:2: ( ruleXClosure ) + // InternalExport.g:26115:3: ruleXClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleXClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__FeatureCallArgumentsAssignment_4" + + + // $ANTLR start "rule__XConstructorCall__ConstructorAssignment_2" + // InternalExport.g:26124:1: rule__XConstructorCall__ConstructorAssignment_2 : ( ( ruleQualifiedName ) ) ; + public final void rule__XConstructorCall__ConstructorAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26128:1: ( ( ( ruleQualifiedName ) ) ) + // InternalExport.g:26129:2: ( ( ruleQualifiedName ) ) + { + // InternalExport.g:26129:2: ( ( ruleQualifiedName ) ) + // InternalExport.g:26130:3: ( ruleQualifiedName ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); + } + // InternalExport.g:26131:3: ( ruleQualifiedName ) + // InternalExport.g:26132:4: ruleQualifiedName + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorQualifiedNameParserRuleCall_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorQualifiedNameParserRuleCall_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ConstructorAssignment_2" + + + // $ANTLR start "rule__XConstructorCall__TypeArgumentsAssignment_3_1" + // InternalExport.g:26143:1: rule__XConstructorCall__TypeArgumentsAssignment_3_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XConstructorCall__TypeArgumentsAssignment_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26147:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExport.g:26148:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExport.g:26148:2: ( ruleJvmArgumentTypeReference ) + // InternalExport.g:26149:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__TypeArgumentsAssignment_3_1" + + + // $ANTLR start "rule__XConstructorCall__TypeArgumentsAssignment_3_2_1" + // InternalExport.g:26158:1: rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XConstructorCall__TypeArgumentsAssignment_3_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26162:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExport.g:26163:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExport.g:26163:2: ( ruleJvmArgumentTypeReference ) + // InternalExport.g:26164:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__TypeArgumentsAssignment_3_2_1" + + + // $ANTLR start "rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0" + // InternalExport.g:26173:1: rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 : ( ( '(' ) ) ; + public final void rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26177:1: ( ( ( '(' ) ) ) + // InternalExport.g:26178:2: ( ( '(' ) ) + { + // InternalExport.g:26178:2: ( ( '(' ) ) + // InternalExport.g:26179:3: ( '(' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + } + // InternalExport.g:26180:3: ( '(' ) + // InternalExport.g:26181:4: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0" + + + // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_4_1_0" + // InternalExport.g:26192:1: rule__XConstructorCall__ArgumentsAssignment_4_1_0 : ( ruleXShortClosure ) ; + public final void rule__XConstructorCall__ArgumentsAssignment_4_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26196:1: ( ( ruleXShortClosure ) ) + // InternalExport.g:26197:2: ( ruleXShortClosure ) + { + // InternalExport.g:26197:2: ( ruleXShortClosure ) + // InternalExport.g:26198:3: ruleXShortClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXShortClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ArgumentsAssignment_4_1_0" + + + // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_4_1_1_0" + // InternalExport.g:26207:1: rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 : ( ruleXExpression ) ; + public final void rule__XConstructorCall__ArgumentsAssignment_4_1_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26211:1: ( ( ruleXExpression ) ) + // InternalExport.g:26212:2: ( ruleXExpression ) + { + // InternalExport.g:26212:2: ( ruleXExpression ) + // InternalExport.g:26213:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ArgumentsAssignment_4_1_1_0" + + + // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1" + // InternalExport.g:26222:1: rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 : ( ruleXExpression ) ; + public final void rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26226:1: ( ( ruleXExpression ) ) + // InternalExport.g:26227:2: ( ruleXExpression ) + { + // InternalExport.g:26227:2: ( ruleXExpression ) + // InternalExport.g:26228:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1" + + + // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_5" + // InternalExport.g:26237:1: rule__XConstructorCall__ArgumentsAssignment_5 : ( ruleXClosure ) ; + public final void rule__XConstructorCall__ArgumentsAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26241:1: ( ( ruleXClosure ) ) + // InternalExport.g:26242:2: ( ruleXClosure ) + { + // InternalExport.g:26242:2: ( ruleXClosure ) + // InternalExport.g:26243:3: ruleXClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleXClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ArgumentsAssignment_5" + + + // $ANTLR start "rule__XBooleanLiteral__IsTrueAssignment_1_1" + // InternalExport.g:26252:1: rule__XBooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ; + public final void rule__XBooleanLiteral__IsTrueAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26256:1: ( ( ( 'true' ) ) ) + // InternalExport.g:26257:2: ( ( 'true' ) ) + { + // InternalExport.g:26257:2: ( ( 'true' ) ) + // InternalExport.g:26258:3: ( 'true' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + } + // InternalExport.g:26259:3: ( 'true' ) + // InternalExport.g:26260:4: 'true' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + } + match(input,36,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBooleanLiteral__IsTrueAssignment_1_1" + + + // $ANTLR start "rule__XNumberLiteral__ValueAssignment_1" + // InternalExport.g:26271:1: rule__XNumberLiteral__ValueAssignment_1 : ( ruleNumber ) ; + public final void rule__XNumberLiteral__ValueAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26275:1: ( ( ruleNumber ) ) + // InternalExport.g:26276:2: ( ruleNumber ) + { + // InternalExport.g:26276:2: ( ruleNumber ) + // InternalExport.g:26277:3: ruleNumber + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleNumber(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNumberLiteral__ValueAssignment_1" + + + // $ANTLR start "rule__XStringLiteral__ValueAssignment_1" + // InternalExport.g:26286:1: rule__XStringLiteral__ValueAssignment_1 : ( RULE_STRING ) ; + public final void rule__XStringLiteral__ValueAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26290:1: ( ( RULE_STRING ) ) + // InternalExport.g:26291:2: ( RULE_STRING ) + { + // InternalExport.g:26291:2: ( RULE_STRING ) + // InternalExport.g:26292:3: RULE_STRING + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); + } + match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XStringLiteral__ValueAssignment_1" + + + // $ANTLR start "rule__XTypeLiteral__TypeAssignment_3" + // InternalExport.g:26301:1: rule__XTypeLiteral__TypeAssignment_3 : ( ( ruleQualifiedName ) ) ; + public final void rule__XTypeLiteral__TypeAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26305:1: ( ( ( ruleQualifiedName ) ) ) + // InternalExport.g:26306:2: ( ( ruleQualifiedName ) ) + { + // InternalExport.g:26306:2: ( ( ruleQualifiedName ) ) + // InternalExport.g:26307:3: ( ruleQualifiedName ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); + } + // InternalExport.g:26308:3: ( ruleQualifiedName ) + // InternalExport.g:26309:4: ruleQualifiedName + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeQualifiedNameParserRuleCall_3_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeQualifiedNameParserRuleCall_3_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__TypeAssignment_3" + + + // $ANTLR start "rule__XTypeLiteral__ArrayDimensionsAssignment_4" + // InternalExport.g:26320:1: rule__XTypeLiteral__ArrayDimensionsAssignment_4 : ( ruleArrayBrackets ) ; + public final void rule__XTypeLiteral__ArrayDimensionsAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26324:1: ( ( ruleArrayBrackets ) ) + // InternalExport.g:26325:2: ( ruleArrayBrackets ) + { + // InternalExport.g:26325:2: ( ruleArrayBrackets ) + // InternalExport.g:26326:3: ruleArrayBrackets + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__ArrayDimensionsAssignment_4" + + + // $ANTLR start "rule__XThrowExpression__ExpressionAssignment_2" + // InternalExport.g:26335:1: rule__XThrowExpression__ExpressionAssignment_2 : ( ruleXExpression ) ; + public final void rule__XThrowExpression__ExpressionAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26339:1: ( ( ruleXExpression ) ) + // InternalExport.g:26340:2: ( ruleXExpression ) + { + // InternalExport.g:26340:2: ( ruleXExpression ) + // InternalExport.g:26341:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__ExpressionAssignment_2" + + + // $ANTLR start "rule__XReturnExpression__ExpressionAssignment_2" + // InternalExport.g:26350:1: rule__XReturnExpression__ExpressionAssignment_2 : ( ruleXExpression ) ; + public final void rule__XReturnExpression__ExpressionAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26354:1: ( ( ruleXExpression ) ) + // InternalExport.g:26355:2: ( ruleXExpression ) + { + // InternalExport.g:26355:2: ( ruleXExpression ) + // InternalExport.g:26356:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__ExpressionAssignment_2" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__ExpressionAssignment_2" + // InternalExport.g:26365:1: rule__XTryCatchFinallyExpression__ExpressionAssignment_2 : ( ruleXExpression ) ; + public final void rule__XTryCatchFinallyExpression__ExpressionAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26369:1: ( ( ruleXExpression ) ) + // InternalExport.g:26370:2: ( ruleXExpression ) + { + // InternalExport.g:26370:2: ( ruleXExpression ) + // InternalExport.g:26371:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__ExpressionAssignment_2" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0" + // InternalExport.g:26380:1: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 : ( ruleXCatchClause ) ; + public final void rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26384:1: ( ( ruleXCatchClause ) ) + // InternalExport.g:26385:2: ( ruleXCatchClause ) + { + // InternalExport.g:26385:2: ( ruleXCatchClause ) + // InternalExport.g:26386:3: ruleXCatchClause + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); + } + pushFollow(FOLLOW_2); + ruleXCatchClause(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1" + // InternalExport.g:26395:1: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 : ( ruleXExpression ) ; + public final void rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26399:1: ( ( ruleXExpression ) ) + // InternalExport.g:26400:2: ( ruleXExpression ) + { + // InternalExport.g:26400:2: ( ruleXExpression ) + // InternalExport.g:26401:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1" + // InternalExport.g:26410:1: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 : ( ruleXExpression ) ; + public final void rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26414:1: ( ( ruleXExpression ) ) + // InternalExport.g:26415:2: ( ruleXExpression ) + { + // InternalExport.g:26415:2: ( ruleXExpression ) + // InternalExport.g:26416:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1" + + + // $ANTLR start "rule__XSynchronizedExpression__ParamAssignment_1" + // InternalExport.g:26425:1: rule__XSynchronizedExpression__ParamAssignment_1 : ( ruleXExpression ) ; + public final void rule__XSynchronizedExpression__ParamAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26429:1: ( ( ruleXExpression ) ) + // InternalExport.g:26430:2: ( ruleXExpression ) + { + // InternalExport.g:26430:2: ( ruleXExpression ) + // InternalExport.g:26431:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__ParamAssignment_1" + + + // $ANTLR start "rule__XSynchronizedExpression__ExpressionAssignment_3" + // InternalExport.g:26440:1: rule__XSynchronizedExpression__ExpressionAssignment_3 : ( ruleXExpression ) ; + public final void rule__XSynchronizedExpression__ExpressionAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26444:1: ( ( ruleXExpression ) ) + // InternalExport.g:26445:2: ( ruleXExpression ) + { + // InternalExport.g:26445:2: ( ruleXExpression ) + // InternalExport.g:26446:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__ExpressionAssignment_3" + + + // $ANTLR start "rule__XCatchClause__DeclaredParamAssignment_2" + // InternalExport.g:26455:1: rule__XCatchClause__DeclaredParamAssignment_2 : ( ruleFullJvmFormalParameter ) ; + public final void rule__XCatchClause__DeclaredParamAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26459:1: ( ( ruleFullJvmFormalParameter ) ) + // InternalExport.g:26460:2: ( ruleFullJvmFormalParameter ) + { + // InternalExport.g:26460:2: ( ruleFullJvmFormalParameter ) + // InternalExport.g:26461:3: ruleFullJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleFullJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__DeclaredParamAssignment_2" + + + // $ANTLR start "rule__XCatchClause__ExpressionAssignment_4" + // InternalExport.g:26470:1: rule__XCatchClause__ExpressionAssignment_4 : ( ruleXExpression ) ; + public final void rule__XCatchClause__ExpressionAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26474:1: ( ( ruleXExpression ) ) + // InternalExport.g:26475:2: ( ruleXExpression ) + { + // InternalExport.g:26475:2: ( ruleXExpression ) + // InternalExport.g:26476:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__ExpressionAssignment_4" + + + // $ANTLR start "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0" + // InternalExport.g:26485:1: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 : ( ruleJvmTypeReference ) ; + public final void rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26489:1: ( ( ruleJvmTypeReference ) ) + // InternalExport.g:26490:2: ( ruleJvmTypeReference ) + { + // InternalExport.g:26490:2: ( ruleJvmTypeReference ) + // InternalExport.g:26491:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0" + + + // $ANTLR start "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1" + // InternalExport.g:26500:1: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 : ( ruleJvmTypeReference ) ; + public final void rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26504:1: ( ( ruleJvmTypeReference ) ) + // InternalExport.g:26505:2: ( ruleJvmTypeReference ) + { + // InternalExport.g:26505:2: ( ruleJvmTypeReference ) + // InternalExport.g:26506:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1" + + + // $ANTLR start "rule__XFunctionTypeRef__ReturnTypeAssignment_2" + // InternalExport.g:26515:1: rule__XFunctionTypeRef__ReturnTypeAssignment_2 : ( ruleJvmTypeReference ) ; + public final void rule__XFunctionTypeRef__ReturnTypeAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26519:1: ( ( ruleJvmTypeReference ) ) + // InternalExport.g:26520:2: ( ruleJvmTypeReference ) + { + // InternalExport.g:26520:2: ( ruleJvmTypeReference ) + // InternalExport.g:26521:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__ReturnTypeAssignment_2" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__TypeAssignment_0" + // InternalExport.g:26530:1: rule__JvmParameterizedTypeReference__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ; + public final void rule__JvmParameterizedTypeReference__TypeAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26534:1: ( ( ( ruleQualifiedName ) ) ) + // InternalExport.g:26535:2: ( ( ruleQualifiedName ) ) + { + // InternalExport.g:26535:2: ( ( ruleQualifiedName ) ) + // InternalExport.g:26536:3: ( ruleQualifiedName ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); + } + // InternalExport.g:26537:3: ( ruleQualifiedName ) + // InternalExport.g:26538:4: ruleQualifiedName + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeQualifiedNameParserRuleCall_0_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeQualifiedNameParserRuleCall_0_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__TypeAssignment_0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1" + // InternalExport.g:26549:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26553:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExport.g:26554:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExport.g:26554:2: ( ruleJvmArgumentTypeReference ) + // InternalExport.g:26555:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1" + // InternalExport.g:26564:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26568:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExport.g:26569:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExport.g:26569:2: ( ruleJvmArgumentTypeReference ) + // InternalExport.g:26570:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1" + // InternalExport.g:26579:1: rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 : ( ( ruleValidID ) ) ; + public final void rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26583:1: ( ( ( ruleValidID ) ) ) + // InternalExport.g:26584:2: ( ( ruleValidID ) ) + { + // InternalExport.g:26584:2: ( ( ruleValidID ) ) + // InternalExport.g:26585:3: ( ruleValidID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); + } + // InternalExport.g:26586:3: ( ruleValidID ) + // InternalExport.g:26587:4: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeValidIDParserRuleCall_1_4_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeValidIDParserRuleCall_1_4_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1" + // InternalExport.g:26598:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26602:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExport.g:26603:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExport.g:26603:2: ( ruleJvmArgumentTypeReference ) + // InternalExport.g:26604:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1" + // InternalExport.g:26613:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26617:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExport.g:26618:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExport.g:26618:2: ( ruleJvmArgumentTypeReference ) + // InternalExport.g:26619:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1" + + + // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0" + // InternalExport.g:26628:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 : ( ruleJvmUpperBound ) ; + public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26632:1: ( ( ruleJvmUpperBound ) ) + // InternalExport.g:26633:2: ( ruleJvmUpperBound ) + { + // InternalExport.g:26633:2: ( ruleJvmUpperBound ) + // InternalExport.g:26634:3: ruleJvmUpperBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0" + + + // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1" + // InternalExport.g:26643:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 : ( ruleJvmUpperBoundAnded ) ; + public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26647:1: ( ( ruleJvmUpperBoundAnded ) ) + // InternalExport.g:26648:2: ( ruleJvmUpperBoundAnded ) + { + // InternalExport.g:26648:2: ( ruleJvmUpperBoundAnded ) + // InternalExport.g:26649:3: ruleJvmUpperBoundAnded + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmUpperBoundAnded(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1" + + + // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0" + // InternalExport.g:26658:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 : ( ruleJvmLowerBound ) ; + public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26662:1: ( ( ruleJvmLowerBound ) ) + // InternalExport.g:26663:2: ( ruleJvmLowerBound ) + { + // InternalExport.g:26663:2: ( ruleJvmLowerBound ) + // InternalExport.g:26664:3: ruleJvmLowerBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0" + + + // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1" + // InternalExport.g:26673:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 : ( ruleJvmLowerBoundAnded ) ; + public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26677:1: ( ( ruleJvmLowerBoundAnded ) ) + // InternalExport.g:26678:2: ( ruleJvmLowerBoundAnded ) + { + // InternalExport.g:26678:2: ( ruleJvmLowerBoundAnded ) + // InternalExport.g:26679:3: ruleJvmLowerBoundAnded + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmLowerBoundAnded(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1" + + + // $ANTLR start "rule__JvmUpperBound__TypeReferenceAssignment_1" + // InternalExport.g:26688:1: rule__JvmUpperBound__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ; + public final void rule__JvmUpperBound__TypeReferenceAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26692:1: ( ( ruleJvmTypeReference ) ) + // InternalExport.g:26693:2: ( ruleJvmTypeReference ) + { + // InternalExport.g:26693:2: ( ruleJvmTypeReference ) + // InternalExport.g:26694:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBound__TypeReferenceAssignment_1" + + + // $ANTLR start "rule__JvmUpperBoundAnded__TypeReferenceAssignment_1" + // InternalExport.g:26703:1: rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ; + public final void rule__JvmUpperBoundAnded__TypeReferenceAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26707:1: ( ( ruleJvmTypeReference ) ) + // InternalExport.g:26708:2: ( ruleJvmTypeReference ) + { + // InternalExport.g:26708:2: ( ruleJvmTypeReference ) + // InternalExport.g:26709:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBoundAnded__TypeReferenceAssignment_1" + + + // $ANTLR start "rule__JvmLowerBound__TypeReferenceAssignment_1" + // InternalExport.g:26718:1: rule__JvmLowerBound__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ; + public final void rule__JvmLowerBound__TypeReferenceAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26722:1: ( ( ruleJvmTypeReference ) ) + // InternalExport.g:26723:2: ( ruleJvmTypeReference ) + { + // InternalExport.g:26723:2: ( ruleJvmTypeReference ) + // InternalExport.g:26724:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBound__TypeReferenceAssignment_1" + + + // $ANTLR start "rule__JvmLowerBoundAnded__TypeReferenceAssignment_1" + // InternalExport.g:26733:1: rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ; + public final void rule__JvmLowerBoundAnded__TypeReferenceAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26737:1: ( ( ruleJvmTypeReference ) ) + // InternalExport.g:26738:2: ( ruleJvmTypeReference ) + { + // InternalExport.g:26738:2: ( ruleJvmTypeReference ) + // InternalExport.g:26739:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBoundAnded__TypeReferenceAssignment_1" + + + // $ANTLR start "rule__XImportDeclaration__StaticAssignment_1_0_0" + // InternalExport.g:26748:1: rule__XImportDeclaration__StaticAssignment_1_0_0 : ( ( 'static' ) ) ; + public final void rule__XImportDeclaration__StaticAssignment_1_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26752:1: ( ( ( 'static' ) ) ) + // InternalExport.g:26753:2: ( ( 'static' ) ) + { + // InternalExport.g:26753:2: ( ( 'static' ) ) + // InternalExport.g:26754:3: ( 'static' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + } + // InternalExport.g:26755:3: ( 'static' ) + // InternalExport.g:26756:4: 'static' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + } + match(input,61,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__StaticAssignment_1_0_0" + + + // $ANTLR start "rule__XImportDeclaration__ExtensionAssignment_1_0_1" + // InternalExport.g:26767:1: rule__XImportDeclaration__ExtensionAssignment_1_0_1 : ( ( 'extension' ) ) ; + public final void rule__XImportDeclaration__ExtensionAssignment_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26771:1: ( ( ( 'extension' ) ) ) + // InternalExport.g:26772:2: ( ( 'extension' ) ) + { + // InternalExport.g:26772:2: ( ( 'extension' ) ) + // InternalExport.g:26773:3: ( 'extension' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + } + // InternalExport.g:26774:3: ( 'extension' ) + // InternalExport.g:26775:4: 'extension' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + } + match(input,63,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__ExtensionAssignment_1_0_1" + + + // $ANTLR start "rule__XImportDeclaration__ImportedTypeAssignment_1_0_2" + // InternalExport.g:26786:1: rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 : ( ( ruleQualifiedNameInStaticImport ) ) ; + public final void rule__XImportDeclaration__ImportedTypeAssignment_1_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26790:1: ( ( ( ruleQualifiedNameInStaticImport ) ) ) + // InternalExport.g:26791:2: ( ( ruleQualifiedNameInStaticImport ) ) + { + // InternalExport.g:26791:2: ( ( ruleQualifiedNameInStaticImport ) ) + // InternalExport.g:26792:3: ( ruleQualifiedNameInStaticImport ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); + } + // InternalExport.g:26793:3: ( ruleQualifiedNameInStaticImport ) + // InternalExport.g:26794:4: ruleQualifiedNameInStaticImport + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameInStaticImportParserRuleCall_1_0_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedNameInStaticImport(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameInStaticImportParserRuleCall_1_0_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__ImportedTypeAssignment_1_0_2" + + + // $ANTLR start "rule__XImportDeclaration__WildcardAssignment_1_0_3_0" + // InternalExport.g:26805:1: rule__XImportDeclaration__WildcardAssignment_1_0_3_0 : ( ( '*' ) ) ; + public final void rule__XImportDeclaration__WildcardAssignment_1_0_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26809:1: ( ( ( '*' ) ) ) + // InternalExport.g:26810:2: ( ( '*' ) ) + { + // InternalExport.g:26810:2: ( ( '*' ) ) + // InternalExport.g:26811:3: ( '*' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + } + // InternalExport.g:26812:3: ( '*' ) + // InternalExport.g:26813:4: '*' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + } + match(input,25,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__WildcardAssignment_1_0_3_0" + + + // $ANTLR start "rule__XImportDeclaration__MemberNameAssignment_1_0_3_1" + // InternalExport.g:26824:1: rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 : ( ruleValidID ) ; + public final void rule__XImportDeclaration__MemberNameAssignment_1_0_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26828:1: ( ( ruleValidID ) ) + // InternalExport.g:26829:2: ( ruleValidID ) + { + // InternalExport.g:26829:2: ( ruleValidID ) + // InternalExport.g:26830:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__MemberNameAssignment_1_0_3_1" + + + // $ANTLR start "rule__XImportDeclaration__ImportedTypeAssignment_1_1" + // InternalExport.g:26839:1: rule__XImportDeclaration__ImportedTypeAssignment_1_1 : ( ( ruleQualifiedName ) ) ; + public final void rule__XImportDeclaration__ImportedTypeAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26843:1: ( ( ( ruleQualifiedName ) ) ) + // InternalExport.g:26844:2: ( ( ruleQualifiedName ) ) + { + // InternalExport.g:26844:2: ( ( ruleQualifiedName ) ) + // InternalExport.g:26845:3: ( ruleQualifiedName ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); + } + // InternalExport.g:26846:3: ( ruleQualifiedName ) + // InternalExport.g:26847:4: ruleQualifiedName + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameParserRuleCall_1_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameParserRuleCall_1_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__ImportedTypeAssignment_1_1" + + + // $ANTLR start "rule__XImportDeclaration__ImportedNamespaceAssignment_1_2" + // InternalExport.g:26858:1: rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 : ( ruleQualifiedNameWithWildcard ) ; + public final void rule__XImportDeclaration__ImportedNamespaceAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExport.g:26862:1: ( ( ruleQualifiedNameWithWildcard ) ) + // InternalExport.g:26863:2: ( ruleQualifiedNameWithWildcard ) + { + // InternalExport.g:26863:2: ( ruleQualifiedNameWithWildcard ) + // InternalExport.g:26864:3: ruleQualifiedNameWithWildcard + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleQualifiedNameWithWildcard(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__ImportedNamespaceAssignment_1_2" + + // $ANTLR start synpred7_InternalExport + public final void synpred7_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:3248:2: ( ( ( ruleCastedExpression ) ) ) + // InternalExport.g:3248:2: ( ( ruleCastedExpression ) ) + { + // InternalExport.g:3248:2: ( ( ruleCastedExpression ) ) + // InternalExport.g:3249:3: ( ruleCastedExpression ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); + } + // InternalExport.g:3250:3: ( ruleCastedExpression ) + // InternalExport.g:3250:4: ruleCastedExpression + { + pushFollow(FOLLOW_2); + ruleCastedExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred7_InternalExport + + // $ANTLR start synpred75_InternalExport + public final void synpred75_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4001:2: ( ( ( rule__OpOther__Group_6_1_0__0 ) ) ) + // InternalExport.g:4001:2: ( ( rule__OpOther__Group_6_1_0__0 ) ) + { + // InternalExport.g:4001:2: ( ( rule__OpOther__Group_6_1_0__0 ) ) + // InternalExport.g:4002:3: ( rule__OpOther__Group_6_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); + } + // InternalExport.g:4003:3: ( rule__OpOther__Group_6_1_0__0 ) + // InternalExport.g:4003:4: rule__OpOther__Group_6_1_0__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred75_InternalExport + + // $ANTLR start synpred76_InternalExport + public final void synpred76_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4007:2: ( ( '<' ) ) + // InternalExport.g:4007:2: ( '<' ) + { + // InternalExport.g:4007:2: ( '<' ) + // InternalExport.g:4008:3: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred76_InternalExport + + // $ANTLR start synpred89_InternalExport + public final void synpred89_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4220:2: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) ) + // InternalExport.g:4220:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) + { + // InternalExport.g:4220:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) + // InternalExport.g:4221:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); + } + // InternalExport.g:4222:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) + // InternalExport.g:4222:4: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred89_InternalExport + + // $ANTLR start synpred97_InternalExport + public final void synpred97_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4283:2: ( ( ( ruleXForLoopExpression ) ) ) + // InternalExport.g:4283:2: ( ( ruleXForLoopExpression ) ) + { + // InternalExport.g:4283:2: ( ( ruleXForLoopExpression ) ) + // InternalExport.g:4284:3: ( ruleXForLoopExpression ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); + } + // InternalExport.g:4285:3: ( ruleXForLoopExpression ) + // InternalExport.g:4285:4: ruleXForLoopExpression + { + pushFollow(FOLLOW_2); + ruleXForLoopExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred97_InternalExport + + // $ANTLR start synpred98_InternalExport + public final void synpred98_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4289:2: ( ( ruleXBasicForLoopExpression ) ) + // InternalExport.g:4289:2: ( ruleXBasicForLoopExpression ) + { + // InternalExport.g:4289:2: ( ruleXBasicForLoopExpression ) + // InternalExport.g:4290:3: ruleXBasicForLoopExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); + } + pushFollow(FOLLOW_2); + ruleXBasicForLoopExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred98_InternalExport + + // $ANTLR start synpred111_InternalExport + public final void synpred111_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4412:2: ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) ) + // InternalExport.g:4412:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) ) + { + // InternalExport.g:4412:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) ) + // InternalExport.g:4413:3: ( rule__XSwitchExpression__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); + } + // InternalExport.g:4414:3: ( rule__XSwitchExpression__Group_2_0__0 ) + // InternalExport.g:4414:4: rule__XSwitchExpression__Group_2_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred111_InternalExport + + // $ANTLR start synpred115_InternalExport + public final void synpred115_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4496:2: ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) ) + // InternalExport.g:4496:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) + { + // InternalExport.g:4496:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) + // InternalExport.g:4497:3: ( rule__XVariableDeclaration__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); + } + // InternalExport.g:4498:3: ( rule__XVariableDeclaration__Group_2_0__0 ) + // InternalExport.g:4498:4: rule__XVariableDeclaration__Group_2_0__0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred115_InternalExport + + // $ANTLR start synpred116_InternalExport + public final void synpred116_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4517:2: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) ) + // InternalExport.g:4517:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) + { + // InternalExport.g:4517:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) + // InternalExport.g:4518:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); + } + // InternalExport.g:4519:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) + // InternalExport.g:4519:4: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred116_InternalExport + + // $ANTLR start synpred122_InternalExport + public final void synpred122_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4598:2: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) ) + // InternalExport.g:4598:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) + { + // InternalExport.g:4598:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) + // InternalExport.g:4599:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); + } + // InternalExport.g:4600:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) + // InternalExport.g:4600:4: rule__XConstructorCall__ArgumentsAssignment_4_1_0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_4_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred122_InternalExport + + // $ANTLR start synpred163_InternalExport + public final void synpred163_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:8109:3: ( rule__IfExpressionKw__Group_4__0 ) + // InternalExport.g:8109:3: rule__IfExpressionKw__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__IfExpressionKw__Group_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred163_InternalExport + + // $ANTLR start synpred182_InternalExport + public final void synpred182_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:11565:3: ( rule__XAssignment__Group_1_1__0 ) + // InternalExport.g:11565:3: rule__XAssignment__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred182_InternalExport + + // $ANTLR start synpred184_InternalExport + public final void synpred184_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:11916:3: ( rule__XOrExpression__Group_1__0 ) + // InternalExport.g:11916:3: rule__XOrExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred184_InternalExport + + // $ANTLR start synpred185_InternalExport + public final void synpred185_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:12105:3: ( rule__XAndExpression__Group_1__0 ) + // InternalExport.g:12105:3: rule__XAndExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred185_InternalExport + + // $ANTLR start synpred186_InternalExport + public final void synpred186_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:12294:3: ( rule__XEqualityExpression__Group_1__0 ) + // InternalExport.g:12294:3: rule__XEqualityExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred186_InternalExport + + // $ANTLR start synpred187_InternalExport + public final void synpred187_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:12483:3: ( rule__XRelationalExpression__Alternatives_1 ) + // InternalExport.g:12483:3: rule__XRelationalExpression__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred187_InternalExport + + // $ANTLR start synpred188_InternalExport + public final void synpred188_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:12861:3: ( rule__XOtherOperatorExpression__Group_1__0 ) + // InternalExport.g:12861:3: rule__XOtherOperatorExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred188_InternalExport + + // $ANTLR start synpred189_InternalExport + public final void synpred189_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:13374:3: ( rule__XAdditiveExpression__Group_1__0 ) + // InternalExport.g:13374:3: rule__XAdditiveExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred189_InternalExport + + // $ANTLR start synpred190_InternalExport + public final void synpred190_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:13563:3: ( rule__XMultiplicativeExpression__Group_1__0 ) + // InternalExport.g:13563:3: rule__XMultiplicativeExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred190_InternalExport + + // $ANTLR start synpred191_InternalExport + public final void synpred191_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:13833:3: ( rule__XCastedExpression__Group_1__0 ) + // InternalExport.g:13833:3: rule__XCastedExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred191_InternalExport + + // $ANTLR start synpred192_InternalExport + public final void synpred192_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:14022:3: ( rule__XPostfixOperation__Group_1__0 ) + // InternalExport.g:14022:3: rule__XPostfixOperation__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred192_InternalExport + + // $ANTLR start synpred193_InternalExport + public final void synpred193_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:14157:3: ( rule__XMemberFeatureCall__Alternatives_1 ) + // InternalExport.g:14157:3: rule__XMemberFeatureCall__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred193_InternalExport + + // $ANTLR start synpred195_InternalExport + public final void synpred195_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:14455:3: ( rule__XMemberFeatureCall__Group_1_1_3__0 ) + // InternalExport.g:14455:3: rule__XMemberFeatureCall__Group_1_1_3__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred195_InternalExport + + // $ANTLR start synpred196_InternalExport + public final void synpred196_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:14481:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 ) + // InternalExport.g:14481:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred196_InternalExport + + // $ANTLR start synpred204_InternalExport + public final void synpred204_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:15454:3: ( rule__XClosure__Group_1__0 ) + // InternalExport.g:15454:3: rule__XClosure__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred204_InternalExport + + // $ANTLR start synpred211_InternalExport + public final void synpred211_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:16425:3: ( rule__XIfExpression__Group_6__0 ) + // InternalExport.g:16425:3: rule__XIfExpression__Group_6__0 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__Group_6__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred211_InternalExport + + // $ANTLR start synpred214_InternalExport + public final void synpred214_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:16885:3: ( rule__XSwitchExpression__Group_2_1_0__0 ) + // InternalExport.g:16885:3: rule__XSwitchExpression__Group_2_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred214_InternalExport + + // $ANTLR start synpred227_InternalExport + public final void synpred227_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:19018:3: ( rule__XFeatureCall__Group_3__0 ) + // InternalExport.g:19018:3: rule__XFeatureCall__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred227_InternalExport + + // $ANTLR start synpred228_InternalExport + public final void synpred228_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:19044:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 ) + // InternalExport.g:19044:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_4 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred228_InternalExport + + // $ANTLR start synpred232_InternalExport + public final void synpred232_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:19504:3: ( rule__XConstructorCall__Group_3__0 ) + // InternalExport.g:19504:3: rule__XConstructorCall__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred232_InternalExport + + // $ANTLR start synpred233_InternalExport + public final void synpred233_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:19531:3: ( rule__XConstructorCall__Group_4__0 ) + // InternalExport.g:19531:3: rule__XConstructorCall__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred233_InternalExport + + // $ANTLR start synpred234_InternalExport + public final void synpred234_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:19557:3: ( rule__XConstructorCall__ArgumentsAssignment_5 ) + // InternalExport.g:19557:3: rule__XConstructorCall__ArgumentsAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred234_InternalExport + + // $ANTLR start synpred239_InternalExport + public final void synpred239_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:20448:3: ( rule__XReturnExpression__ExpressionAssignment_2 ) + // InternalExport.g:20448:3: rule__XReturnExpression__ExpressionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XReturnExpression__ExpressionAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred239_InternalExport + + // $ANTLR start synpred240_InternalExport + public final void synpred240_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:20590:4: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) + // InternalExport.g:20590:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred240_InternalExport + + // $ANTLR start synpred241_InternalExport + public final void synpred241_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:20617:3: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 ) + // InternalExport.g:20617:3: rule__XTryCatchFinallyExpression__Group_3_0_1__0 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred241_InternalExport + + // $ANTLR start synpred242_InternalExport + public final void synpred242_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:21130:3: ( rule__QualifiedName__Group_1__0 ) + // InternalExport.g:21130:3: rule__QualifiedName__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__QualifiedName__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred242_InternalExport + + // $ANTLR start synpred244_InternalExport + public final void synpred244_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:21346:3: ( rule__JvmTypeReference__Group_0_1__0 ) + // InternalExport.g:21346:3: rule__JvmTypeReference__Group_0_1__0 + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred244_InternalExport + + // $ANTLR start synpred248_InternalExport + public final void synpred248_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:21805:3: ( rule__JvmParameterizedTypeReference__Group_1__0 ) + // InternalExport.g:21805:3: rule__JvmParameterizedTypeReference__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred248_InternalExport + + // $ANTLR start synpred250_InternalExport + public final void synpred250_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:21940:3: ( rule__JvmParameterizedTypeReference__Group_1_4__0 ) + // InternalExport.g:21940:3: rule__JvmParameterizedTypeReference__Group_1_4__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred250_InternalExport + + // $ANTLR start synpred251_InternalExport + public final void synpred251_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:22075:3: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 ) + // InternalExport.g:22075:3: rule__JvmParameterizedTypeReference__Group_1_4_2__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred251_InternalExport + + // Delegated rules + + public final boolean synpred122_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred122_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred239_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred239_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred251_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred251_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred186_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred186_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred182_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred182_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred195_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred195_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred234_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred234_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred204_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred204_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred185_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred185_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred7_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred7_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred241_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred241_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred76_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred76_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred242_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred242_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred250_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred250_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred89_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred89_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred98_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred98_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred190_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred190_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred233_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred233_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred192_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred192_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred189_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred189_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred75_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred75_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred184_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred184_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred211_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred211_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred111_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred111_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred240_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred240_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred228_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred228_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred97_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred97_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred116_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred116_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred191_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred191_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred232_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred232_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred163_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred163_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred193_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred193_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred115_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred115_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred214_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred214_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred244_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred244_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred227_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred227_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred187_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred187_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred248_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred248_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred188_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred188_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred196_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred196_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + + + protected DFA5 dfa5 = new DFA5(this); + protected DFA26 dfa26 = new DFA26(this); + protected DFA34 dfa34 = new DFA34(this); + protected DFA37 dfa37 = new DFA37(this); + protected DFA38 dfa38 = new DFA38(this); + protected DFA41 dfa41 = new DFA41(this); + protected DFA46 dfa46 = new DFA46(this); + protected DFA49 dfa49 = new DFA49(this); + protected DFA58 dfa58 = new DFA58(this); + protected DFA108 dfa108 = new DFA108(this); + protected DFA114 dfa114 = new DFA114(this); + protected DFA121 dfa121 = new DFA121(this); + protected DFA122 dfa122 = new DFA122(this); + protected DFA130 dfa130 = new DFA130(this); + protected DFA140 dfa140 = new DFA140(this); + protected DFA153 dfa153 = new DFA153(this); + protected DFA154 dfa154 = new DFA154(this); + protected DFA158 dfa158 = new DFA158(this); + protected DFA159 dfa159 = new DFA159(this); + protected DFA160 dfa160 = new DFA160(this); + protected DFA165 dfa165 = new DFA165(this); + protected DFA174 dfa174 = new DFA174(this); + protected DFA177 dfa177 = new DFA177(this); + static final String dfa_1s = "\36\uffff"; + static final String dfa_2s = "\1\4\1\uffff\1\0\33\uffff"; + static final String dfa_3s = "\1\163\1\uffff\1\0\33\uffff"; + static final String dfa_4s = "\1\uffff\1\1\1\uffff\1\3\31\uffff\1\2"; + static final String dfa_5s = "\2\uffff\1\0\33\uffff}>"; + static final String[] dfa_6s = { + "\1\3\1\uffff\1\3\1\uffff\2\3\16\uffff\1\3\2\uffff\16\3\33\uffff\1\3\10\uffff\1\2\6\uffff\1\1\2\uffff\1\3\2\uffff\1\3\3\uffff\2\3\4\uffff\1\3\16\uffff\1\3", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); + static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s); + static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); + static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s); + static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); + static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); + + class DFA5 extends DFA { + + public DFA5(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 5; + this.eot = dfa_1; + this.eof = dfa_1; + this.min = dfa_2; + this.max = dfa_3; + this.accept = dfa_4; + this.special = dfa_5; + this.transition = dfa_6; + } + public String getDescription() { + return "3237:1: rule__Expression__Alternatives : ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA5_2 = input.LA(1); + + + int index5_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred7_InternalExport()) ) {s = 29;} + + else if ( (true) ) {s = 3;} + + + input.seek(index5_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 5, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_7s = "\13\uffff"; + static final String dfa_8s = "\1\25\2\uffff\1\25\7\uffff"; + static final String dfa_9s = "\1\65\2\uffff\1\62\7\uffff"; + static final String dfa_10s = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\6\1\3"; + static final String dfa_11s = "\13\uffff}>"; + static final String[] dfa_12s = { + "\1\3\1\6\31\uffff\1\1\1\2\1\4\1\5\1\7\1\10", + "", + "", + "\1\11\34\uffff\1\12", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); + static final char[] dfa_8 = DFA.unpackEncodedStringToUnsignedChars(dfa_8s); + static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s); + static final short[] dfa_10 = DFA.unpackEncodedString(dfa_10s); + static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s); + static final short[][] dfa_12 = unpackEncodedStringArray(dfa_12s); + + class DFA26 extends DFA { + + public DFA26(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 26; + this.eot = dfa_7; + this.eof = dfa_7; + this.min = dfa_8; + this.max = dfa_9; + this.accept = dfa_10; + this.special = dfa_11; + this.transition = dfa_12; + } + public String getDescription() { + return "3912:1: rule__OpOther__Alternatives : ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) );"; + } + } + static final String dfa_13s = "\12\uffff"; + static final String dfa_14s = "\4\uffff\5\3\1\uffff"; + static final String dfa_15s = "\1\72\2\4\1\uffff\5\4\1\uffff"; + static final String dfa_16s = "\1\164\2\100\1\uffff\5\165\1\uffff"; + static final String dfa_17s = "\3\uffff\1\2\5\uffff\1\1"; + static final String dfa_18s = "\12\uffff}>"; + static final String[] dfa_19s = { + "\1\1\30\uffff\1\2\40\uffff\1\3", + "\1\4\21\uffff\1\3\45\uffff\1\5\1\6\1\7\1\10\1\3", + "\1\4\21\uffff\1\3\45\uffff\1\5\1\6\1\7\1\10\1\3", + "", + "\5\3\5\uffff\1\11\5\3\1\uffff\7\3\10\uffff\2\3\3\uffff\30\3\1\uffff\1\3\1\uffff\7\3\2\uffff\2\3\4\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\4\3\2\uffff\15\3\10\uffff\2\3", + "\5\3\5\uffff\1\11\5\3\1\uffff\7\3\10\uffff\2\3\3\uffff\30\3\1\uffff\1\3\1\uffff\7\3\2\uffff\2\3\4\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\4\3\2\uffff\15\3\10\uffff\2\3", + "\5\3\5\uffff\1\11\5\3\1\uffff\7\3\10\uffff\2\3\3\uffff\30\3\1\uffff\1\3\1\uffff\7\3\2\uffff\2\3\4\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\4\3\2\uffff\15\3\10\uffff\2\3", + "\5\3\5\uffff\1\11\5\3\1\uffff\7\3\10\uffff\2\3\3\uffff\30\3\1\uffff\1\3\1\uffff\7\3\2\uffff\2\3\4\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\4\3\2\uffff\15\3\10\uffff\2\3", + "\5\3\5\uffff\1\11\5\3\1\uffff\7\3\10\uffff\2\3\3\uffff\30\3\1\uffff\1\3\1\uffff\7\3\2\uffff\2\3\4\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\4\3\2\uffff\15\3\10\uffff\2\3", + "" + }; + + static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s); + static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s); + static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s); + static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s); + static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s); + static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s); + static final short[][] dfa_19 = unpackEncodedStringArray(dfa_19s); + + class DFA34 extends DFA { + + public DFA34(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 34; + this.eot = dfa_13; + this.eof = dfa_14; + this.min = dfa_15; + this.max = dfa_16; + this.accept = dfa_17; + this.special = dfa_18; + this.transition = dfa_19; + } + public String getDescription() { + return "4146:1: rule__XMemberFeatureCall__Alternatives_1 : ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) );"; + } + } + static final String dfa_20s = "\43\uffff"; + static final String dfa_21s = "\1\4\2\0\40\uffff"; + static final String dfa_22s = "\1\152\2\0\40\uffff"; + static final String dfa_23s = "\3\uffff\1\1\1\uffff\1\2\35\uffff"; + static final String dfa_24s = "\1\uffff\1\0\1\1\40\uffff}>"; + static final String[] dfa_25s = { + "\1\1\4\5\15\uffff\3\5\2\uffff\1\5\10\uffff\2\5\15\uffff\1\3\10\uffff\5\5\1\uffff\1\5\1\uffff\1\5\3\uffff\1\5\4\uffff\1\2\11\uffff\1\5\2\uffff\1\5\2\uffff\1\3\1\uffff\1\5\1\uffff\10\5\1\uffff\1\5", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s); + static final char[] dfa_21 = DFA.unpackEncodedStringToUnsignedChars(dfa_21s); + static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s); + static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); + static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s); + static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s); + + class DFA37 extends DFA { + + public DFA37(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 37; + this.eot = dfa_20; + this.eof = dfa_20; + this.min = dfa_21; + this.max = dfa_22; + this.accept = dfa_23; + this.special = dfa_24; + this.transition = dfa_25; + } + public String getDescription() { + return "4215:1: rule__XMemberFeatureCall__Alternatives_1_1_3_1 : ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA37_1 = input.LA(1); + + + int index37_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred89_InternalExport()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index37_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA37_2 = input.LA(1); + + + int index37_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred89_InternalExport()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index37_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 37, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_26s = "\40\uffff"; + static final String dfa_27s = "\1\4\26\uffff\1\0\10\uffff"; + static final String dfa_28s = "\1\152\26\uffff\1\0\10\uffff"; + static final String dfa_29s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\6\uffff\1\6\11\uffff\1\7\1\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\10\1\11"; + static final String dfa_30s = "\27\uffff\1\0\10\uffff}>"; + static final String[] dfa_31s = { + "\1\5\4\14\15\uffff\1\5\15\uffff\2\14\26\uffff\5\5\1\uffff\1\27\1\uffff\1\2\3\uffff\1\14\4\uffff\1\35\11\uffff\1\26\2\uffff\1\3\4\uffff\1\1\1\uffff\1\14\1\30\1\31\2\14\1\32\1\33\1\34\1\uffff\1\4", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s); + static final char[] dfa_27 = DFA.unpackEncodedStringToUnsignedChars(dfa_27s); + static final char[] dfa_28 = DFA.unpackEncodedStringToUnsignedChars(dfa_28s); + static final short[] dfa_29 = DFA.unpackEncodedString(dfa_29s); + static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s); + static final short[][] dfa_31 = unpackEncodedStringArray(dfa_31s); + + class DFA38 extends DFA { + + public DFA38(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 38; + this.eot = dfa_26; + this.eof = dfa_26; + this.min = dfa_27; + this.max = dfa_28; + this.accept = dfa_29; + this.special = dfa_30; + this.transition = dfa_31; + } + public String getDescription() { + return "4236:1: rule__XPrimaryExpression__Alternatives : ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA38_23 = input.LA(1); + + + int index38_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred97_InternalExport()) ) {s = 30;} + + else if ( (synpred98_InternalExport()) ) {s = 31;} + + + input.seek(index38_23); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 38, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_32s = "\1\4\1\0\41\uffff"; + static final String dfa_33s = "\1\152\1\0\41\uffff"; + static final String dfa_34s = "\2\uffff\1\2\37\uffff\1\1"; + static final String dfa_35s = "\1\uffff\1\0\41\uffff}>"; + static final String[] dfa_36s = { + "\5\2\15\uffff\3\2\2\uffff\1\2\10\uffff\2\2\15\uffff\1\2\10\uffff\5\2\1\uffff\1\2\1\uffff\1\2\3\uffff\1\2\4\uffff\1\1\11\uffff\1\2\2\uffff\1\2\4\uffff\1\2\1\uffff\10\2\1\uffff\1\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final char[] dfa_32 = DFA.unpackEncodedStringToUnsignedChars(dfa_32s); + static final char[] dfa_33 = DFA.unpackEncodedStringToUnsignedChars(dfa_33s); + static final short[] dfa_34 = DFA.unpackEncodedString(dfa_34s); + static final short[] dfa_35 = DFA.unpackEncodedString(dfa_35s); + static final short[][] dfa_36 = unpackEncodedStringArray(dfa_36s); + + class DFA41 extends DFA { + + public DFA41(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 41; + this.eot = dfa_20; + this.eof = dfa_20; + this.min = dfa_32; + this.max = dfa_33; + this.accept = dfa_34; + this.special = dfa_35; + this.transition = dfa_36; + } + public String getDescription() { + return "4407:1: rule__XSwitchExpression__Alternatives_2 : ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA41_1 = input.LA(1); + + + int index41_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred111_InternalExport()) ) {s = 34;} + + else if ( (true) ) {s = 2;} + + + input.seek(index41_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 41, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA46 extends DFA { + + public DFA46(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 46; + this.eot = dfa_20; + this.eof = dfa_20; + this.min = dfa_21; + this.max = dfa_22; + this.accept = dfa_23; + this.special = dfa_24; + this.transition = dfa_25; + } + public String getDescription() { + return "4512:1: rule__XFeatureCall__Alternatives_3_1 : ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA46_1 = input.LA(1); + + + int index46_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred116_InternalExport()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index46_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA46_2 = input.LA(1); + + + int index46_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred116_InternalExport()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index46_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 46, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA49 extends DFA { + + public DFA49(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 49; + this.eot = dfa_20; + this.eof = dfa_20; + this.min = dfa_21; + this.max = dfa_22; + this.accept = dfa_23; + this.special = dfa_24; + this.transition = dfa_25; + } + public String getDescription() { + return "4593:1: rule__XConstructorCall__Alternatives_4_1 : ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA49_1 = input.LA(1); + + + int index49_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred122_InternalExport()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index49_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA49_2 = input.LA(1); + + + int index49_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred122_InternalExport()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index49_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 49, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_37s = "\7\uffff"; + static final String dfa_38s = "\2\uffff\1\4\3\uffff\1\4"; + static final String dfa_39s = "\1\4\1\uffff\1\72\1\4\2\uffff\1\72"; + static final String dfa_40s = "\1\75\1\uffff\1\107\1\31\2\uffff\1\107"; + static final String dfa_41s = "\1\uffff\1\1\2\uffff\1\2\1\3\1\uffff"; + static final String dfa_42s = "\7\uffff}>"; + static final String[] dfa_43s = { + "\1\2\70\uffff\1\1", + "", + "\1\3\14\uffff\1\4", + "\1\6\24\uffff\1\5", + "", + "", + "\1\3\14\uffff\1\4" + }; + + static final short[] dfa_37 = DFA.unpackEncodedString(dfa_37s); + static final short[] dfa_38 = DFA.unpackEncodedString(dfa_38s); + static final char[] dfa_39 = DFA.unpackEncodedStringToUnsignedChars(dfa_39s); + static final char[] dfa_40 = DFA.unpackEncodedStringToUnsignedChars(dfa_40s); + static final short[] dfa_41 = DFA.unpackEncodedString(dfa_41s); + static final short[] dfa_42 = DFA.unpackEncodedString(dfa_42s); + static final short[][] dfa_43 = unpackEncodedStringArray(dfa_43s); + + class DFA58 extends DFA { + + public DFA58(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 58; + this.eot = dfa_37; + this.eof = dfa_38; + this.min = dfa_39; + this.max = dfa_40; + this.accept = dfa_41; + this.special = dfa_42; + this.transition = dfa_43; + } + public String getDescription() { + return "4782:1: rule__XImportDeclaration__Alternatives_1 : ( ( ( rule__XImportDeclaration__Group_1_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) ) );"; + } + } + static final String dfa_44s = "\1\10\11\uffff"; + static final String dfa_45s = "\1\4\7\0\2\uffff"; + static final String dfa_46s = "\1\165\7\0\2\uffff"; + static final String dfa_47s = "\10\uffff\1\2\1\1"; + static final String dfa_48s = "\1\uffff\1\5\1\2\1\1\1\0\1\6\1\3\1\4\2\uffff}>"; + static final String[] dfa_49s = { + "\5\10\6\uffff\5\10\1\uffff\1\7\1\6\5\10\10\uffff\2\10\3\uffff\1\1\1\2\1\3\1\4\1\5\23\10\1\uffff\1\10\1\uffff\7\10\2\uffff\2\10\4\uffff\1\10\1\uffff\1\10\1\uffff\1\10\1\uffff\4\10\2\uffff\15\10\10\uffff\2\10", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "" + }; + static final short[] dfa_44 = DFA.unpackEncodedString(dfa_44s); + static final char[] dfa_45 = DFA.unpackEncodedStringToUnsignedChars(dfa_45s); + static final char[] dfa_46 = DFA.unpackEncodedStringToUnsignedChars(dfa_46s); + static final short[] dfa_47 = DFA.unpackEncodedString(dfa_47s); + static final short[] dfa_48 = DFA.unpackEncodedString(dfa_48s); + static final short[][] dfa_49 = unpackEncodedStringArray(dfa_49s); + + class DFA108 extends DFA { + + public DFA108(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 108; + this.eot = dfa_13; + this.eof = dfa_44; + this.min = dfa_45; + this.max = dfa_46; + this.accept = dfa_47; + this.special = dfa_48; + this.transition = dfa_49; + } + public String getDescription() { + return "11565:2: ( rule__XAssignment__Group_1_1__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA108_4 = input.LA(1); + + + int index108_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred182_InternalExport()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index108_4); + if ( s>=0 ) return s; + break; + case 1 : + int LA108_3 = input.LA(1); + + + int index108_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred182_InternalExport()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index108_3); + if ( s>=0 ) return s; + break; + case 2 : + int LA108_2 = input.LA(1); + + + int index108_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred182_InternalExport()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index108_2); + if ( s>=0 ) return s; + break; + case 3 : + int LA108_6 = input.LA(1); + + + int index108_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred182_InternalExport()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index108_6); + if ( s>=0 ) return s; + break; + case 4 : + int LA108_7 = input.LA(1); + + + int index108_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred182_InternalExport()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index108_7); + if ( s>=0 ) return s; + break; + case 5 : + int LA108_1 = input.LA(1); + + + int index108_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred182_InternalExport()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index108_1); + if ( s>=0 ) return s; + break; + case 6 : + int LA108_5 = input.LA(1); + + + int index108_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred182_InternalExport()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index108_5); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 108, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_50s = "\1\1\12\uffff"; + static final String dfa_51s = "\1\4\1\uffff\10\0\1\uffff"; + static final String dfa_52s = "\1\165\1\uffff\10\0\1\uffff"; + static final String dfa_53s = "\1\uffff\1\2\10\uffff\1\1"; + static final String dfa_54s = "\2\uffff\1\2\1\5\1\0\1\6\1\4\1\3\1\1\1\7\1\uffff}>"; + static final String[] dfa_55s = { + "\5\1\6\uffff\5\1\1\uffff\1\3\1\2\5\1\10\uffff\2\1\3\uffff\7\1\1\4\1\5\1\6\1\7\1\10\1\11\13\1\1\uffff\1\1\1\uffff\7\1\2\uffff\2\1\4\uffff\1\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\2\uffff\15\1\10\uffff\2\1", + "", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "" + }; + static final short[] dfa_50 = DFA.unpackEncodedString(dfa_50s); + static final char[] dfa_51 = DFA.unpackEncodedStringToUnsignedChars(dfa_51s); + static final char[] dfa_52 = DFA.unpackEncodedStringToUnsignedChars(dfa_52s); + static final short[] dfa_53 = DFA.unpackEncodedString(dfa_53s); + static final short[] dfa_54 = DFA.unpackEncodedString(dfa_54s); + static final short[][] dfa_55 = unpackEncodedStringArray(dfa_55s); + + class DFA114 extends DFA { + + public DFA114(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 114; + this.eot = dfa_7; + this.eof = dfa_50; + this.min = dfa_51; + this.max = dfa_52; + this.accept = dfa_53; + this.special = dfa_54; + this.transition = dfa_55; + } + public String getDescription() { + return "()* loopback of 12861:2: ( rule__XOtherOperatorExpression__Group_1__0 )*"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA114_4 = input.LA(1); + + + int index114_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred188_InternalExport()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index114_4); + if ( s>=0 ) return s; + break; + case 1 : + int LA114_8 = input.LA(1); + + + int index114_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred188_InternalExport()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index114_8); + if ( s>=0 ) return s; + break; + case 2 : + int LA114_2 = input.LA(1); + + + int index114_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred188_InternalExport()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index114_2); + if ( s>=0 ) return s; + break; + case 3 : + int LA114_7 = input.LA(1); + + + int index114_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred188_InternalExport()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index114_7); + if ( s>=0 ) return s; + break; + case 4 : + int LA114_6 = input.LA(1); + + + int index114_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred188_InternalExport()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index114_6); + if ( s>=0 ) return s; + break; + case 5 : + int LA114_3 = input.LA(1); + + + int index114_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred188_InternalExport()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index114_3); + if ( s>=0 ) return s; + break; + case 6 : + int LA114_5 = input.LA(1); + + + int index114_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred188_InternalExport()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index114_5); + if ( s>=0 ) return s; + break; + case 7 : + int LA114_9 = input.LA(1); + + + int index114_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred188_InternalExport()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index114_9); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 114, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_56s = "\116\uffff"; + static final String dfa_57s = "\1\2\115\uffff"; + static final String dfa_58s = "\1\4\1\0\114\uffff"; + static final String dfa_59s = "\1\165\1\0\114\uffff"; + static final String dfa_60s = "\2\uffff\1\2\112\uffff\1\1"; + static final String dfa_61s = "\1\uffff\1\0\114\uffff}>"; + static final String[] dfa_62s = { + "\5\2\6\uffff\5\2\1\uffff\7\2\10\uffff\2\2\3\uffff\30\2\1\uffff\1\2\1\uffff\7\2\2\uffff\1\1\1\2\4\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\4\2\2\uffff\15\2\10\uffff\2\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_56 = DFA.unpackEncodedString(dfa_56s); + static final short[] dfa_57 = DFA.unpackEncodedString(dfa_57s); + static final char[] dfa_58 = DFA.unpackEncodedStringToUnsignedChars(dfa_58s); + static final char[] dfa_59 = DFA.unpackEncodedStringToUnsignedChars(dfa_59s); + static final short[] dfa_60 = DFA.unpackEncodedString(dfa_60s); + static final short[] dfa_61 = DFA.unpackEncodedString(dfa_61s); + static final short[][] dfa_62 = unpackEncodedStringArray(dfa_62s); + + class DFA121 extends DFA { + + public DFA121(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 121; + this.eot = dfa_56; + this.eof = dfa_57; + this.min = dfa_58; + this.max = dfa_59; + this.accept = dfa_60; + this.special = dfa_61; + this.transition = dfa_62; + } + public String getDescription() { + return "14455:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA121_1 = input.LA(1); + + + int index121_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred195_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index121_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 121, _s, input); + error(nvae); + throw nvae; + } + } + static final String[] dfa_63s = { + "\5\2\6\uffff\5\2\1\uffff\7\2\10\uffff\2\2\3\uffff\30\2\1\uffff\1\2\1\uffff\4\2\1\1\2\2\2\uffff\2\2\4\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\4\2\2\uffff\15\2\10\uffff\2\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[][] dfa_63 = unpackEncodedStringArray(dfa_63s); + + class DFA122 extends DFA { + + public DFA122(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 122; + this.eot = dfa_56; + this.eof = dfa_57; + this.min = dfa_58; + this.max = dfa_59; + this.accept = dfa_60; + this.special = dfa_61; + this.transition = dfa_63; + } + public String getDescription() { + return "14481:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA122_1 = input.LA(1); + + + int index122_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred196_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index122_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 122, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_64s = "\46\uffff"; + static final String dfa_65s = "\1\4\2\0\43\uffff"; + static final String dfa_66s = "\1\165\2\0\43\uffff"; + static final String dfa_67s = "\3\uffff\1\1\1\uffff\1\2\40\uffff"; + static final String dfa_68s = "\1\uffff\1\0\1\1\43\uffff}>"; + static final String[] dfa_69s = { + "\1\1\4\5\15\uffff\3\5\2\uffff\1\5\10\uffff\2\5\15\uffff\1\3\7\uffff\6\5\1\uffff\1\5\1\uffff\1\5\3\uffff\2\5\3\uffff\1\2\11\uffff\1\5\2\uffff\1\5\2\uffff\1\3\1\uffff\1\5\1\uffff\10\5\1\uffff\1\5\12\uffff\1\5", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_64 = DFA.unpackEncodedString(dfa_64s); + static final char[] dfa_65 = DFA.unpackEncodedStringToUnsignedChars(dfa_65s); + static final char[] dfa_66 = DFA.unpackEncodedStringToUnsignedChars(dfa_66s); + static final short[] dfa_67 = DFA.unpackEncodedString(dfa_67s); + static final short[] dfa_68 = DFA.unpackEncodedString(dfa_68s); + static final short[][] dfa_69 = unpackEncodedStringArray(dfa_69s); + + class DFA130 extends DFA { + + public DFA130(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 130; + this.eot = dfa_64; + this.eof = dfa_64; + this.min = dfa_65; + this.max = dfa_66; + this.accept = dfa_67; + this.special = dfa_68; + this.transition = dfa_69; + } + public String getDescription() { + return "15454:2: ( rule__XClosure__Group_1__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA130_1 = input.LA(1); + + + int index130_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred204_InternalExport()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index130_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA130_2 = input.LA(1); + + + int index130_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred204_InternalExport()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index130_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 130, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_70s = "\42\uffff"; + static final String dfa_71s = "\1\4\2\0\37\uffff"; + static final String dfa_72s = "\1\152\2\0\37\uffff"; + static final String dfa_73s = "\3\uffff\1\1\1\2\35\uffff"; + static final String dfa_74s = "\1\uffff\1\0\1\1\37\uffff}>"; + static final String[] dfa_75s = { + "\1\1\4\4\15\uffff\3\4\2\uffff\1\4\10\uffff\2\4\15\uffff\1\3\10\uffff\5\4\1\uffff\1\4\1\uffff\1\4\3\uffff\1\4\4\uffff\1\2\11\uffff\1\4\2\uffff\1\4\4\uffff\1\4\1\uffff\10\4\1\uffff\1\4", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_70 = DFA.unpackEncodedString(dfa_70s); + static final char[] dfa_71 = DFA.unpackEncodedStringToUnsignedChars(dfa_71s); + static final char[] dfa_72 = DFA.unpackEncodedStringToUnsignedChars(dfa_72s); + static final short[] dfa_73 = DFA.unpackEncodedString(dfa_73s); + static final short[] dfa_74 = DFA.unpackEncodedString(dfa_74s); + static final short[][] dfa_75 = unpackEncodedStringArray(dfa_75s); + + class DFA140 extends DFA { + + public DFA140(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 140; + this.eot = dfa_70; + this.eof = dfa_70; + this.min = dfa_71; + this.max = dfa_72; + this.accept = dfa_73; + this.special = dfa_74; + this.transition = dfa_75; + } + public String getDescription() { + return "16885:2: ( rule__XSwitchExpression__Group_2_1_0__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA140_1 = input.LA(1); + + + int index140_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalExport()) ) {s = 3;} + + else if ( (true) ) {s = 4;} + + + input.seek(index140_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA140_2 = input.LA(1); + + + int index140_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalExport()) ) {s = 3;} + + else if ( (true) ) {s = 4;} + + + input.seek(index140_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 140, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA153 extends DFA { + + public DFA153(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 153; + this.eot = dfa_56; + this.eof = dfa_57; + this.min = dfa_58; + this.max = dfa_59; + this.accept = dfa_60; + this.special = dfa_61; + this.transition = dfa_62; + } + public String getDescription() { + return "19018:2: ( rule__XFeatureCall__Group_3__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA153_1 = input.LA(1); + + + int index153_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred227_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index153_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 153, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA154 extends DFA { + + public DFA154(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 154; + this.eot = dfa_56; + this.eof = dfa_57; + this.min = dfa_58; + this.max = dfa_59; + this.accept = dfa_60; + this.special = dfa_61; + this.transition = dfa_63; + } + public String getDescription() { + return "19044:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA154_1 = input.LA(1); + + + int index154_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred228_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index154_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 154, _s, input); + error(nvae); + throw nvae; + } + } + static final String[] dfa_76s = { + "\5\2\6\uffff\5\2\1\uffff\1\2\1\1\5\2\10\uffff\2\2\3\uffff\30\2\1\uffff\1\2\1\uffff\7\2\2\uffff\2\2\4\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\4\2\2\uffff\15\2\10\uffff\2\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[][] dfa_76 = unpackEncodedStringArray(dfa_76s); + + class DFA158 extends DFA { + + public DFA158(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 158; + this.eot = dfa_56; + this.eof = dfa_57; + this.min = dfa_58; + this.max = dfa_59; + this.accept = dfa_60; + this.special = dfa_61; + this.transition = dfa_76; + } + public String getDescription() { + return "19504:2: ( rule__XConstructorCall__Group_3__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA158_1 = input.LA(1); + + + int index158_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred232_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index158_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 158, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA159 extends DFA { + + public DFA159(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 159; + this.eot = dfa_56; + this.eof = dfa_57; + this.min = dfa_58; + this.max = dfa_59; + this.accept = dfa_60; + this.special = dfa_61; + this.transition = dfa_62; + } + public String getDescription() { + return "19531:2: ( rule__XConstructorCall__Group_4__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA159_1 = input.LA(1); + + + int index159_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred233_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index159_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 159, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA160 extends DFA { + + public DFA160(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 160; + this.eot = dfa_56; + this.eof = dfa_57; + this.min = dfa_58; + this.max = dfa_59; + this.accept = dfa_60; + this.special = dfa_61; + this.transition = dfa_63; + } + public String getDescription() { + return "19557:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA160_1 = input.LA(1); + + + int index160_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred234_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index160_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 160, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_77s = "\1\41\115\uffff"; + static final String dfa_78s = "\1\4\40\0\55\uffff"; + static final String dfa_79s = "\1\165\40\0\55\uffff"; + static final String dfa_80s = "\41\uffff\1\2\53\uffff\1\1"; + static final String dfa_81s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\55\uffff}>"; + static final String[] dfa_82s = { + "\1\1\1\23\1\24\1\25\1\27\6\uffff\5\41\1\uffff\1\41\1\15\1\10\1\7\2\41\1\6\10\uffff\1\22\1\21\3\uffff\23\41\1\2\1\3\1\4\1\5\1\16\1\uffff\1\32\1\uffff\1\12\3\41\1\20\2\41\2\uffff\1\40\1\41\4\uffff\1\41\1\uffff\1\41\1\uffff\1\31\1\uffff\1\41\1\13\2\41\2\uffff\1\11\1\41\1\17\1\33\1\34\1\26\1\30\1\35\1\36\1\37\1\41\1\14\1\41\10\uffff\2\41", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[] dfa_77 = DFA.unpackEncodedString(dfa_77s); + static final char[] dfa_78 = DFA.unpackEncodedStringToUnsignedChars(dfa_78s); + static final char[] dfa_79 = DFA.unpackEncodedStringToUnsignedChars(dfa_79s); + static final short[] dfa_80 = DFA.unpackEncodedString(dfa_80s); + static final short[] dfa_81 = DFA.unpackEncodedString(dfa_81s); + static final short[][] dfa_82 = unpackEncodedStringArray(dfa_82s); + + class DFA165 extends DFA { + + public DFA165(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 165; + this.eot = dfa_56; + this.eof = dfa_77; + this.min = dfa_78; + this.max = dfa_79; + this.accept = dfa_80; + this.special = dfa_81; + this.transition = dfa_82; + } + public String getDescription() { + return "20448:2: ( rule__XReturnExpression__ExpressionAssignment_2 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA165_1 = input.LA(1); + + + int index165_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index165_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA165_2 = input.LA(1); + + + int index165_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index165_2); + if ( s>=0 ) return s; + break; + case 2 : + int LA165_3 = input.LA(1); + + + int index165_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index165_3); + if ( s>=0 ) return s; + break; + case 3 : + int LA165_4 = input.LA(1); + + + int index165_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index165_4); + if ( s>=0 ) return s; + break; + case 4 : + int LA165_5 = input.LA(1); + + + int index165_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index165_5); + if ( s>=0 ) return s; + break; + case 5 : + int LA165_6 = input.LA(1); - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); - } + + int index165_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - } + else if ( (true) ) {s = 33;} + + input.seek(index165_6); + if ( s>=0 ) return s; + break; + case 6 : + int LA165_7 = input.LA(1); - } + + int index165_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + else if ( (true) ) {s = 33;} - restoreStackSize(stackSize); + + input.seek(index165_7); + if ( s>=0 ) return s; + break; + case 7 : + int LA165_8 = input.LA(1); - } - return ; - } - // $ANTLR end "rule__CollectionExpression__NameAssignment_0" + + int index165_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} + else if ( (true) ) {s = 33;} - // $ANTLR start "rule__CollectionExpression__VarAssignment_2_0" - // InternalExport.g:9936:1: rule__CollectionExpression__VarAssignment_2_0 : ( ruleIdentifier ) ; - public final void rule__CollectionExpression__VarAssignment_2_0() throws RecognitionException { + + input.seek(index165_8); + if ( s>=0 ) return s; + break; + case 8 : + int LA165_9 = input.LA(1); - int stackSize = keepStackSize(); - - try { - // InternalExport.g:9940:1: ( ( ruleIdentifier ) ) - // InternalExport.g:9941:2: ( ruleIdentifier ) - { - // InternalExport.g:9941:2: ( ruleIdentifier ) - // InternalExport.g:9942:3: ruleIdentifier - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); - } - pushFollow(FOLLOW_2); - ruleIdentifier(); + + int index165_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); - } + else if ( (true) ) {s = 33;} - } + + input.seek(index165_9); + if ( s>=0 ) return s; + break; + case 9 : + int LA165_10 = input.LA(1); + + int index165_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - } + else if ( (true) ) {s = 33;} - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + + input.seek(index165_10); + if ( s>=0 ) return s; + break; + case 10 : + int LA165_11 = input.LA(1); - restoreStackSize(stackSize); + + int index165_11 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - } - return ; - } - // $ANTLR end "rule__CollectionExpression__VarAssignment_2_0" + else if ( (true) ) {s = 33;} + + input.seek(index165_11); + if ( s>=0 ) return s; + break; + case 11 : + int LA165_12 = input.LA(1); - // $ANTLR start "rule__CollectionExpression__ExpAssignment_3" - // InternalExport.g:9951:1: rule__CollectionExpression__ExpAssignment_3 : ( ruleExpression ) ; - public final void rule__CollectionExpression__ExpAssignment_3() throws RecognitionException { + + int index165_12 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - int stackSize = keepStackSize(); - - try { - // InternalExport.g:9955:1: ( ( ruleExpression ) ) - // InternalExport.g:9956:2: ( ruleExpression ) - { - // InternalExport.g:9956:2: ( ruleExpression ) - // InternalExport.g:9957:3: ruleExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); + else if ( (true) ) {s = 33;} - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); - } + + input.seek(index165_12); + if ( s>=0 ) return s; + break; + case 12 : + int LA165_13 = input.LA(1); - } + + int index165_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} + else if ( (true) ) {s = 33;} - } + + input.seek(index165_13); + if ( s>=0 ) return s; + break; + case 13 : + int LA165_14 = input.LA(1); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + + int index165_14 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - restoreStackSize(stackSize); + else if ( (true) ) {s = 33;} - } - return ; - } - // $ANTLR end "rule__CollectionExpression__ExpAssignment_3" + + input.seek(index165_14); + if ( s>=0 ) return s; + break; + case 14 : + int LA165_15 = input.LA(1); + + int index165_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - // $ANTLR start "rule__CollectionType__ClAssignment_0" - // InternalExport.g:9966:1: rule__CollectionType__ClAssignment_0 : ( ( rule__CollectionType__ClAlternatives_0_0 ) ) ; - public final void rule__CollectionType__ClAssignment_0() throws RecognitionException { + else if ( (true) ) {s = 33;} - int stackSize = keepStackSize(); - - try { - // InternalExport.g:9970:1: ( ( ( rule__CollectionType__ClAlternatives_0_0 ) ) ) - // InternalExport.g:9971:2: ( ( rule__CollectionType__ClAlternatives_0_0 ) ) - { - // InternalExport.g:9971:2: ( ( rule__CollectionType__ClAlternatives_0_0 ) ) - // InternalExport.g:9972:3: ( rule__CollectionType__ClAlternatives_0_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); - } - // InternalExport.g:9973:3: ( rule__CollectionType__ClAlternatives_0_0 ) - // InternalExport.g:9973:4: rule__CollectionType__ClAlternatives_0_0 - { - pushFollow(FOLLOW_2); - rule__CollectionType__ClAlternatives_0_0(); + + input.seek(index165_15); + if ( s>=0 ) return s; + break; + case 15 : + int LA165_16 = input.LA(1); - state._fsp--; - if (state.failed) return ; + + int index165_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - } + else if ( (true) ) {s = 33;} - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); - } + + input.seek(index165_16); + if ( s>=0 ) return s; + break; + case 16 : + int LA165_17 = input.LA(1); - } + + int index165_17 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} + else if ( (true) ) {s = 33;} - } + + input.seek(index165_17); + if ( s>=0 ) return s; + break; + case 17 : + int LA165_18 = input.LA(1); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + + int index165_18 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - restoreStackSize(stackSize); + else if ( (true) ) {s = 33;} - } - return ; - } - // $ANTLR end "rule__CollectionType__ClAssignment_0" + + input.seek(index165_18); + if ( s>=0 ) return s; + break; + case 18 : + int LA165_19 = input.LA(1); + + int index165_19 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - // $ANTLR start "rule__CollectionType__Id1Assignment_2" - // InternalExport.g:9981:1: rule__CollectionType__Id1Assignment_2 : ( ruleSimpleType ) ; - public final void rule__CollectionType__Id1Assignment_2() throws RecognitionException { + else if ( (true) ) {s = 33;} - int stackSize = keepStackSize(); - - try { - // InternalExport.g:9985:1: ( ( ruleSimpleType ) ) - // InternalExport.g:9986:2: ( ruleSimpleType ) - { - // InternalExport.g:9986:2: ( ruleSimpleType ) - // InternalExport.g:9987:3: ruleSimpleType - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); - } - pushFollow(FOLLOW_2); - ruleSimpleType(); + + input.seek(index165_19); + if ( s>=0 ) return s; + break; + case 19 : + int LA165_20 = input.LA(1); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); - } + + int index165_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - } + else if ( (true) ) {s = 33;} + + input.seek(index165_20); + if ( s>=0 ) return s; + break; + case 20 : + int LA165_21 = input.LA(1); - } + + int index165_21 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + else if ( (true) ) {s = 33;} - restoreStackSize(stackSize); + + input.seek(index165_21); + if ( s>=0 ) return s; + break; + case 21 : + int LA165_22 = input.LA(1); - } - return ; - } - // $ANTLR end "rule__CollectionType__Id1Assignment_2" + + int index165_22 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} + else if ( (true) ) {s = 33;} - // $ANTLR start "rule__SimpleType__IdAssignment_0" - // InternalExport.g:9996:1: rule__SimpleType__IdAssignment_0 : ( ruleIdentifier ) ; - public final void rule__SimpleType__IdAssignment_0() throws RecognitionException { + + input.seek(index165_22); + if ( s>=0 ) return s; + break; + case 22 : + int LA165_23 = input.LA(1); - int stackSize = keepStackSize(); - - try { - // InternalExport.g:10000:1: ( ( ruleIdentifier ) ) - // InternalExport.g:10001:2: ( ruleIdentifier ) - { - // InternalExport.g:10001:2: ( ruleIdentifier ) - // InternalExport.g:10002:3: ruleIdentifier - { - if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); - } - pushFollow(FOLLOW_2); - ruleIdentifier(); + + int index165_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); - } + else if ( (true) ) {s = 33;} - } + + input.seek(index165_23); + if ( s>=0 ) return s; + break; + case 23 : + int LA165_24 = input.LA(1); + + int index165_24 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - } + else if ( (true) ) {s = 33;} - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + + input.seek(index165_24); + if ( s>=0 ) return s; + break; + case 24 : + int LA165_25 = input.LA(1); - restoreStackSize(stackSize); + + int index165_25 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - } - return ; - } - // $ANTLR end "rule__SimpleType__IdAssignment_0" + else if ( (true) ) {s = 33;} + + input.seek(index165_25); + if ( s>=0 ) return s; + break; + case 25 : + int LA165_26 = input.LA(1); - // $ANTLR start "rule__SimpleType__IdAssignment_1_1" - // InternalExport.g:10011:1: rule__SimpleType__IdAssignment_1_1 : ( ruleIdentifier ) ; - public final void rule__SimpleType__IdAssignment_1_1() throws RecognitionException { + + int index165_26 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - int stackSize = keepStackSize(); - - try { - // InternalExport.g:10015:1: ( ( ruleIdentifier ) ) - // InternalExport.g:10016:2: ( ruleIdentifier ) - { - // InternalExport.g:10016:2: ( ruleIdentifier ) - // InternalExport.g:10017:3: ruleIdentifier - { - if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); - } - pushFollow(FOLLOW_2); - ruleIdentifier(); + else if ( (true) ) {s = 33;} - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); - } + + input.seek(index165_26); + if ( s>=0 ) return s; + break; + case 26 : + int LA165_27 = input.LA(1); - } + + int index165_27 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} + else if ( (true) ) {s = 33;} - } + + input.seek(index165_27); + if ( s>=0 ) return s; + break; + case 27 : + int LA165_28 = input.LA(1); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + + int index165_28 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - restoreStackSize(stackSize); + else if ( (true) ) {s = 33;} - } - return ; - } - // $ANTLR end "rule__SimpleType__IdAssignment_1_1" + + input.seek(index165_28); + if ( s>=0 ) return s; + break; + case 28 : + int LA165_29 = input.LA(1); - // $ANTLR start synpred6_InternalExport - public final void synpred6_InternalExport_fragment() throws RecognitionException { - // InternalExport.g:1358:2: ( ( ( ruleCastedExpression ) ) ) - // InternalExport.g:1358:2: ( ( ruleCastedExpression ) ) - { - // InternalExport.g:1358:2: ( ( ruleCastedExpression ) ) - // InternalExport.g:1359:3: ( ruleCastedExpression ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); - } - // InternalExport.g:1360:3: ( ruleCastedExpression ) - // InternalExport.g:1360:4: ruleCastedExpression - { - pushFollow(FOLLOW_2); - ruleCastedExpression(); + + int index165_29 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - state._fsp--; - if (state.failed) return ; + else if ( (true) ) {s = 33;} - } + + input.seek(index165_29); + if ( s>=0 ) return s; + break; + case 29 : + int LA165_30 = input.LA(1); + + int index165_30 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - } + else if ( (true) ) {s = 33;} + + input.seek(index165_30); + if ( s>=0 ) return s; + break; + case 30 : + int LA165_31 = input.LA(1); - } - } - // $ANTLR end synpred6_InternalExport + + int index165_31 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - // $ANTLR start synpred80_InternalExport - public final void synpred80_InternalExport_fragment() throws RecognitionException { - // InternalExport.g:5142:3: ( rule__IfExpressionKw__Group_4__0 ) - // InternalExport.g:5142:3: rule__IfExpressionKw__Group_4__0 - { - pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4__0(); + else if ( (true) ) {s = 33;} - state._fsp--; - if (state.failed) return ; + + input.seek(index165_31); + if ( s>=0 ) return s; + break; + case 31 : + int LA165_32 = input.LA(1); - } - } - // $ANTLR end synpred80_InternalExport + + int index165_32 = input.index(); + input.rewind(); + s = -1; + if ( (synpred239_InternalExport()) ) {s = 77;} - // Delegated rules + else if ( (true) ) {s = 33;} - public final boolean synpred80_InternalExport() { - state.backtracking++; - int start = input.mark(); - try { - synpred80_InternalExport_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); - } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; - } - public final boolean synpred6_InternalExport() { - state.backtracking++; - int start = input.mark(); - try { - synpred6_InternalExport_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); + + input.seek(index165_32); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 165, _s, input); + error(nvae); + throw nvae; } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; } - - - protected DFA4 dfa4 = new DFA4(this); - static final String dfa_1s = "\36\uffff"; - static final String dfa_2s = "\1\4\1\uffff\1\0\33\uffff"; - static final String dfa_3s = "\1\121\1\uffff\1\0\33\uffff"; - static final String dfa_4s = "\1\uffff\1\1\1\uffff\1\3\31\uffff\1\2"; - static final String dfa_5s = "\2\uffff\1\0\33\uffff}>"; - static final String[] dfa_6s = { - "\4\3\13\uffff\1\3\2\uffff\16\3\3\uffff\1\3\13\uffff\1\2\6\uffff\1\1\3\uffff\1\3\2\uffff\1\3\4\uffff\2\3\10\uffff\2\3", - "", + static final String dfa_83s = "\117\uffff"; + static final String dfa_84s = "\1\2\116\uffff"; + static final String dfa_85s = "\1\4\1\0\115\uffff"; + static final String dfa_86s = "\1\165\1\0\115\uffff"; + static final String dfa_87s = "\2\uffff\1\2\113\uffff\1\1"; + static final String dfa_88s = "\1\uffff\1\0\115\uffff}>"; + static final String[] dfa_89s = { + "\5\2\6\uffff\5\2\1\uffff\1\2\1\1\5\2\10\uffff\2\2\3\uffff\30\2\1\uffff\1\2\1\uffff\7\2\2\uffff\2\2\4\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\4\2\2\uffff\16\2\7\uffff\2\2", "\1\uffff", "", "", @@ -32609,55 +91018,150 @@ public final boolean synpred6_InternalExport() { "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" }; - static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); - static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s); - static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); - static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s); - static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); - static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); + static final short[] dfa_83 = DFA.unpackEncodedString(dfa_83s); + static final short[] dfa_84 = DFA.unpackEncodedString(dfa_84s); + static final char[] dfa_85 = DFA.unpackEncodedStringToUnsignedChars(dfa_85s); + static final char[] dfa_86 = DFA.unpackEncodedStringToUnsignedChars(dfa_86s); + static final short[] dfa_87 = DFA.unpackEncodedString(dfa_87s); + static final short[] dfa_88 = DFA.unpackEncodedString(dfa_88s); + static final short[][] dfa_89 = unpackEncodedStringArray(dfa_89s); - class DFA4 extends DFA { + class DFA174 extends DFA { - public DFA4(BaseRecognizer recognizer) { + public DFA174(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 4; - this.eot = dfa_1; - this.eof = dfa_1; - this.min = dfa_2; - this.max = dfa_3; - this.accept = dfa_4; - this.special = dfa_5; - this.transition = dfa_6; + this.decisionNumber = 174; + this.eot = dfa_83; + this.eof = dfa_84; + this.min = dfa_85; + this.max = dfa_86; + this.accept = dfa_87; + this.special = dfa_88; + this.transition = dfa_89; } public String getDescription() { - return "1347:1: rule__Expression__Alternatives : ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) );"; + return "21805:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA4_2 = input.LA(1); + int LA174_1 = input.LA(1); - int index4_2 = input.index(); + int index174_1 = input.index(); input.rewind(); s = -1; - if ( (synpred6_InternalExport()) ) {s = 29;} + if ( (synpred248_InternalExport()) ) {s = 78;} - else if ( (true) ) {s = 3;} + else if ( (true) ) {s = 2;} + + + input.seek(index174_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 174, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA177 extends DFA { + + public DFA177(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 177; + this.eot = dfa_83; + this.eof = dfa_84; + this.min = dfa_85; + this.max = dfa_86; + this.accept = dfa_87; + this.special = dfa_88; + this.transition = dfa_89; + } + public String getDescription() { + return "22075:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA177_1 = input.LA(1); + + + int index177_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred251_InternalExport()) ) {s = 78;} + + else if ( (true) ) {s = 2;} - input.seek(index4_2); + input.seek(index177_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 4, _s, input); + new NoViableAltException(getDescription(), 177, _s, input); error(nvae); throw nvae; } @@ -32666,71 +91170,141 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000020000000000L}); - public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000085000000000L}); - public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000020000000002L}); - public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000080000000002L}); - public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000085000000002L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000080000000010L}); - public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000002000000000L}); - public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000008000000000L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000012L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000040000000000L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000B00000000000L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000800000000002L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x4408008FFFC800F0L,0x00000000000300C2L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000400000000000L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0006000000040010L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0001000000000000L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0001000000000002L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000040010L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x000A000000040000L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0010000000000000L}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000100L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000248000000000L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x01A0010000000000L,0x0000000000001800L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0180000000000002L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000200000000000L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x4408008FFFC800F0L,0x00000000000302C2L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000800000000000L}); - public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0040000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0008000000000000L}); - public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000100000000000L}); - public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0001100000000000L}); - public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0200000000000000L}); - public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0200000000000002L}); - public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0800000000000000L}); - public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000E00000010L}); - public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x1000000000000000L}); - public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x1000000000000002L}); - public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x2000000000000000L}); - public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x8000000000000000L}); - public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); - public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0008008000000000L}); - public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000000L,0x000000000000000CL}); - public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000008L}); - public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0008008FFFC800F0L,0x00000000000300C0L}); - public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000000000000002L,0x0000000000002000L}); - public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L}); - public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000002L,0x0000000000004000L}); - public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L}); - public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L}); - public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x000000000003F000L}); - public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x000000000003F002L}); - public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x00000000000C0000L}); - public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x00000000000C0002L}); - public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000300000L}); - public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000000300002L}); - public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); - public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L}); - public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x4418008FFFC800F0L,0x00000000000300C2L}); - public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); - public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x000000007F800000L}); - public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); - public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x4408018FFFC800F0L,0x00000000000300C2L}); + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000000012L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x4000000000000000L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x8000000000000000L,0x000000000000000AL}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x4000000000000002L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x8000000000000002L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x8000000000000002L,0x000000000000000AL}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x8000000000000010L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000004000L,0x0000000000000180L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000004002L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x000001FFF9000350L,0x00080010C4902010L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000800010L,0x0000000000001800L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000800010L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000800000L,0x0000000000002800L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000000010L,0x0000200000000000L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000150L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000000000L,0x0003000000068020L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000000002L,0x0000000000060000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x000001FFF9000350L,0x00084010C4902010L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000004000L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000000000L,0x0000800000010000L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000480L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x000001C000000010L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0001000000000000L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0001000000000002L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002010L}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000000L,0x0000000018000000L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000000000000002L,0x0000000010000000L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x000001FFF9000350L,0x00080010C0002010L}); + public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000000008000L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000000000008002L}); + public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000010002L}); + public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000000000L,0x0004000000000000L}); + public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000002L,0x0004000000000000L}); + public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x00000000007E0000L}); + public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x00000000007E0002L}); + public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000001800000L}); + public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000001800002L}); + public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000006000000L}); + public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000006000002L}); + public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0400000000000000L}); + public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0400000000000002L}); + public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x000001FFF9000350L,0x00080010C4906010L}); + public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L}); + public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000000FF0000000L}); + public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L}); + public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x000001FFF9000350L,0x00080010C4902030L}); + public static final BitSet FOLLOW_69 = new BitSet(new long[]{0xF000000000000010L}); + public static final BitSet FOLLOW_70 = new BitSet(new long[]{0xF000003009C001F0L,0x000005FE84802115L}); + public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x00003E0000600000L}); + public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000000400000L}); + public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0000000000280000L}); + public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0000C00000060000L}); + public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0000C00000060002L}); + public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x0000000000680000L,0x0000000100000000L}); + public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000000000680002L,0x0000000100000000L}); + public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0008000000000010L,0x0000000000002000L}); + public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L}); + public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x003F000000600000L}); + public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x003F000000600002L}); + public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0004000000000000L}); + public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000000000200000L}); + public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0008000000400000L}); + public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x00C0000006000000L}); + public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x00C0000006000002L}); + public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000009800000L}); + public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000040L}); + public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0300000000000000L}); + public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0400000000000000L,0x0010000000080000L}); + public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0400000000000002L,0x0010000000080000L}); + public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0400000000000000L,0x0000000000080000L}); + public static final BitSet FOLLOW_93 = new BitSet(new long[]{0xF000000000400010L,0x0000000000000001L}); + public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002100L}); + public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x0008000000000010L,0x0000000000402000L}); + public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000000000200000L,0x0000000000000400L}); + public static final BitSet FOLLOW_97 = new BitSet(new long[]{0xF008003009C001F0L,0x000005FEA4806115L}); + public static final BitSet FOLLOW_98 = new BitSet(new long[]{0xF008003009C001F0L,0x000005FEA4802115L}); + public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L}); + public static final BitSet FOLLOW_100 = new BitSet(new long[]{0xF008003009C001F0L,0x000005FEA4802135L}); + public static final BitSet FOLLOW_101 = new BitSet(new long[]{0xF008003009C001F0L,0x000005FEA4802315L}); + public static final BitSet FOLLOW_102 = new BitSet(new long[]{0xF808003009C001F0L,0x002005FEA4802115L}); + public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x0008000000000010L,0x0000000020002000L}); + public static final BitSet FOLLOW_104 = new BitSet(new long[]{0xF808003009C001F2L,0x002005FEA4802115L}); + public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L}); + public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L}); + public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0008000000000010L,0x0000000018202420L}); + public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0008000000000012L,0x0000000010202400L}); + public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x0008000000000010L,0x0000000010202400L}); + public static final BitSet FOLLOW_110 = new BitSet(new long[]{0xF808003009C001F0L,0x002005FEA4802195L}); + public static final BitSet FOLLOW_111 = new BitSet(new long[]{0xF008003009C001F0L,0x000005FEA4802195L}); + public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L}); + public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L}); + public static final BitSet FOLLOW_114 = new BitSet(new long[]{0xF808003009C001F0L,0x002005FEA4802135L}); + public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x0800000000000000L,0x0020000000000000L}); + public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); + public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x0000000000400000L,0x0000000000002100L}); + public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x0000003000000000L}); + public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L}); + public static final BitSet FOLLOW_120 = new BitSet(new long[]{0x00000000000000E0L}); + public static final BitSet FOLLOW_121 = new BitSet(new long[]{0x00000030000001E0L,0x0000003200000100L}); + public static final BitSet FOLLOW_122 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004100L}); + public static final BitSet FOLLOW_123 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L}); + public static final BitSet FOLLOW_124 = new BitSet(new long[]{0x0000000000000000L,0x0000004000000000L}); + public static final BitSet FOLLOW_125 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L}); + public static final BitSet FOLLOW_126 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L}); + public static final BitSet FOLLOW_127 = new BitSet(new long[]{0x0000000000000000L,0x00000A0000000000L}); + public static final BitSet FOLLOW_128 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L}); + public static final BitSet FOLLOW_129 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L}); + public static final BitSet FOLLOW_130 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L}); + public static final BitSet FOLLOW_131 = new BitSet(new long[]{0x00000000000000C0L}); + public static final BitSet FOLLOW_132 = new BitSet(new long[]{0x0008000000000010L,0x0000000000006000L}); + public static final BitSet FOLLOW_133 = new BitSet(new long[]{0x1000000000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_134 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L}); + public static final BitSet FOLLOW_135 = new BitSet(new long[]{0x0000000000000002L,0x0000100000000000L}); + public static final BitSet FOLLOW_136 = new BitSet(new long[]{0x0000000002000000L}); + public static final BitSet FOLLOW_137 = new BitSet(new long[]{0x2000000000000010L}); + public static final BitSet FOLLOW_138 = new BitSet(new long[]{0x0000000002000010L}); } \ No newline at end of file diff --git a/com.avaloq.tools.ddk.xtext.export.ui/META-INF/MANIFEST.MF b/com.avaloq.tools.ddk.xtext.export.ui/META-INF/MANIFEST.MF index bf63d35ad2..e7a4d390ca 100644 --- a/com.avaloq.tools.ddk.xtext.export.ui/META-INF/MANIFEST.MF +++ b/com.avaloq.tools.ddk.xtext.export.ui/META-INF/MANIFEST.MF @@ -20,8 +20,12 @@ Require-Bundle: org.eclipse.xtext.ui, com.avaloq.tools.ddk.xtext.expression, com.avaloq.tools.ddk.xtext.ui, org.eclipse.compare, - org.eclipse.jdt.ui + org.eclipse.jdt.ui, + org.eclipse.xtext.xbase.ui, + org.eclipse.jdt.debug.ui, + org.eclipse.xtext.common.types.ui Import-Package: org.apache.log4j, org.apache.logging.log4j Export-Package: com.avaloq.tools.ddk.xtext.export.ui.contentassist, - com.avaloq.tools.ddk.xtext.export.ui.quickfix + com.avaloq.tools.ddk.xtext.export.ui.quickfix, + com.avaloq.tools.ddk.xtext.export.ui.editor Automatic-Module-Name: com.avaloq.tools.ddk.xtext.export.ui diff --git a/com.avaloq.tools.ddk.xtext.export.ui/plugin.xml_gen b/com.avaloq.tools.ddk.xtext.export.ui/plugin.xml_gen index 888426aa02..13ba0ed22d 100644 --- a/com.avaloq.tools.ddk.xtext.export.ui/plugin.xml_gen +++ b/com.avaloq.tools.ddk.xtext.export.ui/plugin.xml_gen @@ -9,6 +9,7 @@ default="true" extensions="export" id="com.avaloq.tools.ddk.xtext.export.Export" + matchingStrategy="com.avaloq.tools.ddk.xtext.export.ui.ExportExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.editor.JavaEditorInputMatcher" name="Export Editor"> @@ -310,6 +311,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + provideIAllContainersState() { return Access.getJavaProjectsState(); } + // contributed by org.eclipse.xtext.xtext.generator.ImplicitFragment + public Class bindXtextDocumentProvider() { + return XbaseDocumentProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ImplicitFragment + public Class bindOpenGeneratedFileHandler() { + return XbaseOpenGeneratedFileHandler.class; + } + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 public Class bindIProposalConflictHelper() { return AntlrProposalConflictHelper.class; @@ -111,11 +155,6 @@ public void configureContentAssistLexerProvider(Binder binder) { binder.bind(InternalExportLexer.class).toProvider(LexerProvider.create(InternalExportLexer.class)); } - // contributed by org.eclipse.xtext.xtext.generator.exporting.SimpleNamesFragment2 - public Class bindIDependentElementsCalculator() { - return DefaultDependentElementsCalculator.class; - } - // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 public void configureIResourceDescriptionsBuilderScope(Binder binder) { binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(CurrentDescriptions.ResourceSetAware.class); @@ -171,6 +210,84 @@ public Class bindIContentProposalProvider() return ExportProposalProvider.class; } + // contributed by org.eclipse.xtext.xtext.generator.types.TypesGeneratorFragment2 + public Class bindPrefixMatcher() { + return FQNPrefixMatcher.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindFindReferencesHandler() { + return JvmModelFindReferenceHandler.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindReferenceQueryExecutor() { + return JvmModelReferenceQueryExecutor.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIDependentElementsCalculator() { + return JvmModelDependentElementsCalculator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIRenameRefactoringProvider() { + return CombinedJvmJdtRenameRefactoringProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIReferenceUpdater() { + return XbaseReferenceUpdater.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIRenameContextFactory() { + return CombinedJvmJdtRenameContextFactory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIRenameStrategy() { + return DefaultJvmModelRenameStrategy.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindJdtRenameParticipant$ContextFactory() { + return JvmModelJdtRenameParticipantContext.ContextFactory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindOutlineNodeElementOpener() { + return JvmOutlineNodeElementOpener.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindGlobalURIEditorOpener() { + return GlobalDerivedMemberAwareURIEditorOpener.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIJavaSearchParticipation() { + return IJavaSearchParticipation.No.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public void configureLanguageSpecificURIEditorOpener(Binder binder) { + if (PlatformUI.isWorkbenchRunning()) { + binder.bind(IURIEditorOpener.class).annotatedWith(LanguageSpecific.class).to(DerivedMemberAwareEditorOpener.class); + binder.bind(IDerivedMemberAwareEditorOpener.class).to(DerivedMemberAwareEditorOpener.class); + } + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindJavaTypeQuickfixes() { + return JavaTypeQuickfixesNoImportSection.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindXtextEditor() { + return ExportEditor.class; + } + // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 public Class bindIXtextBuilderParticipant() { return BuilderParticipant.class; diff --git a/com.avaloq.tools.ddk.xtext.export.ui/src-gen/com/avaloq/tools/ddk/xtext/export/ui/editor/ExportEditor.java b/com.avaloq.tools.ddk.xtext.export.ui/src-gen/com/avaloq/tools/ddk/xtext/export/ui/editor/ExportEditor.java new file mode 100644 index 0000000000..7b049f074b --- /dev/null +++ b/com.avaloq.tools.ddk.xtext.export.ui/src-gen/com/avaloq/tools/ddk/xtext/export/ui/editor/ExportEditor.java @@ -0,0 +1,13 @@ +/* + * generated by Xtext + */ +package com.avaloq.tools.ddk.xtext.export.ui.editor; + +import org.eclipse.xtext.xbase.ui.editor.XbaseEditor; + +/** + * This class was generated. Customizations should only happen in a newly + * introduced subclass. + */ +public class ExportEditor extends XbaseEditor { +} diff --git a/com.avaloq.tools.ddk.xtext.export.ui/src-gen/com/avaloq/tools/ddk/xtext/export/ui/internal/ExportActivator.java b/com.avaloq.tools.ddk.xtext.export.ui/src-gen/com/avaloq/tools/ddk/xtext/export/ui/internal/ExportActivator.java index 42a9452b14..8fa387a526 100644 --- a/com.avaloq.tools.ddk.xtext.export.ui/src-gen/com/avaloq/tools/ddk/xtext/export/ui/internal/ExportActivator.java +++ b/com.avaloq.tools.ddk.xtext.export.ui/src-gen/com/avaloq/tools/ddk/xtext/export/ui/internal/ExportActivator.java @@ -5,10 +5,10 @@ import com.avaloq.tools.ddk.xtext.export.ExportRuntimeModule; import com.avaloq.tools.ddk.xtext.export.ui.ExportUiModule; -import com.google.common.collect.Maps; import com.google.inject.Guice; import com.google.inject.Injector; import java.util.Collections; +import java.util.HashMap; import java.util.Map; import org.apache.log4j.Logger; import org.eclipse.ui.plugin.AbstractUIPlugin; @@ -29,7 +29,7 @@ public class ExportActivator extends AbstractUIPlugin { private static ExportActivator INSTANCE; - private Map injectors = Collections.synchronizedMap(Maps. newHashMapWithExpectedSize(1)); + private Map injectors = Collections.synchronizedMap(new HashMap<>(2)); @Override public void start(BundleContext context) throws Exception { diff --git a/com.avaloq.tools.ddk.xtext.export/META-INF/MANIFEST.MF b/com.avaloq.tools.ddk.xtext.export/META-INF/MANIFEST.MF index ccebb87794..6efa3066e1 100644 --- a/com.avaloq.tools.ddk.xtext.export/META-INF/MANIFEST.MF +++ b/com.avaloq.tools.ddk.xtext.export/META-INF/MANIFEST.MF @@ -7,8 +7,6 @@ Bundle-Vendor: Avaloq Group AG Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-ActivationPolicy: lazy Require-Bundle: org.eclipse.xtext, - org.eclipse.xtend, - org.eclipse.xtend.typesystem.emf, org.eclipse.xtext.xtext.generator, org.apache.commons.logging;resolution:=optional, org.eclipse.emf.codegen.ecore;resolution:=optional, @@ -24,7 +22,10 @@ Require-Bundle: org.eclipse.xtext, org.eclipse.core.resources, org.eclipse.core.runtime, org.eclipse.xtext.ui.codetemplates;resolution:=optional, - org.eclipse.xtext.xbase.lib + org.eclipse.xtext.xbase, + org.eclipse.xtext.common.types, + org.eclipse.xtext.xbase.lib, + org.objectweb.asm Export-Package: com.avaloq.tools.ddk.xtext.export, com.avaloq.tools.ddk.xtext.export.export, com.avaloq.tools.ddk.xtext.export.export.impl, @@ -36,6 +37,7 @@ Export-Package: com.avaloq.tools.ddk.xtext.export, com.avaloq.tools.ddk.xtext.export.validation, com.avaloq.tools.ddk.xtext.export.formatting, com.avaloq.tools.ddk.xtext.export.serializer, - com.avaloq.tools.ddk.xtext.export.generator + com.avaloq.tools.ddk.xtext.export.generator, + com.avaloq.tools.ddk.xtext.export.jvmmodel Automatic-Module-Name: com.avaloq.tools.ddk.xtext.export - +Import-Package: org.apache.log4j diff --git a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/AbstractExportRuntimeModule.java b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/AbstractExportRuntimeModule.java index a3768f5850..4044d4fd51 100644 --- a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/AbstractExportRuntimeModule.java +++ b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/AbstractExportRuntimeModule.java @@ -3,22 +3,11 @@ */ package com.avaloq.tools.ddk.xtext.export; -import com.avaloq.tools.ddk.xtext.export.generator.ExportGenerator; -import com.avaloq.tools.ddk.xtext.export.parser.antlr.ExportAntlrTokenFileProvider; -import com.avaloq.tools.ddk.xtext.export.parser.antlr.ExportParser; -import com.avaloq.tools.ddk.xtext.export.parser.antlr.internal.InternalExportLexer; -import com.avaloq.tools.ddk.xtext.export.scoping.ExportScopeProvider; -import com.avaloq.tools.ddk.xtext.export.serializer.ExportSemanticSequencer; -import com.avaloq.tools.ddk.xtext.export.serializer.ExportSyntacticSequencer; -import com.avaloq.tools.ddk.xtext.export.services.ExportGrammarAccess; -import com.avaloq.tools.ddk.xtext.export.validation.ExportValidator; -import com.google.inject.Binder; -import com.google.inject.Provider; -import com.google.inject.name.Names; import java.util.Properties; + import org.eclipse.xtext.Constants; import org.eclipse.xtext.IGrammarAccess; -import org.eclipse.xtext.generator.IGenerator2; +import org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider; import org.eclipse.xtext.naming.IQualifiedNameProvider; import org.eclipse.xtext.naming.SimpleNameProvider; import org.eclipse.xtext.parser.IParser; @@ -31,6 +20,7 @@ import org.eclipse.xtext.parser.antlr.LexerBindings; import org.eclipse.xtext.parser.antlr.LexerProvider; import org.eclipse.xtext.resource.IContainer; +import org.eclipse.xtext.resource.ILocationInFileProvider; import org.eclipse.xtext.resource.IResourceDescriptions; import org.eclipse.xtext.resource.containers.IAllContainersState; import org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider; @@ -41,154 +31,219 @@ import org.eclipse.xtext.scoping.IScopeProvider; import org.eclipse.xtext.scoping.IgnoreCaseLinking; import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; -import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider; -import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider; import org.eclipse.xtext.serializer.ISerializer; import org.eclipse.xtext.serializer.impl.Serializer; import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer; import org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer; -import org.eclipse.xtext.service.DefaultRuntimeModule; import org.eclipse.xtext.service.SingletonBinding; +import org.eclipse.xtext.validation.IResourceValidator; +import org.eclipse.xtext.xbase.DefaultXbaseRuntimeModule; +import org.eclipse.xtext.xbase.annotations.validation.DerivedStateAwareResourceValidator; +import org.eclipse.xtext.xbase.imports.RewritableImportSection; +import org.eclipse.xtext.xbase.jvmmodel.IJvmModelInferrer; +import org.eclipse.xtext.xbase.jvmmodel.JvmLocationInFileProvider; +import org.eclipse.xtext.xbase.scoping.XImportSectionNamespaceScopeProvider; +import org.eclipse.xtext.xbase.scoping.batch.IBatchScopeProvider; +import org.eclipse.xtext.xbase.typesystem.internal.DefaultBatchTypeResolver; +import org.eclipse.xtext.xbase.typesystem.internal.DefaultReentrantTypeResolver; +import org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareBatchTypeResolver; +import org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver; +import org.eclipse.xtext.xbase.validation.FeatureNameValidator; +import org.eclipse.xtext.xbase.validation.LogicalContainerAwareFeatureNameValidator; + +import com.avaloq.tools.ddk.xtext.export.jvmmodel.ExportJvmModelInferrer; +import com.avaloq.tools.ddk.xtext.export.parser.antlr.ExportAntlrTokenFileProvider; +import com.avaloq.tools.ddk.xtext.export.parser.antlr.ExportParser; +import com.avaloq.tools.ddk.xtext.export.parser.antlr.internal.InternalExportLexer; +import com.avaloq.tools.ddk.xtext.export.scoping.ExportScopeProvider; +import com.avaloq.tools.ddk.xtext.export.serializer.ExportSemanticSequencer; +import com.avaloq.tools.ddk.xtext.export.serializer.ExportSyntacticSequencer; +import com.avaloq.tools.ddk.xtext.export.services.ExportGrammarAccess; +import com.avaloq.tools.ddk.xtext.export.validation.ExportValidator; +import com.google.inject.Binder; +import com.google.inject.Provider; +import com.google.inject.name.Names; + /** * Manual modifications go to {@link ExportRuntimeModule}. */ @SuppressWarnings("all") -public abstract class AbstractExportRuntimeModule extends DefaultRuntimeModule { - - protected Properties properties = null; - - @Override - public void configure(Binder binder) { - properties = tryBindProperties(binder, "com/avaloq/tools/ddk/xtext/export/Export.properties"); - super.configure(binder); - } - - public void configureLanguageName(Binder binder) { - binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("com.avaloq.tools.ddk.xtext.export.Export"); - } - - 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("export"); - } - - // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2 - public ClassLoader bindClassLoaderToInstance() { - return getClass().getClassLoader(); - } - - // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2 - public Class bindIGrammarAccess() { - return ExportGrammarAccess.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 - public Class bindISemanticSequencer() { - return ExportSemanticSequencer.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 - public Class bindISyntacticSequencer() { - return ExportSyntacticSequencer.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 - public Class bindISerializer() { - return Serializer.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 - public Class bindIParser() { - return ExportParser.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 - public Class bindITokenToStringConverter() { - return AntlrTokenToStringConverter.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 - public Class bindIAntlrTokenFileProvider() { - return ExportAntlrTokenFileProvider.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 - public Class bindLexer() { - return InternalExportLexer.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 - public Class bindITokenDefProvider() { - return AntlrTokenDefProvider.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 - public Provider provideInternalExportLexer() { - return LexerProvider.create(InternalExportLexer.class); - } - - // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 - public void configureRuntimeLexer(Binder binder) { - binder.bind(Lexer.class) - .annotatedWith(Names.named(LexerBindings.RUNTIME)) - .to(InternalExportLexer.class); - } - - // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 - @SingletonBinding(eager=true) - public Class bindExportValidator() { - return ExportValidator.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 - public Class bindIScopeProvider() { - return ExportScopeProvider.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 - public void configureIScopeProviderDelegate(Binder binder) { - binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class); - } - - // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 - public Class bindIGlobalScopeProvider() { - return DefaultGlobalScopeProvider.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 - public void configureIgnoreCaseLinking(Binder binder) { - binder.bindConstant().annotatedWith(IgnoreCaseLinking.class).to(false); - } - - // contributed by org.eclipse.xtext.xtext.generator.exporting.SimpleNamesFragment2 - public Class bindIQualifiedNameProvider() { - return SimpleNameProvider.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 - public Class bindIContainer$Manager() { - return StateBasedContainerManager.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 - public Class bindIAllContainersState$Provider() { - return ResourceSetBasedAllContainersStateProvider.class; - } - - // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 - public void configureIResourceDescriptions(Binder binder) { - binder.bind(IResourceDescriptions.class).to(ResourceSetBasedResourceDescriptions.class); - } - - // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 - public void configureIResourceDescriptionsPersisted(Binder binder) { - binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(ResourceSetBasedResourceDescriptions.class); - } - - // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 - public Class bindIGenerator2() { - return ExportGenerator.class; - } - +public abstract class AbstractExportRuntimeModule extends DefaultXbaseRuntimeModule { + + protected Properties properties = null; + + @Override + public void configure(final Binder binder) { + properties = tryBindProperties(binder, "com/avaloq/tools/ddk/xtext/export/Export.properties"); + super.configure(binder); + } + + public void configureLanguageName(final Binder binder) { + binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("com.avaloq.tools.ddk.xtext.export.Export"); + } + + public void configureFileExtensions(final Binder binder) { + if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null) { + binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("export"); + } + } + + // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2 + @Override + public ClassLoader bindClassLoaderToInstance() { + return getClass().getClassLoader(); + } + + // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2 + public Class bindIGrammarAccess() { + return ExportGrammarAccess.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 + @Override + public Class bindISemanticSequencer() { + return ExportSemanticSequencer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 + public Class bindISyntacticSequencer() { + return ExportSyntacticSequencer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 + @Override + public Class bindISerializer() { + return Serializer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindIParser() { + return ExportParser.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + @Override + public Class bindITokenToStringConverter() { + return AntlrTokenToStringConverter.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindIAntlrTokenFileProvider() { + return ExportAntlrTokenFileProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindLexer() { + return InternalExportLexer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + @Override + public Class bindITokenDefProvider() { + return AntlrTokenDefProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Provider provideInternalExportLexer() { + return LexerProvider.create(InternalExportLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureRuntimeLexer(final Binder binder) { + binder.bind(Lexer.class).annotatedWith(Names.named(LexerBindings.RUNTIME)).to(InternalExportLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 + @SingletonBinding(eager = true) + public Class bindExportValidator() { + return ExportValidator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 + public Class bindIBatchScopeProvider() { + return ExportScopeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 + @Override + public void configureIScopeProviderDelegate(final Binder binder) { + binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(XImportSectionNamespaceScopeProvider.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 + public void configureIgnoreCaseLinking(final Binder binder) { + binder.bindConstant().annotatedWith(IgnoreCaseLinking.class).to(false); + } + + // contributed by org.eclipse.xtext.xtext.generator.exporting.SimpleNamesFragment2 + @Override + public Class bindIQualifiedNameProvider() { + return SimpleNameProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + @Override + public Class bindIContainer$Manager() { + return StateBasedContainerManager.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class bindIAllContainersState$Provider() { + return ResourceSetBasedAllContainersStateProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + @Override + public void configureIResourceDescriptions(final Binder binder) { + binder.bind(IResourceDescriptions.class).to(ResourceSetBasedResourceDescriptions.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public void configureIResourceDescriptionsPersisted(final Binder binder) { + binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(ResourceSetBasedResourceDescriptions.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public void configureRewritableImportSectionEnablement(final Binder binder) { + binder.bind(Boolean.TYPE).annotatedWith(Names.named(RewritableImportSection.Factory.REWRITABLEIMPORTSECTION_ENABLEMENT)).toInstance(Boolean.FALSE); + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + @Override + public Class bindILocationInFileProvider() { + return JvmLocationInFileProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + @Override + public Class bindIGlobalScopeProvider() { + return TypesAwareDefaultGlobalScopeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindFeatureNameValidator() { + return LogicalContainerAwareFeatureNameValidator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindDefaultBatchTypeResolver() { + return LogicalContainerAwareBatchTypeResolver.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindDefaultReentrantTypeResolver() { + return LogicalContainerAwareReentrantTypeResolver.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIResourceValidator() { + return DerivedStateAwareResourceValidator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIJvmModelInferrer() { + return ExportJvmModelInferrer.class; + } + } diff --git a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/Export.xtextbin b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/Export.xtextbin index 02a60e0c1e..20b2d0dec4 100644 Binary files a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/Export.xtextbin and b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/Export.xtextbin differ diff --git a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/parser/antlr/internal/InternalExport.g b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/parser/antlr/internal/InternalExport.g index 195ceb1d18..af3cec93f2 100644 --- a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/parser/antlr/internal/InternalExport.g +++ b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/parser/antlr/internal/InternalExport.g @@ -109,7 +109,7 @@ ruleExportModel returns [EObject current=null] $current, "name", lv_name_2_0, - "org.eclipse.xtext.common.Terminals.ID"); + "org.eclipse.xtext.xbase.Xtype.ID"); } ) ) @@ -279,7 +279,7 @@ ruleImport returns [EObject current=null] $current, "name", lv_name_3_0, - "org.eclipse.xtext.common.Terminals.ID"); + "org.eclipse.xtext.xbase.Xtype.ID"); } ) ) @@ -1057,7 +1057,7 @@ ruleUserData returns [EObject current=null] $current, "name", lv_name_0_0, - "org.eclipse.xtext.common.Terminals.ID"); + "org.eclipse.xtext.xbase.Xtype.ID"); } ) ) @@ -2976,7 +2976,7 @@ ruleIntegerLiteral returns [EObject current=null] $current, "val", lv_val_0_0, - "org.eclipse.xtext.common.Terminals.INT"); + "org.eclipse.xtext.xbase.Xbase.INT"); } ) ) @@ -3077,7 +3077,7 @@ ruleStringLiteral returns [EObject current=null] $current, "val", lv_val_0_0, - "org.eclipse.xtext.common.Terminals.STRING"); + "org.eclipse.xtext.xbase.Xtype.STRING"); } ) ) @@ -3870,13 +3870,6299 @@ ruleIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToke } ; +// Entry rule entryRuleXExpression +entryRuleXExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXExpressionRule()); } + iv_ruleXExpression=ruleXExpression + { $current=$iv_ruleXExpression.current; } + EOF; + +// Rule XExpression +ruleXExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + { + newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); + } + this_XAssignment_0=ruleXAssignment + { + $current = $this_XAssignment_0.current; + afterParserOrEnumRuleCall(); + } +; + +// Entry rule entryRuleXAssignment +entryRuleXAssignment returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXAssignmentRule()); } + iv_ruleXAssignment=ruleXAssignment + { $current=$iv_ruleXAssignment.current; } + EOF; + +// Rule XAssignment +ruleXAssignment returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXAssignmentRule()); + } + } + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + ruleFeatureCallID + { + afterParserOrEnumRuleCall(); + } + ) + ) + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); + } + ruleOpSingleAssign + { + afterParserOrEnumRuleCall(); + } + ( + ( + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); + } + lv_value_3_0=ruleXAssignment + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXAssignmentRule()); + } + set( + $current, + "value", + lv_value_3_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); + } + this_XOrExpression_4=ruleXOrExpression + { + $current = $this_XOrExpression_4.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpMultiAssign + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXAssignmentRule()); + } + } + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + ruleOpMultiAssign + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); + } + lv_rightOperand_7_0=ruleXAssignment + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXAssignmentRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_7_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) + ) +; + +// Entry rule entryRuleOpSingleAssign +entryRuleOpSingleAssign returns [String current=null]: + { newCompositeNode(grammarAccess.getOpSingleAssignRule()); } + iv_ruleOpSingleAssign=ruleOpSingleAssign + { $current=$iv_ruleOpSingleAssign.current.getText(); } + EOF; + +// Rule OpSingleAssign +ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + kw='=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); + } +; + +// Entry rule entryRuleOpMultiAssign +entryRuleOpMultiAssign returns [String current=null]: + { newCompositeNode(grammarAccess.getOpMultiAssignRule()); } + iv_ruleOpMultiAssign=ruleOpMultiAssign + { $current=$iv_ruleOpMultiAssign.current.getText(); } + EOF; + +// Rule OpMultiAssign +ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='+=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); + } + | + kw='-=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); + } + | + kw='*=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); + } + | + kw='/=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); + } + | + kw='%=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); + } + | + ( + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); + } + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); + } + kw='=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); + } + ) + | + ( + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); + } + ( + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); + } + )? + kw='>=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); + } + ) + ) +; + +// Entry rule entryRuleXOrExpression +entryRuleXOrExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXOrExpressionRule()); } + iv_ruleXOrExpression=ruleXOrExpression + { $current=$iv_ruleXOrExpression.current; } + EOF; + +// Rule XOrExpression +ruleXOrExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); + } + this_XAndExpression_0=ruleXAndExpression + { + $current = $this_XAndExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpOr + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXOrExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpOr + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXAndExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXOrExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XAndExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpOr +entryRuleOpOr returns [String current=null]: + { newCompositeNode(grammarAccess.getOpOrRule()); } + iv_ruleOpOr=ruleOpOr + { $current=$iv_ruleOpOr.current.getText(); } + EOF; + +// Rule OpOr +ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + kw='||' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); + } +; + +// Entry rule entryRuleXAndExpression +entryRuleXAndExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXAndExpressionRule()); } + iv_ruleXAndExpression=ruleXAndExpression + { $current=$iv_ruleXAndExpression.current; } + EOF; + +// Rule XAndExpression +ruleXAndExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); + } + this_XEqualityExpression_0=ruleXEqualityExpression + { + $current = $this_XEqualityExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpAnd + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXAndExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpAnd + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXEqualityExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXAndExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XEqualityExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpAnd +entryRuleOpAnd returns [String current=null]: + { newCompositeNode(grammarAccess.getOpAndRule()); } + iv_ruleOpAnd=ruleOpAnd + { $current=$iv_ruleOpAnd.current.getText(); } + EOF; + +// Rule OpAnd +ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + kw='&&' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); + } +; + +// Entry rule entryRuleXEqualityExpression +entryRuleXEqualityExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXEqualityExpressionRule()); } + iv_ruleXEqualityExpression=ruleXEqualityExpression + { $current=$iv_ruleXEqualityExpression.current; } + EOF; + +// Rule XEqualityExpression +ruleXEqualityExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); + } + this_XRelationalExpression_0=ruleXRelationalExpression + { + $current = $this_XRelationalExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpEquality + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXEqualityExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpEquality + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXRelationalExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXEqualityExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XRelationalExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpEquality +entryRuleOpEquality returns [String current=null]: + { newCompositeNode(grammarAccess.getOpEqualityRule()); } + iv_ruleOpEquality=ruleOpEquality + { $current=$iv_ruleOpEquality.current.getText(); } + EOF; + +// Rule OpEquality +ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='==' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); + } + | + kw='!=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); + } + | + kw='===' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); + } + | + kw='!==' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); + } + ) +; + +// Entry rule entryRuleXRelationalExpression +entryRuleXRelationalExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXRelationalExpressionRule()); } + iv_ruleXRelationalExpression=ruleXRelationalExpression + { $current=$iv_ruleXRelationalExpression.current; } + EOF; + +// Rule XRelationalExpression +ruleXRelationalExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); + } + this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression + { + $current = $this_XOtherOperatorExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + ( + (( + ( + ) + 'instanceof' + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(), + $current); + } + ) + otherlv_2='instanceof' + { + newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); + } + lv_type_3_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule()); + } + set( + $current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + ( + (( + ( + ) + ( + ( + ruleOpCompare + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXRelationalExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + ruleOpCompare + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); + } + lv_rightOperand_6_0=ruleXOtherOperatorExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_6_0, + "org.eclipse.xtext.xbase.Xbase.XOtherOperatorExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + )* + ) +; + +// Entry rule entryRuleOpCompare +entryRuleOpCompare returns [String current=null]: + { newCompositeNode(grammarAccess.getOpCompareRule()); } + iv_ruleOpCompare=ruleOpCompare + { $current=$iv_ruleOpCompare.current.getText(); } + EOF; + +// Rule OpCompare +ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='>=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); + } + | + ( + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); + } + kw='=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); + } + ) + | + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); + } + | + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); + } + ) +; + +// Entry rule entryRuleXOtherOperatorExpression +entryRuleXOtherOperatorExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule()); } + iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression + { $current=$iv_ruleXOtherOperatorExpression.current; } + EOF; + +// Rule XOtherOperatorExpression +ruleXOtherOperatorExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); + } + this_XAdditiveExpression_0=ruleXAdditiveExpression + { + $current = $this_XAdditiveExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpOther + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXOtherOperatorExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpOther + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXAdditiveExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXOtherOperatorExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XAdditiveExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpOther +entryRuleOpOther returns [String current=null]: + { newCompositeNode(grammarAccess.getOpOtherRule()); } + iv_ruleOpOther=ruleOpOther + { $current=$iv_ruleOpOther.current.getText(); } + EOF; + +// Rule OpOther +ruleOpOther returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='->' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); + } + | + kw='..<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); + } + | + ( + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); + } + kw='..' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); + } + ) + | + kw='..' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); + } + | + kw='=>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); + } + | + ( + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); + } + ( + ( + (( + '>' + '>' + ) + )=> + ( + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); + } + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); + } + ) + ) + | + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); + } + ) + ) + | + ( + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); + } + ( + ( + (( + '<' + '<' + ) + )=> + ( + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); + } + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); + } + ) + ) + | + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); + } + | + kw='=>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); + } + ) + ) + | + kw='<>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); + } + | + kw='?:' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); + } + ) +; + +// Entry rule entryRuleXAdditiveExpression +entryRuleXAdditiveExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXAdditiveExpressionRule()); } + iv_ruleXAdditiveExpression=ruleXAdditiveExpression + { $current=$iv_ruleXAdditiveExpression.current; } + EOF; + +// Rule XAdditiveExpression +ruleXAdditiveExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); + } + this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression + { + $current = $this_XMultiplicativeExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpAdd + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXAdditiveExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpAdd + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXMultiplicativeExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXAdditiveExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XMultiplicativeExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpAdd +entryRuleOpAdd returns [String current=null]: + { newCompositeNode(grammarAccess.getOpAddRule()); } + iv_ruleOpAdd=ruleOpAdd + { $current=$iv_ruleOpAdd.current.getText(); } + EOF; + +// Rule OpAdd +ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='+' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); + } + | + kw='-' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); + } + ) +; + +// Entry rule entryRuleXMultiplicativeExpression +entryRuleXMultiplicativeExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule()); } + iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression + { $current=$iv_ruleXMultiplicativeExpression.current; } + EOF; + +// Rule XMultiplicativeExpression +ruleXMultiplicativeExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); + } + this_XUnaryOperation_0=ruleXUnaryOperation + { + $current = $this_XUnaryOperation_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpMulti + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMultiplicativeExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpMulti + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXUnaryOperation + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMultiplicativeExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XUnaryOperation"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpMulti +entryRuleOpMulti returns [String current=null]: + { newCompositeNode(grammarAccess.getOpMultiRule()); } + iv_ruleOpMulti=ruleOpMulti + { $current=$iv_ruleOpMulti.current.getText(); } + EOF; + +// Rule OpMulti +ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='*' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); + } + | + kw='**' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); + } + | + kw='/' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); + } + | + kw='%' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); + } + ) +; + +// Entry rule entryRuleXUnaryOperation +entryRuleXUnaryOperation returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXUnaryOperationRule()); } + iv_ruleXUnaryOperation=ruleXUnaryOperation + { $current=$iv_ruleXUnaryOperation.current; } + EOF; + +// Rule XUnaryOperation +ruleXUnaryOperation returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXUnaryOperationRule()); + } + } + { + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + ruleOpUnary + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); + } + lv_operand_2_0=ruleXUnaryOperation + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXUnaryOperationRule()); + } + set( + $current, + "operand", + lv_operand_2_0, + "org.eclipse.xtext.xbase.Xbase.XUnaryOperation"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + { + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); + } + this_XCastedExpression_3=ruleXCastedExpression + { + $current = $this_XCastedExpression_3.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleOpUnary +entryRuleOpUnary returns [String current=null]: + { newCompositeNode(grammarAccess.getOpUnaryRule()); } + iv_ruleOpUnary=ruleOpUnary + { $current=$iv_ruleOpUnary.current.getText(); } + EOF; + +// Rule OpUnary +ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='!' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); + } + | + kw='-' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); + } + | + kw='+' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); + } + ) +; + +// Entry rule entryRuleXCastedExpression +entryRuleXCastedExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXCastedExpressionRule()); } + iv_ruleXCastedExpression=ruleXCastedExpression + { $current=$iv_ruleXCastedExpression.current; } + EOF; + +// Rule XCastedExpression +ruleXCastedExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); + } + this_XPostfixOperation_0=ruleXPostfixOperation + { + $current = $this_XPostfixOperation_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + 'as' + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(), + $current); + } + ) + otherlv_2='as' + { + newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); + } + lv_type_3_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCastedExpressionRule()); + } + set( + $current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleXPostfixOperation +entryRuleXPostfixOperation returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXPostfixOperationRule()); } + iv_ruleXPostfixOperation=ruleXPostfixOperation + { $current=$iv_ruleXPostfixOperation.current; } + EOF; + +// Rule XPostfixOperation +ruleXPostfixOperation returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); + } + this_XMemberFeatureCall_0=ruleXMemberFeatureCall + { + $current = $this_XMemberFeatureCall_0.current; + afterParserOrEnumRuleCall(); + } + ( + (( + ( + ) + ( + ( + ruleOpPostfix + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXPostfixOperationRule()); + } + } + { + newCompositeNode(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); + } + ruleOpPostfix + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + )? + ) +; + +// Entry rule entryRuleOpPostfix +entryRuleOpPostfix returns [String current=null]: + { newCompositeNode(grammarAccess.getOpPostfixRule()); } + iv_ruleOpPostfix=ruleOpPostfix + { $current=$iv_ruleOpPostfix.current.getText(); } + EOF; + +// Rule OpPostfix +ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='++' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); + } + | + kw='--' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); + } + ) +; + +// Entry rule entryRuleXMemberFeatureCall +entryRuleXMemberFeatureCall returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXMemberFeatureCallRule()); } + iv_ruleXMemberFeatureCall=ruleXMemberFeatureCall + { $current=$iv_ruleXMemberFeatureCall.current; } + EOF; + +// Rule XMemberFeatureCall +ruleXMemberFeatureCall returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); + } + this_XPrimaryExpression_0=ruleXPrimaryExpression + { + $current = $this_XPrimaryExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + ( + (( + ( + ) + ( + '.' + | + ( + ( + '::' + ) + ) + ) + ( + ( + ruleFeatureCallID + ) + ) + ruleOpSingleAssign + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(), + $current); + } + ) + ( + otherlv_2='.' + { + newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); + } + | + ( + ( + lv_explicitStatic_3_0='::' + { + newLeafNode(lv_explicitStatic_3_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed($current, "explicitStatic", lv_explicitStatic_3_0 != null, "::"); + } + ) + ) + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + } + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); + } + ruleFeatureCallID + { + afterParserOrEnumRuleCall(); + } + ) + ) + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); + } + ruleOpSingleAssign + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); + } + lv_value_6_0=ruleXAssignment + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + set( + $current, + "value", + lv_value_6_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + ( + (( + ( + ) + ( + '.' + | + ( + ( + '?.' + ) + ) + | + ( + ( + '::' + ) + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(), + $current); + } + ) + ( + otherlv_8='.' + { + newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); + } + | + ( + ( + lv_nullSafe_9_0='?.' + { + newLeafNode(lv_nullSafe_9_0, grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed($current, "nullSafe", lv_nullSafe_9_0 != null, "?."); + } + ) + ) + | + ( + ( + lv_explicitStatic_10_0='::' + { + newLeafNode(lv_explicitStatic_10_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed($current, "explicitStatic", lv_explicitStatic_10_0 != null, "::"); + } + ) + ) + ) + ) + ) + ( + otherlv_11='<' + { + newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); + } + lv_typeArguments_12_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_12_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_13=',' + { + newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); + } + lv_typeArguments_14_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_14_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_15='>' + { + newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); + } + )? + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + } + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); + } + ruleIdOrSuper + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + (( + '(' + ) + )=> + ( + lv_explicitOperationCall_17_0='(' + { + newLeafNode(lv_explicitOperationCall_17_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed($current, "explicitOperationCall", lv_explicitOperationCall_17_0 != null, "("); + } + ) + ) + ( + ( + (( + ( + ) + ( + ( + ( + ruleJvmFormalParameter + ) + ) + ( + ',' + ( + ( + ruleJvmFormalParameter + ) + ) + )* + )? + ( + ( + '|' + ) + ) + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); + } + lv_memberCallArguments_18_0=ruleXShortClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "memberCallArguments", + lv_memberCallArguments_18_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); + } + lv_memberCallArguments_19_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "memberCallArguments", + lv_memberCallArguments_19_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_20=',' + { + newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); + } + lv_memberCallArguments_21_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "memberCallArguments", + lv_memberCallArguments_21_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) + )? + otherlv_22=')' + { + newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); + } + )? + ( + (( + ( + ) + '[' + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); + } + lv_memberCallArguments_23_0=ruleXClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "memberCallArguments", + lv_memberCallArguments_23_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + } + ) + )? + ) + )* + ) +; + +// Entry rule entryRuleXPrimaryExpression +entryRuleXPrimaryExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXPrimaryExpressionRule()); } + iv_ruleXPrimaryExpression=ruleXPrimaryExpression + { $current=$iv_ruleXPrimaryExpression.current; } + EOF; + +// Rule XPrimaryExpression +ruleXPrimaryExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); + } + this_XConstructorCall_0=ruleXConstructorCall + { + $current = $this_XConstructorCall_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); + } + this_XBlockExpression_1=ruleXBlockExpression + { + $current = $this_XBlockExpression_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); + } + this_XSwitchExpression_2=ruleXSwitchExpression + { + $current = $this_XSwitchExpression_2.current; + afterParserOrEnumRuleCall(); + } + | + ( + (( + ( + ) + 'synchronized' + '(' + ) + )=> + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); + } + this_XSynchronizedExpression_3=ruleXSynchronizedExpression + { + $current = $this_XSynchronizedExpression_3.current; + afterParserOrEnumRuleCall(); + } + ) + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); + } + this_XFeatureCall_4=ruleXFeatureCall + { + $current = $this_XFeatureCall_4.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); + } + this_XLiteral_5=ruleXLiteral + { + $current = $this_XLiteral_5.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); + } + this_XIfExpression_6=ruleXIfExpression + { + $current = $this_XIfExpression_6.current; + afterParserOrEnumRuleCall(); + } + | + ( + (( + ( + ) + 'for' + '(' + ( + ( + ruleJvmFormalParameter + ) + ) + ':' + ) + )=> + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); + } + this_XForLoopExpression_7=ruleXForLoopExpression + { + $current = $this_XForLoopExpression_7.current; + afterParserOrEnumRuleCall(); + } + ) + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); + } + this_XBasicForLoopExpression_8=ruleXBasicForLoopExpression + { + $current = $this_XBasicForLoopExpression_8.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); + } + this_XWhileExpression_9=ruleXWhileExpression + { + $current = $this_XWhileExpression_9.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); + } + this_XDoWhileExpression_10=ruleXDoWhileExpression + { + $current = $this_XDoWhileExpression_10.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); + } + this_XThrowExpression_11=ruleXThrowExpression + { + $current = $this_XThrowExpression_11.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); + } + this_XReturnExpression_12=ruleXReturnExpression + { + $current = $this_XReturnExpression_12.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); + } + this_XTryCatchFinallyExpression_13=ruleXTryCatchFinallyExpression + { + $current = $this_XTryCatchFinallyExpression_13.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); + } + this_XParenthesizedExpression_14=ruleXParenthesizedExpression + { + $current = $this_XParenthesizedExpression_14.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleXLiteral +entryRuleXLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXLiteralRule()); } + iv_ruleXLiteral=ruleXLiteral + { $current=$iv_ruleXLiteral.current; } + EOF; + +// Rule XLiteral +ruleXLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); + } + this_XCollectionLiteral_0=ruleXCollectionLiteral + { + $current = $this_XCollectionLiteral_0.current; + afterParserOrEnumRuleCall(); + } + | + ( + (( + ( + ) + '[' + ) + )=> + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); + } + this_XClosure_1=ruleXClosure + { + $current = $this_XClosure_1.current; + afterParserOrEnumRuleCall(); + } + ) + | + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); + } + this_XBooleanLiteral_2=ruleXBooleanLiteral + { + $current = $this_XBooleanLiteral_2.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); + } + this_XNumberLiteral_3=ruleXNumberLiteral + { + $current = $this_XNumberLiteral_3.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); + } + this_XNullLiteral_4=ruleXNullLiteral + { + $current = $this_XNullLiteral_4.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); + } + this_XStringLiteral_5=ruleXStringLiteral + { + $current = $this_XStringLiteral_5.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); + } + this_XTypeLiteral_6=ruleXTypeLiteral + { + $current = $this_XTypeLiteral_6.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleXCollectionLiteral +entryRuleXCollectionLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXCollectionLiteralRule()); } + iv_ruleXCollectionLiteral=ruleXCollectionLiteral + { $current=$iv_ruleXCollectionLiteral.current; } + EOF; + +// Rule XCollectionLiteral +ruleXCollectionLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); + } + this_XSetLiteral_0=ruleXSetLiteral + { + $current = $this_XSetLiteral_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); + } + this_XListLiteral_1=ruleXListLiteral + { + $current = $this_XListLiteral_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleXSetLiteral +entryRuleXSetLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXSetLiteralRule()); } + iv_ruleXSetLiteral=ruleXSetLiteral + { $current=$iv_ruleXSetLiteral.current; } + EOF; + +// Rule XSetLiteral +ruleXSetLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0(), + $current); + } + ) + otherlv_1='#' + { + newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); + } + otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + lv_elements_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSetLiteralRule()); + } + add( + $current, + "elements", + lv_elements_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_4=',' + { + newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + lv_elements_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSetLiteralRule()); + } + add( + $current, + "elements", + lv_elements_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_6='}' + { + newLeafNode(otherlv_6, grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); + } + ) +; + +// Entry rule entryRuleXListLiteral +entryRuleXListLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXListLiteralRule()); } + iv_ruleXListLiteral=ruleXListLiteral + { $current=$iv_ruleXListLiteral.current; } + EOF; + +// Rule XListLiteral +ruleXListLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXListLiteralAccess().getXListLiteralAction_0(), + $current); + } + ) + otherlv_1='#' + { + newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); + } + otherlv_2='[' + { + newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + lv_elements_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXListLiteralRule()); + } + add( + $current, + "elements", + lv_elements_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_4=',' + { + newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + lv_elements_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXListLiteralRule()); + } + add( + $current, + "elements", + lv_elements_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_6=']' + { + newLeafNode(otherlv_6, grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); + } + ) +; + +// Entry rule entryRuleXClosure +entryRuleXClosure returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXClosureRule()); } + iv_ruleXClosure=ruleXClosure + { $current=$iv_ruleXClosure.current; } + EOF; + +// Rule XClosure +ruleXClosure returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + (( + ( + ) + '[' + ) + )=> + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXClosureAccess().getXClosureAction_0_0_0(), + $current); + } + ) + otherlv_1='[' + { + newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); + } + ) + ) + ( + (( + ( + ( + ( + ruleJvmFormalParameter + ) + ) + ( + ',' + ( + ( + ruleJvmFormalParameter + ) + ) + )* + )? + ( + ( + '|' + ) + ) + ) + )=> + ( + ( + ( + ( + { + newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); + } + lv_declaredFormalParameters_2_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + add( + $current, + "declaredFormalParameters", + lv_declaredFormalParameters_2_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); + } + lv_declaredFormalParameters_4_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + add( + $current, + "declaredFormalParameters", + lv_declaredFormalParameters_4_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + ( + ( + lv_explicitSyntax_5_0='|' + { + newLeafNode(lv_explicitSyntax_5_0, grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXClosureRule()); + } + setWithLastConsumed($current, "explicitSyntax", lv_explicitSyntax_5_0 != null, "|"); + } + ) + ) + ) + )? + ( + ( + { + newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); + } + lv_expression_6_0=ruleXExpressionInClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + set( + $current, + "expression", + lv_expression_6_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionInClosure"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_7=']' + { + newLeafNode(otherlv_7, grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); + } + ) +; + +// Entry rule entryRuleXExpressionInClosure +entryRuleXExpressionInClosure returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXExpressionInClosureRule()); } + iv_ruleXExpressionInClosure=ruleXExpressionInClosure + { $current=$iv_ruleXExpressionInClosure.current; } + EOF; + +// Rule XExpressionInClosure +ruleXExpressionInClosure returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0(), + $current); + } + ) + ( + ( + ( + { + newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); + } + lv_expressions_1_0=ruleXExpressionOrVarDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXExpressionInClosureRule()); + } + add( + $current, + "expressions", + lv_expressions_1_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=';' + { + newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); + } + )? + )* + ) +; + +// Entry rule entryRuleXShortClosure +entryRuleXShortClosure returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXShortClosureRule()); } + iv_ruleXShortClosure=ruleXShortClosure + { $current=$iv_ruleXShortClosure.current; } + EOF; + +// Rule XShortClosure +ruleXShortClosure returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + (( + ( + ) + ( + ( + ( + ruleJvmFormalParameter + ) + ) + ( + ',' + ( + ( + ruleJvmFormalParameter + ) + ) + )* + )? + ( + ( + '|' + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0(), + $current); + } + ) + ( + ( + ( + { + newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); + } + lv_declaredFormalParameters_1_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + add( + $current, + "declaredFormalParameters", + lv_declaredFormalParameters_1_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=',' + { + newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); + } + lv_declaredFormalParameters_3_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + add( + $current, + "declaredFormalParameters", + lv_declaredFormalParameters_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + ( + ( + lv_explicitSyntax_4_0='|' + { + newLeafNode(lv_explicitSyntax_4_0, grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXShortClosureRule()); + } + setWithLastConsumed($current, "explicitSyntax", lv_explicitSyntax_4_0 != null, "|"); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); + } + lv_expression_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + set( + $current, + "expression", + lv_expression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXParenthesizedExpression +entryRuleXParenthesizedExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXParenthesizedExpressionRule()); } + iv_ruleXParenthesizedExpression=ruleXParenthesizedExpression + { $current=$iv_ruleXParenthesizedExpression.current; } + EOF; + +// Rule XParenthesizedExpression +ruleXParenthesizedExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='(' + { + newLeafNode(otherlv_0, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + } + { + newCompositeNode(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); + } + this_XExpression_1=ruleXExpression + { + $current = $this_XExpression_1.current; + afterParserOrEnumRuleCall(); + } + otherlv_2=')' + { + newLeafNode(otherlv_2, grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); + } + ) +; + +// Entry rule entryRuleXIfExpression +entryRuleXIfExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXIfExpressionRule()); } + iv_ruleXIfExpression=ruleXIfExpression + { $current=$iv_ruleXIfExpression.current; } + EOF; + +// Rule XIfExpression +ruleXIfExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0(), + $current); + } + ) + otherlv_1='if' + { + newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); + } + lv_if_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + $current, + "if", + lv_if_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=')' + { + newLeafNode(otherlv_4, grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); + } + lv_then_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + $current, + "then", + lv_then_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ('else')=> + otherlv_6='else' + { + newLeafNode(otherlv_6, grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); + } + lv_else_7_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + $current, + "else", + lv_else_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleXSwitchExpression +entryRuleXSwitchExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXSwitchExpressionRule()); } + iv_ruleXSwitchExpression=ruleXSwitchExpression + { $current=$iv_ruleXSwitchExpression.current; } + EOF; + +// Rule XSwitchExpression +ruleXSwitchExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0(), + $current); + } + ) + otherlv_1='switch' + { + newLeafNode(otherlv_1, grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); + } + ( + ( + ( + (( + '(' + ( + ( + ruleJvmFormalParameter + ) + ) + ':' + ) + )=> + ( + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); + } + lv_declaredParam_3_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + $current, + "declaredParam", + lv_declaredParam_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=':' + { + newLeafNode(otherlv_4, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); + } + lv_switch_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + $current, + "switch", + lv_switch_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_6=')' + { + newLeafNode(otherlv_6, grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); + } + ) + | + ( + ( + (( + ( + ( + ruleJvmFormalParameter + ) + ) + ':' + ) + )=> + ( + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); + } + lv_declaredParam_7_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + $current, + "declaredParam", + lv_declaredParam_7_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_8=':' + { + newLeafNode(otherlv_8, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); + } + ) + )? + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); + } + lv_switch_9_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + $current, + "switch", + lv_switch_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + otherlv_10='{' + { + newLeafNode(otherlv_10, grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); + } + lv_cases_11_0=ruleXCasePart + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + add( + $current, + "cases", + lv_cases_11_0, + "org.eclipse.xtext.xbase.Xbase.XCasePart"); + afterParserOrEnumRuleCall(); + } + ) + )* + ( + otherlv_12='default' + { + newLeafNode(otherlv_12, grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); + } + otherlv_13=':' + { + newLeafNode(otherlv_13, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); + } + lv_default_14_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + $current, + "default", + lv_default_14_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + otherlv_15='}' + { + newLeafNode(otherlv_15, grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); + } + ) +; + +// Entry rule entryRuleXCasePart +entryRuleXCasePart returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXCasePartRule()); } + iv_ruleXCasePart=ruleXCasePart + { $current=$iv_ruleXCasePart.current; } + EOF; + +// Rule XCasePart +ruleXCasePart returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXCasePartAccess().getXCasePartAction_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); + } + lv_typeGuard_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + $current, + "typeGuard", + lv_typeGuard_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + )? + ( + otherlv_2='case' + { + newLeafNode(otherlv_2, grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); + } + lv_case_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + $current, + "case", + lv_case_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ( + ( + otherlv_4=':' + { + newLeafNode(otherlv_4, grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); + } + lv_then_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + $current, + "then", + lv_then_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + ( + lv_fallThrough_6_0=',' + { + newLeafNode(lv_fallThrough_6_0, grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXCasePartRule()); + } + setWithLastConsumed($current, "fallThrough", lv_fallThrough_6_0 != null, ","); + } + ) + ) + ) + ) +; + +// Entry rule entryRuleXForLoopExpression +entryRuleXForLoopExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXForLoopExpressionRule()); } + iv_ruleXForLoopExpression=ruleXForLoopExpression + { $current=$iv_ruleXForLoopExpression.current; } + EOF; + +// Rule XForLoopExpression +ruleXForLoopExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + (( + ( + ) + 'for' + '(' + ( + ( + ruleJvmFormalParameter + ) + ) + ':' + ) + )=> + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0(), + $current); + } + ) + otherlv_1='for' + { + newLeafNode(otherlv_1, grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); + } + lv_declaredParam_3_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + $current, + "declaredParam", + lv_declaredParam_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=':' + { + newLeafNode(otherlv_4, grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); + } + lv_forExpression_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + $current, + "forExpression", + lv_forExpression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_6=')' + { + newLeafNode(otherlv_6, grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); + } + lv_eachExpression_7_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + $current, + "eachExpression", + lv_eachExpression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXBasicForLoopExpression +entryRuleXBasicForLoopExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXBasicForLoopExpressionRule()); } + iv_ruleXBasicForLoopExpression=ruleXBasicForLoopExpression + { $current=$iv_ruleXBasicForLoopExpression.current; } + EOF; + +// Rule XBasicForLoopExpression +ruleXBasicForLoopExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0(), + $current); + } + ) + otherlv_1='for' + { + newLeafNode(otherlv_1, grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); + } + lv_initExpressions_3_0=ruleXExpressionOrVarDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + $current, + "initExpressions", + lv_initExpressions_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_4=',' + { + newLeafNode(otherlv_4, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); + } + lv_initExpressions_5_0=ruleXExpressionOrVarDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + $current, + "initExpressions", + lv_initExpressions_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_6=';' + { + newLeafNode(otherlv_6, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); + } + lv_expression_7_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + set( + $current, + "expression", + lv_expression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + )? + otherlv_8=';' + { + newLeafNode(otherlv_8, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); + } + lv_updateExpressions_9_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + $current, + "updateExpressions", + lv_updateExpressions_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_10=',' + { + newLeafNode(otherlv_10, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); + } + lv_updateExpressions_11_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + $current, + "updateExpressions", + lv_updateExpressions_11_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_12=')' + { + newLeafNode(otherlv_12, grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); + } + lv_eachExpression_13_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + set( + $current, + "eachExpression", + lv_eachExpression_13_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXWhileExpression +entryRuleXWhileExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXWhileExpressionRule()); } + iv_ruleXWhileExpression=ruleXWhileExpression + { $current=$iv_ruleXWhileExpression.current; } + EOF; + +// Rule XWhileExpression +ruleXWhileExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0(), + $current); + } + ) + otherlv_1='while' + { + newLeafNode(otherlv_1, grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); + } + lv_predicate_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXWhileExpressionRule()); + } + set( + $current, + "predicate", + lv_predicate_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=')' + { + newLeafNode(otherlv_4, grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); + } + lv_body_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXWhileExpressionRule()); + } + set( + $current, + "body", + lv_body_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXDoWhileExpression +entryRuleXDoWhileExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXDoWhileExpressionRule()); } + iv_ruleXDoWhileExpression=ruleXDoWhileExpression + { $current=$iv_ruleXDoWhileExpression.current; } + EOF; + +// Rule XDoWhileExpression +ruleXDoWhileExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0(), + $current); + } + ) + otherlv_1='do' + { + newLeafNode(otherlv_1, grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); + } + lv_body_2_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule()); + } + set( + $current, + "body", + lv_body_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_3='while' + { + newLeafNode(otherlv_3, grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); + } + otherlv_4='(' + { + newLeafNode(otherlv_4, grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); + } + lv_predicate_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule()); + } + set( + $current, + "predicate", + lv_predicate_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_6=')' + { + newLeafNode(otherlv_6, grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); + } + ) +; + +// Entry rule entryRuleXBlockExpression +entryRuleXBlockExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXBlockExpressionRule()); } + iv_ruleXBlockExpression=ruleXBlockExpression + { $current=$iv_ruleXBlockExpression.current; } + EOF; + +// Rule XBlockExpression +ruleXBlockExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0(), + $current); + } + ) + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); + } + lv_expressions_2_0=ruleXExpressionOrVarDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBlockExpressionRule()); + } + add( + $current, + "expressions", + lv_expressions_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=';' + { + newLeafNode(otherlv_3, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); + } + )? + )* + otherlv_4='}' + { + newLeafNode(otherlv_4, grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); + } + ) +; + +// Entry rule entryRuleXExpressionOrVarDeclaration +entryRuleXExpressionOrVarDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationRule()); } + iv_ruleXExpressionOrVarDeclaration=ruleXExpressionOrVarDeclaration + { $current=$iv_ruleXExpressionOrVarDeclaration.current; } + EOF; + +// Rule XExpressionOrVarDeclaration +ruleXExpressionOrVarDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); + } + this_XVariableDeclaration_0=ruleXVariableDeclaration + { + $current = $this_XVariableDeclaration_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); + } + this_XExpression_1=ruleXExpression + { + $current = $this_XExpression_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleXVariableDeclaration +entryRuleXVariableDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXVariableDeclarationRule()); } + iv_ruleXVariableDeclaration=ruleXVariableDeclaration + { $current=$iv_ruleXVariableDeclaration.current; } + EOF; + +// Rule XVariableDeclaration +ruleXVariableDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0(), + $current); + } + ) + ( + ( + ( + lv_writeable_1_0='var' + { + newLeafNode(lv_writeable_1_0, grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXVariableDeclarationRule()); + } + setWithLastConsumed($current, "writeable", lv_writeable_1_0 != null, "var"); + } + ) + ) + | + otherlv_2='val' + { + newLeafNode(otherlv_2, grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); + } + ) + ( + ( + (( + ( + ( + ruleJvmTypeReference + ) + ) + ( + ( + ruleValidID + ) + ) + ) + )=> + ( + ( + ( + { + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); + } + lv_type_3_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + $current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); + } + lv_name_4_0=ruleValidID + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + $current, + "name", + lv_name_4_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); + } + lv_name_5_0=ruleValidID + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + $current, + "name", + lv_name_5_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ( + otherlv_6='=' + { + newLeafNode(otherlv_6, grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); + } + lv_right_7_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + $current, + "right", + lv_right_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleJvmFormalParameter +entryRuleJvmFormalParameter returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmFormalParameterRule()); } + iv_ruleJvmFormalParameter=ruleJvmFormalParameter + { $current=$iv_ruleJvmFormalParameter.current; } + EOF; + +// Rule JvmFormalParameter +ruleJvmFormalParameter returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + lv_parameterType_0_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule()); + } + set( + $current, + "parameterType", + lv_parameterType_0_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + )? + ( + ( + { + newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + lv_name_1_0=ruleValidID + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule()); + } + set( + $current, + "name", + lv_name_1_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleFullJvmFormalParameter +entryRuleFullJvmFormalParameter returns [EObject current=null]: + { newCompositeNode(grammarAccess.getFullJvmFormalParameterRule()); } + iv_ruleFullJvmFormalParameter=ruleFullJvmFormalParameter + { $current=$iv_ruleFullJvmFormalParameter.current; } + EOF; + +// Rule FullJvmFormalParameter +ruleFullJvmFormalParameter returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + lv_parameterType_0_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule()); + } + set( + $current, + "parameterType", + lv_parameterType_0_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + lv_name_1_0=ruleValidID + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule()); + } + set( + $current, + "name", + lv_name_1_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXFeatureCall +entryRuleXFeatureCall returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXFeatureCallRule()); } + iv_ruleXFeatureCall=ruleXFeatureCall + { $current=$iv_ruleXFeatureCall.current; } + EOF; + +// Rule XFeatureCall +ruleXFeatureCall returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0(), + $current); + } + ) + ( + otherlv_1='<' + { + newLeafNode(otherlv_1, grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + lv_typeArguments_2_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + lv_typeArguments_4_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_5='>' + { + newLeafNode(otherlv_5, grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); + } + )? + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXFeatureCallRule()); + } + } + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); + } + ruleIdOrSuper + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + (( + '(' + ) + )=> + ( + lv_explicitOperationCall_7_0='(' + { + newLeafNode(lv_explicitOperationCall_7_0, grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXFeatureCallRule()); + } + setWithLastConsumed($current, "explicitOperationCall", lv_explicitOperationCall_7_0 != null, "("); + } + ) + ) + ( + ( + (( + ( + ) + ( + ( + ( + ruleJvmFormalParameter + ) + ) + ( + ',' + ( + ( + ruleJvmFormalParameter + ) + ) + )* + )? + ( + ( + '|' + ) + ) + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); + } + lv_featureCallArguments_8_0=ruleXShortClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "featureCallArguments", + lv_featureCallArguments_8_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); + } + lv_featureCallArguments_9_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "featureCallArguments", + lv_featureCallArguments_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_10=',' + { + newLeafNode(otherlv_10, grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); + } + lv_featureCallArguments_11_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "featureCallArguments", + lv_featureCallArguments_11_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) + )? + otherlv_12=')' + { + newLeafNode(otherlv_12, grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); + } + )? + ( + (( + ( + ) + '[' + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); + } + lv_featureCallArguments_13_0=ruleXClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "featureCallArguments", + lv_featureCallArguments_13_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + } + ) + )? + ) +; + +// Entry rule entryRuleFeatureCallID +entryRuleFeatureCallID returns [String current=null]: + { newCompositeNode(grammarAccess.getFeatureCallIDRule()); } + iv_ruleFeatureCallID=ruleFeatureCallID + { $current=$iv_ruleFeatureCallID.current.getText(); } + EOF; + +// Rule FeatureCallID +ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); + } + this_ValidID_0=ruleValidID + { + $current.merge(this_ValidID_0); + } + { + afterParserOrEnumRuleCall(); + } + | + kw='extends' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); + } + | + kw='static' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); + } + | + kw='import' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); + } + | + kw='extension' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); + } + ) +; + +// Entry rule entryRuleIdOrSuper +entryRuleIdOrSuper returns [String current=null]: + { newCompositeNode(grammarAccess.getIdOrSuperRule()); } + iv_ruleIdOrSuper=ruleIdOrSuper + { $current=$iv_ruleIdOrSuper.current.getText(); } + EOF; + +// Rule IdOrSuper +ruleIdOrSuper returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); + } + this_FeatureCallID_0=ruleFeatureCallID + { + $current.merge(this_FeatureCallID_0); + } + { + afterParserOrEnumRuleCall(); + } + | + kw='super' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); + } + ) +; + +// Entry rule entryRuleXConstructorCall +entryRuleXConstructorCall returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXConstructorCallRule()); } + iv_ruleXConstructorCall=ruleXConstructorCall + { $current=$iv_ruleXConstructorCall.current; } + EOF; + +// Rule XConstructorCall +ruleXConstructorCall returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0(), + $current); + } + ) + otherlv_1='new' + { + newLeafNode(otherlv_1, grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXConstructorCallRule()); + } + } + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ('<')=> + otherlv_3='<' + { + newLeafNode(otherlv_3, grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); + } + lv_typeArguments_4_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_5=',' + { + newLeafNode(otherlv_5, grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); + } + lv_typeArguments_6_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_6_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_7='>' + { + newLeafNode(otherlv_7, grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); + } + )? + ( + ( + (( + '(' + ) + )=> + ( + lv_explicitConstructorCall_8_0='(' + { + newLeafNode(lv_explicitConstructorCall_8_0, grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXConstructorCallRule()); + } + setWithLastConsumed($current, "explicitConstructorCall", lv_explicitConstructorCall_8_0 != null, "("); + } + ) + ) + ( + ( + (( + ( + ) + ( + ( + ( + ruleJvmFormalParameter + ) + ) + ( + ',' + ( + ( + ruleJvmFormalParameter + ) + ) + )* + )? + ( + ( + '|' + ) + ) + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); + } + lv_arguments_9_0=ruleXShortClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "arguments", + lv_arguments_9_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); + } + lv_arguments_10_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "arguments", + lv_arguments_10_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_11=',' + { + newLeafNode(otherlv_11, grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); + } + lv_arguments_12_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "arguments", + lv_arguments_12_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) + )? + otherlv_13=')' + { + newLeafNode(otherlv_13, grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); + } + )? + ( + (( + ( + ) + '[' + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); + } + lv_arguments_14_0=ruleXClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "arguments", + lv_arguments_14_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + } + ) + )? + ) +; + +// Entry rule entryRuleXBooleanLiteral +entryRuleXBooleanLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXBooleanLiteralRule()); } + iv_ruleXBooleanLiteral=ruleXBooleanLiteral + { $current=$iv_ruleXBooleanLiteral.current; } + EOF; + +// Rule XBooleanLiteral +ruleXBooleanLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0(), + $current); + } + ) + ( + otherlv_1='false' + { + newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); + } + | + ( + ( + lv_isTrue_2_0='true' + { + newLeafNode(lv_isTrue_2_0, grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXBooleanLiteralRule()); + } + setWithLastConsumed($current, "isTrue", lv_isTrue_2_0 != null, "true"); + } + ) + ) + ) + ) +; + +// Entry rule entryRuleXNullLiteral +entryRuleXNullLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXNullLiteralRule()); } + iv_ruleXNullLiteral=ruleXNullLiteral + { $current=$iv_ruleXNullLiteral.current; } + EOF; + +// Rule XNullLiteral +ruleXNullLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0(), + $current); + } + ) + otherlv_1='null' + { + newLeafNode(otherlv_1, grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); + } + ) +; + +// Entry rule entryRuleXNumberLiteral +entryRuleXNumberLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXNumberLiteralRule()); } + iv_ruleXNumberLiteral=ruleXNumberLiteral + { $current=$iv_ruleXNumberLiteral.current; } + EOF; + +// Rule XNumberLiteral +ruleXNumberLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); + } + lv_value_1_0=ruleNumber + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXNumberLiteralRule()); + } + set( + $current, + "value", + lv_value_1_0, + "org.eclipse.xtext.xbase.Xbase.Number"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXStringLiteral +entryRuleXStringLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXStringLiteralRule()); } + iv_ruleXStringLiteral=ruleXStringLiteral + { $current=$iv_ruleXStringLiteral.current; } + EOF; + +// Rule XStringLiteral +ruleXStringLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0(), + $current); + } + ) + ( + ( + lv_value_1_0=RULE_STRING + { + newLeafNode(lv_value_1_0, grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXStringLiteralRule()); + } + setWithLastConsumed( + $current, + "value", + lv_value_1_0, + "org.eclipse.xtext.xbase.Xtype.STRING"); + } + ) + ) + ) +; + +// Entry rule entryRuleXTypeLiteral +entryRuleXTypeLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXTypeLiteralRule()); } + iv_ruleXTypeLiteral=ruleXTypeLiteral + { $current=$iv_ruleXTypeLiteral.current; } + EOF; + +// Rule XTypeLiteral +ruleXTypeLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0(), + $current); + } + ) + otherlv_1='typeof' + { + newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXTypeLiteralRule()); + } + } + { + newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); + } + lv_arrayDimensions_4_0=ruleArrayBrackets + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXTypeLiteralRule()); + } + add( + $current, + "arrayDimensions", + lv_arrayDimensions_4_0, + "org.eclipse.xtext.xbase.Xtype.ArrayBrackets"); + afterParserOrEnumRuleCall(); + } + ) + )* + otherlv_5=')' + { + newLeafNode(otherlv_5, grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); + } + ) +; + +// Entry rule entryRuleXThrowExpression +entryRuleXThrowExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXThrowExpressionRule()); } + iv_ruleXThrowExpression=ruleXThrowExpression + { $current=$iv_ruleXThrowExpression.current; } + EOF; + +// Rule XThrowExpression +ruleXThrowExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0(), + $current); + } + ) + otherlv_1='throw' + { + newLeafNode(otherlv_1, grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + lv_expression_2_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXThrowExpressionRule()); + } + set( + $current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXReturnExpression +entryRuleXReturnExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXReturnExpressionRule()); } + iv_ruleXReturnExpression=ruleXReturnExpression + { $current=$iv_ruleXReturnExpression.current; } + EOF; + +// Rule XReturnExpression +ruleXReturnExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0(), + $current); + } + ) + otherlv_1='return' + { + newLeafNode(otherlv_1, grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); + } + ( + ('extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING)=> + ( + { + newCompositeNode(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + lv_expression_2_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXReturnExpressionRule()); + } + set( + $current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + )? + ) +; + +// Entry rule entryRuleXTryCatchFinallyExpression +entryRuleXTryCatchFinallyExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionRule()); } + iv_ruleXTryCatchFinallyExpression=ruleXTryCatchFinallyExpression + { $current=$iv_ruleXTryCatchFinallyExpression.current; } + EOF; + +// Rule XTryCatchFinallyExpression +ruleXTryCatchFinallyExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0(), + $current); + } + ) + otherlv_1='try' + { + newLeafNode(otherlv_1, grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + lv_expression_2_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + $current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ( + ('catch')=> + ( + { + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); + } + lv_catchClauses_3_0=ruleXCatchClause + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + add( + $current, + "catchClauses", + lv_catchClauses_3_0, + "org.eclipse.xtext.xbase.Xbase.XCatchClause"); + afterParserOrEnumRuleCall(); + } + ) + )+ + ( + ( + ('finally')=> + otherlv_4='finally' + { + newLeafNode(otherlv_4, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); + } + lv_finallyExpression_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + $current, + "finallyExpression", + lv_finallyExpression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) + | + ( + otherlv_6='finally' + { + newLeafNode(otherlv_6, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); + } + lv_finallyExpression_7_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + $current, + "finallyExpression", + lv_finallyExpression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ) +; + +// Entry rule entryRuleXSynchronizedExpression +entryRuleXSynchronizedExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXSynchronizedExpressionRule()); } + iv_ruleXSynchronizedExpression=ruleXSynchronizedExpression + { $current=$iv_ruleXSynchronizedExpression.current; } + EOF; + +// Rule XSynchronizedExpression +ruleXSynchronizedExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + (( + ( + ) + 'synchronized' + '(' + ) + )=> + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0(), + $current); + } + ) + otherlv_1='synchronized' + { + newLeafNode(otherlv_1, grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); + } + lv_param_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule()); + } + set( + $current, + "param", + lv_param_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=')' + { + newLeafNode(otherlv_4, grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); + } + lv_expression_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule()); + } + set( + $current, + "expression", + lv_expression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXCatchClause +entryRuleXCatchClause returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXCatchClauseRule()); } + iv_ruleXCatchClause=ruleXCatchClause + { $current=$iv_ruleXCatchClause.current; } + EOF; + +// Rule XCatchClause +ruleXCatchClause returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ('catch')=> + otherlv_0='catch' + { + newLeafNode(otherlv_0, grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); + } + ) + otherlv_1='(' + { + newLeafNode(otherlv_1, grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); + } + lv_declaredParam_2_0=ruleFullJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCatchClauseRule()); + } + set( + $current, + "declaredParam", + lv_declaredParam_2_0, + "org.eclipse.xtext.xbase.Xbase.FullJvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_3=')' + { + newLeafNode(otherlv_3, grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); + } + lv_expression_4_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCatchClauseRule()); + } + set( + $current, + "expression", + lv_expression_4_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleQualifiedName +entryRuleQualifiedName returns [String current=null]: + { newCompositeNode(grammarAccess.getQualifiedNameRule()); } + iv_ruleQualifiedName=ruleQualifiedName + { $current=$iv_ruleQualifiedName.current.getText(); } + EOF; + +// Rule QualifiedName +ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); + } + this_ValidID_0=ruleValidID + { + $current.merge(this_ValidID_0); + } + { + afterParserOrEnumRuleCall(); + } + ( + ( + ('.')=> + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); + } + ) + { + newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); + } + this_ValidID_2=ruleValidID + { + $current.merge(this_ValidID_2); + } + { + afterParserOrEnumRuleCall(); + } + )* + ) +; + +// Entry rule entryRuleNumber +entryRuleNumber returns [String current=null]@init { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +}: + { newCompositeNode(grammarAccess.getNumberRule()); } + iv_ruleNumber=ruleNumber + { $current=$iv_ruleNumber.current.getText(); } + EOF; +finally { + myHiddenTokenState.restore(); +} + +// Rule Number +ruleNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +} +@after { + leaveRule(); +}: + ( + this_HEX_0=RULE_HEX + { + $current.merge(this_HEX_0); + } + { + newLeafNode(this_HEX_0, grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); + } + | + ( + ( + this_INT_1=RULE_INT + { + $current.merge(this_INT_1); + } + { + newLeafNode(this_INT_1, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); + } + | + this_DECIMAL_2=RULE_DECIMAL + { + $current.merge(this_DECIMAL_2); + } + { + newLeafNode(this_DECIMAL_2, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); + } + ) + ( + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); + } + ( + this_INT_4=RULE_INT + { + $current.merge(this_INT_4); + } + { + newLeafNode(this_INT_4, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); + } + | + this_DECIMAL_5=RULE_DECIMAL + { + $current.merge(this_DECIMAL_5); + } + { + newLeafNode(this_DECIMAL_5, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); + } + ) + )? + ) + ) +; +finally { + myHiddenTokenState.restore(); +} + +// Entry rule entryRuleJvmTypeReference +entryRuleJvmTypeReference returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmTypeReferenceRule()); } + iv_ruleJvmTypeReference=ruleJvmTypeReference + { $current=$iv_ruleJvmTypeReference.current; } + EOF; + +// Rule JvmTypeReference +ruleJvmTypeReference returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); + } + this_JvmParameterizedTypeReference_0=ruleJvmParameterizedTypeReference + { + $current = $this_JvmParameterizedTypeReference_0.current; + afterParserOrEnumRuleCall(); + } + ( + (( + ( + ) + ruleArrayBrackets + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0(), + $current); + } + ) + { + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); + } + ruleArrayBrackets + { + afterParserOrEnumRuleCall(); + } + ) + )* + ) + | + { + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); + } + this_XFunctionTypeRef_3=ruleXFunctionTypeRef + { + $current = $this_XFunctionTypeRef_3.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleArrayBrackets +entryRuleArrayBrackets returns [String current=null]: + { newCompositeNode(grammarAccess.getArrayBracketsRule()); } + iv_ruleArrayBrackets=ruleArrayBrackets + { $current=$iv_ruleArrayBrackets.current.getText(); } + EOF; + +// Rule ArrayBrackets +ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='[' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); + } + kw=']' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); + } + ) +; + +// Entry rule entryRuleXFunctionTypeRef +entryRuleXFunctionTypeRef returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXFunctionTypeRefRule()); } + iv_ruleXFunctionTypeRef=ruleXFunctionTypeRef + { $current=$iv_ruleXFunctionTypeRef.current; } + EOF; + +// Rule XFunctionTypeRef +ruleXFunctionTypeRef returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + otherlv_0='(' + { + newLeafNode(otherlv_0, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); + } + lv_paramTypes_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + add( + $current, + "paramTypes", + lv_paramTypes_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=',' + { + newLeafNode(otherlv_2, grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); + } + lv_paramTypes_3_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + add( + $current, + "paramTypes", + lv_paramTypes_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_4=')' + { + newLeafNode(otherlv_4, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); + } + )? + otherlv_5='=>' + { + newLeafNode(otherlv_5, grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); + } + lv_returnType_6_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + set( + $current, + "returnType", + lv_returnType_6_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleJvmParameterizedTypeReference +entryRuleJvmParameterizedTypeReference returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceRule()); } + iv_ruleJvmParameterizedTypeReference=ruleJvmParameterizedTypeReference + { $current=$iv_ruleJvmParameterizedTypeReference.current; } + EOF; + +// Rule JvmParameterizedTypeReference +ruleJvmParameterizedTypeReference returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + } + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ('<')=> + otherlv_1='<' + { + newLeafNode(otherlv_1, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + lv_arguments_2_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + $current, + "arguments", + lv_arguments_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + lv_arguments_4_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + $current, + "arguments", + lv_arguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_5='>' + { + newLeafNode(otherlv_5, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); + } + ( + ( + (( + ( + ) + '.' + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0(), + $current); + } + ) + otherlv_7='.' + { + newLeafNode(otherlv_7, grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); + } + ) + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + } + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); + } + ruleValidID + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ('<')=> + otherlv_9='<' + { + newLeafNode(otherlv_9, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); + } + lv_arguments_10_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + $current, + "arguments", + lv_arguments_10_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_11=',' + { + newLeafNode(otherlv_11, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); + } + lv_arguments_12_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + $current, + "arguments", + lv_arguments_12_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_13='>' + { + newLeafNode(otherlv_13, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); + } + )? + )* + )? + ) +; + +// Entry rule entryRuleJvmArgumentTypeReference +entryRuleJvmArgumentTypeReference returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceRule()); } + iv_ruleJvmArgumentTypeReference=ruleJvmArgumentTypeReference + { $current=$iv_ruleJvmArgumentTypeReference.current; } + EOF; + +// Rule JvmArgumentTypeReference +ruleJvmArgumentTypeReference returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); + } + this_JvmTypeReference_0=ruleJvmTypeReference + { + $current = $this_JvmTypeReference_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); + } + this_JvmWildcardTypeReference_1=ruleJvmWildcardTypeReference + { + $current = $this_JvmWildcardTypeReference_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleJvmWildcardTypeReference +entryRuleJvmWildcardTypeReference returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceRule()); } + iv_ruleJvmWildcardTypeReference=ruleJvmWildcardTypeReference + { $current=$iv_ruleJvmWildcardTypeReference.current; } + EOF; + +// Rule JvmWildcardTypeReference +ruleJvmWildcardTypeReference returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0(), + $current); + } + ) + otherlv_1='?' + { + newLeafNode(otherlv_1, grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); + } + ( + ( + ( + ( + { + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); + } + lv_constraints_2_0=ruleJvmUpperBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + $current, + "constraints", + lv_constraints_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmUpperBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); + } + lv_constraints_3_0=ruleJvmUpperBoundAnded + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + $current, + "constraints", + lv_constraints_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmUpperBoundAnded"); + afterParserOrEnumRuleCall(); + } + ) + )* + ) + | + ( + ( + ( + { + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); + } + lv_constraints_4_0=ruleJvmLowerBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + $current, + "constraints", + lv_constraints_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmLowerBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); + } + lv_constraints_5_0=ruleJvmLowerBoundAnded + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + $current, + "constraints", + lv_constraints_5_0, + "org.eclipse.xtext.xbase.Xtype.JvmLowerBoundAnded"); + afterParserOrEnumRuleCall(); + } + ) + )* + ) + )? + ) +; + +// Entry rule entryRuleJvmUpperBound +entryRuleJvmUpperBound returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmUpperBoundRule()); } + iv_ruleJvmUpperBound=ruleJvmUpperBound + { $current=$iv_ruleJvmUpperBound.current; } + EOF; + +// Rule JvmUpperBound +ruleJvmUpperBound returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='extends' + { + newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + lv_typeReference_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmUpperBoundRule()); + } + set( + $current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleJvmUpperBoundAnded +entryRuleJvmUpperBoundAnded returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmUpperBoundAndedRule()); } + iv_ruleJvmUpperBoundAnded=ruleJvmUpperBoundAnded + { $current=$iv_ruleJvmUpperBoundAnded.current; } + EOF; + +// Rule JvmUpperBoundAnded +ruleJvmUpperBoundAnded returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='&' + { + newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + lv_typeReference_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmUpperBoundAndedRule()); + } + set( + $current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleJvmLowerBound +entryRuleJvmLowerBound returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmLowerBoundRule()); } + iv_ruleJvmLowerBound=ruleJvmLowerBound + { $current=$iv_ruleJvmLowerBound.current; } + EOF; + +// Rule JvmLowerBound +ruleJvmLowerBound returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='super' + { + newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + lv_typeReference_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmLowerBoundRule()); + } + set( + $current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleJvmLowerBoundAnded +entryRuleJvmLowerBoundAnded returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmLowerBoundAndedRule()); } + iv_ruleJvmLowerBoundAnded=ruleJvmLowerBoundAnded + { $current=$iv_ruleJvmLowerBoundAnded.current; } + EOF; + +// Rule JvmLowerBoundAnded +ruleJvmLowerBoundAnded returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='&' + { + newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + lv_typeReference_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmLowerBoundAndedRule()); + } + set( + $current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleQualifiedNameWithWildcard +entryRuleQualifiedNameWithWildcard returns [String current=null]: + { newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); } + iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard + { $current=$iv_ruleQualifiedNameWithWildcard.current.getText(); } + EOF; + +// Rule QualifiedNameWithWildcard +ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); + } + this_QualifiedName_0=ruleQualifiedName + { + $current.merge(this_QualifiedName_0); + } + { + afterParserOrEnumRuleCall(); + } + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); + } + kw='*' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); + } + ) +; + +// Entry rule entryRuleValidID +entryRuleValidID returns [String current=null]: + { newCompositeNode(grammarAccess.getValidIDRule()); } + iv_ruleValidID=ruleValidID + { $current=$iv_ruleValidID.current.getText(); } + EOF; + +// Rule ValidID +ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + this_ID_0=RULE_ID + { + $current.merge(this_ID_0); + } + { + newLeafNode(this_ID_0, grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); + } +; + +// Entry rule entryRuleXImportDeclaration +entryRuleXImportDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXImportDeclarationRule()); } + iv_ruleXImportDeclaration=ruleXImportDeclaration + { $current=$iv_ruleXImportDeclaration.current; } + EOF; + +// Rule XImportDeclaration +ruleXImportDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='import' + { + newLeafNode(otherlv_0, grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); + } + ( + ( + ( + ( + lv_static_1_0='static' + { + newLeafNode(lv_static_1_0, grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed($current, "static", lv_static_1_0 != null, "static"); + } + ) + ) + ( + ( + lv_extension_2_0='extension' + { + newLeafNode(lv_extension_2_0, grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed($current, "extension", lv_extension_2_0 != null, "extension"); + } + ) + )? + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + } + { + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); + } + ruleQualifiedNameInStaticImport + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ( + lv_wildcard_4_0='*' + { + newLeafNode(lv_wildcard_4_0, grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed($current, "wildcard", lv_wildcard_4_0 != null, "*"); + } + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); + } + lv_memberName_5_0=ruleValidID + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXImportDeclarationRule()); + } + set( + $current, + "memberName", + lv_memberName_5_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + | + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + } + { + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); + } + lv_importedNamespace_7_0=ruleQualifiedNameWithWildcard + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXImportDeclarationRule()); + } + set( + $current, + "importedNamespace", + lv_importedNamespace_7_0, + "org.eclipse.xtext.xbase.Xtype.QualifiedNameWithWildcard"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ( + otherlv_8=';' + { + newLeafNode(otherlv_8, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); + } + )? + ) +; + +// Entry rule entryRuleQualifiedNameInStaticImport +entryRuleQualifiedNameInStaticImport returns [String current=null]: + { newCompositeNode(grammarAccess.getQualifiedNameInStaticImportRule()); } + iv_ruleQualifiedNameInStaticImport=ruleQualifiedNameInStaticImport + { $current=$iv_ruleQualifiedNameInStaticImport.current.getText(); } + EOF; + +// Rule QualifiedNameInStaticImport +ruleQualifiedNameInStaticImport returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); + } + this_ValidID_0=ruleValidID + { + $current.merge(this_ValidID_0); + } + { + afterParserOrEnumRuleCall(); + } + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); + } + )+ +; + RULE_REAL : ('0'..'9')* '.' ('0'..'9')*; -RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; +RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F'|'_')+ ('#' (('b'|'B') ('i'|'I')|('l'|'L')))?; + +RULE_INT : '0'..'9' ('0'..'9'|'_')*; + +RULE_DECIMAL : RULE_INT (('e'|'E') ('+'|'-')? RULE_INT)? (('b'|'B') ('i'|'I'|'d'|'D')|('l'|'L'|'d'|'D'|'f'|'F'))?; -RULE_INT : ('0'..'9')+; +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'$'|'_') ('a'..'z'|'A'..'Z'|'$'|'_'|'0'..'9')*; -RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\''); +RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'?|'\'' ('\\' .|~(('\\'|'\'')))* '\''?); RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; diff --git a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/parser/antlr/internal/InternalExport.tokens b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/parser/antlr/internal/InternalExport.tokens index b8d9e6885d..822a470036 100644 --- a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/parser/antlr/internal/InternalExport.tokens +++ b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/parser/antlr/internal/InternalExport.tokens @@ -1,83 +1,135 @@ -'!'=62 -'!='=54 -'&&'=51 -'('=28 -')'=29 -'*'=60 -'+'=25 -','=23 -'-'=59 -'->'=42 -'.'=63 -'/'=61 -':'=41 -'::'=39 -';'=24 -'<'=58 -'<='=56 -'='=22 -'=='=53 -'>'=57 -'>='=55 -'?'=43 -'@'=26 -'Collection'=79 -'GLOBALVAR'=77 -'List'=80 -'Set'=81 -'['=20 -']'=21 -'as'=19 -'attribute'=34 -'case'=49 -'collect'=65 -'data'=38 -'default'=48 -'else'=46 -'eval'=27 -'exists'=69 -'export'=12 -'extension'=13 -'false'=75 -'field'=37 -'for'=14 -'forAll'=72 -'if'=44 -'implies'=52 -'import'=18 -'interface'=15 -'let'=40 -'lookup'=30 -'new'=78 -'notExists'=70 -'null'=76 -'object-fingerprint'=35 -'qualified'=31 -'reject'=68 -'resource-fingerprint'=36 -'select'=66 -'selectFirst'=67 -'sortBy'=71 -'switch'=47 -'then'=45 -'true'=74 -'typeSelect'=64 -'unique'=33 -'uri-fragment'=32 -'{'=16 -'|'=73 -'||'=50 -'}'=17 -RULE_ANY_OTHER=11 +'!'=64 +'!='=56 +'!=='=90 +'#'=102 +'%'=98 +'%='=88 +'&&'=53 +'&'=117 +'('=30 +')'=31 +'*'=62 +'**'=97 +'*='=86 +'+'=27 +'++'=99 +'+='=84 +','=25 +'-'=61 +'--'=100 +'-='=85 +'->'=44 +'.'=65 +'..'=93 +'..<'=92 +'/'=63 +'/='=87 +':'=43 +'::'=41 +';'=26 +'<'=60 +'<='=58 +'<>'=95 +'='=24 +'=='=55 +'==='=89 +'=>'=94 +'>'=59 +'>='=57 +'?'=45 +'?.'=101 +'?:'=96 +'@'=28 +'Collection'=81 +'GLOBALVAR'=79 +'List'=82 +'Set'=83 +'['=22 +']'=23 +'as'=21 +'attribute'=36 +'case'=51 +'catch'=116 +'collect'=67 +'data'=40 +'default'=50 +'do'=104 +'else'=48 +'eval'=29 +'exists'=71 +'export'=14 +'extends'=107 +'extension'=15 +'false'=77 +'field'=39 +'finally'=114 +'for'=16 +'forAll'=74 +'if'=46 +'implies'=54 +'import'=20 +'instanceof'=91 +'interface'=17 +'let'=42 +'lookup'=32 +'new'=80 +'notExists'=72 +'null'=78 +'object-fingerprint'=37 +'qualified'=33 +'reject'=70 +'resource-fingerprint'=38 +'return'=112 +'select'=68 +'selectFirst'=69 +'sortBy'=73 +'static'=108 +'super'=109 +'switch'=49 +'synchronized'=115 +'then'=47 +'throw'=111 +'true'=76 +'try'=113 +'typeSelect'=66 +'typeof'=110 +'unique'=35 +'uri-fragment'=34 +'val'=106 +'var'=105 +'while'=103 +'{'=18 +'|'=75 +'||'=52 +'}'=19 +RULE_ANY_OTHER=13 +RULE_DECIMAL=9 +RULE_HEX=8 RULE_ID=4 RULE_INT=6 -RULE_ML_COMMENT=8 +RULE_ML_COMMENT=10 RULE_REAL=7 -RULE_SL_COMMENT=9 +RULE_SL_COMMENT=11 RULE_STRING=5 -RULE_WS=10 -T__12=12 -T__13=13 +RULE_WS=12 +T__100=100 +T__101=101 +T__102=102 +T__103=103 +T__104=104 +T__105=105 +T__106=106 +T__107=107 +T__108=108 +T__109=109 +T__110=110 +T__111=111 +T__112=112 +T__113=113 +T__114=114 +T__115=115 +T__116=116 +T__117=117 T__14=14 T__15=15 T__16=16 @@ -146,3 +198,21 @@ T__78=78 T__79=79 T__80=80 T__81=81 +T__82=82 +T__83=83 +T__84=84 +T__85=85 +T__86=86 +T__87=87 +T__88=88 +T__89=89 +T__90=90 +T__91=91 +T__92=92 +T__93=93 +T__94=94 +T__95=95 +T__96=96 +T__97=97 +T__98=98 +T__99=99 diff --git a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/parser/antlr/internal/InternalExportLexer.java b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/parser/antlr/internal/InternalExportLexer.java index fda438468c..d233319e04 100644 --- a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/parser/antlr/internal/InternalExportLexer.java +++ b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/parser/antlr/internal/InternalExportLexer.java @@ -12,19 +12,12 @@ @SuppressWarnings("all") public class InternalExportLexer extends Lexer { + public static final int RULE_HEX=8; public static final int T__50=50; - public static final int T__19=19; - public static final int T__15=15; public static final int T__59=59; - public static final int T__16=16; - public static final int T__17=17; - public static final int T__18=18; public static final int T__55=55; - public static final int T__12=12; public static final int T__56=56; - public static final int T__13=13; public static final int T__57=57; - public static final int T__14=14; public static final int T__58=58; public static final int T__51=51; public static final int T__52=52; @@ -34,53 +27,26 @@ public class InternalExportLexer extends Lexer { public static final int T__61=61; public static final int RULE_ID=4; public static final int RULE_REAL=7; - public static final int T__26=26; - public static final int T__27=27; - public static final int T__28=28; public static final int RULE_INT=6; - public static final int T__29=29; - public static final int T__22=22; public static final int T__66=66; - public static final int RULE_ML_COMMENT=8; - public static final int T__23=23; + public static final int RULE_ML_COMMENT=10; public static final int T__67=67; - public static final int T__24=24; public static final int T__68=68; - public static final int T__25=25; public static final int T__69=69; public static final int T__62=62; public static final int T__63=63; - public static final int T__20=20; public static final int T__64=64; - public static final int T__21=21; public static final int T__65=65; - public static final int T__70=70; - public static final int T__71=71; - public static final int T__72=72; - public static final int RULE_STRING=5; - public static final int RULE_SL_COMMENT=9; public static final int T__37=37; public static final int T__38=38; public static final int T__39=39; public static final int T__33=33; - public static final int T__77=77; public static final int T__34=34; - public static final int T__78=78; public static final int T__35=35; - public static final int T__79=79; public static final int T__36=36; - public static final int T__73=73; - public static final int EOF=-1; public static final int T__30=30; - public static final int T__74=74; public static final int T__31=31; - public static final int T__75=75; public static final int T__32=32; - public static final int T__76=76; - public static final int T__80=80; - public static final int T__81=81; - public static final int RULE_WS=10; - public static final int RULE_ANY_OTHER=11; public static final int T__48=48; public static final int T__49=49; public static final int T__44=44; @@ -91,6 +57,76 @@ public class InternalExportLexer extends Lexer { public static final int T__41=41; public static final int T__42=42; public static final int T__43=43; + public static final int T__91=91; + public static final int T__100=100; + public static final int T__92=92; + public static final int T__93=93; + public static final int T__102=102; + public static final int T__94=94; + public static final int T__101=101; + public static final int T__90=90; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__99=99; + public static final int T__14=14; + public static final int T__95=95; + public static final int T__96=96; + public static final int T__97=97; + public static final int T__98=98; + public static final int RULE_DECIMAL=9; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int T__29=29; + public static final int T__22=22; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + public static final int T__70=70; + public static final int T__71=71; + public static final int T__72=72; + public static final int RULE_STRING=5; + public static final int RULE_SL_COMMENT=11; + public static final int T__77=77; + public static final int T__78=78; + public static final int T__79=79; + public static final int T__73=73; + public static final int T__115=115; + public static final int EOF=-1; + public static final int T__74=74; + public static final int T__114=114; + public static final int T__75=75; + public static final int T__117=117; + public static final int T__76=76; + public static final int T__116=116; + public static final int T__80=80; + public static final int T__111=111; + public static final int T__81=81; + public static final int T__110=110; + public static final int T__82=82; + public static final int T__113=113; + public static final int T__83=83; + public static final int T__112=112; + public static final int RULE_WS=12; + public static final int RULE_ANY_OTHER=13; + public static final int T__88=88; + public static final int T__108=108; + public static final int T__89=89; + public static final int T__107=107; + public static final int T__109=109; + public static final int T__84=84; + public static final int T__104=104; + public static final int T__85=85; + public static final int T__103=103; + public static final int T__86=86; + public static final int T__106=106; + public static final int T__87=87; + public static final int T__105=105; // delegates // delegators @@ -105,57 +141,15 @@ public InternalExportLexer(CharStream input, RecognizerSharedState state) { } public String getGrammarFileName() { return "InternalExport.g"; } - // $ANTLR start "T__12" - public final void mT__12() throws RecognitionException { - try { - int _type = T__12; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:11:7: ( 'export' ) - // InternalExport.g:11:9: 'export' - { - match("export"); - - - } - - 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; - // InternalExport.g:12:7: ( 'extension' ) - // InternalExport.g:12:9: 'extension' - { - match("extension"); - - - } - - 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; - // InternalExport.g:13:7: ( 'for' ) - // InternalExport.g:13:9: 'for' + // InternalExport.g:11:7: ( 'export' ) + // InternalExport.g:11:9: 'export' { - match("for"); + match("export"); } @@ -173,10 +167,10 @@ public final void mT__15() throws RecognitionException { try { int _type = T__15; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:14:7: ( 'interface' ) - // InternalExport.g:14:9: 'interface' + // InternalExport.g:12:7: ( 'extension' ) + // InternalExport.g:12:9: 'extension' { - match("interface"); + match("extension"); } @@ -194,10 +188,11 @@ public final void mT__16() throws RecognitionException { try { int _type = T__16; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:15:7: ( '{' ) - // InternalExport.g:15:9: '{' + // InternalExport.g:13:7: ( 'for' ) + // InternalExport.g:13:9: 'for' { - match('{'); + match("for"); + } @@ -214,10 +209,11 @@ public final void mT__17() throws RecognitionException { try { int _type = T__17; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:16:7: ( '}' ) - // InternalExport.g:16:9: '}' + // InternalExport.g:14:7: ( 'interface' ) + // InternalExport.g:14:9: 'interface' { - match('}'); + match("interface"); + } @@ -234,11 +230,10 @@ public final void mT__18() throws RecognitionException { try { int _type = T__18; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:17:7: ( 'import' ) - // InternalExport.g:17:9: 'import' + // InternalExport.g:15:7: ( '{' ) + // InternalExport.g:15:9: '{' { - match("import"); - + match('{'); } @@ -255,11 +250,10 @@ public final void mT__19() throws RecognitionException { try { int _type = T__19; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:18:7: ( 'as' ) - // InternalExport.g:18:9: 'as' + // InternalExport.g:16:7: ( '}' ) + // InternalExport.g:16:9: '}' { - match("as"); - + match('}'); } @@ -276,10 +270,11 @@ public final void mT__20() throws RecognitionException { try { int _type = T__20; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:19:7: ( '[' ) - // InternalExport.g:19:9: '[' + // InternalExport.g:17:7: ( 'import' ) + // InternalExport.g:17:9: 'import' { - match('['); + match("import"); + } @@ -296,10 +291,11 @@ public final void mT__21() throws RecognitionException { try { int _type = T__21; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:20:7: ( ']' ) - // InternalExport.g:20:9: ']' + // InternalExport.g:18:7: ( 'as' ) + // InternalExport.g:18:9: 'as' { - match(']'); + match("as"); + } @@ -316,10 +312,10 @@ public final void mT__22() throws RecognitionException { try { int _type = T__22; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:21:7: ( '=' ) - // InternalExport.g:21:9: '=' + // InternalExport.g:19:7: ( '[' ) + // InternalExport.g:19:9: '[' { - match('='); + match('['); } @@ -336,10 +332,10 @@ public final void mT__23() throws RecognitionException { try { int _type = T__23; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:22:7: ( ',' ) - // InternalExport.g:22:9: ',' + // InternalExport.g:20:7: ( ']' ) + // InternalExport.g:20:9: ']' { - match(','); + match(']'); } @@ -356,10 +352,10 @@ public final void mT__24() throws RecognitionException { try { int _type = T__24; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:23:7: ( ';' ) - // InternalExport.g:23:9: ';' + // InternalExport.g:21:7: ( '=' ) + // InternalExport.g:21:9: '=' { - match(';'); + match('='); } @@ -376,10 +372,10 @@ public final void mT__25() throws RecognitionException { try { int _type = T__25; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:24:7: ( '+' ) - // InternalExport.g:24:9: '+' + // InternalExport.g:22:7: ( ',' ) + // InternalExport.g:22:9: ',' { - match('+'); + match(','); } @@ -396,10 +392,10 @@ public final void mT__26() throws RecognitionException { try { int _type = T__26; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:25:7: ( '@' ) - // InternalExport.g:25:9: '@' + // InternalExport.g:23:7: ( ';' ) + // InternalExport.g:23:9: ';' { - match('@'); + match(';'); } @@ -416,11 +412,10 @@ public final void mT__27() throws RecognitionException { try { int _type = T__27; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:26:7: ( 'eval' ) - // InternalExport.g:26:9: 'eval' + // InternalExport.g:24:7: ( '+' ) + // InternalExport.g:24:9: '+' { - match("eval"); - + match('+'); } @@ -437,10 +432,10 @@ public final void mT__28() throws RecognitionException { try { int _type = T__28; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:27:7: ( '(' ) - // InternalExport.g:27:9: '(' + // InternalExport.g:25:7: ( '@' ) + // InternalExport.g:25:9: '@' { - match('('); + match('@'); } @@ -457,10 +452,11 @@ public final void mT__29() throws RecognitionException { try { int _type = T__29; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:28:7: ( ')' ) - // InternalExport.g:28:9: ')' + // InternalExport.g:26:7: ( 'eval' ) + // InternalExport.g:26:9: 'eval' { - match(')'); + match("eval"); + } @@ -477,11 +473,10 @@ public final void mT__30() throws RecognitionException { try { int _type = T__30; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:29:7: ( 'lookup' ) - // InternalExport.g:29:9: 'lookup' + // InternalExport.g:27:7: ( '(' ) + // InternalExport.g:27:9: '(' { - match("lookup"); - + match('('); } @@ -498,11 +493,10 @@ public final void mT__31() throws RecognitionException { try { int _type = T__31; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:30:7: ( 'qualified' ) - // InternalExport.g:30:9: 'qualified' + // InternalExport.g:28:7: ( ')' ) + // InternalExport.g:28:9: ')' { - match("qualified"); - + match(')'); } @@ -519,10 +513,10 @@ public final void mT__32() throws RecognitionException { try { int _type = T__32; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:31:7: ( 'uri-fragment' ) - // InternalExport.g:31:9: 'uri-fragment' + // InternalExport.g:29:7: ( 'lookup' ) + // InternalExport.g:29:9: 'lookup' { - match("uri-fragment"); + match("lookup"); } @@ -540,10 +534,10 @@ public final void mT__33() throws RecognitionException { try { int _type = T__33; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:32:7: ( 'unique' ) - // InternalExport.g:32:9: 'unique' + // InternalExport.g:30:7: ( 'qualified' ) + // InternalExport.g:30:9: 'qualified' { - match("unique"); + match("qualified"); } @@ -561,10 +555,10 @@ public final void mT__34() throws RecognitionException { try { int _type = T__34; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:33:7: ( 'attribute' ) - // InternalExport.g:33:9: 'attribute' + // InternalExport.g:31:7: ( 'uri-fragment' ) + // InternalExport.g:31:9: 'uri-fragment' { - match("attribute"); + match("uri-fragment"); } @@ -582,10 +576,10 @@ public final void mT__35() throws RecognitionException { try { int _type = T__35; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:34:7: ( 'object-fingerprint' ) - // InternalExport.g:34:9: 'object-fingerprint' + // InternalExport.g:32:7: ( 'unique' ) + // InternalExport.g:32:9: 'unique' { - match("object-fingerprint"); + match("unique"); } @@ -603,10 +597,10 @@ public final void mT__36() throws RecognitionException { try { int _type = T__36; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:35:7: ( 'resource-fingerprint' ) - // InternalExport.g:35:9: 'resource-fingerprint' + // InternalExport.g:33:7: ( 'attribute' ) + // InternalExport.g:33:9: 'attribute' { - match("resource-fingerprint"); + match("attribute"); } @@ -624,10 +618,10 @@ public final void mT__37() throws RecognitionException { try { int _type = T__37; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:36:7: ( 'field' ) - // InternalExport.g:36:9: 'field' + // InternalExport.g:34:7: ( 'object-fingerprint' ) + // InternalExport.g:34:9: 'object-fingerprint' { - match("field"); + match("object-fingerprint"); } @@ -645,10 +639,10 @@ public final void mT__38() throws RecognitionException { try { int _type = T__38; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:37:7: ( 'data' ) - // InternalExport.g:37:9: 'data' + // InternalExport.g:35:7: ( 'resource-fingerprint' ) + // InternalExport.g:35:9: 'resource-fingerprint' { - match("data"); + match("resource-fingerprint"); } @@ -666,10 +660,10 @@ public final void mT__39() throws RecognitionException { try { int _type = T__39; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:38:7: ( '::' ) - // InternalExport.g:38:9: '::' + // InternalExport.g:36:7: ( 'field' ) + // InternalExport.g:36:9: 'field' { - match("::"); + match("field"); } @@ -687,10 +681,10 @@ public final void mT__40() throws RecognitionException { try { int _type = T__40; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:39:7: ( 'let' ) - // InternalExport.g:39:9: 'let' + // InternalExport.g:37:7: ( 'data' ) + // InternalExport.g:37:9: 'data' { - match("let"); + match("data"); } @@ -708,10 +702,11 @@ public final void mT__41() throws RecognitionException { try { int _type = T__41; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:40:7: ( ':' ) - // InternalExport.g:40:9: ':' + // InternalExport.g:38:7: ( '::' ) + // InternalExport.g:38:9: '::' { - match(':'); + match("::"); + } @@ -728,10 +723,10 @@ public final void mT__42() throws RecognitionException { try { int _type = T__42; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:41:7: ( '->' ) - // InternalExport.g:41:9: '->' + // InternalExport.g:39:7: ( 'let' ) + // InternalExport.g:39:9: 'let' { - match("->"); + match("let"); } @@ -749,10 +744,10 @@ public final void mT__43() throws RecognitionException { try { int _type = T__43; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:42:7: ( '?' ) - // InternalExport.g:42:9: '?' + // InternalExport.g:40:7: ( ':' ) + // InternalExport.g:40:9: ':' { - match('?'); + match(':'); } @@ -769,10 +764,10 @@ public final void mT__44() throws RecognitionException { try { int _type = T__44; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:43:7: ( 'if' ) - // InternalExport.g:43:9: 'if' + // InternalExport.g:41:7: ( '->' ) + // InternalExport.g:41:9: '->' { - match("if"); + match("->"); } @@ -790,11 +785,10 @@ public final void mT__45() throws RecognitionException { try { int _type = T__45; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:44:7: ( 'then' ) - // InternalExport.g:44:9: 'then' + // InternalExport.g:42:7: ( '?' ) + // InternalExport.g:42:9: '?' { - match("then"); - + match('?'); } @@ -811,10 +805,10 @@ public final void mT__46() throws RecognitionException { try { int _type = T__46; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:45:7: ( 'else' ) - // InternalExport.g:45:9: 'else' + // InternalExport.g:43:7: ( 'if' ) + // InternalExport.g:43:9: 'if' { - match("else"); + match("if"); } @@ -832,10 +826,10 @@ public final void mT__47() throws RecognitionException { try { int _type = T__47; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:46:7: ( 'switch' ) - // InternalExport.g:46:9: 'switch' + // InternalExport.g:44:7: ( 'then' ) + // InternalExport.g:44:9: 'then' { - match("switch"); + match("then"); } @@ -853,10 +847,10 @@ public final void mT__48() throws RecognitionException { try { int _type = T__48; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:47:7: ( 'default' ) - // InternalExport.g:47:9: 'default' + // InternalExport.g:45:7: ( 'else' ) + // InternalExport.g:45:9: 'else' { - match("default"); + match("else"); } @@ -874,10 +868,10 @@ public final void mT__49() throws RecognitionException { try { int _type = T__49; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:48:7: ( 'case' ) - // InternalExport.g:48:9: 'case' + // InternalExport.g:46:7: ( 'switch' ) + // InternalExport.g:46:9: 'switch' { - match("case"); + match("switch"); } @@ -895,10 +889,10 @@ public final void mT__50() throws RecognitionException { try { int _type = T__50; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:49:7: ( '||' ) - // InternalExport.g:49:9: '||' + // InternalExport.g:47:7: ( 'default' ) + // InternalExport.g:47:9: 'default' { - match("||"); + match("default"); } @@ -916,10 +910,10 @@ public final void mT__51() throws RecognitionException { try { int _type = T__51; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:50:7: ( '&&' ) - // InternalExport.g:50:9: '&&' + // InternalExport.g:48:7: ( 'case' ) + // InternalExport.g:48:9: 'case' { - match("&&"); + match("case"); } @@ -937,10 +931,10 @@ public final void mT__52() throws RecognitionException { try { int _type = T__52; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:51:7: ( 'implies' ) - // InternalExport.g:51:9: 'implies' + // InternalExport.g:49:7: ( '||' ) + // InternalExport.g:49:9: '||' { - match("implies"); + match("||"); } @@ -958,10 +952,10 @@ public final void mT__53() throws RecognitionException { try { int _type = T__53; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:52:7: ( '==' ) - // InternalExport.g:52:9: '==' + // InternalExport.g:50:7: ( '&&' ) + // InternalExport.g:50:9: '&&' { - match("=="); + match("&&"); } @@ -979,10 +973,10 @@ public final void mT__54() throws RecognitionException { try { int _type = T__54; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:53:7: ( '!=' ) - // InternalExport.g:53:9: '!=' + // InternalExport.g:51:7: ( 'implies' ) + // InternalExport.g:51:9: 'implies' { - match("!="); + match("implies"); } @@ -1000,10 +994,10 @@ public final void mT__55() throws RecognitionException { try { int _type = T__55; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:54:7: ( '>=' ) - // InternalExport.g:54:9: '>=' + // InternalExport.g:52:7: ( '==' ) + // InternalExport.g:52:9: '==' { - match(">="); + match("=="); } @@ -1021,10 +1015,10 @@ public final void mT__56() throws RecognitionException { try { int _type = T__56; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:55:7: ( '<=' ) - // InternalExport.g:55:9: '<=' + // InternalExport.g:53:7: ( '!=' ) + // InternalExport.g:53:9: '!=' { - match("<="); + match("!="); } @@ -1042,10 +1036,11 @@ public final void mT__57() throws RecognitionException { try { int _type = T__57; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:56:7: ( '>' ) - // InternalExport.g:56:9: '>' + // InternalExport.g:54:7: ( '>=' ) + // InternalExport.g:54:9: '>=' { - match('>'); + match(">="); + } @@ -1062,10 +1057,11 @@ public final void mT__58() throws RecognitionException { try { int _type = T__58; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:57:7: ( '<' ) - // InternalExport.g:57:9: '<' + // InternalExport.g:55:7: ( '<=' ) + // InternalExport.g:55:9: '<=' { - match('<'); + match("<="); + } @@ -1082,10 +1078,10 @@ public final void mT__59() throws RecognitionException { try { int _type = T__59; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:58:7: ( '-' ) - // InternalExport.g:58:9: '-' + // InternalExport.g:56:7: ( '>' ) + // InternalExport.g:56:9: '>' { - match('-'); + match('>'); } @@ -1102,10 +1098,10 @@ public final void mT__60() throws RecognitionException { try { int _type = T__60; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:59:7: ( '*' ) - // InternalExport.g:59:9: '*' + // InternalExport.g:57:7: ( '<' ) + // InternalExport.g:57:9: '<' { - match('*'); + match('<'); } @@ -1122,10 +1118,10 @@ public final void mT__61() throws RecognitionException { try { int _type = T__61; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:60:7: ( '/' ) - // InternalExport.g:60:9: '/' + // InternalExport.g:58:7: ( '-' ) + // InternalExport.g:58:9: '-' { - match('/'); + match('-'); } @@ -1142,10 +1138,10 @@ public final void mT__62() throws RecognitionException { try { int _type = T__62; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:61:7: ( '!' ) - // InternalExport.g:61:9: '!' + // InternalExport.g:59:7: ( '*' ) + // InternalExport.g:59:9: '*' { - match('!'); + match('*'); } @@ -1162,10 +1158,10 @@ public final void mT__63() throws RecognitionException { try { int _type = T__63; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:62:7: ( '.' ) - // InternalExport.g:62:9: '.' + // InternalExport.g:60:7: ( '/' ) + // InternalExport.g:60:9: '/' { - match('.'); + match('/'); } @@ -1182,11 +1178,10 @@ public final void mT__64() throws RecognitionException { try { int _type = T__64; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:63:7: ( 'typeSelect' ) - // InternalExport.g:63:9: 'typeSelect' + // InternalExport.g:61:7: ( '!' ) + // InternalExport.g:61:9: '!' { - match("typeSelect"); - + match('!'); } @@ -1203,11 +1198,10 @@ public final void mT__65() throws RecognitionException { try { int _type = T__65; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:64:7: ( 'collect' ) - // InternalExport.g:64:9: 'collect' + // InternalExport.g:62:7: ( '.' ) + // InternalExport.g:62:9: '.' { - match("collect"); - + match('.'); } @@ -1224,10 +1218,10 @@ public final void mT__66() throws RecognitionException { try { int _type = T__66; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:65:7: ( 'select' ) - // InternalExport.g:65:9: 'select' + // InternalExport.g:63:7: ( 'typeSelect' ) + // InternalExport.g:63:9: 'typeSelect' { - match("select"); + match("typeSelect"); } @@ -1245,10 +1239,10 @@ public final void mT__67() throws RecognitionException { try { int _type = T__67; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:66:7: ( 'selectFirst' ) - // InternalExport.g:66:9: 'selectFirst' + // InternalExport.g:64:7: ( 'collect' ) + // InternalExport.g:64:9: 'collect' { - match("selectFirst"); + match("collect"); } @@ -1266,10 +1260,10 @@ public final void mT__68() throws RecognitionException { try { int _type = T__68; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:67:7: ( 'reject' ) - // InternalExport.g:67:9: 'reject' + // InternalExport.g:65:7: ( 'select' ) + // InternalExport.g:65:9: 'select' { - match("reject"); + match("select"); } @@ -1287,10 +1281,10 @@ public final void mT__69() throws RecognitionException { try { int _type = T__69; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:68:7: ( 'exists' ) - // InternalExport.g:68:9: 'exists' + // InternalExport.g:66:7: ( 'selectFirst' ) + // InternalExport.g:66:9: 'selectFirst' { - match("exists"); + match("selectFirst"); } @@ -1308,10 +1302,10 @@ public final void mT__70() throws RecognitionException { try { int _type = T__70; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:69:7: ( 'notExists' ) - // InternalExport.g:69:9: 'notExists' + // InternalExport.g:67:7: ( 'reject' ) + // InternalExport.g:67:9: 'reject' { - match("notExists"); + match("reject"); } @@ -1329,10 +1323,10 @@ public final void mT__71() throws RecognitionException { try { int _type = T__71; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:70:7: ( 'sortBy' ) - // InternalExport.g:70:9: 'sortBy' + // InternalExport.g:68:7: ( 'exists' ) + // InternalExport.g:68:9: 'exists' { - match("sortBy"); + match("exists"); } @@ -1350,10 +1344,10 @@ public final void mT__72() throws RecognitionException { try { int _type = T__72; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:71:7: ( 'forAll' ) - // InternalExport.g:71:9: 'forAll' + // InternalExport.g:69:7: ( 'notExists' ) + // InternalExport.g:69:9: 'notExists' { - match("forAll"); + match("notExists"); } @@ -1371,10 +1365,11 @@ public final void mT__73() throws RecognitionException { try { int _type = T__73; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:72:7: ( '|' ) - // InternalExport.g:72:9: '|' + // InternalExport.g:70:7: ( 'sortBy' ) + // InternalExport.g:70:9: 'sortBy' { - match('|'); + match("sortBy"); + } @@ -1391,10 +1386,10 @@ public final void mT__74() throws RecognitionException { try { int _type = T__74; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:73:7: ( 'true' ) - // InternalExport.g:73:9: 'true' + // InternalExport.g:71:7: ( 'forAll' ) + // InternalExport.g:71:9: 'forAll' { - match("true"); + match("forAll"); } @@ -1412,11 +1407,10 @@ public final void mT__75() throws RecognitionException { try { int _type = T__75; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:74:7: ( 'false' ) - // InternalExport.g:74:9: 'false' + // InternalExport.g:72:7: ( '|' ) + // InternalExport.g:72:9: '|' { - match("false"); - + match('|'); } @@ -1433,10 +1427,10 @@ public final void mT__76() throws RecognitionException { try { int _type = T__76; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:75:7: ( 'null' ) - // InternalExport.g:75:9: 'null' + // InternalExport.g:73:7: ( 'true' ) + // InternalExport.g:73:9: 'true' { - match("null"); + match("true"); } @@ -1454,10 +1448,10 @@ public final void mT__77() throws RecognitionException { try { int _type = T__77; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:76:7: ( 'GLOBALVAR' ) - // InternalExport.g:76:9: 'GLOBALVAR' + // InternalExport.g:74:7: ( 'false' ) + // InternalExport.g:74:9: 'false' { - match("GLOBALVAR"); + match("false"); } @@ -1475,10 +1469,10 @@ public final void mT__78() throws RecognitionException { try { int _type = T__78; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:77:7: ( 'new' ) - // InternalExport.g:77:9: 'new' + // InternalExport.g:75:7: ( 'null' ) + // InternalExport.g:75:9: 'null' { - match("new"); + match("null"); } @@ -1496,10 +1490,10 @@ public final void mT__79() throws RecognitionException { try { int _type = T__79; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:78:7: ( 'Collection' ) - // InternalExport.g:78:9: 'Collection' + // InternalExport.g:76:7: ( 'GLOBALVAR' ) + // InternalExport.g:76:9: 'GLOBALVAR' { - match("Collection"); + match("GLOBALVAR"); } @@ -1517,8 +1511,50 @@ public final void mT__80() throws RecognitionException { try { int _type = T__80; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:79:7: ( 'List' ) - // InternalExport.g:79:9: 'List' + // InternalExport.g:77:7: ( 'new' ) + // InternalExport.g:77:9: 'new' + { + match("new"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__80" + + // $ANTLR start "T__81" + public final void mT__81() throws RecognitionException { + try { + int _type = T__81; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:78:7: ( 'Collection' ) + // InternalExport.g:78:9: 'Collection' + { + match("Collection"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__81" + + // $ANTLR start "T__82" + public final void mT__82() throws RecognitionException { + try { + int _type = T__82; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:79:7: ( 'List' ) + // InternalExport.g:79:9: 'List' { match("List"); @@ -1531,17 +1567,687 @@ public final void mT__80() throws RecognitionException { finally { } } - // $ANTLR end "T__80" + // $ANTLR end "T__82" + + // $ANTLR start "T__83" + public final void mT__83() throws RecognitionException { + try { + int _type = T__83; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:80:7: ( 'Set' ) + // InternalExport.g:80:9: 'Set' + { + match("Set"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__83" + + // $ANTLR start "T__84" + public final void mT__84() throws RecognitionException { + try { + int _type = T__84; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:81:7: ( '+=' ) + // InternalExport.g:81:9: '+=' + { + match("+="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__84" + + // $ANTLR start "T__85" + public final void mT__85() throws RecognitionException { + try { + int _type = T__85; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:82:7: ( '-=' ) + // InternalExport.g:82:9: '-=' + { + match("-="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__85" + + // $ANTLR start "T__86" + public final void mT__86() throws RecognitionException { + try { + int _type = T__86; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:83:7: ( '*=' ) + // InternalExport.g:83:9: '*=' + { + match("*="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__86" + + // $ANTLR start "T__87" + public final void mT__87() throws RecognitionException { + try { + int _type = T__87; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:84:7: ( '/=' ) + // InternalExport.g:84:9: '/=' + { + match("/="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__87" + + // $ANTLR start "T__88" + public final void mT__88() throws RecognitionException { + try { + int _type = T__88; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:85:7: ( '%=' ) + // InternalExport.g:85:9: '%=' + { + match("%="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__88" + + // $ANTLR start "T__89" + public final void mT__89() throws RecognitionException { + try { + int _type = T__89; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:86:7: ( '===' ) + // InternalExport.g:86:9: '===' + { + match("==="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__89" + + // $ANTLR start "T__90" + public final void mT__90() throws RecognitionException { + try { + int _type = T__90; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:87:7: ( '!==' ) + // InternalExport.g:87:9: '!==' + { + match("!=="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__90" + + // $ANTLR start "T__91" + public final void mT__91() throws RecognitionException { + try { + int _type = T__91; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:88:7: ( 'instanceof' ) + // InternalExport.g:88:9: 'instanceof' + { + match("instanceof"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__91" + + // $ANTLR start "T__92" + public final void mT__92() throws RecognitionException { + try { + int _type = T__92; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:89:7: ( '..<' ) + // InternalExport.g:89:9: '..<' + { + match("..<"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__92" + + // $ANTLR start "T__93" + public final void mT__93() throws RecognitionException { + try { + int _type = T__93; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:90:7: ( '..' ) + // InternalExport.g:90:9: '..' + { + match(".."); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__93" + + // $ANTLR start "T__94" + public final void mT__94() throws RecognitionException { + try { + int _type = T__94; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:91:7: ( '=>' ) + // InternalExport.g:91:9: '=>' + { + match("=>"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__94" + + // $ANTLR start "T__95" + public final void mT__95() throws RecognitionException { + try { + int _type = T__95; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:92:7: ( '<>' ) + // InternalExport.g:92:9: '<>' + { + match("<>"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__95" + + // $ANTLR start "T__96" + public final void mT__96() throws RecognitionException { + try { + int _type = T__96; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:93:7: ( '?:' ) + // InternalExport.g:93:9: '?:' + { + match("?:"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__96" + + // $ANTLR start "T__97" + public final void mT__97() throws RecognitionException { + try { + int _type = T__97; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:94:7: ( '**' ) + // InternalExport.g:94:9: '**' + { + match("**"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__97" + + // $ANTLR start "T__98" + public final void mT__98() throws RecognitionException { + try { + int _type = T__98; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:95:7: ( '%' ) + // InternalExport.g:95:9: '%' + { + match('%'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__98" + + // $ANTLR start "T__99" + public final void mT__99() throws RecognitionException { + try { + int _type = T__99; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:96:7: ( '++' ) + // InternalExport.g:96:9: '++' + { + match("++"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__99" + + // $ANTLR start "T__100" + public final void mT__100() throws RecognitionException { + try { + int _type = T__100; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:97:8: ( '--' ) + // InternalExport.g:97:10: '--' + { + match("--"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__100" + + // $ANTLR start "T__101" + public final void mT__101() throws RecognitionException { + try { + int _type = T__101; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:98:8: ( '?.' ) + // InternalExport.g:98:10: '?.' + { + match("?."); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__101" + + // $ANTLR start "T__102" + public final void mT__102() throws RecognitionException { + try { + int _type = T__102; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:99:8: ( '#' ) + // InternalExport.g:99:10: '#' + { + match('#'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__102" + + // $ANTLR start "T__103" + public final void mT__103() throws RecognitionException { + try { + int _type = T__103; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:100:8: ( 'while' ) + // InternalExport.g:100:10: 'while' + { + match("while"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__103" + + // $ANTLR start "T__104" + public final void mT__104() throws RecognitionException { + try { + int _type = T__104; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:101:8: ( 'do' ) + // InternalExport.g:101:10: 'do' + { + match("do"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__104" + + // $ANTLR start "T__105" + public final void mT__105() throws RecognitionException { + try { + int _type = T__105; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:102:8: ( 'var' ) + // InternalExport.g:102:10: 'var' + { + match("var"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__105" + + // $ANTLR start "T__106" + public final void mT__106() throws RecognitionException { + try { + int _type = T__106; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:103:8: ( 'val' ) + // InternalExport.g:103:10: 'val' + { + match("val"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__106" + + // $ANTLR start "T__107" + public final void mT__107() throws RecognitionException { + try { + int _type = T__107; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:104:8: ( 'extends' ) + // InternalExport.g:104:10: 'extends' + { + match("extends"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__107" + + // $ANTLR start "T__108" + public final void mT__108() throws RecognitionException { + try { + int _type = T__108; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:105:8: ( 'static' ) + // InternalExport.g:105:10: 'static' + { + match("static"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__108" + + // $ANTLR start "T__109" + public final void mT__109() throws RecognitionException { + try { + int _type = T__109; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:106:8: ( 'super' ) + // InternalExport.g:106:10: 'super' + { + match("super"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__109" + + // $ANTLR start "T__110" + public final void mT__110() throws RecognitionException { + try { + int _type = T__110; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:107:8: ( 'typeof' ) + // InternalExport.g:107:10: 'typeof' + { + match("typeof"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__110" + + // $ANTLR start "T__111" + public final void mT__111() throws RecognitionException { + try { + int _type = T__111; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:108:8: ( 'throw' ) + // InternalExport.g:108:10: 'throw' + { + match("throw"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__111" + + // $ANTLR start "T__112" + public final void mT__112() throws RecognitionException { + try { + int _type = T__112; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:109:8: ( 'return' ) + // InternalExport.g:109:10: 'return' + { + match("return"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__112" + + // $ANTLR start "T__113" + public final void mT__113() throws RecognitionException { + try { + int _type = T__113; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:110:8: ( 'try' ) + // InternalExport.g:110:10: 'try' + { + match("try"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__113" + + // $ANTLR start "T__114" + public final void mT__114() throws RecognitionException { + try { + int _type = T__114; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:111:8: ( 'finally' ) + // InternalExport.g:111:10: 'finally' + { + match("finally"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__114" - // $ANTLR start "T__81" - public final void mT__81() throws RecognitionException { + // $ANTLR start "T__115" + public final void mT__115() throws RecognitionException { try { - int _type = T__81; + int _type = T__115; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:80:7: ( 'Set' ) - // InternalExport.g:80:9: 'Set' + // InternalExport.g:112:8: ( 'synchronized' ) + // InternalExport.g:112:10: 'synchronized' { - match("Set"); + match("synchronized"); } @@ -1552,17 +2258,58 @@ public final void mT__81() throws RecognitionException { finally { } } - // $ANTLR end "T__81" + // $ANTLR end "T__115" + + // $ANTLR start "T__116" + public final void mT__116() throws RecognitionException { + try { + int _type = T__116; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:113:8: ( 'catch' ) + // InternalExport.g:113:10: 'catch' + { + match("catch"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__116" + + // $ANTLR start "T__117" + public final void mT__117() throws RecognitionException { + try { + int _type = T__117; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:114:8: ( '&' ) + // InternalExport.g:114:10: '&' + { + match('&'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__117" // $ANTLR start "RULE_REAL" public final void mRULE_REAL() throws RecognitionException { try { int _type = RULE_REAL; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:3873:11: ( ( '0' .. '9' )* '.' ( '0' .. '9' )* ) - // InternalExport.g:3873:13: ( '0' .. '9' )* '.' ( '0' .. '9' )* + // InternalExport.g:10155:11: ( ( '0' .. '9' )* '.' ( '0' .. '9' )* ) + // InternalExport.g:10155:13: ( '0' .. '9' )* '.' ( '0' .. '9' )* { - // InternalExport.g:3873:13: ( '0' .. '9' )* + // InternalExport.g:10155:13: ( '0' .. '9' )* loop1: do { int alt1=2; @@ -1575,7 +2322,7 @@ public final void mRULE_REAL() throws RecognitionException { switch (alt1) { case 1 : - // InternalExport.g:3873:14: '0' .. '9' + // InternalExport.g:10155:14: '0' .. '9' { matchRange('0','9'); @@ -1588,7 +2335,7 @@ public final void mRULE_REAL() throws RecognitionException { } while (true); match('.'); - // InternalExport.g:3873:29: ( '0' .. '9' )* + // InternalExport.g:10155:29: ( '0' .. '9' )* loop2: do { int alt2=2; @@ -1601,7 +2348,7 @@ public final void mRULE_REAL() throws RecognitionException { switch (alt2) { case 1 : - // InternalExport.g:3873:30: '0' .. '9' + // InternalExport.g:10155:30: '0' .. '9' { matchRange('0','9'); @@ -1624,24 +2371,383 @@ public final void mRULE_REAL() throws RecognitionException { } // $ANTLR end "RULE_REAL" + // $ANTLR start "RULE_HEX" + public final void mRULE_HEX() throws RecognitionException { + try { + int _type = RULE_HEX; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:10157:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? ) + // InternalExport.g:10157:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? + { + // InternalExport.g:10157:12: ( '0x' | '0X' ) + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0=='0') ) { + int LA3_1 = input.LA(2); + + if ( (LA3_1=='x') ) { + alt3=1; + } + else if ( (LA3_1=='X') ) { + alt3=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 3, 1, input); + + throw nvae; + } + } + else { + NoViableAltException nvae = + new NoViableAltException("", 3, 0, input); + + throw nvae; + } + switch (alt3) { + case 1 : + // InternalExport.g:10157:13: '0x' + { + match("0x"); + + + } + break; + case 2 : + // InternalExport.g:10157:18: '0X' + { + match("0X"); + + + } + break; + + } + + // InternalExport.g:10157:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ + int cnt4=0; + loop4: + do { + int alt4=2; + int LA4_0 = input.LA(1); + + if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='f')) ) { + alt4=1; + } + + + switch (alt4) { + case 1 : + // InternalExport.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='f') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + if ( cnt4 >= 1 ) break loop4; + EarlyExitException eee = + new EarlyExitException(4, input); + throw eee; + } + cnt4++; + } while (true); + + // InternalExport.g:10157:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0=='#') ) { + alt6=1; + } + switch (alt6) { + case 1 : + // InternalExport.g:10157:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) + { + match('#'); + // InternalExport.g:10157:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0=='B'||LA5_0=='b') ) { + alt5=1; + } + else if ( (LA5_0=='L'||LA5_0=='l') ) { + alt5=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); + + throw nvae; + } + switch (alt5) { + case 1 : + // InternalExport.g:10157:64: ( 'b' | 'B' ) ( 'i' | 'I' ) + { + if ( input.LA(1)=='B'||input.LA(1)=='b' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + if ( input.LA(1)=='I'||input.LA(1)=='i' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // InternalExport.g:10157:84: ( 'l' | 'L' ) + { + if ( input.LA(1)=='L'||input.LA(1)=='l' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_HEX" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + int _type = RULE_INT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:10159:10: ( '0' .. '9' ( '0' .. '9' | '_' )* ) + // InternalExport.g:10159:12: '0' .. '9' ( '0' .. '9' | '_' )* + { + matchRange('0','9'); + // InternalExport.g:10159:21: ( '0' .. '9' | '_' )* + loop7: + do { + int alt7=2; + int LA7_0 = input.LA(1); + + if ( ((LA7_0>='0' && LA7_0<='9')||LA7_0=='_') ) { + alt7=1; + } + + + switch (alt7) { + case 1 : + // InternalExport.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||input.LA(1)=='_' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop7; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_INT" + + // $ANTLR start "RULE_DECIMAL" + public final void mRULE_DECIMAL() throws RecognitionException { + try { + int _type = RULE_DECIMAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExport.g:10161:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? ) + // InternalExport.g:10161:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? + { + mRULE_INT(); + // InternalExport.g:10161:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0=='E'||LA9_0=='e') ) { + alt9=1; + } + switch (alt9) { + case 1 : + // InternalExport.g:10161:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT + { + if ( input.LA(1)=='E'||input.LA(1)=='e' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // InternalExport.g:10161:36: ( '+' | '-' )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0=='+'||LA8_0=='-') ) { + alt8=1; + } + switch (alt8) { + case 1 : + // InternalExport.g: + { + if ( input.LA(1)=='+'||input.LA(1)=='-' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + mRULE_INT(); + + } + break; + + } + + // InternalExport.g:10161:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? + int alt10=3; + int LA10_0 = input.LA(1); + + if ( (LA10_0=='B'||LA10_0=='b') ) { + alt10=1; + } + else if ( (LA10_0=='D'||LA10_0=='F'||LA10_0=='L'||LA10_0=='d'||LA10_0=='f'||LA10_0=='l') ) { + alt10=2; + } + switch (alt10) { + case 1 : + // InternalExport.g:10161:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) + { + if ( input.LA(1)=='B'||input.LA(1)=='b' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + if ( input.LA(1)=='D'||input.LA(1)=='I'||input.LA(1)=='d'||input.LA(1)=='i' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // InternalExport.g:10161:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) + { + if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='L'||input.LA(1)=='d'||input.LA(1)=='f'||input.LA(1)=='l' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_DECIMAL" + // $ANTLR start "RULE_ID" public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:3875:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalExport.g:3875:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalExport.g:10163:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* ) + // InternalExport.g:10163:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* { - // InternalExport.g:3875:11: ( '^' )? - int alt3=2; - int LA3_0 = input.LA(1); + // InternalExport.g:10163:11: ( '^' )? + int alt11=2; + int LA11_0 = input.LA(1); - if ( (LA3_0=='^') ) { - alt3=1; + if ( (LA11_0=='^') ) { + alt11=1; } - switch (alt3) { + switch (alt11) { case 1 : - // InternalExport.g:3875:11: '^' + // InternalExport.g:10163:11: '^' { match('^'); @@ -1650,7 +2756,7 @@ public final void mRULE_ID() throws RecognitionException { } - if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { input.consume(); } @@ -1659,22 +2765,22 @@ public final void mRULE_ID() throws RecognitionException { recover(mse); throw mse;} - // InternalExport.g:3875:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* - loop4: + // InternalExport.g:10163:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* + loop12: do { - int alt4=2; - int LA4_0 = input.LA(1); + int alt12=2; + int LA12_0 = input.LA(1); - if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) { - alt4=1; + if ( (LA12_0=='$'||(LA12_0>='0' && LA12_0<='9')||(LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='z')) ) { + alt12=1; } - switch (alt4) { + switch (alt12) { case 1 : // InternalExport.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') ) { + if ( input.LA(1)=='$'||(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(); } @@ -1688,7 +2794,7 @@ public final void mRULE_ID() throws RecognitionException { break; default : - break loop4; + break loop12; } } while (true); @@ -1703,101 +2809,52 @@ public final void mRULE_ID() throws RecognitionException { } // $ANTLR end "RULE_ID" - // $ANTLR start "RULE_INT" - public final void mRULE_INT() throws RecognitionException { - try { - int _type = RULE_INT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:3877:10: ( ( '0' .. '9' )+ ) - // InternalExport.g:3877:12: ( '0' .. '9' )+ - { - // InternalExport.g:3877:12: ( '0' .. '9' )+ - int cnt5=0; - loop5: - do { - int alt5=2; - int LA5_0 = input.LA(1); - - if ( ((LA5_0>='0' && LA5_0<='9')) ) { - alt5=1; - } - - - switch (alt5) { - case 1 : - // InternalExport.g:3877:13: '0' .. '9' - { - matchRange('0','9'); - - } - break; - - default : - if ( cnt5 >= 1 ) break loop5; - EarlyExitException eee = - new EarlyExitException(5, input); - throw eee; - } - cnt5++; - } while (true); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_INT" - // $ANTLR start "RULE_STRING" public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:3879:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) - // InternalExport.g:3879:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalExport.g:10165:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) ) + // InternalExport.g:10165:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) { - // InternalExport.g:3879:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) - int alt8=2; - int LA8_0 = input.LA(1); + // InternalExport.g:10165:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) + int alt17=2; + int LA17_0 = input.LA(1); - if ( (LA8_0=='\"') ) { - alt8=1; + if ( (LA17_0=='\"') ) { + alt17=1; } - else if ( (LA8_0=='\'') ) { - alt8=2; + else if ( (LA17_0=='\'') ) { + alt17=2; } else { NoViableAltException nvae = - new NoViableAltException("", 8, 0, input); + new NoViableAltException("", 17, 0, input); throw nvae; } - switch (alt8) { + switch (alt17) { case 1 : - // InternalExport.g:3879:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + // InternalExport.g:10165:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? { match('\"'); - // InternalExport.g:3879:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* - loop6: + // InternalExport.g:10165:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + loop13: do { - int alt6=3; - int LA6_0 = input.LA(1); + int alt13=3; + int LA13_0 = input.LA(1); - if ( (LA6_0=='\\') ) { - alt6=1; + if ( (LA13_0=='\\') ) { + alt13=1; } - else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) { - alt6=2; + else if ( ((LA13_0>='\u0000' && LA13_0<='!')||(LA13_0>='#' && LA13_0<='[')||(LA13_0>=']' && LA13_0<='\uFFFF')) ) { + alt13=2; } - switch (alt6) { + switch (alt13) { case 1 : - // InternalExport.g:3879:21: '\\\\' . + // InternalExport.g:10165:21: '\\\\' . { match('\\'); matchAny(); @@ -1805,7 +2862,7 @@ else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>= } break; case 2 : - // InternalExport.g:3879:28: ~ ( ( '\\\\' | '\"' ) ) + // InternalExport.g:10165:28: ~ ( ( '\\\\' | '\"' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1821,35 +2878,52 @@ else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>= break; default : - break loop6; + break loop13; } } while (true); - match('\"'); + // InternalExport.g:10165:44: ( '\"' )? + int alt14=2; + int LA14_0 = input.LA(1); + + if ( (LA14_0=='\"') ) { + alt14=1; + } + switch (alt14) { + case 1 : + // InternalExport.g:10165:44: '\"' + { + match('\"'); + + } + break; + + } + } break; case 2 : - // InternalExport.g:3879:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + // InternalExport.g:10165:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? { match('\''); - // InternalExport.g:3879:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* - loop7: + // InternalExport.g:10165:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + loop15: do { - int alt7=3; - int LA7_0 = input.LA(1); + int alt15=3; + int LA15_0 = input.LA(1); - if ( (LA7_0=='\\') ) { - alt7=1; + if ( (LA15_0=='\\') ) { + alt15=1; } - else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) { - alt7=2; + else if ( ((LA15_0>='\u0000' && LA15_0<='&')||(LA15_0>='(' && LA15_0<='[')||(LA15_0>=']' && LA15_0<='\uFFFF')) ) { + alt15=2; } - switch (alt7) { + switch (alt15) { case 1 : - // InternalExport.g:3879:54: '\\\\' . + // InternalExport.g:10165:55: '\\\\' . { match('\\'); matchAny(); @@ -1857,7 +2931,7 @@ else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>= } break; case 2 : - // InternalExport.g:3879:61: ~ ( ( '\\\\' | '\\'' ) ) + // InternalExport.g:10165:62: ~ ( ( '\\\\' | '\\'' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1873,11 +2947,28 @@ else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>= break; default : - break loop7; + break loop15; } } while (true); - match('\''); + // InternalExport.g:10165:79: ( '\\'' )? + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0=='\'') ) { + alt16=1; + } + switch (alt16) { + case 1 : + // InternalExport.g:10165:79: '\\'' + { + match('\''); + + } + break; + + } + } break; @@ -1900,37 +2991,37 @@ public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:3881:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalExport.g:3881:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalExport.g:10167:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalExport.g:10167:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalExport.g:3881:24: ( options {greedy=false; } : . )* - loop9: + // InternalExport.g:10167:24: ( options {greedy=false; } : . )* + loop18: do { - int alt9=2; - int LA9_0 = input.LA(1); + int alt18=2; + int LA18_0 = input.LA(1); - if ( (LA9_0=='*') ) { - int LA9_1 = input.LA(2); + if ( (LA18_0=='*') ) { + int LA18_1 = input.LA(2); - if ( (LA9_1=='/') ) { - alt9=2; + if ( (LA18_1=='/') ) { + alt18=2; } - else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) { - alt9=1; + else if ( ((LA18_1>='\u0000' && LA18_1<='.')||(LA18_1>='0' && LA18_1<='\uFFFF')) ) { + alt18=1; } } - else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) { - alt9=1; + else if ( ((LA18_0>='\u0000' && LA18_0<=')')||(LA18_0>='+' && LA18_0<='\uFFFF')) ) { + alt18=1; } - switch (alt9) { + switch (alt18) { case 1 : - // InternalExport.g:3881:52: . + // InternalExport.g:10167:52: . { matchAny(); @@ -1938,7 +3029,7 @@ else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) { break; default : - break loop9; + break loop18; } } while (true); @@ -1960,25 +3051,25 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:3883:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalExport.g:3883:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalExport.g:10169:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalExport.g:10169:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // InternalExport.g:3883:24: (~ ( ( '\\n' | '\\r' ) ) )* - loop10: + // InternalExport.g:10169:24: (~ ( ( '\\n' | '\\r' ) ) )* + loop19: do { - int alt10=2; - int LA10_0 = input.LA(1); + int alt19=2; + int LA19_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; + if ( ((LA19_0>='\u0000' && LA19_0<='\t')||(LA19_0>='\u000B' && LA19_0<='\f')||(LA19_0>='\u000E' && LA19_0<='\uFFFF')) ) { + alt19=1; } - switch (alt10) { + switch (alt19) { case 1 : - // InternalExport.g:3883:24: ~ ( ( '\\n' | '\\r' ) ) + // InternalExport.g:10169: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(); @@ -1994,31 +3085,31 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { break; default : - break loop10; + break loop19; } } while (true); - // InternalExport.g:3883:40: ( ( '\\r' )? '\\n' )? - int alt12=2; - int LA12_0 = input.LA(1); + // InternalExport.g:10169:40: ( ( '\\r' )? '\\n' )? + int alt21=2; + int LA21_0 = input.LA(1); - if ( (LA12_0=='\n'||LA12_0=='\r') ) { - alt12=1; + if ( (LA21_0=='\n'||LA21_0=='\r') ) { + alt21=1; } - switch (alt12) { + switch (alt21) { case 1 : - // InternalExport.g:3883:41: ( '\\r' )? '\\n' + // InternalExport.g:10169:41: ( '\\r' )? '\\n' { - // InternalExport.g:3883:41: ( '\\r' )? - int alt11=2; - int LA11_0 = input.LA(1); + // InternalExport.g:10169:41: ( '\\r' )? + int alt20=2; + int LA20_0 = input.LA(1); - if ( (LA11_0=='\r') ) { - alt11=1; + if ( (LA20_0=='\r') ) { + alt20=1; } - switch (alt11) { + switch (alt20) { case 1 : - // InternalExport.g:3883:41: '\\r' + // InternalExport.g:10169:41: '\\r' { match('\r'); @@ -2037,637 +3128,889 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_SL_COMMENT" + 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; + // InternalExport.g:10171:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalExport.g:10171:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + { + // InternalExport.g:10171:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt22=0; + loop22: + do { + int alt22=2; + int LA22_0 = input.LA(1); + + if ( ((LA22_0>='\t' && LA22_0<='\n')||LA22_0=='\r'||LA22_0==' ') ) { + alt22=1; + } + + + switch (alt22) { + case 1 : + // InternalExport.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 ( cnt22 >= 1 ) break loop22; + EarlyExitException eee = + new EarlyExitException(22, input); + throw eee; + } + cnt22++; + } 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; + // InternalExport.g:10173:16: ( . ) + // InternalExport.g:10173:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // InternalExport.g:1:8: ( T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | RULE_REAL | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt23=114; + alt23 = dfa23.predict(input); + switch (alt23) { + case 1 : + // InternalExport.g:1:10: T__14 + { + mT__14(); + + } + break; + case 2 : + // InternalExport.g:1:16: T__15 + { + mT__15(); + + } + break; + case 3 : + // InternalExport.g:1:22: T__16 + { + mT__16(); + + } + break; + case 4 : + // InternalExport.g:1:28: T__17 + { + mT__17(); + + } + break; + case 5 : + // InternalExport.g:1:34: T__18 + { + mT__18(); + + } + break; + case 6 : + // InternalExport.g:1:40: T__19 + { + mT__19(); + + } + break; + case 7 : + // InternalExport.g:1:46: T__20 + { + mT__20(); + + } + break; + case 8 : + // InternalExport.g:1:52: T__21 + { + mT__21(); + + } + break; + case 9 : + // InternalExport.g:1:58: T__22 + { + mT__22(); + + } + break; + case 10 : + // InternalExport.g:1:64: T__23 + { + mT__23(); + + } + break; + case 11 : + // InternalExport.g:1:70: T__24 + { + mT__24(); + + } + break; + case 12 : + // InternalExport.g:1:76: T__25 + { + mT__25(); + + } + break; + case 13 : + // InternalExport.g:1:82: T__26 + { + mT__26(); + + } + break; + case 14 : + // InternalExport.g:1:88: T__27 + { + mT__27(); + + } + break; + case 15 : + // InternalExport.g:1:94: T__28 + { + mT__28(); + + } + break; + case 16 : + // InternalExport.g:1:100: T__29 + { + mT__29(); + + } + break; + case 17 : + // InternalExport.g:1:106: T__30 + { + mT__30(); + + } + break; + case 18 : + // InternalExport.g:1:112: T__31 + { + mT__31(); + + } + break; + case 19 : + // InternalExport.g:1:118: T__32 + { + mT__32(); + + } + break; + case 20 : + // InternalExport.g:1:124: T__33 + { + mT__33(); + + } + break; + case 21 : + // InternalExport.g:1:130: T__34 + { + mT__34(); + + } + break; + case 22 : + // InternalExport.g:1:136: T__35 + { + mT__35(); - // $ANTLR start "RULE_WS" - public final void mRULE_WS() throws RecognitionException { - try { - int _type = RULE_WS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:3885:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalExport.g:3885:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - { - // InternalExport.g:3885:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - int cnt13=0; - loop13: - do { - int alt13=2; - int LA13_0 = input.LA(1); + } + break; + case 23 : + // InternalExport.g:1:142: T__36 + { + mT__36(); - if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) { - alt13=1; } + break; + case 24 : + // InternalExport.g:1:148: T__37 + { + mT__37(); + } + break; + case 25 : + // InternalExport.g:1:154: T__38 + { + mT__38(); - switch (alt13) { - case 1 : - // InternalExport.g: - { - if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { - input.consume(); + } + break; + case 26 : + // InternalExport.g:1:160: T__39 + { + mT__39(); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} + } + break; + case 27 : + // InternalExport.g:1:166: T__40 + { + mT__40(); + } + break; + case 28 : + // InternalExport.g:1:172: T__41 + { + mT__41(); - } - break; + } + break; + case 29 : + // InternalExport.g:1:178: T__42 + { + mT__42(); - default : - if ( cnt13 >= 1 ) break loop13; - EarlyExitException eee = - new EarlyExitException(13, input); - throw eee; } - cnt13++; - } while (true); + break; + case 30 : + // InternalExport.g:1:184: T__43 + { + mT__43(); + } + break; + case 31 : + // InternalExport.g:1:190: T__44 + { + mT__44(); - } + } + break; + case 32 : + // InternalExport.g:1:196: T__45 + { + mT__45(); - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_WS" + } + break; + case 33 : + // InternalExport.g:1:202: T__46 + { + mT__46(); - // $ANTLR start "RULE_ANY_OTHER" - public final void mRULE_ANY_OTHER() throws RecognitionException { - try { - int _type = RULE_ANY_OTHER; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExport.g:3887:16: ( . ) - // InternalExport.g:3887:18: . - { - matchAny(); + } + break; + case 34 : + // InternalExport.g:1:208: T__47 + { + mT__47(); - } + } + break; + case 35 : + // InternalExport.g:1:214: T__48 + { + mT__48(); - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ANY_OTHER" + } + break; + case 36 : + // InternalExport.g:1:220: T__49 + { + mT__49(); - public void mTokens() throws RecognitionException { - // InternalExport.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 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | RULE_REAL | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) - int alt14=78; - alt14 = dfa14.predict(input); - switch (alt14) { - case 1 : - // InternalExport.g:1:10: T__12 + } + break; + case 37 : + // InternalExport.g:1:226: T__50 { - mT__12(); + mT__50(); } break; - case 2 : - // InternalExport.g:1:16: T__13 + case 38 : + // InternalExport.g:1:232: T__51 { - mT__13(); + mT__51(); } break; - case 3 : - // InternalExport.g:1:22: T__14 + case 39 : + // InternalExport.g:1:238: T__52 { - mT__14(); + mT__52(); } break; - case 4 : - // InternalExport.g:1:28: T__15 + case 40 : + // InternalExport.g:1:244: T__53 { - mT__15(); + mT__53(); } break; - case 5 : - // InternalExport.g:1:34: T__16 + case 41 : + // InternalExport.g:1:250: T__54 { - mT__16(); + mT__54(); } break; - case 6 : - // InternalExport.g:1:40: T__17 + case 42 : + // InternalExport.g:1:256: T__55 { - mT__17(); + mT__55(); } break; - case 7 : - // InternalExport.g:1:46: T__18 + case 43 : + // InternalExport.g:1:262: T__56 { - mT__18(); + mT__56(); } break; - case 8 : - // InternalExport.g:1:52: T__19 + case 44 : + // InternalExport.g:1:268: T__57 { - mT__19(); + mT__57(); } break; - case 9 : - // InternalExport.g:1:58: T__20 + case 45 : + // InternalExport.g:1:274: T__58 { - mT__20(); + mT__58(); } break; - case 10 : - // InternalExport.g:1:64: T__21 + case 46 : + // InternalExport.g:1:280: T__59 { - mT__21(); + mT__59(); } break; - case 11 : - // InternalExport.g:1:70: T__22 + case 47 : + // InternalExport.g:1:286: T__60 { - mT__22(); + mT__60(); } break; - case 12 : - // InternalExport.g:1:76: T__23 + case 48 : + // InternalExport.g:1:292: T__61 { - mT__23(); + mT__61(); } break; - case 13 : - // InternalExport.g:1:82: T__24 + case 49 : + // InternalExport.g:1:298: T__62 { - mT__24(); + mT__62(); } break; - case 14 : - // InternalExport.g:1:88: T__25 + case 50 : + // InternalExport.g:1:304: T__63 { - mT__25(); + mT__63(); } break; - case 15 : - // InternalExport.g:1:94: T__26 + case 51 : + // InternalExport.g:1:310: T__64 { - mT__26(); + mT__64(); } break; - case 16 : - // InternalExport.g:1:100: T__27 + case 52 : + // InternalExport.g:1:316: T__65 { - mT__27(); + mT__65(); } break; - case 17 : - // InternalExport.g:1:106: T__28 + case 53 : + // InternalExport.g:1:322: T__66 { - mT__28(); + mT__66(); } break; - case 18 : - // InternalExport.g:1:112: T__29 + case 54 : + // InternalExport.g:1:328: T__67 { - mT__29(); + mT__67(); } break; - case 19 : - // InternalExport.g:1:118: T__30 + case 55 : + // InternalExport.g:1:334: T__68 { - mT__30(); + mT__68(); } break; - case 20 : - // InternalExport.g:1:124: T__31 + case 56 : + // InternalExport.g:1:340: T__69 { - mT__31(); + mT__69(); } break; - case 21 : - // InternalExport.g:1:130: T__32 + case 57 : + // InternalExport.g:1:346: T__70 { - mT__32(); + mT__70(); } break; - case 22 : - // InternalExport.g:1:136: T__33 + case 58 : + // InternalExport.g:1:352: T__71 { - mT__33(); + mT__71(); } break; - case 23 : - // InternalExport.g:1:142: T__34 + case 59 : + // InternalExport.g:1:358: T__72 { - mT__34(); + mT__72(); } break; - case 24 : - // InternalExport.g:1:148: T__35 + case 60 : + // InternalExport.g:1:364: T__73 { - mT__35(); + mT__73(); } break; - case 25 : - // InternalExport.g:1:154: T__36 + case 61 : + // InternalExport.g:1:370: T__74 { - mT__36(); + mT__74(); } break; - case 26 : - // InternalExport.g:1:160: T__37 + case 62 : + // InternalExport.g:1:376: T__75 { - mT__37(); + mT__75(); } break; - case 27 : - // InternalExport.g:1:166: T__38 + case 63 : + // InternalExport.g:1:382: T__76 { - mT__38(); + mT__76(); } break; - case 28 : - // InternalExport.g:1:172: T__39 + case 64 : + // InternalExport.g:1:388: T__77 { - mT__39(); + mT__77(); } break; - case 29 : - // InternalExport.g:1:178: T__40 + case 65 : + // InternalExport.g:1:394: T__78 { - mT__40(); + mT__78(); } break; - case 30 : - // InternalExport.g:1:184: T__41 + case 66 : + // InternalExport.g:1:400: T__79 { - mT__41(); + mT__79(); } break; - case 31 : - // InternalExport.g:1:190: T__42 + case 67 : + // InternalExport.g:1:406: T__80 { - mT__42(); + mT__80(); } break; - case 32 : - // InternalExport.g:1:196: T__43 + case 68 : + // InternalExport.g:1:412: T__81 { - mT__43(); + mT__81(); } break; - case 33 : - // InternalExport.g:1:202: T__44 + case 69 : + // InternalExport.g:1:418: T__82 { - mT__44(); + mT__82(); } break; - case 34 : - // InternalExport.g:1:208: T__45 + case 70 : + // InternalExport.g:1:424: T__83 { - mT__45(); + mT__83(); } break; - case 35 : - // InternalExport.g:1:214: T__46 + case 71 : + // InternalExport.g:1:430: T__84 { - mT__46(); + mT__84(); } break; - case 36 : - // InternalExport.g:1:220: T__47 + case 72 : + // InternalExport.g:1:436: T__85 { - mT__47(); + mT__85(); } break; - case 37 : - // InternalExport.g:1:226: T__48 + case 73 : + // InternalExport.g:1:442: T__86 { - mT__48(); + mT__86(); } break; - case 38 : - // InternalExport.g:1:232: T__49 + case 74 : + // InternalExport.g:1:448: T__87 { - mT__49(); + mT__87(); } break; - case 39 : - // InternalExport.g:1:238: T__50 + case 75 : + // InternalExport.g:1:454: T__88 { - mT__50(); + mT__88(); } break; - case 40 : - // InternalExport.g:1:244: T__51 + case 76 : + // InternalExport.g:1:460: T__89 { - mT__51(); + mT__89(); } break; - case 41 : - // InternalExport.g:1:250: T__52 + case 77 : + // InternalExport.g:1:466: T__90 { - mT__52(); + mT__90(); } break; - case 42 : - // InternalExport.g:1:256: T__53 + case 78 : + // InternalExport.g:1:472: T__91 { - mT__53(); + mT__91(); } break; - case 43 : - // InternalExport.g:1:262: T__54 + case 79 : + // InternalExport.g:1:478: T__92 { - mT__54(); + mT__92(); } break; - case 44 : - // InternalExport.g:1:268: T__55 + case 80 : + // InternalExport.g:1:484: T__93 { - mT__55(); + mT__93(); } break; - case 45 : - // InternalExport.g:1:274: T__56 + case 81 : + // InternalExport.g:1:490: T__94 { - mT__56(); + mT__94(); } break; - case 46 : - // InternalExport.g:1:280: T__57 + case 82 : + // InternalExport.g:1:496: T__95 { - mT__57(); + mT__95(); } break; - case 47 : - // InternalExport.g:1:286: T__58 + case 83 : + // InternalExport.g:1:502: T__96 { - mT__58(); + mT__96(); } break; - case 48 : - // InternalExport.g:1:292: T__59 + case 84 : + // InternalExport.g:1:508: T__97 { - mT__59(); + mT__97(); } break; - case 49 : - // InternalExport.g:1:298: T__60 + case 85 : + // InternalExport.g:1:514: T__98 { - mT__60(); + mT__98(); } break; - case 50 : - // InternalExport.g:1:304: T__61 + case 86 : + // InternalExport.g:1:520: T__99 { - mT__61(); + mT__99(); } break; - case 51 : - // InternalExport.g:1:310: T__62 + case 87 : + // InternalExport.g:1:526: T__100 { - mT__62(); + mT__100(); } break; - case 52 : - // InternalExport.g:1:316: T__63 + case 88 : + // InternalExport.g:1:533: T__101 { - mT__63(); + mT__101(); } break; - case 53 : - // InternalExport.g:1:322: T__64 + case 89 : + // InternalExport.g:1:540: T__102 { - mT__64(); + mT__102(); } break; - case 54 : - // InternalExport.g:1:328: T__65 + case 90 : + // InternalExport.g:1:547: T__103 { - mT__65(); + mT__103(); } break; - case 55 : - // InternalExport.g:1:334: T__66 + case 91 : + // InternalExport.g:1:554: T__104 { - mT__66(); + mT__104(); } break; - case 56 : - // InternalExport.g:1:340: T__67 + case 92 : + // InternalExport.g:1:561: T__105 { - mT__67(); + mT__105(); } break; - case 57 : - // InternalExport.g:1:346: T__68 + case 93 : + // InternalExport.g:1:568: T__106 { - mT__68(); + mT__106(); } break; - case 58 : - // InternalExport.g:1:352: T__69 + case 94 : + // InternalExport.g:1:575: T__107 { - mT__69(); + mT__107(); } break; - case 59 : - // InternalExport.g:1:358: T__70 + case 95 : + // InternalExport.g:1:582: T__108 { - mT__70(); + mT__108(); } break; - case 60 : - // InternalExport.g:1:364: T__71 + case 96 : + // InternalExport.g:1:589: T__109 { - mT__71(); + mT__109(); } break; - case 61 : - // InternalExport.g:1:370: T__72 + case 97 : + // InternalExport.g:1:596: T__110 { - mT__72(); + mT__110(); } break; - case 62 : - // InternalExport.g:1:376: T__73 + case 98 : + // InternalExport.g:1:603: T__111 { - mT__73(); + mT__111(); } break; - case 63 : - // InternalExport.g:1:382: T__74 + case 99 : + // InternalExport.g:1:610: T__112 { - mT__74(); + mT__112(); } break; - case 64 : - // InternalExport.g:1:388: T__75 + case 100 : + // InternalExport.g:1:617: T__113 { - mT__75(); + mT__113(); } break; - case 65 : - // InternalExport.g:1:394: T__76 + case 101 : + // InternalExport.g:1:624: T__114 { - mT__76(); + mT__114(); } break; - case 66 : - // InternalExport.g:1:400: T__77 + case 102 : + // InternalExport.g:1:631: T__115 { - mT__77(); + mT__115(); } break; - case 67 : - // InternalExport.g:1:406: T__78 + case 103 : + // InternalExport.g:1:638: T__116 { - mT__78(); + mT__116(); } break; - case 68 : - // InternalExport.g:1:412: T__79 + case 104 : + // InternalExport.g:1:645: T__117 { - mT__79(); + mT__117(); } break; - case 69 : - // InternalExport.g:1:418: T__80 + case 105 : + // InternalExport.g:1:652: RULE_REAL { - mT__80(); + mRULE_REAL(); } break; - case 70 : - // InternalExport.g:1:424: T__81 + case 106 : + // InternalExport.g:1:662: RULE_HEX { - mT__81(); + mRULE_HEX(); } break; - case 71 : - // InternalExport.g:1:430: RULE_REAL + case 107 : + // InternalExport.g:1:671: RULE_INT { - mRULE_REAL(); + mRULE_INT(); } break; - case 72 : - // InternalExport.g:1:440: RULE_ID + case 108 : + // InternalExport.g:1:680: RULE_DECIMAL { - mRULE_ID(); + mRULE_DECIMAL(); } break; - case 73 : - // InternalExport.g:1:448: RULE_INT + case 109 : + // InternalExport.g:1:693: RULE_ID { - mRULE_INT(); + mRULE_ID(); } break; - case 74 : - // InternalExport.g:1:457: RULE_STRING + case 110 : + // InternalExport.g:1:701: RULE_STRING { mRULE_STRING(); } break; - case 75 : - // InternalExport.g:1:469: RULE_ML_COMMENT + case 111 : + // InternalExport.g:1:713: RULE_ML_COMMENT { mRULE_ML_COMMENT(); } break; - case 76 : - // InternalExport.g:1:485: RULE_SL_COMMENT + case 112 : + // InternalExport.g:1:729: RULE_SL_COMMENT { mRULE_SL_COMMENT(); } break; - case 77 : - // InternalExport.g:1:501: RULE_WS + case 113 : + // InternalExport.g:1:745: RULE_WS { mRULE_WS(); } break; - case 78 : - // InternalExport.g:1:509: RULE_ANY_OTHER + case 114 : + // InternalExport.g:1:753: RULE_ANY_OTHER { mRULE_ANY_OTHER(); @@ -2679,83 +4022,90 @@ public void mTokens() throws RecognitionException { } - protected DFA14 dfa14 = new DFA14(this); - static final String DFA14_eotS = - "\1\uffff\3\63\2\uffff\1\63\2\uffff\1\101\6\uffff\6\63\1\122\1\124\1\uffff\3\63\1\137\1\57\1\142\1\144\1\146\1\uffff\1\152\1\153\5\63\1\164\1\57\1\uffff\2\57\2\uffff\3\63\1\uffff\5\63\1\u0082\2\uffff\1\u0083\1\63\12\uffff\11\63\5\uffff\10\63\17\uffff\7\63\1\uffff\1\164\2\uffff\5\63\1\u00a4\4\63\2\uffff\2\63\1\u00ac\22\63\1\u00bf\3\63\1\u00c3\3\63\1\u00c7\1\u00c8\1\63\1\uffff\7\63\1\uffff\1\63\1\uffff\4\63\1\u00d6\1\63\1\u00d8\1\63\1\u00da\3\63\1\u00de\2\63\1\u00e1\1\uffff\2\63\1\u00e4\1\uffff\3\63\2\uffff\1\63\1\u00e9\1\u00ea\12\63\1\uffff\1\63\1\uffff\1\63\1\uffff\3\63\1\uffff\2\63\1\uffff\2\63\1\uffff\1\u00fe\1\63\1\u0100\1\u0101\2\uffff\1\63\1\u0103\2\63\1\u0106\1\63\1\u0108\2\63\1\u010b\2\63\1\u010e\1\u0110\1\u0111\4\63\1\uffff\1\63\2\uffff\1\63\1\uffff\1\u0118\1\63\1\uffff\1\63\2\uffff\1\63\1\uffff\1\u011c\1\63\1\uffff\1\63\2\uffff\1\u011f\5\63\1\uffff\3\63\1\uffff\2\63\1\uffff\3\63\1\u012d\1\u012e\1\u012f\1\u0130\1\uffff\2\63\1\u0133\1\u0134\1\63\4\uffff\1\u0136\1\63\2\uffff\1\u0138\1\uffff\1\u0139\2\uffff"; - static final String DFA14_eofS = - "\u013a\uffff"; - static final String DFA14_minS = - "\1\0\1\154\1\141\1\146\2\uffff\1\163\2\uffff\1\75\6\uffff\1\145\1\165\1\156\1\142\1\145\1\141\1\72\1\76\1\uffff\1\150\1\145\1\141\1\174\1\46\3\75\1\uffff\1\52\1\60\1\145\1\114\1\157\1\151\1\145\1\56\1\101\1\uffff\2\0\2\uffff\1\151\1\141\1\163\1\uffff\1\162\1\145\1\154\1\164\1\160\1\60\2\uffff\1\60\1\164\12\uffff\1\157\1\164\1\141\2\151\2\152\1\164\1\146\5\uffff\1\145\1\160\1\165\1\151\1\154\1\162\1\163\1\154\17\uffff\1\164\1\154\1\167\1\117\1\154\1\163\1\164\1\uffff\1\56\2\uffff\1\157\1\145\1\163\1\154\1\145\1\60\1\154\1\163\1\145\1\154\2\uffff\1\162\1\153\1\60\1\154\1\55\1\161\1\145\1\157\1\145\2\141\1\156\2\145\1\164\1\145\1\164\1\145\1\154\1\105\1\154\1\60\1\102\1\154\1\164\1\60\1\162\1\156\1\164\2\60\1\154\1\uffff\1\144\1\145\2\162\2\151\1\165\1\uffff\1\151\1\uffff\1\165\1\143\1\165\1\143\1\60\1\165\1\60\1\123\1\60\2\143\1\102\1\60\1\145\1\170\1\60\1\uffff\1\101\1\145\1\60\1\uffff\1\164\2\163\2\uffff\1\154\2\60\1\146\1\164\1\145\1\142\1\160\1\146\1\145\1\164\1\162\1\164\1\uffff\1\154\1\uffff\1\145\1\uffff\1\150\1\164\1\171\1\uffff\1\143\1\151\1\uffff\1\114\1\143\1\uffff\1\60\1\151\2\60\2\uffff\1\141\1\60\1\163\1\165\1\60\1\151\1\60\1\55\1\143\1\60\1\164\1\154\3\60\1\164\1\163\1\126\1\164\1\uffff\1\157\2\uffff\1\143\1\uffff\1\60\1\164\1\uffff\1\145\2\uffff\1\145\1\uffff\1\60\1\145\1\uffff\1\151\2\uffff\1\60\1\164\1\101\1\151\1\156\1\145\1\uffff\1\145\1\144\1\55\1\uffff\1\143\1\162\1\uffff\1\163\1\122\1\157\4\60\1\uffff\1\164\1\163\2\60\1\156\4\uffff\1\60\1\164\2\uffff\1\60\1\uffff\1\60\2\uffff"; - static final String DFA14_maxS = - "\1\uffff\1\170\1\157\1\156\2\uffff\1\164\2\uffff\1\75\6\uffff\1\157\1\165\1\162\1\142\2\145\1\72\1\76\1\uffff\1\171\1\167\1\157\1\174\1\46\3\75\1\uffff\1\57\1\71\1\165\1\114\1\157\1\151\1\145\1\71\1\172\1\uffff\2\uffff\2\uffff\1\164\1\141\1\163\1\uffff\1\162\1\145\1\154\1\164\1\160\1\172\2\uffff\1\172\1\164\12\uffff\1\157\1\164\1\141\2\151\1\152\1\163\1\164\1\146\5\uffff\1\145\1\160\1\165\1\151\1\154\1\162\1\163\1\154\17\uffff\1\164\1\154\1\167\1\117\1\154\1\163\1\164\1\uffff\1\71\2\uffff\1\157\1\145\1\163\1\154\1\145\1\172\1\154\1\163\1\145\1\157\2\uffff\1\162\1\153\1\172\1\154\1\55\1\161\1\145\1\157\1\145\2\141\1\156\2\145\1\164\1\145\1\164\1\145\1\154\1\105\1\154\1\172\1\102\1\154\1\164\1\172\1\162\1\156\1\164\2\172\1\154\1\uffff\1\144\1\145\2\162\2\151\1\165\1\uffff\1\151\1\uffff\1\165\1\143\1\165\1\143\1\172\1\165\1\172\1\123\1\172\2\143\1\102\1\172\1\145\1\170\1\172\1\uffff\1\101\1\145\1\172\1\uffff\1\164\2\163\2\uffff\1\154\2\172\1\146\1\164\1\145\1\142\1\160\1\146\1\145\1\164\1\162\1\164\1\uffff\1\154\1\uffff\1\145\1\uffff\1\150\1\164\1\171\1\uffff\1\143\1\151\1\uffff\1\114\1\143\1\uffff\1\172\1\151\2\172\2\uffff\1\141\1\172\1\163\1\165\1\172\1\151\1\172\1\55\1\143\1\172\1\164\1\154\3\172\1\164\1\163\1\126\1\164\1\uffff\1\157\2\uffff\1\143\1\uffff\1\172\1\164\1\uffff\1\145\2\uffff\1\145\1\uffff\1\172\1\145\1\uffff\1\151\2\uffff\1\172\1\164\1\101\1\151\1\156\1\145\1\uffff\1\145\1\144\1\55\1\uffff\1\143\1\162\1\uffff\1\163\1\122\1\157\4\172\1\uffff\1\164\1\163\2\172\1\156\4\uffff\1\172\1\164\2\uffff\1\172\1\uffff\1\172\2\uffff"; - static final String DFA14_acceptS = - "\4\uffff\1\5\1\6\1\uffff\1\11\1\12\1\uffff\1\14\1\15\1\16\1\17\1\21\1\22\10\uffff\1\40\10\uffff\1\61\11\uffff\1\110\2\uffff\1\115\1\116\3\uffff\1\110\6\uffff\1\5\1\6\2\uffff\1\11\1\12\1\52\1\13\1\14\1\15\1\16\1\17\1\21\1\22\11\uffff\1\34\1\36\1\37\1\60\1\40\10\uffff\1\47\1\76\1\50\1\53\1\63\1\54\1\56\1\55\1\57\1\61\1\113\1\114\1\62\1\64\1\107\7\uffff\1\111\1\uffff\1\112\1\115\12\uffff\1\41\1\10\40\uffff\1\3\7\uffff\1\35\1\uffff\1\25\20\uffff\1\103\3\uffff\1\106\3\uffff\1\20\1\43\15\uffff\1\33\1\uffff\1\42\1\uffff\1\77\3\uffff\1\46\2\uffff\1\101\2\uffff\1\105\4\uffff\1\32\1\100\23\uffff\1\1\1\uffff\1\72\1\75\1\uffff\1\7\2\uffff\1\23\1\uffff\1\26\1\30\1\uffff\1\71\2\uffff\1\44\1\uffff\1\67\1\74\6\uffff\1\51\3\uffff\1\45\2\uffff\1\66\7\uffff\1\31\5\uffff\1\2\1\4\1\27\1\24\2\uffff\1\73\1\102\1\uffff\1\65\1\uffff\1\104\1\70"; - static final String DFA14_specialS = - "\1\0\53\uffff\1\1\1\2\u010c\uffff}>"; - static final String[] DFA14_transitionS = { - "\11\57\2\56\2\57\1\56\22\57\1\56\1\36\1\54\3\57\1\35\1\55\1\16\1\17\1\41\1\14\1\12\1\27\1\43\1\42\12\51\1\26\1\13\1\40\1\11\1\37\1\30\1\15\2\53\1\46\3\53\1\45\4\53\1\47\6\53\1\50\7\53\1\7\1\57\1\10\1\52\1\53\1\57\1\6\1\53\1\33\1\25\1\1\1\2\2\53\1\3\2\53\1\20\1\53\1\44\1\23\1\53\1\21\1\24\1\32\1\31\1\22\5\53\1\4\1\34\1\5\uff82\57", - "\1\62\11\uffff\1\61\1\uffff\1\60", - "\1\66\7\uffff\1\65\5\uffff\1\64", - "\1\71\6\uffff\1\70\1\67", + protected DFA23 dfa23 = new DFA23(this); + static final String DFA23_eotS = + "\1\uffff\3\70\2\uffff\1\70\2\uffff\1\107\2\uffff\1\114\3\uffff\6\70\1\133\1\137\1\142\3\70\1\157\1\161\1\163\1\165\1\170\1\173\1\177\1\u0081\5\70\1\u008b\1\uffff\2\70\2\u0092\1\64\5\uffff\3\70\1\uffff\5\70\1\u00a2\2\uffff\1\u00a3\1\70\2\uffff\1\u00a6\12\uffff\11\70\1\u00b2\11\uffff\13\70\4\uffff\1\u00c2\15\uffff\1\u00c4\2\uffff\7\70\3\uffff\2\70\1\uffff\2\u0092\4\uffff\5\70\1\u00d5\6\70\2\uffff\1\70\2\uffff\1\70\1\u00df\11\70\1\uffff\4\70\1\u00ed\11\70\4\uffff\2\70\1\u00f9\3\70\1\u00fd\1\70\1\u00ff\1\u0100\3\70\1\u0104\1\u0105\1\70\1\uffff\11\70\1\uffff\1\70\1\uffff\5\70\1\u0116\1\70\1\u0118\2\70\1\u011c\1\uffff\6\70\1\u0123\3\70\1\u0127\1\uffff\2\70\1\u012a\1\uffff\1\70\2\uffff\3\70\2\uffff\1\70\1\u0131\1\70\1\u0133\14\70\1\uffff\1\70\1\uffff\1\u0141\2\70\1\uffff\4\70\1\u0148\1\70\1\uffff\1\u014a\2\70\1\uffff\2\70\1\uffff\1\u014f\1\u0150\2\70\1\u0153\1\u0154\1\uffff\1\70\1\uffff\2\70\1\u0158\2\70\1\u015b\1\70\1\u015d\2\70\1\u0160\1\u0161\1\70\1\uffff\1\70\1\u0164\1\u0165\1\u0167\1\u0168\1\u0169\1\uffff\1\70\1\uffff\4\70\2\uffff\1\70\1\u0170\2\uffff\1\u0171\2\70\1\uffff\1\u0174\1\70\1\uffff\1\70\2\uffff\1\70\2\uffff\1\u0178\1\70\2\uffff\1\70\3\uffff\1\70\1\u017c\4\70\2\uffff\2\70\1\uffff\3\70\1\uffff\3\70\1\uffff\3\70\1\u018c\1\u018d\1\70\1\u018f\1\u0190\1\uffff\3\70\1\u0194\1\u0195\1\70\2\uffff\1\u0197\2\uffff\1\u0198\2\70\2\uffff\1\u019b\2\uffff\1\u019c\1\70\2\uffff\1\u019e\1\uffff"; + static final String DFA23_eofS = + "\u019f\uffff"; + static final String DFA23_minS = + "\1\0\1\154\1\141\1\146\2\uffff\1\163\2\uffff\1\75\2\uffff\1\53\3\uffff\1\145\1\165\1\156\1\142\1\145\1\141\1\72\1\55\1\56\1\150\1\145\1\141\1\174\1\46\3\75\2\52\1\56\1\145\1\114\1\157\1\151\1\145\1\75\1\uffff\1\150\1\141\2\56\1\44\5\uffff\1\151\1\141\1\163\1\uffff\1\162\1\145\1\154\1\163\1\160\1\44\2\uffff\1\44\1\164\2\uffff\1\75\12\uffff\1\157\1\164\1\141\2\151\2\152\1\164\1\146\1\44\11\uffff\1\145\1\160\1\165\1\151\1\154\1\162\1\141\1\160\1\156\1\163\1\154\4\uffff\1\75\15\uffff\1\74\2\uffff\1\164\1\154\1\167\1\117\1\154\1\163\1\164\3\uffff\1\151\1\154\1\uffff\1\56\1\60\4\uffff\1\157\1\145\1\163\1\154\1\145\1\44\1\154\1\141\1\163\1\145\1\164\1\154\2\uffff\1\162\2\uffff\1\153\1\44\1\154\1\55\1\161\1\145\1\157\1\145\1\165\2\141\1\uffff\1\156\1\157\2\145\1\44\1\164\1\145\2\164\1\145\1\143\1\145\1\143\1\154\4\uffff\1\105\1\154\1\44\1\102\1\154\1\164\1\44\1\154\2\44\1\162\1\156\1\164\2\44\1\154\1\uffff\1\144\1\154\1\145\1\162\1\141\1\162\2\151\1\165\1\uffff\1\151\1\uffff\1\165\1\143\1\165\1\143\1\162\1\44\1\165\1\44\1\167\1\123\1\44\1\uffff\2\143\1\102\1\151\1\162\1\150\1\44\1\150\1\145\1\170\1\44\1\uffff\1\101\1\145\1\44\1\uffff\1\145\2\uffff\1\164\1\144\1\163\2\uffff\1\154\1\44\1\154\1\44\1\146\1\156\1\164\1\145\1\142\1\160\1\146\1\145\1\164\1\162\1\164\1\156\1\uffff\1\154\1\uffff\1\44\1\145\1\146\1\uffff\1\150\1\164\1\171\1\143\1\44\1\162\1\uffff\1\44\1\143\1\151\1\uffff\1\114\1\143\1\uffff\2\44\1\151\1\163\2\44\1\uffff\1\171\1\uffff\1\141\1\143\1\44\1\163\1\165\1\44\1\151\1\44\1\55\1\143\2\44\1\164\1\uffff\1\154\5\44\1\uffff\1\157\1\uffff\1\164\1\163\1\126\1\164\2\uffff\1\157\1\44\2\uffff\1\44\1\143\1\145\1\uffff\1\44\1\164\1\uffff\1\145\2\uffff\1\145\2\uffff\1\44\1\145\2\uffff\1\151\3\uffff\1\156\1\44\1\164\1\101\1\151\1\156\2\uffff\1\145\1\157\1\uffff\1\145\1\144\1\55\1\uffff\1\143\1\162\1\151\1\uffff\1\163\1\122\1\157\2\44\1\146\2\44\1\uffff\1\164\1\163\1\172\2\44\1\156\2\uffff\1\44\2\uffff\1\44\1\164\1\145\2\uffff\1\44\2\uffff\1\44\1\144\2\uffff\1\44\1\uffff"; + static final String DFA23_maxS = + "\1\uffff\1\170\1\157\1\156\2\uffff\1\164\2\uffff\1\76\2\uffff\1\75\3\uffff\1\157\1\165\1\162\1\142\1\145\1\157\1\72\1\76\1\72\2\171\1\157\1\174\1\46\2\75\1\76\2\75\1\71\1\165\1\114\1\157\1\151\1\145\1\75\1\uffff\1\150\1\141\1\170\1\154\1\172\5\uffff\1\164\1\141\1\163\1\uffff\1\162\1\156\1\154\1\164\1\160\1\172\2\uffff\1\172\1\164\2\uffff\1\75\12\uffff\1\157\1\164\1\141\2\151\1\152\2\164\1\146\1\172\11\uffff\1\162\1\160\1\171\1\151\1\154\1\162\1\141\1\160\1\156\1\164\1\154\4\uffff\1\75\15\uffff\1\74\2\uffff\1\164\1\154\1\167\1\117\1\154\1\163\1\164\3\uffff\1\151\1\162\1\uffff\2\154\4\uffff\1\157\1\145\1\163\1\154\1\145\1\172\1\154\1\141\1\163\1\145\1\164\1\157\2\uffff\1\162\2\uffff\1\153\1\172\1\154\1\55\1\161\1\145\1\157\1\145\1\165\2\141\1\uffff\1\156\1\157\2\145\1\172\1\164\1\145\2\164\1\145\1\143\1\145\1\143\1\154\4\uffff\1\105\1\154\1\172\1\102\1\154\1\164\1\172\1\154\2\172\1\162\1\156\1\164\2\172\1\154\1\uffff\1\144\1\154\1\145\1\162\1\141\1\162\2\151\1\165\1\uffff\1\151\1\uffff\1\165\1\143\1\165\1\143\1\162\1\172\1\165\1\172\1\167\1\157\1\172\1\uffff\2\143\1\102\1\151\1\162\1\150\1\172\1\150\1\145\1\170\1\172\1\uffff\1\101\1\145\1\172\1\uffff\1\145\2\uffff\1\164\2\163\2\uffff\1\154\1\172\1\154\1\172\1\146\1\156\1\164\1\145\1\142\1\160\1\146\1\145\1\164\1\162\1\164\1\156\1\uffff\1\154\1\uffff\1\172\1\145\1\146\1\uffff\1\150\1\164\1\171\1\143\1\172\1\162\1\uffff\1\172\1\143\1\151\1\uffff\1\114\1\143\1\uffff\2\172\1\151\1\163\2\172\1\uffff\1\171\1\uffff\1\141\1\143\1\172\1\163\1\165\1\172\1\151\1\172\1\55\1\143\2\172\1\164\1\uffff\1\154\5\172\1\uffff\1\157\1\uffff\1\164\1\163\1\126\1\164\2\uffff\1\157\1\172\2\uffff\1\172\1\143\1\145\1\uffff\1\172\1\164\1\uffff\1\145\2\uffff\1\145\2\uffff\1\172\1\145\2\uffff\1\151\3\uffff\1\156\1\172\1\164\1\101\1\151\1\156\2\uffff\1\145\1\157\1\uffff\1\145\1\144\1\55\1\uffff\1\143\1\162\1\151\1\uffff\1\163\1\122\1\157\2\172\1\146\2\172\1\uffff\1\164\1\163\3\172\1\156\2\uffff\1\172\2\uffff\1\172\1\164\1\145\2\uffff\1\172\2\uffff\1\172\1\144\2\uffff\1\172\1\uffff"; + static final String DFA23_acceptS = + "\4\uffff\1\5\1\6\1\uffff\1\11\1\12\1\uffff\1\14\1\15\1\uffff\1\17\1\21\1\22\32\uffff\1\131\5\uffff\1\155\2\156\1\161\1\162\3\uffff\1\155\6\uffff\1\5\1\6\2\uffff\1\11\1\12\1\uffff\1\121\1\13\1\14\1\15\1\107\1\126\1\16\1\17\1\21\1\22\12\uffff\1\34\1\36\1\37\1\110\1\127\1\60\1\123\1\130\1\40\13\uffff\1\47\1\76\1\50\1\150\1\uffff\1\63\1\54\1\56\1\55\1\122\1\57\1\111\1\124\1\61\1\112\1\157\1\160\1\62\1\uffff\1\64\1\151\7\uffff\1\113\1\125\1\131\2\uffff\1\152\2\uffff\1\153\1\154\1\156\1\161\14\uffff\1\41\1\10\1\uffff\1\114\1\52\13\uffff\1\133\16\uffff\1\115\1\53\1\117\1\120\20\uffff\1\3\11\uffff\1\35\1\uffff\1\25\13\uffff\1\144\13\uffff\1\103\3\uffff\1\106\1\uffff\1\134\1\135\3\uffff\1\20\1\43\20\uffff\1\33\1\uffff\1\42\3\uffff\1\77\6\uffff\1\46\3\uffff\1\101\2\uffff\1\105\6\uffff\1\32\1\uffff\1\100\15\uffff\1\142\6\uffff\1\140\1\uffff\1\147\4\uffff\1\132\1\1\2\uffff\1\72\1\75\3\uffff\1\7\2\uffff\1\23\1\uffff\1\26\1\30\1\uffff\1\71\1\143\2\uffff\1\141\1\44\1\uffff\1\67\1\74\1\137\6\uffff\1\136\1\145\2\uffff\1\51\3\uffff\1\45\3\uffff\1\66\10\uffff\1\31\6\uffff\1\2\1\4\1\uffff\1\27\1\24\3\uffff\1\73\1\102\1\uffff\1\116\1\65\2\uffff\1\104\1\70\1\uffff\1\146"; + static final String DFA23_specialS = + "\1\0\u019e\uffff}>"; + static final String[] DFA23_transitionS = { + "\11\64\2\63\2\64\1\63\22\64\1\63\1\36\1\61\1\52\1\60\1\51\1\35\1\62\1\16\1\17\1\41\1\14\1\12\1\27\1\43\1\42\1\55\11\56\1\26\1\13\1\40\1\11\1\37\1\30\1\15\2\60\1\46\3\60\1\45\4\60\1\47\6\60\1\50\7\60\1\7\1\64\1\10\1\57\1\60\1\64\1\6\1\60\1\33\1\25\1\1\1\2\2\60\1\3\2\60\1\20\1\60\1\44\1\23\1\60\1\21\1\24\1\32\1\31\1\22\1\54\1\53\3\60\1\4\1\34\1\5\uff82\64", + "\1\67\11\uffff\1\66\1\uffff\1\65", + "\1\73\7\uffff\1\72\5\uffff\1\71", + "\1\76\6\uffff\1\75\1\74", + "", "", + "\1\101\1\102", "", - "\1\74\1\75", "", + "\1\105\1\106", "", - "\1\100", "", + "\1\113\21\uffff\1\112", "", "", "", + "\1\121\11\uffff\1\120", + "\1\122", + "\1\124\3\uffff\1\123", + "\1\125", + "\1\126", + "\1\127\3\uffff\1\130\11\uffff\1\131", + "\1\132", + "\1\136\17\uffff\1\135\1\134", + "\1\141\13\uffff\1\140", + "\1\143\11\uffff\1\145\6\uffff\1\144", + "\1\147\11\uffff\1\150\4\uffff\1\151\1\152\1\uffff\1\146\1\uffff\1\153", + "\1\154\15\uffff\1\155", + "\1\156", + "\1\160", + "\1\162", + "\1\164", + "\1\166\1\167", + "\1\172\22\uffff\1\171", + "\1\175\4\uffff\1\176\15\uffff\1\174", + "\1\u0080\1\uffff\12\u0082", + "\1\u0085\11\uffff\1\u0083\5\uffff\1\u0084", + "\1\u0086", + "\1\u0087", + "\1\u0088", + "\1\u0089", + "\1\u008a", "", + "\1\u008d", + "\1\u008e", + "\1\u0082\1\uffff\12\u0090\10\uffff\1\u0093\1\uffff\3\u0093\5\uffff\1\u0093\13\uffff\1\u008f\6\uffff\1\u0091\2\uffff\1\u0093\1\uffff\3\u0093\5\uffff\1\u0093\13\uffff\1\u008f", + "\1\u0082\1\uffff\12\u0090\10\uffff\1\u0093\1\uffff\3\u0093\5\uffff\1\u0093\22\uffff\1\u0091\2\uffff\1\u0093\1\uffff\3\u0093\5\uffff\1\u0093", + "\1\70\34\uffff\32\70\4\uffff\1\70\1\uffff\32\70", "", - "\1\111\11\uffff\1\110", - "\1\112", - "\1\114\3\uffff\1\113", - "\1\115", - "\1\116", - "\1\117\3\uffff\1\120", - "\1\121", - "\1\123", "", - "\1\126\11\uffff\1\130\6\uffff\1\127", - "\1\132\11\uffff\1\133\7\uffff\1\131", - "\1\134\15\uffff\1\135", - "\1\136", - "\1\140", - "\1\141", - "\1\143", - "\1\145", "", - "\1\150\4\uffff\1\151", - "\12\154", - "\1\157\11\uffff\1\155\5\uffff\1\156", - "\1\160", - "\1\161", - "\1\162", - "\1\163", - "\1\154\1\uffff\12\165", - "\32\63\4\uffff\1\63\1\uffff\32\63", "", - "\0\166", - "\0\166", "", + "\1\u0098\6\uffff\1\u0096\3\uffff\1\u0097", + "\1\u0099", + "\1\u009a", "", - "\1\172\6\uffff\1\170\3\uffff\1\171", - "\1\173", - "\1\174", + "\1\u009b", + "\1\u009c\10\uffff\1\u009d", + "\1\u009e", + "\1\u00a0\1\u009f", + "\1\u00a1", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", "", - "\1\175", - "\1\176", - "\1\177", - "\1\u0080", - "\1\u0081", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", "", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u00a4", "", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "\1\u0084", "", + "\1\u00a5", "", "", "", @@ -2765,141 +4115,111 @@ public void mTokens() throws RecognitionException { "", "", "", - "\1\u0085", - "\1\u0086", - "\1\u0087", - "\1\u0088", - "\1\u0089", - "\1\u008a", - "\1\u008c\10\uffff\1\u008b", - "\1\u008d", - "\1\u008e", "", + "\1\u00a7", + "\1\u00a8", + "\1\u00a9", + "\1\u00aa", + "\1\u00ab", + "\1\u00ac", + "\1\u00ae\10\uffff\1\u00ad\1\u00af", + "\1\u00b0", + "\1\u00b1", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", "", "", "", "", - "\1\u008f", - "\1\u0090", - "\1\u0091", - "\1\u0092", - "\1\u0093", - "\1\u0094", - "\1\u0095", - "\1\u0096", "", "", "", "", "", + "\1\u00b3\14\uffff\1\u00b4", + "\1\u00b5", + "\1\u00b6\3\uffff\1\u00b7", + "\1\u00b8", + "\1\u00b9", + "\1\u00ba", + "\1\u00bb", + "\1\u00bc", + "\1\u00bd", + "\1\u00be\1\u00bf", + "\1\u00c0", "", "", "", "", + "\1\u00c1", "", "", "", "", "", "", - "\1\u0097", - "\1\u0098", - "\1\u0099", - "\1\u009a", - "\1\u009b", - "\1\u009c", - "\1\u009d", "", - "\1\154\1\uffff\12\165", "", "", - "\1\u009e", - "\1\u009f", - "\1\u00a0", - "\1\u00a1", - "\1\u00a2", - "\12\63\7\uffff\1\u00a3\31\63\4\uffff\1\63\1\uffff\32\63", - "\1\u00a5", - "\1\u00a6", - "\1\u00a7", - "\1\u00a9\2\uffff\1\u00a8", "", "", - "\1\u00aa", - "\1\u00ab", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "\1\u00ad", - "\1\u00ae", - "\1\u00af", - "\1\u00b0", - "\1\u00b1", - "\1\u00b2", - "\1\u00b3", - "\1\u00b4", - "\1\u00b5", - "\1\u00b6", - "\1\u00b7", - "\1\u00b8", - "\1\u00b9", - "\1\u00ba", - "\1\u00bb", - "\1\u00bc", - "\1\u00bd", - "\1\u00be", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "\1\u00c0", - "\1\u00c1", - "\1\u00c2", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "\1\u00c4", + "", + "", + "\1\u00c3", + "", + "", "\1\u00c5", "\1\u00c6", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", + "\1\u00c7", + "\1\u00c8", "\1\u00c9", - "", "\1\u00ca", "\1\u00cb", + "", + "", + "", "\1\u00cc", - "\1\u00cd", - "\1\u00ce", + "\1\u00ce\5\uffff\1\u00cd", + "", + "\1\u0082\1\uffff\12\u0090\10\uffff\1\u0093\1\uffff\3\u0093\5\uffff\1\u0093\22\uffff\1\u0091\2\uffff\1\u0093\1\uffff\3\u0093\5\uffff\1\u0093", + "\12\u0091\10\uffff\1\u0093\1\uffff\3\u0093\5\uffff\1\u0093\22\uffff\1\u0091\2\uffff\1\u0093\1\uffff\3\u0093\5\uffff\1\u0093", + "", + "", + "", + "", "\1\u00cf", "\1\u00d0", - "", "\1\u00d1", - "", "\1\u00d2", "\1\u00d3", - "\1\u00d4", - "\1\u00d5", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", + "\1\70\13\uffff\12\70\7\uffff\1\u00d4\31\70\4\uffff\1\70\1\uffff\32\70", + "\1\u00d6", "\1\u00d7", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", + "\1\u00d8", "\1\u00d9", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "\1\u00db", - "\1\u00dc", + "\1\u00da", + "\1\u00dc\2\uffff\1\u00db", + "", + "", "\1\u00dd", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "\1\u00df", - "\1\u00e0", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", "", + "", + "\1\u00de", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u00e0", + "\1\u00e1", "\1\u00e2", "\1\u00e3", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "", + "\1\u00e4", "\1\u00e5", "\1\u00e6", "\1\u00e7", - "", - "", "\1\u00e8", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", + "", + "\1\u00e9", + "\1\u00ea", "\1\u00eb", "\1\u00ec", - "\1\u00ed", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", "\1\u00ee", "\1\u00ef", "\1\u00f0", @@ -2907,267 +4227,381 @@ public void mTokens() throws RecognitionException { "\1\u00f2", "\1\u00f3", "\1\u00f4", - "", "\1\u00f5", - "", "\1\u00f6", "", + "", + "", + "", "\1\u00f7", "\1\u00f8", - "\1\u00f9", - "", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", "\1\u00fa", "\1\u00fb", - "", "\1\u00fc", - "\1\u00fd", - "", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "\1\u00ff", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "", - "", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u00fe", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u0101", "\1\u0102", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "\1\u0104", - "\1\u0105", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", + "\1\u0103", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u0106", + "", "\1\u0107", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", + "\1\u0108", "\1\u0109", "\1\u010a", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", + "\1\u010b", "\1\u010c", "\1\u010d", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "\12\63\7\uffff\5\63\1\u010f\24\63\4\uffff\1\63\1\uffff\32\63", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", + "\1\u010e", + "\1\u010f", + "", + "\1\u0110", + "", + "\1\u0111", "\1\u0112", "\1\u0113", "\1\u0114", "\1\u0115", - "", - "\1\u0116", - "", - "", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", "\1\u0117", - "", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", "\1\u0119", + "\1\u011a\33\uffff\1\u011b", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", "", - "\1\u011a", - "", - "", - "\1\u011b", - "", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", "\1\u011d", - "", "\1\u011e", - "", - "", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", + "\1\u011f", "\1\u0120", "\1\u0121", "\1\u0122", - "\1\u0123", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", "\1\u0124", - "", "\1\u0125", "\1\u0126", - "\1\u0127", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", "", "\1\u0128", "\1\u0129", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", "", - "\1\u012a", "\1\u012b", + "", + "", "\1\u012c", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", + "\1\u012e\16\uffff\1\u012d", + "\1\u012f", "", - "\1\u0131", + "", + "\1\u0130", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", "\1\u0132", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u0134", "\1\u0135", + "\1\u0136", + "\1\u0137", + "\1\u0138", + "\1\u0139", + "\1\u013a", + "\1\u013b", + "\1\u013c", + "\1\u013d", + "\1\u013e", + "\1\u013f", "", + "\1\u0140", "", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u0142", + "\1\u0143", "", + "\1\u0144", + "\1\u0145", + "\1\u0146", + "\1\u0147", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u0149", "", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", - "\1\u0137", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u014b", + "\1\u014c", + "", + "\1\u014d", + "\1\u014e", + "", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u0151", + "\1\u0152", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "", + "\1\u0155", + "", + "\1\u0156", + "\1\u0157", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u0159", + "\1\u015a", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u015c", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u015e", + "\1\u015f", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u0162", + "", + "\1\u0163", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\70\13\uffff\12\70\7\uffff\5\70\1\u0166\24\70\4\uffff\1\70\1\uffff\32\70", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "", + "\1\u016a", + "", + "\1\u016b", + "\1\u016c", + "\1\u016d", + "\1\u016e", + "", + "", + "\1\u016f", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", "", "", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u0172", + "\1\u0173", "", - "\12\63\7\uffff\32\63\4\uffff\1\63\1\uffff\32\63", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u0175", "", + "\1\u0176", + "", + "", + "\1\u0177", + "", + "", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u0179", + "", + "", + "\1\u017a", + "", + "", + "", + "\1\u017b", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u017d", + "\1\u017e", + "\1\u017f", + "\1\u0180", + "", + "", + "\1\u0181", + "\1\u0182", + "", + "\1\u0183", + "\1\u0184", + "\1\u0185", + "", + "\1\u0186", + "\1\u0187", + "\1\u0188", + "", + "\1\u0189", + "\1\u018a", + "\1\u018b", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u018e", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "", + "\1\u0191", + "\1\u0192", + "\1\u0193", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u0196", + "", + "", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "", + "", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u0199", + "\1\u019a", + "", + "", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "", + "", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", + "\1\u019d", + "", + "", + "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70", "" }; - 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 final short[] DFA23_eot = DFA.unpackEncodedString(DFA23_eotS); + static final short[] DFA23_eof = DFA.unpackEncodedString(DFA23_eofS); + static final char[] DFA23_min = DFA.unpackEncodedStringToUnsignedChars(DFA23_minS); + static final char[] DFA23_max = DFA.unpackEncodedStringToUnsignedChars(DFA23_maxS); + static final short[] DFA23_accept = DFA.unpackEncodedString(DFA23_acceptS); + static final short[] DFA23_special = DFA.unpackEncodedString(DFA23_specialS); + static final short[][] DFA23_transition; static { - int numStates = DFA14_transitionS.length; - DFA14_transition = new short[numStates][]; + int numStates = DFA23_transitionS.length; + DFA23_transition = new short[numStates][]; for (int i=0; i') ) {s = 31;} + else if ( (LA23_0=='!') ) {s = 30;} - else if ( (LA14_0=='<') ) {s = 32;} + else if ( (LA23_0=='>') ) {s = 31;} - else if ( (LA14_0=='*') ) {s = 33;} + else if ( (LA23_0=='<') ) {s = 32;} - else if ( (LA14_0=='/') ) {s = 34;} + else if ( (LA23_0=='*') ) {s = 33;} - else if ( (LA14_0=='.') ) {s = 35;} + else if ( (LA23_0=='/') ) {s = 34;} - else if ( (LA14_0=='n') ) {s = 36;} + else if ( (LA23_0=='.') ) {s = 35;} - else if ( (LA14_0=='G') ) {s = 37;} + else if ( (LA23_0=='n') ) {s = 36;} - else if ( (LA14_0=='C') ) {s = 38;} + else if ( (LA23_0=='G') ) {s = 37;} - else if ( (LA14_0=='L') ) {s = 39;} + else if ( (LA23_0=='C') ) {s = 38;} - else if ( (LA14_0=='S') ) {s = 40;} + else if ( (LA23_0=='L') ) {s = 39;} - else if ( ((LA14_0>='0' && LA14_0<='9')) ) {s = 41;} + else if ( (LA23_0=='S') ) {s = 40;} - else if ( (LA14_0=='^') ) {s = 42;} + else if ( (LA23_0=='%') ) {s = 41;} - else if ( ((LA14_0>='A' && LA14_0<='B')||(LA14_0>='D' && LA14_0<='F')||(LA14_0>='H' && LA14_0<='K')||(LA14_0>='M' && LA14_0<='R')||(LA14_0>='T' && LA14_0<='Z')||LA14_0=='_'||LA14_0=='b'||(LA14_0>='g' && LA14_0<='h')||(LA14_0>='j' && LA14_0<='k')||LA14_0=='m'||LA14_0=='p'||(LA14_0>='v' && LA14_0<='z')) ) {s = 43;} + else if ( (LA23_0=='#') ) {s = 42;} - else if ( (LA14_0=='\"') ) {s = 44;} + else if ( (LA23_0=='w') ) {s = 43;} - else if ( (LA14_0=='\'') ) {s = 45;} + else if ( (LA23_0=='v') ) {s = 44;} - else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 46;} + else if ( (LA23_0=='0') ) {s = 45;} - 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<='\uFFFF')) ) {s = 47;} + else if ( ((LA23_0>='1' && LA23_0<='9')) ) {s = 46;} - if ( s>=0 ) return s; - break; - case 1 : - int LA14_44 = input.LA(1); + else if ( (LA23_0=='^') ) {s = 47;} - s = -1; - if ( ((LA14_44>='\u0000' && LA14_44<='\uFFFF')) ) {s = 118;} + else if ( (LA23_0=='$'||(LA23_0>='A' && LA23_0<='B')||(LA23_0>='D' && LA23_0<='F')||(LA23_0>='H' && LA23_0<='K')||(LA23_0>='M' && LA23_0<='R')||(LA23_0>='T' && LA23_0<='Z')||LA23_0=='_'||LA23_0=='b'||(LA23_0>='g' && LA23_0<='h')||(LA23_0>='j' && LA23_0<='k')||LA23_0=='m'||LA23_0=='p'||(LA23_0>='x' && LA23_0<='z')) ) {s = 48;} - else s = 47; + else if ( (LA23_0=='\"') ) {s = 49;} - if ( s>=0 ) return s; - break; - case 2 : - int LA14_45 = input.LA(1); + else if ( (LA23_0=='\'') ) {s = 50;} - s = -1; - if ( ((LA14_45>='\u0000' && LA14_45<='\uFFFF')) ) {s = 118;} + else if ( ((LA23_0>='\t' && LA23_0<='\n')||LA23_0=='\r'||LA23_0==' ') ) {s = 51;} - else s = 47; + else if ( ((LA23_0>='\u0000' && LA23_0<='\b')||(LA23_0>='\u000B' && LA23_0<='\f')||(LA23_0>='\u000E' && LA23_0<='\u001F')||LA23_0=='\\'||LA23_0=='`'||(LA23_0>='~' && LA23_0<='\uFFFF')) ) {s = 52;} if ( s>=0 ) return s; break; } NoViableAltException nvae = - new NoViableAltException(getDescription(), 14, _s, input); + new NoViableAltException(getDescription(), 23, _s, input); error(nvae); throw nvae; } diff --git a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/parser/antlr/internal/InternalExportParser.java b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/parser/antlr/internal/InternalExportParser.java index bf59476186..a9387f3a92 100644 --- a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/parser/antlr/internal/InternalExportParser.java +++ b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/parser/antlr/internal/InternalExportParser.java @@ -22,21 +22,14 @@ @SuppressWarnings("all") public class InternalExportParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_REAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'export'", "'extension'", "'for'", "'interface'", "'{'", "'}'", "'import'", "'as'", "'['", "']'", "'='", "','", "';'", "'+'", "'@'", "'eval'", "'('", "')'", "'lookup'", "'qualified'", "'uri-fragment'", "'unique'", "'attribute'", "'object-fingerprint'", "'resource-fingerprint'", "'field'", "'data'", "'::'", "'let'", "':'", "'->'", "'?'", "'if'", "'then'", "'else'", "'switch'", "'default'", "'case'", "'||'", "'&&'", "'implies'", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'-'", "'*'", "'/'", "'!'", "'.'", "'typeSelect'", "'collect'", "'select'", "'selectFirst'", "'reject'", "'exists'", "'notExists'", "'sortBy'", "'forAll'", "'|'", "'true'", "'false'", "'null'", "'GLOBALVAR'", "'new'", "'Collection'", "'List'", "'Set'" + "", "", "", "", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_REAL", "RULE_HEX", "RULE_DECIMAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'export'", "'extension'", "'for'", "'interface'", "'{'", "'}'", "'import'", "'as'", "'['", "']'", "'='", "','", "';'", "'+'", "'@'", "'eval'", "'('", "')'", "'lookup'", "'qualified'", "'uri-fragment'", "'unique'", "'attribute'", "'object-fingerprint'", "'resource-fingerprint'", "'field'", "'data'", "'::'", "'let'", "':'", "'->'", "'?'", "'if'", "'then'", "'else'", "'switch'", "'default'", "'case'", "'||'", "'&&'", "'implies'", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'-'", "'*'", "'/'", "'!'", "'.'", "'typeSelect'", "'collect'", "'select'", "'selectFirst'", "'reject'", "'exists'", "'notExists'", "'sortBy'", "'forAll'", "'|'", "'true'", "'false'", "'null'", "'GLOBALVAR'", "'new'", "'Collection'", "'List'", "'Set'", "'+='", "'-='", "'*='", "'/='", "'%='", "'==='", "'!=='", "'instanceof'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'**'", "'%'", "'++'", "'--'", "'?.'", "'#'", "'while'", "'do'", "'var'", "'val'", "'extends'", "'static'", "'super'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'&'" }; + public static final int RULE_HEX=8; public static final int T__50=50; - public static final int T__19=19; - public static final int T__15=15; public static final int T__59=59; - public static final int T__16=16; - public static final int T__17=17; - public static final int T__18=18; public static final int T__55=55; - public static final int T__12=12; public static final int T__56=56; - public static final int T__13=13; public static final int T__57=57; - public static final int T__14=14; public static final int T__58=58; public static final int T__51=51; public static final int T__52=52; @@ -46,53 +39,26 @@ public class InternalExportParser extends AbstractInternalAntlrParser { public static final int T__61=61; public static final int RULE_ID=4; public static final int RULE_REAL=7; - public static final int T__26=26; - public static final int T__27=27; - public static final int T__28=28; public static final int RULE_INT=6; - public static final int T__29=29; - public static final int T__22=22; public static final int T__66=66; - public static final int RULE_ML_COMMENT=8; - public static final int T__23=23; + public static final int RULE_ML_COMMENT=10; public static final int T__67=67; - public static final int T__24=24; public static final int T__68=68; - public static final int T__25=25; public static final int T__69=69; public static final int T__62=62; public static final int T__63=63; - public static final int T__20=20; public static final int T__64=64; - public static final int T__21=21; public static final int T__65=65; - public static final int T__70=70; - public static final int T__71=71; - public static final int T__72=72; - public static final int RULE_STRING=5; - public static final int RULE_SL_COMMENT=9; public static final int T__37=37; public static final int T__38=38; public static final int T__39=39; public static final int T__33=33; - public static final int T__77=77; public static final int T__34=34; - public static final int T__78=78; public static final int T__35=35; - public static final int T__79=79; public static final int T__36=36; - public static final int T__73=73; - public static final int EOF=-1; public static final int T__30=30; - public static final int T__74=74; public static final int T__31=31; - public static final int T__75=75; public static final int T__32=32; - public static final int T__76=76; - public static final int T__80=80; - public static final int T__81=81; - public static final int RULE_WS=10; - public static final int RULE_ANY_OTHER=11; public static final int T__48=48; public static final int T__49=49; public static final int T__44=44; @@ -103,6 +69,76 @@ public class InternalExportParser extends AbstractInternalAntlrParser { public static final int T__41=41; public static final int T__42=42; public static final int T__43=43; + public static final int T__91=91; + public static final int T__100=100; + public static final int T__92=92; + public static final int T__93=93; + public static final int T__102=102; + public static final int T__94=94; + public static final int T__101=101; + public static final int T__90=90; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__99=99; + public static final int T__14=14; + public static final int T__95=95; + public static final int T__96=96; + public static final int T__97=97; + public static final int T__98=98; + public static final int RULE_DECIMAL=9; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int T__29=29; + public static final int T__22=22; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + public static final int T__70=70; + public static final int T__71=71; + public static final int T__72=72; + public static final int RULE_STRING=5; + public static final int RULE_SL_COMMENT=11; + public static final int T__77=77; + public static final int T__78=78; + public static final int T__79=79; + public static final int T__73=73; + public static final int T__115=115; + public static final int EOF=-1; + public static final int T__74=74; + public static final int T__114=114; + public static final int T__75=75; + public static final int T__117=117; + public static final int T__76=76; + public static final int T__116=116; + public static final int T__80=80; + public static final int T__111=111; + public static final int T__81=81; + public static final int T__110=110; + public static final int T__82=82; + public static final int T__113=113; + public static final int T__83=83; + public static final int T__112=112; + public static final int RULE_WS=12; + public static final int RULE_ANY_OTHER=13; + public static final int T__88=88; + public static final int T__108=108; + public static final int T__89=89; + public static final int T__107=107; + public static final int T__109=109; + public static final int T__84=84; + public static final int T__104=104; + public static final int T__85=85; + public static final int T__103=103; + public static final int T__86=86; + public static final int T__106=106; + public static final int T__87=87; + public static final int T__105=105; // delegates // delegators @@ -218,14 +254,14 @@ public final EObject ruleExportModel() throws RecognitionException { int alt2=2; int LA2_0 = input.LA(1); - if ( (LA2_0==12) ) { + if ( (LA2_0==14) ) { alt2=1; } switch (alt2) { case 1 : // InternalExport.g:80:4: otherlv_0= 'export' ( (lv_extension_1_0= 'extension' ) )? ( (lv_name_2_0= RULE_ID ) ) otherlv_3= 'for' ( ( ruleQualifiedID ) ) { - otherlv_0=(Token)match(input,12,FOLLOW_3); if (state.failed) return current; + otherlv_0=(Token)match(input,14,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getExportModelAccess().getExportKeyword_0_0()); @@ -235,7 +271,7 @@ public final EObject ruleExportModel() throws RecognitionException { int alt1=2; int LA1_0 = input.LA(1); - if ( (LA1_0==13) ) { + if ( (LA1_0==15) ) { alt1=1; } switch (alt1) { @@ -245,7 +281,7 @@ public final EObject ruleExportModel() throws RecognitionException { // InternalExport.g:85:5: (lv_extension_1_0= 'extension' ) // InternalExport.g:86:6: lv_extension_1_0= 'extension' { - lv_extension_1_0=(Token)match(input,13,FOLLOW_4); if (state.failed) return current; + lv_extension_1_0=(Token)match(input,15,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_extension_1_0, grammarAccess.getExportModelAccess().getExtensionExtensionKeyword_0_1_0()); @@ -289,7 +325,7 @@ public final EObject ruleExportModel() throws RecognitionException { current, "name", lv_name_2_0, - "org.eclipse.xtext.common.Terminals.ID"); + "org.eclipse.xtext.xbase.Xtype.ID"); } @@ -298,7 +334,7 @@ public final EObject ruleExportModel() throws RecognitionException { } - otherlv_3=(Token)match(input,14,FOLLOW_4); if (state.failed) return current; + otherlv_3=(Token)match(input,16,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getExportModelAccess().getForKeyword_0_3()); @@ -351,7 +387,7 @@ public final EObject ruleExportModel() throws RecognitionException { int alt3=2; int LA3_0 = input.LA(1); - if ( (LA3_0==18) ) { + if ( (LA3_0==20) ) { alt3=1; } @@ -409,7 +445,7 @@ public final EObject ruleExportModel() throws RecognitionException { int alt4=2; int LA4_0 = input.LA(1); - if ( (LA4_0==13) ) { + if ( (LA4_0==15) ) { alt4=1; } @@ -460,20 +496,20 @@ public final EObject ruleExportModel() throws RecognitionException { int alt6=2; int LA6_0 = input.LA(1); - if ( (LA6_0==15) ) { + if ( (LA6_0==17) ) { alt6=1; } switch (alt6) { case 1 : // InternalExport.g:176:4: otherlv_7= 'interface' otherlv_8= '{' ( (lv_interfaces_9_0= ruleInterface ) )+ otherlv_10= '}' { - otherlv_7=(Token)match(input,15,FOLLOW_9); if (state.failed) return current; + otherlv_7=(Token)match(input,17,FOLLOW_9); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getExportModelAccess().getInterfaceKeyword_3_0()); } - otherlv_8=(Token)match(input,16,FOLLOW_4); if (state.failed) return current; + otherlv_8=(Token)match(input,18,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getExportModelAccess().getLeftCurlyBracketKeyword_3_1()); @@ -538,7 +574,7 @@ public final EObject ruleExportModel() throws RecognitionException { cnt5++; } while (true); - otherlv_10=(Token)match(input,17,FOLLOW_8); if (state.failed) return current; + otherlv_10=(Token)match(input,19,FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getExportModelAccess().getRightCurlyBracketKeyword_3_3()); @@ -557,7 +593,7 @@ public final EObject ruleExportModel() throws RecognitionException { int alt7=2; int LA7_0 = input.LA(1); - if ( (LA7_0==12) ) { + if ( (LA7_0==14) ) { alt7=1; } @@ -693,7 +729,7 @@ public final EObject ruleImport() throws RecognitionException { // InternalExport.g:245:2: (otherlv_0= 'import' ( (otherlv_1= RULE_STRING ) ) (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ) // InternalExport.g:246:3: otherlv_0= 'import' ( (otherlv_1= RULE_STRING ) ) (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? { - otherlv_0=(Token)match(input,18,FOLLOW_12); if (state.failed) return current; + otherlv_0=(Token)match(input,20,FOLLOW_12); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0()); @@ -728,14 +764,14 @@ public final EObject ruleImport() throws RecognitionException { int alt8=2; int LA8_0 = input.LA(1); - if ( (LA8_0==19) ) { + if ( (LA8_0==21) ) { alt8=1; } switch (alt8) { case 1 : // InternalExport.g:264:4: otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) { - otherlv_2=(Token)match(input,19,FOLLOW_4); if (state.failed) return current; + otherlv_2=(Token)match(input,21,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getImportAccess().getAsKeyword_2_0()); @@ -762,7 +798,7 @@ public final EObject ruleImport() throws RecognitionException { current, "name", lv_name_3_0, - "org.eclipse.xtext.common.Terminals.ID"); + "org.eclipse.xtext.xbase.Xtype.ID"); } @@ -860,7 +896,7 @@ public final EObject ruleExtension() throws RecognitionException { // InternalExport.g:305:2: (otherlv_0= 'extension' ( (lv_extension_1_0= ruleQualifiedID ) ) ) // InternalExport.g:306:3: otherlv_0= 'extension' ( (lv_extension_1_0= ruleQualifiedID ) ) { - otherlv_0=(Token)match(input,13,FOLLOW_4); if (state.failed) return current; + otherlv_0=(Token)match(input,15,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getExtensionAccess().getExtensionKeyword_0()); @@ -1030,14 +1066,14 @@ public final EObject ruleInterface() throws RecognitionException { int alt9=2; int LA9_0 = input.LA(1); - if ( (LA9_0==20) ) { + if ( (LA9_0==22) ) { alt9=1; } switch (alt9) { case 1 : // InternalExport.g:365:4: otherlv_1= '[' ( (lv_guard_2_0= ruleExpression ) ) otherlv_3= ']' { - otherlv_1=(Token)match(input,20,FOLLOW_15); if (state.failed) return current; + otherlv_1=(Token)match(input,22,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getInterfaceAccess().getLeftSquareBracketKeyword_1_0()); @@ -1078,7 +1114,7 @@ public final EObject ruleInterface() throws RecognitionException { } - otherlv_3=(Token)match(input,21,FOLLOW_17); if (state.failed) return current; + otherlv_3=(Token)match(input,23,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getInterfaceAccess().getRightSquareBracketKeyword_1_2()); @@ -1096,7 +1132,7 @@ public final EObject ruleInterface() throws RecognitionException { int alt11=2; int LA11_0 = input.LA(1); - if ( (LA11_0==22) ) { + if ( (LA11_0==24) ) { alt11=1; } @@ -1105,7 +1141,7 @@ public final EObject ruleInterface() throws RecognitionException { case 1 : // InternalExport.g:394:4: otherlv_4= '=' ( (lv_items_5_0= ruleInterfaceItem ) ) (otherlv_6= ',' ( (lv_items_7_0= ruleInterfaceItem ) ) )* { - otherlv_4=(Token)match(input,22,FOLLOW_18); if (state.failed) return current; + otherlv_4=(Token)match(input,24,FOLLOW_18); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getInterfaceAccess().getEqualsSignKeyword_2_0()); @@ -1152,7 +1188,7 @@ public final EObject ruleInterface() throws RecognitionException { int alt10=2; int LA10_0 = input.LA(1); - if ( (LA10_0==23) ) { + if ( (LA10_0==25) ) { alt10=1; } @@ -1161,7 +1197,7 @@ public final EObject ruleInterface() throws RecognitionException { case 1 : // InternalExport.g:418:5: otherlv_6= ',' ( (lv_items_7_0= ruleInterfaceItem ) ) { - otherlv_6=(Token)match(input,23,FOLLOW_18); if (state.failed) return current; + otherlv_6=(Token)match(input,25,FOLLOW_18); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getInterfaceAccess().getCommaKeyword_2_2_0()); @@ -1220,7 +1256,7 @@ public final EObject ruleInterface() throws RecognitionException { } } while (true); - otherlv_8=(Token)match(input,24,FOLLOW_2); if (state.failed) return current; + otherlv_8=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getInterfaceAccess().getSemicolonKeyword_3()); @@ -1313,17 +1349,17 @@ public final EObject ruleInterfaceItem() throws RecognitionException { int alt12=3; switch ( input.LA(1) ) { case RULE_ID: - case 25: + case 27: { alt12=1; } break; - case 26: + case 28: { alt12=2; } break; - case 27: + case 29: { alt12=3; } @@ -1489,7 +1525,7 @@ public final EObject ruleInterfaceField() throws RecognitionException { int alt13=2; int LA13_0 = input.LA(1); - if ( (LA13_0==25) ) { + if ( (LA13_0==27) ) { alt13=1; } switch (alt13) { @@ -1499,7 +1535,7 @@ public final EObject ruleInterfaceField() throws RecognitionException { // InternalExport.g:512:4: (lv_unordered_0_0= '+' ) // InternalExport.g:513:5: lv_unordered_0_0= '+' { - lv_unordered_0_0=(Token)match(input,25,FOLLOW_4); if (state.failed) return current; + lv_unordered_0_0=(Token)match(input,27,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_unordered_0_0, grammarAccess.getInterfaceFieldAccess().getUnorderedPlusSignKeyword_0_0()); @@ -1630,7 +1666,7 @@ public final EObject ruleInterfaceNavigation() throws RecognitionException { // InternalExport.g:556:2: (otherlv_0= '@' ( (lv_unordered_1_0= '+' ) )? ( (otherlv_2= RULE_ID ) ) ) // InternalExport.g:557:3: otherlv_0= '@' ( (lv_unordered_1_0= '+' ) )? ( (otherlv_2= RULE_ID ) ) { - otherlv_0=(Token)match(input,26,FOLLOW_20); if (state.failed) return current; + otherlv_0=(Token)match(input,28,FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getInterfaceNavigationAccess().getCommercialAtKeyword_0()); @@ -1640,7 +1676,7 @@ public final EObject ruleInterfaceNavigation() throws RecognitionException { int alt14=2; int LA14_0 = input.LA(1); - if ( (LA14_0==25) ) { + if ( (LA14_0==27) ) { alt14=1; } switch (alt14) { @@ -1650,7 +1686,7 @@ public final EObject ruleInterfaceNavigation() throws RecognitionException { // InternalExport.g:562:4: (lv_unordered_1_0= '+' ) // InternalExport.g:563:5: lv_unordered_1_0= '+' { - lv_unordered_1_0=(Token)match(input,25,FOLLOW_4); if (state.failed) return current; + lv_unordered_1_0=(Token)match(input,27,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_unordered_1_0, grammarAccess.getInterfaceNavigationAccess().getUnorderedPlusSignKeyword_1_0()); @@ -1785,7 +1821,7 @@ public final EObject ruleInterfaceExpression() throws RecognitionException { // InternalExport.g:606:2: (otherlv_0= 'eval' ( (lv_ref_1_0= '@' ) )? ( (lv_unordered_2_0= '+' ) )? otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ) // InternalExport.g:607:3: otherlv_0= 'eval' ( (lv_ref_1_0= '@' ) )? ( (lv_unordered_2_0= '+' ) )? otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' { - otherlv_0=(Token)match(input,27,FOLLOW_21); if (state.failed) return current; + otherlv_0=(Token)match(input,29,FOLLOW_21); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getInterfaceExpressionAccess().getEvalKeyword_0()); @@ -1795,7 +1831,7 @@ public final EObject ruleInterfaceExpression() throws RecognitionException { int alt15=2; int LA15_0 = input.LA(1); - if ( (LA15_0==26) ) { + if ( (LA15_0==28) ) { alt15=1; } switch (alt15) { @@ -1805,7 +1841,7 @@ public final EObject ruleInterfaceExpression() throws RecognitionException { // InternalExport.g:612:4: (lv_ref_1_0= '@' ) // InternalExport.g:613:5: lv_ref_1_0= '@' { - lv_ref_1_0=(Token)match(input,26,FOLLOW_22); if (state.failed) return current; + lv_ref_1_0=(Token)match(input,28,FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_ref_1_0, grammarAccess.getInterfaceExpressionAccess().getRefCommercialAtKeyword_1_0()); @@ -1832,7 +1868,7 @@ public final EObject ruleInterfaceExpression() throws RecognitionException { int alt16=2; int LA16_0 = input.LA(1); - if ( (LA16_0==25) ) { + if ( (LA16_0==27) ) { alt16=1; } switch (alt16) { @@ -1842,7 +1878,7 @@ public final EObject ruleInterfaceExpression() throws RecognitionException { // InternalExport.g:626:4: (lv_unordered_2_0= '+' ) // InternalExport.g:627:5: lv_unordered_2_0= '+' { - lv_unordered_2_0=(Token)match(input,25,FOLLOW_23); if (state.failed) return current; + lv_unordered_2_0=(Token)match(input,27,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_unordered_2_0, grammarAccess.getInterfaceExpressionAccess().getUnorderedPlusSignKeyword_2_0()); @@ -1865,7 +1901,7 @@ public final EObject ruleInterfaceExpression() throws RecognitionException { } - otherlv_3=(Token)match(input,28,FOLLOW_15); if (state.failed) return current; + otherlv_3=(Token)match(input,30,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getInterfaceExpressionAccess().getLeftParenthesisKeyword_3()); @@ -1906,7 +1942,7 @@ public final EObject ruleInterfaceExpression() throws RecognitionException { } - otherlv_5=(Token)match(input,29,FOLLOW_2); if (state.failed) return current; + otherlv_5=(Token)match(input,31,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getInterfaceExpressionAccess().getRightParenthesisKeyword_5()); @@ -2033,7 +2069,7 @@ public final EObject ruleExport() throws RecognitionException { // InternalExport.g:684:2: (otherlv_0= 'export' ( ( (lv_lookup_1_0= 'lookup' ) ) (otherlv_2= '[' ( (lv_lookupPredicate_3_0= ruleExpression ) ) otherlv_4= ']' )? )? ( ( ruleQualifiedID ) ) (otherlv_6= 'as' ( (lv_qualifiedName_7_0= 'qualified' ) )? ( (lv_naming_8_0= ruleExpression ) ) )? (otherlv_9= '[' ( (lv_guard_10_0= ruleExpression ) ) otherlv_11= ']' )? otherlv_12= '{' (otherlv_13= 'uri-fragment' otherlv_14= '=' ( (lv_fragmentUnique_15_0= 'unique' ) )? otherlv_16= 'attribute' otherlv_17= '(' ( (otherlv_18= RULE_ID ) ) otherlv_19= ')' otherlv_20= ';' )? ( ( ( (lv_fingerprint_21_0= 'object-fingerprint' ) ) | ( (lv_resourceFingerprint_22_0= 'resource-fingerprint' ) ) ) otherlv_23= ';' )? ( (otherlv_24= 'field' ( (lv_attributes_25_0= ruleAttribute ) ) (otherlv_26= ',' ( (lv_attributes_27_0= ruleAttribute ) ) )* otherlv_28= ';' ) | (otherlv_29= 'data' ( (lv_userData_30_0= ruleUserData ) ) (otherlv_31= ',' ( (lv_userData_32_0= ruleUserData ) ) )* otherlv_33= ';' ) )* otherlv_34= '}' ) // InternalExport.g:685:3: otherlv_0= 'export' ( ( (lv_lookup_1_0= 'lookup' ) ) (otherlv_2= '[' ( (lv_lookupPredicate_3_0= ruleExpression ) ) otherlv_4= ']' )? )? ( ( ruleQualifiedID ) ) (otherlv_6= 'as' ( (lv_qualifiedName_7_0= 'qualified' ) )? ( (lv_naming_8_0= ruleExpression ) ) )? (otherlv_9= '[' ( (lv_guard_10_0= ruleExpression ) ) otherlv_11= ']' )? otherlv_12= '{' (otherlv_13= 'uri-fragment' otherlv_14= '=' ( (lv_fragmentUnique_15_0= 'unique' ) )? otherlv_16= 'attribute' otherlv_17= '(' ( (otherlv_18= RULE_ID ) ) otherlv_19= ')' otherlv_20= ';' )? ( ( ( (lv_fingerprint_21_0= 'object-fingerprint' ) ) | ( (lv_resourceFingerprint_22_0= 'resource-fingerprint' ) ) ) otherlv_23= ';' )? ( (otherlv_24= 'field' ( (lv_attributes_25_0= ruleAttribute ) ) (otherlv_26= ',' ( (lv_attributes_27_0= ruleAttribute ) ) )* otherlv_28= ';' ) | (otherlv_29= 'data' ( (lv_userData_30_0= ruleUserData ) ) (otherlv_31= ',' ( (lv_userData_32_0= ruleUserData ) ) )* otherlv_33= ';' ) )* otherlv_34= '}' { - otherlv_0=(Token)match(input,12,FOLLOW_25); if (state.failed) return current; + otherlv_0=(Token)match(input,14,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getExportAccess().getExportKeyword_0()); @@ -2043,7 +2079,7 @@ public final EObject ruleExport() throws RecognitionException { int alt18=2; int LA18_0 = input.LA(1); - if ( (LA18_0==30) ) { + if ( (LA18_0==32) ) { alt18=1; } switch (alt18) { @@ -2056,7 +2092,7 @@ public final EObject ruleExport() throws RecognitionException { // InternalExport.g:691:5: (lv_lookup_1_0= 'lookup' ) // InternalExport.g:692:6: lv_lookup_1_0= 'lookup' { - lv_lookup_1_0=(Token)match(input,30,FOLLOW_26); if (state.failed) return current; + lv_lookup_1_0=(Token)match(input,32,FOLLOW_26); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_lookup_1_0, grammarAccess.getExportAccess().getLookupLookupKeyword_1_0_0()); @@ -2080,14 +2116,14 @@ public final EObject ruleExport() throws RecognitionException { int alt17=2; int LA17_0 = input.LA(1); - if ( (LA17_0==20) ) { + if ( (LA17_0==22) ) { alt17=1; } switch (alt17) { case 1 : // InternalExport.g:705:5: otherlv_2= '[' ( (lv_lookupPredicate_3_0= ruleExpression ) ) otherlv_4= ']' { - otherlv_2=(Token)match(input,20,FOLLOW_15); if (state.failed) return current; + otherlv_2=(Token)match(input,22,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getExportAccess().getLeftSquareBracketKeyword_1_1_0()); @@ -2128,7 +2164,7 @@ public final EObject ruleExport() throws RecognitionException { } - otherlv_4=(Token)match(input,21,FOLLOW_4); if (state.failed) return current; + otherlv_4=(Token)match(input,23,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getExportAccess().getRightSquareBracketKeyword_1_1_2()); @@ -2184,14 +2220,14 @@ public final EObject ruleExport() throws RecognitionException { int alt20=2; int LA20_0 = input.LA(1); - if ( (LA20_0==19) ) { + if ( (LA20_0==21) ) { alt20=1; } switch (alt20) { case 1 : // InternalExport.g:751:4: otherlv_6= 'as' ( (lv_qualifiedName_7_0= 'qualified' ) )? ( (lv_naming_8_0= ruleExpression ) ) { - otherlv_6=(Token)match(input,19,FOLLOW_28); if (state.failed) return current; + otherlv_6=(Token)match(input,21,FOLLOW_28); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getExportAccess().getAsKeyword_3_0()); @@ -2201,7 +2237,7 @@ public final EObject ruleExport() throws RecognitionException { int alt19=2; int LA19_0 = input.LA(1); - if ( (LA19_0==31) ) { + if ( (LA19_0==33) ) { alt19=1; } switch (alt19) { @@ -2211,7 +2247,7 @@ public final EObject ruleExport() throws RecognitionException { // InternalExport.g:756:5: (lv_qualifiedName_7_0= 'qualified' ) // InternalExport.g:757:6: lv_qualifiedName_7_0= 'qualified' { - lv_qualifiedName_7_0=(Token)match(input,31,FOLLOW_15); if (state.failed) return current; + lv_qualifiedName_7_0=(Token)match(input,33,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_qualifiedName_7_0, grammarAccess.getExportAccess().getQualifiedNameQualifiedKeyword_3_1_0()); @@ -2279,14 +2315,14 @@ public final EObject ruleExport() throws RecognitionException { int alt21=2; int LA21_0 = input.LA(1); - if ( (LA21_0==20) ) { + if ( (LA21_0==22) ) { alt21=1; } switch (alt21) { case 1 : // InternalExport.g:790:4: otherlv_9= '[' ( (lv_guard_10_0= ruleExpression ) ) otherlv_11= ']' { - otherlv_9=(Token)match(input,20,FOLLOW_15); if (state.failed) return current; + otherlv_9=(Token)match(input,22,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getExportAccess().getLeftSquareBracketKeyword_4_0()); @@ -2327,7 +2363,7 @@ public final EObject ruleExport() throws RecognitionException { } - otherlv_11=(Token)match(input,21,FOLLOW_9); if (state.failed) return current; + otherlv_11=(Token)match(input,23,FOLLOW_9); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getExportAccess().getRightSquareBracketKeyword_4_2()); @@ -2339,7 +2375,7 @@ public final EObject ruleExport() throws RecognitionException { } - otherlv_12=(Token)match(input,16,FOLLOW_30); if (state.failed) return current; + otherlv_12=(Token)match(input,18,FOLLOW_30); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getExportAccess().getLeftCurlyBracketKeyword_5()); @@ -2349,20 +2385,20 @@ public final EObject ruleExport() throws RecognitionException { int alt23=2; int LA23_0 = input.LA(1); - if ( (LA23_0==32) ) { + if ( (LA23_0==34) ) { alt23=1; } switch (alt23) { case 1 : // InternalExport.g:823:4: otherlv_13= 'uri-fragment' otherlv_14= '=' ( (lv_fragmentUnique_15_0= 'unique' ) )? otherlv_16= 'attribute' otherlv_17= '(' ( (otherlv_18= RULE_ID ) ) otherlv_19= ')' otherlv_20= ';' { - otherlv_13=(Token)match(input,32,FOLLOW_31); if (state.failed) return current; + otherlv_13=(Token)match(input,34,FOLLOW_31); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getExportAccess().getUriFragmentKeyword_6_0()); } - otherlv_14=(Token)match(input,22,FOLLOW_32); if (state.failed) return current; + otherlv_14=(Token)match(input,24,FOLLOW_32); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_14, grammarAccess.getExportAccess().getEqualsSignKeyword_6_1()); @@ -2372,7 +2408,7 @@ public final EObject ruleExport() throws RecognitionException { int alt22=2; int LA22_0 = input.LA(1); - if ( (LA22_0==33) ) { + if ( (LA22_0==35) ) { alt22=1; } switch (alt22) { @@ -2382,7 +2418,7 @@ public final EObject ruleExport() throws RecognitionException { // InternalExport.g:832:5: (lv_fragmentUnique_15_0= 'unique' ) // InternalExport.g:833:6: lv_fragmentUnique_15_0= 'unique' { - lv_fragmentUnique_15_0=(Token)match(input,33,FOLLOW_33); if (state.failed) return current; + lv_fragmentUnique_15_0=(Token)match(input,35,FOLLOW_33); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_fragmentUnique_15_0, grammarAccess.getExportAccess().getFragmentUniqueUniqueKeyword_6_2_0()); @@ -2405,13 +2441,13 @@ public final EObject ruleExport() throws RecognitionException { } - otherlv_16=(Token)match(input,34,FOLLOW_23); if (state.failed) return current; + otherlv_16=(Token)match(input,36,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_16, grammarAccess.getExportAccess().getAttributeKeyword_6_3()); } - otherlv_17=(Token)match(input,28,FOLLOW_4); if (state.failed) return current; + otherlv_17=(Token)match(input,30,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_17, grammarAccess.getExportAccess().getLeftParenthesisKeyword_6_4()); @@ -2442,13 +2478,13 @@ public final EObject ruleExport() throws RecognitionException { } - otherlv_19=(Token)match(input,29,FOLLOW_34); if (state.failed) return current; + otherlv_19=(Token)match(input,31,FOLLOW_34); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_19, grammarAccess.getExportAccess().getRightParenthesisKeyword_6_6()); } - otherlv_20=(Token)match(input,24,FOLLOW_35); if (state.failed) return current; + otherlv_20=(Token)match(input,26,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_20, grammarAccess.getExportAccess().getSemicolonKeyword_6_7()); @@ -2464,7 +2500,7 @@ public final EObject ruleExport() throws RecognitionException { int alt25=2; int LA25_0 = input.LA(1); - if ( ((LA25_0>=35 && LA25_0<=36)) ) { + if ( ((LA25_0>=37 && LA25_0<=38)) ) { alt25=1; } switch (alt25) { @@ -2475,10 +2511,10 @@ public final EObject ruleExport() throws RecognitionException { int alt24=2; int LA24_0 = input.LA(1); - if ( (LA24_0==35) ) { + if ( (LA24_0==37) ) { alt24=1; } - else if ( (LA24_0==36) ) { + else if ( (LA24_0==38) ) { alt24=2; } else { @@ -2498,7 +2534,7 @@ else if ( (LA24_0==36) ) { // InternalExport.g:878:6: (lv_fingerprint_21_0= 'object-fingerprint' ) // InternalExport.g:879:7: lv_fingerprint_21_0= 'object-fingerprint' { - lv_fingerprint_21_0=(Token)match(input,35,FOLLOW_34); if (state.failed) return current; + lv_fingerprint_21_0=(Token)match(input,37,FOLLOW_34); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_fingerprint_21_0, grammarAccess.getExportAccess().getFingerprintObjectFingerprintKeyword_7_0_0_0()); @@ -2530,7 +2566,7 @@ else if ( (LA24_0==36) ) { // InternalExport.g:893:6: (lv_resourceFingerprint_22_0= 'resource-fingerprint' ) // InternalExport.g:894:7: lv_resourceFingerprint_22_0= 'resource-fingerprint' { - lv_resourceFingerprint_22_0=(Token)match(input,36,FOLLOW_34); if (state.failed) return current; + lv_resourceFingerprint_22_0=(Token)match(input,38,FOLLOW_34); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_resourceFingerprint_22_0, grammarAccess.getExportAccess().getResourceFingerprintResourceFingerprintKeyword_7_0_1_0()); @@ -2556,7 +2592,7 @@ else if ( (LA24_0==36) ) { } - otherlv_23=(Token)match(input,24,FOLLOW_36); if (state.failed) return current; + otherlv_23=(Token)match(input,26,FOLLOW_36); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_23, grammarAccess.getExportAccess().getSemicolonKeyword_7_1()); @@ -2574,10 +2610,10 @@ else if ( (LA24_0==36) ) { int alt28=3; int LA28_0 = input.LA(1); - if ( (LA28_0==37) ) { + if ( (LA28_0==39) ) { alt28=1; } - else if ( (LA28_0==38) ) { + else if ( (LA28_0==40) ) { alt28=2; } @@ -2589,7 +2625,7 @@ else if ( (LA28_0==38) ) { // InternalExport.g:913:4: (otherlv_24= 'field' ( (lv_attributes_25_0= ruleAttribute ) ) (otherlv_26= ',' ( (lv_attributes_27_0= ruleAttribute ) ) )* otherlv_28= ';' ) // InternalExport.g:914:5: otherlv_24= 'field' ( (lv_attributes_25_0= ruleAttribute ) ) (otherlv_26= ',' ( (lv_attributes_27_0= ruleAttribute ) ) )* otherlv_28= ';' { - otherlv_24=(Token)match(input,37,FOLLOW_4); if (state.failed) return current; + otherlv_24=(Token)match(input,39,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_24, grammarAccess.getExportAccess().getFieldKeyword_8_0_0()); @@ -2636,7 +2672,7 @@ else if ( (LA28_0==38) ) { int alt26=2; int LA26_0 = input.LA(1); - if ( (LA26_0==23) ) { + if ( (LA26_0==25) ) { alt26=1; } @@ -2645,7 +2681,7 @@ else if ( (LA28_0==38) ) { case 1 : // InternalExport.g:938:6: otherlv_26= ',' ( (lv_attributes_27_0= ruleAttribute ) ) { - otherlv_26=(Token)match(input,23,FOLLOW_4); if (state.failed) return current; + otherlv_26=(Token)match(input,25,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_26, grammarAccess.getExportAccess().getCommaKeyword_8_0_2_0()); @@ -2695,7 +2731,7 @@ else if ( (LA28_0==38) ) { } } while (true); - otherlv_28=(Token)match(input,24,FOLLOW_36); if (state.failed) return current; + otherlv_28=(Token)match(input,26,FOLLOW_36); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_28, grammarAccess.getExportAccess().getSemicolonKeyword_8_0_3()); @@ -2713,7 +2749,7 @@ else if ( (LA28_0==38) ) { // InternalExport.g:968:4: (otherlv_29= 'data' ( (lv_userData_30_0= ruleUserData ) ) (otherlv_31= ',' ( (lv_userData_32_0= ruleUserData ) ) )* otherlv_33= ';' ) // InternalExport.g:969:5: otherlv_29= 'data' ( (lv_userData_30_0= ruleUserData ) ) (otherlv_31= ',' ( (lv_userData_32_0= ruleUserData ) ) )* otherlv_33= ';' { - otherlv_29=(Token)match(input,38,FOLLOW_4); if (state.failed) return current; + otherlv_29=(Token)match(input,40,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_29, grammarAccess.getExportAccess().getDataKeyword_8_1_0()); @@ -2760,7 +2796,7 @@ else if ( (LA28_0==38) ) { int alt27=2; int LA27_0 = input.LA(1); - if ( (LA27_0==23) ) { + if ( (LA27_0==25) ) { alt27=1; } @@ -2769,7 +2805,7 @@ else if ( (LA28_0==38) ) { case 1 : // InternalExport.g:993:6: otherlv_31= ',' ( (lv_userData_32_0= ruleUserData ) ) { - otherlv_31=(Token)match(input,23,FOLLOW_4); if (state.failed) return current; + otherlv_31=(Token)match(input,25,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_31, grammarAccess.getExportAccess().getCommaKeyword_8_1_2_0()); @@ -2819,7 +2855,7 @@ else if ( (LA28_0==38) ) { } } while (true); - otherlv_33=(Token)match(input,24,FOLLOW_36); if (state.failed) return current; + otherlv_33=(Token)match(input,26,FOLLOW_36); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_33, grammarAccess.getExportAccess().getSemicolonKeyword_8_1_3()); @@ -2837,7 +2873,7 @@ else if ( (LA28_0==38) ) { } } while (true); - otherlv_34=(Token)match(input,17,FOLLOW_2); if (state.failed) return current; + otherlv_34=(Token)match(input,19,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_34, grammarAccess.getExportAccess().getRightCurlyBracketKeyword_9()); @@ -2948,7 +2984,7 @@ public final EObject ruleUserData() throws RecognitionException { current, "name", lv_name_0_0, - "org.eclipse.xtext.common.Terminals.ID"); + "org.eclipse.xtext.xbase.Xtype.ID"); } @@ -2957,7 +2993,7 @@ public final EObject ruleUserData() throws RecognitionException { } - otherlv_1=(Token)match(input,22,FOLLOW_15); if (state.failed) return current; + otherlv_1=(Token)match(input,24,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getUserDataAccess().getEqualsSignKeyword_1()); @@ -3198,7 +3234,7 @@ public final AntlrDatatypeRuleToken ruleQualifiedID() throws RecognitionExceptio int alt29=2; int LA29_0 = input.LA(1); - if ( (LA29_0==39) ) { + if ( (LA29_0==41) ) { alt29=1; } @@ -3207,7 +3243,7 @@ public final AntlrDatatypeRuleToken ruleQualifiedID() throws RecognitionExceptio case 1 : // InternalExport.g:1144:4: kw= '::' this_ID_2= RULE_ID { - kw=(Token)match(input,39,FOLLOW_4); if (state.failed) return current; + kw=(Token)match(input,41,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -3482,7 +3518,7 @@ public final EObject ruleLetExpression() throws RecognitionException { // InternalExport.g:1223:2: (otherlv_0= 'let' ( (lv_identifier_1_0= ruleIdentifier ) ) otherlv_2= '=' ( (lv_varExpr_3_0= ruleExpression ) ) otherlv_4= ':' ( (lv_target_5_0= ruleExpression ) ) ) // InternalExport.g:1224:3: otherlv_0= 'let' ( (lv_identifier_1_0= ruleIdentifier ) ) otherlv_2= '=' ( (lv_varExpr_3_0= ruleExpression ) ) otherlv_4= ':' ( (lv_target_5_0= ruleExpression ) ) { - otherlv_0=(Token)match(input,40,FOLLOW_4); if (state.failed) return current; + otherlv_0=(Token)match(input,42,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getLetExpressionAccess().getLetKeyword_0()); @@ -3523,7 +3559,7 @@ public final EObject ruleLetExpression() throws RecognitionException { } - otherlv_2=(Token)match(input,22,FOLLOW_15); if (state.failed) return current; + otherlv_2=(Token)match(input,24,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); @@ -3564,7 +3600,7 @@ public final EObject ruleLetExpression() throws RecognitionException { } - otherlv_4=(Token)match(input,41,FOLLOW_15); if (state.failed) return current; + otherlv_4=(Token)match(input,43,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getLetExpressionAccess().getColonKeyword_4()); @@ -3691,7 +3727,7 @@ public final EObject ruleCastedExpression() throws RecognitionException { // InternalExport.g:1311:2: (otherlv_0= '(' ( (lv_type_1_0= ruleType ) ) otherlv_2= ')' ( (lv_target_3_0= ruleExpression ) ) ) // InternalExport.g:1312:3: otherlv_0= '(' ( (lv_type_1_0= ruleType ) ) otherlv_2= ')' ( (lv_target_3_0= ruleExpression ) ) { - otherlv_0=(Token)match(input,28,FOLLOW_40); if (state.failed) return current; + otherlv_0=(Token)match(input,30,FOLLOW_40); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); @@ -3732,7 +3768,7 @@ public final EObject ruleCastedExpression() throws RecognitionException { } - otherlv_2=(Token)match(input,29,FOLLOW_15); if (state.failed) return current; + otherlv_2=(Token)match(input,31,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); @@ -3880,7 +3916,7 @@ public final EObject ruleChainExpression() throws RecognitionException { int alt31=2; int LA31_0 = input.LA(1); - if ( (LA31_0==42) ) { + if ( (LA31_0==44) ) { alt31=1; } @@ -3902,7 +3938,7 @@ public final EObject ruleChainExpression() throws RecognitionException { } - otherlv_2=(Token)match(input,42,FOLLOW_15); if (state.failed) return current; + otherlv_2=(Token)match(input,44,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); @@ -4038,7 +4074,7 @@ public final EObject ruleChainedExpression() throws RecognitionException { // InternalExport.g:1435:2: (this_IfExpressionKw_0= ruleIfExpressionKw | this_IfExpressionTri_1= ruleIfExpressionTri | this_SwitchExpression_2= ruleSwitchExpression ) int alt32=3; switch ( input.LA(1) ) { - case 44: + case 46: { alt32=1; } @@ -4047,12 +4083,10 @@ public final EObject ruleChainedExpression() throws RecognitionException { case RULE_STRING: case RULE_INT: case RULE_REAL: - case 16: - case 28: - case 59: - case 62: + case 18: + case 30: + case 61: case 64: - case 65: case 66: case 67: case 68: @@ -4060,19 +4094,21 @@ public final EObject ruleChainedExpression() throws RecognitionException { case 70: case 71: case 72: + case 73: case 74: - case 75: case 76: case 77: case 78: case 79: case 80: case 81: + case 82: + case 83: { alt32=2; } break; - case 47: + case 49: { alt32=3; } @@ -4260,7 +4296,7 @@ public final EObject ruleIfExpressionTri() throws RecognitionException { int alt33=2; int LA33_0 = input.LA(1); - if ( (LA33_0==43) ) { + if ( (LA33_0==45) ) { alt33=1; } switch (alt33) { @@ -4280,7 +4316,7 @@ public final EObject ruleIfExpressionTri() throws RecognitionException { } - otherlv_2=(Token)match(input,43,FOLLOW_15); if (state.failed) return current; + otherlv_2=(Token)match(input,45,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); @@ -4321,7 +4357,7 @@ public final EObject ruleIfExpressionTri() throws RecognitionException { } - otherlv_4=(Token)match(input,41,FOLLOW_15); if (state.failed) return current; + otherlv_4=(Token)match(input,43,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); @@ -4457,7 +4493,7 @@ public final EObject ruleIfExpressionKw() throws RecognitionException { // InternalExport.g:1562:2: (otherlv_0= 'if' ( (lv_condition_1_0= ruleChainedExpression ) ) otherlv_2= 'then' ( (lv_thenPart_3_0= ruleChainedExpression ) ) ( ( 'else' )=> (otherlv_4= 'else' ( (lv_elsePart_5_0= ruleChainedExpression ) ) ) )? ) // InternalExport.g:1563:3: otherlv_0= 'if' ( (lv_condition_1_0= ruleChainedExpression ) ) otherlv_2= 'then' ( (lv_thenPart_3_0= ruleChainedExpression ) ) ( ( 'else' )=> (otherlv_4= 'else' ( (lv_elsePart_5_0= ruleChainedExpression ) ) ) )? { - otherlv_0=(Token)match(input,44,FOLLOW_15); if (state.failed) return current; + otherlv_0=(Token)match(input,46,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); @@ -4498,7 +4534,7 @@ public final EObject ruleIfExpressionKw() throws RecognitionException { } - otherlv_2=(Token)match(input,45,FOLLOW_15); if (state.failed) return current; + otherlv_2=(Token)match(input,47,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); @@ -4543,7 +4579,7 @@ public final EObject ruleIfExpressionKw() throws RecognitionException { int alt34=2; int LA34_0 = input.LA(1); - if ( (LA34_0==46) ) { + if ( (LA34_0==48) ) { int LA34_1 = input.LA(2); if ( (synpred2_InternalExport()) ) { @@ -4557,7 +4593,7 @@ public final EObject ruleIfExpressionKw() throws RecognitionException { // InternalExport.g:1611:4: (otherlv_4= 'else' ( (lv_elsePart_5_0= ruleChainedExpression ) ) ) // InternalExport.g:1612:5: otherlv_4= 'else' ( (lv_elsePart_5_0= ruleChainedExpression ) ) { - otherlv_4=(Token)match(input,46,FOLLOW_15); if (state.failed) return current; + otherlv_4=(Token)match(input,48,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); @@ -4700,7 +4736,7 @@ public final EObject ruleSwitchExpression() throws RecognitionException { // InternalExport.g:1655:2: (otherlv_0= 'switch' (otherlv_1= '(' ( (lv_switchExpr_2_0= ruleOrExpression ) ) otherlv_3= ')' )? otherlv_4= '{' ( (lv_case_5_0= ruleCase ) )* otherlv_6= 'default' otherlv_7= ':' ( (lv_defaultExpr_8_0= ruleOrExpression ) ) otherlv_9= '}' ) // InternalExport.g:1656:3: otherlv_0= 'switch' (otherlv_1= '(' ( (lv_switchExpr_2_0= ruleOrExpression ) ) otherlv_3= ')' )? otherlv_4= '{' ( (lv_case_5_0= ruleCase ) )* otherlv_6= 'default' otherlv_7= ':' ( (lv_defaultExpr_8_0= ruleOrExpression ) ) otherlv_9= '}' { - otherlv_0=(Token)match(input,47,FOLLOW_45); if (state.failed) return current; + otherlv_0=(Token)match(input,49,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); @@ -4710,14 +4746,14 @@ public final EObject ruleSwitchExpression() throws RecognitionException { int alt35=2; int LA35_0 = input.LA(1); - if ( (LA35_0==28) ) { + if ( (LA35_0==30) ) { alt35=1; } switch (alt35) { case 1 : // InternalExport.g:1661:4: otherlv_1= '(' ( (lv_switchExpr_2_0= ruleOrExpression ) ) otherlv_3= ')' { - otherlv_1=(Token)match(input,28,FOLLOW_46); if (state.failed) return current; + otherlv_1=(Token)match(input,30,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); @@ -4758,7 +4794,7 @@ public final EObject ruleSwitchExpression() throws RecognitionException { } - otherlv_3=(Token)match(input,29,FOLLOW_9); if (state.failed) return current; + otherlv_3=(Token)match(input,31,FOLLOW_9); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); @@ -4770,7 +4806,7 @@ public final EObject ruleSwitchExpression() throws RecognitionException { } - otherlv_4=(Token)match(input,16,FOLLOW_47); if (state.failed) return current; + otherlv_4=(Token)match(input,18,FOLLOW_47); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); @@ -4782,7 +4818,7 @@ public final EObject ruleSwitchExpression() throws RecognitionException { int alt36=2; int LA36_0 = input.LA(1); - if ( (LA36_0==49) ) { + if ( (LA36_0==51) ) { alt36=1; } @@ -4829,13 +4865,13 @@ public final EObject ruleSwitchExpression() throws RecognitionException { } } while (true); - otherlv_6=(Token)match(input,48,FOLLOW_39); if (state.failed) return current; + otherlv_6=(Token)match(input,50,FOLLOW_39); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } - otherlv_7=(Token)match(input,41,FOLLOW_46); if (state.failed) return current; + otherlv_7=(Token)match(input,43,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); @@ -4876,7 +4912,7 @@ public final EObject ruleSwitchExpression() throws RecognitionException { } - otherlv_9=(Token)match(input,17,FOLLOW_2); if (state.failed) return current; + otherlv_9=(Token)match(input,19,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); @@ -4968,7 +5004,7 @@ public final EObject ruleCase() throws RecognitionException { // InternalExport.g:1761:2: (otherlv_0= 'case' ( (lv_condition_1_0= ruleOrExpression ) ) otherlv_2= ':' ( (lv_thenPar_3_0= ruleOrExpression ) ) ) // InternalExport.g:1762:3: otherlv_0= 'case' ( (lv_condition_1_0= ruleOrExpression ) ) otherlv_2= ':' ( (lv_thenPar_3_0= ruleOrExpression ) ) { - otherlv_0=(Token)match(input,49,FOLLOW_46); if (state.failed) return current; + otherlv_0=(Token)match(input,51,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getCaseAccess().getCaseKeyword_0()); @@ -5009,7 +5045,7 @@ public final EObject ruleCase() throws RecognitionException { } - otherlv_2=(Token)match(input,41,FOLLOW_46); if (state.failed) return current; + otherlv_2=(Token)match(input,43,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getCaseAccess().getColonKeyword_2()); @@ -5157,7 +5193,7 @@ public final EObject ruleOrExpression() throws RecognitionException { int alt37=2; int LA37_0 = input.LA(1); - if ( (LA37_0==50) ) { + if ( (LA37_0==52) ) { alt37=1; } @@ -5185,7 +5221,7 @@ public final EObject ruleOrExpression() throws RecognitionException { // InternalExport.g:1844:5: (lv_operator_2_0= '||' ) // InternalExport.g:1845:6: lv_operator_2_0= '||' { - lv_operator_2_0=(Token)match(input,50,FOLLOW_46); if (state.failed) return current; + lv_operator_2_0=(Token)match(input,52,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_0, grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); @@ -5356,7 +5392,7 @@ public final EObject ruleAndExpression() throws RecognitionException { int alt38=2; int LA38_0 = input.LA(1); - if ( (LA38_0==51) ) { + if ( (LA38_0==53) ) { alt38=1; } @@ -5384,7 +5420,7 @@ public final EObject ruleAndExpression() throws RecognitionException { // InternalExport.g:1913:5: (lv_operator_2_0= '&&' ) // InternalExport.g:1914:6: lv_operator_2_0= '&&' { - lv_operator_2_0=(Token)match(input,51,FOLLOW_46); if (state.failed) return current; + lv_operator_2_0=(Token)match(input,53,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_0, grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); @@ -5555,7 +5591,7 @@ public final EObject ruleImpliesExpression() throws RecognitionException { int alt39=2; int LA39_0 = input.LA(1); - if ( (LA39_0==52) ) { + if ( (LA39_0==54) ) { alt39=1; } @@ -5583,7 +5619,7 @@ public final EObject ruleImpliesExpression() throws RecognitionException { // InternalExport.g:1982:5: (lv_operator_2_0= 'implies' ) // InternalExport.g:1983:6: lv_operator_2_0= 'implies' { - lv_operator_2_0=(Token)match(input,52,FOLLOW_46); if (state.failed) return current; + lv_operator_2_0=(Token)match(input,54,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_0, grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); @@ -5759,7 +5795,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { int alt41=2; int LA41_0 = input.LA(1); - if ( ((LA41_0>=53 && LA41_0<=58)) ) { + if ( ((LA41_0>=55 && LA41_0<=60)) ) { alt41=1; } @@ -5790,32 +5826,32 @@ public final EObject ruleRelationalExpression() throws RecognitionException { // InternalExport.g:2052:6: (lv_operator_2_1= '==' | lv_operator_2_2= '!=' | lv_operator_2_3= '>=' | lv_operator_2_4= '<=' | lv_operator_2_5= '>' | lv_operator_2_6= '<' ) int alt40=6; switch ( input.LA(1) ) { - case 53: + case 55: { alt40=1; } break; - case 54: + case 56: { alt40=2; } break; - case 55: + case 57: { alt40=3; } break; - case 56: + case 58: { alt40=4; } break; - case 57: + case 59: { alt40=5; } break; - case 58: + case 60: { alt40=6; } @@ -5832,7 +5868,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 1 : // InternalExport.g:2053:7: lv_operator_2_1= '==' { - lv_operator_2_1=(Token)match(input,53,FOLLOW_46); if (state.failed) return current; + lv_operator_2_1=(Token)match(input,55,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_1, grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); @@ -5852,7 +5888,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 2 : // InternalExport.g:2064:7: lv_operator_2_2= '!=' { - lv_operator_2_2=(Token)match(input,54,FOLLOW_46); if (state.failed) return current; + lv_operator_2_2=(Token)match(input,56,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_2, grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); @@ -5872,7 +5908,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 3 : // InternalExport.g:2075:7: lv_operator_2_3= '>=' { - lv_operator_2_3=(Token)match(input,55,FOLLOW_46); if (state.failed) return current; + lv_operator_2_3=(Token)match(input,57,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_3, grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); @@ -5892,7 +5928,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 4 : // InternalExport.g:2086:7: lv_operator_2_4= '<=' { - lv_operator_2_4=(Token)match(input,56,FOLLOW_46); if (state.failed) return current; + lv_operator_2_4=(Token)match(input,58,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_4, grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); @@ -5912,7 +5948,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 5 : // InternalExport.g:2097:7: lv_operator_2_5= '>' { - lv_operator_2_5=(Token)match(input,57,FOLLOW_46); if (state.failed) return current; + lv_operator_2_5=(Token)match(input,59,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_5, grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); @@ -5932,7 +5968,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 6 : // InternalExport.g:2108:7: lv_operator_2_6= '<' { - lv_operator_2_6=(Token)match(input,58,FOLLOW_46); if (state.failed) return current; + lv_operator_2_6=(Token)match(input,60,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_6, grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); @@ -6110,7 +6146,7 @@ public final EObject ruleAdditiveExpression() throws RecognitionException { int alt43=2; int LA43_0 = input.LA(1); - if ( (LA43_0==25||LA43_0==59) ) { + if ( (LA43_0==27||LA43_0==61) ) { alt43=1; } @@ -6142,10 +6178,10 @@ public final EObject ruleAdditiveExpression() throws RecognitionException { int alt42=2; int LA42_0 = input.LA(1); - if ( (LA42_0==25) ) { + if ( (LA42_0==27) ) { alt42=1; } - else if ( (LA42_0==59) ) { + else if ( (LA42_0==61) ) { alt42=2; } else { @@ -6159,7 +6195,7 @@ else if ( (LA42_0==59) ) { case 1 : // InternalExport.g:2179:7: lv_name_2_1= '+' { - lv_name_2_1=(Token)match(input,25,FOLLOW_46); if (state.failed) return current; + lv_name_2_1=(Token)match(input,27,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_1, grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); @@ -6179,7 +6215,7 @@ else if ( (LA42_0==59) ) { case 2 : // InternalExport.g:2190:7: lv_name_2_2= '-' { - lv_name_2_2=(Token)match(input,59,FOLLOW_46); if (state.failed) return current; + lv_name_2_2=(Token)match(input,61,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_2, grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); @@ -6357,7 +6393,7 @@ public final EObject ruleMultiplicativeExpression() throws RecognitionException int alt45=2; int LA45_0 = input.LA(1); - if ( ((LA45_0>=60 && LA45_0<=61)) ) { + if ( ((LA45_0>=62 && LA45_0<=63)) ) { alt45=1; } @@ -6389,10 +6425,10 @@ public final EObject ruleMultiplicativeExpression() throws RecognitionException int alt44=2; int LA44_0 = input.LA(1); - if ( (LA44_0==60) ) { + if ( (LA44_0==62) ) { alt44=1; } - else if ( (LA44_0==61) ) { + else if ( (LA44_0==63) ) { alt44=2; } else { @@ -6406,7 +6442,7 @@ else if ( (LA44_0==61) ) { case 1 : // InternalExport.g:2261:7: lv_name_2_1= '*' { - lv_name_2_1=(Token)match(input,60,FOLLOW_46); if (state.failed) return current; + lv_name_2_1=(Token)match(input,62,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_1, grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); @@ -6426,7 +6462,7 @@ else if ( (LA44_0==61) ) { case 2 : // InternalExport.g:2272:7: lv_name_2_2= '/' { - lv_name_2_2=(Token)match(input,61,FOLLOW_46); if (state.failed) return current; + lv_name_2_2=(Token)match(input,63,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_2, grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); @@ -6581,10 +6617,10 @@ public final EObject ruleUnaryOrInfixExpression() throws RecognitionException { int alt46=2; int LA46_0 = input.LA(1); - if ( (LA46_0==59||LA46_0==62) ) { + if ( (LA46_0==61||LA46_0==64) ) { alt46=1; } - else if ( ((LA46_0>=RULE_ID && LA46_0<=RULE_REAL)||LA46_0==16||LA46_0==28||(LA46_0>=64 && LA46_0<=72)||(LA46_0>=74 && LA46_0<=81)) ) { + else if ( ((LA46_0>=RULE_ID && LA46_0<=RULE_REAL)||LA46_0==18||LA46_0==30||(LA46_0>=66 && LA46_0<=74)||(LA46_0>=76 && LA46_0<=83)) ) { alt46=2; } else { @@ -6733,10 +6769,10 @@ public final EObject ruleUnaryExpression() throws RecognitionException { int alt47=2; int LA47_0 = input.LA(1); - if ( (LA47_0==62) ) { + if ( (LA47_0==64) ) { alt47=1; } - else if ( (LA47_0==59) ) { + else if ( (LA47_0==61) ) { alt47=2; } else { @@ -6750,7 +6786,7 @@ else if ( (LA47_0==59) ) { case 1 : // InternalExport.g:2363:6: lv_name_0_1= '!' { - lv_name_0_1=(Token)match(input,62,FOLLOW_46); if (state.failed) return current; + lv_name_0_1=(Token)match(input,64,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_1, grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); @@ -6770,7 +6806,7 @@ else if ( (LA47_0==59) ) { case 2 : // InternalExport.g:2374:6: lv_name_0_2= '-' { - lv_name_0_2=(Token)match(input,59,FOLLOW_46); if (state.failed) return current; + lv_name_0_2=(Token)match(input,61,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_2, grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); @@ -6970,46 +7006,46 @@ public final EObject ruleInfixExpression() throws RecognitionException { int alt52=5; int LA52_0 = input.LA(1); - if ( (LA52_0==63) ) { + if ( (LA52_0==65) ) { switch ( input.LA(2) ) { + case 66: + { + alt52=3; + } + break; + case 67: + case 68: + case 69: + case 70: + case 71: + case 72: + case 73: + case 74: + { + alt52=4; + } + break; case RULE_ID: { - int LA52_3 = input.LA(3); + int LA52_5 = input.LA(3); - if ( (LA52_3==28) ) { + if ( (LA52_5==30) ) { alt52=1; } - else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)||(LA52_3>=23 && LA52_3<=25)||LA52_3==29||LA52_3==39||(LA52_3>=41 && LA52_3<=43)||(LA52_3>=45 && LA52_3<=46)||(LA52_3>=48 && LA52_3<=61)||LA52_3==63) ) { + else if ( (LA52_5==EOF||(LA52_5>=18 && LA52_5<=19)||(LA52_5>=22 && LA52_5<=23)||(LA52_5>=25 && LA52_5<=27)||LA52_5==31||LA52_5==41||(LA52_5>=43 && LA52_5<=45)||(LA52_5>=47 && LA52_5<=48)||(LA52_5>=50 && LA52_5<=63)||LA52_5==65) ) { alt52=2; } } break; - case 79: - case 80: case 81: + case 82: + case 83: { alt52=2; } break; - case 64: - { - alt52=3; - } - break; - case 65: - case 66: - case 67: - case 68: - case 69: - case 70: - case 71: - case 72: - { - alt52=4; - } - break; } @@ -7036,7 +7072,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| } - otherlv_2=(Token)match(input,63,FOLLOW_4); if (state.failed) return current; + otherlv_2=(Token)match(input,65,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); @@ -7077,7 +7113,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| } - otherlv_4=(Token)match(input,28,FOLLOW_56); if (state.failed) return current; + otherlv_4=(Token)match(input,30,FOLLOW_56); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); @@ -7087,7 +7123,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| int alt49=2; int LA49_0 = input.LA(1); - if ( ((LA49_0>=RULE_ID && LA49_0<=RULE_REAL)||LA49_0==16||LA49_0==28||LA49_0==40||LA49_0==44||LA49_0==47||LA49_0==59||LA49_0==62||(LA49_0>=64 && LA49_0<=72)||(LA49_0>=74 && LA49_0<=81)) ) { + if ( ((LA49_0>=RULE_ID && LA49_0<=RULE_REAL)||LA49_0==18||LA49_0==30||LA49_0==42||LA49_0==46||LA49_0==49||LA49_0==61||LA49_0==64||(LA49_0>=66 && LA49_0<=74)||(LA49_0>=76 && LA49_0<=83)) ) { alt49=1; } switch (alt49) { @@ -7135,7 +7171,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| int alt48=2; int LA48_0 = input.LA(1); - if ( (LA48_0==23) ) { + if ( (LA48_0==25) ) { alt48=1; } @@ -7144,7 +7180,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| case 1 : // InternalExport.g:2490:7: otherlv_6= ',' ( (lv_params_7_0= ruleExpression ) ) { - otherlv_6=(Token)match(input,23,FOLLOW_15); if (state.failed) return current; + otherlv_6=(Token)match(input,25,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); @@ -7200,7 +7236,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| } - otherlv_8=(Token)match(input,29,FOLLOW_55); if (state.failed) return current; + otherlv_8=(Token)match(input,31,FOLLOW_55); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); @@ -7231,7 +7267,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| } - otherlv_10=(Token)match(input,63,FOLLOW_40); if (state.failed) return current; + otherlv_10=(Token)match(input,65,FOLLOW_40); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); @@ -7297,7 +7333,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| } - otherlv_13=(Token)match(input,63,FOLLOW_58); if (state.failed) return current; + otherlv_13=(Token)match(input,65,FOLLOW_58); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); @@ -7309,7 +7345,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| // InternalExport.g:2567:6: (lv_name_14_0= 'typeSelect' ) // InternalExport.g:2568:7: lv_name_14_0= 'typeSelect' { - lv_name_14_0=(Token)match(input,64,FOLLOW_23); if (state.failed) return current; + lv_name_14_0=(Token)match(input,66,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_14_0, grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); @@ -7329,7 +7365,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| } - otherlv_15=(Token)match(input,28,FOLLOW_40); if (state.failed) return current; + otherlv_15=(Token)match(input,30,FOLLOW_40); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_15, grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); @@ -7370,7 +7406,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| } - otherlv_17=(Token)match(input,29,FOLLOW_55); if (state.failed) return current; + otherlv_17=(Token)match(input,31,FOLLOW_55); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_17, grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); @@ -7401,7 +7437,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| } - otherlv_19=(Token)match(input,63,FOLLOW_59); if (state.failed) return current; + otherlv_19=(Token)match(input,65,FOLLOW_59); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_19, grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); @@ -7416,42 +7452,42 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| // InternalExport.g:2623:7: (lv_name_20_1= 'collect' | lv_name_20_2= 'select' | lv_name_20_3= 'selectFirst' | lv_name_20_4= 'reject' | lv_name_20_5= 'exists' | lv_name_20_6= 'notExists' | lv_name_20_7= 'sortBy' | lv_name_20_8= 'forAll' ) int alt50=8; switch ( input.LA(1) ) { - case 65: + case 67: { alt50=1; } break; - case 66: + case 68: { alt50=2; } break; - case 67: + case 69: { alt50=3; } break; - case 68: + case 70: { alt50=4; } break; - case 69: + case 71: { alt50=5; } break; - case 70: + case 72: { alt50=6; } break; - case 71: + case 73: { alt50=7; } break; - case 72: + case 74: { alt50=8; } @@ -7468,7 +7504,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| case 1 : // InternalExport.g:2624:8: lv_name_20_1= 'collect' { - lv_name_20_1=(Token)match(input,65,FOLLOW_23); if (state.failed) return current; + lv_name_20_1=(Token)match(input,67,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_1, grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); @@ -7488,7 +7524,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| case 2 : // InternalExport.g:2635:8: lv_name_20_2= 'select' { - lv_name_20_2=(Token)match(input,66,FOLLOW_23); if (state.failed) return current; + lv_name_20_2=(Token)match(input,68,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_2, grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); @@ -7508,7 +7544,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| case 3 : // InternalExport.g:2646:8: lv_name_20_3= 'selectFirst' { - lv_name_20_3=(Token)match(input,67,FOLLOW_23); if (state.failed) return current; + lv_name_20_3=(Token)match(input,69,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_3, grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); @@ -7528,7 +7564,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| case 4 : // InternalExport.g:2657:8: lv_name_20_4= 'reject' { - lv_name_20_4=(Token)match(input,68,FOLLOW_23); if (state.failed) return current; + lv_name_20_4=(Token)match(input,70,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_4, grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); @@ -7548,7 +7584,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| case 5 : // InternalExport.g:2668:8: lv_name_20_5= 'exists' { - lv_name_20_5=(Token)match(input,69,FOLLOW_23); if (state.failed) return current; + lv_name_20_5=(Token)match(input,71,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_5, grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); @@ -7568,7 +7604,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| case 6 : // InternalExport.g:2679:8: lv_name_20_6= 'notExists' { - lv_name_20_6=(Token)match(input,70,FOLLOW_23); if (state.failed) return current; + lv_name_20_6=(Token)match(input,72,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_6, grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); @@ -7588,7 +7624,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| case 7 : // InternalExport.g:2690:8: lv_name_20_7= 'sortBy' { - lv_name_20_7=(Token)match(input,71,FOLLOW_23); if (state.failed) return current; + lv_name_20_7=(Token)match(input,73,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_7, grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); @@ -7608,7 +7644,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| case 8 : // InternalExport.g:2701:8: lv_name_20_8= 'forAll' { - lv_name_20_8=(Token)match(input,72,FOLLOW_23); if (state.failed) return current; + lv_name_20_8=(Token)match(input,74,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_8, grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); @@ -7634,7 +7670,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| } - otherlv_21=(Token)match(input,28,FOLLOW_15); if (state.failed) return current; + otherlv_21=(Token)match(input,30,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_21, grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); @@ -7647,7 +7683,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| if ( (LA51_0==RULE_ID) ) { int LA51_1 = input.LA(2); - if ( (LA51_1==73) ) { + if ( (LA51_1==75) ) { alt51=1; } } @@ -7690,7 +7726,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| } - otherlv_23=(Token)match(input,73,FOLLOW_15); if (state.failed) return current; + otherlv_23=(Token)match(input,75,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_23, grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); @@ -7737,7 +7773,7 @@ else if ( (LA52_3==EOF||(LA52_3>=16 && LA52_3<=17)||(LA52_3>=20 && LA52_3<=21)|| } - otherlv_25=(Token)match(input,29,FOLLOW_55); if (state.failed) return current; + otherlv_25=(Token)match(input,31,FOLLOW_55); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_25, grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); @@ -7850,16 +7886,14 @@ public final EObject rulePrimaryExpression() throws RecognitionException { case RULE_STRING: case RULE_INT: case RULE_REAL: - case 74: - case 75: case 76: + case 77: + case 78: { alt53=1; } break; case RULE_ID: - case 64: - case 65: case 66: case 67: case 68: @@ -7867,29 +7901,31 @@ public final EObject rulePrimaryExpression() throws RecognitionException { case 70: case 71: case 72: - case 79: - case 80: + case 73: + case 74: case 81: + case 82: + case 83: { alt53=2; } break; - case 16: + case 18: { alt53=3; } break; - case 78: + case 80: { alt53=4; } break; - case 77: + case 79: { alt53=5; } break; - case 28: + case 30: { alt53=6; } @@ -8125,8 +8161,8 @@ public final EObject ruleLiteral() throws RecognitionException { // InternalExport.g:2858:2: (this_BooleanLiteral_0= ruleBooleanLiteral | this_IntegerLiteral_1= ruleIntegerLiteral | this_NullLiteral_2= ruleNullLiteral | this_RealLiteral_3= ruleRealLiteral | this_StringLiteral_4= ruleStringLiteral ) int alt54=5; switch ( input.LA(1) ) { - case 74: - case 75: + case 76: + case 77: { alt54=1; } @@ -8136,7 +8172,7 @@ public final EObject ruleLiteral() throws RecognitionException { alt54=2; } break; - case 76: + case 78: { alt54=3; } @@ -8359,10 +8395,10 @@ public final EObject ruleBooleanLiteral() throws RecognitionException { int alt55=2; int LA55_0 = input.LA(1); - if ( (LA55_0==74) ) { + if ( (LA55_0==76) ) { alt55=1; } - else if ( (LA55_0==75) ) { + else if ( (LA55_0==77) ) { alt55=2; } else { @@ -8376,7 +8412,7 @@ else if ( (LA55_0==75) ) { case 1 : // InternalExport.g:2924:5: lv_val_0_1= 'true' { - lv_val_0_1=(Token)match(input,74,FOLLOW_2); if (state.failed) return current; + lv_val_0_1=(Token)match(input,76,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_val_0_1, grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); @@ -8396,7 +8432,7 @@ else if ( (LA55_0==75) ) { case 2 : // InternalExport.g:2935:5: lv_val_0_2= 'false' { - lv_val_0_2=(Token)match(input,75,FOLLOW_2); if (state.failed) return current; + lv_val_0_2=(Token)match(input,77,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_val_0_2, grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); @@ -8518,7 +8554,7 @@ public final EObject ruleIntegerLiteral() throws RecognitionException { current, "val", lv_val_0_0, - "org.eclipse.xtext.common.Terminals.INT"); + "org.eclipse.xtext.xbase.Xbase.INT"); } @@ -8608,7 +8644,7 @@ public final EObject ruleNullLiteral() throws RecognitionException { // InternalExport.g:3001:3: (lv_val_0_0= 'null' ) // InternalExport.g:3002:4: lv_val_0_0= 'null' { - lv_val_0_0=(Token)match(input,76,FOLLOW_2); if (state.failed) return current; + lv_val_0_0=(Token)match(input,78,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_val_0_0, grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); @@ -8829,7 +8865,7 @@ public final EObject ruleStringLiteral() throws RecognitionException { current, "val", lv_val_0_0, - "org.eclipse.xtext.common.Terminals.STRING"); + "org.eclipse.xtext.xbase.Xtype.STRING"); } @@ -8919,7 +8955,7 @@ public final EObject ruleParanthesizedExpression() throws RecognitionException { // InternalExport.g:3101:2: (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) // InternalExport.g:3102:3: otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' { - otherlv_0=(Token)match(input,28,FOLLOW_15); if (state.failed) return current; + otherlv_0=(Token)match(input,30,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); @@ -8941,7 +8977,7 @@ public final EObject ruleParanthesizedExpression() throws RecognitionException { afterParserOrEnumRuleCall(); } - otherlv_2=(Token)match(input,29,FOLLOW_2); if (state.failed) return current; + otherlv_2=(Token)match(input,31,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); @@ -9030,7 +9066,7 @@ public final EObject ruleGlobalVarExpression() throws RecognitionException { // InternalExport.g:3136:2: (otherlv_0= 'GLOBALVAR' ( (lv_name_1_0= ruleIdentifier ) ) ) // InternalExport.g:3137:3: otherlv_0= 'GLOBALVAR' ( (lv_name_1_0= ruleIdentifier ) ) { - otherlv_0=(Token)match(input,77,FOLLOW_4); if (state.failed) return current; + otherlv_0=(Token)match(input,79,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); @@ -9163,10 +9199,10 @@ public final EObject ruleFeatureCall() throws RecognitionException { { int LA56_1 = input.LA(2); - if ( (LA56_1==EOF||(LA56_1>=16 && LA56_1<=17)||(LA56_1>=20 && LA56_1<=21)||(LA56_1>=23 && LA56_1<=25)||LA56_1==29||LA56_1==39||(LA56_1>=41 && LA56_1<=43)||(LA56_1>=45 && LA56_1<=46)||(LA56_1>=48 && LA56_1<=61)||LA56_1==63) ) { + if ( (LA56_1==EOF||(LA56_1>=18 && LA56_1<=19)||(LA56_1>=22 && LA56_1<=23)||(LA56_1>=25 && LA56_1<=27)||LA56_1==31||LA56_1==41||(LA56_1>=43 && LA56_1<=45)||(LA56_1>=47 && LA56_1<=48)||(LA56_1>=50 && LA56_1<=63)||LA56_1==65) ) { alt56=2; } - else if ( (LA56_1==28) ) { + else if ( (LA56_1==30) ) { alt56=1; } else { @@ -9178,26 +9214,26 @@ else if ( (LA56_1==28) ) { } } break; - case 79: - case 80: case 81: + case 82: + case 83: { alt56=2; } break; - case 65: - case 66: case 67: case 68: case 69: case 70: case 71: case 72: + case 73: + case 74: { alt56=3; } break; - case 64: + case 66: { alt56=4; } @@ -9442,7 +9478,7 @@ public final EObject ruleOperationCall() throws RecognitionException { } - otherlv_1=(Token)match(input,28,FOLLOW_56); if (state.failed) return current; + otherlv_1=(Token)match(input,30,FOLLOW_56); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); @@ -9452,7 +9488,7 @@ public final EObject ruleOperationCall() throws RecognitionException { int alt58=2; int LA58_0 = input.LA(1); - if ( ((LA58_0>=RULE_ID && LA58_0<=RULE_REAL)||LA58_0==16||LA58_0==28||LA58_0==40||LA58_0==44||LA58_0==47||LA58_0==59||LA58_0==62||(LA58_0>=64 && LA58_0<=72)||(LA58_0>=74 && LA58_0<=81)) ) { + if ( ((LA58_0>=RULE_ID && LA58_0<=RULE_REAL)||LA58_0==18||LA58_0==30||LA58_0==42||LA58_0==46||LA58_0==49||LA58_0==61||LA58_0==64||(LA58_0>=66 && LA58_0<=74)||(LA58_0>=76 && LA58_0<=83)) ) { alt58=1; } switch (alt58) { @@ -9500,7 +9536,7 @@ public final EObject ruleOperationCall() throws RecognitionException { int alt57=2; int LA57_0 = input.LA(1); - if ( (LA57_0==23) ) { + if ( (LA57_0==25) ) { alt57=1; } @@ -9509,7 +9545,7 @@ public final EObject ruleOperationCall() throws RecognitionException { case 1 : // InternalExport.g:3288:5: otherlv_3= ',' ( (lv_params_4_0= ruleExpression ) ) { - otherlv_3=(Token)match(input,23,FOLLOW_15); if (state.failed) return current; + otherlv_3=(Token)match(input,25,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); @@ -9565,7 +9601,7 @@ public final EObject ruleOperationCall() throws RecognitionException { } - otherlv_5=(Token)match(input,29,FOLLOW_2); if (state.failed) return current; + otherlv_5=(Token)match(input,31,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); @@ -9671,7 +9707,7 @@ public final EObject ruleListLiteral() throws RecognitionException { } - otherlv_1=(Token)match(input,16,FOLLOW_61); if (state.failed) return current; + otherlv_1=(Token)match(input,18,FOLLOW_61); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); @@ -9681,7 +9717,7 @@ public final EObject ruleListLiteral() throws RecognitionException { int alt60=2; int LA60_0 = input.LA(1); - if ( ((LA60_0>=RULE_ID && LA60_0<=RULE_REAL)||LA60_0==16||LA60_0==28||LA60_0==40||LA60_0==44||LA60_0==47||LA60_0==59||LA60_0==62||(LA60_0>=64 && LA60_0<=72)||(LA60_0>=74 && LA60_0<=81)) ) { + if ( ((LA60_0>=RULE_ID && LA60_0<=RULE_REAL)||LA60_0==18||LA60_0==30||LA60_0==42||LA60_0==46||LA60_0==49||LA60_0==61||LA60_0==64||(LA60_0>=66 && LA60_0<=74)||(LA60_0>=76 && LA60_0<=83)) ) { alt60=1; } switch (alt60) { @@ -9729,7 +9765,7 @@ public final EObject ruleListLiteral() throws RecognitionException { int alt59=2; int LA59_0 = input.LA(1); - if ( (LA59_0==23) ) { + if ( (LA59_0==25) ) { alt59=1; } @@ -9738,7 +9774,7 @@ public final EObject ruleListLiteral() throws RecognitionException { case 1 : // InternalExport.g:3368:5: otherlv_3= ',' ( (lv_elements_4_0= ruleExpression ) ) { - otherlv_3=(Token)match(input,23,FOLLOW_15); if (state.failed) return current; + otherlv_3=(Token)match(input,25,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); @@ -9794,7 +9830,7 @@ public final EObject ruleListLiteral() throws RecognitionException { } - otherlv_5=(Token)match(input,17,FOLLOW_2); if (state.failed) return current; + otherlv_5=(Token)match(input,19,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); @@ -9883,7 +9919,7 @@ public final EObject ruleConstructorCallExpression() throws RecognitionException // InternalExport.g:3415:2: (otherlv_0= 'new' ( (lv_type_1_0= ruleSimpleType ) ) ) // InternalExport.g:3416:3: otherlv_0= 'new' ( (lv_type_1_0= ruleSimpleType ) ) { - otherlv_0=(Token)match(input,78,FOLLOW_40); if (state.failed) return current; + otherlv_0=(Token)match(input,80,FOLLOW_40); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); @@ -10015,7 +10051,7 @@ public final EObject ruleTypeSelectExpression() throws RecognitionException { // InternalExport.g:3459:4: (lv_name_0_0= 'typeSelect' ) // InternalExport.g:3460:5: lv_name_0_0= 'typeSelect' { - lv_name_0_0=(Token)match(input,64,FOLLOW_23); if (state.failed) return current; + lv_name_0_0=(Token)match(input,66,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_0, grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); @@ -10035,7 +10071,7 @@ public final EObject ruleTypeSelectExpression() throws RecognitionException { } - otherlv_1=(Token)match(input,28,FOLLOW_40); if (state.failed) return current; + otherlv_1=(Token)match(input,30,FOLLOW_40); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); @@ -10076,7 +10112,7 @@ public final EObject ruleTypeSelectExpression() throws RecognitionException { } - otherlv_3=(Token)match(input,29,FOLLOW_2); if (state.failed) return current; + otherlv_3=(Token)match(input,31,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); @@ -10186,42 +10222,42 @@ public final EObject ruleCollectionExpression() throws RecognitionException { // InternalExport.g:3520:5: (lv_name_0_1= 'collect' | lv_name_0_2= 'select' | lv_name_0_3= 'selectFirst' | lv_name_0_4= 'reject' | lv_name_0_5= 'exists' | lv_name_0_6= 'notExists' | lv_name_0_7= 'sortBy' | lv_name_0_8= 'forAll' ) int alt61=8; switch ( input.LA(1) ) { - case 65: + case 67: { alt61=1; } break; - case 66: + case 68: { alt61=2; } break; - case 67: + case 69: { alt61=3; } break; - case 68: + case 70: { alt61=4; } break; - case 69: + case 71: { alt61=5; } break; - case 70: + case 72: { alt61=6; } break; - case 71: + case 73: { alt61=7; } break; - case 72: + case 74: { alt61=8; } @@ -10238,7 +10274,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 1 : // InternalExport.g:3521:6: lv_name_0_1= 'collect' { - lv_name_0_1=(Token)match(input,65,FOLLOW_23); if (state.failed) return current; + lv_name_0_1=(Token)match(input,67,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_1, grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); @@ -10258,7 +10294,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 2 : // InternalExport.g:3532:6: lv_name_0_2= 'select' { - lv_name_0_2=(Token)match(input,66,FOLLOW_23); if (state.failed) return current; + lv_name_0_2=(Token)match(input,68,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_2, grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); @@ -10278,7 +10314,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 3 : // InternalExport.g:3543:6: lv_name_0_3= 'selectFirst' { - lv_name_0_3=(Token)match(input,67,FOLLOW_23); if (state.failed) return current; + lv_name_0_3=(Token)match(input,69,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_3, grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); @@ -10298,7 +10334,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 4 : // InternalExport.g:3554:6: lv_name_0_4= 'reject' { - lv_name_0_4=(Token)match(input,68,FOLLOW_23); if (state.failed) return current; + lv_name_0_4=(Token)match(input,70,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_4, grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); @@ -10318,7 +10354,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 5 : // InternalExport.g:3565:6: lv_name_0_5= 'exists' { - lv_name_0_5=(Token)match(input,69,FOLLOW_23); if (state.failed) return current; + lv_name_0_5=(Token)match(input,71,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_5, grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); @@ -10338,7 +10374,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 6 : // InternalExport.g:3576:6: lv_name_0_6= 'notExists' { - lv_name_0_6=(Token)match(input,70,FOLLOW_23); if (state.failed) return current; + lv_name_0_6=(Token)match(input,72,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_6, grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); @@ -10358,7 +10394,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 7 : // InternalExport.g:3587:6: lv_name_0_7= 'sortBy' { - lv_name_0_7=(Token)match(input,71,FOLLOW_23); if (state.failed) return current; + lv_name_0_7=(Token)match(input,73,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_7, grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); @@ -10378,7 +10414,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 8 : // InternalExport.g:3598:6: lv_name_0_8= 'forAll' { - lv_name_0_8=(Token)match(input,72,FOLLOW_23); if (state.failed) return current; + lv_name_0_8=(Token)match(input,74,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_8, grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); @@ -10404,7 +10440,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { } - otherlv_1=(Token)match(input,28,FOLLOW_15); if (state.failed) return current; + otherlv_1=(Token)match(input,30,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); @@ -10417,7 +10453,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { if ( (LA62_0==RULE_ID) ) { int LA62_1 = input.LA(2); - if ( (LA62_1==73) ) { + if ( (LA62_1==75) ) { alt62=1; } } @@ -10460,7 +10496,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { } - otherlv_3=(Token)match(input,73,FOLLOW_15); if (state.failed) return current; + otherlv_3=(Token)match(input,75,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); @@ -10507,7 +10543,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { } - otherlv_5=(Token)match(input,29,FOLLOW_2); if (state.failed) return current; + otherlv_5=(Token)match(input,31,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); @@ -10598,7 +10634,7 @@ public final EObject ruleType() throws RecognitionException { int alt63=2; int LA63_0 = input.LA(1); - if ( ((LA63_0>=79 && LA63_0<=81)) ) { + if ( ((LA63_0>=81 && LA63_0<=83)) ) { alt63=1; } else if ( (LA63_0==RULE_ID) ) { @@ -10752,17 +10788,17 @@ public final EObject ruleCollectionType() throws RecognitionException { // InternalExport.g:3720:5: (lv_cl_0_1= 'Collection' | lv_cl_0_2= 'List' | lv_cl_0_3= 'Set' ) int alt64=3; switch ( input.LA(1) ) { - case 79: + case 81: { alt64=1; } break; - case 80: + case 82: { alt64=2; } break; - case 81: + case 83: { alt64=3; } @@ -10779,7 +10815,7 @@ public final EObject ruleCollectionType() throws RecognitionException { case 1 : // InternalExport.g:3721:6: lv_cl_0_1= 'Collection' { - lv_cl_0_1=(Token)match(input,79,FOLLOW_63); if (state.failed) return current; + lv_cl_0_1=(Token)match(input,81,FOLLOW_63); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_cl_0_1, grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); @@ -10799,7 +10835,7 @@ public final EObject ruleCollectionType() throws RecognitionException { case 2 : // InternalExport.g:3732:6: lv_cl_0_2= 'List' { - lv_cl_0_2=(Token)match(input,80,FOLLOW_63); if (state.failed) return current; + lv_cl_0_2=(Token)match(input,82,FOLLOW_63); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_cl_0_2, grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); @@ -10819,7 +10855,7 @@ public final EObject ruleCollectionType() throws RecognitionException { case 3 : // InternalExport.g:3743:6: lv_cl_0_3= 'Set' { - lv_cl_0_3=(Token)match(input,81,FOLLOW_63); if (state.failed) return current; + lv_cl_0_3=(Token)match(input,83,FOLLOW_63); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_cl_0_3, grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); @@ -10845,7 +10881,7 @@ public final EObject ruleCollectionType() throws RecognitionException { } - otherlv_1=(Token)match(input,20,FOLLOW_40); if (state.failed) return current; + otherlv_1=(Token)match(input,22,FOLLOW_40); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); @@ -10886,7 +10922,7 @@ public final EObject ruleCollectionType() throws RecognitionException { } - otherlv_3=(Token)match(input,21,FOLLOW_2); if (state.failed) return current; + otherlv_3=(Token)match(input,23,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); @@ -11018,7 +11054,7 @@ public final EObject ruleSimpleType() throws RecognitionException { int alt65=2; int LA65_0 = input.LA(1); - if ( (LA65_0==39) ) { + if ( (LA65_0==41) ) { alt65=1; } @@ -11027,7 +11063,7 @@ public final EObject ruleSimpleType() throws RecognitionException { case 1 : // InternalExport.g:3822:4: otherlv_1= '::' ( (lv_id_2_0= ruleIdentifier ) ) { - otherlv_1=(Token)match(input,39,FOLLOW_4); if (state.failed) return current; + otherlv_1=(Token)match(input,41,FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); @@ -11186,92 +11222,22108 @@ public final AntlrDatatypeRuleToken ruleIdentifier() throws RecognitionException } // $ANTLR end "ruleIdentifier" - // $ANTLR start synpred1_InternalExport - public final void synpred1_InternalExport_fragment() throws RecognitionException { - // InternalExport.g:1186:4: ( ruleCastedExpression ) - // InternalExport.g:1186:5: ruleCastedExpression - { - pushFollow(FOLLOW_2); - ruleCastedExpression(); - state._fsp--; - if (state.failed) return ; + // $ANTLR start "entryRuleXExpression" + // InternalExport.g:3874:1: entryRuleXExpression returns [EObject current=null] : iv_ruleXExpression= ruleXExpression EOF ; + public final EObject entryRuleXExpression() throws RecognitionException { + EObject current = null; - } - } - // $ANTLR end synpred1_InternalExport + EObject iv_ruleXExpression = null; - // $ANTLR start synpred2_InternalExport - public final void synpred2_InternalExport_fragment() throws RecognitionException { - // InternalExport.g:1610:4: ( 'else' ) - // InternalExport.g:1610:5: 'else' - { - match(input,46,FOLLOW_2); if (state.failed) return ; - } - } - // $ANTLR end synpred2_InternalExport + try { + // InternalExport.g:3874:52: (iv_ruleXExpression= ruleXExpression EOF ) + // InternalExport.g:3875:2: iv_ruleXExpression= ruleXExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXExpression=ruleXExpression(); - // Delegated rules + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } - public final boolean synpred1_InternalExport() { - state.backtracking++; - int start = input.mark(); - try { - synpred1_InternalExport_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; - } - public final boolean synpred2_InternalExport() { - state.backtracking++; - int start = input.mark(); - try { - synpred2_InternalExport_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; + return current; } + // $ANTLR end "entryRuleXExpression" - protected DFA30 dfa30 = new DFA30(this); - static final String dfa_1s = "\36\uffff"; - static final String dfa_2s = "\1\4\1\uffff\1\0\33\uffff"; - static final String dfa_3s = "\1\121\1\uffff\1\0\33\uffff"; - static final String dfa_4s = "\1\uffff\1\1\1\uffff\1\3\31\uffff\1\2"; - static final String dfa_5s = "\2\uffff\1\0\33\uffff}>"; - static final String[] dfa_6s = { - "\4\3\10\uffff\1\3\13\uffff\1\2\13\uffff\1\1\3\uffff\1\3\2\uffff\1\3\13\uffff\1\3\2\uffff\1\3\1\uffff\11\3\1\uffff\10\3", - "", - "\1\uffff", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", + // $ANTLR start "ruleXExpression" + // InternalExport.g:3881:1: ruleXExpression returns [EObject current=null] : this_XAssignment_0= ruleXAssignment ; + public final EObject ruleXExpression() throws RecognitionException { + EObject current = null; + + EObject this_XAssignment_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:3887:2: (this_XAssignment_0= ruleXAssignment ) + // InternalExport.g:3888:2: this_XAssignment_0= ruleXAssignment + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); + + } + pushFollow(FOLLOW_2); + this_XAssignment_0=ruleXAssignment(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XAssignment_0; + afterParserOrEnumRuleCall(); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXExpression" + + + // $ANTLR start "entryRuleXAssignment" + // InternalExport.g:3899:1: entryRuleXAssignment returns [EObject current=null] : iv_ruleXAssignment= ruleXAssignment EOF ; + public final EObject entryRuleXAssignment() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXAssignment = null; + + + try { + // InternalExport.g:3899:52: (iv_ruleXAssignment= ruleXAssignment EOF ) + // InternalExport.g:3900:2: iv_ruleXAssignment= ruleXAssignment EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXAssignmentRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXAssignment=ruleXAssignment(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXAssignment; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXAssignment" + + + // $ANTLR start "ruleXAssignment" + // InternalExport.g:3906:1: ruleXAssignment returns [EObject current=null] : ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ; + public final EObject ruleXAssignment() throws RecognitionException { + EObject current = null; + + EObject lv_value_3_0 = null; + + EObject this_XOrExpression_4 = null; + + EObject lv_rightOperand_7_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:3912:2: ( ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ) + // InternalExport.g:3913:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) + { + // InternalExport.g:3913:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) + int alt67=2; + switch ( input.LA(1) ) { + case RULE_ID: + { + int LA67_1 = input.LA(2); + + if ( (LA67_1==EOF||(LA67_1>=RULE_ID && LA67_1<=RULE_INT)||(LA67_1>=RULE_HEX && LA67_1<=RULE_DECIMAL)||(LA67_1>=15 && LA67_1<=16)||(LA67_1>=18 && LA67_1<=23)||(LA67_1>=25 && LA67_1<=27)||(LA67_1>=30 && LA67_1<=31)||LA67_1==41||(LA67_1>=43 && LA67_1<=44)||LA67_1==46||(LA67_1>=48 && LA67_1<=53)||(LA67_1>=55 && LA67_1<=57)||(LA67_1>=59 && LA67_1<=65)||(LA67_1>=76 && LA67_1<=78)||LA67_1==80||(LA67_1>=84 && LA67_1<=116)) ) { + alt67=2; + } + else if ( (LA67_1==24) ) { + alt67=1; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 67, 1, input); + + throw nvae; + } + } + break; + case 107: + { + int LA67_2 = input.LA(2); + + if ( (LA67_2==24) ) { + alt67=1; + } + else if ( (LA67_2==EOF||(LA67_2>=RULE_ID && LA67_2<=RULE_INT)||(LA67_2>=RULE_HEX && LA67_2<=RULE_DECIMAL)||(LA67_2>=15 && LA67_2<=16)||(LA67_2>=18 && LA67_2<=23)||(LA67_2>=25 && LA67_2<=27)||(LA67_2>=30 && LA67_2<=31)||LA67_2==41||(LA67_2>=43 && LA67_2<=44)||LA67_2==46||(LA67_2>=48 && LA67_2<=53)||(LA67_2>=55 && LA67_2<=57)||(LA67_2>=59 && LA67_2<=65)||(LA67_2>=76 && LA67_2<=78)||LA67_2==80||(LA67_2>=84 && LA67_2<=116)) ) { + alt67=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 67, 2, input); + + throw nvae; + } + } + break; + case 108: + { + int LA67_3 = input.LA(2); + + if ( (LA67_3==24) ) { + alt67=1; + } + else if ( (LA67_3==EOF||(LA67_3>=RULE_ID && LA67_3<=RULE_INT)||(LA67_3>=RULE_HEX && LA67_3<=RULE_DECIMAL)||(LA67_3>=15 && LA67_3<=16)||(LA67_3>=18 && LA67_3<=23)||(LA67_3>=25 && LA67_3<=27)||(LA67_3>=30 && LA67_3<=31)||LA67_3==41||(LA67_3>=43 && LA67_3<=44)||LA67_3==46||(LA67_3>=48 && LA67_3<=53)||(LA67_3>=55 && LA67_3<=57)||(LA67_3>=59 && LA67_3<=65)||(LA67_3>=76 && LA67_3<=78)||LA67_3==80||(LA67_3>=84 && LA67_3<=116)) ) { + alt67=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 67, 3, input); + + throw nvae; + } + } + break; + case 20: + { + int LA67_4 = input.LA(2); + + if ( (LA67_4==24) ) { + alt67=1; + } + else if ( (LA67_4==EOF||(LA67_4>=RULE_ID && LA67_4<=RULE_INT)||(LA67_4>=RULE_HEX && LA67_4<=RULE_DECIMAL)||(LA67_4>=15 && LA67_4<=16)||(LA67_4>=18 && LA67_4<=23)||(LA67_4>=25 && LA67_4<=27)||(LA67_4>=30 && LA67_4<=31)||LA67_4==41||(LA67_4>=43 && LA67_4<=44)||LA67_4==46||(LA67_4>=48 && LA67_4<=53)||(LA67_4>=55 && LA67_4<=57)||(LA67_4>=59 && LA67_4<=65)||(LA67_4>=76 && LA67_4<=78)||LA67_4==80||(LA67_4>=84 && LA67_4<=116)) ) { + alt67=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 67, 4, input); + + throw nvae; + } + } + break; + case 15: + { + int LA67_5 = input.LA(2); + + if ( (LA67_5==24) ) { + alt67=1; + } + else if ( (LA67_5==EOF||(LA67_5>=RULE_ID && LA67_5<=RULE_INT)||(LA67_5>=RULE_HEX && LA67_5<=RULE_DECIMAL)||(LA67_5>=15 && LA67_5<=16)||(LA67_5>=18 && LA67_5<=23)||(LA67_5>=25 && LA67_5<=27)||(LA67_5>=30 && LA67_5<=31)||LA67_5==41||(LA67_5>=43 && LA67_5<=44)||LA67_5==46||(LA67_5>=48 && LA67_5<=53)||(LA67_5>=55 && LA67_5<=57)||(LA67_5>=59 && LA67_5<=65)||(LA67_5>=76 && LA67_5<=78)||LA67_5==80||(LA67_5>=84 && LA67_5<=116)) ) { + alt67=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 67, 5, input); + + throw nvae; + } + } + break; + case RULE_STRING: + case RULE_INT: + case RULE_HEX: + case RULE_DECIMAL: + case 16: + case 18: + case 22: + case 27: + case 30: + case 46: + case 49: + case 60: + case 61: + case 64: + case 76: + case 77: + case 78: + case 80: + case 102: + case 103: + case 104: + case 109: + case 110: + case 111: + case 112: + case 113: + case 115: + { + alt67=2; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 67, 0, input); + + throw nvae; + } + + switch (alt67) { + case 1 : + // InternalExport.g:3914:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) + { + // InternalExport.g:3914:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) + // InternalExport.g:3915:4: () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) + { + // InternalExport.g:3915:4: () + // InternalExport.g:3916:5: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(), + current); + + } + + } + + // InternalExport.g:3922:4: ( ( ruleFeatureCallID ) ) + // InternalExport.g:3923:5: ( ruleFeatureCallID ) + { + // InternalExport.g:3923:5: ( ruleFeatureCallID ) + // InternalExport.g:3924:6: ruleFeatureCallID + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXAssignmentRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + + } + pushFollow(FOLLOW_31); + ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); + + } + pushFollow(FOLLOW_64); + ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + // InternalExport.g:3945:4: ( (lv_value_3_0= ruleXAssignment ) ) + // InternalExport.g:3946:5: (lv_value_3_0= ruleXAssignment ) + { + // InternalExport.g:3946:5: (lv_value_3_0= ruleXAssignment ) + // InternalExport.g:3947:6: lv_value_3_0= ruleXAssignment + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); + + } + pushFollow(FOLLOW_2); + lv_value_3_0=ruleXAssignment(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXAssignmentRule()); + } + set( + current, + "value", + lv_value_3_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalExport.g:3966:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) + { + // InternalExport.g:3966:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) + // InternalExport.g:3967:4: this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_65); + this_XOrExpression_4=ruleXOrExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XOrExpression_4; + afterParserOrEnumRuleCall(); + + } + // InternalExport.g:3975:4: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? + int alt66=2; + alt66 = dfa66.predict(input); + switch (alt66) { + case 1 : + // InternalExport.g:3976:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) + { + // InternalExport.g:3976:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) + // InternalExport.g:3977:6: ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) + { + // InternalExport.g:3987:6: ( () ( ( ruleOpMultiAssign ) ) ) + // InternalExport.g:3988:7: () ( ( ruleOpMultiAssign ) ) + { + // InternalExport.g:3988:7: () + // InternalExport.g:3989:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), + current); + + } + + } + + // InternalExport.g:3995:7: ( ( ruleOpMultiAssign ) ) + // InternalExport.g:3996:8: ( ruleOpMultiAssign ) + { + // InternalExport.g:3996:8: ( ruleOpMultiAssign ) + // InternalExport.g:3997:9: ruleOpMultiAssign + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXAssignmentRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + + } + pushFollow(FOLLOW_64); + ruleOpMultiAssign(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalExport.g:4013:5: ( (lv_rightOperand_7_0= ruleXAssignment ) ) + // InternalExport.g:4014:6: (lv_rightOperand_7_0= ruleXAssignment ) + { + // InternalExport.g:4014:6: (lv_rightOperand_7_0= ruleXAssignment ) + // InternalExport.g:4015:7: lv_rightOperand_7_0= ruleXAssignment + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); + + } + pushFollow(FOLLOW_2); + lv_rightOperand_7_0=ruleXAssignment(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXAssignmentRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_7_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXAssignment" + + + // $ANTLR start "entryRuleOpSingleAssign" + // InternalExport.g:4038:1: entryRuleOpSingleAssign returns [String current=null] : iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ; + public final String entryRuleOpSingleAssign() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpSingleAssign = null; + + + try { + // InternalExport.g:4038:54: (iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ) + // InternalExport.g:4039:2: iv_ruleOpSingleAssign= ruleOpSingleAssign EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpSingleAssignRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpSingleAssign=ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpSingleAssign.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpSingleAssign" + + + // $ANTLR start "ruleOpSingleAssign" + // InternalExport.g:4045:1: ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '=' ; + public final AntlrDatatypeRuleToken ruleOpSingleAssign() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExport.g:4051:2: (kw= '=' ) + // InternalExport.g:4052:2: kw= '=' + { + kw=(Token)match(input,24,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpSingleAssign" + + + // $ANTLR start "entryRuleOpMultiAssign" + // InternalExport.g:4060:1: entryRuleOpMultiAssign returns [String current=null] : iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ; + public final String entryRuleOpMultiAssign() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpMultiAssign = null; + + + try { + // InternalExport.g:4060:53: (iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ) + // InternalExport.g:4061:2: iv_ruleOpMultiAssign= ruleOpMultiAssign EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpMultiAssignRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpMultiAssign=ruleOpMultiAssign(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpMultiAssign.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpMultiAssign" + + + // $ANTLR start "ruleOpMultiAssign" + // InternalExport.g:4067:1: ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ; + public final AntlrDatatypeRuleToken ruleOpMultiAssign() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExport.g:4073:2: ( (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ) + // InternalExport.g:4074:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) + { + // InternalExport.g:4074:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) + int alt69=7; + switch ( input.LA(1) ) { + case 84: + { + alt69=1; + } + break; + case 85: + { + alt69=2; + } + break; + case 86: + { + alt69=3; + } + break; + case 87: + { + alt69=4; + } + break; + case 88: + { + alt69=5; + } + break; + case 60: + { + alt69=6; + } + break; + case 59: + { + alt69=7; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 69, 0, input); + + throw nvae; + } + + switch (alt69) { + case 1 : + // InternalExport.g:4075:3: kw= '+=' + { + kw=(Token)match(input,84,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalExport.g:4081:3: kw= '-=' + { + kw=(Token)match(input,85,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); + + } + + } + break; + case 3 : + // InternalExport.g:4087:3: kw= '*=' + { + kw=(Token)match(input,86,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); + + } + + } + break; + case 4 : + // InternalExport.g:4093:3: kw= '/=' + { + kw=(Token)match(input,87,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); + + } + + } + break; + case 5 : + // InternalExport.g:4099:3: kw= '%=' + { + kw=(Token)match(input,88,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); + + } + + } + break; + case 6 : + // InternalExport.g:4105:3: (kw= '<' kw= '<' kw= '=' ) + { + // InternalExport.g:4105:3: (kw= '<' kw= '<' kw= '=' ) + // InternalExport.g:4106:4: kw= '<' kw= '<' kw= '=' + { + kw=(Token)match(input,60,FOLLOW_66); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); + + } + kw=(Token)match(input,60,FOLLOW_31); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); + + } + kw=(Token)match(input,24,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); + + } + + } + + + } + break; + case 7 : + // InternalExport.g:4123:3: (kw= '>' (kw= '>' )? kw= '>=' ) + { + // InternalExport.g:4123:3: (kw= '>' (kw= '>' )? kw= '>=' ) + // InternalExport.g:4124:4: kw= '>' (kw= '>' )? kw= '>=' + { + kw=(Token)match(input,59,FOLLOW_67); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); + + } + // InternalExport.g:4129:4: (kw= '>' )? + int alt68=2; + int LA68_0 = input.LA(1); + + if ( (LA68_0==59) ) { + alt68=1; + } + switch (alt68) { + case 1 : + // InternalExport.g:4130:5: kw= '>' + { + kw=(Token)match(input,59,FOLLOW_68); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); + + } + + } + break; + + } + + kw=(Token)match(input,57,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); + + } + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpMultiAssign" + + + // $ANTLR start "entryRuleXOrExpression" + // InternalExport.g:4146:1: entryRuleXOrExpression returns [EObject current=null] : iv_ruleXOrExpression= ruleXOrExpression EOF ; + public final EObject entryRuleXOrExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXOrExpression = null; + + + try { + // InternalExport.g:4146:54: (iv_ruleXOrExpression= ruleXOrExpression EOF ) + // InternalExport.g:4147:2: iv_ruleXOrExpression= ruleXOrExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXOrExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXOrExpression=ruleXOrExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXOrExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXOrExpression" + + + // $ANTLR start "ruleXOrExpression" + // InternalExport.g:4153:1: ruleXOrExpression returns [EObject current=null] : (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ; + public final EObject ruleXOrExpression() throws RecognitionException { + EObject current = null; + + EObject this_XAndExpression_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:4159:2: ( (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ) + // InternalExport.g:4160:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) + { + // InternalExport.g:4160:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) + // InternalExport.g:4161:3: this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_49); + this_XAndExpression_0=ruleXAndExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XAndExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalExport.g:4169:3: ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* + loop70: + do { + int alt70=2; + int LA70_0 = input.LA(1); + + if ( (LA70_0==52) ) { + int LA70_2 = input.LA(2); + + if ( (synpred4_InternalExport()) ) { + alt70=1; + } + + + } + + + switch (alt70) { + case 1 : + // InternalExport.g:4170:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) + { + // InternalExport.g:4170:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) + // InternalExport.g:4171:5: ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) + { + // InternalExport.g:4181:5: ( () ( ( ruleOpOr ) ) ) + // InternalExport.g:4182:6: () ( ( ruleOpOr ) ) + { + // InternalExport.g:4182:6: () + // InternalExport.g:4183:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalExport.g:4189:6: ( ( ruleOpOr ) ) + // InternalExport.g:4190:7: ( ruleOpOr ) + { + // InternalExport.g:4190:7: ( ruleOpOr ) + // InternalExport.g:4191:8: ruleOpOr + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXOrExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_64); + ruleOpOr(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalExport.g:4207:4: ( (lv_rightOperand_3_0= ruleXAndExpression ) ) + // InternalExport.g:4208:5: (lv_rightOperand_3_0= ruleXAndExpression ) + { + // InternalExport.g:4208:5: (lv_rightOperand_3_0= ruleXAndExpression ) + // InternalExport.g:4209:6: lv_rightOperand_3_0= ruleXAndExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_49); + lv_rightOperand_3_0=ruleXAndExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXOrExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XAndExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop70; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXOrExpression" + + + // $ANTLR start "entryRuleOpOr" + // InternalExport.g:4231:1: entryRuleOpOr returns [String current=null] : iv_ruleOpOr= ruleOpOr EOF ; + public final String entryRuleOpOr() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpOr = null; + + + try { + // InternalExport.g:4231:44: (iv_ruleOpOr= ruleOpOr EOF ) + // InternalExport.g:4232:2: iv_ruleOpOr= ruleOpOr EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpOrRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpOr=ruleOpOr(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpOr.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpOr" + + + // $ANTLR start "ruleOpOr" + // InternalExport.g:4238:1: ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '||' ; + public final AntlrDatatypeRuleToken ruleOpOr() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExport.g:4244:2: (kw= '||' ) + // InternalExport.g:4245:2: kw= '||' + { + kw=(Token)match(input,52,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpOr" + + + // $ANTLR start "entryRuleXAndExpression" + // InternalExport.g:4253:1: entryRuleXAndExpression returns [EObject current=null] : iv_ruleXAndExpression= ruleXAndExpression EOF ; + public final EObject entryRuleXAndExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXAndExpression = null; + + + try { + // InternalExport.g:4253:55: (iv_ruleXAndExpression= ruleXAndExpression EOF ) + // InternalExport.g:4254:2: iv_ruleXAndExpression= ruleXAndExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXAndExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXAndExpression=ruleXAndExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXAndExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXAndExpression" + + + // $ANTLR start "ruleXAndExpression" + // InternalExport.g:4260:1: ruleXAndExpression returns [EObject current=null] : (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ; + public final EObject ruleXAndExpression() throws RecognitionException { + EObject current = null; + + EObject this_XEqualityExpression_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:4266:2: ( (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ) + // InternalExport.g:4267:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) + { + // InternalExport.g:4267:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) + // InternalExport.g:4268:3: this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_50); + this_XEqualityExpression_0=ruleXEqualityExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XEqualityExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalExport.g:4276:3: ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* + loop71: + do { + int alt71=2; + int LA71_0 = input.LA(1); + + if ( (LA71_0==53) ) { + int LA71_2 = input.LA(2); + + if ( (synpred5_InternalExport()) ) { + alt71=1; + } + + + } + + + switch (alt71) { + case 1 : + // InternalExport.g:4277:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) + { + // InternalExport.g:4277:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) + // InternalExport.g:4278:5: ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) + { + // InternalExport.g:4288:5: ( () ( ( ruleOpAnd ) ) ) + // InternalExport.g:4289:6: () ( ( ruleOpAnd ) ) + { + // InternalExport.g:4289:6: () + // InternalExport.g:4290:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalExport.g:4296:6: ( ( ruleOpAnd ) ) + // InternalExport.g:4297:7: ( ruleOpAnd ) + { + // InternalExport.g:4297:7: ( ruleOpAnd ) + // InternalExport.g:4298:8: ruleOpAnd + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXAndExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_64); + ruleOpAnd(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalExport.g:4314:4: ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) + // InternalExport.g:4315:5: (lv_rightOperand_3_0= ruleXEqualityExpression ) + { + // InternalExport.g:4315:5: (lv_rightOperand_3_0= ruleXEqualityExpression ) + // InternalExport.g:4316:6: lv_rightOperand_3_0= ruleXEqualityExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_50); + lv_rightOperand_3_0=ruleXEqualityExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXAndExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XEqualityExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop71; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXAndExpression" + + + // $ANTLR start "entryRuleOpAnd" + // InternalExport.g:4338:1: entryRuleOpAnd returns [String current=null] : iv_ruleOpAnd= ruleOpAnd EOF ; + public final String entryRuleOpAnd() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpAnd = null; + + + try { + // InternalExport.g:4338:45: (iv_ruleOpAnd= ruleOpAnd EOF ) + // InternalExport.g:4339:2: iv_ruleOpAnd= ruleOpAnd EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpAndRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpAnd=ruleOpAnd(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpAnd.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpAnd" + + + // $ANTLR start "ruleOpAnd" + // InternalExport.g:4345:1: ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '&&' ; + public final AntlrDatatypeRuleToken ruleOpAnd() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExport.g:4351:2: (kw= '&&' ) + // InternalExport.g:4352:2: kw= '&&' + { + kw=(Token)match(input,53,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpAnd" + + + // $ANTLR start "entryRuleXEqualityExpression" + // InternalExport.g:4360:1: entryRuleXEqualityExpression returns [EObject current=null] : iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ; + public final EObject entryRuleXEqualityExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXEqualityExpression = null; + + + try { + // InternalExport.g:4360:60: (iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ) + // InternalExport.g:4361:2: iv_ruleXEqualityExpression= ruleXEqualityExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXEqualityExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXEqualityExpression=ruleXEqualityExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXEqualityExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXEqualityExpression" + + + // $ANTLR start "ruleXEqualityExpression" + // InternalExport.g:4367:1: ruleXEqualityExpression returns [EObject current=null] : (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ; + public final EObject ruleXEqualityExpression() throws RecognitionException { + EObject current = null; + + EObject this_XRelationalExpression_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:4373:2: ( (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ) + // InternalExport.g:4374:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) + { + // InternalExport.g:4374:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) + // InternalExport.g:4375:3: this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_69); + this_XRelationalExpression_0=ruleXRelationalExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XRelationalExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalExport.g:4383:3: ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* + loop72: + do { + int alt72=2; + switch ( input.LA(1) ) { + case 55: + { + int LA72_2 = input.LA(2); + + if ( (synpred6_InternalExport()) ) { + alt72=1; + } + + + } + break; + case 56: + { + int LA72_3 = input.LA(2); + + if ( (synpred6_InternalExport()) ) { + alt72=1; + } + + + } + break; + case 89: + { + int LA72_4 = input.LA(2); + + if ( (synpred6_InternalExport()) ) { + alt72=1; + } + + + } + break; + case 90: + { + int LA72_5 = input.LA(2); + + if ( (synpred6_InternalExport()) ) { + alt72=1; + } + + + } + break; + + } + + switch (alt72) { + case 1 : + // InternalExport.g:4384:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) + { + // InternalExport.g:4384:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) + // InternalExport.g:4385:5: ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) + { + // InternalExport.g:4395:5: ( () ( ( ruleOpEquality ) ) ) + // InternalExport.g:4396:6: () ( ( ruleOpEquality ) ) + { + // InternalExport.g:4396:6: () + // InternalExport.g:4397:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalExport.g:4403:6: ( ( ruleOpEquality ) ) + // InternalExport.g:4404:7: ( ruleOpEquality ) + { + // InternalExport.g:4404:7: ( ruleOpEquality ) + // InternalExport.g:4405:8: ruleOpEquality + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXEqualityExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_64); + ruleOpEquality(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalExport.g:4421:4: ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) + // InternalExport.g:4422:5: (lv_rightOperand_3_0= ruleXRelationalExpression ) + { + // InternalExport.g:4422:5: (lv_rightOperand_3_0= ruleXRelationalExpression ) + // InternalExport.g:4423:6: lv_rightOperand_3_0= ruleXRelationalExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_69); + lv_rightOperand_3_0=ruleXRelationalExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXEqualityExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XRelationalExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop72; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXEqualityExpression" + + + // $ANTLR start "entryRuleOpEquality" + // InternalExport.g:4445:1: entryRuleOpEquality returns [String current=null] : iv_ruleOpEquality= ruleOpEquality EOF ; + public final String entryRuleOpEquality() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpEquality = null; + + + try { + // InternalExport.g:4445:50: (iv_ruleOpEquality= ruleOpEquality EOF ) + // InternalExport.g:4446:2: iv_ruleOpEquality= ruleOpEquality EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpEqualityRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpEquality=ruleOpEquality(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpEquality.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpEquality" + + + // $ANTLR start "ruleOpEquality" + // InternalExport.g:4452:1: ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ; + public final AntlrDatatypeRuleToken ruleOpEquality() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExport.g:4458:2: ( (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ) + // InternalExport.g:4459:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) + { + // InternalExport.g:4459:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) + int alt73=4; + switch ( input.LA(1) ) { + case 55: + { + alt73=1; + } + break; + case 56: + { + alt73=2; + } + break; + case 89: + { + alt73=3; + } + break; + case 90: + { + alt73=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 73, 0, input); + + throw nvae; + } + + switch (alt73) { + case 1 : + // InternalExport.g:4460:3: kw= '==' + { + kw=(Token)match(input,55,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalExport.g:4466:3: kw= '!=' + { + kw=(Token)match(input,56,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); + + } + + } + break; + case 3 : + // InternalExport.g:4472:3: kw= '===' + { + kw=(Token)match(input,89,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); + + } + + } + break; + case 4 : + // InternalExport.g:4478:3: kw= '!==' + { + kw=(Token)match(input,90,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpEquality" + + + // $ANTLR start "entryRuleXRelationalExpression" + // InternalExport.g:4487:1: entryRuleXRelationalExpression returns [EObject current=null] : iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ; + public final EObject entryRuleXRelationalExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXRelationalExpression = null; + + + try { + // InternalExport.g:4487:62: (iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ) + // InternalExport.g:4488:2: iv_ruleXRelationalExpression= ruleXRelationalExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXRelationalExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXRelationalExpression=ruleXRelationalExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXRelationalExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXRelationalExpression" + + + // $ANTLR start "ruleXRelationalExpression" + // InternalExport.g:4494:1: ruleXRelationalExpression returns [EObject current=null] : (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ; + public final EObject ruleXRelationalExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_XOtherOperatorExpression_0 = null; + + EObject lv_type_3_0 = null; + + EObject lv_rightOperand_6_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:4500:2: ( (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ) + // InternalExport.g:4501:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) + { + // InternalExport.g:4501:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) + // InternalExport.g:4502:3: this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_70); + this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XOtherOperatorExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalExport.g:4510:3: ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* + loop74: + do { + int alt74=3; + switch ( input.LA(1) ) { + case 60: + { + int LA74_2 = input.LA(2); + + if ( (synpred8_InternalExport()) ) { + alt74=2; + } + + + } + break; + case 59: + { + int LA74_3 = input.LA(2); + + if ( (synpred8_InternalExport()) ) { + alt74=2; + } + + + } + break; + case 91: + { + int LA74_4 = input.LA(2); + + if ( (synpred7_InternalExport()) ) { + alt74=1; + } + + + } + break; + case 57: + { + int LA74_5 = input.LA(2); + + if ( (synpred8_InternalExport()) ) { + alt74=2; + } + + + } + break; + + } + + switch (alt74) { + case 1 : + // InternalExport.g:4511:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) + { + // InternalExport.g:4511:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) + // InternalExport.g:4512:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) + { + // InternalExport.g:4512:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) + // InternalExport.g:4513:6: ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) + { + // InternalExport.g:4519:6: ( () otherlv_2= 'instanceof' ) + // InternalExport.g:4520:7: () otherlv_2= 'instanceof' + { + // InternalExport.g:4520:7: () + // InternalExport.g:4521:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,91,FOLLOW_71); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); + + } + + } + + + } + + // InternalExport.g:4533:5: ( (lv_type_3_0= ruleJvmTypeReference ) ) + // InternalExport.g:4534:6: (lv_type_3_0= ruleJvmTypeReference ) + { + // InternalExport.g:4534:6: (lv_type_3_0= ruleJvmTypeReference ) + // InternalExport.g:4535:7: lv_type_3_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); + + } + pushFollow(FOLLOW_70); + lv_type_3_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule()); + } + set( + current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalExport.g:4554:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) + { + // InternalExport.g:4554:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) + // InternalExport.g:4555:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) + { + // InternalExport.g:4555:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) + // InternalExport.g:4556:6: ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) + { + // InternalExport.g:4566:6: ( () ( ( ruleOpCompare ) ) ) + // InternalExport.g:4567:7: () ( ( ruleOpCompare ) ) + { + // InternalExport.g:4567:7: () + // InternalExport.g:4568:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), + current); + + } + + } + + // InternalExport.g:4574:7: ( ( ruleOpCompare ) ) + // InternalExport.g:4575:8: ( ruleOpCompare ) + { + // InternalExport.g:4575:8: ( ruleOpCompare ) + // InternalExport.g:4576:9: ruleOpCompare + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXRelationalExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + + } + pushFollow(FOLLOW_64); + ruleOpCompare(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalExport.g:4592:5: ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) + // InternalExport.g:4593:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) + { + // InternalExport.g:4593:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) + // InternalExport.g:4594:7: lv_rightOperand_6_0= ruleXOtherOperatorExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); + + } + pushFollow(FOLLOW_70); + lv_rightOperand_6_0=ruleXOtherOperatorExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_6_0, + "org.eclipse.xtext.xbase.Xbase.XOtherOperatorExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + default : + break loop74; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXRelationalExpression" + + + // $ANTLR start "entryRuleOpCompare" + // InternalExport.g:4617:1: entryRuleOpCompare returns [String current=null] : iv_ruleOpCompare= ruleOpCompare EOF ; + public final String entryRuleOpCompare() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpCompare = null; + + + try { + // InternalExport.g:4617:49: (iv_ruleOpCompare= ruleOpCompare EOF ) + // InternalExport.g:4618:2: iv_ruleOpCompare= ruleOpCompare EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpCompareRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpCompare=ruleOpCompare(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpCompare.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpCompare" + + + // $ANTLR start "ruleOpCompare" + // InternalExport.g:4624:1: ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ; + public final AntlrDatatypeRuleToken ruleOpCompare() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExport.g:4630:2: ( (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ) + // InternalExport.g:4631:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) + { + // InternalExport.g:4631:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) + int alt75=4; + switch ( input.LA(1) ) { + case 57: + { + alt75=1; + } + break; + case 60: + { + int LA75_2 = input.LA(2); + + if ( (LA75_2==EOF||(LA75_2>=RULE_ID && LA75_2<=RULE_INT)||(LA75_2>=RULE_HEX && LA75_2<=RULE_DECIMAL)||(LA75_2>=15 && LA75_2<=16)||LA75_2==18||LA75_2==20||LA75_2==22||LA75_2==27||LA75_2==30||LA75_2==46||LA75_2==49||(LA75_2>=60 && LA75_2<=61)||LA75_2==64||(LA75_2>=76 && LA75_2<=78)||LA75_2==80||(LA75_2>=102 && LA75_2<=104)||(LA75_2>=107 && LA75_2<=113)||LA75_2==115) ) { + alt75=4; + } + else if ( (LA75_2==24) ) { + alt75=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 75, 2, input); + + throw nvae; + } + } + break; + case 59: + { + alt75=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 75, 0, input); + + throw nvae; + } + + switch (alt75) { + case 1 : + // InternalExport.g:4632:3: kw= '>=' + { + kw=(Token)match(input,57,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalExport.g:4638:3: (kw= '<' kw= '=' ) + { + // InternalExport.g:4638:3: (kw= '<' kw= '=' ) + // InternalExport.g:4639:4: kw= '<' kw= '=' + { + kw=(Token)match(input,60,FOLLOW_31); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); + + } + kw=(Token)match(input,24,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); + + } + + } + + + } + break; + case 3 : + // InternalExport.g:4651:3: kw= '>' + { + kw=(Token)match(input,59,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); + + } + + } + break; + case 4 : + // InternalExport.g:4657:3: kw= '<' + { + kw=(Token)match(input,60,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpCompare" + + + // $ANTLR start "entryRuleXOtherOperatorExpression" + // InternalExport.g:4666:1: entryRuleXOtherOperatorExpression returns [EObject current=null] : iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ; + public final EObject entryRuleXOtherOperatorExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXOtherOperatorExpression = null; + + + try { + // InternalExport.g:4666:65: (iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ) + // InternalExport.g:4667:2: iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXOtherOperatorExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXOtherOperatorExpression" + + + // $ANTLR start "ruleXOtherOperatorExpression" + // InternalExport.g:4673:1: ruleXOtherOperatorExpression returns [EObject current=null] : (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ; + public final EObject ruleXOtherOperatorExpression() throws RecognitionException { + EObject current = null; + + EObject this_XAdditiveExpression_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:4679:2: ( (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ) + // InternalExport.g:4680:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) + { + // InternalExport.g:4680:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) + // InternalExport.g:4681:3: this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_72); + this_XAdditiveExpression_0=ruleXAdditiveExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XAdditiveExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalExport.g:4689:3: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* + loop76: + do { + int alt76=2; + alt76 = dfa76.predict(input); + switch (alt76) { + case 1 : + // InternalExport.g:4690:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) + { + // InternalExport.g:4690:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) + // InternalExport.g:4691:5: ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) + { + // InternalExport.g:4701:5: ( () ( ( ruleOpOther ) ) ) + // InternalExport.g:4702:6: () ( ( ruleOpOther ) ) + { + // InternalExport.g:4702:6: () + // InternalExport.g:4703:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalExport.g:4709:6: ( ( ruleOpOther ) ) + // InternalExport.g:4710:7: ( ruleOpOther ) + { + // InternalExport.g:4710:7: ( ruleOpOther ) + // InternalExport.g:4711:8: ruleOpOther + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXOtherOperatorExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_64); + ruleOpOther(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalExport.g:4727:4: ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) + // InternalExport.g:4728:5: (lv_rightOperand_3_0= ruleXAdditiveExpression ) + { + // InternalExport.g:4728:5: (lv_rightOperand_3_0= ruleXAdditiveExpression ) + // InternalExport.g:4729:6: lv_rightOperand_3_0= ruleXAdditiveExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_72); + lv_rightOperand_3_0=ruleXAdditiveExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXOtherOperatorExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XAdditiveExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop76; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXOtherOperatorExpression" + + + // $ANTLR start "entryRuleOpOther" + // InternalExport.g:4751:1: entryRuleOpOther returns [String current=null] : iv_ruleOpOther= ruleOpOther EOF ; + public final String entryRuleOpOther() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpOther = null; + + + try { + // InternalExport.g:4751:47: (iv_ruleOpOther= ruleOpOther EOF ) + // InternalExport.g:4752:2: iv_ruleOpOther= ruleOpOther EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpOtherRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpOther=ruleOpOther(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpOther.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpOther" + + + // $ANTLR start "ruleOpOther" + // InternalExport.g:4758:1: ruleOpOther returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ; + public final AntlrDatatypeRuleToken ruleOpOther() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExport.g:4764:2: ( (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ) + // InternalExport.g:4765:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) + { + // InternalExport.g:4765:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) + int alt79=9; + alt79 = dfa79.predict(input); + switch (alt79) { + case 1 : + // InternalExport.g:4766:3: kw= '->' + { + kw=(Token)match(input,44,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalExport.g:4772:3: kw= '..<' + { + kw=(Token)match(input,92,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); + + } + + } + break; + case 3 : + // InternalExport.g:4778:3: (kw= '>' kw= '..' ) + { + // InternalExport.g:4778:3: (kw= '>' kw= '..' ) + // InternalExport.g:4779:4: kw= '>' kw= '..' + { + kw=(Token)match(input,59,FOLLOW_73); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); + + } + kw=(Token)match(input,93,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); + + } + + } + + + } + break; + case 4 : + // InternalExport.g:4791:3: kw= '..' + { + kw=(Token)match(input,93,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); + + } + + } + break; + case 5 : + // InternalExport.g:4797:3: kw= '=>' + { + kw=(Token)match(input,94,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); + + } + + } + break; + case 6 : + // InternalExport.g:4803:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) + { + // InternalExport.g:4803:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) + // InternalExport.g:4804:4: kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) + { + kw=(Token)match(input,59,FOLLOW_74); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); + + } + // InternalExport.g:4809:4: ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) + int alt77=2; + int LA77_0 = input.LA(1); + + if ( (LA77_0==59) ) { + int LA77_1 = input.LA(2); + + if ( (LA77_1==EOF||(LA77_1>=RULE_ID && LA77_1<=RULE_INT)||(LA77_1>=RULE_HEX && LA77_1<=RULE_DECIMAL)||(LA77_1>=15 && LA77_1<=16)||LA77_1==18||LA77_1==20||LA77_1==22||LA77_1==27||LA77_1==30||LA77_1==46||LA77_1==49||(LA77_1>=60 && LA77_1<=61)||LA77_1==64||(LA77_1>=76 && LA77_1<=78)||LA77_1==80||(LA77_1>=102 && LA77_1<=104)||(LA77_1>=107 && LA77_1<=113)||LA77_1==115) ) { + alt77=2; + } + else if ( (LA77_1==59) && (synpred10_InternalExport())) { + alt77=1; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 77, 1, input); + + throw nvae; + } + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 77, 0, input); + + throw nvae; + } + switch (alt77) { + case 1 : + // InternalExport.g:4810:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) + { + // InternalExport.g:4810:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) + // InternalExport.g:4811:6: ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) + { + // InternalExport.g:4816:6: (kw= '>' kw= '>' ) + // InternalExport.g:4817:7: kw= '>' kw= '>' + { + kw=(Token)match(input,59,FOLLOW_74); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); + + } + kw=(Token)match(input,59,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); + + } + + } + + + } + + + } + break; + case 2 : + // InternalExport.g:4830:5: kw= '>' + { + kw=(Token)match(input,59,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); + + } + + } + break; + + } + + + } + + + } + break; + case 7 : + // InternalExport.g:4838:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) + { + // InternalExport.g:4838:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) + // InternalExport.g:4839:4: kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) + { + kw=(Token)match(input,60,FOLLOW_75); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); + + } + // InternalExport.g:4844:4: ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) + int alt78=3; + int LA78_0 = input.LA(1); + + if ( (LA78_0==60) ) { + int LA78_1 = input.LA(2); + + if ( (synpred11_InternalExport()) ) { + alt78=1; + } + else if ( (true) ) { + alt78=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 78, 1, input); + + throw nvae; + } + } + else if ( (LA78_0==94) ) { + alt78=3; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 78, 0, input); + + throw nvae; + } + switch (alt78) { + case 1 : + // InternalExport.g:4845:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) + { + // InternalExport.g:4845:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) + // InternalExport.g:4846:6: ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) + { + // InternalExport.g:4851:6: (kw= '<' kw= '<' ) + // InternalExport.g:4852:7: kw= '<' kw= '<' + { + kw=(Token)match(input,60,FOLLOW_66); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); + + } + kw=(Token)match(input,60,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); + + } + + } + + + } + + + } + break; + case 2 : + // InternalExport.g:4865:5: kw= '<' + { + kw=(Token)match(input,60,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); + + } + + } + break; + case 3 : + // InternalExport.g:4871:5: kw= '=>' + { + kw=(Token)match(input,94,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); + + } + + } + break; + + } + + + } + + + } + break; + case 8 : + // InternalExport.g:4879:3: kw= '<>' + { + kw=(Token)match(input,95,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); + + } + + } + break; + case 9 : + // InternalExport.g:4885:3: kw= '?:' + { + kw=(Token)match(input,96,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpOther" + + + // $ANTLR start "entryRuleXAdditiveExpression" + // InternalExport.g:4894:1: entryRuleXAdditiveExpression returns [EObject current=null] : iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ; + public final EObject entryRuleXAdditiveExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXAdditiveExpression = null; + + + try { + // InternalExport.g:4894:60: (iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ) + // InternalExport.g:4895:2: iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXAdditiveExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXAdditiveExpression=ruleXAdditiveExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXAdditiveExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXAdditiveExpression" + + + // $ANTLR start "ruleXAdditiveExpression" + // InternalExport.g:4901:1: ruleXAdditiveExpression returns [EObject current=null] : (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ; + public final EObject ruleXAdditiveExpression() throws RecognitionException { + EObject current = null; + + EObject this_XMultiplicativeExpression_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:4907:2: ( (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ) + // InternalExport.g:4908:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) + { + // InternalExport.g:4908:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) + // InternalExport.g:4909:3: this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_53); + this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XMultiplicativeExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalExport.g:4917:3: ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* + loop80: + do { + int alt80=2; + int LA80_0 = input.LA(1); + + if ( (LA80_0==27) ) { + int LA80_2 = input.LA(2); + + if ( (synpred12_InternalExport()) ) { + alt80=1; + } + + + } + else if ( (LA80_0==61) ) { + int LA80_3 = input.LA(2); + + if ( (synpred12_InternalExport()) ) { + alt80=1; + } + + + } + + + switch (alt80) { + case 1 : + // InternalExport.g:4918:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) + { + // InternalExport.g:4918:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) + // InternalExport.g:4919:5: ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) + { + // InternalExport.g:4929:5: ( () ( ( ruleOpAdd ) ) ) + // InternalExport.g:4930:6: () ( ( ruleOpAdd ) ) + { + // InternalExport.g:4930:6: () + // InternalExport.g:4931:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalExport.g:4937:6: ( ( ruleOpAdd ) ) + // InternalExport.g:4938:7: ( ruleOpAdd ) + { + // InternalExport.g:4938:7: ( ruleOpAdd ) + // InternalExport.g:4939:8: ruleOpAdd + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXAdditiveExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_64); + ruleOpAdd(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalExport.g:4955:4: ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) + // InternalExport.g:4956:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) + { + // InternalExport.g:4956:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) + // InternalExport.g:4957:6: lv_rightOperand_3_0= ruleXMultiplicativeExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_53); + lv_rightOperand_3_0=ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXAdditiveExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XMultiplicativeExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop80; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXAdditiveExpression" + + + // $ANTLR start "entryRuleOpAdd" + // InternalExport.g:4979:1: entryRuleOpAdd returns [String current=null] : iv_ruleOpAdd= ruleOpAdd EOF ; + public final String entryRuleOpAdd() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpAdd = null; + + + try { + // InternalExport.g:4979:45: (iv_ruleOpAdd= ruleOpAdd EOF ) + // InternalExport.g:4980:2: iv_ruleOpAdd= ruleOpAdd EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpAddRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpAdd=ruleOpAdd(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpAdd.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpAdd" + + + // $ANTLR start "ruleOpAdd" + // InternalExport.g:4986:1: ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '-' ) ; + public final AntlrDatatypeRuleToken ruleOpAdd() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExport.g:4992:2: ( (kw= '+' | kw= '-' ) ) + // InternalExport.g:4993:2: (kw= '+' | kw= '-' ) + { + // InternalExport.g:4993:2: (kw= '+' | kw= '-' ) + int alt81=2; + int LA81_0 = input.LA(1); + + if ( (LA81_0==27) ) { + alt81=1; + } + else if ( (LA81_0==61) ) { + alt81=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 81, 0, input); + + throw nvae; + } + switch (alt81) { + case 1 : + // InternalExport.g:4994:3: kw= '+' + { + kw=(Token)match(input,27,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalExport.g:5000:3: kw= '-' + { + kw=(Token)match(input,61,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpAdd" + + + // $ANTLR start "entryRuleXMultiplicativeExpression" + // InternalExport.g:5009:1: entryRuleXMultiplicativeExpression returns [EObject current=null] : iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ; + public final EObject entryRuleXMultiplicativeExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXMultiplicativeExpression = null; + + + try { + // InternalExport.g:5009:66: (iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ) + // InternalExport.g:5010:2: iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXMultiplicativeExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXMultiplicativeExpression" + + + // $ANTLR start "ruleXMultiplicativeExpression" + // InternalExport.g:5016:1: ruleXMultiplicativeExpression returns [EObject current=null] : (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ; + public final EObject ruleXMultiplicativeExpression() throws RecognitionException { + EObject current = null; + + EObject this_XUnaryOperation_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:5022:2: ( (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ) + // InternalExport.g:5023:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) + { + // InternalExport.g:5023:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) + // InternalExport.g:5024:3: this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); + + } + pushFollow(FOLLOW_76); + this_XUnaryOperation_0=ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XUnaryOperation_0; + afterParserOrEnumRuleCall(); + + } + // InternalExport.g:5032:3: ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* + loop82: + do { + int alt82=2; + switch ( input.LA(1) ) { + case 62: + { + int LA82_2 = input.LA(2); + + if ( (synpred13_InternalExport()) ) { + alt82=1; + } + + + } + break; + case 97: + { + int LA82_3 = input.LA(2); + + if ( (synpred13_InternalExport()) ) { + alt82=1; + } + + + } + break; + case 63: + { + int LA82_4 = input.LA(2); + + if ( (synpred13_InternalExport()) ) { + alt82=1; + } + + + } + break; + case 98: + { + int LA82_5 = input.LA(2); + + if ( (synpred13_InternalExport()) ) { + alt82=1; + } + + + } + break; + + } + + switch (alt82) { + case 1 : + // InternalExport.g:5033:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) + { + // InternalExport.g:5033:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) + // InternalExport.g:5034:5: ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) + { + // InternalExport.g:5044:5: ( () ( ( ruleOpMulti ) ) ) + // InternalExport.g:5045:6: () ( ( ruleOpMulti ) ) + { + // InternalExport.g:5045:6: () + // InternalExport.g:5046:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalExport.g:5052:6: ( ( ruleOpMulti ) ) + // InternalExport.g:5053:7: ( ruleOpMulti ) + { + // InternalExport.g:5053:7: ( ruleOpMulti ) + // InternalExport.g:5054:8: ruleOpMulti + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMultiplicativeExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_64); + ruleOpMulti(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalExport.g:5070:4: ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) + // InternalExport.g:5071:5: (lv_rightOperand_3_0= ruleXUnaryOperation ) + { + // InternalExport.g:5071:5: (lv_rightOperand_3_0= ruleXUnaryOperation ) + // InternalExport.g:5072:6: lv_rightOperand_3_0= ruleXUnaryOperation + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_76); + lv_rightOperand_3_0=ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMultiplicativeExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XUnaryOperation"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop82; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXMultiplicativeExpression" + + + // $ANTLR start "entryRuleOpMulti" + // InternalExport.g:5094:1: entryRuleOpMulti returns [String current=null] : iv_ruleOpMulti= ruleOpMulti EOF ; + public final String entryRuleOpMulti() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpMulti = null; + + + try { + // InternalExport.g:5094:47: (iv_ruleOpMulti= ruleOpMulti EOF ) + // InternalExport.g:5095:2: iv_ruleOpMulti= ruleOpMulti EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpMultiRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpMulti=ruleOpMulti(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpMulti.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpMulti" + + + // $ANTLR start "ruleOpMulti" + // InternalExport.g:5101:1: ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ; + public final AntlrDatatypeRuleToken ruleOpMulti() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExport.g:5107:2: ( (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ) + // InternalExport.g:5108:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) + { + // InternalExport.g:5108:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) + int alt83=4; + switch ( input.LA(1) ) { + case 62: + { + alt83=1; + } + break; + case 97: + { + alt83=2; + } + break; + case 63: + { + alt83=3; + } + break; + case 98: + { + alt83=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 83, 0, input); + + throw nvae; + } + + switch (alt83) { + case 1 : + // InternalExport.g:5109:3: kw= '*' + { + kw=(Token)match(input,62,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); + + } + + } + break; + case 2 : + // InternalExport.g:5115:3: kw= '**' + { + kw=(Token)match(input,97,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); + + } + + } + break; + case 3 : + // InternalExport.g:5121:3: kw= '/' + { + kw=(Token)match(input,63,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); + + } + + } + break; + case 4 : + // InternalExport.g:5127:3: kw= '%' + { + kw=(Token)match(input,98,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpMulti" + + + // $ANTLR start "entryRuleXUnaryOperation" + // InternalExport.g:5136:1: entryRuleXUnaryOperation returns [EObject current=null] : iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ; + public final EObject entryRuleXUnaryOperation() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXUnaryOperation = null; + + + try { + // InternalExport.g:5136:56: (iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ) + // InternalExport.g:5137:2: iv_ruleXUnaryOperation= ruleXUnaryOperation EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXUnaryOperationRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXUnaryOperation=ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXUnaryOperation; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXUnaryOperation" + + + // $ANTLR start "ruleXUnaryOperation" + // InternalExport.g:5143:1: ruleXUnaryOperation returns [EObject current=null] : ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ; + public final EObject ruleXUnaryOperation() throws RecognitionException { + EObject current = null; + + EObject lv_operand_2_0 = null; + + EObject this_XCastedExpression_3 = null; + + + + enterRule(); + + try { + // InternalExport.g:5149:2: ( ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ) + // InternalExport.g:5150:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) + { + // InternalExport.g:5150:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) + int alt84=2; + int LA84_0 = input.LA(1); + + if ( (LA84_0==27||LA84_0==61||LA84_0==64) ) { + alt84=1; + } + else if ( ((LA84_0>=RULE_ID && LA84_0<=RULE_INT)||(LA84_0>=RULE_HEX && LA84_0<=RULE_DECIMAL)||(LA84_0>=15 && LA84_0<=16)||LA84_0==18||LA84_0==20||LA84_0==22||LA84_0==30||LA84_0==46||LA84_0==49||LA84_0==60||(LA84_0>=76 && LA84_0<=78)||LA84_0==80||(LA84_0>=102 && LA84_0<=104)||(LA84_0>=107 && LA84_0<=113)||LA84_0==115) ) { + alt84=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 84, 0, input); + + throw nvae; + } + switch (alt84) { + case 1 : + // InternalExport.g:5151:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) + { + // InternalExport.g:5151:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) + // InternalExport.g:5152:4: () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) + { + // InternalExport.g:5152:4: () + // InternalExport.g:5153:5: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(), + current); + + } + + } + + // InternalExport.g:5159:4: ( ( ruleOpUnary ) ) + // InternalExport.g:5160:5: ( ruleOpUnary ) + { + // InternalExport.g:5160:5: ( ruleOpUnary ) + // InternalExport.g:5161:6: ruleOpUnary + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXUnaryOperationRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + + } + pushFollow(FOLLOW_64); + ruleOpUnary(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:5175:4: ( (lv_operand_2_0= ruleXUnaryOperation ) ) + // InternalExport.g:5176:5: (lv_operand_2_0= ruleXUnaryOperation ) + { + // InternalExport.g:5176:5: (lv_operand_2_0= ruleXUnaryOperation ) + // InternalExport.g:5177:6: lv_operand_2_0= ruleXUnaryOperation + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); + + } + pushFollow(FOLLOW_2); + lv_operand_2_0=ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXUnaryOperationRule()); + } + set( + current, + "operand", + lv_operand_2_0, + "org.eclipse.xtext.xbase.Xbase.XUnaryOperation"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalExport.g:5196:3: this_XCastedExpression_3= ruleXCastedExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XCastedExpression_3=ruleXCastedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XCastedExpression_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXUnaryOperation" + + + // $ANTLR start "entryRuleOpUnary" + // InternalExport.g:5208:1: entryRuleOpUnary returns [String current=null] : iv_ruleOpUnary= ruleOpUnary EOF ; + public final String entryRuleOpUnary() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpUnary = null; + + + try { + // InternalExport.g:5208:47: (iv_ruleOpUnary= ruleOpUnary EOF ) + // InternalExport.g:5209:2: iv_ruleOpUnary= ruleOpUnary EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpUnaryRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpUnary=ruleOpUnary(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpUnary.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpUnary" + + + // $ANTLR start "ruleOpUnary" + // InternalExport.g:5215:1: ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '!' | kw= '-' | kw= '+' ) ; + public final AntlrDatatypeRuleToken ruleOpUnary() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExport.g:5221:2: ( (kw= '!' | kw= '-' | kw= '+' ) ) + // InternalExport.g:5222:2: (kw= '!' | kw= '-' | kw= '+' ) + { + // InternalExport.g:5222:2: (kw= '!' | kw= '-' | kw= '+' ) + int alt85=3; + switch ( input.LA(1) ) { + case 64: + { + alt85=1; + } + break; + case 61: + { + alt85=2; + } + break; + case 27: + { + alt85=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 85, 0, input); + + throw nvae; + } + + switch (alt85) { + case 1 : + // InternalExport.g:5223:3: kw= '!' + { + kw=(Token)match(input,64,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); + + } + + } + break; + case 2 : + // InternalExport.g:5229:3: kw= '-' + { + kw=(Token)match(input,61,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); + + } + + } + break; + case 3 : + // InternalExport.g:5235:3: kw= '+' + { + kw=(Token)match(input,27,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpUnary" + + + // $ANTLR start "entryRuleXCastedExpression" + // InternalExport.g:5244:1: entryRuleXCastedExpression returns [EObject current=null] : iv_ruleXCastedExpression= ruleXCastedExpression EOF ; + public final EObject entryRuleXCastedExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXCastedExpression = null; + + + try { + // InternalExport.g:5244:58: (iv_ruleXCastedExpression= ruleXCastedExpression EOF ) + // InternalExport.g:5245:2: iv_ruleXCastedExpression= ruleXCastedExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXCastedExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXCastedExpression=ruleXCastedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXCastedExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXCastedExpression" + + + // $ANTLR start "ruleXCastedExpression" + // InternalExport.g:5251:1: ruleXCastedExpression returns [EObject current=null] : (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ; + public final EObject ruleXCastedExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_XPostfixOperation_0 = null; + + EObject lv_type_3_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:5257:2: ( (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ) + // InternalExport.g:5258:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) + { + // InternalExport.g:5258:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) + // InternalExport.g:5259:3: this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); + + } + pushFollow(FOLLOW_13); + this_XPostfixOperation_0=ruleXPostfixOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XPostfixOperation_0; + afterParserOrEnumRuleCall(); + + } + // InternalExport.g:5267:3: ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* + loop86: + do { + int alt86=2; + int LA86_0 = input.LA(1); + + if ( (LA86_0==21) ) { + int LA86_2 = input.LA(2); + + if ( (synpred14_InternalExport()) ) { + alt86=1; + } + + + } + + + switch (alt86) { + case 1 : + // InternalExport.g:5268:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) + { + // InternalExport.g:5268:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) + // InternalExport.g:5269:5: ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) + { + // InternalExport.g:5275:5: ( () otherlv_2= 'as' ) + // InternalExport.g:5276:6: () otherlv_2= 'as' + { + // InternalExport.g:5276:6: () + // InternalExport.g:5277:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,21,FOLLOW_71); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); + + } + + } + + + } + + // InternalExport.g:5289:4: ( (lv_type_3_0= ruleJvmTypeReference ) ) + // InternalExport.g:5290:5: (lv_type_3_0= ruleJvmTypeReference ) + { + // InternalExport.g:5290:5: (lv_type_3_0= ruleJvmTypeReference ) + // InternalExport.g:5291:6: lv_type_3_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_13); + lv_type_3_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCastedExpressionRule()); + } + set( + current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop86; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXCastedExpression" + + + // $ANTLR start "entryRuleXPostfixOperation" + // InternalExport.g:5313:1: entryRuleXPostfixOperation returns [EObject current=null] : iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ; + public final EObject entryRuleXPostfixOperation() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXPostfixOperation = null; + + + try { + // InternalExport.g:5313:58: (iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ) + // InternalExport.g:5314:2: iv_ruleXPostfixOperation= ruleXPostfixOperation EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXPostfixOperationRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXPostfixOperation=ruleXPostfixOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXPostfixOperation; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXPostfixOperation" + + + // $ANTLR start "ruleXPostfixOperation" + // InternalExport.g:5320:1: ruleXPostfixOperation returns [EObject current=null] : (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ; + public final EObject ruleXPostfixOperation() throws RecognitionException { + EObject current = null; + + EObject this_XMemberFeatureCall_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:5326:2: ( (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ) + // InternalExport.g:5327:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) + { + // InternalExport.g:5327:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) + // InternalExport.g:5328:3: this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); + + } + pushFollow(FOLLOW_77); + this_XMemberFeatureCall_0=ruleXMemberFeatureCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XMemberFeatureCall_0; + afterParserOrEnumRuleCall(); + + } + // InternalExport.g:5336:3: ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? + int alt87=2; + int LA87_0 = input.LA(1); + + if ( (LA87_0==99) ) { + int LA87_1 = input.LA(2); + + if ( (synpred15_InternalExport()) ) { + alt87=1; + } + } + else if ( (LA87_0==100) ) { + int LA87_2 = input.LA(2); + + if ( (synpred15_InternalExport()) ) { + alt87=1; + } + } + switch (alt87) { + case 1 : + // InternalExport.g:5337:4: ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) + { + // InternalExport.g:5347:4: ( () ( ( ruleOpPostfix ) ) ) + // InternalExport.g:5348:5: () ( ( ruleOpPostfix ) ) + { + // InternalExport.g:5348:5: () + // InternalExport.g:5349:6: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0(), + current); + + } + + } + + // InternalExport.g:5355:5: ( ( ruleOpPostfix ) ) + // InternalExport.g:5356:6: ( ruleOpPostfix ) + { + // InternalExport.g:5356:6: ( ruleOpPostfix ) + // InternalExport.g:5357:7: ruleOpPostfix + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXPostfixOperationRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); + + } + pushFollow(FOLLOW_2); + ruleOpPostfix(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXPostfixOperation" + + + // $ANTLR start "entryRuleOpPostfix" + // InternalExport.g:5377:1: entryRuleOpPostfix returns [String current=null] : iv_ruleOpPostfix= ruleOpPostfix EOF ; + public final String entryRuleOpPostfix() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpPostfix = null; + + + try { + // InternalExport.g:5377:49: (iv_ruleOpPostfix= ruleOpPostfix EOF ) + // InternalExport.g:5378:2: iv_ruleOpPostfix= ruleOpPostfix EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpPostfixRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpPostfix=ruleOpPostfix(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpPostfix.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpPostfix" + + + // $ANTLR start "ruleOpPostfix" + // InternalExport.g:5384:1: ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '++' | kw= '--' ) ; + public final AntlrDatatypeRuleToken ruleOpPostfix() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExport.g:5390:2: ( (kw= '++' | kw= '--' ) ) + // InternalExport.g:5391:2: (kw= '++' | kw= '--' ) + { + // InternalExport.g:5391:2: (kw= '++' | kw= '--' ) + int alt88=2; + int LA88_0 = input.LA(1); + + if ( (LA88_0==99) ) { + alt88=1; + } + else if ( (LA88_0==100) ) { + alt88=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 88, 0, input); + + throw nvae; + } + switch (alt88) { + case 1 : + // InternalExport.g:5392:3: kw= '++' + { + kw=(Token)match(input,99,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalExport.g:5398:3: kw= '--' + { + kw=(Token)match(input,100,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpPostfix" + + + // $ANTLR start "entryRuleXMemberFeatureCall" + // InternalExport.g:5407:1: entryRuleXMemberFeatureCall returns [EObject current=null] : iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ; + public final EObject entryRuleXMemberFeatureCall() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXMemberFeatureCall = null; + + + try { + // InternalExport.g:5407:59: (iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ) + // InternalExport.g:5408:2: iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXMemberFeatureCallRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXMemberFeatureCall=ruleXMemberFeatureCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXMemberFeatureCall; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXMemberFeatureCall" + + + // $ANTLR start "ruleXMemberFeatureCall" + // InternalExport.g:5414:1: ruleXMemberFeatureCall returns [EObject current=null] : (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) ; + public final EObject ruleXMemberFeatureCall() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + Token lv_explicitStatic_3_0=null; + Token otherlv_8=null; + Token lv_nullSafe_9_0=null; + Token lv_explicitStatic_10_0=null; + Token otherlv_11=null; + Token otherlv_13=null; + Token otherlv_15=null; + Token lv_explicitOperationCall_17_0=null; + Token otherlv_20=null; + Token otherlv_22=null; + EObject this_XPrimaryExpression_0 = null; + + EObject lv_value_6_0 = null; + + EObject lv_typeArguments_12_0 = null; + + EObject lv_typeArguments_14_0 = null; + + EObject lv_memberCallArguments_18_0 = null; + + EObject lv_memberCallArguments_19_0 = null; + + EObject lv_memberCallArguments_21_0 = null; + + EObject lv_memberCallArguments_23_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:5420:2: ( (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) ) + // InternalExport.g:5421:2: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) + { + // InternalExport.g:5421:2: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) + // InternalExport.g:5422:3: this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_78); + this_XPrimaryExpression_0=ruleXPrimaryExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XPrimaryExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalExport.g:5430:3: ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* + loop97: + do { + int alt97=3; + switch ( input.LA(1) ) { + case 65: + { + int LA97_2 = input.LA(2); + + if ( (synpred16_InternalExport()) ) { + alt97=1; + } + else if ( (synpred17_InternalExport()) ) { + alt97=2; + } + + + } + break; + case 41: + { + int LA97_3 = input.LA(2); + + if ( (synpred16_InternalExport()) ) { + alt97=1; + } + else if ( (synpred17_InternalExport()) ) { + alt97=2; + } + + + } + break; + case 101: + { + int LA97_4 = input.LA(2); + + if ( (synpred17_InternalExport()) ) { + alt97=2; + } + + + } + break; + + } + + switch (alt97) { + case 1 : + // InternalExport.g:5431:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) + { + // InternalExport.g:5431:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) + // InternalExport.g:5432:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) + { + // InternalExport.g:5432:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) + // InternalExport.g:5433:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) + { + // InternalExport.g:5453:6: ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) + // InternalExport.g:5454:7: () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign + { + // InternalExport.g:5454:7: () + // InternalExport.g:5455:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(), + current); + + } + + } + + // InternalExport.g:5461:7: (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) + int alt89=2; + int LA89_0 = input.LA(1); + + if ( (LA89_0==65) ) { + alt89=1; + } + else if ( (LA89_0==41) ) { + alt89=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 89, 0, input); + + throw nvae; + } + switch (alt89) { + case 1 : + // InternalExport.g:5462:8: otherlv_2= '.' + { + otherlv_2=(Token)match(input,65,FOLLOW_79); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); + + } + + } + break; + case 2 : + // InternalExport.g:5467:8: ( (lv_explicitStatic_3_0= '::' ) ) + { + // InternalExport.g:5467:8: ( (lv_explicitStatic_3_0= '::' ) ) + // InternalExport.g:5468:9: (lv_explicitStatic_3_0= '::' ) + { + // InternalExport.g:5468:9: (lv_explicitStatic_3_0= '::' ) + // InternalExport.g:5469:10: lv_explicitStatic_3_0= '::' + { + lv_explicitStatic_3_0=(Token)match(input,41,FOLLOW_79); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitStatic_3_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed(current, "explicitStatic", lv_explicitStatic_3_0 != null, "::"); + + } + + } + + + } + + + } + break; + + } + + // InternalExport.g:5482:7: ( ( ruleFeatureCallID ) ) + // InternalExport.g:5483:8: ( ruleFeatureCallID ) + { + // InternalExport.g:5483:8: ( ruleFeatureCallID ) + // InternalExport.g:5484:9: ruleFeatureCallID + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); + + } + pushFollow(FOLLOW_31); + ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); + + } + pushFollow(FOLLOW_64); + ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:5507:5: ( (lv_value_6_0= ruleXAssignment ) ) + // InternalExport.g:5508:6: (lv_value_6_0= ruleXAssignment ) + { + // InternalExport.g:5508:6: (lv_value_6_0= ruleXAssignment ) + // InternalExport.g:5509:7: lv_value_6_0= ruleXAssignment + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); + + } + pushFollow(FOLLOW_78); + lv_value_6_0=ruleXAssignment(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + set( + current, + "value", + lv_value_6_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalExport.g:5528:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) + { + // InternalExport.g:5528:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) + // InternalExport.g:5529:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? + { + // InternalExport.g:5529:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) + // InternalExport.g:5530:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) + { + // InternalExport.g:5550:6: ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) + // InternalExport.g:5551:7: () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) + { + // InternalExport.g:5551:7: () + // InternalExport.g:5552:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(), + current); + + } + + } + + // InternalExport.g:5558:7: (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) + int alt90=3; + switch ( input.LA(1) ) { + case 65: + { + alt90=1; + } + break; + case 101: + { + alt90=2; + } + break; + case 41: + { + alt90=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 90, 0, input); + + throw nvae; + } + + switch (alt90) { + case 1 : + // InternalExport.g:5559:8: otherlv_8= '.' + { + otherlv_8=(Token)match(input,65,FOLLOW_80); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); + + } + + } + break; + case 2 : + // InternalExport.g:5564:8: ( (lv_nullSafe_9_0= '?.' ) ) + { + // InternalExport.g:5564:8: ( (lv_nullSafe_9_0= '?.' ) ) + // InternalExport.g:5565:9: (lv_nullSafe_9_0= '?.' ) + { + // InternalExport.g:5565:9: (lv_nullSafe_9_0= '?.' ) + // InternalExport.g:5566:10: lv_nullSafe_9_0= '?.' + { + lv_nullSafe_9_0=(Token)match(input,101,FOLLOW_80); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_nullSafe_9_0, grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed(current, "nullSafe", lv_nullSafe_9_0 != null, "?."); + + } + + } + + + } + + + } + break; + case 3 : + // InternalExport.g:5579:8: ( (lv_explicitStatic_10_0= '::' ) ) + { + // InternalExport.g:5579:8: ( (lv_explicitStatic_10_0= '::' ) ) + // InternalExport.g:5580:9: (lv_explicitStatic_10_0= '::' ) + { + // InternalExport.g:5580:9: (lv_explicitStatic_10_0= '::' ) + // InternalExport.g:5581:10: lv_explicitStatic_10_0= '::' + { + lv_explicitStatic_10_0=(Token)match(input,41,FOLLOW_80); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitStatic_10_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed(current, "explicitStatic", lv_explicitStatic_10_0 != null, "::"); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + // InternalExport.g:5596:5: (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? + int alt92=2; + int LA92_0 = input.LA(1); + + if ( (LA92_0==60) ) { + alt92=1; + } + switch (alt92) { + case 1 : + // InternalExport.g:5597:6: otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' + { + otherlv_11=(Token)match(input,60,FOLLOW_81); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); + + } + // InternalExport.g:5601:6: ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) + // InternalExport.g:5602:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) + { + // InternalExport.g:5602:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) + // InternalExport.g:5603:8: lv_typeArguments_12_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); + + } + pushFollow(FOLLOW_82); + lv_typeArguments_12_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_12_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:5620:6: (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* + loop91: + do { + int alt91=2; + int LA91_0 = input.LA(1); + + if ( (LA91_0==25) ) { + alt91=1; + } + + + switch (alt91) { + case 1 : + // InternalExport.g:5621:7: otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) + { + otherlv_13=(Token)match(input,25,FOLLOW_81); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); + + } + // InternalExport.g:5625:7: ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) + // InternalExport.g:5626:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) + { + // InternalExport.g:5626:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) + // InternalExport.g:5627:9: lv_typeArguments_14_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); + + } + pushFollow(FOLLOW_82); + lv_typeArguments_14_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_14_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop91; + } + } while (true); + + otherlv_15=(Token)match(input,59,FOLLOW_80); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); + + } + + } + break; + + } + + // InternalExport.g:5650:5: ( ( ruleIdOrSuper ) ) + // InternalExport.g:5651:6: ( ruleIdOrSuper ) + { + // InternalExport.g:5651:6: ( ruleIdOrSuper ) + // InternalExport.g:5652:7: ruleIdOrSuper + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); + + } + pushFollow(FOLLOW_83); + ruleIdOrSuper(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:5666:5: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? + int alt95=2; + alt95 = dfa95.predict(input); + switch (alt95) { + case 1 : + // InternalExport.g:5667:6: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' + { + // InternalExport.g:5667:6: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) + // InternalExport.g:5668:7: ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) + { + // InternalExport.g:5672:7: (lv_explicitOperationCall_17_0= '(' ) + // InternalExport.g:5673:8: lv_explicitOperationCall_17_0= '(' + { + lv_explicitOperationCall_17_0=(Token)match(input,30,FOLLOW_84); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitOperationCall_17_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed(current, "explicitOperationCall", lv_explicitOperationCall_17_0 != null, "("); + + } + + } + + + } + + // InternalExport.g:5685:6: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? + int alt94=3; + alt94 = dfa94.predict(input); + switch (alt94) { + case 1 : + // InternalExport.g:5686:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) + { + // InternalExport.g:5686:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) + // InternalExport.g:5687:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) + { + // InternalExport.g:5712:8: (lv_memberCallArguments_18_0= ruleXShortClosure ) + // InternalExport.g:5713:9: lv_memberCallArguments_18_0= ruleXShortClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); + + } + pushFollow(FOLLOW_24); + lv_memberCallArguments_18_0=ruleXShortClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "memberCallArguments", + lv_memberCallArguments_18_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + case 2 : + // InternalExport.g:5731:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) + { + // InternalExport.g:5731:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) + // InternalExport.g:5732:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* + { + // InternalExport.g:5732:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) + // InternalExport.g:5733:9: (lv_memberCallArguments_19_0= ruleXExpression ) + { + // InternalExport.g:5733:9: (lv_memberCallArguments_19_0= ruleXExpression ) + // InternalExport.g:5734:10: lv_memberCallArguments_19_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); + + } + pushFollow(FOLLOW_57); + lv_memberCallArguments_19_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "memberCallArguments", + lv_memberCallArguments_19_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:5751:8: (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* + loop93: + do { + int alt93=2; + int LA93_0 = input.LA(1); + + if ( (LA93_0==25) ) { + alt93=1; + } + + + switch (alt93) { + case 1 : + // InternalExport.g:5752:9: otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) + { + otherlv_20=(Token)match(input,25,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); + + } + // InternalExport.g:5756:9: ( (lv_memberCallArguments_21_0= ruleXExpression ) ) + // InternalExport.g:5757:10: (lv_memberCallArguments_21_0= ruleXExpression ) + { + // InternalExport.g:5757:10: (lv_memberCallArguments_21_0= ruleXExpression ) + // InternalExport.g:5758:11: lv_memberCallArguments_21_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); + + } + pushFollow(FOLLOW_57); + lv_memberCallArguments_21_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "memberCallArguments", + lv_memberCallArguments_21_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop93; + } + } while (true); + + + } + + + } + break; + + } + + otherlv_22=(Token)match(input,31,FOLLOW_85); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); + + } + + } + break; + + } + + // InternalExport.g:5783:5: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? + int alt96=2; + alt96 = dfa96.predict(input); + switch (alt96) { + case 1 : + // InternalExport.g:5784:6: ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) + { + // InternalExport.g:5790:6: (lv_memberCallArguments_23_0= ruleXClosure ) + // InternalExport.g:5791:7: lv_memberCallArguments_23_0= ruleXClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); + + } + pushFollow(FOLLOW_78); + lv_memberCallArguments_23_0=ruleXClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "memberCallArguments", + lv_memberCallArguments_23_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + + } + + + } + break; + + default : + break loop97; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXMemberFeatureCall" + + + // $ANTLR start "entryRuleXPrimaryExpression" + // InternalExport.g:5814:1: entryRuleXPrimaryExpression returns [EObject current=null] : iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ; + public final EObject entryRuleXPrimaryExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXPrimaryExpression = null; + + + try { + // InternalExport.g:5814:59: (iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ) + // InternalExport.g:5815:2: iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXPrimaryExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXPrimaryExpression=ruleXPrimaryExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXPrimaryExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXPrimaryExpression" + + + // $ANTLR start "ruleXPrimaryExpression" + // InternalExport.g:5821:1: ruleXPrimaryExpression returns [EObject current=null] : (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) ; + public final EObject ruleXPrimaryExpression() throws RecognitionException { + EObject current = null; + + EObject this_XConstructorCall_0 = null; + + EObject this_XBlockExpression_1 = null; + + EObject this_XSwitchExpression_2 = null; + + EObject this_XSynchronizedExpression_3 = null; + + EObject this_XFeatureCall_4 = null; + + EObject this_XLiteral_5 = null; + + EObject this_XIfExpression_6 = null; + + EObject this_XForLoopExpression_7 = null; + + EObject this_XBasicForLoopExpression_8 = null; + + EObject this_XWhileExpression_9 = null; + + EObject this_XDoWhileExpression_10 = null; + + EObject this_XThrowExpression_11 = null; + + EObject this_XReturnExpression_12 = null; + + EObject this_XTryCatchFinallyExpression_13 = null; + + EObject this_XParenthesizedExpression_14 = null; + + + + enterRule(); + + try { + // InternalExport.g:5827:2: ( (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) ) + // InternalExport.g:5828:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) + { + // InternalExport.g:5828:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) + int alt98=15; + alt98 = dfa98.predict(input); + switch (alt98) { + case 1 : + // InternalExport.g:5829:3: this_XConstructorCall_0= ruleXConstructorCall + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_XConstructorCall_0=ruleXConstructorCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XConstructorCall_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalExport.g:5838:3: this_XBlockExpression_1= ruleXBlockExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XBlockExpression_1=ruleXBlockExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XBlockExpression_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalExport.g:5847:3: this_XSwitchExpression_2= ruleXSwitchExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); + + } + pushFollow(FOLLOW_2); + this_XSwitchExpression_2=ruleXSwitchExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XSwitchExpression_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 4 : + // InternalExport.g:5856:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) + { + // InternalExport.g:5856:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) + // InternalExport.g:5857:4: ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); + + } + pushFollow(FOLLOW_2); + this_XSynchronizedExpression_3=ruleXSynchronizedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XSynchronizedExpression_3; + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + case 5 : + // InternalExport.g:5874:3: this_XFeatureCall_4= ruleXFeatureCall + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); + + } + pushFollow(FOLLOW_2); + this_XFeatureCall_4=ruleXFeatureCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XFeatureCall_4; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 6 : + // InternalExport.g:5883:3: this_XLiteral_5= ruleXLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); + + } + pushFollow(FOLLOW_2); + this_XLiteral_5=ruleXLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XLiteral_5; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 7 : + // InternalExport.g:5892:3: this_XIfExpression_6= ruleXIfExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); + + } + pushFollow(FOLLOW_2); + this_XIfExpression_6=ruleXIfExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XIfExpression_6; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 8 : + // InternalExport.g:5901:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) + { + // InternalExport.g:5901:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) + // InternalExport.g:5902:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); + + } + pushFollow(FOLLOW_2); + this_XForLoopExpression_7=ruleXForLoopExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XForLoopExpression_7; + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + case 9 : + // InternalExport.g:5925:3: this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); + + } + pushFollow(FOLLOW_2); + this_XBasicForLoopExpression_8=ruleXBasicForLoopExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XBasicForLoopExpression_8; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 10 : + // InternalExport.g:5934:3: this_XWhileExpression_9= ruleXWhileExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); + + } + pushFollow(FOLLOW_2); + this_XWhileExpression_9=ruleXWhileExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XWhileExpression_9; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 11 : + // InternalExport.g:5943:3: this_XDoWhileExpression_10= ruleXDoWhileExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); + + } + pushFollow(FOLLOW_2); + this_XDoWhileExpression_10=ruleXDoWhileExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XDoWhileExpression_10; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 12 : + // InternalExport.g:5952:3: this_XThrowExpression_11= ruleXThrowExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); + + } + pushFollow(FOLLOW_2); + this_XThrowExpression_11=ruleXThrowExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XThrowExpression_11; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 13 : + // InternalExport.g:5961:3: this_XReturnExpression_12= ruleXReturnExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); + + } + pushFollow(FOLLOW_2); + this_XReturnExpression_12=ruleXReturnExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XReturnExpression_12; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 14 : + // InternalExport.g:5970:3: this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); + + } + pushFollow(FOLLOW_2); + this_XTryCatchFinallyExpression_13=ruleXTryCatchFinallyExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XTryCatchFinallyExpression_13; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 15 : + // InternalExport.g:5979:3: this_XParenthesizedExpression_14= ruleXParenthesizedExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); + + } + pushFollow(FOLLOW_2); + this_XParenthesizedExpression_14=ruleXParenthesizedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XParenthesizedExpression_14; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXPrimaryExpression" + + + // $ANTLR start "entryRuleXLiteral" + // InternalExport.g:5991:1: entryRuleXLiteral returns [EObject current=null] : iv_ruleXLiteral= ruleXLiteral EOF ; + public final EObject entryRuleXLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXLiteral = null; + + + try { + // InternalExport.g:5991:49: (iv_ruleXLiteral= ruleXLiteral EOF ) + // InternalExport.g:5992:2: iv_ruleXLiteral= ruleXLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXLiteral=ruleXLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXLiteral" + + + // $ANTLR start "ruleXLiteral" + // InternalExport.g:5998:1: ruleXLiteral returns [EObject current=null] : (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) ; + public final EObject ruleXLiteral() throws RecognitionException { + EObject current = null; + + EObject this_XCollectionLiteral_0 = null; + + EObject this_XClosure_1 = null; + + EObject this_XBooleanLiteral_2 = null; + + EObject this_XNumberLiteral_3 = null; + + EObject this_XNullLiteral_4 = null; + + EObject this_XStringLiteral_5 = null; + + EObject this_XTypeLiteral_6 = null; + + + + enterRule(); + + try { + // InternalExport.g:6004:2: ( (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) ) + // InternalExport.g:6005:2: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) + { + // InternalExport.g:6005:2: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) + int alt99=7; + int LA99_0 = input.LA(1); + + if ( (LA99_0==102) ) { + alt99=1; + } + else if ( (LA99_0==22) && (synpred23_InternalExport())) { + alt99=2; + } + else if ( ((LA99_0>=76 && LA99_0<=77)) ) { + alt99=3; + } + else if ( (LA99_0==RULE_INT||(LA99_0>=RULE_HEX && LA99_0<=RULE_DECIMAL)) ) { + alt99=4; + } + else if ( (LA99_0==78) ) { + alt99=5; + } + else if ( (LA99_0==RULE_STRING) ) { + alt99=6; + } + else if ( (LA99_0==110) ) { + alt99=7; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 99, 0, input); + + throw nvae; + } + switch (alt99) { + case 1 : + // InternalExport.g:6006:3: this_XCollectionLiteral_0= ruleXCollectionLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_XCollectionLiteral_0=ruleXCollectionLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XCollectionLiteral_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalExport.g:6015:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) + { + // InternalExport.g:6015:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) + // InternalExport.g:6016:4: ( ( () '[' ) )=>this_XClosure_1= ruleXClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XClosure_1=ruleXClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XClosure_1; + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + case 3 : + // InternalExport.g:6032:3: this_XBooleanLiteral_2= ruleXBooleanLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); + + } + pushFollow(FOLLOW_2); + this_XBooleanLiteral_2=ruleXBooleanLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XBooleanLiteral_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 4 : + // InternalExport.g:6041:3: this_XNumberLiteral_3= ruleXNumberLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); + + } + pushFollow(FOLLOW_2); + this_XNumberLiteral_3=ruleXNumberLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XNumberLiteral_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 5 : + // InternalExport.g:6050:3: this_XNullLiteral_4= ruleXNullLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); + + } + pushFollow(FOLLOW_2); + this_XNullLiteral_4=ruleXNullLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XNullLiteral_4; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 6 : + // InternalExport.g:6059:3: this_XStringLiteral_5= ruleXStringLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); + + } + pushFollow(FOLLOW_2); + this_XStringLiteral_5=ruleXStringLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XStringLiteral_5; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 7 : + // InternalExport.g:6068:3: this_XTypeLiteral_6= ruleXTypeLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); + + } + pushFollow(FOLLOW_2); + this_XTypeLiteral_6=ruleXTypeLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XTypeLiteral_6; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXLiteral" + + + // $ANTLR start "entryRuleXCollectionLiteral" + // InternalExport.g:6080:1: entryRuleXCollectionLiteral returns [EObject current=null] : iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ; + public final EObject entryRuleXCollectionLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXCollectionLiteral = null; + + + try { + // InternalExport.g:6080:59: (iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ) + // InternalExport.g:6081:2: iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXCollectionLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXCollectionLiteral=ruleXCollectionLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXCollectionLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXCollectionLiteral" + + + // $ANTLR start "ruleXCollectionLiteral" + // InternalExport.g:6087:1: ruleXCollectionLiteral returns [EObject current=null] : (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ; + public final EObject ruleXCollectionLiteral() throws RecognitionException { + EObject current = null; + + EObject this_XSetLiteral_0 = null; + + EObject this_XListLiteral_1 = null; + + + + enterRule(); + + try { + // InternalExport.g:6093:2: ( (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ) + // InternalExport.g:6094:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) + { + // InternalExport.g:6094:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) + int alt100=2; + int LA100_0 = input.LA(1); + + if ( (LA100_0==102) ) { + int LA100_1 = input.LA(2); + + if ( (LA100_1==22) ) { + alt100=2; + } + else if ( (LA100_1==18) ) { + alt100=1; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 100, 1, input); + + throw nvae; + } + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 100, 0, input); + + throw nvae; + } + switch (alt100) { + case 1 : + // InternalExport.g:6095:3: this_XSetLiteral_0= ruleXSetLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_XSetLiteral_0=ruleXSetLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XSetLiteral_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalExport.g:6104:3: this_XListLiteral_1= ruleXListLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XListLiteral_1=ruleXListLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XListLiteral_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXCollectionLiteral" + + + // $ANTLR start "entryRuleXSetLiteral" + // InternalExport.g:6116:1: entryRuleXSetLiteral returns [EObject current=null] : iv_ruleXSetLiteral= ruleXSetLiteral EOF ; + public final EObject entryRuleXSetLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXSetLiteral = null; + + + try { + // InternalExport.g:6116:52: (iv_ruleXSetLiteral= ruleXSetLiteral EOF ) + // InternalExport.g:6117:2: iv_ruleXSetLiteral= ruleXSetLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXSetLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXSetLiteral=ruleXSetLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXSetLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXSetLiteral" + + + // $ANTLR start "ruleXSetLiteral" + // InternalExport.g:6123:1: ruleXSetLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ; + public final EObject ruleXSetLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_elements_3_0 = null; + + EObject lv_elements_5_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:6129:2: ( ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ) + // InternalExport.g:6130:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) + { + // InternalExport.g:6130:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) + // InternalExport.g:6131:3: () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' + { + // InternalExport.g:6131:3: () + // InternalExport.g:6132:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,102,FOLLOW_9); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); + + } + otherlv_2=(Token)match(input,18,FOLLOW_86); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); + + } + // InternalExport.g:6146:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? + int alt102=2; + int LA102_0 = input.LA(1); + + if ( ((LA102_0>=RULE_ID && LA102_0<=RULE_INT)||(LA102_0>=RULE_HEX && LA102_0<=RULE_DECIMAL)||(LA102_0>=15 && LA102_0<=16)||LA102_0==18||LA102_0==20||LA102_0==22||LA102_0==27||LA102_0==30||LA102_0==46||LA102_0==49||(LA102_0>=60 && LA102_0<=61)||LA102_0==64||(LA102_0>=76 && LA102_0<=78)||LA102_0==80||(LA102_0>=102 && LA102_0<=104)||(LA102_0>=107 && LA102_0<=113)||LA102_0==115) ) { + alt102=1; + } + switch (alt102) { + case 1 : + // InternalExport.g:6147:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* + { + // InternalExport.g:6147:4: ( (lv_elements_3_0= ruleXExpression ) ) + // InternalExport.g:6148:5: (lv_elements_3_0= ruleXExpression ) + { + // InternalExport.g:6148:5: (lv_elements_3_0= ruleXExpression ) + // InternalExport.g:6149:6: lv_elements_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + + } + pushFollow(FOLLOW_62); + lv_elements_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSetLiteralRule()); + } + add( + current, + "elements", + lv_elements_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:6166:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* + loop101: + do { + int alt101=2; + int LA101_0 = input.LA(1); + + if ( (LA101_0==25) ) { + alt101=1; + } + + + switch (alt101) { + case 1 : + // InternalExport.g:6167:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) + { + otherlv_4=(Token)match(input,25,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); + + } + // InternalExport.g:6171:5: ( (lv_elements_5_0= ruleXExpression ) ) + // InternalExport.g:6172:6: (lv_elements_5_0= ruleXExpression ) + { + // InternalExport.g:6172:6: (lv_elements_5_0= ruleXExpression ) + // InternalExport.g:6173:7: lv_elements_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + + } + pushFollow(FOLLOW_62); + lv_elements_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSetLiteralRule()); + } + add( + current, + "elements", + lv_elements_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop101; + } + } while (true); + + + } + break; + + } + + otherlv_6=(Token)match(input,19,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXSetLiteral" + + + // $ANTLR start "entryRuleXListLiteral" + // InternalExport.g:6200:1: entryRuleXListLiteral returns [EObject current=null] : iv_ruleXListLiteral= ruleXListLiteral EOF ; + public final EObject entryRuleXListLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXListLiteral = null; + + + try { + // InternalExport.g:6200:53: (iv_ruleXListLiteral= ruleXListLiteral EOF ) + // InternalExport.g:6201:2: iv_ruleXListLiteral= ruleXListLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXListLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXListLiteral=ruleXListLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXListLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXListLiteral" + + + // $ANTLR start "ruleXListLiteral" + // InternalExport.g:6207:1: ruleXListLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) ; + public final EObject ruleXListLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_elements_3_0 = null; + + EObject lv_elements_5_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:6213:2: ( ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) ) + // InternalExport.g:6214:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) + { + // InternalExport.g:6214:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) + // InternalExport.g:6215:3: () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' + { + // InternalExport.g:6215:3: () + // InternalExport.g:6216:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXListLiteralAccess().getXListLiteralAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,102,FOLLOW_63); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); + + } + otherlv_2=(Token)match(input,22,FOLLOW_87); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); + + } + // InternalExport.g:6230:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? + int alt104=2; + int LA104_0 = input.LA(1); + + if ( ((LA104_0>=RULE_ID && LA104_0<=RULE_INT)||(LA104_0>=RULE_HEX && LA104_0<=RULE_DECIMAL)||(LA104_0>=15 && LA104_0<=16)||LA104_0==18||LA104_0==20||LA104_0==22||LA104_0==27||LA104_0==30||LA104_0==46||LA104_0==49||(LA104_0>=60 && LA104_0<=61)||LA104_0==64||(LA104_0>=76 && LA104_0<=78)||LA104_0==80||(LA104_0>=102 && LA104_0<=104)||(LA104_0>=107 && LA104_0<=113)||LA104_0==115) ) { + alt104=1; + } + switch (alt104) { + case 1 : + // InternalExport.g:6231:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* + { + // InternalExport.g:6231:4: ( (lv_elements_3_0= ruleXExpression ) ) + // InternalExport.g:6232:5: (lv_elements_3_0= ruleXExpression ) + { + // InternalExport.g:6232:5: (lv_elements_3_0= ruleXExpression ) + // InternalExport.g:6233:6: lv_elements_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + + } + pushFollow(FOLLOW_88); + lv_elements_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXListLiteralRule()); + } + add( + current, + "elements", + lv_elements_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:6250:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* + loop103: + do { + int alt103=2; + int LA103_0 = input.LA(1); + + if ( (LA103_0==25) ) { + alt103=1; + } + + + switch (alt103) { + case 1 : + // InternalExport.g:6251:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) + { + otherlv_4=(Token)match(input,25,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); + + } + // InternalExport.g:6255:5: ( (lv_elements_5_0= ruleXExpression ) ) + // InternalExport.g:6256:6: (lv_elements_5_0= ruleXExpression ) + { + // InternalExport.g:6256:6: (lv_elements_5_0= ruleXExpression ) + // InternalExport.g:6257:7: lv_elements_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + + } + pushFollow(FOLLOW_88); + lv_elements_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXListLiteralRule()); + } + add( + current, + "elements", + lv_elements_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop103; + } + } while (true); + + + } + break; + + } + + otherlv_6=(Token)match(input,23,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXListLiteral" + + + // $ANTLR start "entryRuleXClosure" + // InternalExport.g:6284:1: entryRuleXClosure returns [EObject current=null] : iv_ruleXClosure= ruleXClosure EOF ; + public final EObject entryRuleXClosure() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXClosure = null; + + + try { + // InternalExport.g:6284:49: (iv_ruleXClosure= ruleXClosure EOF ) + // InternalExport.g:6285:2: iv_ruleXClosure= ruleXClosure EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXClosureRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXClosure=ruleXClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXClosure; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXClosure" + + + // $ANTLR start "ruleXClosure" + // InternalExport.g:6291:1: ruleXClosure returns [EObject current=null] : ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) ; + public final EObject ruleXClosure() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token lv_explicitSyntax_5_0=null; + Token otherlv_7=null; + EObject lv_declaredFormalParameters_2_0 = null; + + EObject lv_declaredFormalParameters_4_0 = null; + + EObject lv_expression_6_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:6297:2: ( ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) ) + // InternalExport.g:6298:2: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) + { + // InternalExport.g:6298:2: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) + // InternalExport.g:6299:3: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' + { + // InternalExport.g:6299:3: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) + // InternalExport.g:6300:4: ( ( () '[' ) )=> ( () otherlv_1= '[' ) + { + // InternalExport.g:6306:4: ( () otherlv_1= '[' ) + // InternalExport.g:6307:5: () otherlv_1= '[' + { + // InternalExport.g:6307:5: () + // InternalExport.g:6308:6: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXClosureAccess().getXClosureAction_0_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,22,FOLLOW_89); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); + + } + + } + + + } + + // InternalExport.g:6320:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? + int alt107=2; + alt107 = dfa107.predict(input); + switch (alt107) { + case 1 : + // InternalExport.g:6321:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) + { + // InternalExport.g:6344:4: ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) + // InternalExport.g:6345:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) + { + // InternalExport.g:6345:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? + int alt106=2; + int LA106_0 = input.LA(1); + + if ( (LA106_0==RULE_ID||LA106_0==30||LA106_0==94) ) { + alt106=1; + } + switch (alt106) { + case 1 : + // InternalExport.g:6346:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* + { + // InternalExport.g:6346:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) + // InternalExport.g:6347:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) + { + // InternalExport.g:6347:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) + // InternalExport.g:6348:8: lv_declaredFormalParameters_2_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); + + } + pushFollow(FOLLOW_90); + lv_declaredFormalParameters_2_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + add( + current, + "declaredFormalParameters", + lv_declaredFormalParameters_2_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:6365:6: (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* + loop105: + do { + int alt105=2; + int LA105_0 = input.LA(1); + + if ( (LA105_0==25) ) { + alt105=1; + } + + + switch (alt105) { + case 1 : + // InternalExport.g:6366:7: otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) + { + otherlv_3=(Token)match(input,25,FOLLOW_71); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); + + } + // InternalExport.g:6370:7: ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) + // InternalExport.g:6371:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) + { + // InternalExport.g:6371:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) + // InternalExport.g:6372:9: lv_declaredFormalParameters_4_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); + + } + pushFollow(FOLLOW_90); + lv_declaredFormalParameters_4_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + add( + current, + "declaredFormalParameters", + lv_declaredFormalParameters_4_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop105; + } + } while (true); + + + } + break; + + } + + // InternalExport.g:6391:5: ( (lv_explicitSyntax_5_0= '|' ) ) + // InternalExport.g:6392:6: (lv_explicitSyntax_5_0= '|' ) + { + // InternalExport.g:6392:6: (lv_explicitSyntax_5_0= '|' ) + // InternalExport.g:6393:7: lv_explicitSyntax_5_0= '|' + { + lv_explicitSyntax_5_0=(Token)match(input,75,FOLLOW_91); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitSyntax_5_0, grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXClosureRule()); + } + setWithLastConsumed(current, "explicitSyntax", lv_explicitSyntax_5_0 != null, "|"); + + } + + } + + + } + + + } + + + } + break; + + } + + // InternalExport.g:6407:3: ( (lv_expression_6_0= ruleXExpressionInClosure ) ) + // InternalExport.g:6408:4: (lv_expression_6_0= ruleXExpressionInClosure ) + { + // InternalExport.g:6408:4: (lv_expression_6_0= ruleXExpressionInClosure ) + // InternalExport.g:6409:5: lv_expression_6_0= ruleXExpressionInClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_16); + lv_expression_6_0=ruleXExpressionInClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + set( + current, + "expression", + lv_expression_6_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionInClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_7=(Token)match(input,23,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXClosure" + + + // $ANTLR start "entryRuleXExpressionInClosure" + // InternalExport.g:6434:1: entryRuleXExpressionInClosure returns [EObject current=null] : iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ; + public final EObject entryRuleXExpressionInClosure() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXExpressionInClosure = null; + + + try { + // InternalExport.g:6434:61: (iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ) + // InternalExport.g:6435:2: iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXExpressionInClosureRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXExpressionInClosure=ruleXExpressionInClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXExpressionInClosure; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXExpressionInClosure" + + + // $ANTLR start "ruleXExpressionInClosure" + // InternalExport.g:6441:1: ruleXExpressionInClosure returns [EObject current=null] : ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) ; + public final EObject ruleXExpressionInClosure() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject lv_expressions_1_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:6447:2: ( ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) ) + // InternalExport.g:6448:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) + { + // InternalExport.g:6448:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) + // InternalExport.g:6449:3: () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* + { + // InternalExport.g:6449:3: () + // InternalExport.g:6450:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0(), + current); + + } + + } + + // InternalExport.g:6456:3: ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* + loop109: + do { + int alt109=2; + int LA109_0 = input.LA(1); + + if ( ((LA109_0>=RULE_ID && LA109_0<=RULE_INT)||(LA109_0>=RULE_HEX && LA109_0<=RULE_DECIMAL)||(LA109_0>=15 && LA109_0<=16)||LA109_0==18||LA109_0==20||LA109_0==22||LA109_0==27||LA109_0==30||LA109_0==46||LA109_0==49||(LA109_0>=60 && LA109_0<=61)||LA109_0==64||(LA109_0>=76 && LA109_0<=78)||LA109_0==80||(LA109_0>=102 && LA109_0<=113)||LA109_0==115) ) { + alt109=1; + } + + + switch (alt109) { + case 1 : + // InternalExport.g:6457:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? + { + // InternalExport.g:6457:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) + // InternalExport.g:6458:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) + { + // InternalExport.g:6458:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) + // InternalExport.g:6459:6: lv_expressions_1_0= ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); + + } + pushFollow(FOLLOW_92); + lv_expressions_1_0=ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXExpressionInClosureRule()); + } + add( + current, + "expressions", + lv_expressions_1_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:6476:4: (otherlv_2= ';' )? + int alt108=2; + int LA108_0 = input.LA(1); + + if ( (LA108_0==26) ) { + alt108=1; + } + switch (alt108) { + case 1 : + // InternalExport.g:6477:5: otherlv_2= ';' + { + otherlv_2=(Token)match(input,26,FOLLOW_93); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); + + } + + } + break; + + } + + + } + break; + + default : + break loop109; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXExpressionInClosure" + + + // $ANTLR start "entryRuleXShortClosure" + // InternalExport.g:6487:1: entryRuleXShortClosure returns [EObject current=null] : iv_ruleXShortClosure= ruleXShortClosure EOF ; + public final EObject entryRuleXShortClosure() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXShortClosure = null; + + + try { + // InternalExport.g:6487:54: (iv_ruleXShortClosure= ruleXShortClosure EOF ) + // InternalExport.g:6488:2: iv_ruleXShortClosure= ruleXShortClosure EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXShortClosureRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXShortClosure=ruleXShortClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXShortClosure; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXShortClosure" + + + // $ANTLR start "ruleXShortClosure" + // InternalExport.g:6494:1: ruleXShortClosure returns [EObject current=null] : ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) ; + public final EObject ruleXShortClosure() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + Token lv_explicitSyntax_4_0=null; + EObject lv_declaredFormalParameters_1_0 = null; + + EObject lv_declaredFormalParameters_3_0 = null; + + EObject lv_expression_5_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:6500:2: ( ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) ) + // InternalExport.g:6501:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) + { + // InternalExport.g:6501:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) + // InternalExport.g:6502:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) + { + // InternalExport.g:6502:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) + // InternalExport.g:6503:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) + { + // InternalExport.g:6528:4: ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) + // InternalExport.g:6529:5: () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) + { + // InternalExport.g:6529:5: () + // InternalExport.g:6530:6: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0(), + current); + + } + + } + + // InternalExport.g:6536:5: ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? + int alt111=2; + int LA111_0 = input.LA(1); + + if ( (LA111_0==RULE_ID||LA111_0==30||LA111_0==94) ) { + alt111=1; + } + switch (alt111) { + case 1 : + // InternalExport.g:6537:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* + { + // InternalExport.g:6537:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) + // InternalExport.g:6538:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) + { + // InternalExport.g:6538:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) + // InternalExport.g:6539:8: lv_declaredFormalParameters_1_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); + + } + pushFollow(FOLLOW_90); + lv_declaredFormalParameters_1_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + add( + current, + "declaredFormalParameters", + lv_declaredFormalParameters_1_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:6556:6: (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* + loop110: + do { + int alt110=2; + int LA110_0 = input.LA(1); + + if ( (LA110_0==25) ) { + alt110=1; + } + + + switch (alt110) { + case 1 : + // InternalExport.g:6557:7: otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) + { + otherlv_2=(Token)match(input,25,FOLLOW_71); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); + + } + // InternalExport.g:6561:7: ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) + // InternalExport.g:6562:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) + { + // InternalExport.g:6562:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) + // InternalExport.g:6563:9: lv_declaredFormalParameters_3_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); + + } + pushFollow(FOLLOW_90); + lv_declaredFormalParameters_3_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + add( + current, + "declaredFormalParameters", + lv_declaredFormalParameters_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop110; + } + } while (true); + + + } + break; + + } + + // InternalExport.g:6582:5: ( (lv_explicitSyntax_4_0= '|' ) ) + // InternalExport.g:6583:6: (lv_explicitSyntax_4_0= '|' ) + { + // InternalExport.g:6583:6: (lv_explicitSyntax_4_0= '|' ) + // InternalExport.g:6584:7: lv_explicitSyntax_4_0= '|' + { + lv_explicitSyntax_4_0=(Token)match(input,75,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitSyntax_4_0, grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXShortClosureRule()); + } + setWithLastConsumed(current, "explicitSyntax", lv_explicitSyntax_4_0 != null, "|"); + + } + + } + + + } + + + } + + + } + + // InternalExport.g:6598:3: ( (lv_expression_5_0= ruleXExpression ) ) + // InternalExport.g:6599:4: (lv_expression_5_0= ruleXExpression ) + { + // InternalExport.g:6599:4: (lv_expression_5_0= ruleXExpression ) + // InternalExport.g:6600:5: lv_expression_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_expression_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + set( + current, + "expression", + lv_expression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXShortClosure" + + + // $ANTLR start "entryRuleXParenthesizedExpression" + // InternalExport.g:6621:1: entryRuleXParenthesizedExpression returns [EObject current=null] : iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ; + public final EObject entryRuleXParenthesizedExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXParenthesizedExpression = null; + + + try { + // InternalExport.g:6621:65: (iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ) + // InternalExport.g:6622:2: iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXParenthesizedExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXParenthesizedExpression=ruleXParenthesizedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXParenthesizedExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXParenthesizedExpression" + + + // $ANTLR start "ruleXParenthesizedExpression" + // InternalExport.g:6628:1: ruleXParenthesizedExpression returns [EObject current=null] : (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) ; + public final EObject ruleXParenthesizedExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + EObject this_XExpression_1 = null; + + + + enterRule(); + + try { + // InternalExport.g:6634:2: ( (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) ) + // InternalExport.g:6635:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) + { + // InternalExport.g:6635:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) + // InternalExport.g:6636:3: otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' + { + otherlv_0=(Token)match(input,30,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); + + } + pushFollow(FOLLOW_24); + this_XExpression_1=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XExpression_1; + afterParserOrEnumRuleCall(); + + } + otherlv_2=(Token)match(input,31,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXParenthesizedExpression" + + + // $ANTLR start "entryRuleXIfExpression" + // InternalExport.g:6656:1: entryRuleXIfExpression returns [EObject current=null] : iv_ruleXIfExpression= ruleXIfExpression EOF ; + public final EObject entryRuleXIfExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXIfExpression = null; + + + try { + // InternalExport.g:6656:54: (iv_ruleXIfExpression= ruleXIfExpression EOF ) + // InternalExport.g:6657:2: iv_ruleXIfExpression= ruleXIfExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXIfExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXIfExpression=ruleXIfExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXIfExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXIfExpression" + + + // $ANTLR start "ruleXIfExpression" + // InternalExport.g:6663:1: ruleXIfExpression returns [EObject current=null] : ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) ; + public final EObject ruleXIfExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_if_3_0 = null; + + EObject lv_then_5_0 = null; + + EObject lv_else_7_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:6669:2: ( ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) ) + // InternalExport.g:6670:2: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) + { + // InternalExport.g:6670:2: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) + // InternalExport.g:6671:3: () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? + { + // InternalExport.g:6671:3: () + // InternalExport.g:6672:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,46,FOLLOW_23); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); + + } + otherlv_2=(Token)match(input,30,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); + + } + // InternalExport.g:6686:3: ( (lv_if_3_0= ruleXExpression ) ) + // InternalExport.g:6687:4: (lv_if_3_0= ruleXExpression ) + { + // InternalExport.g:6687:4: (lv_if_3_0= ruleXExpression ) + // InternalExport.g:6688:5: lv_if_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_24); + lv_if_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + current, + "if", + lv_if_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,31,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); + + } + // InternalExport.g:6709:3: ( (lv_then_5_0= ruleXExpression ) ) + // InternalExport.g:6710:4: (lv_then_5_0= ruleXExpression ) + { + // InternalExport.g:6710:4: (lv_then_5_0= ruleXExpression ) + // InternalExport.g:6711:5: lv_then_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); + + } + pushFollow(FOLLOW_44); + lv_then_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + current, + "then", + lv_then_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:6728:3: ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? + int alt112=2; + int LA112_0 = input.LA(1); + + if ( (LA112_0==48) ) { + int LA112_1 = input.LA(2); + + if ( (synpred27_InternalExport()) ) { + alt112=1; + } + } + switch (alt112) { + case 1 : + // InternalExport.g:6729:4: ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) + { + // InternalExport.g:6729:4: ( ( 'else' )=>otherlv_6= 'else' ) + // InternalExport.g:6730:5: ( 'else' )=>otherlv_6= 'else' + { + otherlv_6=(Token)match(input,48,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); + + } + + } + + // InternalExport.g:6736:4: ( (lv_else_7_0= ruleXExpression ) ) + // InternalExport.g:6737:5: (lv_else_7_0= ruleXExpression ) + { + // InternalExport.g:6737:5: (lv_else_7_0= ruleXExpression ) + // InternalExport.g:6738:6: lv_else_7_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); + + } + pushFollow(FOLLOW_2); + lv_else_7_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + current, + "else", + lv_else_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXIfExpression" + + + // $ANTLR start "entryRuleXSwitchExpression" + // InternalExport.g:6760:1: entryRuleXSwitchExpression returns [EObject current=null] : iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ; + public final EObject entryRuleXSwitchExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXSwitchExpression = null; + + + try { + // InternalExport.g:6760:58: (iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ) + // InternalExport.g:6761:2: iv_ruleXSwitchExpression= ruleXSwitchExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXSwitchExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXSwitchExpression=ruleXSwitchExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXSwitchExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXSwitchExpression" + + + // $ANTLR start "ruleXSwitchExpression" + // InternalExport.g:6767:1: ruleXSwitchExpression returns [EObject current=null] : ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) ; + public final EObject ruleXSwitchExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_12=null; + Token otherlv_13=null; + Token otherlv_15=null; + EObject lv_declaredParam_3_0 = null; + + EObject lv_switch_5_0 = null; + + EObject lv_declaredParam_7_0 = null; + + EObject lv_switch_9_0 = null; + + EObject lv_cases_11_0 = null; + + EObject lv_default_14_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:6773:2: ( ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) ) + // InternalExport.g:6774:2: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) + { + // InternalExport.g:6774:2: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) + // InternalExport.g:6775:3: () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' + { + // InternalExport.g:6775:3: () + // InternalExport.g:6776:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,49,FOLLOW_94); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); + + } + // InternalExport.g:6786:3: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) + int alt114=2; + alt114 = dfa114.predict(input); + switch (alt114) { + case 1 : + // InternalExport.g:6787:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) + { + // InternalExport.g:6787:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) + // InternalExport.g:6788:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' + { + // InternalExport.g:6788:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) + // InternalExport.g:6789:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) + { + // InternalExport.g:6799:6: (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) + // InternalExport.g:6800:7: otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' + { + otherlv_2=(Token)match(input,30,FOLLOW_71); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); + + } + // InternalExport.g:6804:7: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) + // InternalExport.g:6805:8: (lv_declaredParam_3_0= ruleJvmFormalParameter ) + { + // InternalExport.g:6805:8: (lv_declaredParam_3_0= ruleJvmFormalParameter ) + // InternalExport.g:6806:9: lv_declaredParam_3_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); + + } + pushFollow(FOLLOW_39); + lv_declaredParam_3_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + current, + "declaredParam", + lv_declaredParam_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,43,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); + + } + + } + + + } + + // InternalExport.g:6829:5: ( (lv_switch_5_0= ruleXExpression ) ) + // InternalExport.g:6830:6: (lv_switch_5_0= ruleXExpression ) + { + // InternalExport.g:6830:6: (lv_switch_5_0= ruleXExpression ) + // InternalExport.g:6831:7: lv_switch_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); + + } + pushFollow(FOLLOW_24); + lv_switch_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + current, + "switch", + lv_switch_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_6=(Token)match(input,31,FOLLOW_9); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); + + } + + } + + + } + break; + case 2 : + // InternalExport.g:6854:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) + { + // InternalExport.g:6854:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) + // InternalExport.g:6855:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) + { + // InternalExport.g:6855:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? + int alt113=2; + alt113 = dfa113.predict(input); + switch (alt113) { + case 1 : + // InternalExport.g:6856:6: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) + { + // InternalExport.g:6865:6: ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) + // InternalExport.g:6866:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' + { + // InternalExport.g:6866:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) + // InternalExport.g:6867:8: (lv_declaredParam_7_0= ruleJvmFormalParameter ) + { + // InternalExport.g:6867:8: (lv_declaredParam_7_0= ruleJvmFormalParameter ) + // InternalExport.g:6868:9: lv_declaredParam_7_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); + + } + pushFollow(FOLLOW_39); + lv_declaredParam_7_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + current, + "declaredParam", + lv_declaredParam_7_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_8=(Token)match(input,43,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); + + } + + } + + + } + break; + + } + + // InternalExport.g:6891:5: ( (lv_switch_9_0= ruleXExpression ) ) + // InternalExport.g:6892:6: (lv_switch_9_0= ruleXExpression ) + { + // InternalExport.g:6892:6: (lv_switch_9_0= ruleXExpression ) + // InternalExport.g:6893:7: lv_switch_9_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); + + } + pushFollow(FOLLOW_9); + lv_switch_9_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + current, + "switch", + lv_switch_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + otherlv_10=(Token)match(input,18,FOLLOW_95); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); + + } + // InternalExport.g:6916:3: ( (lv_cases_11_0= ruleXCasePart ) )* + loop115: + do { + int alt115=2; + int LA115_0 = input.LA(1); + + if ( (LA115_0==RULE_ID||LA115_0==25||LA115_0==30||LA115_0==43||LA115_0==51||LA115_0==94) ) { + alt115=1; + } + + + switch (alt115) { + case 1 : + // InternalExport.g:6917:4: (lv_cases_11_0= ruleXCasePart ) + { + // InternalExport.g:6917:4: (lv_cases_11_0= ruleXCasePart ) + // InternalExport.g:6918:5: lv_cases_11_0= ruleXCasePart + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); + + } + pushFollow(FOLLOW_95); + lv_cases_11_0=ruleXCasePart(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + add( + current, + "cases", + lv_cases_11_0, + "org.eclipse.xtext.xbase.Xbase.XCasePart"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop115; + } + } while (true); + + // InternalExport.g:6935:3: (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? + int alt116=2; + int LA116_0 = input.LA(1); + + if ( (LA116_0==50) ) { + alt116=1; + } + switch (alt116) { + case 1 : + // InternalExport.g:6936:4: otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) + { + otherlv_12=(Token)match(input,50,FOLLOW_39); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_12, grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); + + } + otherlv_13=(Token)match(input,43,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_13, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); + + } + // InternalExport.g:6944:4: ( (lv_default_14_0= ruleXExpression ) ) + // InternalExport.g:6945:5: (lv_default_14_0= ruleXExpression ) + { + // InternalExport.g:6945:5: (lv_default_14_0= ruleXExpression ) + // InternalExport.g:6946:6: lv_default_14_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); + + } + pushFollow(FOLLOW_48); + lv_default_14_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + current, + "default", + lv_default_14_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + otherlv_15=(Token)match(input,19,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_15, grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXSwitchExpression" + + + // $ANTLR start "entryRuleXCasePart" + // InternalExport.g:6972:1: entryRuleXCasePart returns [EObject current=null] : iv_ruleXCasePart= ruleXCasePart EOF ; + public final EObject entryRuleXCasePart() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXCasePart = null; + + + try { + // InternalExport.g:6972:50: (iv_ruleXCasePart= ruleXCasePart EOF ) + // InternalExport.g:6973:2: iv_ruleXCasePart= ruleXCasePart EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXCasePartRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXCasePart=ruleXCasePart(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXCasePart; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXCasePart" + + + // $ANTLR start "ruleXCasePart" + // InternalExport.g:6979:1: ruleXCasePart returns [EObject current=null] : ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) ; + public final EObject ruleXCasePart() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + Token otherlv_4=null; + Token lv_fallThrough_6_0=null; + EObject lv_typeGuard_1_0 = null; + + EObject lv_case_3_0 = null; + + EObject lv_then_5_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:6985:2: ( ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) ) + // InternalExport.g:6986:2: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) + { + // InternalExport.g:6986:2: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) + // InternalExport.g:6987:3: () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) + { + // InternalExport.g:6987:3: () + // InternalExport.g:6988:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXCasePartAccess().getXCasePartAction_0(), + current); + + } + + } + + // InternalExport.g:6994:3: ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? + int alt117=2; + int LA117_0 = input.LA(1); + + if ( (LA117_0==RULE_ID||LA117_0==30||LA117_0==94) ) { + alt117=1; + } + switch (alt117) { + case 1 : + // InternalExport.g:6995:4: (lv_typeGuard_1_0= ruleJvmTypeReference ) + { + // InternalExport.g:6995:4: (lv_typeGuard_1_0= ruleJvmTypeReference ) + // InternalExport.g:6996:5: lv_typeGuard_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_96); + lv_typeGuard_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + current, + "typeGuard", + lv_typeGuard_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + // InternalExport.g:7013:3: (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? + int alt118=2; + int LA118_0 = input.LA(1); + + if ( (LA118_0==51) ) { + alt118=1; + } + switch (alt118) { + case 1 : + // InternalExport.g:7014:4: otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) + { + otherlv_2=(Token)match(input,51,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); + + } + // InternalExport.g:7018:4: ( (lv_case_3_0= ruleXExpression ) ) + // InternalExport.g:7019:5: (lv_case_3_0= ruleXExpression ) + { + // InternalExport.g:7019:5: (lv_case_3_0= ruleXExpression ) + // InternalExport.g:7020:6: lv_case_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); + + } + pushFollow(FOLLOW_97); + lv_case_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + current, + "case", + lv_case_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + // InternalExport.g:7038:3: ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) + int alt119=2; + int LA119_0 = input.LA(1); + + if ( (LA119_0==43) ) { + alt119=1; + } + else if ( (LA119_0==25) ) { + alt119=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 119, 0, input); + + throw nvae; + } + switch (alt119) { + case 1 : + // InternalExport.g:7039:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) + { + // InternalExport.g:7039:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) + // InternalExport.g:7040:5: otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) + { + otherlv_4=(Token)match(input,43,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); + + } + // InternalExport.g:7044:5: ( (lv_then_5_0= ruleXExpression ) ) + // InternalExport.g:7045:6: (lv_then_5_0= ruleXExpression ) + { + // InternalExport.g:7045:6: (lv_then_5_0= ruleXExpression ) + // InternalExport.g:7046:7: lv_then_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); + + } + pushFollow(FOLLOW_2); + lv_then_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + current, + "then", + lv_then_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalExport.g:7065:4: ( (lv_fallThrough_6_0= ',' ) ) + { + // InternalExport.g:7065:4: ( (lv_fallThrough_6_0= ',' ) ) + // InternalExport.g:7066:5: (lv_fallThrough_6_0= ',' ) + { + // InternalExport.g:7066:5: (lv_fallThrough_6_0= ',' ) + // InternalExport.g:7067:6: lv_fallThrough_6_0= ',' + { + lv_fallThrough_6_0=(Token)match(input,25,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_fallThrough_6_0, grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXCasePartRule()); + } + setWithLastConsumed(current, "fallThrough", lv_fallThrough_6_0 != null, ","); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXCasePart" + + + // $ANTLR start "entryRuleXForLoopExpression" + // InternalExport.g:7084:1: entryRuleXForLoopExpression returns [EObject current=null] : iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ; + public final EObject entryRuleXForLoopExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXForLoopExpression = null; + + + try { + // InternalExport.g:7084:59: (iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ) + // InternalExport.g:7085:2: iv_ruleXForLoopExpression= ruleXForLoopExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXForLoopExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXForLoopExpression=ruleXForLoopExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXForLoopExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXForLoopExpression" + + + // $ANTLR start "ruleXForLoopExpression" + // InternalExport.g:7091:1: ruleXForLoopExpression returns [EObject current=null] : ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) ; + public final EObject ruleXForLoopExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_declaredParam_3_0 = null; + + EObject lv_forExpression_5_0 = null; + + EObject lv_eachExpression_7_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:7097:2: ( ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) ) + // InternalExport.g:7098:2: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) + { + // InternalExport.g:7098:2: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) + // InternalExport.g:7099:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) + { + // InternalExport.g:7099:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) + // InternalExport.g:7100:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) + { + // InternalExport.g:7113:4: ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) + // InternalExport.g:7114:5: () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' + { + // InternalExport.g:7114:5: () + // InternalExport.g:7115:6: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,16,FOLLOW_23); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); + + } + otherlv_2=(Token)match(input,30,FOLLOW_71); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + + } + // InternalExport.g:7129:5: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) + // InternalExport.g:7130:6: (lv_declaredParam_3_0= ruleJvmFormalParameter ) + { + // InternalExport.g:7130:6: (lv_declaredParam_3_0= ruleJvmFormalParameter ) + // InternalExport.g:7131:7: lv_declaredParam_3_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); + + } + pushFollow(FOLLOW_39); + lv_declaredParam_3_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + current, + "declaredParam", + lv_declaredParam_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,43,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); + + } + + } + + + } + + // InternalExport.g:7154:3: ( (lv_forExpression_5_0= ruleXExpression ) ) + // InternalExport.g:7155:4: (lv_forExpression_5_0= ruleXExpression ) + { + // InternalExport.g:7155:4: (lv_forExpression_5_0= ruleXExpression ) + // InternalExport.g:7156:5: lv_forExpression_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_24); + lv_forExpression_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + current, + "forExpression", + lv_forExpression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_6=(Token)match(input,31,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); + + } + // InternalExport.g:7177:3: ( (lv_eachExpression_7_0= ruleXExpression ) ) + // InternalExport.g:7178:4: (lv_eachExpression_7_0= ruleXExpression ) + { + // InternalExport.g:7178:4: (lv_eachExpression_7_0= ruleXExpression ) + // InternalExport.g:7179:5: lv_eachExpression_7_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_2); + lv_eachExpression_7_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + current, + "eachExpression", + lv_eachExpression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXForLoopExpression" + + + // $ANTLR start "entryRuleXBasicForLoopExpression" + // InternalExport.g:7200:1: entryRuleXBasicForLoopExpression returns [EObject current=null] : iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ; + public final EObject entryRuleXBasicForLoopExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXBasicForLoopExpression = null; + + + try { + // InternalExport.g:7200:64: (iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ) + // InternalExport.g:7201:2: iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXBasicForLoopExpression=ruleXBasicForLoopExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXBasicForLoopExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXBasicForLoopExpression" + + + // $ANTLR start "ruleXBasicForLoopExpression" + // InternalExport.g:7207:1: ruleXBasicForLoopExpression returns [EObject current=null] : ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) ; + public final EObject ruleXBasicForLoopExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_12=null; + EObject lv_initExpressions_3_0 = null; + + EObject lv_initExpressions_5_0 = null; + + EObject lv_expression_7_0 = null; + + EObject lv_updateExpressions_9_0 = null; + + EObject lv_updateExpressions_11_0 = null; + + EObject lv_eachExpression_13_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:7213:2: ( ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) ) + // InternalExport.g:7214:2: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) + { + // InternalExport.g:7214:2: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) + // InternalExport.g:7215:3: () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) + { + // InternalExport.g:7215:3: () + // InternalExport.g:7216:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,16,FOLLOW_23); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); + + } + otherlv_2=(Token)match(input,30,FOLLOW_98); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); + + } + // InternalExport.g:7230:3: ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? + int alt121=2; + int LA121_0 = input.LA(1); + + if ( ((LA121_0>=RULE_ID && LA121_0<=RULE_INT)||(LA121_0>=RULE_HEX && LA121_0<=RULE_DECIMAL)||(LA121_0>=15 && LA121_0<=16)||LA121_0==18||LA121_0==20||LA121_0==22||LA121_0==27||LA121_0==30||LA121_0==46||LA121_0==49||(LA121_0>=60 && LA121_0<=61)||LA121_0==64||(LA121_0>=76 && LA121_0<=78)||LA121_0==80||(LA121_0>=102 && LA121_0<=113)||LA121_0==115) ) { + alt121=1; + } + switch (alt121) { + case 1 : + // InternalExport.g:7231:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* + { + // InternalExport.g:7231:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) + // InternalExport.g:7232:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) + { + // InternalExport.g:7232:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) + // InternalExport.g:7233:6: lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); + + } + pushFollow(FOLLOW_37); + lv_initExpressions_3_0=ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + current, + "initExpressions", + lv_initExpressions_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:7250:4: (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* + loop120: + do { + int alt120=2; + int LA120_0 = input.LA(1); + + if ( (LA120_0==25) ) { + alt120=1; + } + + + switch (alt120) { + case 1 : + // InternalExport.g:7251:5: otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) + { + otherlv_4=(Token)match(input,25,FOLLOW_99); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); + + } + // InternalExport.g:7255:5: ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) + // InternalExport.g:7256:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) + { + // InternalExport.g:7256:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) + // InternalExport.g:7257:7: lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); + + } + pushFollow(FOLLOW_37); + lv_initExpressions_5_0=ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + current, + "initExpressions", + lv_initExpressions_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop120; + } + } while (true); + + + } + break; + + } + + otherlv_6=(Token)match(input,26,FOLLOW_100); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); + + } + // InternalExport.g:7280:3: ( (lv_expression_7_0= ruleXExpression ) )? + int alt122=2; + int LA122_0 = input.LA(1); + + if ( ((LA122_0>=RULE_ID && LA122_0<=RULE_INT)||(LA122_0>=RULE_HEX && LA122_0<=RULE_DECIMAL)||(LA122_0>=15 && LA122_0<=16)||LA122_0==18||LA122_0==20||LA122_0==22||LA122_0==27||LA122_0==30||LA122_0==46||LA122_0==49||(LA122_0>=60 && LA122_0<=61)||LA122_0==64||(LA122_0>=76 && LA122_0<=78)||LA122_0==80||(LA122_0>=102 && LA122_0<=104)||(LA122_0>=107 && LA122_0<=113)||LA122_0==115) ) { + alt122=1; + } + switch (alt122) { + case 1 : + // InternalExport.g:7281:4: (lv_expression_7_0= ruleXExpression ) + { + // InternalExport.g:7281:4: (lv_expression_7_0= ruleXExpression ) + // InternalExport.g:7282:5: lv_expression_7_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); + + } + pushFollow(FOLLOW_34); + lv_expression_7_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + set( + current, + "expression", + lv_expression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + otherlv_8=(Token)match(input,26,FOLLOW_101); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); + + } + // InternalExport.g:7303:3: ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? + int alt124=2; + int LA124_0 = input.LA(1); + + if ( ((LA124_0>=RULE_ID && LA124_0<=RULE_INT)||(LA124_0>=RULE_HEX && LA124_0<=RULE_DECIMAL)||(LA124_0>=15 && LA124_0<=16)||LA124_0==18||LA124_0==20||LA124_0==22||LA124_0==27||LA124_0==30||LA124_0==46||LA124_0==49||(LA124_0>=60 && LA124_0<=61)||LA124_0==64||(LA124_0>=76 && LA124_0<=78)||LA124_0==80||(LA124_0>=102 && LA124_0<=104)||(LA124_0>=107 && LA124_0<=113)||LA124_0==115) ) { + alt124=1; + } + switch (alt124) { + case 1 : + // InternalExport.g:7304:4: ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* + { + // InternalExport.g:7304:4: ( (lv_updateExpressions_9_0= ruleXExpression ) ) + // InternalExport.g:7305:5: (lv_updateExpressions_9_0= ruleXExpression ) + { + // InternalExport.g:7305:5: (lv_updateExpressions_9_0= ruleXExpression ) + // InternalExport.g:7306:6: lv_updateExpressions_9_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); + + } + pushFollow(FOLLOW_57); + lv_updateExpressions_9_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + current, + "updateExpressions", + lv_updateExpressions_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:7323:4: (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* + loop123: + do { + int alt123=2; + int LA123_0 = input.LA(1); + + if ( (LA123_0==25) ) { + alt123=1; + } + + + switch (alt123) { + case 1 : + // InternalExport.g:7324:5: otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) + { + otherlv_10=(Token)match(input,25,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); + + } + // InternalExport.g:7328:5: ( (lv_updateExpressions_11_0= ruleXExpression ) ) + // InternalExport.g:7329:6: (lv_updateExpressions_11_0= ruleXExpression ) + { + // InternalExport.g:7329:6: (lv_updateExpressions_11_0= ruleXExpression ) + // InternalExport.g:7330:7: lv_updateExpressions_11_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); + + } + pushFollow(FOLLOW_57); + lv_updateExpressions_11_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + current, + "updateExpressions", + lv_updateExpressions_11_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop123; + } + } while (true); + + + } + break; + + } + + otherlv_12=(Token)match(input,31,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_12, grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); + + } + // InternalExport.g:7353:3: ( (lv_eachExpression_13_0= ruleXExpression ) ) + // InternalExport.g:7354:4: (lv_eachExpression_13_0= ruleXExpression ) + { + // InternalExport.g:7354:4: (lv_eachExpression_13_0= ruleXExpression ) + // InternalExport.g:7355:5: lv_eachExpression_13_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); + + } + pushFollow(FOLLOW_2); + lv_eachExpression_13_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + set( + current, + "eachExpression", + lv_eachExpression_13_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXBasicForLoopExpression" + + + // $ANTLR start "entryRuleXWhileExpression" + // InternalExport.g:7376:1: entryRuleXWhileExpression returns [EObject current=null] : iv_ruleXWhileExpression= ruleXWhileExpression EOF ; + public final EObject entryRuleXWhileExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXWhileExpression = null; + + + try { + // InternalExport.g:7376:57: (iv_ruleXWhileExpression= ruleXWhileExpression EOF ) + // InternalExport.g:7377:2: iv_ruleXWhileExpression= ruleXWhileExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXWhileExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXWhileExpression=ruleXWhileExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXWhileExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXWhileExpression" + + + // $ANTLR start "ruleXWhileExpression" + // InternalExport.g:7383:1: ruleXWhileExpression returns [EObject current=null] : ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) ; + public final EObject ruleXWhileExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + EObject lv_predicate_3_0 = null; + + EObject lv_body_5_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:7389:2: ( ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) ) + // InternalExport.g:7390:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) + { + // InternalExport.g:7390:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) + // InternalExport.g:7391:3: () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) + { + // InternalExport.g:7391:3: () + // InternalExport.g:7392:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,103,FOLLOW_23); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); + + } + otherlv_2=(Token)match(input,30,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); + + } + // InternalExport.g:7406:3: ( (lv_predicate_3_0= ruleXExpression ) ) + // InternalExport.g:7407:4: (lv_predicate_3_0= ruleXExpression ) + { + // InternalExport.g:7407:4: (lv_predicate_3_0= ruleXExpression ) + // InternalExport.g:7408:5: lv_predicate_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_24); + lv_predicate_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXWhileExpressionRule()); + } + set( + current, + "predicate", + lv_predicate_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,31,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); + + } + // InternalExport.g:7429:3: ( (lv_body_5_0= ruleXExpression ) ) + // InternalExport.g:7430:4: (lv_body_5_0= ruleXExpression ) + { + // InternalExport.g:7430:4: (lv_body_5_0= ruleXExpression ) + // InternalExport.g:7431:5: lv_body_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); + + } + pushFollow(FOLLOW_2); + lv_body_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXWhileExpressionRule()); + } + set( + current, + "body", + lv_body_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXWhileExpression" + + + // $ANTLR start "entryRuleXDoWhileExpression" + // InternalExport.g:7452:1: entryRuleXDoWhileExpression returns [EObject current=null] : iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ; + public final EObject entryRuleXDoWhileExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXDoWhileExpression = null; + + + try { + // InternalExport.g:7452:59: (iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ) + // InternalExport.g:7453:2: iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXDoWhileExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXDoWhileExpression=ruleXDoWhileExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXDoWhileExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXDoWhileExpression" + + + // $ANTLR start "ruleXDoWhileExpression" + // InternalExport.g:7459:1: ruleXDoWhileExpression returns [EObject current=null] : ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) ; + public final EObject ruleXDoWhileExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_body_2_0 = null; + + EObject lv_predicate_5_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:7465:2: ( ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) ) + // InternalExport.g:7466:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) + { + // InternalExport.g:7466:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) + // InternalExport.g:7467:3: () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' + { + // InternalExport.g:7467:3: () + // InternalExport.g:7468:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,104,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); + + } + // InternalExport.g:7478:3: ( (lv_body_2_0= ruleXExpression ) ) + // InternalExport.g:7479:4: (lv_body_2_0= ruleXExpression ) + { + // InternalExport.g:7479:4: (lv_body_2_0= ruleXExpression ) + // InternalExport.g:7480:5: lv_body_2_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_102); + lv_body_2_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule()); + } + set( + current, + "body", + lv_body_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_3=(Token)match(input,103,FOLLOW_23); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); + + } + otherlv_4=(Token)match(input,30,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); + + } + // InternalExport.g:7505:3: ( (lv_predicate_5_0= ruleXExpression ) ) + // InternalExport.g:7506:4: (lv_predicate_5_0= ruleXExpression ) + { + // InternalExport.g:7506:4: (lv_predicate_5_0= ruleXExpression ) + // InternalExport.g:7507:5: lv_predicate_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); + + } + pushFollow(FOLLOW_24); + lv_predicate_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule()); + } + set( + current, + "predicate", + lv_predicate_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_6=(Token)match(input,31,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXDoWhileExpression" + + + // $ANTLR start "entryRuleXBlockExpression" + // InternalExport.g:7532:1: entryRuleXBlockExpression returns [EObject current=null] : iv_ruleXBlockExpression= ruleXBlockExpression EOF ; + public final EObject entryRuleXBlockExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXBlockExpression = null; + + + try { + // InternalExport.g:7532:57: (iv_ruleXBlockExpression= ruleXBlockExpression EOF ) + // InternalExport.g:7533:2: iv_ruleXBlockExpression= ruleXBlockExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXBlockExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXBlockExpression=ruleXBlockExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXBlockExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXBlockExpression" + + + // $ANTLR start "ruleXBlockExpression" + // InternalExport.g:7539:1: ruleXBlockExpression returns [EObject current=null] : ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) ; + public final EObject ruleXBlockExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_4=null; + EObject lv_expressions_2_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:7545:2: ( ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) ) + // InternalExport.g:7546:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) + { + // InternalExport.g:7546:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) + // InternalExport.g:7547:3: () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' + { + // InternalExport.g:7547:3: () + // InternalExport.g:7548:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,18,FOLLOW_103); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); + + } + // InternalExport.g:7558:3: ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* + loop126: + do { + int alt126=2; + int LA126_0 = input.LA(1); + + if ( ((LA126_0>=RULE_ID && LA126_0<=RULE_INT)||(LA126_0>=RULE_HEX && LA126_0<=RULE_DECIMAL)||(LA126_0>=15 && LA126_0<=16)||LA126_0==18||LA126_0==20||LA126_0==22||LA126_0==27||LA126_0==30||LA126_0==46||LA126_0==49||(LA126_0>=60 && LA126_0<=61)||LA126_0==64||(LA126_0>=76 && LA126_0<=78)||LA126_0==80||(LA126_0>=102 && LA126_0<=113)||LA126_0==115) ) { + alt126=1; + } + + + switch (alt126) { + case 1 : + // InternalExport.g:7559:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? + { + // InternalExport.g:7559:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) + // InternalExport.g:7560:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) + { + // InternalExport.g:7560:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) + // InternalExport.g:7561:6: lv_expressions_2_0= ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); + + } + pushFollow(FOLLOW_104); + lv_expressions_2_0=ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBlockExpressionRule()); + } + add( + current, + "expressions", + lv_expressions_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:7578:4: (otherlv_3= ';' )? + int alt125=2; + int LA125_0 = input.LA(1); + + if ( (LA125_0==26) ) { + alt125=1; + } + switch (alt125) { + case 1 : + // InternalExport.g:7579:5: otherlv_3= ';' + { + otherlv_3=(Token)match(input,26,FOLLOW_103); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); + + } + + } + break; + + } + + + } + break; + + default : + break loop126; + } + } while (true); + + otherlv_4=(Token)match(input,19,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXBlockExpression" + + + // $ANTLR start "entryRuleXExpressionOrVarDeclaration" + // InternalExport.g:7593:1: entryRuleXExpressionOrVarDeclaration returns [EObject current=null] : iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ; + public final EObject entryRuleXExpressionOrVarDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXExpressionOrVarDeclaration = null; + + + try { + // InternalExport.g:7593:68: (iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ) + // InternalExport.g:7594:2: iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXExpressionOrVarDeclaration=ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXExpressionOrVarDeclaration; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXExpressionOrVarDeclaration" + + + // $ANTLR start "ruleXExpressionOrVarDeclaration" + // InternalExport.g:7600:1: ruleXExpressionOrVarDeclaration returns [EObject current=null] : (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) ; + public final EObject ruleXExpressionOrVarDeclaration() throws RecognitionException { + EObject current = null; + + EObject this_XVariableDeclaration_0 = null; + + EObject this_XExpression_1 = null; + + + + enterRule(); + + try { + // InternalExport.g:7606:2: ( (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) ) + // InternalExport.g:7607:2: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) + { + // InternalExport.g:7607:2: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) + int alt127=2; + int LA127_0 = input.LA(1); + + if ( ((LA127_0>=105 && LA127_0<=106)) ) { + alt127=1; + } + else if ( ((LA127_0>=RULE_ID && LA127_0<=RULE_INT)||(LA127_0>=RULE_HEX && LA127_0<=RULE_DECIMAL)||(LA127_0>=15 && LA127_0<=16)||LA127_0==18||LA127_0==20||LA127_0==22||LA127_0==27||LA127_0==30||LA127_0==46||LA127_0==49||(LA127_0>=60 && LA127_0<=61)||LA127_0==64||(LA127_0>=76 && LA127_0<=78)||LA127_0==80||(LA127_0>=102 && LA127_0<=104)||(LA127_0>=107 && LA127_0<=113)||LA127_0==115) ) { + alt127=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 127, 0, input); + + throw nvae; + } + switch (alt127) { + case 1 : + // InternalExport.g:7608:3: this_XVariableDeclaration_0= ruleXVariableDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_XVariableDeclaration_0=ruleXVariableDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XVariableDeclaration_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalExport.g:7617:3: this_XExpression_1= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XExpression_1=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XExpression_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXExpressionOrVarDeclaration" + + + // $ANTLR start "entryRuleXVariableDeclaration" + // InternalExport.g:7629:1: entryRuleXVariableDeclaration returns [EObject current=null] : iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ; + public final EObject entryRuleXVariableDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXVariableDeclaration = null; + + + try { + // InternalExport.g:7629:61: (iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ) + // InternalExport.g:7630:2: iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXVariableDeclarationRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXVariableDeclaration=ruleXVariableDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXVariableDeclaration; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXVariableDeclaration" + + + // $ANTLR start "ruleXVariableDeclaration" + // InternalExport.g:7636:1: ruleXVariableDeclaration returns [EObject current=null] : ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) ; + public final EObject ruleXVariableDeclaration() throws RecognitionException { + EObject current = null; + + Token lv_writeable_1_0=null; + Token otherlv_2=null; + Token otherlv_6=null; + EObject lv_type_3_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + AntlrDatatypeRuleToken lv_name_5_0 = null; + + EObject lv_right_7_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:7642:2: ( ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) ) + // InternalExport.g:7643:2: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) + { + // InternalExport.g:7643:2: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) + // InternalExport.g:7644:3: () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? + { + // InternalExport.g:7644:3: () + // InternalExport.g:7645:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0(), + current); + + } + + } + + // InternalExport.g:7651:3: ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) + int alt128=2; + int LA128_0 = input.LA(1); + + if ( (LA128_0==105) ) { + alt128=1; + } + else if ( (LA128_0==106) ) { + alt128=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 128, 0, input); + + throw nvae; + } + switch (alt128) { + case 1 : + // InternalExport.g:7652:4: ( (lv_writeable_1_0= 'var' ) ) + { + // InternalExport.g:7652:4: ( (lv_writeable_1_0= 'var' ) ) + // InternalExport.g:7653:5: (lv_writeable_1_0= 'var' ) + { + // InternalExport.g:7653:5: (lv_writeable_1_0= 'var' ) + // InternalExport.g:7654:6: lv_writeable_1_0= 'var' + { + lv_writeable_1_0=(Token)match(input,105,FOLLOW_71); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_writeable_1_0, grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXVariableDeclarationRule()); + } + setWithLastConsumed(current, "writeable", lv_writeable_1_0 != null, "var"); + + } + + } + + + } + + + } + break; + case 2 : + // InternalExport.g:7667:4: otherlv_2= 'val' + { + otherlv_2=(Token)match(input,106,FOLLOW_71); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); + + } + + } + break; + + } + + // InternalExport.g:7672:3: ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) + int alt129=2; + int LA129_0 = input.LA(1); + + if ( (LA129_0==RULE_ID) ) { + int LA129_1 = input.LA(2); + + if ( (synpred31_InternalExport()) ) { + alt129=1; + } + else if ( (true) ) { + alt129=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 129, 1, input); + + throw nvae; + } + } + else if ( (LA129_0==30) && (synpred31_InternalExport())) { + alt129=1; + } + else if ( (LA129_0==94) && (synpred31_InternalExport())) { + alt129=1; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 129, 0, input); + + throw nvae; + } + switch (alt129) { + case 1 : + // InternalExport.g:7673:4: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) + { + // InternalExport.g:7673:4: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) + // InternalExport.g:7674:5: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) + { + // InternalExport.g:7687:5: ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) + // InternalExport.g:7688:6: ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) + { + // InternalExport.g:7688:6: ( (lv_type_3_0= ruleJvmTypeReference ) ) + // InternalExport.g:7689:7: (lv_type_3_0= ruleJvmTypeReference ) + { + // InternalExport.g:7689:7: (lv_type_3_0= ruleJvmTypeReference ) + // InternalExport.g:7690:8: lv_type_3_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); + + } + pushFollow(FOLLOW_4); + lv_type_3_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:7707:6: ( (lv_name_4_0= ruleValidID ) ) + // InternalExport.g:7708:7: (lv_name_4_0= ruleValidID ) + { + // InternalExport.g:7708:7: (lv_name_4_0= ruleValidID ) + // InternalExport.g:7709:8: lv_name_4_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); + + } + pushFollow(FOLLOW_105); + lv_name_4_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + current, + "name", + lv_name_4_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + + } + break; + case 2 : + // InternalExport.g:7729:4: ( (lv_name_5_0= ruleValidID ) ) + { + // InternalExport.g:7729:4: ( (lv_name_5_0= ruleValidID ) ) + // InternalExport.g:7730:5: (lv_name_5_0= ruleValidID ) + { + // InternalExport.g:7730:5: (lv_name_5_0= ruleValidID ) + // InternalExport.g:7731:6: lv_name_5_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); + + } + pushFollow(FOLLOW_105); + lv_name_5_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + current, + "name", + lv_name_5_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + // InternalExport.g:7749:3: (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? + int alt130=2; + int LA130_0 = input.LA(1); + + if ( (LA130_0==24) ) { + alt130=1; + } + switch (alt130) { + case 1 : + // InternalExport.g:7750:4: otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) + { + otherlv_6=(Token)match(input,24,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); + + } + // InternalExport.g:7754:4: ( (lv_right_7_0= ruleXExpression ) ) + // InternalExport.g:7755:5: (lv_right_7_0= ruleXExpression ) + { + // InternalExport.g:7755:5: (lv_right_7_0= ruleXExpression ) + // InternalExport.g:7756:6: lv_right_7_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); + + } + pushFollow(FOLLOW_2); + lv_right_7_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + current, + "right", + lv_right_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXVariableDeclaration" + + + // $ANTLR start "entryRuleJvmFormalParameter" + // InternalExport.g:7778:1: entryRuleJvmFormalParameter returns [EObject current=null] : iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ; + public final EObject entryRuleJvmFormalParameter() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmFormalParameter = null; + + + try { + // InternalExport.g:7778:59: (iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ) + // InternalExport.g:7779:2: iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmFormalParameterRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmFormalParameter=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmFormalParameter; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmFormalParameter" + + + // $ANTLR start "ruleJvmFormalParameter" + // InternalExport.g:7785:1: ruleJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) ; + public final EObject ruleJvmFormalParameter() throws RecognitionException { + EObject current = null; + + EObject lv_parameterType_0_0 = null; + + AntlrDatatypeRuleToken lv_name_1_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:7791:2: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) ) + // InternalExport.g:7792:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) + { + // InternalExport.g:7792:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) + // InternalExport.g:7793:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) + { + // InternalExport.g:7793:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? + int alt131=2; + int LA131_0 = input.LA(1); + + if ( (LA131_0==RULE_ID) ) { + int LA131_1 = input.LA(2); + + if ( (LA131_1==RULE_ID||LA131_1==22||LA131_1==60||LA131_1==65) ) { + alt131=1; + } + } + else if ( (LA131_0==30||LA131_0==94) ) { + alt131=1; + } + switch (alt131) { + case 1 : + // InternalExport.g:7794:4: (lv_parameterType_0_0= ruleJvmTypeReference ) + { + // InternalExport.g:7794:4: (lv_parameterType_0_0= ruleJvmTypeReference ) + // InternalExport.g:7795:5: lv_parameterType_0_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + + } + pushFollow(FOLLOW_4); + lv_parameterType_0_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule()); + } + set( + current, + "parameterType", + lv_parameterType_0_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + // InternalExport.g:7812:3: ( (lv_name_1_0= ruleValidID ) ) + // InternalExport.g:7813:4: (lv_name_1_0= ruleValidID ) + { + // InternalExport.g:7813:4: (lv_name_1_0= ruleValidID ) + // InternalExport.g:7814:5: lv_name_1_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_name_1_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule()); + } + set( + current, + "name", + lv_name_1_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmFormalParameter" + + + // $ANTLR start "entryRuleFullJvmFormalParameter" + // InternalExport.g:7835:1: entryRuleFullJvmFormalParameter returns [EObject current=null] : iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ; + public final EObject entryRuleFullJvmFormalParameter() throws RecognitionException { + EObject current = null; + + EObject iv_ruleFullJvmFormalParameter = null; + + + try { + // InternalExport.g:7835:63: (iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ) + // InternalExport.g:7836:2: iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getFullJvmFormalParameterRule()); + } + pushFollow(FOLLOW_1); + iv_ruleFullJvmFormalParameter=ruleFullJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleFullJvmFormalParameter; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFullJvmFormalParameter" + + + // $ANTLR start "ruleFullJvmFormalParameter" + // InternalExport.g:7842:1: ruleFullJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) ; + public final EObject ruleFullJvmFormalParameter() throws RecognitionException { + EObject current = null; + + EObject lv_parameterType_0_0 = null; + + AntlrDatatypeRuleToken lv_name_1_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:7848:2: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) ) + // InternalExport.g:7849:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) + { + // InternalExport.g:7849:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) + // InternalExport.g:7850:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) + { + // InternalExport.g:7850:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) + // InternalExport.g:7851:4: (lv_parameterType_0_0= ruleJvmTypeReference ) + { + // InternalExport.g:7851:4: (lv_parameterType_0_0= ruleJvmTypeReference ) + // InternalExport.g:7852:5: lv_parameterType_0_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + + } + pushFollow(FOLLOW_4); + lv_parameterType_0_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule()); + } + set( + current, + "parameterType", + lv_parameterType_0_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:7869:3: ( (lv_name_1_0= ruleValidID ) ) + // InternalExport.g:7870:4: (lv_name_1_0= ruleValidID ) + { + // InternalExport.g:7870:4: (lv_name_1_0= ruleValidID ) + // InternalExport.g:7871:5: lv_name_1_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_name_1_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule()); + } + set( + current, + "name", + lv_name_1_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFullJvmFormalParameter" + + + // $ANTLR start "entryRuleXFeatureCall" + // InternalExport.g:7892:1: entryRuleXFeatureCall returns [EObject current=null] : iv_ruleXFeatureCall= ruleXFeatureCall EOF ; + public final EObject entryRuleXFeatureCall() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXFeatureCall = null; + + + try { + // InternalExport.g:7892:53: (iv_ruleXFeatureCall= ruleXFeatureCall EOF ) + // InternalExport.g:7893:2: iv_ruleXFeatureCall= ruleXFeatureCall EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXFeatureCallRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXFeatureCall=ruleXFeatureCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXFeatureCall; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXFeatureCall" + + + // $ANTLR start "ruleXFeatureCall" + // InternalExport.g:7899:1: ruleXFeatureCall returns [EObject current=null] : ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) ; + public final EObject ruleXFeatureCall() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token lv_explicitOperationCall_7_0=null; + Token otherlv_10=null; + Token otherlv_12=null; + EObject lv_typeArguments_2_0 = null; + + EObject lv_typeArguments_4_0 = null; + + EObject lv_featureCallArguments_8_0 = null; + + EObject lv_featureCallArguments_9_0 = null; + + EObject lv_featureCallArguments_11_0 = null; + + EObject lv_featureCallArguments_13_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:7905:2: ( ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) ) + // InternalExport.g:7906:2: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) + { + // InternalExport.g:7906:2: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) + // InternalExport.g:7907:3: () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? + { + // InternalExport.g:7907:3: () + // InternalExport.g:7908:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0(), + current); + + } + + } + + // InternalExport.g:7914:3: (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? + int alt133=2; + int LA133_0 = input.LA(1); + + if ( (LA133_0==60) ) { + alt133=1; + } + switch (alt133) { + case 1 : + // InternalExport.g:7915:4: otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' + { + otherlv_1=(Token)match(input,60,FOLLOW_81); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); + + } + // InternalExport.g:7919:4: ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) + // InternalExport.g:7920:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) + { + // InternalExport.g:7920:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) + // InternalExport.g:7921:6: lv_typeArguments_2_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_82); + lv_typeArguments_2_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:7938:4: (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* + loop132: + do { + int alt132=2; + int LA132_0 = input.LA(1); + + if ( (LA132_0==25) ) { + alt132=1; + } + + + switch (alt132) { + case 1 : + // InternalExport.g:7939:5: otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) + { + otherlv_3=(Token)match(input,25,FOLLOW_81); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); + + } + // InternalExport.g:7943:5: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) + // InternalExport.g:7944:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) + { + // InternalExport.g:7944:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) + // InternalExport.g:7945:7: lv_typeArguments_4_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + + } + pushFollow(FOLLOW_82); + lv_typeArguments_4_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop132; + } + } while (true); + + otherlv_5=(Token)match(input,59,FOLLOW_80); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); + + } + + } + break; + + } + + // InternalExport.g:7968:3: ( ( ruleIdOrSuper ) ) + // InternalExport.g:7969:4: ( ruleIdOrSuper ) + { + // InternalExport.g:7969:4: ( ruleIdOrSuper ) + // InternalExport.g:7970:5: ruleIdOrSuper + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXFeatureCallRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); + + } + pushFollow(FOLLOW_106); + ruleIdOrSuper(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:7984:3: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? + int alt136=2; + alt136 = dfa136.predict(input); + switch (alt136) { + case 1 : + // InternalExport.g:7985:4: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' + { + // InternalExport.g:7985:4: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) + // InternalExport.g:7986:5: ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) + { + // InternalExport.g:7990:5: (lv_explicitOperationCall_7_0= '(' ) + // InternalExport.g:7991:6: lv_explicitOperationCall_7_0= '(' + { + lv_explicitOperationCall_7_0=(Token)match(input,30,FOLLOW_84); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitOperationCall_7_0, grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXFeatureCallRule()); + } + setWithLastConsumed(current, "explicitOperationCall", lv_explicitOperationCall_7_0 != null, "("); + + } + + } + + + } + + // InternalExport.g:8003:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? + int alt135=3; + alt135 = dfa135.predict(input); + switch (alt135) { + case 1 : + // InternalExport.g:8004:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) + { + // InternalExport.g:8004:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) + // InternalExport.g:8005:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) + { + // InternalExport.g:8030:6: (lv_featureCallArguments_8_0= ruleXShortClosure ) + // InternalExport.g:8031:7: lv_featureCallArguments_8_0= ruleXShortClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); + + } + pushFollow(FOLLOW_24); + lv_featureCallArguments_8_0=ruleXShortClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "featureCallArguments", + lv_featureCallArguments_8_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + case 2 : + // InternalExport.g:8049:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) + { + // InternalExport.g:8049:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) + // InternalExport.g:8050:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* + { + // InternalExport.g:8050:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) + // InternalExport.g:8051:7: (lv_featureCallArguments_9_0= ruleXExpression ) + { + // InternalExport.g:8051:7: (lv_featureCallArguments_9_0= ruleXExpression ) + // InternalExport.g:8052:8: lv_featureCallArguments_9_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); + + } + pushFollow(FOLLOW_57); + lv_featureCallArguments_9_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "featureCallArguments", + lv_featureCallArguments_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:8069:6: (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* + loop134: + do { + int alt134=2; + int LA134_0 = input.LA(1); + + if ( (LA134_0==25) ) { + alt134=1; + } + + + switch (alt134) { + case 1 : + // InternalExport.g:8070:7: otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) + { + otherlv_10=(Token)match(input,25,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); + + } + // InternalExport.g:8074:7: ( (lv_featureCallArguments_11_0= ruleXExpression ) ) + // InternalExport.g:8075:8: (lv_featureCallArguments_11_0= ruleXExpression ) + { + // InternalExport.g:8075:8: (lv_featureCallArguments_11_0= ruleXExpression ) + // InternalExport.g:8076:9: lv_featureCallArguments_11_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); + + } + pushFollow(FOLLOW_57); + lv_featureCallArguments_11_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "featureCallArguments", + lv_featureCallArguments_11_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop134; + } + } while (true); + + + } + + + } + break; + + } + + otherlv_12=(Token)match(input,31,FOLLOW_107); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_12, grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); + + } + + } + break; + + } + + // InternalExport.g:8101:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? + int alt137=2; + alt137 = dfa137.predict(input); + switch (alt137) { + case 1 : + // InternalExport.g:8102:4: ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) + { + // InternalExport.g:8108:4: (lv_featureCallArguments_13_0= ruleXClosure ) + // InternalExport.g:8109:5: lv_featureCallArguments_13_0= ruleXClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); + + } + pushFollow(FOLLOW_2); + lv_featureCallArguments_13_0=ruleXClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "featureCallArguments", + lv_featureCallArguments_13_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXFeatureCall" + + + // $ANTLR start "entryRuleFeatureCallID" + // InternalExport.g:8130:1: entryRuleFeatureCallID returns [String current=null] : iv_ruleFeatureCallID= ruleFeatureCallID EOF ; + public final String entryRuleFeatureCallID() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleFeatureCallID = null; + + + try { + // InternalExport.g:8130:53: (iv_ruleFeatureCallID= ruleFeatureCallID EOF ) + // InternalExport.g:8131:2: iv_ruleFeatureCallID= ruleFeatureCallID EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getFeatureCallIDRule()); + } + pushFollow(FOLLOW_1); + iv_ruleFeatureCallID=ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleFeatureCallID.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFeatureCallID" + + + // $ANTLR start "ruleFeatureCallID" + // InternalExport.g:8137:1: ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) ; + public final AntlrDatatypeRuleToken ruleFeatureCallID() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + AntlrDatatypeRuleToken this_ValidID_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:8143:2: ( (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) ) + // InternalExport.g:8144:2: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) + { + // InternalExport.g:8144:2: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) + int alt138=5; + switch ( input.LA(1) ) { + case RULE_ID: + { + alt138=1; + } + break; + case 107: + { + alt138=2; + } + break; + case 108: + { + alt138=3; + } + break; + case 20: + { + alt138=4; + } + break; + case 15: + { + alt138=5; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 138, 0, input); + + throw nvae; + } + + switch (alt138) { + case 1 : + // InternalExport.g:8145:3: this_ValidID_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_ValidID_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_ValidID_0); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalExport.g:8156:3: kw= 'extends' + { + kw=(Token)match(input,107,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); + + } + + } + break; + case 3 : + // InternalExport.g:8162:3: kw= 'static' + { + kw=(Token)match(input,108,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); + + } + + } + break; + case 4 : + // InternalExport.g:8168:3: kw= 'import' + { + kw=(Token)match(input,20,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); + + } + + } + break; + case 5 : + // InternalExport.g:8174:3: kw= 'extension' + { + kw=(Token)match(input,15,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFeatureCallID" + + + // $ANTLR start "entryRuleIdOrSuper" + // InternalExport.g:8183:1: entryRuleIdOrSuper returns [String current=null] : iv_ruleIdOrSuper= ruleIdOrSuper EOF ; + public final String entryRuleIdOrSuper() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleIdOrSuper = null; + + + try { + // InternalExport.g:8183:49: (iv_ruleIdOrSuper= ruleIdOrSuper EOF ) + // InternalExport.g:8184:2: iv_ruleIdOrSuper= ruleIdOrSuper EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getIdOrSuperRule()); + } + pushFollow(FOLLOW_1); + iv_ruleIdOrSuper=ruleIdOrSuper(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleIdOrSuper.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleIdOrSuper" + + + // $ANTLR start "ruleIdOrSuper" + // InternalExport.g:8190:1: ruleIdOrSuper returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) ; + public final AntlrDatatypeRuleToken ruleIdOrSuper() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + AntlrDatatypeRuleToken this_FeatureCallID_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:8196:2: ( (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) ) + // InternalExport.g:8197:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) + { + // InternalExport.g:8197:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) + int alt139=2; + int LA139_0 = input.LA(1); + + if ( (LA139_0==RULE_ID||LA139_0==15||LA139_0==20||(LA139_0>=107 && LA139_0<=108)) ) { + alt139=1; + } + else if ( (LA139_0==109) ) { + alt139=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 139, 0, input); + + throw nvae; + } + switch (alt139) { + case 1 : + // InternalExport.g:8198:3: this_FeatureCallID_0= ruleFeatureCallID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_FeatureCallID_0=ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_FeatureCallID_0); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalExport.g:8209:3: kw= 'super' + { + kw=(Token)match(input,109,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleIdOrSuper" + + + // $ANTLR start "entryRuleXConstructorCall" + // InternalExport.g:8218:1: entryRuleXConstructorCall returns [EObject current=null] : iv_ruleXConstructorCall= ruleXConstructorCall EOF ; + public final EObject entryRuleXConstructorCall() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXConstructorCall = null; + + + try { + // InternalExport.g:8218:57: (iv_ruleXConstructorCall= ruleXConstructorCall EOF ) + // InternalExport.g:8219:2: iv_ruleXConstructorCall= ruleXConstructorCall EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXConstructorCallRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXConstructorCall=ruleXConstructorCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXConstructorCall; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXConstructorCall" + + + // $ANTLR start "ruleXConstructorCall" + // InternalExport.g:8225:1: ruleXConstructorCall returns [EObject current=null] : ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) ; + public final EObject ruleXConstructorCall() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token lv_explicitConstructorCall_8_0=null; + Token otherlv_11=null; + Token otherlv_13=null; + EObject lv_typeArguments_4_0 = null; + + EObject lv_typeArguments_6_0 = null; + + EObject lv_arguments_9_0 = null; + + EObject lv_arguments_10_0 = null; + + EObject lv_arguments_12_0 = null; + + EObject lv_arguments_14_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:8231:2: ( ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) ) + // InternalExport.g:8232:2: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) + { + // InternalExport.g:8232:2: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) + // InternalExport.g:8233:3: () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? + { + // InternalExport.g:8233:3: () + // InternalExport.g:8234:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,80,FOLLOW_4); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); + + } + // InternalExport.g:8244:3: ( ( ruleQualifiedName ) ) + // InternalExport.g:8245:4: ( ruleQualifiedName ) + { + // InternalExport.g:8245:4: ( ruleQualifiedName ) + // InternalExport.g:8246:5: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXConstructorCallRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); + + } + pushFollow(FOLLOW_108); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:8260:3: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? + int alt141=2; + alt141 = dfa141.predict(input); + switch (alt141) { + case 1 : + // InternalExport.g:8261:4: ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' + { + // InternalExport.g:8261:4: ( ( '<' )=>otherlv_3= '<' ) + // InternalExport.g:8262:5: ( '<' )=>otherlv_3= '<' + { + otherlv_3=(Token)match(input,60,FOLLOW_81); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); + + } + + } + + // InternalExport.g:8268:4: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) + // InternalExport.g:8269:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) + { + // InternalExport.g:8269:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) + // InternalExport.g:8270:6: lv_typeArguments_4_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); + + } + pushFollow(FOLLOW_82); + lv_typeArguments_4_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:8287:4: (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* + loop140: + do { + int alt140=2; + int LA140_0 = input.LA(1); + + if ( (LA140_0==25) ) { + alt140=1; + } + + + switch (alt140) { + case 1 : + // InternalExport.g:8288:5: otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) + { + otherlv_5=(Token)match(input,25,FOLLOW_81); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); + + } + // InternalExport.g:8292:5: ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) + // InternalExport.g:8293:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) + { + // InternalExport.g:8293:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) + // InternalExport.g:8294:7: lv_typeArguments_6_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); + + } + pushFollow(FOLLOW_82); + lv_typeArguments_6_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_6_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop140; + } + } while (true); + + otherlv_7=(Token)match(input,59,FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); + + } + + } + break; + + } + + // InternalExport.g:8317:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? + int alt144=2; + alt144 = dfa144.predict(input); + switch (alt144) { + case 1 : + // InternalExport.g:8318:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' + { + // InternalExport.g:8318:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) + // InternalExport.g:8319:5: ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) + { + // InternalExport.g:8323:5: (lv_explicitConstructorCall_8_0= '(' ) + // InternalExport.g:8324:6: lv_explicitConstructorCall_8_0= '(' + { + lv_explicitConstructorCall_8_0=(Token)match(input,30,FOLLOW_84); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitConstructorCall_8_0, grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXConstructorCallRule()); + } + setWithLastConsumed(current, "explicitConstructorCall", lv_explicitConstructorCall_8_0 != null, "("); + + } + + } + + + } + + // InternalExport.g:8336:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? + int alt143=3; + alt143 = dfa143.predict(input); + switch (alt143) { + case 1 : + // InternalExport.g:8337:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) + { + // InternalExport.g:8337:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) + // InternalExport.g:8338:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) + { + // InternalExport.g:8363:6: (lv_arguments_9_0= ruleXShortClosure ) + // InternalExport.g:8364:7: lv_arguments_9_0= ruleXShortClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); + + } + pushFollow(FOLLOW_24); + lv_arguments_9_0=ruleXShortClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "arguments", + lv_arguments_9_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + case 2 : + // InternalExport.g:8382:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) + { + // InternalExport.g:8382:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) + // InternalExport.g:8383:6: ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* + { + // InternalExport.g:8383:6: ( (lv_arguments_10_0= ruleXExpression ) ) + // InternalExport.g:8384:7: (lv_arguments_10_0= ruleXExpression ) + { + // InternalExport.g:8384:7: (lv_arguments_10_0= ruleXExpression ) + // InternalExport.g:8385:8: lv_arguments_10_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); + + } + pushFollow(FOLLOW_57); + lv_arguments_10_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "arguments", + lv_arguments_10_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:8402:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* + loop142: + do { + int alt142=2; + int LA142_0 = input.LA(1); + + if ( (LA142_0==25) ) { + alt142=1; + } + + + switch (alt142) { + case 1 : + // InternalExport.g:8403:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) + { + otherlv_11=(Token)match(input,25,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_11, grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); + + } + // InternalExport.g:8407:7: ( (lv_arguments_12_0= ruleXExpression ) ) + // InternalExport.g:8408:8: (lv_arguments_12_0= ruleXExpression ) + { + // InternalExport.g:8408:8: (lv_arguments_12_0= ruleXExpression ) + // InternalExport.g:8409:9: lv_arguments_12_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); + + } + pushFollow(FOLLOW_57); + lv_arguments_12_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "arguments", + lv_arguments_12_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop142; + } + } while (true); + + + } + + + } + break; + + } + + otherlv_13=(Token)match(input,31,FOLLOW_107); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_13, grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); + + } + + } + break; + + } + + // InternalExport.g:8434:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? + int alt145=2; + alt145 = dfa145.predict(input); + switch (alt145) { + case 1 : + // InternalExport.g:8435:4: ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) + { + // InternalExport.g:8441:4: (lv_arguments_14_0= ruleXClosure ) + // InternalExport.g:8442:5: lv_arguments_14_0= ruleXClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); + + } + pushFollow(FOLLOW_2); + lv_arguments_14_0=ruleXClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "arguments", + lv_arguments_14_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXConstructorCall" + + + // $ANTLR start "entryRuleXBooleanLiteral" + // InternalExport.g:8463:1: entryRuleXBooleanLiteral returns [EObject current=null] : iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ; + public final EObject entryRuleXBooleanLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXBooleanLiteral = null; + + + try { + // InternalExport.g:8463:56: (iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ) + // InternalExport.g:8464:2: iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXBooleanLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXBooleanLiteral=ruleXBooleanLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXBooleanLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXBooleanLiteral" + + + // $ANTLR start "ruleXBooleanLiteral" + // InternalExport.g:8470:1: ruleXBooleanLiteral returns [EObject current=null] : ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ; + public final EObject ruleXBooleanLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token lv_isTrue_2_0=null; + + + enterRule(); + + try { + // InternalExport.g:8476:2: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ) + // InternalExport.g:8477:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) + { + // InternalExport.g:8477:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) + // InternalExport.g:8478:3: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) + { + // InternalExport.g:8478:3: () + // InternalExport.g:8479:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0(), + current); + + } + + } + + // InternalExport.g:8485:3: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) + int alt146=2; + int LA146_0 = input.LA(1); + + if ( (LA146_0==77) ) { + alt146=1; + } + else if ( (LA146_0==76) ) { + alt146=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 146, 0, input); + + throw nvae; + } + switch (alt146) { + case 1 : + // InternalExport.g:8486:4: otherlv_1= 'false' + { + otherlv_1=(Token)match(input,77,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); + + } + + } + break; + case 2 : + // InternalExport.g:8491:4: ( (lv_isTrue_2_0= 'true' ) ) + { + // InternalExport.g:8491:4: ( (lv_isTrue_2_0= 'true' ) ) + // InternalExport.g:8492:5: (lv_isTrue_2_0= 'true' ) + { + // InternalExport.g:8492:5: (lv_isTrue_2_0= 'true' ) + // InternalExport.g:8493:6: lv_isTrue_2_0= 'true' + { + lv_isTrue_2_0=(Token)match(input,76,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_isTrue_2_0, grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXBooleanLiteralRule()); + } + setWithLastConsumed(current, "isTrue", lv_isTrue_2_0 != null, "true"); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXBooleanLiteral" + + + // $ANTLR start "entryRuleXNullLiteral" + // InternalExport.g:8510:1: entryRuleXNullLiteral returns [EObject current=null] : iv_ruleXNullLiteral= ruleXNullLiteral EOF ; + public final EObject entryRuleXNullLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXNullLiteral = null; + + + try { + // InternalExport.g:8510:53: (iv_ruleXNullLiteral= ruleXNullLiteral EOF ) + // InternalExport.g:8511:2: iv_ruleXNullLiteral= ruleXNullLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXNullLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXNullLiteral=ruleXNullLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXNullLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXNullLiteral" + + + // $ANTLR start "ruleXNullLiteral" + // InternalExport.g:8517:1: ruleXNullLiteral returns [EObject current=null] : ( () otherlv_1= 'null' ) ; + public final EObject ruleXNullLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalExport.g:8523:2: ( ( () otherlv_1= 'null' ) ) + // InternalExport.g:8524:2: ( () otherlv_1= 'null' ) + { + // InternalExport.g:8524:2: ( () otherlv_1= 'null' ) + // InternalExport.g:8525:3: () otherlv_1= 'null' + { + // InternalExport.g:8525:3: () + // InternalExport.g:8526:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,78,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXNullLiteral" + + + // $ANTLR start "entryRuleXNumberLiteral" + // InternalExport.g:8540:1: entryRuleXNumberLiteral returns [EObject current=null] : iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ; + public final EObject entryRuleXNumberLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXNumberLiteral = null; + + + try { + // InternalExport.g:8540:55: (iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ) + // InternalExport.g:8541:2: iv_ruleXNumberLiteral= ruleXNumberLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXNumberLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXNumberLiteral=ruleXNumberLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXNumberLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXNumberLiteral" + + + // $ANTLR start "ruleXNumberLiteral" + // InternalExport.g:8547:1: ruleXNumberLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= ruleNumber ) ) ) ; + public final EObject ruleXNumberLiteral() throws RecognitionException { + EObject current = null; + + AntlrDatatypeRuleToken lv_value_1_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:8553:2: ( ( () ( (lv_value_1_0= ruleNumber ) ) ) ) + // InternalExport.g:8554:2: ( () ( (lv_value_1_0= ruleNumber ) ) ) + { + // InternalExport.g:8554:2: ( () ( (lv_value_1_0= ruleNumber ) ) ) + // InternalExport.g:8555:3: () ( (lv_value_1_0= ruleNumber ) ) + { + // InternalExport.g:8555:3: () + // InternalExport.g:8556:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0(), + current); + + } + + } + + // InternalExport.g:8562:3: ( (lv_value_1_0= ruleNumber ) ) + // InternalExport.g:8563:4: (lv_value_1_0= ruleNumber ) + { + // InternalExport.g:8563:4: (lv_value_1_0= ruleNumber ) + // InternalExport.g:8564:5: lv_value_1_0= ruleNumber + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_value_1_0=ruleNumber(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXNumberLiteralRule()); + } + set( + current, + "value", + lv_value_1_0, + "org.eclipse.xtext.xbase.Xbase.Number"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXNumberLiteral" + + + // $ANTLR start "entryRuleXStringLiteral" + // InternalExport.g:8585:1: entryRuleXStringLiteral returns [EObject current=null] : iv_ruleXStringLiteral= ruleXStringLiteral EOF ; + public final EObject entryRuleXStringLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXStringLiteral = null; + + + try { + // InternalExport.g:8585:55: (iv_ruleXStringLiteral= ruleXStringLiteral EOF ) + // InternalExport.g:8586:2: iv_ruleXStringLiteral= ruleXStringLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXStringLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXStringLiteral=ruleXStringLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXStringLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXStringLiteral" + + + // $ANTLR start "ruleXStringLiteral" + // InternalExport.g:8592:1: ruleXStringLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_STRING ) ) ) ; + public final EObject ruleXStringLiteral() throws RecognitionException { + EObject current = null; + + Token lv_value_1_0=null; + + + enterRule(); + + try { + // InternalExport.g:8598:2: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) ) + // InternalExport.g:8599:2: ( () ( (lv_value_1_0= RULE_STRING ) ) ) + { + // InternalExport.g:8599:2: ( () ( (lv_value_1_0= RULE_STRING ) ) ) + // InternalExport.g:8600:3: () ( (lv_value_1_0= RULE_STRING ) ) + { + // InternalExport.g:8600:3: () + // InternalExport.g:8601:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0(), + current); + + } + + } + + // InternalExport.g:8607:3: ( (lv_value_1_0= RULE_STRING ) ) + // InternalExport.g:8608:4: (lv_value_1_0= RULE_STRING ) + { + // InternalExport.g:8608:4: (lv_value_1_0= RULE_STRING ) + // InternalExport.g:8609:5: lv_value_1_0= RULE_STRING + { + lv_value_1_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_value_1_0, grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXStringLiteralRule()); + } + setWithLastConsumed( + current, + "value", + lv_value_1_0, + "org.eclipse.xtext.xbase.Xtype.STRING"); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXStringLiteral" + + + // $ANTLR start "entryRuleXTypeLiteral" + // InternalExport.g:8629:1: entryRuleXTypeLiteral returns [EObject current=null] : iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ; + public final EObject entryRuleXTypeLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXTypeLiteral = null; + + + try { + // InternalExport.g:8629:53: (iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ) + // InternalExport.g:8630:2: iv_ruleXTypeLiteral= ruleXTypeLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXTypeLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXTypeLiteral=ruleXTypeLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXTypeLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXTypeLiteral" + + + // $ANTLR start "ruleXTypeLiteral" + // InternalExport.g:8636:1: ruleXTypeLiteral returns [EObject current=null] : ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) ; + public final EObject ruleXTypeLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_5=null; + AntlrDatatypeRuleToken lv_arrayDimensions_4_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:8642:2: ( ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) ) + // InternalExport.g:8643:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) + { + // InternalExport.g:8643:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) + // InternalExport.g:8644:3: () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' + { + // InternalExport.g:8644:3: () + // InternalExport.g:8645:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,110,FOLLOW_23); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); + + } + otherlv_2=(Token)match(input,30,FOLLOW_4); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); + + } + // InternalExport.g:8659:3: ( ( ruleQualifiedName ) ) + // InternalExport.g:8660:4: ( ruleQualifiedName ) + { + // InternalExport.g:8660:4: ( ruleQualifiedName ) + // InternalExport.g:8661:5: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXTypeLiteralRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); + + } + pushFollow(FOLLOW_109); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:8675:3: ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* + loop147: + do { + int alt147=2; + int LA147_0 = input.LA(1); + + if ( (LA147_0==22) ) { + alt147=1; + } + + + switch (alt147) { + case 1 : + // InternalExport.g:8676:4: (lv_arrayDimensions_4_0= ruleArrayBrackets ) + { + // InternalExport.g:8676:4: (lv_arrayDimensions_4_0= ruleArrayBrackets ) + // InternalExport.g:8677:5: lv_arrayDimensions_4_0= ruleArrayBrackets + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); + + } + pushFollow(FOLLOW_109); + lv_arrayDimensions_4_0=ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXTypeLiteralRule()); + } + add( + current, + "arrayDimensions", + lv_arrayDimensions_4_0, + "org.eclipse.xtext.xbase.Xtype.ArrayBrackets"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop147; + } + } while (true); + + otherlv_5=(Token)match(input,31,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXTypeLiteral" + + + // $ANTLR start "entryRuleXThrowExpression" + // InternalExport.g:8702:1: entryRuleXThrowExpression returns [EObject current=null] : iv_ruleXThrowExpression= ruleXThrowExpression EOF ; + public final EObject entryRuleXThrowExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXThrowExpression = null; + + + try { + // InternalExport.g:8702:57: (iv_ruleXThrowExpression= ruleXThrowExpression EOF ) + // InternalExport.g:8703:2: iv_ruleXThrowExpression= ruleXThrowExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXThrowExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXThrowExpression=ruleXThrowExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXThrowExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXThrowExpression" + + + // $ANTLR start "ruleXThrowExpression" + // InternalExport.g:8709:1: ruleXThrowExpression returns [EObject current=null] : ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) ; + public final EObject ruleXThrowExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_expression_2_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:8715:2: ( ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) ) + // InternalExport.g:8716:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) + { + // InternalExport.g:8716:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) + // InternalExport.g:8717:3: () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) + { + // InternalExport.g:8717:3: () + // InternalExport.g:8718:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,111,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); + + } + // InternalExport.g:8728:3: ( (lv_expression_2_0= ruleXExpression ) ) + // InternalExport.g:8729:4: (lv_expression_2_0= ruleXExpression ) + { + // InternalExport.g:8729:4: (lv_expression_2_0= ruleXExpression ) + // InternalExport.g:8730:5: lv_expression_2_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_2); + lv_expression_2_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXThrowExpressionRule()); + } + set( + current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXThrowExpression" + + + // $ANTLR start "entryRuleXReturnExpression" + // InternalExport.g:8751:1: entryRuleXReturnExpression returns [EObject current=null] : iv_ruleXReturnExpression= ruleXReturnExpression EOF ; + public final EObject entryRuleXReturnExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXReturnExpression = null; + + + try { + // InternalExport.g:8751:58: (iv_ruleXReturnExpression= ruleXReturnExpression EOF ) + // InternalExport.g:8752:2: iv_ruleXReturnExpression= ruleXReturnExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXReturnExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXReturnExpression=ruleXReturnExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXReturnExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXReturnExpression" + + + // $ANTLR start "ruleXReturnExpression" + // InternalExport.g:8758:1: ruleXReturnExpression returns [EObject current=null] : ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) ; + public final EObject ruleXReturnExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_expression_2_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:8764:2: ( ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) ) + // InternalExport.g:8765:2: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) + { + // InternalExport.g:8765:2: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) + // InternalExport.g:8766:3: () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? + { + // InternalExport.g:8766:3: () + // InternalExport.g:8767:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,112,FOLLOW_110); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); + + } + // InternalExport.g:8777:3: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? + int alt148=2; + alt148 = dfa148.predict(input); + switch (alt148) { + case 1 : + // InternalExport.g:8778:4: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) + { + // InternalExport.g:8779:4: (lv_expression_2_0= ruleXExpression ) + // InternalExport.g:8780:5: lv_expression_2_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_2); + lv_expression_2_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXReturnExpressionRule()); + } + set( + current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXReturnExpression" + + + // $ANTLR start "entryRuleXTryCatchFinallyExpression" + // InternalExport.g:8801:1: entryRuleXTryCatchFinallyExpression returns [EObject current=null] : iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ; + public final EObject entryRuleXTryCatchFinallyExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXTryCatchFinallyExpression = null; + + + try { + // InternalExport.g:8801:67: (iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ) + // InternalExport.g:8802:2: iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXTryCatchFinallyExpression=ruleXTryCatchFinallyExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXTryCatchFinallyExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXTryCatchFinallyExpression" + + + // $ANTLR start "ruleXTryCatchFinallyExpression" + // InternalExport.g:8808:1: ruleXTryCatchFinallyExpression returns [EObject current=null] : ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) ; + public final EObject ruleXTryCatchFinallyExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_expression_2_0 = null; + + EObject lv_catchClauses_3_0 = null; + + EObject lv_finallyExpression_5_0 = null; + + EObject lv_finallyExpression_7_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:8814:2: ( ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) ) + // InternalExport.g:8815:2: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) + { + // InternalExport.g:8815:2: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) + // InternalExport.g:8816:3: () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) + { + // InternalExport.g:8816:3: () + // InternalExport.g:8817:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,113,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); + + } + // InternalExport.g:8827:3: ( (lv_expression_2_0= ruleXExpression ) ) + // InternalExport.g:8828:4: (lv_expression_2_0= ruleXExpression ) + { + // InternalExport.g:8828:4: (lv_expression_2_0= ruleXExpression ) + // InternalExport.g:8829:5: lv_expression_2_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_111); + lv_expression_2_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:8846:3: ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) + int alt151=2; + int LA151_0 = input.LA(1); + + if ( (LA151_0==116) ) { + alt151=1; + } + else if ( (LA151_0==114) ) { + alt151=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 151, 0, input); + + throw nvae; + } + switch (alt151) { + case 1 : + // InternalExport.g:8847:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) + { + // InternalExport.g:8847:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) + // InternalExport.g:8848:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? + { + // InternalExport.g:8848:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ + int cnt149=0; + loop149: + do { + int alt149=2; + int LA149_0 = input.LA(1); + + if ( (LA149_0==116) ) { + int LA149_2 = input.LA(2); + + if ( (synpred40_InternalExport()) ) { + alt149=1; + } + + + } + + + switch (alt149) { + case 1 : + // InternalExport.g:8849:6: ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) + { + // InternalExport.g:8850:6: (lv_catchClauses_3_0= ruleXCatchClause ) + // InternalExport.g:8851:7: lv_catchClauses_3_0= ruleXCatchClause + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); + + } + pushFollow(FOLLOW_112); + lv_catchClauses_3_0=ruleXCatchClause(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + add( + current, + "catchClauses", + lv_catchClauses_3_0, + "org.eclipse.xtext.xbase.Xbase.XCatchClause"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + if ( cnt149 >= 1 ) break loop149; + if (state.backtracking>0) {state.failed=true; return current;} + EarlyExitException eee = + new EarlyExitException(149, input); + throw eee; + } + cnt149++; + } while (true); + + // InternalExport.g:8868:5: ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? + int alt150=2; + int LA150_0 = input.LA(1); + + if ( (LA150_0==114) ) { + int LA150_1 = input.LA(2); + + if ( (synpred41_InternalExport()) ) { + alt150=1; + } + } + switch (alt150) { + case 1 : + // InternalExport.g:8869:6: ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) + { + // InternalExport.g:8869:6: ( ( 'finally' )=>otherlv_4= 'finally' ) + // InternalExport.g:8870:7: ( 'finally' )=>otherlv_4= 'finally' + { + otherlv_4=(Token)match(input,114,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); + + } + + } + + // InternalExport.g:8876:6: ( (lv_finallyExpression_5_0= ruleXExpression ) ) + // InternalExport.g:8877:7: (lv_finallyExpression_5_0= ruleXExpression ) + { + // InternalExport.g:8877:7: (lv_finallyExpression_5_0= ruleXExpression ) + // InternalExport.g:8878:8: lv_finallyExpression_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); + + } + pushFollow(FOLLOW_2); + lv_finallyExpression_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + current, + "finallyExpression", + lv_finallyExpression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + break; + case 2 : + // InternalExport.g:8898:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) + { + // InternalExport.g:8898:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) + // InternalExport.g:8899:5: otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) + { + otherlv_6=(Token)match(input,114,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); + + } + // InternalExport.g:8903:5: ( (lv_finallyExpression_7_0= ruleXExpression ) ) + // InternalExport.g:8904:6: (lv_finallyExpression_7_0= ruleXExpression ) + { + // InternalExport.g:8904:6: (lv_finallyExpression_7_0= ruleXExpression ) + // InternalExport.g:8905:7: lv_finallyExpression_7_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); + + } + pushFollow(FOLLOW_2); + lv_finallyExpression_7_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + current, + "finallyExpression", + lv_finallyExpression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXTryCatchFinallyExpression" + + + // $ANTLR start "entryRuleXSynchronizedExpression" + // InternalExport.g:8928:1: entryRuleXSynchronizedExpression returns [EObject current=null] : iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ; + public final EObject entryRuleXSynchronizedExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXSynchronizedExpression = null; + + + try { + // InternalExport.g:8928:64: (iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ) + // InternalExport.g:8929:2: iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXSynchronizedExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXSynchronizedExpression=ruleXSynchronizedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXSynchronizedExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXSynchronizedExpression" + + + // $ANTLR start "ruleXSynchronizedExpression" + // InternalExport.g:8935:1: ruleXSynchronizedExpression returns [EObject current=null] : ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) ; + public final EObject ruleXSynchronizedExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + EObject lv_param_3_0 = null; + + EObject lv_expression_5_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:8941:2: ( ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) ) + // InternalExport.g:8942:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) + { + // InternalExport.g:8942:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) + // InternalExport.g:8943:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) + { + // InternalExport.g:8943:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) + // InternalExport.g:8944:4: ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) + { + // InternalExport.g:8951:4: ( () otherlv_1= 'synchronized' otherlv_2= '(' ) + // InternalExport.g:8952:5: () otherlv_1= 'synchronized' otherlv_2= '(' + { + // InternalExport.g:8952:5: () + // InternalExport.g:8953:6: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,115,FOLLOW_23); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); + + } + otherlv_2=(Token)match(input,30,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + + } + + } + + + } + + // InternalExport.g:8969:3: ( (lv_param_3_0= ruleXExpression ) ) + // InternalExport.g:8970:4: (lv_param_3_0= ruleXExpression ) + { + // InternalExport.g:8970:4: (lv_param_3_0= ruleXExpression ) + // InternalExport.g:8971:5: lv_param_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_24); + lv_param_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule()); + } + set( + current, + "param", + lv_param_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,31,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); + + } + // InternalExport.g:8992:3: ( (lv_expression_5_0= ruleXExpression ) ) + // InternalExport.g:8993:4: (lv_expression_5_0= ruleXExpression ) + { + // InternalExport.g:8993:4: (lv_expression_5_0= ruleXExpression ) + // InternalExport.g:8994:5: lv_expression_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_2); + lv_expression_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule()); + } + set( + current, + "expression", + lv_expression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXSynchronizedExpression" + + + // $ANTLR start "entryRuleXCatchClause" + // InternalExport.g:9015:1: entryRuleXCatchClause returns [EObject current=null] : iv_ruleXCatchClause= ruleXCatchClause EOF ; + public final EObject entryRuleXCatchClause() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXCatchClause = null; + + + try { + // InternalExport.g:9015:53: (iv_ruleXCatchClause= ruleXCatchClause EOF ) + // InternalExport.g:9016:2: iv_ruleXCatchClause= ruleXCatchClause EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXCatchClauseRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXCatchClause=ruleXCatchClause(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXCatchClause; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXCatchClause" + + + // $ANTLR start "ruleXCatchClause" + // InternalExport.g:9022:1: ruleXCatchClause returns [EObject current=null] : ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) ; + public final EObject ruleXCatchClause() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_3=null; + EObject lv_declaredParam_2_0 = null; + + EObject lv_expression_4_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:9028:2: ( ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) ) + // InternalExport.g:9029:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) + { + // InternalExport.g:9029:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) + // InternalExport.g:9030:3: ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) + { + // InternalExport.g:9030:3: ( ( 'catch' )=>otherlv_0= 'catch' ) + // InternalExport.g:9031:4: ( 'catch' )=>otherlv_0= 'catch' + { + otherlv_0=(Token)match(input,116,FOLLOW_23); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); + + } + + } + + otherlv_1=(Token)match(input,30,FOLLOW_71); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); + + } + // InternalExport.g:9041:3: ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) + // InternalExport.g:9042:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) + { + // InternalExport.g:9042:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) + // InternalExport.g:9043:5: lv_declaredParam_2_0= ruleFullJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_24); + lv_declaredParam_2_0=ruleFullJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCatchClauseRule()); + } + set( + current, + "declaredParam", + lv_declaredParam_2_0, + "org.eclipse.xtext.xbase.Xbase.FullJvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_3=(Token)match(input,31,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); + + } + // InternalExport.g:9064:3: ( (lv_expression_4_0= ruleXExpression ) ) + // InternalExport.g:9065:4: (lv_expression_4_0= ruleXExpression ) + { + // InternalExport.g:9065:4: (lv_expression_4_0= ruleXExpression ) + // InternalExport.g:9066:5: lv_expression_4_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); + + } + pushFollow(FOLLOW_2); + lv_expression_4_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCatchClauseRule()); + } + set( + current, + "expression", + lv_expression_4_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXCatchClause" + + + // $ANTLR start "entryRuleQualifiedName" + // InternalExport.g:9087:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; + public final String entryRuleQualifiedName() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleQualifiedName = null; + + + try { + // InternalExport.g:9087:53: (iv_ruleQualifiedName= ruleQualifiedName EOF ) + // InternalExport.g:9088:2: iv_ruleQualifiedName= ruleQualifiedName EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getQualifiedNameRule()); + } + pushFollow(FOLLOW_1); + iv_ruleQualifiedName=ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleQualifiedName.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleQualifiedName" + + + // $ANTLR start "ruleQualifiedName" + // InternalExport.g:9094:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) ; + public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + AntlrDatatypeRuleToken this_ValidID_0 = null; + + AntlrDatatypeRuleToken this_ValidID_2 = null; + + + + enterRule(); + + try { + // InternalExport.g:9100:2: ( (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) ) + // InternalExport.g:9101:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) + { + // InternalExport.g:9101:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) + // InternalExport.g:9102:3: this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); + + } + pushFollow(FOLLOW_55); + this_ValidID_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_ValidID_0); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + // InternalExport.g:9112:3: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* + loop152: + do { + int alt152=2; + int LA152_0 = input.LA(1); + + if ( (LA152_0==65) ) { + int LA152_2 = input.LA(2); + + if ( (LA152_2==RULE_ID) ) { + int LA152_3 = input.LA(3); + + if ( (synpred44_InternalExport()) ) { + alt152=1; + } + + + } + + + } + + + switch (alt152) { + case 1 : + // InternalExport.g:9113:4: ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID + { + // InternalExport.g:9113:4: ( ( '.' )=>kw= '.' ) + // InternalExport.g:9114:5: ( '.' )=>kw= '.' + { + kw=(Token)match(input,65,FOLLOW_4); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); + + } + + } + + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); + + } + pushFollow(FOLLOW_55); + this_ValidID_2=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_ValidID_2); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + break; + + default : + break loop152; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleQualifiedName" + + + // $ANTLR start "entryRuleNumber" + // InternalExport.g:9136:1: entryRuleNumber returns [String current=null] : iv_ruleNumber= ruleNumber EOF ; + public final String entryRuleNumber() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleNumber = null; + + + + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); + + try { + // InternalExport.g:9138:2: (iv_ruleNumber= ruleNumber EOF ) + // InternalExport.g:9139:2: iv_ruleNumber= ruleNumber EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getNumberRule()); + } + pushFollow(FOLLOW_1); + iv_ruleNumber=ruleNumber(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleNumber.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + + myHiddenTokenState.restore(); + + } + return current; + } + // $ANTLR end "entryRuleNumber" + + + // $ANTLR start "ruleNumber" + // InternalExport.g:9148:1: ruleNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) ; + public final AntlrDatatypeRuleToken ruleNumber() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token this_HEX_0=null; + Token this_INT_1=null; + Token this_DECIMAL_2=null; + Token kw=null; + Token this_INT_4=null; + Token this_DECIMAL_5=null; + + + enterRule(); + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); + + try { + // InternalExport.g:9155:2: ( (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) ) + // InternalExport.g:9156:2: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) + { + // InternalExport.g:9156:2: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) + int alt156=2; + int LA156_0 = input.LA(1); + + if ( (LA156_0==RULE_HEX) ) { + alt156=1; + } + else if ( (LA156_0==RULE_INT||LA156_0==RULE_DECIMAL) ) { + alt156=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 156, 0, input); + + throw nvae; + } + switch (alt156) { + case 1 : + // InternalExport.g:9157:3: this_HEX_0= RULE_HEX + { + this_HEX_0=(Token)match(input,RULE_HEX,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_HEX_0); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_HEX_0, grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); + + } + + } + break; + case 2 : + // InternalExport.g:9165:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) + { + // InternalExport.g:9165:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) + // InternalExport.g:9166:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? + { + // InternalExport.g:9166:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) + int alt153=2; + int LA153_0 = input.LA(1); + + if ( (LA153_0==RULE_INT) ) { + alt153=1; + } + else if ( (LA153_0==RULE_DECIMAL) ) { + alt153=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 153, 0, input); + + throw nvae; + } + switch (alt153) { + case 1 : + // InternalExport.g:9167:5: this_INT_1= RULE_INT + { + this_INT_1=(Token)match(input,RULE_INT,FOLLOW_55); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_INT_1); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_INT_1, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); + + } + + } + break; + case 2 : + // InternalExport.g:9175:5: this_DECIMAL_2= RULE_DECIMAL + { + this_DECIMAL_2=(Token)match(input,RULE_DECIMAL,FOLLOW_55); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_DECIMAL_2); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_DECIMAL_2, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); + + } + + } + break; + + } + + // InternalExport.g:9183:4: (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? + int alt155=2; + int LA155_0 = input.LA(1); + + if ( (LA155_0==65) ) { + int LA155_1 = input.LA(2); + + if ( (LA155_1==RULE_INT||LA155_1==RULE_DECIMAL) ) { + alt155=1; + } + } + switch (alt155) { + case 1 : + // InternalExport.g:9184:5: kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) + { + kw=(Token)match(input,65,FOLLOW_113); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); + + } + // InternalExport.g:9189:5: (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) + int alt154=2; + int LA154_0 = input.LA(1); + + if ( (LA154_0==RULE_INT) ) { + alt154=1; + } + else if ( (LA154_0==RULE_DECIMAL) ) { + alt154=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 154, 0, input); + + throw nvae; + } + switch (alt154) { + case 1 : + // InternalExport.g:9190:6: this_INT_4= RULE_INT + { + this_INT_4=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_INT_4); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_INT_4, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); + + } + + } + break; + case 2 : + // InternalExport.g:9198:6: this_DECIMAL_5= RULE_DECIMAL + { + this_DECIMAL_5=(Token)match(input,RULE_DECIMAL,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_DECIMAL_5); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_DECIMAL_5, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); + + } + + } + break; + + } + + + } + break; + + } + + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + + myHiddenTokenState.restore(); + + } + return current; + } + // $ANTLR end "ruleNumber" + + + // $ANTLR start "entryRuleJvmTypeReference" + // InternalExport.g:9215:1: entryRuleJvmTypeReference returns [EObject current=null] : iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ; + public final EObject entryRuleJvmTypeReference() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmTypeReference = null; + + + try { + // InternalExport.g:9215:57: (iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ) + // InternalExport.g:9216:2: iv_ruleJvmTypeReference= ruleJvmTypeReference EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmTypeReference=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmTypeReference; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmTypeReference" + + + // $ANTLR start "ruleJvmTypeReference" + // InternalExport.g:9222:1: ruleJvmTypeReference returns [EObject current=null] : ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) ; + public final EObject ruleJvmTypeReference() throws RecognitionException { + EObject current = null; + + EObject this_JvmParameterizedTypeReference_0 = null; + + EObject this_XFunctionTypeRef_3 = null; + + + + enterRule(); + + try { + // InternalExport.g:9228:2: ( ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) ) + // InternalExport.g:9229:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) + { + // InternalExport.g:9229:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) + int alt158=2; + int LA158_0 = input.LA(1); + + if ( (LA158_0==RULE_ID) ) { + alt158=1; + } + else if ( (LA158_0==30||LA158_0==94) ) { + alt158=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 158, 0, input); + + throw nvae; + } + switch (alt158) { + case 1 : + // InternalExport.g:9230:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) + { + // InternalExport.g:9230:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) + // InternalExport.g:9231:4: this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); + + } + pushFollow(FOLLOW_107); + this_JvmParameterizedTypeReference_0=ruleJvmParameterizedTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_JvmParameterizedTypeReference_0; + afterParserOrEnumRuleCall(); + + } + // InternalExport.g:9239:4: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* + loop157: + do { + int alt157=2; + int LA157_0 = input.LA(1); + + if ( (LA157_0==22) ) { + int LA157_2 = input.LA(2); + + if ( (LA157_2==23) ) { + int LA157_3 = input.LA(3); + + if ( (synpred45_InternalExport()) ) { + alt157=1; + } + + + } + + + } + + + switch (alt157) { + case 1 : + // InternalExport.g:9240:5: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) + { + // InternalExport.g:9246:5: ( () ruleArrayBrackets ) + // InternalExport.g:9247:6: () ruleArrayBrackets + { + // InternalExport.g:9247:6: () + // InternalExport.g:9248:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0(), + current); + + } + + } + + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); + + } + pushFollow(FOLLOW_107); + ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop157; + } + } while (true); + + + } + + + } + break; + case 2 : + // InternalExport.g:9265:3: this_XFunctionTypeRef_3= ruleXFunctionTypeRef + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XFunctionTypeRef_3=ruleXFunctionTypeRef(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XFunctionTypeRef_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmTypeReference" + + + // $ANTLR start "entryRuleArrayBrackets" + // InternalExport.g:9277:1: entryRuleArrayBrackets returns [String current=null] : iv_ruleArrayBrackets= ruleArrayBrackets EOF ; + public final String entryRuleArrayBrackets() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleArrayBrackets = null; + + + try { + // InternalExport.g:9277:53: (iv_ruleArrayBrackets= ruleArrayBrackets EOF ) + // InternalExport.g:9278:2: iv_ruleArrayBrackets= ruleArrayBrackets EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getArrayBracketsRule()); + } + pushFollow(FOLLOW_1); + iv_ruleArrayBrackets=ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleArrayBrackets.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleArrayBrackets" + + + // $ANTLR start "ruleArrayBrackets" + // InternalExport.g:9284:1: ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '[' kw= ']' ) ; + public final AntlrDatatypeRuleToken ruleArrayBrackets() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExport.g:9290:2: ( (kw= '[' kw= ']' ) ) + // InternalExport.g:9291:2: (kw= '[' kw= ']' ) + { + // InternalExport.g:9291:2: (kw= '[' kw= ']' ) + // InternalExport.g:9292:3: kw= '[' kw= ']' + { + kw=(Token)match(input,22,FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); + + } + kw=(Token)match(input,23,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleArrayBrackets" + + + // $ANTLR start "entryRuleXFunctionTypeRef" + // InternalExport.g:9306:1: entryRuleXFunctionTypeRef returns [EObject current=null] : iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ; + public final EObject entryRuleXFunctionTypeRef() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXFunctionTypeRef = null; + + + try { + // InternalExport.g:9306:57: (iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ) + // InternalExport.g:9307:2: iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXFunctionTypeRefRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXFunctionTypeRef=ruleXFunctionTypeRef(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXFunctionTypeRef; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXFunctionTypeRef" + + + // $ANTLR start "ruleXFunctionTypeRef" + // InternalExport.g:9313:1: ruleXFunctionTypeRef returns [EObject current=null] : ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ; + public final EObject ruleXFunctionTypeRef() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_5=null; + EObject lv_paramTypes_1_0 = null; + + EObject lv_paramTypes_3_0 = null; + + EObject lv_returnType_6_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:9319:2: ( ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ) + // InternalExport.g:9320:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) + { + // InternalExport.g:9320:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) + // InternalExport.g:9321:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) + { + // InternalExport.g:9321:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? + int alt161=2; + int LA161_0 = input.LA(1); + + if ( (LA161_0==30) ) { + alt161=1; + } + switch (alt161) { + case 1 : + // InternalExport.g:9322:4: otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' + { + otherlv_0=(Token)match(input,30,FOLLOW_114); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); + + } + // InternalExport.g:9326:4: ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? + int alt160=2; + int LA160_0 = input.LA(1); + + if ( (LA160_0==RULE_ID||LA160_0==30||LA160_0==94) ) { + alt160=1; + } + switch (alt160) { + case 1 : + // InternalExport.g:9327:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* + { + // InternalExport.g:9327:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) + // InternalExport.g:9328:6: (lv_paramTypes_1_0= ruleJvmTypeReference ) + { + // InternalExport.g:9328:6: (lv_paramTypes_1_0= ruleJvmTypeReference ) + // InternalExport.g:9329:7: lv_paramTypes_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); + + } + pushFollow(FOLLOW_57); + lv_paramTypes_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + add( + current, + "paramTypes", + lv_paramTypes_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:9346:5: (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* + loop159: + do { + int alt159=2; + int LA159_0 = input.LA(1); + + if ( (LA159_0==25) ) { + alt159=1; + } + + + switch (alt159) { + case 1 : + // InternalExport.g:9347:6: otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) + { + otherlv_2=(Token)match(input,25,FOLLOW_71); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); + + } + // InternalExport.g:9351:6: ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) + // InternalExport.g:9352:7: (lv_paramTypes_3_0= ruleJvmTypeReference ) + { + // InternalExport.g:9352:7: (lv_paramTypes_3_0= ruleJvmTypeReference ) + // InternalExport.g:9353:8: lv_paramTypes_3_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); + + } + pushFollow(FOLLOW_57); + lv_paramTypes_3_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + add( + current, + "paramTypes", + lv_paramTypes_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop159; + } + } while (true); + + + } + break; + + } + + otherlv_4=(Token)match(input,31,FOLLOW_115); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); + + } + + } + break; + + } + + otherlv_5=(Token)match(input,94,FOLLOW_71); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); + + } + // InternalExport.g:9381:3: ( (lv_returnType_6_0= ruleJvmTypeReference ) ) + // InternalExport.g:9382:4: (lv_returnType_6_0= ruleJvmTypeReference ) + { + // InternalExport.g:9382:4: (lv_returnType_6_0= ruleJvmTypeReference ) + // InternalExport.g:9383:5: lv_returnType_6_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_2); + lv_returnType_6_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + set( + current, + "returnType", + lv_returnType_6_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXFunctionTypeRef" + + + // $ANTLR start "entryRuleJvmParameterizedTypeReference" + // InternalExport.g:9404:1: entryRuleJvmParameterizedTypeReference returns [EObject current=null] : iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ; + public final EObject entryRuleJvmParameterizedTypeReference() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmParameterizedTypeReference = null; + + + try { + // InternalExport.g:9404:70: (iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ) + // InternalExport.g:9405:2: iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmParameterizedTypeReference=ruleJvmParameterizedTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmParameterizedTypeReference; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmParameterizedTypeReference" + + + // $ANTLR start "ruleJvmParameterizedTypeReference" + // InternalExport.g:9411:1: ruleJvmParameterizedTypeReference returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) ; + public final EObject ruleJvmParameterizedTypeReference() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_11=null; + Token otherlv_13=null; + EObject lv_arguments_2_0 = null; + + EObject lv_arguments_4_0 = null; + + EObject lv_arguments_10_0 = null; + + EObject lv_arguments_12_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:9417:2: ( ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) ) + // InternalExport.g:9418:2: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) + { + // InternalExport.g:9418:2: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) + // InternalExport.g:9419:3: ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? + { + // InternalExport.g:9419:3: ( ( ruleQualifiedName ) ) + // InternalExport.g:9420:4: ( ruleQualifiedName ) + { + // InternalExport.g:9420:4: ( ruleQualifiedName ) + // InternalExport.g:9421:5: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); + + } + pushFollow(FOLLOW_116); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:9435:3: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? + int alt166=2; + alt166 = dfa166.predict(input); + switch (alt166) { + case 1 : + // InternalExport.g:9436:4: ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* + { + // InternalExport.g:9436:4: ( ( '<' )=>otherlv_1= '<' ) + // InternalExport.g:9437:5: ( '<' )=>otherlv_1= '<' + { + otherlv_1=(Token)match(input,60,FOLLOW_81); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); + + } + + } + + // InternalExport.g:9443:4: ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) + // InternalExport.g:9444:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference ) + { + // InternalExport.g:9444:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference ) + // InternalExport.g:9445:6: lv_arguments_2_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_82); + lv_arguments_2_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + current, + "arguments", + lv_arguments_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:9462:4: (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* + loop162: + do { + int alt162=2; + int LA162_0 = input.LA(1); + + if ( (LA162_0==25) ) { + alt162=1; + } + + + switch (alt162) { + case 1 : + // InternalExport.g:9463:5: otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) + { + otherlv_3=(Token)match(input,25,FOLLOW_81); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); + + } + // InternalExport.g:9467:5: ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) + // InternalExport.g:9468:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference ) + { + // InternalExport.g:9468:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference ) + // InternalExport.g:9469:7: lv_arguments_4_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + + } + pushFollow(FOLLOW_82); + lv_arguments_4_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + current, + "arguments", + lv_arguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop162; + } + } while (true); + + otherlv_5=(Token)match(input,59,FOLLOW_55); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); + + } + // InternalExport.g:9491:4: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* + loop165: + do { + int alt165=2; + int LA165_0 = input.LA(1); + + if ( (LA165_0==65) ) { + int LA165_2 = input.LA(2); + + if ( (LA165_2==RULE_ID) ) { + int LA165_3 = input.LA(3); + + if ( (synpred47_InternalExport()) ) { + alt165=1; + } + + + } + + + } + + + switch (alt165) { + case 1 : + // InternalExport.g:9492:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? + { + // InternalExport.g:9492:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) + // InternalExport.g:9493:6: ( ( () '.' ) )=> ( () otherlv_7= '.' ) + { + // InternalExport.g:9499:6: ( () otherlv_7= '.' ) + // InternalExport.g:9500:7: () otherlv_7= '.' + { + // InternalExport.g:9500:7: () + // InternalExport.g:9501:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0(), + current); + + } + + } + + otherlv_7=(Token)match(input,65,FOLLOW_4); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); + + } + + } + + + } + + // InternalExport.g:9513:5: ( ( ruleValidID ) ) + // InternalExport.g:9514:6: ( ruleValidID ) + { + // InternalExport.g:9514:6: ( ruleValidID ) + // InternalExport.g:9515:7: ruleValidID + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); + + } + pushFollow(FOLLOW_117); + ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:9529:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? + int alt164=2; + alt164 = dfa164.predict(input); + switch (alt164) { + case 1 : + // InternalExport.g:9530:6: ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' + { + // InternalExport.g:9530:6: ( ( '<' )=>otherlv_9= '<' ) + // InternalExport.g:9531:7: ( '<' )=>otherlv_9= '<' + { + otherlv_9=(Token)match(input,60,FOLLOW_81); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_9, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); + + } + + } + + // InternalExport.g:9537:6: ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) + // InternalExport.g:9538:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference ) + { + // InternalExport.g:9538:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference ) + // InternalExport.g:9539:8: lv_arguments_10_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); + + } + pushFollow(FOLLOW_82); + lv_arguments_10_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + current, + "arguments", + lv_arguments_10_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:9556:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* + loop163: + do { + int alt163=2; + int LA163_0 = input.LA(1); + + if ( (LA163_0==25) ) { + alt163=1; + } + + + switch (alt163) { + case 1 : + // InternalExport.g:9557:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) + { + otherlv_11=(Token)match(input,25,FOLLOW_81); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_11, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); + + } + // InternalExport.g:9561:7: ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) + // InternalExport.g:9562:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference ) + { + // InternalExport.g:9562:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference ) + // InternalExport.g:9563:9: lv_arguments_12_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); + + } + pushFollow(FOLLOW_82); + lv_arguments_12_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + current, + "arguments", + lv_arguments_12_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop163; + } + } while (true); + + otherlv_13=(Token)match(input,59,FOLLOW_55); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_13, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); + + } + + } + break; + + } + + + } + break; + + default : + break loop165; + } + } while (true); + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmParameterizedTypeReference" + + + // $ANTLR start "entryRuleJvmArgumentTypeReference" + // InternalExport.g:9592:1: entryRuleJvmArgumentTypeReference returns [EObject current=null] : iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ; + public final EObject entryRuleJvmArgumentTypeReference() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmArgumentTypeReference = null; + + + try { + // InternalExport.g:9592:65: (iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ) + // InternalExport.g:9593:2: iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmArgumentTypeReference=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmArgumentTypeReference; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmArgumentTypeReference" + + + // $ANTLR start "ruleJvmArgumentTypeReference" + // InternalExport.g:9599:1: ruleJvmArgumentTypeReference returns [EObject current=null] : (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) ; + public final EObject ruleJvmArgumentTypeReference() throws RecognitionException { + EObject current = null; + + EObject this_JvmTypeReference_0 = null; + + EObject this_JvmWildcardTypeReference_1 = null; + + + + enterRule(); + + try { + // InternalExport.g:9605:2: ( (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) ) + // InternalExport.g:9606:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) + { + // InternalExport.g:9606:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) + int alt167=2; + int LA167_0 = input.LA(1); + + if ( (LA167_0==RULE_ID||LA167_0==30||LA167_0==94) ) { + alt167=1; + } + else if ( (LA167_0==45) ) { + alt167=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 167, 0, input); + + throw nvae; + } + switch (alt167) { + case 1 : + // InternalExport.g:9607:3: this_JvmTypeReference_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_JvmTypeReference_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_JvmTypeReference_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalExport.g:9616:3: this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_JvmWildcardTypeReference_1=ruleJvmWildcardTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_JvmWildcardTypeReference_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmArgumentTypeReference" + + + // $ANTLR start "entryRuleJvmWildcardTypeReference" + // InternalExport.g:9628:1: entryRuleJvmWildcardTypeReference returns [EObject current=null] : iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ; + public final EObject entryRuleJvmWildcardTypeReference() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmWildcardTypeReference = null; + + + try { + // InternalExport.g:9628:65: (iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ) + // InternalExport.g:9629:2: iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmWildcardTypeReference=ruleJvmWildcardTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmWildcardTypeReference; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmWildcardTypeReference" + + + // $ANTLR start "ruleJvmWildcardTypeReference" + // InternalExport.g:9635:1: ruleJvmWildcardTypeReference returns [EObject current=null] : ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) ; + public final EObject ruleJvmWildcardTypeReference() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_constraints_2_0 = null; + + EObject lv_constraints_3_0 = null; + + EObject lv_constraints_4_0 = null; + + EObject lv_constraints_5_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:9641:2: ( ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) ) + // InternalExport.g:9642:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) + { + // InternalExport.g:9642:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) + // InternalExport.g:9643:3: () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? + { + // InternalExport.g:9643:3: () + // InternalExport.g:9644:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,45,FOLLOW_118); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); + + } + // InternalExport.g:9654:3: ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? + int alt170=3; + int LA170_0 = input.LA(1); + + if ( (LA170_0==107) ) { + alt170=1; + } + else if ( (LA170_0==109) ) { + alt170=2; + } + switch (alt170) { + case 1 : + // InternalExport.g:9655:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) + { + // InternalExport.g:9655:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) + // InternalExport.g:9656:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* + { + // InternalExport.g:9656:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) + // InternalExport.g:9657:6: (lv_constraints_2_0= ruleJvmUpperBound ) + { + // InternalExport.g:9657:6: (lv_constraints_2_0= ruleJvmUpperBound ) + // InternalExport.g:9658:7: lv_constraints_2_0= ruleJvmUpperBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); + + } + pushFollow(FOLLOW_119); + lv_constraints_2_0=ruleJvmUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + current, + "constraints", + lv_constraints_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmUpperBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:9675:5: ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* + loop168: + do { + int alt168=2; + int LA168_0 = input.LA(1); + + if ( (LA168_0==117) ) { + alt168=1; + } + + + switch (alt168) { + case 1 : + // InternalExport.g:9676:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded ) + { + // InternalExport.g:9676:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded ) + // InternalExport.g:9677:7: lv_constraints_3_0= ruleJvmUpperBoundAnded + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); + + } + pushFollow(FOLLOW_119); + lv_constraints_3_0=ruleJvmUpperBoundAnded(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + current, + "constraints", + lv_constraints_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmUpperBoundAnded"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop168; + } + } while (true); + + + } + + + } + break; + case 2 : + // InternalExport.g:9696:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) + { + // InternalExport.g:9696:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) + // InternalExport.g:9697:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* + { + // InternalExport.g:9697:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) + // InternalExport.g:9698:6: (lv_constraints_4_0= ruleJvmLowerBound ) + { + // InternalExport.g:9698:6: (lv_constraints_4_0= ruleJvmLowerBound ) + // InternalExport.g:9699:7: lv_constraints_4_0= ruleJvmLowerBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); + + } + pushFollow(FOLLOW_119); + lv_constraints_4_0=ruleJvmLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + current, + "constraints", + lv_constraints_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmLowerBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:9716:5: ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* + loop169: + do { + int alt169=2; + int LA169_0 = input.LA(1); + + if ( (LA169_0==117) ) { + alt169=1; + } + + + switch (alt169) { + case 1 : + // InternalExport.g:9717:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded ) + { + // InternalExport.g:9717:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded ) + // InternalExport.g:9718:7: lv_constraints_5_0= ruleJvmLowerBoundAnded + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); + + } + pushFollow(FOLLOW_119); + lv_constraints_5_0=ruleJvmLowerBoundAnded(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + current, + "constraints", + lv_constraints_5_0, + "org.eclipse.xtext.xbase.Xtype.JvmLowerBoundAnded"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop169; + } + } while (true); + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmWildcardTypeReference" + + + // $ANTLR start "entryRuleJvmUpperBound" + // InternalExport.g:9741:1: entryRuleJvmUpperBound returns [EObject current=null] : iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ; + public final EObject entryRuleJvmUpperBound() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmUpperBound = null; + + + try { + // InternalExport.g:9741:54: (iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ) + // InternalExport.g:9742:2: iv_ruleJvmUpperBound= ruleJvmUpperBound EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmUpperBoundRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmUpperBound=ruleJvmUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmUpperBound; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmUpperBound" + + + // $ANTLR start "ruleJvmUpperBound" + // InternalExport.g:9748:1: ruleJvmUpperBound returns [EObject current=null] : (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ; + public final EObject ruleJvmUpperBound() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_typeReference_1_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:9754:2: ( (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) + // InternalExport.g:9755:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + { + // InternalExport.g:9755:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + // InternalExport.g:9756:3: otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + { + otherlv_0=(Token)match(input,107,FOLLOW_71); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); + + } + // InternalExport.g:9760:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + // InternalExport.g:9761:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + { + // InternalExport.g:9761:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + // InternalExport.g:9762:5: lv_typeReference_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_typeReference_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmUpperBoundRule()); + } + set( + current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmUpperBound" + + + // $ANTLR start "entryRuleJvmUpperBoundAnded" + // InternalExport.g:9783:1: entryRuleJvmUpperBoundAnded returns [EObject current=null] : iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ; + public final EObject entryRuleJvmUpperBoundAnded() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmUpperBoundAnded = null; + + + try { + // InternalExport.g:9783:59: (iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ) + // InternalExport.g:9784:2: iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmUpperBoundAndedRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmUpperBoundAnded=ruleJvmUpperBoundAnded(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmUpperBoundAnded; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmUpperBoundAnded" + + + // $ANTLR start "ruleJvmUpperBoundAnded" + // InternalExport.g:9790:1: ruleJvmUpperBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ; + public final EObject ruleJvmUpperBoundAnded() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_typeReference_1_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:9796:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) + // InternalExport.g:9797:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + { + // InternalExport.g:9797:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + // InternalExport.g:9798:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + { + otherlv_0=(Token)match(input,117,FOLLOW_71); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); + + } + // InternalExport.g:9802:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + // InternalExport.g:9803:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + { + // InternalExport.g:9803:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + // InternalExport.g:9804:5: lv_typeReference_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_typeReference_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmUpperBoundAndedRule()); + } + set( + current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmUpperBoundAnded" + + + // $ANTLR start "entryRuleJvmLowerBound" + // InternalExport.g:9825:1: entryRuleJvmLowerBound returns [EObject current=null] : iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ; + public final EObject entryRuleJvmLowerBound() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmLowerBound = null; + + + try { + // InternalExport.g:9825:54: (iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ) + // InternalExport.g:9826:2: iv_ruleJvmLowerBound= ruleJvmLowerBound EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmLowerBoundRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmLowerBound=ruleJvmLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmLowerBound; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmLowerBound" + + + // $ANTLR start "ruleJvmLowerBound" + // InternalExport.g:9832:1: ruleJvmLowerBound returns [EObject current=null] : (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ; + public final EObject ruleJvmLowerBound() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_typeReference_1_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:9838:2: ( (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) + // InternalExport.g:9839:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + { + // InternalExport.g:9839:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + // InternalExport.g:9840:3: otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + { + otherlv_0=(Token)match(input,109,FOLLOW_71); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); + + } + // InternalExport.g:9844:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + // InternalExport.g:9845:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + { + // InternalExport.g:9845:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + // InternalExport.g:9846:5: lv_typeReference_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_typeReference_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmLowerBoundRule()); + } + set( + current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmLowerBound" + + + // $ANTLR start "entryRuleJvmLowerBoundAnded" + // InternalExport.g:9867:1: entryRuleJvmLowerBoundAnded returns [EObject current=null] : iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ; + public final EObject entryRuleJvmLowerBoundAnded() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmLowerBoundAnded = null; + + + try { + // InternalExport.g:9867:59: (iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ) + // InternalExport.g:9868:2: iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmLowerBoundAndedRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmLowerBoundAnded=ruleJvmLowerBoundAnded(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmLowerBoundAnded; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmLowerBoundAnded" + + + // $ANTLR start "ruleJvmLowerBoundAnded" + // InternalExport.g:9874:1: ruleJvmLowerBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ; + public final EObject ruleJvmLowerBoundAnded() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_typeReference_1_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:9880:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) + // InternalExport.g:9881:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + { + // InternalExport.g:9881:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + // InternalExport.g:9882:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + { + otherlv_0=(Token)match(input,117,FOLLOW_71); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); + + } + // InternalExport.g:9886:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + // InternalExport.g:9887:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + { + // InternalExport.g:9887:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + // InternalExport.g:9888:5: lv_typeReference_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_typeReference_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmLowerBoundAndedRule()); + } + set( + current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmLowerBoundAnded" + + + // $ANTLR start "entryRuleQualifiedNameWithWildcard" + // InternalExport.g:9909:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ; + public final String entryRuleQualifiedNameWithWildcard() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleQualifiedNameWithWildcard = null; + + + try { + // InternalExport.g:9909:65: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ) + // InternalExport.g:9910:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); + } + pushFollow(FOLLOW_1); + iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleQualifiedNameWithWildcard.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleQualifiedNameWithWildcard" + + + // $ANTLR start "ruleQualifiedNameWithWildcard" + // InternalExport.g:9916:1: ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) ; + public final AntlrDatatypeRuleToken ruleQualifiedNameWithWildcard() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + AntlrDatatypeRuleToken this_QualifiedName_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:9922:2: ( (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) ) + // InternalExport.g:9923:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) + { + // InternalExport.g:9923:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) + // InternalExport.g:9924:3: this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); + + } + pushFollow(FOLLOW_120); + this_QualifiedName_0=ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_QualifiedName_0); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + kw=(Token)match(input,65,FOLLOW_121); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); + + } + kw=(Token)match(input,62,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleQualifiedNameWithWildcard" + + + // $ANTLR start "entryRuleValidID" + // InternalExport.g:9948:1: entryRuleValidID returns [String current=null] : iv_ruleValidID= ruleValidID EOF ; + public final String entryRuleValidID() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleValidID = null; + + + try { + // InternalExport.g:9948:47: (iv_ruleValidID= ruleValidID EOF ) + // InternalExport.g:9949:2: iv_ruleValidID= ruleValidID EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getValidIDRule()); + } + pushFollow(FOLLOW_1); + iv_ruleValidID=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleValidID.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleValidID" + + + // $ANTLR start "ruleValidID" + // InternalExport.g:9955:1: ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_ID_0= RULE_ID ; + public final AntlrDatatypeRuleToken ruleValidID() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token this_ID_0=null; + + + enterRule(); + + try { + // InternalExport.g:9961:2: (this_ID_0= RULE_ID ) + // InternalExport.g:9962:2: this_ID_0= RULE_ID + { + this_ID_0=(Token)match(input,RULE_ID,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_ID_0); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_ID_0, grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleValidID" + + + // $ANTLR start "entryRuleXImportDeclaration" + // InternalExport.g:9972:1: entryRuleXImportDeclaration returns [EObject current=null] : iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ; + public final EObject entryRuleXImportDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXImportDeclaration = null; + + + try { + // InternalExport.g:9972:59: (iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ) + // InternalExport.g:9973:2: iv_ruleXImportDeclaration= ruleXImportDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXImportDeclarationRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXImportDeclaration=ruleXImportDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXImportDeclaration; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXImportDeclaration" + + + // $ANTLR start "ruleXImportDeclaration" + // InternalExport.g:9979:1: ruleXImportDeclaration returns [EObject current=null] : (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) ; + public final EObject ruleXImportDeclaration() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_static_1_0=null; + Token lv_extension_2_0=null; + Token lv_wildcard_4_0=null; + Token otherlv_8=null; + AntlrDatatypeRuleToken lv_memberName_5_0 = null; + + AntlrDatatypeRuleToken lv_importedNamespace_7_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:9985:2: ( (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) ) + // InternalExport.g:9986:2: (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) + { + // InternalExport.g:9986:2: (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) + // InternalExport.g:9987:3: otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? + { + otherlv_0=(Token)match(input,20,FOLLOW_122); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); + + } + // InternalExport.g:9991:3: ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) + int alt173=3; + alt173 = dfa173.predict(input); + switch (alt173) { + case 1 : + // InternalExport.g:9992:4: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) + { + // InternalExport.g:9992:4: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) + // InternalExport.g:9993:5: ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) + { + // InternalExport.g:9993:5: ( (lv_static_1_0= 'static' ) ) + // InternalExport.g:9994:6: (lv_static_1_0= 'static' ) + { + // InternalExport.g:9994:6: (lv_static_1_0= 'static' ) + // InternalExport.g:9995:7: lv_static_1_0= 'static' + { + lv_static_1_0=(Token)match(input,108,FOLLOW_3); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_static_1_0, grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed(current, "static", lv_static_1_0 != null, "static"); + + } + + } + + + } + + // InternalExport.g:10007:5: ( (lv_extension_2_0= 'extension' ) )? + int alt171=2; + int LA171_0 = input.LA(1); + + if ( (LA171_0==15) ) { + alt171=1; + } + switch (alt171) { + case 1 : + // InternalExport.g:10008:6: (lv_extension_2_0= 'extension' ) + { + // InternalExport.g:10008:6: (lv_extension_2_0= 'extension' ) + // InternalExport.g:10009:7: lv_extension_2_0= 'extension' + { + lv_extension_2_0=(Token)match(input,15,FOLLOW_3); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_extension_2_0, grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed(current, "extension", lv_extension_2_0 != null, "extension"); + + } + + } + + + } + break; + + } + + // InternalExport.g:10021:5: ( ( ruleQualifiedNameInStaticImport ) ) + // InternalExport.g:10022:6: ( ruleQualifiedNameInStaticImport ) + { + // InternalExport.g:10022:6: ( ruleQualifiedNameInStaticImport ) + // InternalExport.g:10023:7: ruleQualifiedNameInStaticImport + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); + + } + pushFollow(FOLLOW_123); + ruleQualifiedNameInStaticImport(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExport.g:10037:5: ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) + int alt172=2; + int LA172_0 = input.LA(1); + + if ( (LA172_0==62) ) { + alt172=1; + } + else if ( (LA172_0==RULE_ID) ) { + alt172=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 172, 0, input); + + throw nvae; + } + switch (alt172) { + case 1 : + // InternalExport.g:10038:6: ( (lv_wildcard_4_0= '*' ) ) + { + // InternalExport.g:10038:6: ( (lv_wildcard_4_0= '*' ) ) + // InternalExport.g:10039:7: (lv_wildcard_4_0= '*' ) + { + // InternalExport.g:10039:7: (lv_wildcard_4_0= '*' ) + // InternalExport.g:10040:8: lv_wildcard_4_0= '*' + { + lv_wildcard_4_0=(Token)match(input,62,FOLLOW_124); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_wildcard_4_0, grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed(current, "wildcard", lv_wildcard_4_0 != null, "*"); + + } + + } + + + } + + + } + break; + case 2 : + // InternalExport.g:10053:6: ( (lv_memberName_5_0= ruleValidID ) ) + { + // InternalExport.g:10053:6: ( (lv_memberName_5_0= ruleValidID ) ) + // InternalExport.g:10054:7: (lv_memberName_5_0= ruleValidID ) + { + // InternalExport.g:10054:7: (lv_memberName_5_0= ruleValidID ) + // InternalExport.g:10055:8: lv_memberName_5_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); + + } + pushFollow(FOLLOW_124); + lv_memberName_5_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXImportDeclarationRule()); + } + set( + current, + "memberName", + lv_memberName_5_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + break; + case 2 : + // InternalExport.g:10075:4: ( ( ruleQualifiedName ) ) + { + // InternalExport.g:10075:4: ( ( ruleQualifiedName ) ) + // InternalExport.g:10076:5: ( ruleQualifiedName ) + { + // InternalExport.g:10076:5: ( ruleQualifiedName ) + // InternalExport.g:10077:6: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); + + } + pushFollow(FOLLOW_124); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + case 3 : + // InternalExport.g:10092:4: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) + { + // InternalExport.g:10092:4: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) + // InternalExport.g:10093:5: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) + { + // InternalExport.g:10093:5: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) + // InternalExport.g:10094:6: lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); + + } + pushFollow(FOLLOW_124); + lv_importedNamespace_7_0=ruleQualifiedNameWithWildcard(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXImportDeclarationRule()); + } + set( + current, + "importedNamespace", + lv_importedNamespace_7_0, + "org.eclipse.xtext.xbase.Xtype.QualifiedNameWithWildcard"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + // InternalExport.g:10112:3: (otherlv_8= ';' )? + int alt174=2; + int LA174_0 = input.LA(1); + + if ( (LA174_0==26) ) { + alt174=1; + } + switch (alt174) { + case 1 : + // InternalExport.g:10113:4: otherlv_8= ';' + { + otherlv_8=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); + + } + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXImportDeclaration" + + + // $ANTLR start "entryRuleQualifiedNameInStaticImport" + // InternalExport.g:10122:1: entryRuleQualifiedNameInStaticImport returns [String current=null] : iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ; + public final String entryRuleQualifiedNameInStaticImport() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleQualifiedNameInStaticImport = null; + + + try { + // InternalExport.g:10122:67: (iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ) + // InternalExport.g:10123:2: iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getQualifiedNameInStaticImportRule()); + } + pushFollow(FOLLOW_1); + iv_ruleQualifiedNameInStaticImport=ruleQualifiedNameInStaticImport(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleQualifiedNameInStaticImport.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleQualifiedNameInStaticImport" + + + // $ANTLR start "ruleQualifiedNameInStaticImport" + // InternalExport.g:10129:1: ruleQualifiedNameInStaticImport returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID kw= '.' )+ ; + public final AntlrDatatypeRuleToken ruleQualifiedNameInStaticImport() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + AntlrDatatypeRuleToken this_ValidID_0 = null; + + + + enterRule(); + + try { + // InternalExport.g:10135:2: ( (this_ValidID_0= ruleValidID kw= '.' )+ ) + // InternalExport.g:10136:2: (this_ValidID_0= ruleValidID kw= '.' )+ + { + // InternalExport.g:10136:2: (this_ValidID_0= ruleValidID kw= '.' )+ + int cnt175=0; + loop175: + do { + int alt175=2; + int LA175_0 = input.LA(1); + + if ( (LA175_0==RULE_ID) ) { + int LA175_2 = input.LA(2); + + if ( (LA175_2==65) ) { + alt175=1; + } + + + } + + + switch (alt175) { + case 1 : + // InternalExport.g:10137:3: this_ValidID_0= ruleValidID kw= '.' + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); + + } + pushFollow(FOLLOW_120); + this_ValidID_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_ValidID_0); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + kw=(Token)match(input,65,FOLLOW_125); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); + + } + + } + break; + + default : + if ( cnt175 >= 1 ) break loop175; + if (state.backtracking>0) {state.failed=true; return current;} + EarlyExitException eee = + new EarlyExitException(175, input); + throw eee; + } + cnt175++; + } while (true); + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleQualifiedNameInStaticImport" + + // $ANTLR start synpred1_InternalExport + public final void synpred1_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:1186:4: ( ruleCastedExpression ) + // InternalExport.g:1186:5: ruleCastedExpression + { + pushFollow(FOLLOW_2); + ruleCastedExpression(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred1_InternalExport + + // $ANTLR start synpred2_InternalExport + public final void synpred2_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:1610:4: ( 'else' ) + // InternalExport.g:1610:5: 'else' + { + match(input,48,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred2_InternalExport + + // $ANTLR start synpred3_InternalExport + public final void synpred3_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:3977:6: ( ( () ( ( ruleOpMultiAssign ) ) ) ) + // InternalExport.g:3977:7: ( () ( ( ruleOpMultiAssign ) ) ) + { + // InternalExport.g:3977:7: ( () ( ( ruleOpMultiAssign ) ) ) + // InternalExport.g:3978:7: () ( ( ruleOpMultiAssign ) ) + { + // InternalExport.g:3978:7: () + // InternalExport.g:3979:7: + { + } + + // InternalExport.g:3980:7: ( ( ruleOpMultiAssign ) ) + // InternalExport.g:3981:8: ( ruleOpMultiAssign ) + { + // InternalExport.g:3981:8: ( ruleOpMultiAssign ) + // InternalExport.g:3982:9: ruleOpMultiAssign + { + pushFollow(FOLLOW_2); + ruleOpMultiAssign(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred3_InternalExport + + // $ANTLR start synpred4_InternalExport + public final void synpred4_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4171:5: ( ( () ( ( ruleOpOr ) ) ) ) + // InternalExport.g:4171:6: ( () ( ( ruleOpOr ) ) ) + { + // InternalExport.g:4171:6: ( () ( ( ruleOpOr ) ) ) + // InternalExport.g:4172:6: () ( ( ruleOpOr ) ) + { + // InternalExport.g:4172:6: () + // InternalExport.g:4173:6: + { + } + + // InternalExport.g:4174:6: ( ( ruleOpOr ) ) + // InternalExport.g:4175:7: ( ruleOpOr ) + { + // InternalExport.g:4175:7: ( ruleOpOr ) + // InternalExport.g:4176:8: ruleOpOr + { + pushFollow(FOLLOW_2); + ruleOpOr(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred4_InternalExport + + // $ANTLR start synpred5_InternalExport + public final void synpred5_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4278:5: ( ( () ( ( ruleOpAnd ) ) ) ) + // InternalExport.g:4278:6: ( () ( ( ruleOpAnd ) ) ) + { + // InternalExport.g:4278:6: ( () ( ( ruleOpAnd ) ) ) + // InternalExport.g:4279:6: () ( ( ruleOpAnd ) ) + { + // InternalExport.g:4279:6: () + // InternalExport.g:4280:6: + { + } + + // InternalExport.g:4281:6: ( ( ruleOpAnd ) ) + // InternalExport.g:4282:7: ( ruleOpAnd ) + { + // InternalExport.g:4282:7: ( ruleOpAnd ) + // InternalExport.g:4283:8: ruleOpAnd + { + pushFollow(FOLLOW_2); + ruleOpAnd(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred5_InternalExport + + // $ANTLR start synpred6_InternalExport + public final void synpred6_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4385:5: ( ( () ( ( ruleOpEquality ) ) ) ) + // InternalExport.g:4385:6: ( () ( ( ruleOpEquality ) ) ) + { + // InternalExport.g:4385:6: ( () ( ( ruleOpEquality ) ) ) + // InternalExport.g:4386:6: () ( ( ruleOpEquality ) ) + { + // InternalExport.g:4386:6: () + // InternalExport.g:4387:6: + { + } + + // InternalExport.g:4388:6: ( ( ruleOpEquality ) ) + // InternalExport.g:4389:7: ( ruleOpEquality ) + { + // InternalExport.g:4389:7: ( ruleOpEquality ) + // InternalExport.g:4390:8: ruleOpEquality + { + pushFollow(FOLLOW_2); + ruleOpEquality(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred6_InternalExport + + // $ANTLR start synpred7_InternalExport + public final void synpred7_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4513:6: ( ( () 'instanceof' ) ) + // InternalExport.g:4513:7: ( () 'instanceof' ) + { + // InternalExport.g:4513:7: ( () 'instanceof' ) + // InternalExport.g:4514:7: () 'instanceof' + { + // InternalExport.g:4514:7: () + // InternalExport.g:4515:7: + { + } + + match(input,91,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred7_InternalExport + + // $ANTLR start synpred8_InternalExport + public final void synpred8_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4556:6: ( ( () ( ( ruleOpCompare ) ) ) ) + // InternalExport.g:4556:7: ( () ( ( ruleOpCompare ) ) ) + { + // InternalExport.g:4556:7: ( () ( ( ruleOpCompare ) ) ) + // InternalExport.g:4557:7: () ( ( ruleOpCompare ) ) + { + // InternalExport.g:4557:7: () + // InternalExport.g:4558:7: + { + } + + // InternalExport.g:4559:7: ( ( ruleOpCompare ) ) + // InternalExport.g:4560:8: ( ruleOpCompare ) + { + // InternalExport.g:4560:8: ( ruleOpCompare ) + // InternalExport.g:4561:9: ruleOpCompare + { + pushFollow(FOLLOW_2); + ruleOpCompare(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred8_InternalExport + + // $ANTLR start synpred9_InternalExport + public final void synpred9_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4691:5: ( ( () ( ( ruleOpOther ) ) ) ) + // InternalExport.g:4691:6: ( () ( ( ruleOpOther ) ) ) + { + // InternalExport.g:4691:6: ( () ( ( ruleOpOther ) ) ) + // InternalExport.g:4692:6: () ( ( ruleOpOther ) ) + { + // InternalExport.g:4692:6: () + // InternalExport.g:4693:6: + { + } + + // InternalExport.g:4694:6: ( ( ruleOpOther ) ) + // InternalExport.g:4695:7: ( ruleOpOther ) + { + // InternalExport.g:4695:7: ( ruleOpOther ) + // InternalExport.g:4696:8: ruleOpOther + { + pushFollow(FOLLOW_2); + ruleOpOther(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred9_InternalExport + + // $ANTLR start synpred10_InternalExport + public final void synpred10_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4811:6: ( ( '>' '>' ) ) + // InternalExport.g:4811:7: ( '>' '>' ) + { + // InternalExport.g:4811:7: ( '>' '>' ) + // InternalExport.g:4812:7: '>' '>' + { + match(input,59,FOLLOW_74); if (state.failed) return ; + match(input,59,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred10_InternalExport + + // $ANTLR start synpred11_InternalExport + public final void synpred11_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4846:6: ( ( '<' '<' ) ) + // InternalExport.g:4846:7: ( '<' '<' ) + { + // InternalExport.g:4846:7: ( '<' '<' ) + // InternalExport.g:4847:7: '<' '<' + { + match(input,60,FOLLOW_66); if (state.failed) return ; + match(input,60,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred11_InternalExport + + // $ANTLR start synpred12_InternalExport + public final void synpred12_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:4919:5: ( ( () ( ( ruleOpAdd ) ) ) ) + // InternalExport.g:4919:6: ( () ( ( ruleOpAdd ) ) ) + { + // InternalExport.g:4919:6: ( () ( ( ruleOpAdd ) ) ) + // InternalExport.g:4920:6: () ( ( ruleOpAdd ) ) + { + // InternalExport.g:4920:6: () + // InternalExport.g:4921:6: + { + } + + // InternalExport.g:4922:6: ( ( ruleOpAdd ) ) + // InternalExport.g:4923:7: ( ruleOpAdd ) + { + // InternalExport.g:4923:7: ( ruleOpAdd ) + // InternalExport.g:4924:8: ruleOpAdd + { + pushFollow(FOLLOW_2); + ruleOpAdd(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred12_InternalExport + + // $ANTLR start synpred13_InternalExport + public final void synpred13_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:5034:5: ( ( () ( ( ruleOpMulti ) ) ) ) + // InternalExport.g:5034:6: ( () ( ( ruleOpMulti ) ) ) + { + // InternalExport.g:5034:6: ( () ( ( ruleOpMulti ) ) ) + // InternalExport.g:5035:6: () ( ( ruleOpMulti ) ) + { + // InternalExport.g:5035:6: () + // InternalExport.g:5036:6: + { + } + + // InternalExport.g:5037:6: ( ( ruleOpMulti ) ) + // InternalExport.g:5038:7: ( ruleOpMulti ) + { + // InternalExport.g:5038:7: ( ruleOpMulti ) + // InternalExport.g:5039:8: ruleOpMulti + { + pushFollow(FOLLOW_2); + ruleOpMulti(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred13_InternalExport + + // $ANTLR start synpred14_InternalExport + public final void synpred14_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:5269:5: ( ( () 'as' ) ) + // InternalExport.g:5269:6: ( () 'as' ) + { + // InternalExport.g:5269:6: ( () 'as' ) + // InternalExport.g:5270:6: () 'as' + { + // InternalExport.g:5270:6: () + // InternalExport.g:5271:6: + { + } + + match(input,21,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred14_InternalExport + + // $ANTLR start synpred15_InternalExport + public final void synpred15_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:5337:4: ( ( () ( ( ruleOpPostfix ) ) ) ) + // InternalExport.g:5337:5: ( () ( ( ruleOpPostfix ) ) ) + { + // InternalExport.g:5337:5: ( () ( ( ruleOpPostfix ) ) ) + // InternalExport.g:5338:5: () ( ( ruleOpPostfix ) ) + { + // InternalExport.g:5338:5: () + // InternalExport.g:5339:5: + { + } + + // InternalExport.g:5340:5: ( ( ruleOpPostfix ) ) + // InternalExport.g:5341:6: ( ruleOpPostfix ) + { + // InternalExport.g:5341:6: ( ruleOpPostfix ) + // InternalExport.g:5342:7: ruleOpPostfix + { + pushFollow(FOLLOW_2); + ruleOpPostfix(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred15_InternalExport + + // $ANTLR start synpred16_InternalExport + public final void synpred16_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:5433:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) + // InternalExport.g:5433:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) + { + // InternalExport.g:5433:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) + // InternalExport.g:5434:7: () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign + { + // InternalExport.g:5434:7: () + // InternalExport.g:5435:7: + { + } + + // InternalExport.g:5436:7: ( '.' | ( ( '::' ) ) ) + int alt176=2; + int LA176_0 = input.LA(1); + + if ( (LA176_0==65) ) { + alt176=1; + } + else if ( (LA176_0==41) ) { + alt176=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 176, 0, input); + + throw nvae; + } + switch (alt176) { + case 1 : + // InternalExport.g:5437:8: '.' + { + match(input,65,FOLLOW_79); if (state.failed) return ; + + } + break; + case 2 : + // InternalExport.g:5439:8: ( ( '::' ) ) + { + // InternalExport.g:5439:8: ( ( '::' ) ) + // InternalExport.g:5440:9: ( '::' ) + { + // InternalExport.g:5440:9: ( '::' ) + // InternalExport.g:5441:10: '::' + { + match(input,41,FOLLOW_79); if (state.failed) return ; + + } + + + } + + + } + break; + + } + + // InternalExport.g:5445:7: ( ( ruleFeatureCallID ) ) + // InternalExport.g:5446:8: ( ruleFeatureCallID ) + { + // InternalExport.g:5446:8: ( ruleFeatureCallID ) + // InternalExport.g:5447:9: ruleFeatureCallID + { + pushFollow(FOLLOW_31); + ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + pushFollow(FOLLOW_2); + ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred16_InternalExport + + // $ANTLR start synpred17_InternalExport + public final void synpred17_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:5530:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) ) + // InternalExport.g:5530:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) + { + // InternalExport.g:5530:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) + // InternalExport.g:5531:7: () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) + { + // InternalExport.g:5531:7: () + // InternalExport.g:5532:7: + { + } + + // InternalExport.g:5533:7: ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) + int alt177=3; + switch ( input.LA(1) ) { + case 65: + { + alt177=1; + } + break; + case 101: + { + alt177=2; + } + break; + case 41: + { + alt177=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 177, 0, input); + + throw nvae; + } + + switch (alt177) { + case 1 : + // InternalExport.g:5534:8: '.' + { + match(input,65,FOLLOW_2); if (state.failed) return ; + + } + break; + case 2 : + // InternalExport.g:5536:8: ( ( '?.' ) ) + { + // InternalExport.g:5536:8: ( ( '?.' ) ) + // InternalExport.g:5537:9: ( '?.' ) + { + // InternalExport.g:5537:9: ( '?.' ) + // InternalExport.g:5538:10: '?.' + { + match(input,101,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + break; + case 3 : + // InternalExport.g:5542:8: ( ( '::' ) ) + { + // InternalExport.g:5542:8: ( ( '::' ) ) + // InternalExport.g:5543:9: ( '::' ) + { + // InternalExport.g:5543:9: ( '::' ) + // InternalExport.g:5544:10: '::' + { + match(input,41,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + break; + + } + + + } + + + } + } + // $ANTLR end synpred17_InternalExport + + // $ANTLR start synpred18_InternalExport + public final void synpred18_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:5668:7: ( ( '(' ) ) + // InternalExport.g:5668:8: ( '(' ) + { + // InternalExport.g:5668:8: ( '(' ) + // InternalExport.g:5669:8: '(' + { + match(input,30,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred18_InternalExport + + // $ANTLR start synpred19_InternalExport + public final void synpred19_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:5687:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) + // InternalExport.g:5687:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + { + // InternalExport.g:5687:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + // InternalExport.g:5688:9: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) + { + // InternalExport.g:5688:9: () + // InternalExport.g:5689:9: + { + } + + // InternalExport.g:5690:9: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? + int alt179=2; + int LA179_0 = input.LA(1); + + if ( (LA179_0==RULE_ID||LA179_0==30||LA179_0==94) ) { + alt179=1; + } + switch (alt179) { + case 1 : + // InternalExport.g:5691:10: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* + { + // InternalExport.g:5691:10: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:5692:11: ( ruleJvmFormalParameter ) + { + // InternalExport.g:5692:11: ( ruleJvmFormalParameter ) + // InternalExport.g:5693:12: ruleJvmFormalParameter + { + pushFollow(FOLLOW_90); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalExport.g:5696:10: ( ',' ( ( ruleJvmFormalParameter ) ) )* + loop178: + do { + int alt178=2; + int LA178_0 = input.LA(1); + + if ( (LA178_0==25) ) { + alt178=1; + } + + + switch (alt178) { + case 1 : + // InternalExport.g:5697:11: ',' ( ( ruleJvmFormalParameter ) ) + { + match(input,25,FOLLOW_71); if (state.failed) return ; + // InternalExport.g:5698:11: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:5699:12: ( ruleJvmFormalParameter ) + { + // InternalExport.g:5699:12: ( ruleJvmFormalParameter ) + // InternalExport.g:5700:13: ruleJvmFormalParameter + { + pushFollow(FOLLOW_90); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + default : + break loop178; + } + } while (true); + + + } + break; + + } + + // InternalExport.g:5705:9: ( ( '|' ) ) + // InternalExport.g:5706:10: ( '|' ) + { + // InternalExport.g:5706:10: ( '|' ) + // InternalExport.g:5707:11: '|' + { + match(input,75,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred19_InternalExport + + // $ANTLR start synpred20_InternalExport + public final void synpred20_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:5784:6: ( ( () '[' ) ) + // InternalExport.g:5784:7: ( () '[' ) + { + // InternalExport.g:5784:7: ( () '[' ) + // InternalExport.g:5785:7: () '[' + { + // InternalExport.g:5785:7: () + // InternalExport.g:5786:7: + { + } + + match(input,22,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred20_InternalExport + + // $ANTLR start synpred21_InternalExport + public final void synpred21_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:5857:4: ( ( () 'synchronized' '(' ) ) + // InternalExport.g:5857:5: ( () 'synchronized' '(' ) + { + // InternalExport.g:5857:5: ( () 'synchronized' '(' ) + // InternalExport.g:5858:5: () 'synchronized' '(' + { + // InternalExport.g:5858:5: () + // InternalExport.g:5859:5: + { + } + + match(input,115,FOLLOW_23); if (state.failed) return ; + match(input,30,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred21_InternalExport + + // $ANTLR start synpred22_InternalExport + public final void synpred22_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:5902:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) ) + // InternalExport.g:5902:5: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) + { + // InternalExport.g:5902:5: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) + // InternalExport.g:5903:5: () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' + { + // InternalExport.g:5903:5: () + // InternalExport.g:5904:5: + { + } + + match(input,16,FOLLOW_23); if (state.failed) return ; + match(input,30,FOLLOW_71); if (state.failed) return ; + // InternalExport.g:5907:5: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:5908:6: ( ruleJvmFormalParameter ) + { + // InternalExport.g:5908:6: ( ruleJvmFormalParameter ) + // InternalExport.g:5909:7: ruleJvmFormalParameter + { + pushFollow(FOLLOW_39); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + match(input,43,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred22_InternalExport + + // $ANTLR start synpred23_InternalExport + public final void synpred23_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:6016:4: ( ( () '[' ) ) + // InternalExport.g:6016:5: ( () '[' ) + { + // InternalExport.g:6016:5: ( () '[' ) + // InternalExport.g:6017:5: () '[' + { + // InternalExport.g:6017:5: () + // InternalExport.g:6018:5: + { + } + + match(input,22,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred23_InternalExport + + // $ANTLR start synpred25_InternalExport + public final void synpred25_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:6321:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) + // InternalExport.g:6321:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + { + // InternalExport.g:6321:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + // InternalExport.g:6322:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) + { + // InternalExport.g:6322:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? + int alt181=2; + int LA181_0 = input.LA(1); + + if ( (LA181_0==RULE_ID||LA181_0==30||LA181_0==94) ) { + alt181=1; + } + switch (alt181) { + case 1 : + // InternalExport.g:6323:6: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* + { + // InternalExport.g:6323:6: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:6324:7: ( ruleJvmFormalParameter ) + { + // InternalExport.g:6324:7: ( ruleJvmFormalParameter ) + // InternalExport.g:6325:8: ruleJvmFormalParameter + { + pushFollow(FOLLOW_90); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalExport.g:6328:6: ( ',' ( ( ruleJvmFormalParameter ) ) )* + loop180: + do { + int alt180=2; + int LA180_0 = input.LA(1); + + if ( (LA180_0==25) ) { + alt180=1; + } + + + switch (alt180) { + case 1 : + // InternalExport.g:6329:7: ',' ( ( ruleJvmFormalParameter ) ) + { + match(input,25,FOLLOW_71); if (state.failed) return ; + // InternalExport.g:6330:7: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:6331:8: ( ruleJvmFormalParameter ) + { + // InternalExport.g:6331:8: ( ruleJvmFormalParameter ) + // InternalExport.g:6332:9: ruleJvmFormalParameter + { + pushFollow(FOLLOW_90); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + default : + break loop180; + } + } while (true); + + + } + break; + + } + + // InternalExport.g:6337:5: ( ( '|' ) ) + // InternalExport.g:6338:6: ( '|' ) + { + // InternalExport.g:6338:6: ( '|' ) + // InternalExport.g:6339:7: '|' + { + match(input,75,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred25_InternalExport + + // $ANTLR start synpred27_InternalExport + public final void synpred27_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:6730:5: ( 'else' ) + // InternalExport.g:6730:6: 'else' + { + match(input,48,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred27_InternalExport + + // $ANTLR start synpred28_InternalExport + public final void synpred28_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:6789:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) ) + // InternalExport.g:6789:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) + { + // InternalExport.g:6789:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) + // InternalExport.g:6790:7: '(' ( ( ruleJvmFormalParameter ) ) ':' + { + match(input,30,FOLLOW_71); if (state.failed) return ; + // InternalExport.g:6791:7: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:6792:8: ( ruleJvmFormalParameter ) + { + // InternalExport.g:6792:8: ( ruleJvmFormalParameter ) + // InternalExport.g:6793:9: ruleJvmFormalParameter + { + pushFollow(FOLLOW_39); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + match(input,43,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred28_InternalExport + + // $ANTLR start synpred29_InternalExport + public final void synpred29_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:6856:6: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) ) + // InternalExport.g:6856:7: ( ( ( ruleJvmFormalParameter ) ) ':' ) + { + // InternalExport.g:6856:7: ( ( ( ruleJvmFormalParameter ) ) ':' ) + // InternalExport.g:6857:7: ( ( ruleJvmFormalParameter ) ) ':' + { + // InternalExport.g:6857:7: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:6858:8: ( ruleJvmFormalParameter ) + { + // InternalExport.g:6858:8: ( ruleJvmFormalParameter ) + // InternalExport.g:6859:9: ruleJvmFormalParameter + { + pushFollow(FOLLOW_39); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + match(input,43,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred29_InternalExport + + // $ANTLR start synpred31_InternalExport + public final void synpred31_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:7674:5: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) ) + // InternalExport.g:7674:6: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) + { + // InternalExport.g:7674:6: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) + // InternalExport.g:7675:6: ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) + { + // InternalExport.g:7675:6: ( ( ruleJvmTypeReference ) ) + // InternalExport.g:7676:7: ( ruleJvmTypeReference ) + { + // InternalExport.g:7676:7: ( ruleJvmTypeReference ) + // InternalExport.g:7677:8: ruleJvmTypeReference + { + pushFollow(FOLLOW_4); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalExport.g:7680:6: ( ( ruleValidID ) ) + // InternalExport.g:7681:7: ( ruleValidID ) + { + // InternalExport.g:7681:7: ( ruleValidID ) + // InternalExport.g:7682:8: ruleValidID + { + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred31_InternalExport + + // $ANTLR start synpred32_InternalExport + public final void synpred32_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:7986:5: ( ( '(' ) ) + // InternalExport.g:7986:6: ( '(' ) + { + // InternalExport.g:7986:6: ( '(' ) + // InternalExport.g:7987:6: '(' + { + match(input,30,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred32_InternalExport + + // $ANTLR start synpred33_InternalExport + public final void synpred33_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:8005:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) + // InternalExport.g:8005:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + { + // InternalExport.g:8005:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + // InternalExport.g:8006:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) + { + // InternalExport.g:8006:7: () + // InternalExport.g:8007:7: + { + } + + // InternalExport.g:8008:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? + int alt185=2; + int LA185_0 = input.LA(1); + + if ( (LA185_0==RULE_ID||LA185_0==30||LA185_0==94) ) { + alt185=1; + } + switch (alt185) { + case 1 : + // InternalExport.g:8009:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* + { + // InternalExport.g:8009:8: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:8010:9: ( ruleJvmFormalParameter ) + { + // InternalExport.g:8010:9: ( ruleJvmFormalParameter ) + // InternalExport.g:8011:10: ruleJvmFormalParameter + { + pushFollow(FOLLOW_90); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalExport.g:8014:8: ( ',' ( ( ruleJvmFormalParameter ) ) )* + loop184: + do { + int alt184=2; + int LA184_0 = input.LA(1); + + if ( (LA184_0==25) ) { + alt184=1; + } + + + switch (alt184) { + case 1 : + // InternalExport.g:8015:9: ',' ( ( ruleJvmFormalParameter ) ) + { + match(input,25,FOLLOW_71); if (state.failed) return ; + // InternalExport.g:8016:9: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:8017:10: ( ruleJvmFormalParameter ) + { + // InternalExport.g:8017:10: ( ruleJvmFormalParameter ) + // InternalExport.g:8018:11: ruleJvmFormalParameter + { + pushFollow(FOLLOW_90); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + default : + break loop184; + } + } while (true); + + + } + break; + + } + + // InternalExport.g:8023:7: ( ( '|' ) ) + // InternalExport.g:8024:8: ( '|' ) + { + // InternalExport.g:8024:8: ( '|' ) + // InternalExport.g:8025:9: '|' + { + match(input,75,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred33_InternalExport + + // $ANTLR start synpred34_InternalExport + public final void synpred34_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:8102:4: ( ( () '[' ) ) + // InternalExport.g:8102:5: ( () '[' ) + { + // InternalExport.g:8102:5: ( () '[' ) + // InternalExport.g:8103:5: () '[' + { + // InternalExport.g:8103:5: () + // InternalExport.g:8104:5: + { + } + + match(input,22,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred34_InternalExport + + // $ANTLR start synpred35_InternalExport + public final void synpred35_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:8262:5: ( '<' ) + // InternalExport.g:8262:6: '<' + { + match(input,60,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred35_InternalExport + + // $ANTLR start synpred36_InternalExport + public final void synpred36_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:8319:5: ( ( '(' ) ) + // InternalExport.g:8319:6: ( '(' ) + { + // InternalExport.g:8319:6: ( '(' ) + // InternalExport.g:8320:6: '(' + { + match(input,30,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred36_InternalExport + + // $ANTLR start synpred37_InternalExport + public final void synpred37_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:8338:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) + // InternalExport.g:8338:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + { + // InternalExport.g:8338:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + // InternalExport.g:8339:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) + { + // InternalExport.g:8339:7: () + // InternalExport.g:8340:7: + { + } + + // InternalExport.g:8341:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? + int alt187=2; + int LA187_0 = input.LA(1); + + if ( (LA187_0==RULE_ID||LA187_0==30||LA187_0==94) ) { + alt187=1; + } + switch (alt187) { + case 1 : + // InternalExport.g:8342:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* + { + // InternalExport.g:8342:8: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:8343:9: ( ruleJvmFormalParameter ) + { + // InternalExport.g:8343:9: ( ruleJvmFormalParameter ) + // InternalExport.g:8344:10: ruleJvmFormalParameter + { + pushFollow(FOLLOW_90); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalExport.g:8347:8: ( ',' ( ( ruleJvmFormalParameter ) ) )* + loop186: + do { + int alt186=2; + int LA186_0 = input.LA(1); + + if ( (LA186_0==25) ) { + alt186=1; + } + + + switch (alt186) { + case 1 : + // InternalExport.g:8348:9: ',' ( ( ruleJvmFormalParameter ) ) + { + match(input,25,FOLLOW_71); if (state.failed) return ; + // InternalExport.g:8349:9: ( ( ruleJvmFormalParameter ) ) + // InternalExport.g:8350:10: ( ruleJvmFormalParameter ) + { + // InternalExport.g:8350:10: ( ruleJvmFormalParameter ) + // InternalExport.g:8351:11: ruleJvmFormalParameter + { + pushFollow(FOLLOW_90); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + default : + break loop186; + } + } while (true); + + + } + break; + + } + + // InternalExport.g:8356:7: ( ( '|' ) ) + // InternalExport.g:8357:8: ( '|' ) + { + // InternalExport.g:8357:8: ( '|' ) + // InternalExport.g:8358:9: '|' + { + match(input,75,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred37_InternalExport + + // $ANTLR start synpred38_InternalExport + public final void synpred38_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:8435:4: ( ( () '[' ) ) + // InternalExport.g:8435:5: ( () '[' ) + { + // InternalExport.g:8435:5: ( () '[' ) + // InternalExport.g:8436:5: () '[' + { + // InternalExport.g:8436:5: () + // InternalExport.g:8437:5: + { + } + + match(input,22,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred38_InternalExport + + // $ANTLR start synpred39_InternalExport + public final void synpred39_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:8778:4: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING ) + // InternalExport.g: + { + if ( (input.LA(1)>=RULE_ID && input.LA(1)<=RULE_INT)||(input.LA(1)>=RULE_HEX && input.LA(1)<=RULE_DECIMAL)||(input.LA(1)>=15 && input.LA(1)<=16)||input.LA(1)==18||input.LA(1)==20||input.LA(1)==22||input.LA(1)==27||input.LA(1)==30||input.LA(1)==46||input.LA(1)==49||(input.LA(1)>=60 && input.LA(1)<=61)||input.LA(1)==64||(input.LA(1)>=76 && input.LA(1)<=78)||input.LA(1)==80||(input.LA(1)>=102 && input.LA(1)<=104)||(input.LA(1)>=107 && input.LA(1)<=113)||input.LA(1)==115 ) { + input.consume(); + state.errorRecovery=false;state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + + + } + } + // $ANTLR end synpred39_InternalExport + + // $ANTLR start synpred40_InternalExport + public final void synpred40_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:8849:6: ( 'catch' ) + // InternalExport.g:8849:7: 'catch' + { + match(input,116,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred40_InternalExport + + // $ANTLR start synpred41_InternalExport + public final void synpred41_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:8870:7: ( 'finally' ) + // InternalExport.g:8870:8: 'finally' + { + match(input,114,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred41_InternalExport + + // $ANTLR start synpred44_InternalExport + public final void synpred44_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:9114:5: ( '.' ) + // InternalExport.g:9114:6: '.' + { + match(input,65,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred44_InternalExport + + // $ANTLR start synpred45_InternalExport + public final void synpred45_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:9240:5: ( ( () ruleArrayBrackets ) ) + // InternalExport.g:9240:6: ( () ruleArrayBrackets ) + { + // InternalExport.g:9240:6: ( () ruleArrayBrackets ) + // InternalExport.g:9241:6: () ruleArrayBrackets + { + // InternalExport.g:9241:6: () + // InternalExport.g:9242:6: + { + } + + pushFollow(FOLLOW_2); + ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred45_InternalExport + + // $ANTLR start synpred46_InternalExport + public final void synpred46_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:9437:5: ( '<' ) + // InternalExport.g:9437:6: '<' + { + match(input,60,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred46_InternalExport + + // $ANTLR start synpred47_InternalExport + public final void synpred47_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:9493:6: ( ( () '.' ) ) + // InternalExport.g:9493:7: ( () '.' ) + { + // InternalExport.g:9493:7: ( () '.' ) + // InternalExport.g:9494:7: () '.' + { + // InternalExport.g:9494:7: () + // InternalExport.g:9495:7: + { + } + + match(input,65,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred47_InternalExport + + // $ANTLR start synpred48_InternalExport + public final void synpred48_InternalExport_fragment() throws RecognitionException { + // InternalExport.g:9531:7: ( '<' ) + // InternalExport.g:9531:8: '<' + { + match(input,60,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred48_InternalExport + + // Delegated rules + + public final boolean synpred35_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred35_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred8_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred8_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred22_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred22_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred18_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred18_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred19_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred19_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred48_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred48_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred13_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred13_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred3_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred3_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred39_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred39_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred7_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred7_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred17_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred17_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred34_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred34_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred47_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred47_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred38_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred38_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred21_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred21_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred6_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred6_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred12_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred12_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred2_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred2_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred25_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred25_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred16_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred16_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred29_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred29_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred46_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred46_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred33_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred33_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred32_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred32_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred20_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred20_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred45_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred45_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred5_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred5_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred37_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred37_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred41_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred41_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred1_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred1_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred11_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred11_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred23_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred23_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred28_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred28_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred15_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred15_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred36_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred36_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred31_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred31_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred9_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred9_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred4_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred4_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred14_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred14_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred44_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred44_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred27_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred27_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred40_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred40_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred10_InternalExport() { + state.backtracking++; + int start = input.mark(); + try { + synpred10_InternalExport_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + + + protected DFA30 dfa30 = new DFA30(this); + protected DFA66 dfa66 = new DFA66(this); + protected DFA76 dfa76 = new DFA76(this); + protected DFA79 dfa79 = new DFA79(this); + protected DFA95 dfa95 = new DFA95(this); + protected DFA94 dfa94 = new DFA94(this); + protected DFA96 dfa96 = new DFA96(this); + protected DFA98 dfa98 = new DFA98(this); + protected DFA107 dfa107 = new DFA107(this); + protected DFA114 dfa114 = new DFA114(this); + protected DFA113 dfa113 = new DFA113(this); + protected DFA136 dfa136 = new DFA136(this); + protected DFA135 dfa135 = new DFA135(this); + protected DFA137 dfa137 = new DFA137(this); + protected DFA141 dfa141 = new DFA141(this); + protected DFA144 dfa144 = new DFA144(this); + protected DFA143 dfa143 = new DFA143(this); + protected DFA145 dfa145 = new DFA145(this); + protected DFA148 dfa148 = new DFA148(this); + protected DFA166 dfa166 = new DFA166(this); + protected DFA164 dfa164 = new DFA164(this); + protected DFA173 dfa173 = new DFA173(this); + static final String dfa_1s = "\36\uffff"; + static final String dfa_2s = "\1\4\1\uffff\1\0\33\uffff"; + static final String dfa_3s = "\1\123\1\uffff\1\0\33\uffff"; + static final String dfa_4s = "\1\uffff\1\1\1\uffff\1\3\31\uffff\1\2"; + static final String dfa_5s = "\2\uffff\1\0\33\uffff}>"; + static final String[] dfa_6s = { + "\4\3\12\uffff\1\3\13\uffff\1\2\13\uffff\1\1\3\uffff\1\3\2\uffff\1\3\13\uffff\1\3\2\uffff\1\3\1\uffff\11\3\1\uffff\10\3", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); + static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s); + static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); + static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s); + static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); + static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); + + class DFA30 extends DFA { + + public DFA30(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 30; + this.eot = dfa_1; + this.eof = dfa_1; + this.min = dfa_2; + this.max = dfa_3; + this.accept = dfa_4; + this.special = dfa_5; + this.transition = dfa_6; + } + public String getDescription() { + return "1175:2: (this_LetExpression_0= ruleLetExpression | ( ( ruleCastedExpression )=>this_CastedExpression_1= ruleCastedExpression ) | this_ChainExpression_2= ruleChainExpression )"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA30_2 = input.LA(1); + + + int index30_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred1_InternalExport()) ) {s = 29;} + + else if ( (true) ) {s = 3;} + + + input.seek(index30_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 30, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_7s = "\12\uffff"; + static final String dfa_8s = "\1\10\11\uffff"; + static final String dfa_9s = "\1\4\7\0\2\uffff"; + static final String dfa_10s = "\1\164\7\0\2\uffff"; + static final String dfa_11s = "\10\uffff\1\2\1\1"; + static final String dfa_12s = "\1\uffff\1\2\1\3\1\4\1\5\1\6\1\0\1\1\2\uffff}>"; + static final String[] dfa_13s = { + "\3\10\1\uffff\2\10\5\uffff\2\10\1\uffff\6\10\1\uffff\3\10\2\uffff\2\10\11\uffff\1\10\1\uffff\2\10\1\uffff\1\10\1\uffff\6\10\1\uffff\3\10\1\uffff\1\7\1\6\5\10\12\uffff\3\10\1\uffff\1\10\3\uffff\1\1\1\2\1\3\1\4\1\5\34\10", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "" + }; + + static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); + static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s); + static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s); + static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s); + static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s); + static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); + static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s); + + class DFA66 extends DFA { + + public DFA66(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 66; + this.eot = dfa_7; + this.eof = dfa_8; + this.min = dfa_9; + this.max = dfa_10; + this.accept = dfa_11; + this.special = dfa_12; + this.transition = dfa_13; + } + public String getDescription() { + return "3975:4: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA66_6 = input.LA(1); + + + int index66_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalExport()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index66_6); + if ( s>=0 ) return s; + break; + case 1 : + int LA66_7 = input.LA(1); + + + int index66_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalExport()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index66_7); + if ( s>=0 ) return s; + break; + case 2 : + int LA66_1 = input.LA(1); + + + int index66_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalExport()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index66_1); + if ( s>=0 ) return s; + break; + case 3 : + int LA66_2 = input.LA(1); + + + int index66_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalExport()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index66_2); + if ( s>=0 ) return s; + break; + case 4 : + int LA66_3 = input.LA(1); + + + int index66_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalExport()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index66_3); + if ( s>=0 ) return s; + break; + case 5 : + int LA66_4 = input.LA(1); + + + int index66_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalExport()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index66_4); + if ( s>=0 ) return s; + break; + case 6 : + int LA66_5 = input.LA(1); + + + int index66_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalExport()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index66_5); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 66, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_14s = "\13\uffff"; + static final String dfa_15s = "\1\1\12\uffff"; + static final String dfa_16s = "\1\4\1\uffff\10\0\1\uffff"; + static final String dfa_17s = "\1\164\1\uffff\10\0\1\uffff"; + static final String dfa_18s = "\1\uffff\1\2\10\uffff\1\1"; + static final String dfa_19s = "\2\uffff\1\5\1\3\1\1\1\2\1\4\1\0\1\6\1\7\1\uffff}>"; + static final String[] dfa_20s = { + "\3\1\1\uffff\2\1\5\uffff\2\1\1\uffff\6\1\1\uffff\3\1\2\uffff\2\1\11\uffff\1\1\1\uffff\1\1\1\4\1\uffff\1\1\1\uffff\6\1\1\uffff\3\1\1\uffff\1\3\1\2\5\1\12\uffff\3\1\1\uffff\1\1\3\uffff\10\1\1\5\1\6\1\7\1\10\1\11\24\1", + "", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "" + }; + + static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s); + static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s); + static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s); + static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s); + static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s); + static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); + static final short[][] dfa_20 = unpackEncodedStringArray(dfa_20s); + + class DFA76 extends DFA { + + public DFA76(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 76; + this.eot = dfa_14; + this.eof = dfa_15; + this.min = dfa_16; + this.max = dfa_17; + this.accept = dfa_18; + this.special = dfa_19; + this.transition = dfa_20; + } + public String getDescription() { + return "()* loopback of 4689:3: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA76_7 = input.LA(1); + + + int index76_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred9_InternalExport()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index76_7); + if ( s>=0 ) return s; + break; + case 1 : + int LA76_4 = input.LA(1); + + + int index76_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred9_InternalExport()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index76_4); + if ( s>=0 ) return s; + break; + case 2 : + int LA76_5 = input.LA(1); + + + int index76_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred9_InternalExport()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index76_5); + if ( s>=0 ) return s; + break; + case 3 : + int LA76_3 = input.LA(1); + + + int index76_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred9_InternalExport()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index76_3); + if ( s>=0 ) return s; + break; + case 4 : + int LA76_6 = input.LA(1); + + + int index76_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred9_InternalExport()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index76_6); + if ( s>=0 ) return s; + break; + case 5 : + int LA76_2 = input.LA(1); + + + int index76_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred9_InternalExport()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index76_2); + if ( s>=0 ) return s; + break; + case 6 : + int LA76_8 = input.LA(1); + + + int index76_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred9_InternalExport()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index76_8); + if ( s>=0 ) return s; + break; + case 7 : + int LA76_9 = input.LA(1); + + + int index76_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred9_InternalExport()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index76_9); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 76, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_21s = "\1\54\2\uffff\1\73\7\uffff"; + static final String dfa_22s = "\1\140\2\uffff\1\135\7\uffff"; + static final String dfa_23s = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\3\1\6"; + static final String dfa_24s = "\13\uffff}>"; + static final String[] dfa_25s = { + "\1\1\16\uffff\1\3\1\6\37\uffff\1\2\1\4\1\5\1\7\1\10", + "", + "", + "\1\12\41\uffff\1\11", + "", + "", + "", + "", + "", + "", + "" + }; + static final char[] dfa_21 = DFA.unpackEncodedStringToUnsignedChars(dfa_21s); + static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s); + static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); + static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s); + static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s); + + class DFA79 extends DFA { + + public DFA79(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 79; + this.eot = dfa_14; + this.eof = dfa_14; + this.min = dfa_21; + this.max = dfa_22; + this.accept = dfa_23; + this.special = dfa_24; + this.transition = dfa_25; + } + public String getDescription() { + return "4765:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )"; + } + } + static final String dfa_26s = "\116\uffff"; + static final String dfa_27s = "\1\2\115\uffff"; + static final String dfa_28s = "\1\4\1\0\114\uffff"; + static final String dfa_29s = "\1\164\1\0\114\uffff"; + static final String dfa_30s = "\2\uffff\1\2\112\uffff\1\1"; + static final String dfa_31s = "\1\uffff\1\0\114\uffff}>"; + static final String[] dfa_32s = { + "\3\2\1\uffff\2\2\5\uffff\2\2\1\uffff\6\2\1\uffff\3\2\2\uffff\1\1\1\2\11\uffff\1\2\1\uffff\2\2\1\uffff\1\2\1\uffff\6\2\1\uffff\3\2\1\uffff\7\2\12\uffff\3\2\1\uffff\1\2\3\uffff\41\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s); + static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s); + static final char[] dfa_28 = DFA.unpackEncodedStringToUnsignedChars(dfa_28s); + static final char[] dfa_29 = DFA.unpackEncodedStringToUnsignedChars(dfa_29s); + static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s); + static final short[] dfa_31 = DFA.unpackEncodedString(dfa_31s); + static final short[][] dfa_32 = unpackEncodedStringArray(dfa_32s); + + class DFA95 extends DFA { + + public DFA95(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 95; + this.eot = dfa_26; + this.eof = dfa_27; + this.min = dfa_28; + this.max = dfa_29; + this.accept = dfa_30; + this.special = dfa_31; + this.transition = dfa_32; + } + public String getDescription() { + return "5666:5: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA95_1 = input.LA(1); + + + int index95_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred18_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index95_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 95, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_33s = "\44\uffff"; + static final String dfa_34s = "\1\4\2\0\41\uffff"; + static final String dfa_35s = "\1\163\2\0\41\uffff"; + static final String dfa_36s = "\3\uffff\2\1\1\2\35\uffff\1\3"; + static final String dfa_37s = "\1\0\1\1\1\2\41\uffff}>"; + static final String[] dfa_38s = { + "\1\1\2\5\1\uffff\2\5\5\uffff\2\5\1\uffff\1\5\1\uffff\1\5\1\uffff\1\5\4\uffff\1\5\2\uffff\1\2\1\43\16\uffff\1\5\2\uffff\1\5\12\uffff\2\5\2\uffff\1\5\12\uffff\1\4\3\5\1\uffff\1\5\15\uffff\1\3\7\uffff\3\5\2\uffff\7\5\1\uffff\1\5", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_33 = DFA.unpackEncodedString(dfa_33s); + static final char[] dfa_34 = DFA.unpackEncodedStringToUnsignedChars(dfa_34s); + static final char[] dfa_35 = DFA.unpackEncodedStringToUnsignedChars(dfa_35s); + static final short[] dfa_36 = DFA.unpackEncodedString(dfa_36s); + static final short[] dfa_37 = DFA.unpackEncodedString(dfa_37s); + static final short[][] dfa_38 = unpackEncodedStringArray(dfa_38s); + + class DFA94 extends DFA { + + public DFA94(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 94; + this.eot = dfa_33; + this.eof = dfa_33; + this.min = dfa_34; + this.max = dfa_35; + this.accept = dfa_36; + this.special = dfa_37; + this.transition = dfa_38; + } + public String getDescription() { + return "5685:6: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA94_0 = input.LA(1); + + + int index94_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA94_0==RULE_ID) ) {s = 1;} + + else if ( (LA94_0==30) ) {s = 2;} + + else if ( (LA94_0==94) && (synpred19_InternalExport())) {s = 3;} + + else if ( (LA94_0==75) && (synpred19_InternalExport())) {s = 4;} + + else if ( ((LA94_0>=RULE_STRING && LA94_0<=RULE_INT)||(LA94_0>=RULE_HEX && LA94_0<=RULE_DECIMAL)||(LA94_0>=15 && LA94_0<=16)||LA94_0==18||LA94_0==20||LA94_0==22||LA94_0==27||LA94_0==46||LA94_0==49||(LA94_0>=60 && LA94_0<=61)||LA94_0==64||(LA94_0>=76 && LA94_0<=78)||LA94_0==80||(LA94_0>=102 && LA94_0<=104)||(LA94_0>=107 && LA94_0<=113)||LA94_0==115) ) {s = 5;} + + else if ( (LA94_0==31) ) {s = 35;} + + + input.seek(index94_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA94_1 = input.LA(1); + + + int index94_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred19_InternalExport()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index94_1); + if ( s>=0 ) return s; + break; + case 2 : + int LA94_2 = input.LA(1); + + + int index94_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred19_InternalExport()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index94_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 94, _s, input); + error(nvae); + throw nvae; + } + } + static final String[] dfa_39s = { + "\3\2\1\uffff\2\2\5\uffff\2\2\1\uffff\4\2\1\1\1\2\1\uffff\3\2\2\uffff\2\2\11\uffff\1\2\1\uffff\2\2\1\uffff\1\2\1\uffff\6\2\1\uffff\3\2\1\uffff\7\2\12\uffff\3\2\1\uffff\1\2\3\uffff\41\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[][] dfa_39 = unpackEncodedStringArray(dfa_39s); + + class DFA96 extends DFA { + + public DFA96(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 96; + this.eot = dfa_26; + this.eof = dfa_27; + this.min = dfa_28; + this.max = dfa_29; + this.accept = dfa_30; + this.special = dfa_31; + this.transition = dfa_39; + } + public String getDescription() { + return "5783:5: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA96_1 = input.LA(1); + + + int index96_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred20_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index96_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 96, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_40s = "\40\uffff"; + static final String dfa_41s = "\1\4\26\uffff\1\0\10\uffff"; + static final String dfa_42s = "\1\163\26\uffff\1\0\10\uffff"; + static final String dfa_43s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\6\uffff\1\6\11\uffff\1\7\1\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\10\1\11"; + static final String dfa_44s = "\1\0\26\uffff\1\1\10\uffff}>"; + static final String[] dfa_45s = { + "\1\5\2\14\1\uffff\2\14\5\uffff\1\5\1\27\1\uffff\1\2\1\uffff\1\5\1\uffff\1\14\7\uffff\1\35\17\uffff\1\26\2\uffff\1\3\12\uffff\1\5\17\uffff\3\14\1\uffff\1\1\25\uffff\1\14\1\30\1\31\2\uffff\3\5\1\14\1\32\1\33\1\34\1\uffff\1\4", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_40 = DFA.unpackEncodedString(dfa_40s); + static final char[] dfa_41 = DFA.unpackEncodedStringToUnsignedChars(dfa_41s); + static final char[] dfa_42 = DFA.unpackEncodedStringToUnsignedChars(dfa_42s); + static final short[] dfa_43 = DFA.unpackEncodedString(dfa_43s); + static final short[] dfa_44 = DFA.unpackEncodedString(dfa_44s); + static final short[][] dfa_45 = unpackEncodedStringArray(dfa_45s); + + class DFA98 extends DFA { + + public DFA98(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 98; + this.eot = dfa_40; + this.eof = dfa_40; + this.min = dfa_41; + this.max = dfa_42; + this.accept = dfa_43; + this.special = dfa_44; + this.transition = dfa_45; + } + public String getDescription() { + return "5828:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA98_0 = input.LA(1); + + + int index98_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA98_0==80) ) {s = 1;} + + else if ( (LA98_0==18) ) {s = 2;} + + else if ( (LA98_0==49) ) {s = 3;} + + else if ( (LA98_0==115) && (synpred21_InternalExport())) {s = 4;} + + else if ( (LA98_0==RULE_ID||LA98_0==15||LA98_0==20||LA98_0==60||(LA98_0>=107 && LA98_0<=109)) ) {s = 5;} + + else if ( ((LA98_0>=RULE_STRING && LA98_0<=RULE_INT)||(LA98_0>=RULE_HEX && LA98_0<=RULE_DECIMAL)||LA98_0==22||(LA98_0>=76 && LA98_0<=78)||LA98_0==102||LA98_0==110) ) {s = 12;} + + else if ( (LA98_0==46) ) {s = 22;} + + else if ( (LA98_0==16) ) {s = 23;} + + else if ( (LA98_0==103) ) {s = 24;} + + else if ( (LA98_0==104) ) {s = 25;} + + else if ( (LA98_0==111) ) {s = 26;} + + else if ( (LA98_0==112) ) {s = 27;} + + else if ( (LA98_0==113) ) {s = 28;} + + else if ( (LA98_0==30) ) {s = 29;} + + + input.seek(index98_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA98_23 = input.LA(1); + + + int index98_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred22_InternalExport()) ) {s = 30;} + + else if ( (true) ) {s = 31;} + + + input.seek(index98_23); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 98, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_46s = "\46\uffff"; + static final String dfa_47s = "\1\4\2\0\43\uffff"; + static final String dfa_48s = "\1\163\2\0\43\uffff"; + static final String dfa_49s = "\3\uffff\2\1\1\2\40\uffff"; + static final String dfa_50s = "\1\0\1\1\1\2\43\uffff}>"; + static final String[] dfa_51s = { + "\1\1\2\5\1\uffff\2\5\5\uffff\2\5\1\uffff\1\5\1\uffff\1\5\1\uffff\2\5\3\uffff\1\5\2\uffff\1\2\17\uffff\1\5\2\uffff\1\5\12\uffff\2\5\2\uffff\1\5\12\uffff\1\4\3\5\1\uffff\1\5\15\uffff\1\3\7\uffff\14\5\1\uffff\1\5", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_46 = DFA.unpackEncodedString(dfa_46s); + static final char[] dfa_47 = DFA.unpackEncodedStringToUnsignedChars(dfa_47s); + static final char[] dfa_48 = DFA.unpackEncodedStringToUnsignedChars(dfa_48s); + static final short[] dfa_49 = DFA.unpackEncodedString(dfa_49s); + static final short[] dfa_50 = DFA.unpackEncodedString(dfa_50s); + static final short[][] dfa_51 = unpackEncodedStringArray(dfa_51s); + + class DFA107 extends DFA { + + public DFA107(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 107; + this.eot = dfa_46; + this.eof = dfa_46; + this.min = dfa_47; + this.max = dfa_48; + this.accept = dfa_49; + this.special = dfa_50; + this.transition = dfa_51; + } + public String getDescription() { + return "6320:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA107_0 = input.LA(1); + + + int index107_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA107_0==RULE_ID) ) {s = 1;} + + else if ( (LA107_0==30) ) {s = 2;} + + else if ( (LA107_0==94) && (synpred25_InternalExport())) {s = 3;} + + else if ( (LA107_0==75) && (synpred25_InternalExport())) {s = 4;} + + else if ( ((LA107_0>=RULE_STRING && LA107_0<=RULE_INT)||(LA107_0>=RULE_HEX && LA107_0<=RULE_DECIMAL)||(LA107_0>=15 && LA107_0<=16)||LA107_0==18||LA107_0==20||(LA107_0>=22 && LA107_0<=23)||LA107_0==27||LA107_0==46||LA107_0==49||(LA107_0>=60 && LA107_0<=61)||LA107_0==64||(LA107_0>=76 && LA107_0<=78)||LA107_0==80||(LA107_0>=102 && LA107_0<=113)||LA107_0==115) ) {s = 5;} + + + input.seek(index107_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA107_1 = input.LA(1); + + + int index107_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred25_InternalExport()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index107_1); + if ( s>=0 ) return s; + break; + case 2 : + int LA107_2 = input.LA(1); + + + int index107_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred25_InternalExport()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index107_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 107, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_52s = "\43\uffff"; + static final String dfa_53s = "\1\4\1\0\41\uffff"; + static final String dfa_54s = "\1\163\1\0\41\uffff"; + static final String dfa_55s = "\2\uffff\1\2\37\uffff\1\1"; + static final String dfa_56s = "\1\uffff\1\0\41\uffff}>"; + static final String[] dfa_57s = { + "\3\2\1\uffff\2\2\5\uffff\2\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\4\uffff\1\2\2\uffff\1\1\17\uffff\1\2\2\uffff\1\2\12\uffff\2\2\2\uffff\1\2\13\uffff\3\2\1\uffff\1\2\15\uffff\1\2\7\uffff\3\2\2\uffff\7\2\1\uffff\1\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_52 = DFA.unpackEncodedString(dfa_52s); + static final char[] dfa_53 = DFA.unpackEncodedStringToUnsignedChars(dfa_53s); + static final char[] dfa_54 = DFA.unpackEncodedStringToUnsignedChars(dfa_54s); + static final short[] dfa_55 = DFA.unpackEncodedString(dfa_55s); + static final short[] dfa_56 = DFA.unpackEncodedString(dfa_56s); + static final short[][] dfa_57 = unpackEncodedStringArray(dfa_57s); + + class DFA114 extends DFA { + + public DFA114(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 114; + this.eot = dfa_52; + this.eof = dfa_52; + this.min = dfa_53; + this.max = dfa_54; + this.accept = dfa_55; + this.special = dfa_56; + this.transition = dfa_57; + } + public String getDescription() { + return "6786:3: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) )"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA114_1 = input.LA(1); + + + int index114_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred28_InternalExport()) ) {s = 34;} + + else if ( (true) ) {s = 2;} + + + input.seek(index114_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 114, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_58s = "\42\uffff"; + static final String dfa_59s = "\1\4\2\0\37\uffff"; + static final String dfa_60s = "\1\163\2\0\37\uffff"; + static final String dfa_61s = "\3\uffff\1\1\1\2\35\uffff"; + static final String dfa_62s = "\1\0\1\1\1\2\37\uffff}>"; + static final String[] dfa_63s = { + "\1\1\2\4\1\uffff\2\4\5\uffff\2\4\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\4\uffff\1\4\2\uffff\1\2\17\uffff\1\4\2\uffff\1\4\12\uffff\2\4\2\uffff\1\4\13\uffff\3\4\1\uffff\1\4\15\uffff\1\3\7\uffff\3\4\2\uffff\7\4\1\uffff\1\4", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_58 = DFA.unpackEncodedString(dfa_58s); + static final char[] dfa_59 = DFA.unpackEncodedStringToUnsignedChars(dfa_59s); + static final char[] dfa_60 = DFA.unpackEncodedStringToUnsignedChars(dfa_60s); + static final short[] dfa_61 = DFA.unpackEncodedString(dfa_61s); + static final short[] dfa_62 = DFA.unpackEncodedString(dfa_62s); + static final short[][] dfa_63 = unpackEncodedStringArray(dfa_63s); + + class DFA113 extends DFA { + + public DFA113(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 113; + this.eot = dfa_58; + this.eof = dfa_58; + this.min = dfa_59; + this.max = dfa_60; + this.accept = dfa_61; + this.special = dfa_62; + this.transition = dfa_63; + } + public String getDescription() { + return "6855:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA113_0 = input.LA(1); + + + int index113_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA113_0==RULE_ID) ) {s = 1;} + + else if ( (LA113_0==30) ) {s = 2;} + + else if ( (LA113_0==94) && (synpred29_InternalExport())) {s = 3;} + + else if ( ((LA113_0>=RULE_STRING && LA113_0<=RULE_INT)||(LA113_0>=RULE_HEX && LA113_0<=RULE_DECIMAL)||(LA113_0>=15 && LA113_0<=16)||LA113_0==18||LA113_0==20||LA113_0==22||LA113_0==27||LA113_0==46||LA113_0==49||(LA113_0>=60 && LA113_0<=61)||LA113_0==64||(LA113_0>=76 && LA113_0<=78)||LA113_0==80||(LA113_0>=102 && LA113_0<=104)||(LA113_0>=107 && LA113_0<=113)||LA113_0==115) ) {s = 4;} + + + input.seek(index113_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA113_1 = input.LA(1); + + + int index113_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred29_InternalExport()) ) {s = 3;} + + else if ( (true) ) {s = 4;} + + + input.seek(index113_1); + if ( s>=0 ) return s; + break; + case 2 : + int LA113_2 = input.LA(1); + + + int index113_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred29_InternalExport()) ) {s = 3;} + + else if ( (true) ) {s = 4;} + + + input.seek(index113_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 113, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA136 extends DFA { + + public DFA136(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 136; + this.eot = dfa_26; + this.eof = dfa_27; + this.min = dfa_28; + this.max = dfa_29; + this.accept = dfa_30; + this.special = dfa_31; + this.transition = dfa_32; + } + public String getDescription() { + return "7984:3: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA136_1 = input.LA(1); + + + int index136_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred32_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index136_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 136, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA135 extends DFA { + + public DFA135(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 135; + this.eot = dfa_33; + this.eof = dfa_33; + this.min = dfa_34; + this.max = dfa_35; + this.accept = dfa_36; + this.special = dfa_37; + this.transition = dfa_38; + } + public String getDescription() { + return "8003:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA135_0 = input.LA(1); + + + int index135_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA135_0==RULE_ID) ) {s = 1;} + + else if ( (LA135_0==30) ) {s = 2;} + + else if ( (LA135_0==94) && (synpred33_InternalExport())) {s = 3;} + + else if ( (LA135_0==75) && (synpred33_InternalExport())) {s = 4;} + + else if ( ((LA135_0>=RULE_STRING && LA135_0<=RULE_INT)||(LA135_0>=RULE_HEX && LA135_0<=RULE_DECIMAL)||(LA135_0>=15 && LA135_0<=16)||LA135_0==18||LA135_0==20||LA135_0==22||LA135_0==27||LA135_0==46||LA135_0==49||(LA135_0>=60 && LA135_0<=61)||LA135_0==64||(LA135_0>=76 && LA135_0<=78)||LA135_0==80||(LA135_0>=102 && LA135_0<=104)||(LA135_0>=107 && LA135_0<=113)||LA135_0==115) ) {s = 5;} + + else if ( (LA135_0==31) ) {s = 35;} + + + input.seek(index135_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA135_1 = input.LA(1); + + + int index135_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred33_InternalExport()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index135_1); + if ( s>=0 ) return s; + break; + case 2 : + int LA135_2 = input.LA(1); + + + int index135_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred33_InternalExport()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index135_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 135, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA137 extends DFA { + + public DFA137(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 137; + this.eot = dfa_26; + this.eof = dfa_27; + this.min = dfa_28; + this.max = dfa_29; + this.accept = dfa_30; + this.special = dfa_31; + this.transition = dfa_39; + } + public String getDescription() { + return "8101:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA137_1 = input.LA(1); + + + int index137_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred34_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index137_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 137, _s, input); + error(nvae); + throw nvae; + } + } + static final String[] dfa_64s = { + "\3\2\1\uffff\2\2\5\uffff\2\2\1\uffff\6\2\1\uffff\3\2\2\uffff\2\2\11\uffff\1\2\1\uffff\2\2\1\uffff\1\2\1\uffff\6\2\1\uffff\3\2\1\uffff\1\2\1\1\5\2\12\uffff\3\2\1\uffff\1\2\3\uffff\41\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[][] dfa_64 = unpackEncodedStringArray(dfa_64s); + + class DFA141 extends DFA { + + public DFA141(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 141; + this.eot = dfa_26; + this.eof = dfa_27; + this.min = dfa_28; + this.max = dfa_29; + this.accept = dfa_30; + this.special = dfa_31; + this.transition = dfa_64; + } + public String getDescription() { + return "8260:3: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA141_1 = input.LA(1); + + + int index141_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred35_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index141_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 141, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA144 extends DFA { + + public DFA144(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 144; + this.eot = dfa_26; + this.eof = dfa_27; + this.min = dfa_28; + this.max = dfa_29; + this.accept = dfa_30; + this.special = dfa_31; + this.transition = dfa_32; + } + public String getDescription() { + return "8317:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA144_1 = input.LA(1); + + + int index144_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred36_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index144_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 144, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA143 extends DFA { + + public DFA143(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 143; + this.eot = dfa_33; + this.eof = dfa_33; + this.min = dfa_34; + this.max = dfa_35; + this.accept = dfa_36; + this.special = dfa_37; + this.transition = dfa_38; + } + public String getDescription() { + return "8336:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA143_0 = input.LA(1); + + + int index143_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA143_0==RULE_ID) ) {s = 1;} + + else if ( (LA143_0==30) ) {s = 2;} + + else if ( (LA143_0==94) && (synpred37_InternalExport())) {s = 3;} + + else if ( (LA143_0==75) && (synpred37_InternalExport())) {s = 4;} + + else if ( ((LA143_0>=RULE_STRING && LA143_0<=RULE_INT)||(LA143_0>=RULE_HEX && LA143_0<=RULE_DECIMAL)||(LA143_0>=15 && LA143_0<=16)||LA143_0==18||LA143_0==20||LA143_0==22||LA143_0==27||LA143_0==46||LA143_0==49||(LA143_0>=60 && LA143_0<=61)||LA143_0==64||(LA143_0>=76 && LA143_0<=78)||LA143_0==80||(LA143_0>=102 && LA143_0<=104)||(LA143_0>=107 && LA143_0<=113)||LA143_0==115) ) {s = 5;} + + else if ( (LA143_0==31) ) {s = 35;} + + + input.seek(index143_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA143_1 = input.LA(1); + + + int index143_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred37_InternalExport()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index143_1); + if ( s>=0 ) return s; + break; + case 2 : + int LA143_2 = input.LA(1); + + + int index143_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred37_InternalExport()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index143_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 143, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA145 extends DFA { + + public DFA145(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 145; + this.eot = dfa_26; + this.eof = dfa_27; + this.min = dfa_28; + this.max = dfa_29; + this.accept = dfa_30; + this.special = dfa_31; + this.transition = dfa_39; + } + public String getDescription() { + return "8434:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA145_1 = input.LA(1); + + + int index145_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred38_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index145_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 145, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_65s = "\1\41\115\uffff"; + static final String dfa_66s = "\1\4\40\0\55\uffff"; + static final String dfa_67s = "\1\164\40\0\55\uffff"; + static final String dfa_68s = "\41\uffff\1\2\53\uffff\1\1"; + static final String dfa_69s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\55\uffff}>"; + static final String[] dfa_70s = { + "\1\1\1\27\1\24\1\uffff\1\23\1\25\5\uffff\1\5\1\32\1\uffff\1\12\1\41\1\4\1\41\1\20\1\41\1\uffff\2\41\1\10\2\uffff\1\40\1\41\11\uffff\1\41\1\uffff\2\41\1\uffff\1\31\1\uffff\1\41\1\13\4\41\1\uffff\3\41\1\uffff\1\41\1\15\1\7\2\41\1\6\1\41\12\uffff\1\22\1\21\1\26\1\uffff\1\11\3\uffff\22\41\1\17\1\33\1\34\2\41\1\2\1\3\1\16\1\30\1\35\1\36\1\37\1\41\1\14\1\41", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[] dfa_65 = DFA.unpackEncodedString(dfa_65s); + static final char[] dfa_66 = DFA.unpackEncodedStringToUnsignedChars(dfa_66s); + static final char[] dfa_67 = DFA.unpackEncodedStringToUnsignedChars(dfa_67s); + static final short[] dfa_68 = DFA.unpackEncodedString(dfa_68s); + static final short[] dfa_69 = DFA.unpackEncodedString(dfa_69s); + static final short[][] dfa_70 = unpackEncodedStringArray(dfa_70s); + + class DFA148 extends DFA { + + public DFA148(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 148; + this.eot = dfa_26; + this.eof = dfa_65; + this.min = dfa_66; + this.max = dfa_67; + this.accept = dfa_68; + this.special = dfa_69; + this.transition = dfa_70; + } + public String getDescription() { + return "8777:3: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA148_1 = input.LA(1); + + + int index148_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA148_2 = input.LA(1); + + + int index148_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_2); + if ( s>=0 ) return s; + break; + case 2 : + int LA148_3 = input.LA(1); + + + int index148_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_3); + if ( s>=0 ) return s; + break; + case 3 : + int LA148_4 = input.LA(1); + + + int index148_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_4); + if ( s>=0 ) return s; + break; + case 4 : + int LA148_5 = input.LA(1); + + + int index148_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_5); + if ( s>=0 ) return s; + break; + case 5 : + int LA148_6 = input.LA(1); + + + int index148_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_6); + if ( s>=0 ) return s; + break; + case 6 : + int LA148_7 = input.LA(1); + + + int index148_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_7); + if ( s>=0 ) return s; + break; + case 7 : + int LA148_8 = input.LA(1); + + + int index148_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_8); + if ( s>=0 ) return s; + break; + case 8 : + int LA148_9 = input.LA(1); + + + int index148_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_9); + if ( s>=0 ) return s; + break; + case 9 : + int LA148_10 = input.LA(1); + + + int index148_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_10); + if ( s>=0 ) return s; + break; + case 10 : + int LA148_11 = input.LA(1); + + + int index148_11 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_11); + if ( s>=0 ) return s; + break; + case 11 : + int LA148_12 = input.LA(1); + + + int index148_12 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_12); + if ( s>=0 ) return s; + break; + case 12 : + int LA148_13 = input.LA(1); + + + int index148_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_13); + if ( s>=0 ) return s; + break; + case 13 : + int LA148_14 = input.LA(1); + + + int index148_14 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_14); + if ( s>=0 ) return s; + break; + case 14 : + int LA148_15 = input.LA(1); + + + int index148_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_15); + if ( s>=0 ) return s; + break; + case 15 : + int LA148_16 = input.LA(1); + + + int index148_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_16); + if ( s>=0 ) return s; + break; + case 16 : + int LA148_17 = input.LA(1); + + + int index148_17 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_17); + if ( s>=0 ) return s; + break; + case 17 : + int LA148_18 = input.LA(1); + + + int index148_18 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_18); + if ( s>=0 ) return s; + break; + case 18 : + int LA148_19 = input.LA(1); + + + int index148_19 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_19); + if ( s>=0 ) return s; + break; + case 19 : + int LA148_20 = input.LA(1); + + + int index148_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_20); + if ( s>=0 ) return s; + break; + case 20 : + int LA148_21 = input.LA(1); + + + int index148_21 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_21); + if ( s>=0 ) return s; + break; + case 21 : + int LA148_22 = input.LA(1); + + + int index148_22 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_22); + if ( s>=0 ) return s; + break; + case 22 : + int LA148_23 = input.LA(1); + + + int index148_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_23); + if ( s>=0 ) return s; + break; + case 23 : + int LA148_24 = input.LA(1); + + + int index148_24 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_24); + if ( s>=0 ) return s; + break; + case 24 : + int LA148_25 = input.LA(1); + + + int index148_25 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_25); + if ( s>=0 ) return s; + break; + case 25 : + int LA148_26 = input.LA(1); + + + int index148_26 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_26); + if ( s>=0 ) return s; + break; + case 26 : + int LA148_27 = input.LA(1); + + + int index148_27 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_27); + if ( s>=0 ) return s; + break; + case 27 : + int LA148_28 = input.LA(1); + + + int index148_28 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_28); + if ( s>=0 ) return s; + break; + case 28 : + int LA148_29 = input.LA(1); + + + int index148_29 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_29); + if ( s>=0 ) return s; + break; + case 29 : + int LA148_30 = input.LA(1); + + + int index148_30 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_30); + if ( s>=0 ) return s; + break; + case 30 : + int LA148_31 = input.LA(1); + + + int index148_31 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_31); + if ( s>=0 ) return s; + break; + case 31 : + int LA148_32 = input.LA(1); + + + int index148_32 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExport()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index148_32); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 148, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_71s = "\117\uffff"; + static final String dfa_72s = "\1\2\116\uffff"; + static final String dfa_73s = "\1\4\1\0\115\uffff"; + static final String dfa_74s = "\1\165\1\0\115\uffff"; + static final String dfa_75s = "\2\uffff\1\2\113\uffff\1\1"; + static final String dfa_76s = "\1\uffff\1\0\115\uffff}>"; + static final String[] dfa_77s = { + "\3\2\1\uffff\2\2\5\uffff\2\2\1\uffff\6\2\1\uffff\3\2\2\uffff\2\2\11\uffff\1\2\1\uffff\2\2\1\uffff\1\2\1\uffff\6\2\1\uffff\3\2\1\uffff\1\2\1\1\5\2\12\uffff\3\2\1\uffff\1\2\3\uffff\42\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "", "", "", @@ -11283,120 +33335,268 @@ public final boolean synpred2_InternalExport() { "" }; - static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); - static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s); - static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); - static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s); - static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); - static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); + static final short[] dfa_71 = DFA.unpackEncodedString(dfa_71s); + static final short[] dfa_72 = DFA.unpackEncodedString(dfa_72s); + static final char[] dfa_73 = DFA.unpackEncodedStringToUnsignedChars(dfa_73s); + static final char[] dfa_74 = DFA.unpackEncodedStringToUnsignedChars(dfa_74s); + static final short[] dfa_75 = DFA.unpackEncodedString(dfa_75s); + static final short[] dfa_76 = DFA.unpackEncodedString(dfa_76s); + static final short[][] dfa_77 = unpackEncodedStringArray(dfa_77s); - class DFA30 extends DFA { + class DFA166 extends DFA { - public DFA30(BaseRecognizer recognizer) { + public DFA166(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 30; - this.eot = dfa_1; - this.eof = dfa_1; - this.min = dfa_2; - this.max = dfa_3; - this.accept = dfa_4; - this.special = dfa_5; - this.transition = dfa_6; + this.decisionNumber = 166; + this.eot = dfa_71; + this.eof = dfa_72; + this.min = dfa_73; + this.max = dfa_74; + this.accept = dfa_75; + this.special = dfa_76; + this.transition = dfa_77; } public String getDescription() { - return "1175:2: (this_LetExpression_0= ruleLetExpression | ( ( ruleCastedExpression )=>this_CastedExpression_1= ruleCastedExpression ) | this_ChainExpression_2= ruleChainExpression )"; + return "9435:3: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA30_2 = input.LA(1); + int LA166_1 = input.LA(1); - int index30_2 = input.index(); + int index166_1 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalExport()) ) {s = 29;} + if ( (synpred46_InternalExport()) ) {s = 78;} - else if ( (true) ) {s = 3;} + else if ( (true) ) {s = 2;} - input.seek(index30_2); + input.seek(index166_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 30, _s, input); + new NoViableAltException(getDescription(), 166, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA164 extends DFA { + + public DFA164(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 164; + this.eot = dfa_71; + this.eof = dfa_72; + this.min = dfa_73; + this.max = dfa_74; + this.accept = dfa_75; + this.special = dfa_76; + this.transition = dfa_77; + } + public String getDescription() { + return "9529:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA164_1 = input.LA(1); + + + int index164_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred48_InternalExport()) ) {s = 78;} + + else if ( (true) ) {s = 2;} + + + input.seek(index164_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 164, _s, input); error(nvae); throw nvae; } } + static final String dfa_78s = "\7\uffff"; + static final String dfa_79s = "\2\uffff\1\4\3\uffff\1\4"; + static final String dfa_80s = "\1\4\1\uffff\1\32\1\4\2\uffff\1\32"; + static final String dfa_81s = "\1\154\1\uffff\1\101\1\76\2\uffff\1\101"; + static final String dfa_82s = "\1\uffff\1\1\2\uffff\1\2\1\3\1\uffff"; + static final String dfa_83s = "\7\uffff}>"; + static final String[] dfa_84s = { + "\1\2\147\uffff\1\1", + "", + "\1\4\46\uffff\1\3", + "\1\6\71\uffff\1\5", + "", + "", + "\1\4\46\uffff\1\3" + }; + + static final short[] dfa_78 = DFA.unpackEncodedString(dfa_78s); + static final short[] dfa_79 = DFA.unpackEncodedString(dfa_79s); + static final char[] dfa_80 = DFA.unpackEncodedStringToUnsignedChars(dfa_80s); + static final char[] dfa_81 = DFA.unpackEncodedStringToUnsignedChars(dfa_81s); + static final short[] dfa_82 = DFA.unpackEncodedString(dfa_82s); + static final short[] dfa_83 = DFA.unpackEncodedString(dfa_83s); + static final short[][] dfa_84 = unpackEncodedStringArray(dfa_84s); + + class DFA173 extends DFA { + + public DFA173(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 173; + this.eot = dfa_78; + this.eof = dfa_79; + this.min = dfa_80; + this.max = dfa_81; + this.accept = dfa_82; + this.special = dfa_83; + this.transition = dfa_84; + } + public String getDescription() { + return "9991:3: ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) )"; + } + } public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000002010L}); + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000008010L}); public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000004000L}); - public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000040000L}); - public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x000000000004B000L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x000000000000B000L}); - public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000010000L}); - public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000020010L}); - public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x000000000000B002L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000100000L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x000000000012C000L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x000000000002C000L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000040000L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000080010L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x000000000002C002L}); public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000080002L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000001500000L}); - public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x48009100100100F0L,0x000000000003FDFFL}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000200000L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000001400000L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x000000000E000010L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000001C00000L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000002000010L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000016000000L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000012000000L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000010000000L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000020000000L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000040000010L}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000100010L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000190000L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x48009100900100F0L,0x000000000003FDFFL}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000110000L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000007900020000L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000400000L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000600000000L}); - public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000400000000L}); - public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000007800020000L}); - public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000006000020000L}); - public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000001800000L}); - public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000008000000002L}); - public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000020000000000L}); - public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000010L,0x0000000000038000L}); - public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000040000000002L}); - public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000080000000002L}); - public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000200000000000L}); - public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000400000000002L}); - public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000010010000L}); - public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x48000000100100F0L,0x000000000003FDFFL}); - public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0003000000000000L}); - public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000000000020000L}); - public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0004000000000002L}); - public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0008000000000002L}); - public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0010000000000002L}); - public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x07E0000000000002L}); - public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0800000002000002L}); - public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x3000000000000002L}); - public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x8000000000000002L}); - public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x48009100300100F0L,0x000000000003FDFFL}); - public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000020800000L}); - public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); - public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000000000000L,0x00000000000001FEL}); - public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); - public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x48009100100300F0L,0x000000000003FDFFL}); - public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000000000820000L}); - public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000000100000L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000200002L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000005400000L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x20024400400400F0L,0x00000000000FF7FDL}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000800000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000005000000L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000038000010L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000007000000L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000008000010L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000058000000L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000048000000L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000040000000L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000100000010L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000400010L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000640000L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x20024402400400F0L,0x00000000000FF7FDL}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000440000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x000001E400080000L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000001800000000L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000001000000000L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000004000000L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x000001E000080000L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000018000080000L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000006000000L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000020000000002L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000080000000000L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000010L,0x00000000000E0000L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000100000000002L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000200000000002L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000800000000000L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0001000000000002L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000040040000L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x20000000400400F0L,0x00000000000FF7FDL}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x000C000000000000L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000000000080000L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0010000000000002L}); + public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0020000000000002L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0040000000000002L}); + public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x1F80000000000002L}); + public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x2000000008000002L}); + public static final BitSet FOLLOW_54 = new BitSet(new long[]{0xC000000000000002L}); + public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000002L}); + public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x20024400C00400F0L,0x00000000000FF7FDL}); + public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000082000000L}); + public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000000000000L,0x00000000000007F8L}); + public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); + public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x20024400400C00F0L,0x00000000000FF7FDL}); + public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000000002080000L}); + public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000000400000L}); + public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x3002400048558370L,0x000BF9C000017001L}); + public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x1800000000000002L,0x0000000001F00000L}); + public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x1000000000000000L}); + public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0A00000000000000L}); + public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0200000000000000L}); + public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0180000000000002L,0x0000000006000000L}); + public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x1A00000000000002L,0x0000000008000000L}); + public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000040000010L,0x0000000040000000L}); + public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x1800100000000002L,0x00000001F0000000L}); + public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L}); + public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0800000000000000L}); + public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x1000000000000000L,0x0000000040000000L}); + public static final BitSet FOLLOW_76 = new BitSet(new long[]{0xC000000000000002L,0x0000000600000000L}); + public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000000000000002L,0x0000001800000000L}); + public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000020000000002L,0x0000002000000002L}); + public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000000000108010L,0x0000180000000000L}); + public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x1000000000108010L,0x0000380000000000L}); + public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000200040000010L,0x0000000040000000L}); + public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0800000002000000L}); + public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000020040400002L,0x0000002000000002L}); + public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x30024000C8558370L,0x000BF9C040017801L}); + public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x0000020000400002L,0x0000002000000002L}); + public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x30024000485D8370L,0x000BF9C000017001L}); + public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x3002400048D58370L,0x000BF9C000017001L}); + public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0000000002800000L}); + public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x3002400048D58370L,0x000BFFC040017801L}); + public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000800L}); + public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x3002400048D58370L,0x000BFFC000017001L}); + public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x300240004C558372L,0x000BFFC000017001L}); + public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x3002400048558372L,0x000BFFC000017001L}); + public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x3002400048558370L,0x000BF9C040017001L}); + public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x000C080042080010L,0x0000000040000000L}); + public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0008080002000000L}); + public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000080002000000L}); + public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x300240004C558370L,0x000BFFC000017001L}); + public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x3002400048558370L,0x000BFFC000017001L}); + public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x300240004C558370L,0x000BF9C000017001L}); + public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x30024000C8558370L,0x000BF9C000017001L}); + public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L}); + public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x30024000485D8370L,0x000BFFC000017001L}); + public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x300240004C5D8370L,0x000BFFC000017001L}); + public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0000000001000002L}); + public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x0000000040400002L}); + public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0000000000400002L}); + public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x1000000040400002L}); + public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x0000000080400000L}); + public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x3002400048558372L,0x000BF9C000017001L}); + public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0000000000000000L,0x0014000000000000L}); + public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000000000000002L,0x0014000000000000L}); + public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0000000000000240L}); + public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x00000000C0000010L,0x0000000040000000L}); + public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); + public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x1000000000000002L}); + public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x1000000000000002L,0x0000000000000002L}); + public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x0000000000000002L,0x0000280000000000L}); + public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x0000000000000002L,0x0020000000000000L}); + public static final BitSet FOLLOW_120 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_121 = new BitSet(new long[]{0x4000000000000000L}); + public static final BitSet FOLLOW_122 = new BitSet(new long[]{0x0000000000000010L,0x0000100000000000L}); + public static final BitSet FOLLOW_123 = new BitSet(new long[]{0x4000000000000010L}); + public static final BitSet FOLLOW_124 = new BitSet(new long[]{0x0000000004000002L}); + public static final BitSet FOLLOW_125 = new BitSet(new long[]{0x0000000000000012L}); } \ No newline at end of file diff --git a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/serializer/AbstractExportSemanticSequencer.java b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/serializer/AbstractExportSemanticSequencer.java index a8ddabe7c4..8e18b3824e 100644 --- a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/serializer/AbstractExportSemanticSequencer.java +++ b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/serializer/AbstractExportSemanticSequencer.java @@ -44,9 +44,54 @@ import org.eclipse.xtext.Action; import org.eclipse.xtext.Parameter; import org.eclipse.xtext.ParserRule; +import org.eclipse.xtext.common.types.JvmFormalParameter; +import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; +import org.eclipse.xtext.common.types.JvmInnerTypeReference; +import org.eclipse.xtext.common.types.JvmLowerBound; +import org.eclipse.xtext.common.types.JvmParameterizedTypeReference; +import org.eclipse.xtext.common.types.JvmTypeParameter; +import org.eclipse.xtext.common.types.JvmUpperBound; +import org.eclipse.xtext.common.types.JvmWildcardTypeReference; +import org.eclipse.xtext.common.types.TypesPackage; import org.eclipse.xtext.serializer.ISerializationContext; import org.eclipse.xtext.serializer.acceptor.SequenceFeeder; import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient; +import org.eclipse.xtext.xbase.XAssignment; +import org.eclipse.xtext.xbase.XBasicForLoopExpression; +import org.eclipse.xtext.xbase.XBinaryOperation; +import org.eclipse.xtext.xbase.XBlockExpression; +import org.eclipse.xtext.xbase.XBooleanLiteral; +import org.eclipse.xtext.xbase.XCasePart; +import org.eclipse.xtext.xbase.XCastedExpression; +import org.eclipse.xtext.xbase.XCatchClause; +import org.eclipse.xtext.xbase.XClosure; +import org.eclipse.xtext.xbase.XConstructorCall; +import org.eclipse.xtext.xbase.XDoWhileExpression; +import org.eclipse.xtext.xbase.XFeatureCall; +import org.eclipse.xtext.xbase.XForLoopExpression; +import org.eclipse.xtext.xbase.XIfExpression; +import org.eclipse.xtext.xbase.XInstanceOfExpression; +import org.eclipse.xtext.xbase.XListLiteral; +import org.eclipse.xtext.xbase.XMemberFeatureCall; +import org.eclipse.xtext.xbase.XNullLiteral; +import org.eclipse.xtext.xbase.XNumberLiteral; +import org.eclipse.xtext.xbase.XPostfixOperation; +import org.eclipse.xtext.xbase.XReturnExpression; +import org.eclipse.xtext.xbase.XSetLiteral; +import org.eclipse.xtext.xbase.XStringLiteral; +import org.eclipse.xtext.xbase.XSwitchExpression; +import org.eclipse.xtext.xbase.XSynchronizedExpression; +import org.eclipse.xtext.xbase.XThrowExpression; +import org.eclipse.xtext.xbase.XTryCatchFinallyExpression; +import org.eclipse.xtext.xbase.XTypeLiteral; +import org.eclipse.xtext.xbase.XUnaryOperation; +import org.eclipse.xtext.xbase.XVariableDeclaration; +import org.eclipse.xtext.xbase.XWhileExpression; +import org.eclipse.xtext.xbase.XbasePackage; +import org.eclipse.xtext.xtype.XFunctionTypeRef; +import org.eclipse.xtext.xtype.XImportDeclaration; +import org.eclipse.xtext.xtype.XImportSection; +import org.eclipse.xtext.xtype.XtypePackage; @SuppressWarnings("all") public abstract class AbstractExportSemanticSequencer extends ExpressionSemanticSequencer { @@ -340,6 +385,245 @@ else if (rule == grammarAccess.getFeatureCallRule() } else break; } + else if (epackage == TypesPackage.eINSTANCE) + switch (semanticObject.eClass().getClassifierID()) { + case TypesPackage.JVM_FORMAL_PARAMETER: + if (rule == grammarAccess.getFullJvmFormalParameterRule()) { + sequence_FullJvmFormalParameter(context, (JvmFormalParameter) semanticObject); + return; + } + else if (rule == grammarAccess.getJvmFormalParameterRule()) { + sequence_JvmFormalParameter(context, (JvmFormalParameter) semanticObject); + return; + } + else break; + case TypesPackage.JVM_GENERIC_ARRAY_TYPE_REFERENCE: + sequence_JvmTypeReference(context, (JvmGenericArrayTypeReference) semanticObject); + return; + case TypesPackage.JVM_INNER_TYPE_REFERENCE: + sequence_JvmParameterizedTypeReference(context, (JvmInnerTypeReference) semanticObject); + return; + case TypesPackage.JVM_LOWER_BOUND: + if (rule == grammarAccess.getJvmLowerBoundAndedRule()) { + sequence_JvmLowerBoundAnded(context, (JvmLowerBound) semanticObject); + return; + } + else if (rule == grammarAccess.getJvmLowerBoundRule()) { + sequence_JvmLowerBound(context, (JvmLowerBound) semanticObject); + return; + } + else break; + case TypesPackage.JVM_PARAMETERIZED_TYPE_REFERENCE: + if (action == grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()) { + sequence_JvmParameterizedTypeReference_JvmInnerTypeReference_1_4_0_0_0(context, (JvmParameterizedTypeReference) semanticObject); + return; + } + else if (rule == grammarAccess.getJvmTypeReferenceRule() + || action == grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0() + || rule == grammarAccess.getJvmParameterizedTypeReferenceRule() + || rule == grammarAccess.getJvmArgumentTypeReferenceRule()) { + sequence_JvmParameterizedTypeReference(context, (JvmParameterizedTypeReference) semanticObject); + return; + } + else break; + case TypesPackage.JVM_TYPE_PARAMETER: + sequence_JvmTypeParameter(context, (JvmTypeParameter) semanticObject); + return; + case TypesPackage.JVM_UPPER_BOUND: + if (rule == grammarAccess.getJvmUpperBoundAndedRule()) { + sequence_JvmUpperBoundAnded(context, (JvmUpperBound) semanticObject); + return; + } + else if (rule == grammarAccess.getJvmUpperBoundRule()) { + sequence_JvmUpperBound(context, (JvmUpperBound) semanticObject); + return; + } + else break; + case TypesPackage.JVM_WILDCARD_TYPE_REFERENCE: + sequence_JvmWildcardTypeReference(context, (JvmWildcardTypeReference) semanticObject); + return; + } + else if (epackage == XbasePackage.eINSTANCE) + switch (semanticObject.eClass().getClassifierID()) { + case XbasePackage.XASSIGNMENT: + sequence_XAssignment_XMemberFeatureCall(context, (XAssignment) semanticObject); + return; + case XbasePackage.XBASIC_FOR_LOOP_EXPRESSION: + sequence_XBasicForLoopExpression(context, (XBasicForLoopExpression) semanticObject); + return; + case XbasePackage.XBINARY_OPERATION: + sequence_XAdditiveExpression_XAndExpression_XAssignment_XEqualityExpression_XMultiplicativeExpression_XOrExpression_XOtherOperatorExpression_XRelationalExpression(context, (XBinaryOperation) semanticObject); + return; + case XbasePackage.XBLOCK_EXPRESSION: + if (rule == grammarAccess.getXExpressionRule() + || rule == grammarAccess.getXAssignmentRule() + || action == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() + || rule == grammarAccess.getXOrExpressionRule() + || action == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXAndExpressionRule() + || action == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXEqualityExpressionRule() + || action == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXRelationalExpressionRule() + || action == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() + || action == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() + || rule == grammarAccess.getXOtherOperatorExpressionRule() + || action == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXAdditiveExpressionRule() + || action == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXMultiplicativeExpressionRule() + || action == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXUnaryOperationRule() + || rule == grammarAccess.getXCastedExpressionRule() + || action == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() + || rule == grammarAccess.getXPostfixOperationRule() + || action == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() + || rule == grammarAccess.getXMemberFeatureCallRule() + || action == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() + || action == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() + || rule == grammarAccess.getXPrimaryExpressionRule() + || rule == grammarAccess.getXParenthesizedExpressionRule() + || rule == grammarAccess.getXBlockExpressionRule() + || rule == grammarAccess.getXExpressionOrVarDeclarationRule()) { + sequence_XBlockExpression(context, (XBlockExpression) semanticObject); + return; + } + else if (rule == grammarAccess.getXExpressionInClosureRule()) { + sequence_XExpressionInClosure(context, (XBlockExpression) semanticObject); + return; + } + else break; + case XbasePackage.XBOOLEAN_LITERAL: + sequence_XBooleanLiteral(context, (XBooleanLiteral) semanticObject); + return; + case XbasePackage.XCASE_PART: + sequence_XCasePart(context, (XCasePart) semanticObject); + return; + case XbasePackage.XCASTED_EXPRESSION: + sequence_XCastedExpression(context, (XCastedExpression) semanticObject); + return; + case XbasePackage.XCATCH_CLAUSE: + sequence_XCatchClause(context, (XCatchClause) semanticObject); + return; + case XbasePackage.XCLOSURE: + if (rule == grammarAccess.getXExpressionRule() + || rule == grammarAccess.getXAssignmentRule() + || action == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() + || rule == grammarAccess.getXOrExpressionRule() + || action == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXAndExpressionRule() + || action == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXEqualityExpressionRule() + || action == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXRelationalExpressionRule() + || action == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() + || action == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() + || rule == grammarAccess.getXOtherOperatorExpressionRule() + || action == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXAdditiveExpressionRule() + || action == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXMultiplicativeExpressionRule() + || action == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXUnaryOperationRule() + || rule == grammarAccess.getXCastedExpressionRule() + || action == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() + || rule == grammarAccess.getXPostfixOperationRule() + || action == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() + || rule == grammarAccess.getXMemberFeatureCallRule() + || action == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() + || action == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() + || rule == grammarAccess.getXPrimaryExpressionRule() + || rule == grammarAccess.getXLiteralRule() + || rule == grammarAccess.getXClosureRule() + || rule == grammarAccess.getXParenthesizedExpressionRule() + || rule == grammarAccess.getXExpressionOrVarDeclarationRule()) { + sequence_XClosure(context, (XClosure) semanticObject); + return; + } + else if (rule == grammarAccess.getXShortClosureRule()) { + sequence_XShortClosure(context, (XClosure) semanticObject); + return; + } + else break; + case XbasePackage.XCONSTRUCTOR_CALL: + sequence_XConstructorCall(context, (XConstructorCall) semanticObject); + return; + case XbasePackage.XDO_WHILE_EXPRESSION: + sequence_XDoWhileExpression(context, (XDoWhileExpression) semanticObject); + return; + case XbasePackage.XFEATURE_CALL: + sequence_XFeatureCall(context, (XFeatureCall) semanticObject); + return; + case XbasePackage.XFOR_LOOP_EXPRESSION: + sequence_XForLoopExpression(context, (XForLoopExpression) semanticObject); + return; + case XbasePackage.XIF_EXPRESSION: + sequence_XIfExpression(context, (XIfExpression) semanticObject); + return; + case XbasePackage.XINSTANCE_OF_EXPRESSION: + sequence_XRelationalExpression(context, (XInstanceOfExpression) semanticObject); + return; + case XbasePackage.XLIST_LITERAL: + sequence_XListLiteral(context, (XListLiteral) semanticObject); + return; + case XbasePackage.XMEMBER_FEATURE_CALL: + sequence_XMemberFeatureCall(context, (XMemberFeatureCall) semanticObject); + return; + case XbasePackage.XNULL_LITERAL: + sequence_XNullLiteral(context, (XNullLiteral) semanticObject); + return; + case XbasePackage.XNUMBER_LITERAL: + sequence_XNumberLiteral(context, (XNumberLiteral) semanticObject); + return; + case XbasePackage.XPOSTFIX_OPERATION: + sequence_XPostfixOperation(context, (XPostfixOperation) semanticObject); + return; + case XbasePackage.XRETURN_EXPRESSION: + sequence_XReturnExpression(context, (XReturnExpression) semanticObject); + return; + case XbasePackage.XSET_LITERAL: + sequence_XSetLiteral(context, (XSetLiteral) semanticObject); + return; + case XbasePackage.XSTRING_LITERAL: + sequence_XStringLiteral(context, (XStringLiteral) semanticObject); + return; + case XbasePackage.XSWITCH_EXPRESSION: + sequence_XSwitchExpression(context, (XSwitchExpression) semanticObject); + return; + case XbasePackage.XSYNCHRONIZED_EXPRESSION: + sequence_XSynchronizedExpression(context, (XSynchronizedExpression) semanticObject); + return; + case XbasePackage.XTHROW_EXPRESSION: + sequence_XThrowExpression(context, (XThrowExpression) semanticObject); + return; + case XbasePackage.XTRY_CATCH_FINALLY_EXPRESSION: + sequence_XTryCatchFinallyExpression(context, (XTryCatchFinallyExpression) semanticObject); + return; + case XbasePackage.XTYPE_LITERAL: + sequence_XTypeLiteral(context, (XTypeLiteral) semanticObject); + return; + case XbasePackage.XUNARY_OPERATION: + sequence_XUnaryOperation(context, (XUnaryOperation) semanticObject); + return; + case XbasePackage.XVARIABLE_DECLARATION: + sequence_XVariableDeclaration(context, (XVariableDeclaration) semanticObject); + return; + case XbasePackage.XWHILE_EXPRESSION: + sequence_XWhileExpression(context, (XWhileExpression) semanticObject); + return; + } + else if (epackage == XtypePackage.eINSTANCE) + switch (semanticObject.eClass().getClassifierID()) { + case XtypePackage.XFUNCTION_TYPE_REF: + sequence_XFunctionTypeRef(context, (XFunctionTypeRef) semanticObject); + return; + case XtypePackage.XIMPORT_DECLARATION: + sequence_XImportDeclaration(context, (XImportDeclaration) semanticObject); + return; + case XtypePackage.XIMPORT_SECTION: + sequence_XImportSection(context, (XImportSection) semanticObject); + return; + } if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); } diff --git a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/serializer/AbstractExportSyntacticSequencer.java b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/serializer/AbstractExportSyntacticSequencer.java index cac9ca8ccd..ed92bba2fd 100644 --- a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/serializer/AbstractExportSyntacticSequencer.java +++ b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/serializer/AbstractExportSyntacticSequencer.java @@ -11,6 +11,7 @@ import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.nodemodel.INode; import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias; +import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias; import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias; import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable; import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition; @@ -22,19 +23,56 @@ public abstract class AbstractExportSyntacticSequencer extends AbstractSyntactic protected ExportGrammarAccess grammarAccess; protected AbstractElementAlias match_ParanthesizedExpression_LeftParenthesisKeyword_0_a; protected AbstractElementAlias match_ParanthesizedExpression_LeftParenthesisKeyword_0_p; + protected AbstractElementAlias match_XBlockExpression_SemicolonKeyword_2_1_q; + protected AbstractElementAlias match_XExpressionInClosure_SemicolonKeyword_1_1_q; + protected AbstractElementAlias match_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q; + protected AbstractElementAlias match_XImportDeclaration_SemicolonKeyword_2_q; + protected AbstractElementAlias match_XParenthesizedExpression_LeftParenthesisKeyword_0_a; + protected AbstractElementAlias match_XParenthesizedExpression_LeftParenthesisKeyword_0_p; @Inject protected void init(IGrammarAccess access) { grammarAccess = (ExportGrammarAccess) access; match_ParanthesizedExpression_LeftParenthesisKeyword_0_a = new TokenAlias(true, true, grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); match_ParanthesizedExpression_LeftParenthesisKeyword_0_p = new TokenAlias(true, false, grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + match_XBlockExpression_SemicolonKeyword_2_1_q = new TokenAlias(false, true, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); + match_XExpressionInClosure_SemicolonKeyword_1_1_q = new TokenAlias(false, true, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); + match_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()), new TokenAlias(false, false, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2())); + match_XImportDeclaration_SemicolonKeyword_2_q = new TokenAlias(false, true, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); + match_XParenthesizedExpression_LeftParenthesisKeyword_0_a = new TokenAlias(true, true, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + match_XParenthesizedExpression_LeftParenthesisKeyword_0_p = new TokenAlias(true, false, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } @Override protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) { + if (ruleCall.getRule() == grammarAccess.getArrayBracketsRule()) + return getArrayBracketsToken(semanticObject, ruleCall, node); + else if (ruleCall.getRule() == grammarAccess.getOpSingleAssignRule()) + return getOpSingleAssignToken(semanticObject, ruleCall, node); return ""; } + /** + * ArrayBrackets : + * '[' ']' + * ; + */ + protected String getArrayBracketsToken(EObject semanticObject, RuleCall ruleCall, INode node) { + if (node != null) + return getTokenText(node); + return "[ ]"; + } + + /** + * OpSingleAssign: + * '=' + * ; + */ + protected String getOpSingleAssignToken(EObject semanticObject, RuleCall ruleCall, INode node) { + if (node != null) + return getTokenText(node); + return "="; + } @Override protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) { @@ -46,6 +84,18 @@ protected void emitUnassignedTokens(EObject semanticObject, ISynTransition trans emit_ParanthesizedExpression_LeftParenthesisKeyword_0_a(semanticObject, getLastNavigableState(), syntaxNodes); else if (match_ParanthesizedExpression_LeftParenthesisKeyword_0_p.equals(syntax)) emit_ParanthesizedExpression_LeftParenthesisKeyword_0_p(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XBlockExpression_SemicolonKeyword_2_1_q.equals(syntax)) + emit_XBlockExpression_SemicolonKeyword_2_1_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XExpressionInClosure_SemicolonKeyword_1_1_q.equals(syntax)) + emit_XExpressionInClosure_SemicolonKeyword_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q.equals(syntax)) + emit_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XImportDeclaration_SemicolonKeyword_2_q.equals(syntax)) + emit_XImportDeclaration_SemicolonKeyword_2_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XParenthesizedExpression_LeftParenthesisKeyword_0_a.equals(syntax)) + emit_XParenthesizedExpression_LeftParenthesisKeyword_0_a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XParenthesizedExpression_LeftParenthesisKeyword_0_p.equals(syntax)) + emit_XParenthesizedExpression_LeftParenthesisKeyword_0_p(semanticObject, getLastNavigableState(), syntaxNodes); else acceptNodes(getLastNavigableState(), syntaxNodes); } } @@ -150,4 +200,176 @@ protected void emit_ParanthesizedExpression_LeftParenthesisKeyword_0_p(EObject s acceptNodes(transition, nodes); } + /** + *
+	 * Ambiguous syntax:
+	 *     ';'?
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     expressions+=XExpressionOrVarDeclaration (ambiguity) '}' ')' (rule end)
+	 *     expressions+=XExpressionOrVarDeclaration (ambiguity) '}' (rule end)
+	 *     expressions+=XExpressionOrVarDeclaration (ambiguity) expressions+=XExpressionOrVarDeclaration
+	 
+	 * 
+ */ + protected void emit_XBlockExpression_SemicolonKeyword_2_1_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + *
+	 * Ambiguous syntax:
+	 *     ';'?
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     expressions+=XExpressionOrVarDeclaration (ambiguity) (rule end)
+	 *     expressions+=XExpressionOrVarDeclaration (ambiguity) expressions+=XExpressionOrVarDeclaration
+	 
+	 * 
+ */ + protected void emit_XExpressionInClosure_SemicolonKeyword_1_1_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + *
+	 * Ambiguous syntax:
+	 *     ('(' ')')?
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     (rule start) (ambiguity) '=>' returnType=JvmTypeReference
+	 
+	 * 
+ */ + protected void emit_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + *
+	 * Ambiguous syntax:
+	 *     ';'?
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     importedNamespace=QualifiedNameWithWildcard (ambiguity) (rule end)
+	 *     importedType=[JvmDeclaredType|QualifiedName] (ambiguity) (rule end)
+	 *     memberName=ValidID (ambiguity) (rule end)
+	 *     wildcard?='*' (ambiguity) (rule end)
+	 
+	 * 
+ */ + protected void emit_XImportDeclaration_SemicolonKeyword_2_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + *
+	 * Ambiguous syntax:
+	 *     '('*
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     (rule start) (ambiguity) '#' '[' ']' (rule start)
+	 *     (rule start) (ambiguity) '#' '[' elements+=XExpression
+	 *     (rule start) (ambiguity) '#' '{' '}' (rule start)
+	 *     (rule start) (ambiguity) '#' '{' elements+=XExpression
+	 *     (rule start) (ambiguity) '<' typeArguments+=JvmArgumentTypeReference
+	 *     (rule start) (ambiguity) '[' declaredFormalParameters+=JvmFormalParameter
+	 *     (rule start) (ambiguity) '[' explicitSyntax?='|'
+	 *     (rule start) (ambiguity) '[' expression=XExpressionInClosure
+	 *     (rule start) (ambiguity) 'do' body=XExpression
+	 *     (rule start) (ambiguity) 'false' (rule start)
+	 *     (rule start) (ambiguity) 'for' '(' ';' ';' ')' eachExpression=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' ';' ';' updateExpressions+=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' ';' expression=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'for' '(' initExpressions+=XExpressionOrVarDeclaration
+	 *     (rule start) (ambiguity) 'if' '(' if=XExpression
+	 *     (rule start) (ambiguity) 'new' constructor=[JvmConstructor|QualifiedName]
+	 *     (rule start) (ambiguity) 'null' (rule start)
+	 *     (rule start) (ambiguity) 'return' (rule start)
+	 *     (rule start) (ambiguity) 'return' expression=XExpression
+	 *     (rule start) (ambiguity) 'switch' '(' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'switch' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'switch' switch=XExpression
+	 *     (rule start) (ambiguity) 'synchronized' '(' param=XExpression
+	 *     (rule start) (ambiguity) 'throw' expression=XExpression
+	 *     (rule start) (ambiguity) 'try' expression=XExpression
+	 *     (rule start) (ambiguity) 'typeof' '(' type=[JvmType|QualifiedName]
+	 *     (rule start) (ambiguity) 'while' '(' predicate=XExpression
+	 *     (rule start) (ambiguity) '{' '}' (rule start)
+	 *     (rule start) (ambiguity) '{' expressions+=XExpressionOrVarDeclaration
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|FeatureCallID]
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|IdOrSuper]
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|OpUnary]
+	 *     (rule start) (ambiguity) isTrue?='true'
+	 *     (rule start) (ambiguity) value=Number
+	 *     (rule start) (ambiguity) value=STRING
+	 *     (rule start) (ambiguity) {XAssignment.assignable=}
+	 *     (rule start) (ambiguity) {XBinaryOperation.leftOperand=}
+	 *     (rule start) (ambiguity) {XCastedExpression.target=}
+	 *     (rule start) (ambiguity) {XInstanceOfExpression.expression=}
+	 *     (rule start) (ambiguity) {XMemberFeatureCall.memberCallTarget=}
+	 *     (rule start) (ambiguity) {XPostfixOperation.operand=}
+	 
+	 * 
+ */ + protected void emit_XParenthesizedExpression_LeftParenthesisKeyword_0_a(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + *
+	 * Ambiguous syntax:
+	 *     '('+
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     (rule start) (ambiguity) '#' '[' ']' ')' (rule start)
+	 *     (rule start) (ambiguity) '#' '[' elements+=XExpression
+	 *     (rule start) (ambiguity) '#' '{' '}' ')' (rule start)
+	 *     (rule start) (ambiguity) '#' '{' elements+=XExpression
+	 *     (rule start) (ambiguity) '<' typeArguments+=JvmArgumentTypeReference
+	 *     (rule start) (ambiguity) '[' declaredFormalParameters+=JvmFormalParameter
+	 *     (rule start) (ambiguity) '[' explicitSyntax?='|'
+	 *     (rule start) (ambiguity) '[' expression=XExpressionInClosure
+	 *     (rule start) (ambiguity) 'do' body=XExpression
+	 *     (rule start) (ambiguity) 'false' ')' (rule start)
+	 *     (rule start) (ambiguity) 'for' '(' ';' ';' ')' eachExpression=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' ';' ';' updateExpressions+=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' ';' expression=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'for' '(' initExpressions+=XExpressionOrVarDeclaration
+	 *     (rule start) (ambiguity) 'if' '(' if=XExpression
+	 *     (rule start) (ambiguity) 'new' constructor=[JvmConstructor|QualifiedName]
+	 *     (rule start) (ambiguity) 'null' ')' (rule start)
+	 *     (rule start) (ambiguity) 'return' ')' (rule start)
+	 *     (rule start) (ambiguity) 'return' expression=XExpression
+	 *     (rule start) (ambiguity) 'switch' '(' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'switch' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'switch' switch=XExpression
+	 *     (rule start) (ambiguity) 'synchronized' '(' param=XExpression
+	 *     (rule start) (ambiguity) 'throw' expression=XExpression
+	 *     (rule start) (ambiguity) 'try' expression=XExpression
+	 *     (rule start) (ambiguity) 'typeof' '(' type=[JvmType|QualifiedName]
+	 *     (rule start) (ambiguity) 'while' '(' predicate=XExpression
+	 *     (rule start) (ambiguity) '{' '}' ')' (rule start)
+	 *     (rule start) (ambiguity) '{' expressions+=XExpressionOrVarDeclaration
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|FeatureCallID]
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|IdOrSuper]
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|OpUnary]
+	 *     (rule start) (ambiguity) isTrue?='true'
+	 *     (rule start) (ambiguity) value=Number
+	 *     (rule start) (ambiguity) value=STRING
+	 *     (rule start) (ambiguity) {XAssignment.assignable=}
+	 *     (rule start) (ambiguity) {XBinaryOperation.leftOperand=}
+	 *     (rule start) (ambiguity) {XCastedExpression.target=}
+	 *     (rule start) (ambiguity) {XInstanceOfExpression.expression=}
+	 *     (rule start) (ambiguity) {XMemberFeatureCall.memberCallTarget=}
+	 *     (rule start) (ambiguity) {XPostfixOperation.operand=}
+	 
+	 * 
+ */ + protected void emit_XParenthesizedExpression_LeftParenthesisKeyword_0_p(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + } diff --git a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/services/ExportGrammarAccess.java b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/services/ExportGrammarAccess.java index 65ff1aedd0..52a0916b14 100644 --- a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/services/ExportGrammarAccess.java +++ b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/services/ExportGrammarAccess.java @@ -17,9 +17,10 @@ import org.eclipse.xtext.ParserRule; import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.TerminalRule; -import org.eclipse.xtext.common.services.TerminalsGrammarAccess; import org.eclipse.xtext.service.AbstractElementFinder; import org.eclipse.xtext.service.GrammarProvider; +import org.eclipse.xtext.xbase.services.XbaseGrammarAccess; +import org.eclipse.xtext.xbase.services.XtypeGrammarAccess; @Singleton public class ExportGrammarAccess extends AbstractElementFinder.AbstractGrammarElementFinder { @@ -837,15 +838,19 @@ public class QualifiedIDElements extends AbstractParserRuleElementFinder { private final ExpressionGrammarAccess gaExpression; - private final TerminalsGrammarAccess gaTerminals; + private final XbaseGrammarAccess gaXbase; + + private final XtypeGrammarAccess gaXtype; @Inject public ExportGrammarAccess(GrammarProvider grammarProvider, ExpressionGrammarAccess gaExpression, - TerminalsGrammarAccess gaTerminals) { + XbaseGrammarAccess gaXbase, + XtypeGrammarAccess gaXtype) { this.grammar = internalFindGrammar(grammarProvider); this.gaExpression = gaExpression; - this.gaTerminals = gaTerminals; + this.gaXbase = gaXbase; + this.gaXtype = gaXtype; this.pExportModel = new ExportModelElements(); this.pImport = new ImportElements(); this.pExtension = new ExtensionElements(); @@ -887,8 +892,12 @@ public ExpressionGrammarAccess getExpressionGrammarAccess() { return gaExpression; } - public TerminalsGrammarAccess getTerminalsGrammarAccess() { - return gaTerminals; + public XbaseGrammarAccess getXbaseGrammarAccess() { + return gaXbase; + } + + public XtypeGrammarAccess getXtypeGrammarAccess() { + return gaXtype; } @@ -1543,41 +1552,976 @@ public ParserRule getIdentifierRule() { return getIdentifierAccess().getRule(); } - //terminal ID: '^'?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; - public TerminalRule getIDRule() { - return gaTerminals.getIDRule(); + //XExpression returns XExpression : + // XAssignment; + public XbaseGrammarAccess.XExpressionElements getXExpressionAccess() { + return gaXbase.getXExpressionAccess(); + } + + public ParserRule getXExpressionRule() { + return getXExpressionAccess().getRule(); + } + + //XAssignment returns XExpression : + // {XAssignment} feature=[types::JvmIdentifiableElement|FeatureCallID] OpSingleAssign value=XAssignment | + // XOrExpression ( + // =>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMultiAssign]) rightOperand=XAssignment + // )?; + public XbaseGrammarAccess.XAssignmentElements getXAssignmentAccess() { + return gaXbase.getXAssignmentAccess(); + } + + public ParserRule getXAssignmentRule() { + return getXAssignmentAccess().getRule(); + } + + //OpSingleAssign: + // '=' + //; + public XbaseGrammarAccess.OpSingleAssignElements getOpSingleAssignAccess() { + return gaXbase.getOpSingleAssignAccess(); + } + + public ParserRule getOpSingleAssignRule() { + return getOpSingleAssignAccess().getRule(); + } + + //OpMultiAssign: + // '+=' | '-=' | '*=' | '/=' | '%=' | + // '<' '<' '=' | + // '>' '>'? '>='; + public XbaseGrammarAccess.OpMultiAssignElements getOpMultiAssignAccess() { + return gaXbase.getOpMultiAssignAccess(); + } + + public ParserRule getOpMultiAssignRule() { + return getOpMultiAssignAccess().getRule(); + } + + //XOrExpression returns XExpression: + // XAndExpression (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOr]) rightOperand=XAndExpression)*; + public XbaseGrammarAccess.XOrExpressionElements getXOrExpressionAccess() { + return gaXbase.getXOrExpressionAccess(); + } + + public ParserRule getXOrExpressionRule() { + return getXOrExpressionAccess().getRule(); + } + + //OpOr: + // '||'; + public XbaseGrammarAccess.OpOrElements getOpOrAccess() { + return gaXbase.getOpOrAccess(); + } + + public ParserRule getOpOrRule() { + return getOpOrAccess().getRule(); + } + + //XAndExpression returns XExpression: + // XEqualityExpression (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAnd]) rightOperand=XEqualityExpression)*; + public XbaseGrammarAccess.XAndExpressionElements getXAndExpressionAccess() { + return gaXbase.getXAndExpressionAccess(); + } + + public ParserRule getXAndExpressionRule() { + return getXAndExpressionAccess().getRule(); + } + + //OpAnd: + // '&&'; + public XbaseGrammarAccess.OpAndElements getOpAndAccess() { + return gaXbase.getOpAndAccess(); + } + + public ParserRule getOpAndRule() { + return getOpAndAccess().getRule(); + } + + //XEqualityExpression returns XExpression: + // XRelationalExpression (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpEquality]) + // rightOperand=XRelationalExpression)*; + public XbaseGrammarAccess.XEqualityExpressionElements getXEqualityExpressionAccess() { + return gaXbase.getXEqualityExpressionAccess(); + } + + public ParserRule getXEqualityExpressionRule() { + return getXEqualityExpressionAccess().getRule(); + } + + //OpEquality: + // '==' | '!=' | '===' | '!=='; + public XbaseGrammarAccess.OpEqualityElements getOpEqualityAccess() { + return gaXbase.getOpEqualityAccess(); + } + + public ParserRule getOpEqualityRule() { + return getOpEqualityAccess().getRule(); + } + + //XRelationalExpression returns XExpression: + // XOtherOperatorExpression + // (=>({XInstanceOfExpression.expression=current} 'instanceof') type=JvmTypeReference | + // =>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpCompare]) rightOperand=XOtherOperatorExpression)*; + public XbaseGrammarAccess.XRelationalExpressionElements getXRelationalExpressionAccess() { + return gaXbase.getXRelationalExpressionAccess(); + } + + public ParserRule getXRelationalExpressionRule() { + return getXRelationalExpressionAccess().getRule(); + } + + //OpCompare: + // '>=' | '<' '=' | '>' | '<' ; + public XbaseGrammarAccess.OpCompareElements getOpCompareAccess() { + return gaXbase.getOpCompareAccess(); + } + + public ParserRule getOpCompareRule() { + return getOpCompareAccess().getRule(); + } + + //XOtherOperatorExpression returns XExpression: + // XAdditiveExpression (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOther]) + // rightOperand=XAdditiveExpression)*; + public XbaseGrammarAccess.XOtherOperatorExpressionElements getXOtherOperatorExpressionAccess() { + return gaXbase.getXOtherOperatorExpressionAccess(); + } + + public ParserRule getXOtherOperatorExpressionRule() { + return getXOtherOperatorExpressionAccess().getRule(); + } + + //OpOther: + // '->' + // | '..<' + // | '>' '..' + // | '..' + // | '=>' + // | '>' (=>('>' '>') | '>') + // | '<' (=>('<' '<') | '<' | '=>') + // | '<>' + // | '?:'; + public XbaseGrammarAccess.OpOtherElements getOpOtherAccess() { + return gaXbase.getOpOtherAccess(); + } + + public ParserRule getOpOtherRule() { + return getOpOtherAccess().getRule(); + } + + //XAdditiveExpression returns XExpression: + // XMultiplicativeExpression (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAdd]) + // rightOperand=XMultiplicativeExpression)*; + public XbaseGrammarAccess.XAdditiveExpressionElements getXAdditiveExpressionAccess() { + return gaXbase.getXAdditiveExpressionAccess(); + } + + public ParserRule getXAdditiveExpressionRule() { + return getXAdditiveExpressionAccess().getRule(); + } + + //OpAdd: + // '+' | '-'; + public XbaseGrammarAccess.OpAddElements getOpAddAccess() { + return gaXbase.getOpAddAccess(); + } + + public ParserRule getOpAddRule() { + return getOpAddAccess().getRule(); + } + + //XMultiplicativeExpression returns XExpression: + // XUnaryOperation (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMulti]) rightOperand=XUnaryOperation)*; + public XbaseGrammarAccess.XMultiplicativeExpressionElements getXMultiplicativeExpressionAccess() { + return gaXbase.getXMultiplicativeExpressionAccess(); + } + + public ParserRule getXMultiplicativeExpressionRule() { + return getXMultiplicativeExpressionAccess().getRule(); + } + + //OpMulti: + // '*' | '**' | '/' | '%'; + public XbaseGrammarAccess.OpMultiElements getOpMultiAccess() { + return gaXbase.getOpMultiAccess(); + } + + public ParserRule getOpMultiRule() { + return getOpMultiAccess().getRule(); + } + + //XUnaryOperation returns XExpression: + // {XUnaryOperation} feature=[types::JvmIdentifiableElement|OpUnary] operand=XUnaryOperation + // | XCastedExpression; + public XbaseGrammarAccess.XUnaryOperationElements getXUnaryOperationAccess() { + return gaXbase.getXUnaryOperationAccess(); + } + + public ParserRule getXUnaryOperationRule() { + return getXUnaryOperationAccess().getRule(); + } + + //OpUnary: + // "!" | "-" | "+"; + public XbaseGrammarAccess.OpUnaryElements getOpUnaryAccess() { + return gaXbase.getOpUnaryAccess(); + } + + public ParserRule getOpUnaryRule() { + return getOpUnaryAccess().getRule(); + } + + //XCastedExpression returns XExpression: + // XPostfixOperation (=>({XCastedExpression.target=current} 'as') type=JvmTypeReference)* + //; + public XbaseGrammarAccess.XCastedExpressionElements getXCastedExpressionAccess() { + return gaXbase.getXCastedExpressionAccess(); + } + + public ParserRule getXCastedExpressionRule() { + return getXCastedExpressionAccess().getRule(); + } + + //XPostfixOperation returns XExpression: + // XMemberFeatureCall =>({XPostfixOperation.operand=current} feature=[types::JvmIdentifiableElement|OpPostfix])? + //; + public XbaseGrammarAccess.XPostfixOperationElements getXPostfixOperationAccess() { + return gaXbase.getXPostfixOperationAccess(); + } + + public ParserRule getXPostfixOperationRule() { + return getXPostfixOperationAccess().getRule(); + } + + //OpPostfix: + // "++" | "--" + //; + public XbaseGrammarAccess.OpPostfixElements getOpPostfixAccess() { + return gaXbase.getOpPostfixAccess(); + } + + public ParserRule getOpPostfixRule() { + return getOpPostfixAccess().getRule(); + } + + //XMemberFeatureCall returns XExpression: + // XPrimaryExpression + // (=>({XAssignment.assignable=current} ('.'|explicitStatic?="::") feature=[types::JvmIdentifiableElement|FeatureCallID] OpSingleAssign) value=XAssignment + // |=>({XMemberFeatureCall.memberCallTarget=current} ("."|nullSafe?="?."|explicitStatic?="::")) + // ('<' typeArguments+=JvmArgumentTypeReference (',' typeArguments+=JvmArgumentTypeReference)* '>')? + // feature=[types::JvmIdentifiableElement|IdOrSuper] ( + // =>explicitOperationCall?='(' + // ( + // memberCallArguments+=XShortClosure + // | memberCallArguments+=XExpression (',' memberCallArguments+=XExpression)* + // )? + // ')')? + // memberCallArguments+=XClosure? + // )*; + public XbaseGrammarAccess.XMemberFeatureCallElements getXMemberFeatureCallAccess() { + return gaXbase.getXMemberFeatureCallAccess(); + } + + public ParserRule getXMemberFeatureCallRule() { + return getXMemberFeatureCallAccess().getRule(); + } + + //XPrimaryExpression returns XExpression: + // XConstructorCall | + // XBlockExpression | + // XSwitchExpression | + // XSynchronizedExpression | + // XFeatureCall | + // XLiteral | + // XIfExpression | + // XForLoopExpression | + // XBasicForLoopExpression | + // XWhileExpression | + // XDoWhileExpression | + // XThrowExpression | + // XReturnExpression | + // XTryCatchFinallyExpression | + // XParenthesizedExpression; + public XbaseGrammarAccess.XPrimaryExpressionElements getXPrimaryExpressionAccess() { + return gaXbase.getXPrimaryExpressionAccess(); + } + + public ParserRule getXPrimaryExpressionRule() { + return getXPrimaryExpressionAccess().getRule(); + } + + //XLiteral returns XExpression: + // XCollectionLiteral | + // XClosure | + // XBooleanLiteral | + // XNumberLiteral | + // XNullLiteral | + // XStringLiteral | + // XTypeLiteral + //; + public XbaseGrammarAccess.XLiteralElements getXLiteralAccess() { + return gaXbase.getXLiteralAccess(); + } + + public ParserRule getXLiteralRule() { + return getXLiteralAccess().getRule(); + } + + //XCollectionLiteral: + // XSetLiteral | XListLiteral + //; + public XbaseGrammarAccess.XCollectionLiteralElements getXCollectionLiteralAccess() { + return gaXbase.getXCollectionLiteralAccess(); + } + + public ParserRule getXCollectionLiteralRule() { + return getXCollectionLiteralAccess().getRule(); + } + + //XSetLiteral: + // {XSetLiteral} '#' '{' (elements+=XExpression (',' elements+=XExpression )*)? '}' + //; + public XbaseGrammarAccess.XSetLiteralElements getXSetLiteralAccess() { + return gaXbase.getXSetLiteralAccess(); + } + + public ParserRule getXSetLiteralRule() { + return getXSetLiteralAccess().getRule(); + } + + //XListLiteral: + // {XListLiteral} '#' '[' (elements+=XExpression (',' elements+=XExpression )*)? ']' + //; + public XbaseGrammarAccess.XListLiteralElements getXListLiteralAccess() { + return gaXbase.getXListLiteralAccess(); + } + + public ParserRule getXListLiteralRule() { + return getXListLiteralAccess().getRule(); + } + + //XClosure returns XExpression: + // =>({XClosure} + // '[') + // =>((declaredFormalParameters+=JvmFormalParameter (',' declaredFormalParameters+=JvmFormalParameter)*)? explicitSyntax?='|')? + // expression=XExpressionInClosure + // ']'; + public XbaseGrammarAccess.XClosureElements getXClosureAccess() { + return gaXbase.getXClosureAccess(); + } + + public ParserRule getXClosureRule() { + return getXClosureAccess().getRule(); + } + + //XExpressionInClosure returns XExpression: + // {XBlockExpression} + // (expressions+=XExpressionOrVarDeclaration ';'?)* + //; + public XbaseGrammarAccess.XExpressionInClosureElements getXExpressionInClosureAccess() { + return gaXbase.getXExpressionInClosureAccess(); + } + + public ParserRule getXExpressionInClosureRule() { + return getXExpressionInClosureAccess().getRule(); + } + + //XShortClosure returns XExpression: + // =>({XClosure} (declaredFormalParameters+=JvmFormalParameter (',' declaredFormalParameters+=JvmFormalParameter)*)? explicitSyntax?='|') expression=XExpression; + public XbaseGrammarAccess.XShortClosureElements getXShortClosureAccess() { + return gaXbase.getXShortClosureAccess(); + } + + public ParserRule getXShortClosureRule() { + return getXShortClosureAccess().getRule(); + } + + //XParenthesizedExpression returns XExpression: + // '(' XExpression ')'; + public XbaseGrammarAccess.XParenthesizedExpressionElements getXParenthesizedExpressionAccess() { + return gaXbase.getXParenthesizedExpressionAccess(); + } + + public ParserRule getXParenthesizedExpressionRule() { + return getXParenthesizedExpressionAccess().getRule(); + } + + //XIfExpression returns XExpression: + // {XIfExpression} + // 'if' '(' if=XExpression ')' + // then=XExpression + // (=>'else' else=XExpression)?; + public XbaseGrammarAccess.XIfExpressionElements getXIfExpressionAccess() { + return gaXbase.getXIfExpressionAccess(); + } + + public ParserRule getXIfExpressionRule() { + return getXIfExpressionAccess().getRule(); + } + + //XSwitchExpression returns XExpression: + // {XSwitchExpression} + // 'switch' (=>('(' declaredParam=JvmFormalParameter ':') switch=XExpression ')' + // | =>(declaredParam=JvmFormalParameter ':')? switch=XExpression) '{' + // (cases+=XCasePart)* + // ('default' ':' default=XExpression )? + // '}'; + public XbaseGrammarAccess.XSwitchExpressionElements getXSwitchExpressionAccess() { + return gaXbase.getXSwitchExpressionAccess(); + } + + public ParserRule getXSwitchExpressionRule() { + return getXSwitchExpressionAccess().getRule(); + } + + //XCasePart: + // {XCasePart} + // typeGuard=JvmTypeReference? ('case' case=XExpression)? + // (':' then=XExpression | fallThrough?=',') ; + public XbaseGrammarAccess.XCasePartElements getXCasePartAccess() { + return gaXbase.getXCasePartAccess(); + } + + public ParserRule getXCasePartRule() { + return getXCasePartAccess().getRule(); + } + + //XForLoopExpression returns XExpression: + // =>({XForLoopExpression} + // 'for' '(' declaredParam=JvmFormalParameter ':') forExpression=XExpression ')' + // eachExpression=XExpression; + public XbaseGrammarAccess.XForLoopExpressionElements getXForLoopExpressionAccess() { + return gaXbase.getXForLoopExpressionAccess(); + } + + public ParserRule getXForLoopExpressionRule() { + return getXForLoopExpressionAccess().getRule(); + } + + //XBasicForLoopExpression returns XExpression: + // {XBasicForLoopExpression} + // 'for' '('(initExpressions+=XExpressionOrVarDeclaration (',' initExpressions+=XExpressionOrVarDeclaration)*)? ';' + // expression=XExpression? ';' + // (updateExpressions+=XExpression (',' updateExpressions+=XExpression)*)? ')' + // eachExpression=XExpression; + public XbaseGrammarAccess.XBasicForLoopExpressionElements getXBasicForLoopExpressionAccess() { + return gaXbase.getXBasicForLoopExpressionAccess(); + } + + public ParserRule getXBasicForLoopExpressionRule() { + return getXBasicForLoopExpressionAccess().getRule(); + } + + //XWhileExpression returns XExpression: + // {XWhileExpression} + // 'while' '(' predicate=XExpression ')' + // body=XExpression; + public XbaseGrammarAccess.XWhileExpressionElements getXWhileExpressionAccess() { + return gaXbase.getXWhileExpressionAccess(); + } + + public ParserRule getXWhileExpressionRule() { + return getXWhileExpressionAccess().getRule(); + } + + //XDoWhileExpression returns XExpression: + // {XDoWhileExpression} + // 'do' + // body=XExpression + // 'while' '(' predicate=XExpression ')'; + public XbaseGrammarAccess.XDoWhileExpressionElements getXDoWhileExpressionAccess() { + return gaXbase.getXDoWhileExpressionAccess(); + } + + public ParserRule getXDoWhileExpressionRule() { + return getXDoWhileExpressionAccess().getRule(); + } + + //XBlockExpression returns XExpression: + // {XBlockExpression} + // '{' + // (expressions+=XExpressionOrVarDeclaration ';'?)* + // '}'; + public XbaseGrammarAccess.XBlockExpressionElements getXBlockExpressionAccess() { + return gaXbase.getXBlockExpressionAccess(); + } + + public ParserRule getXBlockExpressionRule() { + return getXBlockExpressionAccess().getRule(); + } + + //XExpressionOrVarDeclaration returns XExpression: + // XVariableDeclaration | XExpression; + public XbaseGrammarAccess.XExpressionOrVarDeclarationElements getXExpressionOrVarDeclarationAccess() { + return gaXbase.getXExpressionOrVarDeclarationAccess(); + } + + public ParserRule getXExpressionOrVarDeclarationRule() { + return getXExpressionOrVarDeclarationAccess().getRule(); + } + + //XVariableDeclaration returns XExpression: + // {XVariableDeclaration} + // (writeable?='var'|'val') (=>(type=JvmTypeReference name=ValidID) | name=ValidID) ('=' right=XExpression)?; + public XbaseGrammarAccess.XVariableDeclarationElements getXVariableDeclarationAccess() { + return gaXbase.getXVariableDeclarationAccess(); + } + + public ParserRule getXVariableDeclarationRule() { + return getXVariableDeclarationAccess().getRule(); + } + + //JvmFormalParameter returns types::JvmFormalParameter: + // (parameterType=JvmTypeReference)? name=ValidID; + public XbaseGrammarAccess.JvmFormalParameterElements getJvmFormalParameterAccess() { + return gaXbase.getJvmFormalParameterAccess(); + } + + public ParserRule getJvmFormalParameterRule() { + return getJvmFormalParameterAccess().getRule(); + } + + //FullJvmFormalParameter returns types::JvmFormalParameter: + // parameterType=JvmTypeReference name=ValidID; + public XbaseGrammarAccess.FullJvmFormalParameterElements getFullJvmFormalParameterAccess() { + return gaXbase.getFullJvmFormalParameterAccess(); + } + + public ParserRule getFullJvmFormalParameterRule() { + return getFullJvmFormalParameterAccess().getRule(); + } + + //XFeatureCall returns XExpression: + // {XFeatureCall} + // ('<' typeArguments+=JvmArgumentTypeReference (',' typeArguments+=JvmArgumentTypeReference)* '>')? + // feature=[types::JvmIdentifiableElement|IdOrSuper] + // (=>explicitOperationCall?='(' + // ( + // featureCallArguments+=XShortClosure + // | featureCallArguments+=XExpression (',' featureCallArguments+=XExpression)* + // )? + // ')')? + // featureCallArguments+=XClosure?; + public XbaseGrammarAccess.XFeatureCallElements getXFeatureCallAccess() { + return gaXbase.getXFeatureCallAccess(); + } + + public ParserRule getXFeatureCallRule() { + return getXFeatureCallAccess().getRule(); + } + + //FeatureCallID: + // ValidID | 'extends' | 'static' | 'import' | 'extension' + //; + public XbaseGrammarAccess.FeatureCallIDElements getFeatureCallIDAccess() { + return gaXbase.getFeatureCallIDAccess(); + } + + public ParserRule getFeatureCallIDRule() { + return getFeatureCallIDAccess().getRule(); + } + + //IdOrSuper : + // FeatureCallID | 'super' + //; + public XbaseGrammarAccess.IdOrSuperElements getIdOrSuperAccess() { + return gaXbase.getIdOrSuperAccess(); + } + + public ParserRule getIdOrSuperRule() { + return getIdOrSuperAccess().getRule(); + } + + //XConstructorCall returns XExpression: + // {XConstructorCall} + // 'new' constructor=[types::JvmConstructor|QualifiedName] + // (=>'<' typeArguments+=JvmArgumentTypeReference (',' typeArguments+=JvmArgumentTypeReference)* '>')? + // (=>explicitConstructorCall?='(' + // ( + // arguments+=XShortClosure + // | arguments+=XExpression (',' arguments+=XExpression)* + // )? + // ')')? + // arguments+=XClosure?; + public XbaseGrammarAccess.XConstructorCallElements getXConstructorCallAccess() { + return gaXbase.getXConstructorCallAccess(); + } + + public ParserRule getXConstructorCallRule() { + return getXConstructorCallAccess().getRule(); + } + + //XBooleanLiteral returns XExpression : + // {XBooleanLiteral} ('false' | isTrue?='true'); + public XbaseGrammarAccess.XBooleanLiteralElements getXBooleanLiteralAccess() { + return gaXbase.getXBooleanLiteralAccess(); + } + + public ParserRule getXBooleanLiteralRule() { + return getXBooleanLiteralAccess().getRule(); + } + + //XNullLiteral returns XExpression : + // {XNullLiteral} 'null'; + public XbaseGrammarAccess.XNullLiteralElements getXNullLiteralAccess() { + return gaXbase.getXNullLiteralAccess(); + } + + public ParserRule getXNullLiteralRule() { + return getXNullLiteralAccess().getRule(); + } + + //XNumberLiteral returns XExpression : + // {XNumberLiteral} value=Number; + public XbaseGrammarAccess.XNumberLiteralElements getXNumberLiteralAccess() { + return gaXbase.getXNumberLiteralAccess(); + } + + public ParserRule getXNumberLiteralRule() { + return getXNumberLiteralAccess().getRule(); + } + + //XStringLiteral returns XExpression: + // {XStringLiteral} value=STRING; + public XbaseGrammarAccess.XStringLiteralElements getXStringLiteralAccess() { + return gaXbase.getXStringLiteralAccess(); + } + + public ParserRule getXStringLiteralRule() { + return getXStringLiteralAccess().getRule(); + } + + //XTypeLiteral returns XExpression : + // {XTypeLiteral} 'typeof' '(' type=[types::JvmType|QualifiedName] (arrayDimensions+=ArrayBrackets)* ')' + //; + public XbaseGrammarAccess.XTypeLiteralElements getXTypeLiteralAccess() { + return gaXbase.getXTypeLiteralAccess(); + } + + public ParserRule getXTypeLiteralRule() { + return getXTypeLiteralAccess().getRule(); + } + + //XThrowExpression returns XExpression : + // {XThrowExpression} 'throw' expression=XExpression; + public XbaseGrammarAccess.XThrowExpressionElements getXThrowExpressionAccess() { + return gaXbase.getXThrowExpressionAccess(); + } + + public ParserRule getXThrowExpressionRule() { + return getXThrowExpressionAccess().getRule(); + } + + //XReturnExpression returns XExpression : + // {XReturnExpression} 'return' (->expression=XExpression)?; + public XbaseGrammarAccess.XReturnExpressionElements getXReturnExpressionAccess() { + return gaXbase.getXReturnExpressionAccess(); + } + + public ParserRule getXReturnExpressionRule() { + return getXReturnExpressionAccess().getRule(); + } + + //XTryCatchFinallyExpression returns XExpression: + // {XTryCatchFinallyExpression} + // 'try' + // expression=XExpression + // ( + // catchClauses+=XCatchClause+ + // (=>'finally' finallyExpression=XExpression)? + // | 'finally' finallyExpression=XExpression + // ); + public XbaseGrammarAccess.XTryCatchFinallyExpressionElements getXTryCatchFinallyExpressionAccess() { + return gaXbase.getXTryCatchFinallyExpressionAccess(); + } + + public ParserRule getXTryCatchFinallyExpressionRule() { + return getXTryCatchFinallyExpressionAccess().getRule(); + } + + //XSynchronizedExpression returns XExpression: + // =>({XSynchronizedExpression} + // 'synchronized' '(') param=XExpression ')' expression=XExpression; + public XbaseGrammarAccess.XSynchronizedExpressionElements getXSynchronizedExpressionAccess() { + return gaXbase.getXSynchronizedExpressionAccess(); + } + + public ParserRule getXSynchronizedExpressionRule() { + return getXSynchronizedExpressionAccess().getRule(); + } + + //XCatchClause : + // =>'catch' '(' declaredParam=FullJvmFormalParameter ')' expression=XExpression; + public XbaseGrammarAccess.XCatchClauseElements getXCatchClauseAccess() { + return gaXbase.getXCatchClauseAccess(); + } + + public ParserRule getXCatchClauseRule() { + return getXCatchClauseAccess().getRule(); + } + + //@Override + //QualifiedName: + // ValidID (=>'.' ValidID)*; + public XbaseGrammarAccess.QualifiedNameElements getQualifiedNameAccess() { + return gaXbase.getQualifiedNameAccess(); + } + + public ParserRule getQualifiedNameRule() { + return getQualifiedNameAccess().getRule(); + } + + //Number hidden(): + // HEX | (INT | DECIMAL) ('.' (INT | DECIMAL))?; + public XbaseGrammarAccess.NumberElements getNumberAccess() { + return gaXbase.getNumberAccess(); } - //terminal INT returns ecore::EInt: ('0'..'9')+; + public ParserRule getNumberRule() { + return getNumberAccess().getRule(); + } + + ///** + // * Dummy rule, for "better" downwards compatibility, since GrammarAccess generates non-static inner classes, + // * which makes downstream grammars break on classloading, when a rule is removed. + // */ + //StaticQualifier: + // (ValidID '::')+ + //; + public XbaseGrammarAccess.StaticQualifierElements getStaticQualifierAccess() { + return gaXbase.getStaticQualifierAccess(); + } + + public ParserRule getStaticQualifierRule() { + return getStaticQualifierAccess().getRule(); + } + + //terminal HEX: + // ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F'|'_')+ + // ('#' (('b'|'B')('i'|'I') | ('l'|'L')))?; + public TerminalRule getHEXRule() { + return gaXbase.getHEXRule(); + } + + //terminal INT returns ecore::EInt: + // '0'..'9' ('0'..'9'|'_')*; public TerminalRule getINTRule() { - return gaTerminals.getINTRule(); + return gaXbase.getINTRule(); + } + + //terminal DECIMAL: + // INT + // (('e'|'E') ('+'|'-')? INT)? + // (('b'|'B')('i'|'I'|'d'|'D') | ('l'|'L'|'d'|'D'|'f'|'F'))?; + public TerminalRule getDECIMALRule() { + return gaXbase.getDECIMALRule(); + } + + //JvmTypeReference: + // JvmParameterizedTypeReference =>({JvmGenericArrayTypeReference.componentType=current} ArrayBrackets)* + // | XFunctionTypeRef; + public XtypeGrammarAccess.JvmTypeReferenceElements getJvmTypeReferenceAccess() { + return gaXtype.getJvmTypeReferenceAccess(); + } + + public ParserRule getJvmTypeReferenceRule() { + return getJvmTypeReferenceAccess().getRule(); + } + + //ArrayBrackets : + // '[' ']' + //; + public XtypeGrammarAccess.ArrayBracketsElements getArrayBracketsAccess() { + return gaXtype.getArrayBracketsAccess(); + } + + public ParserRule getArrayBracketsRule() { + return getArrayBracketsAccess().getRule(); + } + + //XFunctionTypeRef: + // ('(' (paramTypes+=JvmTypeReference (',' paramTypes+=JvmTypeReference)*)? ')')? '=>' returnType=JvmTypeReference; + public XtypeGrammarAccess.XFunctionTypeRefElements getXFunctionTypeRefAccess() { + return gaXtype.getXFunctionTypeRefAccess(); + } + + public ParserRule getXFunctionTypeRefRule() { + return getXFunctionTypeRefAccess().getRule(); + } + + //JvmParameterizedTypeReference: + // type=[JvmType|QualifiedName] ( + // =>'<' arguments+=JvmArgumentTypeReference (',' arguments+=JvmArgumentTypeReference)* '>' + // (=>({JvmInnerTypeReference.outer=current} '.') type=[JvmType|ValidID] (=>'<' arguments+=JvmArgumentTypeReference (',' arguments+=JvmArgumentTypeReference)* '>')?)* + // )?; + public XtypeGrammarAccess.JvmParameterizedTypeReferenceElements getJvmParameterizedTypeReferenceAccess() { + return gaXtype.getJvmParameterizedTypeReferenceAccess(); + } + + public ParserRule getJvmParameterizedTypeReferenceRule() { + return getJvmParameterizedTypeReferenceAccess().getRule(); + } + + //JvmArgumentTypeReference returns JvmTypeReference: + // JvmTypeReference | JvmWildcardTypeReference; + public XtypeGrammarAccess.JvmArgumentTypeReferenceElements getJvmArgumentTypeReferenceAccess() { + return gaXtype.getJvmArgumentTypeReferenceAccess(); + } + + public ParserRule getJvmArgumentTypeReferenceRule() { + return getJvmArgumentTypeReferenceAccess().getRule(); + } + + //JvmWildcardTypeReference: + // {JvmWildcardTypeReference} '?' ( + // constraints+=JvmUpperBound (constraints+=JvmUpperBoundAnded)* + // | constraints+=JvmLowerBound (constraints+=JvmLowerBoundAnded)* + // )?; + public XtypeGrammarAccess.JvmWildcardTypeReferenceElements getJvmWildcardTypeReferenceAccess() { + return gaXtype.getJvmWildcardTypeReferenceAccess(); + } + + public ParserRule getJvmWildcardTypeReferenceRule() { + return getJvmWildcardTypeReferenceAccess().getRule(); + } + + //JvmUpperBound : + // 'extends' typeReference=JvmTypeReference; + public XtypeGrammarAccess.JvmUpperBoundElements getJvmUpperBoundAccess() { + return gaXtype.getJvmUpperBoundAccess(); + } + + public ParserRule getJvmUpperBoundRule() { + return getJvmUpperBoundAccess().getRule(); + } + + //JvmUpperBoundAnded returns JvmUpperBound: + // '&' typeReference=JvmTypeReference; + public XtypeGrammarAccess.JvmUpperBoundAndedElements getJvmUpperBoundAndedAccess() { + return gaXtype.getJvmUpperBoundAndedAccess(); + } + + public ParserRule getJvmUpperBoundAndedRule() { + return getJvmUpperBoundAndedAccess().getRule(); + } + + //JvmLowerBound : + // 'super' typeReference=JvmTypeReference; + public XtypeGrammarAccess.JvmLowerBoundElements getJvmLowerBoundAccess() { + return gaXtype.getJvmLowerBoundAccess(); + } + + public ParserRule getJvmLowerBoundRule() { + return getJvmLowerBoundAccess().getRule(); + } + + //JvmLowerBoundAnded returns JvmLowerBound: + // '&' typeReference=JvmTypeReference; + public XtypeGrammarAccess.JvmLowerBoundAndedElements getJvmLowerBoundAndedAccess() { + return gaXtype.getJvmLowerBoundAndedAccess(); + } + + public ParserRule getJvmLowerBoundAndedRule() { + return getJvmLowerBoundAndedAccess().getRule(); + } + + //JvmTypeParameter : + // name=ValidID + // (constraints+=JvmUpperBound (constraints+=JvmUpperBoundAnded)*)?; + public XtypeGrammarAccess.JvmTypeParameterElements getJvmTypeParameterAccess() { + return gaXtype.getJvmTypeParameterAccess(); + } + + public ParserRule getJvmTypeParameterRule() { + return getJvmTypeParameterAccess().getRule(); + } + + //QualifiedNameWithWildcard : + // QualifiedName '.' '*'; + public XtypeGrammarAccess.QualifiedNameWithWildcardElements getQualifiedNameWithWildcardAccess() { + return gaXtype.getQualifiedNameWithWildcardAccess(); + } + + public ParserRule getQualifiedNameWithWildcardRule() { + return getQualifiedNameWithWildcardAccess().getRule(); + } + + //ValidID: + // ID; + public XtypeGrammarAccess.ValidIDElements getValidIDAccess() { + return gaXtype.getValidIDAccess(); + } + + public ParserRule getValidIDRule() { + return getValidIDAccess().getRule(); + } + + //XImportSection: + // importDeclarations+=XImportDeclaration+; + public XtypeGrammarAccess.XImportSectionElements getXImportSectionAccess() { + return gaXtype.getXImportSectionAccess(); + } + + public ParserRule getXImportSectionRule() { + return getXImportSectionAccess().getRule(); + } + + //XImportDeclaration: + // 'import' ( + // (static?='static' extension?='extension'? importedType=[JvmDeclaredType|QualifiedNameInStaticImport] (wildcard?='*' | memberName=ValidID)) + // | importedType=[JvmDeclaredType|QualifiedName] + // | importedNamespace=QualifiedNameWithWildcard) ';'? + //; + public XtypeGrammarAccess.XImportDeclarationElements getXImportDeclarationAccess() { + return gaXtype.getXImportDeclarationAccess(); + } + + public ParserRule getXImportDeclarationRule() { + return getXImportDeclarationAccess().getRule(); + } + + //QualifiedNameInStaticImport: + // (ValidID '.')+ + //; + public XtypeGrammarAccess.QualifiedNameInStaticImportElements getQualifiedNameInStaticImportAccess() { + return gaXtype.getQualifiedNameInStaticImportAccess(); + } + + public ParserRule getQualifiedNameInStaticImportRule() { + return getQualifiedNameInStaticImportAccess().getRule(); + } + + //terminal ID: + // '^'? ('a'..'z'|'A'..'Z'|'$'|'_') ('a'..'z'|'A'..'Z'|'$'|'_'|'0'..'9')*; + public TerminalRule getIDRule() { + return gaXtype.getIDRule(); } //terminal STRING: - // '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"' | - // "'" ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|"'") )* "'" - // ; + // '"' ( '\\' . /* ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') */ | !('\\'|'"') )* '"'? | + // "'" ( '\\' . /* ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') */ | !('\\'|"'") )* "'"?; public TerminalRule getSTRINGRule() { - return gaTerminals.getSTRINGRule(); + return gaXtype.getSTRINGRule(); } - //terminal ML_COMMENT : '/*' -> '*/'; + //terminal ML_COMMENT: '/*' -> '*/'; public TerminalRule getML_COMMENTRule() { - return gaTerminals.getML_COMMENTRule(); + return gaXtype.getML_COMMENTRule(); } - //terminal SL_COMMENT : '//' !('\n'|'\r')* ('\r'? '\n')?; + //terminal SL_COMMENT: '//' !('\n'|'\r')* ('\r'? '\n')?; public TerminalRule getSL_COMMENTRule() { - return gaTerminals.getSL_COMMENTRule(); + return gaXtype.getSL_COMMENTRule(); } - //terminal WS : (' '|'\t'|'\r'|'\n')+; + //terminal WS: (' '|'\t'|'\r'|'\n')+; public TerminalRule getWSRule() { - return gaTerminals.getWSRule(); + return gaXtype.getWSRule(); } //terminal ANY_OTHER: .; public TerminalRule getANY_OTHERRule() { - return gaTerminals.getANY_OTHERRule(); + return gaXtype.getANY_OTHERRule(); } } diff --git a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/validation/AbstractExportValidator.java b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/validation/AbstractExportValidator.java index 12c71caa67..5bf6ac5622 100644 --- a/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/validation/AbstractExportValidator.java +++ b/com.avaloq.tools.ddk.xtext.export/src-gen/com/avaloq/tools/ddk/xtext/export/validation/AbstractExportValidator.java @@ -15,6 +15,9 @@ protected List getEPackages() { List result = new ArrayList(super.getEPackages()); result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.avaloq.com/tools/ddk/xtext/export/Export")); result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.avaloq.com/tools/ddk/xtext/expression/Expression")); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/xtext/xbase/Xbase")); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/xtext/common/JavaVMTypes")); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/xtext/xbase/Xtype")); return result; } } diff --git a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/ExportRuntimeModule.java b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/ExportRuntimeModule.java index 34463c042f..8fb590b095 100644 --- a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/ExportRuntimeModule.java +++ b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/ExportRuntimeModule.java @@ -23,9 +23,6 @@ */ public class ExportRuntimeModule extends com.avaloq.tools.ddk.xtext.export.AbstractExportRuntimeModule { - /** - * {@inheritDoc} - */ @Override public Class bindIValueConverterService() { return ExportValueConverterService.class; @@ -36,6 +33,7 @@ public Class bind * * @return implementation */ + @Override public Class bindIQualifiedNameConverter() { return ExportQualifiedNameConverter.class; } diff --git a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ExportFeatureExtensionGenerator.xtend b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ExportFeatureExtensionGenerator.xtend deleted file mode 100644 index 0319533d2b..0000000000 --- a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ExportFeatureExtensionGenerator.xtend +++ /dev/null @@ -1,77 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2016 Avaloq Group AG 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 - * - * Contributors: - * Avaloq Group AG - initial API and implementation - *******************************************************************************/ - -package com.avaloq.tools.ddk.xtext.export.generator - -import com.avaloq.tools.ddk.xtext.export.export.ExportModel -import com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext -import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX -import com.avaloq.tools.ddk.xtext.expression.generator.Naming -import com.google.inject.Inject - -class ExportFeatureExtensionGenerator { - - @Inject extension Naming - @Inject extension ExportGeneratorX - - def generate(ExportModel it, CompilationContext ctx, extension GenModelUtilX genModelUtil) { - ''' - package «exportFeatureExtension.toJavaPackage»; - - import org.eclipse.xtext.naming.IQualifiedNameProvider; - import com.avaloq.tools.ddk.xtext.resource.AbstractExportFeatureExtension; - import com.avaloq.tools.ddk.xtext.resource.AbstractResourceDescriptionStrategy; - import com.avaloq.tools.ddk.xtext.resource.AbstractSelectorFragmentProvider; - import com.avaloq.tools.ddk.xtext.resource.IFingerprintComputer; - import com.google.inject.Inject; - - import «exportedNamesProvider»; - - - public class «exportFeatureExtension.toSimpleName» extends AbstractExportFeatureExtension { - - @Inject - private «exportedNamesProvider.toSimpleName» namesProvider; - - @Inject - private «fingerprintComputer.toSimpleName» fingerprintComputer; - - @Inject - private «fragmentProvider.toSimpleName» fragmentProvider; - - @Inject - private «resourceDescriptionStrategy.toSimpleName» resourceDescriptionStrategy; - - @Override - protected IQualifiedNameProvider getNamesProvider() { - return namesProvider; - } - - @Override - protected IFingerprintComputer getFingerprintComputer() { - return fingerprintComputer; - } - - @Override - protected AbstractSelectorFragmentProvider getFragmentProvider() { - return fragmentProvider; - } - - @Override - protected AbstractResourceDescriptionStrategy getResourceDescriptionStrategy() { - return resourceDescriptionStrategy; - } - - } - ''' - } - -} diff --git a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ExportGenerator.xtend b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ExportGenerator.xtend deleted file mode 100644 index 675aba6710..0000000000 --- a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ExportGenerator.xtend +++ /dev/null @@ -1,136 +0,0 @@ -/* - * generated by Xtext - */ -package com.avaloq.tools.ddk.xtext.export.generator - -import com.avaloq.tools.ddk.xtext.export.export.ExportModel -import com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext -import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX -import com.avaloq.tools.ddk.xtext.expression.generator.Naming -import com.google.inject.Inject -import org.eclipse.core.resources.IProject -import org.eclipse.core.resources.ResourcesPlugin -import org.eclipse.emf.ecore.resource.Resource -import org.eclipse.xtext.generator.IFileSystemAccess -import org.eclipse.xtext.generator.IGenerator2 -import org.eclipse.xtext.generator.IGeneratorContext -import org.eclipse.xtext.generator.IFileSystemAccess2 - -/** - * Generates code from your model files on save. - * - * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation - */ -class ExportGenerator implements IGenerator2 { - - @Inject - extension ExportGeneratorSupport generatorSupport - @Inject - extension Naming - @Inject - extension ExportGeneratorX - - @Inject - GenModelUtilX genModelUtil - - @Inject - ExportedNamesProviderGenerator exportedNamesProviderGenerator - @Inject - ResourceDescriptionManagerGenerator resourceDescriptionManagerGenerator - @Inject - ResourceDescriptionStrategyGenerator resourceDescriptionStrategyGenerator - @Inject - ResourceDescriptionConstantsGenerator resourceDescriptionConstantsGenerator - @Inject - FingerprintComputerGenerator fingerprintComputerGenerator - @Inject - FragmentProviderGenerator fragmentProviderGenerator - @Inject - ExportFeatureExtensionGenerator exportFeatureExtensionGenerator - - CompilationContext compilationContext - - override void doGenerate(Resource input, IFileSystemAccess2 fsa, IGeneratorContext context) { - if (input === null || input.contents.empty || !(input.contents.head instanceof ExportModel)) { - return - } - val model = input.contents.head as ExportModel - genModelUtil.resource = model.eResource - var IProject project = null - if (input.URI.isPlatformResource) { - val res = ResourcesPlugin.workspace.root.findMember(input.URI.toPlatformString(true)) - if (res !== null) { - project = res.project - } - } - - generatorSupport.executeWithProjectResourceLoader(project, [ - compilationContext = generatorSupport.getCompilationContext(model, genModelUtil) - - generateExportedNamesProvider(model, fsa) - generateResourceDescriptionManager(model, fsa) - generateResourceDescriptionStrategy(model, fsa) - generateResourceDescriptionConstants(model, fsa) - generateFingerprintComputer(model, fsa) - generateFragmentProvider(model, fsa) - generateFeatureExtension(model, fsa) - ]) - } - - def generateExportedNamesProvider(ExportModel model, IFileSystemAccess fsa) { - val fileName = model.exportedNamesProvider.toFileName - fsa.generateFile(fileName, exportedNamesProviderGenerator.generate(model, compilationContext, genModelUtil)) - } - - def generateResourceDescriptionManager(ExportModel model, IFileSystemAccess fsa) { - if(!model.extension){ - val fileName = model.resourceDescriptionManager.toFileName - fsa.generateFile(fileName, ExportOutputConfigurationProvider.STUB_OUTPUT, resourceDescriptionManagerGenerator.generate(model, compilationContext, genModelUtil)) - } - } - - def generateResourceDescriptionStrategy(ExportModel model, IFileSystemAccess fsa) { - val fileName = model.resourceDescriptionStrategy.toFileName - fsa.generateFile(fileName, resourceDescriptionStrategyGenerator.generate(model, compilationContext, genModelUtil)) - } - - def generateResourceDescriptionConstants(ExportModel model, IFileSystemAccess fsa) { - val fileName = model.resourceDescriptionConstants.toFileName - fsa.generateFile(fileName, resourceDescriptionConstantsGenerator.generate(model, compilationContext, genModelUtil)) - } - - def generateFingerprintComputer(ExportModel model, IFileSystemAccess fsa) { - val fileName = model.fingerprintComputer.toFileName - fsa.generateFile(fileName, fingerprintComputerGenerator.generate(model, compilationContext, genModelUtil)) - } - - def generateFragmentProvider(ExportModel model, IFileSystemAccess fsa) { - val fileName = model.fragmentProvider.toFileName - if (model.exports.exists(e|e.fingerprint && e.fragmentAttribute !== null) || model.isExtension) { - fsa.generateFile(fileName, fragmentProviderGenerator.generate(model, compilationContext, genModelUtil)) - } else if (!model.exports.empty){ - fsa.generateFile(fileName, ''' - package «model.fragmentProvider.toJavaPackage»; - - import com.avaloq.tools.ddk.xtext.linking.ShortFragmentProvider; - - - public class «model.fragmentProvider.toSimpleName» extends ShortFragmentProvider { - - } - ''') - } - } - - def generateFeatureExtension(ExportModel model, IFileSystemAccess fsa) { - if (model.extension) { - val fileName = model.exportFeatureExtension.toFileName - fsa.generateFile(fileName, exportFeatureExtensionGenerator.generate(model, compilationContext, genModelUtil)) - } - } - - override afterGenerate(Resource input, IFileSystemAccess2 fsa, IGeneratorContext context) {} - - override beforeGenerate(Resource input, IFileSystemAccess2 fsa, IGeneratorContext context) {} - -} diff --git a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ExportGeneratorSupport.java b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ExportGeneratorSupport.java deleted file mode 100644 index 580ce0f630..0000000000 --- a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ExportGeneratorSupport.java +++ /dev/null @@ -1,175 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2016 Avaloq Group AG 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 - * - * Contributors: - * Avaloq Group AG - initial API and implementation - *******************************************************************************/ -package com.avaloq.tools.ddk.xtext.export.generator; - -import java.util.HashMap; -import java.util.List; - -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.util.EcoreUtil; -import org.eclipse.internal.xtend.expression.parser.SyntaxConstants; -import org.eclipse.xtend.expression.ExecutionContextImpl; -import org.eclipse.xtend.expression.ResourceManagerDefaultImpl; -import org.eclipse.xtend.expression.TypeSystemImpl; -import org.eclipse.xtend.expression.Variable; -import org.eclipse.xtend.typesystem.Type; -import org.eclipse.xtend.typesystem.emf.EmfRegistryMetaModel; -import org.eclipse.xtext.resource.IEObjectDescription; - -import com.avaloq.tools.ddk.xtext.export.export.ExportModel; -import com.avaloq.tools.ddk.xtext.export.export.ExportPackage; -import com.avaloq.tools.ddk.xtext.export.export.Extension; -import com.avaloq.tools.ddk.xtext.export.export.Import; -import com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext; -import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX; -import com.avaloq.tools.ddk.xtext.expression.generator.GeneratorSupport; -import com.avaloq.tools.ddk.xtext.util.EObjectUtil; -import com.google.common.base.Function; -import com.google.common.base.Predicates; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; - - -/** - * Various utility functions for the export language. - */ -public final class ExportGeneratorSupport extends GeneratorSupport { - - /** - * Return a compilation context for Xtend executions during the generator run. - * - * @param model - * the BuildDescription for which we generate - * @param genModelUtil - * GenModel util, must not be {@code null} - * @return the {@link CompilationContext} - */ - public CompilationContext getCompilationContext(final ExportModel model, final GenModelUtilX genModelUtil) { - return new CompilationContext(new ExportExecutionContext(model), genModelUtil); - } - - /** - * Helper class defining the execution context for an Xtend compilation during build generation. - * Sets up the metamodels as needed. - */ - private static class ExportExecutionContext extends ExecutionContextImpl { - - ExportExecutionContext(final ExportModel model) { - super(new ResourceManagerDefaultImpl(), new ExportResource(model), new TypeSystemImpl(), new HashMap(), null, null, null, null, null, null, null, null, null); - registerMetaModels(model); - } - - /** - * Register the metamodels for this execution context. - * - * @param model - * The model - */ - private void registerMetaModels(final ExportModel model) { - // First, create one meta model that has all the packages that are visible. Use the scope provider to get that list, - // then convert to a list of EPackages. - final EPackage[] ePackages = Lists.newArrayList(Iterables.transform(EObjectUtil.getScopeProviderByEObject(model).getScope(model, ExportPackage.Literals.IMPORT__PACKAGE).getAllElements(), new Function() { - @Override - public EPackage apply(final IEObjectDescription from) { - return (EPackage) EcoreUtil.resolve(from.getEObjectOrProxy(), model); - } - })).toArray(new EPackage[0]); - registerMetaModel(new EmfRegistryMetaModel() { - @Override - public EPackage[] allPackages() { - return ePackages; - } - - @Override - public Type getTypeForName(final String name) { - final String[] frags = name.split(SyntaxConstants.NS_DELIM); - if (frags.length == 2) { - // convert references which use import alias - for (Import imp : model.getImports()) { - if (frags[0].equals(imp.getName()) && imp.getPackage() != null) { - return super.getTypeForName(imp.getPackage().getName() + SyntaxConstants.NS_DELIM + frags[1]); - } - } - } - return super.getTypeForName(name); - } - }); - // Finally, add the default meta models - // registerMetaModel(new EmfRegistryMetaModel()); - // registerMetaModel(new JavaBeansMetaModel()); - } - } - - /** - * "Fake" resource for Xtend compilation that gives correct extensions and package imports depending on whether - * we're running Xtend inside the export section or the scoping section. - */ - private static class ExportResource implements org.eclipse.xtend.expression.Resource { - - private final ExportModel model; - private String qualifiedName; - private List importedExtensions; - private Iterable importedNamespaces; - - ExportResource(final ExportModel model) { - this.model = model; - } - - @Override - public String getFullyQualifiedName() { - if (qualifiedName == null) { - this.setFullyQualifiedName(model.eResource().getURI().path()); - } - return qualifiedName; - } - - @Override - public String[] getImportedExtensions() { - if (importedExtensions == null) { - importedExtensions = Lists.transform(model.getExtensions(), new Function() { - @Override - public String apply(final Extension from) { - return from.getExtension(); - } - }); - } - // Hmmm... do we have to care about re-exported extensions? Or does Xtend do that by itself? - return importedExtensions.toArray(new String[importedExtensions.size()]); - } - - @Override - public String[] getImportedNamespaces() { - if (importedNamespaces == null) { - importedNamespaces = Iterables.filter(Iterables.transform(model.getImports(), new Function() { - @Override - public String apply(final Import from) { - if (from.getPackage() == null) { - return null; - } - final String name = from.getPackage().getName(); - if (name == null || name.length() == 0) { - return null; - } - return name; - } - }), Predicates. notNull()); - } - return Lists.newArrayList(importedNamespaces).toArray(new String[0]); - } - - @Override - public void setFullyQualifiedName(final String fqn) { - qualifiedName = fqn; - } - - } - -} diff --git a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ExportModelTypeResolver.java b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ExportModelTypeResolver.java new file mode 100644 index 0000000000..9218cf5b35 --- /dev/null +++ b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ExportModelTypeResolver.java @@ -0,0 +1,117 @@ +/******************************************************************************* + * Copyright (c) 2016 Avaloq Group AG 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 + * + * Contributors: + * Avaloq Group AG - initial API and implementation + *******************************************************************************/ +package com.avaloq.tools.ddk.xtext.export.generator; + +import java.util.List; + +import org.eclipse.emf.ecore.EClassifier; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.util.EcoreUtil; + +import com.avaloq.tools.ddk.xtext.export.export.ExportModel; +import com.avaloq.tools.ddk.xtext.export.export.ExportPackage; +import com.avaloq.tools.ddk.xtext.export.export.Import; +import com.avaloq.tools.ddk.xtext.util.EObjectUtil; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; + + +/** + * Resolves the model type names that appear in export expressions (casts, {@code typeSelect} and {@code isInstance}) + * to their EMF {@link EClassifier} using the EPackages imported by the export model. + *

+ * This reproduces, without the classic Xtend type system, the resolution that the legacy + * {@code EmfRegistryMetaModel} performed: an unqualified name such as {@code Entity} is looked up across all + * imported packages, while an aliased or package qualified name such as {@code alias::Entity} resolves the alias to + * the imported package first. The list of visible EPackages is obtained exactly as the legacy generator did, namely + * through the scope of the {@code IMPORT__PACKAGE} reference. + */ +public final class ExportModelTypeResolver { + + private final ExportModel model; + private final List packages; + + /** + * Creates a resolver for the given export model. + * + * @param model + * the export model whose imported packages provide the visible model types, must not be {@code null} + */ + public ExportModelTypeResolver(final ExportModel model) { + this.model = model; + this.packages = Lists.newArrayList(Iterables.transform( + EObjectUtil.getScopeProviderByEObject(model).getScope(model, ExportPackage.Literals.IMPORT__PACKAGE).getAllElements(), + d -> (EPackage) EcoreUtil.resolve(d.getEObjectOrProxy(), model))); + } + + /** + * Resolves the given DSL type name segments to the matching model classifier. + * + * @param segments + * the {@code ::}-separated name segments of the type, must not be {@code null} or empty + * @return the resolved classifier, or {@code null} if no imported package declares it + */ + public EClassifier resolve(final List segments) { + if (segments == null || segments.isEmpty()) { + return null; + } + if (segments.size() == 1) { + return findClassifier(segments.get(0)); + } + final String alias = segments.get(0); + final String typeName = segments.get(segments.size() - 1); + for (final Import imp : model.getImports()) { + if (alias.equals(imp.getName()) && imp.getPackage() != null) { + return imp.getPackage().getEClassifier(typeName); + } + } + for (final EPackage ePackage : packages) { + if (alias.equals(ePackage.getName())) { + final EClassifier classifier = ePackage.getEClassifier(typeName); + if (classifier != null) { + return classifier; + } + } + } + return findClassifier(typeName); + } + + /** + * Finds the first classifier with the given (unqualified) name across all imported packages. + * + * @param name + * the unqualified classifier name, must not be {@code null} + * @return the matching classifier, or {@code null} if none is found + */ + private EClassifier findClassifier(final String name) { + for (final EPackage ePackage : packages) { + final EClassifier classifier = ePackage.getEClassifier(name); + if (classifier != null) { + return classifier; + } + } + return null; + } + + /** + * Convenience factory that returns {@code null} when the given element is not an export model. + * + * @param element + * the model element an export expression originates from, may be {@code null} + * @return a resolver for the containing export model, or {@code null} if none can be determined + */ + public static ExportModelTypeResolver forElement(final EObject element) { + final ExportModel exportModel = org.eclipse.xtext.EcoreUtil2.getContainerOfType(element, ExportModel.class); + return exportModel == null ? null : new ExportModelTypeResolver(exportModel); + } + +} diff --git a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ExportedNamesProviderGenerator.xtend b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ExportedNamesProviderGenerator.xtend deleted file mode 100644 index 450e35dc13..0000000000 --- a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ExportedNamesProviderGenerator.xtend +++ /dev/null @@ -1,96 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2016 Avaloq Group AG 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 - * - * Contributors: - * Avaloq Group AG - initial API and implementation - *******************************************************************************/ - -package com.avaloq.tools.ddk.xtext.export.generator - -import com.avaloq.tools.ddk.xtext.export.export.ExportModel -import com.avaloq.tools.ddk.xtext.expression.generator.CodeGenerationX -import com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext -import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX -import com.avaloq.tools.ddk.xtext.expression.generator.GeneratorUtilX -import com.avaloq.tools.ddk.xtext.expression.generator.Naming -import com.google.inject.Inject -import org.eclipse.emf.ecore.EClass - -class ExportedNamesProviderGenerator { - - @Inject extension CodeGenerationX - @Inject extension GeneratorUtilX - @Inject extension Naming - @Inject extension ExportGeneratorX - - def generate(ExportModel it, CompilationContext ctx, extension GenModelUtilX genModelUtil) { - val grammar = grammar - ''' - package «exportedNamesProvider.toJavaPackage()»; - - import org.eclipse.emf.ecore.EClass; - import org.eclipse.emf.ecore.EObject; - import org.eclipse.emf.ecore.EPackage; - import org.eclipse.xtext.naming.QualifiedName; - - import com.avaloq.tools.ddk.xtext.naming.AbstractExportedNameProvider; - - - /** - * Qualified name provider for grammar «grammar?.name?:exportedNamesProvider.toSimpleName» providing the qualified names for exported objects. - */ - public class «exportedNamesProvider.toSimpleName» extends AbstractExportedNameProvider { - - «IF !exports.isEmpty» - «val types = exports» - @Override - public QualifiedName qualifiedName(final EObject object) { - EClass eClass = object.eClass(); - EPackage ePackage = eClass.getEPackage(); - «val exportedEClasses = types.map[type].toSet()» - «val exportsMap = types.sortedExportsByEPackage()» - «FOR p : exportsMap.keySet().sortBy[nsURI]» - if (ePackage == «p.qualifiedPackageInterfaceName()».eINSTANCE) { - int classifierID = eClass.getClassifierID(); - switch (classifierID) { - «FOR c : p.EClassifiers.filter(EClass).filter(c|exportedEClasses.exists(e|e.isSuperTypeOf(c)))» - case «c.classifierIdLiteral()»: { - return qualifiedName((«c.instanceClassName()») object); - } - «ENDFOR» - default: - return null; - } - } - «ENDFOR» - return null; - } - - «FOR c : types» - /** - * Return the qualified name under which a «c.type.name» object is exported, or null if the object should not be exported. - * - * @param obj - * The object to be exported - * @return The object's qualified name, or null if the object is not to be exported - */ - protected QualifiedName qualifiedName(final «c.type.instanceClassName()» obj) { - «javaContributorComment(c.location())» - «IF c.naming !== null» - final Object name = «c.naming.javaExpression(ctx.clone('obj', c.type))»; - return name != null ? «IF c.qualifiedName»getConverter().toQualifiedName(String.valueOf(name))«ELSE»qualifyWithContainerName(obj, String.valueOf(name))«ENDIF» : null; - «ELSE» - return «IF c.qualifiedName»getConverter().toQualifiedName(getResolver().apply(obj))«ELSE»qualifyWithContainerName(obj, getResolver().apply(obj))«ENDIF»; // "name" attribute by default - «ENDIF» - } - - «ENDFOR» - «ENDIF» - } - ''' - } -} diff --git a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/FingerprintComputerGenerator.xtend b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/FingerprintComputerGenerator.xtend deleted file mode 100644 index 988a0689f3..0000000000 --- a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/FingerprintComputerGenerator.xtend +++ /dev/null @@ -1,134 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2016 Avaloq Group AG 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 - * - * Contributors: - * Avaloq Group AG - initial API and implementation - *******************************************************************************/ - -package com.avaloq.tools.ddk.xtext.export.generator - -import com.avaloq.tools.ddk.xtext.export.export.ExportModel -import com.avaloq.tools.ddk.xtext.export.export.InterfaceExpression -import com.avaloq.tools.ddk.xtext.export.export.InterfaceField -import com.avaloq.tools.ddk.xtext.export.export.InterfaceItem -import com.avaloq.tools.ddk.xtext.export.export.InterfaceNavigation -import com.avaloq.tools.ddk.xtext.expression.generator.CodeGenerationX -import com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext -import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX -import com.avaloq.tools.ddk.xtext.expression.generator.GeneratorUtilX -import com.avaloq.tools.ddk.xtext.expression.generator.Naming -import com.google.inject.Inject -import org.eclipse.emf.ecore.EClass - -class FingerprintComputerGenerator { - - @Inject extension CodeGenerationX - @Inject extension GeneratorUtilX - @Inject extension Naming - @Inject extension ExportGeneratorX - - def generate(ExportModel it, CompilationContext ctx, extension GenModelUtilX genModelUtil) { - ''' - package «fingerprintComputer.toJavaPackage»; - - import org.eclipse.emf.ecore.EObject; - «IF !interfaces.isEmpty» - import org.eclipse.emf.ecore.EPackage; - import org.eclipse.emf.ecore.util.Switch; - «ENDIF» - - import com.avaloq.tools.ddk.xtext.resource.AbstractStreamingFingerprintComputer; - - import com.google.common.hash.Hasher; - - - public class «fingerprintComputer.toSimpleName» extends AbstractStreamingFingerprintComputer { - - «IF interfaces.isEmpty» - // no fingerprint defined - @Override - public String computeFingerprint(final org.eclipse.emf.ecore.resource.Resource resource) { - return null; - } - - «ENDIF» - private ThreadLocal hasherAccess = new ThreadLocal(); - - «FOR p : interfaces.map[type.EPackage].toSet.sortBy[nsURI]» - private final Switch «p.name»Switch = new «p.qualifiedSwitchClassName()»() { - «FOR f : interfaces.filter[type.EPackage == p]» - - «javaContributorComment(f.location())» - @Override - public Hasher case«f.type.name»(final «f.type.instanceClassName()» obj) { - final Hasher hasher = hasherAccess.get(); - «IF f.guard !== null» - if (!(«f.guard.javaExpression(ctx.clone('obj', f.type))»)) { - return hasher; - } - «ENDIF» - hasher.putUnencodedChars(obj.eClass().getName()).putChar(ITEM_SEP); - «val superFPs = f.getSuperInterfaces(f.type)» - «FOR superFingerprint : superFPs» - «FOR superItem : superFingerprint.items» - «doProfile(superItem, ctx, genModelUtil, superFingerprint.type)» - «ENDFOR» - «ENDFOR» - «FOR item : f.items» - «doProfile(item, ctx, genModelUtil, f.type)» - «ENDFOR» - return hasher; - } - «ENDFOR» - }; - - «ENDFOR» - @Override - protected void fingerprint(final EObject object, Hasher hasher) { - hasherAccess.set(hasher); - «IF !interfaces.isEmpty» - final EPackage ePackage = object.eClass().getEPackage(); - «FOR p : interfaces.map[type.EPackage].toSet().sortBy[nsURI]» - if (ePackage == «p.qualifiedPackageInterfaceName()».eINSTANCE) { - «p.name»Switch.doSwitch(object); - } - «ENDFOR» - «ENDIF» - hasherAccess.set(null); - } - } - ''' - } - - def dispatch doProfile(InterfaceItem it, CompilationContext ctx, extension GenModelUtilX genModelUtil, EClass type) { - 'ERROR' + it.toString + ' ' + javaContributorComment(it.location()) - } - - def dispatch doProfile(InterfaceField it, CompilationContext ctx, extension GenModelUtilX genModelUtil, EClass type) ''' - «IF field.many && (unordered == true) » - fingerprintFeature(obj, «field.literalIdentifier()», FingerprintOrder.UNORDERED, hasher); - «ELSE» - fingerprintFeature(obj, «field.literalIdentifier()», hasher); - «ENDIF» - hasher.putChar(ITEM_SEP); - ''' - - def dispatch doProfile(InterfaceNavigation it, CompilationContext ctx, extension GenModelUtilX genModelUtil, EClass type) ''' - «IF ref.many && (unordered == true) » - fingerprintRef(obj, «ref.literalIdentifier()», FingerprintOrder.UNORDERED, hasher); - «ELSE» - fingerprintRef(obj, «ref.literalIdentifier()», hasher); - «ENDIF» - hasher.putChar(ITEM_SEP); - ''' - - def dispatch doProfile(InterfaceExpression it, CompilationContext ctx, extension GenModelUtilX genModelUtil, EClass type) ''' - fingerprintExpr(«expr.javaExpression(ctx.clone('obj', type))», obj, FingerprintOrder.«if (unordered) "UNORDERED" else "ORDERED"», FingerprintIndirection.«if (ref) "INDIRECT" else "DIRECT"», hasher); - hasher.putChar(ITEM_SEP); - ''' - -} diff --git a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/FragmentProviderGenerator.xtend b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/FragmentProviderGenerator.xtend deleted file mode 100644 index b66003cb67..0000000000 --- a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/FragmentProviderGenerator.xtend +++ /dev/null @@ -1,94 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2016 Avaloq Group AG 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 - * - * Contributors: - * Avaloq Group AG - initial API and implementation - *******************************************************************************/ - -package com.avaloq.tools.ddk.xtext.export.generator - -import com.avaloq.tools.ddk.xtext.export.export.ExportModel -import com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext -import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX -import com.avaloq.tools.ddk.xtext.expression.generator.GeneratorUtilX -import com.avaloq.tools.ddk.xtext.expression.generator.Naming -import com.google.inject.Inject -import org.eclipse.emf.ecore.EClass - -class FragmentProviderGenerator { - - @Inject extension GeneratorUtilX - @Inject extension Naming - @Inject extension ExportGeneratorX - - def generate(ExportModel it, CompilationContext ctx, extension GenModelUtilX genModelUtil) { - val grammar = grammar - val fingerprintedExports = exports.filter[fingerprint && fragmentAttribute !== null].toList - ''' - package «fragmentProvider.toJavaPackage»; - - «IF !fingerprintedExports.isEmpty» - import org.eclipse.emf.ecore.EClass; - «ENDIF» - «IF !fingerprintedExports.isEmpty || it.extension» - import org.eclipse.emf.ecore.EObject; - «ENDIF» - «IF !fingerprintedExports.isEmpty» - import org.eclipse.emf.ecore.EPackage; - «ENDIF» - - import com.avaloq.tools.ddk.xtext.resource.AbstractSelectorFragmentProvider; - - - public class «getFragmentProvider().toSimpleName()» extends AbstractSelectorFragmentProvider { - - «IF !fingerprintedExports.isEmpty» - @Override - public boolean appendFragmentSegment(final EObject object, StringBuilder builder) { - EClass eClass = object.eClass(); - EPackage ePackage = eClass.getEPackage(); - «val typeMap = fingerprintedExports.typeMap(grammar)» - «val sortedExportsMap = fingerprintedExports.sortedExportsByEPackage()» - «FOR p : sortedExportsMap.keySet()» - if (ePackage == «p.qualifiedPackageInterfaceName()».eINSTANCE) { - int classifierID = eClass.getClassifierID(); - switch (classifierID) { - «FOR c : p.EClassifiers.filter(EClass).filter(c|fingerprintedExports.map[type].exists(e|e.isSuperTypeOf(c)))» - «val e = typeMap.get(c)» - «javaContributorComment(e.location())» - case «c.classifierIdLiteral()»: { - return appendFragmentSegment((«c.instanceClassName()») object, builder); - } - «ENDFOR» - default: - return super.appendFragmentSegment(object, builder); - } - } - «ENDFOR» - return super.appendFragmentSegment(object, builder); - } - «ENDIF» - - «IF it.extension» - @Override - protected boolean appendFragmentSegmentFallback(final EObject object, StringBuilder builder) { - // For export extension we must return false, so the logic will try other extensions - return false; - } - - «ENDIF» - «FOR e : fingerprintedExports» - protected boolean appendFragmentSegment(final «e.type.instanceClassName()» obj, StringBuilder builder) { - return computeSelectorFragmentSegment(obj, «e.fragmentAttribute.literalIdentifier()», «e.fragmentUnique», builder); - } - - «ENDFOR» - } - ''' - } - -} diff --git a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ResourceDescriptionConstantsGenerator.xtend b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ResourceDescriptionConstantsGenerator.xtend deleted file mode 100644 index d642edcb61..0000000000 --- a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ResourceDescriptionConstantsGenerator.xtend +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2016 Avaloq Group AG 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 - * - * Contributors: - * Avaloq Group AG - initial API and implementation - *******************************************************************************/ - -package com.avaloq.tools.ddk.xtext.export.generator - -import com.avaloq.tools.ddk.xtext.export.export.ExportModel -import com.avaloq.tools.ddk.xtext.expression.generator.CodeGenerationX -import com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext -import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX -import com.avaloq.tools.ddk.xtext.expression.generator.Naming -import com.google.inject.Inject - -class ResourceDescriptionConstantsGenerator { - - @Inject extension CodeGenerationX - @Inject extension Naming - @Inject extension ExportGeneratorX - - def generate(ExportModel it, CompilationContext ctx, extension GenModelUtilX genModelUtil) { - ''' - package «getResourceDescriptionConstants().toJavaPackage()»; - - public interface «getResourceDescriptionConstants().toSimpleName()» { - «val types = it.exports» - «FOR c : types.filter[!it.type.abstract]» - «val a = c.allEAttributes» - «val d = c.allUserData()» - «IF !a.isEmpty || !d.isEmpty» - // Export «c.type.name» - «IF !a.isEmpty» - «FOR attr : a» - public static final String «attr.constantName(c.type)» = "«attr.name.javaEncode()»"; //$NON-NLS-1$ - «ENDFOR» - «ENDIF» - «IF !d.isEmpty» - «FOR data : d» - public static final String «data.constantName(c.type)» = "«data.name.javaEncode()»"; //$NON-NLS-1$ - «ENDFOR» - «ENDIF» - - «ENDIF» - «ENDFOR» - } - ''' - } - -} \ No newline at end of file diff --git a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ResourceDescriptionManagerGenerator.xtend b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ResourceDescriptionManagerGenerator.xtend deleted file mode 100644 index 5e0c4a5c3a..0000000000 --- a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ResourceDescriptionManagerGenerator.xtend +++ /dev/null @@ -1,60 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2016 Avaloq Group AG 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 - * - * Contributors: - * Avaloq Group AG - initial API and implementation - *******************************************************************************/ - -package com.avaloq.tools.ddk.xtext.export.generator - -import com.avaloq.tools.ddk.xtext.export.export.ExportModel -import com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext -import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX -import com.avaloq.tools.ddk.xtext.expression.generator.Naming -import com.google.inject.Inject - -class ResourceDescriptionManagerGenerator { - - @Inject extension Naming - @Inject extension ExportGeneratorX - - def generate(ExportModel model, CompilationContext ctx, extension GenModelUtilX genModelUtil) { - val grammar = model.grammar - val usedGrammars = if (grammar !== null) grammar.usedGrammars else newArrayList - val extendedGrammar = if (usedGrammars.isEmpty || usedGrammars.head.name.endsWith('.Terminals')) null else usedGrammars.head - ''' - package «model.resourceDescriptionManager.toJavaPackage»; - - import java.util.Set; - - import com.avaloq.tools.ddk.xtext.resource.AbstractCachingResourceDescriptionManager; - «IF extendedGrammar !== null» - import «extendedGrammar.resourceDescriptionManager»; - import com.google.common.collect.ImmutableSet; - import com.google.common.collect.Sets; - «ENDIF» - import com.google.inject.Singleton; - - - /** - * Resource description manager for «model.name» resources. - */ - @Singleton - public class «model.resourceDescriptionManager.toSimpleName» extends AbstractCachingResourceDescriptionManager { - - public static final Set INTERESTING_EXTS = «IF extendedGrammar !== null»ImmutableSet.copyOf(Sets.union(«extendedGrammar.resourceDescriptionManager.toSimpleName».INTERESTING_EXTS, of(/*add extensions here*/)));«ELSE»all();«ENDIF» - - @Override - protected Set getInterestingExtensions() { - return INTERESTING_EXTS; - } - - } - ''' - } - -} \ No newline at end of file diff --git a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ResourceDescriptionStrategyGenerator.xtend b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ResourceDescriptionStrategyGenerator.xtend deleted file mode 100644 index a21a06d5a2..0000000000 --- a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/ResourceDescriptionStrategyGenerator.xtend +++ /dev/null @@ -1,190 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2016 Avaloq Group AG 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 - * - * Contributors: - * Avaloq Group AG - initial API and implementation - *******************************************************************************/ - -package com.avaloq.tools.ddk.xtext.export.generator - -import com.avaloq.tools.ddk.xtext.export.export.Export -import com.avaloq.tools.ddk.xtext.export.export.ExportModel -import com.avaloq.tools.ddk.xtext.expression.generator.CodeGenerationX -import com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext -import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX -import com.avaloq.tools.ddk.xtext.expression.generator.GeneratorUtilX -import com.avaloq.tools.ddk.xtext.expression.generator.Naming -import com.google.inject.Inject - -class ResourceDescriptionStrategyGenerator { - - @Inject extension CodeGenerationX - @Inject extension GeneratorUtilX - @Inject extension Naming - @Inject extension ExportGeneratorX - - def generate(ExportModel it, CompilationContext ctx, extension GenModelUtilX genModelUtil) { - ''' - package «resourceDescriptionStrategy.toJavaPackage»; - - import java.util.Map; - import java.util.Set; - - import org.eclipse.emf.ecore.EClass; - import org.eclipse.emf.ecore.EObject; - import org.eclipse.emf.ecore.EPackage; - import org.eclipse.emf.ecore.resource.Resource; - import org.eclipse.emf.ecore.util.Switch; - import org.eclipse.xtext.resource.IEObjectDescription; - import org.eclipse.xtext.util.IAcceptor; - - import com.avaloq.tools.ddk.xtext.resource.AbstractResourceDescriptionStrategy; - «IF exports.exists[e|e.fingerprint||e.resourceFingerprint]» - import com.avaloq.tools.ddk.xtext.resource.IFingerprintComputer; - «ENDIF» - «IF exports.exists(e|e.lookup)» - import com.avaloq.tools.ddk.xtext.resource.DetachableEObjectDescription; - «ENDIF» - import com.avaloq.tools.ddk.xtext.resource.extensions.AbstractForwardingResourceDescriptionStrategyMap; - import com.google.common.collect.ImmutableMap; - import com.google.common.collect.ImmutableSet; - «val types = exports» - - - public class «resourceDescriptionStrategy.toSimpleName» extends AbstractResourceDescriptionStrategy { - - private static final Set EXPORTED_ECLASSES = ImmutableSet.copyOf(new EClass[] { - «val e = types.typeMap(grammar)» - «FOR c : e.keySet.sortBy[literalIdentifier] SEPARATOR ',\n'»«c.literalIdentifier»«ENDFOR» - }); - - @Override - public Set getExportedEClasses(final Resource resource) { - return EXPORTED_ECLASSES; - } - - «IF !types.isEmpty» - private final ThreadLocal> acceptor = new ThreadLocal>(); - - «FOR p : types.filter[!type.abstract].map[type.EPackage].toSet.sortBy[nsURI]» - private final Switch «p.name»ExportSwitch = new «p.qualifiedSwitchClassName»() { - - @Override - public Boolean defaultCase(final EObject obj) { - return true; - } - «FOR c : types.filter[!type.abstract && type.EPackage == p]» - - «javaContributorComment(c.location)» - @Override - public Boolean case«c.type.name»(final «c.type.instanceClassName()» obj) { - «val guard = c.guard.javaExpression(ctx.clone('obj', c.type))» - «IF c.guard === null» - «generateCaseBody(c, ctx, genModelUtil)» - «ELSEIF !guard.equalsIgnoreCase("false")» - «javaContributorComment(c.guard.location)» - if («guard») { - «generateCaseBody(c, ctx, genModelUtil)» - } - «ENDIF» - - // can «c.type.name» contain any nested «types.map[type].filter[!abstract].map[name].toSet» objects ? - return «c.type.canContain(types.map[type].filter[!abstract].toSet, grammar)»; - } - «ENDFOR» - }; - - «ENDFOR» - @Override - protected boolean doCreateEObjectDescriptions(final EObject object, final IAcceptor acceptor) { - try { - this.acceptor.set(acceptor); - final EPackage ePackage = object.eClass().getEPackage(); - «FOR p : types.filter[!type.abstract].map[type.EPackage].toSet.sortBy[nsURI]» - if (ePackage == «p.qualifiedPackageInterfaceName».eINSTANCE) { - return «p.name»ExportSwitch.doSwitch(object); - } - «ENDFOR» - «IF it.extension» - // Extension does not have to cover all EPackages of the language - return false; - «ELSE» - // TODO: generate code for other possible epackages (as defined by grammar) - return true; - «ENDIF» - } finally { - this.acceptor.set(null); - } - } - - «ENDIF» - } - ''' - } - - def generateCaseBody(ExportModel it, Export c, CompilationContext ctx, extension GenModelUtilX genModelUtil) { - val a = c.allEAttributes - val d = c.allUserData - ''' - «IF !a.isEmpty || !d.isEmpty || c.fingerprint || c.resourceFingerprint || c.lookup » - // Use a forwarding map to delay calculation as much as possible; otherwise we may get recursive EObject resolution attempts - Map data = new AbstractForwardingResourceDescriptionStrategyMap() { - - @Override - protected void fill(final ImmutableMap.Builder builder) { - Object value = null; - «IF c.fingerprint» - // Fingerprint - value = getFingerprint(obj); - if (value != null) { - builder.put(IFingerprintComputer.OBJECT_FINGERPRINT, value.toString()); - } - «ELSEIF c.resourceFingerprint» - // Resource fingerprint - value = getFingerprint(obj); - if (value != null) { - builder.put(IFingerprintComputer.RESOURCE_FINGERPRINT, value.toString()); - } - «ENDIF» - «IF c.lookup» - // Allow lookups - «IF c.lookupPredicate !== null» - «javaContributorComment(c.lookupPredicate.location)» - if («c.lookupPredicate.javaExpression(ctx.clone('obj', c.type))») { - builder.put(DetachableEObjectDescription.ALLOW_LOOKUP, Boolean.TRUE.toString()); - } - «ELSE» - builder.put(DetachableEObjectDescription.ALLOW_LOOKUP, Boolean.TRUE.toString()); - «ENDIF» - «ENDIF» - «IF !a.isEmpty » - // Exported attributes - «FOR attr : a» - value = obj.eGet(«attr.literalIdentifier», false); - if (value != null) { - builder.put(«resourceDescriptionConstants.toSimpleName».«attr.constantName(c.type)», value.toString()); - } - «ENDFOR» - «ENDIF» - «IF !d.isEmpty » - // User data - «FOR data : d» - value = «data.expr.javaExpression(ctx.clone('obj', c.type))»; - if (value != null) { - builder.put(«resourceDescriptionConstants.toSimpleName».«data.constantName(c.type)», value.toString()); - } - «ENDFOR» - «ENDIF» - } - }; - acceptEObjectDescription(obj, data, acceptor.get()); - «ELSE» - acceptEObjectDescription(obj, acceptor.get()); - «ENDIF» - ''' - } -} diff --git a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/jvmmodel/ExportExpressionCompiler.xtend b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/jvmmodel/ExportExpressionCompiler.xtend new file mode 100644 index 0000000000..a575716bdc --- /dev/null +++ b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/jvmmodel/ExportExpressionCompiler.xtend @@ -0,0 +1,481 @@ +/******************************************************************************* + * Copyright (c) 2016 Avaloq Group AG 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 + * + * Contributors: + * Avaloq Group AG - initial API and implementation + *******************************************************************************/ +package com.avaloq.tools.ddk.xtext.export.jvmmodel + +import com.avaloq.tools.ddk.xtext.expression.expression.BooleanLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.BooleanOperation +import com.avaloq.tools.ddk.xtext.expression.expression.CastedExpression +import com.avaloq.tools.ddk.xtext.expression.expression.CollectionExpression +import com.avaloq.tools.ddk.xtext.expression.expression.Expression +import com.avaloq.tools.ddk.xtext.expression.expression.FeatureCall +import com.avaloq.tools.ddk.xtext.expression.expression.Identifier +import com.avaloq.tools.ddk.xtext.expression.expression.IfExpression +import com.avaloq.tools.ddk.xtext.expression.expression.IntegerLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.ListLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.Literal +import com.avaloq.tools.ddk.xtext.expression.expression.NullLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.OperationCall +import com.avaloq.tools.ddk.xtext.expression.expression.RealLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.StringLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.TypeSelectExpression +import com.avaloq.tools.ddk.xtext.expression.generator.ExpressionExtensions +import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX +import com.google.inject.Inject +import java.util.List +import org.eclipse.emf.ecore.EObject +import org.eclipse.xtext.common.types.JvmDeclaredType +import org.eclipse.xtext.common.types.JvmOperation +import org.eclipse.xtext.common.types.JvmType +import org.eclipse.xtext.util.Strings + +/** + * Compiles the custom {@link Expression} AST of the export expression DSL into equivalent Java source text. + *

+ * This is the self-contained, {@code org.eclipse.xtend}-free replacement of the legacy + * {@code CodeGenerationX}/{@code CompilationContext} expression compiler. It produces exactly the same Java + * fragments as the legacy compiler did, but resolves types, variables and the implicit ({@code this}) receiver + * through the shared {@link ExportTranslationContext} that the + * {@link ExportExpressionTranslator} already uses, rather than through the classic Xtend type system. + *

+ * The export generators splice the produced Java fragments into the body of the inferred provider methods. The + * {@code .ext}/{@code JAVA} extension branches of the legacy compiler are intentionally dropped: export sources no + * longer reference Xtend extension files. + */ +class ExportExpressionCompiler { + + /** Maps EMF model types to their generated Java instance class names. */ + @Inject GenModelUtilX genModelUtil + + /** Reuses the translator's type/variable/getter resolution so both stay consistent. */ + @Inject ExportExpressionTranslator translator + + ////////////////////////////////////////////////// + // ENTRY POINTS + ////////////////////////////////////////////////// + /** + * Tests whether the given expression can be compiled to Java by this compiler. + * + * @param expression + * the source expression, may be {@code null} + * @param context + * the compilation context, must not be {@code null} + * @return {@code true} if a non-{@code null} fragment without the {@code NOT COMPILABLE} marker can be produced + */ + def boolean isCompilable(Expression expression, ExportTranslationContext context) { + val expr = expression.javaExpression(context) + expr !== null && !expr.contains('/* NOT COMPILABLE: ') + } + + /** + * Compiles the given expression into the equivalent Java source text. + * + * @param expression + * the source expression, may be {@code null} + * @param context + * the compilation context, must not be {@code null} + * @return the Java source text, never {@code null} + */ + def dispatch String javaExpression(Void it, ExportTranslationContext ctx) { + '' + } + + def dispatch String javaExpression(Expression it, ExportTranslationContext ctx) { + notCompilable + } + + def private String notCompilable(Expression it) { + '/* NOT COMPILABLE: Complex expressions like "' + serialize() + '" cannot be translated to Java. Consider rewriting the expression or using a JAVA extension. */' + } + + ////////////////////////////////////////////////// + // LITERALS + ////////////////////////////////////////////////// + def dispatch String javaExpression(StringLiteral it, ExportTranslationContext ctx) { + '"' + javaEncode(getVal()) + '"' + } + + def dispatch String javaExpression(BooleanLiteral it, ExportTranslationContext ctx) { + getVal() + } + + def dispatch String javaExpression(IntegerLiteral it, ExportTranslationContext ctx) { + getVal().toString() + } + + def dispatch String javaExpression(NullLiteral it, ExportTranslationContext ctx) { + "null" + } + + def dispatch String javaExpression(RealLiteral it, ExportTranslationContext ctx) { + getVal().toString() + } + + def dispatch String javaExpression(ListLiteral it, ExportTranslationContext ctx) { + if (elements.empty) { + "java.util.Collections. emptyList()" + } else if (elements.size == 1) { + "java.util.Collections.singletonList(" + elements.head.javaExpression(ctx) + ")" + } else { + "com.google.common.collect.Lists.newArrayList(" + ', '.join(elements.map[javaExpression(ctx)]) + ")" + } + } + + ////////////////////////////////////////////////// + // TYPES AND VARIABLES + ////////////////////////////////////////////////// + def dispatch String javaExpression(Identifier it, ExportTranslationContext ctx) { + if (isThis()) ctx.implicitVariableName else '::'.join(id) + } + + def private boolean isTypeRef(FeatureCall it, ExportTranslationContext ctx) { + name === null && type !== null && (ctx.modelTypeResolver?.resolve(type.id) !== null || ctx.resolveDslType(type) !== null) + } + + def private boolean isVariableRef(Expression it, ExportTranslationContext ctx) { + false + } + + def private boolean isVariableRef(FeatureCall it, ExportTranslationContext ctx) { + target === null && name === null && type !== null && type.id.size == 1 && ctx.getVariable(type.id.head) !== null + } + + def private String featureCallTarget(FeatureCall it, ExportTranslationContext ctx) { + if (target === null || target.isThisCall()) + ctx.implicitVariableName + else + target.javaExpression(ctx) + } + + ////////////////////////////////////////////////// + // BOOLEAN OPERATIONS + ////////////////////////////////////////////////// + def dispatch String javaExpression(BooleanOperation it, ExportTranslationContext ctx) { + autoBracket(left.javaExpression(ctx) + ' ' + operator + ' ' + right.javaExpression(ctx), ctx) + } + + ////////////////////////////////////////////////// + // COLLECTION OPERATIONS + ////////////////////////////////////////////////// + def dispatch String javaExpression(CollectionExpression it, ExportTranslationContext ctx) { + if ('select' == name) { + 'com.google.common.collect.Iterables.filter(' + target.javaExpression(ctx) + + ', new com.google.common.base.Predicate() { public boolean apply(Object ' + + (if (getVar() !== null) getVar() else 'e') + ') {return ' + + exp.javaExpression(ctx) + ';} })' + } else { + notCompilable() + } + } + + def dispatch String javaExpression(TypeSelectExpression it, ExportTranslationContext ctx) { + if (isSimpleNavigation(ctx)) + 'com.google.common.collect.Iterables.filter(' + target.javaExpression(ctx) + ', ' + ctx.javaType(type) + '.class)' + else notCompilable() + } + + ////////////////////////////////////////////////// + // TYPE CAST + ////////////////////////////////////////////////// + def dispatch String javaExpression(CastedExpression it, ExportTranslationContext ctx) { + '((' + ctx.javaType(type) + ') ' + target.javaExpression(ctx) + ')' + } + + ////////////////////////////////////////////////// + // IF EXPRESSIONS + ////////////////////////////////////////////////// + def dispatch String javaExpression(IfExpression it, ExportTranslationContext ctx) { + autoBracket(condition.javaExpression(ctx) + ' ? ' + thenPart.javaExpression(ctx) + ' : ' + elsePart.javaExpression(ctx), ctx) + } + + ////////////////////////////////////////////////// + // FEATURE CALLS + ////////////////////////////////////////////////// + def dispatch String javaExpression(FeatureCall it, ExportTranslationContext ctx) { + if (isThisCall()) { + ctx.implicitVariableName + } else if (isVariableRef(ctx)) { + type.javaExpression(ctx) + } else if (isTypeRef(ctx)) { + ctx.javaType(type) + } else if (isSimpleFeatureCall(ctx)) { + featureCallTarget(ctx) + '.' + (if (calledFeature() == 'eContainer') 'eContainer' else (if (calledFeature() == 'isEmpty') 'isEmpty' else calledFeature().toFirstUpper().featureCallName())) + '()' + } else if (isSimpleNavigation(ctx)) { + notCompilable() + } else { + featureCallTarget(ctx) + '.' + (if (calledFeature() == 'eContainer') 'eContainer' else (if (calledFeature() == 'isEmpty') 'isEmpty' else calledFeature().toFirstUpper().featureCallName())) + '()' + } + } + + def private String featureCallName(String it) { + if (it.startsWith('^')) + it.substring(1, it.length).toFirstUpper().featureCallName() + else + (if (it.startsWith('Is')) 'is' else 'get') + it + } + + /** + * Tests whether the given feature call is a simple feature access on the implicit receiver or an in-scope + * variable, i.e. one that compiles to a single {@code getX()}/{@code isX()} accessor. Replaces the legacy + * {@code CodeGenerationX.isSimpleFeatureCall}. + * + * @param it + * the expression, must not be {@code null} + * @param ctx + * the compilation context, must not be {@code null} + * @return {@code true} if the call is a simple feature access + */ + def dispatch boolean isSimpleFeatureCall(Expression it, ExportTranslationContext ctx) { + false + } + + def dispatch boolean isSimpleFeatureCall(FeatureCall it, ExportTranslationContext ctx) { + eClass.name.contains('FeatureCall') && name === null && type.isFeature() && (target === null || target.isVariableRef(ctx) || target.isThisCall()) + } + + def dispatch boolean isSimpleNavigation(Expression it, ExportTranslationContext ctx) { + false + } + + def dispatch boolean isSimpleNavigation(TypeSelectExpression it, ExportTranslationContext ctx) { + true + } + + def dispatch boolean isSimpleNavigation(FeatureCall it, ExportTranslationContext ctx) { + name === null && type.isFeature() && (target === null || target.isVariableRef(ctx) || target.isThisCall() || target.isSimpleNavigation(ctx)) + } + + ////////////////////////////////////////////////// + // OPERATION CALLS + ////////////////////////////////////////////////// + def dispatch String javaExpression(OperationCall it, ExportTranslationContext ctx) { + if ((target === null || target.isThisCall()) && targetHasOperation(ctx)) { + (if (target !== null) target.javaExpression(ctx) + '.' else '') + name + '(' + ', '.join(params.map[javaExpression(ctx)]) + ')' + } else if (isArithmeticOperatorCall(ctx)) { + autoBracket((' ' + name + ' ').join(params.map(e|e.javaExpression(ctx))), ctx) + } else if (isSimpleConcatCall()) { + (' + ').join(params.map(e|e.javaExpression(ctx))) + } else if (isPrefixExpression()) { + autoBracket(name + params.head.javaExpression(ctx), ctx) + } else if ('first' == name && params.isEmpty && target !== null) { + target.javaExpression(ctx) + '.get(0)' + } else if ('isInstance' == name && params.size == 1 && target instanceof FeatureCall && (target as FeatureCall).isTypeRef(ctx)) { + autoBracket(params.head.javaExpression(ctx) + ' instanceof ' + target.javaExpression(ctx), ctx) + } else if ('eContainer' == name && params.isEmpty) { + target.javaExpression(ctx) + '.eContainer()' + } else { + (if (target !== null) target.javaExpression(ctx) + '.' else '') + name + '(' + (if (params.isEmpty) '' else ', '.join(params.map[javaExpression(ctx)])) + ')' + } + } + + /** + * Heuristically tests whether an unqualified or {@code this} qualified operation call refers to an operation + * declared on the implicit receiver's type. Replaces the legacy {@code CompilationContext.targetHasOperation}. + * + * @param it + * the operation call, must not be {@code null} + * @param ctx + * the compilation context, must not be {@code null} + * @return {@code true} if the implicit receiver type declares a matching operation + */ + def private boolean targetHasOperation(OperationCall it, ExportTranslationContext ctx) { + val receiverType = translator.resolveType(target, ctx) + if (!(receiverType instanceof JvmDeclaredType)) { + return false + } + val operationName = name + val parameterCount = params.size + val declaredType = receiverType as JvmDeclaredType + declaredType.allFeatures.filter(JvmOperation).exists [ + simpleName == operationName && parameters.size == parameterCount + ] + } + + ////////////////////////////////////////////////// + // EXPRESSION BRACKETING + ////////////////////////////////////////////////// + def private String autoBracket(Expression it, String javaCode, ExportTranslationContext ctx) { + if (requiresBracketing(ctx)) '(' + javaCode + ')' else javaCode + } + + def private dispatch boolean requiresBracketing(Expression it, ExportTranslationContext ctx) { + (isPrefixExpression() || isInfixExpression(ctx)) && eContainer() !== null && requiresBracketing(it, eContainer(), ctx) + } + + def private dispatch boolean requiresBracketing(Literal it, ExportTranslationContext ctx) { + false + } + + def private dispatch boolean requiresBracketing(Expression it, Object parent, ExportTranslationContext ctx) { + false + } + + def private dispatch boolean requiresBracketing(Expression it, Expression parent, ExportTranslationContext ctx) { + isPrefixExpression() && parent.isPrefixExpression() || + (isInfixExpression(ctx) && (parent.isPrefixExpression() || parent.isInfixExpression(ctx))) + } + + def private dispatch boolean requiresBracketing(OperationCall it, OperationCall parent, ExportTranslationContext ctx) { + isPrefixExpression() && parent.isPrefixExpression() || + (isInfixExpression(ctx) && (parent.isPrefixExpression() || (parent.isInfixExpression(ctx) && name != parent.name))) + } + + def private dispatch boolean requiresBracketing(BooleanOperation it, BooleanOperation parent, ExportTranslationContext ctx) { + operator != parent.operator + } + + ////////////////////////////////////////////////// + // OPERATOR CLASSIFICATION + ////////////////////////////////////////////////// + def private boolean isSimpleConcatCall(OperationCall it) { + name == '+' && type === null && target === null && !params.isEmpty + } + + def private boolean isNumber(Expression it, ExportTranslationContext ctx) { + val type = translator.resolveType(it, ctx) + type !== null && type.isNumeric + } + + def private boolean isNumeric(JvmType it) { + val name = qualifiedName + switch name { + case 'int', + case 'long', + case 'short', + case 'byte', + case 'double', + case 'float', + case 'java.lang.Integer', + case 'java.lang.Long', + case 'java.lang.Short', + case 'java.lang.Byte', + case 'java.lang.Double', + case 'java.lang.Float', + case 'java.lang.Number', + case 'java.math.BigInteger', + case 'java.math.BigDecimal': + true + default: + false + } + } + + def private dispatch boolean isArithmeticOperatorCall(OperationCall it, ExportTranslationContext ctx) { + type === null && target === null && params.size > 1 && (name == '+' || name == '-' || name == '*' || name == '/') && params.forall[isNumber(ctx)] + } + + def private dispatch boolean isArithmeticOperatorCall(Expression it, ExportTranslationContext ctx) { + false + } + + def private dispatch boolean isPrefixExpression(Expression it) { + false + } + + def private dispatch boolean isPrefixExpression(OperationCall it) { + type === null && target === null && params.size == 1 && (name == '-' || name == '!') + } + + def private dispatch boolean isInfixExpression(Void it, ExportTranslationContext ctx) { + false + } + + def private dispatch boolean isInfixExpression(Expression it, ExportTranslationContext ctx) { + false + } + + def private dispatch boolean isInfixExpression(OperationCall it, ExportTranslationContext ctx) { + isArithmeticOperatorCall(ctx) || 'isInstance' == name + } + + def private dispatch boolean isInfixExpression(IfExpression it, ExportTranslationContext ctx) { + true + } + + def private dispatch boolean isInfixExpression(BooleanOperation it, ExportTranslationContext ctx) { + true + } + + ////////////////////////////////////////////////// + // TYPE RESOLUTION + ////////////////////////////////////////////////// + /** + * Resolves the Java class name of the given source DSL type identifier. Model types resolve through the imported + * EPackages to their generated instance class name (exactly as the legacy {@code CompilationContext.javaType} + * did through {@code genModelUtil.instanceClassName}); plain Java types resolve against the classpath. Replaces + * the legacy {@code CompilationContext.javaType}. + * + * @param ctx + * the compilation context, must not be {@code null} + * @param type + * the source type identifier, must not be {@code null} + * @return the qualified Java class name (or the joined identifier when the type cannot be resolved) + */ + def private String javaType(ExportTranslationContext ctx, Identifier type) { + val classifier = ctx.modelTypeResolver?.resolve(type.id) + if (classifier !== null) { + return genModelUtil.instanceClassName(classifier) + } + val resolved = ctx.resolveDslType(type) + if (resolved === null) { + return '::'.join(type.id) + } + val name = resolved.qualifiedName + if (name.startsWith('java.lang.') && !name.substring('java.lang.'.length).contains('.')) { + name.substring('java.lang.'.length) + } else { + name + } + } + + ////////////////////////////////////////////////// + // HELPER FUNCTIONS + ////////////////////////////////////////////////// + def private dispatch boolean isThisCall(Expression it) { + false + } + + def private dispatch boolean isThisCall(FeatureCall it) { + name === null && type.isThis() + } + + def private boolean isFeature(Identifier it) { + id !== null && id.size == 1 + } + + def private dispatch boolean isThis(Expression it) { + false + } + + def private dispatch boolean isThis(Identifier it) { + id !== null && id.size == 1 && id.head == "this" + } + + def private String calledFeature(FeatureCall it) { + type.id.head + } + + def private String serialize(EObject it) { + ExpressionExtensions.serialize(it) + } + + def private dispatch String javaEncode(Expression it) { + javaEncode(serialize()) + } + + def private dispatch String javaEncode(String it) { + Strings.convertToJavaString(it) + } + + def private String join(String it, List strings) { + if (strings.isEmpty) '' else Strings.concat(it, strings) + } + +} diff --git a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/jvmmodel/ExportExpressionTranslator.xtend b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/jvmmodel/ExportExpressionTranslator.xtend new file mode 100644 index 0000000000..5f7bc4333f --- /dev/null +++ b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/jvmmodel/ExportExpressionTranslator.xtend @@ -0,0 +1,870 @@ +/******************************************************************************* + * Copyright (c) 2016 Avaloq Group AG 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 + * + * Contributors: + * Avaloq Group AG - initial API and implementation + *******************************************************************************/ +package com.avaloq.tools.ddk.xtext.export.jvmmodel + +import com.avaloq.tools.ddk.xtext.expression.expression.BooleanLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.BooleanOperation +import com.avaloq.tools.ddk.xtext.expression.expression.CastedExpression +import com.avaloq.tools.ddk.xtext.expression.expression.Expression +import com.avaloq.tools.ddk.xtext.expression.expression.FeatureCall +import com.avaloq.tools.ddk.xtext.expression.expression.Identifier +import com.avaloq.tools.ddk.xtext.expression.expression.IfExpression +import com.avaloq.tools.ddk.xtext.expression.expression.IntegerLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.ListLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.NullLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.OperationCall +import com.avaloq.tools.ddk.xtext.expression.expression.RealLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.StringLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.TypeSelectExpression +import com.avaloq.tools.ddk.xtext.export.generator.ExportModelTypeResolver +import com.google.common.collect.Iterables +import com.google.inject.Inject +import java.util.List +import org.eclipse.emf.ecore.EClass +import org.eclipse.emf.ecore.EObject +import org.eclipse.xtext.common.types.JvmDeclaredType +import org.eclipse.xtext.common.types.JvmFormalParameter +import org.eclipse.xtext.common.types.JvmOperation +import org.eclipse.xtext.common.types.JvmType +import org.eclipse.xtext.common.types.TypesFactory +import org.eclipse.xtext.common.types.util.TypeReferences +import org.eclipse.xtext.xbase.XExpression +import org.eclipse.xtext.xbase.XbaseFactory +import org.eclipse.xtext.xbase.lib.BooleanExtensions +import org.eclipse.xtext.xbase.lib.ObjectExtensions + +/** + * Translates the custom {@link Expression} AST of the export expression DSL into equivalent Xbase + * {@link XExpression} trees that can be compiled by the {@code XbaseCompiler} through the JVM model inferrer. + *

+ * Translation happens against an {@link ExportTranslationContext} that provides the variables in scope and the + * implicit ({@code this}) variable. Nodes that require resolving forms that are not yet supported return + * {@code null}; the {@link ExportExpressionCompiler} is used as the string fallback that the export generators + * splice into the inferred provider method bodies. + */ +class ExportExpressionTranslator { + + /** Provides access to the {@code org.eclipse.xtext.xbase.lib} operator methods that back binary operations. */ + @Inject extension TypeReferences + + /** + * Translates the given expression into an equivalent {@link XExpression}. + * + * @param expression + * the source expression, may be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the translated {@link XExpression}, or {@code null} if the expression cannot (yet) be translated + */ + def XExpression translate(Expression expression, ExportTranslationContext context) { + if (expression === null) { + return null + } + return expression.doTranslate(context) + } + + /** + * Resolves a factory expression of the form {@code Type.method(args)} to the fully qualified static Java method + * {@code .} by linking the type reference against the classpath. This replaces the + * legacy {@code .ext} based resolution: the declaring type is named directly in the export source rather than + * indirected through an Xtend extension file. + * + * @param expression + * the factory expression, must not be {@code null} + * @param sourceElement + * a model element used to resolve the type against the classpath, must not be {@code null} + * @return the fully qualified static method ({@code type.method}), or {@code null} if the expression is not a + * type-qualified operation call or the type cannot be resolved + */ + def String resolveFactoryMethod(Expression expression, EObject sourceElement) { + if (!(expression instanceof OperationCall)) { + return null + } + val call = expression as OperationCall + if (!(call.target instanceof FeatureCall)) { + return null + } + val typeReference = call.target as FeatureCall + if (typeReference.name !== null || typeReference.type === null) { + return null + } + val jvmType = findDeclaredType(typeReference.type.id.join('.'), sourceElement) + if (jvmType instanceof JvmDeclaredType) { + return jvmType.qualifiedName + '.' + call.name + } + null + } + + /** + * Tests whether the given expression can be extracted into a typed helper method, i.e. whether it can be both + * translated into an {@link XExpression} and have its result type resolved. The check is performed against a + * fresh trial context holding a single {@code ctx} variable of the given context type, so it can be used at code + * generation time before the actual JVM operation (and its formal parameter) exist. + * + * @param expression + * the source expression to test, must not be {@code null} + * @param contextType + * the EClass of the {@code ctx} context variable, must not be {@code null} + * @param sourceElement + * a model element used to resolve types against the classpath, must not be {@code null} + * @return {@code true} if the expression can be extracted into a typed helper method + */ + def boolean canExtractAsValue(Expression expression, EClass contextType, EObject sourceElement) { + val context = newTrialContext(contextType, sourceElement) + translate(expression, context) !== null && resolveType(expression, context) !== null + } + + /** + * Tests whether the given expression can be extracted into a helper method whose result is a {@link String}, i.e. + * whether it can be translated and its result type resolves to {@code java.lang.String}. Used for splice sites that + * are overloaded on the argument type (such as a container query name) where extracting a non-{@code String} value + * would select the wrong overload. + * + * @param expression + * the source expression to test, must not be {@code null} + * @param contextType + * the EClass of the {@code ctx} context variable, must not be {@code null} + * @param sourceElement + * a model element used to resolve types against the classpath, must not be {@code null} + * @return {@code true} if the expression can be extracted as a {@code String} valued helper method + */ + def boolean canExtractAsString(Expression expression, EClass contextType, EObject sourceElement) { + val context = newTrialContext(contextType, sourceElement) + if (translate(expression, context) === null) { + return false + } + val resolved = resolveType(expression, context) + resolved !== null && resolved.qualifiedName == String.name + } + + /** + * Tests whether the given expression can be extracted into a typed helper method that, in addition to the primary + * {@code ctx} variable, has the given extra variables in scope (for example a data match lambda's element + * description). The check uses a fresh trial context so it can be used at code generation time. + * + * @param expression + * the source expression to test, must not be {@code null} + * @param contextType + * the EClass of the {@code ctx} context variable, must not be {@code null} + * @param extraVariables + * the extra variables as source-name to fully-qualified-type-name pairs, must not be {@code null} + * @param sourceElement + * a model element used to resolve types against the classpath, must not be {@code null} + * @return {@code true} if the expression can be extracted into a typed helper method + */ + def boolean canExtractAsValue(Expression expression, EClass contextType, List> extraVariables, + EObject sourceElement) { + val context = newTrialContext(contextType, sourceElement) + for (extra : extraVariables) { + context.putVariable(extra.key, newTrialParameter(extra.key, extra.value, sourceElement)) + } + translate(expression, context) !== null && resolveType(expression, context) !== null + } + + /** + * Creates a trial translation context holding a single {@code ctx} variable of the given context type. The + * context's type resolver resolves DSL type identifiers by their fully qualified name against the classpath. + * + * @param contextType + * the EClass of the {@code ctx} context variable, must not be {@code null} + * @param sourceElement + * a model element used to resolve types against the classpath, must not be {@code null} + * @return the trial context, never {@code null} + */ + def private ExportTranslationContext newTrialContext(EClass contextType, EObject sourceElement) { + val parameter = newTrialParameter('ctx', contextType.instanceClassName, sourceElement) + val context = new ExportTranslationContext + context.sourceElement = sourceElement + context.putVariable('ctx', parameter) + context.implicitVariable = parameter + context.typeResolver = [Identifier identifier|findDeclaredType(identifier.id.join('.'), sourceElement)] + context + } + + /** + * Creates a trial formal parameter with the given name and type, used to populate a trial translation context. + * + * @param name + * the parameter name, must not be {@code null} + * @param typeName + * the fully qualified type name of the parameter, must not be {@code null} + * @param sourceElement + * a model element used to resolve the type against the classpath, must not be {@code null} + * @return the trial parameter, never {@code null} + */ + def private JvmFormalParameter newTrialParameter(String name, String typeName, EObject sourceElement) { + val parameter = TypesFactory.eINSTANCE.createJvmFormalParameter + parameter.name = name + val jvmType = findDeclaredType(typeName, sourceElement) + if (jvmType !== null) { + parameter.parameterType = createTypeRef(jvmType) + } + parameter + } + + /** + * Creates a translation context for rendering an expression to Java source text with the + * {@link ExportExpressionCompiler}. The context binds the implicit ({@code this}) receiver to the given Java + * variable name and EMF type, registers the implicit and any extra variables, and resolves DSL type identifiers + * against the classpath. This replaces the legacy {@code CompilationContext.clone(...)} factories. + * + * @param implicitVariableName + * the Java variable name an unqualified {@code this} reference compiles to, must not be {@code null} + * @param implicitType + * the EMF type of the implicit receiver, may be {@code null} + * @param extraVariables + * extra in-scope variables as source-name to fully-qualified-type-name pairs, must not be {@code null} + * @param sourceElement + * a model element used to resolve types against the classpath, must not be {@code null} + * @return the compilation context, never {@code null} + */ + def ExportTranslationContext newCompilationContext(String implicitVariableName, EClass implicitType, + List> extraVariables, EObject sourceElement) { + val context = new ExportTranslationContext + context.sourceElement = sourceElement + context.implicitVariableName = implicitVariableName + context.modelTypeResolver = ExportModelTypeResolver.forElement(sourceElement) + if (implicitType !== null) { + val parameter = newTrialParameter(implicitVariableName, implicitType.instanceClassName, sourceElement) + context.implicitVariable = parameter + context.putVariable(implicitVariableName, parameter) + } + for (extra : extraVariables) { + context.putVariable(extra.key, newTrialParameter(extra.key, extra.value, sourceElement)) + } + context.typeResolver = [Identifier identifier|findDeclaredType(identifier.id.join('.'), sourceElement)] + context + } + + /** + * Fallback for expression types that are not (yet) supported by the translator. + * + * @param it + * the source expression, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return {@code null}, indicating the expression cannot be translated yet + */ + def dispatch protected XExpression doTranslate(Expression it, ExportTranslationContext context) { + null + } + + /** + * Translates a string literal. + * + * @param it + * the source literal, must not be {@code null} + * @return the {@link org.eclipse.xtext.xbase.XStringLiteral}, never {@code null} + */ + def dispatch protected XExpression doTranslate(StringLiteral it, ExportTranslationContext context) { + val literal = XbaseFactory.eINSTANCE.createXStringLiteral + literal.value = getVal() + literal + } + + /** + * Translates a boolean literal. + * + * @param it + * the source literal, must not be {@code null} + * @return the {@link org.eclipse.xtext.xbase.XBooleanLiteral}, never {@code null} + */ + def dispatch protected XExpression doTranslate(BooleanLiteral it, ExportTranslationContext context) { + val literal = XbaseFactory.eINSTANCE.createXBooleanLiteral + literal.isTrue = 'true' == getVal() + literal + } + + /** + * Translates an integer literal. + * + * @param it + * the source literal, must not be {@code null} + * @return the {@link org.eclipse.xtext.xbase.XNumberLiteral}, never {@code null} + */ + def dispatch protected XExpression doTranslate(IntegerLiteral it, ExportTranslationContext context) { + val literal = XbaseFactory.eINSTANCE.createXNumberLiteral + literal.value = Integer.toString(getVal()) + literal + } + + /** + * Translates a real (floating point) literal. + * + * @param it + * the source literal, must not be {@code null} + * @return the {@link org.eclipse.xtext.xbase.XNumberLiteral}, never {@code null} + */ + def dispatch protected XExpression doTranslate(RealLiteral it, ExportTranslationContext context) { + val literal = XbaseFactory.eINSTANCE.createXNumberLiteral + literal.value = getVal() + literal + } + + /** + * Translates a {@code null} literal. + * + * @param it + * the source literal, must not be {@code null} + * @return the {@link org.eclipse.xtext.xbase.XNullLiteral}, never {@code null} + */ + def dispatch protected XExpression doTranslate(NullLiteral it, ExportTranslationContext context) { + XbaseFactory.eINSTANCE.createXNullLiteral + } + + /** + * Translates a list literal. Each element is translated recursively; if any element cannot be translated + * the whole list literal is considered untranslatable. + * + * @param it + * the source literal, must not be {@code null} + * @return the {@link org.eclipse.xtext.xbase.XListLiteral}, or {@code null} if an element cannot be translated + */ + def dispatch protected XExpression doTranslate(ListLiteral it, ExportTranslationContext context) { + val literal = XbaseFactory.eINSTANCE.createXListLiteral + for (element : elements) { + val translated = element.translate(context) + if (translated === null) { + return null + } + literal.elements += translated + } + literal + } + + /** + * Translates a conditional expression (ternary {@code ? :} or {@code if}/{@code then}/{@code else}). When the + * source has no else branch a {@link org.eclipse.xtext.xbase.XNullLiteral} is used as the else value. + * + * @param it + * the source conditional, must not be {@code null} + * @return the {@link org.eclipse.xtext.xbase.XIfExpression}, or {@code null} if a branch cannot be translated + */ + def dispatch protected XExpression doTranslate(IfExpression it, ExportTranslationContext context) { + val xIf = XbaseFactory.eINSTANCE.createXIfExpression + val xCondition = condition.translate(context) + val xThen = thenPart.translate(context) + if (xCondition === null || xThen === null) { + return null + } + xIf.^if = xCondition + xIf.then = xThen + if (elsePart !== null) { + val xElse = elsePart.translate(context) + if (xElse === null) { + return null + } + xIf.^else = xElse + } else { + xIf.^else = XbaseFactory.eINSTANCE.createXNullLiteral + } + xIf + } + + /** + * Translates a boolean, equality or relational operation into an {@link org.eclipse.xtext.xbase.XBinaryOperation}. + * The operator is linked to the corresponding {@code org.eclipse.xtext.xbase.lib} operator method so that the + * {@code XbaseCompiler} can emit the equivalent Java code. Operators without a backing library method (currently + * {@code implies} and the relational comparisons) are left untranslated for now. + * + * @param it + * the source operation, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the {@link org.eclipse.xtext.xbase.XBinaryOperation}, or {@code null} if it cannot (yet) be translated + */ + def dispatch protected XExpression doTranslate(BooleanOperation it, ExportTranslationContext context) { + val xLeft = left.translate(context) + val xRight = right.translate(context) + if (xLeft === null || xRight === null) { + return null + } + val sourceElement = context.sourceElement + switch operator { + case '||': toBinaryOperation(xLeft, xRight, BooleanExtensions, 'operator_or', sourceElement) + case '&&': toBinaryOperation(xLeft, xRight, BooleanExtensions, 'operator_and', sourceElement) + case '==': toBinaryOperation(xLeft, xRight, ObjectExtensions, 'operator_equals', sourceElement) + case '!=': toBinaryOperation(xLeft, xRight, ObjectExtensions, 'operator_notEquals', sourceElement) + default: null + } + } + + /** + * Translates an operation call. In order, an {@code isInstance} check is mapped to an + * {@link org.eclipse.xtext.xbase.XInstanceOfExpression}, a receiver or implicit method call (which also covers + * {@code eContainer}/{@code eClass} style operations) to an {@link org.eclipse.xtext.xbase.XMemberFeatureCall} + * linked to the resolved method, and finally an extension call to a {@code static} extension method. + * Arithmetic, concatenation and prefix operator calls are added in later increments. + * + * @param it + * the source operation call, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the resolved expression, or {@code null} if it cannot (yet) be translated + */ + def dispatch protected XExpression doTranslate(OperationCall it, ExportTranslationContext context) { + it.translateInstanceOf(context) ?: it.translateMethodCall(context) ?: it.translateExtensionCall(context) + } + + /** + * Translates a type cast ({@code (Type) target}) into an {@link org.eclipse.xtext.xbase.XCastedExpression}. + * + * @param it + * the source cast, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the casted expression, or {@code null} if the type or target cannot be translated + */ + def dispatch protected XExpression doTranslate(CastedExpression it, ExportTranslationContext context) { + val jvmType = context.resolveDslType(type) + if (jvmType === null) { + return null + } + val xTarget = target.translate(context) + if (xTarget === null) { + return null + } + val cast = XbaseFactory.eINSTANCE.createXCastedExpression + cast.type = createTypeRef(jvmType) + cast.target = xTarget + cast + } + + /** + * Translates a {@code typeSelect(Type)} navigation into a {@code com.google.common.collect.Iterables.filter} + * call that keeps the elements assignable to the given type, mirroring the legacy code generation. + * + * @param it + * the source type select, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the filter feature call, or {@code null} if the type, target or filter method cannot be resolved + */ + def dispatch protected XExpression doTranslate(TypeSelectExpression it, ExportTranslationContext context) { + val jvmType = context.resolveDslType(type) + if (jvmType === null) { + return null + } + val xTarget = target.translate(context) + if (xTarget === null) { + return null + } + val filter = findIterablesFilterByClass(context.sourceElement) + if (filter === null) { + return null + } + val call = XbaseFactory.eINSTANCE.createXFeatureCall + call.feature = filter + call.featureCallArguments += xTarget + val typeLiteral = XbaseFactory.eINSTANCE.createXTypeLiteral + typeLiteral.type = jvmType + call.featureCallArguments += typeLiteral + call + } + + /** + * Translates a feature call. The supported cases are an unqualified {@code this} reference (mapped to the + * implicit variable), a single-segment identifier that matches a variable in scope, and a getter navigation + * ({@code receiver.feature}) which is resolved to the matching {@code getX()}/{@code isX()} operation on the + * receiver's JVM type. Type references and operation calls are added in later increments. + * + * @param it + * the source feature call, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the resolved feature call, or {@code null} if it cannot (yet) be translated + */ + def dispatch protected XExpression doTranslate(FeatureCall it, ExportTranslationContext context) { + if (it.isThisReference) { + return context.implicitVariable.toFeatureCall + } + if (target === null && name === null && type !== null && type.id.size == 1) { + val parameter = context.getVariable(type.id.head) + if (parameter !== null) { + return parameter.toFeatureCall + } + } + if (name === null && type !== null && type.id.size == 1) { + return it.translateGetter(context) + } + null + } + + /** + * Tests whether the given feature call is an unqualified {@code this} reference. + * + * @param call + * the feature call, must not be {@code null} + * @return {@code true} if the call refers to {@code this} + */ + def private boolean isThisReference(FeatureCall call) { + call.name === null && call.target === null && call.type !== null && call.type.id.size == 1 && + 'this' == call.type.id.head + } + + /** + * Creates an {@link org.eclipse.xtext.xbase.XFeatureCall} that references the given formal parameter. + * + * @param parameter + * the formal parameter to reference, may be {@code null} + * @return the feature call, or {@code null} if the parameter is {@code null} + */ + def private XExpression toFeatureCall(JvmFormalParameter parameter) { + if (parameter === null) { + return null + } + val featureCall = XbaseFactory.eINSTANCE.createXFeatureCall + featureCall.feature = parameter + featureCall + } + + /** + * Translates a getter navigation ({@code receiver.feature}) into an {@link org.eclipse.xtext.xbase.XMemberFeatureCall} + * linked to the resolved {@code getX()}/{@code isX()} operation. The receiver is the translated target, or the + * implicit variable when there is no explicit target. + * + * @param it + * the source feature call, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the member feature call, or {@code null} if the receiver type or getter cannot be resolved + */ + def private XExpression translateGetter(FeatureCall it, ExportTranslationContext context) { + val receiverType = resolveType(target, context) + if (receiverType === null) { + return null + } + val getter = findGetter(receiverType, type.id.head) + if (getter === null) { + return null + } + val receiver = if (target === null) context.implicitVariable.toFeatureCall else target.translate(context) + if (receiver === null) { + return null + } + val memberCall = XbaseFactory.eINSTANCE.createXMemberFeatureCall + memberCall.memberCallTarget = receiver + memberCall.feature = getter + memberCall + } + + /** + * Resolves the static JVM type of the given expression as far as needed to link getter navigations. Supported + * expressions are the implicit variable (when {@code expression} is {@code null} or a {@code this} reference), a + * variable in scope, and a getter navigation chain. + * + * @param expression + * the source expression whose type to resolve, may be {@code null} to denote the implicit variable + * @param context + * the translation context, must not be {@code null} + * @return the resolved JVM type, or {@code null} if it cannot be determined + */ + def JvmType resolveType(Expression expression, ExportTranslationContext context) { + if (expression === null) { + return context.implicitVariable?.parameterType?.type + } + switch expression { + CastedExpression: + context.resolveDslType(expression.type) + StringLiteral: + findDeclaredType(String, expression) + TypeSelectExpression: + findDeclaredType(Iterable, context.sourceElement) + ListLiteral: + findDeclaredType(List, context.sourceElement) + OperationCall: { + val receiverType = resolveType(expression.target, context) + findMethod(receiverType, expression.name, expression.params.size)?.returnType?.type + } + FeatureCall: { + if (expression.isThisReference) { + context.implicitVariable?.parameterType?.type + } else if (expression.target === null && expression.name === null && expression.type !== null && + expression.type.id.size == 1 && context.getVariable(expression.type.id.head) !== null) { + context.getVariable(expression.type.id.head).parameterType?.type + } else if (expression.name === null && expression.type !== null && expression.type.id.size == 1) { + val receiverType = resolveType(expression.target, context) + if (receiverType !== null) findGetter(receiverType, expression.type.id.head)?.returnType?.type else null + } else { + null + } + } + default: + null + } + } + + /** + * Finds the no-argument getter operation for the given feature name on the given JVM type. The candidate method + * names are the feature name itself (covering operations such as {@code eContainer} or {@code isEmpty}) as well as + * the {@code getX} and {@code isX} accessor variants. + * + * @param type + * the receiver type, must not be {@code null} + * @param feature + * the source feature name, must not be {@code null} + * @return the matching getter operation, or {@code null} if none is found + */ + def private JvmOperation findGetter(JvmType type, String feature) { + if (type instanceof JvmDeclaredType) { + val candidates = feature.getterCandidates + return type.allFeatures.filter(JvmOperation).findFirst [ + parameters.empty && candidates.contains(simpleName) + ] + } + null + } + + /** + * Computes the candidate getter method names for the given source feature name. + * + * @param feature + * the source feature name, must not be {@code null} + * @return the list of candidate method names, never {@code null} + */ + def private getterCandidates(String feature) { + val name = if (feature.startsWith('^')) feature.substring(1) else feature + val upper = name.toFirstUpper + #[name, 'get' + upper, 'is' + upper] + } + + /** + * Translates an {@code isInstance} operation call ({@code Type.isInstance(value)}) into an + * {@link org.eclipse.xtext.xbase.XInstanceOfExpression}. + * + * @param it + * the source operation call, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the instance-of expression, or {@code null} if the call is not an {@code isInstance} type check or the + * type or value cannot be resolved + */ + def private XExpression translateInstanceOf(OperationCall it, ExportTranslationContext context) { + if (name != 'isInstance' || params.size != 1 || !(target instanceof FeatureCall)) { + return null + } + val typeReference = target as FeatureCall + if (typeReference.name !== null || typeReference.type === null) { + return null + } + val jvmType = context.resolveDslType(typeReference.type) + if (jvmType === null) { + return null + } + val xValue = params.head.translate(context) + if (xValue === null) { + return null + } + val instanceOf = XbaseFactory.eINSTANCE.createXInstanceOfExpression + instanceOf.expression = xValue + instanceOf.type = createTypeRef(jvmType) + instanceOf + } + + /** + * Translates a receiver or implicit method call ({@code receiver.method(args)} or {@code method(args)}) into an + * {@link org.eclipse.xtext.xbase.XMemberFeatureCall} linked to the resolved method. The receiver is the translated + * target, or the implicit variable when there is no explicit target. + * + * @param it + * the source operation call, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the member feature call, or {@code null} if the receiver type, method or an argument cannot be resolved + */ + def private XExpression translateMethodCall(OperationCall it, ExportTranslationContext context) { + val receiverType = resolveType(target, context) + if (receiverType === null) { + return null + } + val operation = findMethod(receiverType, name, params.size) + if (operation === null) { + return null + } + val receiver = if (target === null) context.implicitVariable.toFeatureCall else target.translate(context) + if (receiver === null) { + return null + } + val memberCall = XbaseFactory.eINSTANCE.createXMemberFeatureCall + memberCall.memberCallTarget = receiver + memberCall.feature = operation + memberCall.explicitOperationCall = true + for (param : params) { + val xParam = param.translate(context) + if (xParam === null) { + return null + } + memberCall.memberCallArguments += xParam + } + memberCall + } + + /** + * Finds the method of the given name and parameter count on the given JVM type. + * + * @param type + * the receiver type, may be {@code null} + * @param methodName + * the source method name, must not be {@code null} + * @param parameterCount + * the number of arguments the call passes + * @return the matching method, or {@code null} if none is found + */ + def private JvmOperation findMethod(JvmType type, String methodName, int parameterCount) { + if (type instanceof JvmDeclaredType) { + return type.allFeatures.filter(JvmOperation).findFirst [ + simpleName == methodName && parameters.size == parameterCount + ] + } + null + } + + /** + * Finds the {@code com.google.common.collect.Iterables.filter(Iterable, Class)} operation used to back a + * {@code typeSelect} navigation. + * + * @param context + * the source element used to resolve the type against the classpath, may be {@code null} + * @return the {@code filter} operation, or {@code null} if it cannot be resolved + */ + def private JvmOperation findIterablesFilterByClass(EObject context) { + if (context === null) { + return null + } + val type = findDeclaredType(Iterables, context) + if (type instanceof JvmDeclaredType) { + return type.allFeatures.filter(JvmOperation).findFirst [ + isStatic && simpleName == 'filter' && parameters.size == 2 && + parameters.get(1).parameterType?.type?.simpleName == 'Class' + ] + } + null + } + + /** + * Translates an extension operation call into an {@link org.eclipse.xtext.xbase.XFeatureCall} that invokes the + * matching {@code static} extension method. The call's target (when present) is prepended to the declared + * parameters to form the argument list. + * + * @param it + * the source operation call, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the feature call, or {@code null} if no matching extension method exists or an argument cannot be translated + */ + def private XExpression translateExtensionCall(OperationCall it, ExportTranslationContext context) { + val argumentCount = (if (target !== null) 1 else 0) + params.size + val operation = context.extensionClassNames.map [ className | + findExtensionOperation(className, name, argumentCount, context.sourceElement) + ].filterNull.head + if (operation === null) { + return null + } + val featureCall = XbaseFactory.eINSTANCE.createXFeatureCall + featureCall.feature = operation + if (target !== null) { + val xTarget = target.translate(context) + if (xTarget === null) { + return null + } + featureCall.featureCallArguments += xTarget + } + for (param : params) { + val xParam = param.translate(context) + if (xParam === null) { + return null + } + featureCall.featureCallArguments += xParam + } + featureCall + } + + /** + * Finds the {@code static} extension method of the given name and argument count on the given extension class. + * + * @param className + * the fully qualified name of the extension class, must not be {@code null} + * @param operationName + * the source operation name, must not be {@code null} + * @param argumentCount + * the number of arguments the call passes + * @param context + * the source element used to resolve the type against the classpath, may be {@code null} + * @return the matching {@code static} operation, or {@code null} if none is found + */ + def private JvmOperation findExtensionOperation(String className, String operationName, int argumentCount, + EObject context) { + if (context === null) { + return null + } + val type = findDeclaredType(className, context) + if (type instanceof JvmDeclaredType) { + return type.allFeatures.filter(JvmOperation).findFirst [ + isStatic && simpleName == operationName && parameters.size == argumentCount + ] + } + null + } + + /** + * Builds an {@link org.eclipse.xtext.xbase.XBinaryOperation} linked to the given {@code org.eclipse.xtext.xbase.lib} + * operator method. + * + * @param left + * the already translated left operand, must not be {@code null} + * @param right + * the already translated right operand, must not be {@code null} + * @param operatorClass + * the {@code org.eclipse.xtext.xbase.lib} class declaring the operator method, must not be {@code null} + * @param operatorName + * the simple name of the operator method, must not be {@code null} + * @param context + * the source element used to resolve the operator type, may be {@code null} + * @return the binary operation, or {@code null} if the operator method cannot be resolved + */ + def private XExpression toBinaryOperation(XExpression left, XExpression right, Class operatorClass, + String operatorName, EObject context) { + val operation = findOperator(operatorClass, operatorName, context) + if (operation === null) { + return null + } + val binaryOperation = XbaseFactory.eINSTANCE.createXBinaryOperation + binaryOperation.leftOperand = left + binaryOperation.rightOperand = right + binaryOperation.feature = operation + binaryOperation + } + + /** + * Resolves the two-argument operator method of the given name on the given {@code org.eclipse.xtext.xbase.lib} class. + * + * @param operatorClass + * the class declaring the operator method, must not be {@code null} + * @param operatorName + * the simple name of the operator method, must not be {@code null} + * @param context + * the source element used to resolve the type against the classpath, may be {@code null} + * @return the operator {@link JvmOperation}, or {@code null} if it cannot be resolved + */ + def private JvmOperation findOperator(Class operatorClass, String operatorName, EObject context) { + if (context === null) { + return null + } + val type = findDeclaredType(operatorClass, context) + if (type instanceof JvmDeclaredType) { + return type.allFeatures.filter(JvmOperation).findFirst [ + simpleName == operatorName && parameters.size == 2 + ] + } + null + } + +} diff --git a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/jvmmodel/ExportJvmModelInferrer.xtend b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/jvmmodel/ExportJvmModelInferrer.xtend new file mode 100644 index 0000000000..31ef549b6a --- /dev/null +++ b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/jvmmodel/ExportJvmModelInferrer.xtend @@ -0,0 +1,733 @@ +/******************************************************************************* + * Copyright (c) 2016 Avaloq Group AG 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 + * + * Contributors: + * Avaloq Group AG - initial API and implementation + *******************************************************************************/ +package com.avaloq.tools.ddk.xtext.export.jvmmodel + +import com.avaloq.tools.ddk.xtext.export.export.Export +import com.avaloq.tools.ddk.xtext.export.export.ExportModel +import com.avaloq.tools.ddk.xtext.export.export.InterfaceExpression +import com.avaloq.tools.ddk.xtext.export.export.InterfaceField +import com.avaloq.tools.ddk.xtext.export.export.InterfaceItem +import com.avaloq.tools.ddk.xtext.export.export.InterfaceNavigation +import com.avaloq.tools.ddk.xtext.export.generator.ExportGeneratorX +import com.avaloq.tools.ddk.xtext.expression.expression.Expression +import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX +import com.avaloq.tools.ddk.xtext.expression.generator.GeneratorSupport +import com.avaloq.tools.ddk.xtext.expression.generator.GeneratorUtilX +import com.avaloq.tools.ddk.xtext.linking.ShortFragmentProvider +import com.avaloq.tools.ddk.xtext.naming.AbstractExportedNameProvider +import com.avaloq.tools.ddk.xtext.resource.AbstractCachingResourceDescriptionManager +import com.avaloq.tools.ddk.xtext.resource.AbstractExportFeatureExtension +import com.avaloq.tools.ddk.xtext.resource.AbstractResourceDescriptionStrategy +import com.avaloq.tools.ddk.xtext.resource.AbstractSelectorFragmentProvider +import com.avaloq.tools.ddk.xtext.resource.AbstractStreamingFingerprintComputer +import com.avaloq.tools.ddk.xtext.resource.IFingerprintComputer +import com.google.common.hash.Hasher +import com.google.inject.Inject +import com.google.inject.Singleton +import java.util.Collection +import java.util.Map +import java.util.Set +import org.eclipse.core.resources.IProject +import org.eclipse.core.resources.ResourcesPlugin +import org.eclipse.emf.ecore.EClass +import org.eclipse.emf.ecore.EObject +import org.eclipse.emf.ecore.EPackage +import org.eclipse.emf.ecore.resource.Resource +import org.eclipse.emf.ecore.util.Switch +import org.eclipse.xtext.common.types.JvmAnnotationReference +import org.eclipse.xtext.common.types.JvmAnnotationType +import org.eclipse.xtext.common.types.JvmGenericType +import org.eclipse.xtext.common.types.JvmVisibility +import org.eclipse.xtext.common.types.TypesFactory +import org.eclipse.xtext.naming.IQualifiedNameProvider +import org.eclipse.xtext.naming.QualifiedName +import org.eclipse.xtext.resource.IEObjectDescription +import org.eclipse.xtext.util.IAcceptor +import org.eclipse.xtext.util.Strings +import org.eclipse.xtext.xbase.jvmmodel.AbstractModelInferrer +import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor +import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder +import org.eclipse.xtext.xbase.lib.Pair + +/** + * Infers a JVM model from an export model. + *

+ * Replaces the former {@code IGenerator2} based {@code ExportGenerator}: the exported names provider, resource + * description manager, resource description strategy, resource description constants, fingerprint computer, fragment + * provider and (for extension models) the export feature extension are now contributed as inferred JVM types whose + * Java source is emitted by the Xbase {@code JvmModelGenerator}. The method bodies are produced as strings and + * attached verbatim; framework types referenced by those strings are emitted fully qualified so that the generated + * compilation units need no import section of their own. + */ +class ExportJvmModelInferrer extends AbstractModelInferrer { + + @Inject extension JvmTypesBuilder + @Inject extension ExportGeneratorX + @Inject extension GeneratorUtilX + + @Inject GenModelUtilX genModelUtil + @Inject TypesFactory typesFactory + @Inject GeneratorSupport generatorSupport + @Inject ExportExpressionCompiler compiler + @Inject ExportExpressionTranslator translator + + /** + * Infers the export provider JVM types for the given export model. + * + * @param model + * the export model, must not be {@code null} + * @param acceptor + * the type acceptor, must not be {@code null} + * @param isPreIndexingPhase + * whether the method is called in the pre-indexing phase + */ + def dispatch void infer(ExportModel model, IJvmDeclaredTypeAcceptor acceptor, boolean isPreIndexingPhase) { + if (isPreIndexingPhase) { + return + } + genModelUtil.resource = model.eResource + + // The expression based method body strings are produced eagerly here (inside the project resource loader + // required by the expression compiler) rather than from within the deferred body closures, which run later + // during emission. + val Map bodies = newHashMap + generatorSupport.executeWithProjectResourceLoader(model.projectOf, [ + if (!model.exports.isEmpty) { + bodies.put('qnDispatch', model.qualifiedNameDispatchBody.toString) + for (var i = 0; i < model.exports.size; i++) { + bodies.put('qn' + i, model.qualifiedNameBody(model.exports.get(i)).toString) + } + for (p : model.strategyPackages) { + bodies.put('strategySwitch:' + p.nsURI, model.strategySwitchInitializer(p).toString) + } + } + for (p : model.fingerprintPackages) { + bodies.put('fpSwitch:' + p.nsURI, model.fingerprintSwitchInitializer(p).toString) + } + ]) + + inferExportedNamesProvider(model, acceptor, bodies) + if (!model.extension) { + inferResourceDescriptionManager(model, acceptor) + } + inferResourceDescriptionStrategy(model, acceptor, bodies) + inferResourceDescriptionConstants(model, acceptor) + inferFingerprintComputer(model, acceptor, bodies) + inferFragmentProvider(model, acceptor) + if (model.extension) { + inferExportFeatureExtension(model, acceptor) + } + } + + /** + * Infers the {@code ExportedNamesProvider}. + */ + def private void inferExportedNamesProvider(ExportModel model, IJvmDeclaredTypeAcceptor acceptor, Map bodies) { + val providerName = model.exportedNamesProvider + acceptor.accept(model.toClass(providerName)) [ + superTypes += typeRef(AbstractExportedNameProvider) + addSuppressWarningsAll + documentation = '''Qualified name provider providing the qualified names for exported objects.''' + if (!model.exports.isEmpty) { + members += model.toMethod('qualifiedName', typeRef(QualifiedName)) [ + visibility = JvmVisibility.PUBLIC + annotations += typeOnlyAnnotation(Override) + parameters += model.toParameter('object', typeRef(EObject)) + val text = bodies.get('qnDispatch') + body = [append(text)] + ] + for (var i = 0; i < model.exports.size; i++) { + val c = model.exports.get(i) + val text = bodies.get('qn' + i) + members += model.toMethod('qualifiedName', typeRef(QualifiedName)) [ + visibility = JvmVisibility.PROTECTED + parameters += model.toParameter('obj', typeRef(genModelUtil.instanceClassName(c.type))) + body = [append(text)] + ] + } + } + ] + } + + /** + * Infers the {@code ResourceDescriptionManager}. + */ + def private void inferResourceDescriptionManager(ExportModel model, IJvmDeclaredTypeAcceptor acceptor) { + val grammar = model.grammar + val usedGrammars = if (grammar !== null) grammar.usedGrammars else newArrayList + val extendedGrammar = if (usedGrammars.isEmpty || usedGrammars.head.name.endsWith('.Terminals')) null else usedGrammars.head + val initializer = if (extendedGrammar !== null) { + '''com.google.common.collect.ImmutableSet.copyOf(com.google.common.collect.Sets.union(«extendedGrammar.resourceDescriptionManager».INTERESTING_EXTS, of(/*add extensions here*/)))''' + } else { + '''all()''' + } + acceptor.accept(model.toClass(model.resourceDescriptionManager)) [ + superTypes += typeRef(AbstractCachingResourceDescriptionManager) + annotations += typeOnlyAnnotation(Singleton) + addSuppressWarningsAll + documentation = '''Resource description manager for «model.name» resources.''' + members += model.toField('INTERESTING_EXTS', typeRef(Set, typeRef(String))) [ + visibility = JvmVisibility.PUBLIC + static = true + final = true + initializer = [append(initializer.toString)] + ] + members += model.toMethod('getInterestingExtensions', typeRef(Set, typeRef(String))) [ + visibility = JvmVisibility.PROTECTED + annotations += typeOnlyAnnotation(Override) + body = [append('return INTERESTING_EXTS;')] + ] + ] + } + + /** + * Infers the {@code ResourceDescriptionStrategy}. + */ + def private void inferResourceDescriptionStrategy(ExportModel model, IJvmDeclaredTypeAcceptor acceptor, Map bodies) { + acceptor.accept(model.toClass(model.resourceDescriptionStrategy)) [ + superTypes += typeRef(AbstractResourceDescriptionStrategy) + addSuppressWarningsAll + members += model.toField('EXPORTED_ECLASSES', typeRef(Set, typeRef(EClass))) [ + visibility = JvmVisibility.PRIVATE + static = true + final = true + initializer = [append(model.exportedEClassesInitializer.toString)] + ] + members += model.toMethod('getExportedEClasses', typeRef(Set, typeRef(EClass))) [ + visibility = JvmVisibility.PUBLIC + annotations += typeOnlyAnnotation(Override) + parameters += model.toParameter('resource', typeRef(Resource)) + body = [append('return EXPORTED_ECLASSES;')] + ] + if (!model.exports.isEmpty) { + members += model.toField('acceptor', typeRef(ThreadLocal, typeRef(IAcceptor, typeRef(IEObjectDescription)))) [ + visibility = JvmVisibility.PRIVATE + final = true + initializer = [append('new ThreadLocal>()')] + ] + for (p : model.strategyPackages) { + val text = bodies.get('strategySwitch:' + p.nsURI) + members += model.toField(p.name + 'ExportSwitch', typeRef(Switch, typeRef(Boolean))) [ + visibility = JvmVisibility.PRIVATE + final = true + initializer = [append(text)] + ] + } + members += model.toMethod('doCreateEObjectDescriptions', typeRef(Boolean.TYPE)) [ + visibility = JvmVisibility.PROTECTED + annotations += typeOnlyAnnotation(Override) + parameters += model.toParameter('object', typeRef(EObject)) + parameters += model.toParameter('acceptor', typeRef(IAcceptor, typeRef(IEObjectDescription))) + body = [append(model.strategyDoCreateBody.toString)] + ] + } + ] + } + + /** + * Infers the {@code ResourceDescriptionConstants} interface. + */ + def private void inferResourceDescriptionConstants(ExportModel model, IJvmDeclaredTypeAcceptor acceptor) { + acceptor.accept(model.toClass(model.resourceDescriptionConstants)) [ + ^interface = true + for (c : model.exports.filter[!it.type.abstract]) { + for (attr : c.allEAttributes) { + members += model.toField(constantName(attr, c.type), typeRef(String)) [ + visibility = JvmVisibility.PUBLIC + static = true + final = true + initializer = [append('"' + Strings.convertToJavaString(attr.name) + '"')] + ] + } + for (data : c.allUserData) { + members += model.toField(constantName(data, c.type), typeRef(String)) [ + visibility = JvmVisibility.PUBLIC + static = true + final = true + initializer = [append('"' + Strings.convertToJavaString(data.name) + '"')] + ] + } + } + ] + } + + /** + * Infers the {@code FingerprintComputer}. + */ + def private void inferFingerprintComputer(ExportModel model, IJvmDeclaredTypeAcceptor acceptor, Map bodies) { + acceptor.accept(model.toClass(model.fingerprintComputer)) [ + superTypes += typeRef(AbstractStreamingFingerprintComputer) + addSuppressWarningsAll + if (model.interfaces.isEmpty) { + members += model.toMethod('computeFingerprint', typeRef(String)) [ + visibility = JvmVisibility.PUBLIC + annotations += typeOnlyAnnotation(Override) + parameters += model.toParameter('resource', typeRef(Resource)) + body = [append('// no fingerprint defined\nreturn null;')] + ] + } + members += model.toField('hasherAccess', typeRef(ThreadLocal, typeRef(Hasher))) [ + visibility = JvmVisibility.PRIVATE + initializer = [append('new ThreadLocal()')] + ] + for (p : model.fingerprintPackages) { + val text = bodies.get('fpSwitch:' + p.nsURI) + members += model.toField(p.name + 'Switch', typeRef(Switch, typeRef(Hasher))) [ + visibility = JvmVisibility.PRIVATE + final = true + initializer = [append(text)] + ] + } + members += model.toMethod('fingerprint', typeRef(Void.TYPE)) [ + visibility = JvmVisibility.PROTECTED + annotations += typeOnlyAnnotation(Override) + parameters += model.toParameter('object', typeRef(EObject)) + parameters += model.toParameter('hasher', typeRef(Hasher)) + body = [append(model.fingerprintMethodBody.toString)] + ] + ] + } + + /** + * Infers the {@code FragmentProvider} (full provider, short stub, or none, depending on the model). + */ + def private void inferFragmentProvider(ExportModel model, IJvmDeclaredTypeAcceptor acceptor) { + val fingerprintedExports = model.exports.filter[fingerprint && fragmentAttribute !== null].toList + if (!fingerprintedExports.isEmpty || model.extension) { + acceptor.accept(model.toClass(model.fragmentProvider)) [ + superTypes += typeRef(AbstractSelectorFragmentProvider) + addSuppressWarningsAll + if (!fingerprintedExports.isEmpty) { + members += model.toMethod('appendFragmentSegment', typeRef(Boolean.TYPE)) [ + visibility = JvmVisibility.PUBLIC + annotations += typeOnlyAnnotation(Override) + parameters += model.toParameter('object', typeRef(EObject)) + parameters += model.toParameter('builder', typeRef(StringBuilder)) + body = [append(model.appendFragmentSegmentBody(fingerprintedExports).toString)] + ] + } + if (model.extension) { + members += model.toMethod('appendFragmentSegmentFallback', typeRef(Boolean.TYPE)) [ + visibility = JvmVisibility.PROTECTED + annotations += typeOnlyAnnotation(Override) + parameters += model.toParameter('object', typeRef(EObject)) + parameters += model.toParameter('builder', typeRef(StringBuilder)) + body = [append('// For export extension we must return false, so the logic will try other extensions\nreturn false;')] + ] + } + for (e : fingerprintedExports) { + members += model.toMethod('appendFragmentSegment', typeRef(Boolean.TYPE)) [ + visibility = JvmVisibility.PROTECTED + parameters += model.toParameter('obj', typeRef(genModelUtil.instanceClassName(e.type))) + parameters += model.toParameter('builder', typeRef(StringBuilder)) + body = [append('''return computeSelectorFragmentSegment(obj, «genModelUtil.literalIdentifier(e.fragmentAttribute)», «e.fragmentUnique», builder);''')] + ] + } + ] + } else if (!model.exports.isEmpty) { + acceptor.accept(model.toClass(model.fragmentProvider)) [ + superTypes += typeRef(ShortFragmentProvider) + addSuppressWarningsAll + ] + } + } + + /** + * Infers the {@code ExportFeatureExtension} (extension models only). + */ + def private void inferExportFeatureExtension(ExportModel model, IJvmDeclaredTypeAcceptor acceptor) { + acceptor.accept(model.toClass(model.exportFeatureExtension)) [ + superTypes += typeRef(AbstractExportFeatureExtension) + addSuppressWarningsAll + members += model.toField('namesProvider', typeRef(model.exportedNamesProvider)) [ + visibility = JvmVisibility.PRIVATE + annotations += typeOnlyAnnotation(Inject) + ] + members += model.toField('fingerprintComputer', typeRef(model.fingerprintComputer)) [ + visibility = JvmVisibility.PRIVATE + annotations += typeOnlyAnnotation(Inject) + ] + members += model.toField('fragmentProvider', typeRef(model.fragmentProvider)) [ + visibility = JvmVisibility.PRIVATE + annotations += typeOnlyAnnotation(Inject) + ] + members += model.toField('resourceDescriptionStrategy', typeRef(model.resourceDescriptionStrategy)) [ + visibility = JvmVisibility.PRIVATE + annotations += typeOnlyAnnotation(Inject) + ] + members += model.toMethod('getNamesProvider', typeRef(IQualifiedNameProvider)) [ + visibility = JvmVisibility.PROTECTED + annotations += typeOnlyAnnotation(Override) + body = [append('return namesProvider;')] + ] + members += model.toMethod('getFingerprintComputer', typeRef(IFingerprintComputer)) [ + visibility = JvmVisibility.PROTECTED + annotations += typeOnlyAnnotation(Override) + body = [append('return fingerprintComputer;')] + ] + members += model.toMethod('getFragmentProvider', typeRef(AbstractSelectorFragmentProvider)) [ + visibility = JvmVisibility.PROTECTED + annotations += typeOnlyAnnotation(Override) + body = [append('return fragmentProvider;')] + ] + members += model.toMethod('getResourceDescriptionStrategy', typeRef(AbstractResourceDescriptionStrategy)) [ + visibility = JvmVisibility.PROTECTED + annotations += typeOnlyAnnotation(Override) + body = [append('return resourceDescriptionStrategy;')] + ] + ] + } + + // ------------------------------------------------------------------------------------------------------------------- + // Body producers (framework types fully qualified so the generated compilation units need no imports) + // ------------------------------------------------------------------------------------------------------------------- + + /** + * Returns the EPackages of the non-abstract exported types, sorted by namespace URI. + */ + def private Iterable strategyPackages(ExportModel model) { + model.exports.filter[!type.abstract].map[type.EPackage].toSet.sortBy[nsURI] + } + + /** + * Returns the EPackages of the fingerprint interfaces, sorted by namespace URI. + */ + def private Iterable fingerprintPackages(ExportModel model) { + model.interfaces.map[type.EPackage].toSet.sortBy[nsURI] + } + + def private CharSequence qualifiedNameDispatchBody(ExportModel model) { + val types = model.exports + val exportedEClasses = types.map[type].toSet + val exportsMap = types.sortedExportsByEPackage + ''' + org.eclipse.emf.ecore.EClass eClass = object.eClass(); + org.eclipse.emf.ecore.EPackage ePackage = eClass.getEPackage(); + «FOR p : exportsMap.keySet.sortBy[nsURI]» + if (ePackage == «genModelUtil.qualifiedPackageInterfaceName(p)».eINSTANCE) { + int classifierID = eClass.getClassifierID(); + switch (classifierID) { + «FOR c : p.EClassifiers.filter(EClass).filter[c|exportedEClasses.exists[e|e.isSuperTypeOf(c)]]» + case «genModelUtil.classifierIdLiteral(c)»: { + return qualifiedName((«genModelUtil.instanceClassName(c)») object); + } + «ENDFOR» + default: + return null; + } + } + «ENDFOR» + return null; + ''' + } + + def private CharSequence qualifiedNameBody(ExportModel model, Export c) { + ''' + «javaContributorComment(c.location)» + «IF c.naming !== null» + final Object name = «javaExpr(c.naming, c.type, model)»; + return name != null ? «IF c.qualifiedName»getConverter().toQualifiedName(String.valueOf(name))«ELSE»qualifyWithContainerName(obj, String.valueOf(name))«ENDIF» : null; + «ELSE» + return «IF c.qualifiedName»getConverter().toQualifiedName(getResolver().apply(obj))«ELSE»qualifyWithContainerName(obj, getResolver().apply(obj))«ENDIF»; // "name" attribute by default + «ENDIF» + ''' + } + + def private CharSequence exportedEClassesInitializer(ExportModel model) { + val e = model.exports.typeMap(model.grammar) + ''' + com.google.common.collect.ImmutableSet.copyOf(new org.eclipse.emf.ecore.EClass[] { + «FOR c : e.keySet.sortBy[genModelUtil.literalIdentifier(it)] SEPARATOR ',\n'»«genModelUtil.literalIdentifier(c)»«ENDFOR» + })''' + } + + def private CharSequence strategySwitchInitializer(ExportModel model, EPackage p) { + val types = model.exports + ''' + new «genModelUtil.qualifiedSwitchClassName(p)»() { + + @Override + public Boolean defaultCase(final org.eclipse.emf.ecore.EObject obj) { + return true; + } + «FOR c : types.filter[!type.abstract && type.EPackage == p]» + + «javaContributorComment(c.location)» + @Override + public Boolean case«c.type.name»(final «genModelUtil.instanceClassName(c.type)» obj) { + «IF c.guard === null» + «generateCaseBody(model, c)» + «ELSE» + «val guard = javaExpr(c.guard, c.type, model)» + «IF !guard.equalsIgnoreCase("false")» + «javaContributorComment(c.guard.location)» + if («guard») { + «generateCaseBody(model, c)» + } + «ENDIF» + «ENDIF» + + // can «c.type.name» contain any nested «types.map[type].filter[!abstract].map[name].toSet» objects ? + return «c.type.canContain(types.map[type].filter[!abstract].toSet, model.grammar)»; + } + «ENDFOR» + }''' + } + + def private CharSequence generateCaseBody(ExportModel model, Export c) { + val a = c.allEAttributes + val d = c.allUserData + ''' + «IF !a.isEmpty || !d.isEmpty || c.fingerprint || c.resourceFingerprint || c.lookup » + // Use a forwarding map to delay calculation as much as possible; otherwise we may get recursive EObject resolution attempts + java.util.Map data = new com.avaloq.tools.ddk.xtext.resource.extensions.AbstractForwardingResourceDescriptionStrategyMap() { + + @Override + protected void fill(final com.google.common.collect.ImmutableMap.Builder builder) { + Object value = null; + «IF c.fingerprint» + // Fingerprint + value = getFingerprint(obj); + if (value != null) { + builder.put(com.avaloq.tools.ddk.xtext.resource.IFingerprintComputer.OBJECT_FINGERPRINT, value.toString()); + } + «ELSEIF c.resourceFingerprint» + // Resource fingerprint + value = getFingerprint(obj); + if (value != null) { + builder.put(com.avaloq.tools.ddk.xtext.resource.IFingerprintComputer.RESOURCE_FINGERPRINT, value.toString()); + } + «ENDIF» + «IF c.lookup» + // Allow lookups + «IF c.lookupPredicate !== null» + «javaContributorComment(c.lookupPredicate.location)» + if («javaExpr(c.lookupPredicate, c.type, model)») { + builder.put(com.avaloq.tools.ddk.xtext.resource.DetachableEObjectDescription.ALLOW_LOOKUP, Boolean.TRUE.toString()); + } + «ELSE» + builder.put(com.avaloq.tools.ddk.xtext.resource.DetachableEObjectDescription.ALLOW_LOOKUP, Boolean.TRUE.toString()); + «ENDIF» + «ENDIF» + «IF !a.isEmpty » + // Exported attributes + «FOR attr : a» + value = obj.eGet(«genModelUtil.literalIdentifier(attr)», false); + if (value != null) { + builder.put(«model.resourceDescriptionConstants».«constantName(attr, c.type)», value.toString()); + } + «ENDFOR» + «ENDIF» + «IF !d.isEmpty » + // User data + «FOR data : d» + value = «javaExpr(data.expr, c.type, model)»; + if (value != null) { + builder.put(«model.resourceDescriptionConstants».«constantName(data, c.type)», value.toString()); + } + «ENDFOR» + «ENDIF» + } + }; + acceptEObjectDescription(obj, data, acceptor.get()); + «ELSE» + acceptEObjectDescription(obj, acceptor.get()); + «ENDIF» + ''' + } + + def private CharSequence strategyDoCreateBody(ExportModel model) { + ''' + try { + this.acceptor.set(acceptor); + final org.eclipse.emf.ecore.EPackage ePackage = object.eClass().getEPackage(); + «FOR p : model.strategyPackages» + if (ePackage == «genModelUtil.qualifiedPackageInterfaceName(p)».eINSTANCE) { + return «p.name»ExportSwitch.doSwitch(object); + } + «ENDFOR» + «IF model.extension» + // Extension does not have to cover all EPackages of the language + return false; + «ELSE» + // TODO: generate code for other possible epackages (as defined by grammar) + return true; + «ENDIF» + } finally { + this.acceptor.set(null); + } + ''' + } + + def private CharSequence fingerprintSwitchInitializer(ExportModel model, EPackage p) { + ''' + new «genModelUtil.qualifiedSwitchClassName(p)»() { + «FOR f : model.interfaces.filter[type.EPackage == p]» + + «javaContributorComment(f.location)» + @Override + public com.google.common.hash.Hasher case«f.type.name»(final «genModelUtil.instanceClassName(f.type)» obj) { + final com.google.common.hash.Hasher hasher = hasherAccess.get(); + «IF f.guard !== null» + if (!(«javaExpr(f.guard, f.type, model)»)) { + return hasher; + } + «ENDIF» + hasher.putUnencodedChars(obj.eClass().getName()).putChar(ITEM_SEP); + «FOR superFingerprint : f.getSuperInterfaces(f.type)» + «FOR superItem : superFingerprint.items» + «doProfile(superItem, model, superFingerprint.type)» + «ENDFOR» + «ENDFOR» + «FOR item : f.items» + «doProfile(item, model, f.type)» + «ENDFOR» + return hasher; + } + «ENDFOR» + }''' + } + + def private CharSequence fingerprintMethodBody(ExportModel model) { + ''' + hasherAccess.set(hasher); + «IF !model.interfaces.isEmpty» + final org.eclipse.emf.ecore.EPackage ePackage = object.eClass().getEPackage(); + «FOR p : model.fingerprintPackages» + if (ePackage == «genModelUtil.qualifiedPackageInterfaceName(p)».eINSTANCE) { + «p.name»Switch.doSwitch(object); + } + «ENDFOR» + «ENDIF» + hasherAccess.set(null); + ''' + } + + def private dispatch CharSequence doProfile(InterfaceItem it, ExportModel model, EClass type) { + 'ERROR' + it.toString + ' ' + javaContributorComment(it.location) + } + + def private dispatch CharSequence doProfile(InterfaceField it, ExportModel model, EClass type) ''' + «IF field.many && (unordered == true) » + fingerprintFeature(obj, «genModelUtil.literalIdentifier(field)», FingerprintOrder.UNORDERED, hasher); + «ELSE» + fingerprintFeature(obj, «genModelUtil.literalIdentifier(field)», hasher); + «ENDIF» + hasher.putChar(ITEM_SEP); + ''' + + def private dispatch CharSequence doProfile(InterfaceNavigation it, ExportModel model, EClass type) ''' + «IF ref.many && (unordered == true) » + fingerprintRef(obj, «genModelUtil.literalIdentifier(ref)», FingerprintOrder.UNORDERED, hasher); + «ELSE» + fingerprintRef(obj, «genModelUtil.literalIdentifier(ref)», hasher); + «ENDIF» + hasher.putChar(ITEM_SEP); + ''' + + def private dispatch CharSequence doProfile(InterfaceExpression it, ExportModel model, EClass type) ''' + fingerprintExpr(«javaExpr(expr, type, model)», obj, FingerprintOrder.«if (unordered) "UNORDERED" else "ORDERED"», FingerprintIndirection.«if (ref) "INDIRECT" else "DIRECT"», hasher); + hasher.putChar(ITEM_SEP); + ''' + + def private CharSequence appendFragmentSegmentBody(ExportModel model, Collection fingerprintedExports) { + val typeMap = fingerprintedExports.typeMap(model.grammar) + val sortedExportsMap = fingerprintedExports.sortedExportsByEPackage + ''' + org.eclipse.emf.ecore.EClass eClass = object.eClass(); + org.eclipse.emf.ecore.EPackage ePackage = eClass.getEPackage(); + «FOR p : sortedExportsMap.keySet» + if (ePackage == «genModelUtil.qualifiedPackageInterfaceName(p)».eINSTANCE) { + int classifierID = eClass.getClassifierID(); + switch (classifierID) { + «FOR c : p.EClassifiers.filter(EClass).filter[c|fingerprintedExports.map[type].exists[e|e.isSuperTypeOf(c)]]» + «val e = typeMap.get(c)» + «javaContributorComment(e.location)» + case «genModelUtil.classifierIdLiteral(c)»: { + return appendFragmentSegment((«genModelUtil.instanceClassName(c)») object, builder); + } + «ENDFOR» + default: + return super.appendFragmentSegment(object, builder); + } + } + «ENDFOR» + return super.appendFragmentSegment(object, builder); + ''' + } + + // ------------------------------------------------------------------------------------------------------------------- + // Helpers + // ------------------------------------------------------------------------------------------------------------------- + + /** + * Compiles an embedded expression to a Java expression string in the context of the implicit variable {@code obj} + * of the given type. + * + * @param expression + * the expression to compile, must not be {@code null} + * @param type + * the type of the implicit {@code obj} variable, must not be {@code null} + * @param model + * the export model, must not be {@code null} + * @return the Java expression, never {@code null} + */ + def private String javaExpr(Expression expression, EClass type, ExportModel model) { + compiler.javaExpression(expression, translator.newCompilationContext('obj', type, >newArrayList, model)).toString + } + + /** + * Adds a {@code @SuppressWarnings("all")} annotation to the given type. + * + * @param type + * the type to annotate, must not be {@code null} + */ + def private void addSuppressWarningsAll(JvmGenericType type) { + val annotation = typesFactory.createJvmAnnotationReference + annotation.annotation = typeRef(SuppressWarnings).type as JvmAnnotationType + val value = typesFactory.createJvmStringAnnotationValue + value.values += 'all' + annotation.explicitValues += value + type.annotations += annotation + } + + /** + * Creates a marker annotation reference (without values) for the given annotation type. + * + * @param annotationClass + * the annotation type, must not be {@code null} + * @return the annotation reference, never {@code null} + */ + def private JvmAnnotationReference typeOnlyAnnotation(Class annotationClass) { + val annotation = typesFactory.createJvmAnnotationReference + annotation.annotation = typeRef(annotationClass).type as JvmAnnotationType + annotation + } + + /** + * Returns the workspace project containing the given export model, if any. + * + * @param model + * the export model, must not be {@code null} + * @return the containing project, or {@code null} if it cannot be determined + */ + def private IProject projectOf(ExportModel model) { + val uri = model.eResource.URI + if (uri.isPlatformResource) { + val resource = ResourcesPlugin.workspace.root.findMember(uri.toPlatformString(true)) + if (resource !== null) { + return resource.project + } + } + null + } + +} diff --git a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/jvmmodel/ExportTranslationContext.xtend b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/jvmmodel/ExportTranslationContext.xtend new file mode 100644 index 0000000000..4c503784c4 --- /dev/null +++ b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/jvmmodel/ExportTranslationContext.xtend @@ -0,0 +1,190 @@ +/******************************************************************************* + * Copyright (c) 2016 Avaloq Group AG 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 + * + * Contributors: + * Avaloq Group AG - initial API and implementation + *******************************************************************************/ +package com.avaloq.tools.ddk.xtext.export.jvmmodel + +import com.avaloq.tools.ddk.xtext.expression.expression.Identifier +import com.avaloq.tools.ddk.xtext.export.generator.ExportModelTypeResolver +import java.util.List +import java.util.Map +import org.eclipse.emf.ecore.EObject +import org.eclipse.xtext.common.types.JvmFormalParameter +import org.eclipse.xtext.common.types.JvmType +import org.eclipse.xtext.xbase.lib.Functions.Function1 + +/** + * Carries the information needed while translating an export expression AST into an Xbase + * {@link org.eclipse.xtext.xbase.XExpression} tree. + *

+ * It holds the variables that are in scope (mapping their source names to the {@link JvmFormalParameter}s of the + * enclosing inferred operation) and the implicit variable that an unqualified ({@code this}) feature call refers to. + * The source element the expression originates from is kept for JVM type resolution. + */ +class ExportTranslationContext { + + val Map variables = newLinkedHashMap + + val List extensionClassNames = newArrayList + + Function1 typeResolver + + JvmFormalParameter implicitVariable + + String implicitVariableName + + ExportModelTypeResolver modelTypeResolver + + EObject sourceElement + + /** + * Registers a variable that is in scope for the translated expression. + * + * @param name + * the source name of the variable, must not be {@code null} + * @param parameter + * the inferred formal parameter the variable resolves to, must not be {@code null} + */ + def void putVariable(String name, JvmFormalParameter parameter) { + variables.put(name, parameter) + } + + /** + * Returns the formal parameter a variable name resolves to. + * + * @param name + * the source name of the variable, must not be {@code null} + * @return the matching formal parameter, or {@code null} if no variable with that name is in scope + */ + def JvmFormalParameter getVariable(String name) { + variables.get(name) + } + + /** + * Registers the fully qualified name of a Java class whose {@code static} methods provide extension operations + * (declared in the export model through {@code extension a::b::C}). + * + * @param className + * the fully qualified Java class name, must not be {@code null} + */ + def void addExtensionClassName(String className) { + extensionClassNames.add(className) + } + + /** + * Returns the fully qualified names of the Java classes whose {@code static} methods provide extension operations. + * + * @return the extension class names, never {@code null} + */ + def List getExtensionClassNames() { + extensionClassNames + } + + /** + * Sets the resolver that maps a source DSL {@link Identifier type} to its corresponding JVM type. This decouples + * the translator from the way types are resolved (a plain classpath lookup for Java types, or a gen-model based + * lookup for EMF model types). + * + * @param resolver + * the type resolver, may be {@code null} + */ + def void setTypeResolver(Function1 resolver) { + this.typeResolver = resolver + } + + /** + * Resolves the JVM type a source DSL type identifier refers to. + * + * @param type + * the source type identifier, may be {@code null} + * @return the resolved JVM type, or {@code null} if it cannot be resolved or no resolver is set + */ + def JvmType resolveDslType(Identifier type) { + if (typeResolver === null || type === null) null else typeResolver.apply(type) + } + + /** + * Returns the implicit variable that an unqualified ({@code this}) feature call refers to. + * + * @return the implicit variable, or {@code null} if none is set + */ + def JvmFormalParameter getImplicitVariable() { + implicitVariable + } + + /** + * Sets the implicit variable that an unqualified ({@code this}) feature call refers to. + * + * @param parameter + * the implicit variable, may be {@code null} + */ + def void setImplicitVariable(JvmFormalParameter parameter) { + this.implicitVariable = parameter + } + + /** + * Returns the name of the Java variable that an unqualified ({@code this}) reference compiles to when the + * expression is rendered as Java source text by the {@link ExportExpressionCompiler}. + * + * @return the implicit variable name, or {@code null} if none is set + */ + def String getImplicitVariableName() { + implicitVariableName + } + + /** + * Sets the name of the Java variable that an unqualified ({@code this}) reference compiles to when the expression + * is rendered as Java source text by the {@link ExportExpressionCompiler}. + * + * @param name + * the implicit variable name, may be {@code null} + */ + def void setImplicitVariableName(String name) { + this.implicitVariableName = name + } + + /** + * Returns the resolver used to map model type names in export expressions to their EMF classifiers. + * + * @return the model type resolver, or {@code null} if none is set + */ + def ExportModelTypeResolver getModelTypeResolver() { + modelTypeResolver + } + + /** + * Sets the resolver used to map model type names in export expressions to their EMF classifiers. + * + * @param resolver + * the model type resolver, may be {@code null} + */ + def void setModelTypeResolver(ExportModelTypeResolver resolver) { + this.modelTypeResolver = resolver + } + + /** + * Returns the source element the translated expression originates from. + * + * @return the source element, or {@code null} if none is set + */ + def EObject getSourceElement() { + sourceElement + } + + /** + * Sets the source element the translated expression originates from. + * + * @param element + * the source element, may be {@code null} + */ + def void setSourceElement(EObject element) { + this.sourceElement = element + } + +} diff --git a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/scoping/ExportScopeProvider.java b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/scoping/ExportScopeProvider.java index a265a91dc1..6b5b44a5b1 100644 --- a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/scoping/ExportScopeProvider.java +++ b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/scoping/ExportScopeProvider.java @@ -15,14 +15,15 @@ import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.xtext.EcoreUtil2; import org.eclipse.xtext.naming.QualifiedName; import org.eclipse.xtext.resource.IEObjectDescription; import org.eclipse.xtext.scoping.IScope; -import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; import org.eclipse.xtext.scoping.impl.SimpleScope; import com.avaloq.tools.ddk.xtext.export.export.DeclarationForType; import com.avaloq.tools.ddk.xtext.export.export.ExportModel; +import com.avaloq.tools.ddk.xtext.export.export.ExportPackage; import com.avaloq.tools.ddk.xtext.export.export.Import; import com.avaloq.tools.ddk.xtext.export.export.Interface; import com.avaloq.tools.ddk.xtext.scoping.EObjectDescriptions; @@ -35,7 +36,7 @@ /** * This class implements scoping for the export language. */ -public class ExportScopeProvider extends AbstractDeclarativeScopeProvider { +public class ExportScopeProvider extends AbstractExportScopeProvider { @Inject private EPackageScopeProvider ePackageScopeProvider; @@ -43,6 +44,41 @@ public class ExportScopeProvider extends AbstractDeclarativeScopeProvider { // Note: as with all scope providers, CHECKSTYLE doesn't like the naming scheme prescribed by xtext. // We therefore switch off the checkstyle method naming checks locally. + /** + * {@inheritDoc} + *

+ * Dispatches the export-language specific cross-references to the corresponding declarative + * {@code scope_*} methods. All other references (in particular Xbase feature and type references) + * are delegated to the {@link org.eclipse.xtext.xbase.scoping.batch.XbaseBatchScopeProvider Xbase batch scope provider}. + */ + @Override + public IScope getScope(final EObject context, final EReference reference) { + if (reference == ExportPackage.Literals.IMPORT__PACKAGE) { + return scope_Import_package(context, reference); + } else if (reference == ExportPackage.Literals.INTERFACE_NAVIGATION__REF) { + final Interface interfaceContext = EcoreUtil2.getContainerOfType(context, Interface.class); + if (interfaceContext != null) { + return scope_InterfaceNavigation_ref(interfaceContext, reference); + } + } else if (EcorePackage.Literals.ECLASS.isSuperTypeOf(reference.getEReferenceType())) { + final ExportModel exportModel = EcoreUtil2.getContainerOfType(context, ExportModel.class); + if (exportModel != null) { + return scope_EClass(exportModel, reference); + } + } else if (EcorePackage.Literals.EATTRIBUTE.isSuperTypeOf(reference.getEReferenceType())) { + final DeclarationForType declarationForType = EcoreUtil2.getContainerOfType(context, DeclarationForType.class); + if (declarationForType != null) { + return scope_EAttribute(declarationForType, reference); + } + } else if (EcorePackage.Literals.ESTRUCTURAL_FEATURE.isSuperTypeOf(reference.getEReferenceType())) { + final DeclarationForType declarationForType = EcoreUtil2.getContainerOfType(context, DeclarationForType.class); + if (declarationForType != null) { + return scope_EStructuralFeature(declarationForType, reference); + } + } + return super.getScope(context, reference); + } + /** * Scope for {@link org.eclipse.emf.ecore.EPackage}. These are read from the * registry as well as from the {@link org.eclipse.xtext.Grammar Xtext diff --git a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/validation/ExportValidator.java b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/validation/ExportValidator.java index 288fe62d7b..775388eb42 100644 --- a/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/validation/ExportValidator.java +++ b/com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/validation/ExportValidator.java @@ -13,16 +13,10 @@ import java.util.Collection; import java.util.List; -import org.eclipse.core.runtime.Platform; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.EStructuralFeature; -import org.eclipse.internal.xtend.xtend.XtendFile; -import org.eclipse.osgi.util.NLS; -import org.eclipse.xtend.expression.Resource; -import org.eclipse.xtend.expression.ResourceManager; -import org.eclipse.xtend.expression.ResourceManagerDefaultImpl; import org.eclipse.xtext.EcoreUtil2; import org.eclipse.xtext.naming.QualifiedName; import org.eclipse.xtext.validation.Check; @@ -32,7 +26,6 @@ import com.avaloq.tools.ddk.xtext.export.export.Export; import com.avaloq.tools.ddk.xtext.export.export.ExportModel; import com.avaloq.tools.ddk.xtext.export.export.ExportPackage; -import com.avaloq.tools.ddk.xtext.export.export.Extension; import com.avaloq.tools.ddk.xtext.export.export.Interface; import com.avaloq.tools.ddk.xtext.export.export.InterfaceField; import com.avaloq.tools.ddk.xtext.export.export.InterfaceNavigation; @@ -50,30 +43,6 @@ @SuppressWarnings("nls") public class ExportValidator extends AbstractExportValidator { - /** - * Verifies that all referenced extensions can be found. - * - * @param model - * export model to check - */ - @Check - public void checkExtensions(final ExportModel model) { - ResourceManager resourceManager = null; - if (!Platform.isRunning()) { - resourceManager = new ResourceManagerDefaultImpl(); - } - - if (resourceManager == null) { - return; - } - for (Extension ext : model.getExtensions()) { - final Resource res = resourceManager.loadResource(ext.getExtension(), XtendFile.FILE_EXTENSION); - if (res == null) { - error(NLS.bind("Extension ''{0}'' not found", ext.getExtension()), ext, ExportPackage.Literals.EXTENSION__EXTENSION, null); - } - } - } - /** * Checks that the interfaces and exports in an export section all are declared for a unique type. * diff --git a/com.avaloq.tools.ddk.xtext.expression.ide/META-INF/MANIFEST.MF b/com.avaloq.tools.ddk.xtext.expression.ide/META-INF/MANIFEST.MF index 2be188ac15..93546c9010 100644 --- a/com.avaloq.tools.ddk.xtext.expression.ide/META-INF/MANIFEST.MF +++ b/com.avaloq.tools.ddk.xtext.expression.ide/META-INF/MANIFEST.MF @@ -10,5 +10,6 @@ Export-Package: com.avaloq.tools.ddk.xtext.expression.ide.contentassist.antlr, com.avaloq.tools.ddk.xtext.expression.ide.contentassist.antlr.internal Require-Bundle: org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", org.eclipse.xtext.ide, - com.avaloq.tools.ddk.xtext.expression + com.avaloq.tools.ddk.xtext.expression, + org.eclipse.xtext.xbase.ide Automatic-Module-Name: com.avaloq.tools.ddk.xtext.expression.ide diff --git a/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/AbstractExpressionIdeModule.java b/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/AbstractExpressionIdeModule.java index 814f716f70..896fd5c42a 100644 --- a/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/AbstractExpressionIdeModule.java +++ b/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/AbstractExpressionIdeModule.java @@ -7,18 +7,18 @@ import com.avaloq.tools.ddk.xtext.expression.ide.contentassist.antlr.internal.InternalExpressionLexer; import com.google.inject.Binder; import com.google.inject.name.Names; -import org.eclipse.xtext.ide.DefaultIdeModule; import org.eclipse.xtext.ide.LexerIdeBindings; import org.eclipse.xtext.ide.editor.contentassist.IProposalConflictHelper; import org.eclipse.xtext.ide.editor.contentassist.antlr.AntlrProposalConflictHelper; import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser; import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer; +import org.eclipse.xtext.xbase.ide.DefaultXbaseIdeModule; /** * Manual modifications go to {@link ExpressionIdeModule}. */ @SuppressWarnings("all") -public abstract class AbstractExpressionIdeModule extends DefaultIdeModule { +public abstract class AbstractExpressionIdeModule extends DefaultXbaseIdeModule { // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 public void configureContentAssistLexer(Binder binder) { diff --git a/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/ExpressionParser.java b/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/ExpressionParser.java index b2aef0c546..6031a4cb04 100644 --- a/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/ExpressionParser.java +++ b/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/ExpressionParser.java @@ -48,6 +48,45 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0(), "rule__CollectionExpression__NameAlternatives_0_0"); builder.put(grammarAccess.getTypeAccess().getAlternatives(), "rule__Type__Alternatives"); builder.put(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0(), "rule__CollectionType__ClAlternatives_0_0"); + builder.put(grammarAccess.getXAssignmentAccess().getAlternatives(), "rule__XAssignment__Alternatives"); + builder.put(grammarAccess.getOpMultiAssignAccess().getAlternatives(), "rule__OpMultiAssign__Alternatives"); + builder.put(grammarAccess.getOpEqualityAccess().getAlternatives(), "rule__OpEquality__Alternatives"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1(), "rule__XRelationalExpression__Alternatives_1"); + builder.put(grammarAccess.getOpCompareAccess().getAlternatives(), "rule__OpCompare__Alternatives"); + builder.put(grammarAccess.getOpOtherAccess().getAlternatives(), "rule__OpOther__Alternatives"); + builder.put(grammarAccess.getOpOtherAccess().getAlternatives_5_1(), "rule__OpOther__Alternatives_5_1"); + builder.put(grammarAccess.getOpOtherAccess().getAlternatives_6_1(), "rule__OpOther__Alternatives_6_1"); + builder.put(grammarAccess.getOpAddAccess().getAlternatives(), "rule__OpAdd__Alternatives"); + builder.put(grammarAccess.getOpMultiAccess().getAlternatives(), "rule__OpMulti__Alternatives"); + builder.put(grammarAccess.getXUnaryOperationAccess().getAlternatives(), "rule__XUnaryOperation__Alternatives"); + builder.put(grammarAccess.getOpUnaryAccess().getAlternatives(), "rule__OpUnary__Alternatives"); + builder.put(grammarAccess.getOpPostfixAccess().getAlternatives(), "rule__OpPostfix__Alternatives"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1(), "rule__XMemberFeatureCall__Alternatives_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1(), "rule__XMemberFeatureCall__Alternatives_1_0_0_0_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1(), "rule__XMemberFeatureCall__Alternatives_1_1_0_0_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1(), "rule__XMemberFeatureCall__Alternatives_1_1_3_1"); + builder.put(grammarAccess.getXPrimaryExpressionAccess().getAlternatives(), "rule__XPrimaryExpression__Alternatives"); + builder.put(grammarAccess.getXLiteralAccess().getAlternatives(), "rule__XLiteral__Alternatives"); + builder.put(grammarAccess.getXCollectionLiteralAccess().getAlternatives(), "rule__XCollectionLiteral__Alternatives"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2(), "rule__XSwitchExpression__Alternatives_2"); + builder.put(grammarAccess.getXCasePartAccess().getAlternatives_3(), "rule__XCasePart__Alternatives_3"); + builder.put(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives(), "rule__XExpressionOrVarDeclaration__Alternatives"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1(), "rule__XVariableDeclaration__Alternatives_1"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2(), "rule__XVariableDeclaration__Alternatives_2"); + builder.put(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1(), "rule__XFeatureCall__Alternatives_3_1"); + builder.put(grammarAccess.getFeatureCallIDAccess().getAlternatives(), "rule__FeatureCallID__Alternatives"); + builder.put(grammarAccess.getIdOrSuperAccess().getAlternatives(), "rule__IdOrSuper__Alternatives"); + builder.put(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1(), "rule__XConstructorCall__Alternatives_4_1"); + builder.put(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1(), "rule__XBooleanLiteral__Alternatives_1"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3(), "rule__XTryCatchFinallyExpression__Alternatives_3"); + builder.put(grammarAccess.getNumberAccess().getAlternatives(), "rule__Number__Alternatives"); + builder.put(grammarAccess.getNumberAccess().getAlternatives_1_0(), "rule__Number__Alternatives_1_0"); + builder.put(grammarAccess.getNumberAccess().getAlternatives_1_1_1(), "rule__Number__Alternatives_1_1_1"); + builder.put(grammarAccess.getJvmTypeReferenceAccess().getAlternatives(), "rule__JvmTypeReference__Alternatives"); + builder.put(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives(), "rule__JvmArgumentTypeReference__Alternatives"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2(), "rule__JvmWildcardTypeReference__Alternatives_2"); + builder.put(grammarAccess.getXImportDeclarationAccess().getAlternatives_1(), "rule__XImportDeclaration__Alternatives_1"); + builder.put(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3(), "rule__XImportDeclaration__Alternatives_1_0_3"); builder.put(grammarAccess.getLetExpressionAccess().getGroup(), "rule__LetExpression__Group__0"); builder.put(grammarAccess.getCastedExpressionAccess().getGroup(), "rule__CastedExpression__Group__0"); builder.put(grammarAccess.getChainExpressionAccess().getGroup(), "rule__ChainExpression__Group__0"); @@ -96,6 +135,185 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getCollectionTypeAccess().getGroup(), "rule__CollectionType__Group__0"); builder.put(grammarAccess.getSimpleTypeAccess().getGroup(), "rule__SimpleType__Group__0"); builder.put(grammarAccess.getSimpleTypeAccess().getGroup_1(), "rule__SimpleType__Group_1__0"); + builder.put(grammarAccess.getXAssignmentAccess().getGroup_0(), "rule__XAssignment__Group_0__0"); + builder.put(grammarAccess.getXAssignmentAccess().getGroup_1(), "rule__XAssignment__Group_1__0"); + builder.put(grammarAccess.getXAssignmentAccess().getGroup_1_1(), "rule__XAssignment__Group_1_1__0"); + builder.put(grammarAccess.getXAssignmentAccess().getGroup_1_1_0(), "rule__XAssignment__Group_1_1_0__0"); + builder.put(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0(), "rule__XAssignment__Group_1_1_0_0__0"); + builder.put(grammarAccess.getOpMultiAssignAccess().getGroup_5(), "rule__OpMultiAssign__Group_5__0"); + builder.put(grammarAccess.getOpMultiAssignAccess().getGroup_6(), "rule__OpMultiAssign__Group_6__0"); + builder.put(grammarAccess.getXOrExpressionAccess().getGroup(), "rule__XOrExpression__Group__0"); + builder.put(grammarAccess.getXOrExpressionAccess().getGroup_1(), "rule__XOrExpression__Group_1__0"); + builder.put(grammarAccess.getXOrExpressionAccess().getGroup_1_0(), "rule__XOrExpression__Group_1_0__0"); + builder.put(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0(), "rule__XOrExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXAndExpressionAccess().getGroup(), "rule__XAndExpression__Group__0"); + builder.put(grammarAccess.getXAndExpressionAccess().getGroup_1(), "rule__XAndExpression__Group_1__0"); + builder.put(grammarAccess.getXAndExpressionAccess().getGroup_1_0(), "rule__XAndExpression__Group_1_0__0"); + builder.put(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0(), "rule__XAndExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getGroup(), "rule__XEqualityExpression__Group__0"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getGroup_1(), "rule__XEqualityExpression__Group_1__0"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0(), "rule__XEqualityExpression__Group_1_0__0"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0(), "rule__XEqualityExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup(), "rule__XRelationalExpression__Group__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0(), "rule__XRelationalExpression__Group_1_0__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0(), "rule__XRelationalExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0(), "rule__XRelationalExpression__Group_1_0_0_0__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1(), "rule__XRelationalExpression__Group_1_1__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0(), "rule__XRelationalExpression__Group_1_1_0__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0(), "rule__XRelationalExpression__Group_1_1_0_0__0"); + builder.put(grammarAccess.getOpCompareAccess().getGroup_1(), "rule__OpCompare__Group_1__0"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup(), "rule__XOtherOperatorExpression__Group__0"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1(), "rule__XOtherOperatorExpression__Group_1__0"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0(), "rule__XOtherOperatorExpression__Group_1_0__0"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0(), "rule__XOtherOperatorExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_2(), "rule__OpOther__Group_2__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_5(), "rule__OpOther__Group_5__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_5_1_0(), "rule__OpOther__Group_5_1_0__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0(), "rule__OpOther__Group_5_1_0_0__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_6(), "rule__OpOther__Group_6__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_6_1_0(), "rule__OpOther__Group_6_1_0__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0(), "rule__OpOther__Group_6_1_0_0__0"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getGroup(), "rule__XAdditiveExpression__Group__0"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1(), "rule__XAdditiveExpression__Group_1__0"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0(), "rule__XAdditiveExpression__Group_1_0__0"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0(), "rule__XAdditiveExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup(), "rule__XMultiplicativeExpression__Group__0"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1(), "rule__XMultiplicativeExpression__Group_1__0"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0(), "rule__XMultiplicativeExpression__Group_1_0__0"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0(), "rule__XMultiplicativeExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXUnaryOperationAccess().getGroup_0(), "rule__XUnaryOperation__Group_0__0"); + builder.put(grammarAccess.getXCastedExpressionAccess().getGroup(), "rule__XCastedExpression__Group__0"); + builder.put(grammarAccess.getXCastedExpressionAccess().getGroup_1(), "rule__XCastedExpression__Group_1__0"); + builder.put(grammarAccess.getXCastedExpressionAccess().getGroup_1_0(), "rule__XCastedExpression__Group_1_0__0"); + builder.put(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0(), "rule__XCastedExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXPostfixOperationAccess().getGroup(), "rule__XPostfixOperation__Group__0"); + builder.put(grammarAccess.getXPostfixOperationAccess().getGroup_1(), "rule__XPostfixOperation__Group_1__0"); + builder.put(grammarAccess.getXPostfixOperationAccess().getGroup_1_0(), "rule__XPostfixOperation__Group_1_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup(), "rule__XMemberFeatureCall__Group__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0(), "rule__XMemberFeatureCall__Group_1_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0(), "rule__XMemberFeatureCall__Group_1_0_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0(), "rule__XMemberFeatureCall__Group_1_0_0_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1(), "rule__XMemberFeatureCall__Group_1_1__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0(), "rule__XMemberFeatureCall__Group_1_1_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0(), "rule__XMemberFeatureCall__Group_1_1_0_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1(), "rule__XMemberFeatureCall__Group_1_1_1__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2(), "rule__XMemberFeatureCall__Group_1_1_1_2__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3(), "rule__XMemberFeatureCall__Group_1_1_3__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1(), "rule__XMemberFeatureCall__Group_1_1_3_1_1__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1(), "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0"); + builder.put(grammarAccess.getXSetLiteralAccess().getGroup(), "rule__XSetLiteral__Group__0"); + builder.put(grammarAccess.getXSetLiteralAccess().getGroup_3(), "rule__XSetLiteral__Group_3__0"); + builder.put(grammarAccess.getXSetLiteralAccess().getGroup_3_1(), "rule__XSetLiteral__Group_3_1__0"); + builder.put(grammarAccess.getXListLiteralAccess().getGroup(), "rule__XListLiteral__Group__0"); + builder.put(grammarAccess.getXListLiteralAccess().getGroup_3(), "rule__XListLiteral__Group_3__0"); + builder.put(grammarAccess.getXListLiteralAccess().getGroup_3_1(), "rule__XListLiteral__Group_3_1__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup(), "rule__XClosure__Group__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_0(), "rule__XClosure__Group_0__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_0_0(), "rule__XClosure__Group_0_0__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_1(), "rule__XClosure__Group_1__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_1_0(), "rule__XClosure__Group_1_0__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_1_0_0(), "rule__XClosure__Group_1_0_0__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_1_0_0_1(), "rule__XClosure__Group_1_0_0_1__0"); + builder.put(grammarAccess.getXExpressionInClosureAccess().getGroup(), "rule__XExpressionInClosure__Group__0"); + builder.put(grammarAccess.getXExpressionInClosureAccess().getGroup_1(), "rule__XExpressionInClosure__Group_1__0"); + builder.put(grammarAccess.getXShortClosureAccess().getGroup(), "rule__XShortClosure__Group__0"); + builder.put(grammarAccess.getXShortClosureAccess().getGroup_0(), "rule__XShortClosure__Group_0__0"); + builder.put(grammarAccess.getXShortClosureAccess().getGroup_0_0(), "rule__XShortClosure__Group_0_0__0"); + builder.put(grammarAccess.getXShortClosureAccess().getGroup_0_0_1(), "rule__XShortClosure__Group_0_0_1__0"); + builder.put(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1(), "rule__XShortClosure__Group_0_0_1_1__0"); + builder.put(grammarAccess.getXParenthesizedExpressionAccess().getGroup(), "rule__XParenthesizedExpression__Group__0"); + builder.put(grammarAccess.getXIfExpressionAccess().getGroup(), "rule__XIfExpression__Group__0"); + builder.put(grammarAccess.getXIfExpressionAccess().getGroup_6(), "rule__XIfExpression__Group_6__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup(), "rule__XSwitchExpression__Group__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0(), "rule__XSwitchExpression__Group_2_0__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0(), "rule__XSwitchExpression__Group_2_0_0__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0(), "rule__XSwitchExpression__Group_2_0_0_0__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1(), "rule__XSwitchExpression__Group_2_1__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0(), "rule__XSwitchExpression__Group_2_1_0__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0(), "rule__XSwitchExpression__Group_2_1_0_0__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_5(), "rule__XSwitchExpression__Group_5__0"); + builder.put(grammarAccess.getXCasePartAccess().getGroup(), "rule__XCasePart__Group__0"); + builder.put(grammarAccess.getXCasePartAccess().getGroup_2(), "rule__XCasePart__Group_2__0"); + builder.put(grammarAccess.getXCasePartAccess().getGroup_3_0(), "rule__XCasePart__Group_3_0__0"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getGroup(), "rule__XForLoopExpression__Group__0"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getGroup_0(), "rule__XForLoopExpression__Group_0__0"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0(), "rule__XForLoopExpression__Group_0_0__0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup(), "rule__XBasicForLoopExpression__Group__0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3(), "rule__XBasicForLoopExpression__Group_3__0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1(), "rule__XBasicForLoopExpression__Group_3_1__0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7(), "rule__XBasicForLoopExpression__Group_7__0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1(), "rule__XBasicForLoopExpression__Group_7_1__0"); + builder.put(grammarAccess.getXWhileExpressionAccess().getGroup(), "rule__XWhileExpression__Group__0"); + builder.put(grammarAccess.getXDoWhileExpressionAccess().getGroup(), "rule__XDoWhileExpression__Group__0"); + builder.put(grammarAccess.getXBlockExpressionAccess().getGroup(), "rule__XBlockExpression__Group__0"); + builder.put(grammarAccess.getXBlockExpressionAccess().getGroup_2(), "rule__XBlockExpression__Group_2__0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getGroup(), "rule__XVariableDeclaration__Group__0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0(), "rule__XVariableDeclaration__Group_2_0__0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0(), "rule__XVariableDeclaration__Group_2_0_0__0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getGroup_3(), "rule__XVariableDeclaration__Group_3__0"); + builder.put(grammarAccess.getJvmFormalParameterAccess().getGroup(), "rule__JvmFormalParameter__Group__0"); + builder.put(grammarAccess.getFullJvmFormalParameterAccess().getGroup(), "rule__FullJvmFormalParameter__Group__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup(), "rule__XFeatureCall__Group__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup_1(), "rule__XFeatureCall__Group_1__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup_1_2(), "rule__XFeatureCall__Group_1_2__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup_3(), "rule__XFeatureCall__Group_3__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1(), "rule__XFeatureCall__Group_3_1_1__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1(), "rule__XFeatureCall__Group_3_1_1_1__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup(), "rule__XConstructorCall__Group__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup_3(), "rule__XConstructorCall__Group_3__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup_3_2(), "rule__XConstructorCall__Group_3_2__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup_4(), "rule__XConstructorCall__Group_4__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1(), "rule__XConstructorCall__Group_4_1_1__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1(), "rule__XConstructorCall__Group_4_1_1_1__0"); + builder.put(grammarAccess.getXBooleanLiteralAccess().getGroup(), "rule__XBooleanLiteral__Group__0"); + builder.put(grammarAccess.getXNullLiteralAccess().getGroup(), "rule__XNullLiteral__Group__0"); + builder.put(grammarAccess.getXNumberLiteralAccess().getGroup(), "rule__XNumberLiteral__Group__0"); + builder.put(grammarAccess.getXStringLiteralAccess().getGroup(), "rule__XStringLiteral__Group__0"); + builder.put(grammarAccess.getXTypeLiteralAccess().getGroup(), "rule__XTypeLiteral__Group__0"); + builder.put(grammarAccess.getXThrowExpressionAccess().getGroup(), "rule__XThrowExpression__Group__0"); + builder.put(grammarAccess.getXReturnExpressionAccess().getGroup(), "rule__XReturnExpression__Group__0"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup(), "rule__XTryCatchFinallyExpression__Group__0"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0(), "rule__XTryCatchFinallyExpression__Group_3_0__0"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1(), "rule__XTryCatchFinallyExpression__Group_3_0_1__0"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1(), "rule__XTryCatchFinallyExpression__Group_3_1__0"); + builder.put(grammarAccess.getXSynchronizedExpressionAccess().getGroup(), "rule__XSynchronizedExpression__Group__0"); + builder.put(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0(), "rule__XSynchronizedExpression__Group_0__0"); + builder.put(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0(), "rule__XSynchronizedExpression__Group_0_0__0"); + builder.put(grammarAccess.getXCatchClauseAccess().getGroup(), "rule__XCatchClause__Group__0"); + builder.put(grammarAccess.getQualifiedNameAccess().getGroup(), "rule__QualifiedName__Group__0"); + builder.put(grammarAccess.getQualifiedNameAccess().getGroup_1(), "rule__QualifiedName__Group_1__0"); + builder.put(grammarAccess.getNumberAccess().getGroup_1(), "rule__Number__Group_1__0"); + builder.put(grammarAccess.getNumberAccess().getGroup_1_1(), "rule__Number__Group_1_1__0"); + builder.put(grammarAccess.getStaticQualifierAccess().getGroup(), "rule__StaticQualifier__Group__0"); + builder.put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0(), "rule__JvmTypeReference__Group_0__0"); + builder.put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1(), "rule__JvmTypeReference__Group_0_1__0"); + builder.put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0(), "rule__JvmTypeReference__Group_0_1_0__0"); + builder.put(grammarAccess.getArrayBracketsAccess().getGroup(), "rule__ArrayBrackets__Group__0"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getGroup(), "rule__XFunctionTypeRef__Group__0"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0(), "rule__XFunctionTypeRef__Group_0__0"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1(), "rule__XFunctionTypeRef__Group_0_1__0"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1(), "rule__XFunctionTypeRef__Group_0_1_1__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup(), "rule__JvmParameterizedTypeReference__Group__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1(), "rule__JvmParameterizedTypeReference__Group_1__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2(), "rule__JvmParameterizedTypeReference__Group_1_2__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4(), "rule__JvmParameterizedTypeReference__Group_1_4__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0(), "rule__JvmParameterizedTypeReference__Group_1_4_0__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0(), "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2(), "rule__JvmParameterizedTypeReference__Group_1_4_2__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2(), "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup(), "rule__JvmWildcardTypeReference__Group__0"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0(), "rule__JvmWildcardTypeReference__Group_2_0__0"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1(), "rule__JvmWildcardTypeReference__Group_2_1__0"); + builder.put(grammarAccess.getJvmUpperBoundAccess().getGroup(), "rule__JvmUpperBound__Group__0"); + builder.put(grammarAccess.getJvmUpperBoundAndedAccess().getGroup(), "rule__JvmUpperBoundAnded__Group__0"); + builder.put(grammarAccess.getJvmLowerBoundAccess().getGroup(), "rule__JvmLowerBound__Group__0"); + builder.put(grammarAccess.getJvmLowerBoundAndedAccess().getGroup(), "rule__JvmLowerBoundAnded__Group__0"); + builder.put(grammarAccess.getJvmTypeParameterAccess().getGroup(), "rule__JvmTypeParameter__Group__0"); + builder.put(grammarAccess.getJvmTypeParameterAccess().getGroup_1(), "rule__JvmTypeParameter__Group_1__0"); + builder.put(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup(), "rule__QualifiedNameWithWildcard__Group__0"); + builder.put(grammarAccess.getXImportDeclarationAccess().getGroup(), "rule__XImportDeclaration__Group__0"); + builder.put(grammarAccess.getXImportDeclarationAccess().getGroup_1_0(), "rule__XImportDeclaration__Group_1_0__0"); + builder.put(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup(), "rule__QualifiedNameInStaticImport__Group__0"); builder.put(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1(), "rule__LetExpression__IdentifierAssignment_1"); builder.put(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3(), "rule__LetExpression__VarExprAssignment_3"); builder.put(grammarAccess.getLetExpressionAccess().getTargetAssignment_5(), "rule__LetExpression__TargetAssignment_5"); @@ -157,6 +375,150 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getCollectionTypeAccess().getId1Assignment_2(), "rule__CollectionType__Id1Assignment_2"); builder.put(grammarAccess.getSimpleTypeAccess().getIdAssignment_0(), "rule__SimpleType__IdAssignment_0"); builder.put(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1(), "rule__SimpleType__IdAssignment_1_1"); + builder.put(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1(), "rule__XAssignment__FeatureAssignment_0_1"); + builder.put(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3(), "rule__XAssignment__ValueAssignment_0_3"); + builder.put(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1(), "rule__XAssignment__FeatureAssignment_1_1_0_0_1"); + builder.put(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1(), "rule__XAssignment__RightOperandAssignment_1_1_1"); + builder.put(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XOrExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1(), "rule__XOrExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XAndExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1(), "rule__XAndExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XEqualityExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1(), "rule__XEqualityExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1(), "rule__XRelationalExpression__TypeAssignment_1_0_1"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1(), "rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1(), "rule__XRelationalExpression__RightOperandAssignment_1_1_1"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1(), "rule__XOtherOperatorExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XAdditiveExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1(), "rule__XAdditiveExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1(), "rule__XMultiplicativeExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1(), "rule__XUnaryOperation__FeatureAssignment_0_1"); + builder.put(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2(), "rule__XUnaryOperation__OperandAssignment_0_2"); + builder.put(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1(), "rule__XCastedExpression__TypeAssignment_1_1"); + builder.put(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1(), "rule__XPostfixOperation__FeatureAssignment_1_0_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1(), "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2(), "rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1(), "rule__XMemberFeatureCall__ValueAssignment_1_0_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1(), "rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2(), "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1(), "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1(), "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2(), "rule__XMemberFeatureCall__FeatureAssignment_1_1_2"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0(), "rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4"); + builder.put(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0(), "rule__XSetLiteral__ElementsAssignment_3_0"); + builder.put(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1(), "rule__XSetLiteral__ElementsAssignment_3_1_1"); + builder.put(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0(), "rule__XListLiteral__ElementsAssignment_3_0"); + builder.put(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1(), "rule__XListLiteral__ElementsAssignment_3_1_1"); + builder.put(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0(), "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0"); + builder.put(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1(), "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1"); + builder.put(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1(), "rule__XClosure__ExplicitSyntaxAssignment_1_0_1"); + builder.put(grammarAccess.getXClosureAccess().getExpressionAssignment_2(), "rule__XClosure__ExpressionAssignment_2"); + builder.put(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0(), "rule__XExpressionInClosure__ExpressionsAssignment_1_0"); + builder.put(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0(), "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0"); + builder.put(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1(), "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1"); + builder.put(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2(), "rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2"); + builder.put(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1(), "rule__XShortClosure__ExpressionAssignment_1"); + builder.put(grammarAccess.getXIfExpressionAccess().getIfAssignment_3(), "rule__XIfExpression__IfAssignment_3"); + builder.put(grammarAccess.getXIfExpressionAccess().getThenAssignment_5(), "rule__XIfExpression__ThenAssignment_5"); + builder.put(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1(), "rule__XIfExpression__ElseAssignment_6_1"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1(), "rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1(), "rule__XSwitchExpression__SwitchAssignment_2_0_1"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0(), "rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1(), "rule__XSwitchExpression__SwitchAssignment_2_1_1"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4(), "rule__XSwitchExpression__CasesAssignment_4"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2(), "rule__XSwitchExpression__DefaultAssignment_5_2"); + builder.put(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1(), "rule__XCasePart__TypeGuardAssignment_1"); + builder.put(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1(), "rule__XCasePart__CaseAssignment_2_1"); + builder.put(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1(), "rule__XCasePart__ThenAssignment_3_0_1"); + builder.put(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1(), "rule__XCasePart__FallThroughAssignment_3_1"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3(), "rule__XForLoopExpression__DeclaredParamAssignment_0_0_3"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1(), "rule__XForLoopExpression__ForExpressionAssignment_1"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3(), "rule__XForLoopExpression__EachExpressionAssignment_3"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0(), "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1(), "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5(), "rule__XBasicForLoopExpression__ExpressionAssignment_5"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0(), "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1(), "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9(), "rule__XBasicForLoopExpression__EachExpressionAssignment_9"); + builder.put(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3(), "rule__XWhileExpression__PredicateAssignment_3"); + builder.put(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5(), "rule__XWhileExpression__BodyAssignment_5"); + builder.put(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2(), "rule__XDoWhileExpression__BodyAssignment_2"); + builder.put(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5(), "rule__XDoWhileExpression__PredicateAssignment_5"); + builder.put(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0(), "rule__XBlockExpression__ExpressionsAssignment_2_0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0(), "rule__XVariableDeclaration__WriteableAssignment_1_0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0(), "rule__XVariableDeclaration__TypeAssignment_2_0_0_0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1(), "rule__XVariableDeclaration__NameAssignment_2_0_0_1"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1(), "rule__XVariableDeclaration__NameAssignment_2_1"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1(), "rule__XVariableDeclaration__RightAssignment_3_1"); + builder.put(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0(), "rule__JvmFormalParameter__ParameterTypeAssignment_0"); + builder.put(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1(), "rule__JvmFormalParameter__NameAssignment_1"); + builder.put(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0(), "rule__FullJvmFormalParameter__ParameterTypeAssignment_0"); + builder.put(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1(), "rule__FullJvmFormalParameter__NameAssignment_1"); + builder.put(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1(), "rule__XFeatureCall__TypeArgumentsAssignment_1_1"); + builder.put(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1(), "rule__XFeatureCall__TypeArgumentsAssignment_1_2_1"); + builder.put(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2(), "rule__XFeatureCall__FeatureAssignment_2"); + builder.put(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0(), "rule__XFeatureCall__ExplicitOperationCallAssignment_3_0"); + builder.put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0"); + builder.put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0"); + builder.put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1"); + builder.put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_4"); + builder.put(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2(), "rule__XConstructorCall__ConstructorAssignment_2"); + builder.put(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1(), "rule__XConstructorCall__TypeArgumentsAssignment_3_1"); + builder.put(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1(), "rule__XConstructorCall__TypeArgumentsAssignment_3_2_1"); + builder.put(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0(), "rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0"); + builder.put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0(), "rule__XConstructorCall__ArgumentsAssignment_4_1_0"); + builder.put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0(), "rule__XConstructorCall__ArgumentsAssignment_4_1_1_0"); + builder.put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1(), "rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1"); + builder.put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5(), "rule__XConstructorCall__ArgumentsAssignment_5"); + builder.put(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1(), "rule__XBooleanLiteral__IsTrueAssignment_1_1"); + builder.put(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1(), "rule__XNumberLiteral__ValueAssignment_1"); + builder.put(grammarAccess.getXStringLiteralAccess().getValueAssignment_1(), "rule__XStringLiteral__ValueAssignment_1"); + builder.put(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3(), "rule__XTypeLiteral__TypeAssignment_3"); + builder.put(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4(), "rule__XTypeLiteral__ArrayDimensionsAssignment_4"); + builder.put(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2(), "rule__XThrowExpression__ExpressionAssignment_2"); + builder.put(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2(), "rule__XReturnExpression__ExpressionAssignment_2"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2(), "rule__XTryCatchFinallyExpression__ExpressionAssignment_2"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0(), "rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1(), "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1(), "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1"); + builder.put(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1(), "rule__XSynchronizedExpression__ParamAssignment_1"); + builder.put(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3(), "rule__XSynchronizedExpression__ExpressionAssignment_3"); + builder.put(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2(), "rule__XCatchClause__DeclaredParamAssignment_2"); + builder.put(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4(), "rule__XCatchClause__ExpressionAssignment_4"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0(), "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1(), "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2(), "rule__XFunctionTypeRef__ReturnTypeAssignment_2"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0(), "rule__JvmParameterizedTypeReference__TypeAssignment_0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1(), "rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1"); + builder.put(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1(), "rule__JvmUpperBound__TypeReferenceAssignment_1"); + builder.put(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1(), "rule__JvmUpperBoundAnded__TypeReferenceAssignment_1"); + builder.put(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1(), "rule__JvmLowerBound__TypeReferenceAssignment_1"); + builder.put(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1(), "rule__JvmLowerBoundAnded__TypeReferenceAssignment_1"); + builder.put(grammarAccess.getJvmTypeParameterAccess().getNameAssignment_0(), "rule__JvmTypeParameter__NameAssignment_0"); + builder.put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_0(), "rule__JvmTypeParameter__ConstraintsAssignment_1_0"); + builder.put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_1(), "rule__JvmTypeParameter__ConstraintsAssignment_1_1"); + builder.put(grammarAccess.getXImportSectionAccess().getImportDeclarationsAssignment(), "rule__XImportSection__ImportDeclarationsAssignment"); + builder.put(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0(), "rule__XImportDeclaration__StaticAssignment_1_0_0"); + builder.put(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1(), "rule__XImportDeclaration__ExtensionAssignment_1_0_1"); + builder.put(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2(), "rule__XImportDeclaration__ImportedTypeAssignment_1_0_2"); + builder.put(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0(), "rule__XImportDeclaration__WildcardAssignment_1_0_3_0"); + builder.put(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1(), "rule__XImportDeclaration__MemberNameAssignment_1_0_3_1"); + builder.put(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1(), "rule__XImportDeclaration__ImportedTypeAssignment_1_1"); + builder.put(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2(), "rule__XImportDeclaration__ImportedNamespaceAssignment_1_2"); } } diff --git a/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/internal/InternalExpression.g b/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/internal/InternalExpression.g index 64287de219..ad2426c1c4 100644 --- a/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/internal/InternalExpression.g +++ b/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/internal/InternalExpression.g @@ -975,677 +975,17178 @@ finally { restoreStackSize(stackSize); } -rule__Expression__Alternatives +// Entry rule entryRuleXExpression +entryRuleXExpression +: +{ before(grammarAccess.getXExpressionRule()); } + ruleXExpression +{ after(grammarAccess.getXExpressionRule()); } + EOF +; + +// Rule XExpression +ruleXExpression @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); } - ruleLetExpression - { after(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); } - (ruleCastedExpression) - { after(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); } - ) - | + : ( - { before(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); } - ruleChainExpression - { after(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); } + { before(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); } + ruleXAssignment + { after(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); } ) ; finally { restoreStackSize(stackSize); } -rule__ChainedExpression__Alternatives +// Entry rule entryRuleXAssignment +entryRuleXAssignment +: +{ before(grammarAccess.getXAssignmentRule()); } + ruleXAssignment +{ after(grammarAccess.getXAssignmentRule()); } + EOF +; + +// Rule XAssignment +ruleXAssignment @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); } - ruleIfExpressionKw - { after(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); } - ruleIfExpressionTri - { after(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); } - ) - | + : ( - { before(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); } - ruleSwitchExpression - { after(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); } + { before(grammarAccess.getXAssignmentAccess().getAlternatives()); } + (rule__XAssignment__Alternatives) + { after(grammarAccess.getXAssignmentAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__OperatorAlternatives_1_1_0 +// Entry rule entryRuleOpSingleAssign +entryRuleOpSingleAssign +: +{ before(grammarAccess.getOpSingleAssignRule()); } + ruleOpSingleAssign +{ after(grammarAccess.getOpSingleAssignRule()); } + EOF +; + +// Rule OpSingleAssign +ruleOpSingleAssign @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); } - '==' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); } - ) - | - ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); } - '!=' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); } - ) - | - ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); } - '>=' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); } - ) - | - ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); } - '<=' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); } - ) - | - ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); } - '>' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); } - ) - | + : ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); } - '<' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); } + { before(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); } + '=' + { after(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__NameAlternatives_1_1_0 +// Entry rule entryRuleOpMultiAssign +entryRuleOpMultiAssign +: +{ before(grammarAccess.getOpMultiAssignRule()); } + ruleOpMultiAssign +{ after(grammarAccess.getOpMultiAssignRule()); } + EOF +; + +// Rule OpMultiAssign +ruleOpMultiAssign @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); } - '+' - { after(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); } - ) - | + : ( - { before(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); } - '-' - { after(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); } + { before(grammarAccess.getOpMultiAssignAccess().getAlternatives()); } + (rule__OpMultiAssign__Alternatives) + { after(grammarAccess.getOpMultiAssignAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__NameAlternatives_1_1_0 +// Entry rule entryRuleXOrExpression +entryRuleXOrExpression +: +{ before(grammarAccess.getXOrExpressionRule()); } + ruleXOrExpression +{ after(grammarAccess.getXOrExpressionRule()); } + EOF +; + +// Rule XOrExpression +ruleXOrExpression @init { int stackSize = keepStackSize(); } -: + : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); } - '*' - { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); } + { before(grammarAccess.getXOrExpressionAccess().getGroup()); } + (rule__XOrExpression__Group__0) + { after(grammarAccess.getXOrExpressionAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOpOr +entryRuleOpOr +: +{ before(grammarAccess.getOpOrRule()); } + ruleOpOr +{ after(grammarAccess.getOpOrRule()); } + EOF +; + +// Rule OpOr +ruleOpOr + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); } - '/' - { after(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); } + { before(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); } + '||' + { after(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); } ) ; finally { restoreStackSize(stackSize); } -rule__UnaryOrInfixExpression__Alternatives +// Entry rule entryRuleXAndExpression +entryRuleXAndExpression +: +{ before(grammarAccess.getXAndExpressionRule()); } + ruleXAndExpression +{ after(grammarAccess.getXAndExpressionRule()); } + EOF +; + +// Rule XAndExpression +ruleXAndExpression @init { int stackSize = keepStackSize(); } -: + : ( - { before(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); } - ruleUnaryExpression - { after(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); } + { before(grammarAccess.getXAndExpressionAccess().getGroup()); } + (rule__XAndExpression__Group__0) + { after(grammarAccess.getXAndExpressionAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOpAnd +entryRuleOpAnd +: +{ before(grammarAccess.getOpAndRule()); } + ruleOpAnd +{ after(grammarAccess.getOpAndRule()); } + EOF +; + +// Rule OpAnd +ruleOpAnd + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); } - ruleInfixExpression - { after(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); } + { before(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); } + '&&' + { after(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); } ) ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__NameAlternatives_0_0 +// Entry rule entryRuleXEqualityExpression +entryRuleXEqualityExpression +: +{ before(grammarAccess.getXEqualityExpressionRule()); } + ruleXEqualityExpression +{ after(grammarAccess.getXEqualityExpressionRule()); } + EOF +; + +// Rule XEqualityExpression +ruleXEqualityExpression @init { int stackSize = keepStackSize(); } -: + : ( - { before(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); } - '!' - { after(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); } + { before(grammarAccess.getXEqualityExpressionAccess().getGroup()); } + (rule__XEqualityExpression__Group__0) + { after(grammarAccess.getXEqualityExpressionAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOpEquality +entryRuleOpEquality +: +{ before(grammarAccess.getOpEqualityRule()); } + ruleOpEquality +{ after(grammarAccess.getOpEqualityRule()); } + EOF +; + +// Rule OpEquality +ruleOpEquality + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); } - '-' - { after(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); } + { before(grammarAccess.getOpEqualityAccess().getAlternatives()); } + (rule__OpEquality__Alternatives) + { after(grammarAccess.getOpEqualityAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Alternatives_1 +// Entry rule entryRuleXRelationalExpression +entryRuleXRelationalExpression +: +{ before(grammarAccess.getXRelationalExpressionRule()); } + ruleXRelationalExpression +{ after(grammarAccess.getXRelationalExpressionRule()); } + EOF +; + +// Rule XRelationalExpression +ruleXRelationalExpression @init { int stackSize = keepStackSize(); } -: + : ( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); } - (rule__InfixExpression__Group_1_0__0) - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); } + { before(grammarAccess.getXRelationalExpressionAccess().getGroup()); } + (rule__XRelationalExpression__Group__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOpCompare +entryRuleOpCompare +: +{ before(grammarAccess.getOpCompareRule()); } + ruleOpCompare +{ after(grammarAccess.getOpCompareRule()); } + EOF +; + +// Rule OpCompare +ruleOpCompare + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); } - (rule__InfixExpression__Group_1_1__0) - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); } + { before(grammarAccess.getOpCompareAccess().getAlternatives()); } + (rule__OpCompare__Alternatives) + { after(grammarAccess.getOpCompareAccess().getAlternatives()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXOtherOperatorExpression +entryRuleXOtherOperatorExpression +: +{ before(grammarAccess.getXOtherOperatorExpressionRule()); } + ruleXOtherOperatorExpression +{ after(grammarAccess.getXOtherOperatorExpressionRule()); } + EOF +; + +// Rule XOtherOperatorExpression +ruleXOtherOperatorExpression + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); } - (rule__InfixExpression__Group_1_2__0) - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); } + { before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); } + (rule__XOtherOperatorExpression__Group__0) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOpOther +entryRuleOpOther +: +{ before(grammarAccess.getOpOtherRule()); } + ruleOpOther +{ after(grammarAccess.getOpOtherRule()); } + EOF +; + +// Rule OpOther +ruleOpOther + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); } - (rule__InfixExpression__Group_1_3__0) - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); } + { before(grammarAccess.getOpOtherAccess().getAlternatives()); } + (rule__OpOther__Alternatives) + { after(grammarAccess.getOpOtherAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__NameAlternatives_1_3_2_0 +// Entry rule entryRuleXAdditiveExpression +entryRuleXAdditiveExpression +: +{ before(grammarAccess.getXAdditiveExpressionRule()); } + ruleXAdditiveExpression +{ after(grammarAccess.getXAdditiveExpressionRule()); } + EOF +; + +// Rule XAdditiveExpression +ruleXAdditiveExpression @init { int stackSize = keepStackSize(); } -: + : ( - { before(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); } - 'collect' - { after(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); } + { before(grammarAccess.getXAdditiveExpressionAccess().getGroup()); } + (rule__XAdditiveExpression__Group__0) + { after(grammarAccess.getXAdditiveExpressionAccess().getGroup()); } ) - | - ( - { before(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); } - 'select' - { after(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); } +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOpAdd +entryRuleOpAdd +: +{ before(grammarAccess.getOpAddRule()); } + ruleOpAdd +{ after(grammarAccess.getOpAddRule()); } + EOF +; + +// Rule OpAdd +ruleOpAdd + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getOpAddAccess().getAlternatives()); } + (rule__OpAdd__Alternatives) + { after(grammarAccess.getOpAddAccess().getAlternatives()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXMultiplicativeExpression +entryRuleXMultiplicativeExpression +: +{ before(grammarAccess.getXMultiplicativeExpressionRule()); } + ruleXMultiplicativeExpression +{ after(grammarAccess.getXMultiplicativeExpressionRule()); } + EOF +; + +// Rule XMultiplicativeExpression +ruleXMultiplicativeExpression + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); } - 'selectFirst' - { after(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); } + { before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); } + (rule__XMultiplicativeExpression__Group__0) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOpMulti +entryRuleOpMulti +: +{ before(grammarAccess.getOpMultiRule()); } + ruleOpMulti +{ after(grammarAccess.getOpMultiRule()); } + EOF +; + +// Rule OpMulti +ruleOpMulti + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); } - 'reject' - { after(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); } + { before(grammarAccess.getOpMultiAccess().getAlternatives()); } + (rule__OpMulti__Alternatives) + { after(grammarAccess.getOpMultiAccess().getAlternatives()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXUnaryOperation +entryRuleXUnaryOperation +: +{ before(grammarAccess.getXUnaryOperationRule()); } + ruleXUnaryOperation +{ after(grammarAccess.getXUnaryOperationRule()); } + EOF +; + +// Rule XUnaryOperation +ruleXUnaryOperation + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); } - 'exists' - { after(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); } + { before(grammarAccess.getXUnaryOperationAccess().getAlternatives()); } + (rule__XUnaryOperation__Alternatives) + { after(grammarAccess.getXUnaryOperationAccess().getAlternatives()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOpUnary +entryRuleOpUnary +: +{ before(grammarAccess.getOpUnaryRule()); } + ruleOpUnary +{ after(grammarAccess.getOpUnaryRule()); } + EOF +; + +// Rule OpUnary +ruleOpUnary + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); } - 'notExists' - { after(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); } + { before(grammarAccess.getOpUnaryAccess().getAlternatives()); } + (rule__OpUnary__Alternatives) + { after(grammarAccess.getOpUnaryAccess().getAlternatives()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXCastedExpression +entryRuleXCastedExpression +: +{ before(grammarAccess.getXCastedExpressionRule()); } + ruleXCastedExpression +{ after(grammarAccess.getXCastedExpressionRule()); } + EOF +; + +// Rule XCastedExpression +ruleXCastedExpression + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); } - 'sortBy' - { after(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); } + { before(grammarAccess.getXCastedExpressionAccess().getGroup()); } + (rule__XCastedExpression__Group__0) + { after(grammarAccess.getXCastedExpressionAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXPostfixOperation +entryRuleXPostfixOperation +: +{ before(grammarAccess.getXPostfixOperationRule()); } + ruleXPostfixOperation +{ after(grammarAccess.getXPostfixOperationRule()); } + EOF +; + +// Rule XPostfixOperation +ruleXPostfixOperation + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); } - 'forAll' - { after(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); } + { before(grammarAccess.getXPostfixOperationAccess().getGroup()); } + (rule__XPostfixOperation__Group__0) + { after(grammarAccess.getXPostfixOperationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOpPostfix +entryRuleOpPostfix +: +{ before(grammarAccess.getOpPostfixRule()); } + ruleOpPostfix +{ after(grammarAccess.getOpPostfixRule()); } + EOF +; + +// Rule OpPostfix +ruleOpPostfix + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getOpPostfixAccess().getAlternatives()); } + (rule__OpPostfix__Alternatives) + { after(grammarAccess.getOpPostfixAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXMemberFeatureCall +entryRuleXMemberFeatureCall +: +{ before(grammarAccess.getXMemberFeatureCallRule()); } + ruleXMemberFeatureCall +{ after(grammarAccess.getXMemberFeatureCallRule()); } + EOF +; + +// Rule XMemberFeatureCall +ruleXMemberFeatureCall + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup()); } + (rule__XMemberFeatureCall__Group__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXPrimaryExpression +entryRuleXPrimaryExpression +: +{ before(grammarAccess.getXPrimaryExpressionRule()); } + ruleXPrimaryExpression +{ after(grammarAccess.getXPrimaryExpressionRule()); } + EOF +; + +// Rule XPrimaryExpression +ruleXPrimaryExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); } + (rule__XPrimaryExpression__Alternatives) + { after(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXLiteral +entryRuleXLiteral +: +{ before(grammarAccess.getXLiteralRule()); } + ruleXLiteral +{ after(grammarAccess.getXLiteralRule()); } + EOF +; + +// Rule XLiteral +ruleXLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXLiteralAccess().getAlternatives()); } + (rule__XLiteral__Alternatives) + { after(grammarAccess.getXLiteralAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXCollectionLiteral +entryRuleXCollectionLiteral +: +{ before(grammarAccess.getXCollectionLiteralRule()); } + ruleXCollectionLiteral +{ after(grammarAccess.getXCollectionLiteralRule()); } + EOF +; + +// Rule XCollectionLiteral +ruleXCollectionLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); } + (rule__XCollectionLiteral__Alternatives) + { after(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__PrimaryExpression__Alternatives +// Entry rule entryRuleXSetLiteral +entryRuleXSetLiteral +: +{ before(grammarAccess.getXSetLiteralRule()); } + ruleXSetLiteral +{ after(grammarAccess.getXSetLiteralRule()); } + EOF +; + +// Rule XSetLiteral +ruleXSetLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXSetLiteralAccess().getGroup()); } + (rule__XSetLiteral__Group__0) + { after(grammarAccess.getXSetLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXListLiteral +entryRuleXListLiteral +: +{ before(grammarAccess.getXListLiteralRule()); } + ruleXListLiteral +{ after(grammarAccess.getXListLiteralRule()); } + EOF +; + +// Rule XListLiteral +ruleXListLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXListLiteralAccess().getGroup()); } + (rule__XListLiteral__Group__0) + { after(grammarAccess.getXListLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXClosure +entryRuleXClosure +: +{ before(grammarAccess.getXClosureRule()); } + ruleXClosure +{ after(grammarAccess.getXClosureRule()); } + EOF +; + +// Rule XClosure +ruleXClosure + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXClosureAccess().getGroup()); } + (rule__XClosure__Group__0) + { after(grammarAccess.getXClosureAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXExpressionInClosure +entryRuleXExpressionInClosure +: +{ before(grammarAccess.getXExpressionInClosureRule()); } + ruleXExpressionInClosure +{ after(grammarAccess.getXExpressionInClosureRule()); } + EOF +; + +// Rule XExpressionInClosure +ruleXExpressionInClosure + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXExpressionInClosureAccess().getGroup()); } + (rule__XExpressionInClosure__Group__0) + { after(grammarAccess.getXExpressionInClosureAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXShortClosure +entryRuleXShortClosure +: +{ before(grammarAccess.getXShortClosureRule()); } + ruleXShortClosure +{ after(grammarAccess.getXShortClosureRule()); } + EOF +; + +// Rule XShortClosure +ruleXShortClosure + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXShortClosureAccess().getGroup()); } + (rule__XShortClosure__Group__0) + { after(grammarAccess.getXShortClosureAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXParenthesizedExpression +entryRuleXParenthesizedExpression +: +{ before(grammarAccess.getXParenthesizedExpressionRule()); } + ruleXParenthesizedExpression +{ after(grammarAccess.getXParenthesizedExpressionRule()); } + EOF +; + +// Rule XParenthesizedExpression +ruleXParenthesizedExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); } + (rule__XParenthesizedExpression__Group__0) + { after(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXIfExpression +entryRuleXIfExpression +: +{ before(grammarAccess.getXIfExpressionRule()); } + ruleXIfExpression +{ after(grammarAccess.getXIfExpressionRule()); } + EOF +; + +// Rule XIfExpression +ruleXIfExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXIfExpressionAccess().getGroup()); } + (rule__XIfExpression__Group__0) + { after(grammarAccess.getXIfExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXSwitchExpression +entryRuleXSwitchExpression +: +{ before(grammarAccess.getXSwitchExpressionRule()); } + ruleXSwitchExpression +{ after(grammarAccess.getXSwitchExpressionRule()); } + EOF +; + +// Rule XSwitchExpression +ruleXSwitchExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup()); } + (rule__XSwitchExpression__Group__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXCasePart +entryRuleXCasePart +: +{ before(grammarAccess.getXCasePartRule()); } + ruleXCasePart +{ after(grammarAccess.getXCasePartRule()); } + EOF +; + +// Rule XCasePart +ruleXCasePart + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXCasePartAccess().getGroup()); } + (rule__XCasePart__Group__0) + { after(grammarAccess.getXCasePartAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXForLoopExpression +entryRuleXForLoopExpression +: +{ before(grammarAccess.getXForLoopExpressionRule()); } + ruleXForLoopExpression +{ after(grammarAccess.getXForLoopExpressionRule()); } + EOF +; + +// Rule XForLoopExpression +ruleXForLoopExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXForLoopExpressionAccess().getGroup()); } + (rule__XForLoopExpression__Group__0) + { after(grammarAccess.getXForLoopExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXBasicForLoopExpression +entryRuleXBasicForLoopExpression +: +{ before(grammarAccess.getXBasicForLoopExpressionRule()); } + ruleXBasicForLoopExpression +{ after(grammarAccess.getXBasicForLoopExpressionRule()); } + EOF +; + +// Rule XBasicForLoopExpression +ruleXBasicForLoopExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); } + (rule__XBasicForLoopExpression__Group__0) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXWhileExpression +entryRuleXWhileExpression +: +{ before(grammarAccess.getXWhileExpressionRule()); } + ruleXWhileExpression +{ after(grammarAccess.getXWhileExpressionRule()); } + EOF +; + +// Rule XWhileExpression +ruleXWhileExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXWhileExpressionAccess().getGroup()); } + (rule__XWhileExpression__Group__0) + { after(grammarAccess.getXWhileExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXDoWhileExpression +entryRuleXDoWhileExpression +: +{ before(grammarAccess.getXDoWhileExpressionRule()); } + ruleXDoWhileExpression +{ after(grammarAccess.getXDoWhileExpressionRule()); } + EOF +; + +// Rule XDoWhileExpression +ruleXDoWhileExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXDoWhileExpressionAccess().getGroup()); } + (rule__XDoWhileExpression__Group__0) + { after(grammarAccess.getXDoWhileExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXBlockExpression +entryRuleXBlockExpression +: +{ before(grammarAccess.getXBlockExpressionRule()); } + ruleXBlockExpression +{ after(grammarAccess.getXBlockExpressionRule()); } + EOF +; + +// Rule XBlockExpression +ruleXBlockExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXBlockExpressionAccess().getGroup()); } + (rule__XBlockExpression__Group__0) + { after(grammarAccess.getXBlockExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXExpressionOrVarDeclaration +entryRuleXExpressionOrVarDeclaration +: +{ before(grammarAccess.getXExpressionOrVarDeclarationRule()); } + ruleXExpressionOrVarDeclaration +{ after(grammarAccess.getXExpressionOrVarDeclarationRule()); } + EOF +; + +// Rule XExpressionOrVarDeclaration +ruleXExpressionOrVarDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); } + (rule__XExpressionOrVarDeclaration__Alternatives) + { after(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXVariableDeclaration +entryRuleXVariableDeclaration +: +{ before(grammarAccess.getXVariableDeclarationRule()); } + ruleXVariableDeclaration +{ after(grammarAccess.getXVariableDeclarationRule()); } + EOF +; + +// Rule XVariableDeclaration +ruleXVariableDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXVariableDeclarationAccess().getGroup()); } + (rule__XVariableDeclaration__Group__0) + { after(grammarAccess.getXVariableDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmFormalParameter +entryRuleJvmFormalParameter +: +{ before(grammarAccess.getJvmFormalParameterRule()); } + ruleJvmFormalParameter +{ after(grammarAccess.getJvmFormalParameterRule()); } + EOF +; + +// Rule JvmFormalParameter +ruleJvmFormalParameter + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmFormalParameterAccess().getGroup()); } + (rule__JvmFormalParameter__Group__0) + { after(grammarAccess.getJvmFormalParameterAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleFullJvmFormalParameter +entryRuleFullJvmFormalParameter +: +{ before(grammarAccess.getFullJvmFormalParameterRule()); } + ruleFullJvmFormalParameter +{ after(grammarAccess.getFullJvmFormalParameterRule()); } + EOF +; + +// Rule FullJvmFormalParameter +ruleFullJvmFormalParameter + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); } + (rule__FullJvmFormalParameter__Group__0) + { after(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXFeatureCall +entryRuleXFeatureCall +: +{ before(grammarAccess.getXFeatureCallRule()); } + ruleXFeatureCall +{ after(grammarAccess.getXFeatureCallRule()); } + EOF +; + +// Rule XFeatureCall +ruleXFeatureCall + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXFeatureCallAccess().getGroup()); } + (rule__XFeatureCall__Group__0) + { after(grammarAccess.getXFeatureCallAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleFeatureCallID +entryRuleFeatureCallID +: +{ before(grammarAccess.getFeatureCallIDRule()); } + ruleFeatureCallID +{ after(grammarAccess.getFeatureCallIDRule()); } + EOF +; + +// Rule FeatureCallID +ruleFeatureCallID + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getFeatureCallIDAccess().getAlternatives()); } + (rule__FeatureCallID__Alternatives) + { after(grammarAccess.getFeatureCallIDAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleIdOrSuper +entryRuleIdOrSuper +: +{ before(grammarAccess.getIdOrSuperRule()); } + ruleIdOrSuper +{ after(grammarAccess.getIdOrSuperRule()); } + EOF +; + +// Rule IdOrSuper +ruleIdOrSuper + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getIdOrSuperAccess().getAlternatives()); } + (rule__IdOrSuper__Alternatives) + { after(grammarAccess.getIdOrSuperAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXConstructorCall +entryRuleXConstructorCall +: +{ before(grammarAccess.getXConstructorCallRule()); } + ruleXConstructorCall +{ after(grammarAccess.getXConstructorCallRule()); } + EOF +; + +// Rule XConstructorCall +ruleXConstructorCall + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXConstructorCallAccess().getGroup()); } + (rule__XConstructorCall__Group__0) + { after(grammarAccess.getXConstructorCallAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXBooleanLiteral +entryRuleXBooleanLiteral +: +{ before(grammarAccess.getXBooleanLiteralRule()); } + ruleXBooleanLiteral +{ after(grammarAccess.getXBooleanLiteralRule()); } + EOF +; + +// Rule XBooleanLiteral +ruleXBooleanLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXBooleanLiteralAccess().getGroup()); } + (rule__XBooleanLiteral__Group__0) + { after(grammarAccess.getXBooleanLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXNullLiteral +entryRuleXNullLiteral +: +{ before(grammarAccess.getXNullLiteralRule()); } + ruleXNullLiteral +{ after(grammarAccess.getXNullLiteralRule()); } + EOF +; + +// Rule XNullLiteral +ruleXNullLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXNullLiteralAccess().getGroup()); } + (rule__XNullLiteral__Group__0) + { after(grammarAccess.getXNullLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXNumberLiteral +entryRuleXNumberLiteral +: +{ before(grammarAccess.getXNumberLiteralRule()); } + ruleXNumberLiteral +{ after(grammarAccess.getXNumberLiteralRule()); } + EOF +; + +// Rule XNumberLiteral +ruleXNumberLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXNumberLiteralAccess().getGroup()); } + (rule__XNumberLiteral__Group__0) + { after(grammarAccess.getXNumberLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXStringLiteral +entryRuleXStringLiteral +: +{ before(grammarAccess.getXStringLiteralRule()); } + ruleXStringLiteral +{ after(grammarAccess.getXStringLiteralRule()); } + EOF +; + +// Rule XStringLiteral +ruleXStringLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXStringLiteralAccess().getGroup()); } + (rule__XStringLiteral__Group__0) + { after(grammarAccess.getXStringLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXTypeLiteral +entryRuleXTypeLiteral +: +{ before(grammarAccess.getXTypeLiteralRule()); } + ruleXTypeLiteral +{ after(grammarAccess.getXTypeLiteralRule()); } + EOF +; + +// Rule XTypeLiteral +ruleXTypeLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXTypeLiteralAccess().getGroup()); } + (rule__XTypeLiteral__Group__0) + { after(grammarAccess.getXTypeLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXThrowExpression +entryRuleXThrowExpression +: +{ before(grammarAccess.getXThrowExpressionRule()); } + ruleXThrowExpression +{ after(grammarAccess.getXThrowExpressionRule()); } + EOF +; + +// Rule XThrowExpression +ruleXThrowExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXThrowExpressionAccess().getGroup()); } + (rule__XThrowExpression__Group__0) + { after(grammarAccess.getXThrowExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXReturnExpression +entryRuleXReturnExpression +: +{ before(grammarAccess.getXReturnExpressionRule()); } + ruleXReturnExpression +{ after(grammarAccess.getXReturnExpressionRule()); } + EOF +; + +// Rule XReturnExpression +ruleXReturnExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXReturnExpressionAccess().getGroup()); } + (rule__XReturnExpression__Group__0) + { after(grammarAccess.getXReturnExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXTryCatchFinallyExpression +entryRuleXTryCatchFinallyExpression +: +{ before(grammarAccess.getXTryCatchFinallyExpressionRule()); } + ruleXTryCatchFinallyExpression +{ after(grammarAccess.getXTryCatchFinallyExpressionRule()); } + EOF +; + +// Rule XTryCatchFinallyExpression +ruleXTryCatchFinallyExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); } + (rule__XTryCatchFinallyExpression__Group__0) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXSynchronizedExpression +entryRuleXSynchronizedExpression +: +{ before(grammarAccess.getXSynchronizedExpressionRule()); } + ruleXSynchronizedExpression +{ after(grammarAccess.getXSynchronizedExpressionRule()); } + EOF +; + +// Rule XSynchronizedExpression +ruleXSynchronizedExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); } + (rule__XSynchronizedExpression__Group__0) + { after(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXCatchClause +entryRuleXCatchClause +: +{ before(grammarAccess.getXCatchClauseRule()); } + ruleXCatchClause +{ after(grammarAccess.getXCatchClauseRule()); } + EOF +; + +// Rule XCatchClause +ruleXCatchClause + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXCatchClauseAccess().getGroup()); } + (rule__XCatchClause__Group__0) + { after(grammarAccess.getXCatchClauseAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleQualifiedName +entryRuleQualifiedName +: +{ before(grammarAccess.getQualifiedNameRule()); } + ruleQualifiedName +{ after(grammarAccess.getQualifiedNameRule()); } + EOF +; + +// Rule QualifiedName +ruleQualifiedName + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getQualifiedNameAccess().getGroup()); } + (rule__QualifiedName__Group__0) + { after(grammarAccess.getQualifiedNameAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleNumber +entryRuleNumber +@init { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +} +: +{ before(grammarAccess.getNumberRule()); } + ruleNumber +{ after(grammarAccess.getNumberRule()); } + EOF +; +finally { + myHiddenTokenState.restore(); +} + +// Rule Number +ruleNumber + @init { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getNumberAccess().getAlternatives()); } + (rule__Number__Alternatives) + { after(grammarAccess.getNumberAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); + myHiddenTokenState.restore(); +} + +// Entry rule entryRuleJvmTypeReference +entryRuleJvmTypeReference +: +{ before(grammarAccess.getJvmTypeReferenceRule()); } + ruleJvmTypeReference +{ after(grammarAccess.getJvmTypeReferenceRule()); } + EOF +; + +// Rule JvmTypeReference +ruleJvmTypeReference + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); } + (rule__JvmTypeReference__Alternatives) + { after(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleArrayBrackets +entryRuleArrayBrackets +: +{ before(grammarAccess.getArrayBracketsRule()); } + ruleArrayBrackets +{ after(grammarAccess.getArrayBracketsRule()); } + EOF +; + +// Rule ArrayBrackets +ruleArrayBrackets + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getArrayBracketsAccess().getGroup()); } + (rule__ArrayBrackets__Group__0) + { after(grammarAccess.getArrayBracketsAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXFunctionTypeRef +entryRuleXFunctionTypeRef +: +{ before(grammarAccess.getXFunctionTypeRefRule()); } + ruleXFunctionTypeRef +{ after(grammarAccess.getXFunctionTypeRefRule()); } + EOF +; + +// Rule XFunctionTypeRef +ruleXFunctionTypeRef + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXFunctionTypeRefAccess().getGroup()); } + (rule__XFunctionTypeRef__Group__0) + { after(grammarAccess.getXFunctionTypeRefAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmParameterizedTypeReference +entryRuleJvmParameterizedTypeReference +: +{ before(grammarAccess.getJvmParameterizedTypeReferenceRule()); } + ruleJvmParameterizedTypeReference +{ after(grammarAccess.getJvmParameterizedTypeReferenceRule()); } + EOF +; + +// Rule JvmParameterizedTypeReference +ruleJvmParameterizedTypeReference + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); } + (rule__JvmParameterizedTypeReference__Group__0) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmArgumentTypeReference +entryRuleJvmArgumentTypeReference +: +{ before(grammarAccess.getJvmArgumentTypeReferenceRule()); } + ruleJvmArgumentTypeReference +{ after(grammarAccess.getJvmArgumentTypeReferenceRule()); } + EOF +; + +// Rule JvmArgumentTypeReference +ruleJvmArgumentTypeReference + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); } + (rule__JvmArgumentTypeReference__Alternatives) + { after(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmWildcardTypeReference +entryRuleJvmWildcardTypeReference +: +{ before(grammarAccess.getJvmWildcardTypeReferenceRule()); } + ruleJvmWildcardTypeReference +{ after(grammarAccess.getJvmWildcardTypeReferenceRule()); } + EOF +; + +// Rule JvmWildcardTypeReference +ruleJvmWildcardTypeReference + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); } + (rule__JvmWildcardTypeReference__Group__0) + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmUpperBound +entryRuleJvmUpperBound +: +{ before(grammarAccess.getJvmUpperBoundRule()); } + ruleJvmUpperBound +{ after(grammarAccess.getJvmUpperBoundRule()); } + EOF +; + +// Rule JvmUpperBound +ruleJvmUpperBound + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmUpperBoundAccess().getGroup()); } + (rule__JvmUpperBound__Group__0) + { after(grammarAccess.getJvmUpperBoundAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmUpperBoundAnded +entryRuleJvmUpperBoundAnded +: +{ before(grammarAccess.getJvmUpperBoundAndedRule()); } + ruleJvmUpperBoundAnded +{ after(grammarAccess.getJvmUpperBoundAndedRule()); } + EOF +; + +// Rule JvmUpperBoundAnded +ruleJvmUpperBoundAnded + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); } + (rule__JvmUpperBoundAnded__Group__0) + { after(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmLowerBound +entryRuleJvmLowerBound +: +{ before(grammarAccess.getJvmLowerBoundRule()); } + ruleJvmLowerBound +{ after(grammarAccess.getJvmLowerBoundRule()); } + EOF +; + +// Rule JvmLowerBound +ruleJvmLowerBound + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmLowerBoundAccess().getGroup()); } + (rule__JvmLowerBound__Group__0) + { after(grammarAccess.getJvmLowerBoundAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmLowerBoundAnded +entryRuleJvmLowerBoundAnded +: +{ before(grammarAccess.getJvmLowerBoundAndedRule()); } + ruleJvmLowerBoundAnded +{ after(grammarAccess.getJvmLowerBoundAndedRule()); } + EOF +; + +// Rule JvmLowerBoundAnded +ruleJvmLowerBoundAnded + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); } + (rule__JvmLowerBoundAnded__Group__0) + { after(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleQualifiedNameWithWildcard +entryRuleQualifiedNameWithWildcard +: +{ before(grammarAccess.getQualifiedNameWithWildcardRule()); } + ruleQualifiedNameWithWildcard +{ after(grammarAccess.getQualifiedNameWithWildcardRule()); } + EOF +; + +// Rule QualifiedNameWithWildcard +ruleQualifiedNameWithWildcard + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); } + (rule__QualifiedNameWithWildcard__Group__0) + { after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleValidID +entryRuleValidID +: +{ before(grammarAccess.getValidIDRule()); } + ruleValidID +{ after(grammarAccess.getValidIDRule()); } + EOF +; + +// Rule ValidID +ruleValidID + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); } + RULE_ID + { after(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXImportDeclaration +entryRuleXImportDeclaration +: +{ before(grammarAccess.getXImportDeclarationRule()); } + ruleXImportDeclaration +{ after(grammarAccess.getXImportDeclarationRule()); } + EOF +; + +// Rule XImportDeclaration +ruleXImportDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXImportDeclarationAccess().getGroup()); } + (rule__XImportDeclaration__Group__0) + { after(grammarAccess.getXImportDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleQualifiedNameInStaticImport +entryRuleQualifiedNameInStaticImport +: +{ before(grammarAccess.getQualifiedNameInStaticImportRule()); } + ruleQualifiedNameInStaticImport +{ after(grammarAccess.getQualifiedNameInStaticImportRule()); } + EOF +; + +// Rule QualifiedNameInStaticImport +ruleQualifiedNameInStaticImport + @init { + int stackSize = keepStackSize(); + } + : + ( + ( + { before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } + (rule__QualifiedNameInStaticImport__Group__0) + { after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } + ) + ( + { before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } + (rule__QualifiedNameInStaticImport__Group__0)* + { after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } + ) + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Expression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); } + ruleLetExpression + { after(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); } + (ruleCastedExpression) + { after(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); } + ruleChainExpression + { after(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainedExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); } + ruleIfExpressionKw + { after(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); } + ruleIfExpressionTri + { after(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); } + ruleSwitchExpression + { after(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__OperatorAlternatives_1_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); } + '==' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); } + ) + | + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); } + '!=' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); } + ) + | + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); } + '>=' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); } + ) + | + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); } + '<=' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); } + ) + | + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); } + '>' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); } + ) + | + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); } + '<' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__NameAlternatives_1_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); } + '+' + { after(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); } + ) + | + ( + { before(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); } + '-' + { after(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__NameAlternatives_1_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); } + '*' + { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); } + ) + | + ( + { before(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); } + '/' + { after(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryOrInfixExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); } + ruleUnaryExpression + { after(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); } + ruleInfixExpression + { after(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__NameAlternatives_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); } + '!' + { after(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); } + ) + | + ( + { before(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); } + '-' + { after(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); } + (rule__InfixExpression__Group_1_0__0) + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); } + (rule__InfixExpression__Group_1_1__0) + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); } + (rule__InfixExpression__Group_1_2__0) + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); } + (rule__InfixExpression__Group_1_3__0) + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__NameAlternatives_1_3_2_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); } + 'collect' + { after(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); } + 'select' + { after(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); } + 'selectFirst' + { after(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); } + 'reject' + { after(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); } + 'exists' + { after(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); } + 'notExists' + { after(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); } + 'sortBy' + { after(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); } + 'forAll' + { after(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PrimaryExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); } + ruleLiteral + { after(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); } + ruleFeatureCall + { after(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); } + ruleListLiteral + { after(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); } + ruleConstructorCallExpression + { after(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); } + ruleGlobalVarExpression + { after(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); } + ) + | + ( + { before(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); } + ruleParanthesizedExpression + { after(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Literal__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); } + ruleBooleanLiteral + { after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); } + ruleIntegerLiteral + { after(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); } + ruleNullLiteral + { after(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); } + ruleRealLiteral + { after(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); } + ruleStringLiteral + { after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__BooleanLiteral__ValAlternatives_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); } + 'true' + { after(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); } + ) + | + ( + { before(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); } + 'false' + { after(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FeatureCall__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); } + ruleOperationCall + { after(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); } + (rule__FeatureCall__TypeAssignment_1) + { after(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); } + ) + | + ( + { before(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); } + ruleCollectionExpression + { after(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); } + ruleTypeSelectExpression + { after(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__NameAlternatives_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); } + 'collect' + { after(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); } + 'select' + { after(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); } + 'selectFirst' + { after(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); } + 'reject' + { after(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); } + 'exists' + { after(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); } + 'notExists' + { after(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); } + 'sortBy' + { after(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); } + 'forAll' + { after(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Type__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); } + ruleCollectionType + { after(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); } + ruleSimpleType + { after(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__ClAlternatives_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); } + 'Collection' + { after(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); } + ) + | + ( + { before(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); } + 'List' + { after(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); } + ) + | + ( + { before(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); } + 'Set' + { after(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXAssignmentAccess().getGroup_0()); } + (rule__XAssignment__Group_0__0) + { after(grammarAccess.getXAssignmentAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getXAssignmentAccess().getGroup_1()); } + (rule__XAssignment__Group_1__0) + { after(grammarAccess.getXAssignmentAccess().getGroup_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); } + '+=' + { after(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); } + '-=' + { after(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); } + '*=' + { after(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); } + '/=' + { after(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); } + '%=' + { after(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getGroup_5()); } + (rule__OpMultiAssign__Group_5__0) + { after(grammarAccess.getOpMultiAssignAccess().getGroup_5()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getGroup_6()); } + (rule__OpMultiAssign__Group_6__0) + { after(grammarAccess.getOpMultiAssignAccess().getGroup_6()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpEquality__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); } + '==' + { after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); } + '!=' + { after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); } + ) + | + ( + { before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); } + '===' + { after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); } + ) + | + ( + { before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); } + '!==' + { after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); } + (rule__XRelationalExpression__Group_1_0__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); } + (rule__XRelationalExpression__Group_1_1__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpCompare__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); } + '>=' + { after(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpCompareAccess().getGroup_1()); } + (rule__OpCompare__Group_1__0) + { after(grammarAccess.getOpCompareAccess().getGroup_1()); } + ) + | + ( + { before(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); } + '>' + { after(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); } + ) + | + ( + { before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); } + '<' + { after(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); } + '->' + { after(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); } + '..<' + { after(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getGroup_2()); } + (rule__OpOther__Group_2__0) + { after(grammarAccess.getOpOtherAccess().getGroup_2()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); } + '..' + { after(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); } + '=>' + { after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getGroup_5()); } + (rule__OpOther__Group_5__0) + { after(grammarAccess.getOpOtherAccess().getGroup_5()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getGroup_6()); } + (rule__OpOther__Group_6__0) + { after(grammarAccess.getOpOtherAccess().getGroup_6()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); } + '<>' + { after(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); } + '?:' + { after(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Alternatives_5_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); } + (rule__OpOther__Group_5_1_0__0) + { after(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); } + '>' + { after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Alternatives_6_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); } + (rule__OpOther__Group_6_1_0__0) + { after(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); } + '<' + { after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); } + '=>' + { after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpAdd__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); } + '+' + { after(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); } + '-' + { after(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMulti__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); } + '*' + { after(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); } + '**' + { after(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); } + ) + | + ( + { before(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); } + '/' + { after(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); } + ) + | + ( + { before(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); } + '%' + { after(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXUnaryOperationAccess().getGroup_0()); } + (rule__XUnaryOperation__Group_0__0) + { after(grammarAccess.getXUnaryOperationAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); } + ruleXCastedExpression + { after(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpUnary__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); } + '!' + { after(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); } + '-' + { after(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); } + ) + | + ( + { before(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); } + '+' + { after(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpPostfix__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); } + '++' + { after(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); } + '--' + { after(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); } + (rule__XMemberFeatureCall__Group_1_0__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); } + (rule__XMemberFeatureCall__Group_1_1__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); } + '.' + { after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); } + ) + | + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); } + (rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); } + '.' + { after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); } + ) + | + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); } + (rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); } + ) + | + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); } + (rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Alternatives_1_1_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); } + (rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0) + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); } + ) + | + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); } + (rule__XMemberFeatureCall__Group_1_1_3_1_1__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XPrimaryExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); } + ruleXConstructorCall + { after(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); } + ruleXBlockExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); } + ruleXSwitchExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); } + (ruleXSynchronizedExpression) + { after(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); } + ruleXFeatureCall + { after(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); } + ruleXLiteral + { after(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); } + ruleXIfExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); } + (ruleXForLoopExpression) + { after(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); } + ruleXBasicForLoopExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); } + ruleXWhileExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); } + ruleXDoWhileExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); } + ruleXThrowExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); } + ruleXReturnExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); } + ruleXTryCatchFinallyExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); } + ruleXParenthesizedExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XLiteral__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); } + ruleXCollectionLiteral + { after(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); } + (ruleXClosure) + { after(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); } + ruleXBooleanLiteral + { after(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); } + ruleXNumberLiteral + { after(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); } + ruleXNullLiteral + { after(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); } + ruleXStringLiteral + { after(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); } + ruleXTypeLiteral + { after(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCollectionLiteral__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); } + ruleXSetLiteral + { after(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); } + ruleXListLiteral + { after(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Alternatives_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); } + (rule__XSwitchExpression__Group_2_0__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); } + ) + | + ( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); } + (rule__XSwitchExpression__Group_2_1__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Alternatives_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXCasePartAccess().getGroup_3_0()); } + (rule__XCasePart__Group_3_0__0) + { after(grammarAccess.getXCasePartAccess().getGroup_3_0()); } + ) + | + ( + { before(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); } + (rule__XCasePart__FallThroughAssignment_3_1) + { after(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionOrVarDeclaration__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); } + ruleXVariableDeclaration + { after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); } + ruleXExpression + { after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); } + (rule__XVariableDeclaration__WriteableAssignment_1_0) + { after(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); } + ) + | + ( + { before(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); } + 'val' + { after(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Alternatives_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); } + (rule__XVariableDeclaration__Group_2_0__0) + { after(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); } + ) + | + ( + { before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); } + (rule__XVariableDeclaration__NameAssignment_2_1) + { after(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Alternatives_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); } + (rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0) + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); } + ) + | + ( + { before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); } + (rule__XFeatureCall__Group_3_1_1__0) + { after(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FeatureCallID__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); } + ruleValidID + { after(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); } + 'extends' + { after(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); } + ) + | + ( + { before(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); } + 'static' + { after(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); } + ) + | + ( + { before(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); } + 'import' + { after(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); } + ) + | + ( + { before(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); } + 'extension' + { after(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdOrSuper__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); } + ruleFeatureCallID + { after(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); } + 'super' + { after(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Alternatives_4_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); } + (rule__XConstructorCall__ArgumentsAssignment_4_1_0) + { after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); } + ) + | + ( + { before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); } + (rule__XConstructorCall__Group_4_1_1__0) + { after(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBooleanLiteral__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); } + 'false' + { after(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); } + ) + | + ( + { before(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); } + (rule__XBooleanLiteral__IsTrueAssignment_1_1) + { after(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Alternatives_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); } + (rule__XTryCatchFinallyExpression__Group_3_0__0) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); } + ) + | + ( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); } + (rule__XTryCatchFinallyExpression__Group_3_1__0) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Number__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); } + RULE_HEX + { after(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getNumberAccess().getGroup_1()); } + (rule__Number__Group_1__0) + { after(grammarAccess.getNumberAccess().getGroup_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Number__Alternatives_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); } + RULE_INT + { after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); } + ) + | + ( + { before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); } + RULE_DECIMAL + { after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Number__Alternatives_1_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); } + RULE_INT + { after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); } + ) + | + ( + { before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); } + RULE_DECIMAL + { after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__JvmTypeReference__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); } + (rule__JvmTypeReference__Group_0__0) + { after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); } + ruleXFunctionTypeRef + { after(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__JvmArgumentTypeReference__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); } + ruleJvmWildcardTypeReference + { after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__JvmWildcardTypeReference__Alternatives_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); } + (rule__JvmWildcardTypeReference__Group_2_0__0) + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); } + ) + | + ( + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); } + (rule__JvmWildcardTypeReference__Group_2_1__0) + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XImportDeclaration__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); } + (rule__XImportDeclaration__Group_1_0__0) + { after(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); } + (rule__XImportDeclaration__ImportedTypeAssignment_1_1) + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); } + ) + | + ( + { before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); } + (rule__XImportDeclaration__ImportedNamespaceAssignment_1_2) + { after(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XImportDeclaration__Alternatives_1_0_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); } + (rule__XImportDeclaration__WildcardAssignment_1_0_3_0) + { after(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); } + ) + | + ( + { before(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); } + (rule__XImportDeclaration__MemberNameAssignment_1_0_3_1) + { after(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__0__Impl + rule__LetExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } + 'let' + { after(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__1__Impl + rule__LetExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); } + (rule__LetExpression__IdentifierAssignment_1) + { after(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__2__Impl + rule__LetExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } + '=' + { after(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__3__Impl + rule__LetExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); } + (rule__LetExpression__VarExprAssignment_3) + { after(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__4__Impl + rule__LetExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } + ':' + { after(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } + (rule__LetExpression__TargetAssignment_5) + { after(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CastedExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CastedExpression__Group__0__Impl + rule__CastedExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } + '(' + { after(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CastedExpression__Group__1__Impl + rule__CastedExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); } + (rule__CastedExpression__TypeAssignment_1) + { after(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__CastedExpression__Group__2__Impl + rule__CastedExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); } + ')' + { after(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__CastedExpression__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); } + (rule__CastedExpression__TargetAssignment_3) + { after(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ChainExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChainExpression__Group__0__Impl + rule__ChainExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } + ruleChainedExpression + { after(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChainExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChainExpressionAccess().getGroup_1()); } + (rule__ChainExpression__Group_1__0)* + { after(grammarAccess.getChainExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ChainExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChainExpression__Group_1__0__Impl + rule__ChainExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); } + () + { after(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChainExpression__Group_1__1__Impl + rule__ChainExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } + '->' + { after(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChainExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } + (rule__ChainExpression__NextAssignment_1_2) + { after(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfExpressionTri__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group__0__Impl + rule__IfExpressionTri__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } + ruleOrExpression + { after(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } + (rule__IfExpressionTri__Group_1__0)? + { after(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfExpressionTri__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group_1__0__Impl + rule__IfExpressionTri__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } + () + { after(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group_1__1__Impl + rule__IfExpressionTri__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } + '?' + { after(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group_1__2__Impl + rule__IfExpressionTri__Group_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); } + (rule__IfExpressionTri__ThenPartAssignment_1_2) + { after(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group_1__3__Impl + rule__IfExpressionTri__Group_1__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } + ':' + { after(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group_1__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); } + (rule__IfExpressionTri__ElsePartAssignment_1_4) + { after(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfExpressionKw__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group__0__Impl + rule__IfExpressionKw__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); } + 'if' + { after(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group__1__Impl + rule__IfExpressionKw__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } + (rule__IfExpressionKw__ConditionAssignment_1) + { after(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group__2__Impl + rule__IfExpressionKw__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } + 'then' + { after(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group__3__Impl + rule__IfExpressionKw__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); } + (rule__IfExpressionKw__ThenPartAssignment_3) + { after(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } + (rule__IfExpressionKw__Group_4__0)? + { after(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfExpressionKw__Group_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group_4__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); } + (rule__IfExpressionKw__Group_4_0__0) + { after(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfExpressionKw__Group_4_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group_4_0__0__Impl + rule__IfExpressionKw__Group_4_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group_4_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } + 'else' + { after(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group_4_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group_4_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group_4_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); } + (rule__IfExpressionKw__ElsePartAssignment_4_0_1) + { after(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SwitchExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__0__Impl + rule__SwitchExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } + 'switch' + { after(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__1__Impl + rule__SwitchExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getGroup_1()); } + (rule__SwitchExpression__Group_1__0)? + { after(grammarAccess.getSwitchExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__2__Impl + rule__SwitchExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } + '{' + { after(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__3__Impl + rule__SwitchExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } + (rule__SwitchExpression__CaseAssignment_3)* + { after(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__4__Impl + rule__SwitchExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } + 'default' + { after(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__5__Impl + rule__SwitchExpression__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } + ':' + { after(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__6__Impl + rule__SwitchExpression__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); } + (rule__SwitchExpression__DefaultExprAssignment_6) + { after(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__7__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } + '}' + { after(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SwitchExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group_1__0__Impl + rule__SwitchExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } + '(' + { after(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group_1__1__Impl + rule__SwitchExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } + (rule__SwitchExpression__SwitchExprAssignment_1_1) + { after(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } + ')' + { after(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Case__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Case__Group__0__Impl + rule__Case__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseAccess().getCaseKeyword_0()); } + 'case' + { after(grammarAccess.getCaseAccess().getCaseKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Case__Group__1__Impl + rule__Case__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseAccess().getConditionAssignment_1()); } + (rule__Case__ConditionAssignment_1) + { after(grammarAccess.getCaseAccess().getConditionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Case__Group__2__Impl + rule__Case__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseAccess().getColonKeyword_2()); } + ':' + { after(grammarAccess.getCaseAccess().getColonKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__Case__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseAccess().getThenParAssignment_3()); } + (rule__Case__ThenParAssignment_3) + { after(grammarAccess.getCaseAccess().getThenParAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OrExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpression__Group__0__Impl + rule__OrExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } + ruleAndExpression + { after(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionAccess().getGroup_1()); } + (rule__OrExpression__Group_1__0)* + { after(grammarAccess.getOrExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OrExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpression__Group_1__0__Impl + rule__OrExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); } + () + { after(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpression__Group_1__1__Impl + rule__OrExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } + (rule__OrExpression__OperatorAssignment_1_1) + { after(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } + (rule__OrExpression__RightAssignment_1_2) + { after(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AndExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpression__Group__0__Impl + rule__AndExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } + ruleImpliesExpression + { after(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionAccess().getGroup_1()); } + (rule__AndExpression__Group_1__0)* + { after(grammarAccess.getAndExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AndExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpression__Group_1__0__Impl + rule__AndExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); } + () + { after(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpression__Group_1__1__Impl + rule__AndExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } + (rule__AndExpression__OperatorAssignment_1_1) + { after(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } + (rule__AndExpression__RightAssignment_1_2) + { after(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ImpliesExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImpliesExpression__Group__0__Impl + rule__ImpliesExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } + ruleRelationalExpression + { after(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImpliesExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } + (rule__ImpliesExpression__Group_1__0)* + { after(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ImpliesExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImpliesExpression__Group_1__0__Impl + rule__ImpliesExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); } + () + { after(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImpliesExpression__Group_1__1__Impl + rule__ImpliesExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } + (rule__ImpliesExpression__OperatorAssignment_1_1) + { after(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImpliesExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } + (rule__ImpliesExpression__RightAssignment_1_2) + { after(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__RelationalExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationalExpression__Group__0__Impl + rule__RelationalExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } + ruleAdditiveExpression + { after(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationalExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRelationalExpressionAccess().getGroup_1()); } + (rule__RelationalExpression__Group_1__0)* + { after(grammarAccess.getRelationalExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__RelationalExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationalExpression__Group_1__0__Impl + rule__RelationalExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); } + () + { after(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationalExpression__Group_1__1__Impl + rule__RelationalExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } + (rule__RelationalExpression__OperatorAssignment_1_1) + { after(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationalExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } + (rule__RelationalExpression__RightAssignment_1_2) + { after(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AdditiveExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group__0__Impl + rule__AdditiveExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } + ruleMultiplicativeExpression + { after(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } + (rule__AdditiveExpression__Group_1__0)* + { after(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AdditiveExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group_1__0__Impl + rule__AdditiveExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); } + () + { after(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group_1__1__Impl + rule__AdditiveExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } + (rule__AdditiveExpression__NameAssignment_1_1) + { after(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } + (rule__AdditiveExpression__ParamsAssignment_1_2) + { after(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__MultiplicativeExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group__0__Impl + rule__MultiplicativeExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } + ruleUnaryOrInfixExpression + { after(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } + (rule__MultiplicativeExpression__Group_1__0)* + { after(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__MultiplicativeExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group_1__0__Impl + rule__MultiplicativeExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); } + () + { after(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group_1__1__Impl + rule__MultiplicativeExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); } + (rule__MultiplicativeExpression__NameAssignment_1_1) + { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); } + (rule__MultiplicativeExpression__ParamsAssignment_1_2) + { after(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnaryExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group__0__Impl + rule__UnaryExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); } + (rule__UnaryExpression__NameAssignment_0) + { after(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); } + (rule__UnaryExpression__ParamsAssignment_1) + { after(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group__0__Impl + rule__InfixExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); } + rulePrimaryExpression + { after(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); } + (rule__InfixExpression__Alternatives_1)* + { after(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__0__Impl + rule__InfixExpression__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); } + () + { after(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__1__Impl + rule__InfixExpression__Group_1_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); } + '.' + { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__2__Impl + rule__InfixExpression__Group_1_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); } + (rule__InfixExpression__NameAssignment_1_0_2) + { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__3__Impl + rule__InfixExpression__Group_1_0__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); } + '(' + { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__4__Impl + rule__InfixExpression__Group_1_0__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); } + (rule__InfixExpression__Group_1_0_4__0)? + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); } + ')' + { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_0_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0_4__0__Impl + rule__InfixExpression__Group_1_0_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); } + (rule__InfixExpression__ParamsAssignment_1_0_4_0) + { after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0_4__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); } + (rule__InfixExpression__Group_1_0_4_1__0)* + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_0_4_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0_4_1__0__Impl + rule__InfixExpression__Group_1_0_4_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); } + ',' + { after(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0_4_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); } + (rule__InfixExpression__ParamsAssignment_1_0_4_1_1) + { after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_1__0__Impl + rule__InfixExpression__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); } + () + { after(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_1__1__Impl + rule__InfixExpression__Group_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); } + '.' + { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); } + (rule__InfixExpression__TypeAssignment_1_1_2) + { after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__0__Impl + rule__InfixExpression__Group_1_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); } + () + { after(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__1__Impl + rule__InfixExpression__Group_1_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); } + '.' + { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__2__Impl + rule__InfixExpression__Group_1_2__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); } + (rule__InfixExpression__NameAssignment_1_2_2) + { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__3__Impl + rule__InfixExpression__Group_1_2__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); } + '(' + { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__4__Impl + rule__InfixExpression__Group_1_2__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); } + (rule__InfixExpression__TypeAssignment_1_2_4) + { after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); } + ')' + { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__0__Impl + rule__InfixExpression__Group_1_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); } + () + { after(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__1__Impl + rule__InfixExpression__Group_1_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); } + '.' + { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__2__Impl + rule__InfixExpression__Group_1_3__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); } + (rule__InfixExpression__NameAssignment_1_3_2) + { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__3__Impl + rule__InfixExpression__Group_1_3__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); } + '(' + { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__4__Impl + rule__InfixExpression__Group_1_3__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); } + (rule__InfixExpression__Group_1_3_4__0)? + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__5__Impl + rule__InfixExpression__Group_1_3__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); } + (rule__InfixExpression__ExpAssignment_1_3_5) + { after(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); } + ')' + { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_3_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3_4__0__Impl + rule__InfixExpression__Group_1_3_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); } + (rule__InfixExpression__VarAssignment_1_3_4_0) + { after(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3_4__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); } + '|' + { after(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ParanthesizedExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParanthesizedExpression__Group__0__Impl + rule__ParanthesizedExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesizedExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } + '(' + { after(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesizedExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParanthesizedExpression__Group__1__Impl + rule__ParanthesizedExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesizedExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); } + ruleExpression + { after(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesizedExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParanthesizedExpression__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesizedExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); } + ')' + { after(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__GlobalVarExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalVarExpression__Group__0__Impl + rule__GlobalVarExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalVarExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); } + 'GLOBALVAR' + { after(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalVarExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalVarExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalVarExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); } + (rule__GlobalVarExpression__NameAssignment_1) + { after(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OperationCall__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group__0__Impl + rule__OperationCall__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getNameAssignment_0()); } + (rule__OperationCall__NameAssignment_0) + { after(grammarAccess.getOperationCallAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group__1__Impl + rule__OperationCall__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group__2__Impl + rule__OperationCall__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getGroup_2()); } + (rule__OperationCall__Group_2__0)? + { after(grammarAccess.getOperationCallAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); } + ')' + { after(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OperationCall__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group_2__0__Impl + rule__OperationCall__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); } + (rule__OperationCall__ParamsAssignment_2_0) + { after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getGroup_2_1()); } + (rule__OperationCall__Group_2_1__0)* + { after(grammarAccess.getOperationCallAccess().getGroup_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OperationCall__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group_2_1__0__Impl + rule__OperationCall__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); } + ',' + { after(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); } + (rule__OperationCall__ParamsAssignment_2_1_1) + { after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ListLiteral__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group__0__Impl + rule__ListLiteral__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); } + () + { after(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group__1__Impl + rule__ListLiteral__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); } + '{' + { after(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group__2__Impl + rule__ListLiteral__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getGroup_2()); } + (rule__ListLiteral__Group_2__0)? + { after(grammarAccess.getListLiteralAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); } + '}' + { after(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ListLiteral__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group_2__0__Impl + rule__ListLiteral__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); } + (rule__ListLiteral__ElementsAssignment_2_0) + { after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getGroup_2_1()); } + (rule__ListLiteral__Group_2_1__0)* + { after(grammarAccess.getListLiteralAccess().getGroup_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ListLiteral__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group_2_1__0__Impl + rule__ListLiteral__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); } + ',' + { after(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); } + (rule__ListLiteral__ElementsAssignment_2_1_1) + { after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ConstructorCallExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConstructorCallExpression__Group__0__Impl + rule__ConstructorCallExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstructorCallExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); } + 'new' + { after(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstructorCallExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConstructorCallExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstructorCallExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); } + (rule__ConstructorCallExpression__TypeAssignment_1) + { after(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__TypeSelectExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__TypeSelectExpression__Group__0__Impl + rule__TypeSelectExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); } + (rule__TypeSelectExpression__NameAssignment_0) + { after(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__TypeSelectExpression__Group__1__Impl + rule__TypeSelectExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__TypeSelectExpression__Group__2__Impl + rule__TypeSelectExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); } + (rule__TypeSelectExpression__TypeAssignment_2) + { after(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__TypeSelectExpression__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); } + ')' + { after(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CollectionExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group__0__Impl + rule__CollectionExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); } + (rule__CollectionExpression__NameAssignment_0) + { after(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group__1__Impl + rule__CollectionExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group__2__Impl + rule__CollectionExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getGroup_2()); } + (rule__CollectionExpression__Group_2__0)? + { after(grammarAccess.getCollectionExpressionAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group__3__Impl + rule__CollectionExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); } + (rule__CollectionExpression__ExpAssignment_3) + { after(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); } + ')' + { after(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CollectionExpression__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group_2__0__Impl + rule__CollectionExpression__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); } + (rule__CollectionExpression__VarAssignment_2_0) + { after(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); } + '|' + { after(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CollectionType__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionType__Group__0__Impl + rule__CollectionType__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); } + (rule__CollectionType__ClAssignment_0) + { after(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionType__Group__1__Impl + rule__CollectionType__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); } + '[' + { after(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionType__Group__2__Impl + rule__CollectionType__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); } + (rule__CollectionType__Id1Assignment_2) + { after(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionType__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); } + ']' + { after(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SimpleType__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SimpleType__Group__0__Impl + rule__SimpleType__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); } + (rule__SimpleType__IdAssignment_0) + { after(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SimpleType__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSimpleTypeAccess().getGroup_1()); } + (rule__SimpleType__Group_1__0)* + { after(grammarAccess.getSimpleTypeAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SimpleType__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SimpleType__Group_1__0__Impl + rule__SimpleType__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); } + '::' + { after(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SimpleType__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); } + (rule__SimpleType__IdAssignment_1_1) + { after(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAssignment__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_0__0__Impl + rule__XAssignment__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0()); } + () + { after(grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_0__1__Impl + rule__XAssignment__Group_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1()); } + (rule__XAssignment__FeatureAssignment_0_1) + { after(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_0__2__Impl + rule__XAssignment__Group_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); } + ruleOpSingleAssign + { after(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_0__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3()); } + (rule__XAssignment__ValueAssignment_0_3) + { after(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAssignment__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1__0__Impl + rule__XAssignment__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); } + ruleXOrExpression + { after(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getGroup_1_1()); } + (rule__XAssignment__Group_1_1__0)? + { after(grammarAccess.getXAssignmentAccess().getGroup_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAssignment__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1_1__0__Impl + rule__XAssignment__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0()); } + (rule__XAssignment__Group_1_1_0__0) + { after(grammarAccess.getXAssignmentAccess().getGroup_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1()); } + (rule__XAssignment__RightOperandAssignment_1_1_1) + { after(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAssignment__Group_1_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0()); } + (rule__XAssignment__Group_1_1_0_0__0) + { after(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAssignment__Group_1_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1_1_0_0__0__Impl + rule__XAssignment__Group_1_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); } + () + { after(grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1()); } + (rule__XAssignment__FeatureAssignment_1_1_0_0_1) + { after(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpMultiAssign__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_5__0__Impl + rule__OpMultiAssign__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); } + '<' + { after(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_5__1__Impl + rule__OpMultiAssign__Group_5__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); } + '<' + { after(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_5__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_5__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_5__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); } + '=' + { after(grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpMultiAssign__Group_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_6__0__Impl + rule__OpMultiAssign__Group_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); } + '>' + { after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_6__1__Impl + rule__OpMultiAssign__Group_6__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); } + ('>')? + { after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_6__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_6__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_6__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); } + '>=' + { after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOrExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group__0__Impl + rule__XOrExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); } + ruleXAndExpression + { after(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getGroup_1()); } + (rule__XOrExpression__Group_1__0)* + { after(grammarAccess.getXOrExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOrExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group_1__0__Impl + rule__XOrExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getGroup_1_0()); } + (rule__XOrExpression__Group_1_0__0) + { after(grammarAccess.getXOrExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XOrExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOrExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0()); } + (rule__XOrExpression__Group_1_0_0__0) + { after(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOrExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group_1_0_0__0__Impl + rule__XOrExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XOrExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAndExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group__0__Impl + rule__XAndExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); } + ruleXEqualityExpression + { after(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getGroup_1()); } + (rule__XAndExpression__Group_1__0)* + { after(grammarAccess.getXAndExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAndExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group_1__0__Impl + rule__XAndExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getGroup_1_0()); } + (rule__XAndExpression__Group_1_0__0) + { after(grammarAccess.getXAndExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XAndExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAndExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0()); } + (rule__XAndExpression__Group_1_0_0__0) + { after(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAndExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group_1_0_0__0__Impl + rule__XAndExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XAndExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XEqualityExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group__0__Impl + rule__XEqualityExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); } + ruleXRelationalExpression + { after(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getGroup_1()); } + (rule__XEqualityExpression__Group_1__0)* + { after(grammarAccess.getXEqualityExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XEqualityExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group_1__0__Impl + rule__XEqualityExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0()); } + (rule__XEqualityExpression__Group_1_0__0) + { after(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XEqualityExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XEqualityExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0()); } + (rule__XEqualityExpression__Group_1_0_0__0) + { after(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XEqualityExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group_1_0_0__0__Impl + rule__XEqualityExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XEqualityExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group__0__Impl + rule__XRelationalExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); } + ruleXOtherOperatorExpression + { after(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1()); } + (rule__XRelationalExpression__Alternatives_1)* + { after(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_0__0__Impl + rule__XRelationalExpression__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0()); } + (rule__XRelationalExpression__Group_1_0_0__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1()); } + (rule__XRelationalExpression__TypeAssignment_1_0_1) + { after(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_0_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0()); } + (rule__XRelationalExpression__Group_1_0_0_0__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_0_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_0_0_0__0__Impl + rule__XRelationalExpression__Group_1_0_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0()); } + () + { after(grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_0_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); } + 'instanceof' + { after(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_1__0__Impl + rule__XRelationalExpression__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0()); } + (rule__XRelationalExpression__Group_1_1_0__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1()); } + (rule__XRelationalExpression__RightOperandAssignment_1_1_1) + { after(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0()); } + (rule__XRelationalExpression__Group_1_1_0_0__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_1_0_0__0__Impl + rule__XRelationalExpression__Group_1_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); } + () + { after(grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1()); } + (rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1) + { after(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpCompare__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpCompare__Group_1__0__Impl + rule__OpCompare__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpCompare__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); } + '<' + { after(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpCompare__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpCompare__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpCompare__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); } + '=' + { after(grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOtherOperatorExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group__0__Impl + rule__XOtherOperatorExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); } + ruleXAdditiveExpression + { after(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1()); } + (rule__XOtherOperatorExpression__Group_1__0)* + { after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOtherOperatorExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group_1__0__Impl + rule__XOtherOperatorExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0()); } + (rule__XOtherOperatorExpression__Group_1_0__0) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XOtherOperatorExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOtherOperatorExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0()); } + (rule__XOtherOperatorExpression__Group_1_0_0__0) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOtherOperatorExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group_1_0_0__0__Impl + rule__XOtherOperatorExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_2__0__Impl + rule__OpOther__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); } + '>' + { after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); } + '..' + { after(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_5__0__Impl + rule__OpOther__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); } + '>' + { after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_5__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getAlternatives_5_1()); } + (rule__OpOther__Alternatives_5_1) + { after(grammarAccess.getOpOtherAccess().getAlternatives_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_5_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_5_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0()); } + (rule__OpOther__Group_5_1_0_0__0) + { after(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_5_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_5_1_0_0__0__Impl + rule__OpOther__Group_5_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); } + '>' + { after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_5_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); } + '>' + { after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_6__0__Impl + rule__OpOther__Group_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); } + '<' + { after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_6__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getAlternatives_6_1()); } + (rule__OpOther__Alternatives_6_1) + { after(grammarAccess.getOpOtherAccess().getAlternatives_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_6_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_6_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0()); } + (rule__OpOther__Group_6_1_0_0__0) + { after(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_6_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_6_1_0_0__0__Impl + rule__OpOther__Group_6_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); } + '<' + { after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_6_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); } + '<' + { after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAdditiveExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group__0__Impl + rule__XAdditiveExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); } + ruleXMultiplicativeExpression + { after(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1()); } + (rule__XAdditiveExpression__Group_1__0)* + { after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAdditiveExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group_1__0__Impl + rule__XAdditiveExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0()); } + (rule__XAdditiveExpression__Group_1_0__0) + { after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XAdditiveExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAdditiveExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0()); } + (rule__XAdditiveExpression__Group_1_0_0__0) + { after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAdditiveExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group_1_0_0__0__Impl + rule__XAdditiveExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XAdditiveExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMultiplicativeExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group__0__Impl + rule__XMultiplicativeExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); } + ruleXUnaryOperation + { after(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1()); } + (rule__XMultiplicativeExpression__Group_1__0)* + { after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMultiplicativeExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group_1__0__Impl + rule__XMultiplicativeExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0()); } + (rule__XMultiplicativeExpression__Group_1_0__0) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XMultiplicativeExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMultiplicativeExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0()); } + (rule__XMultiplicativeExpression__Group_1_0_0__0) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMultiplicativeExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group_1_0_0__0__Impl + rule__XMultiplicativeExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XUnaryOperation__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XUnaryOperation__Group_0__0__Impl + rule__XUnaryOperation__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0()); } + () + { after(grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XUnaryOperation__Group_0__1__Impl + rule__XUnaryOperation__Group_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1()); } + (rule__XUnaryOperation__FeatureAssignment_0_1) + { after(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Group_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XUnaryOperation__Group_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Group_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2()); } + (rule__XUnaryOperation__OperandAssignment_0_2) + { after(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCastedExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group__0__Impl + rule__XCastedExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); } + ruleXPostfixOperation + { after(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getGroup_1()); } + (rule__XCastedExpression__Group_1__0)* + { after(grammarAccess.getXCastedExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCastedExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group_1__0__Impl + rule__XCastedExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getGroup_1_0()); } + (rule__XCastedExpression__Group_1_0__0) + { after(grammarAccess.getXCastedExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1()); } + (rule__XCastedExpression__TypeAssignment_1_1) + { after(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCastedExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0()); } + (rule__XCastedExpression__Group_1_0_0__0) + { after(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCastedExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group_1_0_0__0__Impl + rule__XCastedExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0()); } + () + { after(grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); } + 'as' + { after(grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XPostfixOperation__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XPostfixOperation__Group__0__Impl + rule__XPostfixOperation__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); } + ruleXMemberFeatureCall + { after(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XPostfixOperation__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXPostfixOperationAccess().getGroup_1()); } + (rule__XPostfixOperation__Group_1__0)? + { after(grammarAccess.getXPostfixOperationAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XPostfixOperation__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XPostfixOperation__Group_1__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXPostfixOperationAccess().getGroup_1_0()); } + (rule__XPostfixOperation__Group_1_0__0) + { after(grammarAccess.getXPostfixOperationAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XPostfixOperation__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XPostfixOperation__Group_1_0__0__Impl + rule__XPostfixOperation__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0()); } + () + { after(grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XPostfixOperation__Group_1_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1()); } + (rule__XPostfixOperation__FeatureAssignment_1_0_1) + { after(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group__0__Impl + rule__XMemberFeatureCall__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); } + ruleXPrimaryExpression + { after(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1()); } + (rule__XMemberFeatureCall__Alternatives_1)* + { after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0__0__Impl + rule__XMemberFeatureCall__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0()); } + (rule__XMemberFeatureCall__Group_1_0_0__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1()); } + (rule__XMemberFeatureCall__ValueAssignment_1_0_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0()); } + (rule__XMemberFeatureCall__Group_1_0_0_0__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_0_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl + rule__XMemberFeatureCall__Group_1_0_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0()); } + () + { after(grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl + rule__XMemberFeatureCall__Group_1_0_0_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1()); } + (rule__XMemberFeatureCall__Alternatives_1_0_0_0_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl + rule__XMemberFeatureCall__Group_1_0_0_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2()); } + (rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2) + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); } + ruleOpSingleAssign + { after(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1__0__Impl + rule__XMemberFeatureCall__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0()); } + (rule__XMemberFeatureCall__Group_1_1_0__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1__1__Impl + rule__XMemberFeatureCall__Group_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1()); } + (rule__XMemberFeatureCall__Group_1_1_1__0)? + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1__2__Impl + rule__XMemberFeatureCall__Group_1_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2()); } + (rule__XMemberFeatureCall__FeatureAssignment_1_1_2) + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1__3__Impl + rule__XMemberFeatureCall__Group_1_1__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3()); } + (rule__XMemberFeatureCall__Group_1_1_3__0)? + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4()); } + (rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4)? + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0()); } + (rule__XMemberFeatureCall__Group_1_1_0_0__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl + rule__XMemberFeatureCall__Group_1_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0()); } + () + { after(grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1()); } + (rule__XMemberFeatureCall__Alternatives_1_1_0_0_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1__0__Impl + rule__XMemberFeatureCall__Group_1_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); } + '<' + { after(grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1__1__Impl + rule__XMemberFeatureCall__Group_1_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1()); } + (rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1__2__Impl + rule__XMemberFeatureCall__Group_1_1_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2()); } + (rule__XMemberFeatureCall__Group_1_1_1_2__0)* + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); } + '>' + { after(grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_1_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl + rule__XMemberFeatureCall__Group_1_1_1_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); } + ',' + { after(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1()); } + (rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3__0__Impl + rule__XMemberFeatureCall__Group_1_1_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0()); } + (rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3__1__Impl + rule__XMemberFeatureCall__Group_1_1_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1()); } + (rule__XMemberFeatureCall__Alternatives_1_1_3_1)? + { after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); } + ')' + { after(grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_3_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl + rule__XMemberFeatureCall__Group_1_1_3_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0()); } + (rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0) + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1()); } + (rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0)* + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); } + ',' + { after(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1()); } + (rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSetLiteral__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group__0__Impl + rule__XSetLiteral__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0()); } + () + { after(grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group__1__Impl + rule__XSetLiteral__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); } + '#' + { after(grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group__2__Impl + rule__XSetLiteral__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); } + '{' + { after(grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group__3__Impl + rule__XSetLiteral__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getGroup_3()); } + (rule__XSetLiteral__Group_3__0)? + { after(grammarAccess.getXSetLiteralAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); } + '}' + { after(grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSetLiteral__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group_3__0__Impl + rule__XSetLiteral__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0()); } + (rule__XSetLiteral__ElementsAssignment_3_0) + { after(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getGroup_3_1()); } + (rule__XSetLiteral__Group_3_1__0)* + { after(grammarAccess.getXSetLiteralAccess().getGroup_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSetLiteral__Group_3_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group_3_1__0__Impl + rule__XSetLiteral__Group_3_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); } + ',' + { after(grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group_3_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1()); } + (rule__XSetLiteral__ElementsAssignment_3_1_1) + { after(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XListLiteral__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group__0__Impl + rule__XListLiteral__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getXListLiteralAction_0()); } + () + { after(grammarAccess.getXListLiteralAccess().getXListLiteralAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group__1__Impl + rule__XListLiteral__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); } + '#' + { after(grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group__2__Impl + rule__XListLiteral__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); } + '[' + { after(grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group__3__Impl + rule__XListLiteral__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getGroup_3()); } + (rule__XListLiteral__Group_3__0)? + { after(grammarAccess.getXListLiteralAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); } + ']' + { after(grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XListLiteral__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group_3__0__Impl + rule__XListLiteral__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0()); } + (rule__XListLiteral__ElementsAssignment_3_0) + { after(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getGroup_3_1()); } + (rule__XListLiteral__Group_3_1__0)* + { after(grammarAccess.getXListLiteralAccess().getGroup_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XListLiteral__Group_3_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group_3_1__0__Impl + rule__XListLiteral__Group_3_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); } + ',' + { after(grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group_3_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1()); } + (rule__XListLiteral__ElementsAssignment_3_1_1) + { after(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group__0__Impl + rule__XClosure__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_0()); } + (rule__XClosure__Group_0__0) + { after(grammarAccess.getXClosureAccess().getGroup_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group__1__Impl + rule__XClosure__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_1()); } + (rule__XClosure__Group_1__0)? + { after(grammarAccess.getXClosureAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group__2__Impl + rule__XClosure__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getExpressionAssignment_2()); } + (rule__XClosure__ExpressionAssignment_2) + { after(grammarAccess.getXClosureAccess().getExpressionAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); } + ']' + { after(grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_0_0()); } + (rule__XClosure__Group_0_0__0) + { after(grammarAccess.getXClosureAccess().getGroup_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_0_0__0__Impl + rule__XClosure__Group_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getXClosureAction_0_0_0()); } + () + { after(grammarAccess.getXClosureAccess().getXClosureAction_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); } + '[' + { after(grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_1_0()); } + (rule__XClosure__Group_1_0__0) + { after(grammarAccess.getXClosureAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0__0__Impl + rule__XClosure__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_1_0_0()); } + (rule__XClosure__Group_1_0_0__0)? + { after(grammarAccess.getXClosureAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1()); } + (rule__XClosure__ExplicitSyntaxAssignment_1_0_1) + { after(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0_0__0__Impl + rule__XClosure__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0()); } + (rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0) + { after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_1_0_0_1()); } + (rule__XClosure__Group_1_0_0_1__0)* + { after(grammarAccess.getXClosureAccess().getGroup_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_1_0_0_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0_0_1__0__Impl + rule__XClosure__Group_1_0_0_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); } + ',' + { after(grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0_0_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1()); } + (rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1) + { after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XExpressionInClosure__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XExpressionInClosure__Group__0__Impl + rule__XExpressionInClosure__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0()); } + () + { after(grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XExpressionInClosure__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXExpressionInClosureAccess().getGroup_1()); } + (rule__XExpressionInClosure__Group_1__0)* + { after(grammarAccess.getXExpressionInClosureAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XExpressionInClosure__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XExpressionInClosure__Group_1__0__Impl + rule__XExpressionInClosure__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0()); } + (rule__XExpressionInClosure__ExpressionsAssignment_1_0) + { after(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XExpressionInClosure__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); } + (';')? + { after(grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XShortClosure__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group__0__Impl + rule__XShortClosure__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getGroup_0()); } + (rule__XShortClosure__Group_0__0) + { after(grammarAccess.getXShortClosureAccess().getGroup_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1()); } + (rule__XShortClosure__ExpressionAssignment_1) + { after(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XShortClosure__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getGroup_0_0()); } + (rule__XShortClosure__Group_0_0__0) + { after(grammarAccess.getXShortClosureAccess().getGroup_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XShortClosure__Group_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0__0__Impl + rule__XShortClosure__Group_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0()); } + () + { after(grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0__1__Impl + rule__XShortClosure__Group_0_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getGroup_0_0_1()); } + (rule__XShortClosure__Group_0_0_1__0)? + { after(grammarAccess.getXShortClosureAccess().getGroup_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2()); } + (rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2) + { after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XShortClosure__Group_0_0_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0_1__0__Impl + rule__XShortClosure__Group_0_0_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0()); } + (rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0) + { after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1()); } + (rule__XShortClosure__Group_0_0_1_1__0)* + { after(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XShortClosure__Group_0_0_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0_1_1__0__Impl + rule__XShortClosure__Group_0_0_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); } + ',' + { after(grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1()); } + (rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1) + { after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XParenthesizedExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XParenthesizedExpression__Group__0__Impl + rule__XParenthesizedExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XParenthesizedExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } + '(' + { after(grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XParenthesizedExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XParenthesizedExpression__Group__1__Impl + rule__XParenthesizedExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XParenthesizedExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); } + ruleXExpression + { after(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XParenthesizedExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XParenthesizedExpression__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XParenthesizedExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); } + ')' + { after(grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XIfExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__0__Impl + rule__XIfExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0()); } + () + { after(grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__1__Impl + rule__XIfExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); } + 'if' + { after(grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__2__Impl + rule__XIfExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); } + '(' + { after(grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__3__Impl + rule__XIfExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getIfAssignment_3()); } + (rule__XIfExpression__IfAssignment_3) + { after(grammarAccess.getXIfExpressionAccess().getIfAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__4__Impl + rule__XIfExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); } + ')' + { after(grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__5__Impl + rule__XIfExpression__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getThenAssignment_5()); } + (rule__XIfExpression__ThenAssignment_5) + { after(grammarAccess.getXIfExpressionAccess().getThenAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getGroup_6()); } + (rule__XIfExpression__Group_6__0)? + { after(grammarAccess.getXIfExpressionAccess().getGroup_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XIfExpression__Group_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group_6__0__Impl + rule__XIfExpression__Group_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); } + ('else') + { after(grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group_6__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1()); } + (rule__XIfExpression__ElseAssignment_6_1) + { after(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__0__Impl + rule__XSwitchExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0()); } + () + { after(grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__1__Impl + rule__XSwitchExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); } + 'switch' + { after(grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__2__Impl + rule__XSwitchExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2()); } + (rule__XSwitchExpression__Alternatives_2) + { after(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__3__Impl + rule__XSwitchExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); } + '{' + { after(grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__4__Impl + rule__XSwitchExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4()); } + (rule__XSwitchExpression__CasesAssignment_4)* + { after(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__5__Impl + rule__XSwitchExpression__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_5()); } + (rule__XSwitchExpression__Group_5__0)? + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); } + '}' + { after(grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0__0__Impl + rule__XSwitchExpression__Group_2_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0()); } + (rule__XSwitchExpression__Group_2_0_0__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0__1__Impl + rule__XSwitchExpression__Group_2_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1()); } + (rule__XSwitchExpression__SwitchAssignment_2_0_1) + { after(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); } + ')' + { after(grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0()); } + (rule__XSwitchExpression__Group_2_0_0_0__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_0_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0_0_0__0__Impl + rule__XSwitchExpression__Group_2_0_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); } + '(' + { after(grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0_0_0__1__Impl + rule__XSwitchExpression__Group_2_0_0_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1()); } + (rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1) + { after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0_0_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); } + ':' + { after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_1__0__Impl + rule__XSwitchExpression__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0()); } + (rule__XSwitchExpression__Group_2_1_0__0)? + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1()); } + (rule__XSwitchExpression__SwitchAssignment_2_1_1) + { after(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0()); } + (rule__XSwitchExpression__Group_2_1_0_0__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_1_0_0__0__Impl + rule__XSwitchExpression__Group_2_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0()); } + (rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0) + { after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); } + ':' + { after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_5__0__Impl + rule__XSwitchExpression__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); } + 'default' + { after(grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_5__1__Impl + rule__XSwitchExpression__Group_5__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); } + ':' + { after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_5__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_5__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_5__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2()); } + (rule__XSwitchExpression__DefaultAssignment_5_2) + { after(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCasePart__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group__0__Impl + rule__XCasePart__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getXCasePartAction_0()); } + () + { after(grammarAccess.getXCasePartAccess().getXCasePartAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group__1__Impl + rule__XCasePart__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1()); } + (rule__XCasePart__TypeGuardAssignment_1)? + { after(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group__2__Impl + rule__XCasePart__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getGroup_2()); } + (rule__XCasePart__Group_2__0)? + { after(grammarAccess.getXCasePartAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getAlternatives_3()); } + (rule__XCasePart__Alternatives_3) + { after(grammarAccess.getXCasePartAccess().getAlternatives_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCasePart__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group_2__0__Impl + rule__XCasePart__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); } + 'case' + { after(grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1()); } + (rule__XCasePart__CaseAssignment_2_1) + { after(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCasePart__Group_3_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group_3_0__0__Impl + rule__XCasePart__Group_3_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group_3_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); } + ':' + { after(grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group_3_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group_3_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group_3_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1()); } + (rule__XCasePart__ThenAssignment_3_0_1) + { after(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XForLoopExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group__0__Impl + rule__XForLoopExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getGroup_0()); } + (rule__XForLoopExpression__Group_0__0) + { after(grammarAccess.getXForLoopExpressionAccess().getGroup_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group__1__Impl + rule__XForLoopExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1()); } + (rule__XForLoopExpression__ForExpressionAssignment_1) + { after(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group__2__Impl + rule__XForLoopExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); } + ')' + { after(grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3()); } + (rule__XForLoopExpression__EachExpressionAssignment_3) + { after(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XForLoopExpression__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0()); } + (rule__XForLoopExpression__Group_0_0__0) + { after(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XForLoopExpression__Group_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group_0_0__0__Impl + rule__XForLoopExpression__Group_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0()); } + () + { after(grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group_0_0__1__Impl + rule__XForLoopExpression__Group_0_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); } + 'for' + { after(grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group_0_0__2__Impl + rule__XForLoopExpression__Group_0_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } + '(' + { after(grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group_0_0__3__Impl + rule__XForLoopExpression__Group_0_0__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3()); } + (rule__XForLoopExpression__DeclaredParamAssignment_0_0_3) + { after(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XForLoopExpression__Group_0_0__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XForLoopExpression__Group_0_0__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); } + ':' + { after(grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XBasicForLoopExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__0__Impl + rule__XBasicForLoopExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0()); } + () + { after(grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__1__Impl + rule__XBasicForLoopExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); } + 'for' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__2__Impl + rule__XBasicForLoopExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); } + '(' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__3__Impl + rule__XBasicForLoopExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3()); } + (rule__XBasicForLoopExpression__Group_3__0)? + { after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__4__Impl + rule__XBasicForLoopExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); } + ';' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__5__Impl + rule__XBasicForLoopExpression__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5()); } + (rule__XBasicForLoopExpression__ExpressionAssignment_5)? + { after(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__6__Impl + rule__XBasicForLoopExpression__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); } + ';' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__7__Impl + rule__XBasicForLoopExpression__Group__8 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7()); } + (rule__XBasicForLoopExpression__Group_7__0)? + { after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__8 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__8__Impl + rule__XBasicForLoopExpression__Group__9 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__8__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); } + ')' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__9 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group__9__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group__9__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9()); } + (rule__XBasicForLoopExpression__EachExpressionAssignment_9) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XBasicForLoopExpression__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group_3__0__Impl + rule__XBasicForLoopExpression__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0()); } + (rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1()); } + (rule__XBasicForLoopExpression__Group_3_1__0)* + { after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XBasicForLoopExpression__Group_3_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group_3_1__0__Impl + rule__XBasicForLoopExpression__Group_3_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_3_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); } + ',' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_3_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group_3_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_3_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1()); } + (rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XBasicForLoopExpression__Group_7__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group_7__0__Impl + rule__XBasicForLoopExpression__Group_7__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_7__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0()); } + (rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_7__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group_7__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_7__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1()); } + (rule__XBasicForLoopExpression__Group_7_1__0)* + { after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XBasicForLoopExpression__Group_7_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group_7_1__0__Impl + rule__XBasicForLoopExpression__Group_7_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_7_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); } + ',' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_7_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBasicForLoopExpression__Group_7_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XBasicForLoopExpression__Group_7_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1()); } + (rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XWhileExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XWhileExpression__Group__0__Impl + rule__XWhileExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0()); } + () + { after(grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XWhileExpression__Group__1__Impl + rule__XWhileExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); } + 'while' + { after(grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XWhileExpression__Group__2__Impl + rule__XWhileExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); } + '(' + { after(grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XWhileExpression__Group__3__Impl + rule__XWhileExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3()); } + (rule__XWhileExpression__PredicateAssignment_3) + { after(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XWhileExpression__Group__4__Impl + rule__XWhileExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); } + ')' + { after(grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__XWhileExpression__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XWhileExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5()); } + (rule__XWhileExpression__BodyAssignment_5) + { after(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XDoWhileExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XDoWhileExpression__Group__0__Impl + rule__XDoWhileExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0()); } + () + { after(grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XDoWhileExpression__Group__1__Impl + rule__XDoWhileExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); } + 'do' + { after(grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XDoWhileExpression__Group__2__Impl + rule__XDoWhileExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2()); } + (rule__XDoWhileExpression__BodyAssignment_2) + { after(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XDoWhileExpression__Group__3__Impl + rule__XDoWhileExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); } + 'while' + { after(grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XDoWhileExpression__Group__4__Impl + rule__XDoWhileExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); } + '(' + { after(grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__XDoWhileExpression__Group__5__Impl + rule__XDoWhileExpression__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5()); } + (rule__XDoWhileExpression__PredicateAssignment_5) + { after(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__XDoWhileExpression__Group__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XDoWhileExpression__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); } + ')' + { after(grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XBlockExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBlockExpression__Group__0__Impl + rule__XBlockExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBlockExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0()); } + () + { after(grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBlockExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBlockExpression__Group__1__Impl + rule__XBlockExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBlockExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); } + '{' + { after(grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBlockExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBlockExpression__Group__2__Impl + rule__XBlockExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBlockExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBlockExpressionAccess().getGroup_2()); } + (rule__XBlockExpression__Group_2__0)* + { after(grammarAccess.getXBlockExpressionAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBlockExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBlockExpression__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XBlockExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); } + '}' + { after(grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XBlockExpression__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBlockExpression__Group_2__0__Impl + rule__XBlockExpression__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBlockExpression__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0()); } + (rule__XBlockExpression__ExpressionsAssignment_2_0) + { after(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBlockExpression__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBlockExpression__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XBlockExpression__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); } + (';')? + { after(grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XVariableDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XVariableDeclaration__Group__0__Impl + rule__XVariableDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0()); } + () + { after(grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XVariableDeclaration__Group__1__Impl + rule__XVariableDeclaration__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1()); } + (rule__XVariableDeclaration__Alternatives_1) + { after(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XVariableDeclaration__Group__2__Impl + rule__XVariableDeclaration__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2()); } + (rule__XVariableDeclaration__Alternatives_2) + { after(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XVariableDeclaration__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXVariableDeclarationAccess().getGroup_3()); } + (rule__XVariableDeclaration__Group_3__0)? + { after(grammarAccess.getXVariableDeclarationAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XVariableDeclaration__Group_2_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XVariableDeclaration__Group_2_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Group_2_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0()); } + (rule__XVariableDeclaration__Group_2_0_0__0) + { after(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XVariableDeclaration__Group_2_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XVariableDeclaration__Group_2_0_0__0__Impl + rule__XVariableDeclaration__Group_2_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Group_2_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0()); } + (rule__XVariableDeclaration__TypeAssignment_2_0_0_0) + { after(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Group_2_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XVariableDeclaration__Group_2_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Group_2_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1()); } + (rule__XVariableDeclaration__NameAssignment_2_0_0_1) + { after(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XVariableDeclaration__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XVariableDeclaration__Group_3__0__Impl + rule__XVariableDeclaration__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); } + '=' + { after(grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XVariableDeclaration__Group_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1()); } + (rule__XVariableDeclaration__RightAssignment_3_1) + { after(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__JvmFormalParameter__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__JvmFormalParameter__Group__0__Impl + rule__JvmFormalParameter__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__JvmFormalParameter__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0()); } + (rule__JvmFormalParameter__ParameterTypeAssignment_0)? + { after(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__JvmFormalParameter__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__JvmFormalParameter__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__JvmFormalParameter__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1()); } + (rule__JvmFormalParameter__NameAssignment_1) + { after(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__FullJvmFormalParameter__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__FullJvmFormalParameter__Group__0__Impl + rule__FullJvmFormalParameter__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__FullJvmFormalParameter__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0()); } + (rule__FullJvmFormalParameter__ParameterTypeAssignment_0) + { after(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FullJvmFormalParameter__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__FullJvmFormalParameter__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__FullJvmFormalParameter__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1()); } + (rule__FullJvmFormalParameter__NameAssignment_1) + { after(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XFeatureCall__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group__0__Impl + rule__XFeatureCall__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0()); } + () + { after(grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group__1__Impl + rule__XFeatureCall__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getGroup_1()); } + (rule__XFeatureCall__Group_1__0)? + { after(grammarAccess.getXFeatureCallAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group__2__Impl + rule__XFeatureCall__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2()); } + (rule__XFeatureCall__FeatureAssignment_2) + { after(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group__3__Impl + rule__XFeatureCall__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getGroup_3()); } + (rule__XFeatureCall__Group_3__0)? + { after(grammarAccess.getXFeatureCallAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4()); } + (rule__XFeatureCall__FeatureCallArgumentsAssignment_4)? + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XFeatureCall__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group_1__0__Impl + rule__XFeatureCall__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); } + '<' + { after(grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group_1__1__Impl + rule__XFeatureCall__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1()); } + (rule__XFeatureCall__TypeArgumentsAssignment_1_1) + { after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group_1__2__Impl + rule__XFeatureCall__Group_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getGroup_1_2()); } + (rule__XFeatureCall__Group_1_2__0)* + { after(grammarAccess.getXFeatureCallAccess().getGroup_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group_1__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); } + '>' + { after(grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XFeatureCall__Group_1_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group_1_2__0__Impl + rule__XFeatureCall__Group_1_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_1_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); } + ',' + { after(grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_1_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group_1_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_1_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1()); } + (rule__XFeatureCall__TypeArgumentsAssignment_1_2_1) + { after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XFeatureCall__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group_3__0__Impl + rule__XFeatureCall__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0()); } + (rule__XFeatureCall__ExplicitOperationCallAssignment_3_0) + { after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group_3__1__Impl + rule__XFeatureCall__Group_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1()); } + (rule__XFeatureCall__Alternatives_3_1)? + { after(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group_3__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); } + ')' + { after(grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XFeatureCall__Group_3_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group_3_1_1__0__Impl + rule__XFeatureCall__Group_3_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_3_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0()); } + (rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0) + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_3_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group_3_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_3_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1()); } + (rule__XFeatureCall__Group_3_1_1_1__0)* + { after(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XFeatureCall__Group_3_1_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group_3_1_1_1__0__Impl + rule__XFeatureCall__Group_3_1_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_3_1_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); } + ',' + { after(grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_3_1_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XFeatureCall__Group_3_1_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Group_3_1_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1()); } + (rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1) + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XConstructorCall__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group__0__Impl + rule__XConstructorCall__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0()); } + () + { after(grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group__1__Impl + rule__XConstructorCall__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); } + 'new' + { after(grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group__2__Impl + rule__XConstructorCall__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2()); } + (rule__XConstructorCall__ConstructorAssignment_2) + { after(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group__3__Impl + rule__XConstructorCall__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getGroup_3()); } + (rule__XConstructorCall__Group_3__0)? + { after(grammarAccess.getXConstructorCallAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group__4__Impl + rule__XConstructorCall__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getGroup_4()); } + (rule__XConstructorCall__Group_4__0)? + { after(grammarAccess.getXConstructorCallAccess().getGroup_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5()); } + (rule__XConstructorCall__ArgumentsAssignment_5)? + { after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XConstructorCall__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group_3__0__Impl + rule__XConstructorCall__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); } + ('<') + { after(grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group_3__1__Impl + rule__XConstructorCall__Group_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1()); } + (rule__XConstructorCall__TypeArgumentsAssignment_3_1) + { after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group_3__2__Impl + rule__XConstructorCall__Group_3__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getGroup_3_2()); } + (rule__XConstructorCall__Group_3_2__0)* + { after(grammarAccess.getXConstructorCallAccess().getGroup_3_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_3__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group_3__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_3__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); } + '>' + { after(grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XConstructorCall__Group_3_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group_3_2__0__Impl + rule__XConstructorCall__Group_3_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_3_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); } + ',' + { after(grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_3_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group_3_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_3_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1()); } + (rule__XConstructorCall__TypeArgumentsAssignment_3_2_1) + { after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XConstructorCall__Group_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group_4__0__Impl + rule__XConstructorCall__Group_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0()); } + (rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0) + { after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group_4__1__Impl + rule__XConstructorCall__Group_4__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1()); } + (rule__XConstructorCall__Alternatives_4_1)? + { after(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_4__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group_4__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_4__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); } + ')' + { after(grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XConstructorCall__Group_4_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group_4_1_1__0__Impl + rule__XConstructorCall__Group_4_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_4_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0()); } + (rule__XConstructorCall__ArgumentsAssignment_4_1_1_0) + { after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_4_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group_4_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_4_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1()); } + (rule__XConstructorCall__Group_4_1_1_1__0)* + { after(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XConstructorCall__Group_4_1_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group_4_1_1_1__0__Impl + rule__XConstructorCall__Group_4_1_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_4_1_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); } + ',' + { after(grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_4_1_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XConstructorCall__Group_4_1_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Group_4_1_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1()); } + (rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1) + { after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XBooleanLiteral__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBooleanLiteral__Group__0__Impl + rule__XBooleanLiteral__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XBooleanLiteral__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0()); } + () + { after(grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBooleanLiteral__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XBooleanLiteral__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XBooleanLiteral__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1()); } + (rule__XBooleanLiteral__Alternatives_1) + { after(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XNullLiteral__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XNullLiteral__Group__0__Impl + rule__XNullLiteral__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XNullLiteral__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0()); } + () + { after(grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XNullLiteral__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XNullLiteral__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XNullLiteral__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); } + 'null' + { after(grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XNumberLiteral__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XNumberLiteral__Group__0__Impl + rule__XNumberLiteral__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XNumberLiteral__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0()); } + () + { after(grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XNumberLiteral__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XNumberLiteral__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XNumberLiteral__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1()); } + (rule__XNumberLiteral__ValueAssignment_1) + { after(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XStringLiteral__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XStringLiteral__Group__0__Impl + rule__XStringLiteral__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XStringLiteral__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0()); } + () + { after(grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XStringLiteral__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XStringLiteral__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XStringLiteral__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXStringLiteralAccess().getValueAssignment_1()); } + (rule__XStringLiteral__ValueAssignment_1) + { after(grammarAccess.getXStringLiteralAccess().getValueAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XTypeLiteral__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XTypeLiteral__Group__0__Impl + rule__XTypeLiteral__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XTypeLiteral__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0()); } + () + { after(grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XTypeLiteral__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XTypeLiteral__Group__1__Impl + rule__XTypeLiteral__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XTypeLiteral__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); } + 'typeof' + { after(grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XTypeLiteral__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XTypeLiteral__Group__2__Impl + rule__XTypeLiteral__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XTypeLiteral__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); } + '(' + { after(grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XTypeLiteral__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XTypeLiteral__Group__3__Impl + rule__XTypeLiteral__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XTypeLiteral__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3()); } + (rule__XTypeLiteral__TypeAssignment_3) + { after(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XTypeLiteral__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XTypeLiteral__Group__4__Impl + rule__XTypeLiteral__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__XTypeLiteral__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4()); } + (rule__XTypeLiteral__ArrayDimensionsAssignment_4)* + { after(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XTypeLiteral__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__XTypeLiteral__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XTypeLiteral__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); } + ')' + { after(grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XThrowExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XThrowExpression__Group__0__Impl + rule__XThrowExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XThrowExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0()); } + () + { after(grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XThrowExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XThrowExpression__Group__1__Impl + rule__XThrowExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XThrowExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); } + 'throw' + { after(grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XThrowExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XThrowExpression__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XThrowExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2()); } + (rule__XThrowExpression__ExpressionAssignment_2) + { after(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XReturnExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XReturnExpression__Group__0__Impl + rule__XReturnExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XReturnExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0()); } + () + { after(grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XReturnExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XReturnExpression__Group__1__Impl + rule__XReturnExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XReturnExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); } + 'return' + { after(grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XReturnExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XReturnExpression__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XReturnExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2()); } + (rule__XReturnExpression__ExpressionAssignment_2)? + { after(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XTryCatchFinallyExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XTryCatchFinallyExpression__Group__0__Impl + rule__XTryCatchFinallyExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0()); } + () + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XTryCatchFinallyExpression__Group__1__Impl + rule__XTryCatchFinallyExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); } + 'try' + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XTryCatchFinallyExpression__Group__2__Impl + rule__XTryCatchFinallyExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2()); } + (rule__XTryCatchFinallyExpression__ExpressionAssignment_2) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XTryCatchFinallyExpression__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3()); } + (rule__XTryCatchFinallyExpression__Alternatives_3) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XTryCatchFinallyExpression__Group_3_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XTryCatchFinallyExpression__Group_3_0__0__Impl + rule__XTryCatchFinallyExpression__Group_3_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Group_3_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + ( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); } + (rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); } + ) + ( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); } + (rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0)* + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); } + ) +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Group_3_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XTryCatchFinallyExpression__Group_3_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Group_3_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1()); } + (rule__XTryCatchFinallyExpression__Group_3_0_1__0)? + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XTryCatchFinallyExpression__Group_3_0_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl + rule__XTryCatchFinallyExpression__Group_3_0_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); } + ('finally') + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Group_3_0_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1()); } + (rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XTryCatchFinallyExpression__Group_3_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XTryCatchFinallyExpression__Group_3_1__0__Impl + rule__XTryCatchFinallyExpression__Group_3_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Group_3_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); } + 'finally' + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Group_3_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XTryCatchFinallyExpression__Group_3_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Group_3_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1()); } + (rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSynchronizedExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSynchronizedExpression__Group__0__Impl + rule__XSynchronizedExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSynchronizedExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0()); } + (rule__XSynchronizedExpression__Group_0__0) + { after(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSynchronizedExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSynchronizedExpression__Group__1__Impl + rule__XSynchronizedExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSynchronizedExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1()); } + (rule__XSynchronizedExpression__ParamAssignment_1) + { after(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSynchronizedExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSynchronizedExpression__Group__2__Impl + rule__XSynchronizedExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSynchronizedExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); } + ')' + { after(grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSynchronizedExpression__Group__3 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); } - ruleLiteral - { after(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); } - ruleFeatureCall - { after(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); } - ) - | - ( - { before(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); } - ruleListLiteral - { after(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); } - ) - | - ( - { before(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); } - ruleConstructorCallExpression - { after(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); } - ) - | - ( - { before(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); } - ruleGlobalVarExpression - { after(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); } - ) - | - ( - { before(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); } - ruleParanthesizedExpression - { after(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); } - ) + rule__XSynchronizedExpression__Group__3__Impl ; finally { restoreStackSize(stackSize); } -rule__Literal__Alternatives +rule__XSynchronizedExpression__Group__3__Impl @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); } - ruleBooleanLiteral - { after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); } - ruleIntegerLiteral - { after(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); } - ) - | - ( - { before(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); } - ruleNullLiteral - { after(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); } - ) - | - ( - { before(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); } - ruleRealLiteral - { after(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); } - ) - | - ( - { before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); } - ruleStringLiteral - { after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); } - ) +( + { before(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3()); } + (rule__XSynchronizedExpression__ExpressionAssignment_3) + { after(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3()); } +) ; finally { restoreStackSize(stackSize); } -rule__BooleanLiteral__ValAlternatives_0 + +rule__XSynchronizedExpression__Group_0__0 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); } - 'true' - { after(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); } - ) - | - ( - { before(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); } - 'false' - { after(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); } - ) + rule__XSynchronizedExpression__Group_0__0__Impl ; finally { restoreStackSize(stackSize); } -rule__FeatureCall__Alternatives +rule__XSynchronizedExpression__Group_0__0__Impl @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); } - ruleOperationCall - { after(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); } - (rule__FeatureCall__TypeAssignment_1) - { after(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); } - ) - | - ( - { before(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); } - ruleCollectionExpression - { after(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); } - ) - | - ( - { before(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); } - ruleTypeSelectExpression - { after(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); } - ) +( + { before(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0()); } + (rule__XSynchronizedExpression__Group_0_0__0) + { after(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0()); } +) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__NameAlternatives_0_0 + +rule__XSynchronizedExpression__Group_0_0__0 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); } - 'collect' - { after(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); } - ) - | - ( - { before(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); } - 'select' - { after(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); } - ) - | - ( - { before(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); } - 'selectFirst' - { after(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); } - ) - | - ( - { before(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); } - 'reject' - { after(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); } - ) - | - ( - { before(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); } - 'exists' - { after(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); } - ) - | - ( - { before(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); } - 'notExists' - { after(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); } - ) - | - ( - { before(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); } - 'sortBy' - { after(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); } - ) - | - ( - { before(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); } - 'forAll' - { after(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); } - ) + rule__XSynchronizedExpression__Group_0_0__0__Impl + rule__XSynchronizedExpression__Group_0_0__1 ; finally { restoreStackSize(stackSize); } -rule__Type__Alternatives +rule__XSynchronizedExpression__Group_0_0__0__Impl @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); } - ruleCollectionType - { after(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); } - ruleSimpleType - { after(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); } - ) +( + { before(grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0()); } + () + { after(grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0()); } +) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__ClAlternatives_0_0 +rule__XSynchronizedExpression__Group_0_0__1 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); } - 'Collection' - { after(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); } - ) - | - ( - { before(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); } - 'List' - { after(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); } - ) - | - ( - { before(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); } - 'Set' - { after(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); } - ) + rule__XSynchronizedExpression__Group_0_0__1__Impl + rule__XSynchronizedExpression__Group_0_0__2 ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__0 +rule__XSynchronizedExpression__Group_0_0__1__Impl @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__0__Impl - rule__LetExpression__Group__1 +( + { before(grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); } + 'synchronized' + { after(grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); } +) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__0__Impl +rule__XSynchronizedExpression__Group_0_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSynchronizedExpression__Group_0_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSynchronizedExpression__Group_0_0__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } - 'let' - { after(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } + '(' + { after(grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__1 + +rule__XCatchClause__Group__0 @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__1__Impl - rule__LetExpression__Group__2 + rule__XCatchClause__Group__0__Impl + rule__XCatchClause__Group__1 ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__1__Impl +rule__XCatchClause__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); } - (rule__LetExpression__IdentifierAssignment_1) - { after(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); } + { before(grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); } + ('catch') + { after(grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__2 +rule__XCatchClause__Group__1 @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__2__Impl - rule__LetExpression__Group__3 + rule__XCatchClause__Group__1__Impl + rule__XCatchClause__Group__2 ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__2__Impl +rule__XCatchClause__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } - '=' - { after(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } + { before(grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__3 +rule__XCatchClause__Group__2 @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__3__Impl - rule__LetExpression__Group__4 + rule__XCatchClause__Group__2__Impl + rule__XCatchClause__Group__3 ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__3__Impl +rule__XCatchClause__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); } - (rule__LetExpression__VarExprAssignment_3) - { after(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); } + { before(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2()); } + (rule__XCatchClause__DeclaredParamAssignment_2) + { after(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__4 +rule__XCatchClause__Group__3 @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__4__Impl - rule__LetExpression__Group__5 + rule__XCatchClause__Group__3__Impl + rule__XCatchClause__Group__4 ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__4__Impl +rule__XCatchClause__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } - ':' - { after(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } + { before(grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); } + ')' + { after(grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__5 +rule__XCatchClause__Group__4 @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__5__Impl + rule__XCatchClause__Group__4__Impl ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__5__Impl +rule__XCatchClause__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } - (rule__LetExpression__TargetAssignment_5) - { after(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } + { before(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4()); } + (rule__XCatchClause__ExpressionAssignment_4) + { after(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4()); } ) ; finally { @@ -1653,107 +18154,107 @@ finally { } -rule__CastedExpression__Group__0 +rule__QualifiedName__Group__0 @init { int stackSize = keepStackSize(); } : - rule__CastedExpression__Group__0__Impl - rule__CastedExpression__Group__1 + rule__QualifiedName__Group__0__Impl + rule__QualifiedName__Group__1 ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__0__Impl +rule__QualifiedName__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } - '(' - { after(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } + { before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); } + ruleValidID + { after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__1 +rule__QualifiedName__Group__1 @init { int stackSize = keepStackSize(); } : - rule__CastedExpression__Group__1__Impl - rule__CastedExpression__Group__2 + rule__QualifiedName__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__1__Impl +rule__QualifiedName__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); } - (rule__CastedExpression__TypeAssignment_1) - { after(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); } + { before(grammarAccess.getQualifiedNameAccess().getGroup_1()); } + (rule__QualifiedName__Group_1__0)* + { after(grammarAccess.getQualifiedNameAccess().getGroup_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__2 + +rule__QualifiedName__Group_1__0 @init { int stackSize = keepStackSize(); } : - rule__CastedExpression__Group__2__Impl - rule__CastedExpression__Group__3 + rule__QualifiedName__Group_1__0__Impl + rule__QualifiedName__Group_1__1 ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__2__Impl +rule__QualifiedName__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); } - ')' - { after(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); } + { before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); } + ('.') + { after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__3 +rule__QualifiedName__Group_1__1 @init { int stackSize = keepStackSize(); } : - rule__CastedExpression__Group__3__Impl + rule__QualifiedName__Group_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__3__Impl +rule__QualifiedName__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); } - (rule__CastedExpression__TargetAssignment_3) - { after(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); } + { before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); } + ruleValidID + { after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); } ) ; finally { @@ -1761,53 +18262,53 @@ finally { } -rule__ChainExpression__Group__0 +rule__Number__Group_1__0 @init { int stackSize = keepStackSize(); } : - rule__ChainExpression__Group__0__Impl - rule__ChainExpression__Group__1 + rule__Number__Group_1__0__Impl + rule__Number__Group_1__1 ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group__0__Impl +rule__Number__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } - ruleChainedExpression - { after(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } + { before(grammarAccess.getNumberAccess().getAlternatives_1_0()); } + (rule__Number__Alternatives_1_0) + { after(grammarAccess.getNumberAccess().getAlternatives_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group__1 +rule__Number__Group_1__1 @init { int stackSize = keepStackSize(); } : - rule__ChainExpression__Group__1__Impl + rule__Number__Group_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group__1__Impl +rule__Number__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getChainExpressionAccess().getGroup_1()); } - (rule__ChainExpression__Group_1__0)* - { after(grammarAccess.getChainExpressionAccess().getGroup_1()); } + { before(grammarAccess.getNumberAccess().getGroup_1_1()); } + (rule__Number__Group_1_1__0)? + { after(grammarAccess.getNumberAccess().getGroup_1_1()); } ) ; finally { @@ -1815,134 +18316,134 @@ finally { } -rule__ChainExpression__Group_1__0 +rule__Number__Group_1_1__0 @init { int stackSize = keepStackSize(); } : - rule__ChainExpression__Group_1__0__Impl - rule__ChainExpression__Group_1__1 + rule__Number__Group_1_1__0__Impl + rule__Number__Group_1_1__1 ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group_1__0__Impl +rule__Number__Group_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); } - () - { after(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); } + { before(grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); } + '.' + { after(grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group_1__1 +rule__Number__Group_1_1__1 @init { int stackSize = keepStackSize(); } : - rule__ChainExpression__Group_1__1__Impl - rule__ChainExpression__Group_1__2 + rule__Number__Group_1_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group_1__1__Impl +rule__Number__Group_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } - '->' - { after(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } + { before(grammarAccess.getNumberAccess().getAlternatives_1_1_1()); } + (rule__Number__Alternatives_1_1_1) + { after(grammarAccess.getNumberAccess().getAlternatives_1_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group_1__2 + +rule__JvmTypeReference__Group_0__0 @init { int stackSize = keepStackSize(); } : - rule__ChainExpression__Group_1__2__Impl + rule__JvmTypeReference__Group_0__0__Impl + rule__JvmTypeReference__Group_0__1 ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group_1__2__Impl +rule__JvmTypeReference__Group_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } - (rule__ChainExpression__NextAssignment_1_2) - { after(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } + { before(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); } + ruleJvmParameterizedTypeReference + { after(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__IfExpressionTri__Group__0 +rule__JvmTypeReference__Group_0__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group__0__Impl - rule__IfExpressionTri__Group__1 + rule__JvmTypeReference__Group_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group__0__Impl +rule__JvmTypeReference__Group_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } - ruleOrExpression - { after(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1()); } + (rule__JvmTypeReference__Group_0_1__0)* + { after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group__1 + +rule__JvmTypeReference__Group_0_1__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group__1__Impl + rule__JvmTypeReference__Group_0_1__0__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group__1__Impl +rule__JvmTypeReference__Group_0_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } - (rule__IfExpressionTri__Group_1__0)? - { after(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } + { before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0()); } + (rule__JvmTypeReference__Group_0_1_0__0) + { after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0()); } ) ; finally { @@ -1950,269 +18451,269 @@ finally { } -rule__IfExpressionTri__Group_1__0 +rule__JvmTypeReference__Group_0_1_0__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group_1__0__Impl - rule__IfExpressionTri__Group_1__1 + rule__JvmTypeReference__Group_0_1_0__0__Impl + rule__JvmTypeReference__Group_0_1_0__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__0__Impl +rule__JvmTypeReference__Group_0_1_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } + { before(grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()); } () - { after(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } + { after(grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__1 +rule__JvmTypeReference__Group_0_1_0__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group_1__1__Impl - rule__IfExpressionTri__Group_1__2 + rule__JvmTypeReference__Group_0_1_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__1__Impl +rule__JvmTypeReference__Group_0_1_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } - '?' - { after(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } + { before(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); } + ruleArrayBrackets + { after(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__2 + +rule__ArrayBrackets__Group__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group_1__2__Impl - rule__IfExpressionTri__Group_1__3 + rule__ArrayBrackets__Group__0__Impl + rule__ArrayBrackets__Group__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__2__Impl +rule__ArrayBrackets__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); } - (rule__IfExpressionTri__ThenPartAssignment_1_2) - { after(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); } + { before(grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); } + '[' + { after(grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__3 +rule__ArrayBrackets__Group__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group_1__3__Impl - rule__IfExpressionTri__Group_1__4 + rule__ArrayBrackets__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__3__Impl +rule__ArrayBrackets__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } - ':' - { after(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } + { before(grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); } + ']' + { after(grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__4 + +rule__XFunctionTypeRef__Group__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group_1__4__Impl + rule__XFunctionTypeRef__Group__0__Impl + rule__XFunctionTypeRef__Group__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__4__Impl +rule__XFunctionTypeRef__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); } - (rule__IfExpressionTri__ElsePartAssignment_1_4) - { after(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0()); } + (rule__XFunctionTypeRef__Group_0__0)? + { after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__IfExpressionKw__Group__0 +rule__XFunctionTypeRef__Group__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group__0__Impl - rule__IfExpressionKw__Group__1 + rule__XFunctionTypeRef__Group__1__Impl + rule__XFunctionTypeRef__Group__2 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__0__Impl +rule__XFunctionTypeRef__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); } - 'if' - { after(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); } + '=>' + { after(grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__1 +rule__XFunctionTypeRef__Group__2 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group__1__Impl - rule__IfExpressionKw__Group__2 + rule__XFunctionTypeRef__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__1__Impl +rule__XFunctionTypeRef__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } - (rule__IfExpressionKw__ConditionAssignment_1) - { after(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2()); } + (rule__XFunctionTypeRef__ReturnTypeAssignment_2) + { after(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__2 + +rule__XFunctionTypeRef__Group_0__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group__2__Impl - rule__IfExpressionKw__Group__3 + rule__XFunctionTypeRef__Group_0__0__Impl + rule__XFunctionTypeRef__Group_0__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__2__Impl +rule__XFunctionTypeRef__Group_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } - 'then' - { after(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); } + '(' + { after(grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__3 +rule__XFunctionTypeRef__Group_0__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group__3__Impl - rule__IfExpressionKw__Group__4 + rule__XFunctionTypeRef__Group_0__1__Impl + rule__XFunctionTypeRef__Group_0__2 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__3__Impl +rule__XFunctionTypeRef__Group_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); } - (rule__IfExpressionKw__ThenPartAssignment_3) - { after(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1()); } + (rule__XFunctionTypeRef__Group_0_1__0)? + { after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__4 +rule__XFunctionTypeRef__Group_0__2 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group__4__Impl + rule__XFunctionTypeRef__Group_0__2__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__4__Impl +rule__XFunctionTypeRef__Group_0__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } - (rule__IfExpressionKw__Group_4__0)? - { after(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); } + ')' + { after(grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); } ) ; finally { @@ -2220,296 +18721,296 @@ finally { } -rule__IfExpressionKw__Group_4__0 +rule__XFunctionTypeRef__Group_0_1__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group_4__0__Impl + rule__XFunctionTypeRef__Group_0_1__0__Impl + rule__XFunctionTypeRef__Group_0_1__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group_4__0__Impl +rule__XFunctionTypeRef__Group_0_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); } - (rule__IfExpressionKw__Group_4_0__0) - { after(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0()); } + (rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0) + { after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__IfExpressionKw__Group_4_0__0 +rule__XFunctionTypeRef__Group_0_1__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group_4_0__0__Impl - rule__IfExpressionKw__Group_4_0__1 + rule__XFunctionTypeRef__Group_0_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group_4_0__0__Impl +rule__XFunctionTypeRef__Group_0_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } - 'else' - { after(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1()); } + (rule__XFunctionTypeRef__Group_0_1_1__0)* + { after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group_4_0__1 + +rule__XFunctionTypeRef__Group_0_1_1__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group_4_0__1__Impl + rule__XFunctionTypeRef__Group_0_1_1__0__Impl + rule__XFunctionTypeRef__Group_0_1_1__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group_4_0__1__Impl +rule__XFunctionTypeRef__Group_0_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); } - (rule__IfExpressionKw__ElsePartAssignment_4_0_1) - { after(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); } + ',' + { after(grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__SwitchExpression__Group__0 +rule__XFunctionTypeRef__Group_0_1_1__1 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__0__Impl - rule__SwitchExpression__Group__1 + rule__XFunctionTypeRef__Group_0_1_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__0__Impl +rule__XFunctionTypeRef__Group_0_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } - 'switch' - { after(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1()); } + (rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1) + { after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__1 + +rule__JvmParameterizedTypeReference__Group__0 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__1__Impl - rule__SwitchExpression__Group__2 + rule__JvmParameterizedTypeReference__Group__0__Impl + rule__JvmParameterizedTypeReference__Group__1 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__1__Impl +rule__JvmParameterizedTypeReference__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getGroup_1()); } - (rule__SwitchExpression__Group_1__0)? - { after(grammarAccess.getSwitchExpressionAccess().getGroup_1()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0()); } + (rule__JvmParameterizedTypeReference__TypeAssignment_0) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__2 +rule__JvmParameterizedTypeReference__Group__1 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__2__Impl - rule__SwitchExpression__Group__3 + rule__JvmParameterizedTypeReference__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__2__Impl +rule__JvmParameterizedTypeReference__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } - '{' - { after(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1()); } + (rule__JvmParameterizedTypeReference__Group_1__0)? + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__3 + +rule__JvmParameterizedTypeReference__Group_1__0 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__3__Impl - rule__SwitchExpression__Group__4 + rule__JvmParameterizedTypeReference__Group_1__0__Impl + rule__JvmParameterizedTypeReference__Group_1__1 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__3__Impl +rule__JvmParameterizedTypeReference__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } - (rule__SwitchExpression__CaseAssignment_3)* - { after(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); } + ('<') + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__4 +rule__JvmParameterizedTypeReference__Group_1__1 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__4__Impl - rule__SwitchExpression__Group__5 + rule__JvmParameterizedTypeReference__Group_1__1__Impl + rule__JvmParameterizedTypeReference__Group_1__2 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__4__Impl +rule__JvmParameterizedTypeReference__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } - 'default' - { after(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1()); } + (rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__5 +rule__JvmParameterizedTypeReference__Group_1__2 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__5__Impl - rule__SwitchExpression__Group__6 + rule__JvmParameterizedTypeReference__Group_1__2__Impl + rule__JvmParameterizedTypeReference__Group_1__3 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__5__Impl +rule__JvmParameterizedTypeReference__Group_1__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } - ':' - { after(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2()); } + (rule__JvmParameterizedTypeReference__Group_1_2__0)* + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__6 +rule__JvmParameterizedTypeReference__Group_1__3 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__6__Impl - rule__SwitchExpression__Group__7 + rule__JvmParameterizedTypeReference__Group_1__3__Impl + rule__JvmParameterizedTypeReference__Group_1__4 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__6__Impl +rule__JvmParameterizedTypeReference__Group_1__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); } - (rule__SwitchExpression__DefaultExprAssignment_6) - { after(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); } + '>' + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__7 +rule__JvmParameterizedTypeReference__Group_1__4 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__7__Impl + rule__JvmParameterizedTypeReference__Group_1__4__Impl ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__7__Impl +rule__JvmParameterizedTypeReference__Group_1__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } - '}' - { after(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4()); } + (rule__JvmParameterizedTypeReference__Group_1_4__0)* + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4()); } ) ; finally { @@ -2517,323 +19018,323 @@ finally { } -rule__SwitchExpression__Group_1__0 +rule__JvmParameterizedTypeReference__Group_1_2__0 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group_1__0__Impl - rule__SwitchExpression__Group_1__1 + rule__JvmParameterizedTypeReference__Group_1_2__0__Impl + rule__JvmParameterizedTypeReference__Group_1_2__1 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group_1__0__Impl +rule__JvmParameterizedTypeReference__Group_1_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } - '(' - { after(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); } + ',' + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group_1__1 +rule__JvmParameterizedTypeReference__Group_1_2__1 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group_1__1__Impl - rule__SwitchExpression__Group_1__2 + rule__JvmParameterizedTypeReference__Group_1_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group_1__1__Impl +rule__JvmParameterizedTypeReference__Group_1_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } - (rule__SwitchExpression__SwitchExprAssignment_1_1) - { after(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1()); } + (rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group_1__2 + +rule__JvmParameterizedTypeReference__Group_1_4__0 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group_1__2__Impl + rule__JvmParameterizedTypeReference__Group_1_4__0__Impl + rule__JvmParameterizedTypeReference__Group_1_4__1 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group_1__2__Impl +rule__JvmParameterizedTypeReference__Group_1_4__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } - ')' - { after(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0()); } + (rule__JvmParameterizedTypeReference__Group_1_4_0__0) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Case__Group__0 +rule__JvmParameterizedTypeReference__Group_1_4__1 @init { int stackSize = keepStackSize(); } -: - rule__Case__Group__0__Impl - rule__Case__Group__1 +: + rule__JvmParameterizedTypeReference__Group_1_4__1__Impl + rule__JvmParameterizedTypeReference__Group_1_4__2 ; finally { restoreStackSize(stackSize); } -rule__Case__Group__0__Impl +rule__JvmParameterizedTypeReference__Group_1_4__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getCaseKeyword_0()); } - 'case' - { after(grammarAccess.getCaseAccess().getCaseKeyword_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1()); } + (rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Case__Group__1 +rule__JvmParameterizedTypeReference__Group_1_4__2 @init { int stackSize = keepStackSize(); } : - rule__Case__Group__1__Impl - rule__Case__Group__2 + rule__JvmParameterizedTypeReference__Group_1_4__2__Impl ; finally { restoreStackSize(stackSize); } -rule__Case__Group__1__Impl +rule__JvmParameterizedTypeReference__Group_1_4__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getConditionAssignment_1()); } - (rule__Case__ConditionAssignment_1) - { after(grammarAccess.getCaseAccess().getConditionAssignment_1()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2()); } + (rule__JvmParameterizedTypeReference__Group_1_4_2__0)? + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Case__Group__2 + +rule__JvmParameterizedTypeReference__Group_1_4_0__0 @init { int stackSize = keepStackSize(); } : - rule__Case__Group__2__Impl - rule__Case__Group__3 + rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl ; finally { restoreStackSize(stackSize); } -rule__Case__Group__2__Impl +rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getColonKeyword_2()); } - ':' - { after(grammarAccess.getCaseAccess().getColonKeyword_2()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0()); } + (rule__JvmParameterizedTypeReference__Group_1_4_0_0__0) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Case__Group__3 + +rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 @init { int stackSize = keepStackSize(); } : - rule__Case__Group__3__Impl + rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl + rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 ; finally { restoreStackSize(stackSize); } -rule__Case__Group__3__Impl +rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getThenParAssignment_3()); } - (rule__Case__ThenParAssignment_3) - { after(grammarAccess.getCaseAccess().getThenParAssignment_3()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()); } + () + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__OrExpression__Group__0 +rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 @init { int stackSize = keepStackSize(); } : - rule__OrExpression__Group__0__Impl - rule__OrExpression__Group__1 + rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group__0__Impl +rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } - ruleAndExpression - { after(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); } + '.' + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group__1 + +rule__JvmParameterizedTypeReference__Group_1_4_2__0 @init { int stackSize = keepStackSize(); } : - rule__OrExpression__Group__1__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2__1 ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group__1__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getGroup_1()); } - (rule__OrExpression__Group_1__0)* - { after(grammarAccess.getOrExpressionAccess().getGroup_1()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); } + ('<') + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__OrExpression__Group_1__0 +rule__JvmParameterizedTypeReference__Group_1_4_2__1 @init { int stackSize = keepStackSize(); } : - rule__OrExpression__Group_1__0__Impl - rule__OrExpression__Group_1__1 + rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2__2 ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group_1__0__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); } - () - { after(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1()); } + (rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group_1__1 +rule__JvmParameterizedTypeReference__Group_1_4_2__2 @init { int stackSize = keepStackSize(); } : - rule__OrExpression__Group_1__1__Impl - rule__OrExpression__Group_1__2 + rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2__3 ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group_1__1__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } - (rule__OrExpression__OperatorAssignment_1_1) - { after(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2()); } + (rule__JvmParameterizedTypeReference__Group_1_4_2_2__0)* + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group_1__2 +rule__JvmParameterizedTypeReference__Group_1_4_2__3 @init { int stackSize = keepStackSize(); } : - rule__OrExpression__Group_1__2__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group_1__2__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } - (rule__OrExpression__RightAssignment_1_2) - { after(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); } + '>' + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); } ) ; finally { @@ -2841,53 +19342,53 @@ finally { } -rule__AndExpression__Group__0 +rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 @init { int stackSize = keepStackSize(); } : - rule__AndExpression__Group__0__Impl - rule__AndExpression__Group__1 + rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group__0__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } - ruleImpliesExpression - { after(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); } + ',' + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group__1 +rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 @init { int stackSize = keepStackSize(); } : - rule__AndExpression__Group__1__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group__1__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getGroup_1()); } - (rule__AndExpression__Group_1__0)* - { after(grammarAccess.getAndExpressionAccess().getGroup_1()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1()); } + (rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1()); } ) ; finally { @@ -2895,80 +19396,80 @@ finally { } -rule__AndExpression__Group_1__0 +rule__JvmWildcardTypeReference__Group__0 @init { int stackSize = keepStackSize(); } : - rule__AndExpression__Group_1__0__Impl - rule__AndExpression__Group_1__1 + rule__JvmWildcardTypeReference__Group__0__Impl + rule__JvmWildcardTypeReference__Group__1 ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group_1__0__Impl +rule__JvmWildcardTypeReference__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0()); } () - { after(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); } + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group_1__1 +rule__JvmWildcardTypeReference__Group__1 @init { int stackSize = keepStackSize(); } : - rule__AndExpression__Group_1__1__Impl - rule__AndExpression__Group_1__2 + rule__JvmWildcardTypeReference__Group__1__Impl + rule__JvmWildcardTypeReference__Group__2 ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group_1__1__Impl +rule__JvmWildcardTypeReference__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } - (rule__AndExpression__OperatorAssignment_1_1) - { after(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); } + '?' + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group_1__2 +rule__JvmWildcardTypeReference__Group__2 @init { int stackSize = keepStackSize(); } : - rule__AndExpression__Group_1__2__Impl + rule__JvmWildcardTypeReference__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group_1__2__Impl +rule__JvmWildcardTypeReference__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } - (rule__AndExpression__RightAssignment_1_2) - { after(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2()); } + (rule__JvmWildcardTypeReference__Alternatives_2)? + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2()); } ) ; finally { @@ -2976,53 +19477,53 @@ finally { } -rule__ImpliesExpression__Group__0 +rule__JvmWildcardTypeReference__Group_2_0__0 @init { int stackSize = keepStackSize(); } : - rule__ImpliesExpression__Group__0__Impl - rule__ImpliesExpression__Group__1 + rule__JvmWildcardTypeReference__Group_2_0__0__Impl + rule__JvmWildcardTypeReference__Group_2_0__1 ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group__0__Impl +rule__JvmWildcardTypeReference__Group_2_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } - ruleRelationalExpression - { after(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0()); } + (rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0) + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group__1 +rule__JvmWildcardTypeReference__Group_2_0__1 @init { int stackSize = keepStackSize(); } : - rule__ImpliesExpression__Group__1__Impl + rule__JvmWildcardTypeReference__Group_2_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group__1__Impl +rule__JvmWildcardTypeReference__Group_2_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } - (rule__ImpliesExpression__Group_1__0)* - { after(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1()); } + (rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1)* + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1()); } ) ; finally { @@ -3030,215 +19531,215 @@ finally { } -rule__ImpliesExpression__Group_1__0 +rule__JvmWildcardTypeReference__Group_2_1__0 @init { int stackSize = keepStackSize(); } : - rule__ImpliesExpression__Group_1__0__Impl - rule__ImpliesExpression__Group_1__1 + rule__JvmWildcardTypeReference__Group_2_1__0__Impl + rule__JvmWildcardTypeReference__Group_2_1__1 ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group_1__0__Impl +rule__JvmWildcardTypeReference__Group_2_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); } - () - { after(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0()); } + (rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0) + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group_1__1 +rule__JvmWildcardTypeReference__Group_2_1__1 @init { int stackSize = keepStackSize(); } : - rule__ImpliesExpression__Group_1__1__Impl - rule__ImpliesExpression__Group_1__2 + rule__JvmWildcardTypeReference__Group_2_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group_1__1__Impl +rule__JvmWildcardTypeReference__Group_2_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } - (rule__ImpliesExpression__OperatorAssignment_1_1) - { after(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1()); } + (rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1)* + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group_1__2 + +rule__JvmUpperBound__Group__0 @init { int stackSize = keepStackSize(); } : - rule__ImpliesExpression__Group_1__2__Impl + rule__JvmUpperBound__Group__0__Impl + rule__JvmUpperBound__Group__1 ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group_1__2__Impl +rule__JvmUpperBound__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } - (rule__ImpliesExpression__RightAssignment_1_2) - { after(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } + { before(grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); } + 'extends' + { after(grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__RelationalExpression__Group__0 +rule__JvmUpperBound__Group__1 @init { int stackSize = keepStackSize(); } : - rule__RelationalExpression__Group__0__Impl - rule__RelationalExpression__Group__1 + rule__JvmUpperBound__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group__0__Impl +rule__JvmUpperBound__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } - ruleAdditiveExpression - { after(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1()); } + (rule__JvmUpperBound__TypeReferenceAssignment_1) + { after(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group__1 + +rule__JvmUpperBoundAnded__Group__0 @init { int stackSize = keepStackSize(); } : - rule__RelationalExpression__Group__1__Impl + rule__JvmUpperBoundAnded__Group__0__Impl + rule__JvmUpperBoundAnded__Group__1 ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group__1__Impl +rule__JvmUpperBoundAnded__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getGroup_1()); } - (rule__RelationalExpression__Group_1__0)* - { after(grammarAccess.getRelationalExpressionAccess().getGroup_1()); } + { before(grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); } + '&' + { after(grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__RelationalExpression__Group_1__0 +rule__JvmUpperBoundAnded__Group__1 @init { int stackSize = keepStackSize(); } : - rule__RelationalExpression__Group_1__0__Impl - rule__RelationalExpression__Group_1__1 + rule__JvmUpperBoundAnded__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group_1__0__Impl +rule__JvmUpperBoundAnded__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); } - () - { after(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); } + { before(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1()); } + (rule__JvmUpperBoundAnded__TypeReferenceAssignment_1) + { after(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group_1__1 + +rule__JvmLowerBound__Group__0 @init { int stackSize = keepStackSize(); } : - rule__RelationalExpression__Group_1__1__Impl - rule__RelationalExpression__Group_1__2 + rule__JvmLowerBound__Group__0__Impl + rule__JvmLowerBound__Group__1 ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group_1__1__Impl +rule__JvmLowerBound__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } - (rule__RelationalExpression__OperatorAssignment_1_1) - { after(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } + { before(grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); } + 'super' + { after(grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group_1__2 +rule__JvmLowerBound__Group__1 @init { int stackSize = keepStackSize(); } : - rule__RelationalExpression__Group_1__2__Impl + rule__JvmLowerBound__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group_1__2__Impl +rule__JvmLowerBound__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } - (rule__RelationalExpression__RightAssignment_1_2) - { after(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } + { before(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1()); } + (rule__JvmLowerBound__TypeReferenceAssignment_1) + { after(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1()); } ) ; finally { @@ -3246,53 +19747,53 @@ finally { } -rule__AdditiveExpression__Group__0 +rule__JvmLowerBoundAnded__Group__0 @init { int stackSize = keepStackSize(); } : - rule__AdditiveExpression__Group__0__Impl - rule__AdditiveExpression__Group__1 + rule__JvmLowerBoundAnded__Group__0__Impl + rule__JvmLowerBoundAnded__Group__1 ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group__0__Impl +rule__JvmLowerBoundAnded__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } - ruleMultiplicativeExpression - { after(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); } + '&' + { after(grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group__1 +rule__JvmLowerBoundAnded__Group__1 @init { int stackSize = keepStackSize(); } : - rule__AdditiveExpression__Group__1__Impl + rule__JvmLowerBoundAnded__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group__1__Impl +rule__JvmLowerBoundAnded__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } - (rule__AdditiveExpression__Group_1__0)* - { after(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } + { before(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1()); } + (rule__JvmLowerBoundAnded__TypeReferenceAssignment_1) + { after(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1()); } ) ; finally { @@ -3300,80 +19801,80 @@ finally { } -rule__AdditiveExpression__Group_1__0 +rule__QualifiedNameWithWildcard__Group__0 @init { int stackSize = keepStackSize(); } : - rule__AdditiveExpression__Group_1__0__Impl - rule__AdditiveExpression__Group_1__1 + rule__QualifiedNameWithWildcard__Group__0__Impl + rule__QualifiedNameWithWildcard__Group__1 ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group_1__0__Impl +rule__QualifiedNameWithWildcard__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); } - () - { after(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); } + { before(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); } + ruleQualifiedName + { after(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group_1__1 +rule__QualifiedNameWithWildcard__Group__1 @init { int stackSize = keepStackSize(); } : - rule__AdditiveExpression__Group_1__1__Impl - rule__AdditiveExpression__Group_1__2 + rule__QualifiedNameWithWildcard__Group__1__Impl + rule__QualifiedNameWithWildcard__Group__2 ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group_1__1__Impl +rule__QualifiedNameWithWildcard__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } - (rule__AdditiveExpression__NameAssignment_1_1) - { after(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } + { before(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); } + '.' + { after(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group_1__2 +rule__QualifiedNameWithWildcard__Group__2 @init { int stackSize = keepStackSize(); } : - rule__AdditiveExpression__Group_1__2__Impl + rule__QualifiedNameWithWildcard__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group_1__2__Impl +rule__QualifiedNameWithWildcard__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } - (rule__AdditiveExpression__ParamsAssignment_1_2) - { after(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } + { before(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); } + '*' + { after(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); } ) ; finally { @@ -3381,188 +19882,188 @@ finally { } -rule__MultiplicativeExpression__Group__0 +rule__XImportDeclaration__Group__0 @init { int stackSize = keepStackSize(); } : - rule__MultiplicativeExpression__Group__0__Impl - rule__MultiplicativeExpression__Group__1 + rule__XImportDeclaration__Group__0__Impl + rule__XImportDeclaration__Group__1 ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group__0__Impl +rule__XImportDeclaration__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } - ruleUnaryOrInfixExpression - { after(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); } + 'import' + { after(grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group__1 +rule__XImportDeclaration__Group__1 @init { int stackSize = keepStackSize(); } : - rule__MultiplicativeExpression__Group__1__Impl + rule__XImportDeclaration__Group__1__Impl + rule__XImportDeclaration__Group__2 ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group__1__Impl +rule__XImportDeclaration__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } - (rule__MultiplicativeExpression__Group_1__0)* - { after(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } + { before(grammarAccess.getXImportDeclarationAccess().getAlternatives_1()); } + (rule__XImportDeclaration__Alternatives_1) + { after(grammarAccess.getXImportDeclarationAccess().getAlternatives_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__MultiplicativeExpression__Group_1__0 +rule__XImportDeclaration__Group__2 @init { int stackSize = keepStackSize(); } : - rule__MultiplicativeExpression__Group_1__0__Impl - rule__MultiplicativeExpression__Group_1__1 + rule__XImportDeclaration__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group_1__0__Impl +rule__XImportDeclaration__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); } - () - { after(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); } + (';')? + { after(grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group_1__1 + +rule__XImportDeclaration__Group_1_0__0 @init { int stackSize = keepStackSize(); } : - rule__MultiplicativeExpression__Group_1__1__Impl - rule__MultiplicativeExpression__Group_1__2 + rule__XImportDeclaration__Group_1_0__0__Impl + rule__XImportDeclaration__Group_1_0__1 ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group_1__1__Impl +rule__XImportDeclaration__Group_1_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); } - (rule__MultiplicativeExpression__NameAssignment_1_1) - { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); } + { before(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0()); } + (rule__XImportDeclaration__StaticAssignment_1_0_0) + { after(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group_1__2 +rule__XImportDeclaration__Group_1_0__1 @init { int stackSize = keepStackSize(); } : - rule__MultiplicativeExpression__Group_1__2__Impl + rule__XImportDeclaration__Group_1_0__1__Impl + rule__XImportDeclaration__Group_1_0__2 ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group_1__2__Impl +rule__XImportDeclaration__Group_1_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); } - (rule__MultiplicativeExpression__ParamsAssignment_1_2) - { after(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); } + { before(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1()); } + (rule__XImportDeclaration__ExtensionAssignment_1_0_1)? + { after(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__UnaryExpression__Group__0 +rule__XImportDeclaration__Group_1_0__2 @init { int stackSize = keepStackSize(); } : - rule__UnaryExpression__Group__0__Impl - rule__UnaryExpression__Group__1 + rule__XImportDeclaration__Group_1_0__2__Impl + rule__XImportDeclaration__Group_1_0__3 ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__Group__0__Impl +rule__XImportDeclaration__Group_1_0__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); } - (rule__UnaryExpression__NameAssignment_0) - { after(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2()); } + (rule__XImportDeclaration__ImportedTypeAssignment_1_0_2) + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__Group__1 +rule__XImportDeclaration__Group_1_0__3 @init { int stackSize = keepStackSize(); } : - rule__UnaryExpression__Group__1__Impl + rule__XImportDeclaration__Group_1_0__3__Impl ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__Group__1__Impl +rule__XImportDeclaration__Group_1_0__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); } - (rule__UnaryExpression__ParamsAssignment_1) - { after(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); } + { before(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3()); } + (rule__XImportDeclaration__Alternatives_1_0_3) + { after(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3()); } ) ; finally { @@ -3570,53 +20071,53 @@ finally { } -rule__InfixExpression__Group__0 +rule__QualifiedNameInStaticImport__Group__0 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group__0__Impl - rule__InfixExpression__Group__1 + rule__QualifiedNameInStaticImport__Group__0__Impl + rule__QualifiedNameInStaticImport__Group__1 ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group__0__Impl +rule__QualifiedNameInStaticImport__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); } - rulePrimaryExpression - { after(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); } + { before(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); } + ruleValidID + { after(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group__1 +rule__QualifiedNameInStaticImport__Group__1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group__1__Impl + rule__QualifiedNameInStaticImport__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group__1__Impl +rule__QualifiedNameInStaticImport__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); } - (rule__InfixExpression__Alternatives_1)* - { after(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); } + { before(grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); } + '.' + { after(grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); } ) ; finally { @@ -3624,2829 +20125,3175 @@ finally { } -rule__InfixExpression__Group_1_0__0 +rule__LetExpression__IdentifierAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__0__Impl - rule__InfixExpression__Group_1_0__1 + ( + { before(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); } + ruleIdentifier + { after(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__0__Impl +rule__LetExpression__VarExprAssignment_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); } - () - { after(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); } -) + ( + { before(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); } + ruleExpression + { after(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__1 +rule__LetExpression__TargetAssignment_5 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__1__Impl - rule__InfixExpression__Group_1_0__2 + ( + { before(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); } + ruleExpression + { after(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__1__Impl +rule__CastedExpression__TypeAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); } - '.' - { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); } -) + ( + { before(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); } + ruleType + { after(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__2 +rule__CastedExpression__TargetAssignment_3 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__2__Impl - rule__InfixExpression__Group_1_0__3 + ( + { before(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); } + ruleExpression + { after(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__2__Impl +rule__ChainExpression__NextAssignment_1_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); } - (rule__InfixExpression__NameAssignment_1_0_2) - { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); } -) + ( + { before(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); } + ruleChainedExpression + { after(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__3 +rule__IfExpressionTri__ThenPartAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__3__Impl - rule__InfixExpression__Group_1_0__4 + ( + { before(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); } + ruleChainedExpression + { after(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__3__Impl +rule__IfExpressionTri__ElsePartAssignment_1_4 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); } - '(' - { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); } -) + ( + { before(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); } + ruleChainedExpression + { after(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__4 +rule__IfExpressionKw__ConditionAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__4__Impl - rule__InfixExpression__Group_1_0__5 + ( + { before(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); } + ruleChainedExpression + { after(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__4__Impl +rule__IfExpressionKw__ThenPartAssignment_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); } - (rule__InfixExpression__Group_1_0_4__0)? - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); } -) + ( + { before(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); } + ruleChainedExpression + { after(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__5 +rule__IfExpressionKw__ElsePartAssignment_4_0_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__5__Impl + ( + { before(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); } + ruleChainedExpression + { after(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__5__Impl +rule__SwitchExpression__SwitchExprAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); } - ')' - { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); } -) + ( + { before(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); } + ruleOrExpression + { after(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_0_4__0 +rule__SwitchExpression__CaseAssignment_3 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0_4__0__Impl - rule__InfixExpression__Group_1_0_4__1 + ( + { before(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); } + ruleCase + { after(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4__0__Impl +rule__SwitchExpression__DefaultExprAssignment_6 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); } - (rule__InfixExpression__ParamsAssignment_1_0_4_0) - { after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); } -) + ( + { before(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); } + ruleOrExpression + { after(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4__1 +rule__Case__ConditionAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0_4__1__Impl + ( + { before(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); } + ruleOrExpression + { after(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4__1__Impl +rule__Case__ThenParAssignment_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); } - (rule__InfixExpression__Group_1_0_4_1__0)* - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); } -) + ( + { before(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); } + ruleOrExpression + { after(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_0_4_1__0 +rule__OrExpression__OperatorAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0_4_1__0__Impl - rule__InfixExpression__Group_1_0_4_1__1 + ( + { before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } + ( + { before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } + '||' + { after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } + ) + { after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4_1__0__Impl +rule__OrExpression__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); } - ',' - { after(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); } -) + ( + { before(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); } + ruleAndExpression + { after(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4_1__1 +rule__AndExpression__OperatorAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0_4_1__1__Impl + ( + { before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } + ( + { before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } + '&&' + { after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } + ) + { after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4_1__1__Impl +rule__AndExpression__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); } - (rule__InfixExpression__ParamsAssignment_1_0_4_1_1) - { after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); } -) + ( + { before(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); } + ruleImpliesExpression + { after(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_1__0 +rule__ImpliesExpression__OperatorAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_1__0__Impl - rule__InfixExpression__Group_1_1__1 + ( + { before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } + ( + { before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } + 'implies' + { after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } + ) + { after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_1__0__Impl +rule__ImpliesExpression__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); } - () - { after(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); } -) + ( + { before(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); } + ruleRelationalExpression + { after(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_1__1 +rule__RelationalExpression__OperatorAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_1__1__Impl - rule__InfixExpression__Group_1_1__2 + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); } + (rule__RelationalExpression__OperatorAlternatives_1_1_0) + { after(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_1__1__Impl +rule__RelationalExpression__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); } - '.' - { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); } -) + ( + { before(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); } + ruleAdditiveExpression + { after(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_1__2 +rule__AdditiveExpression__NameAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_1__2__Impl + ( + { before(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); } + (rule__AdditiveExpression__NameAlternatives_1_1_0) + { after(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_1__2__Impl +rule__AdditiveExpression__ParamsAssignment_1_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); } - (rule__InfixExpression__TypeAssignment_1_1_2) - { after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); } -) + ( + { before(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); } + ruleMultiplicativeExpression + { after(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_2__0 +rule__MultiplicativeExpression__NameAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_2__0__Impl - rule__InfixExpression__Group_1_2__1 + ( + { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); } + (rule__MultiplicativeExpression__NameAlternatives_1_1_0) + { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__0__Impl +rule__MultiplicativeExpression__ParamsAssignment_1_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); } - () - { after(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); } -) + ( + { before(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); } + ruleUnaryOrInfixExpression + { after(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__1 +rule__UnaryExpression__NameAssignment_0 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_2__1__Impl - rule__InfixExpression__Group_1_2__2 + ( + { before(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); } + (rule__UnaryExpression__NameAlternatives_0_0) + { after(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__1__Impl +rule__UnaryExpression__ParamsAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); } - '.' - { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); } -) + ( + { before(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); } + ruleInfixExpression + { after(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__2 +rule__InfixExpression__NameAssignment_1_0_2 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_2__2__Impl - rule__InfixExpression__Group_1_2__3 + ( + { before(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); } + ruleIdentifier + { after(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__2__Impl +rule__InfixExpression__ParamsAssignment_1_0_4_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); } - (rule__InfixExpression__NameAssignment_1_2_2) - { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); } -) + ( + { before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); } + ruleExpression + { after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__3 +rule__InfixExpression__ParamsAssignment_1_0_4_1_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_2__3__Impl - rule__InfixExpression__Group_1_2__4 + ( + { before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); } + ruleExpression + { after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__3__Impl +rule__InfixExpression__TypeAssignment_1_1_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); } - '(' - { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); } -) + ( + { before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); } + ruleType + { after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__4 +rule__InfixExpression__NameAssignment_1_2_2 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_2__4__Impl - rule__InfixExpression__Group_1_2__5 + ( + { before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } + ( + { before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } + 'typeSelect' + { after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } + ) + { after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__4__Impl +rule__InfixExpression__TypeAssignment_1_2_4 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); } - (rule__InfixExpression__TypeAssignment_1_2_4) - { after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); } -) + ( + { before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); } + ruleType + { after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__5 +rule__InfixExpression__NameAssignment_1_3_2 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_2__5__Impl + ( + { before(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); } + (rule__InfixExpression__NameAlternatives_1_3_2_0) + { after(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__5__Impl +rule__InfixExpression__VarAssignment_1_3_4_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); } - ')' - { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); } -) + ( + { before(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); } + ruleIdentifier + { after(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_3__0 +rule__InfixExpression__ExpAssignment_1_3_5 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__0__Impl - rule__InfixExpression__Group_1_3__1 + ( + { before(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); } + ruleExpression + { after(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__0__Impl +rule__BooleanLiteral__ValAssignment @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); } - () - { after(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); } -) + ( + { before(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); } + (rule__BooleanLiteral__ValAlternatives_0) + { after(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__1 +rule__IntegerLiteral__ValAssignment @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__1__Impl - rule__InfixExpression__Group_1_3__2 + ( + { before(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); } + RULE_INT + { after(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__1__Impl +rule__NullLiteral__ValAssignment @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); } - '.' - { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); } -) + ( + { before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } + ( + { before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } + 'null' + { after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } + ) + { after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__2 +rule__RealLiteral__ValAssignment @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__2__Impl - rule__InfixExpression__Group_1_3__3 + ( + { before(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); } + RULE_REAL + { after(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__2__Impl +rule__StringLiteral__ValAssignment @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); } - (rule__InfixExpression__NameAssignment_1_3_2) - { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); } -) + ( + { before(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); } + RULE_STRING + { after(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__3 +rule__GlobalVarExpression__NameAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__3__Impl - rule__InfixExpression__Group_1_3__4 + ( + { before(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); } + ruleIdentifier + { after(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__3__Impl +rule__FeatureCall__TypeAssignment_1 @init { - int stackSize = keepStackSize(); - } -: -( - { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); } - '(' - { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); } -) + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); } + ruleType + { after(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__4 +rule__OperationCall__NameAssignment_0 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__4__Impl - rule__InfixExpression__Group_1_3__5 + ( + { before(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); } + ruleIdentifier + { after(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__4__Impl +rule__OperationCall__ParamsAssignment_2_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); } - (rule__InfixExpression__Group_1_3_4__0)? - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); } -) + ( + { before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); } + ruleExpression + { after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__5 +rule__OperationCall__ParamsAssignment_2_1_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__5__Impl - rule__InfixExpression__Group_1_3__6 + ( + { before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); } + ruleExpression + { after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__5__Impl +rule__ListLiteral__ElementsAssignment_2_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); } - (rule__InfixExpression__ExpAssignment_1_3_5) - { after(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); } -) + ( + { before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); } + ruleExpression + { after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__6 +rule__ListLiteral__ElementsAssignment_2_1_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__6__Impl + ( + { before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); } + ruleExpression + { after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__6__Impl +rule__ConstructorCallExpression__TypeAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); } - ')' - { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); } -) + ( + { before(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); } + ruleSimpleType + { after(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_3_4__0 +rule__TypeSelectExpression__NameAssignment_0 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3_4__0__Impl - rule__InfixExpression__Group_1_3_4__1 + ( + { before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } + ( + { before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } + 'typeSelect' + { after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } + ) + { after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3_4__0__Impl +rule__TypeSelectExpression__TypeAssignment_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); } - (rule__InfixExpression__VarAssignment_1_3_4_0) - { after(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); } -) + ( + { before(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); } + ruleType + { after(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3_4__1 +rule__CollectionExpression__NameAssignment_0 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3_4__1__Impl + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); } + (rule__CollectionExpression__NameAlternatives_0_0) + { after(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3_4__1__Impl +rule__CollectionExpression__VarAssignment_2_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); } - '|' - { after(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); } -) + ( + { before(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); } + ruleIdentifier + { after(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__ParanthesizedExpression__Group__0 +rule__CollectionExpression__ExpAssignment_3 @init { int stackSize = keepStackSize(); } : - rule__ParanthesizedExpression__Group__0__Impl - rule__ParanthesizedExpression__Group__1 + ( + { before(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); } + ruleExpression + { after(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ParanthesizedExpression__Group__0__Impl +rule__CollectionType__ClAssignment_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } - '(' - { after(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } -) + ( + { before(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); } + (rule__CollectionType__ClAlternatives_0_0) + { after(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ParanthesizedExpression__Group__1 +rule__CollectionType__Id1Assignment_2 @init { int stackSize = keepStackSize(); } : - rule__ParanthesizedExpression__Group__1__Impl - rule__ParanthesizedExpression__Group__2 + ( + { before(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); } + ruleSimpleType + { after(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ParanthesizedExpression__Group__1__Impl +rule__SimpleType__IdAssignment_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); } - ruleExpression - { after(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); } -) + ( + { before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); } + ruleIdentifier + { after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ParanthesizedExpression__Group__2 +rule__SimpleType__IdAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__ParanthesizedExpression__Group__2__Impl + ( + { before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); } + ruleIdentifier + { after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ParanthesizedExpression__Group__2__Impl +rule__XAssignment__FeatureAssignment_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); } - ')' - { after(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); } -) + ( + { before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); } + ( + { before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_0_1_0_1()); } + ruleFeatureCallID + { after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_0_1_0_1()); } + ) + { after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__GlobalVarExpression__Group__0 +rule__XAssignment__ValueAssignment_0_3 @init { int stackSize = keepStackSize(); } : - rule__GlobalVarExpression__Group__0__Impl - rule__GlobalVarExpression__Group__1 + ( + { before(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); } + ruleXAssignment + { after(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalVarExpression__Group__0__Impl +rule__XAssignment__FeatureAssignment_1_1_0_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); } - 'GLOBALVAR' - { after(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); } -) + ( + { before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); } + ( + { before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementOpMultiAssignParserRuleCall_1_1_0_0_1_0_1()); } + ruleOpMultiAssign + { after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementOpMultiAssignParserRuleCall_1_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalVarExpression__Group__1 +rule__XAssignment__RightOperandAssignment_1_1_1 @init { int stackSize = keepStackSize(); } : - rule__GlobalVarExpression__Group__1__Impl + ( + { before(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); } + ruleXAssignment + { after(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalVarExpression__Group__1__Impl +rule__XOrExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); } - (rule__GlobalVarExpression__NameAssignment_1) - { after(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); } -) + ( + { before(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementOpOrParserRuleCall_1_0_0_1_0_1()); } + ruleOpOr + { after(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementOpOrParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__OperationCall__Group__0 +rule__XOrExpression__RightOperandAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group__0__Impl - rule__OperationCall__Group__1 + ( + { before(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); } + ruleXAndExpression + { after(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__0__Impl +rule__XAndExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getNameAssignment_0()); } - (rule__OperationCall__NameAssignment_0) - { after(grammarAccess.getOperationCallAccess().getNameAssignment_0()); } -) + ( + { before(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementOpAndParserRuleCall_1_0_0_1_0_1()); } + ruleOpAnd + { after(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementOpAndParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__1 +rule__XAndExpression__RightOperandAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group__1__Impl - rule__OperationCall__Group__2 + ( + { before(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); } + ruleXEqualityExpression + { after(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__1__Impl +rule__XEqualityExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); } - '(' - { after(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); } -) + ( + { before(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementOpEqualityParserRuleCall_1_0_0_1_0_1()); } + ruleOpEquality + { after(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementOpEqualityParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__2 +rule__XEqualityExpression__RightOperandAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group__2__Impl - rule__OperationCall__Group__3 + ( + { before(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); } + ruleXRelationalExpression + { after(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__2__Impl +rule__XRelationalExpression__TypeAssignment_1_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getGroup_2()); } - (rule__OperationCall__Group_2__0)? - { after(grammarAccess.getOperationCallAccess().getGroup_2()); } -) + ( + { before(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__3 +rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group__3__Impl + ( + { before(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); } + ( + { before(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementOpCompareParserRuleCall_1_1_0_0_1_0_1()); } + ruleOpCompare + { after(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementOpCompareParserRuleCall_1_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__3__Impl +rule__XRelationalExpression__RightOperandAssignment_1_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); } - ')' - { after(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); } -) + ( + { before(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); } + ruleXOtherOperatorExpression + { after(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__OperationCall__Group_2__0 +rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group_2__0__Impl - rule__OperationCall__Group_2__1 + ( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementOpOtherParserRuleCall_1_0_0_1_0_1()); } + ruleOpOther + { after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementOpOtherParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2__0__Impl +rule__XOtherOperatorExpression__RightOperandAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); } - (rule__OperationCall__ParamsAssignment_2_0) - { after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); } -) + ( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); } + ruleXAdditiveExpression + { after(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2__1 +rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group_2__1__Impl + ( + { before(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementOpAddParserRuleCall_1_0_0_1_0_1()); } + ruleOpAdd + { after(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementOpAddParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2__1__Impl +rule__XAdditiveExpression__RightOperandAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getGroup_2_1()); } - (rule__OperationCall__Group_2_1__0)* - { after(grammarAccess.getOperationCallAccess().getGroup_2_1()); } -) + ( + { before(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); } + ruleXMultiplicativeExpression + { after(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__OperationCall__Group_2_1__0 +rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group_2_1__0__Impl - rule__OperationCall__Group_2_1__1 + ( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementOpMultiParserRuleCall_1_0_0_1_0_1()); } + ruleOpMulti + { after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementOpMultiParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2_1__0__Impl +rule__XMultiplicativeExpression__RightOperandAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); } - ',' - { after(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); } -) + ( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); } + ruleXUnaryOperation + { after(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2_1__1 +rule__XUnaryOperation__FeatureAssignment_0_1 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group_2_1__1__Impl + ( + { before(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); } + ( + { before(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementOpUnaryParserRuleCall_0_1_0_1()); } + ruleOpUnary + { after(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementOpUnaryParserRuleCall_0_1_0_1()); } + ) + { after(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2_1__1__Impl +rule__XUnaryOperation__OperandAssignment_0_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); } - (rule__OperationCall__ParamsAssignment_2_1_1) - { after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); } -) + ( + { before(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); } + ruleXUnaryOperation + { after(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__ListLiteral__Group__0 +rule__XCastedExpression__TypeAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group__0__Impl - rule__ListLiteral__Group__1 + ( + { before(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__0__Impl +rule__XPostfixOperation__FeatureAssignment_1_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); } - () - { after(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); } -) + ( + { before(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); } + ( + { before(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementOpPostfixParserRuleCall_1_0_1_0_1()); } + ruleOpPostfix + { after(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementOpPostfixParserRuleCall_1_0_1_0_1()); } + ) + { after(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__1 +rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group__1__Impl - rule__ListLiteral__Group__2 + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); } + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); } + '::' + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); } + ) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__1__Impl +rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); } - '{' - { after(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); } -) + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); } + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_1_0_0_0_2_0_1()); } + ruleFeatureCallID + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_1_0_0_0_2_0_1()); } + ) + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__2 +rule__XMemberFeatureCall__ValueAssignment_1_0_1 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group__2__Impl - rule__ListLiteral__Group__3 + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); } + ruleXAssignment + { after(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__2__Impl +rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getGroup_2()); } - (rule__ListLiteral__Group_2__0)? - { after(grammarAccess.getListLiteralAccess().getGroup_2()); } -) + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); } + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); } + '?.' + { after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); } + ) + { after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__3 +rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group__3__Impl + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); } + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); } + '::' + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); } + ) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__3__Impl +rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); } - '}' - { after(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); } -) + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__ListLiteral__Group_2__0 +rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group_2__0__Impl - rule__ListLiteral__Group_2__1 + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2__0__Impl +rule__XMemberFeatureCall__FeatureAssignment_1_1_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); } - (rule__ListLiteral__ElementsAssignment_2_0) - { after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); } -) + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); } + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_1_1_2_0_1()); } + ruleIdOrSuper + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_1_1_2_0_1()); } + ) + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2__1 +rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group_2__1__Impl + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); } + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); } + '(' + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); } + ) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2__1__Impl +rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getGroup_2_1()); } - (rule__ListLiteral__Group_2_1__0)* - { after(grammarAccess.getListLiteralAccess().getGroup_2_1()); } -) + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); } + ruleXShortClosure + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__ListLiteral__Group_2_1__0 +rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group_2_1__0__Impl - rule__ListLiteral__Group_2_1__1 + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); } + ruleXExpression + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2_1__0__Impl +rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); } - ',' - { after(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); } -) + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2_1__1 +rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group_2_1__1__Impl + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); } + ruleXClosure + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2_1__1__Impl +rule__XSetLiteral__ElementsAssignment_3_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); } - (rule__ListLiteral__ElementsAssignment_2_1_1) - { after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); } -) + ( + { before(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } + ruleXExpression + { after(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__ConstructorCallExpression__Group__0 +rule__XSetLiteral__ElementsAssignment_3_1_1 @init { int stackSize = keepStackSize(); } : - rule__ConstructorCallExpression__Group__0__Impl - rule__ConstructorCallExpression__Group__1 + ( + { before(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ConstructorCallExpression__Group__0__Impl +rule__XListLiteral__ElementsAssignment_3_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); } - 'new' - { after(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); } -) + ( + { before(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } + ruleXExpression + { after(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ConstructorCallExpression__Group__1 +rule__XListLiteral__ElementsAssignment_3_1_1 @init { int stackSize = keepStackSize(); } : - rule__ConstructorCallExpression__Group__1__Impl + ( + { before(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ConstructorCallExpression__Group__1__Impl +rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); } - (rule__ConstructorCallExpression__TypeAssignment_1) - { after(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); } -) + ( + { before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__TypeSelectExpression__Group__0 +rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 @init { int stackSize = keepStackSize(); } : - rule__TypeSelectExpression__Group__0__Impl - rule__TypeSelectExpression__Group__1 + ( + { before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__0__Impl +rule__XClosure__ExplicitSyntaxAssignment_1_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); } - (rule__TypeSelectExpression__NameAssignment_0) - { after(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); } -) + ( + { before(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); } + ( + { before(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); } + '|' + { after(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); } + ) + { after(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__1 +rule__XClosure__ExpressionAssignment_2 @init { int stackSize = keepStackSize(); } : - rule__TypeSelectExpression__Group__1__Impl - rule__TypeSelectExpression__Group__2 + ( + { before(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); } + ruleXExpressionInClosure + { after(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__1__Impl +rule__XExpressionInClosure__ExpressionsAssignment_1_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); } - '(' - { after(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); } -) + ( + { before(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); } + ruleXExpressionOrVarDeclaration + { after(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__2 +rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 @init { int stackSize = keepStackSize(); } : - rule__TypeSelectExpression__Group__2__Impl - rule__TypeSelectExpression__Group__3 + ( + { before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__2__Impl +rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); } - (rule__TypeSelectExpression__TypeAssignment_2) - { after(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); } -) + ( + { before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__3 +rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 @init { int stackSize = keepStackSize(); } : - rule__TypeSelectExpression__Group__3__Impl + ( + { before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); } + ( + { before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); } + '|' + { after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); } + ) + { after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__3__Impl +rule__XShortClosure__ExpressionAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); } - ')' - { after(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); } -) + ( + { before(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); } + ruleXExpression + { after(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__CollectionExpression__Group__0 +rule__XIfExpression__IfAssignment_3 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group__0__Impl - rule__CollectionExpression__Group__1 + ( + { before(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); } + ruleXExpression + { after(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__0__Impl +rule__XIfExpression__ThenAssignment_5 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); } - (rule__CollectionExpression__NameAssignment_0) - { after(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); } -) + ( + { before(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); } + ruleXExpression + { after(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__1 +rule__XIfExpression__ElseAssignment_6_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group__1__Impl - rule__CollectionExpression__Group__2 + ( + { before(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); } + ruleXExpression + { after(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__1__Impl +rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); } - '(' - { after(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); } -) + ( + { before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__2 +rule__XSwitchExpression__SwitchAssignment_2_0_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group__2__Impl - rule__CollectionExpression__Group__3 + ( + { before(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); } + ruleXExpression + { after(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__2__Impl +rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getGroup_2()); } - (rule__CollectionExpression__Group_2__0)? - { after(grammarAccess.getCollectionExpressionAccess().getGroup_2()); } -) + ( + { before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__3 +rule__XSwitchExpression__SwitchAssignment_2_1_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group__3__Impl - rule__CollectionExpression__Group__4 + ( + { before(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__3__Impl +rule__XSwitchExpression__CasesAssignment_4 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); } - (rule__CollectionExpression__ExpAssignment_3) - { after(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); } -) + ( + { before(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); } + ruleXCasePart + { after(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__4 +rule__XSwitchExpression__DefaultAssignment_5_2 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group__4__Impl + ( + { before(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); } + ruleXExpression + { after(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__4__Impl +rule__XCasePart__TypeGuardAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); } - ')' - { after(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); } -) + ( + { before(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__CollectionExpression__Group_2__0 +rule__XCasePart__CaseAssignment_2_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group_2__0__Impl - rule__CollectionExpression__Group_2__1 + ( + { before(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); } + ruleXExpression + { after(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group_2__0__Impl +rule__XCasePart__ThenAssignment_3_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); } - (rule__CollectionExpression__VarAssignment_2_0) - { after(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); } -) + ( + { before(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); } + ruleXExpression + { after(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group_2__1 +rule__XCasePart__FallThroughAssignment_3_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group_2__1__Impl + ( + { before(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); } + ( + { before(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); } + ',' + { after(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); } + ) + { after(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group_2__1__Impl +rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); } - '|' - { after(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); } -) + ( + { before(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__CollectionType__Group__0 +rule__XForLoopExpression__ForExpressionAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionType__Group__0__Impl - rule__CollectionType__Group__1 + ( + { before(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); } + ruleXExpression + { after(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__0__Impl +rule__XForLoopExpression__EachExpressionAssignment_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); } - (rule__CollectionType__ClAssignment_0) - { after(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); } -) + ( + { before(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); } + ruleXExpression + { after(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__1 +rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 @init { int stackSize = keepStackSize(); } : - rule__CollectionType__Group__1__Impl - rule__CollectionType__Group__2 + ( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); } + ruleXExpressionOrVarDeclaration + { after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__1__Impl +rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); } - '[' - { after(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); } -) + ( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); } + ruleXExpressionOrVarDeclaration + { after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__2 +rule__XBasicForLoopExpression__ExpressionAssignment_5 @init { int stackSize = keepStackSize(); } : - rule__CollectionType__Group__2__Impl - rule__CollectionType__Group__3 + ( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); } + ruleXExpression + { after(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__2__Impl +rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); } - (rule__CollectionType__Id1Assignment_2) - { after(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); } -) + ( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); } + ruleXExpression + { after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__3 +rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionType__Group__3__Impl + ( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__3__Impl +rule__XBasicForLoopExpression__EachExpressionAssignment_9 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); } - ']' - { after(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); } -) + ( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); } + ruleXExpression + { after(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__SimpleType__Group__0 +rule__XWhileExpression__PredicateAssignment_3 @init { int stackSize = keepStackSize(); } : - rule__SimpleType__Group__0__Impl - rule__SimpleType__Group__1 + ( + { before(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); } + ruleXExpression + { after(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group__0__Impl +rule__XWhileExpression__BodyAssignment_5 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); } - (rule__SimpleType__IdAssignment_0) - { after(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); } -) + ( + { before(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); } + ruleXExpression + { after(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group__1 +rule__XDoWhileExpression__BodyAssignment_2 @init { int stackSize = keepStackSize(); } : - rule__SimpleType__Group__1__Impl + ( + { before(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); } + ruleXExpression + { after(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group__1__Impl +rule__XDoWhileExpression__PredicateAssignment_5 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getSimpleTypeAccess().getGroup_1()); } - (rule__SimpleType__Group_1__0)* - { after(grammarAccess.getSimpleTypeAccess().getGroup_1()); } -) + ( + { before(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); } + ruleXExpression + { after(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__SimpleType__Group_1__0 +rule__XBlockExpression__ExpressionsAssignment_2_0 @init { int stackSize = keepStackSize(); } : - rule__SimpleType__Group_1__0__Impl - rule__SimpleType__Group_1__1 + ( + { before(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); } + ruleXExpressionOrVarDeclaration + { after(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group_1__0__Impl +rule__XVariableDeclaration__WriteableAssignment_1_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); } - '::' - { after(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); } -) + ( + { before(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); } + ( + { before(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); } + 'var' + { after(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); } + ) + { after(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group_1__1 +rule__XVariableDeclaration__TypeAssignment_2_0_0_0 @init { int stackSize = keepStackSize(); } : - rule__SimpleType__Group_1__1__Impl + ( + { before(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group_1__1__Impl +rule__XVariableDeclaration__NameAssignment_2_0_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); } - (rule__SimpleType__IdAssignment_1_1) - { after(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); } -) + ( + { before(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); } + ruleValidID + { after(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__LetExpression__IdentifierAssignment_1 +rule__XVariableDeclaration__NameAssignment_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); } - ruleIdentifier - { after(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); } + ruleValidID + { after(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__VarExprAssignment_3 +rule__XVariableDeclaration__RightAssignment_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); } - ruleExpression - { after(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); } + ruleXExpression + { after(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__TargetAssignment_5 +rule__JvmFormalParameter__ParameterTypeAssignment_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); } - ruleExpression - { after(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); } + { before(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__TypeAssignment_1 +rule__JvmFormalParameter__NameAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); } - ruleType - { after(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); } + { before(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } + ruleValidID + { after(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__TargetAssignment_3 +rule__FullJvmFormalParameter__ParameterTypeAssignment_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); } - ruleExpression - { after(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); } + { before(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } + ruleJvmTypeReference + { after(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__NextAssignment_1_2 +rule__FullJvmFormalParameter__NameAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); } - ruleChainedExpression - { after(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } + ruleValidID + { after(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__ThenPartAssignment_1_2 +rule__XFeatureCall__TypeArgumentsAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); } - ruleChainedExpression - { after(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__ElsePartAssignment_1_4 +rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); } - ruleChainedExpression - { after(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); } + { before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__ConditionAssignment_1 +rule__XFeatureCall__FeatureAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); } - ruleChainedExpression - { after(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); } + ( + { before(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_2_0_1()); } + ruleIdOrSuper + { after(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_2_0_1()); } + ) + { after(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__ThenPartAssignment_3 +rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); } - ruleChainedExpression - { after(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); } + ( + { before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); } + ( + { before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); } + '(' + { after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); } + ) + { after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__ElsePartAssignment_4_0_1 +rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); } - ruleChainedExpression - { after(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); } + ruleXShortClosure + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__SwitchExprAssignment_1_1 +rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); } - ruleOrExpression - { after(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); } + ruleXExpression + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__CaseAssignment_3 +rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); } - ruleCase - { after(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__DefaultExprAssignment_6 +rule__XFeatureCall__FeatureCallArgumentsAssignment_4 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); } - ruleOrExpression - { after(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); } + ruleXClosure + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Case__ConditionAssignment_1 +rule__XConstructorCall__ConstructorAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); } - ruleOrExpression - { after(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); } + { before(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); } + ( + { before(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorQualifiedNameParserRuleCall_2_0_1()); } + ruleQualifiedName + { after(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorQualifiedNameParserRuleCall_2_0_1()); } + ) + { after(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Case__ThenParAssignment_3 +rule__XConstructorCall__TypeArgumentsAssignment_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); } - ruleOrExpression - { after(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); } + { before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OrExpression__OperatorAssignment_1_1 +rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } - ( - { before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } - '||' - { after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } - ) - { after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } + { before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OrExpression__RightAssignment_1_2 +rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); } - ruleAndExpression - { after(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); } + ( + { before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); } + '(' + { after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); } + ) + { after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AndExpression__OperatorAssignment_1_1 +rule__XConstructorCall__ArgumentsAssignment_4_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } - ( - { before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } - '&&' - { after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } - ) - { after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); } + ruleXShortClosure + { after(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AndExpression__RightAssignment_1_2 +rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); } - ruleImpliesExpression - { after(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); } + ruleXExpression + { after(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__OperatorAssignment_1_1 +rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } - ( - { before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } - 'implies' - { after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } - ) - { after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__RightAssignment_1_2 +rule__XConstructorCall__ArgumentsAssignment_5 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); } - ruleRelationalExpression - { after(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); } + ruleXClosure + { after(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__OperatorAssignment_1_1 +rule__XBooleanLiteral__IsTrueAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); } - (rule__RelationalExpression__OperatorAlternatives_1_1_0) - { after(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); } + { before(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); } + ( + { before(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); } + 'true' + { after(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); } + ) + { after(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__RightAssignment_1_2 +rule__XNumberLiteral__ValueAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); } - ruleAdditiveExpression - { after(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); } + ruleNumber + { after(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__NameAssignment_1_1 +rule__XStringLiteral__ValueAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); } - (rule__AdditiveExpression__NameAlternatives_1_1_0) - { after(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); } + { before(grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); } + RULE_STRING + { after(grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__ParamsAssignment_1_2 +rule__XTypeLiteral__TypeAssignment_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); } - ruleMultiplicativeExpression - { after(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); } + ( + { before(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeQualifiedNameParserRuleCall_3_0_1()); } + ruleQualifiedName + { after(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeQualifiedNameParserRuleCall_3_0_1()); } + ) + { after(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__NameAssignment_1_1 +rule__XTypeLiteral__ArrayDimensionsAssignment_4 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); } - (rule__MultiplicativeExpression__NameAlternatives_1_1_0) - { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); } + { before(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); } + ruleArrayBrackets + { after(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__ParamsAssignment_1_2 +rule__XThrowExpression__ExpressionAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); } - ruleUnaryOrInfixExpression - { after(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } + ruleXExpression + { after(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__NameAssignment_0 +rule__XReturnExpression__ExpressionAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); } - (rule__UnaryExpression__NameAlternatives_0_0) - { after(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); } + { before(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } + ruleXExpression + { after(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__ParamsAssignment_1 +rule__XTryCatchFinallyExpression__ExpressionAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); } - ruleInfixExpression - { after(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } + ruleXExpression + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__NameAssignment_1_0_2 +rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); } - ruleIdentifier - { after(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); } + ruleXCatchClause + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__ParamsAssignment_1_0_4_0 +rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); } - ruleExpression - { after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__ParamsAssignment_1_0_4_1_1 +rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); } - ruleExpression - { after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__TypeAssignment_1_1_2 +rule__XSynchronizedExpression__ParamAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); } - ruleType - { after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); } + ruleXExpression + { after(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__NameAssignment_1_2_2 +rule__XSynchronizedExpression__ExpressionAssignment_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } - ( - { before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } - 'typeSelect' - { after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } - ) - { after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); } + ruleXExpression + { after(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__TypeAssignment_1_2_4 +rule__XCatchClause__DeclaredParamAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); } - ruleType - { after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); } + { before(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); } + ruleFullJvmFormalParameter + { after(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__NameAssignment_1_3_2 +rule__XCatchClause__ExpressionAssignment_4 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); } - (rule__InfixExpression__NameAlternatives_1_3_2_0) - { after(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); } + { before(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); } + ruleXExpression + { after(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__VarAssignment_1_3_4_0 +rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); } - ruleIdentifier - { after(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__ExpAssignment_1_3_5 +rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); } - ruleExpression - { after(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__BooleanLiteral__ValAssignment +rule__XFunctionTypeRef__ReturnTypeAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); } - (rule__BooleanLiteral__ValAlternatives_0) - { after(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IntegerLiteral__ValAssignment +rule__JvmParameterizedTypeReference__TypeAssignment_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); } - RULE_INT - { after(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); } + ( + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeQualifiedNameParserRuleCall_0_0_1()); } + ruleQualifiedName + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeQualifiedNameParserRuleCall_0_0_1()); } + ) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NullLiteral__ValAssignment +rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } - ( - { before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } - 'null' - { after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } - ) - { after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RealLiteral__ValAssignment +rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); } - RULE_REAL - { after(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__StringLiteral__ValAssignment +rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); } - RULE_STRING - { after(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); } + ( + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeValidIDParserRuleCall_1_4_1_0_1()); } + ruleValidID + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeValidIDParserRuleCall_1_4_1_0_1()); } + ) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalVarExpression__NameAssignment_1 +rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); } - ruleIdentifier - { after(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__FeatureCall__TypeAssignment_1 +rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); } - ruleType - { after(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__NameAssignment_0 +rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); } - ruleIdentifier - { after(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); } + ruleJvmUpperBound + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__ParamsAssignment_2_0 +rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); } - ruleExpression - { after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); } + ruleJvmUpperBoundAnded + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__ParamsAssignment_2_1_1 +rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); } - ruleExpression - { after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); } + ruleJvmLowerBound + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__ElementsAssignment_2_0 +rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); } - ruleExpression - { after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); } + ruleJvmLowerBoundAnded + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__ElementsAssignment_2_1_1 +rule__JvmUpperBound__TypeReferenceAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); } - ruleExpression - { after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); } + { before(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ConstructorCallExpression__TypeAssignment_1 +rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); } - ruleSimpleType - { after(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); } + { before(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__NameAssignment_0 +rule__JvmLowerBound__TypeReferenceAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } - ( - { before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } - 'typeSelect' - { after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } - ) - { after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } + { before(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__TypeAssignment_2 +rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); } - ruleType - { after(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); } + { before(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__NameAssignment_0 +rule__XImportDeclaration__StaticAssignment_1_0_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); } - (rule__CollectionExpression__NameAlternatives_0_0) - { after(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); } + ( + { before(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); } + 'static' + { after(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); } + ) + { after(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__VarAssignment_2_0 +rule__XImportDeclaration__ExtensionAssignment_1_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); } - ruleIdentifier - { after(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); } + ( + { before(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); } + 'extension' + { after(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); } + ) + { after(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__ExpAssignment_3 +rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); } - ruleExpression - { after(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); } + ( + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameInStaticImportParserRuleCall_1_0_2_0_1()); } + ruleQualifiedNameInStaticImport + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameInStaticImportParserRuleCall_1_0_2_0_1()); } + ) + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__ClAssignment_0 +rule__XImportDeclaration__WildcardAssignment_1_0_3_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); } - (rule__CollectionType__ClAlternatives_0_0) - { after(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); } + ( + { before(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); } + '*' + { after(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); } + ) + { after(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Id1Assignment_2 +rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); } - ruleSimpleType - { after(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); } + ruleValidID + { after(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__IdAssignment_0 +rule__XImportDeclaration__ImportedTypeAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); } - ruleIdentifier - { after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); } + ( + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameParserRuleCall_1_1_0_1()); } + ruleQualifiedName + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameParserRuleCall_1_1_0_1()); } + ) + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__IdAssignment_1_1 +rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); } - ruleIdentifier - { after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); } + ruleQualifiedNameWithWildcard + { after(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); } ) ; finally { @@ -6455,11 +23302,15 @@ finally { RULE_REAL : ('0'..'9')* '.' ('0'..'9')*; -RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; +RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F'|'_')+ ('#' (('b'|'B') ('i'|'I')|('l'|'L')))?; + +RULE_INT : '0'..'9' ('0'..'9'|'_')*; + +RULE_DECIMAL : RULE_INT (('e'|'E') ('+'|'-')? RULE_INT)? (('b'|'B') ('i'|'I'|'d'|'D')|('l'|'L'|'d'|'D'|'f'|'F'))?; -RULE_INT : ('0'..'9')+; +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'$'|'_') ('a'..'z'|'A'..'Z'|'$'|'_'|'0'..'9')*; -RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\''); +RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'?|'\'' ('\\' .|~(('\\'|'\'')))* '\''?); RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; diff --git a/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/internal/InternalExpression.tokens b/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/internal/InternalExpression.tokens index 32c4b9600c..4e3d39bfab 100644 --- a/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/internal/InternalExpression.tokens +++ b/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/internal/InternalExpression.tokens @@ -1,65 +1,109 @@ -'!'=22 -'!='=13 -'&&'=60 -'('=39 -')'=40 -'*'=20 -'+'=18 -','=52 -'-'=19 -'->'=41 -'.'=51 -'/'=21 -':'=38 -'::'=58 -'<'=17 -'<='=15 -'='=37 -'=='=12 -'>'=16 -'>='=14 -'?'=42 -'Collection'=33 -'GLOBALVAR'=54 -'List'=34 -'Set'=35 -'['=56 -']'=57 -'case'=50 -'collect'=23 -'default'=48 -'else'=45 -'exists'=27 -'false'=32 -'forAll'=30 -'if'=43 -'implies'=61 -'let'=36 -'new'=55 -'notExists'=28 -'null'=63 -'reject'=26 -'select'=24 -'selectFirst'=25 -'sortBy'=29 -'switch'=46 -'then'=44 -'true'=31 -'typeSelect'=62 -'{'=47 -'|'=53 -'||'=59 -'}'=49 -RULE_ANY_OTHER=11 +'!'=27 +'!='=18 +'!=='=47 +'#'=87 +'%'=55 +'%='=45 +'&&'=16 +'&'=100 +'('=67 +')'=68 +'*'=25 +'**'=54 +'*='=43 +'+'=23 +'++'=56 +'+='=41 +','=78 +'-'=24 +'--'=57 +'-='=42 +'->'=48 +'.'=58 +'..'=50 +'..<'=49 +'/'=26 +'/='=44 +':'=66 +'::'=84 +';'=88 +'<'=22 +'<='=20 +'<>'=52 +'='=14 +'=='=17 +'==='=46 +'=>'=51 +'>'=21 +'>='=19 +'?'=69 +'?.'=103 +'?:'=53 +'Collection'=38 +'GLOBALVAR'=80 +'List'=39 +'Set'=40 +'['=82 +']'=83 +'as'=86 +'case'=77 +'catch'=99 +'collect'=28 +'default'=75 +'do'=91 +'else'=72 +'exists'=32 +'extends'=60 +'extension'=63 +'false'=37 +'finally'=97 +'for'=89 +'forAll'=35 +'if'=70 +'implies'=101 +'import'=62 +'instanceof'=85 +'let'=65 +'new'=81 +'notExists'=33 +'null'=92 +'reject'=31 +'return'=95 +'select'=29 +'selectFirst'=30 +'sortBy'=34 +'static'=61 +'super'=64 +'switch'=73 +'synchronized'=98 +'then'=71 +'throw'=94 +'true'=36 +'try'=96 +'typeSelect'=102 +'typeof'=93 +'val'=59 +'var'=104 +'while'=90 +'{'=74 +'|'=79 +'||'=15 +'}'=76 +RULE_ANY_OTHER=13 +RULE_DECIMAL=7 +RULE_HEX=5 RULE_ID=4 -RULE_INT=5 -RULE_ML_COMMENT=8 -RULE_REAL=6 -RULE_SL_COMMENT=9 -RULE_STRING=7 -RULE_WS=10 -T__12=12 -T__13=13 +RULE_INT=6 +RULE_ML_COMMENT=10 +RULE_REAL=8 +RULE_SL_COMMENT=11 +RULE_STRING=9 +RULE_WS=12 +T__100=100 +T__101=101 +T__102=102 +T__103=103 +T__104=104 T__14=14 T__15=15 T__16=16 @@ -110,3 +154,39 @@ T__60=60 T__61=61 T__62=62 T__63=63 +T__64=64 +T__65=65 +T__66=66 +T__67=67 +T__68=68 +T__69=69 +T__70=70 +T__71=71 +T__72=72 +T__73=73 +T__74=74 +T__75=75 +T__76=76 +T__77=77 +T__78=78 +T__79=79 +T__80=80 +T__81=81 +T__82=82 +T__83=83 +T__84=84 +T__85=85 +T__86=86 +T__87=87 +T__88=88 +T__89=89 +T__90=90 +T__91=91 +T__92=92 +T__93=93 +T__94=94 +T__95=95 +T__96=96 +T__97=97 +T__98=98 +T__99=99 diff --git a/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/internal/InternalExpressionLexer.java b/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/internal/InternalExpressionLexer.java index 513eb51dfd..093361db74 100644 --- a/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/internal/InternalExpressionLexer.java +++ b/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/internal/InternalExpressionLexer.java @@ -12,19 +12,12 @@ @SuppressWarnings("all") public class InternalExpressionLexer extends Lexer { + public static final int RULE_HEX=5; public static final int T__50=50; - public static final int T__19=19; - public static final int T__15=15; public static final int T__59=59; - public static final int T__16=16; - public static final int T__17=17; - public static final int T__18=18; public static final int T__55=55; - public static final int T__12=12; public static final int T__56=56; - public static final int T__13=13; public static final int T__57=57; - public static final int T__14=14; public static final int T__58=58; public static final int T__51=51; public static final int T__52=52; @@ -33,23 +26,17 @@ public class InternalExpressionLexer extends Lexer { public static final int T__60=60; public static final int T__61=61; public static final int RULE_ID=4; - public static final int RULE_REAL=6; - public static final int T__26=26; - public static final int T__27=27; - public static final int T__28=28; - public static final int RULE_INT=5; - public static final int T__29=29; - public static final int T__22=22; - public static final int RULE_ML_COMMENT=8; - public static final int T__23=23; - public static final int T__24=24; - public static final int T__25=25; + public static final int RULE_REAL=8; + public static final int RULE_INT=6; + public static final int T__66=66; + public static final int RULE_ML_COMMENT=10; + public static final int T__67=67; + public static final int T__68=68; + public static final int T__69=69; public static final int T__62=62; public static final int T__63=63; - public static final int T__20=20; - public static final int T__21=21; - public static final int RULE_STRING=7; - public static final int RULE_SL_COMMENT=9; + public static final int T__64=64; + public static final int T__65=65; public static final int T__37=37; public static final int T__38=38; public static final int T__39=39; @@ -57,12 +44,9 @@ public class InternalExpressionLexer extends Lexer { public static final int T__34=34; public static final int T__35=35; public static final int T__36=36; - public static final int EOF=-1; public static final int T__30=30; public static final int T__31=31; public static final int T__32=32; - public static final int RULE_WS=10; - public static final int RULE_ANY_OTHER=11; public static final int T__48=48; public static final int T__49=49; public static final int T__44=44; @@ -73,6 +57,63 @@ public class InternalExpressionLexer extends Lexer { public static final int T__41=41; public static final int T__42=42; public static final int T__43=43; + public static final int T__91=91; + public static final int T__100=100; + public static final int T__92=92; + public static final int T__93=93; + public static final int T__102=102; + public static final int T__94=94; + public static final int T__101=101; + public static final int T__90=90; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__99=99; + public static final int T__14=14; + public static final int T__95=95; + public static final int T__96=96; + public static final int T__97=97; + public static final int T__98=98; + public static final int RULE_DECIMAL=7; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int T__29=29; + public static final int T__22=22; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + public static final int T__70=70; + public static final int T__71=71; + public static final int T__72=72; + public static final int RULE_STRING=9; + public static final int RULE_SL_COMMENT=11; + public static final int T__77=77; + public static final int T__78=78; + public static final int T__79=79; + public static final int T__73=73; + public static final int EOF=-1; + public static final int T__74=74; + public static final int T__75=75; + public static final int T__76=76; + public static final int T__80=80; + public static final int T__81=81; + public static final int T__82=82; + public static final int T__83=83; + public static final int RULE_WS=12; + public static final int RULE_ANY_OTHER=13; + public static final int T__88=88; + public static final int T__89=89; + public static final int T__84=84; + public static final int T__104=104; + public static final int T__85=85; + public static final int T__103=103; + public static final int T__86=86; + public static final int T__87=87; // delegates // delegators @@ -87,58 +128,15 @@ public InternalExpressionLexer(CharStream input, RecognizerSharedState state) { } public String getGrammarFileName() { return "InternalExpression.g"; } - // $ANTLR start "T__12" - public final void mT__12() throws RecognitionException { - try { - int _type = T__12; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:11:7: ( '==' ) - // InternalExpression.g:11:9: '==' - { - match("=="); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__12" - - // $ANTLR start "T__13" - public final void mT__13() throws RecognitionException { - try { - int _type = T__13; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:12:7: ( '!=' ) - // InternalExpression.g:12:9: '!=' - { - match("!="); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__13" - // $ANTLR start "T__14" public final void mT__14() throws RecognitionException { try { int _type = T__14; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:13:7: ( '>=' ) - // InternalExpression.g:13:9: '>=' + // InternalExpression.g:11:7: ( '=' ) + // InternalExpression.g:11:9: '=' { - match(">="); - + match('='); } @@ -155,10 +153,10 @@ public final void mT__15() throws RecognitionException { try { int _type = T__15; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:14:7: ( '<=' ) - // InternalExpression.g:14:9: '<=' + // InternalExpression.g:12:7: ( '||' ) + // InternalExpression.g:12:9: '||' { - match("<="); + match("||"); } @@ -176,10 +174,11 @@ public final void mT__16() throws RecognitionException { try { int _type = T__16; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:15:7: ( '>' ) - // InternalExpression.g:15:9: '>' + // InternalExpression.g:13:7: ( '&&' ) + // InternalExpression.g:13:9: '&&' { - match('>'); + match("&&"); + } @@ -196,10 +195,11 @@ public final void mT__17() throws RecognitionException { try { int _type = T__17; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:16:7: ( '<' ) - // InternalExpression.g:16:9: '<' + // InternalExpression.g:14:7: ( '==' ) + // InternalExpression.g:14:9: '==' { - match('<'); + match("=="); + } @@ -216,10 +216,11 @@ public final void mT__18() throws RecognitionException { try { int _type = T__18; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:17:7: ( '+' ) - // InternalExpression.g:17:9: '+' + // InternalExpression.g:15:7: ( '!=' ) + // InternalExpression.g:15:9: '!=' { - match('+'); + match("!="); + } @@ -236,10 +237,11 @@ public final void mT__19() throws RecognitionException { try { int _type = T__19; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:18:7: ( '-' ) - // InternalExpression.g:18:9: '-' + // InternalExpression.g:16:7: ( '>=' ) + // InternalExpression.g:16:9: '>=' { - match('-'); + match(">="); + } @@ -256,10 +258,11 @@ public final void mT__20() throws RecognitionException { try { int _type = T__20; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:19:7: ( '*' ) - // InternalExpression.g:19:9: '*' + // InternalExpression.g:17:7: ( '<=' ) + // InternalExpression.g:17:9: '<=' { - match('*'); + match("<="); + } @@ -276,10 +279,10 @@ public final void mT__21() throws RecognitionException { try { int _type = T__21; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:20:7: ( '/' ) - // InternalExpression.g:20:9: '/' + // InternalExpression.g:18:7: ( '>' ) + // InternalExpression.g:18:9: '>' { - match('/'); + match('>'); } @@ -296,10 +299,10 @@ public final void mT__22() throws RecognitionException { try { int _type = T__22; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:21:7: ( '!' ) - // InternalExpression.g:21:9: '!' + // InternalExpression.g:19:7: ( '<' ) + // InternalExpression.g:19:9: '<' { - match('!'); + match('<'); } @@ -316,11 +319,10 @@ public final void mT__23() throws RecognitionException { try { int _type = T__23; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:22:7: ( 'collect' ) - // InternalExpression.g:22:9: 'collect' + // InternalExpression.g:20:7: ( '+' ) + // InternalExpression.g:20:9: '+' { - match("collect"); - + match('+'); } @@ -337,11 +339,10 @@ public final void mT__24() throws RecognitionException { try { int _type = T__24; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:23:7: ( 'select' ) - // InternalExpression.g:23:9: 'select' + // InternalExpression.g:21:7: ( '-' ) + // InternalExpression.g:21:9: '-' { - match("select"); - + match('-'); } @@ -358,11 +359,10 @@ public final void mT__25() throws RecognitionException { try { int _type = T__25; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:24:7: ( 'selectFirst' ) - // InternalExpression.g:24:9: 'selectFirst' + // InternalExpression.g:22:7: ( '*' ) + // InternalExpression.g:22:9: '*' { - match("selectFirst"); - + match('*'); } @@ -379,11 +379,10 @@ public final void mT__26() throws RecognitionException { try { int _type = T__26; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:25:7: ( 'reject' ) - // InternalExpression.g:25:9: 'reject' + // InternalExpression.g:23:7: ( '/' ) + // InternalExpression.g:23:9: '/' { - match("reject"); - + match('/'); } @@ -400,11 +399,10 @@ public final void mT__27() throws RecognitionException { try { int _type = T__27; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:26:7: ( 'exists' ) - // InternalExpression.g:26:9: 'exists' + // InternalExpression.g:24:7: ( '!' ) + // InternalExpression.g:24:9: '!' { - match("exists"); - + match('!'); } @@ -421,10 +419,10 @@ public final void mT__28() throws RecognitionException { try { int _type = T__28; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:27:7: ( 'notExists' ) - // InternalExpression.g:27:9: 'notExists' + // InternalExpression.g:25:7: ( 'collect' ) + // InternalExpression.g:25:9: 'collect' { - match("notExists"); + match("collect"); } @@ -442,10 +440,10 @@ public final void mT__29() throws RecognitionException { try { int _type = T__29; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:28:7: ( 'sortBy' ) - // InternalExpression.g:28:9: 'sortBy' + // InternalExpression.g:26:7: ( 'select' ) + // InternalExpression.g:26:9: 'select' { - match("sortBy"); + match("select"); } @@ -463,10 +461,10 @@ public final void mT__30() throws RecognitionException { try { int _type = T__30; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:29:7: ( 'forAll' ) - // InternalExpression.g:29:9: 'forAll' + // InternalExpression.g:27:7: ( 'selectFirst' ) + // InternalExpression.g:27:9: 'selectFirst' { - match("forAll"); + match("selectFirst"); } @@ -484,10 +482,10 @@ public final void mT__31() throws RecognitionException { try { int _type = T__31; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:30:7: ( 'true' ) - // InternalExpression.g:30:9: 'true' + // InternalExpression.g:28:7: ( 'reject' ) + // InternalExpression.g:28:9: 'reject' { - match("true"); + match("reject"); } @@ -505,10 +503,10 @@ public final void mT__32() throws RecognitionException { try { int _type = T__32; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:31:7: ( 'false' ) - // InternalExpression.g:31:9: 'false' + // InternalExpression.g:29:7: ( 'exists' ) + // InternalExpression.g:29:9: 'exists' { - match("false"); + match("exists"); } @@ -526,10 +524,10 @@ public final void mT__33() throws RecognitionException { try { int _type = T__33; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:32:7: ( 'Collection' ) - // InternalExpression.g:32:9: 'Collection' + // InternalExpression.g:30:7: ( 'notExists' ) + // InternalExpression.g:30:9: 'notExists' { - match("Collection"); + match("notExists"); } @@ -547,10 +545,10 @@ public final void mT__34() throws RecognitionException { try { int _type = T__34; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:33:7: ( 'List' ) - // InternalExpression.g:33:9: 'List' + // InternalExpression.g:31:7: ( 'sortBy' ) + // InternalExpression.g:31:9: 'sortBy' { - match("List"); + match("sortBy"); } @@ -568,10 +566,10 @@ public final void mT__35() throws RecognitionException { try { int _type = T__35; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:34:7: ( 'Set' ) - // InternalExpression.g:34:9: 'Set' + // InternalExpression.g:32:7: ( 'forAll' ) + // InternalExpression.g:32:9: 'forAll' { - match("Set"); + match("forAll"); } @@ -589,10 +587,10 @@ public final void mT__36() throws RecognitionException { try { int _type = T__36; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:35:7: ( 'let' ) - // InternalExpression.g:35:9: 'let' + // InternalExpression.g:33:7: ( 'true' ) + // InternalExpression.g:33:9: 'true' { - match("let"); + match("true"); } @@ -610,10 +608,11 @@ public final void mT__37() throws RecognitionException { try { int _type = T__37; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:36:7: ( '=' ) - // InternalExpression.g:36:9: '=' + // InternalExpression.g:34:7: ( 'false' ) + // InternalExpression.g:34:9: 'false' { - match('='); + match("false"); + } @@ -630,10 +629,11 @@ public final void mT__38() throws RecognitionException { try { int _type = T__38; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:37:7: ( ':' ) - // InternalExpression.g:37:9: ':' + // InternalExpression.g:35:7: ( 'Collection' ) + // InternalExpression.g:35:9: 'Collection' { - match(':'); + match("Collection"); + } @@ -650,10 +650,11 @@ public final void mT__39() throws RecognitionException { try { int _type = T__39; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:38:7: ( '(' ) - // InternalExpression.g:38:9: '(' + // InternalExpression.g:36:7: ( 'List' ) + // InternalExpression.g:36:9: 'List' { - match('('); + match("List"); + } @@ -670,10 +671,11 @@ public final void mT__40() throws RecognitionException { try { int _type = T__40; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:39:7: ( ')' ) - // InternalExpression.g:39:9: ')' + // InternalExpression.g:37:7: ( 'Set' ) + // InternalExpression.g:37:9: 'Set' { - match(')'); + match("Set"); + } @@ -690,10 +692,10 @@ public final void mT__41() throws RecognitionException { try { int _type = T__41; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:40:7: ( '->' ) - // InternalExpression.g:40:9: '->' + // InternalExpression.g:38:7: ( '+=' ) + // InternalExpression.g:38:9: '+=' { - match("->"); + match("+="); } @@ -711,10 +713,11 @@ public final void mT__42() throws RecognitionException { try { int _type = T__42; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:41:7: ( '?' ) - // InternalExpression.g:41:9: '?' + // InternalExpression.g:39:7: ( '-=' ) + // InternalExpression.g:39:9: '-=' { - match('?'); + match("-="); + } @@ -731,10 +734,10 @@ public final void mT__43() throws RecognitionException { try { int _type = T__43; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:42:7: ( 'if' ) - // InternalExpression.g:42:9: 'if' + // InternalExpression.g:40:7: ( '*=' ) + // InternalExpression.g:40:9: '*=' { - match("if"); + match("*="); } @@ -752,10 +755,10 @@ public final void mT__44() throws RecognitionException { try { int _type = T__44; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:43:7: ( 'then' ) - // InternalExpression.g:43:9: 'then' + // InternalExpression.g:41:7: ( '/=' ) + // InternalExpression.g:41:9: '/=' { - match("then"); + match("/="); } @@ -773,10 +776,10 @@ public final void mT__45() throws RecognitionException { try { int _type = T__45; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:44:7: ( 'else' ) - // InternalExpression.g:44:9: 'else' + // InternalExpression.g:42:7: ( '%=' ) + // InternalExpression.g:42:9: '%=' { - match("else"); + match("%="); } @@ -794,10 +797,10 @@ public final void mT__46() throws RecognitionException { try { int _type = T__46; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:45:7: ( 'switch' ) - // InternalExpression.g:45:9: 'switch' + // InternalExpression.g:43:7: ( '===' ) + // InternalExpression.g:43:9: '===' { - match("switch"); + match("==="); } @@ -815,10 +818,11 @@ public final void mT__47() throws RecognitionException { try { int _type = T__47; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:46:7: ( '{' ) - // InternalExpression.g:46:9: '{' + // InternalExpression.g:44:7: ( '!==' ) + // InternalExpression.g:44:9: '!==' { - match('{'); + match("!=="); + } @@ -835,10 +839,10 @@ public final void mT__48() throws RecognitionException { try { int _type = T__48; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:47:7: ( 'default' ) - // InternalExpression.g:47:9: 'default' + // InternalExpression.g:45:7: ( '->' ) + // InternalExpression.g:45:9: '->' { - match("default"); + match("->"); } @@ -856,10 +860,11 @@ public final void mT__49() throws RecognitionException { try { int _type = T__49; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:48:7: ( '}' ) - // InternalExpression.g:48:9: '}' + // InternalExpression.g:46:7: ( '..<' ) + // InternalExpression.g:46:9: '..<' { - match('}'); + match("..<"); + } @@ -876,10 +881,10 @@ public final void mT__50() throws RecognitionException { try { int _type = T__50; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:49:7: ( 'case' ) - // InternalExpression.g:49:9: 'case' + // InternalExpression.g:47:7: ( '..' ) + // InternalExpression.g:47:9: '..' { - match("case"); + match(".."); } @@ -897,10 +902,11 @@ public final void mT__51() throws RecognitionException { try { int _type = T__51; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:50:7: ( '.' ) - // InternalExpression.g:50:9: '.' + // InternalExpression.g:48:7: ( '=>' ) + // InternalExpression.g:48:9: '=>' { - match('.'); + match("=>"); + } @@ -917,10 +923,11 @@ public final void mT__52() throws RecognitionException { try { int _type = T__52; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:51:7: ( ',' ) - // InternalExpression.g:51:9: ',' + // InternalExpression.g:49:7: ( '<>' ) + // InternalExpression.g:49:9: '<>' { - match(','); + match("<>"); + } @@ -937,10 +944,11 @@ public final void mT__53() throws RecognitionException { try { int _type = T__53; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:52:7: ( '|' ) - // InternalExpression.g:52:9: '|' + // InternalExpression.g:50:7: ( '?:' ) + // InternalExpression.g:50:9: '?:' { - match('|'); + match("?:"); + } @@ -957,10 +965,10 @@ public final void mT__54() throws RecognitionException { try { int _type = T__54; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:53:7: ( 'GLOBALVAR' ) - // InternalExpression.g:53:9: 'GLOBALVAR' + // InternalExpression.g:51:7: ( '**' ) + // InternalExpression.g:51:9: '**' { - match("GLOBALVAR"); + match("**"); } @@ -978,11 +986,10 @@ public final void mT__55() throws RecognitionException { try { int _type = T__55; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:54:7: ( 'new' ) - // InternalExpression.g:54:9: 'new' + // InternalExpression.g:52:7: ( '%' ) + // InternalExpression.g:52:9: '%' { - match("new"); - + match('%'); } @@ -999,10 +1006,11 @@ public final void mT__56() throws RecognitionException { try { int _type = T__56; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:55:7: ( '[' ) - // InternalExpression.g:55:9: '[' + // InternalExpression.g:53:7: ( '++' ) + // InternalExpression.g:53:9: '++' { - match('['); + match("++"); + } @@ -1019,10 +1027,11 @@ public final void mT__57() throws RecognitionException { try { int _type = T__57; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:56:7: ( ']' ) - // InternalExpression.g:56:9: ']' + // InternalExpression.g:54:7: ( '--' ) + // InternalExpression.g:54:9: '--' { - match(']'); + match("--"); + } @@ -1039,11 +1048,10 @@ public final void mT__58() throws RecognitionException { try { int _type = T__58; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:57:7: ( '::' ) - // InternalExpression.g:57:9: '::' + // InternalExpression.g:55:7: ( '.' ) + // InternalExpression.g:55:9: '.' { - match("::"); - + match('.'); } @@ -1060,10 +1068,10 @@ public final void mT__59() throws RecognitionException { try { int _type = T__59; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:58:7: ( '||' ) - // InternalExpression.g:58:9: '||' + // InternalExpression.g:56:7: ( 'val' ) + // InternalExpression.g:56:9: 'val' { - match("||"); + match("val"); } @@ -1081,10 +1089,10 @@ public final void mT__60() throws RecognitionException { try { int _type = T__60; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:59:7: ( '&&' ) - // InternalExpression.g:59:9: '&&' + // InternalExpression.g:57:7: ( 'extends' ) + // InternalExpression.g:57:9: 'extends' { - match("&&"); + match("extends"); } @@ -1102,10 +1110,10 @@ public final void mT__61() throws RecognitionException { try { int _type = T__61; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:60:7: ( 'implies' ) - // InternalExpression.g:60:9: 'implies' + // InternalExpression.g:58:7: ( 'static' ) + // InternalExpression.g:58:9: 'static' { - match("implies"); + match("static"); } @@ -1123,10 +1131,10 @@ public final void mT__62() throws RecognitionException { try { int _type = T__62; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:61:7: ( 'typeSelect' ) - // InternalExpression.g:61:9: 'typeSelect' + // InternalExpression.g:59:7: ( 'import' ) + // InternalExpression.g:59:9: 'import' { - match("typeSelect"); + match("import"); } @@ -1144,10 +1152,10 @@ public final void mT__63() throws RecognitionException { try { int _type = T__63; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:62:7: ( 'null' ) - // InternalExpression.g:62:9: 'null' + // InternalExpression.g:60:7: ( 'extension' ) + // InternalExpression.g:60:9: 'extension' { - match("null"); + match("extension"); } @@ -1160,65 +1168,57 @@ public final void mT__63() throws RecognitionException { } // $ANTLR end "T__63" - // $ANTLR start "RULE_REAL" - public final void mRULE_REAL() throws RecognitionException { + // $ANTLR start "T__64" + public final void mT__64() throws RecognitionException { try { - int _type = RULE_REAL; + int _type = T__64; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:6456:11: ( ( '0' .. '9' )* '.' ( '0' .. '9' )* ) - // InternalExpression.g:6456:13: ( '0' .. '9' )* '.' ( '0' .. '9' )* + // InternalExpression.g:61:7: ( 'super' ) + // InternalExpression.g:61:9: 'super' { - // InternalExpression.g:6456:13: ( '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 : - // InternalExpression.g:6456:14: '0' .. '9' - { - matchRange('0','9'); - - } - break; + match("super"); - default : - break loop1; - } - } while (true); - match('.'); - // InternalExpression.g:6456:29: ( '0' .. '9' )* - loop2: - do { - int alt2=2; - int LA2_0 = input.LA(1); + } - if ( ((LA2_0>='0' && LA2_0<='9')) ) { - alt2=1; - } + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__64" + // $ANTLR start "T__65" + public final void mT__65() throws RecognitionException { + try { + int _type = T__65; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:62:7: ( 'let' ) + // InternalExpression.g:62:9: 'let' + { + match("let"); - switch (alt2) { - case 1 : - // InternalExpression.g:6456:30: '0' .. '9' - { - matchRange('0','9'); - } - break; + } - default : - break loop2; - } - } while (true); + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__65" + // $ANTLR start "T__66" + public final void mT__66() throws RecognitionException { + try { + int _type = T__66; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:63:7: ( ':' ) + // InternalExpression.g:63:9: ':' + { + match(':'); } @@ -1228,50 +1228,926 @@ public final void mRULE_REAL() throws RecognitionException { finally { } } - // $ANTLR end "RULE_REAL" + // $ANTLR end "T__66" - // $ANTLR start "RULE_ID" - public final void mRULE_ID() throws RecognitionException { + // $ANTLR start "T__67" + public final void mT__67() throws RecognitionException { try { - int _type = RULE_ID; + int _type = T__67; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:6458:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalExpression.g:6458:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalExpression.g:64:7: ( '(' ) + // InternalExpression.g:64:9: '(' { - // InternalExpression.g:6458:11: ( '^' )? - int alt3=2; - int LA3_0 = input.LA(1); + match('('); - if ( (LA3_0=='^') ) { - alt3=1; } - switch (alt3) { - case 1 : - // InternalExpression.g:6458:11: '^' - { - match('^'); - } - break; + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__67" + + // $ANTLR start "T__68" + public final void mT__68() throws RecognitionException { + try { + int _type = T__68; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:65:7: ( ')' ) + // InternalExpression.g:65:9: ')' + { + match(')'); } - if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { - input.consume(); + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__68" + + // $ANTLR start "T__69" + public final void mT__69() throws RecognitionException { + try { + int _type = T__69; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:66:7: ( '?' ) + // InternalExpression.g:66:9: '?' + { + match('?'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__69" + + // $ANTLR start "T__70" + public final void mT__70() throws RecognitionException { + try { + int _type = T__70; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:67:7: ( 'if' ) + // InternalExpression.g:67:9: 'if' + { + match("if"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__70" + + // $ANTLR start "T__71" + public final void mT__71() throws RecognitionException { + try { + int _type = T__71; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:68:7: ( 'then' ) + // InternalExpression.g:68:9: 'then' + { + match("then"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__71" + + // $ANTLR start "T__72" + public final void mT__72() throws RecognitionException { + try { + int _type = T__72; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:69:7: ( 'else' ) + // InternalExpression.g:69:9: 'else' + { + match("else"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__72" + + // $ANTLR start "T__73" + public final void mT__73() throws RecognitionException { + try { + int _type = T__73; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:70:7: ( 'switch' ) + // InternalExpression.g:70:9: 'switch' + { + match("switch"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__73" + + // $ANTLR start "T__74" + public final void mT__74() throws RecognitionException { + try { + int _type = T__74; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:71:7: ( '{' ) + // InternalExpression.g:71:9: '{' + { + match('{'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__74" + + // $ANTLR start "T__75" + public final void mT__75() throws RecognitionException { + try { + int _type = T__75; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:72:7: ( 'default' ) + // InternalExpression.g:72:9: 'default' + { + match("default"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__75" + + // $ANTLR start "T__76" + public final void mT__76() throws RecognitionException { + try { + int _type = T__76; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:73:7: ( '}' ) + // InternalExpression.g:73:9: '}' + { + match('}'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__76" + + // $ANTLR start "T__77" + public final void mT__77() throws RecognitionException { + try { + int _type = T__77; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:74:7: ( 'case' ) + // InternalExpression.g:74:9: 'case' + { + match("case"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__77" + + // $ANTLR start "T__78" + public final void mT__78() throws RecognitionException { + try { + int _type = T__78; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:75:7: ( ',' ) + // InternalExpression.g:75:9: ',' + { + match(','); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__78" + + // $ANTLR start "T__79" + public final void mT__79() throws RecognitionException { + try { + int _type = T__79; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:76:7: ( '|' ) + // InternalExpression.g:76:9: '|' + { + match('|'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__79" + + // $ANTLR start "T__80" + public final void mT__80() throws RecognitionException { + try { + int _type = T__80; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:77:7: ( 'GLOBALVAR' ) + // InternalExpression.g:77:9: 'GLOBALVAR' + { + match("GLOBALVAR"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__80" + + // $ANTLR start "T__81" + public final void mT__81() throws RecognitionException { + try { + int _type = T__81; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:78:7: ( 'new' ) + // InternalExpression.g:78:9: 'new' + { + match("new"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__81" + + // $ANTLR start "T__82" + public final void mT__82() throws RecognitionException { + try { + int _type = T__82; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:79:7: ( '[' ) + // InternalExpression.g:79:9: '[' + { + match('['); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__82" + + // $ANTLR start "T__83" + public final void mT__83() throws RecognitionException { + try { + int _type = T__83; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:80:7: ( ']' ) + // InternalExpression.g:80:9: ']' + { + match(']'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__83" + + // $ANTLR start "T__84" + public final void mT__84() throws RecognitionException { + try { + int _type = T__84; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:81:7: ( '::' ) + // InternalExpression.g:81:9: '::' + { + match("::"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__84" + + // $ANTLR start "T__85" + public final void mT__85() throws RecognitionException { + try { + int _type = T__85; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:82:7: ( 'instanceof' ) + // InternalExpression.g:82:9: 'instanceof' + { + match("instanceof"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__85" + + // $ANTLR start "T__86" + public final void mT__86() throws RecognitionException { + try { + int _type = T__86; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:83:7: ( 'as' ) + // InternalExpression.g:83:9: 'as' + { + match("as"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__86" + + // $ANTLR start "T__87" + public final void mT__87() throws RecognitionException { + try { + int _type = T__87; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:84:7: ( '#' ) + // InternalExpression.g:84:9: '#' + { + match('#'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__87" + + // $ANTLR start "T__88" + public final void mT__88() throws RecognitionException { + try { + int _type = T__88; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:85:7: ( ';' ) + // InternalExpression.g:85:9: ';' + { + match(';'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__88" + + // $ANTLR start "T__89" + public final void mT__89() throws RecognitionException { + try { + int _type = T__89; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:86:7: ( 'for' ) + // InternalExpression.g:86:9: 'for' + { + match("for"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__89" + + // $ANTLR start "T__90" + public final void mT__90() throws RecognitionException { + try { + int _type = T__90; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:87:7: ( 'while' ) + // InternalExpression.g:87:9: 'while' + { + match("while"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__90" + + // $ANTLR start "T__91" + public final void mT__91() throws RecognitionException { + try { + int _type = T__91; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:88:7: ( 'do' ) + // InternalExpression.g:88:9: 'do' + { + match("do"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__91" + + // $ANTLR start "T__92" + public final void mT__92() throws RecognitionException { + try { + int _type = T__92; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:89:7: ( 'null' ) + // InternalExpression.g:89:9: 'null' + { + match("null"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__92" + + // $ANTLR start "T__93" + public final void mT__93() throws RecognitionException { + try { + int _type = T__93; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:90:7: ( 'typeof' ) + // InternalExpression.g:90:9: 'typeof' + { + match("typeof"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__93" + + // $ANTLR start "T__94" + public final void mT__94() throws RecognitionException { + try { + int _type = T__94; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:91:7: ( 'throw' ) + // InternalExpression.g:91:9: 'throw' + { + match("throw"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__94" + + // $ANTLR start "T__95" + public final void mT__95() throws RecognitionException { + try { + int _type = T__95; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:92:7: ( 'return' ) + // InternalExpression.g:92:9: 'return' + { + match("return"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__95" + + // $ANTLR start "T__96" + public final void mT__96() throws RecognitionException { + try { + int _type = T__96; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:93:7: ( 'try' ) + // InternalExpression.g:93:9: 'try' + { + match("try"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__96" + + // $ANTLR start "T__97" + public final void mT__97() throws RecognitionException { + try { + int _type = T__97; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:94:7: ( 'finally' ) + // InternalExpression.g:94:9: 'finally' + { + match("finally"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__97" + + // $ANTLR start "T__98" + public final void mT__98() throws RecognitionException { + try { + int _type = T__98; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:95:7: ( 'synchronized' ) + // InternalExpression.g:95:9: 'synchronized' + { + match("synchronized"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__98" + + // $ANTLR start "T__99" + public final void mT__99() throws RecognitionException { + try { + int _type = T__99; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:96:7: ( 'catch' ) + // InternalExpression.g:96:9: 'catch' + { + match("catch"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__99" + + // $ANTLR start "T__100" + public final void mT__100() throws RecognitionException { + try { + int _type = T__100; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:97:8: ( '&' ) + // InternalExpression.g:97:10: '&' + { + match('&'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__100" + + // $ANTLR start "T__101" + public final void mT__101() throws RecognitionException { + try { + int _type = T__101; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:98:8: ( 'implies' ) + // InternalExpression.g:98:10: 'implies' + { + match("implies"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__101" + + // $ANTLR start "T__102" + public final void mT__102() throws RecognitionException { + try { + int _type = T__102; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:99:8: ( 'typeSelect' ) + // InternalExpression.g:99:10: 'typeSelect' + { + match("typeSelect"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__102" + + // $ANTLR start "T__103" + public final void mT__103() throws RecognitionException { + try { + int _type = T__103; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:100:8: ( '?.' ) + // InternalExpression.g:100:10: '?.' + { + match("?."); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__103" + + // $ANTLR start "T__104" + public final void mT__104() throws RecognitionException { + try { + int _type = T__104; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:101:8: ( 'var' ) + // InternalExpression.g:101:10: 'var' + { + match("var"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__104" + + // $ANTLR start "RULE_REAL" + public final void mRULE_REAL() throws RecognitionException { + try { + int _type = RULE_REAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:23303:11: ( ( '0' .. '9' )* '.' ( '0' .. '9' )* ) + // InternalExpression.g:23303:13: ( '0' .. '9' )* '.' ( '0' .. '9' )* + { + // InternalExpression.g:23303:13: ( '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 : + // InternalExpression.g:23303:14: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + break loop1; + } + } while (true); + + match('.'); + // InternalExpression.g:23303:29: ( '0' .. '9' )* + loop2: + do { + int alt2=2; + int LA2_0 = input.LA(1); + + if ( ((LA2_0>='0' && LA2_0<='9')) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // InternalExpression.g:23303:30: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + break loop2; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_REAL" + + // $ANTLR start "RULE_HEX" + public final void mRULE_HEX() throws RecognitionException { + try { + int _type = RULE_HEX; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:23305:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? ) + // InternalExpression.g:23305:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? + { + // InternalExpression.g:23305:12: ( '0x' | '0X' ) + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0=='0') ) { + int LA3_1 = input.LA(2); + + if ( (LA3_1=='x') ) { + alt3=1; + } + else if ( (LA3_1=='X') ) { + alt3=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 3, 1, input); + + throw nvae; + } } else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} + NoViableAltException nvae = + new NoViableAltException("", 3, 0, input); + + throw nvae; + } + switch (alt3) { + case 1 : + // InternalExpression.g:23305:13: '0x' + { + match("0x"); + + + } + break; + case 2 : + // InternalExpression.g:23305:18: '0X' + { + match("0X"); + + + } + break; + + } - // InternalExpression.g:6458:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalExpression.g:23305:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ + int cnt4=0; loop4: do { int alt4=2; int LA4_0 = input.LA(1); - if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) { + if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='f')) ) { alt4=1; } @@ -1280,7 +2156,7 @@ public final void mRULE_ID() throws RecognitionException { case 1 : // InternalExpression.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') ) { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='f') ) { input.consume(); } @@ -1294,10 +2170,91 @@ public final void mRULE_ID() throws RecognitionException { break; default : - break loop4; + if ( cnt4 >= 1 ) break loop4; + EarlyExitException eee = + new EarlyExitException(4, input); + throw eee; } + cnt4++; } while (true); + // InternalExpression.g:23305:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0=='#') ) { + alt6=1; + } + switch (alt6) { + case 1 : + // InternalExpression.g:23305:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) + { + match('#'); + // InternalExpression.g:23305:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0=='B'||LA5_0=='b') ) { + alt5=1; + } + else if ( (LA5_0=='L'||LA5_0=='l') ) { + alt5=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); + + throw nvae; + } + switch (alt5) { + case 1 : + // InternalExpression.g:23305:64: ( 'b' | 'B' ) ( 'i' | 'I' ) + { + if ( input.LA(1)=='B'||input.LA(1)=='b' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + if ( input.LA(1)=='I'||input.LA(1)=='i' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // InternalExpression.g:23305:84: ( 'l' | 'L' ) + { + if ( input.LA(1)=='L'||input.LA(1)=='l' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + + } + break; + + } + } @@ -1307,44 +2264,253 @@ public final void mRULE_ID() throws RecognitionException { finally { } } - // $ANTLR end "RULE_ID" + // $ANTLR end "RULE_HEX" // $ANTLR start "RULE_INT" public final void mRULE_INT() throws RecognitionException { try { int _type = RULE_INT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:6460:10: ( ( '0' .. '9' )+ ) - // InternalExpression.g:6460:12: ( '0' .. '9' )+ + // InternalExpression.g:23307:10: ( '0' .. '9' ( '0' .. '9' | '_' )* ) + // InternalExpression.g:23307:12: '0' .. '9' ( '0' .. '9' | '_' )* { - // InternalExpression.g:6460:12: ( '0' .. '9' )+ - int cnt5=0; - loop5: + matchRange('0','9'); + // InternalExpression.g:23307:21: ( '0' .. '9' | '_' )* + loop7: do { - int alt5=2; - int LA5_0 = input.LA(1); + int alt7=2; + int LA7_0 = input.LA(1); - if ( ((LA5_0>='0' && LA5_0<='9')) ) { - alt5=1; + if ( ((LA7_0>='0' && LA7_0<='9')||LA7_0=='_') ) { + alt7=1; } - switch (alt5) { + switch (alt7) { case 1 : - // InternalExpression.g:6460:13: '0' .. '9' + // InternalExpression.g: { - matchRange('0','9'); + if ( (input.LA(1)>='0' && input.LA(1)<='9')||input.LA(1)=='_' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + } break; default : - if ( cnt5 >= 1 ) break loop5; - EarlyExitException eee = - new EarlyExitException(5, input); - throw eee; + break loop7; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_INT" + + // $ANTLR start "RULE_DECIMAL" + public final void mRULE_DECIMAL() throws RecognitionException { + try { + int _type = RULE_DECIMAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:23309:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? ) + // InternalExpression.g:23309:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? + { + mRULE_INT(); + // InternalExpression.g:23309:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0=='E'||LA9_0=='e') ) { + alt9=1; + } + switch (alt9) { + case 1 : + // InternalExpression.g:23309:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT + { + if ( input.LA(1)=='E'||input.LA(1)=='e' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // InternalExpression.g:23309:36: ( '+' | '-' )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0=='+'||LA8_0=='-') ) { + alt8=1; + } + switch (alt8) { + case 1 : + // InternalExpression.g: + { + if ( input.LA(1)=='+'||input.LA(1)=='-' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + mRULE_INT(); + + } + break; + + } + + // InternalExpression.g:23309:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? + int alt10=3; + int LA10_0 = input.LA(1); + + if ( (LA10_0=='B'||LA10_0=='b') ) { + alt10=1; + } + else if ( (LA10_0=='D'||LA10_0=='F'||LA10_0=='L'||LA10_0=='d'||LA10_0=='f'||LA10_0=='l') ) { + alt10=2; + } + switch (alt10) { + case 1 : + // InternalExpression.g:23309:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) + { + if ( input.LA(1)=='B'||input.LA(1)=='b' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + if ( input.LA(1)=='D'||input.LA(1)=='I'||input.LA(1)=='d'||input.LA(1)=='i' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // InternalExpression.g:23309:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) + { + if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='L'||input.LA(1)=='d'||input.LA(1)=='f'||input.LA(1)=='l' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_DECIMAL" + + // $ANTLR start "RULE_ID" + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:23311:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* ) + // InternalExpression.g:23311:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* + { + // InternalExpression.g:23311:11: ( '^' )? + int alt11=2; + int LA11_0 = input.LA(1); + + if ( (LA11_0=='^') ) { + alt11=1; + } + switch (alt11) { + case 1 : + // InternalExpression.g:23311:11: '^' + { + match('^'); + + } + break; + + } + + if ( input.LA(1)=='$'||(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;} + + // InternalExpression.g:23311:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* + loop12: + do { + int alt12=2; + int LA12_0 = input.LA(1); + + if ( (LA12_0=='$'||(LA12_0>='0' && LA12_0<='9')||(LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='z')) ) { + alt12=1; + } + + + switch (alt12) { + case 1 : + // InternalExpression.g: + { + if ( input.LA(1)=='$'||(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 loop12; } - cnt5++; } while (true); @@ -1356,54 +2522,54 @@ public final void mRULE_INT() throws RecognitionException { finally { } } - // $ANTLR end "RULE_INT" + // $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; - // InternalExpression.g:6462:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) - // InternalExpression.g:6462:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalExpression.g:23313:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) ) + // InternalExpression.g:23313:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) { - // InternalExpression.g:6462:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) - int alt8=2; - int LA8_0 = input.LA(1); + // InternalExpression.g:23313:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) + int alt17=2; + int LA17_0 = input.LA(1); - if ( (LA8_0=='\"') ) { - alt8=1; + if ( (LA17_0=='\"') ) { + alt17=1; } - else if ( (LA8_0=='\'') ) { - alt8=2; + else if ( (LA17_0=='\'') ) { + alt17=2; } else { NoViableAltException nvae = - new NoViableAltException("", 8, 0, input); + new NoViableAltException("", 17, 0, input); throw nvae; } - switch (alt8) { + switch (alt17) { case 1 : - // InternalExpression.g:6462:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + // InternalExpression.g:23313:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? { match('\"'); - // InternalExpression.g:6462:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* - loop6: + // InternalExpression.g:23313:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + loop13: do { - int alt6=3; - int LA6_0 = input.LA(1); + int alt13=3; + int LA13_0 = input.LA(1); - if ( (LA6_0=='\\') ) { - alt6=1; + if ( (LA13_0=='\\') ) { + alt13=1; } - else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) { - alt6=2; + else if ( ((LA13_0>='\u0000' && LA13_0<='!')||(LA13_0>='#' && LA13_0<='[')||(LA13_0>=']' && LA13_0<='\uFFFF')) ) { + alt13=2; } - switch (alt6) { + switch (alt13) { case 1 : - // InternalExpression.g:6462:21: '\\\\' . + // InternalExpression.g:23313:21: '\\\\' . { match('\\'); matchAny(); @@ -1411,7 +2577,7 @@ else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>= } break; case 2 : - // InternalExpression.g:6462:28: ~ ( ( '\\\\' | '\"' ) ) + // InternalExpression.g:23313:28: ~ ( ( '\\\\' | '\"' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1427,35 +2593,52 @@ else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>= break; default : - break loop6; + break loop13; } } while (true); - match('\"'); + // InternalExpression.g:23313:44: ( '\"' )? + int alt14=2; + int LA14_0 = input.LA(1); + + if ( (LA14_0=='\"') ) { + alt14=1; + } + switch (alt14) { + case 1 : + // InternalExpression.g:23313:44: '\"' + { + match('\"'); + + } + break; + + } + } break; case 2 : - // InternalExpression.g:6462:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + // InternalExpression.g:23313:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? { match('\''); - // InternalExpression.g:6462:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* - loop7: + // InternalExpression.g:23313:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + loop15: do { - int alt7=3; - int LA7_0 = input.LA(1); + int alt15=3; + int LA15_0 = input.LA(1); - if ( (LA7_0=='\\') ) { - alt7=1; + if ( (LA15_0=='\\') ) { + alt15=1; } - else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) { - alt7=2; + else if ( ((LA15_0>='\u0000' && LA15_0<='&')||(LA15_0>='(' && LA15_0<='[')||(LA15_0>=']' && LA15_0<='\uFFFF')) ) { + alt15=2; } - switch (alt7) { + switch (alt15) { case 1 : - // InternalExpression.g:6462:54: '\\\\' . + // InternalExpression.g:23313:55: '\\\\' . { match('\\'); matchAny(); @@ -1463,7 +2646,7 @@ else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>= } break; case 2 : - // InternalExpression.g:6462:61: ~ ( ( '\\\\' | '\\'' ) ) + // InternalExpression.g:23313:62: ~ ( ( '\\\\' | '\\'' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1479,11 +2662,28 @@ else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>= break; default : - break loop7; + break loop15; } } while (true); - match('\''); + // InternalExpression.g:23313:79: ( '\\'' )? + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0=='\'') ) { + alt16=1; + } + switch (alt16) { + case 1 : + // InternalExpression.g:23313:79: '\\'' + { + match('\''); + + } + break; + + } + } break; @@ -1506,37 +2706,37 @@ public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:6464:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalExpression.g:6464:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalExpression.g:23315:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalExpression.g:23315:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalExpression.g:6464:24: ( options {greedy=false; } : . )* - loop9: + // InternalExpression.g:23315:24: ( options {greedy=false; } : . )* + loop18: do { - int alt9=2; - int LA9_0 = input.LA(1); + int alt18=2; + int LA18_0 = input.LA(1); - if ( (LA9_0=='*') ) { - int LA9_1 = input.LA(2); + if ( (LA18_0=='*') ) { + int LA18_1 = input.LA(2); - if ( (LA9_1=='/') ) { - alt9=2; + if ( (LA18_1=='/') ) { + alt18=2; } - else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) { - alt9=1; + else if ( ((LA18_1>='\u0000' && LA18_1<='.')||(LA18_1>='0' && LA18_1<='\uFFFF')) ) { + alt18=1; } } - else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) { - alt9=1; + else if ( ((LA18_0>='\u0000' && LA18_0<=')')||(LA18_0>='+' && LA18_0<='\uFFFF')) ) { + alt18=1; } - switch (alt9) { + switch (alt18) { case 1 : - // InternalExpression.g:6464:52: . + // InternalExpression.g:23315:52: . { matchAny(); @@ -1544,7 +2744,7 @@ else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) { break; default : - break loop9; + break loop18; } } while (true); @@ -1566,25 +2766,25 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:6466:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalExpression.g:6466:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalExpression.g:23317:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalExpression.g:23317:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // InternalExpression.g:6466:24: (~ ( ( '\\n' | '\\r' ) ) )* - loop10: + // InternalExpression.g:23317:24: (~ ( ( '\\n' | '\\r' ) ) )* + loop19: do { - int alt10=2; - int LA10_0 = input.LA(1); + int alt19=2; + int LA19_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; + if ( ((LA19_0>='\u0000' && LA19_0<='\t')||(LA19_0>='\u000B' && LA19_0<='\f')||(LA19_0>='\u000E' && LA19_0<='\uFFFF')) ) { + alt19=1; } - switch (alt10) { + switch (alt19) { case 1 : - // InternalExpression.g:6466:24: ~ ( ( '\\n' | '\\r' ) ) + // InternalExpression.g:23317: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(); @@ -1600,31 +2800,31 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { break; default : - break loop10; + break loop19; } } while (true); - // InternalExpression.g:6466:40: ( ( '\\r' )? '\\n' )? - int alt12=2; - int LA12_0 = input.LA(1); + // InternalExpression.g:23317:40: ( ( '\\r' )? '\\n' )? + int alt21=2; + int LA21_0 = input.LA(1); - if ( (LA12_0=='\n'||LA12_0=='\r') ) { - alt12=1; + if ( (LA21_0=='\n'||LA21_0=='\r') ) { + alt21=1; } - switch (alt12) { + switch (alt21) { case 1 : - // InternalExpression.g:6466:41: ( '\\r' )? '\\n' + // InternalExpression.g:23317:41: ( '\\r' )? '\\n' { - // InternalExpression.g:6466:41: ( '\\r' )? - int alt11=2; - int LA11_0 = input.LA(1); + // InternalExpression.g:23317:41: ( '\\r' )? + int alt20=2; + int LA20_0 = input.LA(1); - if ( (LA11_0=='\r') ) { - alt11=1; + if ( (LA20_0=='\r') ) { + alt20=1; } - switch (alt11) { + switch (alt20) { case 1 : - // InternalExpression.g:6466:41: '\\r' + // InternalExpression.g:23317:41: '\\r' { match('\r'); @@ -1656,22 +2856,22 @@ public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:6468:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalExpression.g:6468:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalExpression.g:23319:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalExpression.g:23319:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // InternalExpression.g:6468:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - int cnt13=0; - loop13: + // InternalExpression.g:23319:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt22=0; + loop22: do { - int alt13=2; - int LA13_0 = input.LA(1); + int alt22=2; + int LA22_0 = input.LA(1); - if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) { - alt13=1; + if ( ((LA22_0>='\t' && LA22_0<='\n')||LA22_0=='\r'||LA22_0==' ') ) { + alt22=1; } - switch (alt13) { + switch (alt22) { case 1 : // InternalExpression.g: { @@ -1689,12 +2889,12 @@ public final void mRULE_WS() throws RecognitionException { break; default : - if ( cnt13 >= 1 ) break loop13; + if ( cnt22 >= 1 ) break loop22; EarlyExitException eee = - new EarlyExitException(13, input); + new EarlyExitException(22, input); throw eee; } - cnt13++; + cnt22++; } while (true); @@ -1713,8 +2913,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:6470:16: ( . ) - // InternalExpression.g:6470:18: . + // InternalExpression.g:23321:16: ( . ) + // InternalExpression.g:23321:18: . { matchAny(); @@ -1729,425 +2929,712 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { // $ANTLR end "RULE_ANY_OTHER" public void mTokens() throws RecognitionException { - // InternalExpression.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 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | RULE_REAL | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) - int alt14=60; - alt14 = dfa14.predict(input); - switch (alt14) { + // InternalExpression.g:1:8: ( T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | RULE_REAL | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt23=101; + alt23 = dfa23.predict(input); + switch (alt23) { case 1 : - // InternalExpression.g:1:10: T__12 + // InternalExpression.g:1:10: T__14 + { + mT__14(); + + } + break; + case 2 : + // InternalExpression.g:1:16: T__15 + { + mT__15(); + + } + break; + case 3 : + // InternalExpression.g:1:22: T__16 + { + mT__16(); + + } + break; + case 4 : + // InternalExpression.g:1:28: T__17 + { + mT__17(); + + } + break; + case 5 : + // InternalExpression.g:1:34: T__18 + { + mT__18(); + + } + break; + case 6 : + // InternalExpression.g:1:40: T__19 + { + mT__19(); + + } + break; + case 7 : + // InternalExpression.g:1:46: T__20 + { + mT__20(); + + } + break; + case 8 : + // InternalExpression.g:1:52: T__21 + { + mT__21(); + + } + break; + case 9 : + // InternalExpression.g:1:58: T__22 + { + mT__22(); + + } + break; + case 10 : + // InternalExpression.g:1:64: T__23 + { + mT__23(); + + } + break; + case 11 : + // InternalExpression.g:1:70: T__24 + { + mT__24(); + + } + break; + case 12 : + // InternalExpression.g:1:76: T__25 + { + mT__25(); + + } + break; + case 13 : + // InternalExpression.g:1:82: T__26 + { + mT__26(); + + } + break; + case 14 : + // InternalExpression.g:1:88: T__27 + { + mT__27(); + + } + break; + case 15 : + // InternalExpression.g:1:94: T__28 + { + mT__28(); + + } + break; + case 16 : + // InternalExpression.g:1:100: T__29 + { + mT__29(); + + } + break; + case 17 : + // InternalExpression.g:1:106: T__30 + { + mT__30(); + + } + break; + case 18 : + // InternalExpression.g:1:112: T__31 + { + mT__31(); + + } + break; + case 19 : + // InternalExpression.g:1:118: T__32 + { + mT__32(); + + } + break; + case 20 : + // InternalExpression.g:1:124: T__33 + { + mT__33(); + + } + break; + case 21 : + // InternalExpression.g:1:130: T__34 + { + mT__34(); + + } + break; + case 22 : + // InternalExpression.g:1:136: T__35 + { + mT__35(); + + } + break; + case 23 : + // InternalExpression.g:1:142: T__36 + { + mT__36(); + + } + break; + case 24 : + // InternalExpression.g:1:148: T__37 + { + mT__37(); + + } + break; + case 25 : + // InternalExpression.g:1:154: T__38 + { + mT__38(); + + } + break; + case 26 : + // InternalExpression.g:1:160: T__39 + { + mT__39(); + + } + break; + case 27 : + // InternalExpression.g:1:166: T__40 + { + mT__40(); + + } + break; + case 28 : + // InternalExpression.g:1:172: T__41 + { + mT__41(); + + } + break; + case 29 : + // InternalExpression.g:1:178: T__42 + { + mT__42(); + + } + break; + case 30 : + // InternalExpression.g:1:184: T__43 + { + mT__43(); + + } + break; + case 31 : + // InternalExpression.g:1:190: T__44 + { + mT__44(); + + } + break; + case 32 : + // InternalExpression.g:1:196: T__45 + { + mT__45(); + + } + break; + case 33 : + // InternalExpression.g:1:202: T__46 + { + mT__46(); + + } + break; + case 34 : + // InternalExpression.g:1:208: T__47 + { + mT__47(); + + } + break; + case 35 : + // InternalExpression.g:1:214: T__48 + { + mT__48(); + + } + break; + case 36 : + // InternalExpression.g:1:220: T__49 + { + mT__49(); + + } + break; + case 37 : + // InternalExpression.g:1:226: T__50 + { + mT__50(); + + } + break; + case 38 : + // InternalExpression.g:1:232: T__51 + { + mT__51(); + + } + break; + case 39 : + // InternalExpression.g:1:238: T__52 + { + mT__52(); + + } + break; + case 40 : + // InternalExpression.g:1:244: T__53 { - mT__12(); + mT__53(); } break; - case 2 : - // InternalExpression.g:1:16: T__13 + case 41 : + // InternalExpression.g:1:250: T__54 { - mT__13(); + mT__54(); } break; - case 3 : - // InternalExpression.g:1:22: T__14 + case 42 : + // InternalExpression.g:1:256: T__55 { - mT__14(); + mT__55(); } break; - case 4 : - // InternalExpression.g:1:28: T__15 + case 43 : + // InternalExpression.g:1:262: T__56 { - mT__15(); + mT__56(); } break; - case 5 : - // InternalExpression.g:1:34: T__16 + case 44 : + // InternalExpression.g:1:268: T__57 { - mT__16(); + mT__57(); } break; - case 6 : - // InternalExpression.g:1:40: T__17 + case 45 : + // InternalExpression.g:1:274: T__58 { - mT__17(); + mT__58(); } break; - case 7 : - // InternalExpression.g:1:46: T__18 + case 46 : + // InternalExpression.g:1:280: T__59 { - mT__18(); + mT__59(); } break; - case 8 : - // InternalExpression.g:1:52: T__19 + case 47 : + // InternalExpression.g:1:286: T__60 { - mT__19(); + mT__60(); } break; - case 9 : - // InternalExpression.g:1:58: T__20 + case 48 : + // InternalExpression.g:1:292: T__61 { - mT__20(); + mT__61(); } break; - case 10 : - // InternalExpression.g:1:64: T__21 + case 49 : + // InternalExpression.g:1:298: T__62 { - mT__21(); + mT__62(); } break; - case 11 : - // InternalExpression.g:1:70: T__22 + case 50 : + // InternalExpression.g:1:304: T__63 { - mT__22(); + mT__63(); } break; - case 12 : - // InternalExpression.g:1:76: T__23 + case 51 : + // InternalExpression.g:1:310: T__64 { - mT__23(); + mT__64(); } break; - case 13 : - // InternalExpression.g:1:82: T__24 + case 52 : + // InternalExpression.g:1:316: T__65 { - mT__24(); + mT__65(); } break; - case 14 : - // InternalExpression.g:1:88: T__25 + case 53 : + // InternalExpression.g:1:322: T__66 { - mT__25(); + mT__66(); } break; - case 15 : - // InternalExpression.g:1:94: T__26 + case 54 : + // InternalExpression.g:1:328: T__67 { - mT__26(); + mT__67(); } break; - case 16 : - // InternalExpression.g:1:100: T__27 + case 55 : + // InternalExpression.g:1:334: T__68 { - mT__27(); + mT__68(); } break; - case 17 : - // InternalExpression.g:1:106: T__28 + case 56 : + // InternalExpression.g:1:340: T__69 { - mT__28(); + mT__69(); } break; - case 18 : - // InternalExpression.g:1:112: T__29 + case 57 : + // InternalExpression.g:1:346: T__70 { - mT__29(); + mT__70(); } break; - case 19 : - // InternalExpression.g:1:118: T__30 + case 58 : + // InternalExpression.g:1:352: T__71 { - mT__30(); + mT__71(); } break; - case 20 : - // InternalExpression.g:1:124: T__31 + case 59 : + // InternalExpression.g:1:358: T__72 { - mT__31(); + mT__72(); } break; - case 21 : - // InternalExpression.g:1:130: T__32 + case 60 : + // InternalExpression.g:1:364: T__73 { - mT__32(); + mT__73(); } break; - case 22 : - // InternalExpression.g:1:136: T__33 + case 61 : + // InternalExpression.g:1:370: T__74 { - mT__33(); + mT__74(); } break; - case 23 : - // InternalExpression.g:1:142: T__34 + case 62 : + // InternalExpression.g:1:376: T__75 { - mT__34(); + mT__75(); } break; - case 24 : - // InternalExpression.g:1:148: T__35 + case 63 : + // InternalExpression.g:1:382: T__76 { - mT__35(); + mT__76(); } break; - case 25 : - // InternalExpression.g:1:154: T__36 + case 64 : + // InternalExpression.g:1:388: T__77 { - mT__36(); + mT__77(); } break; - case 26 : - // InternalExpression.g:1:160: T__37 + case 65 : + // InternalExpression.g:1:394: T__78 { - mT__37(); + mT__78(); } break; - case 27 : - // InternalExpression.g:1:166: T__38 + case 66 : + // InternalExpression.g:1:400: T__79 { - mT__38(); + mT__79(); } break; - case 28 : - // InternalExpression.g:1:172: T__39 + case 67 : + // InternalExpression.g:1:406: T__80 { - mT__39(); + mT__80(); } break; - case 29 : - // InternalExpression.g:1:178: T__40 + case 68 : + // InternalExpression.g:1:412: T__81 { - mT__40(); + mT__81(); } break; - case 30 : - // InternalExpression.g:1:184: T__41 + case 69 : + // InternalExpression.g:1:418: T__82 { - mT__41(); + mT__82(); } break; - case 31 : - // InternalExpression.g:1:190: T__42 + case 70 : + // InternalExpression.g:1:424: T__83 { - mT__42(); + mT__83(); } break; - case 32 : - // InternalExpression.g:1:196: T__43 + case 71 : + // InternalExpression.g:1:430: T__84 { - mT__43(); + mT__84(); } break; - case 33 : - // InternalExpression.g:1:202: T__44 + case 72 : + // InternalExpression.g:1:436: T__85 { - mT__44(); + mT__85(); } break; - case 34 : - // InternalExpression.g:1:208: T__45 + case 73 : + // InternalExpression.g:1:442: T__86 { - mT__45(); + mT__86(); } break; - case 35 : - // InternalExpression.g:1:214: T__46 + case 74 : + // InternalExpression.g:1:448: T__87 { - mT__46(); + mT__87(); } break; - case 36 : - // InternalExpression.g:1:220: T__47 + case 75 : + // InternalExpression.g:1:454: T__88 { - mT__47(); + mT__88(); } break; - case 37 : - // InternalExpression.g:1:226: T__48 + case 76 : + // InternalExpression.g:1:460: T__89 { - mT__48(); + mT__89(); } break; - case 38 : - // InternalExpression.g:1:232: T__49 + case 77 : + // InternalExpression.g:1:466: T__90 { - mT__49(); + mT__90(); } break; - case 39 : - // InternalExpression.g:1:238: T__50 + case 78 : + // InternalExpression.g:1:472: T__91 { - mT__50(); + mT__91(); } break; - case 40 : - // InternalExpression.g:1:244: T__51 + case 79 : + // InternalExpression.g:1:478: T__92 { - mT__51(); + mT__92(); } break; - case 41 : - // InternalExpression.g:1:250: T__52 + case 80 : + // InternalExpression.g:1:484: T__93 { - mT__52(); + mT__93(); } break; - case 42 : - // InternalExpression.g:1:256: T__53 + case 81 : + // InternalExpression.g:1:490: T__94 { - mT__53(); + mT__94(); } break; - case 43 : - // InternalExpression.g:1:262: T__54 + case 82 : + // InternalExpression.g:1:496: T__95 { - mT__54(); + mT__95(); } break; - case 44 : - // InternalExpression.g:1:268: T__55 + case 83 : + // InternalExpression.g:1:502: T__96 { - mT__55(); + mT__96(); } break; - case 45 : - // InternalExpression.g:1:274: T__56 + case 84 : + // InternalExpression.g:1:508: T__97 { - mT__56(); + mT__97(); } break; - case 46 : - // InternalExpression.g:1:280: T__57 + case 85 : + // InternalExpression.g:1:514: T__98 { - mT__57(); + mT__98(); } break; - case 47 : - // InternalExpression.g:1:286: T__58 + case 86 : + // InternalExpression.g:1:520: T__99 { - mT__58(); + mT__99(); } break; - case 48 : - // InternalExpression.g:1:292: T__59 + case 87 : + // InternalExpression.g:1:526: T__100 { - mT__59(); + mT__100(); } break; - case 49 : - // InternalExpression.g:1:298: T__60 + case 88 : + // InternalExpression.g:1:533: T__101 { - mT__60(); + mT__101(); } break; - case 50 : - // InternalExpression.g:1:304: T__61 + case 89 : + // InternalExpression.g:1:540: T__102 { - mT__61(); + mT__102(); } break; - case 51 : - // InternalExpression.g:1:310: T__62 + case 90 : + // InternalExpression.g:1:547: T__103 { - mT__62(); + mT__103(); } break; - case 52 : - // InternalExpression.g:1:316: T__63 + case 91 : + // InternalExpression.g:1:554: T__104 { - mT__63(); + mT__104(); } break; - case 53 : - // InternalExpression.g:1:322: RULE_REAL + case 92 : + // InternalExpression.g:1:561: RULE_REAL { mRULE_REAL(); } break; - case 54 : - // InternalExpression.g:1:332: RULE_ID + case 93 : + // InternalExpression.g:1:571: RULE_HEX { - mRULE_ID(); + mRULE_HEX(); } break; - case 55 : - // InternalExpression.g:1:340: RULE_INT + case 94 : + // InternalExpression.g:1:580: RULE_INT { mRULE_INT(); } break; - case 56 : - // InternalExpression.g:1:349: RULE_STRING + case 95 : + // InternalExpression.g:1:589: RULE_DECIMAL + { + mRULE_DECIMAL(); + + } + break; + case 96 : + // InternalExpression.g:1:602: RULE_ID + { + mRULE_ID(); + + } + break; + case 97 : + // InternalExpression.g:1:610: RULE_STRING { mRULE_STRING(); } break; - case 57 : - // InternalExpression.g:1:361: RULE_ML_COMMENT + case 98 : + // InternalExpression.g:1:622: RULE_ML_COMMENT { mRULE_ML_COMMENT(); } break; - case 58 : - // InternalExpression.g:1:377: RULE_SL_COMMENT + case 99 : + // InternalExpression.g:1:638: RULE_SL_COMMENT { mRULE_SL_COMMENT(); } break; - case 59 : - // InternalExpression.g:1:393: RULE_WS + case 100 : + // InternalExpression.g:1:654: RULE_WS { mRULE_WS(); } break; - case 60 : - // InternalExpression.g:1:401: RULE_ANY_OTHER + case 101 : + // InternalExpression.g:1:662: RULE_ANY_OTHER { mRULE_ANY_OTHER(); @@ -2159,387 +3646,502 @@ public void mTokens() throws RecognitionException { } - protected DFA14 dfa14 = new DFA14(this); - static final String DFA14_eotS = - "\1\uffff\1\53\1\55\1\57\1\61\1\uffff\1\64\1\uffff\1\70\13\73\1\117\3\uffff\1\73\1\uffff\1\73\1\uffff\1\130\1\uffff\1\134\1\73\2\uffff\1\51\1\141\1\51\1\uffff\2\51\21\uffff\2\73\1\uffff\22\73\5\uffff\1\171\1\73\1\uffff\1\73\6\uffff\1\73\4\uffff\1\141\2\uffff\11\73\1\u0086\10\73\1\u008f\1\u0090\1\uffff\4\73\1\u0095\5\73\1\u009b\1\73\1\uffff\1\u009d\2\73\1\u00a0\1\u00a1\2\73\1\u00a4\2\uffff\4\73\1\uffff\5\73\1\uffff\1\73\1\uffff\1\73\1\u00b0\2\uffff\2\73\1\uffff\4\73\1\u00b8\1\u00b9\1\u00ba\1\u00bb\1\u00bc\1\73\1\u00be\1\uffff\5\73\1\u00c4\1\73\5\uffff\1\73\1\uffff\2\73\1\u00c9\1\u00ca\1\73\1\uffff\4\73\2\uffff\2\73\1\u00d2\2\73\1\u00d5\1\73\1\uffff\1\u00d7\1\u00d8\1\uffff\1\u00d9\3\uffff"; - static final String DFA14_eofS = - "\u00da\uffff"; - static final String DFA14_minS = - "\1\0\4\75\1\uffff\1\76\1\uffff\1\52\1\141\2\145\1\154\1\145\1\141\1\150\1\157\1\151\2\145\1\72\3\uffff\1\146\1\uffff\1\145\1\uffff\1\60\1\uffff\1\174\1\114\2\uffff\1\46\1\56\1\101\1\uffff\2\0\21\uffff\1\154\1\163\1\uffff\1\154\1\162\1\151\1\152\1\151\1\163\1\164\1\167\1\154\1\162\1\154\1\165\1\145\1\160\1\154\1\163\2\164\5\uffff\1\60\1\160\1\uffff\1\146\6\uffff\1\117\4\uffff\1\56\2\uffff\1\154\2\145\2\164\1\145\1\163\1\145\1\105\1\60\1\154\1\101\1\163\1\145\1\156\1\145\1\154\1\164\2\60\1\uffff\1\154\1\141\1\102\1\145\1\60\1\143\1\102\2\143\1\164\1\60\1\170\1\uffff\1\60\1\154\1\145\2\60\1\123\1\145\1\60\2\uffff\1\151\1\165\1\101\1\143\1\uffff\1\164\1\171\1\150\1\164\1\163\1\uffff\1\151\1\uffff\1\154\1\60\2\uffff\1\145\1\143\1\uffff\1\145\1\154\1\114\1\164\5\60\1\163\1\60\1\uffff\1\154\1\164\1\163\1\164\1\126\1\60\1\151\5\uffff\1\164\1\uffff\1\145\1\151\2\60\1\101\1\uffff\1\162\1\163\1\143\1\157\2\uffff\1\122\1\163\1\60\1\164\1\156\1\60\1\164\1\uffff\2\60\1\uffff\1\60\3\uffff"; - static final String DFA14_maxS = - "\1\uffff\4\75\1\uffff\1\76\1\uffff\1\57\1\157\1\167\1\145\1\170\1\165\1\157\1\171\1\157\1\151\2\145\1\72\3\uffff\1\155\1\uffff\1\145\1\uffff\1\71\1\uffff\1\174\1\114\2\uffff\1\46\1\71\1\172\1\uffff\2\uffff\21\uffff\1\154\1\163\1\uffff\1\154\1\162\1\151\1\152\1\151\1\163\1\164\1\167\1\154\1\162\1\154\1\165\1\145\1\160\1\154\1\163\2\164\5\uffff\1\172\1\160\1\uffff\1\146\6\uffff\1\117\4\uffff\1\71\2\uffff\1\154\2\145\2\164\1\145\1\163\1\145\1\105\1\172\1\154\1\101\1\163\1\145\1\156\1\145\1\154\1\164\2\172\1\uffff\1\154\1\141\1\102\1\145\1\172\1\143\1\102\2\143\1\164\1\172\1\170\1\uffff\1\172\1\154\1\145\2\172\1\123\1\145\1\172\2\uffff\1\151\1\165\1\101\1\143\1\uffff\1\164\1\171\1\150\1\164\1\163\1\uffff\1\151\1\uffff\1\154\1\172\2\uffff\1\145\1\143\1\uffff\1\145\1\154\1\114\1\164\5\172\1\163\1\172\1\uffff\1\154\1\164\1\163\1\164\1\126\1\172\1\151\5\uffff\1\164\1\uffff\1\145\1\151\2\172\1\101\1\uffff\1\162\1\163\1\143\1\157\2\uffff\1\122\1\163\1\172\1\164\1\156\1\172\1\164\1\uffff\2\172\1\uffff\1\172\3\uffff"; - static final String DFA14_acceptS = - "\5\uffff\1\7\1\uffff\1\11\15\uffff\1\34\1\35\1\37\1\uffff\1\44\1\uffff\1\46\1\uffff\1\51\2\uffff\1\55\1\56\3\uffff\1\66\2\uffff\1\73\1\74\1\1\1\32\1\2\1\13\1\3\1\5\1\4\1\6\1\7\1\36\1\10\1\11\1\71\1\72\1\12\2\uffff\1\66\22\uffff\1\57\1\33\1\34\1\35\1\37\2\uffff\1\44\1\uffff\1\46\1\50\1\65\1\51\1\60\1\52\1\uffff\1\55\1\56\1\61\1\67\1\uffff\1\70\1\73\24\uffff\1\40\14\uffff\1\54\10\uffff\1\30\1\31\4\uffff\1\47\5\uffff\1\42\1\uffff\1\64\2\uffff\1\24\1\41\2\uffff\1\27\13\uffff\1\25\7\uffff\1\15\1\22\1\43\1\17\1\20\1\uffff\1\23\5\uffff\1\14\4\uffff\1\62\1\45\7\uffff\1\21\2\uffff\1\53\1\uffff\1\63\1\26\1\16"; - static final String DFA14_specialS = - "\1\0\45\uffff\1\1\1\2\u00b2\uffff}>"; - static final String[] DFA14_transitionS = { - "\11\51\2\50\2\51\1\50\22\51\1\50\1\2\1\46\3\51\1\42\1\47\1\25\1\26\1\7\1\5\1\35\1\6\1\34\1\10\12\43\1\24\1\51\1\4\1\1\1\3\1\27\1\51\2\45\1\20\3\45\1\37\4\45\1\21\6\45\1\22\7\45\1\40\1\51\1\41\1\44\1\45\1\51\2\45\1\11\1\32\1\14\1\16\2\45\1\30\2\45\1\23\1\45\1\15\3\45\1\13\1\12\1\17\6\45\1\31\1\36\1\33\uff82\51", - "\1\52", - "\1\54", - "\1\56", - "\1\60", - "", - "\1\63", - "", - "\1\66\4\uffff\1\67", - "\1\72\15\uffff\1\71", - "\1\74\11\uffff\1\75\7\uffff\1\76", - "\1\77", - "\1\101\13\uffff\1\100", - "\1\103\11\uffff\1\102\5\uffff\1\104", - "\1\106\15\uffff\1\105", - "\1\110\11\uffff\1\107\6\uffff\1\111", - "\1\112", - "\1\113", - "\1\114", - "\1\115", - "\1\116", - "", - "", - "", - "\1\123\6\uffff\1\124", - "", + protected DFA23 dfa23 = new DFA23(this); + static final String DFA23_eotS = + "\1\uffff\1\63\1\65\1\67\1\71\1\73\1\76\1\101\1\105\1\110\1\114\12\117\1\146\1\150\1\154\3\117\1\163\3\uffff\1\117\2\uffff\1\117\2\uffff\1\117\2\uffff\1\117\2\u0083\1\60\5\uffff\1\u008a\6\uffff\1\u008c\24\uffff\2\117\1\uffff\25\117\2\uffff\1\u00aa\5\uffff\2\117\1\u00ae\2\117\5\uffff\1\117\1\u00b2\2\uffff\1\117\2\uffff\1\u00b4\2\uffff\1\117\2\uffff\2\u0083\7\uffff\17\117\1\u00c5\1\117\1\u00c8\3\117\1\u00cc\5\117\1\u00d2\2\uffff\1\u00d3\1\u00d4\1\117\1\uffff\1\117\1\u00d8\1\117\1\uffff\1\117\1\uffff\2\117\1\u00dd\13\117\1\u00e9\1\117\1\uffff\1\u00eb\1\117\1\uffff\2\117\1\u00ef\1\uffff\1\u00f0\3\117\1\u00f5\3\uffff\3\117\1\uffff\4\117\1\uffff\1\u00fd\3\117\1\u0101\6\117\1\uffff\1\117\1\uffff\1\117\1\u010b\1\117\2\uffff\1\u010d\3\117\1\uffff\5\117\1\u0116\1\117\1\uffff\1\u0119\1\u011a\1\u011b\1\uffff\1\u011c\1\117\1\u011e\1\u011f\1\u0120\3\117\1\u0124\1\uffff\1\117\1\uffff\1\u0126\2\117\1\u0129\4\117\1\uffff\1\u012e\1\117\4\uffff\1\117\3\uffff\1\u0131\2\117\1\uffff\1\u0134\1\uffff\2\117\1\uffff\1\u0137\1\117\1\u0139\1\117\1\uffff\2\117\1\uffff\2\117\1\uffff\2\117\1\uffff\1\117\1\uffff\3\117\1\u0145\1\u0146\3\117\1\u014a\2\117\2\uffff\1\u014d\1\u014e\1\u014f\1\uffff\1\u0150\1\117\4\uffff\1\u0152\1\uffff"; + static final String DFA23_eofS = + "\u0153\uffff"; + static final String DFA23_minS = + "\1\0\1\75\1\174\1\46\3\75\1\53\1\55\2\52\1\141\2\145\1\154\1\145\1\141\1\150\1\157\1\151\1\145\1\75\2\56\1\141\1\146\1\145\1\72\3\uffff\1\145\2\uffff\1\114\2\uffff\1\163\2\uffff\1\150\2\56\1\44\5\uffff\1\75\6\uffff\1\75\24\uffff\1\154\1\163\1\uffff\1\154\1\162\1\141\1\160\1\151\1\156\1\152\1\151\1\163\1\164\1\167\1\154\1\162\1\154\1\156\1\165\1\145\1\160\1\154\1\163\1\164\2\uffff\1\74\5\uffff\1\154\1\160\1\44\1\163\1\164\5\uffff\1\146\1\44\2\uffff\1\117\2\uffff\1\44\2\uffff\1\151\2\uffff\1\56\1\60\7\uffff\1\154\1\145\1\143\1\145\2\164\1\145\1\164\1\143\1\145\1\165\1\163\2\145\1\105\1\44\1\154\1\44\1\163\1\141\1\145\1\44\1\156\1\157\1\145\1\154\1\164\1\44\2\uffff\2\44\1\154\1\uffff\1\164\1\44\1\141\1\uffff\1\102\1\uffff\1\154\1\145\1\44\1\150\1\143\1\102\1\151\1\162\1\143\1\150\1\143\1\162\1\164\1\156\1\44\1\170\1\uffff\1\44\1\154\1\uffff\1\145\1\154\1\44\1\uffff\1\44\1\167\1\123\1\145\1\44\3\uffff\1\162\1\151\1\141\1\uffff\1\165\1\101\1\145\1\143\1\uffff\1\44\1\164\1\171\1\143\1\44\1\150\1\162\1\164\1\156\1\163\1\144\1\uffff\1\151\1\uffff\1\154\1\44\1\154\2\uffff\1\44\1\146\1\145\1\143\1\uffff\1\164\1\145\1\156\1\154\1\114\1\44\1\164\1\uffff\3\44\1\uffff\1\44\1\157\3\44\1\163\1\151\1\163\1\44\1\uffff\1\171\1\uffff\1\44\1\154\1\164\1\44\1\163\1\143\1\164\1\126\1\uffff\1\44\1\151\4\uffff\1\156\3\uffff\1\44\1\157\1\164\1\uffff\1\44\1\uffff\1\145\1\151\1\uffff\1\44\1\145\1\44\1\101\1\uffff\1\162\1\151\1\uffff\1\156\1\163\1\uffff\1\143\1\157\1\uffff\1\157\1\uffff\1\122\1\163\1\172\2\44\1\164\1\156\1\146\1\44\1\164\1\145\2\uffff\3\44\1\uffff\1\44\1\144\4\uffff\1\44\1\uffff"; + static final String DFA23_maxS = + "\1\uffff\1\76\1\174\1\46\2\75\1\76\1\75\1\76\2\75\1\157\1\171\1\145\1\170\1\165\1\157\1\171\1\157\1\151\1\145\1\75\1\71\1\72\1\141\1\156\1\145\1\72\3\uffff\1\157\2\uffff\1\114\2\uffff\1\163\2\uffff\1\150\1\170\1\154\1\172\5\uffff\1\75\6\uffff\1\75\24\uffff\1\154\1\164\1\uffff\1\154\1\162\1\141\1\160\1\151\1\156\2\164\1\163\1\164\1\167\1\154\1\162\1\154\1\156\1\171\1\162\1\160\1\154\1\163\1\164\2\uffff\1\74\5\uffff\1\162\1\160\1\172\1\163\1\164\5\uffff\1\146\1\172\2\uffff\1\117\2\uffff\1\172\2\uffff\1\151\2\uffff\2\154\7\uffff\1\154\1\145\1\143\1\145\2\164\1\145\1\164\1\143\1\145\1\165\1\163\2\145\1\105\1\172\1\154\1\172\1\163\1\141\1\145\1\172\1\156\1\157\1\145\1\154\1\164\1\172\2\uffff\2\172\1\157\1\uffff\1\164\1\172\1\141\1\uffff\1\102\1\uffff\1\154\1\145\1\172\1\150\1\143\1\102\1\151\1\162\1\143\1\150\1\143\1\162\1\164\1\156\1\172\1\170\1\uffff\1\172\1\154\1\uffff\1\145\1\154\1\172\1\uffff\1\172\1\167\1\157\1\145\1\172\3\uffff\1\162\1\151\1\141\1\uffff\1\165\1\101\1\145\1\143\1\uffff\1\172\1\164\1\171\1\143\1\172\1\150\1\162\1\164\1\156\2\163\1\uffff\1\151\1\uffff\1\154\1\172\1\154\2\uffff\1\172\1\146\1\145\1\143\1\uffff\1\164\1\145\1\156\1\154\1\114\1\172\1\164\1\uffff\3\172\1\uffff\1\172\1\157\3\172\1\163\1\151\1\163\1\172\1\uffff\1\171\1\uffff\1\172\1\154\1\164\1\172\1\163\1\143\1\164\1\126\1\uffff\1\172\1\151\4\uffff\1\156\3\uffff\1\172\1\157\1\164\1\uffff\1\172\1\uffff\1\145\1\151\1\uffff\1\172\1\145\1\172\1\101\1\uffff\1\162\1\151\1\uffff\1\156\1\163\1\uffff\1\143\1\157\1\uffff\1\157\1\uffff\1\122\1\163\3\172\1\164\1\156\1\146\1\172\1\164\1\145\2\uffff\3\172\1\uffff\1\172\1\144\4\uffff\1\172\1\uffff"; + static final String DFA23_acceptS = + "\34\uffff\1\66\1\67\1\75\1\uffff\1\77\1\101\1\uffff\1\105\1\106\1\uffff\1\112\1\113\4\uffff\1\140\2\141\1\144\1\145\1\uffff\1\46\1\1\1\2\1\102\1\3\1\127\1\uffff\1\16\1\6\1\10\1\7\1\47\1\11\1\34\1\53\1\12\1\35\1\43\1\54\1\13\1\36\1\51\1\14\1\37\1\142\1\143\1\15\2\uffff\1\140\25\uffff\1\40\1\52\1\uffff\1\55\1\134\1\50\1\132\1\70\5\uffff\1\107\1\65\1\66\1\67\1\75\2\uffff\1\77\1\101\1\uffff\1\105\1\106\1\uffff\1\112\1\113\1\uffff\1\135\1\136\2\uffff\1\137\1\141\1\144\1\41\1\4\1\42\1\5\34\uffff\1\44\1\45\3\uffff\1\71\3\uffff\1\116\1\uffff\1\111\20\uffff\1\104\2\uffff\1\114\3\uffff\1\123\5\uffff\1\33\1\56\1\133\3\uffff\1\64\4\uffff\1\100\13\uffff\1\73\1\uffff\1\117\3\uffff\1\27\1\72\4\uffff\1\32\7\uffff\1\126\3\uffff\1\63\11\uffff\1\30\1\uffff\1\121\10\uffff\1\115\2\uffff\1\20\1\25\1\60\1\74\1\uffff\1\22\1\122\1\23\3\uffff\1\26\1\uffff\1\120\2\uffff\1\61\4\uffff\1\17\2\uffff\1\57\2\uffff\1\124\2\uffff\1\130\1\uffff\1\76\13\uffff\1\62\1\24\3\uffff\1\103\2\uffff\1\131\1\31\1\110\1\21\1\uffff\1\125"; + static final String DFA23_specialS = + "\1\0\u0152\uffff}>"; + static final String[] DFA23_transitionS = { + "\11\60\2\57\2\60\1\57\22\60\1\57\1\4\1\55\1\46\1\54\1\25\1\3\1\56\1\34\1\35\1\11\1\7\1\41\1\10\1\26\1\12\1\51\11\52\1\33\1\47\1\6\1\1\1\5\1\27\1\60\2\54\1\22\3\54\1\42\4\54\1\23\6\54\1\24\7\54\1\43\1\60\1\44\1\53\1\54\1\60\1\45\1\54\1\13\1\37\1\16\1\20\2\54\1\31\2\54\1\32\1\54\1\17\3\54\1\15\1\14\1\21\1\54\1\30\1\50\3\54\1\36\1\2\1\40\uff82\60", + "\1\61\1\62", + "\1\64", + "\1\66", + "\1\70", + "\1\72", + "\1\74\1\75", + "\1\100\21\uffff\1\77", + "\1\104\17\uffff\1\102\1\103", + "\1\107\22\uffff\1\106", + "\1\112\4\uffff\1\113\15\uffff\1\111", + "\1\116\15\uffff\1\115", + "\1\120\11\uffff\1\121\4\uffff\1\122\1\123\1\uffff\1\124\1\uffff\1\125", "\1\126", + "\1\130\13\uffff\1\127", + "\1\132\11\uffff\1\131\5\uffff\1\133", + "\1\135\7\uffff\1\136\5\uffff\1\134", + "\1\140\11\uffff\1\137\6\uffff\1\141", + "\1\142", + "\1\143", + "\1\144", + "\1\145", + "\1\147\1\uffff\12\151", + "\1\153\13\uffff\1\152", + "\1\155", + "\1\157\6\uffff\1\156\1\160", + "\1\161", + "\1\162", "", - "\12\131", "", - "\1\133", - "\1\135", "", + "\1\167\11\uffff\1\170", "", - "\1\140", - "\1\131\1\uffff\12\142", - "\32\73\4\uffff\1\73\1\uffff\32\73", "", - "\0\143", - "\0\143", + "\1\173", "", "", + "\1\176", "", "", + "\1\u0081", + "\1\151\1\uffff\12\u0084\10\uffff\1\u0086\1\uffff\3\u0086\5\uffff\1\u0086\13\uffff\1\u0082\6\uffff\1\u0085\2\uffff\1\u0086\1\uffff\3\u0086\5\uffff\1\u0086\13\uffff\1\u0082", + "\1\151\1\uffff\12\u0084\10\uffff\1\u0086\1\uffff\3\u0086\5\uffff\1\u0086\22\uffff\1\u0085\2\uffff\1\u0086\1\uffff\3\u0086\5\uffff\1\u0086", + "\1\117\34\uffff\32\117\4\uffff\1\117\1\uffff\32\117", "", "", "", "", "", + "\1\u0089", "", "", "", "", "", "", + "\1\u008b", "", "", - "\1\145", - "\1\146", - "", - "\1\147", - "\1\150", - "\1\151", - "\1\152", - "\1\153", - "\1\154", - "\1\155", - "\1\156", - "\1\157", - "\1\160", - "\1\161", - "\1\162", - "\1\163", - "\1\164", - "\1\165", - "\1\166", - "\1\167", - "\1\170", "", "", "", "", "", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", - "\1\172", "", - "\1\173", "", "", "", "", "", "", - "\1\174", "", "", "", "", - "\1\131\1\uffff\12\142", "", "", - "\1\175", - "\1\176", - "\1\177", - "\1\u0080", - "\1\u0081", - "\1\u0082", - "\1\u0083", - "\1\u0084", - "\1\u0085", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", - "\1\u0087", - "\1\u0088", - "\1\u0089", - "\1\u008a", - "\1\u008b", - "\1\u008c", "\1\u008d", - "\1\u008e", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", + "\1\u008e\1\u008f", "", + "\1\u0090", "\1\u0091", "\1\u0092", "\1\u0093", "\1\u0094", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", - "\1\u0096", - "\1\u0097", - "\1\u0098", - "\1\u0099", + "\1\u0095", + "\1\u0096\11\uffff\1\u0097", + "\1\u0098\12\uffff\1\u0099", "\1\u009a", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", + "\1\u009b", "\1\u009c", - "", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", + "\1\u009d", "\1\u009e", "\1\u009f", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", - "\1\u00a2", - "\1\u00a3", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", - "", - "", + "\1\u00a0", + "\1\u00a1\3\uffff\1\u00a2", + "\1\u00a3\14\uffff\1\u00a4", "\1\u00a5", "\1\u00a6", "\1\u00a7", "\1\u00a8", "", + "", "\1\u00a9", - "\1\u00aa", - "\1\u00ab", - "\1\u00ac", - "\1\u00ad", "", - "\1\u00ae", "", + "", + "", + "", + "\1\u00ab\5\uffff\1\u00ac", + "\1\u00ad", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", "\1\u00af", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", + "\1\u00b0", + "", + "", + "", "", "", "\1\u00b1", - "\1\u00b2", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "", "", "\1\u00b3", - "\1\u00b4", + "", + "", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "", + "", "\1\u00b5", + "", + "", + "\1\151\1\uffff\12\u0084\10\uffff\1\u0086\1\uffff\3\u0086\5\uffff\1\u0086\22\uffff\1\u0085\2\uffff\1\u0086\1\uffff\3\u0086\5\uffff\1\u0086", + "\12\u0085\10\uffff\1\u0086\1\uffff\3\u0086\5\uffff\1\u0086\22\uffff\1\u0085\2\uffff\1\u0086\1\uffff\3\u0086\5\uffff\1\u0086", + "", + "", + "", + "", + "", + "", + "", "\1\u00b6", - "\12\73\7\uffff\5\73\1\u00b7\24\73\4\uffff\1\73\1\uffff\32\73", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", + "\1\u00b7", + "\1\u00b8", + "\1\u00b9", + "\1\u00ba", + "\1\u00bb", + "\1\u00bc", "\1\u00bd", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", - "", + "\1\u00be", "\1\u00bf", "\1\u00c0", "\1\u00c1", "\1\u00c2", "\1\u00c3", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", - "\1\u00c5", + "\1\u00c4", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u00c6", + "\1\117\13\uffff\12\117\7\uffff\1\u00c7\31\117\4\uffff\1\117\1\uffff\32\117", + "\1\u00c9", + "\1\u00ca", + "\1\u00cb", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u00cd", + "\1\u00ce", + "\1\u00cf", + "\1\u00d0", + "\1\u00d1", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", "", "", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u00d6\2\uffff\1\u00d5", "", + "\1\u00d7", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u00d9", "", + "\1\u00da", "", - "\1\u00c6", + "\1\u00db", + "\1\u00dc", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u00de", + "\1\u00df", + "\1\u00e0", + "\1\u00e1", + "\1\u00e2", + "\1\u00e3", + "\1\u00e4", + "\1\u00e5", + "\1\u00e6", + "\1\u00e7", + "\1\u00e8", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u00ea", "", - "\1\u00c7", - "\1\u00c8", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", - "\1\u00cb", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u00ec", "", - "\1\u00cc", - "\1\u00cd", - "\1\u00ce", - "\1\u00cf", + "\1\u00ed", + "\1\u00ee", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", "", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u00f1", + "\1\u00f3\33\uffff\1\u00f2", + "\1\u00f4", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "", + "", + "", + "\1\u00f6", + "\1\u00f7", + "\1\u00f8", + "", + "\1\u00f9", + "\1\u00fa", + "\1\u00fb", + "\1\u00fc", + "", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u00fe", + "\1\u00ff", + "\1\u0100", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u0102", + "\1\u0103", + "\1\u0104", + "\1\u0105", + "\1\u0106", + "\1\u0107\16\uffff\1\u0108", + "", + "\1\u0109", + "", + "\1\u010a", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u010c", "", - "\1\u00d0", - "\1\u00d1", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", - "\1\u00d3", - "\1\u00d4", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", - "\1\u00d6", "", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u010e", + "\1\u010f", + "\1\u0110", "", - "\12\73\7\uffff\32\73\4\uffff\1\73\1\uffff\32\73", + "\1\u0111", + "\1\u0112", + "\1\u0113", + "\1\u0114", + "\1\u0115", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u0117", "", + "\1\117\13\uffff\12\117\7\uffff\5\117\1\u0118\24\117\4\uffff\1\117\1\uffff\32\117", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", "", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u011d", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u0121", + "\1\u0122", + "\1\u0123", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "", + "\1\u0125", + "", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u0127", + "\1\u0128", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u012a", + "\1\u012b", + "\1\u012c", + "\1\u012d", + "", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u012f", + "", + "", + "", + "", + "\1\u0130", + "", + "", + "", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u0132", + "\1\u0133", + "", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "", + "\1\u0135", + "\1\u0136", + "", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u0138", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u013a", + "", + "\1\u013b", + "\1\u013c", + "", + "\1\u013d", + "\1\u013e", + "", + "\1\u013f", + "\1\u0140", + "", + "\1\u0141", + "", + "\1\u0142", + "\1\u0143", + "\1\u0144", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u0147", + "\1\u0148", + "\1\u0149", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u014b", + "\1\u014c", + "", + "", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", + "\1\u0151", + "", + "", + "", + "", + "\1\117\13\uffff\12\117\7\uffff\32\117\4\uffff\1\117\1\uffff\32\117", "" }; - 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 final short[] DFA23_eot = DFA.unpackEncodedString(DFA23_eotS); + static final short[] DFA23_eof = DFA.unpackEncodedString(DFA23_eofS); + static final char[] DFA23_min = DFA.unpackEncodedStringToUnsignedChars(DFA23_minS); + static final char[] DFA23_max = DFA.unpackEncodedStringToUnsignedChars(DFA23_maxS); + static final short[] DFA23_accept = DFA.unpackEncodedString(DFA23_acceptS); + static final short[] DFA23_special = DFA.unpackEncodedString(DFA23_specialS); + static final short[][] DFA23_transition; static { - int numStates = DFA14_transitionS.length; - DFA14_transition = new short[numStates][]; + int numStates = DFA23_transitionS.length; + DFA23_transition = new short[numStates][]; for (int i=0; i') ) {s = 3;} + else if ( (LA23_0=='&') ) {s = 3;} - else if ( (LA14_0=='<') ) {s = 4;} + else if ( (LA23_0=='!') ) {s = 4;} - else if ( (LA14_0=='+') ) {s = 5;} + else if ( (LA23_0=='>') ) {s = 5;} - else if ( (LA14_0=='-') ) {s = 6;} + else if ( (LA23_0=='<') ) {s = 6;} - else if ( (LA14_0=='*') ) {s = 7;} + else if ( (LA23_0=='+') ) {s = 7;} - else if ( (LA14_0=='/') ) {s = 8;} + else if ( (LA23_0=='-') ) {s = 8;} - else if ( (LA14_0=='c') ) {s = 9;} + else if ( (LA23_0=='*') ) {s = 9;} - else if ( (LA14_0=='s') ) {s = 10;} + else if ( (LA23_0=='/') ) {s = 10;} - else if ( (LA14_0=='r') ) {s = 11;} + else if ( (LA23_0=='c') ) {s = 11;} - else if ( (LA14_0=='e') ) {s = 12;} + else if ( (LA23_0=='s') ) {s = 12;} - else if ( (LA14_0=='n') ) {s = 13;} + else if ( (LA23_0=='r') ) {s = 13;} - else if ( (LA14_0=='f') ) {s = 14;} + else if ( (LA23_0=='e') ) {s = 14;} - else if ( (LA14_0=='t') ) {s = 15;} + else if ( (LA23_0=='n') ) {s = 15;} - else if ( (LA14_0=='C') ) {s = 16;} + else if ( (LA23_0=='f') ) {s = 16;} - else if ( (LA14_0=='L') ) {s = 17;} + else if ( (LA23_0=='t') ) {s = 17;} - else if ( (LA14_0=='S') ) {s = 18;} + else if ( (LA23_0=='C') ) {s = 18;} - else if ( (LA14_0=='l') ) {s = 19;} + else if ( (LA23_0=='L') ) {s = 19;} - else if ( (LA14_0==':') ) {s = 20;} + else if ( (LA23_0=='S') ) {s = 20;} - else if ( (LA14_0=='(') ) {s = 21;} + else if ( (LA23_0=='%') ) {s = 21;} - else if ( (LA14_0==')') ) {s = 22;} + else if ( (LA23_0=='.') ) {s = 22;} - else if ( (LA14_0=='?') ) {s = 23;} + else if ( (LA23_0=='?') ) {s = 23;} - else if ( (LA14_0=='i') ) {s = 24;} + else if ( (LA23_0=='v') ) {s = 24;} - else if ( (LA14_0=='{') ) {s = 25;} + else if ( (LA23_0=='i') ) {s = 25;} - else if ( (LA14_0=='d') ) {s = 26;} + else if ( (LA23_0=='l') ) {s = 26;} - else if ( (LA14_0=='}') ) {s = 27;} + else if ( (LA23_0==':') ) {s = 27;} - else if ( (LA14_0=='.') ) {s = 28;} + else if ( (LA23_0=='(') ) {s = 28;} - else if ( (LA14_0==',') ) {s = 29;} + else if ( (LA23_0==')') ) {s = 29;} - else if ( (LA14_0=='|') ) {s = 30;} + else if ( (LA23_0=='{') ) {s = 30;} - else if ( (LA14_0=='G') ) {s = 31;} + else if ( (LA23_0=='d') ) {s = 31;} - else if ( (LA14_0=='[') ) {s = 32;} + else if ( (LA23_0=='}') ) {s = 32;} - else if ( (LA14_0==']') ) {s = 33;} + else if ( (LA23_0==',') ) {s = 33;} - else if ( (LA14_0=='&') ) {s = 34;} + else if ( (LA23_0=='G') ) {s = 34;} - else if ( ((LA14_0>='0' && LA14_0<='9')) ) {s = 35;} + else if ( (LA23_0=='[') ) {s = 35;} - else if ( (LA14_0=='^') ) {s = 36;} + else if ( (LA23_0==']') ) {s = 36;} - else if ( ((LA14_0>='A' && LA14_0<='B')||(LA14_0>='D' && LA14_0<='F')||(LA14_0>='H' && LA14_0<='K')||(LA14_0>='M' && LA14_0<='R')||(LA14_0>='T' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='a' && LA14_0<='b')||(LA14_0>='g' && LA14_0<='h')||(LA14_0>='j' && LA14_0<='k')||LA14_0=='m'||(LA14_0>='o' && LA14_0<='q')||(LA14_0>='u' && LA14_0<='z')) ) {s = 37;} + else if ( (LA23_0=='a') ) {s = 37;} - else if ( (LA14_0=='\"') ) {s = 38;} + else if ( (LA23_0=='#') ) {s = 38;} - else if ( (LA14_0=='\'') ) {s = 39;} + else if ( (LA23_0==';') ) {s = 39;} - else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 40;} + else if ( (LA23_0=='w') ) {s = 40;} - 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<='\uFFFF')) ) {s = 41;} + else if ( (LA23_0=='0') ) {s = 41;} - if ( s>=0 ) return s; - break; - case 1 : - int LA14_38 = input.LA(1); + else if ( ((LA23_0>='1' && LA23_0<='9')) ) {s = 42;} - s = -1; - if ( ((LA14_38>='\u0000' && LA14_38<='\uFFFF')) ) {s = 99;} + else if ( (LA23_0=='^') ) {s = 43;} - else s = 41; + else if ( (LA23_0=='$'||(LA23_0>='A' && LA23_0<='B')||(LA23_0>='D' && LA23_0<='F')||(LA23_0>='H' && LA23_0<='K')||(LA23_0>='M' && LA23_0<='R')||(LA23_0>='T' && LA23_0<='Z')||LA23_0=='_'||LA23_0=='b'||(LA23_0>='g' && LA23_0<='h')||(LA23_0>='j' && LA23_0<='k')||LA23_0=='m'||(LA23_0>='o' && LA23_0<='q')||LA23_0=='u'||(LA23_0>='x' && LA23_0<='z')) ) {s = 44;} - if ( s>=0 ) return s; - break; - case 2 : - int LA14_39 = input.LA(1); + else if ( (LA23_0=='\"') ) {s = 45;} - s = -1; - if ( ((LA14_39>='\u0000' && LA14_39<='\uFFFF')) ) {s = 99;} + else if ( (LA23_0=='\'') ) {s = 46;} + + else if ( ((LA23_0>='\t' && LA23_0<='\n')||LA23_0=='\r'||LA23_0==' ') ) {s = 47;} - else s = 41; + else if ( ((LA23_0>='\u0000' && LA23_0<='\b')||(LA23_0>='\u000B' && LA23_0<='\f')||(LA23_0>='\u000E' && LA23_0<='\u001F')||LA23_0=='@'||LA23_0=='\\'||LA23_0=='`'||(LA23_0>='~' && LA23_0<='\uFFFF')) ) {s = 48;} if ( s>=0 ) return s; break; } NoViableAltException nvae = - new NoViableAltException(getDescription(), 14, _s, input); + new NoViableAltException(getDescription(), 23, _s, input); error(nvae); throw nvae; } diff --git a/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/internal/InternalExpressionParser.java b/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/internal/InternalExpressionParser.java index 64e687b025..48a6e3b3e7 100644 --- a/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/internal/InternalExpressionParser.java +++ b/com.avaloq.tools.ddk.xtext.expression.ide/src-gen/com/avaloq/tools/ddk/xtext/expression/ide/contentassist/antlr/internal/InternalExpressionParser.java @@ -23,21 +23,14 @@ @SuppressWarnings("all") public class InternalExpressionParser extends AbstractInternalContentAssistParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_ID", "RULE_INT", "RULE_REAL", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'+'", "'-'", "'*'", "'/'", "'!'", "'collect'", "'select'", "'selectFirst'", "'reject'", "'exists'", "'notExists'", "'sortBy'", "'forAll'", "'true'", "'false'", "'Collection'", "'List'", "'Set'", "'let'", "'='", "':'", "'('", "')'", "'->'", "'?'", "'if'", "'then'", "'else'", "'switch'", "'{'", "'default'", "'}'", "'case'", "'.'", "','", "'|'", "'GLOBALVAR'", "'new'", "'['", "']'", "'::'", "'||'", "'&&'", "'implies'", "'typeSelect'", "'null'" + "", "", "", "", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_REAL", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'='", "'||'", "'&&'", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'+'", "'-'", "'*'", "'/'", "'!'", "'collect'", "'select'", "'selectFirst'", "'reject'", "'exists'", "'notExists'", "'sortBy'", "'forAll'", "'true'", "'false'", "'Collection'", "'List'", "'Set'", "'+='", "'-='", "'*='", "'/='", "'%='", "'==='", "'!=='", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'**'", "'%'", "'++'", "'--'", "'.'", "'val'", "'extends'", "'static'", "'import'", "'extension'", "'super'", "'let'", "':'", "'('", "')'", "'?'", "'if'", "'then'", "'else'", "'switch'", "'{'", "'default'", "'}'", "'case'", "','", "'|'", "'GLOBALVAR'", "'new'", "'['", "']'", "'::'", "'instanceof'", "'as'", "'#'", "';'", "'for'", "'while'", "'do'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'&'", "'implies'", "'typeSelect'", "'?.'", "'var'" }; + public static final int RULE_HEX=5; public static final int T__50=50; - public static final int T__19=19; - public static final int T__15=15; public static final int T__59=59; - public static final int T__16=16; - public static final int T__17=17; - public static final int T__18=18; public static final int T__55=55; - public static final int T__12=12; public static final int T__56=56; - public static final int T__13=13; public static final int T__57=57; - public static final int T__14=14; public static final int T__58=58; public static final int T__51=51; public static final int T__52=52; @@ -46,23 +39,17 @@ public class InternalExpressionParser extends AbstractInternalContentAssistParse public static final int T__60=60; public static final int T__61=61; public static final int RULE_ID=4; - public static final int RULE_REAL=6; - public static final int T__26=26; - public static final int T__27=27; - public static final int T__28=28; - public static final int RULE_INT=5; - public static final int T__29=29; - public static final int T__22=22; - public static final int RULE_ML_COMMENT=8; - public static final int T__23=23; - public static final int T__24=24; - public static final int T__25=25; + public static final int RULE_REAL=8; + public static final int RULE_INT=6; + public static final int T__66=66; + public static final int RULE_ML_COMMENT=10; + public static final int T__67=67; + public static final int T__68=68; + public static final int T__69=69; public static final int T__62=62; public static final int T__63=63; - public static final int T__20=20; - public static final int T__21=21; - public static final int RULE_STRING=7; - public static final int RULE_SL_COMMENT=9; + public static final int T__64=64; + public static final int T__65=65; public static final int T__37=37; public static final int T__38=38; public static final int T__39=39; @@ -70,12 +57,9 @@ public class InternalExpressionParser extends AbstractInternalContentAssistParse public static final int T__34=34; public static final int T__35=35; public static final int T__36=36; - public static final int EOF=-1; public static final int T__30=30; public static final int T__31=31; public static final int T__32=32; - public static final int RULE_WS=10; - public static final int RULE_ANY_OTHER=11; public static final int T__48=48; public static final int T__49=49; public static final int T__44=44; @@ -86,6 +70,63 @@ public class InternalExpressionParser extends AbstractInternalContentAssistParse public static final int T__41=41; public static final int T__42=42; public static final int T__43=43; + public static final int T__91=91; + public static final int T__100=100; + public static final int T__92=92; + public static final int T__93=93; + public static final int T__102=102; + public static final int T__94=94; + public static final int T__101=101; + public static final int T__90=90; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__99=99; + public static final int T__14=14; + public static final int T__95=95; + public static final int T__96=96; + public static final int T__97=97; + public static final int T__98=98; + public static final int RULE_DECIMAL=7; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int T__29=29; + public static final int T__22=22; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + public static final int T__70=70; + public static final int T__71=71; + public static final int T__72=72; + public static final int RULE_STRING=9; + public static final int RULE_SL_COMMENT=11; + public static final int T__77=77; + public static final int T__78=78; + public static final int T__79=79; + public static final int T__73=73; + public static final int EOF=-1; + public static final int T__74=74; + public static final int T__75=75; + public static final int T__76=76; + public static final int T__80=80; + public static final int T__81=81; + public static final int T__82=82; + public static final int T__83=83; + public static final int RULE_WS=12; + public static final int RULE_ANY_OTHER=13; + public static final int T__88=88; + public static final int T__89=89; + public static final int T__84=84; + public static final int T__104=104; + public static final int T__85=85; + public static final int T__103=103; + public static final int T__86=86; + public static final int T__87=87; // delegates // delegators @@ -3257,418 +3298,315 @@ public final void ruleIdentifier() throws RecognitionException { // $ANTLR end "ruleIdentifier" - // $ANTLR start "rule__Expression__Alternatives" - // InternalExpression.g:978:1: rule__Expression__Alternatives : ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) ); - public final void rule__Expression__Alternatives() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXExpression" + // InternalExpression.g:979:1: entryRuleXExpression : ruleXExpression EOF ; + public final void entryRuleXExpression() throws RecognitionException { try { - // InternalExpression.g:982:1: ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) ) - int alt1=3; - alt1 = dfa1.predict(input); - switch (alt1) { - case 1 : - // InternalExpression.g:983:2: ( ruleLetExpression ) - { - // InternalExpression.g:983:2: ( ruleLetExpression ) - // InternalExpression.g:984:3: ruleLetExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleLetExpression(); + // InternalExpression.g:980:1: ( ruleXExpression EOF ) + // InternalExpression.g:981:1: ruleXExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXExpression(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - } + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXExpression" - } - break; - case 2 : - // InternalExpression.g:989:2: ( ( ruleCastedExpression ) ) - { - // InternalExpression.g:989:2: ( ( ruleCastedExpression ) ) - // InternalExpression.g:990:3: ( ruleCastedExpression ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); - } - // InternalExpression.g:991:3: ( ruleCastedExpression ) - // InternalExpression.g:991:4: ruleCastedExpression - { - pushFollow(FOLLOW_2); - ruleCastedExpression(); + // $ANTLR start "ruleXExpression" + // InternalExpression.g:988:1: ruleXExpression : ( ruleXAssignment ) ; + public final void ruleXExpression() throws RecognitionException { - state._fsp--; - if (state.failed) return ; + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:992:2: ( ( ruleXAssignment ) ) + // InternalExpression.g:993:2: ( ruleXAssignment ) + { + // InternalExpression.g:993:2: ( ruleXAssignment ) + // InternalExpression.g:994:3: ruleXAssignment + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); + } + pushFollow(FOLLOW_2); + ruleXAssignment(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); - } + } - } + } - } - break; - case 3 : - // InternalExpression.g:995:2: ( ruleChainExpression ) - { - // InternalExpression.g:995:2: ( ruleChainExpression ) - // InternalExpression.g:996:3: ruleChainExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); - } - pushFollow(FOLLOW_2); - ruleChainExpression(); + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); - } + restoreStackSize(stackSize); - } + } + return ; + } + // $ANTLR end "ruleXExpression" - } - break; + // $ANTLR start "entryRuleXAssignment" + // InternalExpression.g:1004:1: entryRuleXAssignment : ruleXAssignment EOF ; + public final void entryRuleXAssignment() throws RecognitionException { + try { + // InternalExpression.g:1005:1: ( ruleXAssignment EOF ) + // InternalExpression.g:1006:1: ruleXAssignment EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentRule()); + } + pushFollow(FOLLOW_1); + ruleXAssignment(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Expression__Alternatives" + // $ANTLR end "entryRuleXAssignment" - // $ANTLR start "rule__ChainedExpression__Alternatives" - // InternalExpression.g:1005:1: rule__ChainedExpression__Alternatives : ( ( ruleIfExpressionKw ) | ( ruleIfExpressionTri ) | ( ruleSwitchExpression ) ); - public final void rule__ChainedExpression__Alternatives() throws RecognitionException { + // $ANTLR start "ruleXAssignment" + // InternalExpression.g:1013:1: ruleXAssignment : ( ( rule__XAssignment__Alternatives ) ) ; + public final void ruleXAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1009:1: ( ( ruleIfExpressionKw ) | ( ruleIfExpressionTri ) | ( ruleSwitchExpression ) ) - int alt2=3; - switch ( input.LA(1) ) { - case 43: - { - alt2=1; - } - break; - case RULE_ID: - case RULE_INT: - case RULE_REAL: - case RULE_STRING: - case 19: - case 22: - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - case 31: - case 32: - case 33: - case 34: - case 35: - case 39: - case 47: - case 54: - case 55: - case 62: - case 63: - { - alt2=2; - } - break; - case 46: - { - alt2=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 2, 0, input); - - throw nvae; + // InternalExpression.g:1017:2: ( ( ( rule__XAssignment__Alternatives ) ) ) + // InternalExpression.g:1018:2: ( ( rule__XAssignment__Alternatives ) ) + { + // InternalExpression.g:1018:2: ( ( rule__XAssignment__Alternatives ) ) + // InternalExpression.g:1019:3: ( rule__XAssignment__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getAlternatives()); } + // InternalExpression.g:1020:3: ( rule__XAssignment__Alternatives ) + // InternalExpression.g:1020:4: rule__XAssignment__Alternatives + { + pushFollow(FOLLOW_2); + rule__XAssignment__Alternatives(); - switch (alt2) { - case 1 : - // InternalExpression.g:1010:2: ( ruleIfExpressionKw ) - { - // InternalExpression.g:1010:2: ( ruleIfExpressionKw ) - // InternalExpression.g:1011:3: ruleIfExpressionKw - { - if ( state.backtracking==0 ) { - before(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleIfExpressionKw(); - - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getAlternatives()); + } - } - break; - case 2 : - // InternalExpression.g:1016:2: ( ruleIfExpressionTri ) - { - // InternalExpression.g:1016:2: ( ruleIfExpressionTri ) - // InternalExpression.g:1017:3: ruleIfExpressionTri - { - if ( state.backtracking==0 ) { - before(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleIfExpressionTri(); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 3 : - // InternalExpression.g:1022:2: ( ruleSwitchExpression ) - { - // InternalExpression.g:1022:2: ( ruleSwitchExpression ) - // InternalExpression.g:1023:3: ruleSwitchExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); - } - pushFollow(FOLLOW_2); - ruleSwitchExpression(); + restoreStackSize(stackSize); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); - } + } + return ; + } + // $ANTLR end "ruleXAssignment" - } + // $ANTLR start "entryRuleOpSingleAssign" + // InternalExpression.g:1029:1: entryRuleOpSingleAssign : ruleOpSingleAssign EOF ; + public final void entryRuleOpSingleAssign() throws RecognitionException { + try { + // InternalExpression.g:1030:1: ( ruleOpSingleAssign EOF ) + // InternalExpression.g:1031:1: ruleOpSingleAssign EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpSingleAssignRule()); + } + pushFollow(FOLLOW_1); + ruleOpSingleAssign(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpSingleAssignRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ChainedExpression__Alternatives" + // $ANTLR end "entryRuleOpSingleAssign" - // $ANTLR start "rule__RelationalExpression__OperatorAlternatives_1_1_0" - // InternalExpression.g:1032:1: rule__RelationalExpression__OperatorAlternatives_1_1_0 : ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ); - public final void rule__RelationalExpression__OperatorAlternatives_1_1_0() throws RecognitionException { + // $ANTLR start "ruleOpSingleAssign" + // InternalExpression.g:1038:1: ruleOpSingleAssign : ( '=' ) ; + public final void ruleOpSingleAssign() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1036:1: ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ) - int alt3=6; - switch ( input.LA(1) ) { - case 12: - { - alt3=1; - } - break; - case 13: - { - alt3=2; - } - break; - case 14: - { - alt3=3; - } - break; - case 15: - { - alt3=4; - } - break; - case 16: - { - alt3=5; - } - break; - case 17: - { - alt3=6; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 3, 0, input); - - throw nvae; + // InternalExpression.g:1042:2: ( ( '=' ) ) + // InternalExpression.g:1043:2: ( '=' ) + { + // InternalExpression.g:1043:2: ( '=' ) + // InternalExpression.g:1044:3: '=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); + } + match(input,14,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); } - switch (alt3) { - case 1 : - // InternalExpression.g:1037:2: ( '==' ) - { - // InternalExpression.g:1037:2: ( '==' ) - // InternalExpression.g:1038:3: '==' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); - } - match(input,12,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); - } + } - } + } - } - break; - case 2 : - // InternalExpression.g:1043:2: ( '!=' ) - { - // InternalExpression.g:1043:2: ( '!=' ) - // InternalExpression.g:1044:3: '!=' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); - } - match(input,13,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); + } + return ; + } + // $ANTLR end "ruleOpSingleAssign" - } - break; - case 3 : - // InternalExpression.g:1049:2: ( '>=' ) - { - // InternalExpression.g:1049:2: ( '>=' ) - // InternalExpression.g:1050:3: '>=' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); - } - match(input,14,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); - } - } + // $ANTLR start "entryRuleOpMultiAssign" + // InternalExpression.g:1054:1: entryRuleOpMultiAssign : ruleOpMultiAssign EOF ; + public final void entryRuleOpMultiAssign() throws RecognitionException { + try { + // InternalExpression.g:1055:1: ( ruleOpMultiAssign EOF ) + // InternalExpression.g:1056:1: ruleOpMultiAssign EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignRule()); + } + pushFollow(FOLLOW_1); + ruleOpMultiAssign(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - } - break; - case 4 : - // InternalExpression.g:1055:2: ( '<=' ) - { - // InternalExpression.g:1055:2: ( '<=' ) - // InternalExpression.g:1056:3: '<=' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); - } - match(input,15,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); - } + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpMultiAssign" - } - break; - case 5 : - // InternalExpression.g:1061:2: ( '>' ) - { - // InternalExpression.g:1061:2: ( '>' ) - // InternalExpression.g:1062:3: '>' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); - } - match(input,16,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); - } + // $ANTLR start "ruleOpMultiAssign" + // InternalExpression.g:1063:1: ruleOpMultiAssign : ( ( rule__OpMultiAssign__Alternatives ) ) ; + public final void ruleOpMultiAssign() throws RecognitionException { - } + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:1067:2: ( ( ( rule__OpMultiAssign__Alternatives ) ) ) + // InternalExpression.g:1068:2: ( ( rule__OpMultiAssign__Alternatives ) ) + { + // InternalExpression.g:1068:2: ( ( rule__OpMultiAssign__Alternatives ) ) + // InternalExpression.g:1069:3: ( rule__OpMultiAssign__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getAlternatives()); + } + // InternalExpression.g:1070:3: ( rule__OpMultiAssign__Alternatives ) + // InternalExpression.g:1070:4: rule__OpMultiAssign__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Alternatives(); + state._fsp--; + if (state.failed) return ; - } - break; - case 6 : - // InternalExpression.g:1067:2: ( '<' ) - { - // InternalExpression.g:1067:2: ( '<' ) - // InternalExpression.g:1068:3: '<' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); - } - match(input,17,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getAlternatives()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -3681,154 +3619,79 @@ public final void rule__RelationalExpression__OperatorAlternatives_1_1_0() throw } return ; } - // $ANTLR end "rule__RelationalExpression__OperatorAlternatives_1_1_0" + // $ANTLR end "ruleOpMultiAssign" - // $ANTLR start "rule__AdditiveExpression__NameAlternatives_1_1_0" - // InternalExpression.g:1077:1: rule__AdditiveExpression__NameAlternatives_1_1_0 : ( ( '+' ) | ( '-' ) ); - public final void rule__AdditiveExpression__NameAlternatives_1_1_0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXOrExpression" + // InternalExpression.g:1079:1: entryRuleXOrExpression : ruleXOrExpression EOF ; + public final void entryRuleXOrExpression() throws RecognitionException { try { - // InternalExpression.g:1081:1: ( ( '+' ) | ( '-' ) ) - int alt4=2; - int LA4_0 = input.LA(1); - - if ( (LA4_0==18) ) { - alt4=1; - } - else if ( (LA4_0==19) ) { - alt4=2; + // InternalExpression.g:1080:1: ( ruleXOrExpression EOF ) + // InternalExpression.g:1081:1: ruleXOrExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionRule()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 4, 0, input); + pushFollow(FOLLOW_1); + ruleXOrExpression(); - throw nvae; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionRule()); } - switch (alt4) { - case 1 : - // InternalExpression.g:1082:2: ( '+' ) - { - // InternalExpression.g:1082:2: ( '+' ) - // InternalExpression.g:1083:3: '+' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); - } - match(input,18,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); - } - - } - - - } - break; - case 2 : - // InternalExpression.g:1088:2: ( '-' ) - { - // InternalExpression.g:1088:2: ( '-' ) - // InternalExpression.g:1089:3: '-' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); - } - match(input,19,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); - } - - } - - - } - break; + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__AdditiveExpression__NameAlternatives_1_1_0" + // $ANTLR end "entryRuleXOrExpression" - // $ANTLR start "rule__MultiplicativeExpression__NameAlternatives_1_1_0" - // InternalExpression.g:1098:1: rule__MultiplicativeExpression__NameAlternatives_1_1_0 : ( ( '*' ) | ( '/' ) ); - public final void rule__MultiplicativeExpression__NameAlternatives_1_1_0() throws RecognitionException { + // $ANTLR start "ruleXOrExpression" + // InternalExpression.g:1088:1: ruleXOrExpression : ( ( rule__XOrExpression__Group__0 ) ) ; + public final void ruleXOrExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1102:1: ( ( '*' ) | ( '/' ) ) - int alt5=2; - int LA5_0 = input.LA(1); - - if ( (LA5_0==20) ) { - alt5=1; - } - else if ( (LA5_0==21) ) { - alt5=2; + // InternalExpression.g:1092:2: ( ( ( rule__XOrExpression__Group__0 ) ) ) + // InternalExpression.g:1093:2: ( ( rule__XOrExpression__Group__0 ) ) + { + // InternalExpression.g:1093:2: ( ( rule__XOrExpression__Group__0 ) ) + // InternalExpression.g:1094:3: ( rule__XOrExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getGroup()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 5, 0, input); - - throw nvae; - } - switch (alt5) { - case 1 : - // InternalExpression.g:1103:2: ( '*' ) - { - // InternalExpression.g:1103:2: ( '*' ) - // InternalExpression.g:1104:3: '*' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); - } - match(input,20,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); - } - - } + // InternalExpression.g:1095:3: ( rule__XOrExpression__Group__0 ) + // InternalExpression.g:1095:4: rule__XOrExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group__0(); + state._fsp--; + if (state.failed) return ; - } - break; - case 2 : - // InternalExpression.g:1109:2: ( '/' ) - { - // InternalExpression.g:1109:2: ( '/' ) - // InternalExpression.g:1110:3: '/' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); - } - match(input,21,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getGroup()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -3841,368 +3704,399 @@ else if ( (LA5_0==21) ) { } return ; } - // $ANTLR end "rule__MultiplicativeExpression__NameAlternatives_1_1_0" + // $ANTLR end "ruleXOrExpression" - // $ANTLR start "rule__UnaryOrInfixExpression__Alternatives" - // InternalExpression.g:1119:1: rule__UnaryOrInfixExpression__Alternatives : ( ( ruleUnaryExpression ) | ( ruleInfixExpression ) ); - public final void rule__UnaryOrInfixExpression__Alternatives() throws RecognitionException { + // $ANTLR start "entryRuleOpOr" + // InternalExpression.g:1104:1: entryRuleOpOr : ruleOpOr EOF ; + public final void entryRuleOpOr() throws RecognitionException { + try { + // InternalExpression.g:1105:1: ( ruleOpOr EOF ) + // InternalExpression.g:1106:1: ruleOpOr EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOrRule()); + } + pushFollow(FOLLOW_1); + ruleOpOr(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOrRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpOr" + + + // $ANTLR start "ruleOpOr" + // InternalExpression.g:1113:1: ruleOpOr : ( '||' ) ; + public final void ruleOpOr() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1123:1: ( ( ruleUnaryExpression ) | ( ruleInfixExpression ) ) - int alt6=2; - int LA6_0 = input.LA(1); - - if ( (LA6_0==19||LA6_0==22) ) { - alt6=1; + // InternalExpression.g:1117:2: ( ( '||' ) ) + // InternalExpression.g:1118:2: ( '||' ) + { + // InternalExpression.g:1118:2: ( '||' ) + // InternalExpression.g:1119:3: '||' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); } - else if ( ((LA6_0>=RULE_ID && LA6_0<=RULE_STRING)||(LA6_0>=23 && LA6_0<=35)||LA6_0==39||LA6_0==47||(LA6_0>=54 && LA6_0<=55)||(LA6_0>=62 && LA6_0<=63)) ) { - alt6=2; + match(input,15,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 6, 0, input); - throw nvae; } - switch (alt6) { - case 1 : - // InternalExpression.g:1124:2: ( ruleUnaryExpression ) - { - // InternalExpression.g:1124:2: ( ruleUnaryExpression ) - // InternalExpression.g:1125:3: ruleUnaryExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleUnaryExpression(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 2 : - // InternalExpression.g:1130:2: ( ruleInfixExpression ) - { - // InternalExpression.g:1130:2: ( ruleInfixExpression ) - // InternalExpression.g:1131:3: ruleInfixExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleInfixExpression(); + restoreStackSize(stackSize); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); - } + } + return ; + } + // $ANTLR end "ruleOpOr" - } + // $ANTLR start "entryRuleXAndExpression" + // InternalExpression.g:1129:1: entryRuleXAndExpression : ruleXAndExpression EOF ; + public final void entryRuleXAndExpression() throws RecognitionException { + try { + // InternalExpression.g:1130:1: ( ruleXAndExpression EOF ) + // InternalExpression.g:1131:1: ruleXAndExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXAndExpression(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__UnaryOrInfixExpression__Alternatives" + // $ANTLR end "entryRuleXAndExpression" - // $ANTLR start "rule__UnaryExpression__NameAlternatives_0_0" - // InternalExpression.g:1140:1: rule__UnaryExpression__NameAlternatives_0_0 : ( ( '!' ) | ( '-' ) ); - public final void rule__UnaryExpression__NameAlternatives_0_0() throws RecognitionException { + // $ANTLR start "ruleXAndExpression" + // InternalExpression.g:1138:1: ruleXAndExpression : ( ( rule__XAndExpression__Group__0 ) ) ; + public final void ruleXAndExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1144:1: ( ( '!' ) | ( '-' ) ) - int alt7=2; - int LA7_0 = input.LA(1); + // InternalExpression.g:1142:2: ( ( ( rule__XAndExpression__Group__0 ) ) ) + // InternalExpression.g:1143:2: ( ( rule__XAndExpression__Group__0 ) ) + { + // InternalExpression.g:1143:2: ( ( rule__XAndExpression__Group__0 ) ) + // InternalExpression.g:1144:3: ( rule__XAndExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getGroup()); + } + // InternalExpression.g:1145:3: ( rule__XAndExpression__Group__0 ) + // InternalExpression.g:1145:4: rule__XAndExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; - if ( (LA7_0==22) ) { - alt7=1; } - else if ( (LA7_0==19) ) { - alt7=2; + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getGroup()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 7, 0, input); - throw nvae; } - switch (alt7) { - case 1 : - // InternalExpression.g:1145:2: ( '!' ) - { - // InternalExpression.g:1145:2: ( '!' ) - // InternalExpression.g:1146:3: '!' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); - } - match(input,22,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); - } - } + } - } - break; - case 2 : - // InternalExpression.g:1151:2: ( '-' ) - { - // InternalExpression.g:1151:2: ( '-' ) - // InternalExpression.g:1152:3: '-' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); - } - match(input,19,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleXAndExpression" - } - break; + // $ANTLR start "entryRuleOpAnd" + // InternalExpression.g:1154:1: entryRuleOpAnd : ruleOpAnd EOF ; + public final void entryRuleOpAnd() throws RecognitionException { + try { + // InternalExpression.g:1155:1: ( ruleOpAnd EOF ) + // InternalExpression.g:1156:1: ruleOpAnd EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAndRule()); + } + pushFollow(FOLLOW_1); + ruleOpAnd(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAndRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__UnaryExpression__NameAlternatives_0_0" + // $ANTLR end "entryRuleOpAnd" - // $ANTLR start "rule__InfixExpression__Alternatives_1" - // InternalExpression.g:1161:1: rule__InfixExpression__Alternatives_1 : ( ( ( rule__InfixExpression__Group_1_0__0 ) ) | ( ( rule__InfixExpression__Group_1_1__0 ) ) | ( ( rule__InfixExpression__Group_1_2__0 ) ) | ( ( rule__InfixExpression__Group_1_3__0 ) ) ); - public final void rule__InfixExpression__Alternatives_1() throws RecognitionException { + // $ANTLR start "ruleOpAnd" + // InternalExpression.g:1163:1: ruleOpAnd : ( '&&' ) ; + public final void ruleOpAnd() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1165:1: ( ( ( rule__InfixExpression__Group_1_0__0 ) ) | ( ( rule__InfixExpression__Group_1_1__0 ) ) | ( ( rule__InfixExpression__Group_1_2__0 ) ) | ( ( rule__InfixExpression__Group_1_3__0 ) ) ) - int alt8=4; - int LA8_0 = input.LA(1); + // InternalExpression.g:1167:2: ( ( '&&' ) ) + // InternalExpression.g:1168:2: ( '&&' ) + { + // InternalExpression.g:1168:2: ( '&&' ) + // InternalExpression.g:1169:3: '&&' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); + } + match(input,16,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); + } - if ( (LA8_0==51) ) { - switch ( input.LA(2) ) { - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - { - alt8=4; - } - break; - case 33: - case 34: - case 35: - { - alt8=2; - } - break; - case RULE_ID: - { - int LA8_4 = input.LA(3); + } - if ( (LA8_4==EOF||(LA8_4>=12 && LA8_4<=21)||LA8_4==38||(LA8_4>=40 && LA8_4<=42)||(LA8_4>=44 && LA8_4<=45)||(LA8_4>=48 && LA8_4<=52)||(LA8_4>=58 && LA8_4<=61)) ) { - alt8=2; - } - else if ( (LA8_4==39) ) { - alt8=1; - } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 8, 4, input); - throw nvae; - } - } - break; - case 62: - { - alt8=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 8, 1, input); + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleOpAnd" - throw nvae; - } + // $ANTLR start "entryRuleXEqualityExpression" + // InternalExpression.g:1179:1: entryRuleXEqualityExpression : ruleXEqualityExpression EOF ; + public final void entryRuleXEqualityExpression() throws RecognitionException { + try { + // InternalExpression.g:1180:1: ( ruleXEqualityExpression EOF ) + // InternalExpression.g:1181:1: ruleXEqualityExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionRule()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 8, 0, input); + pushFollow(FOLLOW_1); + ruleXEqualityExpression(); - throw nvae; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionRule()); } - switch (alt8) { - case 1 : - // InternalExpression.g:1166:2: ( ( rule__InfixExpression__Group_1_0__0 ) ) - { - // InternalExpression.g:1166:2: ( ( rule__InfixExpression__Group_1_0__0 ) ) - // InternalExpression.g:1167:3: ( rule__InfixExpression__Group_1_0__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); - } - // InternalExpression.g:1168:3: ( rule__InfixExpression__Group_1_0__0 ) - // InternalExpression.g:1168:4: rule__InfixExpression__Group_1_0__0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__0(); + match(input,EOF,FOLLOW_2); if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXEqualityExpression" - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); - } - } + // $ANTLR start "ruleXEqualityExpression" + // InternalExpression.g:1188:1: ruleXEqualityExpression : ( ( rule__XEqualityExpression__Group__0 ) ) ; + public final void ruleXEqualityExpression() throws RecognitionException { + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:1192:2: ( ( ( rule__XEqualityExpression__Group__0 ) ) ) + // InternalExpression.g:1193:2: ( ( rule__XEqualityExpression__Group__0 ) ) + { + // InternalExpression.g:1193:2: ( ( rule__XEqualityExpression__Group__0 ) ) + // InternalExpression.g:1194:3: ( rule__XEqualityExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getGroup()); + } + // InternalExpression.g:1195:3: ( rule__XEqualityExpression__Group__0 ) + // InternalExpression.g:1195:4: rule__XEqualityExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group__0(); - } - break; - case 2 : - // InternalExpression.g:1172:2: ( ( rule__InfixExpression__Group_1_1__0 ) ) - { - // InternalExpression.g:1172:2: ( ( rule__InfixExpression__Group_1_1__0 ) ) - // InternalExpression.g:1173:3: ( rule__InfixExpression__Group_1_1__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); - } - // InternalExpression.g:1174:3: ( rule__InfixExpression__Group_1_1__0 ) - // InternalExpression.g:1174:4: rule__InfixExpression__Group_1_1__0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_1__0(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getGroup()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); - } + } - } + } - } - break; - case 3 : - // InternalExpression.g:1178:2: ( ( rule__InfixExpression__Group_1_2__0 ) ) - { - // InternalExpression.g:1178:2: ( ( rule__InfixExpression__Group_1_2__0 ) ) - // InternalExpression.g:1179:3: ( rule__InfixExpression__Group_1_2__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); - } - // InternalExpression.g:1180:3: ( rule__InfixExpression__Group_1_2__0 ) - // InternalExpression.g:1180:4: rule__InfixExpression__Group_1_2__0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__0(); + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - state._fsp--; - if (state.failed) return ; + restoreStackSize(stackSize); - } + } + return ; + } + // $ANTLR end "ruleXEqualityExpression" - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); - } - } + // $ANTLR start "entryRuleOpEquality" + // InternalExpression.g:1204:1: entryRuleOpEquality : ruleOpEquality EOF ; + public final void entryRuleOpEquality() throws RecognitionException { + try { + // InternalExpression.g:1205:1: ( ruleOpEquality EOF ) + // InternalExpression.g:1206:1: ruleOpEquality EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityRule()); + } + pushFollow(FOLLOW_1); + ruleOpEquality(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - } - break; - case 4 : - // InternalExpression.g:1184:2: ( ( rule__InfixExpression__Group_1_3__0 ) ) - { - // InternalExpression.g:1184:2: ( ( rule__InfixExpression__Group_1_3__0 ) ) - // InternalExpression.g:1185:3: ( rule__InfixExpression__Group_1_3__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); - } - // InternalExpression.g:1186:3: ( rule__InfixExpression__Group_1_3__0 ) - // InternalExpression.g:1186:4: rule__InfixExpression__Group_1_3__0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__0(); + } - state._fsp--; - if (state.failed) return ; + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpEquality" - } - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); - } + // $ANTLR start "ruleOpEquality" + // InternalExpression.g:1213:1: ruleOpEquality : ( ( rule__OpEquality__Alternatives ) ) ; + public final void ruleOpEquality() throws RecognitionException { - } + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:1217:2: ( ( ( rule__OpEquality__Alternatives ) ) ) + // InternalExpression.g:1218:2: ( ( rule__OpEquality__Alternatives ) ) + { + // InternalExpression.g:1218:2: ( ( rule__OpEquality__Alternatives ) ) + // InternalExpression.g:1219:3: ( rule__OpEquality__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityAccess().getAlternatives()); + } + // InternalExpression.g:1220:3: ( rule__OpEquality__Alternatives ) + // InternalExpression.g:1220:4: rule__OpEquality__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpEquality__Alternatives(); + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityAccess().getAlternatives()); + } + + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -4215,222 +4109,164 @@ else if ( (LA8_4==39) ) { } return ; } - // $ANTLR end "rule__InfixExpression__Alternatives_1" + // $ANTLR end "ruleOpEquality" - // $ANTLR start "rule__InfixExpression__NameAlternatives_1_3_2_0" - // InternalExpression.g:1194:1: rule__InfixExpression__NameAlternatives_1_3_2_0 : ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ); - public final void rule__InfixExpression__NameAlternatives_1_3_2_0() throws RecognitionException { + // $ANTLR start "entryRuleXRelationalExpression" + // InternalExpression.g:1229:1: entryRuleXRelationalExpression : ruleXRelationalExpression EOF ; + public final void entryRuleXRelationalExpression() throws RecognitionException { + try { + // InternalExpression.g:1230:1: ( ruleXRelationalExpression EOF ) + // InternalExpression.g:1231:1: ruleXRelationalExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXRelationalExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXRelationalExpression" + + + // $ANTLR start "ruleXRelationalExpression" + // InternalExpression.g:1238:1: ruleXRelationalExpression : ( ( rule__XRelationalExpression__Group__0 ) ) ; + public final void ruleXRelationalExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1198:1: ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) - int alt9=8; - switch ( input.LA(1) ) { - case 23: - { - alt9=1; - } - break; - case 24: - { - alt9=2; - } - break; - case 25: - { - alt9=3; - } - break; - case 26: - { - alt9=4; - } - break; - case 27: - { - alt9=5; - } - break; - case 28: - { - alt9=6; - } - break; - case 29: - { - alt9=7; - } - break; - case 30: - { - alt9=8; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 9, 0, input); - - throw nvae; + // InternalExpression.g:1242:2: ( ( ( rule__XRelationalExpression__Group__0 ) ) ) + // InternalExpression.g:1243:2: ( ( rule__XRelationalExpression__Group__0 ) ) + { + // InternalExpression.g:1243:2: ( ( rule__XRelationalExpression__Group__0 ) ) + // InternalExpression.g:1244:3: ( rule__XRelationalExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup()); } + // InternalExpression.g:1245:3: ( rule__XRelationalExpression__Group__0 ) + // InternalExpression.g:1245:4: rule__XRelationalExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group__0(); - switch (alt9) { - case 1 : - // InternalExpression.g:1199:2: ( 'collect' ) - { - // InternalExpression.g:1199:2: ( 'collect' ) - // InternalExpression.g:1200:3: 'collect' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); - } - match(input,23,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); - } - - } - - - } - break; - case 2 : - // InternalExpression.g:1205:2: ( 'select' ) - { - // InternalExpression.g:1205:2: ( 'select' ) - // InternalExpression.g:1206:3: 'select' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); - } - match(input,24,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup()); + } - } - break; - case 3 : - // InternalExpression.g:1211:2: ( 'selectFirst' ) - { - // InternalExpression.g:1211:2: ( 'selectFirst' ) - // InternalExpression.g:1212:3: 'selectFirst' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); - } - match(input,25,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); - } + } - } + } - } - break; - case 4 : - // InternalExpression.g:1217:2: ( 'reject' ) - { - // InternalExpression.g:1217:2: ( 'reject' ) - // InternalExpression.g:1218:3: 'reject' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); - } - match(input,26,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); + } + return ; + } + // $ANTLR end "ruleXRelationalExpression" - } - break; - case 5 : - // InternalExpression.g:1223:2: ( 'exists' ) - { - // InternalExpression.g:1223:2: ( 'exists' ) - // InternalExpression.g:1224:3: 'exists' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); - } - match(input,27,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); - } - } + // $ANTLR start "entryRuleOpCompare" + // InternalExpression.g:1254:1: entryRuleOpCompare : ruleOpCompare EOF ; + public final void entryRuleOpCompare() throws RecognitionException { + try { + // InternalExpression.g:1255:1: ( ruleOpCompare EOF ) + // InternalExpression.g:1256:1: ruleOpCompare EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareRule()); + } + pushFollow(FOLLOW_1); + ruleOpCompare(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - } - break; - case 6 : - // InternalExpression.g:1229:2: ( 'notExists' ) - { - // InternalExpression.g:1229:2: ( 'notExists' ) - // InternalExpression.g:1230:3: 'notExists' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); - } - match(input,28,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); - } + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpCompare" - } - break; - case 7 : - // InternalExpression.g:1235:2: ( 'sortBy' ) - { - // InternalExpression.g:1235:2: ( 'sortBy' ) - // InternalExpression.g:1236:3: 'sortBy' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); - } - match(input,29,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); - } + // $ANTLR start "ruleOpCompare" + // InternalExpression.g:1263:1: ruleOpCompare : ( ( rule__OpCompare__Alternatives ) ) ; + public final void ruleOpCompare() throws RecognitionException { - } + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:1267:2: ( ( ( rule__OpCompare__Alternatives ) ) ) + // InternalExpression.g:1268:2: ( ( rule__OpCompare__Alternatives ) ) + { + // InternalExpression.g:1268:2: ( ( rule__OpCompare__Alternatives ) ) + // InternalExpression.g:1269:3: ( rule__OpCompare__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getAlternatives()); + } + // InternalExpression.g:1270:3: ( rule__OpCompare__Alternatives ) + // InternalExpression.g:1270:4: rule__OpCompare__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpCompare__Alternatives(); + state._fsp--; + if (state.failed) return ; - } - break; - case 8 : - // InternalExpression.g:1241:2: ( 'forAll' ) - { - // InternalExpression.g:1241:2: ( 'forAll' ) - // InternalExpression.g:1242:3: 'forAll' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); - } - match(input,30,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getAlternatives()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -4443,215 +4279,164 @@ public final void rule__InfixExpression__NameAlternatives_1_3_2_0() throws Recog } return ; } - // $ANTLR end "rule__InfixExpression__NameAlternatives_1_3_2_0" - + // $ANTLR end "ruleOpCompare" - // $ANTLR start "rule__PrimaryExpression__Alternatives" - // InternalExpression.g:1251:1: rule__PrimaryExpression__Alternatives : ( ( ruleLiteral ) | ( ruleFeatureCall ) | ( ruleListLiteral ) | ( ruleConstructorCallExpression ) | ( ruleGlobalVarExpression ) | ( ruleParanthesizedExpression ) ); - public final void rule__PrimaryExpression__Alternatives() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXOtherOperatorExpression" + // InternalExpression.g:1279:1: entryRuleXOtherOperatorExpression : ruleXOtherOperatorExpression EOF ; + public final void entryRuleXOtherOperatorExpression() throws RecognitionException { try { - // InternalExpression.g:1255:1: ( ( ruleLiteral ) | ( ruleFeatureCall ) | ( ruleListLiteral ) | ( ruleConstructorCallExpression ) | ( ruleGlobalVarExpression ) | ( ruleParanthesizedExpression ) ) - int alt10=6; - switch ( input.LA(1) ) { - case RULE_INT: - case RULE_REAL: - case RULE_STRING: - case 31: - case 32: - case 63: - { - alt10=1; - } - break; - case RULE_ID: - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - case 33: - case 34: - case 35: - case 62: - { - alt10=2; - } - break; - case 47: - { - alt10=3; - } - break; - case 55: - { - alt10=4; - } - break; - case 54: - { - alt10=5; - } - break; - case 39: - { - alt10=6; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 10, 0, input); + // InternalExpression.g:1280:1: ( ruleXOtherOperatorExpression EOF ) + // InternalExpression.g:1281:1: ruleXOtherOperatorExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXOtherOperatorExpression(); - throw nvae; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionRule()); } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - switch (alt10) { - case 1 : - // InternalExpression.g:1256:2: ( ruleLiteral ) - { - // InternalExpression.g:1256:2: ( ruleLiteral ) - // InternalExpression.g:1257:3: ruleLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleLiteral(); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXOtherOperatorExpression" - } + // $ANTLR start "ruleXOtherOperatorExpression" + // InternalExpression.g:1288:1: ruleXOtherOperatorExpression : ( ( rule__XOtherOperatorExpression__Group__0 ) ) ; + public final void ruleXOtherOperatorExpression() throws RecognitionException { - } - break; - case 2 : - // InternalExpression.g:1262:2: ( ruleFeatureCall ) - { - // InternalExpression.g:1262:2: ( ruleFeatureCall ) - // InternalExpression.g:1263:3: ruleFeatureCall - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleFeatureCall(); + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:1292:2: ( ( ( rule__XOtherOperatorExpression__Group__0 ) ) ) + // InternalExpression.g:1293:2: ( ( rule__XOtherOperatorExpression__Group__0 ) ) + { + // InternalExpression.g:1293:2: ( ( rule__XOtherOperatorExpression__Group__0 ) ) + // InternalExpression.g:1294:3: ( rule__XOtherOperatorExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); + } + // InternalExpression.g:1295:3: ( rule__XOtherOperatorExpression__Group__0 ) + // InternalExpression.g:1295:4: rule__XOtherOperatorExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group__0(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); + } - } - break; - case 3 : - // InternalExpression.g:1268:2: ( ruleListLiteral ) - { - // InternalExpression.g:1268:2: ( ruleListLiteral ) - // InternalExpression.g:1269:3: ruleListLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); - } - pushFollow(FOLLOW_2); - ruleListLiteral(); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 4 : - // InternalExpression.g:1274:2: ( ruleConstructorCallExpression ) - { - // InternalExpression.g:1274:2: ( ruleConstructorCallExpression ) - // InternalExpression.g:1275:3: ruleConstructorCallExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); - } - pushFollow(FOLLOW_2); - ruleConstructorCallExpression(); + restoreStackSize(stackSize); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); - } + } + return ; + } + // $ANTLR end "ruleXOtherOperatorExpression" - } + // $ANTLR start "entryRuleOpOther" + // InternalExpression.g:1304:1: entryRuleOpOther : ruleOpOther EOF ; + public final void entryRuleOpOther() throws RecognitionException { + try { + // InternalExpression.g:1305:1: ( ruleOpOther EOF ) + // InternalExpression.g:1306:1: ruleOpOther EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherRule()); + } + pushFollow(FOLLOW_1); + ruleOpOther(); - } - break; - case 5 : - // InternalExpression.g:1280:2: ( ruleGlobalVarExpression ) - { - // InternalExpression.g:1280:2: ( ruleGlobalVarExpression ) - // InternalExpression.g:1281:3: ruleGlobalVarExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); - } - pushFollow(FOLLOW_2); - ruleGlobalVarExpression(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); - } + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpOther" - } - break; - case 6 : - // InternalExpression.g:1286:2: ( ruleParanthesizedExpression ) - { - // InternalExpression.g:1286:2: ( ruleParanthesizedExpression ) - // InternalExpression.g:1287:3: ruleParanthesizedExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); - } - pushFollow(FOLLOW_2); - ruleParanthesizedExpression(); + // $ANTLR start "ruleOpOther" + // InternalExpression.g:1313:1: ruleOpOther : ( ( rule__OpOther__Alternatives ) ) ; + public final void ruleOpOther() throws RecognitionException { - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); - } + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:1317:2: ( ( ( rule__OpOther__Alternatives ) ) ) + // InternalExpression.g:1318:2: ( ( rule__OpOther__Alternatives ) ) + { + // InternalExpression.g:1318:2: ( ( rule__OpOther__Alternatives ) ) + // InternalExpression.g:1319:3: ( rule__OpOther__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getAlternatives()); + } + // InternalExpression.g:1320:3: ( rule__OpOther__Alternatives ) + // InternalExpression.g:1320:4: rule__OpOther__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpOther__Alternatives(); - } + state._fsp--; + if (state.failed) return ; + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getAlternatives()); + } + + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -4664,171 +4449,164 @@ public final void rule__PrimaryExpression__Alternatives() throws RecognitionExce } return ; } - // $ANTLR end "rule__PrimaryExpression__Alternatives" + // $ANTLR end "ruleOpOther" - // $ANTLR start "rule__Literal__Alternatives" - // InternalExpression.g:1296:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleIntegerLiteral ) | ( ruleNullLiteral ) | ( ruleRealLiteral ) | ( ruleStringLiteral ) ); - public final void rule__Literal__Alternatives() throws RecognitionException { + // $ANTLR start "entryRuleXAdditiveExpression" + // InternalExpression.g:1329:1: entryRuleXAdditiveExpression : ruleXAdditiveExpression EOF ; + public final void entryRuleXAdditiveExpression() throws RecognitionException { + try { + // InternalExpression.g:1330:1: ( ruleXAdditiveExpression EOF ) + // InternalExpression.g:1331:1: ruleXAdditiveExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXAdditiveExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXAdditiveExpression" + + + // $ANTLR start "ruleXAdditiveExpression" + // InternalExpression.g:1338:1: ruleXAdditiveExpression : ( ( rule__XAdditiveExpression__Group__0 ) ) ; + public final void ruleXAdditiveExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1300:1: ( ( ruleBooleanLiteral ) | ( ruleIntegerLiteral ) | ( ruleNullLiteral ) | ( ruleRealLiteral ) | ( ruleStringLiteral ) ) - int alt11=5; - switch ( input.LA(1) ) { - case 31: - case 32: - { - alt11=1; - } - break; - case RULE_INT: - { - alt11=2; - } - break; - case 63: - { - alt11=3; - } - break; - case RULE_REAL: - { - alt11=4; - } - break; - case RULE_STRING: - { - alt11=5; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 11, 0, input); + // InternalExpression.g:1342:2: ( ( ( rule__XAdditiveExpression__Group__0 ) ) ) + // InternalExpression.g:1343:2: ( ( rule__XAdditiveExpression__Group__0 ) ) + { + // InternalExpression.g:1343:2: ( ( rule__XAdditiveExpression__Group__0 ) ) + // InternalExpression.g:1344:3: ( rule__XAdditiveExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getGroup()); + } + // InternalExpression.g:1345:3: ( rule__XAdditiveExpression__Group__0 ) + // InternalExpression.g:1345:4: rule__XAdditiveExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; - throw nvae; } - switch (alt11) { - case 1 : - // InternalExpression.g:1301:2: ( ruleBooleanLiteral ) - { - // InternalExpression.g:1301:2: ( ruleBooleanLiteral ) - // InternalExpression.g:1302:3: ruleBooleanLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleBooleanLiteral(); + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getGroup()); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); - } + } - } + } - } - break; - case 2 : - // InternalExpression.g:1307:2: ( ruleIntegerLiteral ) - { - // InternalExpression.g:1307:2: ( ruleIntegerLiteral ) - // InternalExpression.g:1308:3: ruleIntegerLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleIntegerLiteral(); + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); - } + restoreStackSize(stackSize); - } + } + return ; + } + // $ANTLR end "ruleXAdditiveExpression" - } - break; - case 3 : - // InternalExpression.g:1313:2: ( ruleNullLiteral ) - { - // InternalExpression.g:1313:2: ( ruleNullLiteral ) - // InternalExpression.g:1314:3: ruleNullLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); - } - pushFollow(FOLLOW_2); - ruleNullLiteral(); - - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); - } + // $ANTLR start "entryRuleOpAdd" + // InternalExpression.g:1354:1: entryRuleOpAdd : ruleOpAdd EOF ; + public final void entryRuleOpAdd() throws RecognitionException { + try { + // InternalExpression.g:1355:1: ( ruleOpAdd EOF ) + // InternalExpression.g:1356:1: ruleOpAdd EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAddRule()); + } + pushFollow(FOLLOW_1); + ruleOpAdd(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAddRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + } - } - break; - case 4 : - // InternalExpression.g:1319:2: ( ruleRealLiteral ) - { - // InternalExpression.g:1319:2: ( ruleRealLiteral ) - // InternalExpression.g:1320:3: ruleRealLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); - } - pushFollow(FOLLOW_2); - ruleRealLiteral(); + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpAdd" - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); - } - } + // $ANTLR start "ruleOpAdd" + // InternalExpression.g:1363:1: ruleOpAdd : ( ( rule__OpAdd__Alternatives ) ) ; + public final void ruleOpAdd() throws RecognitionException { + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:1367:2: ( ( ( rule__OpAdd__Alternatives ) ) ) + // InternalExpression.g:1368:2: ( ( rule__OpAdd__Alternatives ) ) + { + // InternalExpression.g:1368:2: ( ( rule__OpAdd__Alternatives ) ) + // InternalExpression.g:1369:3: ( rule__OpAdd__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAddAccess().getAlternatives()); + } + // InternalExpression.g:1370:3: ( rule__OpAdd__Alternatives ) + // InternalExpression.g:1370:4: rule__OpAdd__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpAdd__Alternatives(); - } - break; - case 5 : - // InternalExpression.g:1325:2: ( ruleStringLiteral ) - { - // InternalExpression.g:1325:2: ( ruleStringLiteral ) - // InternalExpression.g:1326:3: ruleStringLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); - } - pushFollow(FOLLOW_2); - ruleStringLiteral(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAddAccess().getAlternatives()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -4841,251 +4619,249 @@ public final void rule__Literal__Alternatives() throws RecognitionException { } return ; } - // $ANTLR end "rule__Literal__Alternatives" + // $ANTLR end "ruleOpAdd" - // $ANTLR start "rule__BooleanLiteral__ValAlternatives_0" - // InternalExpression.g:1335:1: rule__BooleanLiteral__ValAlternatives_0 : ( ( 'true' ) | ( 'false' ) ); - public final void rule__BooleanLiteral__ValAlternatives_0() throws RecognitionException { + // $ANTLR start "entryRuleXMultiplicativeExpression" + // InternalExpression.g:1379:1: entryRuleXMultiplicativeExpression : ruleXMultiplicativeExpression EOF ; + public final void entryRuleXMultiplicativeExpression() throws RecognitionException { + try { + // InternalExpression.g:1380:1: ( ruleXMultiplicativeExpression EOF ) + // InternalExpression.g:1381:1: ruleXMultiplicativeExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXMultiplicativeExpression" + + + // $ANTLR start "ruleXMultiplicativeExpression" + // InternalExpression.g:1388:1: ruleXMultiplicativeExpression : ( ( rule__XMultiplicativeExpression__Group__0 ) ) ; + public final void ruleXMultiplicativeExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1339:1: ( ( 'true' ) | ( 'false' ) ) - int alt12=2; - int LA12_0 = input.LA(1); + // InternalExpression.g:1392:2: ( ( ( rule__XMultiplicativeExpression__Group__0 ) ) ) + // InternalExpression.g:1393:2: ( ( rule__XMultiplicativeExpression__Group__0 ) ) + { + // InternalExpression.g:1393:2: ( ( rule__XMultiplicativeExpression__Group__0 ) ) + // InternalExpression.g:1394:3: ( rule__XMultiplicativeExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); + } + // InternalExpression.g:1395:3: ( rule__XMultiplicativeExpression__Group__0 ) + // InternalExpression.g:1395:4: rule__XMultiplicativeExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; - if ( (LA12_0==31) ) { - alt12=1; } - else if ( (LA12_0==32) ) { - alt12=2; + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 12, 0, input); - throw nvae; } - switch (alt12) { - case 1 : - // InternalExpression.g:1340:2: ( 'true' ) - { - // InternalExpression.g:1340:2: ( 'true' ) - // InternalExpression.g:1341:3: 'true' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); - } - match(input,31,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); - } - } + } - } - break; - case 2 : - // InternalExpression.g:1346:2: ( 'false' ) - { - // InternalExpression.g:1346:2: ( 'false' ) - // InternalExpression.g:1347:3: 'false' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); - } - match(input,32,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleXMultiplicativeExpression" - } - break; + // $ANTLR start "entryRuleOpMulti" + // InternalExpression.g:1404:1: entryRuleOpMulti : ruleOpMulti EOF ; + public final void entryRuleOpMulti() throws RecognitionException { + try { + // InternalExpression.g:1405:1: ( ruleOpMulti EOF ) + // InternalExpression.g:1406:1: ruleOpMulti EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiRule()); + } + pushFollow(FOLLOW_1); + ruleOpMulti(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__BooleanLiteral__ValAlternatives_0" + // $ANTLR end "entryRuleOpMulti" - // $ANTLR start "rule__FeatureCall__Alternatives" - // InternalExpression.g:1356:1: rule__FeatureCall__Alternatives : ( ( ruleOperationCall ) | ( ( rule__FeatureCall__TypeAssignment_1 ) ) | ( ruleCollectionExpression ) | ( ruleTypeSelectExpression ) ); - public final void rule__FeatureCall__Alternatives() throws RecognitionException { + // $ANTLR start "ruleOpMulti" + // InternalExpression.g:1413:1: ruleOpMulti : ( ( rule__OpMulti__Alternatives ) ) ; + public final void ruleOpMulti() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1360:1: ( ( ruleOperationCall ) | ( ( rule__FeatureCall__TypeAssignment_1 ) ) | ( ruleCollectionExpression ) | ( ruleTypeSelectExpression ) ) - int alt13=4; - switch ( input.LA(1) ) { - case RULE_ID: - { - int LA13_1 = input.LA(2); + // InternalExpression.g:1417:2: ( ( ( rule__OpMulti__Alternatives ) ) ) + // InternalExpression.g:1418:2: ( ( rule__OpMulti__Alternatives ) ) + { + // InternalExpression.g:1418:2: ( ( rule__OpMulti__Alternatives ) ) + // InternalExpression.g:1419:3: ( rule__OpMulti__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAccess().getAlternatives()); + } + // InternalExpression.g:1420:3: ( rule__OpMulti__Alternatives ) + // InternalExpression.g:1420:4: rule__OpMulti__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpMulti__Alternatives(); - if ( (LA13_1==EOF||(LA13_1>=12 && LA13_1<=21)||LA13_1==38||(LA13_1>=40 && LA13_1<=42)||(LA13_1>=44 && LA13_1<=45)||(LA13_1>=48 && LA13_1<=52)||(LA13_1>=58 && LA13_1<=61)) ) { - alt13=2; - } - else if ( (LA13_1==39) ) { - alt13=1; - } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 13, 1, input); + state._fsp--; + if (state.failed) return ; - throw nvae; - } - } - break; - case 33: - case 34: - case 35: - { - alt13=2; - } - break; - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - { - alt13=3; - } - break; - case 62: - { - alt13=4; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 13, 0, input); + } - throw nvae; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAccess().getAlternatives()); } - switch (alt13) { - case 1 : - // InternalExpression.g:1361:2: ( ruleOperationCall ) - { - // InternalExpression.g:1361:2: ( ruleOperationCall ) - // InternalExpression.g:1362:3: ruleOperationCall - { - if ( state.backtracking==0 ) { - before(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleOperationCall(); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 2 : - // InternalExpression.g:1367:2: ( ( rule__FeatureCall__TypeAssignment_1 ) ) - { - // InternalExpression.g:1367:2: ( ( rule__FeatureCall__TypeAssignment_1 ) ) - // InternalExpression.g:1368:3: ( rule__FeatureCall__TypeAssignment_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); - } - // InternalExpression.g:1369:3: ( rule__FeatureCall__TypeAssignment_1 ) - // InternalExpression.g:1369:4: rule__FeatureCall__TypeAssignment_1 - { - pushFollow(FOLLOW_2); - rule__FeatureCall__TypeAssignment_1(); + restoreStackSize(stackSize); - state._fsp--; - if (state.failed) return ; + } + return ; + } + // $ANTLR end "ruleOpMulti" - } - if ( state.backtracking==0 ) { - after(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); - } + // $ANTLR start "entryRuleXUnaryOperation" + // InternalExpression.g:1429:1: entryRuleXUnaryOperation : ruleXUnaryOperation EOF ; + public final void entryRuleXUnaryOperation() throws RecognitionException { + try { + // InternalExpression.g:1430:1: ( ruleXUnaryOperation EOF ) + // InternalExpression.g:1431:1: ruleXUnaryOperation EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationRule()); + } + pushFollow(FOLLOW_1); + ruleXUnaryOperation(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + } - } - break; - case 3 : - // InternalExpression.g:1373:2: ( ruleCollectionExpression ) - { - // InternalExpression.g:1373:2: ( ruleCollectionExpression ) - // InternalExpression.g:1374:3: ruleCollectionExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); - } - pushFollow(FOLLOW_2); - ruleCollectionExpression(); + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXUnaryOperation" - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); - } - } + // $ANTLR start "ruleXUnaryOperation" + // InternalExpression.g:1438:1: ruleXUnaryOperation : ( ( rule__XUnaryOperation__Alternatives ) ) ; + public final void ruleXUnaryOperation() throws RecognitionException { + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:1442:2: ( ( ( rule__XUnaryOperation__Alternatives ) ) ) + // InternalExpression.g:1443:2: ( ( rule__XUnaryOperation__Alternatives ) ) + { + // InternalExpression.g:1443:2: ( ( rule__XUnaryOperation__Alternatives ) ) + // InternalExpression.g:1444:3: ( rule__XUnaryOperation__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getAlternatives()); + } + // InternalExpression.g:1445:3: ( rule__XUnaryOperation__Alternatives ) + // InternalExpression.g:1445:4: rule__XUnaryOperation__Alternatives + { + pushFollow(FOLLOW_2); + rule__XUnaryOperation__Alternatives(); - } - break; - case 4 : - // InternalExpression.g:1379:2: ( ruleTypeSelectExpression ) - { - // InternalExpression.g:1379:2: ( ruleTypeSelectExpression ) - // InternalExpression.g:1380:3: ruleTypeSelectExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); - } - pushFollow(FOLLOW_2); - ruleTypeSelectExpression(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getAlternatives()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -5098,418 +4874,249 @@ else if ( (LA13_1==39) ) { } return ; } - // $ANTLR end "rule__FeatureCall__Alternatives" - + // $ANTLR end "ruleXUnaryOperation" - // $ANTLR start "rule__CollectionExpression__NameAlternatives_0_0" - // InternalExpression.g:1389:1: rule__CollectionExpression__NameAlternatives_0_0 : ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ); - public final void rule__CollectionExpression__NameAlternatives_0_0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleOpUnary" + // InternalExpression.g:1454:1: entryRuleOpUnary : ruleOpUnary EOF ; + public final void entryRuleOpUnary() throws RecognitionException { try { - // InternalExpression.g:1393:1: ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) - int alt14=8; - switch ( input.LA(1) ) { - case 23: - { - alt14=1; - } - break; - case 24: - { - alt14=2; - } - break; - case 25: - { - alt14=3; - } - break; - case 26: - { - alt14=4; - } - break; - case 27: - { - alt14=5; - } - break; - case 28: - { - alt14=6; - } - break; - case 29: - { - alt14=7; - } - break; - case 30: - { - alt14=8; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 14, 0, input); + // InternalExpression.g:1455:1: ( ruleOpUnary EOF ) + // InternalExpression.g:1456:1: ruleOpUnary EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpUnaryRule()); + } + pushFollow(FOLLOW_1); + ruleOpUnary(); - throw nvae; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpUnaryRule()); } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - switch (alt14) { - case 1 : - // InternalExpression.g:1394:2: ( 'collect' ) - { - // InternalExpression.g:1394:2: ( 'collect' ) - // InternalExpression.g:1395:3: 'collect' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); - } - match(input,23,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); - } + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpUnary" - } - break; - case 2 : - // InternalExpression.g:1400:2: ( 'select' ) - { - // InternalExpression.g:1400:2: ( 'select' ) - // InternalExpression.g:1401:3: 'select' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); - } - match(input,24,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); - } + // $ANTLR start "ruleOpUnary" + // InternalExpression.g:1463:1: ruleOpUnary : ( ( rule__OpUnary__Alternatives ) ) ; + public final void ruleOpUnary() throws RecognitionException { - } + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:1467:2: ( ( ( rule__OpUnary__Alternatives ) ) ) + // InternalExpression.g:1468:2: ( ( rule__OpUnary__Alternatives ) ) + { + // InternalExpression.g:1468:2: ( ( rule__OpUnary__Alternatives ) ) + // InternalExpression.g:1469:3: ( rule__OpUnary__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpUnaryAccess().getAlternatives()); + } + // InternalExpression.g:1470:3: ( rule__OpUnary__Alternatives ) + // InternalExpression.g:1470:4: rule__OpUnary__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpUnary__Alternatives(); + state._fsp--; + if (state.failed) return ; - } - break; - case 3 : - // InternalExpression.g:1406:2: ( 'selectFirst' ) - { - // InternalExpression.g:1406:2: ( 'selectFirst' ) - // InternalExpression.g:1407:3: 'selectFirst' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); - } - match(input,25,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpUnaryAccess().getAlternatives()); + } + } - } - break; - case 4 : - // InternalExpression.g:1412:2: ( 'reject' ) - { - // InternalExpression.g:1412:2: ( 'reject' ) - // InternalExpression.g:1413:3: 'reject' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); - } - match(input,26,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 5 : - // InternalExpression.g:1418:2: ( 'exists' ) - { - // InternalExpression.g:1418:2: ( 'exists' ) - // InternalExpression.g:1419:3: 'exists' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); - } - match(input,27,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); - } + restoreStackSize(stackSize); - } + } + return ; + } + // $ANTLR end "ruleOpUnary" - } - break; - case 6 : - // InternalExpression.g:1424:2: ( 'notExists' ) - { - // InternalExpression.g:1424:2: ( 'notExists' ) - // InternalExpression.g:1425:3: 'notExists' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); - } - match(input,28,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); - } - - } - - - } - break; - case 7 : - // InternalExpression.g:1430:2: ( 'sortBy' ) - { - // InternalExpression.g:1430:2: ( 'sortBy' ) - // InternalExpression.g:1431:3: 'sortBy' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); - } - match(input,29,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); - } - - } - - - } - break; - case 8 : - // InternalExpression.g:1436:2: ( 'forAll' ) - { - // InternalExpression.g:1436:2: ( 'forAll' ) - // InternalExpression.g:1437:3: 'forAll' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); - } - match(input,30,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); - } - - } - + // $ANTLR start "entryRuleXCastedExpression" + // InternalExpression.g:1479:1: entryRuleXCastedExpression : ruleXCastedExpression EOF ; + public final void entryRuleXCastedExpression() throws RecognitionException { + try { + // InternalExpression.g:1480:1: ( ruleXCastedExpression EOF ) + // InternalExpression.g:1481:1: ruleXCastedExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXCastedExpression(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__CollectionExpression__NameAlternatives_0_0" + // $ANTLR end "entryRuleXCastedExpression" - // $ANTLR start "rule__Type__Alternatives" - // InternalExpression.g:1446:1: rule__Type__Alternatives : ( ( ruleCollectionType ) | ( ruleSimpleType ) ); - public final void rule__Type__Alternatives() throws RecognitionException { + // $ANTLR start "ruleXCastedExpression" + // InternalExpression.g:1488:1: ruleXCastedExpression : ( ( rule__XCastedExpression__Group__0 ) ) ; + public final void ruleXCastedExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1450:1: ( ( ruleCollectionType ) | ( ruleSimpleType ) ) - int alt15=2; - int LA15_0 = input.LA(1); + // InternalExpression.g:1492:2: ( ( ( rule__XCastedExpression__Group__0 ) ) ) + // InternalExpression.g:1493:2: ( ( rule__XCastedExpression__Group__0 ) ) + { + // InternalExpression.g:1493:2: ( ( rule__XCastedExpression__Group__0 ) ) + // InternalExpression.g:1494:3: ( rule__XCastedExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getGroup()); + } + // InternalExpression.g:1495:3: ( rule__XCastedExpression__Group__0 ) + // InternalExpression.g:1495:4: rule__XCastedExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; - if ( ((LA15_0>=33 && LA15_0<=35)) ) { - alt15=1; } - else if ( (LA15_0==RULE_ID) ) { - alt15=2; + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getGroup()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 15, 0, input); - throw nvae; } - switch (alt15) { - case 1 : - // InternalExpression.g:1451:2: ( ruleCollectionType ) - { - // InternalExpression.g:1451:2: ( ruleCollectionType ) - // InternalExpression.g:1452:3: ruleCollectionType - { - if ( state.backtracking==0 ) { - before(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleCollectionType(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 2 : - // InternalExpression.g:1457:2: ( ruleSimpleType ) - { - // InternalExpression.g:1457:2: ( ruleSimpleType ) - // InternalExpression.g:1458:3: ruleSimpleType - { - if ( state.backtracking==0 ) { - before(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleSimpleType(); + restoreStackSize(stackSize); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); - } + } + return ; + } + // $ANTLR end "ruleXCastedExpression" - } + // $ANTLR start "entryRuleXPostfixOperation" + // InternalExpression.g:1504:1: entryRuleXPostfixOperation : ruleXPostfixOperation EOF ; + public final void entryRuleXPostfixOperation() throws RecognitionException { + try { + // InternalExpression.g:1505:1: ( ruleXPostfixOperation EOF ) + // InternalExpression.g:1506:1: ruleXPostfixOperation EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationRule()); + } + pushFollow(FOLLOW_1); + ruleXPostfixOperation(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Type__Alternatives" + // $ANTLR end "entryRuleXPostfixOperation" - // $ANTLR start "rule__CollectionType__ClAlternatives_0_0" - // InternalExpression.g:1467:1: rule__CollectionType__ClAlternatives_0_0 : ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ); - public final void rule__CollectionType__ClAlternatives_0_0() throws RecognitionException { + // $ANTLR start "ruleXPostfixOperation" + // InternalExpression.g:1513:1: ruleXPostfixOperation : ( ( rule__XPostfixOperation__Group__0 ) ) ; + public final void ruleXPostfixOperation() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1471:1: ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) - int alt16=3; - switch ( input.LA(1) ) { - case 33: - { - alt16=1; - } - break; - case 34: - { - alt16=2; - } - break; - case 35: - { - alt16=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 16, 0, input); - - throw nvae; + // InternalExpression.g:1517:2: ( ( ( rule__XPostfixOperation__Group__0 ) ) ) + // InternalExpression.g:1518:2: ( ( rule__XPostfixOperation__Group__0 ) ) + { + // InternalExpression.g:1518:2: ( ( rule__XPostfixOperation__Group__0 ) ) + // InternalExpression.g:1519:3: ( rule__XPostfixOperation__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getGroup()); } + // InternalExpression.g:1520:3: ( rule__XPostfixOperation__Group__0 ) + // InternalExpression.g:1520:4: rule__XPostfixOperation__Group__0 + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group__0(); - switch (alt16) { - case 1 : - // InternalExpression.g:1472:2: ( 'Collection' ) - { - // InternalExpression.g:1472:2: ( 'Collection' ) - // InternalExpression.g:1473:3: 'Collection' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); - } - match(input,33,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); - } - - } - - - } - break; - case 2 : - // InternalExpression.g:1478:2: ( 'List' ) - { - // InternalExpression.g:1478:2: ( 'List' ) - // InternalExpression.g:1479:3: 'List' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); - } - match(input,34,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); - } - - } - + state._fsp--; + if (state.failed) return ; - } - break; - case 3 : - // InternalExpression.g:1484:2: ( 'Set' ) - { - // InternalExpression.g:1484:2: ( 'Set' ) - // InternalExpression.g:1485:3: 'Set' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); - } - match(input,35,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getGroup()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -5522,29 +5129,28 @@ public final void rule__CollectionType__ClAlternatives_0_0() throws RecognitionE } return ; } - // $ANTLR end "rule__CollectionType__ClAlternatives_0_0" - + // $ANTLR end "ruleXPostfixOperation" - // $ANTLR start "rule__LetExpression__Group__0" - // InternalExpression.g:1494:1: rule__LetExpression__Group__0 : rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 ; - public final void rule__LetExpression__Group__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleOpPostfix" + // InternalExpression.g:1529:1: entryRuleOpPostfix : ruleOpPostfix EOF ; + public final void entryRuleOpPostfix() throws RecognitionException { try { - // InternalExpression.g:1498:1: ( rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 ) - // InternalExpression.g:1499:2: rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 + // InternalExpression.g:1530:1: ( ruleOpPostfix EOF ) + // InternalExpression.g:1531:1: ruleOpPostfix EOF { - pushFollow(FOLLOW_3); - rule__LetExpression__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__LetExpression__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getOpPostfixRule()); + } + pushFollow(FOLLOW_1); + ruleOpPostfix(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpPostfixRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -5554,34 +5160,41 @@ public final void rule__LetExpression__Group__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__LetExpression__Group__0" + // $ANTLR end "entryRuleOpPostfix" - // $ANTLR start "rule__LetExpression__Group__0__Impl" - // InternalExpression.g:1506:1: rule__LetExpression__Group__0__Impl : ( 'let' ) ; - public final void rule__LetExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleOpPostfix" + // InternalExpression.g:1538:1: ruleOpPostfix : ( ( rule__OpPostfix__Alternatives ) ) ; + public final void ruleOpPostfix() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1510:1: ( ( 'let' ) ) - // InternalExpression.g:1511:1: ( 'let' ) + // InternalExpression.g:1542:2: ( ( ( rule__OpPostfix__Alternatives ) ) ) + // InternalExpression.g:1543:2: ( ( rule__OpPostfix__Alternatives ) ) { - // InternalExpression.g:1511:1: ( 'let' ) - // InternalExpression.g:1512:2: 'let' + // InternalExpression.g:1543:2: ( ( rule__OpPostfix__Alternatives ) ) + // InternalExpression.g:1544:3: ( rule__OpPostfix__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); + before(grammarAccess.getOpPostfixAccess().getAlternatives()); } - match(input,36,FOLLOW_2); if (state.failed) return ; + // InternalExpression.g:1545:3: ( rule__OpPostfix__Alternatives ) + // InternalExpression.g:1545:4: rule__OpPostfix__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpPostfix__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); + after(grammarAccess.getOpPostfixAccess().getAlternatives()); } } @@ -5601,29 +5214,28 @@ public final void rule__LetExpression__Group__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__LetExpression__Group__0__Impl" - + // $ANTLR end "ruleOpPostfix" - // $ANTLR start "rule__LetExpression__Group__1" - // InternalExpression.g:1521:1: rule__LetExpression__Group__1 : rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 ; - public final void rule__LetExpression__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXMemberFeatureCall" + // InternalExpression.g:1554:1: entryRuleXMemberFeatureCall : ruleXMemberFeatureCall EOF ; + public final void entryRuleXMemberFeatureCall() throws RecognitionException { try { - // InternalExpression.g:1525:1: ( rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 ) - // InternalExpression.g:1526:2: rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 + // InternalExpression.g:1555:1: ( ruleXMemberFeatureCall EOF ) + // InternalExpression.g:1556:1: ruleXMemberFeatureCall EOF { - pushFollow(FOLLOW_4); - rule__LetExpression__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__LetExpression__Group__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallRule()); + } + pushFollow(FOLLOW_1); + ruleXMemberFeatureCall(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -5633,36 +5245,33 @@ public final void rule__LetExpression__Group__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__LetExpression__Group__1" + // $ANTLR end "entryRuleXMemberFeatureCall" - // $ANTLR start "rule__LetExpression__Group__1__Impl" - // InternalExpression.g:1533:1: rule__LetExpression__Group__1__Impl : ( ( rule__LetExpression__IdentifierAssignment_1 ) ) ; - public final void rule__LetExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXMemberFeatureCall" + // InternalExpression.g:1563:1: ruleXMemberFeatureCall : ( ( rule__XMemberFeatureCall__Group__0 ) ) ; + public final void ruleXMemberFeatureCall() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1537:1: ( ( ( rule__LetExpression__IdentifierAssignment_1 ) ) ) - // InternalExpression.g:1538:1: ( ( rule__LetExpression__IdentifierAssignment_1 ) ) + // InternalExpression.g:1567:2: ( ( ( rule__XMemberFeatureCall__Group__0 ) ) ) + // InternalExpression.g:1568:2: ( ( rule__XMemberFeatureCall__Group__0 ) ) { - // InternalExpression.g:1538:1: ( ( rule__LetExpression__IdentifierAssignment_1 ) ) - // InternalExpression.g:1539:2: ( rule__LetExpression__IdentifierAssignment_1 ) + // InternalExpression.g:1568:2: ( ( rule__XMemberFeatureCall__Group__0 ) ) + // InternalExpression.g:1569:3: ( rule__XMemberFeatureCall__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); + before(grammarAccess.getXMemberFeatureCallAccess().getGroup()); } - // InternalExpression.g:1540:2: ( rule__LetExpression__IdentifierAssignment_1 ) - // InternalExpression.g:1540:3: rule__LetExpression__IdentifierAssignment_1 + // InternalExpression.g:1570:3: ( rule__XMemberFeatureCall__Group__0 ) + // InternalExpression.g:1570:4: rule__XMemberFeatureCall__Group__0 { pushFollow(FOLLOW_2); - rule__LetExpression__IdentifierAssignment_1(); + rule__XMemberFeatureCall__Group__0(); state._fsp--; if (state.failed) return ; @@ -5670,7 +5279,7 @@ public final void rule__LetExpression__Group__1__Impl() throws RecognitionExcept } if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); + after(grammarAccess.getXMemberFeatureCallAccess().getGroup()); } } @@ -5690,29 +5299,28 @@ public final void rule__LetExpression__Group__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__LetExpression__Group__1__Impl" - + // $ANTLR end "ruleXMemberFeatureCall" - // $ANTLR start "rule__LetExpression__Group__2" - // InternalExpression.g:1548:1: rule__LetExpression__Group__2 : rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 ; - public final void rule__LetExpression__Group__2() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXPrimaryExpression" + // InternalExpression.g:1579:1: entryRuleXPrimaryExpression : ruleXPrimaryExpression EOF ; + public final void entryRuleXPrimaryExpression() throws RecognitionException { try { - // InternalExpression.g:1552:1: ( rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 ) - // InternalExpression.g:1553:2: rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 + // InternalExpression.g:1580:1: ( ruleXPrimaryExpression EOF ) + // InternalExpression.g:1581:1: ruleXPrimaryExpression EOF { - pushFollow(FOLLOW_5); - rule__LetExpression__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__LetExpression__Group__3(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXPrimaryExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -5722,34 +5330,41 @@ public final void rule__LetExpression__Group__2() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__LetExpression__Group__2" + // $ANTLR end "entryRuleXPrimaryExpression" - // $ANTLR start "rule__LetExpression__Group__2__Impl" - // InternalExpression.g:1560:1: rule__LetExpression__Group__2__Impl : ( '=' ) ; - public final void rule__LetExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "ruleXPrimaryExpression" + // InternalExpression.g:1588:1: ruleXPrimaryExpression : ( ( rule__XPrimaryExpression__Alternatives ) ) ; + public final void ruleXPrimaryExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1564:1: ( ( '=' ) ) - // InternalExpression.g:1565:1: ( '=' ) + // InternalExpression.g:1592:2: ( ( ( rule__XPrimaryExpression__Alternatives ) ) ) + // InternalExpression.g:1593:2: ( ( rule__XPrimaryExpression__Alternatives ) ) { - // InternalExpression.g:1565:1: ( '=' ) - // InternalExpression.g:1566:2: '=' + // InternalExpression.g:1593:2: ( ( rule__XPrimaryExpression__Alternatives ) ) + // InternalExpression.g:1594:3: ( rule__XPrimaryExpression__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); + before(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); + } + // InternalExpression.g:1595:3: ( rule__XPrimaryExpression__Alternatives ) + // InternalExpression.g:1595:4: rule__XPrimaryExpression__Alternatives + { + pushFollow(FOLLOW_2); + rule__XPrimaryExpression__Alternatives(); + + state._fsp--; + if (state.failed) return ; + } - match(input,37,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); + after(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); } } @@ -5769,29 +5384,28 @@ public final void rule__LetExpression__Group__2__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__LetExpression__Group__2__Impl" + // $ANTLR end "ruleXPrimaryExpression" - // $ANTLR start "rule__LetExpression__Group__3" - // InternalExpression.g:1575:1: rule__LetExpression__Group__3 : rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 ; - public final void rule__LetExpression__Group__3() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXLiteral" + // InternalExpression.g:1604:1: entryRuleXLiteral : ruleXLiteral EOF ; + public final void entryRuleXLiteral() throws RecognitionException { try { - // InternalExpression.g:1579:1: ( rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 ) - // InternalExpression.g:1580:2: rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 + // InternalExpression.g:1605:1: ( ruleXLiteral EOF ) + // InternalExpression.g:1606:1: ruleXLiteral EOF { - pushFollow(FOLLOW_6); - rule__LetExpression__Group__3__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__LetExpression__Group__4(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -5801,36 +5415,33 @@ public final void rule__LetExpression__Group__3() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__LetExpression__Group__3" + // $ANTLR end "entryRuleXLiteral" - // $ANTLR start "rule__LetExpression__Group__3__Impl" - // InternalExpression.g:1587:1: rule__LetExpression__Group__3__Impl : ( ( rule__LetExpression__VarExprAssignment_3 ) ) ; - public final void rule__LetExpression__Group__3__Impl() throws RecognitionException { + // $ANTLR start "ruleXLiteral" + // InternalExpression.g:1613:1: ruleXLiteral : ( ( rule__XLiteral__Alternatives ) ) ; + public final void ruleXLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1591:1: ( ( ( rule__LetExpression__VarExprAssignment_3 ) ) ) - // InternalExpression.g:1592:1: ( ( rule__LetExpression__VarExprAssignment_3 ) ) + // InternalExpression.g:1617:2: ( ( ( rule__XLiteral__Alternatives ) ) ) + // InternalExpression.g:1618:2: ( ( rule__XLiteral__Alternatives ) ) { - // InternalExpression.g:1592:1: ( ( rule__LetExpression__VarExprAssignment_3 ) ) - // InternalExpression.g:1593:2: ( rule__LetExpression__VarExprAssignment_3 ) + // InternalExpression.g:1618:2: ( ( rule__XLiteral__Alternatives ) ) + // InternalExpression.g:1619:3: ( rule__XLiteral__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); + before(grammarAccess.getXLiteralAccess().getAlternatives()); } - // InternalExpression.g:1594:2: ( rule__LetExpression__VarExprAssignment_3 ) - // InternalExpression.g:1594:3: rule__LetExpression__VarExprAssignment_3 + // InternalExpression.g:1620:3: ( rule__XLiteral__Alternatives ) + // InternalExpression.g:1620:4: rule__XLiteral__Alternatives { pushFollow(FOLLOW_2); - rule__LetExpression__VarExprAssignment_3(); + rule__XLiteral__Alternatives(); state._fsp--; if (state.failed) return ; @@ -5838,7 +5449,7 @@ public final void rule__LetExpression__Group__3__Impl() throws RecognitionExcept } if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); + after(grammarAccess.getXLiteralAccess().getAlternatives()); } } @@ -5858,29 +5469,28 @@ public final void rule__LetExpression__Group__3__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__LetExpression__Group__3__Impl" + // $ANTLR end "ruleXLiteral" - // $ANTLR start "rule__LetExpression__Group__4" - // InternalExpression.g:1602:1: rule__LetExpression__Group__4 : rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 ; - public final void rule__LetExpression__Group__4() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXCollectionLiteral" + // InternalExpression.g:1629:1: entryRuleXCollectionLiteral : ruleXCollectionLiteral EOF ; + public final void entryRuleXCollectionLiteral() throws RecognitionException { try { - // InternalExpression.g:1606:1: ( rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 ) - // InternalExpression.g:1607:2: rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 + // InternalExpression.g:1630:1: ( ruleXCollectionLiteral EOF ) + // InternalExpression.g:1631:1: ruleXCollectionLiteral EOF { - pushFollow(FOLLOW_5); - rule__LetExpression__Group__4__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__LetExpression__Group__5(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXCollectionLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXCollectionLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCollectionLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -5890,34 +5500,41 @@ public final void rule__LetExpression__Group__4() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__LetExpression__Group__4" + // $ANTLR end "entryRuleXCollectionLiteral" - // $ANTLR start "rule__LetExpression__Group__4__Impl" - // InternalExpression.g:1614:1: rule__LetExpression__Group__4__Impl : ( ':' ) ; - public final void rule__LetExpression__Group__4__Impl() throws RecognitionException { + // $ANTLR start "ruleXCollectionLiteral" + // InternalExpression.g:1638:1: ruleXCollectionLiteral : ( ( rule__XCollectionLiteral__Alternatives ) ) ; + public final void ruleXCollectionLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1618:1: ( ( ':' ) ) - // InternalExpression.g:1619:1: ( ':' ) + // InternalExpression.g:1642:2: ( ( ( rule__XCollectionLiteral__Alternatives ) ) ) + // InternalExpression.g:1643:2: ( ( rule__XCollectionLiteral__Alternatives ) ) { - // InternalExpression.g:1619:1: ( ':' ) - // InternalExpression.g:1620:2: ':' + // InternalExpression.g:1643:2: ( ( rule__XCollectionLiteral__Alternatives ) ) + // InternalExpression.g:1644:3: ( rule__XCollectionLiteral__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); + before(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); + } + // InternalExpression.g:1645:3: ( rule__XCollectionLiteral__Alternatives ) + // InternalExpression.g:1645:4: rule__XCollectionLiteral__Alternatives + { + pushFollow(FOLLOW_2); + rule__XCollectionLiteral__Alternatives(); + + state._fsp--; + if (state.failed) return ; + } - match(input,38,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); + after(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); } } @@ -5937,24 +5554,28 @@ public final void rule__LetExpression__Group__4__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__LetExpression__Group__4__Impl" - + // $ANTLR end "ruleXCollectionLiteral" - // $ANTLR start "rule__LetExpression__Group__5" - // InternalExpression.g:1629:1: rule__LetExpression__Group__5 : rule__LetExpression__Group__5__Impl ; - public final void rule__LetExpression__Group__5() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXSetLiteral" + // InternalExpression.g:1654:1: entryRuleXSetLiteral : ruleXSetLiteral EOF ; + public final void entryRuleXSetLiteral() throws RecognitionException { try { - // InternalExpression.g:1633:1: ( rule__LetExpression__Group__5__Impl ) - // InternalExpression.g:1634:2: rule__LetExpression__Group__5__Impl + // InternalExpression.g:1655:1: ( ruleXSetLiteral EOF ) + // InternalExpression.g:1656:1: ruleXSetLiteral EOF { - pushFollow(FOLLOW_2); - rule__LetExpression__Group__5__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXSetLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -5964,36 +5585,33 @@ public final void rule__LetExpression__Group__5() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__LetExpression__Group__5" + // $ANTLR end "entryRuleXSetLiteral" - // $ANTLR start "rule__LetExpression__Group__5__Impl" - // InternalExpression.g:1640:1: rule__LetExpression__Group__5__Impl : ( ( rule__LetExpression__TargetAssignment_5 ) ) ; - public final void rule__LetExpression__Group__5__Impl() throws RecognitionException { + // $ANTLR start "ruleXSetLiteral" + // InternalExpression.g:1663:1: ruleXSetLiteral : ( ( rule__XSetLiteral__Group__0 ) ) ; + public final void ruleXSetLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1644:1: ( ( ( rule__LetExpression__TargetAssignment_5 ) ) ) - // InternalExpression.g:1645:1: ( ( rule__LetExpression__TargetAssignment_5 ) ) + // InternalExpression.g:1667:2: ( ( ( rule__XSetLiteral__Group__0 ) ) ) + // InternalExpression.g:1668:2: ( ( rule__XSetLiteral__Group__0 ) ) { - // InternalExpression.g:1645:1: ( ( rule__LetExpression__TargetAssignment_5 ) ) - // InternalExpression.g:1646:2: ( rule__LetExpression__TargetAssignment_5 ) + // InternalExpression.g:1668:2: ( ( rule__XSetLiteral__Group__0 ) ) + // InternalExpression.g:1669:3: ( rule__XSetLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); + before(grammarAccess.getXSetLiteralAccess().getGroup()); } - // InternalExpression.g:1647:2: ( rule__LetExpression__TargetAssignment_5 ) - // InternalExpression.g:1647:3: rule__LetExpression__TargetAssignment_5 + // InternalExpression.g:1670:3: ( rule__XSetLiteral__Group__0 ) + // InternalExpression.g:1670:4: rule__XSetLiteral__Group__0 { pushFollow(FOLLOW_2); - rule__LetExpression__TargetAssignment_5(); + rule__XSetLiteral__Group__0(); state._fsp--; if (state.failed) return ; @@ -6001,7 +5619,7 @@ public final void rule__LetExpression__Group__5__Impl() throws RecognitionExcept } if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); + after(grammarAccess.getXSetLiteralAccess().getGroup()); } } @@ -6021,29 +5639,28 @@ public final void rule__LetExpression__Group__5__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__LetExpression__Group__5__Impl" + // $ANTLR end "ruleXSetLiteral" - // $ANTLR start "rule__CastedExpression__Group__0" - // InternalExpression.g:1656:1: rule__CastedExpression__Group__0 : rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 ; - public final void rule__CastedExpression__Group__0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXListLiteral" + // InternalExpression.g:1679:1: entryRuleXListLiteral : ruleXListLiteral EOF ; + public final void entryRuleXListLiteral() throws RecognitionException { try { - // InternalExpression.g:1660:1: ( rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 ) - // InternalExpression.g:1661:2: rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 + // InternalExpression.g:1680:1: ( ruleXListLiteral EOF ) + // InternalExpression.g:1681:1: ruleXListLiteral EOF { - pushFollow(FOLLOW_7); - rule__CastedExpression__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__CastedExpression__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXListLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -6053,34 +5670,41 @@ public final void rule__CastedExpression__Group__0() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__CastedExpression__Group__0" + // $ANTLR end "entryRuleXListLiteral" - // $ANTLR start "rule__CastedExpression__Group__0__Impl" - // InternalExpression.g:1668:1: rule__CastedExpression__Group__0__Impl : ( '(' ) ; - public final void rule__CastedExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXListLiteral" + // InternalExpression.g:1688:1: ruleXListLiteral : ( ( rule__XListLiteral__Group__0 ) ) ; + public final void ruleXListLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1672:1: ( ( '(' ) ) - // InternalExpression.g:1673:1: ( '(' ) + // InternalExpression.g:1692:2: ( ( ( rule__XListLiteral__Group__0 ) ) ) + // InternalExpression.g:1693:2: ( ( rule__XListLiteral__Group__0 ) ) { - // InternalExpression.g:1673:1: ( '(' ) - // InternalExpression.g:1674:2: '(' + // InternalExpression.g:1693:2: ( ( rule__XListLiteral__Group__0 ) ) + // InternalExpression.g:1694:3: ( rule__XListLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); + before(grammarAccess.getXListLiteralAccess().getGroup()); + } + // InternalExpression.g:1695:3: ( rule__XListLiteral__Group__0 ) + // InternalExpression.g:1695:4: rule__XListLiteral__Group__0 + { + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,39,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); + after(grammarAccess.getXListLiteralAccess().getGroup()); } } @@ -6100,29 +5724,28 @@ public final void rule__CastedExpression__Group__0__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__CastedExpression__Group__0__Impl" - + // $ANTLR end "ruleXListLiteral" - // $ANTLR start "rule__CastedExpression__Group__1" - // InternalExpression.g:1683:1: rule__CastedExpression__Group__1 : rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 ; - public final void rule__CastedExpression__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXClosure" + // InternalExpression.g:1704:1: entryRuleXClosure : ruleXClosure EOF ; + public final void entryRuleXClosure() throws RecognitionException { try { - // InternalExpression.g:1687:1: ( rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 ) - // InternalExpression.g:1688:2: rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 + // InternalExpression.g:1705:1: ( ruleXClosure EOF ) + // InternalExpression.g:1706:1: ruleXClosure EOF { - pushFollow(FOLLOW_8); - rule__CastedExpression__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__CastedExpression__Group__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureRule()); + } + pushFollow(FOLLOW_1); + ruleXClosure(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -6132,36 +5755,33 @@ public final void rule__CastedExpression__Group__1() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__CastedExpression__Group__1" + // $ANTLR end "entryRuleXClosure" - // $ANTLR start "rule__CastedExpression__Group__1__Impl" - // InternalExpression.g:1695:1: rule__CastedExpression__Group__1__Impl : ( ( rule__CastedExpression__TypeAssignment_1 ) ) ; - public final void rule__CastedExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXClosure" + // InternalExpression.g:1713:1: ruleXClosure : ( ( rule__XClosure__Group__0 ) ) ; + public final void ruleXClosure() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1699:1: ( ( ( rule__CastedExpression__TypeAssignment_1 ) ) ) - // InternalExpression.g:1700:1: ( ( rule__CastedExpression__TypeAssignment_1 ) ) + // InternalExpression.g:1717:2: ( ( ( rule__XClosure__Group__0 ) ) ) + // InternalExpression.g:1718:2: ( ( rule__XClosure__Group__0 ) ) { - // InternalExpression.g:1700:1: ( ( rule__CastedExpression__TypeAssignment_1 ) ) - // InternalExpression.g:1701:2: ( rule__CastedExpression__TypeAssignment_1 ) + // InternalExpression.g:1718:2: ( ( rule__XClosure__Group__0 ) ) + // InternalExpression.g:1719:3: ( rule__XClosure__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); + before(grammarAccess.getXClosureAccess().getGroup()); } - // InternalExpression.g:1702:2: ( rule__CastedExpression__TypeAssignment_1 ) - // InternalExpression.g:1702:3: rule__CastedExpression__TypeAssignment_1 + // InternalExpression.g:1720:3: ( rule__XClosure__Group__0 ) + // InternalExpression.g:1720:4: rule__XClosure__Group__0 { pushFollow(FOLLOW_2); - rule__CastedExpression__TypeAssignment_1(); + rule__XClosure__Group__0(); state._fsp--; if (state.failed) return ; @@ -6169,7 +5789,7 @@ public final void rule__CastedExpression__Group__1__Impl() throws RecognitionExc } if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); + after(grammarAccess.getXClosureAccess().getGroup()); } } @@ -6189,29 +5809,28 @@ public final void rule__CastedExpression__Group__1__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__CastedExpression__Group__1__Impl" - + // $ANTLR end "ruleXClosure" - // $ANTLR start "rule__CastedExpression__Group__2" - // InternalExpression.g:1710:1: rule__CastedExpression__Group__2 : rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 ; - public final void rule__CastedExpression__Group__2() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXExpressionInClosure" + // InternalExpression.g:1729:1: entryRuleXExpressionInClosure : ruleXExpressionInClosure EOF ; + public final void entryRuleXExpressionInClosure() throws RecognitionException { try { - // InternalExpression.g:1714:1: ( rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 ) - // InternalExpression.g:1715:2: rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 + // InternalExpression.g:1730:1: ( ruleXExpressionInClosure EOF ) + // InternalExpression.g:1731:1: ruleXExpressionInClosure EOF { - pushFollow(FOLLOW_5); - rule__CastedExpression__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__CastedExpression__Group__3(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureRule()); + } + pushFollow(FOLLOW_1); + ruleXExpressionInClosure(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -6221,34 +5840,41 @@ public final void rule__CastedExpression__Group__2() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__CastedExpression__Group__2" + // $ANTLR end "entryRuleXExpressionInClosure" - // $ANTLR start "rule__CastedExpression__Group__2__Impl" - // InternalExpression.g:1722:1: rule__CastedExpression__Group__2__Impl : ( ')' ) ; - public final void rule__CastedExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "ruleXExpressionInClosure" + // InternalExpression.g:1738:1: ruleXExpressionInClosure : ( ( rule__XExpressionInClosure__Group__0 ) ) ; + public final void ruleXExpressionInClosure() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1726:1: ( ( ')' ) ) - // InternalExpression.g:1727:1: ( ')' ) + // InternalExpression.g:1742:2: ( ( ( rule__XExpressionInClosure__Group__0 ) ) ) + // InternalExpression.g:1743:2: ( ( rule__XExpressionInClosure__Group__0 ) ) { - // InternalExpression.g:1727:1: ( ')' ) - // InternalExpression.g:1728:2: ')' + // InternalExpression.g:1743:2: ( ( rule__XExpressionInClosure__Group__0 ) ) + // InternalExpression.g:1744:3: ( rule__XExpressionInClosure__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); + before(grammarAccess.getXExpressionInClosureAccess().getGroup()); + } + // InternalExpression.g:1745:3: ( rule__XExpressionInClosure__Group__0 ) + // InternalExpression.g:1745:4: rule__XExpressionInClosure__Group__0 + { + pushFollow(FOLLOW_2); + rule__XExpressionInClosure__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,40,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); + after(grammarAccess.getXExpressionInClosureAccess().getGroup()); } } @@ -6268,24 +5894,28 @@ public final void rule__CastedExpression__Group__2__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__CastedExpression__Group__2__Impl" + // $ANTLR end "ruleXExpressionInClosure" - // $ANTLR start "rule__CastedExpression__Group__3" - // InternalExpression.g:1737:1: rule__CastedExpression__Group__3 : rule__CastedExpression__Group__3__Impl ; - public final void rule__CastedExpression__Group__3() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXShortClosure" + // InternalExpression.g:1754:1: entryRuleXShortClosure : ruleXShortClosure EOF ; + public final void entryRuleXShortClosure() throws RecognitionException { try { - // InternalExpression.g:1741:1: ( rule__CastedExpression__Group__3__Impl ) - // InternalExpression.g:1742:2: rule__CastedExpression__Group__3__Impl + // InternalExpression.g:1755:1: ( ruleXShortClosure EOF ) + // InternalExpression.g:1756:1: ruleXShortClosure EOF { - pushFollow(FOLLOW_2); - rule__CastedExpression__Group__3__Impl(); - + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureRule()); + } + pushFollow(FOLLOW_1); + ruleXShortClosure(); + state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -6295,36 +5925,33 @@ public final void rule__CastedExpression__Group__3() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__CastedExpression__Group__3" + // $ANTLR end "entryRuleXShortClosure" - // $ANTLR start "rule__CastedExpression__Group__3__Impl" - // InternalExpression.g:1748:1: rule__CastedExpression__Group__3__Impl : ( ( rule__CastedExpression__TargetAssignment_3 ) ) ; - public final void rule__CastedExpression__Group__3__Impl() throws RecognitionException { + // $ANTLR start "ruleXShortClosure" + // InternalExpression.g:1763:1: ruleXShortClosure : ( ( rule__XShortClosure__Group__0 ) ) ; + public final void ruleXShortClosure() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1752:1: ( ( ( rule__CastedExpression__TargetAssignment_3 ) ) ) - // InternalExpression.g:1753:1: ( ( rule__CastedExpression__TargetAssignment_3 ) ) + // InternalExpression.g:1767:2: ( ( ( rule__XShortClosure__Group__0 ) ) ) + // InternalExpression.g:1768:2: ( ( rule__XShortClosure__Group__0 ) ) { - // InternalExpression.g:1753:1: ( ( rule__CastedExpression__TargetAssignment_3 ) ) - // InternalExpression.g:1754:2: ( rule__CastedExpression__TargetAssignment_3 ) + // InternalExpression.g:1768:2: ( ( rule__XShortClosure__Group__0 ) ) + // InternalExpression.g:1769:3: ( rule__XShortClosure__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); + before(grammarAccess.getXShortClosureAccess().getGroup()); } - // InternalExpression.g:1755:2: ( rule__CastedExpression__TargetAssignment_3 ) - // InternalExpression.g:1755:3: rule__CastedExpression__TargetAssignment_3 + // InternalExpression.g:1770:3: ( rule__XShortClosure__Group__0 ) + // InternalExpression.g:1770:4: rule__XShortClosure__Group__0 { pushFollow(FOLLOW_2); - rule__CastedExpression__TargetAssignment_3(); + rule__XShortClosure__Group__0(); state._fsp--; if (state.failed) return ; @@ -6332,7 +5959,7 @@ public final void rule__CastedExpression__Group__3__Impl() throws RecognitionExc } if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); + after(grammarAccess.getXShortClosureAccess().getGroup()); } } @@ -6352,29 +5979,28 @@ public final void rule__CastedExpression__Group__3__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__CastedExpression__Group__3__Impl" - + // $ANTLR end "ruleXShortClosure" - // $ANTLR start "rule__ChainExpression__Group__0" - // InternalExpression.g:1764:1: rule__ChainExpression__Group__0 : rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 ; - public final void rule__ChainExpression__Group__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXParenthesizedExpression" + // InternalExpression.g:1779:1: entryRuleXParenthesizedExpression : ruleXParenthesizedExpression EOF ; + public final void entryRuleXParenthesizedExpression() throws RecognitionException { try { - // InternalExpression.g:1768:1: ( rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 ) - // InternalExpression.g:1769:2: rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 + // InternalExpression.g:1780:1: ( ruleXParenthesizedExpression EOF ) + // InternalExpression.g:1781:1: ruleXParenthesizedExpression EOF { - pushFollow(FOLLOW_9); - rule__ChainExpression__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ChainExpression__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXParenthesizedExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXParenthesizedExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXParenthesizedExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -6384,38 +6010,41 @@ public final void rule__ChainExpression__Group__0() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ChainExpression__Group__0" + // $ANTLR end "entryRuleXParenthesizedExpression" - // $ANTLR start "rule__ChainExpression__Group__0__Impl" - // InternalExpression.g:1776:1: rule__ChainExpression__Group__0__Impl : ( ruleChainedExpression ) ; - public final void rule__ChainExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXParenthesizedExpression" + // InternalExpression.g:1788:1: ruleXParenthesizedExpression : ( ( rule__XParenthesizedExpression__Group__0 ) ) ; + public final void ruleXParenthesizedExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1780:1: ( ( ruleChainedExpression ) ) - // InternalExpression.g:1781:1: ( ruleChainedExpression ) + // InternalExpression.g:1792:2: ( ( ( rule__XParenthesizedExpression__Group__0 ) ) ) + // InternalExpression.g:1793:2: ( ( rule__XParenthesizedExpression__Group__0 ) ) { - // InternalExpression.g:1781:1: ( ruleChainedExpression ) - // InternalExpression.g:1782:2: ruleChainedExpression + // InternalExpression.g:1793:2: ( ( rule__XParenthesizedExpression__Group__0 ) ) + // InternalExpression.g:1794:3: ( rule__XParenthesizedExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); + before(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); } + // InternalExpression.g:1795:3: ( rule__XParenthesizedExpression__Group__0 ) + // InternalExpression.g:1795:4: rule__XParenthesizedExpression__Group__0 + { pushFollow(FOLLOW_2); - ruleChainedExpression(); + rule__XParenthesizedExpression__Group__0(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); + after(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); } } @@ -6435,24 +6064,28 @@ public final void rule__ChainExpression__Group__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ChainExpression__Group__0__Impl" - + // $ANTLR end "ruleXParenthesizedExpression" - // $ANTLR start "rule__ChainExpression__Group__1" - // InternalExpression.g:1791:1: rule__ChainExpression__Group__1 : rule__ChainExpression__Group__1__Impl ; - public final void rule__ChainExpression__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXIfExpression" + // InternalExpression.g:1804:1: entryRuleXIfExpression : ruleXIfExpression EOF ; + public final void entryRuleXIfExpression() throws RecognitionException { try { - // InternalExpression.g:1795:1: ( rule__ChainExpression__Group__1__Impl ) - // InternalExpression.g:1796:2: rule__ChainExpression__Group__1__Impl + // InternalExpression.g:1805:1: ( ruleXIfExpression EOF ) + // InternalExpression.g:1806:1: ruleXIfExpression EOF { - pushFollow(FOLLOW_2); - rule__ChainExpression__Group__1__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXIfExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -6462,62 +6095,41 @@ public final void rule__ChainExpression__Group__1() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ChainExpression__Group__1" + // $ANTLR end "entryRuleXIfExpression" - // $ANTLR start "rule__ChainExpression__Group__1__Impl" - // InternalExpression.g:1802:1: rule__ChainExpression__Group__1__Impl : ( ( rule__ChainExpression__Group_1__0 )* ) ; - public final void rule__ChainExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXIfExpression" + // InternalExpression.g:1813:1: ruleXIfExpression : ( ( rule__XIfExpression__Group__0 ) ) ; + public final void ruleXIfExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1806:1: ( ( ( rule__ChainExpression__Group_1__0 )* ) ) - // InternalExpression.g:1807:1: ( ( rule__ChainExpression__Group_1__0 )* ) + // InternalExpression.g:1817:2: ( ( ( rule__XIfExpression__Group__0 ) ) ) + // InternalExpression.g:1818:2: ( ( rule__XIfExpression__Group__0 ) ) { - // InternalExpression.g:1807:1: ( ( rule__ChainExpression__Group_1__0 )* ) - // InternalExpression.g:1808:2: ( rule__ChainExpression__Group_1__0 )* + // InternalExpression.g:1818:2: ( ( rule__XIfExpression__Group__0 ) ) + // InternalExpression.g:1819:3: ( rule__XIfExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getGroup_1()); + before(grammarAccess.getXIfExpressionAccess().getGroup()); } - // InternalExpression.g:1809:2: ( rule__ChainExpression__Group_1__0 )* - loop17: - do { - int alt17=2; - int LA17_0 = input.LA(1); - - if ( (LA17_0==41) ) { - alt17=1; - } - - - switch (alt17) { - case 1 : - // InternalExpression.g:1809:3: rule__ChainExpression__Group_1__0 - { - pushFollow(FOLLOW_10); - rule__ChainExpression__Group_1__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:1820:3: ( rule__XIfExpression__Group__0 ) + // InternalExpression.g:1820:4: rule__XIfExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop17; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getGroup_1()); + after(grammarAccess.getXIfExpressionAccess().getGroup()); } } @@ -6537,29 +6149,28 @@ public final void rule__ChainExpression__Group__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ChainExpression__Group__1__Impl" + // $ANTLR end "ruleXIfExpression" - // $ANTLR start "rule__ChainExpression__Group_1__0" - // InternalExpression.g:1818:1: rule__ChainExpression__Group_1__0 : rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 ; - public final void rule__ChainExpression__Group_1__0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXSwitchExpression" + // InternalExpression.g:1829:1: entryRuleXSwitchExpression : ruleXSwitchExpression EOF ; + public final void entryRuleXSwitchExpression() throws RecognitionException { try { - // InternalExpression.g:1822:1: ( rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 ) - // InternalExpression.g:1823:2: rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 + // InternalExpression.g:1830:1: ( ruleXSwitchExpression EOF ) + // InternalExpression.g:1831:1: ruleXSwitchExpression EOF { - pushFollow(FOLLOW_9); - rule__ChainExpression__Group_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ChainExpression__Group_1__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXSwitchExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -6569,38 +6180,41 @@ public final void rule__ChainExpression__Group_1__0() throws RecognitionExceptio recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ChainExpression__Group_1__0" + // $ANTLR end "entryRuleXSwitchExpression" - // $ANTLR start "rule__ChainExpression__Group_1__0__Impl" - // InternalExpression.g:1830:1: rule__ChainExpression__Group_1__0__Impl : ( () ) ; - public final void rule__ChainExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXSwitchExpression" + // InternalExpression.g:1838:1: ruleXSwitchExpression : ( ( rule__XSwitchExpression__Group__0 ) ) ; + public final void ruleXSwitchExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1834:1: ( ( () ) ) - // InternalExpression.g:1835:1: ( () ) + // InternalExpression.g:1842:2: ( ( ( rule__XSwitchExpression__Group__0 ) ) ) + // InternalExpression.g:1843:2: ( ( rule__XSwitchExpression__Group__0 ) ) { - // InternalExpression.g:1835:1: ( () ) - // InternalExpression.g:1836:2: () + // InternalExpression.g:1843:2: ( ( rule__XSwitchExpression__Group__0 ) ) + // InternalExpression.g:1844:3: ( rule__XSwitchExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); + before(grammarAccess.getXSwitchExpressionAccess().getGroup()); } - // InternalExpression.g:1837:2: () - // InternalExpression.g:1837:3: + // InternalExpression.g:1845:3: ( rule__XSwitchExpression__Group__0 ) + // InternalExpression.g:1845:4: rule__XSwitchExpression__Group__0 { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + } if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); + after(grammarAccess.getXSwitchExpressionAccess().getGroup()); } } @@ -6609,6 +6223,10 @@ public final void rule__ChainExpression__Group_1__0__Impl() throws RecognitionEx } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -6616,29 +6234,28 @@ public final void rule__ChainExpression__Group_1__0__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ChainExpression__Group_1__0__Impl" + // $ANTLR end "ruleXSwitchExpression" - // $ANTLR start "rule__ChainExpression__Group_1__1" - // InternalExpression.g:1845:1: rule__ChainExpression__Group_1__1 : rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 ; - public final void rule__ChainExpression__Group_1__1() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXCasePart" + // InternalExpression.g:1854:1: entryRuleXCasePart : ruleXCasePart EOF ; + public final void entryRuleXCasePart() throws RecognitionException { try { - // InternalExpression.g:1849:1: ( rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 ) - // InternalExpression.g:1850:2: rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 + // InternalExpression.g:1855:1: ( ruleXCasePart EOF ) + // InternalExpression.g:1856:1: ruleXCasePart EOF { - pushFollow(FOLLOW_5); - rule__ChainExpression__Group_1__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ChainExpression__Group_1__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartRule()); + } + pushFollow(FOLLOW_1); + ruleXCasePart(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -6648,34 +6265,41 @@ public final void rule__ChainExpression__Group_1__1() throws RecognitionExceptio recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ChainExpression__Group_1__1" + // $ANTLR end "entryRuleXCasePart" - // $ANTLR start "rule__ChainExpression__Group_1__1__Impl" - // InternalExpression.g:1857:1: rule__ChainExpression__Group_1__1__Impl : ( '->' ) ; - public final void rule__ChainExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXCasePart" + // InternalExpression.g:1863:1: ruleXCasePart : ( ( rule__XCasePart__Group__0 ) ) ; + public final void ruleXCasePart() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1861:1: ( ( '->' ) ) - // InternalExpression.g:1862:1: ( '->' ) + // InternalExpression.g:1867:2: ( ( ( rule__XCasePart__Group__0 ) ) ) + // InternalExpression.g:1868:2: ( ( rule__XCasePart__Group__0 ) ) { - // InternalExpression.g:1862:1: ( '->' ) - // InternalExpression.g:1863:2: '->' + // InternalExpression.g:1868:2: ( ( rule__XCasePart__Group__0 ) ) + // InternalExpression.g:1869:3: ( rule__XCasePart__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); + before(grammarAccess.getXCasePartAccess().getGroup()); + } + // InternalExpression.g:1870:3: ( rule__XCasePart__Group__0 ) + // InternalExpression.g:1870:4: rule__XCasePart__Group__0 + { + pushFollow(FOLLOW_2); + rule__XCasePart__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,41,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); + after(grammarAccess.getXCasePartAccess().getGroup()); } } @@ -6695,24 +6319,28 @@ public final void rule__ChainExpression__Group_1__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ChainExpression__Group_1__1__Impl" - + // $ANTLR end "ruleXCasePart" - // $ANTLR start "rule__ChainExpression__Group_1__2" - // InternalExpression.g:1872:1: rule__ChainExpression__Group_1__2 : rule__ChainExpression__Group_1__2__Impl ; - public final void rule__ChainExpression__Group_1__2() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXForLoopExpression" + // InternalExpression.g:1879:1: entryRuleXForLoopExpression : ruleXForLoopExpression EOF ; + public final void entryRuleXForLoopExpression() throws RecognitionException { try { - // InternalExpression.g:1876:1: ( rule__ChainExpression__Group_1__2__Impl ) - // InternalExpression.g:1877:2: rule__ChainExpression__Group_1__2__Impl + // InternalExpression.g:1880:1: ( ruleXForLoopExpression EOF ) + // InternalExpression.g:1881:1: ruleXForLoopExpression EOF { - pushFollow(FOLLOW_2); - rule__ChainExpression__Group_1__2__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXForLoopExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -6722,36 +6350,33 @@ public final void rule__ChainExpression__Group_1__2() throws RecognitionExceptio recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ChainExpression__Group_1__2" + // $ANTLR end "entryRuleXForLoopExpression" - // $ANTLR start "rule__ChainExpression__Group_1__2__Impl" - // InternalExpression.g:1883:1: rule__ChainExpression__Group_1__2__Impl : ( ( rule__ChainExpression__NextAssignment_1_2 ) ) ; - public final void rule__ChainExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "ruleXForLoopExpression" + // InternalExpression.g:1888:1: ruleXForLoopExpression : ( ( rule__XForLoopExpression__Group__0 ) ) ; + public final void ruleXForLoopExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1887:1: ( ( ( rule__ChainExpression__NextAssignment_1_2 ) ) ) - // InternalExpression.g:1888:1: ( ( rule__ChainExpression__NextAssignment_1_2 ) ) + // InternalExpression.g:1892:2: ( ( ( rule__XForLoopExpression__Group__0 ) ) ) + // InternalExpression.g:1893:2: ( ( rule__XForLoopExpression__Group__0 ) ) { - // InternalExpression.g:1888:1: ( ( rule__ChainExpression__NextAssignment_1_2 ) ) - // InternalExpression.g:1889:2: ( rule__ChainExpression__NextAssignment_1_2 ) + // InternalExpression.g:1893:2: ( ( rule__XForLoopExpression__Group__0 ) ) + // InternalExpression.g:1894:3: ( rule__XForLoopExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); + before(grammarAccess.getXForLoopExpressionAccess().getGroup()); } - // InternalExpression.g:1890:2: ( rule__ChainExpression__NextAssignment_1_2 ) - // InternalExpression.g:1890:3: rule__ChainExpression__NextAssignment_1_2 + // InternalExpression.g:1895:3: ( rule__XForLoopExpression__Group__0 ) + // InternalExpression.g:1895:4: rule__XForLoopExpression__Group__0 { pushFollow(FOLLOW_2); - rule__ChainExpression__NextAssignment_1_2(); + rule__XForLoopExpression__Group__0(); state._fsp--; if (state.failed) return ; @@ -6759,7 +6384,7 @@ public final void rule__ChainExpression__Group_1__2__Impl() throws RecognitionEx } if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); + after(grammarAccess.getXForLoopExpressionAccess().getGroup()); } } @@ -6779,29 +6404,28 @@ public final void rule__ChainExpression__Group_1__2__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ChainExpression__Group_1__2__Impl" + // $ANTLR end "ruleXForLoopExpression" - // $ANTLR start "rule__IfExpressionTri__Group__0" - // InternalExpression.g:1899:1: rule__IfExpressionTri__Group__0 : rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 ; - public final void rule__IfExpressionTri__Group__0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXBasicForLoopExpression" + // InternalExpression.g:1904:1: entryRuleXBasicForLoopExpression : ruleXBasicForLoopExpression EOF ; + public final void entryRuleXBasicForLoopExpression() throws RecognitionException { try { - // InternalExpression.g:1903:1: ( rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 ) - // InternalExpression.g:1904:2: rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 + // InternalExpression.g:1905:1: ( ruleXBasicForLoopExpression EOF ) + // InternalExpression.g:1906:1: ruleXBasicForLoopExpression EOF { - pushFollow(FOLLOW_11); - rule__IfExpressionTri__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXBasicForLoopExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -6811,38 +6435,41 @@ public final void rule__IfExpressionTri__Group__0() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__IfExpressionTri__Group__0" + // $ANTLR end "entryRuleXBasicForLoopExpression" - // $ANTLR start "rule__IfExpressionTri__Group__0__Impl" - // InternalExpression.g:1911:1: rule__IfExpressionTri__Group__0__Impl : ( ruleOrExpression ) ; - public final void rule__IfExpressionTri__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXBasicForLoopExpression" + // InternalExpression.g:1913:1: ruleXBasicForLoopExpression : ( ( rule__XBasicForLoopExpression__Group__0 ) ) ; + public final void ruleXBasicForLoopExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1915:1: ( ( ruleOrExpression ) ) - // InternalExpression.g:1916:1: ( ruleOrExpression ) + // InternalExpression.g:1917:2: ( ( ( rule__XBasicForLoopExpression__Group__0 ) ) ) + // InternalExpression.g:1918:2: ( ( rule__XBasicForLoopExpression__Group__0 ) ) { - // InternalExpression.g:1916:1: ( ruleOrExpression ) - // InternalExpression.g:1917:2: ruleOrExpression + // InternalExpression.g:1918:2: ( ( rule__XBasicForLoopExpression__Group__0 ) ) + // InternalExpression.g:1919:3: ( rule__XBasicForLoopExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); + before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); } + // InternalExpression.g:1920:3: ( rule__XBasicForLoopExpression__Group__0 ) + // InternalExpression.g:1920:4: rule__XBasicForLoopExpression__Group__0 + { pushFollow(FOLLOW_2); - ruleOrExpression(); + rule__XBasicForLoopExpression__Group__0(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); + after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); } } @@ -6862,24 +6489,28 @@ public final void rule__IfExpressionTri__Group__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__IfExpressionTri__Group__0__Impl" - + // $ANTLR end "ruleXBasicForLoopExpression" - // $ANTLR start "rule__IfExpressionTri__Group__1" - // InternalExpression.g:1926:1: rule__IfExpressionTri__Group__1 : rule__IfExpressionTri__Group__1__Impl ; - public final void rule__IfExpressionTri__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXWhileExpression" + // InternalExpression.g:1929:1: entryRuleXWhileExpression : ruleXWhileExpression EOF ; + public final void entryRuleXWhileExpression() throws RecognitionException { try { - // InternalExpression.g:1930:1: ( rule__IfExpressionTri__Group__1__Impl ) - // InternalExpression.g:1931:2: rule__IfExpressionTri__Group__1__Impl + // InternalExpression.g:1930:1: ( ruleXWhileExpression EOF ) + // InternalExpression.g:1931:1: ruleXWhileExpression EOF { - pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group__1__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXWhileExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -6889,55 +6520,41 @@ public final void rule__IfExpressionTri__Group__1() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__IfExpressionTri__Group__1" + // $ANTLR end "entryRuleXWhileExpression" - // $ANTLR start "rule__IfExpressionTri__Group__1__Impl" - // InternalExpression.g:1937:1: rule__IfExpressionTri__Group__1__Impl : ( ( rule__IfExpressionTri__Group_1__0 )? ) ; - public final void rule__IfExpressionTri__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXWhileExpression" + // InternalExpression.g:1938:1: ruleXWhileExpression : ( ( rule__XWhileExpression__Group__0 ) ) ; + public final void ruleXWhileExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1941:1: ( ( ( rule__IfExpressionTri__Group_1__0 )? ) ) - // InternalExpression.g:1942:1: ( ( rule__IfExpressionTri__Group_1__0 )? ) + // InternalExpression.g:1942:2: ( ( ( rule__XWhileExpression__Group__0 ) ) ) + // InternalExpression.g:1943:2: ( ( rule__XWhileExpression__Group__0 ) ) { - // InternalExpression.g:1942:1: ( ( rule__IfExpressionTri__Group_1__0 )? ) - // InternalExpression.g:1943:2: ( rule__IfExpressionTri__Group_1__0 )? + // InternalExpression.g:1943:2: ( ( rule__XWhileExpression__Group__0 ) ) + // InternalExpression.g:1944:3: ( rule__XWhileExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getGroup_1()); - } - // InternalExpression.g:1944:2: ( rule__IfExpressionTri__Group_1__0 )? - int alt18=2; - int LA18_0 = input.LA(1); - - if ( (LA18_0==42) ) { - alt18=1; + before(grammarAccess.getXWhileExpressionAccess().getGroup()); } - switch (alt18) { - case 1 : - // InternalExpression.g:1944:3: rule__IfExpressionTri__Group_1__0 - { - pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:1945:3: ( rule__XWhileExpression__Group__0 ) + // InternalExpression.g:1945:4: rule__XWhileExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getGroup_1()); + after(grammarAccess.getXWhileExpressionAccess().getGroup()); } } @@ -6957,29 +6574,28 @@ public final void rule__IfExpressionTri__Group__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__IfExpressionTri__Group__1__Impl" + // $ANTLR end "ruleXWhileExpression" - // $ANTLR start "rule__IfExpressionTri__Group_1__0" - // InternalExpression.g:1953:1: rule__IfExpressionTri__Group_1__0 : rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 ; - public final void rule__IfExpressionTri__Group_1__0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXDoWhileExpression" + // InternalExpression.g:1954:1: entryRuleXDoWhileExpression : ruleXDoWhileExpression EOF ; + public final void entryRuleXDoWhileExpression() throws RecognitionException { try { - // InternalExpression.g:1957:1: ( rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 ) - // InternalExpression.g:1958:2: rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 + // InternalExpression.g:1955:1: ( ruleXDoWhileExpression EOF ) + // InternalExpression.g:1956:1: ruleXDoWhileExpression EOF { - pushFollow(FOLLOW_11); - rule__IfExpressionTri__Group_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXDoWhileExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -6989,38 +6605,41 @@ public final void rule__IfExpressionTri__Group_1__0() throws RecognitionExceptio recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__0" + // $ANTLR end "entryRuleXDoWhileExpression" - // $ANTLR start "rule__IfExpressionTri__Group_1__0__Impl" - // InternalExpression.g:1965:1: rule__IfExpressionTri__Group_1__0__Impl : ( () ) ; - public final void rule__IfExpressionTri__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXDoWhileExpression" + // InternalExpression.g:1963:1: ruleXDoWhileExpression : ( ( rule__XDoWhileExpression__Group__0 ) ) ; + public final void ruleXDoWhileExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1969:1: ( ( () ) ) - // InternalExpression.g:1970:1: ( () ) + // InternalExpression.g:1967:2: ( ( ( rule__XDoWhileExpression__Group__0 ) ) ) + // InternalExpression.g:1968:2: ( ( rule__XDoWhileExpression__Group__0 ) ) { - // InternalExpression.g:1970:1: ( () ) - // InternalExpression.g:1971:2: () + // InternalExpression.g:1968:2: ( ( rule__XDoWhileExpression__Group__0 ) ) + // InternalExpression.g:1969:3: ( rule__XDoWhileExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); + before(grammarAccess.getXDoWhileExpressionAccess().getGroup()); } - // InternalExpression.g:1972:2: () - // InternalExpression.g:1972:3: + // InternalExpression.g:1970:3: ( rule__XDoWhileExpression__Group__0 ) + // InternalExpression.g:1970:4: rule__XDoWhileExpression__Group__0 { + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + } if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); + after(grammarAccess.getXDoWhileExpressionAccess().getGroup()); } } @@ -7029,6 +6648,10 @@ public final void rule__IfExpressionTri__Group_1__0__Impl() throws RecognitionEx } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -7036,29 +6659,28 @@ public final void rule__IfExpressionTri__Group_1__0__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__0__Impl" - + // $ANTLR end "ruleXDoWhileExpression" - // $ANTLR start "rule__IfExpressionTri__Group_1__1" - // InternalExpression.g:1980:1: rule__IfExpressionTri__Group_1__1 : rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 ; - public final void rule__IfExpressionTri__Group_1__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXBlockExpression" + // InternalExpression.g:1979:1: entryRuleXBlockExpression : ruleXBlockExpression EOF ; + public final void entryRuleXBlockExpression() throws RecognitionException { try { - // InternalExpression.g:1984:1: ( rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 ) - // InternalExpression.g:1985:2: rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 + // InternalExpression.g:1980:1: ( ruleXBlockExpression EOF ) + // InternalExpression.g:1981:1: ruleXBlockExpression EOF { - pushFollow(FOLLOW_5); - rule__IfExpressionTri__Group_1__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXBlockExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7068,34 +6690,41 @@ public final void rule__IfExpressionTri__Group_1__1() throws RecognitionExceptio recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__1" + // $ANTLR end "entryRuleXBlockExpression" - // $ANTLR start "rule__IfExpressionTri__Group_1__1__Impl" - // InternalExpression.g:1992:1: rule__IfExpressionTri__Group_1__1__Impl : ( '?' ) ; - public final void rule__IfExpressionTri__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXBlockExpression" + // InternalExpression.g:1988:1: ruleXBlockExpression : ( ( rule__XBlockExpression__Group__0 ) ) ; + public final void ruleXBlockExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:1996:1: ( ( '?' ) ) - // InternalExpression.g:1997:1: ( '?' ) + // InternalExpression.g:1992:2: ( ( ( rule__XBlockExpression__Group__0 ) ) ) + // InternalExpression.g:1993:2: ( ( rule__XBlockExpression__Group__0 ) ) { - // InternalExpression.g:1997:1: ( '?' ) - // InternalExpression.g:1998:2: '?' + // InternalExpression.g:1993:2: ( ( rule__XBlockExpression__Group__0 ) ) + // InternalExpression.g:1994:3: ( rule__XBlockExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); + before(grammarAccess.getXBlockExpressionAccess().getGroup()); + } + // InternalExpression.g:1995:3: ( rule__XBlockExpression__Group__0 ) + // InternalExpression.g:1995:4: rule__XBlockExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,42,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); + after(grammarAccess.getXBlockExpressionAccess().getGroup()); } } @@ -7115,29 +6744,28 @@ public final void rule__IfExpressionTri__Group_1__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__1__Impl" + // $ANTLR end "ruleXBlockExpression" - // $ANTLR start "rule__IfExpressionTri__Group_1__2" - // InternalExpression.g:2007:1: rule__IfExpressionTri__Group_1__2 : rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 ; - public final void rule__IfExpressionTri__Group_1__2() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXExpressionOrVarDeclaration" + // InternalExpression.g:2004:1: entryRuleXExpressionOrVarDeclaration : ruleXExpressionOrVarDeclaration EOF ; + public final void entryRuleXExpressionOrVarDeclaration() throws RecognitionException { try { - // InternalExpression.g:2011:1: ( rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 ) - // InternalExpression.g:2012:2: rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 + // InternalExpression.g:2005:1: ( ruleXExpressionOrVarDeclaration EOF ) + // InternalExpression.g:2006:1: ruleXExpressionOrVarDeclaration EOF { - pushFollow(FOLLOW_6); - rule__IfExpressionTri__Group_1__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__3(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionOrVarDeclarationRule()); + } + pushFollow(FOLLOW_1); + ruleXExpressionOrVarDeclaration(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionOrVarDeclarationRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7147,36 +6775,33 @@ public final void rule__IfExpressionTri__Group_1__2() throws RecognitionExceptio recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__2" + // $ANTLR end "entryRuleXExpressionOrVarDeclaration" - // $ANTLR start "rule__IfExpressionTri__Group_1__2__Impl" - // InternalExpression.g:2019:1: rule__IfExpressionTri__Group_1__2__Impl : ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) ; - public final void rule__IfExpressionTri__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "ruleXExpressionOrVarDeclaration" + // InternalExpression.g:2013:1: ruleXExpressionOrVarDeclaration : ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) ; + public final void ruleXExpressionOrVarDeclaration() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2023:1: ( ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) ) - // InternalExpression.g:2024:1: ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) + // InternalExpression.g:2017:2: ( ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) ) + // InternalExpression.g:2018:2: ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) { - // InternalExpression.g:2024:1: ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) - // InternalExpression.g:2025:2: ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) + // InternalExpression.g:2018:2: ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) + // InternalExpression.g:2019:3: ( rule__XExpressionOrVarDeclaration__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); + before(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); } - // InternalExpression.g:2026:2: ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) - // InternalExpression.g:2026:3: rule__IfExpressionTri__ThenPartAssignment_1_2 + // InternalExpression.g:2020:3: ( rule__XExpressionOrVarDeclaration__Alternatives ) + // InternalExpression.g:2020:4: rule__XExpressionOrVarDeclaration__Alternatives { pushFollow(FOLLOW_2); - rule__IfExpressionTri__ThenPartAssignment_1_2(); + rule__XExpressionOrVarDeclaration__Alternatives(); state._fsp--; if (state.failed) return ; @@ -7184,7 +6809,7 @@ public final void rule__IfExpressionTri__Group_1__2__Impl() throws RecognitionEx } if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); + after(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); } } @@ -7204,29 +6829,28 @@ public final void rule__IfExpressionTri__Group_1__2__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__2__Impl" + // $ANTLR end "ruleXExpressionOrVarDeclaration" - // $ANTLR start "rule__IfExpressionTri__Group_1__3" - // InternalExpression.g:2034:1: rule__IfExpressionTri__Group_1__3 : rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 ; - public final void rule__IfExpressionTri__Group_1__3() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXVariableDeclaration" + // InternalExpression.g:2029:1: entryRuleXVariableDeclaration : ruleXVariableDeclaration EOF ; + public final void entryRuleXVariableDeclaration() throws RecognitionException { try { - // InternalExpression.g:2038:1: ( rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 ) - // InternalExpression.g:2039:2: rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 + // InternalExpression.g:2030:1: ( ruleXVariableDeclaration EOF ) + // InternalExpression.g:2031:1: ruleXVariableDeclaration EOF { - pushFollow(FOLLOW_5); - rule__IfExpressionTri__Group_1__3__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__4(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationRule()); + } + pushFollow(FOLLOW_1); + ruleXVariableDeclaration(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7236,34 +6860,41 @@ public final void rule__IfExpressionTri__Group_1__3() throws RecognitionExceptio recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__3" + // $ANTLR end "entryRuleXVariableDeclaration" - // $ANTLR start "rule__IfExpressionTri__Group_1__3__Impl" - // InternalExpression.g:2046:1: rule__IfExpressionTri__Group_1__3__Impl : ( ':' ) ; - public final void rule__IfExpressionTri__Group_1__3__Impl() throws RecognitionException { + // $ANTLR start "ruleXVariableDeclaration" + // InternalExpression.g:2038:1: ruleXVariableDeclaration : ( ( rule__XVariableDeclaration__Group__0 ) ) ; + public final void ruleXVariableDeclaration() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2050:1: ( ( ':' ) ) - // InternalExpression.g:2051:1: ( ':' ) + // InternalExpression.g:2042:2: ( ( ( rule__XVariableDeclaration__Group__0 ) ) ) + // InternalExpression.g:2043:2: ( ( rule__XVariableDeclaration__Group__0 ) ) { - // InternalExpression.g:2051:1: ( ':' ) - // InternalExpression.g:2052:2: ':' + // InternalExpression.g:2043:2: ( ( rule__XVariableDeclaration__Group__0 ) ) + // InternalExpression.g:2044:3: ( rule__XVariableDeclaration__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); + before(grammarAccess.getXVariableDeclarationAccess().getGroup()); + } + // InternalExpression.g:2045:3: ( rule__XVariableDeclaration__Group__0 ) + // InternalExpression.g:2045:4: rule__XVariableDeclaration__Group__0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,38,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); + after(grammarAccess.getXVariableDeclarationAccess().getGroup()); } } @@ -7283,24 +6914,28 @@ public final void rule__IfExpressionTri__Group_1__3__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__3__Impl" - + // $ANTLR end "ruleXVariableDeclaration" - // $ANTLR start "rule__IfExpressionTri__Group_1__4" - // InternalExpression.g:2061:1: rule__IfExpressionTri__Group_1__4 : rule__IfExpressionTri__Group_1__4__Impl ; - public final void rule__IfExpressionTri__Group_1__4() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmFormalParameter" + // InternalExpression.g:2054:1: entryRuleJvmFormalParameter : ruleJvmFormalParameter EOF ; + public final void entryRuleJvmFormalParameter() throws RecognitionException { try { - // InternalExpression.g:2065:1: ( rule__IfExpressionTri__Group_1__4__Impl ) - // InternalExpression.g:2066:2: rule__IfExpressionTri__Group_1__4__Impl + // InternalExpression.g:2055:1: ( ruleJvmFormalParameter EOF ) + // InternalExpression.g:2056:1: ruleJvmFormalParameter EOF { - pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__4__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmFormalParameterRule()); + } + pushFollow(FOLLOW_1); + ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmFormalParameterRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7310,36 +6945,33 @@ public final void rule__IfExpressionTri__Group_1__4() throws RecognitionExceptio recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__4" + // $ANTLR end "entryRuleJvmFormalParameter" - // $ANTLR start "rule__IfExpressionTri__Group_1__4__Impl" - // InternalExpression.g:2072:1: rule__IfExpressionTri__Group_1__4__Impl : ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) ; - public final void rule__IfExpressionTri__Group_1__4__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmFormalParameter" + // InternalExpression.g:2063:1: ruleJvmFormalParameter : ( ( rule__JvmFormalParameter__Group__0 ) ) ; + public final void ruleJvmFormalParameter() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2076:1: ( ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) ) - // InternalExpression.g:2077:1: ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) + // InternalExpression.g:2067:2: ( ( ( rule__JvmFormalParameter__Group__0 ) ) ) + // InternalExpression.g:2068:2: ( ( rule__JvmFormalParameter__Group__0 ) ) { - // InternalExpression.g:2077:1: ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) - // InternalExpression.g:2078:2: ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) + // InternalExpression.g:2068:2: ( ( rule__JvmFormalParameter__Group__0 ) ) + // InternalExpression.g:2069:3: ( rule__JvmFormalParameter__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); + before(grammarAccess.getJvmFormalParameterAccess().getGroup()); } - // InternalExpression.g:2079:2: ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) - // InternalExpression.g:2079:3: rule__IfExpressionTri__ElsePartAssignment_1_4 + // InternalExpression.g:2070:3: ( rule__JvmFormalParameter__Group__0 ) + // InternalExpression.g:2070:4: rule__JvmFormalParameter__Group__0 { pushFollow(FOLLOW_2); - rule__IfExpressionTri__ElsePartAssignment_1_4(); + rule__JvmFormalParameter__Group__0(); state._fsp--; if (state.failed) return ; @@ -7347,7 +6979,7 @@ public final void rule__IfExpressionTri__Group_1__4__Impl() throws RecognitionEx } if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); + after(grammarAccess.getJvmFormalParameterAccess().getGroup()); } } @@ -7367,29 +6999,28 @@ public final void rule__IfExpressionTri__Group_1__4__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__4__Impl" + // $ANTLR end "ruleJvmFormalParameter" - // $ANTLR start "rule__IfExpressionKw__Group__0" - // InternalExpression.g:2088:1: rule__IfExpressionKw__Group__0 : rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 ; - public final void rule__IfExpressionKw__Group__0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleFullJvmFormalParameter" + // InternalExpression.g:2079:1: entryRuleFullJvmFormalParameter : ruleFullJvmFormalParameter EOF ; + public final void entryRuleFullJvmFormalParameter() throws RecognitionException { try { - // InternalExpression.g:2092:1: ( rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 ) - // InternalExpression.g:2093:2: rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 + // InternalExpression.g:2080:1: ( ruleFullJvmFormalParameter EOF ) + // InternalExpression.g:2081:1: ruleFullJvmFormalParameter EOF { - pushFollow(FOLLOW_5); - rule__IfExpressionKw__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getFullJvmFormalParameterRule()); + } + pushFollow(FOLLOW_1); + ruleFullJvmFormalParameter(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFullJvmFormalParameterRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7399,34 +7030,41 @@ public final void rule__IfExpressionKw__Group__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__0" + // $ANTLR end "entryRuleFullJvmFormalParameter" - // $ANTLR start "rule__IfExpressionKw__Group__0__Impl" - // InternalExpression.g:2100:1: rule__IfExpressionKw__Group__0__Impl : ( 'if' ) ; - public final void rule__IfExpressionKw__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleFullJvmFormalParameter" + // InternalExpression.g:2088:1: ruleFullJvmFormalParameter : ( ( rule__FullJvmFormalParameter__Group__0 ) ) ; + public final void ruleFullJvmFormalParameter() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2104:1: ( ( 'if' ) ) - // InternalExpression.g:2105:1: ( 'if' ) + // InternalExpression.g:2092:2: ( ( ( rule__FullJvmFormalParameter__Group__0 ) ) ) + // InternalExpression.g:2093:2: ( ( rule__FullJvmFormalParameter__Group__0 ) ) { - // InternalExpression.g:2105:1: ( 'if' ) - // InternalExpression.g:2106:2: 'if' + // InternalExpression.g:2093:2: ( ( rule__FullJvmFormalParameter__Group__0 ) ) + // InternalExpression.g:2094:3: ( rule__FullJvmFormalParameter__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); + before(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); + } + // InternalExpression.g:2095:3: ( rule__FullJvmFormalParameter__Group__0 ) + // InternalExpression.g:2095:4: rule__FullJvmFormalParameter__Group__0 + { + pushFollow(FOLLOW_2); + rule__FullJvmFormalParameter__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,43,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); + after(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); } } @@ -7446,29 +7084,28 @@ public final void rule__IfExpressionKw__Group__0__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__0__Impl" - + // $ANTLR end "ruleFullJvmFormalParameter" - // $ANTLR start "rule__IfExpressionKw__Group__1" - // InternalExpression.g:2115:1: rule__IfExpressionKw__Group__1 : rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 ; - public final void rule__IfExpressionKw__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXFeatureCall" + // InternalExpression.g:2104:1: entryRuleXFeatureCall : ruleXFeatureCall EOF ; + public final void entryRuleXFeatureCall() throws RecognitionException { try { - // InternalExpression.g:2119:1: ( rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 ) - // InternalExpression.g:2120:2: rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 + // InternalExpression.g:2105:1: ( ruleXFeatureCall EOF ) + // InternalExpression.g:2106:1: ruleXFeatureCall EOF { - pushFollow(FOLLOW_12); - rule__IfExpressionKw__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallRule()); + } + pushFollow(FOLLOW_1); + ruleXFeatureCall(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7478,36 +7115,33 @@ public final void rule__IfExpressionKw__Group__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__1" + // $ANTLR end "entryRuleXFeatureCall" - // $ANTLR start "rule__IfExpressionKw__Group__1__Impl" - // InternalExpression.g:2127:1: rule__IfExpressionKw__Group__1__Impl : ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) ; - public final void rule__IfExpressionKw__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXFeatureCall" + // InternalExpression.g:2113:1: ruleXFeatureCall : ( ( rule__XFeatureCall__Group__0 ) ) ; + public final void ruleXFeatureCall() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2131:1: ( ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) ) - // InternalExpression.g:2132:1: ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) + // InternalExpression.g:2117:2: ( ( ( rule__XFeatureCall__Group__0 ) ) ) + // InternalExpression.g:2118:2: ( ( rule__XFeatureCall__Group__0 ) ) { - // InternalExpression.g:2132:1: ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) - // InternalExpression.g:2133:2: ( rule__IfExpressionKw__ConditionAssignment_1 ) + // InternalExpression.g:2118:2: ( ( rule__XFeatureCall__Group__0 ) ) + // InternalExpression.g:2119:3: ( rule__XFeatureCall__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); + before(grammarAccess.getXFeatureCallAccess().getGroup()); } - // InternalExpression.g:2134:2: ( rule__IfExpressionKw__ConditionAssignment_1 ) - // InternalExpression.g:2134:3: rule__IfExpressionKw__ConditionAssignment_1 + // InternalExpression.g:2120:3: ( rule__XFeatureCall__Group__0 ) + // InternalExpression.g:2120:4: rule__XFeatureCall__Group__0 { pushFollow(FOLLOW_2); - rule__IfExpressionKw__ConditionAssignment_1(); + rule__XFeatureCall__Group__0(); state._fsp--; if (state.failed) return ; @@ -7515,7 +7149,7 @@ public final void rule__IfExpressionKw__Group__1__Impl() throws RecognitionExcep } if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); + after(grammarAccess.getXFeatureCallAccess().getGroup()); } } @@ -7535,29 +7169,28 @@ public final void rule__IfExpressionKw__Group__1__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__1__Impl" - + // $ANTLR end "ruleXFeatureCall" - // $ANTLR start "rule__IfExpressionKw__Group__2" - // InternalExpression.g:2142:1: rule__IfExpressionKw__Group__2 : rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 ; - public final void rule__IfExpressionKw__Group__2() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleFeatureCallID" + // InternalExpression.g:2129:1: entryRuleFeatureCallID : ruleFeatureCallID EOF ; + public final void entryRuleFeatureCallID() throws RecognitionException { try { - // InternalExpression.g:2146:1: ( rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 ) - // InternalExpression.g:2147:2: rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 + // InternalExpression.g:2130:1: ( ruleFeatureCallID EOF ) + // InternalExpression.g:2131:1: ruleFeatureCallID EOF { - pushFollow(FOLLOW_5); - rule__IfExpressionKw__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group__3(); + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDRule()); + } + pushFollow(FOLLOW_1); + ruleFeatureCallID(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7567,34 +7200,41 @@ public final void rule__IfExpressionKw__Group__2() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__2" + // $ANTLR end "entryRuleFeatureCallID" - // $ANTLR start "rule__IfExpressionKw__Group__2__Impl" - // InternalExpression.g:2154:1: rule__IfExpressionKw__Group__2__Impl : ( 'then' ) ; - public final void rule__IfExpressionKw__Group__2__Impl() throws RecognitionException { + // $ANTLR start "ruleFeatureCallID" + // InternalExpression.g:2138:1: ruleFeatureCallID : ( ( rule__FeatureCallID__Alternatives ) ) ; + public final void ruleFeatureCallID() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2158:1: ( ( 'then' ) ) - // InternalExpression.g:2159:1: ( 'then' ) + // InternalExpression.g:2142:2: ( ( ( rule__FeatureCallID__Alternatives ) ) ) + // InternalExpression.g:2143:2: ( ( rule__FeatureCallID__Alternatives ) ) { - // InternalExpression.g:2159:1: ( 'then' ) - // InternalExpression.g:2160:2: 'then' + // InternalExpression.g:2143:2: ( ( rule__FeatureCallID__Alternatives ) ) + // InternalExpression.g:2144:3: ( rule__FeatureCallID__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); + before(grammarAccess.getFeatureCallIDAccess().getAlternatives()); + } + // InternalExpression.g:2145:3: ( rule__FeatureCallID__Alternatives ) + // InternalExpression.g:2145:4: rule__FeatureCallID__Alternatives + { + pushFollow(FOLLOW_2); + rule__FeatureCallID__Alternatives(); + + state._fsp--; + if (state.failed) return ; + } - match(input,44,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); + after(grammarAccess.getFeatureCallIDAccess().getAlternatives()); } } @@ -7614,29 +7254,28 @@ public final void rule__IfExpressionKw__Group__2__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__2__Impl" + // $ANTLR end "ruleFeatureCallID" - // $ANTLR start "rule__IfExpressionKw__Group__3" - // InternalExpression.g:2169:1: rule__IfExpressionKw__Group__3 : rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 ; - public final void rule__IfExpressionKw__Group__3() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleIdOrSuper" + // InternalExpression.g:2154:1: entryRuleIdOrSuper : ruleIdOrSuper EOF ; + public final void entryRuleIdOrSuper() throws RecognitionException { try { - // InternalExpression.g:2173:1: ( rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 ) - // InternalExpression.g:2174:2: rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 + // InternalExpression.g:2155:1: ( ruleIdOrSuper EOF ) + // InternalExpression.g:2156:1: ruleIdOrSuper EOF { - pushFollow(FOLLOW_13); - rule__IfExpressionKw__Group__3__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group__4(); + if ( state.backtracking==0 ) { + before(grammarAccess.getIdOrSuperRule()); + } + pushFollow(FOLLOW_1); + ruleIdOrSuper(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdOrSuperRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7646,36 +7285,33 @@ public final void rule__IfExpressionKw__Group__3() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__3" + // $ANTLR end "entryRuleIdOrSuper" - // $ANTLR start "rule__IfExpressionKw__Group__3__Impl" - // InternalExpression.g:2181:1: rule__IfExpressionKw__Group__3__Impl : ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) ; - public final void rule__IfExpressionKw__Group__3__Impl() throws RecognitionException { + // $ANTLR start "ruleIdOrSuper" + // InternalExpression.g:2163:1: ruleIdOrSuper : ( ( rule__IdOrSuper__Alternatives ) ) ; + public final void ruleIdOrSuper() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2185:1: ( ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) ) - // InternalExpression.g:2186:1: ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) + // InternalExpression.g:2167:2: ( ( ( rule__IdOrSuper__Alternatives ) ) ) + // InternalExpression.g:2168:2: ( ( rule__IdOrSuper__Alternatives ) ) { - // InternalExpression.g:2186:1: ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) - // InternalExpression.g:2187:2: ( rule__IfExpressionKw__ThenPartAssignment_3 ) + // InternalExpression.g:2168:2: ( ( rule__IdOrSuper__Alternatives ) ) + // InternalExpression.g:2169:3: ( rule__IdOrSuper__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); + before(grammarAccess.getIdOrSuperAccess().getAlternatives()); } - // InternalExpression.g:2188:2: ( rule__IfExpressionKw__ThenPartAssignment_3 ) - // InternalExpression.g:2188:3: rule__IfExpressionKw__ThenPartAssignment_3 + // InternalExpression.g:2170:3: ( rule__IdOrSuper__Alternatives ) + // InternalExpression.g:2170:4: rule__IdOrSuper__Alternatives { pushFollow(FOLLOW_2); - rule__IfExpressionKw__ThenPartAssignment_3(); + rule__IdOrSuper__Alternatives(); state._fsp--; if (state.failed) return ; @@ -7683,7 +7319,7 @@ public final void rule__IfExpressionKw__Group__3__Impl() throws RecognitionExcep } if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); + after(grammarAccess.getIdOrSuperAccess().getAlternatives()); } } @@ -7703,24 +7339,28 @@ public final void rule__IfExpressionKw__Group__3__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__3__Impl" + // $ANTLR end "ruleIdOrSuper" - // $ANTLR start "rule__IfExpressionKw__Group__4" - // InternalExpression.g:2196:1: rule__IfExpressionKw__Group__4 : rule__IfExpressionKw__Group__4__Impl ; - public final void rule__IfExpressionKw__Group__4() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXConstructorCall" + // InternalExpression.g:2179:1: entryRuleXConstructorCall : ruleXConstructorCall EOF ; + public final void entryRuleXConstructorCall() throws RecognitionException { try { - // InternalExpression.g:2200:1: ( rule__IfExpressionKw__Group__4__Impl ) - // InternalExpression.g:2201:2: rule__IfExpressionKw__Group__4__Impl + // InternalExpression.g:2180:1: ( ruleXConstructorCall EOF ) + // InternalExpression.g:2181:1: ruleXConstructorCall EOF { - pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group__4__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallRule()); + } + pushFollow(FOLLOW_1); + ruleXConstructorCall(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7730,59 +7370,41 @@ public final void rule__IfExpressionKw__Group__4() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__4" + // $ANTLR end "entryRuleXConstructorCall" - // $ANTLR start "rule__IfExpressionKw__Group__4__Impl" - // InternalExpression.g:2207:1: rule__IfExpressionKw__Group__4__Impl : ( ( rule__IfExpressionKw__Group_4__0 )? ) ; - public final void rule__IfExpressionKw__Group__4__Impl() throws RecognitionException { + // $ANTLR start "ruleXConstructorCall" + // InternalExpression.g:2188:1: ruleXConstructorCall : ( ( rule__XConstructorCall__Group__0 ) ) ; + public final void ruleXConstructorCall() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2211:1: ( ( ( rule__IfExpressionKw__Group_4__0 )? ) ) - // InternalExpression.g:2212:1: ( ( rule__IfExpressionKw__Group_4__0 )? ) + // InternalExpression.g:2192:2: ( ( ( rule__XConstructorCall__Group__0 ) ) ) + // InternalExpression.g:2193:2: ( ( rule__XConstructorCall__Group__0 ) ) { - // InternalExpression.g:2212:1: ( ( rule__IfExpressionKw__Group_4__0 )? ) - // InternalExpression.g:2213:2: ( rule__IfExpressionKw__Group_4__0 )? + // InternalExpression.g:2193:2: ( ( rule__XConstructorCall__Group__0 ) ) + // InternalExpression.g:2194:3: ( rule__XConstructorCall__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getGroup_4()); - } - // InternalExpression.g:2214:2: ( rule__IfExpressionKw__Group_4__0 )? - int alt19=2; - int LA19_0 = input.LA(1); - - if ( (LA19_0==45) ) { - int LA19_1 = input.LA(2); - - if ( (synpred49_InternalExpression()) ) { - alt19=1; - } + before(grammarAccess.getXConstructorCallAccess().getGroup()); } - switch (alt19) { - case 1 : - // InternalExpression.g:2214:3: rule__IfExpressionKw__Group_4__0 - { - pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:2195:3: ( rule__XConstructorCall__Group__0 ) + // InternalExpression.g:2195:4: rule__XConstructorCall__Group__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getGroup_4()); + after(grammarAccess.getXConstructorCallAccess().getGroup()); } } @@ -7802,24 +7424,28 @@ public final void rule__IfExpressionKw__Group__4__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__4__Impl" + // $ANTLR end "ruleXConstructorCall" - // $ANTLR start "rule__IfExpressionKw__Group_4__0" - // InternalExpression.g:2223:1: rule__IfExpressionKw__Group_4__0 : rule__IfExpressionKw__Group_4__0__Impl ; - public final void rule__IfExpressionKw__Group_4__0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXBooleanLiteral" + // InternalExpression.g:2204:1: entryRuleXBooleanLiteral : ruleXBooleanLiteral EOF ; + public final void entryRuleXBooleanLiteral() throws RecognitionException { try { - // InternalExpression.g:2227:1: ( rule__IfExpressionKw__Group_4__0__Impl ) - // InternalExpression.g:2228:2: rule__IfExpressionKw__Group_4__0__Impl + // InternalExpression.g:2205:1: ( ruleXBooleanLiteral EOF ) + // InternalExpression.g:2206:1: ruleXBooleanLiteral EOF { - pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4__0__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXBooleanLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7829,36 +7455,33 @@ public final void rule__IfExpressionKw__Group_4__0() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4__0" + // $ANTLR end "entryRuleXBooleanLiteral" - // $ANTLR start "rule__IfExpressionKw__Group_4__0__Impl" - // InternalExpression.g:2234:1: rule__IfExpressionKw__Group_4__0__Impl : ( ( rule__IfExpressionKw__Group_4_0__0 ) ) ; - public final void rule__IfExpressionKw__Group_4__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXBooleanLiteral" + // InternalExpression.g:2213:1: ruleXBooleanLiteral : ( ( rule__XBooleanLiteral__Group__0 ) ) ; + public final void ruleXBooleanLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2238:1: ( ( ( rule__IfExpressionKw__Group_4_0__0 ) ) ) - // InternalExpression.g:2239:1: ( ( rule__IfExpressionKw__Group_4_0__0 ) ) + // InternalExpression.g:2217:2: ( ( ( rule__XBooleanLiteral__Group__0 ) ) ) + // InternalExpression.g:2218:2: ( ( rule__XBooleanLiteral__Group__0 ) ) { - // InternalExpression.g:2239:1: ( ( rule__IfExpressionKw__Group_4_0__0 ) ) - // InternalExpression.g:2240:2: ( rule__IfExpressionKw__Group_4_0__0 ) + // InternalExpression.g:2218:2: ( ( rule__XBooleanLiteral__Group__0 ) ) + // InternalExpression.g:2219:3: ( rule__XBooleanLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); + before(grammarAccess.getXBooleanLiteralAccess().getGroup()); } - // InternalExpression.g:2241:2: ( rule__IfExpressionKw__Group_4_0__0 ) - // InternalExpression.g:2241:3: rule__IfExpressionKw__Group_4_0__0 + // InternalExpression.g:2220:3: ( rule__XBooleanLiteral__Group__0 ) + // InternalExpression.g:2220:4: rule__XBooleanLiteral__Group__0 { pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4_0__0(); + rule__XBooleanLiteral__Group__0(); state._fsp--; if (state.failed) return ; @@ -7866,7 +7489,7 @@ public final void rule__IfExpressionKw__Group_4__0__Impl() throws RecognitionExc } if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); + after(grammarAccess.getXBooleanLiteralAccess().getGroup()); } } @@ -7886,29 +7509,28 @@ public final void rule__IfExpressionKw__Group_4__0__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4__0__Impl" - + // $ANTLR end "ruleXBooleanLiteral" - // $ANTLR start "rule__IfExpressionKw__Group_4_0__0" - // InternalExpression.g:2250:1: rule__IfExpressionKw__Group_4_0__0 : rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 ; - public final void rule__IfExpressionKw__Group_4_0__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXNullLiteral" + // InternalExpression.g:2229:1: entryRuleXNullLiteral : ruleXNullLiteral EOF ; + public final void entryRuleXNullLiteral() throws RecognitionException { try { - // InternalExpression.g:2254:1: ( rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 ) - // InternalExpression.g:2255:2: rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 + // InternalExpression.g:2230:1: ( ruleXNullLiteral EOF ) + // InternalExpression.g:2231:1: ruleXNullLiteral EOF { - pushFollow(FOLLOW_5); - rule__IfExpressionKw__Group_4_0__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4_0__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXNullLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXNullLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXNullLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7918,34 +7540,41 @@ public final void rule__IfExpressionKw__Group_4_0__0() throws RecognitionExcepti recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4_0__0" + // $ANTLR end "entryRuleXNullLiteral" - // $ANTLR start "rule__IfExpressionKw__Group_4_0__0__Impl" - // InternalExpression.g:2262:1: rule__IfExpressionKw__Group_4_0__0__Impl : ( 'else' ) ; - public final void rule__IfExpressionKw__Group_4_0__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXNullLiteral" + // InternalExpression.g:2238:1: ruleXNullLiteral : ( ( rule__XNullLiteral__Group__0 ) ) ; + public final void ruleXNullLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2266:1: ( ( 'else' ) ) - // InternalExpression.g:2267:1: ( 'else' ) + // InternalExpression.g:2242:2: ( ( ( rule__XNullLiteral__Group__0 ) ) ) + // InternalExpression.g:2243:2: ( ( rule__XNullLiteral__Group__0 ) ) { - // InternalExpression.g:2267:1: ( 'else' ) - // InternalExpression.g:2268:2: 'else' + // InternalExpression.g:2243:2: ( ( rule__XNullLiteral__Group__0 ) ) + // InternalExpression.g:2244:3: ( rule__XNullLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); + before(grammarAccess.getXNullLiteralAccess().getGroup()); + } + // InternalExpression.g:2245:3: ( rule__XNullLiteral__Group__0 ) + // InternalExpression.g:2245:4: rule__XNullLiteral__Group__0 + { + pushFollow(FOLLOW_2); + rule__XNullLiteral__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,45,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); + after(grammarAccess.getXNullLiteralAccess().getGroup()); } } @@ -7965,24 +7594,28 @@ public final void rule__IfExpressionKw__Group_4_0__0__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4_0__0__Impl" + // $ANTLR end "ruleXNullLiteral" - // $ANTLR start "rule__IfExpressionKw__Group_4_0__1" - // InternalExpression.g:2277:1: rule__IfExpressionKw__Group_4_0__1 : rule__IfExpressionKw__Group_4_0__1__Impl ; - public final void rule__IfExpressionKw__Group_4_0__1() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXNumberLiteral" + // InternalExpression.g:2254:1: entryRuleXNumberLiteral : ruleXNumberLiteral EOF ; + public final void entryRuleXNumberLiteral() throws RecognitionException { try { - // InternalExpression.g:2281:1: ( rule__IfExpressionKw__Group_4_0__1__Impl ) - // InternalExpression.g:2282:2: rule__IfExpressionKw__Group_4_0__1__Impl + // InternalExpression.g:2255:1: ( ruleXNumberLiteral EOF ) + // InternalExpression.g:2256:1: ruleXNumberLiteral EOF { - pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4_0__1__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXNumberLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXNumberLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXNumberLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -7992,36 +7625,33 @@ public final void rule__IfExpressionKw__Group_4_0__1() throws RecognitionExcepti recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4_0__1" + // $ANTLR end "entryRuleXNumberLiteral" - // $ANTLR start "rule__IfExpressionKw__Group_4_0__1__Impl" - // InternalExpression.g:2288:1: rule__IfExpressionKw__Group_4_0__1__Impl : ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) ; - public final void rule__IfExpressionKw__Group_4_0__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXNumberLiteral" + // InternalExpression.g:2263:1: ruleXNumberLiteral : ( ( rule__XNumberLiteral__Group__0 ) ) ; + public final void ruleXNumberLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2292:1: ( ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) ) - // InternalExpression.g:2293:1: ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) + // InternalExpression.g:2267:2: ( ( ( rule__XNumberLiteral__Group__0 ) ) ) + // InternalExpression.g:2268:2: ( ( rule__XNumberLiteral__Group__0 ) ) { - // InternalExpression.g:2293:1: ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) - // InternalExpression.g:2294:2: ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) + // InternalExpression.g:2268:2: ( ( rule__XNumberLiteral__Group__0 ) ) + // InternalExpression.g:2269:3: ( rule__XNumberLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); + before(grammarAccess.getXNumberLiteralAccess().getGroup()); } - // InternalExpression.g:2295:2: ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) - // InternalExpression.g:2295:3: rule__IfExpressionKw__ElsePartAssignment_4_0_1 + // InternalExpression.g:2270:3: ( rule__XNumberLiteral__Group__0 ) + // InternalExpression.g:2270:4: rule__XNumberLiteral__Group__0 { pushFollow(FOLLOW_2); - rule__IfExpressionKw__ElsePartAssignment_4_0_1(); + rule__XNumberLiteral__Group__0(); state._fsp--; if (state.failed) return ; @@ -8029,7 +7659,7 @@ public final void rule__IfExpressionKw__Group_4_0__1__Impl() throws RecognitionE } if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); + after(grammarAccess.getXNumberLiteralAccess().getGroup()); } } @@ -8049,29 +7679,28 @@ public final void rule__IfExpressionKw__Group_4_0__1__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4_0__1__Impl" - + // $ANTLR end "ruleXNumberLiteral" - // $ANTLR start "rule__SwitchExpression__Group__0" - // InternalExpression.g:2304:1: rule__SwitchExpression__Group__0 : rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 ; - public final void rule__SwitchExpression__Group__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXStringLiteral" + // InternalExpression.g:2279:1: entryRuleXStringLiteral : ruleXStringLiteral EOF ; + public final void entryRuleXStringLiteral() throws RecognitionException { try { - // InternalExpression.g:2308:1: ( rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 ) - // InternalExpression.g:2309:2: rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 + // InternalExpression.g:2280:1: ( ruleXStringLiteral EOF ) + // InternalExpression.g:2281:1: ruleXStringLiteral EOF { - pushFollow(FOLLOW_14); - rule__SwitchExpression__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXStringLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXStringLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXStringLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8081,34 +7710,41 @@ public final void rule__SwitchExpression__Group__0() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__SwitchExpression__Group__0" + // $ANTLR end "entryRuleXStringLiteral" - // $ANTLR start "rule__SwitchExpression__Group__0__Impl" - // InternalExpression.g:2316:1: rule__SwitchExpression__Group__0__Impl : ( 'switch' ) ; - public final void rule__SwitchExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXStringLiteral" + // InternalExpression.g:2288:1: ruleXStringLiteral : ( ( rule__XStringLiteral__Group__0 ) ) ; + public final void ruleXStringLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2320:1: ( ( 'switch' ) ) - // InternalExpression.g:2321:1: ( 'switch' ) + // InternalExpression.g:2292:2: ( ( ( rule__XStringLiteral__Group__0 ) ) ) + // InternalExpression.g:2293:2: ( ( rule__XStringLiteral__Group__0 ) ) { - // InternalExpression.g:2321:1: ( 'switch' ) - // InternalExpression.g:2322:2: 'switch' + // InternalExpression.g:2293:2: ( ( rule__XStringLiteral__Group__0 ) ) + // InternalExpression.g:2294:3: ( rule__XStringLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); + before(grammarAccess.getXStringLiteralAccess().getGroup()); + } + // InternalExpression.g:2295:3: ( rule__XStringLiteral__Group__0 ) + // InternalExpression.g:2295:4: rule__XStringLiteral__Group__0 + { + pushFollow(FOLLOW_2); + rule__XStringLiteral__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,46,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); + after(grammarAccess.getXStringLiteralAccess().getGroup()); } } @@ -8128,29 +7764,28 @@ public final void rule__SwitchExpression__Group__0__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__0__Impl" + // $ANTLR end "ruleXStringLiteral" - // $ANTLR start "rule__SwitchExpression__Group__1" - // InternalExpression.g:2331:1: rule__SwitchExpression__Group__1 : rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 ; - public final void rule__SwitchExpression__Group__1() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXTypeLiteral" + // InternalExpression.g:2304:1: entryRuleXTypeLiteral : ruleXTypeLiteral EOF ; + public final void entryRuleXTypeLiteral() throws RecognitionException { try { - // InternalExpression.g:2335:1: ( rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 ) - // InternalExpression.g:2336:2: rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 + // InternalExpression.g:2305:1: ( ruleXTypeLiteral EOF ) + // InternalExpression.g:2306:1: ruleXTypeLiteral EOF { - pushFollow(FOLLOW_14); - rule__SwitchExpression__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXTypeLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8160,55 +7795,41 @@ public final void rule__SwitchExpression__Group__1() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__SwitchExpression__Group__1" + // $ANTLR end "entryRuleXTypeLiteral" - // $ANTLR start "rule__SwitchExpression__Group__1__Impl" - // InternalExpression.g:2343:1: rule__SwitchExpression__Group__1__Impl : ( ( rule__SwitchExpression__Group_1__0 )? ) ; - public final void rule__SwitchExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXTypeLiteral" + // InternalExpression.g:2313:1: ruleXTypeLiteral : ( ( rule__XTypeLiteral__Group__0 ) ) ; + public final void ruleXTypeLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2347:1: ( ( ( rule__SwitchExpression__Group_1__0 )? ) ) - // InternalExpression.g:2348:1: ( ( rule__SwitchExpression__Group_1__0 )? ) + // InternalExpression.g:2317:2: ( ( ( rule__XTypeLiteral__Group__0 ) ) ) + // InternalExpression.g:2318:2: ( ( rule__XTypeLiteral__Group__0 ) ) { - // InternalExpression.g:2348:1: ( ( rule__SwitchExpression__Group_1__0 )? ) - // InternalExpression.g:2349:2: ( rule__SwitchExpression__Group_1__0 )? + // InternalExpression.g:2318:2: ( ( rule__XTypeLiteral__Group__0 ) ) + // InternalExpression.g:2319:3: ( rule__XTypeLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getGroup_1()); - } - // InternalExpression.g:2350:2: ( rule__SwitchExpression__Group_1__0 )? - int alt20=2; - int LA20_0 = input.LA(1); - - if ( (LA20_0==39) ) { - alt20=1; + before(grammarAccess.getXTypeLiteralAccess().getGroup()); } - switch (alt20) { - case 1 : - // InternalExpression.g:2350:3: rule__SwitchExpression__Group_1__0 - { - pushFollow(FOLLOW_2); - rule__SwitchExpression__Group_1__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:2320:3: ( rule__XTypeLiteral__Group__0 ) + // InternalExpression.g:2320:4: rule__XTypeLiteral__Group__0 + { + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getGroup_1()); + after(grammarAccess.getXTypeLiteralAccess().getGroup()); } } @@ -8228,29 +7849,28 @@ public final void rule__SwitchExpression__Group__1__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__1__Impl" + // $ANTLR end "ruleXTypeLiteral" - // $ANTLR start "rule__SwitchExpression__Group__2" - // InternalExpression.g:2358:1: rule__SwitchExpression__Group__2 : rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 ; - public final void rule__SwitchExpression__Group__2() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXThrowExpression" + // InternalExpression.g:2329:1: entryRuleXThrowExpression : ruleXThrowExpression EOF ; + public final void entryRuleXThrowExpression() throws RecognitionException { try { - // InternalExpression.g:2362:1: ( rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 ) - // InternalExpression.g:2363:2: rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 + // InternalExpression.g:2330:1: ( ruleXThrowExpression EOF ) + // InternalExpression.g:2331:1: ruleXThrowExpression EOF { - pushFollow(FOLLOW_15); - rule__SwitchExpression__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__3(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXThrowExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXThrowExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXThrowExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8260,34 +7880,41 @@ public final void rule__SwitchExpression__Group__2() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__SwitchExpression__Group__2" + // $ANTLR end "entryRuleXThrowExpression" - // $ANTLR start "rule__SwitchExpression__Group__2__Impl" - // InternalExpression.g:2370:1: rule__SwitchExpression__Group__2__Impl : ( '{' ) ; - public final void rule__SwitchExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "ruleXThrowExpression" + // InternalExpression.g:2338:1: ruleXThrowExpression : ( ( rule__XThrowExpression__Group__0 ) ) ; + public final void ruleXThrowExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2374:1: ( ( '{' ) ) - // InternalExpression.g:2375:1: ( '{' ) + // InternalExpression.g:2342:2: ( ( ( rule__XThrowExpression__Group__0 ) ) ) + // InternalExpression.g:2343:2: ( ( rule__XThrowExpression__Group__0 ) ) { - // InternalExpression.g:2375:1: ( '{' ) - // InternalExpression.g:2376:2: '{' + // InternalExpression.g:2343:2: ( ( rule__XThrowExpression__Group__0 ) ) + // InternalExpression.g:2344:3: ( rule__XThrowExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); + before(grammarAccess.getXThrowExpressionAccess().getGroup()); + } + // InternalExpression.g:2345:3: ( rule__XThrowExpression__Group__0 ) + // InternalExpression.g:2345:4: rule__XThrowExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XThrowExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,47,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); + after(grammarAccess.getXThrowExpressionAccess().getGroup()); } } @@ -8307,29 +7934,28 @@ public final void rule__SwitchExpression__Group__2__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__2__Impl" - + // $ANTLR end "ruleXThrowExpression" - // $ANTLR start "rule__SwitchExpression__Group__3" - // InternalExpression.g:2385:1: rule__SwitchExpression__Group__3 : rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 ; - public final void rule__SwitchExpression__Group__3() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXReturnExpression" + // InternalExpression.g:2354:1: entryRuleXReturnExpression : ruleXReturnExpression EOF ; + public final void entryRuleXReturnExpression() throws RecognitionException { try { - // InternalExpression.g:2389:1: ( rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 ) - // InternalExpression.g:2390:2: rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 + // InternalExpression.g:2355:1: ( ruleXReturnExpression EOF ) + // InternalExpression.g:2356:1: ruleXReturnExpression EOF { - pushFollow(FOLLOW_15); - rule__SwitchExpression__Group__3__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__4(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXReturnExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXReturnExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXReturnExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8339,62 +7965,41 @@ public final void rule__SwitchExpression__Group__3() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__SwitchExpression__Group__3" + // $ANTLR end "entryRuleXReturnExpression" - // $ANTLR start "rule__SwitchExpression__Group__3__Impl" - // InternalExpression.g:2397:1: rule__SwitchExpression__Group__3__Impl : ( ( rule__SwitchExpression__CaseAssignment_3 )* ) ; - public final void rule__SwitchExpression__Group__3__Impl() throws RecognitionException { + // $ANTLR start "ruleXReturnExpression" + // InternalExpression.g:2363:1: ruleXReturnExpression : ( ( rule__XReturnExpression__Group__0 ) ) ; + public final void ruleXReturnExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2401:1: ( ( ( rule__SwitchExpression__CaseAssignment_3 )* ) ) - // InternalExpression.g:2402:1: ( ( rule__SwitchExpression__CaseAssignment_3 )* ) + // InternalExpression.g:2367:2: ( ( ( rule__XReturnExpression__Group__0 ) ) ) + // InternalExpression.g:2368:2: ( ( rule__XReturnExpression__Group__0 ) ) { - // InternalExpression.g:2402:1: ( ( rule__SwitchExpression__CaseAssignment_3 )* ) - // InternalExpression.g:2403:2: ( rule__SwitchExpression__CaseAssignment_3 )* + // InternalExpression.g:2368:2: ( ( rule__XReturnExpression__Group__0 ) ) + // InternalExpression.g:2369:3: ( rule__XReturnExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); + before(grammarAccess.getXReturnExpressionAccess().getGroup()); } - // InternalExpression.g:2404:2: ( rule__SwitchExpression__CaseAssignment_3 )* - loop21: - do { - int alt21=2; - int LA21_0 = input.LA(1); - - if ( (LA21_0==50) ) { - alt21=1; - } - - - switch (alt21) { - case 1 : - // InternalExpression.g:2404:3: rule__SwitchExpression__CaseAssignment_3 - { - pushFollow(FOLLOW_16); - rule__SwitchExpression__CaseAssignment_3(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:2370:3: ( rule__XReturnExpression__Group__0 ) + // InternalExpression.g:2370:4: rule__XReturnExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XReturnExpression__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop21; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); + after(grammarAccess.getXReturnExpressionAccess().getGroup()); } } @@ -8414,29 +8019,28 @@ public final void rule__SwitchExpression__Group__3__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__3__Impl" - + // $ANTLR end "ruleXReturnExpression" - // $ANTLR start "rule__SwitchExpression__Group__4" - // InternalExpression.g:2412:1: rule__SwitchExpression__Group__4 : rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 ; - public final void rule__SwitchExpression__Group__4() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXTryCatchFinallyExpression" + // InternalExpression.g:2379:1: entryRuleXTryCatchFinallyExpression : ruleXTryCatchFinallyExpression EOF ; + public final void entryRuleXTryCatchFinallyExpression() throws RecognitionException { try { - // InternalExpression.g:2416:1: ( rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 ) - // InternalExpression.g:2417:2: rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 + // InternalExpression.g:2380:1: ( ruleXTryCatchFinallyExpression EOF ) + // InternalExpression.g:2381:1: ruleXTryCatchFinallyExpression EOF { - pushFollow(FOLLOW_6); - rule__SwitchExpression__Group__4__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__5(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXTryCatchFinallyExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8446,34 +8050,41 @@ public final void rule__SwitchExpression__Group__4() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__SwitchExpression__Group__4" + // $ANTLR end "entryRuleXTryCatchFinallyExpression" - // $ANTLR start "rule__SwitchExpression__Group__4__Impl" - // InternalExpression.g:2424:1: rule__SwitchExpression__Group__4__Impl : ( 'default' ) ; - public final void rule__SwitchExpression__Group__4__Impl() throws RecognitionException { + // $ANTLR start "ruleXTryCatchFinallyExpression" + // InternalExpression.g:2388:1: ruleXTryCatchFinallyExpression : ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) ; + public final void ruleXTryCatchFinallyExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2428:1: ( ( 'default' ) ) - // InternalExpression.g:2429:1: ( 'default' ) + // InternalExpression.g:2392:2: ( ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) ) + // InternalExpression.g:2393:2: ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) { - // InternalExpression.g:2429:1: ( 'default' ) - // InternalExpression.g:2430:2: 'default' + // InternalExpression.g:2393:2: ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) + // InternalExpression.g:2394:3: ( rule__XTryCatchFinallyExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); } - match(input,48,FOLLOW_2); if (state.failed) return ; + // InternalExpression.g:2395:3: ( rule__XTryCatchFinallyExpression__Group__0 ) + // InternalExpression.g:2395:4: rule__XTryCatchFinallyExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); } } @@ -8493,29 +8104,28 @@ public final void rule__SwitchExpression__Group__4__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__4__Impl" - + // $ANTLR end "ruleXTryCatchFinallyExpression" - // $ANTLR start "rule__SwitchExpression__Group__5" - // InternalExpression.g:2439:1: rule__SwitchExpression__Group__5 : rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 ; - public final void rule__SwitchExpression__Group__5() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXSynchronizedExpression" + // InternalExpression.g:2404:1: entryRuleXSynchronizedExpression : ruleXSynchronizedExpression EOF ; + public final void entryRuleXSynchronizedExpression() throws RecognitionException { try { - // InternalExpression.g:2443:1: ( rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 ) - // InternalExpression.g:2444:2: rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 + // InternalExpression.g:2405:1: ( ruleXSynchronizedExpression EOF ) + // InternalExpression.g:2406:1: ruleXSynchronizedExpression EOF { - pushFollow(FOLLOW_17); - rule__SwitchExpression__Group__5__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__6(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXSynchronizedExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8525,34 +8135,41 @@ public final void rule__SwitchExpression__Group__5() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__SwitchExpression__Group__5" + // $ANTLR end "entryRuleXSynchronizedExpression" - // $ANTLR start "rule__SwitchExpression__Group__5__Impl" - // InternalExpression.g:2451:1: rule__SwitchExpression__Group__5__Impl : ( ':' ) ; - public final void rule__SwitchExpression__Group__5__Impl() throws RecognitionException { + // $ANTLR start "ruleXSynchronizedExpression" + // InternalExpression.g:2413:1: ruleXSynchronizedExpression : ( ( rule__XSynchronizedExpression__Group__0 ) ) ; + public final void ruleXSynchronizedExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2455:1: ( ( ':' ) ) - // InternalExpression.g:2456:1: ( ':' ) + // InternalExpression.g:2417:2: ( ( ( rule__XSynchronizedExpression__Group__0 ) ) ) + // InternalExpression.g:2418:2: ( ( rule__XSynchronizedExpression__Group__0 ) ) { - // InternalExpression.g:2456:1: ( ':' ) - // InternalExpression.g:2457:2: ':' + // InternalExpression.g:2418:2: ( ( rule__XSynchronizedExpression__Group__0 ) ) + // InternalExpression.g:2419:3: ( rule__XSynchronizedExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); + before(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); + } + // InternalExpression.g:2420:3: ( rule__XSynchronizedExpression__Group__0 ) + // InternalExpression.g:2420:4: rule__XSynchronizedExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,38,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); + after(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); } } @@ -8572,29 +8189,28 @@ public final void rule__SwitchExpression__Group__5__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__5__Impl" - + // $ANTLR end "ruleXSynchronizedExpression" - // $ANTLR start "rule__SwitchExpression__Group__6" - // InternalExpression.g:2466:1: rule__SwitchExpression__Group__6 : rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 ; - public final void rule__SwitchExpression__Group__6() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXCatchClause" + // InternalExpression.g:2429:1: entryRuleXCatchClause : ruleXCatchClause EOF ; + public final void entryRuleXCatchClause() throws RecognitionException { try { - // InternalExpression.g:2470:1: ( rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 ) - // InternalExpression.g:2471:2: rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 + // InternalExpression.g:2430:1: ( ruleXCatchClause EOF ) + // InternalExpression.g:2431:1: ruleXCatchClause EOF { - pushFollow(FOLLOW_18); - rule__SwitchExpression__Group__6__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__7(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseRule()); + } + pushFollow(FOLLOW_1); + ruleXCatchClause(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8604,36 +8220,33 @@ public final void rule__SwitchExpression__Group__6() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__SwitchExpression__Group__6" + // $ANTLR end "entryRuleXCatchClause" - // $ANTLR start "rule__SwitchExpression__Group__6__Impl" - // InternalExpression.g:2478:1: rule__SwitchExpression__Group__6__Impl : ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) ; - public final void rule__SwitchExpression__Group__6__Impl() throws RecognitionException { + // $ANTLR start "ruleXCatchClause" + // InternalExpression.g:2438:1: ruleXCatchClause : ( ( rule__XCatchClause__Group__0 ) ) ; + public final void ruleXCatchClause() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2482:1: ( ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) ) - // InternalExpression.g:2483:1: ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) + // InternalExpression.g:2442:2: ( ( ( rule__XCatchClause__Group__0 ) ) ) + // InternalExpression.g:2443:2: ( ( rule__XCatchClause__Group__0 ) ) { - // InternalExpression.g:2483:1: ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) - // InternalExpression.g:2484:2: ( rule__SwitchExpression__DefaultExprAssignment_6 ) + // InternalExpression.g:2443:2: ( ( rule__XCatchClause__Group__0 ) ) + // InternalExpression.g:2444:3: ( rule__XCatchClause__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); + before(grammarAccess.getXCatchClauseAccess().getGroup()); } - // InternalExpression.g:2485:2: ( rule__SwitchExpression__DefaultExprAssignment_6 ) - // InternalExpression.g:2485:3: rule__SwitchExpression__DefaultExprAssignment_6 + // InternalExpression.g:2445:3: ( rule__XCatchClause__Group__0 ) + // InternalExpression.g:2445:4: rule__XCatchClause__Group__0 { pushFollow(FOLLOW_2); - rule__SwitchExpression__DefaultExprAssignment_6(); + rule__XCatchClause__Group__0(); state._fsp--; if (state.failed) return ; @@ -8641,7 +8254,7 @@ public final void rule__SwitchExpression__Group__6__Impl() throws RecognitionExc } if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); + after(grammarAccess.getXCatchClauseAccess().getGroup()); } } @@ -8661,24 +8274,28 @@ public final void rule__SwitchExpression__Group__6__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__6__Impl" - + // $ANTLR end "ruleXCatchClause" - // $ANTLR start "rule__SwitchExpression__Group__7" - // InternalExpression.g:2493:1: rule__SwitchExpression__Group__7 : rule__SwitchExpression__Group__7__Impl ; - public final void rule__SwitchExpression__Group__7() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleQualifiedName" + // InternalExpression.g:2454:1: entryRuleQualifiedName : ruleQualifiedName EOF ; + public final void entryRuleQualifiedName() throws RecognitionException { try { - // InternalExpression.g:2497:1: ( rule__SwitchExpression__Group__7__Impl ) - // InternalExpression.g:2498:2: rule__SwitchExpression__Group__7__Impl + // InternalExpression.g:2455:1: ( ruleQualifiedName EOF ) + // InternalExpression.g:2456:1: ruleQualifiedName EOF { - pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__7__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameRule()); + } + pushFollow(FOLLOW_1); + ruleQualifiedName(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8688,34 +8305,41 @@ public final void rule__SwitchExpression__Group__7() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__SwitchExpression__Group__7" + // $ANTLR end "entryRuleQualifiedName" - // $ANTLR start "rule__SwitchExpression__Group__7__Impl" - // InternalExpression.g:2504:1: rule__SwitchExpression__Group__7__Impl : ( '}' ) ; - public final void rule__SwitchExpression__Group__7__Impl() throws RecognitionException { + // $ANTLR start "ruleQualifiedName" + // InternalExpression.g:2463:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ; + public final void ruleQualifiedName() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2508:1: ( ( '}' ) ) - // InternalExpression.g:2509:1: ( '}' ) + // InternalExpression.g:2467:2: ( ( ( rule__QualifiedName__Group__0 ) ) ) + // InternalExpression.g:2468:2: ( ( rule__QualifiedName__Group__0 ) ) { - // InternalExpression.g:2509:1: ( '}' ) - // InternalExpression.g:2510:2: '}' + // InternalExpression.g:2468:2: ( ( rule__QualifiedName__Group__0 ) ) + // InternalExpression.g:2469:3: ( rule__QualifiedName__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); + before(grammarAccess.getQualifiedNameAccess().getGroup()); + } + // InternalExpression.g:2470:3: ( rule__QualifiedName__Group__0 ) + // InternalExpression.g:2470:4: rule__QualifiedName__Group__0 + { + pushFollow(FOLLOW_2); + rule__QualifiedName__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,49,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); + after(grammarAccess.getQualifiedNameAccess().getGroup()); } } @@ -8735,29 +8359,31 @@ public final void rule__SwitchExpression__Group__7__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__7__Impl" + // $ANTLR end "ruleQualifiedName" - // $ANTLR start "rule__SwitchExpression__Group_1__0" - // InternalExpression.g:2520:1: rule__SwitchExpression__Group_1__0 : rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 ; - public final void rule__SwitchExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "entryRuleNumber" + // InternalExpression.g:2479:1: entryRuleNumber : ruleNumber EOF ; + public final void entryRuleNumber() throws RecognitionException { + + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); - int stackSize = keepStackSize(); - try { - // InternalExpression.g:2524:1: ( rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 ) - // InternalExpression.g:2525:2: rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 + // InternalExpression.g:2483:1: ( ruleNumber EOF ) + // InternalExpression.g:2484:1: ruleNumber EOF { - pushFollow(FOLLOW_17); - rule__SwitchExpression__Group_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__SwitchExpression__Group_1__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberRule()); + } + pushFollow(FOLLOW_1); + ruleNumber(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8768,33 +8394,44 @@ public final void rule__SwitchExpression__Group_1__0() throws RecognitionExcepti } finally { - restoreStackSize(stackSize); + myHiddenTokenState.restore(); } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__0" + // $ANTLR end "entryRuleNumber" - // $ANTLR start "rule__SwitchExpression__Group_1__0__Impl" - // InternalExpression.g:2532:1: rule__SwitchExpression__Group_1__0__Impl : ( '(' ) ; - public final void rule__SwitchExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "ruleNumber" + // InternalExpression.g:2494:1: ruleNumber : ( ( rule__Number__Alternatives ) ) ; + public final void ruleNumber() throws RecognitionException { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); int stackSize = keepStackSize(); try { - // InternalExpression.g:2536:1: ( ( '(' ) ) - // InternalExpression.g:2537:1: ( '(' ) + // InternalExpression.g:2499:2: ( ( ( rule__Number__Alternatives ) ) ) + // InternalExpression.g:2500:2: ( ( rule__Number__Alternatives ) ) { - // InternalExpression.g:2537:1: ( '(' ) - // InternalExpression.g:2538:2: '(' + // InternalExpression.g:2500:2: ( ( rule__Number__Alternatives ) ) + // InternalExpression.g:2501:3: ( rule__Number__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); + before(grammarAccess.getNumberAccess().getAlternatives()); + } + // InternalExpression.g:2502:3: ( rule__Number__Alternatives ) + // InternalExpression.g:2502:4: rule__Number__Alternatives + { + pushFollow(FOLLOW_2); + rule__Number__Alternatives(); + + state._fsp--; + if (state.failed) return ; + } - match(input,39,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); + after(grammarAccess.getNumberAccess().getAlternatives()); } } @@ -8810,33 +8447,33 @@ public final void rule__SwitchExpression__Group_1__0__Impl() throws RecognitionE finally { restoreStackSize(stackSize); + myHiddenTokenState.restore(); } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__0__Impl" + // $ANTLR end "ruleNumber" - // $ANTLR start "rule__SwitchExpression__Group_1__1" - // InternalExpression.g:2547:1: rule__SwitchExpression__Group_1__1 : rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 ; - public final void rule__SwitchExpression__Group_1__1() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmTypeReference" + // InternalExpression.g:2512:1: entryRuleJvmTypeReference : ruleJvmTypeReference EOF ; + public final void entryRuleJvmTypeReference() throws RecognitionException { try { - // InternalExpression.g:2551:1: ( rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 ) - // InternalExpression.g:2552:2: rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 + // InternalExpression.g:2513:1: ( ruleJvmTypeReference EOF ) + // InternalExpression.g:2514:1: ruleJvmTypeReference EOF { - pushFollow(FOLLOW_8); - rule__SwitchExpression__Group_1__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__SwitchExpression__Group_1__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + ruleJvmTypeReference(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8846,36 +8483,33 @@ public final void rule__SwitchExpression__Group_1__1() throws RecognitionExcepti recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__1" + // $ANTLR end "entryRuleJvmTypeReference" - // $ANTLR start "rule__SwitchExpression__Group_1__1__Impl" - // InternalExpression.g:2559:1: rule__SwitchExpression__Group_1__1__Impl : ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) ; - public final void rule__SwitchExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmTypeReference" + // InternalExpression.g:2521:1: ruleJvmTypeReference : ( ( rule__JvmTypeReference__Alternatives ) ) ; + public final void ruleJvmTypeReference() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2563:1: ( ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) ) - // InternalExpression.g:2564:1: ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) + // InternalExpression.g:2525:2: ( ( ( rule__JvmTypeReference__Alternatives ) ) ) + // InternalExpression.g:2526:2: ( ( rule__JvmTypeReference__Alternatives ) ) { - // InternalExpression.g:2564:1: ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) - // InternalExpression.g:2565:2: ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) + // InternalExpression.g:2526:2: ( ( rule__JvmTypeReference__Alternatives ) ) + // InternalExpression.g:2527:3: ( rule__JvmTypeReference__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); + before(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); } - // InternalExpression.g:2566:2: ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) - // InternalExpression.g:2566:3: rule__SwitchExpression__SwitchExprAssignment_1_1 + // InternalExpression.g:2528:3: ( rule__JvmTypeReference__Alternatives ) + // InternalExpression.g:2528:4: rule__JvmTypeReference__Alternatives { pushFollow(FOLLOW_2); - rule__SwitchExpression__SwitchExprAssignment_1_1(); + rule__JvmTypeReference__Alternatives(); state._fsp--; if (state.failed) return ; @@ -8883,7 +8517,7 @@ public final void rule__SwitchExpression__Group_1__1__Impl() throws RecognitionE } if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); + after(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); } } @@ -8903,24 +8537,28 @@ public final void rule__SwitchExpression__Group_1__1__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__1__Impl" + // $ANTLR end "ruleJvmTypeReference" - // $ANTLR start "rule__SwitchExpression__Group_1__2" - // InternalExpression.g:2574:1: rule__SwitchExpression__Group_1__2 : rule__SwitchExpression__Group_1__2__Impl ; - public final void rule__SwitchExpression__Group_1__2() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleArrayBrackets" + // InternalExpression.g:2537:1: entryRuleArrayBrackets : ruleArrayBrackets EOF ; + public final void entryRuleArrayBrackets() throws RecognitionException { try { - // InternalExpression.g:2578:1: ( rule__SwitchExpression__Group_1__2__Impl ) - // InternalExpression.g:2579:2: rule__SwitchExpression__Group_1__2__Impl + // InternalExpression.g:2538:1: ( ruleArrayBrackets EOF ) + // InternalExpression.g:2539:1: ruleArrayBrackets EOF { - pushFollow(FOLLOW_2); - rule__SwitchExpression__Group_1__2__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayBracketsRule()); + } + pushFollow(FOLLOW_1); + ruleArrayBrackets(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayBracketsRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8930,34 +8568,41 @@ public final void rule__SwitchExpression__Group_1__2() throws RecognitionExcepti recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__2" + // $ANTLR end "entryRuleArrayBrackets" - // $ANTLR start "rule__SwitchExpression__Group_1__2__Impl" - // InternalExpression.g:2585:1: rule__SwitchExpression__Group_1__2__Impl : ( ')' ) ; - public final void rule__SwitchExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "ruleArrayBrackets" + // InternalExpression.g:2546:1: ruleArrayBrackets : ( ( rule__ArrayBrackets__Group__0 ) ) ; + public final void ruleArrayBrackets() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2589:1: ( ( ')' ) ) - // InternalExpression.g:2590:1: ( ')' ) + // InternalExpression.g:2550:2: ( ( ( rule__ArrayBrackets__Group__0 ) ) ) + // InternalExpression.g:2551:2: ( ( rule__ArrayBrackets__Group__0 ) ) { - // InternalExpression.g:2590:1: ( ')' ) - // InternalExpression.g:2591:2: ')' + // InternalExpression.g:2551:2: ( ( rule__ArrayBrackets__Group__0 ) ) + // InternalExpression.g:2552:3: ( rule__ArrayBrackets__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); + before(grammarAccess.getArrayBracketsAccess().getGroup()); + } + // InternalExpression.g:2553:3: ( rule__ArrayBrackets__Group__0 ) + // InternalExpression.g:2553:4: rule__ArrayBrackets__Group__0 + { + pushFollow(FOLLOW_2); + rule__ArrayBrackets__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,40,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); + after(grammarAccess.getArrayBracketsAccess().getGroup()); } } @@ -8977,29 +8622,28 @@ public final void rule__SwitchExpression__Group_1__2__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__2__Impl" + // $ANTLR end "ruleArrayBrackets" - // $ANTLR start "rule__Case__Group__0" - // InternalExpression.g:2601:1: rule__Case__Group__0 : rule__Case__Group__0__Impl rule__Case__Group__1 ; - public final void rule__Case__Group__0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXFunctionTypeRef" + // InternalExpression.g:2562:1: entryRuleXFunctionTypeRef : ruleXFunctionTypeRef EOF ; + public final void entryRuleXFunctionTypeRef() throws RecognitionException { try { - // InternalExpression.g:2605:1: ( rule__Case__Group__0__Impl rule__Case__Group__1 ) - // InternalExpression.g:2606:2: rule__Case__Group__0__Impl rule__Case__Group__1 + // InternalExpression.g:2563:1: ( ruleXFunctionTypeRef EOF ) + // InternalExpression.g:2564:1: ruleXFunctionTypeRef EOF { - pushFollow(FOLLOW_17); - rule__Case__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Case__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefRule()); + } + pushFollow(FOLLOW_1); + ruleXFunctionTypeRef(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9009,34 +8653,41 @@ public final void rule__Case__Group__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Case__Group__0" + // $ANTLR end "entryRuleXFunctionTypeRef" - // $ANTLR start "rule__Case__Group__0__Impl" - // InternalExpression.g:2613:1: rule__Case__Group__0__Impl : ( 'case' ) ; - public final void rule__Case__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXFunctionTypeRef" + // InternalExpression.g:2571:1: ruleXFunctionTypeRef : ( ( rule__XFunctionTypeRef__Group__0 ) ) ; + public final void ruleXFunctionTypeRef() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2617:1: ( ( 'case' ) ) - // InternalExpression.g:2618:1: ( 'case' ) + // InternalExpression.g:2575:2: ( ( ( rule__XFunctionTypeRef__Group__0 ) ) ) + // InternalExpression.g:2576:2: ( ( rule__XFunctionTypeRef__Group__0 ) ) { - // InternalExpression.g:2618:1: ( 'case' ) - // InternalExpression.g:2619:2: 'case' + // InternalExpression.g:2576:2: ( ( rule__XFunctionTypeRef__Group__0 ) ) + // InternalExpression.g:2577:3: ( rule__XFunctionTypeRef__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getCaseKeyword_0()); + before(grammarAccess.getXFunctionTypeRefAccess().getGroup()); } - match(input,50,FOLLOW_2); if (state.failed) return ; + // InternalExpression.g:2578:3: ( rule__XFunctionTypeRef__Group__0 ) + // InternalExpression.g:2578:4: rule__XFunctionTypeRef__Group__0 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getCaseKeyword_0()); + after(grammarAccess.getXFunctionTypeRefAccess().getGroup()); } } @@ -9056,29 +8707,28 @@ public final void rule__Case__Group__0__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__0__Impl" - + // $ANTLR end "ruleXFunctionTypeRef" - // $ANTLR start "rule__Case__Group__1" - // InternalExpression.g:2628:1: rule__Case__Group__1 : rule__Case__Group__1__Impl rule__Case__Group__2 ; - public final void rule__Case__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmParameterizedTypeReference" + // InternalExpression.g:2587:1: entryRuleJvmParameterizedTypeReference : ruleJvmParameterizedTypeReference EOF ; + public final void entryRuleJvmParameterizedTypeReference() throws RecognitionException { try { - // InternalExpression.g:2632:1: ( rule__Case__Group__1__Impl rule__Case__Group__2 ) - // InternalExpression.g:2633:2: rule__Case__Group__1__Impl rule__Case__Group__2 + // InternalExpression.g:2588:1: ( ruleJvmParameterizedTypeReference EOF ) + // InternalExpression.g:2589:1: ruleJvmParameterizedTypeReference EOF { - pushFollow(FOLLOW_6); - rule__Case__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Case__Group__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9088,36 +8738,33 @@ public final void rule__Case__Group__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Case__Group__1" + // $ANTLR end "entryRuleJvmParameterizedTypeReference" - // $ANTLR start "rule__Case__Group__1__Impl" - // InternalExpression.g:2640:1: rule__Case__Group__1__Impl : ( ( rule__Case__ConditionAssignment_1 ) ) ; - public final void rule__Case__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmParameterizedTypeReference" + // InternalExpression.g:2596:1: ruleJvmParameterizedTypeReference : ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) ; + public final void ruleJvmParameterizedTypeReference() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2644:1: ( ( ( rule__Case__ConditionAssignment_1 ) ) ) - // InternalExpression.g:2645:1: ( ( rule__Case__ConditionAssignment_1 ) ) + // InternalExpression.g:2600:2: ( ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) ) + // InternalExpression.g:2601:2: ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) { - // InternalExpression.g:2645:1: ( ( rule__Case__ConditionAssignment_1 ) ) - // InternalExpression.g:2646:2: ( rule__Case__ConditionAssignment_1 ) + // InternalExpression.g:2601:2: ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) + // InternalExpression.g:2602:3: ( rule__JvmParameterizedTypeReference__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getConditionAssignment_1()); + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); } - // InternalExpression.g:2647:2: ( rule__Case__ConditionAssignment_1 ) - // InternalExpression.g:2647:3: rule__Case__ConditionAssignment_1 + // InternalExpression.g:2603:3: ( rule__JvmParameterizedTypeReference__Group__0 ) + // InternalExpression.g:2603:4: rule__JvmParameterizedTypeReference__Group__0 { pushFollow(FOLLOW_2); - rule__Case__ConditionAssignment_1(); + rule__JvmParameterizedTypeReference__Group__0(); state._fsp--; if (state.failed) return ; @@ -9125,7 +8772,7 @@ public final void rule__Case__Group__1__Impl() throws RecognitionException { } if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getConditionAssignment_1()); + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); } } @@ -9145,29 +8792,28 @@ public final void rule__Case__Group__1__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__1__Impl" - + // $ANTLR end "ruleJvmParameterizedTypeReference" - // $ANTLR start "rule__Case__Group__2" - // InternalExpression.g:2655:1: rule__Case__Group__2 : rule__Case__Group__2__Impl rule__Case__Group__3 ; - public final void rule__Case__Group__2() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmArgumentTypeReference" + // InternalExpression.g:2612:1: entryRuleJvmArgumentTypeReference : ruleJvmArgumentTypeReference EOF ; + public final void entryRuleJvmArgumentTypeReference() throws RecognitionException { try { - // InternalExpression.g:2659:1: ( rule__Case__Group__2__Impl rule__Case__Group__3 ) - // InternalExpression.g:2660:2: rule__Case__Group__2__Impl rule__Case__Group__3 + // InternalExpression.g:2613:1: ( ruleJvmArgumentTypeReference EOF ) + // InternalExpression.g:2614:1: ruleJvmArgumentTypeReference EOF { - pushFollow(FOLLOW_17); - rule__Case__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Case__Group__3(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmArgumentTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmArgumentTypeReferenceRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9177,34 +8823,41 @@ public final void rule__Case__Group__2() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Case__Group__2" + // $ANTLR end "entryRuleJvmArgumentTypeReference" - // $ANTLR start "rule__Case__Group__2__Impl" - // InternalExpression.g:2667:1: rule__Case__Group__2__Impl : ( ':' ) ; - public final void rule__Case__Group__2__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmArgumentTypeReference" + // InternalExpression.g:2621:1: ruleJvmArgumentTypeReference : ( ( rule__JvmArgumentTypeReference__Alternatives ) ) ; + public final void ruleJvmArgumentTypeReference() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2671:1: ( ( ':' ) ) - // InternalExpression.g:2672:1: ( ':' ) + // InternalExpression.g:2625:2: ( ( ( rule__JvmArgumentTypeReference__Alternatives ) ) ) + // InternalExpression.g:2626:2: ( ( rule__JvmArgumentTypeReference__Alternatives ) ) { - // InternalExpression.g:2672:1: ( ':' ) - // InternalExpression.g:2673:2: ':' + // InternalExpression.g:2626:2: ( ( rule__JvmArgumentTypeReference__Alternatives ) ) + // InternalExpression.g:2627:3: ( rule__JvmArgumentTypeReference__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getColonKeyword_2()); + before(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); + } + // InternalExpression.g:2628:3: ( rule__JvmArgumentTypeReference__Alternatives ) + // InternalExpression.g:2628:4: rule__JvmArgumentTypeReference__Alternatives + { + pushFollow(FOLLOW_2); + rule__JvmArgumentTypeReference__Alternatives(); + + state._fsp--; + if (state.failed) return ; + } - match(input,38,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getColonKeyword_2()); + after(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); } } @@ -9224,24 +8877,28 @@ public final void rule__Case__Group__2__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__2__Impl" - + // $ANTLR end "ruleJvmArgumentTypeReference" - // $ANTLR start "rule__Case__Group__3" - // InternalExpression.g:2682:1: rule__Case__Group__3 : rule__Case__Group__3__Impl ; - public final void rule__Case__Group__3() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmWildcardTypeReference" + // InternalExpression.g:2637:1: entryRuleJvmWildcardTypeReference : ruleJvmWildcardTypeReference EOF ; + public final void entryRuleJvmWildcardTypeReference() throws RecognitionException { try { - // InternalExpression.g:2686:1: ( rule__Case__Group__3__Impl ) - // InternalExpression.g:2687:2: rule__Case__Group__3__Impl + // InternalExpression.g:2638:1: ( ruleJvmWildcardTypeReference EOF ) + // InternalExpression.g:2639:1: ruleJvmWildcardTypeReference EOF { - pushFollow(FOLLOW_2); - rule__Case__Group__3__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + ruleJvmWildcardTypeReference(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9251,36 +8908,33 @@ public final void rule__Case__Group__3() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Case__Group__3" + // $ANTLR end "entryRuleJvmWildcardTypeReference" - // $ANTLR start "rule__Case__Group__3__Impl" - // InternalExpression.g:2693:1: rule__Case__Group__3__Impl : ( ( rule__Case__ThenParAssignment_3 ) ) ; - public final void rule__Case__Group__3__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmWildcardTypeReference" + // InternalExpression.g:2646:1: ruleJvmWildcardTypeReference : ( ( rule__JvmWildcardTypeReference__Group__0 ) ) ; + public final void ruleJvmWildcardTypeReference() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2697:1: ( ( ( rule__Case__ThenParAssignment_3 ) ) ) - // InternalExpression.g:2698:1: ( ( rule__Case__ThenParAssignment_3 ) ) + // InternalExpression.g:2650:2: ( ( ( rule__JvmWildcardTypeReference__Group__0 ) ) ) + // InternalExpression.g:2651:2: ( ( rule__JvmWildcardTypeReference__Group__0 ) ) { - // InternalExpression.g:2698:1: ( ( rule__Case__ThenParAssignment_3 ) ) - // InternalExpression.g:2699:2: ( rule__Case__ThenParAssignment_3 ) + // InternalExpression.g:2651:2: ( ( rule__JvmWildcardTypeReference__Group__0 ) ) + // InternalExpression.g:2652:3: ( rule__JvmWildcardTypeReference__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getThenParAssignment_3()); + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); } - // InternalExpression.g:2700:2: ( rule__Case__ThenParAssignment_3 ) - // InternalExpression.g:2700:3: rule__Case__ThenParAssignment_3 + // InternalExpression.g:2653:3: ( rule__JvmWildcardTypeReference__Group__0 ) + // InternalExpression.g:2653:4: rule__JvmWildcardTypeReference__Group__0 { pushFollow(FOLLOW_2); - rule__Case__ThenParAssignment_3(); + rule__JvmWildcardTypeReference__Group__0(); state._fsp--; if (state.failed) return ; @@ -9288,7 +8942,7 @@ public final void rule__Case__Group__3__Impl() throws RecognitionException { } if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getThenParAssignment_3()); + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); } } @@ -9308,29 +8962,28 @@ public final void rule__Case__Group__3__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__3__Impl" + // $ANTLR end "ruleJvmWildcardTypeReference" - // $ANTLR start "rule__OrExpression__Group__0" - // InternalExpression.g:2709:1: rule__OrExpression__Group__0 : rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 ; - public final void rule__OrExpression__Group__0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmUpperBound" + // InternalExpression.g:2662:1: entryRuleJvmUpperBound : ruleJvmUpperBound EOF ; + public final void entryRuleJvmUpperBound() throws RecognitionException { try { - // InternalExpression.g:2713:1: ( rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 ) - // InternalExpression.g:2714:2: rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 + // InternalExpression.g:2663:1: ( ruleJvmUpperBound EOF ) + // InternalExpression.g:2664:1: ruleJvmUpperBound EOF { - pushFollow(FOLLOW_19); - rule__OrExpression__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__OrExpression__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundRule()); + } + pushFollow(FOLLOW_1); + ruleJvmUpperBound(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9340,38 +8993,41 @@ public final void rule__OrExpression__Group__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__OrExpression__Group__0" + // $ANTLR end "entryRuleJvmUpperBound" - // $ANTLR start "rule__OrExpression__Group__0__Impl" - // InternalExpression.g:2721:1: rule__OrExpression__Group__0__Impl : ( ruleAndExpression ) ; - public final void rule__OrExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmUpperBound" + // InternalExpression.g:2671:1: ruleJvmUpperBound : ( ( rule__JvmUpperBound__Group__0 ) ) ; + public final void ruleJvmUpperBound() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2725:1: ( ( ruleAndExpression ) ) - // InternalExpression.g:2726:1: ( ruleAndExpression ) + // InternalExpression.g:2675:2: ( ( ( rule__JvmUpperBound__Group__0 ) ) ) + // InternalExpression.g:2676:2: ( ( rule__JvmUpperBound__Group__0 ) ) { - // InternalExpression.g:2726:1: ( ruleAndExpression ) - // InternalExpression.g:2727:2: ruleAndExpression + // InternalExpression.g:2676:2: ( ( rule__JvmUpperBound__Group__0 ) ) + // InternalExpression.g:2677:3: ( rule__JvmUpperBound__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); + before(grammarAccess.getJvmUpperBoundAccess().getGroup()); } + // InternalExpression.g:2678:3: ( rule__JvmUpperBound__Group__0 ) + // InternalExpression.g:2678:4: rule__JvmUpperBound__Group__0 + { pushFollow(FOLLOW_2); - ruleAndExpression(); + rule__JvmUpperBound__Group__0(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); + after(grammarAccess.getJvmUpperBoundAccess().getGroup()); } } @@ -9391,24 +9047,28 @@ public final void rule__OrExpression__Group__0__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__OrExpression__Group__0__Impl" + // $ANTLR end "ruleJvmUpperBound" - // $ANTLR start "rule__OrExpression__Group__1" - // InternalExpression.g:2736:1: rule__OrExpression__Group__1 : rule__OrExpression__Group__1__Impl ; - public final void rule__OrExpression__Group__1() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmUpperBoundAnded" + // InternalExpression.g:2687:1: entryRuleJvmUpperBoundAnded : ruleJvmUpperBoundAnded EOF ; + public final void entryRuleJvmUpperBoundAnded() throws RecognitionException { try { - // InternalExpression.g:2740:1: ( rule__OrExpression__Group__1__Impl ) - // InternalExpression.g:2741:2: rule__OrExpression__Group__1__Impl + // InternalExpression.g:2688:1: ( ruleJvmUpperBoundAnded EOF ) + // InternalExpression.g:2689:1: ruleJvmUpperBoundAnded EOF { - pushFollow(FOLLOW_2); - rule__OrExpression__Group__1__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAndedRule()); + } + pushFollow(FOLLOW_1); + ruleJvmUpperBoundAnded(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAndedRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9418,62 +9078,41 @@ public final void rule__OrExpression__Group__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__OrExpression__Group__1" + // $ANTLR end "entryRuleJvmUpperBoundAnded" - // $ANTLR start "rule__OrExpression__Group__1__Impl" - // InternalExpression.g:2747:1: rule__OrExpression__Group__1__Impl : ( ( rule__OrExpression__Group_1__0 )* ) ; - public final void rule__OrExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmUpperBoundAnded" + // InternalExpression.g:2696:1: ruleJvmUpperBoundAnded : ( ( rule__JvmUpperBoundAnded__Group__0 ) ) ; + public final void ruleJvmUpperBoundAnded() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2751:1: ( ( ( rule__OrExpression__Group_1__0 )* ) ) - // InternalExpression.g:2752:1: ( ( rule__OrExpression__Group_1__0 )* ) + // InternalExpression.g:2700:2: ( ( ( rule__JvmUpperBoundAnded__Group__0 ) ) ) + // InternalExpression.g:2701:2: ( ( rule__JvmUpperBoundAnded__Group__0 ) ) { - // InternalExpression.g:2752:1: ( ( rule__OrExpression__Group_1__0 )* ) - // InternalExpression.g:2753:2: ( rule__OrExpression__Group_1__0 )* + // InternalExpression.g:2701:2: ( ( rule__JvmUpperBoundAnded__Group__0 ) ) + // InternalExpression.g:2702:3: ( rule__JvmUpperBoundAnded__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getGroup_1()); + before(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); } - // InternalExpression.g:2754:2: ( rule__OrExpression__Group_1__0 )* - loop22: - do { - int alt22=2; - int LA22_0 = input.LA(1); - - if ( (LA22_0==59) ) { - alt22=1; - } - - - switch (alt22) { - case 1 : - // InternalExpression.g:2754:3: rule__OrExpression__Group_1__0 - { - pushFollow(FOLLOW_20); - rule__OrExpression__Group_1__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:2703:3: ( rule__JvmUpperBoundAnded__Group__0 ) + // InternalExpression.g:2703:4: rule__JvmUpperBoundAnded__Group__0 + { + pushFollow(FOLLOW_2); + rule__JvmUpperBoundAnded__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop22; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getGroup_1()); + after(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); } } @@ -9493,29 +9132,28 @@ public final void rule__OrExpression__Group__1__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__OrExpression__Group__1__Impl" - + // $ANTLR end "ruleJvmUpperBoundAnded" - // $ANTLR start "rule__OrExpression__Group_1__0" - // InternalExpression.g:2763:1: rule__OrExpression__Group_1__0 : rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 ; - public final void rule__OrExpression__Group_1__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmLowerBound" + // InternalExpression.g:2712:1: entryRuleJvmLowerBound : ruleJvmLowerBound EOF ; + public final void entryRuleJvmLowerBound() throws RecognitionException { try { - // InternalExpression.g:2767:1: ( rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 ) - // InternalExpression.g:2768:2: rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 + // InternalExpression.g:2713:1: ( ruleJvmLowerBound EOF ) + // InternalExpression.g:2714:1: ruleJvmLowerBound EOF { - pushFollow(FOLLOW_19); - rule__OrExpression__Group_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__OrExpression__Group_1__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundRule()); + } + pushFollow(FOLLOW_1); + ruleJvmLowerBound(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9525,38 +9163,41 @@ public final void rule__OrExpression__Group_1__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__OrExpression__Group_1__0" + // $ANTLR end "entryRuleJvmLowerBound" - // $ANTLR start "rule__OrExpression__Group_1__0__Impl" - // InternalExpression.g:2775:1: rule__OrExpression__Group_1__0__Impl : ( () ) ; - public final void rule__OrExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmLowerBound" + // InternalExpression.g:2721:1: ruleJvmLowerBound : ( ( rule__JvmLowerBound__Group__0 ) ) ; + public final void ruleJvmLowerBound() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2779:1: ( ( () ) ) - // InternalExpression.g:2780:1: ( () ) + // InternalExpression.g:2725:2: ( ( ( rule__JvmLowerBound__Group__0 ) ) ) + // InternalExpression.g:2726:2: ( ( rule__JvmLowerBound__Group__0 ) ) { - // InternalExpression.g:2780:1: ( () ) - // InternalExpression.g:2781:2: () + // InternalExpression.g:2726:2: ( ( rule__JvmLowerBound__Group__0 ) ) + // InternalExpression.g:2727:3: ( rule__JvmLowerBound__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); + before(grammarAccess.getJvmLowerBoundAccess().getGroup()); } - // InternalExpression.g:2782:2: () - // InternalExpression.g:2782:3: + // InternalExpression.g:2728:3: ( rule__JvmLowerBound__Group__0 ) + // InternalExpression.g:2728:4: rule__JvmLowerBound__Group__0 { + pushFollow(FOLLOW_2); + rule__JvmLowerBound__Group__0(); + + state._fsp--; + if (state.failed) return ; + } if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); + after(grammarAccess.getJvmLowerBoundAccess().getGroup()); } } @@ -9565,6 +9206,10 @@ public final void rule__OrExpression__Group_1__0__Impl() throws RecognitionExcep } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -9572,29 +9217,28 @@ public final void rule__OrExpression__Group_1__0__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__OrExpression__Group_1__0__Impl" - + // $ANTLR end "ruleJvmLowerBound" - // $ANTLR start "rule__OrExpression__Group_1__1" - // InternalExpression.g:2790:1: rule__OrExpression__Group_1__1 : rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 ; - public final void rule__OrExpression__Group_1__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmLowerBoundAnded" + // InternalExpression.g:2737:1: entryRuleJvmLowerBoundAnded : ruleJvmLowerBoundAnded EOF ; + public final void entryRuleJvmLowerBoundAnded() throws RecognitionException { try { - // InternalExpression.g:2794:1: ( rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 ) - // InternalExpression.g:2795:2: rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 + // InternalExpression.g:2738:1: ( ruleJvmLowerBoundAnded EOF ) + // InternalExpression.g:2739:1: ruleJvmLowerBoundAnded EOF { - pushFollow(FOLLOW_17); - rule__OrExpression__Group_1__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__OrExpression__Group_1__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAndedRule()); + } + pushFollow(FOLLOW_1); + ruleJvmLowerBoundAnded(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAndedRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9604,36 +9248,33 @@ public final void rule__OrExpression__Group_1__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__OrExpression__Group_1__1" + // $ANTLR end "entryRuleJvmLowerBoundAnded" - // $ANTLR start "rule__OrExpression__Group_1__1__Impl" - // InternalExpression.g:2802:1: rule__OrExpression__Group_1__1__Impl : ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) ; - public final void rule__OrExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmLowerBoundAnded" + // InternalExpression.g:2746:1: ruleJvmLowerBoundAnded : ( ( rule__JvmLowerBoundAnded__Group__0 ) ) ; + public final void ruleJvmLowerBoundAnded() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2806:1: ( ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) ) - // InternalExpression.g:2807:1: ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) + // InternalExpression.g:2750:2: ( ( ( rule__JvmLowerBoundAnded__Group__0 ) ) ) + // InternalExpression.g:2751:2: ( ( rule__JvmLowerBoundAnded__Group__0 ) ) { - // InternalExpression.g:2807:1: ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) - // InternalExpression.g:2808:2: ( rule__OrExpression__OperatorAssignment_1_1 ) + // InternalExpression.g:2751:2: ( ( rule__JvmLowerBoundAnded__Group__0 ) ) + // InternalExpression.g:2752:3: ( rule__JvmLowerBoundAnded__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); + before(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); } - // InternalExpression.g:2809:2: ( rule__OrExpression__OperatorAssignment_1_1 ) - // InternalExpression.g:2809:3: rule__OrExpression__OperatorAssignment_1_1 + // InternalExpression.g:2753:3: ( rule__JvmLowerBoundAnded__Group__0 ) + // InternalExpression.g:2753:4: rule__JvmLowerBoundAnded__Group__0 { pushFollow(FOLLOW_2); - rule__OrExpression__OperatorAssignment_1_1(); + rule__JvmLowerBoundAnded__Group__0(); state._fsp--; if (state.failed) return ; @@ -9641,7 +9282,7 @@ public final void rule__OrExpression__Group_1__1__Impl() throws RecognitionExcep } if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); + after(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); } } @@ -9661,24 +9302,28 @@ public final void rule__OrExpression__Group_1__1__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__OrExpression__Group_1__1__Impl" + // $ANTLR end "ruleJvmLowerBoundAnded" - // $ANTLR start "rule__OrExpression__Group_1__2" - // InternalExpression.g:2817:1: rule__OrExpression__Group_1__2 : rule__OrExpression__Group_1__2__Impl ; - public final void rule__OrExpression__Group_1__2() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleQualifiedNameWithWildcard" + // InternalExpression.g:2762:1: entryRuleQualifiedNameWithWildcard : ruleQualifiedNameWithWildcard EOF ; + public final void entryRuleQualifiedNameWithWildcard() throws RecognitionException { try { - // InternalExpression.g:2821:1: ( rule__OrExpression__Group_1__2__Impl ) - // InternalExpression.g:2822:2: rule__OrExpression__Group_1__2__Impl + // InternalExpression.g:2763:1: ( ruleQualifiedNameWithWildcard EOF ) + // InternalExpression.g:2764:1: ruleQualifiedNameWithWildcard EOF { - pushFollow(FOLLOW_2); - rule__OrExpression__Group_1__2__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameWithWildcardRule()); + } + pushFollow(FOLLOW_1); + ruleQualifiedNameWithWildcard(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameWithWildcardRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9688,36 +9333,33 @@ public final void rule__OrExpression__Group_1__2() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__OrExpression__Group_1__2" + // $ANTLR end "entryRuleQualifiedNameWithWildcard" - // $ANTLR start "rule__OrExpression__Group_1__2__Impl" - // InternalExpression.g:2828:1: rule__OrExpression__Group_1__2__Impl : ( ( rule__OrExpression__RightAssignment_1_2 ) ) ; - public final void rule__OrExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "ruleQualifiedNameWithWildcard" + // InternalExpression.g:2771:1: ruleQualifiedNameWithWildcard : ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) ; + public final void ruleQualifiedNameWithWildcard() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2832:1: ( ( ( rule__OrExpression__RightAssignment_1_2 ) ) ) - // InternalExpression.g:2833:1: ( ( rule__OrExpression__RightAssignment_1_2 ) ) + // InternalExpression.g:2775:2: ( ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) ) + // InternalExpression.g:2776:2: ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) { - // InternalExpression.g:2833:1: ( ( rule__OrExpression__RightAssignment_1_2 ) ) - // InternalExpression.g:2834:2: ( rule__OrExpression__RightAssignment_1_2 ) + // InternalExpression.g:2776:2: ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) + // InternalExpression.g:2777:3: ( rule__QualifiedNameWithWildcard__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); + before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); } - // InternalExpression.g:2835:2: ( rule__OrExpression__RightAssignment_1_2 ) - // InternalExpression.g:2835:3: rule__OrExpression__RightAssignment_1_2 + // InternalExpression.g:2778:3: ( rule__QualifiedNameWithWildcard__Group__0 ) + // InternalExpression.g:2778:4: rule__QualifiedNameWithWildcard__Group__0 { pushFollow(FOLLOW_2); - rule__OrExpression__RightAssignment_1_2(); + rule__QualifiedNameWithWildcard__Group__0(); state._fsp--; if (state.failed) return ; @@ -9725,7 +9367,7 @@ public final void rule__OrExpression__Group_1__2__Impl() throws RecognitionExcep } if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); + after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); } } @@ -9745,29 +9387,28 @@ public final void rule__OrExpression__Group_1__2__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__OrExpression__Group_1__2__Impl" - + // $ANTLR end "ruleQualifiedNameWithWildcard" - // $ANTLR start "rule__AndExpression__Group__0" - // InternalExpression.g:2844:1: rule__AndExpression__Group__0 : rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 ; - public final void rule__AndExpression__Group__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleValidID" + // InternalExpression.g:2787:1: entryRuleValidID : ruleValidID EOF ; + public final void entryRuleValidID() throws RecognitionException { try { - // InternalExpression.g:2848:1: ( rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 ) - // InternalExpression.g:2849:2: rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 + // InternalExpression.g:2788:1: ( ruleValidID EOF ) + // InternalExpression.g:2789:1: ruleValidID EOF { - pushFollow(FOLLOW_21); - rule__AndExpression__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__AndExpression__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getValidIDRule()); + } + pushFollow(FOLLOW_1); + ruleValidID(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getValidIDRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9777,38 +9418,31 @@ public final void rule__AndExpression__Group__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__AndExpression__Group__0" + // $ANTLR end "entryRuleValidID" - // $ANTLR start "rule__AndExpression__Group__0__Impl" - // InternalExpression.g:2856:1: rule__AndExpression__Group__0__Impl : ( ruleImpliesExpression ) ; - public final void rule__AndExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleValidID" + // InternalExpression.g:2796:1: ruleValidID : ( RULE_ID ) ; + public final void ruleValidID() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2860:1: ( ( ruleImpliesExpression ) ) - // InternalExpression.g:2861:1: ( ruleImpliesExpression ) + // InternalExpression.g:2800:2: ( ( RULE_ID ) ) + // InternalExpression.g:2801:2: ( RULE_ID ) { - // InternalExpression.g:2861:1: ( ruleImpliesExpression ) - // InternalExpression.g:2862:2: ruleImpliesExpression + // InternalExpression.g:2801:2: ( RULE_ID ) + // InternalExpression.g:2802:3: RULE_ID { if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); + before(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); } - pushFollow(FOLLOW_2); - ruleImpliesExpression(); - - state._fsp--; - if (state.failed) return ; + match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); + after(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); } } @@ -9828,24 +9462,28 @@ public final void rule__AndExpression__Group__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__AndExpression__Group__0__Impl" - + // $ANTLR end "ruleValidID" - // $ANTLR start "rule__AndExpression__Group__1" - // InternalExpression.g:2871:1: rule__AndExpression__Group__1 : rule__AndExpression__Group__1__Impl ; - public final void rule__AndExpression__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXImportDeclaration" + // InternalExpression.g:2812:1: entryRuleXImportDeclaration : ruleXImportDeclaration EOF ; + public final void entryRuleXImportDeclaration() throws RecognitionException { try { - // InternalExpression.g:2875:1: ( rule__AndExpression__Group__1__Impl ) - // InternalExpression.g:2876:2: rule__AndExpression__Group__1__Impl + // InternalExpression.g:2813:1: ( ruleXImportDeclaration EOF ) + // InternalExpression.g:2814:1: ruleXImportDeclaration EOF { - pushFollow(FOLLOW_2); - rule__AndExpression__Group__1__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationRule()); + } + pushFollow(FOLLOW_1); + ruleXImportDeclaration(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9855,62 +9493,41 @@ public final void rule__AndExpression__Group__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__AndExpression__Group__1" + // $ANTLR end "entryRuleXImportDeclaration" - // $ANTLR start "rule__AndExpression__Group__1__Impl" - // InternalExpression.g:2882:1: rule__AndExpression__Group__1__Impl : ( ( rule__AndExpression__Group_1__0 )* ) ; - public final void rule__AndExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXImportDeclaration" + // InternalExpression.g:2821:1: ruleXImportDeclaration : ( ( rule__XImportDeclaration__Group__0 ) ) ; + public final void ruleXImportDeclaration() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2886:1: ( ( ( rule__AndExpression__Group_1__0 )* ) ) - // InternalExpression.g:2887:1: ( ( rule__AndExpression__Group_1__0 )* ) + // InternalExpression.g:2825:2: ( ( ( rule__XImportDeclaration__Group__0 ) ) ) + // InternalExpression.g:2826:2: ( ( rule__XImportDeclaration__Group__0 ) ) { - // InternalExpression.g:2887:1: ( ( rule__AndExpression__Group_1__0 )* ) - // InternalExpression.g:2888:2: ( rule__AndExpression__Group_1__0 )* + // InternalExpression.g:2826:2: ( ( rule__XImportDeclaration__Group__0 ) ) + // InternalExpression.g:2827:3: ( rule__XImportDeclaration__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getGroup_1()); + before(grammarAccess.getXImportDeclarationAccess().getGroup()); } - // InternalExpression.g:2889:2: ( rule__AndExpression__Group_1__0 )* - loop23: - do { - int alt23=2; - int LA23_0 = input.LA(1); - - if ( (LA23_0==60) ) { - alt23=1; - } - - - switch (alt23) { - case 1 : - // InternalExpression.g:2889:3: rule__AndExpression__Group_1__0 - { - pushFollow(FOLLOW_22); - rule__AndExpression__Group_1__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:2828:3: ( rule__XImportDeclaration__Group__0 ) + // InternalExpression.g:2828:4: rule__XImportDeclaration__Group__0 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop23; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getGroup_1()); + after(grammarAccess.getXImportDeclarationAccess().getGroup()); } } @@ -9930,29 +9547,28 @@ public final void rule__AndExpression__Group__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__AndExpression__Group__1__Impl" + // $ANTLR end "ruleXImportDeclaration" - // $ANTLR start "rule__AndExpression__Group_1__0" - // InternalExpression.g:2898:1: rule__AndExpression__Group_1__0 : rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 ; - public final void rule__AndExpression__Group_1__0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleQualifiedNameInStaticImport" + // InternalExpression.g:2837:1: entryRuleQualifiedNameInStaticImport : ruleQualifiedNameInStaticImport EOF ; + public final void entryRuleQualifiedNameInStaticImport() throws RecognitionException { try { - // InternalExpression.g:2902:1: ( rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 ) - // InternalExpression.g:2903:2: rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 + // InternalExpression.g:2838:1: ( ruleQualifiedNameInStaticImport EOF ) + // InternalExpression.g:2839:1: ruleQualifiedNameInStaticImport EOF { - pushFollow(FOLLOW_21); - rule__AndExpression__Group_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__AndExpression__Group_1__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameInStaticImportRule()); + } + pushFollow(FOLLOW_1); + ruleQualifiedNameInStaticImport(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameInStaticImportRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9962,124 +9578,95 @@ public final void rule__AndExpression__Group_1__0() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__AndExpression__Group_1__0" + // $ANTLR end "entryRuleQualifiedNameInStaticImport" - // $ANTLR start "rule__AndExpression__Group_1__0__Impl" - // InternalExpression.g:2910:1: rule__AndExpression__Group_1__0__Impl : ( () ) ; - public final void rule__AndExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "ruleQualifiedNameInStaticImport" + // InternalExpression.g:2846:1: ruleQualifiedNameInStaticImport : ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) ; + public final void ruleQualifiedNameInStaticImport() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2914:1: ( ( () ) ) - // InternalExpression.g:2915:1: ( () ) + // InternalExpression.g:2850:2: ( ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) ) + // InternalExpression.g:2851:2: ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) + { + // InternalExpression.g:2851:2: ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) + // InternalExpression.g:2852:3: ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) { - // InternalExpression.g:2915:1: ( () ) - // InternalExpression.g:2916:2: () + // InternalExpression.g:2852:3: ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) + // InternalExpression.g:2853:4: ( rule__QualifiedNameInStaticImport__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); + before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } - // InternalExpression.g:2917:2: () - // InternalExpression.g:2917:3: + // InternalExpression.g:2854:4: ( rule__QualifiedNameInStaticImport__Group__0 ) + // InternalExpression.g:2854:5: rule__QualifiedNameInStaticImport__Group__0 { + pushFollow(FOLLOW_3); + rule__QualifiedNameInStaticImport__Group__0(); + + state._fsp--; + if (state.failed) return ; + } if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); + after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } } - + // InternalExpression.g:2857:3: ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) + // InternalExpression.g:2858:4: ( rule__QualifiedNameInStaticImport__Group__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } + // InternalExpression.g:2859:4: ( rule__QualifiedNameInStaticImport__Group__0 )* + loop1: + do { + int alt1=2; + int LA1_0 = input.LA(1); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__AndExpression__Group_1__0__Impl" - - - // $ANTLR start "rule__AndExpression__Group_1__1" - // InternalExpression.g:2925:1: rule__AndExpression__Group_1__1 : rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 ; - public final void rule__AndExpression__Group_1__1() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:2929:1: ( rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 ) - // InternalExpression.g:2930:2: rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 - { - pushFollow(FOLLOW_17); - rule__AndExpression__Group_1__1__Impl(); + if ( (LA1_0==RULE_ID) ) { + int LA1_2 = input.LA(2); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__AndExpression__Group_1__2(); + if ( (LA1_2==58) ) { + alt1=1; + } - state._fsp--; - if (state.failed) return ; - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + switch (alt1) { + case 1 : + // InternalExpression.g:2859:5: rule__QualifiedNameInStaticImport__Group__0 + { + pushFollow(FOLLOW_3); + rule__QualifiedNameInStaticImport__Group__0(); - } - return ; - } - // $ANTLR end "rule__AndExpression__Group_1__1" + state._fsp--; + if (state.failed) return ; + } + break; - // $ANTLR start "rule__AndExpression__Group_1__1__Impl" - // InternalExpression.g:2937:1: rule__AndExpression__Group_1__1__Impl : ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) ; - public final void rule__AndExpression__Group_1__1__Impl() throws RecognitionException { + default : + break loop1; + } + } while (true); - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:2941:1: ( ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) ) - // InternalExpression.g:2942:1: ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) - { - // InternalExpression.g:2942:1: ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) - // InternalExpression.g:2943:2: ( rule__AndExpression__OperatorAssignment_1_1 ) - { if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); + after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } - // InternalExpression.g:2944:2: ( rule__AndExpression__OperatorAssignment_1_1 ) - // InternalExpression.g:2944:3: rule__AndExpression__OperatorAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__AndExpression__OperatorAssignment_1_1(); - - state._fsp--; - if (state.failed) return ; } - if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); - } } @@ -10098,78 +9685,97 @@ public final void rule__AndExpression__Group_1__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__AndExpression__Group_1__1__Impl" + // $ANTLR end "ruleQualifiedNameInStaticImport" - // $ANTLR start "rule__AndExpression__Group_1__2" - // InternalExpression.g:2952:1: rule__AndExpression__Group_1__2 : rule__AndExpression__Group_1__2__Impl ; - public final void rule__AndExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__Expression__Alternatives" + // InternalExpression.g:2868:1: rule__Expression__Alternatives : ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) ); + public final void rule__Expression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2956:1: ( rule__AndExpression__Group_1__2__Impl ) - // InternalExpression.g:2957:2: rule__AndExpression__Group_1__2__Impl - { - pushFollow(FOLLOW_2); - rule__AndExpression__Group_1__2__Impl(); - - state._fsp--; - if (state.failed) return ; - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + // InternalExpression.g:2872:1: ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) ) + int alt2=3; + alt2 = dfa2.predict(input); + switch (alt2) { + case 1 : + // InternalExpression.g:2873:2: ( ruleLetExpression ) + { + // InternalExpression.g:2873:2: ( ruleLetExpression ) + // InternalExpression.g:2874:3: ruleLetExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleLetExpression(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); + } - } - return ; - } - // $ANTLR end "rule__AndExpression__Group_1__2" + } - // $ANTLR start "rule__AndExpression__Group_1__2__Impl" - // InternalExpression.g:2963:1: rule__AndExpression__Group_1__2__Impl : ( ( rule__AndExpression__RightAssignment_1_2 ) ) ; - public final void rule__AndExpression__Group_1__2__Impl() throws RecognitionException { + } + break; + case 2 : + // InternalExpression.g:2879:2: ( ( ruleCastedExpression ) ) + { + // InternalExpression.g:2879:2: ( ( ruleCastedExpression ) ) + // InternalExpression.g:2880:3: ( ruleCastedExpression ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); + } + // InternalExpression.g:2881:3: ( ruleCastedExpression ) + // InternalExpression.g:2881:4: ruleCastedExpression + { + pushFollow(FOLLOW_2); + ruleCastedExpression(); - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:2967:1: ( ( ( rule__AndExpression__RightAssignment_1_2 ) ) ) - // InternalExpression.g:2968:1: ( ( rule__AndExpression__RightAssignment_1_2 ) ) - { - // InternalExpression.g:2968:1: ( ( rule__AndExpression__RightAssignment_1_2 ) ) - // InternalExpression.g:2969:2: ( rule__AndExpression__RightAssignment_1_2 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); - } - // InternalExpression.g:2970:2: ( rule__AndExpression__RightAssignment_1_2 ) - // InternalExpression.g:2970:3: rule__AndExpression__RightAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__AndExpression__RightAssignment_1_2(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); - } + } - } + } + break; + case 3 : + // InternalExpression.g:2885:2: ( ruleChainExpression ) + { + // InternalExpression.g:2885:2: ( ruleChainExpression ) + // InternalExpression.g:2886:3: ruleChainExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleChainExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); + } + + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -10182,77 +9788,138 @@ public final void rule__AndExpression__Group_1__2__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__AndExpression__Group_1__2__Impl" + // $ANTLR end "rule__Expression__Alternatives" - // $ANTLR start "rule__ImpliesExpression__Group__0" - // InternalExpression.g:2979:1: rule__ImpliesExpression__Group__0 : rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 ; - public final void rule__ImpliesExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__ChainedExpression__Alternatives" + // InternalExpression.g:2895:1: rule__ChainedExpression__Alternatives : ( ( ruleIfExpressionKw ) | ( ruleIfExpressionTri ) | ( ruleSwitchExpression ) ); + public final void rule__ChainedExpression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:2983:1: ( rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 ) - // InternalExpression.g:2984:2: rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 - { - pushFollow(FOLLOW_23); - rule__ImpliesExpression__Group__0__Impl(); + // InternalExpression.g:2899:1: ( ( ruleIfExpressionKw ) | ( ruleIfExpressionTri ) | ( ruleSwitchExpression ) ) + int alt3=3; + switch ( input.LA(1) ) { + case 70: + { + alt3=1; + } + break; + case RULE_ID: + case RULE_INT: + case RULE_REAL: + case RULE_STRING: + case 24: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + case 39: + case 40: + case 67: + case 74: + case 80: + case 81: + case 92: + case 102: + { + alt3=2; + } + break; + case 73: + { + alt3=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 3, 0, input); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ImpliesExpression__Group__1(); + throw nvae; + } - state._fsp--; - if (state.failed) return ; + switch (alt3) { + case 1 : + // InternalExpression.g:2900:2: ( ruleIfExpressionKw ) + { + // InternalExpression.g:2900:2: ( ruleIfExpressionKw ) + // InternalExpression.g:2901:3: ruleIfExpressionKw + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleIfExpressionKw(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__ImpliesExpression__Group__0" + } + break; + case 2 : + // InternalExpression.g:2906:2: ( ruleIfExpressionTri ) + { + // InternalExpression.g:2906:2: ( ruleIfExpressionTri ) + // InternalExpression.g:2907:3: ruleIfExpressionTri + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleIfExpressionTri(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); + } - // $ANTLR start "rule__ImpliesExpression__Group__0__Impl" - // InternalExpression.g:2991:1: rule__ImpliesExpression__Group__0__Impl : ( ruleRelationalExpression ) ; - public final void rule__ImpliesExpression__Group__0__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:2995:1: ( ( ruleRelationalExpression ) ) - // InternalExpression.g:2996:1: ( ruleRelationalExpression ) - { - // InternalExpression.g:2996:1: ( ruleRelationalExpression ) - // InternalExpression.g:2997:2: ruleRelationalExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleRelationalExpression(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); - } + } + break; + case 3 : + // InternalExpression.g:2912:2: ( ruleSwitchExpression ) + { + // InternalExpression.g:2912:2: ( ruleSwitchExpression ) + // InternalExpression.g:2913:3: ruleSwitchExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleSwitchExpression(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); + } + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -10265,96 +9932,174 @@ public final void rule__ImpliesExpression__Group__0__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ImpliesExpression__Group__0__Impl" + // $ANTLR end "rule__ChainedExpression__Alternatives" - // $ANTLR start "rule__ImpliesExpression__Group__1" - // InternalExpression.g:3006:1: rule__ImpliesExpression__Group__1 : rule__ImpliesExpression__Group__1__Impl ; - public final void rule__ImpliesExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__OperatorAlternatives_1_1_0" + // InternalExpression.g:2922:1: rule__RelationalExpression__OperatorAlternatives_1_1_0 : ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ); + public final void rule__RelationalExpression__OperatorAlternatives_1_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3010:1: ( rule__ImpliesExpression__Group__1__Impl ) - // InternalExpression.g:3011:2: rule__ImpliesExpression__Group__1__Impl - { - pushFollow(FOLLOW_2); - rule__ImpliesExpression__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:2926:1: ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ) + int alt4=6; + switch ( input.LA(1) ) { + case 17: + { + alt4=1; + } + break; + case 18: + { + alt4=2; + } + break; + case 19: + { + alt4=3; + } + break; + case 20: + { + alt4=4; + } + break; + case 21: + { + alt4=5; + } + break; + case 22: + { + alt4=6; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 4, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + switch (alt4) { + case 1 : + // InternalExpression.g:2927:2: ( '==' ) + { + // InternalExpression.g:2927:2: ( '==' ) + // InternalExpression.g:2928:3: '==' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); + } + match(input,17,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__ImpliesExpression__Group__1" + } + break; + case 2 : + // InternalExpression.g:2933:2: ( '!=' ) + { + // InternalExpression.g:2933:2: ( '!=' ) + // InternalExpression.g:2934:3: '!=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); + } + match(input,18,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); + } + + } - // $ANTLR start "rule__ImpliesExpression__Group__1__Impl" - // InternalExpression.g:3017:1: rule__ImpliesExpression__Group__1__Impl : ( ( rule__ImpliesExpression__Group_1__0 )* ) ; - public final void rule__ImpliesExpression__Group__1__Impl() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3021:1: ( ( ( rule__ImpliesExpression__Group_1__0 )* ) ) - // InternalExpression.g:3022:1: ( ( rule__ImpliesExpression__Group_1__0 )* ) - { - // InternalExpression.g:3022:1: ( ( rule__ImpliesExpression__Group_1__0 )* ) - // InternalExpression.g:3023:2: ( rule__ImpliesExpression__Group_1__0 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getGroup_1()); - } - // InternalExpression.g:3024:2: ( rule__ImpliesExpression__Group_1__0 )* - loop24: - do { - int alt24=2; - int LA24_0 = input.LA(1); + } + break; + case 3 : + // InternalExpression.g:2939:2: ( '>=' ) + { + // InternalExpression.g:2939:2: ( '>=' ) + // InternalExpression.g:2940:3: '>=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); + } + match(input,19,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); + } - if ( (LA24_0==61) ) { - alt24=1; - } + } - switch (alt24) { - case 1 : - // InternalExpression.g:3024:3: rule__ImpliesExpression__Group_1__0 - { - pushFollow(FOLLOW_24); - rule__ImpliesExpression__Group_1__0(); + } + break; + case 4 : + // InternalExpression.g:2945:2: ( '<=' ) + { + // InternalExpression.g:2945:2: ( '<=' ) + // InternalExpression.g:2946:3: '<=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); + } + match(input,20,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); + } - state._fsp--; - if (state.failed) return ; + } - } - break; - default : - break loop24; - } - } while (true); + } + break; + case 5 : + // InternalExpression.g:2951:2: ( '>' ) + { + // InternalExpression.g:2951:2: ( '>' ) + // InternalExpression.g:2952:3: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getGroup_1()); - } + } - } + + } + break; + case 6 : + // InternalExpression.g:2957:2: ( '<' ) + { + // InternalExpression.g:2957:2: ( '<' ) + // InternalExpression.g:2958:3: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); + } + + } - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -10367,32 +10112,74 @@ public final void rule__ImpliesExpression__Group__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ImpliesExpression__Group__1__Impl" + // $ANTLR end "rule__RelationalExpression__OperatorAlternatives_1_1_0" - // $ANTLR start "rule__ImpliesExpression__Group_1__0" - // InternalExpression.g:3033:1: rule__ImpliesExpression__Group_1__0 : rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 ; - public final void rule__ImpliesExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__NameAlternatives_1_1_0" + // InternalExpression.g:2967:1: rule__AdditiveExpression__NameAlternatives_1_1_0 : ( ( '+' ) | ( '-' ) ); + public final void rule__AdditiveExpression__NameAlternatives_1_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3037:1: ( rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 ) - // InternalExpression.g:3038:2: rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 - { - pushFollow(FOLLOW_23); - rule__ImpliesExpression__Group_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ImpliesExpression__Group_1__1(); + // InternalExpression.g:2971:1: ( ( '+' ) | ( '-' ) ) + int alt5=2; + int LA5_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA5_0==23) ) { + alt5=1; + } + else if ( (LA5_0==24) ) { + alt5=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); + throw nvae; } + switch (alt5) { + case 1 : + // InternalExpression.g:2972:2: ( '+' ) + { + // InternalExpression.g:2972:2: ( '+' ) + // InternalExpression.g:2973:3: '+' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); + } + match(input,23,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); + } + + } + + + } + break; + case 2 : + // InternalExpression.g:2978:2: ( '-' ) + { + // InternalExpression.g:2978:2: ( '-' ) + // InternalExpression.g:2979:3: '-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); + } + match(input,24,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -10405,73 +10192,74 @@ public final void rule__ImpliesExpression__Group_1__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ImpliesExpression__Group_1__0" + // $ANTLR end "rule__AdditiveExpression__NameAlternatives_1_1_0" - // $ANTLR start "rule__ImpliesExpression__Group_1__0__Impl" - // InternalExpression.g:3045:1: rule__ImpliesExpression__Group_1__0__Impl : ( () ) ; - public final void rule__ImpliesExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__NameAlternatives_1_1_0" + // InternalExpression.g:2988:1: rule__MultiplicativeExpression__NameAlternatives_1_1_0 : ( ( '*' ) | ( '/' ) ); + public final void rule__MultiplicativeExpression__NameAlternatives_1_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3049:1: ( ( () ) ) - // InternalExpression.g:3050:1: ( () ) - { - // InternalExpression.g:3050:1: ( () ) - // InternalExpression.g:3051:2: () - { - if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); - } - // InternalExpression.g:3052:2: () - // InternalExpression.g:3052:3: - { - } + // InternalExpression.g:2992:1: ( ( '*' ) | ( '/' ) ) + int alt6=2; + int LA6_0 = input.LA(1); - if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); + if ( (LA6_0==25) ) { + alt6=1; } - + else if ( (LA6_0==26) ) { + alt6=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 6, 0, input); - + throw nvae; } + switch (alt6) { + case 1 : + // InternalExpression.g:2993:2: ( '*' ) + { + // InternalExpression.g:2993:2: ( '*' ) + // InternalExpression.g:2994:3: '*' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); + } + match(input,25,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); + } - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__ImpliesExpression__Group_1__0__Impl" + } - // $ANTLR start "rule__ImpliesExpression__Group_1__1" - // InternalExpression.g:3060:1: rule__ImpliesExpression__Group_1__1 : rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 ; - public final void rule__ImpliesExpression__Group_1__1() throws RecognitionException { + } + break; + case 2 : + // InternalExpression.g:2999:2: ( '/' ) + { + // InternalExpression.g:2999:2: ( '/' ) + // InternalExpression.g:3000:3: '/' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); + } + match(input,26,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3064:1: ( rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 ) - // InternalExpression.g:3065:2: rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 - { - pushFollow(FOLLOW_17); - rule__ImpliesExpression__Group_1__1__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ImpliesExpression__Group_1__2(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -10484,45 +10272,82 @@ public final void rule__ImpliesExpression__Group_1__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ImpliesExpression__Group_1__1" + // $ANTLR end "rule__MultiplicativeExpression__NameAlternatives_1_1_0" - // $ANTLR start "rule__ImpliesExpression__Group_1__1__Impl" - // InternalExpression.g:3072:1: rule__ImpliesExpression__Group_1__1__Impl : ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) ; - public final void rule__ImpliesExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__UnaryOrInfixExpression__Alternatives" + // InternalExpression.g:3009:1: rule__UnaryOrInfixExpression__Alternatives : ( ( ruleUnaryExpression ) | ( ruleInfixExpression ) ); + public final void rule__UnaryOrInfixExpression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3076:1: ( ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) ) - // InternalExpression.g:3077:1: ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) - { - // InternalExpression.g:3077:1: ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) - // InternalExpression.g:3078:2: ( rule__ImpliesExpression__OperatorAssignment_1_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); - } - // InternalExpression.g:3079:2: ( rule__ImpliesExpression__OperatorAssignment_1_1 ) - // InternalExpression.g:3079:3: rule__ImpliesExpression__OperatorAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__ImpliesExpression__OperatorAssignment_1_1(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:3013:1: ( ( ruleUnaryExpression ) | ( ruleInfixExpression ) ) + int alt7=2; + int LA7_0 = input.LA(1); + if ( (LA7_0==24||LA7_0==27) ) { + alt7=1; } - - if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); + else if ( (LA7_0==RULE_ID||LA7_0==RULE_INT||(LA7_0>=RULE_REAL && LA7_0<=RULE_STRING)||(LA7_0>=28 && LA7_0<=40)||LA7_0==67||LA7_0==74||(LA7_0>=80 && LA7_0<=81)||LA7_0==92||LA7_0==102) ) { + alt7=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 7, 0, input); + throw nvae; } + switch (alt7) { + case 1 : + // InternalExpression.g:3014:2: ( ruleUnaryExpression ) + { + // InternalExpression.g:3014:2: ( ruleUnaryExpression ) + // InternalExpression.g:3015:3: ruleUnaryExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleUnaryExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); + } + + } - } + } + break; + case 2 : + // InternalExpression.g:3020:2: ( ruleInfixExpression ) + { + // InternalExpression.g:3020:2: ( ruleInfixExpression ) + // InternalExpression.g:3021:3: ruleInfixExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleInfixExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); + } + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -10535,27 +10360,74 @@ public final void rule__ImpliesExpression__Group_1__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__ImpliesExpression__Group_1__1__Impl" + // $ANTLR end "rule__UnaryOrInfixExpression__Alternatives" - // $ANTLR start "rule__ImpliesExpression__Group_1__2" - // InternalExpression.g:3087:1: rule__ImpliesExpression__Group_1__2 : rule__ImpliesExpression__Group_1__2__Impl ; - public final void rule__ImpliesExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__UnaryExpression__NameAlternatives_0_0" + // InternalExpression.g:3030:1: rule__UnaryExpression__NameAlternatives_0_0 : ( ( '!' ) | ( '-' ) ); + public final void rule__UnaryExpression__NameAlternatives_0_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3091:1: ( rule__ImpliesExpression__Group_1__2__Impl ) - // InternalExpression.g:3092:2: rule__ImpliesExpression__Group_1__2__Impl - { - pushFollow(FOLLOW_2); - rule__ImpliesExpression__Group_1__2__Impl(); + // InternalExpression.g:3034:1: ( ( '!' ) | ( '-' ) ) + int alt8=2; + int LA8_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA8_0==27) ) { + alt8=1; + } + else if ( (LA8_0==24) ) { + alt8=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 8, 0, input); + throw nvae; } + switch (alt8) { + case 1 : + // InternalExpression.g:3035:2: ( '!' ) + { + // InternalExpression.g:3035:2: ( '!' ) + // InternalExpression.g:3036:3: '!' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); + } + match(input,27,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); + } + + } + + + } + break; + case 2 : + // InternalExpression.g:3041:2: ( '-' ) + { + // InternalExpression.g:3041:2: ( '-' ) + // InternalExpression.g:3042:3: '-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); + } + match(input,24,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -10568,128 +10440,200 @@ public final void rule__ImpliesExpression__Group_1__2() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ImpliesExpression__Group_1__2" + // $ANTLR end "rule__UnaryExpression__NameAlternatives_0_0" - // $ANTLR start "rule__ImpliesExpression__Group_1__2__Impl" - // InternalExpression.g:3098:1: rule__ImpliesExpression__Group_1__2__Impl : ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) ; - public final void rule__ImpliesExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Alternatives_1" + // InternalExpression.g:3051:1: rule__InfixExpression__Alternatives_1 : ( ( ( rule__InfixExpression__Group_1_0__0 ) ) | ( ( rule__InfixExpression__Group_1_1__0 ) ) | ( ( rule__InfixExpression__Group_1_2__0 ) ) | ( ( rule__InfixExpression__Group_1_3__0 ) ) ); + public final void rule__InfixExpression__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3102:1: ( ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) ) - // InternalExpression.g:3103:1: ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) - { - // InternalExpression.g:3103:1: ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) - // InternalExpression.g:3104:2: ( rule__ImpliesExpression__RightAssignment_1_2 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); - } - // InternalExpression.g:3105:2: ( rule__ImpliesExpression__RightAssignment_1_2 ) - // InternalExpression.g:3105:3: rule__ImpliesExpression__RightAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__ImpliesExpression__RightAssignment_1_2(); + // InternalExpression.g:3055:1: ( ( ( rule__InfixExpression__Group_1_0__0 ) ) | ( ( rule__InfixExpression__Group_1_1__0 ) ) | ( ( rule__InfixExpression__Group_1_2__0 ) ) | ( ( rule__InfixExpression__Group_1_3__0 ) ) ) + int alt9=4; + int LA9_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA9_0==58) ) { + switch ( input.LA(2) ) { + case 38: + case 39: + case 40: + { + alt9=2; + } + break; + case RULE_ID: + { + int LA9_3 = input.LA(3); - } + if ( (LA9_3==67) ) { + alt9=1; + } + else if ( (LA9_3==EOF||(LA9_3>=15 && LA9_3<=26)||LA9_3==48||LA9_3==58||LA9_3==66||(LA9_3>=68 && LA9_3<=69)||(LA9_3>=71 && LA9_3<=72)||(LA9_3>=75 && LA9_3<=78)||LA9_3==84||LA9_3==101) ) { + alt9=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 9, 3, input); + + throw nvae; + } + } + break; + case 102: + { + alt9=3; + } + break; + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + { + alt9=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 9, 1, input); + + throw nvae; + } - if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 9, 0, input); + throw nvae; } + switch (alt9) { + case 1 : + // InternalExpression.g:3056:2: ( ( rule__InfixExpression__Group_1_0__0 ) ) + { + // InternalExpression.g:3056:2: ( ( rule__InfixExpression__Group_1_0__0 ) ) + // InternalExpression.g:3057:3: ( rule__InfixExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); + } + // InternalExpression.g:3058:3: ( rule__InfixExpression__Group_1_0__0 ) + // InternalExpression.g:3058:4: rule__InfixExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__0(); + state._fsp--; + if (state.failed) return ; - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__ImpliesExpression__Group_1__2__Impl" + } + break; + case 2 : + // InternalExpression.g:3062:2: ( ( rule__InfixExpression__Group_1_1__0 ) ) + { + // InternalExpression.g:3062:2: ( ( rule__InfixExpression__Group_1_1__0 ) ) + // InternalExpression.g:3063:3: ( rule__InfixExpression__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); + } + // InternalExpression.g:3064:3: ( rule__InfixExpression__Group_1_1__0 ) + // InternalExpression.g:3064:4: rule__InfixExpression__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_1__0(); - // $ANTLR start "rule__RelationalExpression__Group__0" - // InternalExpression.g:3114:1: rule__RelationalExpression__Group__0 : rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 ; - public final void rule__RelationalExpression__Group__0() throws RecognitionException { + state._fsp--; + if (state.failed) return ; - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3118:1: ( rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 ) - // InternalExpression.g:3119:2: rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 - { - pushFollow(FOLLOW_25); - rule__RelationalExpression__Group__0__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__RelationalExpression__Group__1(); + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); + } - state._fsp--; - if (state.failed) return ; + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 3 : + // InternalExpression.g:3068:2: ( ( rule__InfixExpression__Group_1_2__0 ) ) + { + // InternalExpression.g:3068:2: ( ( rule__InfixExpression__Group_1_2__0 ) ) + // InternalExpression.g:3069:3: ( rule__InfixExpression__Group_1_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); + } + // InternalExpression.g:3070:3: ( rule__InfixExpression__Group_1_2__0 ) + // InternalExpression.g:3070:4: rule__InfixExpression__Group_1_2__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__0(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; - } - return ; - } - // $ANTLR end "rule__RelationalExpression__Group__0" + } + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); + } - // $ANTLR start "rule__RelationalExpression__Group__0__Impl" - // InternalExpression.g:3126:1: rule__RelationalExpression__Group__0__Impl : ( ruleAdditiveExpression ) ; - public final void rule__RelationalExpression__Group__0__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3130:1: ( ( ruleAdditiveExpression ) ) - // InternalExpression.g:3131:1: ( ruleAdditiveExpression ) - { - // InternalExpression.g:3131:1: ( ruleAdditiveExpression ) - // InternalExpression.g:3132:2: ruleAdditiveExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleAdditiveExpression(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); - } + } + break; + case 4 : + // InternalExpression.g:3074:2: ( ( rule__InfixExpression__Group_1_3__0 ) ) + { + // InternalExpression.g:3074:2: ( ( rule__InfixExpression__Group_1_3__0 ) ) + // InternalExpression.g:3075:3: ( rule__InfixExpression__Group_1_3__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); + } + // InternalExpression.g:3076:3: ( rule__InfixExpression__Group_1_3__0 ) + // InternalExpression.g:3076:4: rule__InfixExpression__Group_1_3__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__0(); - } + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); + } + + } - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -10702,96 +10646,222 @@ public final void rule__RelationalExpression__Group__0__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__RelationalExpression__Group__0__Impl" + // $ANTLR end "rule__InfixExpression__Alternatives_1" - // $ANTLR start "rule__RelationalExpression__Group__1" - // InternalExpression.g:3141:1: rule__RelationalExpression__Group__1 : rule__RelationalExpression__Group__1__Impl ; - public final void rule__RelationalExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__NameAlternatives_1_3_2_0" + // InternalExpression.g:3084:1: rule__InfixExpression__NameAlternatives_1_3_2_0 : ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ); + public final void rule__InfixExpression__NameAlternatives_1_3_2_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3145:1: ( rule__RelationalExpression__Group__1__Impl ) - // InternalExpression.g:3146:2: rule__RelationalExpression__Group__1__Impl - { - pushFollow(FOLLOW_2); - rule__RelationalExpression__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:3088:1: ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) + int alt10=8; + switch ( input.LA(1) ) { + case 28: + { + alt10=1; + } + break; + case 29: + { + alt10=2; + } + break; + case 30: + { + alt10=3; + } + break; + case 31: + { + alt10=4; + } + break; + case 32: + { + alt10=5; + } + break; + case 33: + { + alt10=6; + } + break; + case 34: + { + alt10=7; + } + break; + case 35: + { + alt10=8; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 10, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + switch (alt10) { + case 1 : + // InternalExpression.g:3089:2: ( 'collect' ) + { + // InternalExpression.g:3089:2: ( 'collect' ) + // InternalExpression.g:3090:3: 'collect' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); + } + match(input,28,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__RelationalExpression__Group__1" + } + break; + case 2 : + // InternalExpression.g:3095:2: ( 'select' ) + { + // InternalExpression.g:3095:2: ( 'select' ) + // InternalExpression.g:3096:3: 'select' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); + } + match(input,29,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); + } - // $ANTLR start "rule__RelationalExpression__Group__1__Impl" - // InternalExpression.g:3152:1: rule__RelationalExpression__Group__1__Impl : ( ( rule__RelationalExpression__Group_1__0 )* ) ; - public final void rule__RelationalExpression__Group__1__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3156:1: ( ( ( rule__RelationalExpression__Group_1__0 )* ) ) - // InternalExpression.g:3157:1: ( ( rule__RelationalExpression__Group_1__0 )* ) - { - // InternalExpression.g:3157:1: ( ( rule__RelationalExpression__Group_1__0 )* ) - // InternalExpression.g:3158:2: ( rule__RelationalExpression__Group_1__0 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getGroup_1()); - } - // InternalExpression.g:3159:2: ( rule__RelationalExpression__Group_1__0 )* - loop25: - do { - int alt25=2; - int LA25_0 = input.LA(1); - if ( ((LA25_0>=12 && LA25_0<=17)) ) { - alt25=1; - } + } + break; + case 3 : + // InternalExpression.g:3101:2: ( 'selectFirst' ) + { + // InternalExpression.g:3101:2: ( 'selectFirst' ) + // InternalExpression.g:3102:3: 'selectFirst' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); + } + match(input,30,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); + } + } - switch (alt25) { - case 1 : - // InternalExpression.g:3159:3: rule__RelationalExpression__Group_1__0 - { - pushFollow(FOLLOW_26); - rule__RelationalExpression__Group_1__0(); - state._fsp--; - if (state.failed) return ; + } + break; + case 4 : + // InternalExpression.g:3107:2: ( 'reject' ) + { + // InternalExpression.g:3107:2: ( 'reject' ) + // InternalExpression.g:3108:3: 'reject' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); + } + match(input,31,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); + } - } - break; + } - default : - break loop25; - } - } while (true); - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getGroup_1()); - } + } + break; + case 5 : + // InternalExpression.g:3113:2: ( 'exists' ) + { + // InternalExpression.g:3113:2: ( 'exists' ) + // InternalExpression.g:3114:3: 'exists' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); + } + match(input,32,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); + } - } + } - } + } + break; + case 6 : + // InternalExpression.g:3119:2: ( 'notExists' ) + { + // InternalExpression.g:3119:2: ( 'notExists' ) + // InternalExpression.g:3120:3: 'notExists' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); + } + match(input,33,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); + } + + } + + + } + break; + case 7 : + // InternalExpression.g:3125:2: ( 'sortBy' ) + { + // InternalExpression.g:3125:2: ( 'sortBy' ) + // InternalExpression.g:3126:3: 'sortBy' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); + } + match(input,34,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); + } + + } + + } + break; + case 8 : + // InternalExpression.g:3131:2: ( 'forAll' ) + { + // InternalExpression.g:3131:2: ( 'forAll' ) + // InternalExpression.g:3132:3: 'forAll' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); + } + match(input,35,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -10804,162 +10874,215 @@ public final void rule__RelationalExpression__Group__1__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__RelationalExpression__Group__1__Impl" + // $ANTLR end "rule__InfixExpression__NameAlternatives_1_3_2_0" - // $ANTLR start "rule__RelationalExpression__Group_1__0" - // InternalExpression.g:3168:1: rule__RelationalExpression__Group_1__0 : rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 ; - public final void rule__RelationalExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__PrimaryExpression__Alternatives" + // InternalExpression.g:3141:1: rule__PrimaryExpression__Alternatives : ( ( ruleLiteral ) | ( ruleFeatureCall ) | ( ruleListLiteral ) | ( ruleConstructorCallExpression ) | ( ruleGlobalVarExpression ) | ( ruleParanthesizedExpression ) ); + public final void rule__PrimaryExpression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3172:1: ( rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 ) - // InternalExpression.g:3173:2: rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 - { - pushFollow(FOLLOW_25); - rule__RelationalExpression__Group_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__RelationalExpression__Group_1__1(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:3145:1: ( ( ruleLiteral ) | ( ruleFeatureCall ) | ( ruleListLiteral ) | ( ruleConstructorCallExpression ) | ( ruleGlobalVarExpression ) | ( ruleParanthesizedExpression ) ) + int alt11=6; + switch ( input.LA(1) ) { + case RULE_INT: + case RULE_REAL: + case RULE_STRING: + case 36: + case 37: + case 92: + { + alt11=1; + } + break; + case RULE_ID: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 38: + case 39: + case 40: + case 102: + { + alt11=2; + } + break; + case 74: + { + alt11=3; + } + break; + case 81: + { + alt11=4; + } + break; + case 80: + { + alt11=5; + } + break; + case 67: + { + alt11=6; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 11, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__RelationalExpression__Group_1__0" - - - // $ANTLR start "rule__RelationalExpression__Group_1__0__Impl" - // InternalExpression.g:3180:1: rule__RelationalExpression__Group_1__0__Impl : ( () ) ; - public final void rule__RelationalExpression__Group_1__0__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3184:1: ( ( () ) ) - // InternalExpression.g:3185:1: ( () ) - { - // InternalExpression.g:3185:1: ( () ) - // InternalExpression.g:3186:2: () - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); - } - // InternalExpression.g:3187:2: () - // InternalExpression.g:3187:3: - { - } + switch (alt11) { + case 1 : + // InternalExpression.g:3146:2: ( ruleLiteral ) + { + // InternalExpression.g:3146:2: ( ruleLiteral ) + // InternalExpression.g:3147:3: ruleLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleLiteral(); - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); + } - } + } - } + } + break; + case 2 : + // InternalExpression.g:3152:2: ( ruleFeatureCall ) + { + // InternalExpression.g:3152:2: ( ruleFeatureCall ) + // InternalExpression.g:3153:3: ruleFeatureCall + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleFeatureCall(); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__RelationalExpression__Group_1__0__Impl" + } + break; + case 3 : + // InternalExpression.g:3158:2: ( ruleListLiteral ) + { + // InternalExpression.g:3158:2: ( ruleListLiteral ) + // InternalExpression.g:3159:3: ruleListLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleListLiteral(); - // $ANTLR start "rule__RelationalExpression__Group_1__1" - // InternalExpression.g:3195:1: rule__RelationalExpression__Group_1__1 : rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 ; - public final void rule__RelationalExpression__Group_1__1() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3199:1: ( rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 ) - // InternalExpression.g:3200:2: rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 - { - pushFollow(FOLLOW_17); - rule__RelationalExpression__Group_1__1__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__RelationalExpression__Group_1__2(); - state._fsp--; - if (state.failed) return ; + } + break; + case 4 : + // InternalExpression.g:3164:2: ( ruleConstructorCallExpression ) + { + // InternalExpression.g:3164:2: ( ruleConstructorCallExpression ) + // InternalExpression.g:3165:3: ruleConstructorCallExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); + } + pushFollow(FOLLOW_2); + ruleConstructorCallExpression(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__RelationalExpression__Group_1__1" + } + break; + case 5 : + // InternalExpression.g:3170:2: ( ruleGlobalVarExpression ) + { + // InternalExpression.g:3170:2: ( ruleGlobalVarExpression ) + // InternalExpression.g:3171:3: ruleGlobalVarExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); + } + pushFollow(FOLLOW_2); + ruleGlobalVarExpression(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); + } - // $ANTLR start "rule__RelationalExpression__Group_1__1__Impl" - // InternalExpression.g:3207:1: rule__RelationalExpression__Group_1__1__Impl : ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) ; - public final void rule__RelationalExpression__Group_1__1__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3211:1: ( ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) ) - // InternalExpression.g:3212:1: ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) - { - // InternalExpression.g:3212:1: ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) - // InternalExpression.g:3213:2: ( rule__RelationalExpression__OperatorAssignment_1_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); - } - // InternalExpression.g:3214:2: ( rule__RelationalExpression__OperatorAssignment_1_1 ) - // InternalExpression.g:3214:3: rule__RelationalExpression__OperatorAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__RelationalExpression__OperatorAssignment_1_1(); - state._fsp--; - if (state.failed) return ; + } + break; + case 6 : + // InternalExpression.g:3176:2: ( ruleParanthesizedExpression ) + { + // InternalExpression.g:3176:2: ( ruleParanthesizedExpression ) + // InternalExpression.g:3177:3: ruleParanthesizedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); + } + pushFollow(FOLLOW_2); + ruleParanthesizedExpression(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); - } + } - } + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -10972,116 +11095,171 @@ public final void rule__RelationalExpression__Group_1__1__Impl() throws Recognit } return ; } - // $ANTLR end "rule__RelationalExpression__Group_1__1__Impl" + // $ANTLR end "rule__PrimaryExpression__Alternatives" - // $ANTLR start "rule__RelationalExpression__Group_1__2" - // InternalExpression.g:3222:1: rule__RelationalExpression__Group_1__2 : rule__RelationalExpression__Group_1__2__Impl ; - public final void rule__RelationalExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__Literal__Alternatives" + // InternalExpression.g:3186:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleIntegerLiteral ) | ( ruleNullLiteral ) | ( ruleRealLiteral ) | ( ruleStringLiteral ) ); + public final void rule__Literal__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3226:1: ( rule__RelationalExpression__Group_1__2__Impl ) - // InternalExpression.g:3227:2: rule__RelationalExpression__Group_1__2__Impl - { - pushFollow(FOLLOW_2); - rule__RelationalExpression__Group_1__2__Impl(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:3190:1: ( ( ruleBooleanLiteral ) | ( ruleIntegerLiteral ) | ( ruleNullLiteral ) | ( ruleRealLiteral ) | ( ruleStringLiteral ) ) + int alt12=5; + switch ( input.LA(1) ) { + case 36: + case 37: + { + alt12=1; + } + break; + case RULE_INT: + { + alt12=2; + } + break; + case 92: + { + alt12=3; + } + break; + case RULE_REAL: + { + alt12=4; + } + break; + case RULE_STRING: + { + alt12=5; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 12, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + switch (alt12) { + case 1 : + // InternalExpression.g:3191:2: ( ruleBooleanLiteral ) + { + // InternalExpression.g:3191:2: ( ruleBooleanLiteral ) + // InternalExpression.g:3192:3: ruleBooleanLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleBooleanLiteral(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); + } - } - return ; - } - // $ANTLR end "rule__RelationalExpression__Group_1__2" + } - // $ANTLR start "rule__RelationalExpression__Group_1__2__Impl" - // InternalExpression.g:3233:1: rule__RelationalExpression__Group_1__2__Impl : ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) ; - public final void rule__RelationalExpression__Group_1__2__Impl() throws RecognitionException { + } + break; + case 2 : + // InternalExpression.g:3197:2: ( ruleIntegerLiteral ) + { + // InternalExpression.g:3197:2: ( ruleIntegerLiteral ) + // InternalExpression.g:3198:3: ruleIntegerLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleIntegerLiteral(); - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3237:1: ( ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) ) - // InternalExpression.g:3238:1: ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) - { - // InternalExpression.g:3238:1: ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) - // InternalExpression.g:3239:2: ( rule__RelationalExpression__RightAssignment_1_2 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); - } - // InternalExpression.g:3240:2: ( rule__RelationalExpression__RightAssignment_1_2 ) - // InternalExpression.g:3240:3: rule__RelationalExpression__RightAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__RelationalExpression__RightAssignment_1_2(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); + } - state._fsp--; - if (state.failed) return ; + } - } - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); - } + } + break; + case 3 : + // InternalExpression.g:3203:2: ( ruleNullLiteral ) + { + // InternalExpression.g:3203:2: ( ruleNullLiteral ) + // InternalExpression.g:3204:3: ruleNullLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleNullLiteral(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); + } + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 4 : + // InternalExpression.g:3209:2: ( ruleRealLiteral ) + { + // InternalExpression.g:3209:2: ( ruleRealLiteral ) + // InternalExpression.g:3210:3: ruleRealLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); + } + pushFollow(FOLLOW_2); + ruleRealLiteral(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); + } - } - return ; - } - // $ANTLR end "rule__RelationalExpression__Group_1__2__Impl" + } - // $ANTLR start "rule__AdditiveExpression__Group__0" - // InternalExpression.g:3249:1: rule__AdditiveExpression__Group__0 : rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ; - public final void rule__AdditiveExpression__Group__0() throws RecognitionException { + } + break; + case 5 : + // InternalExpression.g:3215:2: ( ruleStringLiteral ) + { + // InternalExpression.g:3215:2: ( ruleStringLiteral ) + // InternalExpression.g:3216:3: ruleStringLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); + } + pushFollow(FOLLOW_2); + ruleStringLiteral(); - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3253:1: ( rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ) - // InternalExpression.g:3254:2: rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 - { - pushFollow(FOLLOW_27); - rule__AdditiveExpression__Group__0__Impl(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__AdditiveExpression__Group__1(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -11094,72 +11272,74 @@ public final void rule__AdditiveExpression__Group__0() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__AdditiveExpression__Group__0" + // $ANTLR end "rule__Literal__Alternatives" - // $ANTLR start "rule__AdditiveExpression__Group__0__Impl" - // InternalExpression.g:3261:1: rule__AdditiveExpression__Group__0__Impl : ( ruleMultiplicativeExpression ) ; - public final void rule__AdditiveExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__BooleanLiteral__ValAlternatives_0" + // InternalExpression.g:3225:1: rule__BooleanLiteral__ValAlternatives_0 : ( ( 'true' ) | ( 'false' ) ); + public final void rule__BooleanLiteral__ValAlternatives_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3265:1: ( ( ruleMultiplicativeExpression ) ) - // InternalExpression.g:3266:1: ( ruleMultiplicativeExpression ) - { - // InternalExpression.g:3266:1: ( ruleMultiplicativeExpression ) - // InternalExpression.g:3267:2: ruleMultiplicativeExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleMultiplicativeExpression(); + // InternalExpression.g:3229:1: ( ( 'true' ) | ( 'false' ) ) + int alt13=2; + int LA13_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); + if ( (LA13_0==36) ) { + alt13=1; } - + else if ( (LA13_0==37) ) { + alt13=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 13, 0, input); - + throw nvae; } + switch (alt13) { + case 1 : + // InternalExpression.g:3230:2: ( 'true' ) + { + // InternalExpression.g:3230:2: ( 'true' ) + // InternalExpression.g:3231:3: 'true' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); + } + match(input,36,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__AdditiveExpression__Group__0__Impl" + } + break; + case 2 : + // InternalExpression.g:3236:2: ( 'false' ) + { + // InternalExpression.g:3236:2: ( 'false' ) + // InternalExpression.g:3237:3: 'false' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); + } + match(input,37,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); + } - // $ANTLR start "rule__AdditiveExpression__Group__1" - // InternalExpression.g:3276:1: rule__AdditiveExpression__Group__1 : rule__AdditiveExpression__Group__1__Impl ; - public final void rule__AdditiveExpression__Group__1() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3280:1: ( rule__AdditiveExpression__Group__1__Impl ) - // InternalExpression.g:3281:2: rule__AdditiveExpression__Group__1__Impl - { - pushFollow(FOLLOW_2); - rule__AdditiveExpression__Group__1__Impl(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -11172,101 +11352,171 @@ public final void rule__AdditiveExpression__Group__1() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__AdditiveExpression__Group__1" + // $ANTLR end "rule__BooleanLiteral__ValAlternatives_0" - // $ANTLR start "rule__AdditiveExpression__Group__1__Impl" - // InternalExpression.g:3287:1: rule__AdditiveExpression__Group__1__Impl : ( ( rule__AdditiveExpression__Group_1__0 )* ) ; - public final void rule__AdditiveExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__FeatureCall__Alternatives" + // InternalExpression.g:3246:1: rule__FeatureCall__Alternatives : ( ( ruleOperationCall ) | ( ( rule__FeatureCall__TypeAssignment_1 ) ) | ( ruleCollectionExpression ) | ( ruleTypeSelectExpression ) ); + public final void rule__FeatureCall__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3291:1: ( ( ( rule__AdditiveExpression__Group_1__0 )* ) ) - // InternalExpression.g:3292:1: ( ( rule__AdditiveExpression__Group_1__0 )* ) - { - // InternalExpression.g:3292:1: ( ( rule__AdditiveExpression__Group_1__0 )* ) - // InternalExpression.g:3293:2: ( rule__AdditiveExpression__Group_1__0 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); - } - // InternalExpression.g:3294:2: ( rule__AdditiveExpression__Group_1__0 )* - loop26: - do { - int alt26=2; - int LA26_0 = input.LA(1); + // InternalExpression.g:3250:1: ( ( ruleOperationCall ) | ( ( rule__FeatureCall__TypeAssignment_1 ) ) | ( ruleCollectionExpression ) | ( ruleTypeSelectExpression ) ) + int alt14=4; + switch ( input.LA(1) ) { + case RULE_ID: + { + int LA14_1 = input.LA(2); - if ( ((LA26_0>=18 && LA26_0<=19)) ) { - alt26=1; + if ( (LA14_1==67) ) { + alt14=1; } - - - switch (alt26) { - case 1 : - // InternalExpression.g:3294:3: rule__AdditiveExpression__Group_1__0 - { - pushFollow(FOLLOW_28); - rule__AdditiveExpression__Group_1__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop26; + else if ( (LA14_1==EOF||(LA14_1>=15 && LA14_1<=26)||LA14_1==48||LA14_1==58||LA14_1==66||(LA14_1>=68 && LA14_1<=69)||(LA14_1>=71 && LA14_1<=72)||(LA14_1>=75 && LA14_1<=78)||LA14_1==84||LA14_1==101) ) { + alt14=2; } - } while (true); + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 14, 1, input); - if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); - } + throw nvae; + } + } + break; + case 38: + case 39: + case 40: + { + alt14=2; + } + break; + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + { + alt14=3; + } + break; + case 102: + { + alt14=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 14, 0, input); + throw nvae; } + switch (alt14) { + case 1 : + // InternalExpression.g:3251:2: ( ruleOperationCall ) + { + // InternalExpression.g:3251:2: ( ruleOperationCall ) + // InternalExpression.g:3252:3: ruleOperationCall + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleOperationCall(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__AdditiveExpression__Group__1__Impl" + } + break; + case 2 : + // InternalExpression.g:3257:2: ( ( rule__FeatureCall__TypeAssignment_1 ) ) + { + // InternalExpression.g:3257:2: ( ( rule__FeatureCall__TypeAssignment_1 ) ) + // InternalExpression.g:3258:3: ( rule__FeatureCall__TypeAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); + } + // InternalExpression.g:3259:3: ( rule__FeatureCall__TypeAssignment_1 ) + // InternalExpression.g:3259:4: rule__FeatureCall__TypeAssignment_1 + { + pushFollow(FOLLOW_2); + rule__FeatureCall__TypeAssignment_1(); + state._fsp--; + if (state.failed) return ; - // $ANTLR start "rule__AdditiveExpression__Group_1__0" - // InternalExpression.g:3303:1: rule__AdditiveExpression__Group_1__0 : rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ; - public final void rule__AdditiveExpression__Group_1__0() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3307:1: ( rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ) - // InternalExpression.g:3308:2: rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 - { - pushFollow(FOLLOW_27); - rule__AdditiveExpression__Group_1__0__Impl(); + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__AdditiveExpression__Group_1__1(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + case 3 : + // InternalExpression.g:3263:2: ( ruleCollectionExpression ) + { + // InternalExpression.g:3263:2: ( ruleCollectionExpression ) + // InternalExpression.g:3264:3: ruleCollectionExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleCollectionExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); + } + + } + + + } + break; + case 4 : + // InternalExpression.g:3269:2: ( ruleTypeSelectExpression ) + { + // InternalExpression.g:3269:2: ( ruleTypeSelectExpression ) + // InternalExpression.g:3270:3: ruleTypeSelectExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); + } + pushFollow(FOLLOW_2); + ruleTypeSelectExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); + } + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -11279,124 +11529,222 @@ public final void rule__AdditiveExpression__Group_1__0() throws RecognitionExcep } return ; } - // $ANTLR end "rule__AdditiveExpression__Group_1__0" + // $ANTLR end "rule__FeatureCall__Alternatives" - // $ANTLR start "rule__AdditiveExpression__Group_1__0__Impl" - // InternalExpression.g:3315:1: rule__AdditiveExpression__Group_1__0__Impl : ( () ) ; - public final void rule__AdditiveExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__CollectionExpression__NameAlternatives_0_0" + // InternalExpression.g:3279:1: rule__CollectionExpression__NameAlternatives_0_0 : ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ); + public final void rule__CollectionExpression__NameAlternatives_0_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3319:1: ( ( () ) ) - // InternalExpression.g:3320:1: ( () ) - { - // InternalExpression.g:3320:1: ( () ) - // InternalExpression.g:3321:2: () - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); - } - // InternalExpression.g:3322:2: () - // InternalExpression.g:3322:3: - { - } + // InternalExpression.g:3283:1: ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) + int alt15=8; + switch ( input.LA(1) ) { + case 28: + { + alt15=1; + } + break; + case 29: + { + alt15=2; + } + break; + case 30: + { + alt15=3; + } + break; + case 31: + { + alt15=4; + } + break; + case 32: + { + alt15=5; + } + break; + case 33: + { + alt15=6; + } + break; + case 34: + { + alt15=7; + } + break; + case 35: + { + alt15=8; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 15, 0, input); - if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); + throw nvae; } - } + switch (alt15) { + case 1 : + // InternalExpression.g:3284:2: ( 'collect' ) + { + // InternalExpression.g:3284:2: ( 'collect' ) + // InternalExpression.g:3285:3: 'collect' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); + } + match(input,28,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); + } + } - } - } - finally { + } + break; + case 2 : + // InternalExpression.g:3290:2: ( 'select' ) + { + // InternalExpression.g:3290:2: ( 'select' ) + // InternalExpression.g:3291:3: 'select' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); + } + match(input,29,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__AdditiveExpression__Group_1__0__Impl" + } + break; + case 3 : + // InternalExpression.g:3296:2: ( 'selectFirst' ) + { + // InternalExpression.g:3296:2: ( 'selectFirst' ) + // InternalExpression.g:3297:3: 'selectFirst' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); + } + match(input,30,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); + } - // $ANTLR start "rule__AdditiveExpression__Group_1__1" - // InternalExpression.g:3330:1: rule__AdditiveExpression__Group_1__1 : rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ; - public final void rule__AdditiveExpression__Group_1__1() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3334:1: ( rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ) - // InternalExpression.g:3335:2: rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 - { - pushFollow(FOLLOW_17); - rule__AdditiveExpression__Group_1__1__Impl(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__AdditiveExpression__Group_1__2(); + } + break; + case 4 : + // InternalExpression.g:3302:2: ( 'reject' ) + { + // InternalExpression.g:3302:2: ( 'reject' ) + // InternalExpression.g:3303:3: 'reject' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); + } + match(input,31,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); + } - state._fsp--; - if (state.failed) return ; + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 5 : + // InternalExpression.g:3308:2: ( 'exists' ) + { + // InternalExpression.g:3308:2: ( 'exists' ) + // InternalExpression.g:3309:3: 'exists' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); + } + match(input,32,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__AdditiveExpression__Group_1__1" + } + break; + case 6 : + // InternalExpression.g:3314:2: ( 'notExists' ) + { + // InternalExpression.g:3314:2: ( 'notExists' ) + // InternalExpression.g:3315:3: 'notExists' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); + } + match(input,33,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); + } - // $ANTLR start "rule__AdditiveExpression__Group_1__1__Impl" - // InternalExpression.g:3342:1: rule__AdditiveExpression__Group_1__1__Impl : ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) ; - public final void rule__AdditiveExpression__Group_1__1__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3346:1: ( ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) ) - // InternalExpression.g:3347:1: ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) - { - // InternalExpression.g:3347:1: ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) - // InternalExpression.g:3348:2: ( rule__AdditiveExpression__NameAssignment_1_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); - } - // InternalExpression.g:3349:2: ( rule__AdditiveExpression__NameAssignment_1_1 ) - // InternalExpression.g:3349:3: rule__AdditiveExpression__NameAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__AdditiveExpression__NameAssignment_1_1(); - state._fsp--; - if (state.failed) return ; + } + break; + case 7 : + // InternalExpression.g:3320:2: ( 'sortBy' ) + { + // InternalExpression.g:3320:2: ( 'sortBy' ) + // InternalExpression.g:3321:3: 'sortBy' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); + } + match(input,34,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); + } - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); - } - } + } + break; + case 8 : + // InternalExpression.g:3326:2: ( 'forAll' ) + { + // InternalExpression.g:3326:2: ( 'forAll' ) + // InternalExpression.g:3327:3: 'forAll' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); + } + match(input,35,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); + } + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -11409,27 +11757,82 @@ public final void rule__AdditiveExpression__Group_1__1__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__AdditiveExpression__Group_1__1__Impl" + // $ANTLR end "rule__CollectionExpression__NameAlternatives_0_0" - // $ANTLR start "rule__AdditiveExpression__Group_1__2" - // InternalExpression.g:3357:1: rule__AdditiveExpression__Group_1__2 : rule__AdditiveExpression__Group_1__2__Impl ; - public final void rule__AdditiveExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__Type__Alternatives" + // InternalExpression.g:3336:1: rule__Type__Alternatives : ( ( ruleCollectionType ) | ( ruleSimpleType ) ); + public final void rule__Type__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3361:1: ( rule__AdditiveExpression__Group_1__2__Impl ) - // InternalExpression.g:3362:2: rule__AdditiveExpression__Group_1__2__Impl - { - pushFollow(FOLLOW_2); - rule__AdditiveExpression__Group_1__2__Impl(); + // InternalExpression.g:3340:1: ( ( ruleCollectionType ) | ( ruleSimpleType ) ) + int alt16=2; + int LA16_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( ((LA16_0>=38 && LA16_0<=40)) ) { + alt16=1; + } + else if ( (LA16_0==RULE_ID) ) { + alt16=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 16, 0, input); + throw nvae; } + switch (alt16) { + case 1 : + // InternalExpression.g:3341:2: ( ruleCollectionType ) + { + // InternalExpression.g:3341:2: ( ruleCollectionType ) + // InternalExpression.g:3342:3: ruleCollectionType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleCollectionType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalExpression.g:3347:2: ( ruleSimpleType ) + { + // InternalExpression.g:3347:2: ( ruleSimpleType ) + // InternalExpression.g:3348:3: ruleSimpleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleSimpleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -11442,45 +11845,102 @@ public final void rule__AdditiveExpression__Group_1__2() throws RecognitionExcep } return ; } - // $ANTLR end "rule__AdditiveExpression__Group_1__2" + // $ANTLR end "rule__Type__Alternatives" - // $ANTLR start "rule__AdditiveExpression__Group_1__2__Impl" - // InternalExpression.g:3368:1: rule__AdditiveExpression__Group_1__2__Impl : ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) ; - public final void rule__AdditiveExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__CollectionType__ClAlternatives_0_0" + // InternalExpression.g:3357:1: rule__CollectionType__ClAlternatives_0_0 : ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ); + public final void rule__CollectionType__ClAlternatives_0_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3372:1: ( ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) ) - // InternalExpression.g:3373:1: ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) - { - // InternalExpression.g:3373:1: ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) - // InternalExpression.g:3374:2: ( rule__AdditiveExpression__ParamsAssignment_1_2 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); + // InternalExpression.g:3361:1: ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) + int alt17=3; + switch ( input.LA(1) ) { + case 38: + { + alt17=1; + } + break; + case 39: + { + alt17=2; + } + break; + case 40: + { + alt17=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 17, 0, input); + + throw nvae; } - // InternalExpression.g:3375:2: ( rule__AdditiveExpression__ParamsAssignment_1_2 ) - // InternalExpression.g:3375:3: rule__AdditiveExpression__ParamsAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__AdditiveExpression__ParamsAssignment_1_2(); - state._fsp--; - if (state.failed) return ; + switch (alt17) { + case 1 : + // InternalExpression.g:3362:2: ( 'Collection' ) + { + // InternalExpression.g:3362:2: ( 'Collection' ) + // InternalExpression.g:3363:3: 'Collection' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); + } + match(input,38,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); + } - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); - } - } + } + break; + case 2 : + // InternalExpression.g:3368:2: ( 'List' ) + { + // InternalExpression.g:3368:2: ( 'List' ) + // InternalExpression.g:3369:3: 'List' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); + } + match(input,39,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); + } + + } - } + } + break; + case 3 : + // InternalExpression.g:3374:2: ( 'Set' ) + { + // InternalExpression.g:3374:2: ( 'Set' ) + // InternalExpression.g:3375:3: 'Set' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); + } + match(input,40,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -11493,110 +11953,214 @@ public final void rule__AdditiveExpression__Group_1__2__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__AdditiveExpression__Group_1__2__Impl" + // $ANTLR end "rule__CollectionType__ClAlternatives_0_0" - // $ANTLR start "rule__MultiplicativeExpression__Group__0" - // InternalExpression.g:3384:1: rule__MultiplicativeExpression__Group__0 : rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ; - public final void rule__MultiplicativeExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__XAssignment__Alternatives" + // InternalExpression.g:3384:1: rule__XAssignment__Alternatives : ( ( ( rule__XAssignment__Group_0__0 ) ) | ( ( rule__XAssignment__Group_1__0 ) ) ); + public final void rule__XAssignment__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3388:1: ( rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ) - // InternalExpression.g:3389:2: rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 - { - pushFollow(FOLLOW_29); - rule__MultiplicativeExpression__Group__0__Impl(); + // InternalExpression.g:3388:1: ( ( ( rule__XAssignment__Group_0__0 ) ) | ( ( rule__XAssignment__Group_1__0 ) ) ) + int alt18=2; + switch ( input.LA(1) ) { + case RULE_ID: + { + int LA18_1 = input.LA(2); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__Group__1(); + if ( (LA18_1==EOF||(LA18_1>=RULE_ID && LA18_1<=RULE_DECIMAL)||LA18_1==RULE_STRING||(LA18_1>=15 && LA18_1<=19)||(LA18_1>=21 && LA18_1<=27)||(LA18_1>=36 && LA18_1<=37)||(LA18_1>=41 && LA18_1<=64)||(LA18_1>=66 && LA18_1<=68)||LA18_1==70||(LA18_1>=72 && LA18_1<=78)||(LA18_1>=81 && LA18_1<=99)||(LA18_1>=103 && LA18_1<=104)) ) { + alt18=2; + } + else if ( (LA18_1==14) ) { + alt18=1; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 18, 1, input); - state._fsp--; - if (state.failed) return ; + throw nvae; + } + } + break; + case 60: + { + int LA18_2 = input.LA(2); - } + if ( (LA18_2==14) ) { + alt18=1; + } + else if ( (LA18_2==EOF||(LA18_2>=RULE_ID && LA18_2<=RULE_DECIMAL)||LA18_2==RULE_STRING||(LA18_2>=15 && LA18_2<=19)||(LA18_2>=21 && LA18_2<=27)||(LA18_2>=36 && LA18_2<=37)||(LA18_2>=41 && LA18_2<=64)||(LA18_2>=66 && LA18_2<=68)||LA18_2==70||(LA18_2>=72 && LA18_2<=78)||(LA18_2>=81 && LA18_2<=99)||(LA18_2>=103 && LA18_2<=104)) ) { + alt18=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 18, 2, input); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + throw nvae; + } + } + break; + case 61: + { + int LA18_3 = input.LA(2); - restoreStackSize(stackSize); + if ( (LA18_3==EOF||(LA18_3>=RULE_ID && LA18_3<=RULE_DECIMAL)||LA18_3==RULE_STRING||(LA18_3>=15 && LA18_3<=19)||(LA18_3>=21 && LA18_3<=27)||(LA18_3>=36 && LA18_3<=37)||(LA18_3>=41 && LA18_3<=64)||(LA18_3>=66 && LA18_3<=68)||LA18_3==70||(LA18_3>=72 && LA18_3<=78)||(LA18_3>=81 && LA18_3<=99)||(LA18_3>=103 && LA18_3<=104)) ) { + alt18=2; + } + else if ( (LA18_3==14) ) { + alt18=1; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 18, 3, input); - } - return ; - } - // $ANTLR end "rule__MultiplicativeExpression__Group__0" + throw nvae; + } + } + break; + case 62: + { + int LA18_4 = input.LA(2); + if ( (LA18_4==14) ) { + alt18=1; + } + else if ( (LA18_4==EOF||(LA18_4>=RULE_ID && LA18_4<=RULE_DECIMAL)||LA18_4==RULE_STRING||(LA18_4>=15 && LA18_4<=19)||(LA18_4>=21 && LA18_4<=27)||(LA18_4>=36 && LA18_4<=37)||(LA18_4>=41 && LA18_4<=64)||(LA18_4>=66 && LA18_4<=68)||LA18_4==70||(LA18_4>=72 && LA18_4<=78)||(LA18_4>=81 && LA18_4<=99)||(LA18_4>=103 && LA18_4<=104)) ) { + alt18=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 18, 4, input); - // $ANTLR start "rule__MultiplicativeExpression__Group__0__Impl" - // InternalExpression.g:3396:1: rule__MultiplicativeExpression__Group__0__Impl : ( ruleUnaryOrInfixExpression ) ; - public final void rule__MultiplicativeExpression__Group__0__Impl() throws RecognitionException { + throw nvae; + } + } + break; + case 63: + { + int LA18_5 = input.LA(2); - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3400:1: ( ( ruleUnaryOrInfixExpression ) ) - // InternalExpression.g:3401:1: ( ruleUnaryOrInfixExpression ) - { - // InternalExpression.g:3401:1: ( ruleUnaryOrInfixExpression ) - // InternalExpression.g:3402:2: ruleUnaryOrInfixExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleUnaryOrInfixExpression(); + if ( (LA18_5==EOF||(LA18_5>=RULE_ID && LA18_5<=RULE_DECIMAL)||LA18_5==RULE_STRING||(LA18_5>=15 && LA18_5<=19)||(LA18_5>=21 && LA18_5<=27)||(LA18_5>=36 && LA18_5<=37)||(LA18_5>=41 && LA18_5<=64)||(LA18_5>=66 && LA18_5<=68)||LA18_5==70||(LA18_5>=72 && LA18_5<=78)||(LA18_5>=81 && LA18_5<=99)||(LA18_5>=103 && LA18_5<=104)) ) { + alt18=2; + } + else if ( (LA18_5==14) ) { + alt18=1; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 18, 5, input); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); - } + throw nvae; + } + } + break; + case RULE_HEX: + case RULE_INT: + case RULE_DECIMAL: + case RULE_STRING: + case 22: + case 23: + case 24: + case 27: + case 36: + case 37: + case 64: + case 67: + case 70: + case 73: + case 74: + case 81: + case 82: + case 87: + case 89: + case 90: + case 91: + case 92: + case 93: + case 94: + case 95: + case 96: + case 98: + { + alt18=2; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 18, 0, input); + throw nvae; } + switch (alt18) { + case 1 : + // InternalExpression.g:3389:2: ( ( rule__XAssignment__Group_0__0 ) ) + { + // InternalExpression.g:3389:2: ( ( rule__XAssignment__Group_0__0 ) ) + // InternalExpression.g:3390:3: ( rule__XAssignment__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getGroup_0()); + } + // InternalExpression.g:3391:3: ( rule__XAssignment__Group_0__0 ) + // InternalExpression.g:3391:4: rule__XAssignment__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_0__0(); - } + state._fsp--; + if (state.failed) return ; - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getGroup_0()); + } - } - return ; - } - // $ANTLR end "rule__MultiplicativeExpression__Group__0__Impl" + } - // $ANTLR start "rule__MultiplicativeExpression__Group__1" - // InternalExpression.g:3411:1: rule__MultiplicativeExpression__Group__1 : rule__MultiplicativeExpression__Group__1__Impl ; - public final void rule__MultiplicativeExpression__Group__1() throws RecognitionException { + } + break; + case 2 : + // InternalExpression.g:3395:2: ( ( rule__XAssignment__Group_1__0 ) ) + { + // InternalExpression.g:3395:2: ( ( rule__XAssignment__Group_1__0 ) ) + // InternalExpression.g:3396:3: ( rule__XAssignment__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getGroup_1()); + } + // InternalExpression.g:3397:3: ( rule__XAssignment__Group_1__0 ) + // InternalExpression.g:3397:4: rule__XAssignment__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1__0(); - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3415:1: ( rule__MultiplicativeExpression__Group__1__Impl ) - // InternalExpression.g:3416:2: rule__MultiplicativeExpression__Group__1__Impl - { - pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__Group__1__Impl(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getGroup_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -11609,101 +12173,218 @@ public final void rule__MultiplicativeExpression__Group__1() throws RecognitionE } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group__1" + // $ANTLR end "rule__XAssignment__Alternatives" - // $ANTLR start "rule__MultiplicativeExpression__Group__1__Impl" - // InternalExpression.g:3422:1: rule__MultiplicativeExpression__Group__1__Impl : ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ; - public final void rule__MultiplicativeExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__OpMultiAssign__Alternatives" + // InternalExpression.g:3405:1: rule__OpMultiAssign__Alternatives : ( ( '+=' ) | ( '-=' ) | ( '*=' ) | ( '/=' ) | ( '%=' ) | ( ( rule__OpMultiAssign__Group_5__0 ) ) | ( ( rule__OpMultiAssign__Group_6__0 ) ) ); + public final void rule__OpMultiAssign__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3426:1: ( ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ) - // InternalExpression.g:3427:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* ) - { - // InternalExpression.g:3427:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* ) - // InternalExpression.g:3428:2: ( rule__MultiplicativeExpression__Group_1__0 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); + // InternalExpression.g:3409:1: ( ( '+=' ) | ( '-=' ) | ( '*=' ) | ( '/=' ) | ( '%=' ) | ( ( rule__OpMultiAssign__Group_5__0 ) ) | ( ( rule__OpMultiAssign__Group_6__0 ) ) ) + int alt19=7; + switch ( input.LA(1) ) { + case 41: + { + alt19=1; + } + break; + case 42: + { + alt19=2; + } + break; + case 43: + { + alt19=3; + } + break; + case 44: + { + alt19=4; + } + break; + case 45: + { + alt19=5; + } + break; + case 22: + { + alt19=6; + } + break; + case 21: + { + alt19=7; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 19, 0, input); + + throw nvae; } - // InternalExpression.g:3429:2: ( rule__MultiplicativeExpression__Group_1__0 )* - loop27: - do { - int alt27=2; - int LA27_0 = input.LA(1); - if ( ((LA27_0>=20 && LA27_0<=21)) ) { - alt27=1; - } + switch (alt19) { + case 1 : + // InternalExpression.g:3410:2: ( '+=' ) + { + // InternalExpression.g:3410:2: ( '+=' ) + // InternalExpression.g:3411:3: '+=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); + } + match(input,41,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); + } + } - switch (alt27) { - case 1 : - // InternalExpression.g:3429:3: rule__MultiplicativeExpression__Group_1__0 - { - pushFollow(FOLLOW_30); - rule__MultiplicativeExpression__Group_1__0(); - state._fsp--; - if (state.failed) return ; + } + break; + case 2 : + // InternalExpression.g:3416:2: ( '-=' ) + { + // InternalExpression.g:3416:2: ( '-=' ) + // InternalExpression.g:3417:3: '-=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); + } + match(input,42,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); + } - } - break; + } - default : - break loop27; - } - } while (true); - if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); - } + } + break; + case 3 : + // InternalExpression.g:3422:2: ( '*=' ) + { + // InternalExpression.g:3422:2: ( '*=' ) + // InternalExpression.g:3423:3: '*=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); + } + match(input,43,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); + } - } + } - } + } + break; + case 4 : + // InternalExpression.g:3428:2: ( '/=' ) + { + // InternalExpression.g:3428:2: ( '/=' ) + // InternalExpression.g:3429:3: '/=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); + } + match(input,44,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__MultiplicativeExpression__Group__1__Impl" + } + break; + case 5 : + // InternalExpression.g:3434:2: ( '%=' ) + { + // InternalExpression.g:3434:2: ( '%=' ) + // InternalExpression.g:3435:3: '%=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); + } + match(input,45,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); + } + } - // $ANTLR start "rule__MultiplicativeExpression__Group_1__0" - // InternalExpression.g:3438:1: rule__MultiplicativeExpression__Group_1__0 : rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ; - public final void rule__MultiplicativeExpression__Group_1__0() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3442:1: ( rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ) - // InternalExpression.g:3443:2: rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 - { - pushFollow(FOLLOW_29); - rule__MultiplicativeExpression__Group_1__0__Impl(); + } + break; + case 6 : + // InternalExpression.g:3440:2: ( ( rule__OpMultiAssign__Group_5__0 ) ) + { + // InternalExpression.g:3440:2: ( ( rule__OpMultiAssign__Group_5__0 ) ) + // InternalExpression.g:3441:3: ( rule__OpMultiAssign__Group_5__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getGroup_5()); + } + // InternalExpression.g:3442:3: ( rule__OpMultiAssign__Group_5__0 ) + // InternalExpression.g:3442:4: rule__OpMultiAssign__Group_5__0 + { + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_5__0(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getGroup_5()); + } + } + + + } + break; + case 7 : + // InternalExpression.g:3446:2: ( ( rule__OpMultiAssign__Group_6__0 ) ) + { + // InternalExpression.g:3446:2: ( ( rule__OpMultiAssign__Group_6__0 ) ) + // InternalExpression.g:3447:3: ( rule__OpMultiAssign__Group_6__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getGroup_6()); + } + // InternalExpression.g:3448:3: ( rule__OpMultiAssign__Group_6__0 ) + // InternalExpression.g:3448:4: rule__OpMultiAssign__Group_6__0 + { + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_6__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getGroup_6()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -11716,73 +12397,126 @@ public final void rule__MultiplicativeExpression__Group_1__0() throws Recognitio } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__0" + // $ANTLR end "rule__OpMultiAssign__Alternatives" - // $ANTLR start "rule__MultiplicativeExpression__Group_1__0__Impl" - // InternalExpression.g:3450:1: rule__MultiplicativeExpression__Group_1__0__Impl : ( () ) ; - public final void rule__MultiplicativeExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__OpEquality__Alternatives" + // InternalExpression.g:3456:1: rule__OpEquality__Alternatives : ( ( '==' ) | ( '!=' ) | ( '===' ) | ( '!==' ) ); + public final void rule__OpEquality__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3454:1: ( ( () ) ) - // InternalExpression.g:3455:1: ( () ) - { - // InternalExpression.g:3455:1: ( () ) - // InternalExpression.g:3456:2: () - { - if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); - } - // InternalExpression.g:3457:2: () - // InternalExpression.g:3457:3: - { - } + // InternalExpression.g:3460:1: ( ( '==' ) | ( '!=' ) | ( '===' ) | ( '!==' ) ) + int alt20=4; + switch ( input.LA(1) ) { + case 17: + { + alt20=1; + } + break; + case 18: + { + alt20=2; + } + break; + case 46: + { + alt20=3; + } + break; + case 47: + { + alt20=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 20, 0, input); - if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); + throw nvae; } - } + switch (alt20) { + case 1 : + // InternalExpression.g:3461:2: ( '==' ) + { + // InternalExpression.g:3461:2: ( '==' ) + // InternalExpression.g:3462:3: '==' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); + } + match(input,17,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); + } + } - } - } - finally { + } + break; + case 2 : + // InternalExpression.g:3467:2: ( '!=' ) + { + // InternalExpression.g:3467:2: ( '!=' ) + // InternalExpression.g:3468:3: '!=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); + } + match(input,18,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__0__Impl" + } + break; + case 3 : + // InternalExpression.g:3473:2: ( '===' ) + { + // InternalExpression.g:3473:2: ( '===' ) + // InternalExpression.g:3474:3: '===' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); + } + match(input,46,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); + } + + } - // $ANTLR start "rule__MultiplicativeExpression__Group_1__1" - // InternalExpression.g:3465:1: rule__MultiplicativeExpression__Group_1__1 : rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ; - public final void rule__MultiplicativeExpression__Group_1__1() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3469:1: ( rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ) - // InternalExpression.g:3470:2: rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 - { - pushFollow(FOLLOW_17); - rule__MultiplicativeExpression__Group_1__1__Impl(); + } + break; + case 4 : + // InternalExpression.g:3479:2: ( '!==' ) + { + // InternalExpression.g:3479:2: ( '!==' ) + // InternalExpression.g:3480:3: '!==' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); + } + match(input,47,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__Group_1__2(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -11795,78 +12529,94 @@ public final void rule__MultiplicativeExpression__Group_1__1() throws Recognitio } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__1" + // $ANTLR end "rule__OpEquality__Alternatives" - // $ANTLR start "rule__MultiplicativeExpression__Group_1__1__Impl" - // InternalExpression.g:3477:1: rule__MultiplicativeExpression__Group_1__1__Impl : ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) ; - public final void rule__MultiplicativeExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__XRelationalExpression__Alternatives_1" + // InternalExpression.g:3489:1: rule__XRelationalExpression__Alternatives_1 : ( ( ( rule__XRelationalExpression__Group_1_0__0 ) ) | ( ( rule__XRelationalExpression__Group_1_1__0 ) ) ); + public final void rule__XRelationalExpression__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3481:1: ( ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) ) - // InternalExpression.g:3482:1: ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) - { - // InternalExpression.g:3482:1: ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) - // InternalExpression.g:3483:2: ( rule__MultiplicativeExpression__NameAssignment_1_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); - } - // InternalExpression.g:3484:2: ( rule__MultiplicativeExpression__NameAssignment_1_1 ) - // InternalExpression.g:3484:3: rule__MultiplicativeExpression__NameAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__NameAssignment_1_1(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:3493:1: ( ( ( rule__XRelationalExpression__Group_1_0__0 ) ) | ( ( rule__XRelationalExpression__Group_1_1__0 ) ) ) + int alt21=2; + int LA21_0 = input.LA(1); + if ( (LA21_0==85) ) { + alt21=1; } - - if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); + else if ( (LA21_0==19||(LA21_0>=21 && LA21_0<=22)) ) { + alt21=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 21, 0, input); + throw nvae; } + switch (alt21) { + case 1 : + // InternalExpression.g:3494:2: ( ( rule__XRelationalExpression__Group_1_0__0 ) ) + { + // InternalExpression.g:3494:2: ( ( rule__XRelationalExpression__Group_1_0__0 ) ) + // InternalExpression.g:3495:3: ( rule__XRelationalExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); + } + // InternalExpression.g:3496:3: ( rule__XRelationalExpression__Group_1_0__0 ) + // InternalExpression.g:3496:4: rule__XRelationalExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0__0(); + state._fsp--; + if (state.failed) return ; - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__1__Impl" + } + break; + case 2 : + // InternalExpression.g:3500:2: ( ( rule__XRelationalExpression__Group_1_1__0 ) ) + { + // InternalExpression.g:3500:2: ( ( rule__XRelationalExpression__Group_1_1__0 ) ) + // InternalExpression.g:3501:3: ( rule__XRelationalExpression__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); + } + // InternalExpression.g:3502:3: ( rule__XRelationalExpression__Group_1_1__0 ) + // InternalExpression.g:3502:4: rule__XRelationalExpression__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1__0(); - // $ANTLR start "rule__MultiplicativeExpression__Group_1__2" - // InternalExpression.g:3492:1: rule__MultiplicativeExpression__Group_1__2 : rule__MultiplicativeExpression__Group_1__2__Impl ; - public final void rule__MultiplicativeExpression__Group_1__2() throws RecognitionException { + state._fsp--; + if (state.failed) return ; - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3496:1: ( rule__MultiplicativeExpression__Group_1__2__Impl ) - // InternalExpression.g:3497:2: rule__MultiplicativeExpression__Group_1__2__Impl - { - pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__Group_1__2__Impl(); + } - state._fsp--; - if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); + } - } + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -11879,83 +12629,145 @@ public final void rule__MultiplicativeExpression__Group_1__2() throws Recognitio } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__2" + // $ANTLR end "rule__XRelationalExpression__Alternatives_1" - // $ANTLR start "rule__MultiplicativeExpression__Group_1__2__Impl" - // InternalExpression.g:3503:1: rule__MultiplicativeExpression__Group_1__2__Impl : ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) ; - public final void rule__MultiplicativeExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__OpCompare__Alternatives" + // InternalExpression.g:3510:1: rule__OpCompare__Alternatives : ( ( '>=' ) | ( ( rule__OpCompare__Group_1__0 ) ) | ( '>' ) | ( '<' ) ); + public final void rule__OpCompare__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3507:1: ( ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) ) - // InternalExpression.g:3508:1: ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) - { - // InternalExpression.g:3508:1: ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) - // InternalExpression.g:3509:2: ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); - } - // InternalExpression.g:3510:2: ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) - // InternalExpression.g:3510:3: rule__MultiplicativeExpression__ParamsAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__ParamsAssignment_1_2(); + // InternalExpression.g:3514:1: ( ( '>=' ) | ( ( rule__OpCompare__Group_1__0 ) ) | ( '>' ) | ( '<' ) ) + int alt22=4; + switch ( input.LA(1) ) { + case 19: + { + alt22=1; + } + break; + case 22: + { + int LA22_2 = input.LA(2); - state._fsp--; - if (state.failed) return ; + if ( (LA22_2==EOF||(LA22_2>=RULE_ID && LA22_2<=RULE_DECIMAL)||LA22_2==RULE_STRING||(LA22_2>=22 && LA22_2<=24)||LA22_2==27||(LA22_2>=36 && LA22_2<=37)||(LA22_2>=60 && LA22_2<=64)||LA22_2==67||LA22_2==70||(LA22_2>=73 && LA22_2<=74)||(LA22_2>=81 && LA22_2<=82)||LA22_2==87||(LA22_2>=89 && LA22_2<=96)||LA22_2==98) ) { + alt22=4; + } + else if ( (LA22_2==14) ) { + alt22=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 22, 2, input); - } + throw nvae; + } + } + break; + case 21: + { + alt22=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 22, 0, input); - if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); + throw nvae; } - } + switch (alt22) { + case 1 : + // InternalExpression.g:3515:2: ( '>=' ) + { + // InternalExpression.g:3515:2: ( '>=' ) + // InternalExpression.g:3516:3: '>=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); + } + match(input,19,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); + } + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 2 : + // InternalExpression.g:3521:2: ( ( rule__OpCompare__Group_1__0 ) ) + { + // InternalExpression.g:3521:2: ( ( rule__OpCompare__Group_1__0 ) ) + // InternalExpression.g:3522:3: ( rule__OpCompare__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getGroup_1()); + } + // InternalExpression.g:3523:3: ( rule__OpCompare__Group_1__0 ) + // InternalExpression.g:3523:4: rule__OpCompare__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__OpCompare__Group_1__0(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; - } - return ; - } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__2__Impl" + } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getGroup_1()); + } - // $ANTLR start "rule__UnaryExpression__Group__0" - // InternalExpression.g:3519:1: rule__UnaryExpression__Group__0 : rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 ; - public final void rule__UnaryExpression__Group__0() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3523:1: ( rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 ) - // InternalExpression.g:3524:2: rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 - { - pushFollow(FOLLOW_17); - rule__UnaryExpression__Group__0__Impl(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__UnaryExpression__Group__1(); + } + break; + case 3 : + // InternalExpression.g:3527:2: ( '>' ) + { + // InternalExpression.g:3527:2: ( '>' ) + // InternalExpression.g:3528:3: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); + } - state._fsp--; - if (state.failed) return ; + } - } + } + break; + case 4 : + // InternalExpression.g:3533:2: ( '<' ) + { + // InternalExpression.g:3533:2: ( '<' ) + // InternalExpression.g:3534:3: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -11968,167 +12780,223 @@ public final void rule__UnaryExpression__Group__0() throws RecognitionException } return ; } - // $ANTLR end "rule__UnaryExpression__Group__0" + // $ANTLR end "rule__OpCompare__Alternatives" - // $ANTLR start "rule__UnaryExpression__Group__0__Impl" - // InternalExpression.g:3531:1: rule__UnaryExpression__Group__0__Impl : ( ( rule__UnaryExpression__NameAssignment_0 ) ) ; - public final void rule__UnaryExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__OpOther__Alternatives" + // InternalExpression.g:3543:1: rule__OpOther__Alternatives : ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) ); + public final void rule__OpOther__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3535:1: ( ( ( rule__UnaryExpression__NameAssignment_0 ) ) ) - // InternalExpression.g:3536:1: ( ( rule__UnaryExpression__NameAssignment_0 ) ) - { - // InternalExpression.g:3536:1: ( ( rule__UnaryExpression__NameAssignment_0 ) ) - // InternalExpression.g:3537:2: ( rule__UnaryExpression__NameAssignment_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); - } - // InternalExpression.g:3538:2: ( rule__UnaryExpression__NameAssignment_0 ) - // InternalExpression.g:3538:3: rule__UnaryExpression__NameAssignment_0 - { - pushFollow(FOLLOW_2); - rule__UnaryExpression__NameAssignment_0(); + // InternalExpression.g:3547:1: ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) ) + int alt23=9; + alt23 = dfa23.predict(input); + switch (alt23) { + case 1 : + // InternalExpression.g:3548:2: ( '->' ) + { + // InternalExpression.g:3548:2: ( '->' ) + // InternalExpression.g:3549:3: '->' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); + } + match(input,48,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); + } - state._fsp--; - if (state.failed) return ; + } - } - if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); - } + } + break; + case 2 : + // InternalExpression.g:3554:2: ( '..<' ) + { + // InternalExpression.g:3554:2: ( '..<' ) + // InternalExpression.g:3555:3: '..<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); + } + match(input,49,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); + } - } + } - } + } + break; + case 3 : + // InternalExpression.g:3560:2: ( ( rule__OpOther__Group_2__0 ) ) + { + // InternalExpression.g:3560:2: ( ( rule__OpOther__Group_2__0 ) ) + // InternalExpression.g:3561:3: ( rule__OpOther__Group_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_2()); + } + // InternalExpression.g:3562:3: ( rule__OpOther__Group_2__0 ) + // InternalExpression.g:3562:4: rule__OpOther__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_2__0(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__UnaryExpression__Group__0__Impl" + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_2()); + } + } - // $ANTLR start "rule__UnaryExpression__Group__1" - // InternalExpression.g:3546:1: rule__UnaryExpression__Group__1 : rule__UnaryExpression__Group__1__Impl ; - public final void rule__UnaryExpression__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3550:1: ( rule__UnaryExpression__Group__1__Impl ) - // InternalExpression.g:3551:2: rule__UnaryExpression__Group__1__Impl - { - pushFollow(FOLLOW_2); - rule__UnaryExpression__Group__1__Impl(); + } + break; + case 4 : + // InternalExpression.g:3566:2: ( '..' ) + { + // InternalExpression.g:3566:2: ( '..' ) + // InternalExpression.g:3567:3: '..' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); + } + match(input,50,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); + } - state._fsp--; - if (state.failed) return ; + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 5 : + // InternalExpression.g:3572:2: ( '=>' ) + { + // InternalExpression.g:3572:2: ( '=>' ) + // InternalExpression.g:3573:3: '=>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); + } + match(input,51,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__UnaryExpression__Group__1" + } + break; + case 6 : + // InternalExpression.g:3578:2: ( ( rule__OpOther__Group_5__0 ) ) + { + // InternalExpression.g:3578:2: ( ( rule__OpOther__Group_5__0 ) ) + // InternalExpression.g:3579:3: ( rule__OpOther__Group_5__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_5()); + } + // InternalExpression.g:3580:3: ( rule__OpOther__Group_5__0 ) + // InternalExpression.g:3580:4: rule__OpOther__Group_5__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_5__0(); - // $ANTLR start "rule__UnaryExpression__Group__1__Impl" - // InternalExpression.g:3557:1: rule__UnaryExpression__Group__1__Impl : ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) ; - public final void rule__UnaryExpression__Group__1__Impl() throws RecognitionException { + state._fsp--; + if (state.failed) return ; - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3561:1: ( ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) ) - // InternalExpression.g:3562:1: ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) - { - // InternalExpression.g:3562:1: ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) - // InternalExpression.g:3563:2: ( rule__UnaryExpression__ParamsAssignment_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); - } - // InternalExpression.g:3564:2: ( rule__UnaryExpression__ParamsAssignment_1 ) - // InternalExpression.g:3564:3: rule__UnaryExpression__ParamsAssignment_1 - { - pushFollow(FOLLOW_2); - rule__UnaryExpression__ParamsAssignment_1(); + } - state._fsp--; - if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_5()); + } - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); - } - } + } + break; + case 7 : + // InternalExpression.g:3584:2: ( ( rule__OpOther__Group_6__0 ) ) + { + // InternalExpression.g:3584:2: ( ( rule__OpOther__Group_6__0 ) ) + // InternalExpression.g:3585:3: ( rule__OpOther__Group_6__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_6()); + } + // InternalExpression.g:3586:3: ( rule__OpOther__Group_6__0 ) + // InternalExpression.g:3586:4: rule__OpOther__Group_6__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6__0(); + state._fsp--; + if (state.failed) return ; - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_6()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__UnaryExpression__Group__1__Impl" + } + break; + case 8 : + // InternalExpression.g:3590:2: ( '<>' ) + { + // InternalExpression.g:3590:2: ( '<>' ) + // InternalExpression.g:3591:3: '<>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); + } + match(input,52,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); + } - // $ANTLR start "rule__InfixExpression__Group__0" - // InternalExpression.g:3573:1: rule__InfixExpression__Group__0 : rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 ; - public final void rule__InfixExpression__Group__0() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3577:1: ( rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 ) - // InternalExpression.g:3578:2: rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 - { - pushFollow(FOLLOW_31); - rule__InfixExpression__Group__0__Impl(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group__1(); + } + break; + case 9 : + // InternalExpression.g:3596:2: ( '?:' ) + { + // InternalExpression.g:3596:2: ( '?:' ) + // InternalExpression.g:3597:3: '?:' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); + } + match(input,53,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); + } - state._fsp--; - if (state.failed) return ; + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -12141,72 +13009,95 @@ public final void rule__InfixExpression__Group__0() throws RecognitionException } return ; } - // $ANTLR end "rule__InfixExpression__Group__0" + // $ANTLR end "rule__OpOther__Alternatives" - // $ANTLR start "rule__InfixExpression__Group__0__Impl" - // InternalExpression.g:3585:1: rule__InfixExpression__Group__0__Impl : ( rulePrimaryExpression ) ; - public final void rule__InfixExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__OpOther__Alternatives_5_1" + // InternalExpression.g:3606:1: rule__OpOther__Alternatives_5_1 : ( ( ( rule__OpOther__Group_5_1_0__0 ) ) | ( '>' ) ); + public final void rule__OpOther__Alternatives_5_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3589:1: ( ( rulePrimaryExpression ) ) - // InternalExpression.g:3590:1: ( rulePrimaryExpression ) - { - // InternalExpression.g:3590:1: ( rulePrimaryExpression ) - // InternalExpression.g:3591:2: rulePrimaryExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - rulePrimaryExpression(); + // InternalExpression.g:3610:1: ( ( ( rule__OpOther__Group_5_1_0__0 ) ) | ( '>' ) ) + int alt24=2; + int LA24_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); + if ( (LA24_0==21) ) { + int LA24_1 = input.LA(2); + + if ( (LA24_1==EOF||(LA24_1>=RULE_ID && LA24_1<=RULE_DECIMAL)||LA24_1==RULE_STRING||(LA24_1>=22 && LA24_1<=24)||LA24_1==27||(LA24_1>=36 && LA24_1<=37)||(LA24_1>=60 && LA24_1<=64)||LA24_1==67||LA24_1==70||(LA24_1>=73 && LA24_1<=74)||(LA24_1>=81 && LA24_1<=82)||LA24_1==87||(LA24_1>=89 && LA24_1<=96)||LA24_1==98) ) { + alt24=2; + } + else if ( (LA24_1==21) ) { + alt24=1; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 24, 1, input); + + throw nvae; + } } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 24, 0, input); + throw nvae; } + switch (alt24) { + case 1 : + // InternalExpression.g:3611:2: ( ( rule__OpOther__Group_5_1_0__0 ) ) + { + // InternalExpression.g:3611:2: ( ( rule__OpOther__Group_5_1_0__0 ) ) + // InternalExpression.g:3612:3: ( rule__OpOther__Group_5_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); + } + // InternalExpression.g:3613:3: ( rule__OpOther__Group_5_1_0__0 ) + // InternalExpression.g:3613:4: rule__OpOther__Group_5_1_0__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_5_1_0__0(); + state._fsp--; + if (state.failed) return ; - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group__0__Impl" + } + break; + case 2 : + // InternalExpression.g:3617:2: ( '>' ) + { + // InternalExpression.g:3617:2: ( '>' ) + // InternalExpression.g:3618:3: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); + } - // $ANTLR start "rule__InfixExpression__Group__1" - // InternalExpression.g:3600:1: rule__InfixExpression__Group__1 : rule__InfixExpression__Group__1__Impl ; - public final void rule__InfixExpression__Group__1() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3604:1: ( rule__InfixExpression__Group__1__Impl ) - // InternalExpression.g:3605:2: rule__InfixExpression__Group__1__Impl - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group__1__Impl(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -12219,63 +13110,117 @@ public final void rule__InfixExpression__Group__1() throws RecognitionException } return ; } - // $ANTLR end "rule__InfixExpression__Group__1" + // $ANTLR end "rule__OpOther__Alternatives_5_1" - // $ANTLR start "rule__InfixExpression__Group__1__Impl" - // InternalExpression.g:3611:1: rule__InfixExpression__Group__1__Impl : ( ( rule__InfixExpression__Alternatives_1 )* ) ; - public final void rule__InfixExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__OpOther__Alternatives_6_1" + // InternalExpression.g:3627:1: rule__OpOther__Alternatives_6_1 : ( ( ( rule__OpOther__Group_6_1_0__0 ) ) | ( '<' ) | ( '=>' ) ); + public final void rule__OpOther__Alternatives_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3615:1: ( ( ( rule__InfixExpression__Alternatives_1 )* ) ) - // InternalExpression.g:3616:1: ( ( rule__InfixExpression__Alternatives_1 )* ) - { - // InternalExpression.g:3616:1: ( ( rule__InfixExpression__Alternatives_1 )* ) - // InternalExpression.g:3617:2: ( rule__InfixExpression__Alternatives_1 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); - } - // InternalExpression.g:3618:2: ( rule__InfixExpression__Alternatives_1 )* - loop28: - do { - int alt28=2; - int LA28_0 = input.LA(1); + // InternalExpression.g:3631:1: ( ( ( rule__OpOther__Group_6_1_0__0 ) ) | ( '<' ) | ( '=>' ) ) + int alt25=3; + int LA25_0 = input.LA(1); + + if ( (LA25_0==22) ) { + int LA25_1 = input.LA(2); - if ( (LA28_0==51) ) { - alt28=1; + if ( (synpred71_InternalExpression()) ) { + alt25=1; + } + else if ( (synpred72_InternalExpression()) ) { + alt25=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 25, 1, input); + throw nvae; + } + } + else if ( (LA25_0==51) ) { + alt25=3; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 25, 0, input); - switch (alt28) { - case 1 : - // InternalExpression.g:3618:3: rule__InfixExpression__Alternatives_1 - { - pushFollow(FOLLOW_32); - rule__InfixExpression__Alternatives_1(); + throw nvae; + } + switch (alt25) { + case 1 : + // InternalExpression.g:3632:2: ( ( rule__OpOther__Group_6_1_0__0 ) ) + { + // InternalExpression.g:3632:2: ( ( rule__OpOther__Group_6_1_0__0 ) ) + // InternalExpression.g:3633:3: ( rule__OpOther__Group_6_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); + } + // InternalExpression.g:3634:3: ( rule__OpOther__Group_6_1_0__0 ) + // InternalExpression.g:3634:4: rule__OpOther__Group_6_1_0__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6_1_0__0(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; - } - break; + } - default : - break loop28; - } - } while (true); + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); - } + } - } + } + break; + case 2 : + // InternalExpression.g:3638:2: ( '<' ) + { + // InternalExpression.g:3638:2: ( '<' ) + // InternalExpression.g:3639:3: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); + } + + } - } + } + break; + case 3 : + // InternalExpression.g:3644:2: ( '=>' ) + { + // InternalExpression.g:3644:2: ( '=>' ) + // InternalExpression.g:3645:3: '=>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); + } + match(input,51,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -12288,32 +13233,74 @@ public final void rule__InfixExpression__Group__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__InfixExpression__Group__1__Impl" + // $ANTLR end "rule__OpOther__Alternatives_6_1" - // $ANTLR start "rule__InfixExpression__Group_1_0__0" - // InternalExpression.g:3627:1: rule__InfixExpression__Group_1_0__0 : rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 ; - public final void rule__InfixExpression__Group_1_0__0() throws RecognitionException { + // $ANTLR start "rule__OpAdd__Alternatives" + // InternalExpression.g:3654:1: rule__OpAdd__Alternatives : ( ( '+' ) | ( '-' ) ); + public final void rule__OpAdd__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3631:1: ( rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 ) - // InternalExpression.g:3632:2: rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 - { - pushFollow(FOLLOW_31); - rule__InfixExpression__Group_1_0__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__1(); + // InternalExpression.g:3658:1: ( ( '+' ) | ( '-' ) ) + int alt26=2; + int LA26_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA26_0==23) ) { + alt26=1; + } + else if ( (LA26_0==24) ) { + alt26=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 26, 0, input); + throw nvae; } + switch (alt26) { + case 1 : + // InternalExpression.g:3659:2: ( '+' ) + { + // InternalExpression.g:3659:2: ( '+' ) + // InternalExpression.g:3660:3: '+' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); + } + match(input,23,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); + } + + } + + + } + break; + case 2 : + // InternalExpression.g:3665:2: ( '-' ) + { + // InternalExpression.g:3665:2: ( '-' ) + // InternalExpression.g:3666:3: '-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); + } + match(input,24,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -12326,73 +13313,126 @@ public final void rule__InfixExpression__Group_1_0__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__0" + // $ANTLR end "rule__OpAdd__Alternatives" - // $ANTLR start "rule__InfixExpression__Group_1_0__0__Impl" - // InternalExpression.g:3639:1: rule__InfixExpression__Group_1_0__0__Impl : ( () ) ; - public final void rule__InfixExpression__Group_1_0__0__Impl() throws RecognitionException { + // $ANTLR start "rule__OpMulti__Alternatives" + // InternalExpression.g:3675:1: rule__OpMulti__Alternatives : ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) ); + public final void rule__OpMulti__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3643:1: ( ( () ) ) - // InternalExpression.g:3644:1: ( () ) - { - // InternalExpression.g:3644:1: ( () ) - // InternalExpression.g:3645:2: () - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); - } - // InternalExpression.g:3646:2: () - // InternalExpression.g:3646:3: - { - } + // InternalExpression.g:3679:1: ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) ) + int alt27=4; + switch ( input.LA(1) ) { + case 25: + { + alt27=1; + } + break; + case 54: + { + alt27=2; + } + break; + case 26: + { + alt27=3; + } + break; + case 55: + { + alt27=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 27, 0, input); - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); + throw nvae; } - } + switch (alt27) { + case 1 : + // InternalExpression.g:3680:2: ( '*' ) + { + // InternalExpression.g:3680:2: ( '*' ) + // InternalExpression.g:3681:3: '*' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); + } + match(input,25,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); + } + } - } - } - finally { + } + break; + case 2 : + // InternalExpression.g:3686:2: ( '**' ) + { + // InternalExpression.g:3686:2: ( '**' ) + // InternalExpression.g:3687:3: '**' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); + } + match(input,54,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_0__0__Impl" + } + break; + case 3 : + // InternalExpression.g:3692:2: ( '/' ) + { + // InternalExpression.g:3692:2: ( '/' ) + // InternalExpression.g:3693:3: '/' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); + } + match(input,26,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); + } + + } - // $ANTLR start "rule__InfixExpression__Group_1_0__1" - // InternalExpression.g:3654:1: rule__InfixExpression__Group_1_0__1 : rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 ; - public final void rule__InfixExpression__Group_1_0__1() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3658:1: ( rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 ) - // InternalExpression.g:3659:2: rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 - { - pushFollow(FOLLOW_3); - rule__InfixExpression__Group_1_0__1__Impl(); + } + break; + case 4 : + // InternalExpression.g:3698:2: ( '%' ) + { + // InternalExpression.g:3698:2: ( '%' ) + // InternalExpression.g:3699:3: '%' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); + } + match(input,55,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__2(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -12405,73 +13445,88 @@ public final void rule__InfixExpression__Group_1_0__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__1" + // $ANTLR end "rule__OpMulti__Alternatives" - // $ANTLR start "rule__InfixExpression__Group_1_0__1__Impl" - // InternalExpression.g:3666:1: rule__InfixExpression__Group_1_0__1__Impl : ( '.' ) ; - public final void rule__InfixExpression__Group_1_0__1__Impl() throws RecognitionException { + // $ANTLR start "rule__XUnaryOperation__Alternatives" + // InternalExpression.g:3708:1: rule__XUnaryOperation__Alternatives : ( ( ( rule__XUnaryOperation__Group_0__0 ) ) | ( ruleXCastedExpression ) ); + public final void rule__XUnaryOperation__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3670:1: ( ( '.' ) ) - // InternalExpression.g:3671:1: ( '.' ) - { - // InternalExpression.g:3671:1: ( '.' ) - // InternalExpression.g:3672:2: '.' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); + // InternalExpression.g:3712:1: ( ( ( rule__XUnaryOperation__Group_0__0 ) ) | ( ruleXCastedExpression ) ) + int alt28=2; + int LA28_0 = input.LA(1); + + if ( ((LA28_0>=23 && LA28_0<=24)||LA28_0==27) ) { + alt28=1; } - match(input,51,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); + else if ( ((LA28_0>=RULE_ID && LA28_0<=RULE_DECIMAL)||LA28_0==RULE_STRING||LA28_0==22||(LA28_0>=36 && LA28_0<=37)||(LA28_0>=60 && LA28_0<=64)||LA28_0==67||LA28_0==70||(LA28_0>=73 && LA28_0<=74)||(LA28_0>=81 && LA28_0<=82)||LA28_0==87||(LA28_0>=89 && LA28_0<=96)||LA28_0==98) ) { + alt28=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 28, 0, input); + throw nvae; } + switch (alt28) { + case 1 : + // InternalExpression.g:3713:2: ( ( rule__XUnaryOperation__Group_0__0 ) ) + { + // InternalExpression.g:3713:2: ( ( rule__XUnaryOperation__Group_0__0 ) ) + // InternalExpression.g:3714:3: ( rule__XUnaryOperation__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getGroup_0()); + } + // InternalExpression.g:3715:3: ( rule__XUnaryOperation__Group_0__0 ) + // InternalExpression.g:3715:4: rule__XUnaryOperation__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XUnaryOperation__Group_0__0(); + state._fsp--; + if (state.failed) return ; - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getGroup_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_0__1__Impl" + } + break; + case 2 : + // InternalExpression.g:3719:2: ( ruleXCastedExpression ) + { + // InternalExpression.g:3719:2: ( ruleXCastedExpression ) + // InternalExpression.g:3720:3: ruleXCastedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXCastedExpression(); - // $ANTLR start "rule__InfixExpression__Group_1_0__2" - // InternalExpression.g:3681:1: rule__InfixExpression__Group_1_0__2 : rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 ; - public final void rule__InfixExpression__Group_1_0__2() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3685:1: ( rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 ) - // InternalExpression.g:3686:2: rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 - { - pushFollow(FOLLOW_33); - rule__InfixExpression__Group_1_0__2__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__3(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -12484,83 +13539,102 @@ public final void rule__InfixExpression__Group_1_0__2() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__2" + // $ANTLR end "rule__XUnaryOperation__Alternatives" - // $ANTLR start "rule__InfixExpression__Group_1_0__2__Impl" - // InternalExpression.g:3693:1: rule__InfixExpression__Group_1_0__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) ; - public final void rule__InfixExpression__Group_1_0__2__Impl() throws RecognitionException { + // $ANTLR start "rule__OpUnary__Alternatives" + // InternalExpression.g:3729:1: rule__OpUnary__Alternatives : ( ( '!' ) | ( '-' ) | ( '+' ) ); + public final void rule__OpUnary__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3697:1: ( ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) ) - // InternalExpression.g:3698:1: ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) - { - // InternalExpression.g:3698:1: ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) - // InternalExpression.g:3699:2: ( rule__InfixExpression__NameAssignment_1_0_2 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); - } - // InternalExpression.g:3700:2: ( rule__InfixExpression__NameAssignment_1_0_2 ) - // InternalExpression.g:3700:3: rule__InfixExpression__NameAssignment_1_0_2 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__NameAssignment_1_0_2(); - - state._fsp--; - if (state.failed) return ; - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); - } + // InternalExpression.g:3733:1: ( ( '!' ) | ( '-' ) | ( '+' ) ) + int alt29=3; + switch ( input.LA(1) ) { + case 27: + { + alt29=1; + } + break; + case 24: + { + alt29=2; + } + break; + case 23: + { + alt29=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 29, 0, input); + throw nvae; } + switch (alt29) { + case 1 : + // InternalExpression.g:3734:2: ( '!' ) + { + // InternalExpression.g:3734:2: ( '!' ) + // InternalExpression.g:3735:3: '!' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); + } + match(input,27,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalExpression.g:3740:2: ( '-' ) + { + // InternalExpression.g:3740:2: ( '-' ) + // InternalExpression.g:3741:3: '-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); + } + match(input,24,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); + } - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_0__2__Impl" + } - // $ANTLR start "rule__InfixExpression__Group_1_0__3" - // InternalExpression.g:3708:1: rule__InfixExpression__Group_1_0__3 : rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 ; - public final void rule__InfixExpression__Group_1_0__3() throws RecognitionException { + } + break; + case 3 : + // InternalExpression.g:3746:2: ( '+' ) + { + // InternalExpression.g:3746:2: ( '+' ) + // InternalExpression.g:3747:3: '+' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); + } + match(input,23,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3712:1: ( rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 ) - // InternalExpression.g:3713:2: rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 - { - pushFollow(FOLLOW_34); - rule__InfixExpression__Group_1_0__3__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__4(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -12573,35 +13647,74 @@ public final void rule__InfixExpression__Group_1_0__3() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__3" + // $ANTLR end "rule__OpUnary__Alternatives" - // $ANTLR start "rule__InfixExpression__Group_1_0__3__Impl" - // InternalExpression.g:3720:1: rule__InfixExpression__Group_1_0__3__Impl : ( '(' ) ; - public final void rule__InfixExpression__Group_1_0__3__Impl() throws RecognitionException { + // $ANTLR start "rule__OpPostfix__Alternatives" + // InternalExpression.g:3756:1: rule__OpPostfix__Alternatives : ( ( '++' ) | ( '--' ) ); + public final void rule__OpPostfix__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3724:1: ( ( '(' ) ) - // InternalExpression.g:3725:1: ( '(' ) - { - // InternalExpression.g:3725:1: ( '(' ) - // InternalExpression.g:3726:2: '(' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); + // InternalExpression.g:3760:1: ( ( '++' ) | ( '--' ) ) + int alt30=2; + int LA30_0 = input.LA(1); + + if ( (LA30_0==56) ) { + alt30=1; } - match(input,39,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); + else if ( (LA30_0==57) ) { + alt30=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 30, 0, input); + throw nvae; } + switch (alt30) { + case 1 : + // InternalExpression.g:3761:2: ( '++' ) + { + // InternalExpression.g:3761:2: ( '++' ) + // InternalExpression.g:3762:3: '++' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); + } + match(input,56,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); + } + } - } + } + break; + case 2 : + // InternalExpression.g:3767:2: ( '--' ) + { + // InternalExpression.g:3767:2: ( '--' ) + // InternalExpression.g:3768:3: '--' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); + } + match(input,57,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -12614,32 +13727,80 @@ public final void rule__InfixExpression__Group_1_0__3__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__3__Impl" + // $ANTLR end "rule__OpPostfix__Alternatives" - // $ANTLR start "rule__InfixExpression__Group_1_0__4" - // InternalExpression.g:3735:1: rule__InfixExpression__Group_1_0__4 : rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 ; - public final void rule__InfixExpression__Group_1_0__4() throws RecognitionException { + // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1" + // InternalExpression.g:3777:1: rule__XMemberFeatureCall__Alternatives_1 : ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) ); + public final void rule__XMemberFeatureCall__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3739:1: ( rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 ) - // InternalExpression.g:3740:2: rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 - { - pushFollow(FOLLOW_34); - rule__InfixExpression__Group_1_0__4__Impl(); + // InternalExpression.g:3781:1: ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) ) + int alt31=2; + alt31 = dfa31.predict(input); + switch (alt31) { + case 1 : + // InternalExpression.g:3782:2: ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) + { + // InternalExpression.g:3782:2: ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) + // InternalExpression.g:3783:3: ( rule__XMemberFeatureCall__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); + } + // InternalExpression.g:3784:3: ( rule__XMemberFeatureCall__Group_1_0__0 ) + // InternalExpression.g:3784:4: rule__XMemberFeatureCall__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0__0(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__5(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); + } + + } + + + } + break; + case 2 : + // InternalExpression.g:3788:2: ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) + { + // InternalExpression.g:3788:2: ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) + // InternalExpression.g:3789:3: ( rule__XMemberFeatureCall__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); + } + // InternalExpression.g:3790:3: ( rule__XMemberFeatureCall__Group_1_1__0 ) + // InternalExpression.g:3790:4: rule__XMemberFeatureCall__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -12652,56 +13813,84 @@ public final void rule__InfixExpression__Group_1_0__4() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__4" + // $ANTLR end "rule__XMemberFeatureCall__Alternatives_1" - // $ANTLR start "rule__InfixExpression__Group_1_0__4__Impl" - // InternalExpression.g:3747:1: rule__InfixExpression__Group_1_0__4__Impl : ( ( rule__InfixExpression__Group_1_0_4__0 )? ) ; - public final void rule__InfixExpression__Group_1_0__4__Impl() throws RecognitionException { + // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1_0_0_0_1" + // InternalExpression.g:3798:1: rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 : ( ( '.' ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) ); + public final void rule__XMemberFeatureCall__Alternatives_1_0_0_0_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3751:1: ( ( ( rule__InfixExpression__Group_1_0_4__0 )? ) ) - // InternalExpression.g:3752:1: ( ( rule__InfixExpression__Group_1_0_4__0 )? ) - { - // InternalExpression.g:3752:1: ( ( rule__InfixExpression__Group_1_0_4__0 )? ) - // InternalExpression.g:3753:2: ( rule__InfixExpression__Group_1_0_4__0 )? - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); + // InternalExpression.g:3802:1: ( ( '.' ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) ) + int alt32=2; + int LA32_0 = input.LA(1); + + if ( (LA32_0==58) ) { + alt32=1; + } + else if ( (LA32_0==84) ) { + alt32=2; } - // InternalExpression.g:3754:2: ( rule__InfixExpression__Group_1_0_4__0 )? - int alt29=2; - int LA29_0 = input.LA(1); + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 32, 0, input); - if ( ((LA29_0>=RULE_ID && LA29_0<=RULE_STRING)||LA29_0==19||(LA29_0>=22 && LA29_0<=36)||LA29_0==39||LA29_0==43||(LA29_0>=46 && LA29_0<=47)||(LA29_0>=54 && LA29_0<=55)||(LA29_0>=62 && LA29_0<=63)) ) { - alt29=1; + throw nvae; } - switch (alt29) { + switch (alt32) { case 1 : - // InternalExpression.g:3754:3: rule__InfixExpression__Group_1_0_4__0 + // InternalExpression.g:3803:2: ( '.' ) + { + // InternalExpression.g:3803:2: ( '.' ) + // InternalExpression.g:3804:3: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); + } + + } + + + } + break; + case 2 : + // InternalExpression.g:3809:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) + { + // InternalExpression.g:3809:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) + // InternalExpression.g:3810:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); + } + // InternalExpression.g:3811:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) + // InternalExpression.g:3811:4: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 { pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0_4__0(); + rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1(); state._fsp--; if (state.failed) return ; } - break; - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); - } + } - } + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -12714,68 +13903,122 @@ public final void rule__InfixExpression__Group_1_0__4__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__4__Impl" + // $ANTLR end "rule__XMemberFeatureCall__Alternatives_1_0_0_0_1" - // $ANTLR start "rule__InfixExpression__Group_1_0__5" - // InternalExpression.g:3762:1: rule__InfixExpression__Group_1_0__5 : rule__InfixExpression__Group_1_0__5__Impl ; - public final void rule__InfixExpression__Group_1_0__5() throws RecognitionException { + // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1_1_0_0_1" + // InternalExpression.g:3819:1: rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 : ( ( '.' ) | ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) ); + public final void rule__XMemberFeatureCall__Alternatives_1_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3766:1: ( rule__InfixExpression__Group_1_0__5__Impl ) - // InternalExpression.g:3767:2: rule__InfixExpression__Group_1_0__5__Impl - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__5__Impl(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:3823:1: ( ( '.' ) | ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) ) + int alt33=3; + switch ( input.LA(1) ) { + case 58: + { + alt33=1; + } + break; + case 103: + { + alt33=2; + } + break; + case 84: + { + alt33=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 33, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + switch (alt33) { + case 1 : + // InternalExpression.g:3824:2: ( '.' ) + { + // InternalExpression.g:3824:2: ( '.' ) + // InternalExpression.g:3825:3: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_0__5" + } + break; + case 2 : + // InternalExpression.g:3830:2: ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) + { + // InternalExpression.g:3830:2: ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) + // InternalExpression.g:3831:3: ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); + } + // InternalExpression.g:3832:3: ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) + // InternalExpression.g:3832:4: rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1(); - // $ANTLR start "rule__InfixExpression__Group_1_0__5__Impl" - // InternalExpression.g:3773:1: rule__InfixExpression__Group_1_0__5__Impl : ( ')' ) ; - public final void rule__InfixExpression__Group_1_0__5__Impl() throws RecognitionException { + state._fsp--; + if (state.failed) return ; - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3777:1: ( ( ')' ) ) - // InternalExpression.g:3778:1: ( ')' ) - { - // InternalExpression.g:3778:1: ( ')' ) - // InternalExpression.g:3779:2: ')' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); - } - match(input,40,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); + } + + } - } + } + break; + case 3 : + // InternalExpression.g:3836:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) + { + // InternalExpression.g:3836:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) + // InternalExpression.g:3837:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); + } + // InternalExpression.g:3838:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) + // InternalExpression.g:3838:4: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2(); + + state._fsp--; + if (state.failed) return ; + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -12788,83 +14031,80 @@ public final void rule__InfixExpression__Group_1_0__5__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__5__Impl" + // $ANTLR end "rule__XMemberFeatureCall__Alternatives_1_1_0_0_1" - // $ANTLR start "rule__InfixExpression__Group_1_0_4__0" - // InternalExpression.g:3789:1: rule__InfixExpression__Group_1_0_4__0 : rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 ; - public final void rule__InfixExpression__Group_1_0_4__0() throws RecognitionException { + // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1_1_3_1" + // InternalExpression.g:3846:1: rule__XMemberFeatureCall__Alternatives_1_1_3_1 : ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) ); + public final void rule__XMemberFeatureCall__Alternatives_1_1_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3793:1: ( rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 ) - // InternalExpression.g:3794:2: rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 - { - pushFollow(FOLLOW_35); - rule__InfixExpression__Group_1_0_4__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0_4__1(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:3850:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) ) + int alt34=2; + alt34 = dfa34.predict(input); + switch (alt34) { + case 1 : + // InternalExpression.g:3851:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) + { + // InternalExpression.g:3851:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) + // InternalExpression.g:3852:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); + } + // InternalExpression.g:3853:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) + // InternalExpression.g:3853:4: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0(); - } + state._fsp--; + if (state.failed) return ; - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); + } - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_0_4__0" + } - // $ANTLR start "rule__InfixExpression__Group_1_0_4__0__Impl" - // InternalExpression.g:3801:1: rule__InfixExpression__Group_1_0_4__0__Impl : ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) ; - public final void rule__InfixExpression__Group_1_0_4__0__Impl() throws RecognitionException { + } + break; + case 2 : + // InternalExpression.g:3857:2: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) + { + // InternalExpression.g:3857:2: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) + // InternalExpression.g:3858:3: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); + } + // InternalExpression.g:3859:3: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) + // InternalExpression.g:3859:4: rule__XMemberFeatureCall__Group_1_1_3_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3_1_1__0(); - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3805:1: ( ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) ) - // InternalExpression.g:3806:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) - { - // InternalExpression.g:3806:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) - // InternalExpression.g:3807:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); - } - // InternalExpression.g:3808:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) - // InternalExpression.g:3808:3: rule__InfixExpression__ParamsAssignment_1_0_4_0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__ParamsAssignment_1_0_4_0(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); - } + } - } + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -12877,297 +14117,379 @@ public final void rule__InfixExpression__Group_1_0_4__0__Impl() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0_4__0__Impl" + // $ANTLR end "rule__XMemberFeatureCall__Alternatives_1_1_3_1" - // $ANTLR start "rule__InfixExpression__Group_1_0_4__1" - // InternalExpression.g:3816:1: rule__InfixExpression__Group_1_0_4__1 : rule__InfixExpression__Group_1_0_4__1__Impl ; - public final void rule__InfixExpression__Group_1_0_4__1() throws RecognitionException { + // $ANTLR start "rule__XPrimaryExpression__Alternatives" + // InternalExpression.g:3867:1: rule__XPrimaryExpression__Alternatives : ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) ); + public final void rule__XPrimaryExpression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3820:1: ( rule__InfixExpression__Group_1_0_4__1__Impl ) - // InternalExpression.g:3821:2: rule__InfixExpression__Group_1_0_4__1__Impl - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0_4__1__Impl(); + // InternalExpression.g:3871:1: ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) ) + int alt35=15; + alt35 = dfa35.predict(input); + switch (alt35) { + case 1 : + // InternalExpression.g:3872:2: ( ruleXConstructorCall ) + { + // InternalExpression.g:3872:2: ( ruleXConstructorCall ) + // InternalExpression.g:3873:3: ruleXConstructorCall + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXConstructorCall(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalExpression.g:3878:2: ( ruleXBlockExpression ) + { + // InternalExpression.g:3878:2: ( ruleXBlockExpression ) + // InternalExpression.g:3879:3: ruleXBlockExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXBlockExpression(); - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_0_4__1" + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); + } + } - // $ANTLR start "rule__InfixExpression__Group_1_0_4__1__Impl" - // InternalExpression.g:3827:1: rule__InfixExpression__Group_1_0_4__1__Impl : ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) ; - public final void rule__InfixExpression__Group_1_0_4__1__Impl() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3831:1: ( ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) ) - // InternalExpression.g:3832:1: ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) - { - // InternalExpression.g:3832:1: ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) - // InternalExpression.g:3833:2: ( rule__InfixExpression__Group_1_0_4_1__0 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); - } - // InternalExpression.g:3834:2: ( rule__InfixExpression__Group_1_0_4_1__0 )* - loop30: - do { - int alt30=2; - int LA30_0 = input.LA(1); + } + break; + case 3 : + // InternalExpression.g:3884:2: ( ruleXSwitchExpression ) + { + // InternalExpression.g:3884:2: ( ruleXSwitchExpression ) + // InternalExpression.g:3885:3: ruleXSwitchExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleXSwitchExpression(); - if ( (LA30_0==52) ) { - alt30=1; - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); + } + } - switch (alt30) { - case 1 : - // InternalExpression.g:3834:3: rule__InfixExpression__Group_1_0_4_1__0 - { - pushFollow(FOLLOW_36); - rule__InfixExpression__Group_1_0_4_1__0(); - state._fsp--; - if (state.failed) return ; + } + break; + case 4 : + // InternalExpression.g:3890:2: ( ( ruleXSynchronizedExpression ) ) + { + // InternalExpression.g:3890:2: ( ( ruleXSynchronizedExpression ) ) + // InternalExpression.g:3891:3: ( ruleXSynchronizedExpression ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); + } + // InternalExpression.g:3892:3: ( ruleXSynchronizedExpression ) + // InternalExpression.g:3892:4: ruleXSynchronizedExpression + { + pushFollow(FOLLOW_2); + ruleXSynchronizedExpression(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop30; - } - } while (true); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); + } - } + } - } + } + break; + case 5 : + // InternalExpression.g:3896:2: ( ruleXFeatureCall ) + { + // InternalExpression.g:3896:2: ( ruleXFeatureCall ) + // InternalExpression.g:3897:3: ruleXFeatureCall + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); + } + pushFollow(FOLLOW_2); + ruleXFeatureCall(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_0_4__1__Impl" + } + break; + case 6 : + // InternalExpression.g:3902:2: ( ruleXLiteral ) + { + // InternalExpression.g:3902:2: ( ruleXLiteral ) + // InternalExpression.g:3903:3: ruleXLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); + } + pushFollow(FOLLOW_2); + ruleXLiteral(); - // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__0" - // InternalExpression.g:3843:1: rule__InfixExpression__Group_1_0_4_1__0 : rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 ; - public final void rule__InfixExpression__Group_1_0_4_1__0() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3847:1: ( rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 ) - // InternalExpression.g:3848:2: rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 - { - pushFollow(FOLLOW_5); - rule__InfixExpression__Group_1_0_4_1__0__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0_4_1__1(); - state._fsp--; - if (state.failed) return ; + } + break; + case 7 : + // InternalExpression.g:3908:2: ( ruleXIfExpression ) + { + // InternalExpression.g:3908:2: ( ruleXIfExpression ) + // InternalExpression.g:3909:3: ruleXIfExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); + } + pushFollow(FOLLOW_2); + ruleXIfExpression(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__0" + } + break; + case 8 : + // InternalExpression.g:3914:2: ( ( ruleXForLoopExpression ) ) + { + // InternalExpression.g:3914:2: ( ( ruleXForLoopExpression ) ) + // InternalExpression.g:3915:3: ( ruleXForLoopExpression ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); + } + // InternalExpression.g:3916:3: ( ruleXForLoopExpression ) + // InternalExpression.g:3916:4: ruleXForLoopExpression + { + pushFollow(FOLLOW_2); + ruleXForLoopExpression(); + state._fsp--; + if (state.failed) return ; - // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__0__Impl" - // InternalExpression.g:3855:1: rule__InfixExpression__Group_1_0_4_1__0__Impl : ( ',' ) ; - public final void rule__InfixExpression__Group_1_0_4_1__0__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3859:1: ( ( ',' ) ) - // InternalExpression.g:3860:1: ( ',' ) - { - // InternalExpression.g:3860:1: ( ',' ) - // InternalExpression.g:3861:2: ',' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); - } - match(input,52,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); + } - } + } - } + } + break; + case 9 : + // InternalExpression.g:3920:2: ( ruleXBasicForLoopExpression ) + { + // InternalExpression.g:3920:2: ( ruleXBasicForLoopExpression ) + // InternalExpression.g:3921:3: ruleXBasicForLoopExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); + } + pushFollow(FOLLOW_2); + ruleXBasicForLoopExpression(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__0__Impl" + } + break; + case 10 : + // InternalExpression.g:3926:2: ( ruleXWhileExpression ) + { + // InternalExpression.g:3926:2: ( ruleXWhileExpression ) + // InternalExpression.g:3927:3: ruleXWhileExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); + } + pushFollow(FOLLOW_2); + ruleXWhileExpression(); - // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__1" - // InternalExpression.g:3870:1: rule__InfixExpression__Group_1_0_4_1__1 : rule__InfixExpression__Group_1_0_4_1__1__Impl ; - public final void rule__InfixExpression__Group_1_0_4_1__1() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3874:1: ( rule__InfixExpression__Group_1_0_4_1__1__Impl ) - // InternalExpression.g:3875:2: rule__InfixExpression__Group_1_0_4_1__1__Impl - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0_4_1__1__Impl(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + case 11 : + // InternalExpression.g:3932:2: ( ruleXDoWhileExpression ) + { + // InternalExpression.g:3932:2: ( ruleXDoWhileExpression ) + // InternalExpression.g:3933:3: ruleXDoWhileExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); + } + pushFollow(FOLLOW_2); + ruleXDoWhileExpression(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__1" + } + break; + case 12 : + // InternalExpression.g:3938:2: ( ruleXThrowExpression ) + { + // InternalExpression.g:3938:2: ( ruleXThrowExpression ) + // InternalExpression.g:3939:3: ruleXThrowExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); + } + pushFollow(FOLLOW_2); + ruleXThrowExpression(); - // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__1__Impl" - // InternalExpression.g:3881:1: rule__InfixExpression__Group_1_0_4_1__1__Impl : ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) ; - public final void rule__InfixExpression__Group_1_0_4_1__1__Impl() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3885:1: ( ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) ) - // InternalExpression.g:3886:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) - { - // InternalExpression.g:3886:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) - // InternalExpression.g:3887:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); - } - // InternalExpression.g:3888:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) - // InternalExpression.g:3888:3: rule__InfixExpression__ParamsAssignment_1_0_4_1_1 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__ParamsAssignment_1_0_4_1_1(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + case 13 : + // InternalExpression.g:3944:2: ( ruleXReturnExpression ) + { + // InternalExpression.g:3944:2: ( ruleXReturnExpression ) + // InternalExpression.g:3945:3: ruleXReturnExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); + } + pushFollow(FOLLOW_2); + ruleXReturnExpression(); - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); + } - } + } - } + } + break; + case 14 : + // InternalExpression.g:3950:2: ( ruleXTryCatchFinallyExpression ) + { + // InternalExpression.g:3950:2: ( ruleXTryCatchFinallyExpression ) + // InternalExpression.g:3951:3: ruleXTryCatchFinallyExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); + } + pushFollow(FOLLOW_2); + ruleXTryCatchFinallyExpression(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__1__Impl" + } + break; + case 15 : + // InternalExpression.g:3956:2: ( ruleXParenthesizedExpression ) + { + // InternalExpression.g:3956:2: ( ruleXParenthesizedExpression ) + // InternalExpression.g:3957:3: ruleXParenthesizedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); + } + pushFollow(FOLLOW_2); + ruleXParenthesizedExpression(); - // $ANTLR start "rule__InfixExpression__Group_1_1__0" - // InternalExpression.g:3897:1: rule__InfixExpression__Group_1_1__0 : rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 ; - public final void rule__InfixExpression__Group_1_1__0() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3901:1: ( rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 ) - // InternalExpression.g:3902:2: rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 - { - pushFollow(FOLLOW_31); - rule__InfixExpression__Group_1_1__0__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_1__1(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -13180,147 +14502,235 @@ public final void rule__InfixExpression__Group_1_1__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_1__0" + // $ANTLR end "rule__XPrimaryExpression__Alternatives" - // $ANTLR start "rule__InfixExpression__Group_1_1__0__Impl" - // InternalExpression.g:3909:1: rule__InfixExpression__Group_1_1__0__Impl : ( () ) ; - public final void rule__InfixExpression__Group_1_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__XLiteral__Alternatives" + // InternalExpression.g:3966:1: rule__XLiteral__Alternatives : ( ( ruleXCollectionLiteral ) | ( ( ruleXClosure ) ) | ( ruleXBooleanLiteral ) | ( ruleXNumberLiteral ) | ( ruleXNullLiteral ) | ( ruleXStringLiteral ) | ( ruleXTypeLiteral ) ); + public final void rule__XLiteral__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3913:1: ( ( () ) ) - // InternalExpression.g:3914:1: ( () ) - { - // InternalExpression.g:3914:1: ( () ) - // InternalExpression.g:3915:2: () - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); - } - // InternalExpression.g:3916:2: () - // InternalExpression.g:3916:3: - { - } + // InternalExpression.g:3970:1: ( ( ruleXCollectionLiteral ) | ( ( ruleXClosure ) ) | ( ruleXBooleanLiteral ) | ( ruleXNumberLiteral ) | ( ruleXNullLiteral ) | ( ruleXStringLiteral ) | ( ruleXTypeLiteral ) ) + int alt36=7; + switch ( input.LA(1) ) { + case 87: + { + alt36=1; + } + break; + case 82: + { + alt36=2; + } + break; + case 36: + case 37: + { + alt36=3; + } + break; + case RULE_HEX: + case RULE_INT: + case RULE_DECIMAL: + { + alt36=4; + } + break; + case 92: + { + alt36=5; + } + break; + case RULE_STRING: + { + alt36=6; + } + break; + case 93: + { + alt36=7; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 36, 0, input); - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); + throw nvae; } - } + switch (alt36) { + case 1 : + // InternalExpression.g:3971:2: ( ruleXCollectionLiteral ) + { + // InternalExpression.g:3971:2: ( ruleXCollectionLiteral ) + // InternalExpression.g:3972:3: ruleXCollectionLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXCollectionLiteral(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); + } - } + } - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalExpression.g:3977:2: ( ( ruleXClosure ) ) + { + // InternalExpression.g:3977:2: ( ( ruleXClosure ) ) + // InternalExpression.g:3978:3: ( ruleXClosure ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); + } + // InternalExpression.g:3979:3: ( ruleXClosure ) + // InternalExpression.g:3979:4: ruleXClosure + { + pushFollow(FOLLOW_2); + ruleXClosure(); - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_1__0__Impl" + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__InfixExpression__Group_1_1__1" - // InternalExpression.g:3924:1: rule__InfixExpression__Group_1_1__1 : rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 ; - public final void rule__InfixExpression__Group_1_1__1() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3928:1: ( rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 ) - // InternalExpression.g:3929:2: rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 - { - pushFollow(FOLLOW_7); - rule__InfixExpression__Group_1_1__1__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_1__2(); - state._fsp--; - if (state.failed) return ; + } + break; + case 3 : + // InternalExpression.g:3983:2: ( ruleXBooleanLiteral ) + { + // InternalExpression.g:3983:2: ( ruleXBooleanLiteral ) + // InternalExpression.g:3984:3: ruleXBooleanLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleXBooleanLiteral(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_1__1" + } + break; + case 4 : + // InternalExpression.g:3989:2: ( ruleXNumberLiteral ) + { + // InternalExpression.g:3989:2: ( ruleXNumberLiteral ) + // InternalExpression.g:3990:3: ruleXNumberLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); + } + pushFollow(FOLLOW_2); + ruleXNumberLiteral(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); + } - // $ANTLR start "rule__InfixExpression__Group_1_1__1__Impl" - // InternalExpression.g:3936:1: rule__InfixExpression__Group_1_1__1__Impl : ( '.' ) ; - public final void rule__InfixExpression__Group_1_1__1__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3940:1: ( ( '.' ) ) - // InternalExpression.g:3941:1: ( '.' ) - { - // InternalExpression.g:3941:1: ( '.' ) - // InternalExpression.g:3942:2: '.' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); - } - match(input,51,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); - } - } + } + break; + case 5 : + // InternalExpression.g:3995:2: ( ruleXNullLiteral ) + { + // InternalExpression.g:3995:2: ( ruleXNullLiteral ) + // InternalExpression.g:3996:3: ruleXNullLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); + } + pushFollow(FOLLOW_2); + ruleXNullLiteral(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 6 : + // InternalExpression.g:4001:2: ( ruleXStringLiteral ) + { + // InternalExpression.g:4001:2: ( ruleXStringLiteral ) + // InternalExpression.g:4002:3: ruleXStringLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); + } + pushFollow(FOLLOW_2); + ruleXStringLiteral(); - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_1__1__Impl" + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); + } + } - // $ANTLR start "rule__InfixExpression__Group_1_1__2" - // InternalExpression.g:3951:1: rule__InfixExpression__Group_1_1__2 : rule__InfixExpression__Group_1_1__2__Impl ; - public final void rule__InfixExpression__Group_1_1__2() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3955:1: ( rule__InfixExpression__Group_1_1__2__Impl ) - // InternalExpression.g:3956:2: rule__InfixExpression__Group_1_1__2__Impl - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_1__2__Impl(); + } + break; + case 7 : + // InternalExpression.g:4007:2: ( ruleXTypeLiteral ) + { + // InternalExpression.g:4007:2: ( ruleXTypeLiteral ) + // InternalExpression.g:4008:3: ruleXTypeLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); + } + pushFollow(FOLLOW_2); + ruleXTypeLiteral(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); + } - } + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -13333,83 +14743,93 @@ public final void rule__InfixExpression__Group_1_1__2() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_1__2" + // $ANTLR end "rule__XLiteral__Alternatives" - // $ANTLR start "rule__InfixExpression__Group_1_1__2__Impl" - // InternalExpression.g:3962:1: rule__InfixExpression__Group_1_1__2__Impl : ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) ; - public final void rule__InfixExpression__Group_1_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__XCollectionLiteral__Alternatives" + // InternalExpression.g:4017:1: rule__XCollectionLiteral__Alternatives : ( ( ruleXSetLiteral ) | ( ruleXListLiteral ) ); + public final void rule__XCollectionLiteral__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3966:1: ( ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) ) - // InternalExpression.g:3967:1: ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) - { - // InternalExpression.g:3967:1: ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) - // InternalExpression.g:3968:2: ( rule__InfixExpression__TypeAssignment_1_1_2 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); - } - // InternalExpression.g:3969:2: ( rule__InfixExpression__TypeAssignment_1_1_2 ) - // InternalExpression.g:3969:3: rule__InfixExpression__TypeAssignment_1_1_2 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__TypeAssignment_1_1_2(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:4021:1: ( ( ruleXSetLiteral ) | ( ruleXListLiteral ) ) + int alt37=2; + int LA37_0 = input.LA(1); - } + if ( (LA37_0==87) ) { + int LA37_1 = input.LA(2); - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); - } + if ( (LA37_1==74) ) { + alt37=1; + } + else if ( (LA37_1==82) ) { + alt37=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 37, 1, input); + throw nvae; + } } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 37, 0, input); - + throw nvae; } + switch (alt37) { + case 1 : + // InternalExpression.g:4022:2: ( ruleXSetLiteral ) + { + // InternalExpression.g:4022:2: ( ruleXSetLiteral ) + // InternalExpression.g:4023:3: ruleXSetLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXSetLiteral(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_1__2__Impl" + } + break; + case 2 : + // InternalExpression.g:4028:2: ( ruleXListLiteral ) + { + // InternalExpression.g:4028:2: ( ruleXListLiteral ) + // InternalExpression.g:4029:3: ruleXListLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXListLiteral(); - // $ANTLR start "rule__InfixExpression__Group_1_2__0" - // InternalExpression.g:3978:1: rule__InfixExpression__Group_1_2__0 : rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 ; - public final void rule__InfixExpression__Group_1_2__0() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:3982:1: ( rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 ) - // InternalExpression.g:3983:2: rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 - { - pushFollow(FOLLOW_31); - rule__InfixExpression__Group_1_2__0__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__1(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -13422,73 +14842,80 @@ public final void rule__InfixExpression__Group_1_2__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__0" + // $ANTLR end "rule__XCollectionLiteral__Alternatives" - // $ANTLR start "rule__InfixExpression__Group_1_2__0__Impl" - // InternalExpression.g:3990:1: rule__InfixExpression__Group_1_2__0__Impl : ( () ) ; - public final void rule__InfixExpression__Group_1_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__XSwitchExpression__Alternatives_2" + // InternalExpression.g:4038:1: rule__XSwitchExpression__Alternatives_2 : ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) ); + public final void rule__XSwitchExpression__Alternatives_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:3994:1: ( ( () ) ) - // InternalExpression.g:3995:1: ( () ) - { - // InternalExpression.g:3995:1: ( () ) - // InternalExpression.g:3996:2: () - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); - } - // InternalExpression.g:3997:2: () - // InternalExpression.g:3997:3: - { - } + // InternalExpression.g:4042:1: ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) ) + int alt38=2; + alt38 = dfa38.predict(input); + switch (alt38) { + case 1 : + // InternalExpression.g:4043:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) ) + { + // InternalExpression.g:4043:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) ) + // InternalExpression.g:4044:3: ( rule__XSwitchExpression__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); + } + // InternalExpression.g:4045:3: ( rule__XSwitchExpression__Group_2_0__0 ) + // InternalExpression.g:4045:4: rule__XSwitchExpression__Group_2_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0__0(); - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); + } - } + } - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalExpression.g:4049:2: ( ( rule__XSwitchExpression__Group_2_1__0 ) ) + { + // InternalExpression.g:4049:2: ( ( rule__XSwitchExpression__Group_2_1__0 ) ) + // InternalExpression.g:4050:3: ( rule__XSwitchExpression__Group_2_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); + } + // InternalExpression.g:4051:3: ( rule__XSwitchExpression__Group_2_1__0 ) + // InternalExpression.g:4051:4: rule__XSwitchExpression__Group_2_1__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1__0(); - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_2__0__Impl" + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__InfixExpression__Group_1_2__1" - // InternalExpression.g:4005:1: rule__InfixExpression__Group_1_2__1 : rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 ; - public final void rule__InfixExpression__Group_1_2__1() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:4009:1: ( rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 ) - // InternalExpression.g:4010:2: rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 - { - pushFollow(FOLLOW_37); - rule__InfixExpression__Group_1_2__1__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__2(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -13501,73 +14928,94 @@ public final void rule__InfixExpression__Group_1_2__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__1" + // $ANTLR end "rule__XSwitchExpression__Alternatives_2" - // $ANTLR start "rule__InfixExpression__Group_1_2__1__Impl" - // InternalExpression.g:4017:1: rule__InfixExpression__Group_1_2__1__Impl : ( '.' ) ; - public final void rule__InfixExpression__Group_1_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__XCasePart__Alternatives_3" + // InternalExpression.g:4059:1: rule__XCasePart__Alternatives_3 : ( ( ( rule__XCasePart__Group_3_0__0 ) ) | ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) ); + public final void rule__XCasePart__Alternatives_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4021:1: ( ( '.' ) ) - // InternalExpression.g:4022:1: ( '.' ) - { - // InternalExpression.g:4022:1: ( '.' ) - // InternalExpression.g:4023:2: '.' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); + // InternalExpression.g:4063:1: ( ( ( rule__XCasePart__Group_3_0__0 ) ) | ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) ) + int alt39=2; + int LA39_0 = input.LA(1); + + if ( (LA39_0==66) ) { + alt39=1; } - match(input,51,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); + else if ( (LA39_0==78) ) { + alt39=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 39, 0, input); + throw nvae; } + switch (alt39) { + case 1 : + // InternalExpression.g:4064:2: ( ( rule__XCasePart__Group_3_0__0 ) ) + { + // InternalExpression.g:4064:2: ( ( rule__XCasePart__Group_3_0__0 ) ) + // InternalExpression.g:4065:3: ( rule__XCasePart__Group_3_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getGroup_3_0()); + } + // InternalExpression.g:4066:3: ( rule__XCasePart__Group_3_0__0 ) + // InternalExpression.g:4066:4: rule__XCasePart__Group_3_0__0 + { + pushFollow(FOLLOW_2); + rule__XCasePart__Group_3_0__0(); + state._fsp--; + if (state.failed) return ; - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getGroup_3_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_2__1__Impl" + } + break; + case 2 : + // InternalExpression.g:4070:2: ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) + { + // InternalExpression.g:4070:2: ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) + // InternalExpression.g:4071:3: ( rule__XCasePart__FallThroughAssignment_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); + } + // InternalExpression.g:4072:3: ( rule__XCasePart__FallThroughAssignment_3_1 ) + // InternalExpression.g:4072:4: rule__XCasePart__FallThroughAssignment_3_1 + { + pushFollow(FOLLOW_2); + rule__XCasePart__FallThroughAssignment_3_1(); - // $ANTLR start "rule__InfixExpression__Group_1_2__2" - // InternalExpression.g:4032:1: rule__InfixExpression__Group_1_2__2 : rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 ; - public final void rule__InfixExpression__Group_1_2__2() throws RecognitionException { + state._fsp--; + if (state.failed) return ; - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:4036:1: ( rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 ) - // InternalExpression.g:4037:2: rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 - { - pushFollow(FOLLOW_33); - rule__InfixExpression__Group_1_2__2__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__3(); + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); + } - state._fsp--; - if (state.failed) return ; + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -13580,83 +15028,82 @@ public final void rule__InfixExpression__Group_1_2__2() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__2" + // $ANTLR end "rule__XCasePart__Alternatives_3" - // $ANTLR start "rule__InfixExpression__Group_1_2__2__Impl" - // InternalExpression.g:4044:1: rule__InfixExpression__Group_1_2__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) ; - public final void rule__InfixExpression__Group_1_2__2__Impl() throws RecognitionException { + // $ANTLR start "rule__XExpressionOrVarDeclaration__Alternatives" + // InternalExpression.g:4080:1: rule__XExpressionOrVarDeclaration__Alternatives : ( ( ruleXVariableDeclaration ) | ( ruleXExpression ) ); + public final void rule__XExpressionOrVarDeclaration__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4048:1: ( ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) ) - // InternalExpression.g:4049:1: ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) - { - // InternalExpression.g:4049:1: ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) - // InternalExpression.g:4050:2: ( rule__InfixExpression__NameAssignment_1_2_2 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); - } - // InternalExpression.g:4051:2: ( rule__InfixExpression__NameAssignment_1_2_2 ) - // InternalExpression.g:4051:3: rule__InfixExpression__NameAssignment_1_2_2 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__NameAssignment_1_2_2(); - - state._fsp--; - if (state.failed) return ; - - } + // InternalExpression.g:4084:1: ( ( ruleXVariableDeclaration ) | ( ruleXExpression ) ) + int alt40=2; + int LA40_0 = input.LA(1); - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); + if ( (LA40_0==59||LA40_0==104) ) { + alt40=1; } - + else if ( ((LA40_0>=RULE_ID && LA40_0<=RULE_DECIMAL)||LA40_0==RULE_STRING||(LA40_0>=22 && LA40_0<=24)||LA40_0==27||(LA40_0>=36 && LA40_0<=37)||(LA40_0>=60 && LA40_0<=64)||LA40_0==67||LA40_0==70||(LA40_0>=73 && LA40_0<=74)||(LA40_0>=81 && LA40_0<=82)||LA40_0==87||(LA40_0>=89 && LA40_0<=96)||LA40_0==98) ) { + alt40=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 40, 0, input); - + throw nvae; } + switch (alt40) { + case 1 : + // InternalExpression.g:4085:2: ( ruleXVariableDeclaration ) + { + // InternalExpression.g:4085:2: ( ruleXVariableDeclaration ) + // InternalExpression.g:4086:3: ruleXVariableDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXVariableDeclaration(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_2__2__Impl" + } + break; + case 2 : + // InternalExpression.g:4091:2: ( ruleXExpression ) + { + // InternalExpression.g:4091:2: ( ruleXExpression ) + // InternalExpression.g:4092:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); - // $ANTLR start "rule__InfixExpression__Group_1_2__3" - // InternalExpression.g:4059:1: rule__InfixExpression__Group_1_2__3 : rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 ; - public final void rule__InfixExpression__Group_1_2__3() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:4063:1: ( rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 ) - // InternalExpression.g:4064:2: rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 - { - pushFollow(FOLLOW_7); - rule__InfixExpression__Group_1_2__3__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__4(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -13669,73 +15116,84 @@ public final void rule__InfixExpression__Group_1_2__3() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__3" + // $ANTLR end "rule__XExpressionOrVarDeclaration__Alternatives" - // $ANTLR start "rule__InfixExpression__Group_1_2__3__Impl" - // InternalExpression.g:4071:1: rule__InfixExpression__Group_1_2__3__Impl : ( '(' ) ; - public final void rule__InfixExpression__Group_1_2__3__Impl() throws RecognitionException { + // $ANTLR start "rule__XVariableDeclaration__Alternatives_1" + // InternalExpression.g:4101:1: rule__XVariableDeclaration__Alternatives_1 : ( ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) | ( 'val' ) ); + public final void rule__XVariableDeclaration__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4075:1: ( ( '(' ) ) - // InternalExpression.g:4076:1: ( '(' ) - { - // InternalExpression.g:4076:1: ( '(' ) - // InternalExpression.g:4077:2: '(' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); + // InternalExpression.g:4105:1: ( ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) | ( 'val' ) ) + int alt41=2; + int LA41_0 = input.LA(1); + + if ( (LA41_0==104) ) { + alt41=1; } - match(input,39,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); + else if ( (LA41_0==59) ) { + alt41=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 41, 0, input); + throw nvae; } + switch (alt41) { + case 1 : + // InternalExpression.g:4106:2: ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) + { + // InternalExpression.g:4106:2: ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) + // InternalExpression.g:4107:3: ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); + } + // InternalExpression.g:4108:3: ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) + // InternalExpression.g:4108:4: rule__XVariableDeclaration__WriteableAssignment_1_0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__WriteableAssignment_1_0(); + state._fsp--; + if (state.failed) return ; - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); + } - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_2__3__Impl" + } - // $ANTLR start "rule__InfixExpression__Group_1_2__4" - // InternalExpression.g:4086:1: rule__InfixExpression__Group_1_2__4 : rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 ; - public final void rule__InfixExpression__Group_1_2__4() throws RecognitionException { + } + break; + case 2 : + // InternalExpression.g:4112:2: ( 'val' ) + { + // InternalExpression.g:4112:2: ( 'val' ) + // InternalExpression.g:4113:3: 'val' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); + } + match(input,59,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:4090:1: ( rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 ) - // InternalExpression.g:4091:2: rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 - { - pushFollow(FOLLOW_8); - rule__InfixExpression__Group_1_2__4__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__5(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -13748,78 +15206,108 @@ public final void rule__InfixExpression__Group_1_2__4() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__4" + // $ANTLR end "rule__XVariableDeclaration__Alternatives_1" - // $ANTLR start "rule__InfixExpression__Group_1_2__4__Impl" - // InternalExpression.g:4098:1: rule__InfixExpression__Group_1_2__4__Impl : ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) ; - public final void rule__InfixExpression__Group_1_2__4__Impl() throws RecognitionException { + // $ANTLR start "rule__XVariableDeclaration__Alternatives_2" + // InternalExpression.g:4122:1: rule__XVariableDeclaration__Alternatives_2 : ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) | ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) ); + public final void rule__XVariableDeclaration__Alternatives_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4102:1: ( ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) ) - // InternalExpression.g:4103:1: ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) - { - // InternalExpression.g:4103:1: ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) - // InternalExpression.g:4104:2: ( rule__InfixExpression__TypeAssignment_1_2_4 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); - } - // InternalExpression.g:4105:2: ( rule__InfixExpression__TypeAssignment_1_2_4 ) - // InternalExpression.g:4105:3: rule__InfixExpression__TypeAssignment_1_2_4 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__TypeAssignment_1_2_4(); + // InternalExpression.g:4126:1: ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) | ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) ) + int alt42=2; + int LA42_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA42_0==RULE_ID) ) { + int LA42_1 = input.LA(2); - } + if ( (synpred111_InternalExpression()) ) { + alt42=1; + } + else if ( (true) ) { + alt42=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 42, 1, input); - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); + throw nvae; + } } + else if ( (LA42_0==51||LA42_0==67) ) { + alt42=1; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 42, 0, input); + throw nvae; } + switch (alt42) { + case 1 : + // InternalExpression.g:4127:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) + { + // InternalExpression.g:4127:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) + // InternalExpression.g:4128:3: ( rule__XVariableDeclaration__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); + } + // InternalExpression.g:4129:3: ( rule__XVariableDeclaration__Group_2_0__0 ) + // InternalExpression.g:4129:4: rule__XVariableDeclaration__Group_2_0__0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0__0(); + state._fsp--; + if (state.failed) return ; - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_2__4__Impl" + } + break; + case 2 : + // InternalExpression.g:4133:2: ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) + { + // InternalExpression.g:4133:2: ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) + // InternalExpression.g:4134:3: ( rule__XVariableDeclaration__NameAssignment_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); + } + // InternalExpression.g:4135:3: ( rule__XVariableDeclaration__NameAssignment_2_1 ) + // InternalExpression.g:4135:4: rule__XVariableDeclaration__NameAssignment_2_1 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__NameAssignment_2_1(); - // $ANTLR start "rule__InfixExpression__Group_1_2__5" - // InternalExpression.g:4113:1: rule__InfixExpression__Group_1_2__5 : rule__InfixExpression__Group_1_2__5__Impl ; - public final void rule__InfixExpression__Group_1_2__5() throws RecognitionException { + state._fsp--; + if (state.failed) return ; - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:4117:1: ( rule__InfixExpression__Group_1_2__5__Impl ) - // InternalExpression.g:4118:2: rule__InfixExpression__Group_1_2__5__Impl - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__5__Impl(); + } - state._fsp--; - if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); + } - } + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -13832,73 +15320,80 @@ public final void rule__InfixExpression__Group_1_2__5() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__5" + // $ANTLR end "rule__XVariableDeclaration__Alternatives_2" - // $ANTLR start "rule__InfixExpression__Group_1_2__5__Impl" - // InternalExpression.g:4124:1: rule__InfixExpression__Group_1_2__5__Impl : ( ')' ) ; - public final void rule__InfixExpression__Group_1_2__5__Impl() throws RecognitionException { + // $ANTLR start "rule__XFeatureCall__Alternatives_3_1" + // InternalExpression.g:4143:1: rule__XFeatureCall__Alternatives_3_1 : ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) ); + public final void rule__XFeatureCall__Alternatives_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4128:1: ( ( ')' ) ) - // InternalExpression.g:4129:1: ( ')' ) - { - // InternalExpression.g:4129:1: ( ')' ) - // InternalExpression.g:4130:2: ')' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); - } - match(input,40,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); - } + // InternalExpression.g:4147:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) ) + int alt43=2; + alt43 = dfa43.predict(input); + switch (alt43) { + case 1 : + // InternalExpression.g:4148:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) + { + // InternalExpression.g:4148:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) + // InternalExpression.g:4149:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); + } + // InternalExpression.g:4150:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) + // InternalExpression.g:4150:4: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0(); - } + state._fsp--; + if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_2__5__Impl" + } + break; + case 2 : + // InternalExpression.g:4154:2: ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) + { + // InternalExpression.g:4154:2: ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) + // InternalExpression.g:4155:3: ( rule__XFeatureCall__Group_3_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); + } + // InternalExpression.g:4156:3: ( rule__XFeatureCall__Group_3_1_1__0 ) + // InternalExpression.g:4156:4: rule__XFeatureCall__Group_3_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3_1_1__0(); + state._fsp--; + if (state.failed) return ; - // $ANTLR start "rule__InfixExpression__Group_1_3__0" - // InternalExpression.g:4140:1: rule__InfixExpression__Group_1_3__0 : rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 ; - public final void rule__InfixExpression__Group_1_3__0() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:4144:1: ( rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 ) - // InternalExpression.g:4145:2: rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 - { - pushFollow(FOLLOW_31); - rule__InfixExpression__Group_1_3__0__Impl(); + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__1(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -13911,73 +15406,154 @@ public final void rule__InfixExpression__Group_1_3__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__0" + // $ANTLR end "rule__XFeatureCall__Alternatives_3_1" - // $ANTLR start "rule__InfixExpression__Group_1_3__0__Impl" - // InternalExpression.g:4152:1: rule__InfixExpression__Group_1_3__0__Impl : ( () ) ; - public final void rule__InfixExpression__Group_1_3__0__Impl() throws RecognitionException { + // $ANTLR start "rule__FeatureCallID__Alternatives" + // InternalExpression.g:4164:1: rule__FeatureCallID__Alternatives : ( ( ruleValidID ) | ( 'extends' ) | ( 'static' ) | ( 'import' ) | ( 'extension' ) ); + public final void rule__FeatureCallID__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4156:1: ( ( () ) ) - // InternalExpression.g:4157:1: ( () ) - { - // InternalExpression.g:4157:1: ( () ) - // InternalExpression.g:4158:2: () - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); - } - // InternalExpression.g:4159:2: () - // InternalExpression.g:4159:3: - { - } + // InternalExpression.g:4168:1: ( ( ruleValidID ) | ( 'extends' ) | ( 'static' ) | ( 'import' ) | ( 'extension' ) ) + int alt44=5; + switch ( input.LA(1) ) { + case RULE_ID: + { + alt44=1; + } + break; + case 60: + { + alt44=2; + } + break; + case 61: + { + alt44=3; + } + break; + case 62: + { + alt44=4; + } + break; + case 63: + { + alt44=5; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 44, 0, input); - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); + throw nvae; } - } + switch (alt44) { + case 1 : + // InternalExpression.g:4169:2: ( ruleValidID ) + { + // InternalExpression.g:4169:2: ( ruleValidID ) + // InternalExpression.g:4170:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); + } + } - } - } - finally { + } + break; + case 2 : + // InternalExpression.g:4175:2: ( 'extends' ) + { + // InternalExpression.g:4175:2: ( 'extends' ) + // InternalExpression.g:4176:3: 'extends' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); + } + match(input,60,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_3__0__Impl" + } + break; + case 3 : + // InternalExpression.g:4181:2: ( 'static' ) + { + // InternalExpression.g:4181:2: ( 'static' ) + // InternalExpression.g:4182:3: 'static' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); + } + match(input,61,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); + } - // $ANTLR start "rule__InfixExpression__Group_1_3__1" - // InternalExpression.g:4167:1: rule__InfixExpression__Group_1_3__1 : rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 ; - public final void rule__InfixExpression__Group_1_3__1() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:4171:1: ( rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 ) - // InternalExpression.g:4172:2: rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 - { - pushFollow(FOLLOW_38); - rule__InfixExpression__Group_1_3__1__Impl(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__2(); + } + break; + case 4 : + // InternalExpression.g:4187:2: ( 'import' ) + { + // InternalExpression.g:4187:2: ( 'import' ) + // InternalExpression.g:4188:3: 'import' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); + } + match(input,62,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); + } - state._fsp--; - if (state.failed) return ; + } - } + } + break; + case 5 : + // InternalExpression.g:4193:2: ( 'extension' ) + { + // InternalExpression.g:4193:2: ( 'extension' ) + // InternalExpression.g:4194:3: 'extension' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); + } + match(input,63,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -13990,73 +15566,78 @@ public final void rule__InfixExpression__Group_1_3__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__1" + // $ANTLR end "rule__FeatureCallID__Alternatives" - // $ANTLR start "rule__InfixExpression__Group_1_3__1__Impl" - // InternalExpression.g:4179:1: rule__InfixExpression__Group_1_3__1__Impl : ( '.' ) ; - public final void rule__InfixExpression__Group_1_3__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IdOrSuper__Alternatives" + // InternalExpression.g:4203:1: rule__IdOrSuper__Alternatives : ( ( ruleFeatureCallID ) | ( 'super' ) ); + public final void rule__IdOrSuper__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4183:1: ( ( '.' ) ) - // InternalExpression.g:4184:1: ( '.' ) - { - // InternalExpression.g:4184:1: ( '.' ) - // InternalExpression.g:4185:2: '.' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); - } - match(input,51,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); - } + // InternalExpression.g:4207:1: ( ( ruleFeatureCallID ) | ( 'super' ) ) + int alt45=2; + int LA45_0 = input.LA(1); + if ( (LA45_0==RULE_ID||(LA45_0>=60 && LA45_0<=63)) ) { + alt45=1; } - - + else if ( (LA45_0==64) ) { + alt45=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 45, 0, input); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + throw nvae; + } + switch (alt45) { + case 1 : + // InternalExpression.g:4208:2: ( ruleFeatureCallID ) + { + // InternalExpression.g:4208:2: ( ruleFeatureCallID ) + // InternalExpression.g:4209:3: ruleFeatureCallID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleFeatureCallID(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); + } - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_3__1__Impl" + } - // $ANTLR start "rule__InfixExpression__Group_1_3__2" - // InternalExpression.g:4194:1: rule__InfixExpression__Group_1_3__2 : rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 ; - public final void rule__InfixExpression__Group_1_3__2() throws RecognitionException { + } + break; + case 2 : + // InternalExpression.g:4214:2: ( 'super' ) + { + // InternalExpression.g:4214:2: ( 'super' ) + // InternalExpression.g:4215:3: 'super' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); + } + match(input,64,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:4198:1: ( rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 ) - // InternalExpression.g:4199:2: rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 - { - pushFollow(FOLLOW_33); - rule__InfixExpression__Group_1_3__2__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__3(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -14069,83 +15650,80 @@ public final void rule__InfixExpression__Group_1_3__2() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__2" + // $ANTLR end "rule__IdOrSuper__Alternatives" - // $ANTLR start "rule__InfixExpression__Group_1_3__2__Impl" - // InternalExpression.g:4206:1: rule__InfixExpression__Group_1_3__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) ; - public final void rule__InfixExpression__Group_1_3__2__Impl() throws RecognitionException { + // $ANTLR start "rule__XConstructorCall__Alternatives_4_1" + // InternalExpression.g:4224:1: rule__XConstructorCall__Alternatives_4_1 : ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) ); + public final void rule__XConstructorCall__Alternatives_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4210:1: ( ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) ) - // InternalExpression.g:4211:1: ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) - { - // InternalExpression.g:4211:1: ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) - // InternalExpression.g:4212:2: ( rule__InfixExpression__NameAssignment_1_3_2 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); - } - // InternalExpression.g:4213:2: ( rule__InfixExpression__NameAssignment_1_3_2 ) - // InternalExpression.g:4213:3: rule__InfixExpression__NameAssignment_1_3_2 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__NameAssignment_1_3_2(); - - state._fsp--; - if (state.failed) return ; - - } + // InternalExpression.g:4228:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) ) + int alt46=2; + alt46 = dfa46.predict(input); + switch (alt46) { + case 1 : + // InternalExpression.g:4229:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) + { + // InternalExpression.g:4229:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) + // InternalExpression.g:4230:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); + } + // InternalExpression.g:4231:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) + // InternalExpression.g:4231:4: rule__XConstructorCall__ArgumentsAssignment_4_1_0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_4_1_0(); - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalExpression.g:4235:2: ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) + { + // InternalExpression.g:4235:2: ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) + // InternalExpression.g:4236:3: ( rule__XConstructorCall__Group_4_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); + } + // InternalExpression.g:4237:3: ( rule__XConstructorCall__Group_4_1_1__0 ) + // InternalExpression.g:4237:4: rule__XConstructorCall__Group_4_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4_1_1__0(); - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_3__2__Impl" + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__InfixExpression__Group_1_3__3" - // InternalExpression.g:4221:1: rule__InfixExpression__Group_1_3__3 : rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 ; - public final void rule__InfixExpression__Group_1_3__3() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:4225:1: ( rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 ) - // InternalExpression.g:4226:2: rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 - { - pushFollow(FOLLOW_5); - rule__InfixExpression__Group_1_3__3__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__4(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -14158,73 +15736,84 @@ public final void rule__InfixExpression__Group_1_3__3() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__3" + // $ANTLR end "rule__XConstructorCall__Alternatives_4_1" - // $ANTLR start "rule__InfixExpression__Group_1_3__3__Impl" - // InternalExpression.g:4233:1: rule__InfixExpression__Group_1_3__3__Impl : ( '(' ) ; - public final void rule__InfixExpression__Group_1_3__3__Impl() throws RecognitionException { + // $ANTLR start "rule__XBooleanLiteral__Alternatives_1" + // InternalExpression.g:4245:1: rule__XBooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) ); + public final void rule__XBooleanLiteral__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4237:1: ( ( '(' ) ) - // InternalExpression.g:4238:1: ( '(' ) - { - // InternalExpression.g:4238:1: ( '(' ) - // InternalExpression.g:4239:2: '(' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); + // InternalExpression.g:4249:1: ( ( 'false' ) | ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) ) + int alt47=2; + int LA47_0 = input.LA(1); + + if ( (LA47_0==37) ) { + alt47=1; } - match(input,39,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); + else if ( (LA47_0==36) ) { + alt47=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 47, 0, input); + throw nvae; } + switch (alt47) { + case 1 : + // InternalExpression.g:4250:2: ( 'false' ) + { + // InternalExpression.g:4250:2: ( 'false' ) + // InternalExpression.g:4251:3: 'false' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); + } + match(input,37,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); + } + } - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalExpression.g:4256:2: ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) + { + // InternalExpression.g:4256:2: ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) + // InternalExpression.g:4257:3: ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); + } + // InternalExpression.g:4258:3: ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) + // InternalExpression.g:4258:4: rule__XBooleanLiteral__IsTrueAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XBooleanLiteral__IsTrueAssignment_1_1(); - } - return ; - } - // $ANTLR end "rule__InfixExpression__Group_1_3__3__Impl" + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__InfixExpression__Group_1_3__4" - // InternalExpression.g:4248:1: rule__InfixExpression__Group_1_3__4 : rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 ; - public final void rule__InfixExpression__Group_1_3__4() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:4252:1: ( rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 ) - // InternalExpression.g:4253:2: rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 - { - pushFollow(FOLLOW_5); - rule__InfixExpression__Group_1_3__4__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__5(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -14237,61 +15826,95 @@ public final void rule__InfixExpression__Group_1_3__4() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__4" + // $ANTLR end "rule__XBooleanLiteral__Alternatives_1" - // $ANTLR start "rule__InfixExpression__Group_1_3__4__Impl" - // InternalExpression.g:4260:1: rule__InfixExpression__Group_1_3__4__Impl : ( ( rule__InfixExpression__Group_1_3_4__0 )? ) ; - public final void rule__InfixExpression__Group_1_3__4__Impl() throws RecognitionException { + // $ANTLR start "rule__XTryCatchFinallyExpression__Alternatives_3" + // InternalExpression.g:4266:1: rule__XTryCatchFinallyExpression__Alternatives_3 : ( ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) | ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) ); + public final void rule__XTryCatchFinallyExpression__Alternatives_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4264:1: ( ( ( rule__InfixExpression__Group_1_3_4__0 )? ) ) - // InternalExpression.g:4265:1: ( ( rule__InfixExpression__Group_1_3_4__0 )? ) - { - // InternalExpression.g:4265:1: ( ( rule__InfixExpression__Group_1_3_4__0 )? ) - // InternalExpression.g:4266:2: ( rule__InfixExpression__Group_1_3_4__0 )? - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); - } - // InternalExpression.g:4267:2: ( rule__InfixExpression__Group_1_3_4__0 )? - int alt31=2; - int LA31_0 = input.LA(1); + // InternalExpression.g:4270:1: ( ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) | ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) ) + int alt48=2; + int LA48_0 = input.LA(1); - if ( (LA31_0==RULE_ID) ) { - int LA31_1 = input.LA(2); + if ( (LA48_0==99) ) { + alt48=1; + } + else if ( (LA48_0==97) ) { + alt48=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 48, 0, input); - if ( (LA31_1==53) ) { - alt31=1; - } + throw nvae; } - switch (alt31) { + switch (alt48) { case 1 : - // InternalExpression.g:4267:3: rule__InfixExpression__Group_1_3_4__0 + // InternalExpression.g:4271:2: ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) + { + // InternalExpression.g:4271:2: ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) + // InternalExpression.g:4272:3: ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); + } + // InternalExpression.g:4273:3: ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) + // InternalExpression.g:4273:4: rule__XTryCatchFinallyExpression__Group_3_0__0 { pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3_4__0(); + rule__XTryCatchFinallyExpression__Group_3_0__0(); state._fsp--; if (state.failed) return ; } - break; - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); - } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); + } + } - } - } + } + break; + case 2 : + // InternalExpression.g:4277:2: ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) + { + // InternalExpression.g:4277:2: ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) + // InternalExpression.g:4278:3: ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); + } + // InternalExpression.g:4279:3: ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) + // InternalExpression.g:4279:4: rule__XTryCatchFinallyExpression__Group_3_1__0 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); + } + + } + + + } + break; + + } + } catch (RecognitionException re) { reportError(re); recover(input,re); @@ -14303,32 +15926,84 @@ public final void rule__InfixExpression__Group_1_3__4__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__4__Impl" + // $ANTLR end "rule__XTryCatchFinallyExpression__Alternatives_3" - // $ANTLR start "rule__InfixExpression__Group_1_3__5" - // InternalExpression.g:4275:1: rule__InfixExpression__Group_1_3__5 : rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 ; - public final void rule__InfixExpression__Group_1_3__5() throws RecognitionException { + // $ANTLR start "rule__Number__Alternatives" + // InternalExpression.g:4287:1: rule__Number__Alternatives : ( ( RULE_HEX ) | ( ( rule__Number__Group_1__0 ) ) ); + public final void rule__Number__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4279:1: ( rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 ) - // InternalExpression.g:4280:2: rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 - { - pushFollow(FOLLOW_8); - rule__InfixExpression__Group_1_3__5__Impl(); + // InternalExpression.g:4291:1: ( ( RULE_HEX ) | ( ( rule__Number__Group_1__0 ) ) ) + int alt49=2; + int LA49_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__6(); - - state._fsp--; - if (state.failed) return ; + if ( (LA49_0==RULE_HEX) ) { + alt49=1; + } + else if ( ((LA49_0>=RULE_INT && LA49_0<=RULE_DECIMAL)) ) { + alt49=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 49, 0, input); + throw nvae; } + switch (alt49) { + case 1 : + // InternalExpression.g:4292:2: ( RULE_HEX ) + { + // InternalExpression.g:4292:2: ( RULE_HEX ) + // InternalExpression.g:4293:3: RULE_HEX + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); + } + match(input,RULE_HEX,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalExpression.g:4298:2: ( ( rule__Number__Group_1__0 ) ) + { + // InternalExpression.g:4298:2: ( ( rule__Number__Group_1__0 ) ) + // InternalExpression.g:4299:3: ( rule__Number__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getGroup_1()); + } + // InternalExpression.g:4300:3: ( rule__Number__Group_1__0 ) + // InternalExpression.g:4300:4: rule__Number__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__Number__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getGroup_1()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -14341,45 +16016,74 @@ public final void rule__InfixExpression__Group_1_3__5() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__5" + // $ANTLR end "rule__Number__Alternatives" - // $ANTLR start "rule__InfixExpression__Group_1_3__5__Impl" - // InternalExpression.g:4287:1: rule__InfixExpression__Group_1_3__5__Impl : ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) ; - public final void rule__InfixExpression__Group_1_3__5__Impl() throws RecognitionException { + // $ANTLR start "rule__Number__Alternatives_1_0" + // InternalExpression.g:4308:1: rule__Number__Alternatives_1_0 : ( ( RULE_INT ) | ( RULE_DECIMAL ) ); + public final void rule__Number__Alternatives_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4291:1: ( ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) ) - // InternalExpression.g:4292:1: ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) - { - // InternalExpression.g:4292:1: ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) - // InternalExpression.g:4293:2: ( rule__InfixExpression__ExpAssignment_1_3_5 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); - } - // InternalExpression.g:4294:2: ( rule__InfixExpression__ExpAssignment_1_3_5 ) - // InternalExpression.g:4294:3: rule__InfixExpression__ExpAssignment_1_3_5 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__ExpAssignment_1_3_5(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:4312:1: ( ( RULE_INT ) | ( RULE_DECIMAL ) ) + int alt50=2; + int LA50_0 = input.LA(1); + if ( (LA50_0==RULE_INT) ) { + alt50=1; } - - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); + else if ( (LA50_0==RULE_DECIMAL) ) { + alt50=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 50, 0, input); + throw nvae; } + switch (alt50) { + case 1 : + // InternalExpression.g:4313:2: ( RULE_INT ) + { + // InternalExpression.g:4313:2: ( RULE_INT ) + // InternalExpression.g:4314:3: RULE_INT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); + } + } - } + } + break; + case 2 : + // InternalExpression.g:4319:2: ( RULE_DECIMAL ) + { + // InternalExpression.g:4319:2: ( RULE_DECIMAL ) + // InternalExpression.g:4320:3: RULE_DECIMAL + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); + } + match(input,RULE_DECIMAL,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -14392,27 +16096,74 @@ public final void rule__InfixExpression__Group_1_3__5__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__5__Impl" + // $ANTLR end "rule__Number__Alternatives_1_0" - // $ANTLR start "rule__InfixExpression__Group_1_3__6" - // InternalExpression.g:4302:1: rule__InfixExpression__Group_1_3__6 : rule__InfixExpression__Group_1_3__6__Impl ; - public final void rule__InfixExpression__Group_1_3__6() throws RecognitionException { + // $ANTLR start "rule__Number__Alternatives_1_1_1" + // InternalExpression.g:4329:1: rule__Number__Alternatives_1_1_1 : ( ( RULE_INT ) | ( RULE_DECIMAL ) ); + public final void rule__Number__Alternatives_1_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4306:1: ( rule__InfixExpression__Group_1_3__6__Impl ) - // InternalExpression.g:4307:2: rule__InfixExpression__Group_1_3__6__Impl - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__6__Impl(); + // InternalExpression.g:4333:1: ( ( RULE_INT ) | ( RULE_DECIMAL ) ) + int alt51=2; + int LA51_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA51_0==RULE_INT) ) { + alt51=1; + } + else if ( (LA51_0==RULE_DECIMAL) ) { + alt51=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 51, 0, input); + throw nvae; } + switch (alt51) { + case 1 : + // InternalExpression.g:4334:2: ( RULE_INT ) + { + // InternalExpression.g:4334:2: ( RULE_INT ) + // InternalExpression.g:4335:3: RULE_INT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); + } + + } + + + } + break; + case 2 : + // InternalExpression.g:4340:2: ( RULE_DECIMAL ) + { + // InternalExpression.g:4340:2: ( RULE_DECIMAL ) + // InternalExpression.g:4341:3: RULE_DECIMAL + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); + } + match(input,RULE_DECIMAL,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -14425,35 +16176,88 @@ public final void rule__InfixExpression__Group_1_3__6() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__6" + // $ANTLR end "rule__Number__Alternatives_1_1_1" - // $ANTLR start "rule__InfixExpression__Group_1_3__6__Impl" - // InternalExpression.g:4313:1: rule__InfixExpression__Group_1_3__6__Impl : ( ')' ) ; - public final void rule__InfixExpression__Group_1_3__6__Impl() throws RecognitionException { + // $ANTLR start "rule__JvmTypeReference__Alternatives" + // InternalExpression.g:4350:1: rule__JvmTypeReference__Alternatives : ( ( ( rule__JvmTypeReference__Group_0__0 ) ) | ( ruleXFunctionTypeRef ) ); + public final void rule__JvmTypeReference__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4317:1: ( ( ')' ) ) - // InternalExpression.g:4318:1: ( ')' ) - { - // InternalExpression.g:4318:1: ( ')' ) - // InternalExpression.g:4319:2: ')' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); + // InternalExpression.g:4354:1: ( ( ( rule__JvmTypeReference__Group_0__0 ) ) | ( ruleXFunctionTypeRef ) ) + int alt52=2; + int LA52_0 = input.LA(1); + + if ( (LA52_0==RULE_ID) ) { + alt52=1; } - match(input,40,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); + else if ( (LA52_0==51||LA52_0==67) ) { + alt52=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 52, 0, input); + throw nvae; } + switch (alt52) { + case 1 : + // InternalExpression.g:4355:2: ( ( rule__JvmTypeReference__Group_0__0 ) ) + { + // InternalExpression.g:4355:2: ( ( rule__JvmTypeReference__Group_0__0 ) ) + // InternalExpression.g:4356:3: ( rule__JvmTypeReference__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); + } + // InternalExpression.g:4357:3: ( rule__JvmTypeReference__Group_0__0 ) + // InternalExpression.g:4357:4: rule__JvmTypeReference__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0__0(); + state._fsp--; + if (state.failed) return ; - } + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); + } + + } + + + } + break; + case 2 : + // InternalExpression.g:4361:2: ( ruleXFunctionTypeRef ) + { + // InternalExpression.g:4361:2: ( ruleXFunctionTypeRef ) + // InternalExpression.g:4362:3: ruleXFunctionTypeRef + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXFunctionTypeRef(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -14466,32 +16270,82 @@ public final void rule__InfixExpression__Group_1_3__6__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__6__Impl" + // $ANTLR end "rule__JvmTypeReference__Alternatives" - // $ANTLR start "rule__InfixExpression__Group_1_3_4__0" - // InternalExpression.g:4329:1: rule__InfixExpression__Group_1_3_4__0 : rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 ; - public final void rule__InfixExpression__Group_1_3_4__0() throws RecognitionException { + // $ANTLR start "rule__JvmArgumentTypeReference__Alternatives" + // InternalExpression.g:4371:1: rule__JvmArgumentTypeReference__Alternatives : ( ( ruleJvmTypeReference ) | ( ruleJvmWildcardTypeReference ) ); + public final void rule__JvmArgumentTypeReference__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4333:1: ( rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 ) - // InternalExpression.g:4334:2: rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 - { - pushFollow(FOLLOW_39); - rule__InfixExpression__Group_1_3_4__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3_4__1(); + // InternalExpression.g:4375:1: ( ( ruleJvmTypeReference ) | ( ruleJvmWildcardTypeReference ) ) + int alt53=2; + int LA53_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA53_0==RULE_ID||LA53_0==51||LA53_0==67) ) { + alt53=1; + } + else if ( (LA53_0==69) ) { + alt53=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 53, 0, input); + throw nvae; } + switch (alt53) { + case 1 : + // InternalExpression.g:4376:2: ( ruleJvmTypeReference ) + { + // InternalExpression.g:4376:2: ( ruleJvmTypeReference ) + // InternalExpression.g:4377:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalExpression.g:4382:2: ( ruleJvmWildcardTypeReference ) + { + // InternalExpression.g:4382:2: ( ruleJvmWildcardTypeReference ) + // InternalExpression.g:4383:3: ruleJvmWildcardTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleJvmWildcardTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -14504,45 +16358,94 @@ public final void rule__InfixExpression__Group_1_3_4__0() throws RecognitionExce } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3_4__0" + // $ANTLR end "rule__JvmArgumentTypeReference__Alternatives" - // $ANTLR start "rule__InfixExpression__Group_1_3_4__0__Impl" - // InternalExpression.g:4341:1: rule__InfixExpression__Group_1_3_4__0__Impl : ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) ; - public final void rule__InfixExpression__Group_1_3_4__0__Impl() throws RecognitionException { + // $ANTLR start "rule__JvmWildcardTypeReference__Alternatives_2" + // InternalExpression.g:4392:1: rule__JvmWildcardTypeReference__Alternatives_2 : ( ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) | ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) ); + public final void rule__JvmWildcardTypeReference__Alternatives_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4345:1: ( ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) ) - // InternalExpression.g:4346:1: ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) - { - // InternalExpression.g:4346:1: ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) - // InternalExpression.g:4347:2: ( rule__InfixExpression__VarAssignment_1_3_4_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); - } - // InternalExpression.g:4348:2: ( rule__InfixExpression__VarAssignment_1_3_4_0 ) - // InternalExpression.g:4348:3: rule__InfixExpression__VarAssignment_1_3_4_0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__VarAssignment_1_3_4_0(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:4396:1: ( ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) | ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) ) + int alt54=2; + int LA54_0 = input.LA(1); + if ( (LA54_0==60) ) { + alt54=1; } - - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); + else if ( (LA54_0==64) ) { + alt54=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 54, 0, input); + throw nvae; } + switch (alt54) { + case 1 : + // InternalExpression.g:4397:2: ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) + { + // InternalExpression.g:4397:2: ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) + // InternalExpression.g:4398:3: ( rule__JvmWildcardTypeReference__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); + } + // InternalExpression.g:4399:3: ( rule__JvmWildcardTypeReference__Group_2_0__0 ) + // InternalExpression.g:4399:4: rule__JvmWildcardTypeReference__Group_2_0__0 + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_0__0(); + + state._fsp--; + if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); + } + + } + + + } + break; + case 2 : + // InternalExpression.g:4403:2: ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) + { + // InternalExpression.g:4403:2: ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) + // InternalExpression.g:4404:3: ( rule__JvmWildcardTypeReference__Group_2_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); + } + // InternalExpression.g:4405:3: ( rule__JvmWildcardTypeReference__Group_2_1__0 ) + // InternalExpression.g:4405:4: rule__JvmWildcardTypeReference__Group_2_1__0 + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -14555,27 +16458,109 @@ public final void rule__InfixExpression__Group_1_3_4__0__Impl() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3_4__0__Impl" + // $ANTLR end "rule__JvmWildcardTypeReference__Alternatives_2" - // $ANTLR start "rule__InfixExpression__Group_1_3_4__1" - // InternalExpression.g:4356:1: rule__InfixExpression__Group_1_3_4__1 : rule__InfixExpression__Group_1_3_4__1__Impl ; - public final void rule__InfixExpression__Group_1_3_4__1() throws RecognitionException { + // $ANTLR start "rule__XImportDeclaration__Alternatives_1" + // InternalExpression.g:4413:1: rule__XImportDeclaration__Alternatives_1 : ( ( ( rule__XImportDeclaration__Group_1_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) ) ); + public final void rule__XImportDeclaration__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4360:1: ( rule__InfixExpression__Group_1_3_4__1__Impl ) - // InternalExpression.g:4361:2: rule__InfixExpression__Group_1_3_4__1__Impl - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3_4__1__Impl(); + // InternalExpression.g:4417:1: ( ( ( rule__XImportDeclaration__Group_1_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) ) ) + int alt55=3; + alt55 = dfa55.predict(input); + switch (alt55) { + case 1 : + // InternalExpression.g:4418:2: ( ( rule__XImportDeclaration__Group_1_0__0 ) ) + { + // InternalExpression.g:4418:2: ( ( rule__XImportDeclaration__Group_1_0__0 ) ) + // InternalExpression.g:4419:3: ( rule__XImportDeclaration__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); + } + // InternalExpression.g:4420:3: ( rule__XImportDeclaration__Group_1_0__0 ) + // InternalExpression.g:4420:4: rule__XImportDeclaration__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group_1_0__0(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); + } + + } + + + } + break; + case 2 : + // InternalExpression.g:4424:2: ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) ) + { + // InternalExpression.g:4424:2: ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) ) + // InternalExpression.g:4425:3: ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); + } + // InternalExpression.g:4426:3: ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) + // InternalExpression.g:4426:4: rule__XImportDeclaration__ImportedTypeAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__ImportedTypeAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); + } + + } + + + } + break; + case 3 : + // InternalExpression.g:4430:2: ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) ) + { + // InternalExpression.g:4430:2: ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) ) + // InternalExpression.g:4431:3: ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); + } + // InternalExpression.g:4432:3: ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) + // InternalExpression.g:4432:4: rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__ImportedNamespaceAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); + } + + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -14588,35 +16573,94 @@ public final void rule__InfixExpression__Group_1_3_4__1() throws RecognitionExce } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3_4__1" + // $ANTLR end "rule__XImportDeclaration__Alternatives_1" - // $ANTLR start "rule__InfixExpression__Group_1_3_4__1__Impl" - // InternalExpression.g:4367:1: rule__InfixExpression__Group_1_3_4__1__Impl : ( '|' ) ; - public final void rule__InfixExpression__Group_1_3_4__1__Impl() throws RecognitionException { + // $ANTLR start "rule__XImportDeclaration__Alternatives_1_0_3" + // InternalExpression.g:4440:1: rule__XImportDeclaration__Alternatives_1_0_3 : ( ( ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) ) | ( ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) ) ); + public final void rule__XImportDeclaration__Alternatives_1_0_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4371:1: ( ( '|' ) ) - // InternalExpression.g:4372:1: ( '|' ) - { - // InternalExpression.g:4372:1: ( '|' ) - // InternalExpression.g:4373:2: '|' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); + // InternalExpression.g:4444:1: ( ( ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) ) | ( ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) ) ) + int alt56=2; + int LA56_0 = input.LA(1); + + if ( (LA56_0==25) ) { + alt56=1; } - match(input,53,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); + else if ( (LA56_0==RULE_ID) ) { + alt56=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 56, 0, input); + throw nvae; } + switch (alt56) { + case 1 : + // InternalExpression.g:4445:2: ( ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) ) + { + // InternalExpression.g:4445:2: ( ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) ) + // InternalExpression.g:4446:3: ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); + } + // InternalExpression.g:4447:3: ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) + // InternalExpression.g:4447:4: rule__XImportDeclaration__WildcardAssignment_1_0_3_0 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__WildcardAssignment_1_0_3_0(); + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); + } + + } + + + } + break; + case 2 : + // InternalExpression.g:4451:2: ( ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) ) + { + // InternalExpression.g:4451:2: ( ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) ) + // InternalExpression.g:4452:3: ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); + } + // InternalExpression.g:4453:3: ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) + // InternalExpression.g:4453:4: rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__MemberNameAssignment_1_0_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); + } + + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -14629,26 +16673,26 @@ public final void rule__InfixExpression__Group_1_3_4__1__Impl() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3_4__1__Impl" + // $ANTLR end "rule__XImportDeclaration__Alternatives_1_0_3" - // $ANTLR start "rule__ParanthesizedExpression__Group__0" - // InternalExpression.g:4383:1: rule__ParanthesizedExpression__Group__0 : rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 ; - public final void rule__ParanthesizedExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__0" + // InternalExpression.g:4461:1: rule__LetExpression__Group__0 : rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 ; + public final void rule__LetExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4387:1: ( rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 ) - // InternalExpression.g:4388:2: rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 + // InternalExpression.g:4465:1: ( rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 ) + // InternalExpression.g:4466:2: rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 { - pushFollow(FOLLOW_5); - rule__ParanthesizedExpression__Group__0__Impl(); + pushFollow(FOLLOW_4); + rule__LetExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ParanthesizedExpression__Group__1(); + rule__LetExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -14667,28 +16711,28 @@ public final void rule__ParanthesizedExpression__Group__0() throws RecognitionEx } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__0" + // $ANTLR end "rule__LetExpression__Group__0" - // $ANTLR start "rule__ParanthesizedExpression__Group__0__Impl" - // InternalExpression.g:4395:1: rule__ParanthesizedExpression__Group__0__Impl : ( '(' ) ; - public final void rule__ParanthesizedExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__0__Impl" + // InternalExpression.g:4473:1: rule__LetExpression__Group__0__Impl : ( 'let' ) ; + public final void rule__LetExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4399:1: ( ( '(' ) ) - // InternalExpression.g:4400:1: ( '(' ) + // InternalExpression.g:4477:1: ( ( 'let' ) ) + // InternalExpression.g:4478:1: ( 'let' ) { - // InternalExpression.g:4400:1: ( '(' ) - // InternalExpression.g:4401:2: '(' + // InternalExpression.g:4478:1: ( 'let' ) + // InternalExpression.g:4479:2: 'let' { if ( state.backtracking==0 ) { - before(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + before(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } - match(input,39,FOLLOW_2); if (state.failed) return ; + match(input,65,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + after(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } } @@ -14708,26 +16752,26 @@ public final void rule__ParanthesizedExpression__Group__0__Impl() throws Recogni } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__0__Impl" + // $ANTLR end "rule__LetExpression__Group__0__Impl" - // $ANTLR start "rule__ParanthesizedExpression__Group__1" - // InternalExpression.g:4410:1: rule__ParanthesizedExpression__Group__1 : rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 ; - public final void rule__ParanthesizedExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__1" + // InternalExpression.g:4488:1: rule__LetExpression__Group__1 : rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 ; + public final void rule__LetExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4414:1: ( rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 ) - // InternalExpression.g:4415:2: rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 + // InternalExpression.g:4492:1: ( rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 ) + // InternalExpression.g:4493:2: rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 { - pushFollow(FOLLOW_8); - rule__ParanthesizedExpression__Group__1__Impl(); + pushFollow(FOLLOW_5); + rule__LetExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ParanthesizedExpression__Group__2(); + rule__LetExpression__Group__2(); state._fsp--; if (state.failed) return ; @@ -14746,37 +16790,43 @@ public final void rule__ParanthesizedExpression__Group__1() throws RecognitionEx } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__1" + // $ANTLR end "rule__LetExpression__Group__1" - // $ANTLR start "rule__ParanthesizedExpression__Group__1__Impl" - // InternalExpression.g:4422:1: rule__ParanthesizedExpression__Group__1__Impl : ( ruleExpression ) ; - public final void rule__ParanthesizedExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__1__Impl" + // InternalExpression.g:4500:1: rule__LetExpression__Group__1__Impl : ( ( rule__LetExpression__IdentifierAssignment_1 ) ) ; + public final void rule__LetExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4426:1: ( ( ruleExpression ) ) - // InternalExpression.g:4427:1: ( ruleExpression ) + // InternalExpression.g:4504:1: ( ( ( rule__LetExpression__IdentifierAssignment_1 ) ) ) + // InternalExpression.g:4505:1: ( ( rule__LetExpression__IdentifierAssignment_1 ) ) { - // InternalExpression.g:4427:1: ( ruleExpression ) - // InternalExpression.g:4428:2: ruleExpression + // InternalExpression.g:4505:1: ( ( rule__LetExpression__IdentifierAssignment_1 ) ) + // InternalExpression.g:4506:2: ( rule__LetExpression__IdentifierAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); + before(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); } + // InternalExpression.g:4507:2: ( rule__LetExpression__IdentifierAssignment_1 ) + // InternalExpression.g:4507:3: rule__LetExpression__IdentifierAssignment_1 + { pushFollow(FOLLOW_2); - ruleExpression(); + rule__LetExpression__IdentifierAssignment_1(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); - } } - + if ( state.backtracking==0 ) { + after(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); + } + + } + + } } @@ -14791,21 +16841,26 @@ public final void rule__ParanthesizedExpression__Group__1__Impl() throws Recogni } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__1__Impl" + // $ANTLR end "rule__LetExpression__Group__1__Impl" - // $ANTLR start "rule__ParanthesizedExpression__Group__2" - // InternalExpression.g:4437:1: rule__ParanthesizedExpression__Group__2 : rule__ParanthesizedExpression__Group__2__Impl ; - public final void rule__ParanthesizedExpression__Group__2() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__2" + // InternalExpression.g:4515:1: rule__LetExpression__Group__2 : rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 ; + public final void rule__LetExpression__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4441:1: ( rule__ParanthesizedExpression__Group__2__Impl ) - // InternalExpression.g:4442:2: rule__ParanthesizedExpression__Group__2__Impl + // InternalExpression.g:4519:1: ( rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 ) + // InternalExpression.g:4520:2: rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 { + pushFollow(FOLLOW_6); + rule__LetExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ParanthesizedExpression__Group__2__Impl(); + rule__LetExpression__Group__3(); state._fsp--; if (state.failed) return ; @@ -14824,28 +16879,28 @@ public final void rule__ParanthesizedExpression__Group__2() throws RecognitionEx } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__2" + // $ANTLR end "rule__LetExpression__Group__2" - // $ANTLR start "rule__ParanthesizedExpression__Group__2__Impl" - // InternalExpression.g:4448:1: rule__ParanthesizedExpression__Group__2__Impl : ( ')' ) ; - public final void rule__ParanthesizedExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__2__Impl" + // InternalExpression.g:4527:1: rule__LetExpression__Group__2__Impl : ( '=' ) ; + public final void rule__LetExpression__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4452:1: ( ( ')' ) ) - // InternalExpression.g:4453:1: ( ')' ) + // InternalExpression.g:4531:1: ( ( '=' ) ) + // InternalExpression.g:4532:1: ( '=' ) { - // InternalExpression.g:4453:1: ( ')' ) - // InternalExpression.g:4454:2: ')' + // InternalExpression.g:4532:1: ( '=' ) + // InternalExpression.g:4533:2: '=' { if ( state.backtracking==0 ) { - before(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); + before(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } - match(input,40,FOLLOW_2); if (state.failed) return ; + match(input,14,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); + after(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } } @@ -14865,26 +16920,26 @@ public final void rule__ParanthesizedExpression__Group__2__Impl() throws Recogni } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__2__Impl" + // $ANTLR end "rule__LetExpression__Group__2__Impl" - // $ANTLR start "rule__GlobalVarExpression__Group__0" - // InternalExpression.g:4464:1: rule__GlobalVarExpression__Group__0 : rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 ; - public final void rule__GlobalVarExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__3" + // InternalExpression.g:4542:1: rule__LetExpression__Group__3 : rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 ; + public final void rule__LetExpression__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4468:1: ( rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 ) - // InternalExpression.g:4469:2: rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 + // InternalExpression.g:4546:1: ( rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 ) + // InternalExpression.g:4547:2: rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 { - pushFollow(FOLLOW_3); - rule__GlobalVarExpression__Group__0__Impl(); + pushFollow(FOLLOW_7); + rule__LetExpression__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__GlobalVarExpression__Group__1(); + rule__LetExpression__Group__4(); state._fsp--; if (state.failed) return ; @@ -14903,28 +16958,38 @@ public final void rule__GlobalVarExpression__Group__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__GlobalVarExpression__Group__0" + // $ANTLR end "rule__LetExpression__Group__3" - // $ANTLR start "rule__GlobalVarExpression__Group__0__Impl" - // InternalExpression.g:4476:1: rule__GlobalVarExpression__Group__0__Impl : ( 'GLOBALVAR' ) ; - public final void rule__GlobalVarExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__3__Impl" + // InternalExpression.g:4554:1: rule__LetExpression__Group__3__Impl : ( ( rule__LetExpression__VarExprAssignment_3 ) ) ; + public final void rule__LetExpression__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4480:1: ( ( 'GLOBALVAR' ) ) - // InternalExpression.g:4481:1: ( 'GLOBALVAR' ) + // InternalExpression.g:4558:1: ( ( ( rule__LetExpression__VarExprAssignment_3 ) ) ) + // InternalExpression.g:4559:1: ( ( rule__LetExpression__VarExprAssignment_3 ) ) { - // InternalExpression.g:4481:1: ( 'GLOBALVAR' ) - // InternalExpression.g:4482:2: 'GLOBALVAR' + // InternalExpression.g:4559:1: ( ( rule__LetExpression__VarExprAssignment_3 ) ) + // InternalExpression.g:4560:2: ( rule__LetExpression__VarExprAssignment_3 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); + before(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); + } + // InternalExpression.g:4561:2: ( rule__LetExpression__VarExprAssignment_3 ) + // InternalExpression.g:4561:3: rule__LetExpression__VarExprAssignment_3 + { + pushFollow(FOLLOW_2); + rule__LetExpression__VarExprAssignment_3(); + + state._fsp--; + if (state.failed) return ; + } - match(input,54,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); + after(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); } } @@ -14944,21 +17009,26 @@ public final void rule__GlobalVarExpression__Group__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__GlobalVarExpression__Group__0__Impl" + // $ANTLR end "rule__LetExpression__Group__3__Impl" - // $ANTLR start "rule__GlobalVarExpression__Group__1" - // InternalExpression.g:4491:1: rule__GlobalVarExpression__Group__1 : rule__GlobalVarExpression__Group__1__Impl ; - public final void rule__GlobalVarExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__4" + // InternalExpression.g:4569:1: rule__LetExpression__Group__4 : rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 ; + public final void rule__LetExpression__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4495:1: ( rule__GlobalVarExpression__Group__1__Impl ) - // InternalExpression.g:4496:2: rule__GlobalVarExpression__Group__1__Impl + // InternalExpression.g:4573:1: ( rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 ) + // InternalExpression.g:4574:2: rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 { + pushFollow(FOLLOW_6); + rule__LetExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__GlobalVarExpression__Group__1__Impl(); + rule__LetExpression__Group__5(); state._fsp--; if (state.failed) return ; @@ -14977,38 +17047,28 @@ public final void rule__GlobalVarExpression__Group__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__GlobalVarExpression__Group__1" + // $ANTLR end "rule__LetExpression__Group__4" - // $ANTLR start "rule__GlobalVarExpression__Group__1__Impl" - // InternalExpression.g:4502:1: rule__GlobalVarExpression__Group__1__Impl : ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) ; - public final void rule__GlobalVarExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__4__Impl" + // InternalExpression.g:4581:1: rule__LetExpression__Group__4__Impl : ( ':' ) ; + public final void rule__LetExpression__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4506:1: ( ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) ) - // InternalExpression.g:4507:1: ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) + // InternalExpression.g:4585:1: ( ( ':' ) ) + // InternalExpression.g:4586:1: ( ':' ) { - // InternalExpression.g:4507:1: ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) - // InternalExpression.g:4508:2: ( rule__GlobalVarExpression__NameAssignment_1 ) + // InternalExpression.g:4586:1: ( ':' ) + // InternalExpression.g:4587:2: ':' { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); - } - // InternalExpression.g:4509:2: ( rule__GlobalVarExpression__NameAssignment_1 ) - // InternalExpression.g:4509:3: rule__GlobalVarExpression__NameAssignment_1 - { - pushFollow(FOLLOW_2); - rule__GlobalVarExpression__NameAssignment_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } - + match(input,66,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); + after(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } } @@ -15028,26 +17088,21 @@ public final void rule__GlobalVarExpression__Group__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__GlobalVarExpression__Group__1__Impl" + // $ANTLR end "rule__LetExpression__Group__4__Impl" - // $ANTLR start "rule__OperationCall__Group__0" - // InternalExpression.g:4518:1: rule__OperationCall__Group__0 : rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 ; - public final void rule__OperationCall__Group__0() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__5" + // InternalExpression.g:4596:1: rule__LetExpression__Group__5 : rule__LetExpression__Group__5__Impl ; + public final void rule__LetExpression__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4522:1: ( rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 ) - // InternalExpression.g:4523:2: rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 + // InternalExpression.g:4600:1: ( rule__LetExpression__Group__5__Impl ) + // InternalExpression.g:4601:2: rule__LetExpression__Group__5__Impl { - pushFollow(FOLLOW_33); - rule__OperationCall__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group__1(); + rule__LetExpression__Group__5__Impl(); state._fsp--; if (state.failed) return ; @@ -15066,30 +17121,30 @@ public final void rule__OperationCall__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__OperationCall__Group__0" + // $ANTLR end "rule__LetExpression__Group__5" - // $ANTLR start "rule__OperationCall__Group__0__Impl" - // InternalExpression.g:4530:1: rule__OperationCall__Group__0__Impl : ( ( rule__OperationCall__NameAssignment_0 ) ) ; - public final void rule__OperationCall__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__5__Impl" + // InternalExpression.g:4607:1: rule__LetExpression__Group__5__Impl : ( ( rule__LetExpression__TargetAssignment_5 ) ) ; + public final void rule__LetExpression__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4534:1: ( ( ( rule__OperationCall__NameAssignment_0 ) ) ) - // InternalExpression.g:4535:1: ( ( rule__OperationCall__NameAssignment_0 ) ) + // InternalExpression.g:4611:1: ( ( ( rule__LetExpression__TargetAssignment_5 ) ) ) + // InternalExpression.g:4612:1: ( ( rule__LetExpression__TargetAssignment_5 ) ) { - // InternalExpression.g:4535:1: ( ( rule__OperationCall__NameAssignment_0 ) ) - // InternalExpression.g:4536:2: ( rule__OperationCall__NameAssignment_0 ) + // InternalExpression.g:4612:1: ( ( rule__LetExpression__TargetAssignment_5 ) ) + // InternalExpression.g:4613:2: ( rule__LetExpression__TargetAssignment_5 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getNameAssignment_0()); + before(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } - // InternalExpression.g:4537:2: ( rule__OperationCall__NameAssignment_0 ) - // InternalExpression.g:4537:3: rule__OperationCall__NameAssignment_0 + // InternalExpression.g:4614:2: ( rule__LetExpression__TargetAssignment_5 ) + // InternalExpression.g:4614:3: rule__LetExpression__TargetAssignment_5 { pushFollow(FOLLOW_2); - rule__OperationCall__NameAssignment_0(); + rule__LetExpression__TargetAssignment_5(); state._fsp--; if (state.failed) return ; @@ -15097,7 +17152,7 @@ public final void rule__OperationCall__Group__0__Impl() throws RecognitionExcept } if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getNameAssignment_0()); + after(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } } @@ -15117,26 +17172,26 @@ public final void rule__OperationCall__Group__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__OperationCall__Group__0__Impl" + // $ANTLR end "rule__LetExpression__Group__5__Impl" - // $ANTLR start "rule__OperationCall__Group__1" - // InternalExpression.g:4545:1: rule__OperationCall__Group__1 : rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 ; - public final void rule__OperationCall__Group__1() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__0" + // InternalExpression.g:4623:1: rule__CastedExpression__Group__0 : rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 ; + public final void rule__CastedExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4549:1: ( rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 ) - // InternalExpression.g:4550:2: rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 + // InternalExpression.g:4627:1: ( rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 ) + // InternalExpression.g:4628:2: rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 { - pushFollow(FOLLOW_34); - rule__OperationCall__Group__1__Impl(); + pushFollow(FOLLOW_8); + rule__CastedExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group__2(); + rule__CastedExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -15155,28 +17210,28 @@ public final void rule__OperationCall__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__OperationCall__Group__1" + // $ANTLR end "rule__CastedExpression__Group__0" - // $ANTLR start "rule__OperationCall__Group__1__Impl" - // InternalExpression.g:4557:1: rule__OperationCall__Group__1__Impl : ( '(' ) ; - public final void rule__OperationCall__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__0__Impl" + // InternalExpression.g:4635:1: rule__CastedExpression__Group__0__Impl : ( '(' ) ; + public final void rule__CastedExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4561:1: ( ( '(' ) ) - // InternalExpression.g:4562:1: ( '(' ) + // InternalExpression.g:4639:1: ( ( '(' ) ) + // InternalExpression.g:4640:1: ( '(' ) { - // InternalExpression.g:4562:1: ( '(' ) - // InternalExpression.g:4563:2: '(' + // InternalExpression.g:4640:1: ( '(' ) + // InternalExpression.g:4641:2: '(' { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); + before(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } - match(input,39,FOLLOW_2); if (state.failed) return ; + match(input,67,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); + after(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } } @@ -15196,26 +17251,26 @@ public final void rule__OperationCall__Group__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__OperationCall__Group__1__Impl" + // $ANTLR end "rule__CastedExpression__Group__0__Impl" - // $ANTLR start "rule__OperationCall__Group__2" - // InternalExpression.g:4572:1: rule__OperationCall__Group__2 : rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 ; - public final void rule__OperationCall__Group__2() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__1" + // InternalExpression.g:4650:1: rule__CastedExpression__Group__1 : rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 ; + public final void rule__CastedExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4576:1: ( rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 ) - // InternalExpression.g:4577:2: rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 + // InternalExpression.g:4654:1: ( rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 ) + // InternalExpression.g:4655:2: rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 { - pushFollow(FOLLOW_34); - rule__OperationCall__Group__2__Impl(); + pushFollow(FOLLOW_9); + rule__CastedExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group__3(); + rule__CastedExpression__Group__2(); state._fsp--; if (state.failed) return ; @@ -15234,49 +17289,117 @@ public final void rule__OperationCall__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__OperationCall__Group__2" + // $ANTLR end "rule__CastedExpression__Group__1" - // $ANTLR start "rule__OperationCall__Group__2__Impl" - // InternalExpression.g:4584:1: rule__OperationCall__Group__2__Impl : ( ( rule__OperationCall__Group_2__0 )? ) ; - public final void rule__OperationCall__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__1__Impl" + // InternalExpression.g:4662:1: rule__CastedExpression__Group__1__Impl : ( ( rule__CastedExpression__TypeAssignment_1 ) ) ; + public final void rule__CastedExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4588:1: ( ( ( rule__OperationCall__Group_2__0 )? ) ) - // InternalExpression.g:4589:1: ( ( rule__OperationCall__Group_2__0 )? ) + // InternalExpression.g:4666:1: ( ( ( rule__CastedExpression__TypeAssignment_1 ) ) ) + // InternalExpression.g:4667:1: ( ( rule__CastedExpression__TypeAssignment_1 ) ) { - // InternalExpression.g:4589:1: ( ( rule__OperationCall__Group_2__0 )? ) - // InternalExpression.g:4590:2: ( rule__OperationCall__Group_2__0 )? + // InternalExpression.g:4667:1: ( ( rule__CastedExpression__TypeAssignment_1 ) ) + // InternalExpression.g:4668:2: ( rule__CastedExpression__TypeAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getGroup_2()); + before(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); } - // InternalExpression.g:4591:2: ( rule__OperationCall__Group_2__0 )? - int alt32=2; - int LA32_0 = input.LA(1); + // InternalExpression.g:4669:2: ( rule__CastedExpression__TypeAssignment_1 ) + // InternalExpression.g:4669:3: rule__CastedExpression__TypeAssignment_1 + { + pushFollow(FOLLOW_2); + rule__CastedExpression__TypeAssignment_1(); + + state._fsp--; + if (state.failed) return ; - if ( ((LA32_0>=RULE_ID && LA32_0<=RULE_STRING)||LA32_0==19||(LA32_0>=22 && LA32_0<=36)||LA32_0==39||LA32_0==43||(LA32_0>=46 && LA32_0<=47)||(LA32_0>=54 && LA32_0<=55)||(LA32_0>=62 && LA32_0<=63)) ) { - alt32=1; } - switch (alt32) { - case 1 : - // InternalExpression.g:4591:3: rule__OperationCall__Group_2__0 - { - pushFollow(FOLLOW_2); - rule__OperationCall__Group_2__0(); - state._fsp--; - if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); + } - } - break; + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CastedExpression__Group__1__Impl" + + + // $ANTLR start "rule__CastedExpression__Group__2" + // InternalExpression.g:4677:1: rule__CastedExpression__Group__2 : rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 ; + public final void rule__CastedExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:4681:1: ( rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 ) + // InternalExpression.g:4682:2: rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 + { + pushFollow(FOLLOW_6); + rule__CastedExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CastedExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CastedExpression__Group__2" + + + // $ANTLR start "rule__CastedExpression__Group__2__Impl" + // InternalExpression.g:4689:1: rule__CastedExpression__Group__2__Impl : ( ')' ) ; + public final void rule__CastedExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:4693:1: ( ( ')' ) ) + // InternalExpression.g:4694:1: ( ')' ) + { + // InternalExpression.g:4694:1: ( ')' ) + // InternalExpression.g:4695:2: ')' + { if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getGroup_2()); + before(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); } } @@ -15296,21 +17419,21 @@ public final void rule__OperationCall__Group__2__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__OperationCall__Group__2__Impl" + // $ANTLR end "rule__CastedExpression__Group__2__Impl" - // $ANTLR start "rule__OperationCall__Group__3" - // InternalExpression.g:4599:1: rule__OperationCall__Group__3 : rule__OperationCall__Group__3__Impl ; - public final void rule__OperationCall__Group__3() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__3" + // InternalExpression.g:4704:1: rule__CastedExpression__Group__3 : rule__CastedExpression__Group__3__Impl ; + public final void rule__CastedExpression__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4603:1: ( rule__OperationCall__Group__3__Impl ) - // InternalExpression.g:4604:2: rule__OperationCall__Group__3__Impl + // InternalExpression.g:4708:1: ( rule__CastedExpression__Group__3__Impl ) + // InternalExpression.g:4709:2: rule__CastedExpression__Group__3__Impl { pushFollow(FOLLOW_2); - rule__OperationCall__Group__3__Impl(); + rule__CastedExpression__Group__3__Impl(); state._fsp--; if (state.failed) return ; @@ -15329,28 +17452,38 @@ public final void rule__OperationCall__Group__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__OperationCall__Group__3" + // $ANTLR end "rule__CastedExpression__Group__3" - // $ANTLR start "rule__OperationCall__Group__3__Impl" - // InternalExpression.g:4610:1: rule__OperationCall__Group__3__Impl : ( ')' ) ; - public final void rule__OperationCall__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__3__Impl" + // InternalExpression.g:4715:1: rule__CastedExpression__Group__3__Impl : ( ( rule__CastedExpression__TargetAssignment_3 ) ) ; + public final void rule__CastedExpression__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4614:1: ( ( ')' ) ) - // InternalExpression.g:4615:1: ( ')' ) + // InternalExpression.g:4719:1: ( ( ( rule__CastedExpression__TargetAssignment_3 ) ) ) + // InternalExpression.g:4720:1: ( ( rule__CastedExpression__TargetAssignment_3 ) ) { - // InternalExpression.g:4615:1: ( ')' ) - // InternalExpression.g:4616:2: ')' + // InternalExpression.g:4720:1: ( ( rule__CastedExpression__TargetAssignment_3 ) ) + // InternalExpression.g:4721:2: ( rule__CastedExpression__TargetAssignment_3 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); + before(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); + } + // InternalExpression.g:4722:2: ( rule__CastedExpression__TargetAssignment_3 ) + // InternalExpression.g:4722:3: rule__CastedExpression__TargetAssignment_3 + { + pushFollow(FOLLOW_2); + rule__CastedExpression__TargetAssignment_3(); + + state._fsp--; + if (state.failed) return ; + } - match(input,40,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); + after(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); } } @@ -15370,26 +17503,26 @@ public final void rule__OperationCall__Group__3__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__OperationCall__Group__3__Impl" + // $ANTLR end "rule__CastedExpression__Group__3__Impl" - // $ANTLR start "rule__OperationCall__Group_2__0" - // InternalExpression.g:4626:1: rule__OperationCall__Group_2__0 : rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 ; - public final void rule__OperationCall__Group_2__0() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group__0" + // InternalExpression.g:4731:1: rule__ChainExpression__Group__0 : rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 ; + public final void rule__ChainExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4630:1: ( rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 ) - // InternalExpression.g:4631:2: rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 + // InternalExpression.g:4735:1: ( rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 ) + // InternalExpression.g:4736:2: rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 { - pushFollow(FOLLOW_35); - rule__OperationCall__Group_2__0__Impl(); + pushFollow(FOLLOW_10); + rule__ChainExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group_2__1(); + rule__ChainExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -15408,38 +17541,32 @@ public final void rule__OperationCall__Group_2__0() throws RecognitionException } return ; } - // $ANTLR end "rule__OperationCall__Group_2__0" + // $ANTLR end "rule__ChainExpression__Group__0" - // $ANTLR start "rule__OperationCall__Group_2__0__Impl" - // InternalExpression.g:4638:1: rule__OperationCall__Group_2__0__Impl : ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) ; - public final void rule__OperationCall__Group_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group__0__Impl" + // InternalExpression.g:4743:1: rule__ChainExpression__Group__0__Impl : ( ruleChainedExpression ) ; + public final void rule__ChainExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4642:1: ( ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) ) - // InternalExpression.g:4643:1: ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) + // InternalExpression.g:4747:1: ( ( ruleChainedExpression ) ) + // InternalExpression.g:4748:1: ( ruleChainedExpression ) { - // InternalExpression.g:4643:1: ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) - // InternalExpression.g:4644:2: ( rule__OperationCall__ParamsAssignment_2_0 ) + // InternalExpression.g:4748:1: ( ruleChainedExpression ) + // InternalExpression.g:4749:2: ruleChainedExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); + before(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } - // InternalExpression.g:4645:2: ( rule__OperationCall__ParamsAssignment_2_0 ) - // InternalExpression.g:4645:3: rule__OperationCall__ParamsAssignment_2_0 - { pushFollow(FOLLOW_2); - rule__OperationCall__ParamsAssignment_2_0(); + ruleChainedExpression(); state._fsp--; if (state.failed) return ; - - } - if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); + after(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } } @@ -15459,21 +17586,21 @@ public final void rule__OperationCall__Group_2__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__OperationCall__Group_2__0__Impl" + // $ANTLR end "rule__ChainExpression__Group__0__Impl" - // $ANTLR start "rule__OperationCall__Group_2__1" - // InternalExpression.g:4653:1: rule__OperationCall__Group_2__1 : rule__OperationCall__Group_2__1__Impl ; - public final void rule__OperationCall__Group_2__1() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group__1" + // InternalExpression.g:4758:1: rule__ChainExpression__Group__1 : rule__ChainExpression__Group__1__Impl ; + public final void rule__ChainExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4657:1: ( rule__OperationCall__Group_2__1__Impl ) - // InternalExpression.g:4658:2: rule__OperationCall__Group_2__1__Impl + // InternalExpression.g:4762:1: ( rule__ChainExpression__Group__1__Impl ) + // InternalExpression.g:4763:2: rule__ChainExpression__Group__1__Impl { pushFollow(FOLLOW_2); - rule__OperationCall__Group_2__1__Impl(); + rule__ChainExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; @@ -15492,42 +17619,42 @@ public final void rule__OperationCall__Group_2__1() throws RecognitionException } return ; } - // $ANTLR end "rule__OperationCall__Group_2__1" + // $ANTLR end "rule__ChainExpression__Group__1" - // $ANTLR start "rule__OperationCall__Group_2__1__Impl" - // InternalExpression.g:4664:1: rule__OperationCall__Group_2__1__Impl : ( ( rule__OperationCall__Group_2_1__0 )* ) ; - public final void rule__OperationCall__Group_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group__1__Impl" + // InternalExpression.g:4769:1: rule__ChainExpression__Group__1__Impl : ( ( rule__ChainExpression__Group_1__0 )* ) ; + public final void rule__ChainExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4668:1: ( ( ( rule__OperationCall__Group_2_1__0 )* ) ) - // InternalExpression.g:4669:1: ( ( rule__OperationCall__Group_2_1__0 )* ) + // InternalExpression.g:4773:1: ( ( ( rule__ChainExpression__Group_1__0 )* ) ) + // InternalExpression.g:4774:1: ( ( rule__ChainExpression__Group_1__0 )* ) { - // InternalExpression.g:4669:1: ( ( rule__OperationCall__Group_2_1__0 )* ) - // InternalExpression.g:4670:2: ( rule__OperationCall__Group_2_1__0 )* + // InternalExpression.g:4774:1: ( ( rule__ChainExpression__Group_1__0 )* ) + // InternalExpression.g:4775:2: ( rule__ChainExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getGroup_2_1()); + before(grammarAccess.getChainExpressionAccess().getGroup_1()); } - // InternalExpression.g:4671:2: ( rule__OperationCall__Group_2_1__0 )* - loop33: + // InternalExpression.g:4776:2: ( rule__ChainExpression__Group_1__0 )* + loop57: do { - int alt33=2; - int LA33_0 = input.LA(1); + int alt57=2; + int LA57_0 = input.LA(1); - if ( (LA33_0==52) ) { - alt33=1; + if ( (LA57_0==48) ) { + alt57=1; } - switch (alt33) { + switch (alt57) { case 1 : - // InternalExpression.g:4671:3: rule__OperationCall__Group_2_1__0 + // InternalExpression.g:4776:3: rule__ChainExpression__Group_1__0 { - pushFollow(FOLLOW_36); - rule__OperationCall__Group_2_1__0(); + pushFollow(FOLLOW_11); + rule__ChainExpression__Group_1__0(); state._fsp--; if (state.failed) return ; @@ -15536,12 +17663,12 @@ public final void rule__OperationCall__Group_2__1__Impl() throws RecognitionExce break; default : - break loop33; + break loop57; } } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getGroup_2_1()); + after(grammarAccess.getChainExpressionAccess().getGroup_1()); } } @@ -15561,26 +17688,26 @@ public final void rule__OperationCall__Group_2__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__OperationCall__Group_2__1__Impl" + // $ANTLR end "rule__ChainExpression__Group__1__Impl" - // $ANTLR start "rule__OperationCall__Group_2_1__0" - // InternalExpression.g:4680:1: rule__OperationCall__Group_2_1__0 : rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 ; - public final void rule__OperationCall__Group_2_1__0() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__0" + // InternalExpression.g:4785:1: rule__ChainExpression__Group_1__0 : rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 ; + public final void rule__ChainExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4684:1: ( rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 ) - // InternalExpression.g:4685:2: rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 + // InternalExpression.g:4789:1: ( rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 ) + // InternalExpression.g:4790:2: rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 { - pushFollow(FOLLOW_5); - rule__OperationCall__Group_2_1__0__Impl(); + pushFollow(FOLLOW_10); + rule__ChainExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group_2_1__1(); + rule__ChainExpression__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -15599,28 +17726,32 @@ public final void rule__OperationCall__Group_2_1__0() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__OperationCall__Group_2_1__0" + // $ANTLR end "rule__ChainExpression__Group_1__0" - // $ANTLR start "rule__OperationCall__Group_2_1__0__Impl" - // InternalExpression.g:4692:1: rule__OperationCall__Group_2_1__0__Impl : ( ',' ) ; - public final void rule__OperationCall__Group_2_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__0__Impl" + // InternalExpression.g:4797:1: rule__ChainExpression__Group_1__0__Impl : ( () ) ; + public final void rule__ChainExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4696:1: ( ( ',' ) ) - // InternalExpression.g:4697:1: ( ',' ) + // InternalExpression.g:4801:1: ( ( () ) ) + // InternalExpression.g:4802:1: ( () ) { - // InternalExpression.g:4697:1: ( ',' ) - // InternalExpression.g:4698:2: ',' + // InternalExpression.g:4802:1: ( () ) + // InternalExpression.g:4803:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); + before(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); + } + // InternalExpression.g:4804:2: () + // InternalExpression.g:4804:3: + { } - match(input,52,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); + after(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); } } @@ -15629,10 +17760,6 @@ public final void rule__OperationCall__Group_2_1__0__Impl() throws RecognitionEx } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -15640,21 +17767,26 @@ public final void rule__OperationCall__Group_2_1__0__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__OperationCall__Group_2_1__0__Impl" + // $ANTLR end "rule__ChainExpression__Group_1__0__Impl" - // $ANTLR start "rule__OperationCall__Group_2_1__1" - // InternalExpression.g:4707:1: rule__OperationCall__Group_2_1__1 : rule__OperationCall__Group_2_1__1__Impl ; - public final void rule__OperationCall__Group_2_1__1() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__1" + // InternalExpression.g:4812:1: rule__ChainExpression__Group_1__1 : rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 ; + public final void rule__ChainExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4711:1: ( rule__OperationCall__Group_2_1__1__Impl ) - // InternalExpression.g:4712:2: rule__OperationCall__Group_2_1__1__Impl + // InternalExpression.g:4816:1: ( rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 ) + // InternalExpression.g:4817:2: rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 { + pushFollow(FOLLOW_6); + rule__ChainExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group_2_1__1__Impl(); + rule__ChainExpression__Group_1__2(); state._fsp--; if (state.failed) return ; @@ -15673,38 +17805,28 @@ public final void rule__OperationCall__Group_2_1__1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__OperationCall__Group_2_1__1" + // $ANTLR end "rule__ChainExpression__Group_1__1" - // $ANTLR start "rule__OperationCall__Group_2_1__1__Impl" - // InternalExpression.g:4718:1: rule__OperationCall__Group_2_1__1__Impl : ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) ; - public final void rule__OperationCall__Group_2_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__1__Impl" + // InternalExpression.g:4824:1: rule__ChainExpression__Group_1__1__Impl : ( '->' ) ; + public final void rule__ChainExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4722:1: ( ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) ) - // InternalExpression.g:4723:1: ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) + // InternalExpression.g:4828:1: ( ( '->' ) ) + // InternalExpression.g:4829:1: ( '->' ) { - // InternalExpression.g:4723:1: ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) - // InternalExpression.g:4724:2: ( rule__OperationCall__ParamsAssignment_2_1_1 ) + // InternalExpression.g:4829:1: ( '->' ) + // InternalExpression.g:4830:2: '->' { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); - } - // InternalExpression.g:4725:2: ( rule__OperationCall__ParamsAssignment_2_1_1 ) - // InternalExpression.g:4725:3: rule__OperationCall__ParamsAssignment_2_1_1 - { - pushFollow(FOLLOW_2); - rule__OperationCall__ParamsAssignment_2_1_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } - + match(input,48,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); + after(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } } @@ -15724,26 +17846,21 @@ public final void rule__OperationCall__Group_2_1__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__OperationCall__Group_2_1__1__Impl" + // $ANTLR end "rule__ChainExpression__Group_1__1__Impl" - // $ANTLR start "rule__ListLiteral__Group__0" - // InternalExpression.g:4734:1: rule__ListLiteral__Group__0 : rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 ; - public final void rule__ListLiteral__Group__0() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__2" + // InternalExpression.g:4839:1: rule__ChainExpression__Group_1__2 : rule__ChainExpression__Group_1__2__Impl ; + public final void rule__ChainExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4738:1: ( rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 ) - // InternalExpression.g:4739:2: rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 + // InternalExpression.g:4843:1: ( rule__ChainExpression__Group_1__2__Impl ) + // InternalExpression.g:4844:2: rule__ChainExpression__Group_1__2__Impl { - pushFollow(FOLLOW_40); - rule__ListLiteral__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group__1(); + rule__ChainExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; @@ -15762,32 +17879,38 @@ public final void rule__ListLiteral__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group__0" + // $ANTLR end "rule__ChainExpression__Group_1__2" - // $ANTLR start "rule__ListLiteral__Group__0__Impl" - // InternalExpression.g:4746:1: rule__ListLiteral__Group__0__Impl : ( () ) ; - public final void rule__ListLiteral__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__2__Impl" + // InternalExpression.g:4850:1: rule__ChainExpression__Group_1__2__Impl : ( ( rule__ChainExpression__NextAssignment_1_2 ) ) ; + public final void rule__ChainExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4750:1: ( ( () ) ) - // InternalExpression.g:4751:1: ( () ) + // InternalExpression.g:4854:1: ( ( ( rule__ChainExpression__NextAssignment_1_2 ) ) ) + // InternalExpression.g:4855:1: ( ( rule__ChainExpression__NextAssignment_1_2 ) ) { - // InternalExpression.g:4751:1: ( () ) - // InternalExpression.g:4752:2: () + // InternalExpression.g:4855:1: ( ( rule__ChainExpression__NextAssignment_1_2 ) ) + // InternalExpression.g:4856:2: ( rule__ChainExpression__NextAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); + before(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } - // InternalExpression.g:4753:2: () - // InternalExpression.g:4753:3: + // InternalExpression.g:4857:2: ( rule__ChainExpression__NextAssignment_1_2 ) + // InternalExpression.g:4857:3: rule__ChainExpression__NextAssignment_1_2 { + pushFollow(FOLLOW_2); + rule__ChainExpression__NextAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + } if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); + after(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } } @@ -15796,6 +17919,10 @@ public final void rule__ListLiteral__Group__0__Impl() throws RecognitionExceptio } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -15803,26 +17930,26 @@ public final void rule__ListLiteral__Group__0__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ListLiteral__Group__0__Impl" + // $ANTLR end "rule__ChainExpression__Group_1__2__Impl" - // $ANTLR start "rule__ListLiteral__Group__1" - // InternalExpression.g:4761:1: rule__ListLiteral__Group__1 : rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 ; - public final void rule__ListLiteral__Group__1() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group__0" + // InternalExpression.g:4866:1: rule__IfExpressionTri__Group__0 : rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 ; + public final void rule__IfExpressionTri__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4765:1: ( rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 ) - // InternalExpression.g:4766:2: rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 + // InternalExpression.g:4870:1: ( rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 ) + // InternalExpression.g:4871:2: rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 { - pushFollow(FOLLOW_41); - rule__ListLiteral__Group__1__Impl(); + pushFollow(FOLLOW_12); + rule__IfExpressionTri__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group__2(); + rule__IfExpressionTri__Group__1(); state._fsp--; if (state.failed) return ; @@ -15841,28 +17968,32 @@ public final void rule__ListLiteral__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group__1" + // $ANTLR end "rule__IfExpressionTri__Group__0" - // $ANTLR start "rule__ListLiteral__Group__1__Impl" - // InternalExpression.g:4773:1: rule__ListLiteral__Group__1__Impl : ( '{' ) ; - public final void rule__ListLiteral__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group__0__Impl" + // InternalExpression.g:4878:1: rule__IfExpressionTri__Group__0__Impl : ( ruleOrExpression ) ; + public final void rule__IfExpressionTri__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4777:1: ( ( '{' ) ) - // InternalExpression.g:4778:1: ( '{' ) + // InternalExpression.g:4882:1: ( ( ruleOrExpression ) ) + // InternalExpression.g:4883:1: ( ruleOrExpression ) { - // InternalExpression.g:4778:1: ( '{' ) - // InternalExpression.g:4779:2: '{' + // InternalExpression.g:4883:1: ( ruleOrExpression ) + // InternalExpression.g:4884:2: ruleOrExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); + before(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } - match(input,47,FOLLOW_2); if (state.failed) return ; + pushFollow(FOLLOW_2); + ruleOrExpression(); + + state._fsp--; + if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); + after(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } } @@ -15882,26 +18013,21 @@ public final void rule__ListLiteral__Group__1__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ListLiteral__Group__1__Impl" + // $ANTLR end "rule__IfExpressionTri__Group__0__Impl" - // $ANTLR start "rule__ListLiteral__Group__2" - // InternalExpression.g:4788:1: rule__ListLiteral__Group__2 : rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 ; - public final void rule__ListLiteral__Group__2() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group__1" + // InternalExpression.g:4893:1: rule__IfExpressionTri__Group__1 : rule__IfExpressionTri__Group__1__Impl ; + public final void rule__IfExpressionTri__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4792:1: ( rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 ) - // InternalExpression.g:4793:2: rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 + // InternalExpression.g:4897:1: ( rule__IfExpressionTri__Group__1__Impl ) + // InternalExpression.g:4898:2: rule__IfExpressionTri__Group__1__Impl { - pushFollow(FOLLOW_41); - rule__ListLiteral__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group__3(); + rule__IfExpressionTri__Group__1__Impl(); state._fsp--; if (state.failed) return ; @@ -15920,38 +18046,38 @@ public final void rule__ListLiteral__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group__2" + // $ANTLR end "rule__IfExpressionTri__Group__1" - // $ANTLR start "rule__ListLiteral__Group__2__Impl" - // InternalExpression.g:4800:1: rule__ListLiteral__Group__2__Impl : ( ( rule__ListLiteral__Group_2__0 )? ) ; - public final void rule__ListLiteral__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group__1__Impl" + // InternalExpression.g:4904:1: rule__IfExpressionTri__Group__1__Impl : ( ( rule__IfExpressionTri__Group_1__0 )? ) ; + public final void rule__IfExpressionTri__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4804:1: ( ( ( rule__ListLiteral__Group_2__0 )? ) ) - // InternalExpression.g:4805:1: ( ( rule__ListLiteral__Group_2__0 )? ) + // InternalExpression.g:4908:1: ( ( ( rule__IfExpressionTri__Group_1__0 )? ) ) + // InternalExpression.g:4909:1: ( ( rule__IfExpressionTri__Group_1__0 )? ) { - // InternalExpression.g:4805:1: ( ( rule__ListLiteral__Group_2__0 )? ) - // InternalExpression.g:4806:2: ( rule__ListLiteral__Group_2__0 )? + // InternalExpression.g:4909:1: ( ( rule__IfExpressionTri__Group_1__0 )? ) + // InternalExpression.g:4910:2: ( rule__IfExpressionTri__Group_1__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getGroup_2()); + before(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } - // InternalExpression.g:4807:2: ( rule__ListLiteral__Group_2__0 )? - int alt34=2; - int LA34_0 = input.LA(1); + // InternalExpression.g:4911:2: ( rule__IfExpressionTri__Group_1__0 )? + int alt58=2; + int LA58_0 = input.LA(1); - if ( ((LA34_0>=RULE_ID && LA34_0<=RULE_STRING)||LA34_0==19||(LA34_0>=22 && LA34_0<=36)||LA34_0==39||LA34_0==43||(LA34_0>=46 && LA34_0<=47)||(LA34_0>=54 && LA34_0<=55)||(LA34_0>=62 && LA34_0<=63)) ) { - alt34=1; + if ( (LA58_0==69) ) { + alt58=1; } - switch (alt34) { + switch (alt58) { case 1 : - // InternalExpression.g:4807:3: rule__ListLiteral__Group_2__0 + // InternalExpression.g:4911:3: rule__IfExpressionTri__Group_1__0 { pushFollow(FOLLOW_2); - rule__ListLiteral__Group_2__0(); + rule__IfExpressionTri__Group_1__0(); state._fsp--; if (state.failed) return ; @@ -15962,7 +18088,7 @@ public final void rule__ListLiteral__Group__2__Impl() throws RecognitionExceptio } if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getGroup_2()); + after(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } } @@ -15982,21 +18108,26 @@ public final void rule__ListLiteral__Group__2__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ListLiteral__Group__2__Impl" + // $ANTLR end "rule__IfExpressionTri__Group__1__Impl" - // $ANTLR start "rule__ListLiteral__Group__3" - // InternalExpression.g:4815:1: rule__ListLiteral__Group__3 : rule__ListLiteral__Group__3__Impl ; - public final void rule__ListLiteral__Group__3() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__0" + // InternalExpression.g:4920:1: rule__IfExpressionTri__Group_1__0 : rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 ; + public final void rule__IfExpressionTri__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4819:1: ( rule__ListLiteral__Group__3__Impl ) - // InternalExpression.g:4820:2: rule__ListLiteral__Group__3__Impl + // InternalExpression.g:4924:1: ( rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 ) + // InternalExpression.g:4925:2: rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 { + pushFollow(FOLLOW_12); + rule__IfExpressionTri__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group__3__Impl(); + rule__IfExpressionTri__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -16015,28 +18146,32 @@ public final void rule__ListLiteral__Group__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group__3" + // $ANTLR end "rule__IfExpressionTri__Group_1__0" - // $ANTLR start "rule__ListLiteral__Group__3__Impl" - // InternalExpression.g:4826:1: rule__ListLiteral__Group__3__Impl : ( '}' ) ; - public final void rule__ListLiteral__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__0__Impl" + // InternalExpression.g:4932:1: rule__IfExpressionTri__Group_1__0__Impl : ( () ) ; + public final void rule__IfExpressionTri__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4830:1: ( ( '}' ) ) - // InternalExpression.g:4831:1: ( '}' ) + // InternalExpression.g:4936:1: ( ( () ) ) + // InternalExpression.g:4937:1: ( () ) { - // InternalExpression.g:4831:1: ( '}' ) - // InternalExpression.g:4832:2: '}' + // InternalExpression.g:4937:1: ( () ) + // InternalExpression.g:4938:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); + before(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } - match(input,49,FOLLOW_2); if (state.failed) return ; + // InternalExpression.g:4939:2: () + // InternalExpression.g:4939:3: + { + } + if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); + after(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } } @@ -16045,10 +18180,6 @@ public final void rule__ListLiteral__Group__3__Impl() throws RecognitionExceptio } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -16056,26 +18187,26 @@ public final void rule__ListLiteral__Group__3__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ListLiteral__Group__3__Impl" + // $ANTLR end "rule__IfExpressionTri__Group_1__0__Impl" - // $ANTLR start "rule__ListLiteral__Group_2__0" - // InternalExpression.g:4842:1: rule__ListLiteral__Group_2__0 : rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 ; - public final void rule__ListLiteral__Group_2__0() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__1" + // InternalExpression.g:4947:1: rule__IfExpressionTri__Group_1__1 : rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 ; + public final void rule__IfExpressionTri__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4846:1: ( rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 ) - // InternalExpression.g:4847:2: rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 + // InternalExpression.g:4951:1: ( rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 ) + // InternalExpression.g:4952:2: rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 { - pushFollow(FOLLOW_35); - rule__ListLiteral__Group_2__0__Impl(); + pushFollow(FOLLOW_6); + rule__IfExpressionTri__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group_2__1(); + rule__IfExpressionTri__Group_1__2(); state._fsp--; if (state.failed) return ; @@ -16094,38 +18225,28 @@ public final void rule__ListLiteral__Group_2__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group_2__0" + // $ANTLR end "rule__IfExpressionTri__Group_1__1" - // $ANTLR start "rule__ListLiteral__Group_2__0__Impl" - // InternalExpression.g:4854:1: rule__ListLiteral__Group_2__0__Impl : ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) ; - public final void rule__ListLiteral__Group_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__1__Impl" + // InternalExpression.g:4959:1: rule__IfExpressionTri__Group_1__1__Impl : ( '?' ) ; + public final void rule__IfExpressionTri__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4858:1: ( ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) ) - // InternalExpression.g:4859:1: ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) + // InternalExpression.g:4963:1: ( ( '?' ) ) + // InternalExpression.g:4964:1: ( '?' ) { - // InternalExpression.g:4859:1: ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) - // InternalExpression.g:4860:2: ( rule__ListLiteral__ElementsAssignment_2_0 ) + // InternalExpression.g:4964:1: ( '?' ) + // InternalExpression.g:4965:2: '?' { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); - } - // InternalExpression.g:4861:2: ( rule__ListLiteral__ElementsAssignment_2_0 ) - // InternalExpression.g:4861:3: rule__ListLiteral__ElementsAssignment_2_0 - { - pushFollow(FOLLOW_2); - rule__ListLiteral__ElementsAssignment_2_0(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } - + match(input,69,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); + after(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } } @@ -16145,21 +18266,26 @@ public final void rule__ListLiteral__Group_2__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ListLiteral__Group_2__0__Impl" + // $ANTLR end "rule__IfExpressionTri__Group_1__1__Impl" - // $ANTLR start "rule__ListLiteral__Group_2__1" - // InternalExpression.g:4869:1: rule__ListLiteral__Group_2__1 : rule__ListLiteral__Group_2__1__Impl ; - public final void rule__ListLiteral__Group_2__1() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__2" + // InternalExpression.g:4974:1: rule__IfExpressionTri__Group_1__2 : rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 ; + public final void rule__IfExpressionTri__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4873:1: ( rule__ListLiteral__Group_2__1__Impl ) - // InternalExpression.g:4874:2: rule__ListLiteral__Group_2__1__Impl + // InternalExpression.g:4978:1: ( rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 ) + // InternalExpression.g:4979:2: rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 { + pushFollow(FOLLOW_7); + rule__IfExpressionTri__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group_2__1__Impl(); + rule__IfExpressionTri__Group_1__3(); state._fsp--; if (state.failed) return ; @@ -16178,56 +18304,38 @@ public final void rule__ListLiteral__Group_2__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group_2__1" + // $ANTLR end "rule__IfExpressionTri__Group_1__2" - // $ANTLR start "rule__ListLiteral__Group_2__1__Impl" - // InternalExpression.g:4880:1: rule__ListLiteral__Group_2__1__Impl : ( ( rule__ListLiteral__Group_2_1__0 )* ) ; - public final void rule__ListLiteral__Group_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__2__Impl" + // InternalExpression.g:4986:1: rule__IfExpressionTri__Group_1__2__Impl : ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) ; + public final void rule__IfExpressionTri__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4884:1: ( ( ( rule__ListLiteral__Group_2_1__0 )* ) ) - // InternalExpression.g:4885:1: ( ( rule__ListLiteral__Group_2_1__0 )* ) + // InternalExpression.g:4990:1: ( ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) ) + // InternalExpression.g:4991:1: ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) { - // InternalExpression.g:4885:1: ( ( rule__ListLiteral__Group_2_1__0 )* ) - // InternalExpression.g:4886:2: ( rule__ListLiteral__Group_2_1__0 )* + // InternalExpression.g:4991:1: ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) + // InternalExpression.g:4992:2: ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getGroup_2_1()); + before(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); } - // InternalExpression.g:4887:2: ( rule__ListLiteral__Group_2_1__0 )* - loop35: - do { - int alt35=2; - int LA35_0 = input.LA(1); - - if ( (LA35_0==52) ) { - alt35=1; - } - - - switch (alt35) { - case 1 : - // InternalExpression.g:4887:3: rule__ListLiteral__Group_2_1__0 - { - pushFollow(FOLLOW_36); - rule__ListLiteral__Group_2_1__0(); - - state._fsp--; - if (state.failed) return ; + // InternalExpression.g:4993:2: ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) + // InternalExpression.g:4993:3: rule__IfExpressionTri__ThenPartAssignment_1_2 + { + pushFollow(FOLLOW_2); + rule__IfExpressionTri__ThenPartAssignment_1_2(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop35; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getGroup_2_1()); + after(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); } } @@ -16247,26 +18355,26 @@ public final void rule__ListLiteral__Group_2__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ListLiteral__Group_2__1__Impl" + // $ANTLR end "rule__IfExpressionTri__Group_1__2__Impl" - // $ANTLR start "rule__ListLiteral__Group_2_1__0" - // InternalExpression.g:4896:1: rule__ListLiteral__Group_2_1__0 : rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 ; - public final void rule__ListLiteral__Group_2_1__0() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__3" + // InternalExpression.g:5001:1: rule__IfExpressionTri__Group_1__3 : rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 ; + public final void rule__IfExpressionTri__Group_1__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4900:1: ( rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 ) - // InternalExpression.g:4901:2: rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 + // InternalExpression.g:5005:1: ( rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 ) + // InternalExpression.g:5006:2: rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 { - pushFollow(FOLLOW_5); - rule__ListLiteral__Group_2_1__0__Impl(); + pushFollow(FOLLOW_6); + rule__IfExpressionTri__Group_1__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group_2_1__1(); + rule__IfExpressionTri__Group_1__4(); state._fsp--; if (state.failed) return ; @@ -16285,28 +18393,28 @@ public final void rule__ListLiteral__Group_2_1__0() throws RecognitionException } return ; } - // $ANTLR end "rule__ListLiteral__Group_2_1__0" + // $ANTLR end "rule__IfExpressionTri__Group_1__3" - // $ANTLR start "rule__ListLiteral__Group_2_1__0__Impl" - // InternalExpression.g:4908:1: rule__ListLiteral__Group_2_1__0__Impl : ( ',' ) ; - public final void rule__ListLiteral__Group_2_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__3__Impl" + // InternalExpression.g:5013:1: rule__IfExpressionTri__Group_1__3__Impl : ( ':' ) ; + public final void rule__IfExpressionTri__Group_1__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4912:1: ( ( ',' ) ) - // InternalExpression.g:4913:1: ( ',' ) + // InternalExpression.g:5017:1: ( ( ':' ) ) + // InternalExpression.g:5018:1: ( ':' ) { - // InternalExpression.g:4913:1: ( ',' ) - // InternalExpression.g:4914:2: ',' + // InternalExpression.g:5018:1: ( ':' ) + // InternalExpression.g:5019:2: ':' { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); + before(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } - match(input,52,FOLLOW_2); if (state.failed) return ; + match(input,66,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); + after(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } } @@ -16326,21 +18434,21 @@ public final void rule__ListLiteral__Group_2_1__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ListLiteral__Group_2_1__0__Impl" + // $ANTLR end "rule__IfExpressionTri__Group_1__3__Impl" - // $ANTLR start "rule__ListLiteral__Group_2_1__1" - // InternalExpression.g:4923:1: rule__ListLiteral__Group_2_1__1 : rule__ListLiteral__Group_2_1__1__Impl ; - public final void rule__ListLiteral__Group_2_1__1() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__4" + // InternalExpression.g:5028:1: rule__IfExpressionTri__Group_1__4 : rule__IfExpressionTri__Group_1__4__Impl ; + public final void rule__IfExpressionTri__Group_1__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4927:1: ( rule__ListLiteral__Group_2_1__1__Impl ) - // InternalExpression.g:4928:2: rule__ListLiteral__Group_2_1__1__Impl + // InternalExpression.g:5032:1: ( rule__IfExpressionTri__Group_1__4__Impl ) + // InternalExpression.g:5033:2: rule__IfExpressionTri__Group_1__4__Impl { pushFollow(FOLLOW_2); - rule__ListLiteral__Group_2_1__1__Impl(); + rule__IfExpressionTri__Group_1__4__Impl(); state._fsp--; if (state.failed) return ; @@ -16359,30 +18467,30 @@ public final void rule__ListLiteral__Group_2_1__1() throws RecognitionException } return ; } - // $ANTLR end "rule__ListLiteral__Group_2_1__1" + // $ANTLR end "rule__IfExpressionTri__Group_1__4" - // $ANTLR start "rule__ListLiteral__Group_2_1__1__Impl" - // InternalExpression.g:4934:1: rule__ListLiteral__Group_2_1__1__Impl : ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) ; - public final void rule__ListLiteral__Group_2_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__4__Impl" + // InternalExpression.g:5039:1: rule__IfExpressionTri__Group_1__4__Impl : ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) ; + public final void rule__IfExpressionTri__Group_1__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4938:1: ( ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) ) - // InternalExpression.g:4939:1: ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) + // InternalExpression.g:5043:1: ( ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) ) + // InternalExpression.g:5044:1: ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) { - // InternalExpression.g:4939:1: ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) - // InternalExpression.g:4940:2: ( rule__ListLiteral__ElementsAssignment_2_1_1 ) + // InternalExpression.g:5044:1: ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) + // InternalExpression.g:5045:2: ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); + before(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); } - // InternalExpression.g:4941:2: ( rule__ListLiteral__ElementsAssignment_2_1_1 ) - // InternalExpression.g:4941:3: rule__ListLiteral__ElementsAssignment_2_1_1 + // InternalExpression.g:5046:2: ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) + // InternalExpression.g:5046:3: rule__IfExpressionTri__ElsePartAssignment_1_4 { pushFollow(FOLLOW_2); - rule__ListLiteral__ElementsAssignment_2_1_1(); + rule__IfExpressionTri__ElsePartAssignment_1_4(); state._fsp--; if (state.failed) return ; @@ -16390,7 +18498,7 @@ public final void rule__ListLiteral__Group_2_1__1__Impl() throws RecognitionExce } if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); + after(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); } } @@ -16410,26 +18518,26 @@ public final void rule__ListLiteral__Group_2_1__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ListLiteral__Group_2_1__1__Impl" + // $ANTLR end "rule__IfExpressionTri__Group_1__4__Impl" - // $ANTLR start "rule__ConstructorCallExpression__Group__0" - // InternalExpression.g:4950:1: rule__ConstructorCallExpression__Group__0 : rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 ; - public final void rule__ConstructorCallExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__0" + // InternalExpression.g:5055:1: rule__IfExpressionKw__Group__0 : rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 ; + public final void rule__IfExpressionKw__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4954:1: ( rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 ) - // InternalExpression.g:4955:2: rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 + // InternalExpression.g:5059:1: ( rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 ) + // InternalExpression.g:5060:2: rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 { - pushFollow(FOLLOW_7); - rule__ConstructorCallExpression__Group__0__Impl(); + pushFollow(FOLLOW_6); + rule__IfExpressionKw__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ConstructorCallExpression__Group__1(); + rule__IfExpressionKw__Group__1(); state._fsp--; if (state.failed) return ; @@ -16448,28 +18556,28 @@ public final void rule__ConstructorCallExpression__Group__0() throws Recognition } return ; } - // $ANTLR end "rule__ConstructorCallExpression__Group__0" + // $ANTLR end "rule__IfExpressionKw__Group__0" - // $ANTLR start "rule__ConstructorCallExpression__Group__0__Impl" - // InternalExpression.g:4962:1: rule__ConstructorCallExpression__Group__0__Impl : ( 'new' ) ; - public final void rule__ConstructorCallExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__0__Impl" + // InternalExpression.g:5067:1: rule__IfExpressionKw__Group__0__Impl : ( 'if' ) ; + public final void rule__IfExpressionKw__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4966:1: ( ( 'new' ) ) - // InternalExpression.g:4967:1: ( 'new' ) + // InternalExpression.g:5071:1: ( ( 'if' ) ) + // InternalExpression.g:5072:1: ( 'if' ) { - // InternalExpression.g:4967:1: ( 'new' ) - // InternalExpression.g:4968:2: 'new' + // InternalExpression.g:5072:1: ( 'if' ) + // InternalExpression.g:5073:2: 'if' { if ( state.backtracking==0 ) { - before(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); + before(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); } - match(input,55,FOLLOW_2); if (state.failed) return ; + match(input,70,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); + after(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); } } @@ -16489,21 +18597,26 @@ public final void rule__ConstructorCallExpression__Group__0__Impl() throws Recog } return ; } - // $ANTLR end "rule__ConstructorCallExpression__Group__0__Impl" + // $ANTLR end "rule__IfExpressionKw__Group__0__Impl" - // $ANTLR start "rule__ConstructorCallExpression__Group__1" - // InternalExpression.g:4977:1: rule__ConstructorCallExpression__Group__1 : rule__ConstructorCallExpression__Group__1__Impl ; - public final void rule__ConstructorCallExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__1" + // InternalExpression.g:5082:1: rule__IfExpressionKw__Group__1 : rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 ; + public final void rule__IfExpressionKw__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4981:1: ( rule__ConstructorCallExpression__Group__1__Impl ) - // InternalExpression.g:4982:2: rule__ConstructorCallExpression__Group__1__Impl + // InternalExpression.g:5086:1: ( rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 ) + // InternalExpression.g:5087:2: rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 { + pushFollow(FOLLOW_13); + rule__IfExpressionKw__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ConstructorCallExpression__Group__1__Impl(); + rule__IfExpressionKw__Group__2(); state._fsp--; if (state.failed) return ; @@ -16522,30 +18635,30 @@ public final void rule__ConstructorCallExpression__Group__1() throws Recognition } return ; } - // $ANTLR end "rule__ConstructorCallExpression__Group__1" + // $ANTLR end "rule__IfExpressionKw__Group__1" - // $ANTLR start "rule__ConstructorCallExpression__Group__1__Impl" - // InternalExpression.g:4988:1: rule__ConstructorCallExpression__Group__1__Impl : ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) ; - public final void rule__ConstructorCallExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__1__Impl" + // InternalExpression.g:5094:1: rule__IfExpressionKw__Group__1__Impl : ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) ; + public final void rule__IfExpressionKw__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:4992:1: ( ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) ) - // InternalExpression.g:4993:1: ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) + // InternalExpression.g:5098:1: ( ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) ) + // InternalExpression.g:5099:1: ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) { - // InternalExpression.g:4993:1: ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) - // InternalExpression.g:4994:2: ( rule__ConstructorCallExpression__TypeAssignment_1 ) + // InternalExpression.g:5099:1: ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) + // InternalExpression.g:5100:2: ( rule__IfExpressionKw__ConditionAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); + before(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } - // InternalExpression.g:4995:2: ( rule__ConstructorCallExpression__TypeAssignment_1 ) - // InternalExpression.g:4995:3: rule__ConstructorCallExpression__TypeAssignment_1 + // InternalExpression.g:5101:2: ( rule__IfExpressionKw__ConditionAssignment_1 ) + // InternalExpression.g:5101:3: rule__IfExpressionKw__ConditionAssignment_1 { pushFollow(FOLLOW_2); - rule__ConstructorCallExpression__TypeAssignment_1(); + rule__IfExpressionKw__ConditionAssignment_1(); state._fsp--; if (state.failed) return ; @@ -16553,7 +18666,7 @@ public final void rule__ConstructorCallExpression__Group__1__Impl() throws Recog } if ( state.backtracking==0 ) { - after(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); + after(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } } @@ -16573,26 +18686,26 @@ public final void rule__ConstructorCallExpression__Group__1__Impl() throws Recog } return ; } - // $ANTLR end "rule__ConstructorCallExpression__Group__1__Impl" + // $ANTLR end "rule__IfExpressionKw__Group__1__Impl" - // $ANTLR start "rule__TypeSelectExpression__Group__0" - // InternalExpression.g:5004:1: rule__TypeSelectExpression__Group__0 : rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 ; - public final void rule__TypeSelectExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__2" + // InternalExpression.g:5109:1: rule__IfExpressionKw__Group__2 : rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 ; + public final void rule__IfExpressionKw__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5008:1: ( rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 ) - // InternalExpression.g:5009:2: rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 + // InternalExpression.g:5113:1: ( rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 ) + // InternalExpression.g:5114:2: rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 { - pushFollow(FOLLOW_33); - rule__TypeSelectExpression__Group__0__Impl(); + pushFollow(FOLLOW_6); + rule__IfExpressionKw__Group__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__TypeSelectExpression__Group__1(); + rule__IfExpressionKw__Group__3(); state._fsp--; if (state.failed) return ; @@ -16611,38 +18724,28 @@ public final void rule__TypeSelectExpression__Group__0() throws RecognitionExcep } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__0" + // $ANTLR end "rule__IfExpressionKw__Group__2" - // $ANTLR start "rule__TypeSelectExpression__Group__0__Impl" - // InternalExpression.g:5016:1: rule__TypeSelectExpression__Group__0__Impl : ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) ; - public final void rule__TypeSelectExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__2__Impl" + // InternalExpression.g:5121:1: rule__IfExpressionKw__Group__2__Impl : ( 'then' ) ; + public final void rule__IfExpressionKw__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5020:1: ( ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) ) - // InternalExpression.g:5021:1: ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) + // InternalExpression.g:5125:1: ( ( 'then' ) ) + // InternalExpression.g:5126:1: ( 'then' ) { - // InternalExpression.g:5021:1: ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) - // InternalExpression.g:5022:2: ( rule__TypeSelectExpression__NameAssignment_0 ) + // InternalExpression.g:5126:1: ( 'then' ) + // InternalExpression.g:5127:2: 'then' { if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); - } - // InternalExpression.g:5023:2: ( rule__TypeSelectExpression__NameAssignment_0 ) - // InternalExpression.g:5023:3: rule__TypeSelectExpression__NameAssignment_0 - { - pushFollow(FOLLOW_2); - rule__TypeSelectExpression__NameAssignment_0(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } - + match(input,71,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); + after(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } } @@ -16662,26 +18765,26 @@ public final void rule__TypeSelectExpression__Group__0__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__0__Impl" + // $ANTLR end "rule__IfExpressionKw__Group__2__Impl" - // $ANTLR start "rule__TypeSelectExpression__Group__1" - // InternalExpression.g:5031:1: rule__TypeSelectExpression__Group__1 : rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 ; - public final void rule__TypeSelectExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__3" + // InternalExpression.g:5136:1: rule__IfExpressionKw__Group__3 : rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 ; + public final void rule__IfExpressionKw__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5035:1: ( rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 ) - // InternalExpression.g:5036:2: rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 + // InternalExpression.g:5140:1: ( rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 ) + // InternalExpression.g:5141:2: rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 { - pushFollow(FOLLOW_7); - rule__TypeSelectExpression__Group__1__Impl(); + pushFollow(FOLLOW_14); + rule__IfExpressionKw__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__TypeSelectExpression__Group__2(); + rule__IfExpressionKw__Group__4(); state._fsp--; if (state.failed) return ; @@ -16700,28 +18803,38 @@ public final void rule__TypeSelectExpression__Group__1() throws RecognitionExcep } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__1" + // $ANTLR end "rule__IfExpressionKw__Group__3" - // $ANTLR start "rule__TypeSelectExpression__Group__1__Impl" - // InternalExpression.g:5043:1: rule__TypeSelectExpression__Group__1__Impl : ( '(' ) ; - public final void rule__TypeSelectExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__3__Impl" + // InternalExpression.g:5148:1: rule__IfExpressionKw__Group__3__Impl : ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) ; + public final void rule__IfExpressionKw__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5047:1: ( ( '(' ) ) - // InternalExpression.g:5048:1: ( '(' ) + // InternalExpression.g:5152:1: ( ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) ) + // InternalExpression.g:5153:1: ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) { - // InternalExpression.g:5048:1: ( '(' ) - // InternalExpression.g:5049:2: '(' + // InternalExpression.g:5153:1: ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) + // InternalExpression.g:5154:2: ( rule__IfExpressionKw__ThenPartAssignment_3 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); + before(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); + } + // InternalExpression.g:5155:2: ( rule__IfExpressionKw__ThenPartAssignment_3 ) + // InternalExpression.g:5155:3: rule__IfExpressionKw__ThenPartAssignment_3 + { + pushFollow(FOLLOW_2); + rule__IfExpressionKw__ThenPartAssignment_3(); + + state._fsp--; + if (state.failed) return ; + } - match(input,39,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); + after(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); } } @@ -16741,26 +18854,21 @@ public final void rule__TypeSelectExpression__Group__1__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__1__Impl" + // $ANTLR end "rule__IfExpressionKw__Group__3__Impl" - // $ANTLR start "rule__TypeSelectExpression__Group__2" - // InternalExpression.g:5058:1: rule__TypeSelectExpression__Group__2 : rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 ; - public final void rule__TypeSelectExpression__Group__2() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__4" + // InternalExpression.g:5163:1: rule__IfExpressionKw__Group__4 : rule__IfExpressionKw__Group__4__Impl ; + public final void rule__IfExpressionKw__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5062:1: ( rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 ) - // InternalExpression.g:5063:2: rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 + // InternalExpression.g:5167:1: ( rule__IfExpressionKw__Group__4__Impl ) + // InternalExpression.g:5168:2: rule__IfExpressionKw__Group__4__Impl { - pushFollow(FOLLOW_8); - rule__TypeSelectExpression__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__TypeSelectExpression__Group__3(); + rule__IfExpressionKw__Group__4__Impl(); state._fsp--; if (state.failed) return ; @@ -16779,38 +18887,53 @@ public final void rule__TypeSelectExpression__Group__2() throws RecognitionExcep } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__2" + // $ANTLR end "rule__IfExpressionKw__Group__4" - // $ANTLR start "rule__TypeSelectExpression__Group__2__Impl" - // InternalExpression.g:5070:1: rule__TypeSelectExpression__Group__2__Impl : ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) ; - public final void rule__TypeSelectExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__4__Impl" + // InternalExpression.g:5174:1: rule__IfExpressionKw__Group__4__Impl : ( ( rule__IfExpressionKw__Group_4__0 )? ) ; + public final void rule__IfExpressionKw__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5074:1: ( ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) ) - // InternalExpression.g:5075:1: ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) + // InternalExpression.g:5178:1: ( ( ( rule__IfExpressionKw__Group_4__0 )? ) ) + // InternalExpression.g:5179:1: ( ( rule__IfExpressionKw__Group_4__0 )? ) { - // InternalExpression.g:5075:1: ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) - // InternalExpression.g:5076:2: ( rule__TypeSelectExpression__TypeAssignment_2 ) + // InternalExpression.g:5179:1: ( ( rule__IfExpressionKw__Group_4__0 )? ) + // InternalExpression.g:5180:2: ( rule__IfExpressionKw__Group_4__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); + before(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } - // InternalExpression.g:5077:2: ( rule__TypeSelectExpression__TypeAssignment_2 ) - // InternalExpression.g:5077:3: rule__TypeSelectExpression__TypeAssignment_2 - { - pushFollow(FOLLOW_2); - rule__TypeSelectExpression__TypeAssignment_2(); + // InternalExpression.g:5181:2: ( rule__IfExpressionKw__Group_4__0 )? + int alt59=2; + int LA59_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA59_0==72) ) { + int LA59_1 = input.LA(2); + + if ( (synpred132_InternalExpression()) ) { + alt59=1; + } + } + switch (alt59) { + case 1 : + // InternalExpression.g:5181:3: rule__IfExpressionKw__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__IfExpressionKw__Group_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; } if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); + after(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } } @@ -16830,21 +18953,21 @@ public final void rule__TypeSelectExpression__Group__2__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__2__Impl" + // $ANTLR end "rule__IfExpressionKw__Group__4__Impl" - // $ANTLR start "rule__TypeSelectExpression__Group__3" - // InternalExpression.g:5085:1: rule__TypeSelectExpression__Group__3 : rule__TypeSelectExpression__Group__3__Impl ; - public final void rule__TypeSelectExpression__Group__3() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4__0" + // InternalExpression.g:5190:1: rule__IfExpressionKw__Group_4__0 : rule__IfExpressionKw__Group_4__0__Impl ; + public final void rule__IfExpressionKw__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5089:1: ( rule__TypeSelectExpression__Group__3__Impl ) - // InternalExpression.g:5090:2: rule__TypeSelectExpression__Group__3__Impl + // InternalExpression.g:5194:1: ( rule__IfExpressionKw__Group_4__0__Impl ) + // InternalExpression.g:5195:2: rule__IfExpressionKw__Group_4__0__Impl { pushFollow(FOLLOW_2); - rule__TypeSelectExpression__Group__3__Impl(); + rule__IfExpressionKw__Group_4__0__Impl(); state._fsp--; if (state.failed) return ; @@ -16863,28 +18986,38 @@ public final void rule__TypeSelectExpression__Group__3() throws RecognitionExcep } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__3" + // $ANTLR end "rule__IfExpressionKw__Group_4__0" - // $ANTLR start "rule__TypeSelectExpression__Group__3__Impl" - // InternalExpression.g:5096:1: rule__TypeSelectExpression__Group__3__Impl : ( ')' ) ; - public final void rule__TypeSelectExpression__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4__0__Impl" + // InternalExpression.g:5201:1: rule__IfExpressionKw__Group_4__0__Impl : ( ( rule__IfExpressionKw__Group_4_0__0 ) ) ; + public final void rule__IfExpressionKw__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5100:1: ( ( ')' ) ) - // InternalExpression.g:5101:1: ( ')' ) + // InternalExpression.g:5205:1: ( ( ( rule__IfExpressionKw__Group_4_0__0 ) ) ) + // InternalExpression.g:5206:1: ( ( rule__IfExpressionKw__Group_4_0__0 ) ) { - // InternalExpression.g:5101:1: ( ')' ) - // InternalExpression.g:5102:2: ')' + // InternalExpression.g:5206:1: ( ( rule__IfExpressionKw__Group_4_0__0 ) ) + // InternalExpression.g:5207:2: ( rule__IfExpressionKw__Group_4_0__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); + before(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); + } + // InternalExpression.g:5208:2: ( rule__IfExpressionKw__Group_4_0__0 ) + // InternalExpression.g:5208:3: rule__IfExpressionKw__Group_4_0__0 + { + pushFollow(FOLLOW_2); + rule__IfExpressionKw__Group_4_0__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,40,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); + after(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); } } @@ -16904,26 +19037,26 @@ public final void rule__TypeSelectExpression__Group__3__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__3__Impl" + // $ANTLR end "rule__IfExpressionKw__Group_4__0__Impl" - // $ANTLR start "rule__CollectionExpression__Group__0" - // InternalExpression.g:5112:1: rule__CollectionExpression__Group__0 : rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 ; - public final void rule__CollectionExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4_0__0" + // InternalExpression.g:5217:1: rule__IfExpressionKw__Group_4_0__0 : rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 ; + public final void rule__IfExpressionKw__Group_4_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5116:1: ( rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 ) - // InternalExpression.g:5117:2: rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 + // InternalExpression.g:5221:1: ( rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 ) + // InternalExpression.g:5222:2: rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 { - pushFollow(FOLLOW_33); - rule__CollectionExpression__Group__0__Impl(); + pushFollow(FOLLOW_6); + rule__IfExpressionKw__Group_4_0__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group__1(); + rule__IfExpressionKw__Group_4_0__1(); state._fsp--; if (state.failed) return ; @@ -16942,38 +19075,28 @@ public final void rule__CollectionExpression__Group__0() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionExpression__Group__0" + // $ANTLR end "rule__IfExpressionKw__Group_4_0__0" - // $ANTLR start "rule__CollectionExpression__Group__0__Impl" - // InternalExpression.g:5124:1: rule__CollectionExpression__Group__0__Impl : ( ( rule__CollectionExpression__NameAssignment_0 ) ) ; - public final void rule__CollectionExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4_0__0__Impl" + // InternalExpression.g:5229:1: rule__IfExpressionKw__Group_4_0__0__Impl : ( 'else' ) ; + public final void rule__IfExpressionKw__Group_4_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5128:1: ( ( ( rule__CollectionExpression__NameAssignment_0 ) ) ) - // InternalExpression.g:5129:1: ( ( rule__CollectionExpression__NameAssignment_0 ) ) + // InternalExpression.g:5233:1: ( ( 'else' ) ) + // InternalExpression.g:5234:1: ( 'else' ) { - // InternalExpression.g:5129:1: ( ( rule__CollectionExpression__NameAssignment_0 ) ) - // InternalExpression.g:5130:2: ( rule__CollectionExpression__NameAssignment_0 ) + // InternalExpression.g:5234:1: ( 'else' ) + // InternalExpression.g:5235:2: 'else' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); - } - // InternalExpression.g:5131:2: ( rule__CollectionExpression__NameAssignment_0 ) - // InternalExpression.g:5131:3: rule__CollectionExpression__NameAssignment_0 - { - pushFollow(FOLLOW_2); - rule__CollectionExpression__NameAssignment_0(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } - + match(input,72,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); + after(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } } @@ -16993,26 +19116,21 @@ public final void rule__CollectionExpression__Group__0__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__CollectionExpression__Group__0__Impl" + // $ANTLR end "rule__IfExpressionKw__Group_4_0__0__Impl" - // $ANTLR start "rule__CollectionExpression__Group__1" - // InternalExpression.g:5139:1: rule__CollectionExpression__Group__1 : rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 ; - public final void rule__CollectionExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4_0__1" + // InternalExpression.g:5244:1: rule__IfExpressionKw__Group_4_0__1 : rule__IfExpressionKw__Group_4_0__1__Impl ; + public final void rule__IfExpressionKw__Group_4_0__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5143:1: ( rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 ) - // InternalExpression.g:5144:2: rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 + // InternalExpression.g:5248:1: ( rule__IfExpressionKw__Group_4_0__1__Impl ) + // InternalExpression.g:5249:2: rule__IfExpressionKw__Group_4_0__1__Impl { - pushFollow(FOLLOW_5); - rule__CollectionExpression__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group__2(); + rule__IfExpressionKw__Group_4_0__1__Impl(); state._fsp--; if (state.failed) return ; @@ -17031,28 +19149,38 @@ public final void rule__CollectionExpression__Group__1() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionExpression__Group__1" + // $ANTLR end "rule__IfExpressionKw__Group_4_0__1" - // $ANTLR start "rule__CollectionExpression__Group__1__Impl" - // InternalExpression.g:5151:1: rule__CollectionExpression__Group__1__Impl : ( '(' ) ; - public final void rule__CollectionExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4_0__1__Impl" + // InternalExpression.g:5255:1: rule__IfExpressionKw__Group_4_0__1__Impl : ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) ; + public final void rule__IfExpressionKw__Group_4_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5155:1: ( ( '(' ) ) - // InternalExpression.g:5156:1: ( '(' ) + // InternalExpression.g:5259:1: ( ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) ) + // InternalExpression.g:5260:1: ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) { - // InternalExpression.g:5156:1: ( '(' ) - // InternalExpression.g:5157:2: '(' + // InternalExpression.g:5260:1: ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) + // InternalExpression.g:5261:2: ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); + before(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); + } + // InternalExpression.g:5262:2: ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) + // InternalExpression.g:5262:3: rule__IfExpressionKw__ElsePartAssignment_4_0_1 + { + pushFollow(FOLLOW_2); + rule__IfExpressionKw__ElsePartAssignment_4_0_1(); + + state._fsp--; + if (state.failed) return ; + } - match(input,39,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); + after(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); } } @@ -17072,26 +19200,26 @@ public final void rule__CollectionExpression__Group__1__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__CollectionExpression__Group__1__Impl" + // $ANTLR end "rule__IfExpressionKw__Group_4_0__1__Impl" - // $ANTLR start "rule__CollectionExpression__Group__2" - // InternalExpression.g:5166:1: rule__CollectionExpression__Group__2 : rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 ; - public final void rule__CollectionExpression__Group__2() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__0" + // InternalExpression.g:5271:1: rule__SwitchExpression__Group__0 : rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 ; + public final void rule__SwitchExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5170:1: ( rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 ) - // InternalExpression.g:5171:2: rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 + // InternalExpression.g:5275:1: ( rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 ) + // InternalExpression.g:5276:2: rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 { - pushFollow(FOLLOW_5); - rule__CollectionExpression__Group__2__Impl(); + pushFollow(FOLLOW_15); + rule__SwitchExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group__3(); + rule__SwitchExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -17110,53 +19238,28 @@ public final void rule__CollectionExpression__Group__2() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionExpression__Group__2" + // $ANTLR end "rule__SwitchExpression__Group__0" - // $ANTLR start "rule__CollectionExpression__Group__2__Impl" - // InternalExpression.g:5178:1: rule__CollectionExpression__Group__2__Impl : ( ( rule__CollectionExpression__Group_2__0 )? ) ; - public final void rule__CollectionExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__0__Impl" + // InternalExpression.g:5283:1: rule__SwitchExpression__Group__0__Impl : ( 'switch' ) ; + public final void rule__SwitchExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5182:1: ( ( ( rule__CollectionExpression__Group_2__0 )? ) ) - // InternalExpression.g:5183:1: ( ( rule__CollectionExpression__Group_2__0 )? ) + // InternalExpression.g:5287:1: ( ( 'switch' ) ) + // InternalExpression.g:5288:1: ( 'switch' ) { - // InternalExpression.g:5183:1: ( ( rule__CollectionExpression__Group_2__0 )? ) - // InternalExpression.g:5184:2: ( rule__CollectionExpression__Group_2__0 )? + // InternalExpression.g:5288:1: ( 'switch' ) + // InternalExpression.g:5289:2: 'switch' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getGroup_2()); - } - // InternalExpression.g:5185:2: ( rule__CollectionExpression__Group_2__0 )? - int alt36=2; - int LA36_0 = input.LA(1); - - if ( (LA36_0==RULE_ID) ) { - int LA36_1 = input.LA(2); - - if ( (LA36_1==53) ) { - alt36=1; - } - } - switch (alt36) { - case 1 : - // InternalExpression.g:5185:3: rule__CollectionExpression__Group_2__0 - { - pushFollow(FOLLOW_2); - rule__CollectionExpression__Group_2__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - + before(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } - + match(input,73,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getGroup_2()); + after(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } } @@ -17176,26 +19279,26 @@ public final void rule__CollectionExpression__Group__2__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__CollectionExpression__Group__2__Impl" + // $ANTLR end "rule__SwitchExpression__Group__0__Impl" - // $ANTLR start "rule__CollectionExpression__Group__3" - // InternalExpression.g:5193:1: rule__CollectionExpression__Group__3 : rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 ; - public final void rule__CollectionExpression__Group__3() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__1" + // InternalExpression.g:5298:1: rule__SwitchExpression__Group__1 : rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 ; + public final void rule__SwitchExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5197:1: ( rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 ) - // InternalExpression.g:5198:2: rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 + // InternalExpression.g:5302:1: ( rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 ) + // InternalExpression.g:5303:2: rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 { - pushFollow(FOLLOW_8); - rule__CollectionExpression__Group__3__Impl(); + pushFollow(FOLLOW_15); + rule__SwitchExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group__4(); + rule__SwitchExpression__Group__2(); state._fsp--; if (state.failed) return ; @@ -17214,38 +19317,49 @@ public final void rule__CollectionExpression__Group__3() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionExpression__Group__3" + // $ANTLR end "rule__SwitchExpression__Group__1" - // $ANTLR start "rule__CollectionExpression__Group__3__Impl" - // InternalExpression.g:5205:1: rule__CollectionExpression__Group__3__Impl : ( ( rule__CollectionExpression__ExpAssignment_3 ) ) ; - public final void rule__CollectionExpression__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__1__Impl" + // InternalExpression.g:5310:1: rule__SwitchExpression__Group__1__Impl : ( ( rule__SwitchExpression__Group_1__0 )? ) ; + public final void rule__SwitchExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5209:1: ( ( ( rule__CollectionExpression__ExpAssignment_3 ) ) ) - // InternalExpression.g:5210:1: ( ( rule__CollectionExpression__ExpAssignment_3 ) ) + // InternalExpression.g:5314:1: ( ( ( rule__SwitchExpression__Group_1__0 )? ) ) + // InternalExpression.g:5315:1: ( ( rule__SwitchExpression__Group_1__0 )? ) { - // InternalExpression.g:5210:1: ( ( rule__CollectionExpression__ExpAssignment_3 ) ) - // InternalExpression.g:5211:2: ( rule__CollectionExpression__ExpAssignment_3 ) + // InternalExpression.g:5315:1: ( ( rule__SwitchExpression__Group_1__0 )? ) + // InternalExpression.g:5316:2: ( rule__SwitchExpression__Group_1__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); + before(grammarAccess.getSwitchExpressionAccess().getGroup_1()); } - // InternalExpression.g:5212:2: ( rule__CollectionExpression__ExpAssignment_3 ) - // InternalExpression.g:5212:3: rule__CollectionExpression__ExpAssignment_3 - { - pushFollow(FOLLOW_2); - rule__CollectionExpression__ExpAssignment_3(); + // InternalExpression.g:5317:2: ( rule__SwitchExpression__Group_1__0 )? + int alt60=2; + int LA60_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA60_0==67) ) { + alt60=1; + } + switch (alt60) { + case 1 : + // InternalExpression.g:5317:3: rule__SwitchExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__SwitchExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; } if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); + after(grammarAccess.getSwitchExpressionAccess().getGroup_1()); } } @@ -17265,21 +19379,26 @@ public final void rule__CollectionExpression__Group__3__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__CollectionExpression__Group__3__Impl" + // $ANTLR end "rule__SwitchExpression__Group__1__Impl" - // $ANTLR start "rule__CollectionExpression__Group__4" - // InternalExpression.g:5220:1: rule__CollectionExpression__Group__4 : rule__CollectionExpression__Group__4__Impl ; - public final void rule__CollectionExpression__Group__4() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__2" + // InternalExpression.g:5325:1: rule__SwitchExpression__Group__2 : rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 ; + public final void rule__SwitchExpression__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5224:1: ( rule__CollectionExpression__Group__4__Impl ) - // InternalExpression.g:5225:2: rule__CollectionExpression__Group__4__Impl + // InternalExpression.g:5329:1: ( rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 ) + // InternalExpression.g:5330:2: rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 { + pushFollow(FOLLOW_16); + rule__SwitchExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group__4__Impl(); + rule__SwitchExpression__Group__3(); state._fsp--; if (state.failed) return ; @@ -17298,28 +19417,28 @@ public final void rule__CollectionExpression__Group__4() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionExpression__Group__4" + // $ANTLR end "rule__SwitchExpression__Group__2" - // $ANTLR start "rule__CollectionExpression__Group__4__Impl" - // InternalExpression.g:5231:1: rule__CollectionExpression__Group__4__Impl : ( ')' ) ; - public final void rule__CollectionExpression__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__2__Impl" + // InternalExpression.g:5337:1: rule__SwitchExpression__Group__2__Impl : ( '{' ) ; + public final void rule__SwitchExpression__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5235:1: ( ( ')' ) ) - // InternalExpression.g:5236:1: ( ')' ) + // InternalExpression.g:5341:1: ( ( '{' ) ) + // InternalExpression.g:5342:1: ( '{' ) { - // InternalExpression.g:5236:1: ( ')' ) - // InternalExpression.g:5237:2: ')' + // InternalExpression.g:5342:1: ( '{' ) + // InternalExpression.g:5343:2: '{' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); + before(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } - match(input,40,FOLLOW_2); if (state.failed) return ; + match(input,74,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); + after(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } } @@ -17339,26 +19458,26 @@ public final void rule__CollectionExpression__Group__4__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__CollectionExpression__Group__4__Impl" + // $ANTLR end "rule__SwitchExpression__Group__2__Impl" - // $ANTLR start "rule__CollectionExpression__Group_2__0" - // InternalExpression.g:5247:1: rule__CollectionExpression__Group_2__0 : rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 ; - public final void rule__CollectionExpression__Group_2__0() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__3" + // InternalExpression.g:5352:1: rule__SwitchExpression__Group__3 : rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 ; + public final void rule__SwitchExpression__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5251:1: ( rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 ) - // InternalExpression.g:5252:2: rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 + // InternalExpression.g:5356:1: ( rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 ) + // InternalExpression.g:5357:2: rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 { - pushFollow(FOLLOW_39); - rule__CollectionExpression__Group_2__0__Impl(); + pushFollow(FOLLOW_16); + rule__SwitchExpression__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group_2__1(); + rule__SwitchExpression__Group__4(); state._fsp--; if (state.failed) return ; @@ -17377,38 +19496,56 @@ public final void rule__CollectionExpression__Group_2__0() throws RecognitionExc } return ; } - // $ANTLR end "rule__CollectionExpression__Group_2__0" + // $ANTLR end "rule__SwitchExpression__Group__3" - // $ANTLR start "rule__CollectionExpression__Group_2__0__Impl" - // InternalExpression.g:5259:1: rule__CollectionExpression__Group_2__0__Impl : ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) ; - public final void rule__CollectionExpression__Group_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__3__Impl" + // InternalExpression.g:5364:1: rule__SwitchExpression__Group__3__Impl : ( ( rule__SwitchExpression__CaseAssignment_3 )* ) ; + public final void rule__SwitchExpression__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5263:1: ( ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) ) - // InternalExpression.g:5264:1: ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) + // InternalExpression.g:5368:1: ( ( ( rule__SwitchExpression__CaseAssignment_3 )* ) ) + // InternalExpression.g:5369:1: ( ( rule__SwitchExpression__CaseAssignment_3 )* ) { - // InternalExpression.g:5264:1: ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) - // InternalExpression.g:5265:2: ( rule__CollectionExpression__VarAssignment_2_0 ) + // InternalExpression.g:5369:1: ( ( rule__SwitchExpression__CaseAssignment_3 )* ) + // InternalExpression.g:5370:2: ( rule__SwitchExpression__CaseAssignment_3 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); + before(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } - // InternalExpression.g:5266:2: ( rule__CollectionExpression__VarAssignment_2_0 ) - // InternalExpression.g:5266:3: rule__CollectionExpression__VarAssignment_2_0 - { - pushFollow(FOLLOW_2); - rule__CollectionExpression__VarAssignment_2_0(); + // InternalExpression.g:5371:2: ( rule__SwitchExpression__CaseAssignment_3 )* + loop61: + do { + int alt61=2; + int LA61_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA61_0==77) ) { + alt61=1; + } - } + + switch (alt61) { + case 1 : + // InternalExpression.g:5371:3: rule__SwitchExpression__CaseAssignment_3 + { + pushFollow(FOLLOW_17); + rule__SwitchExpression__CaseAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop61; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); + after(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } } @@ -17428,21 +19565,26 @@ public final void rule__CollectionExpression__Group_2__0__Impl() throws Recognit } return ; } - // $ANTLR end "rule__CollectionExpression__Group_2__0__Impl" + // $ANTLR end "rule__SwitchExpression__Group__3__Impl" - // $ANTLR start "rule__CollectionExpression__Group_2__1" - // InternalExpression.g:5274:1: rule__CollectionExpression__Group_2__1 : rule__CollectionExpression__Group_2__1__Impl ; - public final void rule__CollectionExpression__Group_2__1() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__4" + // InternalExpression.g:5379:1: rule__SwitchExpression__Group__4 : rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 ; + public final void rule__SwitchExpression__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5278:1: ( rule__CollectionExpression__Group_2__1__Impl ) - // InternalExpression.g:5279:2: rule__CollectionExpression__Group_2__1__Impl + // InternalExpression.g:5383:1: ( rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 ) + // InternalExpression.g:5384:2: rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 { + pushFollow(FOLLOW_7); + rule__SwitchExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group_2__1__Impl(); + rule__SwitchExpression__Group__5(); state._fsp--; if (state.failed) return ; @@ -17461,28 +19603,28 @@ public final void rule__CollectionExpression__Group_2__1() throws RecognitionExc } return ; } - // $ANTLR end "rule__CollectionExpression__Group_2__1" + // $ANTLR end "rule__SwitchExpression__Group__4" - // $ANTLR start "rule__CollectionExpression__Group_2__1__Impl" - // InternalExpression.g:5285:1: rule__CollectionExpression__Group_2__1__Impl : ( '|' ) ; - public final void rule__CollectionExpression__Group_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__4__Impl" + // InternalExpression.g:5391:1: rule__SwitchExpression__Group__4__Impl : ( 'default' ) ; + public final void rule__SwitchExpression__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5289:1: ( ( '|' ) ) - // InternalExpression.g:5290:1: ( '|' ) + // InternalExpression.g:5395:1: ( ( 'default' ) ) + // InternalExpression.g:5396:1: ( 'default' ) { - // InternalExpression.g:5290:1: ( '|' ) - // InternalExpression.g:5291:2: '|' + // InternalExpression.g:5396:1: ( 'default' ) + // InternalExpression.g:5397:2: 'default' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); + before(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } - match(input,53,FOLLOW_2); if (state.failed) return ; + match(input,75,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); + after(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } } @@ -17502,26 +19644,26 @@ public final void rule__CollectionExpression__Group_2__1__Impl() throws Recognit } return ; } - // $ANTLR end "rule__CollectionExpression__Group_2__1__Impl" - + // $ANTLR end "rule__SwitchExpression__Group__4__Impl" - // $ANTLR start "rule__CollectionType__Group__0" - // InternalExpression.g:5301:1: rule__CollectionType__Group__0 : rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 ; - public final void rule__CollectionType__Group__0() throws RecognitionException { + + // $ANTLR start "rule__SwitchExpression__Group__5" + // InternalExpression.g:5406:1: rule__SwitchExpression__Group__5 : rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 ; + public final void rule__SwitchExpression__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5305:1: ( rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 ) - // InternalExpression.g:5306:2: rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 + // InternalExpression.g:5410:1: ( rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 ) + // InternalExpression.g:5411:2: rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 { - pushFollow(FOLLOW_42); - rule__CollectionType__Group__0__Impl(); + pushFollow(FOLLOW_18); + rule__SwitchExpression__Group__5__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionType__Group__1(); + rule__SwitchExpression__Group__6(); state._fsp--; if (state.failed) return ; @@ -17540,38 +19682,28 @@ public final void rule__CollectionType__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__CollectionType__Group__0" + // $ANTLR end "rule__SwitchExpression__Group__5" - // $ANTLR start "rule__CollectionType__Group__0__Impl" - // InternalExpression.g:5313:1: rule__CollectionType__Group__0__Impl : ( ( rule__CollectionType__ClAssignment_0 ) ) ; - public final void rule__CollectionType__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__5__Impl" + // InternalExpression.g:5418:1: rule__SwitchExpression__Group__5__Impl : ( ':' ) ; + public final void rule__SwitchExpression__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5317:1: ( ( ( rule__CollectionType__ClAssignment_0 ) ) ) - // InternalExpression.g:5318:1: ( ( rule__CollectionType__ClAssignment_0 ) ) + // InternalExpression.g:5422:1: ( ( ':' ) ) + // InternalExpression.g:5423:1: ( ':' ) { - // InternalExpression.g:5318:1: ( ( rule__CollectionType__ClAssignment_0 ) ) - // InternalExpression.g:5319:2: ( rule__CollectionType__ClAssignment_0 ) + // InternalExpression.g:5423:1: ( ':' ) + // InternalExpression.g:5424:2: ':' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); - } - // InternalExpression.g:5320:2: ( rule__CollectionType__ClAssignment_0 ) - // InternalExpression.g:5320:3: rule__CollectionType__ClAssignment_0 - { - pushFollow(FOLLOW_2); - rule__CollectionType__ClAssignment_0(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } - + match(input,66,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); + after(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } } @@ -17591,26 +19723,26 @@ public final void rule__CollectionType__Group__0__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionType__Group__0__Impl" + // $ANTLR end "rule__SwitchExpression__Group__5__Impl" - // $ANTLR start "rule__CollectionType__Group__1" - // InternalExpression.g:5328:1: rule__CollectionType__Group__1 : rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 ; - public final void rule__CollectionType__Group__1() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__6" + // InternalExpression.g:5433:1: rule__SwitchExpression__Group__6 : rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 ; + public final void rule__SwitchExpression__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5332:1: ( rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 ) - // InternalExpression.g:5333:2: rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 + // InternalExpression.g:5437:1: ( rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 ) + // InternalExpression.g:5438:2: rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 { - pushFollow(FOLLOW_7); - rule__CollectionType__Group__1__Impl(); + pushFollow(FOLLOW_19); + rule__SwitchExpression__Group__6__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionType__Group__2(); + rule__SwitchExpression__Group__7(); state._fsp--; if (state.failed) return ; @@ -17629,28 +19761,38 @@ public final void rule__CollectionType__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__CollectionType__Group__1" + // $ANTLR end "rule__SwitchExpression__Group__6" - // $ANTLR start "rule__CollectionType__Group__1__Impl" - // InternalExpression.g:5340:1: rule__CollectionType__Group__1__Impl : ( '[' ) ; - public final void rule__CollectionType__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__6__Impl" + // InternalExpression.g:5445:1: rule__SwitchExpression__Group__6__Impl : ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) ; + public final void rule__SwitchExpression__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5344:1: ( ( '[' ) ) - // InternalExpression.g:5345:1: ( '[' ) + // InternalExpression.g:5449:1: ( ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) ) + // InternalExpression.g:5450:1: ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) { - // InternalExpression.g:5345:1: ( '[' ) - // InternalExpression.g:5346:2: '[' + // InternalExpression.g:5450:1: ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) + // InternalExpression.g:5451:2: ( rule__SwitchExpression__DefaultExprAssignment_6 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); + before(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); } - match(input,56,FOLLOW_2); if (state.failed) return ; + // InternalExpression.g:5452:2: ( rule__SwitchExpression__DefaultExprAssignment_6 ) + // InternalExpression.g:5452:3: rule__SwitchExpression__DefaultExprAssignment_6 + { + pushFollow(FOLLOW_2); + rule__SwitchExpression__DefaultExprAssignment_6(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); + after(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); } } @@ -17670,26 +19812,21 @@ public final void rule__CollectionType__Group__1__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionType__Group__1__Impl" + // $ANTLR end "rule__SwitchExpression__Group__6__Impl" - // $ANTLR start "rule__CollectionType__Group__2" - // InternalExpression.g:5355:1: rule__CollectionType__Group__2 : rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 ; - public final void rule__CollectionType__Group__2() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__7" + // InternalExpression.g:5460:1: rule__SwitchExpression__Group__7 : rule__SwitchExpression__Group__7__Impl ; + public final void rule__SwitchExpression__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5359:1: ( rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 ) - // InternalExpression.g:5360:2: rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 + // InternalExpression.g:5464:1: ( rule__SwitchExpression__Group__7__Impl ) + // InternalExpression.g:5465:2: rule__SwitchExpression__Group__7__Impl { - pushFollow(FOLLOW_43); - rule__CollectionType__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionType__Group__3(); + rule__SwitchExpression__Group__7__Impl(); state._fsp--; if (state.failed) return ; @@ -17708,38 +19845,28 @@ public final void rule__CollectionType__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__CollectionType__Group__2" + // $ANTLR end "rule__SwitchExpression__Group__7" - // $ANTLR start "rule__CollectionType__Group__2__Impl" - // InternalExpression.g:5367:1: rule__CollectionType__Group__2__Impl : ( ( rule__CollectionType__Id1Assignment_2 ) ) ; - public final void rule__CollectionType__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__7__Impl" + // InternalExpression.g:5471:1: rule__SwitchExpression__Group__7__Impl : ( '}' ) ; + public final void rule__SwitchExpression__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5371:1: ( ( ( rule__CollectionType__Id1Assignment_2 ) ) ) - // InternalExpression.g:5372:1: ( ( rule__CollectionType__Id1Assignment_2 ) ) + // InternalExpression.g:5475:1: ( ( '}' ) ) + // InternalExpression.g:5476:1: ( '}' ) { - // InternalExpression.g:5372:1: ( ( rule__CollectionType__Id1Assignment_2 ) ) - // InternalExpression.g:5373:2: ( rule__CollectionType__Id1Assignment_2 ) + // InternalExpression.g:5476:1: ( '}' ) + // InternalExpression.g:5477:2: '}' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); - } - // InternalExpression.g:5374:2: ( rule__CollectionType__Id1Assignment_2 ) - // InternalExpression.g:5374:3: rule__CollectionType__Id1Assignment_2 - { - pushFollow(FOLLOW_2); - rule__CollectionType__Id1Assignment_2(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } - + match(input,76,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); + after(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } } @@ -17759,21 +19886,26 @@ public final void rule__CollectionType__Group__2__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionType__Group__2__Impl" + // $ANTLR end "rule__SwitchExpression__Group__7__Impl" - // $ANTLR start "rule__CollectionType__Group__3" - // InternalExpression.g:5382:1: rule__CollectionType__Group__3 : rule__CollectionType__Group__3__Impl ; - public final void rule__CollectionType__Group__3() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__0" + // InternalExpression.g:5487:1: rule__SwitchExpression__Group_1__0 : rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 ; + public final void rule__SwitchExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5386:1: ( rule__CollectionType__Group__3__Impl ) - // InternalExpression.g:5387:2: rule__CollectionType__Group__3__Impl + // InternalExpression.g:5491:1: ( rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 ) + // InternalExpression.g:5492:2: rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 { + pushFollow(FOLLOW_18); + rule__SwitchExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionType__Group__3__Impl(); + rule__SwitchExpression__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -17792,28 +19924,28 @@ public final void rule__CollectionType__Group__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__CollectionType__Group__3" + // $ANTLR end "rule__SwitchExpression__Group_1__0" - // $ANTLR start "rule__CollectionType__Group__3__Impl" - // InternalExpression.g:5393:1: rule__CollectionType__Group__3__Impl : ( ']' ) ; - public final void rule__CollectionType__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__0__Impl" + // InternalExpression.g:5499:1: rule__SwitchExpression__Group_1__0__Impl : ( '(' ) ; + public final void rule__SwitchExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5397:1: ( ( ']' ) ) - // InternalExpression.g:5398:1: ( ']' ) + // InternalExpression.g:5503:1: ( ( '(' ) ) + // InternalExpression.g:5504:1: ( '(' ) { - // InternalExpression.g:5398:1: ( ']' ) - // InternalExpression.g:5399:2: ']' + // InternalExpression.g:5504:1: ( '(' ) + // InternalExpression.g:5505:2: '(' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); + before(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } - match(input,57,FOLLOW_2); if (state.failed) return ; + match(input,67,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); + after(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } } @@ -17833,26 +19965,26 @@ public final void rule__CollectionType__Group__3__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionType__Group__3__Impl" + // $ANTLR end "rule__SwitchExpression__Group_1__0__Impl" - // $ANTLR start "rule__SimpleType__Group__0" - // InternalExpression.g:5409:1: rule__SimpleType__Group__0 : rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 ; - public final void rule__SimpleType__Group__0() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__1" + // InternalExpression.g:5514:1: rule__SwitchExpression__Group_1__1 : rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 ; + public final void rule__SwitchExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5413:1: ( rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 ) - // InternalExpression.g:5414:2: rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 + // InternalExpression.g:5518:1: ( rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 ) + // InternalExpression.g:5519:2: rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 { - pushFollow(FOLLOW_44); - rule__SimpleType__Group__0__Impl(); + pushFollow(FOLLOW_9); + rule__SwitchExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SimpleType__Group__1(); + rule__SwitchExpression__Group_1__2(); state._fsp--; if (state.failed) return ; @@ -17871,30 +20003,30 @@ public final void rule__SimpleType__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__SimpleType__Group__0" + // $ANTLR end "rule__SwitchExpression__Group_1__1" - // $ANTLR start "rule__SimpleType__Group__0__Impl" - // InternalExpression.g:5421:1: rule__SimpleType__Group__0__Impl : ( ( rule__SimpleType__IdAssignment_0 ) ) ; - public final void rule__SimpleType__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__1__Impl" + // InternalExpression.g:5526:1: rule__SwitchExpression__Group_1__1__Impl : ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) ; + public final void rule__SwitchExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5425:1: ( ( ( rule__SimpleType__IdAssignment_0 ) ) ) - // InternalExpression.g:5426:1: ( ( rule__SimpleType__IdAssignment_0 ) ) + // InternalExpression.g:5530:1: ( ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) ) + // InternalExpression.g:5531:1: ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) { - // InternalExpression.g:5426:1: ( ( rule__SimpleType__IdAssignment_0 ) ) - // InternalExpression.g:5427:2: ( rule__SimpleType__IdAssignment_0 ) + // InternalExpression.g:5531:1: ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) + // InternalExpression.g:5532:2: ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); + before(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } - // InternalExpression.g:5428:2: ( rule__SimpleType__IdAssignment_0 ) - // InternalExpression.g:5428:3: rule__SimpleType__IdAssignment_0 + // InternalExpression.g:5533:2: ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) + // InternalExpression.g:5533:3: rule__SwitchExpression__SwitchExprAssignment_1_1 { pushFollow(FOLLOW_2); - rule__SimpleType__IdAssignment_0(); + rule__SwitchExpression__SwitchExprAssignment_1_1(); state._fsp--; if (state.failed) return ; @@ -17902,7 +20034,7 @@ public final void rule__SimpleType__Group__0__Impl() throws RecognitionException } if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); + after(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } } @@ -17922,21 +20054,21 @@ public final void rule__SimpleType__Group__0__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__SimpleType__Group__0__Impl" + // $ANTLR end "rule__SwitchExpression__Group_1__1__Impl" - // $ANTLR start "rule__SimpleType__Group__1" - // InternalExpression.g:5436:1: rule__SimpleType__Group__1 : rule__SimpleType__Group__1__Impl ; - public final void rule__SimpleType__Group__1() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__2" + // InternalExpression.g:5541:1: rule__SwitchExpression__Group_1__2 : rule__SwitchExpression__Group_1__2__Impl ; + public final void rule__SwitchExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5440:1: ( rule__SimpleType__Group__1__Impl ) - // InternalExpression.g:5441:2: rule__SimpleType__Group__1__Impl + // InternalExpression.g:5545:1: ( rule__SwitchExpression__Group_1__2__Impl ) + // InternalExpression.g:5546:2: rule__SwitchExpression__Group_1__2__Impl { pushFollow(FOLLOW_2); - rule__SimpleType__Group__1__Impl(); + rule__SwitchExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; @@ -17955,56 +20087,28 @@ public final void rule__SimpleType__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__SimpleType__Group__1" + // $ANTLR end "rule__SwitchExpression__Group_1__2" - // $ANTLR start "rule__SimpleType__Group__1__Impl" - // InternalExpression.g:5447:1: rule__SimpleType__Group__1__Impl : ( ( rule__SimpleType__Group_1__0 )* ) ; - public final void rule__SimpleType__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__2__Impl" + // InternalExpression.g:5552:1: rule__SwitchExpression__Group_1__2__Impl : ( ')' ) ; + public final void rule__SwitchExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5451:1: ( ( ( rule__SimpleType__Group_1__0 )* ) ) - // InternalExpression.g:5452:1: ( ( rule__SimpleType__Group_1__0 )* ) + // InternalExpression.g:5556:1: ( ( ')' ) ) + // InternalExpression.g:5557:1: ( ')' ) { - // InternalExpression.g:5452:1: ( ( rule__SimpleType__Group_1__0 )* ) - // InternalExpression.g:5453:2: ( rule__SimpleType__Group_1__0 )* + // InternalExpression.g:5557:1: ( ')' ) + // InternalExpression.g:5558:2: ')' { if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getGroup_1()); + before(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } - // InternalExpression.g:5454:2: ( rule__SimpleType__Group_1__0 )* - loop37: - do { - int alt37=2; - int LA37_0 = input.LA(1); - - if ( (LA37_0==58) ) { - alt37=1; - } - - - switch (alt37) { - case 1 : - // InternalExpression.g:5454:3: rule__SimpleType__Group_1__0 - { - pushFollow(FOLLOW_45); - rule__SimpleType__Group_1__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop37; - } - } while (true); - + match(input,68,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getGroup_1()); + after(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } } @@ -18024,26 +20128,26 @@ public final void rule__SimpleType__Group__1__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__SimpleType__Group__1__Impl" + // $ANTLR end "rule__SwitchExpression__Group_1__2__Impl" - // $ANTLR start "rule__SimpleType__Group_1__0" - // InternalExpression.g:5463:1: rule__SimpleType__Group_1__0 : rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 ; - public final void rule__SimpleType__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__Case__Group__0" + // InternalExpression.g:5568:1: rule__Case__Group__0 : rule__Case__Group__0__Impl rule__Case__Group__1 ; + public final void rule__Case__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5467:1: ( rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 ) - // InternalExpression.g:5468:2: rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 + // InternalExpression.g:5572:1: ( rule__Case__Group__0__Impl rule__Case__Group__1 ) + // InternalExpression.g:5573:2: rule__Case__Group__0__Impl rule__Case__Group__1 { - pushFollow(FOLLOW_3); - rule__SimpleType__Group_1__0__Impl(); + pushFollow(FOLLOW_18); + rule__Case__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SimpleType__Group_1__1(); + rule__Case__Group__1(); state._fsp--; if (state.failed) return ; @@ -18062,28 +20166,28 @@ public final void rule__SimpleType__Group_1__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__SimpleType__Group_1__0" + // $ANTLR end "rule__Case__Group__0" - // $ANTLR start "rule__SimpleType__Group_1__0__Impl" - // InternalExpression.g:5475:1: rule__SimpleType__Group_1__0__Impl : ( '::' ) ; - public final void rule__SimpleType__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Case__Group__0__Impl" + // InternalExpression.g:5580:1: rule__Case__Group__0__Impl : ( 'case' ) ; + public final void rule__Case__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5479:1: ( ( '::' ) ) - // InternalExpression.g:5480:1: ( '::' ) + // InternalExpression.g:5584:1: ( ( 'case' ) ) + // InternalExpression.g:5585:1: ( 'case' ) { - // InternalExpression.g:5480:1: ( '::' ) - // InternalExpression.g:5481:2: '::' + // InternalExpression.g:5585:1: ( 'case' ) + // InternalExpression.g:5586:2: 'case' { if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); + before(grammarAccess.getCaseAccess().getCaseKeyword_0()); } - match(input,58,FOLLOW_2); if (state.failed) return ; + match(input,77,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); + after(grammarAccess.getCaseAccess().getCaseKeyword_0()); } } @@ -18103,21 +20207,26 @@ public final void rule__SimpleType__Group_1__0__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__SimpleType__Group_1__0__Impl" + // $ANTLR end "rule__Case__Group__0__Impl" - // $ANTLR start "rule__SimpleType__Group_1__1" - // InternalExpression.g:5490:1: rule__SimpleType__Group_1__1 : rule__SimpleType__Group_1__1__Impl ; - public final void rule__SimpleType__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__Case__Group__1" + // InternalExpression.g:5595:1: rule__Case__Group__1 : rule__Case__Group__1__Impl rule__Case__Group__2 ; + public final void rule__Case__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5494:1: ( rule__SimpleType__Group_1__1__Impl ) - // InternalExpression.g:5495:2: rule__SimpleType__Group_1__1__Impl + // InternalExpression.g:5599:1: ( rule__Case__Group__1__Impl rule__Case__Group__2 ) + // InternalExpression.g:5600:2: rule__Case__Group__1__Impl rule__Case__Group__2 { + pushFollow(FOLLOW_7); + rule__Case__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SimpleType__Group_1__1__Impl(); + rule__Case__Group__2(); state._fsp--; if (state.failed) return ; @@ -18136,30 +20245,30 @@ public final void rule__SimpleType__Group_1__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__SimpleType__Group_1__1" + // $ANTLR end "rule__Case__Group__1" - // $ANTLR start "rule__SimpleType__Group_1__1__Impl" - // InternalExpression.g:5501:1: rule__SimpleType__Group_1__1__Impl : ( ( rule__SimpleType__IdAssignment_1_1 ) ) ; - public final void rule__SimpleType__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Case__Group__1__Impl" + // InternalExpression.g:5607:1: rule__Case__Group__1__Impl : ( ( rule__Case__ConditionAssignment_1 ) ) ; + public final void rule__Case__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5505:1: ( ( ( rule__SimpleType__IdAssignment_1_1 ) ) ) - // InternalExpression.g:5506:1: ( ( rule__SimpleType__IdAssignment_1_1 ) ) + // InternalExpression.g:5611:1: ( ( ( rule__Case__ConditionAssignment_1 ) ) ) + // InternalExpression.g:5612:1: ( ( rule__Case__ConditionAssignment_1 ) ) { - // InternalExpression.g:5506:1: ( ( rule__SimpleType__IdAssignment_1_1 ) ) - // InternalExpression.g:5507:2: ( rule__SimpleType__IdAssignment_1_1 ) + // InternalExpression.g:5612:1: ( ( rule__Case__ConditionAssignment_1 ) ) + // InternalExpression.g:5613:2: ( rule__Case__ConditionAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); + before(grammarAccess.getCaseAccess().getConditionAssignment_1()); } - // InternalExpression.g:5508:2: ( rule__SimpleType__IdAssignment_1_1 ) - // InternalExpression.g:5508:3: rule__SimpleType__IdAssignment_1_1 + // InternalExpression.g:5614:2: ( rule__Case__ConditionAssignment_1 ) + // InternalExpression.g:5614:3: rule__Case__ConditionAssignment_1 { pushFollow(FOLLOW_2); - rule__SimpleType__IdAssignment_1_1(); + rule__Case__ConditionAssignment_1(); state._fsp--; if (state.failed) return ; @@ -18167,7 +20276,7 @@ public final void rule__SimpleType__Group_1__1__Impl() throws RecognitionExcepti } if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); + after(grammarAccess.getCaseAccess().getConditionAssignment_1()); } } @@ -18187,36 +20296,29 @@ public final void rule__SimpleType__Group_1__1__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__SimpleType__Group_1__1__Impl" + // $ANTLR end "rule__Case__Group__1__Impl" - // $ANTLR start "rule__LetExpression__IdentifierAssignment_1" - // InternalExpression.g:5517:1: rule__LetExpression__IdentifierAssignment_1 : ( ruleIdentifier ) ; - public final void rule__LetExpression__IdentifierAssignment_1() throws RecognitionException { + // $ANTLR start "rule__Case__Group__2" + // InternalExpression.g:5622:1: rule__Case__Group__2 : rule__Case__Group__2__Impl rule__Case__Group__3 ; + public final void rule__Case__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5521:1: ( ( ruleIdentifier ) ) - // InternalExpression.g:5522:2: ( ruleIdentifier ) + // InternalExpression.g:5626:1: ( rule__Case__Group__2__Impl rule__Case__Group__3 ) + // InternalExpression.g:5627:2: rule__Case__Group__2__Impl rule__Case__Group__3 { - // InternalExpression.g:5522:2: ( ruleIdentifier ) - // InternalExpression.g:5523:3: ruleIdentifier - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); - } - pushFollow(FOLLOW_2); - ruleIdentifier(); + pushFollow(FOLLOW_18); + rule__Case__Group__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__Case__Group__3(); + state._fsp--; + if (state.failed) return ; } @@ -18232,32 +20334,28 @@ public final void rule__LetExpression__IdentifierAssignment_1() throws Recogniti } return ; } - // $ANTLR end "rule__LetExpression__IdentifierAssignment_1" + // $ANTLR end "rule__Case__Group__2" - // $ANTLR start "rule__LetExpression__VarExprAssignment_3" - // InternalExpression.g:5532:1: rule__LetExpression__VarExprAssignment_3 : ( ruleExpression ) ; - public final void rule__LetExpression__VarExprAssignment_3() throws RecognitionException { + // $ANTLR start "rule__Case__Group__2__Impl" + // InternalExpression.g:5634:1: rule__Case__Group__2__Impl : ( ':' ) ; + public final void rule__Case__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5536:1: ( ( ruleExpression ) ) - // InternalExpression.g:5537:2: ( ruleExpression ) + // InternalExpression.g:5638:1: ( ( ':' ) ) + // InternalExpression.g:5639:1: ( ':' ) { - // InternalExpression.g:5537:2: ( ruleExpression ) - // InternalExpression.g:5538:3: ruleExpression + // InternalExpression.g:5639:1: ( ':' ) + // InternalExpression.g:5640:2: ':' { if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); + before(grammarAccess.getCaseAccess().getColonKeyword_2()); } - pushFollow(FOLLOW_2); - ruleExpression(); - - state._fsp--; - if (state.failed) return ; + match(input,66,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); + after(grammarAccess.getCaseAccess().getColonKeyword_2()); } } @@ -18277,36 +20375,24 @@ public final void rule__LetExpression__VarExprAssignment_3() throws RecognitionE } return ; } - // $ANTLR end "rule__LetExpression__VarExprAssignment_3" + // $ANTLR end "rule__Case__Group__2__Impl" - // $ANTLR start "rule__LetExpression__TargetAssignment_5" - // InternalExpression.g:5547:1: rule__LetExpression__TargetAssignment_5 : ( ruleExpression ) ; - public final void rule__LetExpression__TargetAssignment_5() throws RecognitionException { + // $ANTLR start "rule__Case__Group__3" + // InternalExpression.g:5649:1: rule__Case__Group__3 : rule__Case__Group__3__Impl ; + public final void rule__Case__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5551:1: ( ( ruleExpression ) ) - // InternalExpression.g:5552:2: ( ruleExpression ) + // InternalExpression.g:5653:1: ( rule__Case__Group__3__Impl ) + // InternalExpression.g:5654:2: rule__Case__Group__3__Impl { - // InternalExpression.g:5552:2: ( ruleExpression ) - // InternalExpression.g:5553:3: ruleExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); - } pushFollow(FOLLOW_2); - ruleExpression(); + rule__Case__Group__3__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); - } - - } - } @@ -18322,32 +20408,38 @@ public final void rule__LetExpression__TargetAssignment_5() throws RecognitionEx } return ; } - // $ANTLR end "rule__LetExpression__TargetAssignment_5" + // $ANTLR end "rule__Case__Group__3" - // $ANTLR start "rule__CastedExpression__TypeAssignment_1" - // InternalExpression.g:5562:1: rule__CastedExpression__TypeAssignment_1 : ( ruleType ) ; - public final void rule__CastedExpression__TypeAssignment_1() throws RecognitionException { + // $ANTLR start "rule__Case__Group__3__Impl" + // InternalExpression.g:5660:1: rule__Case__Group__3__Impl : ( ( rule__Case__ThenParAssignment_3 ) ) ; + public final void rule__Case__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5566:1: ( ( ruleType ) ) - // InternalExpression.g:5567:2: ( ruleType ) + // InternalExpression.g:5664:1: ( ( ( rule__Case__ThenParAssignment_3 ) ) ) + // InternalExpression.g:5665:1: ( ( rule__Case__ThenParAssignment_3 ) ) { - // InternalExpression.g:5567:2: ( ruleType ) - // InternalExpression.g:5568:3: ruleType + // InternalExpression.g:5665:1: ( ( rule__Case__ThenParAssignment_3 ) ) + // InternalExpression.g:5666:2: ( rule__Case__ThenParAssignment_3 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); + before(grammarAccess.getCaseAccess().getThenParAssignment_3()); } + // InternalExpression.g:5667:2: ( rule__Case__ThenParAssignment_3 ) + // InternalExpression.g:5667:3: rule__Case__ThenParAssignment_3 + { pushFollow(FOLLOW_2); - ruleType(); + rule__Case__ThenParAssignment_3(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); + after(grammarAccess.getCaseAccess().getThenParAssignment_3()); } } @@ -18367,36 +20459,29 @@ public final void rule__CastedExpression__TypeAssignment_1() throws RecognitionE } return ; } - // $ANTLR end "rule__CastedExpression__TypeAssignment_1" + // $ANTLR end "rule__Case__Group__3__Impl" - // $ANTLR start "rule__CastedExpression__TargetAssignment_3" - // InternalExpression.g:5577:1: rule__CastedExpression__TargetAssignment_3 : ( ruleExpression ) ; - public final void rule__CastedExpression__TargetAssignment_3() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group__0" + // InternalExpression.g:5676:1: rule__OrExpression__Group__0 : rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 ; + public final void rule__OrExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5581:1: ( ( ruleExpression ) ) - // InternalExpression.g:5582:2: ( ruleExpression ) + // InternalExpression.g:5680:1: ( rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 ) + // InternalExpression.g:5681:2: rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 { - // InternalExpression.g:5582:2: ( ruleExpression ) - // InternalExpression.g:5583:3: ruleExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); + pushFollow(FOLLOW_20); + rule__OrExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); - } - - } + pushFollow(FOLLOW_2); + rule__OrExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -18412,32 +20497,32 @@ public final void rule__CastedExpression__TargetAssignment_3() throws Recognitio } return ; } - // $ANTLR end "rule__CastedExpression__TargetAssignment_3" + // $ANTLR end "rule__OrExpression__Group__0" - // $ANTLR start "rule__ChainExpression__NextAssignment_1_2" - // InternalExpression.g:5592:1: rule__ChainExpression__NextAssignment_1_2 : ( ruleChainedExpression ) ; - public final void rule__ChainExpression__NextAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group__0__Impl" + // InternalExpression.g:5688:1: rule__OrExpression__Group__0__Impl : ( ruleAndExpression ) ; + public final void rule__OrExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5596:1: ( ( ruleChainedExpression ) ) - // InternalExpression.g:5597:2: ( ruleChainedExpression ) + // InternalExpression.g:5692:1: ( ( ruleAndExpression ) ) + // InternalExpression.g:5693:1: ( ruleAndExpression ) { - // InternalExpression.g:5597:2: ( ruleChainedExpression ) - // InternalExpression.g:5598:3: ruleChainedExpression + // InternalExpression.g:5693:1: ( ruleAndExpression ) + // InternalExpression.g:5694:2: ruleAndExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); + before(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } pushFollow(FOLLOW_2); - ruleChainedExpression(); + ruleAndExpression(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); + after(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } } @@ -18457,36 +20542,24 @@ public final void rule__ChainExpression__NextAssignment_1_2() throws Recognition } return ; } - // $ANTLR end "rule__ChainExpression__NextAssignment_1_2" + // $ANTLR end "rule__OrExpression__Group__0__Impl" - // $ANTLR start "rule__IfExpressionTri__ThenPartAssignment_1_2" - // InternalExpression.g:5607:1: rule__IfExpressionTri__ThenPartAssignment_1_2 : ( ruleChainedExpression ) ; - public final void rule__IfExpressionTri__ThenPartAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group__1" + // InternalExpression.g:5703:1: rule__OrExpression__Group__1 : rule__OrExpression__Group__1__Impl ; + public final void rule__OrExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5611:1: ( ( ruleChainedExpression ) ) - // InternalExpression.g:5612:2: ( ruleChainedExpression ) + // InternalExpression.g:5707:1: ( rule__OrExpression__Group__1__Impl ) + // InternalExpression.g:5708:2: rule__OrExpression__Group__1__Impl { - // InternalExpression.g:5612:2: ( ruleChainedExpression ) - // InternalExpression.g:5613:3: ruleChainedExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); - } pushFollow(FOLLOW_2); - ruleChainedExpression(); + rule__OrExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); - } - - } - } @@ -18502,32 +20575,56 @@ public final void rule__IfExpressionTri__ThenPartAssignment_1_2() throws Recogni } return ; } - // $ANTLR end "rule__IfExpressionTri__ThenPartAssignment_1_2" + // $ANTLR end "rule__OrExpression__Group__1" - // $ANTLR start "rule__IfExpressionTri__ElsePartAssignment_1_4" - // InternalExpression.g:5622:1: rule__IfExpressionTri__ElsePartAssignment_1_4 : ( ruleChainedExpression ) ; - public final void rule__IfExpressionTri__ElsePartAssignment_1_4() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group__1__Impl" + // InternalExpression.g:5714:1: rule__OrExpression__Group__1__Impl : ( ( rule__OrExpression__Group_1__0 )* ) ; + public final void rule__OrExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5626:1: ( ( ruleChainedExpression ) ) - // InternalExpression.g:5627:2: ( ruleChainedExpression ) + // InternalExpression.g:5718:1: ( ( ( rule__OrExpression__Group_1__0 )* ) ) + // InternalExpression.g:5719:1: ( ( rule__OrExpression__Group_1__0 )* ) { - // InternalExpression.g:5627:2: ( ruleChainedExpression ) - // InternalExpression.g:5628:3: ruleChainedExpression + // InternalExpression.g:5719:1: ( ( rule__OrExpression__Group_1__0 )* ) + // InternalExpression.g:5720:2: ( rule__OrExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); + before(grammarAccess.getOrExpressionAccess().getGroup_1()); } - pushFollow(FOLLOW_2); - ruleChainedExpression(); + // InternalExpression.g:5721:2: ( rule__OrExpression__Group_1__0 )* + loop62: + do { + int alt62=2; + int LA62_0 = input.LA(1); + + if ( (LA62_0==15) ) { + alt62=1; + } + + + switch (alt62) { + case 1 : + // InternalExpression.g:5721:3: rule__OrExpression__Group_1__0 + { + pushFollow(FOLLOW_21); + rule__OrExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop62; + } + } while (true); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); + after(grammarAccess.getOrExpressionAccess().getGroup_1()); } } @@ -18547,36 +20644,29 @@ public final void rule__IfExpressionTri__ElsePartAssignment_1_4() throws Recogni } return ; } - // $ANTLR end "rule__IfExpressionTri__ElsePartAssignment_1_4" + // $ANTLR end "rule__OrExpression__Group__1__Impl" - // $ANTLR start "rule__IfExpressionKw__ConditionAssignment_1" - // InternalExpression.g:5637:1: rule__IfExpressionKw__ConditionAssignment_1 : ( ruleChainedExpression ) ; - public final void rule__IfExpressionKw__ConditionAssignment_1() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__0" + // InternalExpression.g:5730:1: rule__OrExpression__Group_1__0 : rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 ; + public final void rule__OrExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5641:1: ( ( ruleChainedExpression ) ) - // InternalExpression.g:5642:2: ( ruleChainedExpression ) + // InternalExpression.g:5734:1: ( rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 ) + // InternalExpression.g:5735:2: rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 { - // InternalExpression.g:5642:2: ( ruleChainedExpression ) - // InternalExpression.g:5643:3: ruleChainedExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); - } - pushFollow(FOLLOW_2); - ruleChainedExpression(); + pushFollow(FOLLOW_20); + rule__OrExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__OrExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -18592,32 +20682,32 @@ public final void rule__IfExpressionKw__ConditionAssignment_1() throws Recogniti } return ; } - // $ANTLR end "rule__IfExpressionKw__ConditionAssignment_1" + // $ANTLR end "rule__OrExpression__Group_1__0" - // $ANTLR start "rule__IfExpressionKw__ThenPartAssignment_3" - // InternalExpression.g:5652:1: rule__IfExpressionKw__ThenPartAssignment_3 : ( ruleChainedExpression ) ; - public final void rule__IfExpressionKw__ThenPartAssignment_3() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__0__Impl" + // InternalExpression.g:5742:1: rule__OrExpression__Group_1__0__Impl : ( () ) ; + public final void rule__OrExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5656:1: ( ( ruleChainedExpression ) ) - // InternalExpression.g:5657:2: ( ruleChainedExpression ) + // InternalExpression.g:5746:1: ( ( () ) ) + // InternalExpression.g:5747:1: ( () ) { - // InternalExpression.g:5657:2: ( ruleChainedExpression ) - // InternalExpression.g:5658:3: ruleChainedExpression + // InternalExpression.g:5747:1: ( () ) + // InternalExpression.g:5748:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); + before(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); + } + // InternalExpression.g:5749:2: () + // InternalExpression.g:5749:3: + { } - pushFollow(FOLLOW_2); - ruleChainedExpression(); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); + after(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); } } @@ -18626,10 +20716,6 @@ public final void rule__IfExpressionKw__ThenPartAssignment_3() throws Recognitio } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -18637,36 +20723,29 @@ public final void rule__IfExpressionKw__ThenPartAssignment_3() throws Recognitio } return ; } - // $ANTLR end "rule__IfExpressionKw__ThenPartAssignment_3" + // $ANTLR end "rule__OrExpression__Group_1__0__Impl" - // $ANTLR start "rule__IfExpressionKw__ElsePartAssignment_4_0_1" - // InternalExpression.g:5667:1: rule__IfExpressionKw__ElsePartAssignment_4_0_1 : ( ruleChainedExpression ) ; - public final void rule__IfExpressionKw__ElsePartAssignment_4_0_1() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__1" + // InternalExpression.g:5757:1: rule__OrExpression__Group_1__1 : rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 ; + public final void rule__OrExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5671:1: ( ( ruleChainedExpression ) ) - // InternalExpression.g:5672:2: ( ruleChainedExpression ) + // InternalExpression.g:5761:1: ( rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 ) + // InternalExpression.g:5762:2: rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 { - // InternalExpression.g:5672:2: ( ruleChainedExpression ) - // InternalExpression.g:5673:3: ruleChainedExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); - } - pushFollow(FOLLOW_2); - ruleChainedExpression(); + pushFollow(FOLLOW_18); + rule__OrExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__OrExpression__Group_1__2(); + state._fsp--; + if (state.failed) return ; } @@ -18682,32 +20761,38 @@ public final void rule__IfExpressionKw__ElsePartAssignment_4_0_1() throws Recogn } return ; } - // $ANTLR end "rule__IfExpressionKw__ElsePartAssignment_4_0_1" + // $ANTLR end "rule__OrExpression__Group_1__1" - // $ANTLR start "rule__SwitchExpression__SwitchExprAssignment_1_1" - // InternalExpression.g:5682:1: rule__SwitchExpression__SwitchExprAssignment_1_1 : ( ruleOrExpression ) ; - public final void rule__SwitchExpression__SwitchExprAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__1__Impl" + // InternalExpression.g:5769:1: rule__OrExpression__Group_1__1__Impl : ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) ; + public final void rule__OrExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5686:1: ( ( ruleOrExpression ) ) - // InternalExpression.g:5687:2: ( ruleOrExpression ) + // InternalExpression.g:5773:1: ( ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) ) + // InternalExpression.g:5774:1: ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) { - // InternalExpression.g:5687:2: ( ruleOrExpression ) - // InternalExpression.g:5688:3: ruleOrExpression + // InternalExpression.g:5774:1: ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) + // InternalExpression.g:5775:2: ( rule__OrExpression__OperatorAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); + before(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } + // InternalExpression.g:5776:2: ( rule__OrExpression__OperatorAssignment_1_1 ) + // InternalExpression.g:5776:3: rule__OrExpression__OperatorAssignment_1_1 + { pushFollow(FOLLOW_2); - ruleOrExpression(); + rule__OrExpression__OperatorAssignment_1_1(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); + after(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } } @@ -18727,36 +20812,24 @@ public final void rule__SwitchExpression__SwitchExprAssignment_1_1() throws Reco } return ; } - // $ANTLR end "rule__SwitchExpression__SwitchExprAssignment_1_1" + // $ANTLR end "rule__OrExpression__Group_1__1__Impl" - // $ANTLR start "rule__SwitchExpression__CaseAssignment_3" - // InternalExpression.g:5697:1: rule__SwitchExpression__CaseAssignment_3 : ( ruleCase ) ; - public final void rule__SwitchExpression__CaseAssignment_3() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__2" + // InternalExpression.g:5784:1: rule__OrExpression__Group_1__2 : rule__OrExpression__Group_1__2__Impl ; + public final void rule__OrExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5701:1: ( ( ruleCase ) ) - // InternalExpression.g:5702:2: ( ruleCase ) - { - // InternalExpression.g:5702:2: ( ruleCase ) - // InternalExpression.g:5703:3: ruleCase + // InternalExpression.g:5788:1: ( rule__OrExpression__Group_1__2__Impl ) + // InternalExpression.g:5789:2: rule__OrExpression__Group_1__2__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); - } pushFollow(FOLLOW_2); - ruleCase(); + rule__OrExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); - } - - } - } @@ -18772,32 +20845,38 @@ public final void rule__SwitchExpression__CaseAssignment_3() throws RecognitionE } return ; } - // $ANTLR end "rule__SwitchExpression__CaseAssignment_3" + // $ANTLR end "rule__OrExpression__Group_1__2" - // $ANTLR start "rule__SwitchExpression__DefaultExprAssignment_6" - // InternalExpression.g:5712:1: rule__SwitchExpression__DefaultExprAssignment_6 : ( ruleOrExpression ) ; - public final void rule__SwitchExpression__DefaultExprAssignment_6() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__2__Impl" + // InternalExpression.g:5795:1: rule__OrExpression__Group_1__2__Impl : ( ( rule__OrExpression__RightAssignment_1_2 ) ) ; + public final void rule__OrExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5716:1: ( ( ruleOrExpression ) ) - // InternalExpression.g:5717:2: ( ruleOrExpression ) + // InternalExpression.g:5799:1: ( ( ( rule__OrExpression__RightAssignment_1_2 ) ) ) + // InternalExpression.g:5800:1: ( ( rule__OrExpression__RightAssignment_1_2 ) ) { - // InternalExpression.g:5717:2: ( ruleOrExpression ) - // InternalExpression.g:5718:3: ruleOrExpression + // InternalExpression.g:5800:1: ( ( rule__OrExpression__RightAssignment_1_2 ) ) + // InternalExpression.g:5801:2: ( rule__OrExpression__RightAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); + before(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } + // InternalExpression.g:5802:2: ( rule__OrExpression__RightAssignment_1_2 ) + // InternalExpression.g:5802:3: rule__OrExpression__RightAssignment_1_2 + { pushFollow(FOLLOW_2); - ruleOrExpression(); + rule__OrExpression__RightAssignment_1_2(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); + after(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } } @@ -18817,36 +20896,29 @@ public final void rule__SwitchExpression__DefaultExprAssignment_6() throws Recog } return ; } - // $ANTLR end "rule__SwitchExpression__DefaultExprAssignment_6" + // $ANTLR end "rule__OrExpression__Group_1__2__Impl" - // $ANTLR start "rule__Case__ConditionAssignment_1" - // InternalExpression.g:5727:1: rule__Case__ConditionAssignment_1 : ( ruleOrExpression ) ; - public final void rule__Case__ConditionAssignment_1() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group__0" + // InternalExpression.g:5811:1: rule__AndExpression__Group__0 : rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 ; + public final void rule__AndExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5731:1: ( ( ruleOrExpression ) ) - // InternalExpression.g:5732:2: ( ruleOrExpression ) - { - // InternalExpression.g:5732:2: ( ruleOrExpression ) - // InternalExpression.g:5733:3: ruleOrExpression + // InternalExpression.g:5815:1: ( rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 ) + // InternalExpression.g:5816:2: rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); - } + pushFollow(FOLLOW_22); + rule__AndExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - ruleOrExpression(); + rule__AndExpression__Group__1(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); - } - - } - } @@ -18862,32 +20934,32 @@ public final void rule__Case__ConditionAssignment_1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__Case__ConditionAssignment_1" + // $ANTLR end "rule__AndExpression__Group__0" - // $ANTLR start "rule__Case__ThenParAssignment_3" - // InternalExpression.g:5742:1: rule__Case__ThenParAssignment_3 : ( ruleOrExpression ) ; - public final void rule__Case__ThenParAssignment_3() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group__0__Impl" + // InternalExpression.g:5823:1: rule__AndExpression__Group__0__Impl : ( ruleImpliesExpression ) ; + public final void rule__AndExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5746:1: ( ( ruleOrExpression ) ) - // InternalExpression.g:5747:2: ( ruleOrExpression ) + // InternalExpression.g:5827:1: ( ( ruleImpliesExpression ) ) + // InternalExpression.g:5828:1: ( ruleImpliesExpression ) { - // InternalExpression.g:5747:2: ( ruleOrExpression ) - // InternalExpression.g:5748:3: ruleOrExpression + // InternalExpression.g:5828:1: ( ruleImpliesExpression ) + // InternalExpression.g:5829:2: ruleImpliesExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); + before(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } pushFollow(FOLLOW_2); - ruleOrExpression(); + ruleImpliesExpression(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); + after(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } } @@ -18907,44 +20979,24 @@ public final void rule__Case__ThenParAssignment_3() throws RecognitionException } return ; } - // $ANTLR end "rule__Case__ThenParAssignment_3" + // $ANTLR end "rule__AndExpression__Group__0__Impl" - // $ANTLR start "rule__OrExpression__OperatorAssignment_1_1" - // InternalExpression.g:5757:1: rule__OrExpression__OperatorAssignment_1_1 : ( ( '||' ) ) ; - public final void rule__OrExpression__OperatorAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group__1" + // InternalExpression.g:5838:1: rule__AndExpression__Group__1 : rule__AndExpression__Group__1__Impl ; + public final void rule__AndExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5761:1: ( ( ( '||' ) ) ) - // InternalExpression.g:5762:2: ( ( '||' ) ) - { - // InternalExpression.g:5762:2: ( ( '||' ) ) - // InternalExpression.g:5763:3: ( '||' ) + // InternalExpression.g:5842:1: ( rule__AndExpression__Group__1__Impl ) + // InternalExpression.g:5843:2: rule__AndExpression__Group__1__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); - } - // InternalExpression.g:5764:3: ( '||' ) - // InternalExpression.g:5765:4: '||' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); - } - match(input,59,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__AndExpression__Group__1__Impl(); + state._fsp--; + if (state.failed) return ; } @@ -18960,85 +21012,56 @@ public final void rule__OrExpression__OperatorAssignment_1_1() throws Recognitio } return ; } - // $ANTLR end "rule__OrExpression__OperatorAssignment_1_1" + // $ANTLR end "rule__AndExpression__Group__1" - // $ANTLR start "rule__OrExpression__RightAssignment_1_2" - // InternalExpression.g:5776:1: rule__OrExpression__RightAssignment_1_2 : ( ruleAndExpression ) ; - public final void rule__OrExpression__RightAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group__1__Impl" + // InternalExpression.g:5849:1: rule__AndExpression__Group__1__Impl : ( ( rule__AndExpression__Group_1__0 )* ) ; + public final void rule__AndExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5780:1: ( ( ruleAndExpression ) ) - // InternalExpression.g:5781:2: ( ruleAndExpression ) + // InternalExpression.g:5853:1: ( ( ( rule__AndExpression__Group_1__0 )* ) ) + // InternalExpression.g:5854:1: ( ( rule__AndExpression__Group_1__0 )* ) { - // InternalExpression.g:5781:2: ( ruleAndExpression ) - // InternalExpression.g:5782:3: ruleAndExpression + // InternalExpression.g:5854:1: ( ( rule__AndExpression__Group_1__0 )* ) + // InternalExpression.g:5855:2: ( rule__AndExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); - } - pushFollow(FOLLOW_2); - ruleAndExpression(); - - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); - } - - } - - + before(grammarAccess.getAndExpressionAccess().getGroup_1()); } + // InternalExpression.g:5856:2: ( rule__AndExpression__Group_1__0 )* + loop63: + do { + int alt63=2; + int LA63_0 = input.LA(1); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); + if ( (LA63_0==16) ) { + alt63=1; + } - } - return ; - } - // $ANTLR end "rule__OrExpression__RightAssignment_1_2" + switch (alt63) { + case 1 : + // InternalExpression.g:5856:3: rule__AndExpression__Group_1__0 + { + pushFollow(FOLLOW_23); + rule__AndExpression__Group_1__0(); - // $ANTLR start "rule__AndExpression__OperatorAssignment_1_1" - // InternalExpression.g:5791:1: rule__AndExpression__OperatorAssignment_1_1 : ( ( '&&' ) ) ; - public final void rule__AndExpression__OperatorAssignment_1_1() throws RecognitionException { + state._fsp--; + if (state.failed) return ; - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:5795:1: ( ( ( '&&' ) ) ) - // InternalExpression.g:5796:2: ( ( '&&' ) ) - { - // InternalExpression.g:5796:2: ( ( '&&' ) ) - // InternalExpression.g:5797:3: ( '&&' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); - } - // InternalExpression.g:5798:3: ( '&&' ) - // InternalExpression.g:5799:4: '&&' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); - } - match(input,60,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); - } + } + break; - } + default : + break loop63; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + after(grammarAccess.getAndExpressionAccess().getGroup_1()); } } @@ -19058,36 +21081,29 @@ public final void rule__AndExpression__OperatorAssignment_1_1() throws Recogniti } return ; } - // $ANTLR end "rule__AndExpression__OperatorAssignment_1_1" + // $ANTLR end "rule__AndExpression__Group__1__Impl" - // $ANTLR start "rule__AndExpression__RightAssignment_1_2" - // InternalExpression.g:5810:1: rule__AndExpression__RightAssignment_1_2 : ( ruleImpliesExpression ) ; - public final void rule__AndExpression__RightAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__0" + // InternalExpression.g:5865:1: rule__AndExpression__Group_1__0 : rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 ; + public final void rule__AndExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5814:1: ( ( ruleImpliesExpression ) ) - // InternalExpression.g:5815:2: ( ruleImpliesExpression ) + // InternalExpression.g:5869:1: ( rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 ) + // InternalExpression.g:5870:2: rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 { - // InternalExpression.g:5815:2: ( ruleImpliesExpression ) - // InternalExpression.g:5816:3: ruleImpliesExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); - } - pushFollow(FOLLOW_2); - ruleImpliesExpression(); + pushFollow(FOLLOW_22); + rule__AndExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); - } - - } + pushFollow(FOLLOW_2); + rule__AndExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -19103,40 +21119,32 @@ public final void rule__AndExpression__RightAssignment_1_2() throws RecognitionE } return ; } - // $ANTLR end "rule__AndExpression__RightAssignment_1_2" + // $ANTLR end "rule__AndExpression__Group_1__0" - // $ANTLR start "rule__ImpliesExpression__OperatorAssignment_1_1" - // InternalExpression.g:5825:1: rule__ImpliesExpression__OperatorAssignment_1_1 : ( ( 'implies' ) ) ; - public final void rule__ImpliesExpression__OperatorAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__0__Impl" + // InternalExpression.g:5877:1: rule__AndExpression__Group_1__0__Impl : ( () ) ; + public final void rule__AndExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5829:1: ( ( ( 'implies' ) ) ) - // InternalExpression.g:5830:2: ( ( 'implies' ) ) + // InternalExpression.g:5881:1: ( ( () ) ) + // InternalExpression.g:5882:1: ( () ) { - // InternalExpression.g:5830:2: ( ( 'implies' ) ) - // InternalExpression.g:5831:3: ( 'implies' ) + // InternalExpression.g:5882:1: ( () ) + // InternalExpression.g:5883:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); + before(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); } - // InternalExpression.g:5832:3: ( 'implies' ) - // InternalExpression.g:5833:4: 'implies' + // InternalExpression.g:5884:2: () + // InternalExpression.g:5884:3: { - if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); - } - match(input,61,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); - } - } if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); + after(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); } } @@ -19145,10 +21153,6 @@ public final void rule__ImpliesExpression__OperatorAssignment_1_1() throws Recog } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -19156,36 +21160,29 @@ public final void rule__ImpliesExpression__OperatorAssignment_1_1() throws Recog } return ; } - // $ANTLR end "rule__ImpliesExpression__OperatorAssignment_1_1" + // $ANTLR end "rule__AndExpression__Group_1__0__Impl" - // $ANTLR start "rule__ImpliesExpression__RightAssignment_1_2" - // InternalExpression.g:5844:1: rule__ImpliesExpression__RightAssignment_1_2 : ( ruleRelationalExpression ) ; - public final void rule__ImpliesExpression__RightAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__1" + // InternalExpression.g:5892:1: rule__AndExpression__Group_1__1 : rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 ; + public final void rule__AndExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5848:1: ( ( ruleRelationalExpression ) ) - // InternalExpression.g:5849:2: ( ruleRelationalExpression ) + // InternalExpression.g:5896:1: ( rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 ) + // InternalExpression.g:5897:2: rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 { - // InternalExpression.g:5849:2: ( ruleRelationalExpression ) - // InternalExpression.g:5850:3: ruleRelationalExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); - } - pushFollow(FOLLOW_2); - ruleRelationalExpression(); + pushFollow(FOLLOW_18); + rule__AndExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); - } - - } + pushFollow(FOLLOW_2); + rule__AndExpression__Group_1__2(); + state._fsp--; + if (state.failed) return ; } @@ -19201,30 +21198,30 @@ public final void rule__ImpliesExpression__RightAssignment_1_2() throws Recognit } return ; } - // $ANTLR end "rule__ImpliesExpression__RightAssignment_1_2" + // $ANTLR end "rule__AndExpression__Group_1__1" - // $ANTLR start "rule__RelationalExpression__OperatorAssignment_1_1" - // InternalExpression.g:5859:1: rule__RelationalExpression__OperatorAssignment_1_1 : ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) ; - public final void rule__RelationalExpression__OperatorAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__1__Impl" + // InternalExpression.g:5904:1: rule__AndExpression__Group_1__1__Impl : ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) ; + public final void rule__AndExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5863:1: ( ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) ) - // InternalExpression.g:5864:2: ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) + // InternalExpression.g:5908:1: ( ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) ) + // InternalExpression.g:5909:1: ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) { - // InternalExpression.g:5864:2: ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) - // InternalExpression.g:5865:3: ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) + // InternalExpression.g:5909:1: ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) + // InternalExpression.g:5910:2: ( rule__AndExpression__OperatorAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); + before(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } - // InternalExpression.g:5866:3: ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) - // InternalExpression.g:5866:4: rule__RelationalExpression__OperatorAlternatives_1_1_0 + // InternalExpression.g:5911:2: ( rule__AndExpression__OperatorAssignment_1_1 ) + // InternalExpression.g:5911:3: rule__AndExpression__OperatorAssignment_1_1 { pushFollow(FOLLOW_2); - rule__RelationalExpression__OperatorAlternatives_1_1_0(); + rule__AndExpression__OperatorAssignment_1_1(); state._fsp--; if (state.failed) return ; @@ -19232,7 +21229,7 @@ public final void rule__RelationalExpression__OperatorAssignment_1_1() throws Re } if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); + after(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } } @@ -19252,36 +21249,24 @@ public final void rule__RelationalExpression__OperatorAssignment_1_1() throws Re } return ; } - // $ANTLR end "rule__RelationalExpression__OperatorAssignment_1_1" + // $ANTLR end "rule__AndExpression__Group_1__1__Impl" - // $ANTLR start "rule__RelationalExpression__RightAssignment_1_2" - // InternalExpression.g:5874:1: rule__RelationalExpression__RightAssignment_1_2 : ( ruleAdditiveExpression ) ; - public final void rule__RelationalExpression__RightAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__2" + // InternalExpression.g:5919:1: rule__AndExpression__Group_1__2 : rule__AndExpression__Group_1__2__Impl ; + public final void rule__AndExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5878:1: ( ( ruleAdditiveExpression ) ) - // InternalExpression.g:5879:2: ( ruleAdditiveExpression ) - { - // InternalExpression.g:5879:2: ( ruleAdditiveExpression ) - // InternalExpression.g:5880:3: ruleAdditiveExpression + // InternalExpression.g:5923:1: ( rule__AndExpression__Group_1__2__Impl ) + // InternalExpression.g:5924:2: rule__AndExpression__Group_1__2__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); - } pushFollow(FOLLOW_2); - ruleAdditiveExpression(); + rule__AndExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); - } - - } - } @@ -19297,30 +21282,30 @@ public final void rule__RelationalExpression__RightAssignment_1_2() throws Recog } return ; } - // $ANTLR end "rule__RelationalExpression__RightAssignment_1_2" + // $ANTLR end "rule__AndExpression__Group_1__2" - // $ANTLR start "rule__AdditiveExpression__NameAssignment_1_1" - // InternalExpression.g:5889:1: rule__AdditiveExpression__NameAssignment_1_1 : ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) ; - public final void rule__AdditiveExpression__NameAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__2__Impl" + // InternalExpression.g:5930:1: rule__AndExpression__Group_1__2__Impl : ( ( rule__AndExpression__RightAssignment_1_2 ) ) ; + public final void rule__AndExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5893:1: ( ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) ) - // InternalExpression.g:5894:2: ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) + // InternalExpression.g:5934:1: ( ( ( rule__AndExpression__RightAssignment_1_2 ) ) ) + // InternalExpression.g:5935:1: ( ( rule__AndExpression__RightAssignment_1_2 ) ) { - // InternalExpression.g:5894:2: ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) - // InternalExpression.g:5895:3: ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) + // InternalExpression.g:5935:1: ( ( rule__AndExpression__RightAssignment_1_2 ) ) + // InternalExpression.g:5936:2: ( rule__AndExpression__RightAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); + before(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } - // InternalExpression.g:5896:3: ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) - // InternalExpression.g:5896:4: rule__AdditiveExpression__NameAlternatives_1_1_0 + // InternalExpression.g:5937:2: ( rule__AndExpression__RightAssignment_1_2 ) + // InternalExpression.g:5937:3: rule__AndExpression__RightAssignment_1_2 { pushFollow(FOLLOW_2); - rule__AdditiveExpression__NameAlternatives_1_1_0(); + rule__AndExpression__RightAssignment_1_2(); state._fsp--; if (state.failed) return ; @@ -19328,7 +21313,7 @@ public final void rule__AdditiveExpression__NameAssignment_1_1() throws Recognit } if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); + after(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } } @@ -19348,36 +21333,29 @@ public final void rule__AdditiveExpression__NameAssignment_1_1() throws Recognit } return ; } - // $ANTLR end "rule__AdditiveExpression__NameAssignment_1_1" + // $ANTLR end "rule__AndExpression__Group_1__2__Impl" - // $ANTLR start "rule__AdditiveExpression__ParamsAssignment_1_2" - // InternalExpression.g:5904:1: rule__AdditiveExpression__ParamsAssignment_1_2 : ( ruleMultiplicativeExpression ) ; - public final void rule__AdditiveExpression__ParamsAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group__0" + // InternalExpression.g:5946:1: rule__ImpliesExpression__Group__0 : rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 ; + public final void rule__ImpliesExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5908:1: ( ( ruleMultiplicativeExpression ) ) - // InternalExpression.g:5909:2: ( ruleMultiplicativeExpression ) - { - // InternalExpression.g:5909:2: ( ruleMultiplicativeExpression ) - // InternalExpression.g:5910:3: ruleMultiplicativeExpression + // InternalExpression.g:5950:1: ( rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 ) + // InternalExpression.g:5951:2: rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); - } - pushFollow(FOLLOW_2); - ruleMultiplicativeExpression(); + pushFollow(FOLLOW_24); + rule__ImpliesExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); - } - - } + pushFollow(FOLLOW_2); + rule__ImpliesExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -19393,38 +21371,32 @@ public final void rule__AdditiveExpression__ParamsAssignment_1_2() throws Recogn } return ; } - // $ANTLR end "rule__AdditiveExpression__ParamsAssignment_1_2" + // $ANTLR end "rule__ImpliesExpression__Group__0" - // $ANTLR start "rule__MultiplicativeExpression__NameAssignment_1_1" - // InternalExpression.g:5919:1: rule__MultiplicativeExpression__NameAssignment_1_1 : ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) ; - public final void rule__MultiplicativeExpression__NameAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group__0__Impl" + // InternalExpression.g:5958:1: rule__ImpliesExpression__Group__0__Impl : ( ruleRelationalExpression ) ; + public final void rule__ImpliesExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5923:1: ( ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) ) - // InternalExpression.g:5924:2: ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) + // InternalExpression.g:5962:1: ( ( ruleRelationalExpression ) ) + // InternalExpression.g:5963:1: ( ruleRelationalExpression ) { - // InternalExpression.g:5924:2: ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) - // InternalExpression.g:5925:3: ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) + // InternalExpression.g:5963:1: ( ruleRelationalExpression ) + // InternalExpression.g:5964:2: ruleRelationalExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); + before(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } - // InternalExpression.g:5926:3: ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) - // InternalExpression.g:5926:4: rule__MultiplicativeExpression__NameAlternatives_1_1_0 - { pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__NameAlternatives_1_1_0(); + ruleRelationalExpression(); state._fsp--; if (state.failed) return ; - - } - if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); + after(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } } @@ -19444,36 +21416,24 @@ public final void rule__MultiplicativeExpression__NameAssignment_1_1() throws Re } return ; } - // $ANTLR end "rule__MultiplicativeExpression__NameAssignment_1_1" + // $ANTLR end "rule__ImpliesExpression__Group__0__Impl" - // $ANTLR start "rule__MultiplicativeExpression__ParamsAssignment_1_2" - // InternalExpression.g:5934:1: rule__MultiplicativeExpression__ParamsAssignment_1_2 : ( ruleUnaryOrInfixExpression ) ; - public final void rule__MultiplicativeExpression__ParamsAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group__1" + // InternalExpression.g:5973:1: rule__ImpliesExpression__Group__1 : rule__ImpliesExpression__Group__1__Impl ; + public final void rule__ImpliesExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5938:1: ( ( ruleUnaryOrInfixExpression ) ) - // InternalExpression.g:5939:2: ( ruleUnaryOrInfixExpression ) - { - // InternalExpression.g:5939:2: ( ruleUnaryOrInfixExpression ) - // InternalExpression.g:5940:3: ruleUnaryOrInfixExpression + // InternalExpression.g:5977:1: ( rule__ImpliesExpression__Group__1__Impl ) + // InternalExpression.g:5978:2: rule__ImpliesExpression__Group__1__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); - } pushFollow(FOLLOW_2); - ruleUnaryOrInfixExpression(); + rule__ImpliesExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); - } - - } - } @@ -19489,38 +21449,56 @@ public final void rule__MultiplicativeExpression__ParamsAssignment_1_2() throws } return ; } - // $ANTLR end "rule__MultiplicativeExpression__ParamsAssignment_1_2" + // $ANTLR end "rule__ImpliesExpression__Group__1" - // $ANTLR start "rule__UnaryExpression__NameAssignment_0" - // InternalExpression.g:5949:1: rule__UnaryExpression__NameAssignment_0 : ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) ; - public final void rule__UnaryExpression__NameAssignment_0() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group__1__Impl" + // InternalExpression.g:5984:1: rule__ImpliesExpression__Group__1__Impl : ( ( rule__ImpliesExpression__Group_1__0 )* ) ; + public final void rule__ImpliesExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5953:1: ( ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) ) - // InternalExpression.g:5954:2: ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) + // InternalExpression.g:5988:1: ( ( ( rule__ImpliesExpression__Group_1__0 )* ) ) + // InternalExpression.g:5989:1: ( ( rule__ImpliesExpression__Group_1__0 )* ) { - // InternalExpression.g:5954:2: ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) - // InternalExpression.g:5955:3: ( rule__UnaryExpression__NameAlternatives_0_0 ) + // InternalExpression.g:5989:1: ( ( rule__ImpliesExpression__Group_1__0 )* ) + // InternalExpression.g:5990:2: ( rule__ImpliesExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); + before(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } - // InternalExpression.g:5956:3: ( rule__UnaryExpression__NameAlternatives_0_0 ) - // InternalExpression.g:5956:4: rule__UnaryExpression__NameAlternatives_0_0 - { - pushFollow(FOLLOW_2); - rule__UnaryExpression__NameAlternatives_0_0(); + // InternalExpression.g:5991:2: ( rule__ImpliesExpression__Group_1__0 )* + loop64: + do { + int alt64=2; + int LA64_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA64_0==101) ) { + alt64=1; + } - } + + switch (alt64) { + case 1 : + // InternalExpression.g:5991:3: rule__ImpliesExpression__Group_1__0 + { + pushFollow(FOLLOW_25); + rule__ImpliesExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop64; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); + after(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } } @@ -19540,36 +21518,29 @@ public final void rule__UnaryExpression__NameAssignment_0() throws RecognitionEx } return ; } - // $ANTLR end "rule__UnaryExpression__NameAssignment_0" + // $ANTLR end "rule__ImpliesExpression__Group__1__Impl" - // $ANTLR start "rule__UnaryExpression__ParamsAssignment_1" - // InternalExpression.g:5964:1: rule__UnaryExpression__ParamsAssignment_1 : ( ruleInfixExpression ) ; - public final void rule__UnaryExpression__ParamsAssignment_1() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__0" + // InternalExpression.g:6000:1: rule__ImpliesExpression__Group_1__0 : rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 ; + public final void rule__ImpliesExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5968:1: ( ( ruleInfixExpression ) ) - // InternalExpression.g:5969:2: ( ruleInfixExpression ) - { - // InternalExpression.g:5969:2: ( ruleInfixExpression ) - // InternalExpression.g:5970:3: ruleInfixExpression + // InternalExpression.g:6004:1: ( rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 ) + // InternalExpression.g:6005:2: rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); - } - pushFollow(FOLLOW_2); - ruleInfixExpression(); + pushFollow(FOLLOW_24); + rule__ImpliesExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__ImpliesExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -19585,32 +21556,32 @@ public final void rule__UnaryExpression__ParamsAssignment_1() throws Recognition } return ; } - // $ANTLR end "rule__UnaryExpression__ParamsAssignment_1" + // $ANTLR end "rule__ImpliesExpression__Group_1__0" - // $ANTLR start "rule__InfixExpression__NameAssignment_1_0_2" - // InternalExpression.g:5979:1: rule__InfixExpression__NameAssignment_1_0_2 : ( ruleIdentifier ) ; - public final void rule__InfixExpression__NameAssignment_1_0_2() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__0__Impl" + // InternalExpression.g:6012:1: rule__ImpliesExpression__Group_1__0__Impl : ( () ) ; + public final void rule__ImpliesExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5983:1: ( ( ruleIdentifier ) ) - // InternalExpression.g:5984:2: ( ruleIdentifier ) + // InternalExpression.g:6016:1: ( ( () ) ) + // InternalExpression.g:6017:1: ( () ) { - // InternalExpression.g:5984:2: ( ruleIdentifier ) - // InternalExpression.g:5985:3: ruleIdentifier + // InternalExpression.g:6017:1: ( () ) + // InternalExpression.g:6018:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); + before(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); + } + // InternalExpression.g:6019:2: () + // InternalExpression.g:6019:3: + { } - pushFollow(FOLLOW_2); - ruleIdentifier(); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); + after(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); } } @@ -19619,10 +21590,6 @@ public final void rule__InfixExpression__NameAssignment_1_0_2() throws Recogniti } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -19630,36 +21597,29 @@ public final void rule__InfixExpression__NameAssignment_1_0_2() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__NameAssignment_1_0_2" + // $ANTLR end "rule__ImpliesExpression__Group_1__0__Impl" - // $ANTLR start "rule__InfixExpression__ParamsAssignment_1_0_4_0" - // InternalExpression.g:5994:1: rule__InfixExpression__ParamsAssignment_1_0_4_0 : ( ruleExpression ) ; - public final void rule__InfixExpression__ParamsAssignment_1_0_4_0() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__1" + // InternalExpression.g:6027:1: rule__ImpliesExpression__Group_1__1 : rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 ; + public final void rule__ImpliesExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:5998:1: ( ( ruleExpression ) ) - // InternalExpression.g:5999:2: ( ruleExpression ) - { - // InternalExpression.g:5999:2: ( ruleExpression ) - // InternalExpression.g:6000:3: ruleExpression + // InternalExpression.g:6031:1: ( rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 ) + // InternalExpression.g:6032:2: rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); + pushFollow(FOLLOW_18); + rule__ImpliesExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); - } - - } + pushFollow(FOLLOW_2); + rule__ImpliesExpression__Group_1__2(); + state._fsp--; + if (state.failed) return ; } @@ -19675,32 +21635,38 @@ public final void rule__InfixExpression__ParamsAssignment_1_0_4_0() throws Recog } return ; } - // $ANTLR end "rule__InfixExpression__ParamsAssignment_1_0_4_0" + // $ANTLR end "rule__ImpliesExpression__Group_1__1" - // $ANTLR start "rule__InfixExpression__ParamsAssignment_1_0_4_1_1" - // InternalExpression.g:6009:1: rule__InfixExpression__ParamsAssignment_1_0_4_1_1 : ( ruleExpression ) ; - public final void rule__InfixExpression__ParamsAssignment_1_0_4_1_1() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__1__Impl" + // InternalExpression.g:6039:1: rule__ImpliesExpression__Group_1__1__Impl : ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) ; + public final void rule__ImpliesExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6013:1: ( ( ruleExpression ) ) - // InternalExpression.g:6014:2: ( ruleExpression ) + // InternalExpression.g:6043:1: ( ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) ) + // InternalExpression.g:6044:1: ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) { - // InternalExpression.g:6014:2: ( ruleExpression ) - // InternalExpression.g:6015:3: ruleExpression + // InternalExpression.g:6044:1: ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) + // InternalExpression.g:6045:2: ( rule__ImpliesExpression__OperatorAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); + before(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } + // InternalExpression.g:6046:2: ( rule__ImpliesExpression__OperatorAssignment_1_1 ) + // InternalExpression.g:6046:3: rule__ImpliesExpression__OperatorAssignment_1_1 + { pushFollow(FOLLOW_2); - ruleExpression(); + rule__ImpliesExpression__OperatorAssignment_1_1(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); + after(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } } @@ -19720,36 +21686,24 @@ public final void rule__InfixExpression__ParamsAssignment_1_0_4_1_1() throws Rec } return ; } - // $ANTLR end "rule__InfixExpression__ParamsAssignment_1_0_4_1_1" + // $ANTLR end "rule__ImpliesExpression__Group_1__1__Impl" - // $ANTLR start "rule__InfixExpression__TypeAssignment_1_1_2" - // InternalExpression.g:6024:1: rule__InfixExpression__TypeAssignment_1_1_2 : ( ruleType ) ; - public final void rule__InfixExpression__TypeAssignment_1_1_2() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__2" + // InternalExpression.g:6054:1: rule__ImpliesExpression__Group_1__2 : rule__ImpliesExpression__Group_1__2__Impl ; + public final void rule__ImpliesExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6028:1: ( ( ruleType ) ) - // InternalExpression.g:6029:2: ( ruleType ) + // InternalExpression.g:6058:1: ( rule__ImpliesExpression__Group_1__2__Impl ) + // InternalExpression.g:6059:2: rule__ImpliesExpression__Group_1__2__Impl { - // InternalExpression.g:6029:2: ( ruleType ) - // InternalExpression.g:6030:3: ruleType - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); - } pushFollow(FOLLOW_2); - ruleType(); + rule__ImpliesExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); - } - - } - } @@ -19765,40 +21719,38 @@ public final void rule__InfixExpression__TypeAssignment_1_1_2() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__TypeAssignment_1_1_2" + // $ANTLR end "rule__ImpliesExpression__Group_1__2" - // $ANTLR start "rule__InfixExpression__NameAssignment_1_2_2" - // InternalExpression.g:6039:1: rule__InfixExpression__NameAssignment_1_2_2 : ( ( 'typeSelect' ) ) ; - public final void rule__InfixExpression__NameAssignment_1_2_2() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__2__Impl" + // InternalExpression.g:6065:1: rule__ImpliesExpression__Group_1__2__Impl : ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) ; + public final void rule__ImpliesExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6043:1: ( ( ( 'typeSelect' ) ) ) - // InternalExpression.g:6044:2: ( ( 'typeSelect' ) ) + // InternalExpression.g:6069:1: ( ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) ) + // InternalExpression.g:6070:1: ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) { - // InternalExpression.g:6044:2: ( ( 'typeSelect' ) ) - // InternalExpression.g:6045:3: ( 'typeSelect' ) + // InternalExpression.g:6070:1: ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) + // InternalExpression.g:6071:2: ( rule__ImpliesExpression__RightAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); + before(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } - // InternalExpression.g:6046:3: ( 'typeSelect' ) - // InternalExpression.g:6047:4: 'typeSelect' + // InternalExpression.g:6072:2: ( rule__ImpliesExpression__RightAssignment_1_2 ) + // InternalExpression.g:6072:3: rule__ImpliesExpression__RightAssignment_1_2 { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); - } - match(input,62,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); - } + pushFollow(FOLLOW_2); + rule__ImpliesExpression__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); + after(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } } @@ -19818,36 +21770,29 @@ public final void rule__InfixExpression__NameAssignment_1_2_2() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__NameAssignment_1_2_2" + // $ANTLR end "rule__ImpliesExpression__Group_1__2__Impl" - // $ANTLR start "rule__InfixExpression__TypeAssignment_1_2_4" - // InternalExpression.g:6058:1: rule__InfixExpression__TypeAssignment_1_2_4 : ( ruleType ) ; - public final void rule__InfixExpression__TypeAssignment_1_2_4() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group__0" + // InternalExpression.g:6081:1: rule__RelationalExpression__Group__0 : rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 ; + public final void rule__RelationalExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6062:1: ( ( ruleType ) ) - // InternalExpression.g:6063:2: ( ruleType ) + // InternalExpression.g:6085:1: ( rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 ) + // InternalExpression.g:6086:2: rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 { - // InternalExpression.g:6063:2: ( ruleType ) - // InternalExpression.g:6064:3: ruleType - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); - } - pushFollow(FOLLOW_2); - ruleType(); + pushFollow(FOLLOW_26); + rule__RelationalExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); - } - - } + pushFollow(FOLLOW_2); + rule__RelationalExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -19863,38 +21808,32 @@ public final void rule__InfixExpression__TypeAssignment_1_2_4() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__TypeAssignment_1_2_4" + // $ANTLR end "rule__RelationalExpression__Group__0" - // $ANTLR start "rule__InfixExpression__NameAssignment_1_3_2" - // InternalExpression.g:6073:1: rule__InfixExpression__NameAssignment_1_3_2 : ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) ; - public final void rule__InfixExpression__NameAssignment_1_3_2() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group__0__Impl" + // InternalExpression.g:6093:1: rule__RelationalExpression__Group__0__Impl : ( ruleAdditiveExpression ) ; + public final void rule__RelationalExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6077:1: ( ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) ) - // InternalExpression.g:6078:2: ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) + // InternalExpression.g:6097:1: ( ( ruleAdditiveExpression ) ) + // InternalExpression.g:6098:1: ( ruleAdditiveExpression ) { - // InternalExpression.g:6078:2: ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) - // InternalExpression.g:6079:3: ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) + // InternalExpression.g:6098:1: ( ruleAdditiveExpression ) + // InternalExpression.g:6099:2: ruleAdditiveExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); + before(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } - // InternalExpression.g:6080:3: ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) - // InternalExpression.g:6080:4: rule__InfixExpression__NameAlternatives_1_3_2_0 - { pushFollow(FOLLOW_2); - rule__InfixExpression__NameAlternatives_1_3_2_0(); + ruleAdditiveExpression(); state._fsp--; if (state.failed) return ; - - } - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); + after(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } } @@ -19914,36 +21853,24 @@ public final void rule__InfixExpression__NameAssignment_1_3_2() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__NameAssignment_1_3_2" + // $ANTLR end "rule__RelationalExpression__Group__0__Impl" - // $ANTLR start "rule__InfixExpression__VarAssignment_1_3_4_0" - // InternalExpression.g:6088:1: rule__InfixExpression__VarAssignment_1_3_4_0 : ( ruleIdentifier ) ; - public final void rule__InfixExpression__VarAssignment_1_3_4_0() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group__1" + // InternalExpression.g:6108:1: rule__RelationalExpression__Group__1 : rule__RelationalExpression__Group__1__Impl ; + public final void rule__RelationalExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6092:1: ( ( ruleIdentifier ) ) - // InternalExpression.g:6093:2: ( ruleIdentifier ) + // InternalExpression.g:6112:1: ( rule__RelationalExpression__Group__1__Impl ) + // InternalExpression.g:6113:2: rule__RelationalExpression__Group__1__Impl { - // InternalExpression.g:6093:2: ( ruleIdentifier ) - // InternalExpression.g:6094:3: ruleIdentifier - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); - } pushFollow(FOLLOW_2); - ruleIdentifier(); + rule__RelationalExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); - } - - } - } @@ -19959,41 +21886,65 @@ public final void rule__InfixExpression__VarAssignment_1_3_4_0() throws Recognit } return ; } - // $ANTLR end "rule__InfixExpression__VarAssignment_1_3_4_0" + // $ANTLR end "rule__RelationalExpression__Group__1" - // $ANTLR start "rule__InfixExpression__ExpAssignment_1_3_5" - // InternalExpression.g:6103:1: rule__InfixExpression__ExpAssignment_1_3_5 : ( ruleExpression ) ; - public final void rule__InfixExpression__ExpAssignment_1_3_5() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group__1__Impl" + // InternalExpression.g:6119:1: rule__RelationalExpression__Group__1__Impl : ( ( rule__RelationalExpression__Group_1__0 )* ) ; + public final void rule__RelationalExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6107:1: ( ( ruleExpression ) ) - // InternalExpression.g:6108:2: ( ruleExpression ) + // InternalExpression.g:6123:1: ( ( ( rule__RelationalExpression__Group_1__0 )* ) ) + // InternalExpression.g:6124:1: ( ( rule__RelationalExpression__Group_1__0 )* ) { - // InternalExpression.g:6108:2: ( ruleExpression ) - // InternalExpression.g:6109:3: ruleExpression + // InternalExpression.g:6124:1: ( ( rule__RelationalExpression__Group_1__0 )* ) + // InternalExpression.g:6125:2: ( rule__RelationalExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); + before(grammarAccess.getRelationalExpressionAccess().getGroup_1()); } - pushFollow(FOLLOW_2); - ruleExpression(); + // InternalExpression.g:6126:2: ( rule__RelationalExpression__Group_1__0 )* + loop65: + do { + int alt65=2; + int LA65_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); - } + if ( ((LA65_0>=17 && LA65_0<=22)) ) { + alt65=1; + } - } + switch (alt65) { + case 1 : + // InternalExpression.g:6126:3: rule__RelationalExpression__Group_1__0 + { + pushFollow(FOLLOW_27); + rule__RelationalExpression__Group_1__0(); - } + state._fsp--; + if (state.failed) return ; - } - catch (RecognitionException re) { + } + break; + + default : + break loop65; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { reportError(re); recover(input,re); } @@ -20004,42 +21955,29 @@ public final void rule__InfixExpression__ExpAssignment_1_3_5() throws Recognitio } return ; } - // $ANTLR end "rule__InfixExpression__ExpAssignment_1_3_5" + // $ANTLR end "rule__RelationalExpression__Group__1__Impl" - // $ANTLR start "rule__BooleanLiteral__ValAssignment" - // InternalExpression.g:6118:1: rule__BooleanLiteral__ValAssignment : ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) ; - public final void rule__BooleanLiteral__ValAssignment() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group_1__0" + // InternalExpression.g:6135:1: rule__RelationalExpression__Group_1__0 : rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 ; + public final void rule__RelationalExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6122:1: ( ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) ) - // InternalExpression.g:6123:2: ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) + // InternalExpression.g:6139:1: ( rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 ) + // InternalExpression.g:6140:2: rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 { - // InternalExpression.g:6123:2: ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) - // InternalExpression.g:6124:3: ( rule__BooleanLiteral__ValAlternatives_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); - } - // InternalExpression.g:6125:3: ( rule__BooleanLiteral__ValAlternatives_0 ) - // InternalExpression.g:6125:4: rule__BooleanLiteral__ValAlternatives_0 - { - pushFollow(FOLLOW_2); - rule__BooleanLiteral__ValAlternatives_0(); + pushFollow(FOLLOW_26); + rule__RelationalExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__RelationalExpression__Group_1__1(); - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); - } - - } - + state._fsp--; + if (state.failed) return ; } @@ -20055,32 +21993,70 @@ public final void rule__BooleanLiteral__ValAssignment() throws RecognitionExcept } return ; } - // $ANTLR end "rule__BooleanLiteral__ValAssignment" + // $ANTLR end "rule__RelationalExpression__Group_1__0" - // $ANTLR start "rule__IntegerLiteral__ValAssignment" - // InternalExpression.g:6133:1: rule__IntegerLiteral__ValAssignment : ( RULE_INT ) ; - public final void rule__IntegerLiteral__ValAssignment() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group_1__0__Impl" + // InternalExpression.g:6147:1: rule__RelationalExpression__Group_1__0__Impl : ( () ) ; + public final void rule__RelationalExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6137:1: ( ( RULE_INT ) ) - // InternalExpression.g:6138:2: ( RULE_INT ) + // InternalExpression.g:6151:1: ( ( () ) ) + // InternalExpression.g:6152:1: ( () ) { - // InternalExpression.g:6138:2: ( RULE_INT ) - // InternalExpression.g:6139:3: RULE_INT + // InternalExpression.g:6152:1: ( () ) + // InternalExpression.g:6153:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); + before(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); } - match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + // InternalExpression.g:6154:2: () + // InternalExpression.g:6154:3: + { + } + if ( state.backtracking==0 ) { - after(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); + after(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); + } + } + } + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RelationalExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__RelationalExpression__Group_1__1" + // InternalExpression.g:6162:1: rule__RelationalExpression__Group_1__1 : rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 ; + public final void rule__RelationalExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6166:1: ( rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 ) + // InternalExpression.g:6167:2: rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 + { + pushFollow(FOLLOW_18); + rule__RelationalExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__RelationalExpression__Group_1__2(); + + state._fsp--; + if (state.failed) return ; } @@ -20096,44 +22072,75 @@ public final void rule__IntegerLiteral__ValAssignment() throws RecognitionExcept } return ; } - // $ANTLR end "rule__IntegerLiteral__ValAssignment" + // $ANTLR end "rule__RelationalExpression__Group_1__1" - // $ANTLR start "rule__NullLiteral__ValAssignment" - // InternalExpression.g:6148:1: rule__NullLiteral__ValAssignment : ( ( 'null' ) ) ; - public final void rule__NullLiteral__ValAssignment() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group_1__1__Impl" + // InternalExpression.g:6174:1: rule__RelationalExpression__Group_1__1__Impl : ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) ; + public final void rule__RelationalExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6152:1: ( ( ( 'null' ) ) ) - // InternalExpression.g:6153:2: ( ( 'null' ) ) + // InternalExpression.g:6178:1: ( ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) ) + // InternalExpression.g:6179:1: ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) { - // InternalExpression.g:6153:2: ( ( 'null' ) ) - // InternalExpression.g:6154:3: ( 'null' ) + // InternalExpression.g:6179:1: ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) + // InternalExpression.g:6180:2: ( rule__RelationalExpression__OperatorAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); + before(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } - // InternalExpression.g:6155:3: ( 'null' ) - // InternalExpression.g:6156:4: 'null' + // InternalExpression.g:6181:2: ( rule__RelationalExpression__OperatorAssignment_1_1 ) + // InternalExpression.g:6181:3: rule__RelationalExpression__OperatorAssignment_1_1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); + pushFollow(FOLLOW_2); + rule__RelationalExpression__OperatorAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + } - match(input,63,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); + after(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } } - if ( state.backtracking==0 ) { - after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); - } } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RelationalExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__RelationalExpression__Group_1__2" + // InternalExpression.g:6189:1: rule__RelationalExpression__Group_1__2 : rule__RelationalExpression__Group_1__2__Impl ; + public final void rule__RelationalExpression__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6193:1: ( rule__RelationalExpression__Group_1__2__Impl ) + // InternalExpression.g:6194:2: rule__RelationalExpression__Group_1__2__Impl + { + pushFollow(FOLLOW_2); + rule__RelationalExpression__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; } @@ -20149,28 +22156,38 @@ public final void rule__NullLiteral__ValAssignment() throws RecognitionException } return ; } - // $ANTLR end "rule__NullLiteral__ValAssignment" + // $ANTLR end "rule__RelationalExpression__Group_1__2" - // $ANTLR start "rule__RealLiteral__ValAssignment" - // InternalExpression.g:6167:1: rule__RealLiteral__ValAssignment : ( RULE_REAL ) ; - public final void rule__RealLiteral__ValAssignment() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group_1__2__Impl" + // InternalExpression.g:6200:1: rule__RelationalExpression__Group_1__2__Impl : ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) ; + public final void rule__RelationalExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6171:1: ( ( RULE_REAL ) ) - // InternalExpression.g:6172:2: ( RULE_REAL ) + // InternalExpression.g:6204:1: ( ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) ) + // InternalExpression.g:6205:1: ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) { - // InternalExpression.g:6172:2: ( RULE_REAL ) - // InternalExpression.g:6173:3: RULE_REAL + // InternalExpression.g:6205:1: ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) + // InternalExpression.g:6206:2: ( rule__RelationalExpression__RightAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); + before(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } - match(input,RULE_REAL,FOLLOW_2); if (state.failed) return ; + // InternalExpression.g:6207:2: ( rule__RelationalExpression__RightAssignment_1_2 ) + // InternalExpression.g:6207:3: rule__RelationalExpression__RightAssignment_1_2 + { + pushFollow(FOLLOW_2); + rule__RelationalExpression__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); + after(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } } @@ -20190,32 +22207,29 @@ public final void rule__RealLiteral__ValAssignment() throws RecognitionException } return ; } - // $ANTLR end "rule__RealLiteral__ValAssignment" + // $ANTLR end "rule__RelationalExpression__Group_1__2__Impl" - // $ANTLR start "rule__StringLiteral__ValAssignment" - // InternalExpression.g:6182:1: rule__StringLiteral__ValAssignment : ( RULE_STRING ) ; - public final void rule__StringLiteral__ValAssignment() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group__0" + // InternalExpression.g:6216:1: rule__AdditiveExpression__Group__0 : rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ; + public final void rule__AdditiveExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6186:1: ( ( RULE_STRING ) ) - // InternalExpression.g:6187:2: ( RULE_STRING ) - { - // InternalExpression.g:6187:2: ( RULE_STRING ) - // InternalExpression.g:6188:3: RULE_STRING + // InternalExpression.g:6220:1: ( rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ) + // InternalExpression.g:6221:2: rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); - } - match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); - } + pushFollow(FOLLOW_28); + rule__AdditiveExpression__Group__0__Impl(); - } + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__AdditiveExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -20231,32 +22245,32 @@ public final void rule__StringLiteral__ValAssignment() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__StringLiteral__ValAssignment" + // $ANTLR end "rule__AdditiveExpression__Group__0" - // $ANTLR start "rule__GlobalVarExpression__NameAssignment_1" - // InternalExpression.g:6197:1: rule__GlobalVarExpression__NameAssignment_1 : ( ruleIdentifier ) ; - public final void rule__GlobalVarExpression__NameAssignment_1() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group__0__Impl" + // InternalExpression.g:6228:1: rule__AdditiveExpression__Group__0__Impl : ( ruleMultiplicativeExpression ) ; + public final void rule__AdditiveExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6201:1: ( ( ruleIdentifier ) ) - // InternalExpression.g:6202:2: ( ruleIdentifier ) + // InternalExpression.g:6232:1: ( ( ruleMultiplicativeExpression ) ) + // InternalExpression.g:6233:1: ( ruleMultiplicativeExpression ) { - // InternalExpression.g:6202:2: ( ruleIdentifier ) - // InternalExpression.g:6203:3: ruleIdentifier + // InternalExpression.g:6233:1: ( ruleMultiplicativeExpression ) + // InternalExpression.g:6234:2: ruleMultiplicativeExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); + before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } pushFollow(FOLLOW_2); - ruleIdentifier(); + ruleMultiplicativeExpression(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); + after(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } } @@ -20276,36 +22290,24 @@ public final void rule__GlobalVarExpression__NameAssignment_1() throws Recogniti } return ; } - // $ANTLR end "rule__GlobalVarExpression__NameAssignment_1" + // $ANTLR end "rule__AdditiveExpression__Group__0__Impl" - // $ANTLR start "rule__FeatureCall__TypeAssignment_1" - // InternalExpression.g:6212:1: rule__FeatureCall__TypeAssignment_1 : ( ruleType ) ; - public final void rule__FeatureCall__TypeAssignment_1() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group__1" + // InternalExpression.g:6243:1: rule__AdditiveExpression__Group__1 : rule__AdditiveExpression__Group__1__Impl ; + public final void rule__AdditiveExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6216:1: ( ( ruleType ) ) - // InternalExpression.g:6217:2: ( ruleType ) - { - // InternalExpression.g:6217:2: ( ruleType ) - // InternalExpression.g:6218:3: ruleType + // InternalExpression.g:6247:1: ( rule__AdditiveExpression__Group__1__Impl ) + // InternalExpression.g:6248:2: rule__AdditiveExpression__Group__1__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); - } pushFollow(FOLLOW_2); - ruleType(); + rule__AdditiveExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); - } - - } - } @@ -20321,32 +22323,56 @@ public final void rule__FeatureCall__TypeAssignment_1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__FeatureCall__TypeAssignment_1" + // $ANTLR end "rule__AdditiveExpression__Group__1" - // $ANTLR start "rule__OperationCall__NameAssignment_0" - // InternalExpression.g:6227:1: rule__OperationCall__NameAssignment_0 : ( ruleIdentifier ) ; - public final void rule__OperationCall__NameAssignment_0() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group__1__Impl" + // InternalExpression.g:6254:1: rule__AdditiveExpression__Group__1__Impl : ( ( rule__AdditiveExpression__Group_1__0 )* ) ; + public final void rule__AdditiveExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6231:1: ( ( ruleIdentifier ) ) - // InternalExpression.g:6232:2: ( ruleIdentifier ) + // InternalExpression.g:6258:1: ( ( ( rule__AdditiveExpression__Group_1__0 )* ) ) + // InternalExpression.g:6259:1: ( ( rule__AdditiveExpression__Group_1__0 )* ) { - // InternalExpression.g:6232:2: ( ruleIdentifier ) - // InternalExpression.g:6233:3: ruleIdentifier + // InternalExpression.g:6259:1: ( ( rule__AdditiveExpression__Group_1__0 )* ) + // InternalExpression.g:6260:2: ( rule__AdditiveExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); + before(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } - pushFollow(FOLLOW_2); - ruleIdentifier(); + // InternalExpression.g:6261:2: ( rule__AdditiveExpression__Group_1__0 )* + loop66: + do { + int alt66=2; + int LA66_0 = input.LA(1); + + if ( ((LA66_0>=23 && LA66_0<=24)) ) { + alt66=1; + } + + + switch (alt66) { + case 1 : + // InternalExpression.g:6261:3: rule__AdditiveExpression__Group_1__0 + { + pushFollow(FOLLOW_29); + rule__AdditiveExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop66; + } + } while (true); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); + after(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } } @@ -20366,36 +22392,29 @@ public final void rule__OperationCall__NameAssignment_0() throws RecognitionExce } return ; } - // $ANTLR end "rule__OperationCall__NameAssignment_0" + // $ANTLR end "rule__AdditiveExpression__Group__1__Impl" - // $ANTLR start "rule__OperationCall__ParamsAssignment_2_0" - // InternalExpression.g:6242:1: rule__OperationCall__ParamsAssignment_2_0 : ( ruleExpression ) ; - public final void rule__OperationCall__ParamsAssignment_2_0() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group_1__0" + // InternalExpression.g:6270:1: rule__AdditiveExpression__Group_1__0 : rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ; + public final void rule__AdditiveExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6246:1: ( ( ruleExpression ) ) - // InternalExpression.g:6247:2: ( ruleExpression ) - { - // InternalExpression.g:6247:2: ( ruleExpression ) - // InternalExpression.g:6248:3: ruleExpression + // InternalExpression.g:6274:1: ( rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ) + // InternalExpression.g:6275:2: rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); + pushFollow(FOLLOW_28); + rule__AdditiveExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); - } - - } + pushFollow(FOLLOW_2); + rule__AdditiveExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -20411,36 +22430,70 @@ public final void rule__OperationCall__ParamsAssignment_2_0() throws Recognition } return ; } - // $ANTLR end "rule__OperationCall__ParamsAssignment_2_0" + // $ANTLR end "rule__AdditiveExpression__Group_1__0" - // $ANTLR start "rule__OperationCall__ParamsAssignment_2_1_1" - // InternalExpression.g:6257:1: rule__OperationCall__ParamsAssignment_2_1_1 : ( ruleExpression ) ; - public final void rule__OperationCall__ParamsAssignment_2_1_1() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group_1__0__Impl" + // InternalExpression.g:6282:1: rule__AdditiveExpression__Group_1__0__Impl : ( () ) ; + public final void rule__AdditiveExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6261:1: ( ( ruleExpression ) ) - // InternalExpression.g:6262:2: ( ruleExpression ) + // InternalExpression.g:6286:1: ( ( () ) ) + // InternalExpression.g:6287:1: ( () ) { - // InternalExpression.g:6262:2: ( ruleExpression ) - // InternalExpression.g:6263:3: ruleExpression + // InternalExpression.g:6287:1: ( () ) + // InternalExpression.g:6288:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); + before(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); + } + // InternalExpression.g:6289:2: () + // InternalExpression.g:6289:3: + { } - pushFollow(FOLLOW_2); - ruleExpression(); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); + after(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); + } + } + } + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__AdditiveExpression__Group_1__1" + // InternalExpression.g:6297:1: rule__AdditiveExpression__Group_1__1 : rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ; + public final void rule__AdditiveExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6301:1: ( rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ) + // InternalExpression.g:6302:2: rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 + { + pushFollow(FOLLOW_18); + rule__AdditiveExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__AdditiveExpression__Group_1__2(); + + state._fsp--; + if (state.failed) return ; } @@ -20456,32 +22509,38 @@ public final void rule__OperationCall__ParamsAssignment_2_1_1() throws Recogniti } return ; } - // $ANTLR end "rule__OperationCall__ParamsAssignment_2_1_1" + // $ANTLR end "rule__AdditiveExpression__Group_1__1" - // $ANTLR start "rule__ListLiteral__ElementsAssignment_2_0" - // InternalExpression.g:6272:1: rule__ListLiteral__ElementsAssignment_2_0 : ( ruleExpression ) ; - public final void rule__ListLiteral__ElementsAssignment_2_0() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group_1__1__Impl" + // InternalExpression.g:6309:1: rule__AdditiveExpression__Group_1__1__Impl : ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) ; + public final void rule__AdditiveExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6276:1: ( ( ruleExpression ) ) - // InternalExpression.g:6277:2: ( ruleExpression ) + // InternalExpression.g:6313:1: ( ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) ) + // InternalExpression.g:6314:1: ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) { - // InternalExpression.g:6277:2: ( ruleExpression ) - // InternalExpression.g:6278:3: ruleExpression + // InternalExpression.g:6314:1: ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) + // InternalExpression.g:6315:2: ( rule__AdditiveExpression__NameAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); + before(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } + // InternalExpression.g:6316:2: ( rule__AdditiveExpression__NameAssignment_1_1 ) + // InternalExpression.g:6316:3: rule__AdditiveExpression__NameAssignment_1_1 + { pushFollow(FOLLOW_2); - ruleExpression(); + rule__AdditiveExpression__NameAssignment_1_1(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); + after(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } } @@ -20501,36 +22560,24 @@ public final void rule__ListLiteral__ElementsAssignment_2_0() throws Recognition } return ; } - // $ANTLR end "rule__ListLiteral__ElementsAssignment_2_0" + // $ANTLR end "rule__AdditiveExpression__Group_1__1__Impl" - // $ANTLR start "rule__ListLiteral__ElementsAssignment_2_1_1" - // InternalExpression.g:6287:1: rule__ListLiteral__ElementsAssignment_2_1_1 : ( ruleExpression ) ; - public final void rule__ListLiteral__ElementsAssignment_2_1_1() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group_1__2" + // InternalExpression.g:6324:1: rule__AdditiveExpression__Group_1__2 : rule__AdditiveExpression__Group_1__2__Impl ; + public final void rule__AdditiveExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6291:1: ( ( ruleExpression ) ) - // InternalExpression.g:6292:2: ( ruleExpression ) + // InternalExpression.g:6328:1: ( rule__AdditiveExpression__Group_1__2__Impl ) + // InternalExpression.g:6329:2: rule__AdditiveExpression__Group_1__2__Impl { - // InternalExpression.g:6292:2: ( ruleExpression ) - // InternalExpression.g:6293:3: ruleExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); - } pushFollow(FOLLOW_2); - ruleExpression(); + rule__AdditiveExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); - } - - } - } @@ -20546,32 +22593,38 @@ public final void rule__ListLiteral__ElementsAssignment_2_1_1() throws Recogniti } return ; } - // $ANTLR end "rule__ListLiteral__ElementsAssignment_2_1_1" + // $ANTLR end "rule__AdditiveExpression__Group_1__2" - // $ANTLR start "rule__ConstructorCallExpression__TypeAssignment_1" - // InternalExpression.g:6302:1: rule__ConstructorCallExpression__TypeAssignment_1 : ( ruleSimpleType ) ; - public final void rule__ConstructorCallExpression__TypeAssignment_1() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group_1__2__Impl" + // InternalExpression.g:6335:1: rule__AdditiveExpression__Group_1__2__Impl : ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) ; + public final void rule__AdditiveExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6306:1: ( ( ruleSimpleType ) ) - // InternalExpression.g:6307:2: ( ruleSimpleType ) + // InternalExpression.g:6339:1: ( ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) ) + // InternalExpression.g:6340:1: ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) { - // InternalExpression.g:6307:2: ( ruleSimpleType ) - // InternalExpression.g:6308:3: ruleSimpleType + // InternalExpression.g:6340:1: ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) + // InternalExpression.g:6341:2: ( rule__AdditiveExpression__ParamsAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); + before(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } + // InternalExpression.g:6342:2: ( rule__AdditiveExpression__ParamsAssignment_1_2 ) + // InternalExpression.g:6342:3: rule__AdditiveExpression__ParamsAssignment_1_2 + { pushFollow(FOLLOW_2); - ruleSimpleType(); + rule__AdditiveExpression__ParamsAssignment_1_2(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); + after(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } } @@ -20591,44 +22644,107 @@ public final void rule__ConstructorCallExpression__TypeAssignment_1() throws Rec } return ; } - // $ANTLR end "rule__ConstructorCallExpression__TypeAssignment_1" + // $ANTLR end "rule__AdditiveExpression__Group_1__2__Impl" - // $ANTLR start "rule__TypeSelectExpression__NameAssignment_0" - // InternalExpression.g:6317:1: rule__TypeSelectExpression__NameAssignment_0 : ( ( 'typeSelect' ) ) ; - public final void rule__TypeSelectExpression__NameAssignment_0() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group__0" + // InternalExpression.g:6351:1: rule__MultiplicativeExpression__Group__0 : rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ; + public final void rule__MultiplicativeExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6321:1: ( ( ( 'typeSelect' ) ) ) - // InternalExpression.g:6322:2: ( ( 'typeSelect' ) ) + // InternalExpression.g:6355:1: ( rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ) + // InternalExpression.g:6356:2: rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 { - // InternalExpression.g:6322:2: ( ( 'typeSelect' ) ) - // InternalExpression.g:6323:3: ( 'typeSelect' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + pushFollow(FOLLOW_30); + rule__MultiplicativeExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + } - // InternalExpression.g:6324:3: ( 'typeSelect' ) - // InternalExpression.g:6325:4: 'typeSelect' + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__Group__0" + + + // $ANTLR start "rule__MultiplicativeExpression__Group__0__Impl" + // InternalExpression.g:6363:1: rule__MultiplicativeExpression__Group__0__Impl : ( ruleUnaryOrInfixExpression ) ; + public final void rule__MultiplicativeExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6367:1: ( ( ruleUnaryOrInfixExpression ) ) + // InternalExpression.g:6368:1: ( ruleUnaryOrInfixExpression ) + { + // InternalExpression.g:6368:1: ( ruleUnaryOrInfixExpression ) + // InternalExpression.g:6369:2: ruleUnaryOrInfixExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + before(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } - match(input,62,FOLLOW_2); if (state.failed) return ; + pushFollow(FOLLOW_2); + ruleUnaryOrInfixExpression(); + + state._fsp--; + if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + after(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } } - if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); - } } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__Group__0__Impl" + + + // $ANTLR start "rule__MultiplicativeExpression__Group__1" + // InternalExpression.g:6378:1: rule__MultiplicativeExpression__Group__1 : rule__MultiplicativeExpression__Group__1__Impl ; + public final void rule__MultiplicativeExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6382:1: ( rule__MultiplicativeExpression__Group__1__Impl ) + // InternalExpression.g:6383:2: rule__MultiplicativeExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; } @@ -20644,32 +22760,56 @@ public final void rule__TypeSelectExpression__NameAssignment_0() throws Recognit } return ; } - // $ANTLR end "rule__TypeSelectExpression__NameAssignment_0" + // $ANTLR end "rule__MultiplicativeExpression__Group__1" - // $ANTLR start "rule__TypeSelectExpression__TypeAssignment_2" - // InternalExpression.g:6336:1: rule__TypeSelectExpression__TypeAssignment_2 : ( ruleType ) ; - public final void rule__TypeSelectExpression__TypeAssignment_2() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group__1__Impl" + // InternalExpression.g:6389:1: rule__MultiplicativeExpression__Group__1__Impl : ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ; + public final void rule__MultiplicativeExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6340:1: ( ( ruleType ) ) - // InternalExpression.g:6341:2: ( ruleType ) + // InternalExpression.g:6393:1: ( ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ) + // InternalExpression.g:6394:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* ) { - // InternalExpression.g:6341:2: ( ruleType ) - // InternalExpression.g:6342:3: ruleType + // InternalExpression.g:6394:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* ) + // InternalExpression.g:6395:2: ( rule__MultiplicativeExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); + before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } - pushFollow(FOLLOW_2); - ruleType(); + // InternalExpression.g:6396:2: ( rule__MultiplicativeExpression__Group_1__0 )* + loop67: + do { + int alt67=2; + int LA67_0 = input.LA(1); + + if ( ((LA67_0>=25 && LA67_0<=26)) ) { + alt67=1; + } + + + switch (alt67) { + case 1 : + // InternalExpression.g:6396:3: rule__MultiplicativeExpression__Group_1__0 + { + pushFollow(FOLLOW_31); + rule__MultiplicativeExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop67; + } + } while (true); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); + after(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } } @@ -20689,421 +22829,56695 @@ public final void rule__TypeSelectExpression__TypeAssignment_2() throws Recognit } return ; } - // $ANTLR end "rule__TypeSelectExpression__TypeAssignment_2" + // $ANTLR end "rule__MultiplicativeExpression__Group__1__Impl" - // $ANTLR start "rule__CollectionExpression__NameAssignment_0" - // InternalExpression.g:6351:1: rule__CollectionExpression__NameAssignment_0 : ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) ; - public final void rule__CollectionExpression__NameAssignment_0() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group_1__0" + // InternalExpression.g:6405:1: rule__MultiplicativeExpression__Group_1__0 : rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ; + public final void rule__MultiplicativeExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalExpression.g:6355:1: ( ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) ) - // InternalExpression.g:6356:2: ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) - { - // InternalExpression.g:6356:2: ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) - // InternalExpression.g:6357:3: ( rule__CollectionExpression__NameAlternatives_0_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); - } - // InternalExpression.g:6358:3: ( rule__CollectionExpression__NameAlternatives_0_0 ) - // InternalExpression.g:6358:4: rule__CollectionExpression__NameAlternatives_0_0 + // InternalExpression.g:6409:1: ( rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ) + // InternalExpression.g:6410:2: rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 { + pushFollow(FOLLOW_30); + rule__MultiplicativeExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__NameAlternatives_0_0(); + rule__MultiplicativeExpression__Group_1__1(); state._fsp--; if (state.failed) return ; - } + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__Group_1__0" + + + // $ANTLR start "rule__MultiplicativeExpression__Group_1__0__Impl" + // InternalExpression.g:6417:1: rule__MultiplicativeExpression__Group_1__0__Impl : ( () ) ; + public final void rule__MultiplicativeExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6421:1: ( ( () ) ) + // InternalExpression.g:6422:1: ( () ) + { + // InternalExpression.g:6422:1: ( () ) + // InternalExpression.g:6423:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); + } + // InternalExpression.g:6424:2: () + // InternalExpression.g:6424:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__MultiplicativeExpression__Group_1__1" + // InternalExpression.g:6432:1: rule__MultiplicativeExpression__Group_1__1 : rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ; + public final void rule__MultiplicativeExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6436:1: ( rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ) + // InternalExpression.g:6437:2: rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 + { + pushFollow(FOLLOW_18); + rule__MultiplicativeExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__Group_1__1" + + + // $ANTLR start "rule__MultiplicativeExpression__Group_1__1__Impl" + // InternalExpression.g:6444:1: rule__MultiplicativeExpression__Group_1__1__Impl : ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) ; + public final void rule__MultiplicativeExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6448:1: ( ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) ) + // InternalExpression.g:6449:1: ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) + { + // InternalExpression.g:6449:1: ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) + // InternalExpression.g:6450:2: ( rule__MultiplicativeExpression__NameAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); + } + // InternalExpression.g:6451:2: ( rule__MultiplicativeExpression__NameAssignment_1_1 ) + // InternalExpression.g:6451:3: rule__MultiplicativeExpression__NameAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__NameAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__MultiplicativeExpression__Group_1__2" + // InternalExpression.g:6459:1: rule__MultiplicativeExpression__Group_1__2 : rule__MultiplicativeExpression__Group_1__2__Impl ; + public final void rule__MultiplicativeExpression__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6463:1: ( rule__MultiplicativeExpression__Group_1__2__Impl ) + // InternalExpression.g:6464:2: rule__MultiplicativeExpression__Group_1__2__Impl + { + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__Group_1__2" + + + // $ANTLR start "rule__MultiplicativeExpression__Group_1__2__Impl" + // InternalExpression.g:6470:1: rule__MultiplicativeExpression__Group_1__2__Impl : ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) ; + public final void rule__MultiplicativeExpression__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6474:1: ( ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) ) + // InternalExpression.g:6475:1: ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) + { + // InternalExpression.g:6475:1: ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) + // InternalExpression.g:6476:2: ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); + } + // InternalExpression.g:6477:2: ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) + // InternalExpression.g:6477:3: rule__MultiplicativeExpression__ParamsAssignment_1_2 + { + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__ParamsAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__Group_1__2__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group__0" + // InternalExpression.g:6486:1: rule__UnaryExpression__Group__0 : rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 ; + public final void rule__UnaryExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6490:1: ( rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 ) + // InternalExpression.g:6491:2: rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 + { + pushFollow(FOLLOW_18); + rule__UnaryExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__UnaryExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group__0" + + + // $ANTLR start "rule__UnaryExpression__Group__0__Impl" + // InternalExpression.g:6498:1: rule__UnaryExpression__Group__0__Impl : ( ( rule__UnaryExpression__NameAssignment_0 ) ) ; + public final void rule__UnaryExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6502:1: ( ( ( rule__UnaryExpression__NameAssignment_0 ) ) ) + // InternalExpression.g:6503:1: ( ( rule__UnaryExpression__NameAssignment_0 ) ) + { + // InternalExpression.g:6503:1: ( ( rule__UnaryExpression__NameAssignment_0 ) ) + // InternalExpression.g:6504:2: ( rule__UnaryExpression__NameAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); + } + // InternalExpression.g:6505:2: ( rule__UnaryExpression__NameAssignment_0 ) + // InternalExpression.g:6505:3: rule__UnaryExpression__NameAssignment_0 + { + pushFollow(FOLLOW_2); + rule__UnaryExpression__NameAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group__0__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group__1" + // InternalExpression.g:6513:1: rule__UnaryExpression__Group__1 : rule__UnaryExpression__Group__1__Impl ; + public final void rule__UnaryExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6517:1: ( rule__UnaryExpression__Group__1__Impl ) + // InternalExpression.g:6518:2: rule__UnaryExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__UnaryExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group__1" + + + // $ANTLR start "rule__UnaryExpression__Group__1__Impl" + // InternalExpression.g:6524:1: rule__UnaryExpression__Group__1__Impl : ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) ; + public final void rule__UnaryExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6528:1: ( ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) ) + // InternalExpression.g:6529:1: ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) + { + // InternalExpression.g:6529:1: ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) + // InternalExpression.g:6530:2: ( rule__UnaryExpression__ParamsAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); + } + // InternalExpression.g:6531:2: ( rule__UnaryExpression__ParamsAssignment_1 ) + // InternalExpression.g:6531:3: rule__UnaryExpression__ParamsAssignment_1 + { + pushFollow(FOLLOW_2); + rule__UnaryExpression__ParamsAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group__1__Impl" + + + // $ANTLR start "rule__InfixExpression__Group__0" + // InternalExpression.g:6540:1: rule__InfixExpression__Group__0 : rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 ; + public final void rule__InfixExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6544:1: ( rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 ) + // InternalExpression.g:6545:2: rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 + { + pushFollow(FOLLOW_32); + rule__InfixExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group__0" + + + // $ANTLR start "rule__InfixExpression__Group__0__Impl" + // InternalExpression.g:6552:1: rule__InfixExpression__Group__0__Impl : ( rulePrimaryExpression ) ; + public final void rule__InfixExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6556:1: ( ( rulePrimaryExpression ) ) + // InternalExpression.g:6557:1: ( rulePrimaryExpression ) + { + // InternalExpression.g:6557:1: ( rulePrimaryExpression ) + // InternalExpression.g:6558:2: rulePrimaryExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + rulePrimaryExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group__0__Impl" + + + // $ANTLR start "rule__InfixExpression__Group__1" + // InternalExpression.g:6567:1: rule__InfixExpression__Group__1 : rule__InfixExpression__Group__1__Impl ; + public final void rule__InfixExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6571:1: ( rule__InfixExpression__Group__1__Impl ) + // InternalExpression.g:6572:2: rule__InfixExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group__1" + + + // $ANTLR start "rule__InfixExpression__Group__1__Impl" + // InternalExpression.g:6578:1: rule__InfixExpression__Group__1__Impl : ( ( rule__InfixExpression__Alternatives_1 )* ) ; + public final void rule__InfixExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6582:1: ( ( ( rule__InfixExpression__Alternatives_1 )* ) ) + // InternalExpression.g:6583:1: ( ( rule__InfixExpression__Alternatives_1 )* ) + { + // InternalExpression.g:6583:1: ( ( rule__InfixExpression__Alternatives_1 )* ) + // InternalExpression.g:6584:2: ( rule__InfixExpression__Alternatives_1 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); + } + // InternalExpression.g:6585:2: ( rule__InfixExpression__Alternatives_1 )* + loop68: + do { + int alt68=2; + int LA68_0 = input.LA(1); + + if ( (LA68_0==58) ) { + alt68=1; + } + + + switch (alt68) { + case 1 : + // InternalExpression.g:6585:3: rule__InfixExpression__Alternatives_1 + { + pushFollow(FOLLOW_33); + rule__InfixExpression__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop68; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group__1__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__0" + // InternalExpression.g:6594:1: rule__InfixExpression__Group_1_0__0 : rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 ; + public final void rule__InfixExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6598:1: ( rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 ) + // InternalExpression.g:6599:2: rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 + { + pushFollow(FOLLOW_32); + rule__InfixExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__0" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__0__Impl" + // InternalExpression.g:6606:1: rule__InfixExpression__Group_1_0__0__Impl : ( () ) ; + public final void rule__InfixExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6610:1: ( ( () ) ) + // InternalExpression.g:6611:1: ( () ) + { + // InternalExpression.g:6611:1: ( () ) + // InternalExpression.g:6612:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); + } + // InternalExpression.g:6613:2: () + // InternalExpression.g:6613:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__1" + // InternalExpression.g:6621:1: rule__InfixExpression__Group_1_0__1 : rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 ; + public final void rule__InfixExpression__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6625:1: ( rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 ) + // InternalExpression.g:6626:2: rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 + { + pushFollow(FOLLOW_4); + rule__InfixExpression__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__1" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__1__Impl" + // InternalExpression.g:6633:1: rule__InfixExpression__Group_1_0__1__Impl : ( '.' ) ; + public final void rule__InfixExpression__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6637:1: ( ( '.' ) ) + // InternalExpression.g:6638:1: ( '.' ) + { + // InternalExpression.g:6638:1: ( '.' ) + // InternalExpression.g:6639:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__1__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__2" + // InternalExpression.g:6648:1: rule__InfixExpression__Group_1_0__2 : rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 ; + public final void rule__InfixExpression__Group_1_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6652:1: ( rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 ) + // InternalExpression.g:6653:2: rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 + { + pushFollow(FOLLOW_34); + rule__InfixExpression__Group_1_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__2" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__2__Impl" + // InternalExpression.g:6660:1: rule__InfixExpression__Group_1_0__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) ; + public final void rule__InfixExpression__Group_1_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6664:1: ( ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) ) + // InternalExpression.g:6665:1: ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) + { + // InternalExpression.g:6665:1: ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) + // InternalExpression.g:6666:2: ( rule__InfixExpression__NameAssignment_1_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); + } + // InternalExpression.g:6667:2: ( rule__InfixExpression__NameAssignment_1_0_2 ) + // InternalExpression.g:6667:3: rule__InfixExpression__NameAssignment_1_0_2 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__NameAssignment_1_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__2__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__3" + // InternalExpression.g:6675:1: rule__InfixExpression__Group_1_0__3 : rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 ; + public final void rule__InfixExpression__Group_1_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6679:1: ( rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 ) + // InternalExpression.g:6680:2: rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 + { + pushFollow(FOLLOW_35); + rule__InfixExpression__Group_1_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__3" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__3__Impl" + // InternalExpression.g:6687:1: rule__InfixExpression__Group_1_0__3__Impl : ( '(' ) ; + public final void rule__InfixExpression__Group_1_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6691:1: ( ( '(' ) ) + // InternalExpression.g:6692:1: ( '(' ) + { + // InternalExpression.g:6692:1: ( '(' ) + // InternalExpression.g:6693:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__3__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__4" + // InternalExpression.g:6702:1: rule__InfixExpression__Group_1_0__4 : rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 ; + public final void rule__InfixExpression__Group_1_0__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6706:1: ( rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 ) + // InternalExpression.g:6707:2: rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 + { + pushFollow(FOLLOW_35); + rule__InfixExpression__Group_1_0__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__4" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__4__Impl" + // InternalExpression.g:6714:1: rule__InfixExpression__Group_1_0__4__Impl : ( ( rule__InfixExpression__Group_1_0_4__0 )? ) ; + public final void rule__InfixExpression__Group_1_0__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6718:1: ( ( ( rule__InfixExpression__Group_1_0_4__0 )? ) ) + // InternalExpression.g:6719:1: ( ( rule__InfixExpression__Group_1_0_4__0 )? ) + { + // InternalExpression.g:6719:1: ( ( rule__InfixExpression__Group_1_0_4__0 )? ) + // InternalExpression.g:6720:2: ( rule__InfixExpression__Group_1_0_4__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); + } + // InternalExpression.g:6721:2: ( rule__InfixExpression__Group_1_0_4__0 )? + int alt69=2; + int LA69_0 = input.LA(1); + + if ( (LA69_0==RULE_ID||LA69_0==RULE_INT||(LA69_0>=RULE_REAL && LA69_0<=RULE_STRING)||LA69_0==24||(LA69_0>=27 && LA69_0<=40)||LA69_0==65||LA69_0==67||LA69_0==70||(LA69_0>=73 && LA69_0<=74)||(LA69_0>=80 && LA69_0<=81)||LA69_0==92||LA69_0==102) ) { + alt69=1; + } + switch (alt69) { + case 1 : + // InternalExpression.g:6721:3: rule__InfixExpression__Group_1_0_4__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__4__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__5" + // InternalExpression.g:6729:1: rule__InfixExpression__Group_1_0__5 : rule__InfixExpression__Group_1_0__5__Impl ; + public final void rule__InfixExpression__Group_1_0__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6733:1: ( rule__InfixExpression__Group_1_0__5__Impl ) + // InternalExpression.g:6734:2: rule__InfixExpression__Group_1_0__5__Impl + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__5" + + + // $ANTLR start "rule__InfixExpression__Group_1_0__5__Impl" + // InternalExpression.g:6740:1: rule__InfixExpression__Group_1_0__5__Impl : ( ')' ) ; + public final void rule__InfixExpression__Group_1_0__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6744:1: ( ( ')' ) ) + // InternalExpression.g:6745:1: ( ')' ) + { + // InternalExpression.g:6745:1: ( ')' ) + // InternalExpression.g:6746:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0__5__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_0_4__0" + // InternalExpression.g:6756:1: rule__InfixExpression__Group_1_0_4__0 : rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 ; + public final void rule__InfixExpression__Group_1_0_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6760:1: ( rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 ) + // InternalExpression.g:6761:2: rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 + { + pushFollow(FOLLOW_36); + rule__InfixExpression__Group_1_0_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0_4__0" + + + // $ANTLR start "rule__InfixExpression__Group_1_0_4__0__Impl" + // InternalExpression.g:6768:1: rule__InfixExpression__Group_1_0_4__0__Impl : ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) ; + public final void rule__InfixExpression__Group_1_0_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6772:1: ( ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) ) + // InternalExpression.g:6773:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) + { + // InternalExpression.g:6773:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) + // InternalExpression.g:6774:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); + } + // InternalExpression.g:6775:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) + // InternalExpression.g:6775:3: rule__InfixExpression__ParamsAssignment_1_0_4_0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__ParamsAssignment_1_0_4_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0_4__0__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_0_4__1" + // InternalExpression.g:6783:1: rule__InfixExpression__Group_1_0_4__1 : rule__InfixExpression__Group_1_0_4__1__Impl ; + public final void rule__InfixExpression__Group_1_0_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6787:1: ( rule__InfixExpression__Group_1_0_4__1__Impl ) + // InternalExpression.g:6788:2: rule__InfixExpression__Group_1_0_4__1__Impl + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0_4__1" + + + // $ANTLR start "rule__InfixExpression__Group_1_0_4__1__Impl" + // InternalExpression.g:6794:1: rule__InfixExpression__Group_1_0_4__1__Impl : ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) ; + public final void rule__InfixExpression__Group_1_0_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6798:1: ( ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) ) + // InternalExpression.g:6799:1: ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) + { + // InternalExpression.g:6799:1: ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) + // InternalExpression.g:6800:2: ( rule__InfixExpression__Group_1_0_4_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); + } + // InternalExpression.g:6801:2: ( rule__InfixExpression__Group_1_0_4_1__0 )* + loop70: + do { + int alt70=2; + int LA70_0 = input.LA(1); + + if ( (LA70_0==78) ) { + alt70=1; + } + + + switch (alt70) { + case 1 : + // InternalExpression.g:6801:3: rule__InfixExpression__Group_1_0_4_1__0 + { + pushFollow(FOLLOW_37); + rule__InfixExpression__Group_1_0_4_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop70; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0_4__1__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__0" + // InternalExpression.g:6810:1: rule__InfixExpression__Group_1_0_4_1__0 : rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 ; + public final void rule__InfixExpression__Group_1_0_4_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6814:1: ( rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 ) + // InternalExpression.g:6815:2: rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 + { + pushFollow(FOLLOW_6); + rule__InfixExpression__Group_1_0_4_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0_4_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__0" + + + // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__0__Impl" + // InternalExpression.g:6822:1: rule__InfixExpression__Group_1_0_4_1__0__Impl : ( ',' ) ; + public final void rule__InfixExpression__Group_1_0_4_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6826:1: ( ( ',' ) ) + // InternalExpression.g:6827:1: ( ',' ) + { + // InternalExpression.g:6827:1: ( ',' ) + // InternalExpression.g:6828:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__0__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__1" + // InternalExpression.g:6837:1: rule__InfixExpression__Group_1_0_4_1__1 : rule__InfixExpression__Group_1_0_4_1__1__Impl ; + public final void rule__InfixExpression__Group_1_0_4_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6841:1: ( rule__InfixExpression__Group_1_0_4_1__1__Impl ) + // InternalExpression.g:6842:2: rule__InfixExpression__Group_1_0_4_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0_4_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__1" + + + // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__1__Impl" + // InternalExpression.g:6848:1: rule__InfixExpression__Group_1_0_4_1__1__Impl : ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) ; + public final void rule__InfixExpression__Group_1_0_4_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6852:1: ( ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) ) + // InternalExpression.g:6853:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) + { + // InternalExpression.g:6853:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) + // InternalExpression.g:6854:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); + } + // InternalExpression.g:6855:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) + // InternalExpression.g:6855:3: rule__InfixExpression__ParamsAssignment_1_0_4_1_1 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__ParamsAssignment_1_0_4_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__1__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_1__0" + // InternalExpression.g:6864:1: rule__InfixExpression__Group_1_1__0 : rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 ; + public final void rule__InfixExpression__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6868:1: ( rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 ) + // InternalExpression.g:6869:2: rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 + { + pushFollow(FOLLOW_32); + rule__InfixExpression__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_1__0" + + + // $ANTLR start "rule__InfixExpression__Group_1_1__0__Impl" + // InternalExpression.g:6876:1: rule__InfixExpression__Group_1_1__0__Impl : ( () ) ; + public final void rule__InfixExpression__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6880:1: ( ( () ) ) + // InternalExpression.g:6881:1: ( () ) + { + // InternalExpression.g:6881:1: ( () ) + // InternalExpression.g:6882:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); + } + // InternalExpression.g:6883:2: () + // InternalExpression.g:6883:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_1__0__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_1__1" + // InternalExpression.g:6891:1: rule__InfixExpression__Group_1_1__1 : rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 ; + public final void rule__InfixExpression__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6895:1: ( rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 ) + // InternalExpression.g:6896:2: rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 + { + pushFollow(FOLLOW_8); + rule__InfixExpression__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_1__1" + + + // $ANTLR start "rule__InfixExpression__Group_1_1__1__Impl" + // InternalExpression.g:6903:1: rule__InfixExpression__Group_1_1__1__Impl : ( '.' ) ; + public final void rule__InfixExpression__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6907:1: ( ( '.' ) ) + // InternalExpression.g:6908:1: ( '.' ) + { + // InternalExpression.g:6908:1: ( '.' ) + // InternalExpression.g:6909:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_1__1__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_1__2" + // InternalExpression.g:6918:1: rule__InfixExpression__Group_1_1__2 : rule__InfixExpression__Group_1_1__2__Impl ; + public final void rule__InfixExpression__Group_1_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6922:1: ( rule__InfixExpression__Group_1_1__2__Impl ) + // InternalExpression.g:6923:2: rule__InfixExpression__Group_1_1__2__Impl + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_1__2" + + + // $ANTLR start "rule__InfixExpression__Group_1_1__2__Impl" + // InternalExpression.g:6929:1: rule__InfixExpression__Group_1_1__2__Impl : ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) ; + public final void rule__InfixExpression__Group_1_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6933:1: ( ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) ) + // InternalExpression.g:6934:1: ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) + { + // InternalExpression.g:6934:1: ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) + // InternalExpression.g:6935:2: ( rule__InfixExpression__TypeAssignment_1_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); + } + // InternalExpression.g:6936:2: ( rule__InfixExpression__TypeAssignment_1_1_2 ) + // InternalExpression.g:6936:3: rule__InfixExpression__TypeAssignment_1_1_2 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__TypeAssignment_1_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_1__2__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__0" + // InternalExpression.g:6945:1: rule__InfixExpression__Group_1_2__0 : rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 ; + public final void rule__InfixExpression__Group_1_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6949:1: ( rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 ) + // InternalExpression.g:6950:2: rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 + { + pushFollow(FOLLOW_32); + rule__InfixExpression__Group_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__0" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__0__Impl" + // InternalExpression.g:6957:1: rule__InfixExpression__Group_1_2__0__Impl : ( () ) ; + public final void rule__InfixExpression__Group_1_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6961:1: ( ( () ) ) + // InternalExpression.g:6962:1: ( () ) + { + // InternalExpression.g:6962:1: ( () ) + // InternalExpression.g:6963:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); + } + // InternalExpression.g:6964:2: () + // InternalExpression.g:6964:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__0__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__1" + // InternalExpression.g:6972:1: rule__InfixExpression__Group_1_2__1 : rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 ; + public final void rule__InfixExpression__Group_1_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6976:1: ( rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 ) + // InternalExpression.g:6977:2: rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 + { + pushFollow(FOLLOW_38); + rule__InfixExpression__Group_1_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__1" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__1__Impl" + // InternalExpression.g:6984:1: rule__InfixExpression__Group_1_2__1__Impl : ( '.' ) ; + public final void rule__InfixExpression__Group_1_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:6988:1: ( ( '.' ) ) + // InternalExpression.g:6989:1: ( '.' ) + { + // InternalExpression.g:6989:1: ( '.' ) + // InternalExpression.g:6990:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__1__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__2" + // InternalExpression.g:6999:1: rule__InfixExpression__Group_1_2__2 : rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 ; + public final void rule__InfixExpression__Group_1_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7003:1: ( rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 ) + // InternalExpression.g:7004:2: rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 + { + pushFollow(FOLLOW_34); + rule__InfixExpression__Group_1_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__2" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__2__Impl" + // InternalExpression.g:7011:1: rule__InfixExpression__Group_1_2__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) ; + public final void rule__InfixExpression__Group_1_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7015:1: ( ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) ) + // InternalExpression.g:7016:1: ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) + { + // InternalExpression.g:7016:1: ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) + // InternalExpression.g:7017:2: ( rule__InfixExpression__NameAssignment_1_2_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); + } + // InternalExpression.g:7018:2: ( rule__InfixExpression__NameAssignment_1_2_2 ) + // InternalExpression.g:7018:3: rule__InfixExpression__NameAssignment_1_2_2 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__NameAssignment_1_2_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__2__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__3" + // InternalExpression.g:7026:1: rule__InfixExpression__Group_1_2__3 : rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 ; + public final void rule__InfixExpression__Group_1_2__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7030:1: ( rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 ) + // InternalExpression.g:7031:2: rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 + { + pushFollow(FOLLOW_8); + rule__InfixExpression__Group_1_2__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__3" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__3__Impl" + // InternalExpression.g:7038:1: rule__InfixExpression__Group_1_2__3__Impl : ( '(' ) ; + public final void rule__InfixExpression__Group_1_2__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7042:1: ( ( '(' ) ) + // InternalExpression.g:7043:1: ( '(' ) + { + // InternalExpression.g:7043:1: ( '(' ) + // InternalExpression.g:7044:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__3__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__4" + // InternalExpression.g:7053:1: rule__InfixExpression__Group_1_2__4 : rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 ; + public final void rule__InfixExpression__Group_1_2__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7057:1: ( rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 ) + // InternalExpression.g:7058:2: rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 + { + pushFollow(FOLLOW_9); + rule__InfixExpression__Group_1_2__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__4" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__4__Impl" + // InternalExpression.g:7065:1: rule__InfixExpression__Group_1_2__4__Impl : ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) ; + public final void rule__InfixExpression__Group_1_2__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7069:1: ( ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) ) + // InternalExpression.g:7070:1: ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) + { + // InternalExpression.g:7070:1: ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) + // InternalExpression.g:7071:2: ( rule__InfixExpression__TypeAssignment_1_2_4 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); + } + // InternalExpression.g:7072:2: ( rule__InfixExpression__TypeAssignment_1_2_4 ) + // InternalExpression.g:7072:3: rule__InfixExpression__TypeAssignment_1_2_4 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__TypeAssignment_1_2_4(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__4__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__5" + // InternalExpression.g:7080:1: rule__InfixExpression__Group_1_2__5 : rule__InfixExpression__Group_1_2__5__Impl ; + public final void rule__InfixExpression__Group_1_2__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7084:1: ( rule__InfixExpression__Group_1_2__5__Impl ) + // InternalExpression.g:7085:2: rule__InfixExpression__Group_1_2__5__Impl + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__5" + + + // $ANTLR start "rule__InfixExpression__Group_1_2__5__Impl" + // InternalExpression.g:7091:1: rule__InfixExpression__Group_1_2__5__Impl : ( ')' ) ; + public final void rule__InfixExpression__Group_1_2__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7095:1: ( ( ')' ) ) + // InternalExpression.g:7096:1: ( ')' ) + { + // InternalExpression.g:7096:1: ( ')' ) + // InternalExpression.g:7097:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_2__5__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__0" + // InternalExpression.g:7107:1: rule__InfixExpression__Group_1_3__0 : rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 ; + public final void rule__InfixExpression__Group_1_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7111:1: ( rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 ) + // InternalExpression.g:7112:2: rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 + { + pushFollow(FOLLOW_32); + rule__InfixExpression__Group_1_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__0" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__0__Impl" + // InternalExpression.g:7119:1: rule__InfixExpression__Group_1_3__0__Impl : ( () ) ; + public final void rule__InfixExpression__Group_1_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7123:1: ( ( () ) ) + // InternalExpression.g:7124:1: ( () ) + { + // InternalExpression.g:7124:1: ( () ) + // InternalExpression.g:7125:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); + } + // InternalExpression.g:7126:2: () + // InternalExpression.g:7126:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__0__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__1" + // InternalExpression.g:7134:1: rule__InfixExpression__Group_1_3__1 : rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 ; + public final void rule__InfixExpression__Group_1_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7138:1: ( rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 ) + // InternalExpression.g:7139:2: rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 + { + pushFollow(FOLLOW_39); + rule__InfixExpression__Group_1_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__1" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__1__Impl" + // InternalExpression.g:7146:1: rule__InfixExpression__Group_1_3__1__Impl : ( '.' ) ; + public final void rule__InfixExpression__Group_1_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7150:1: ( ( '.' ) ) + // InternalExpression.g:7151:1: ( '.' ) + { + // InternalExpression.g:7151:1: ( '.' ) + // InternalExpression.g:7152:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__1__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__2" + // InternalExpression.g:7161:1: rule__InfixExpression__Group_1_3__2 : rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 ; + public final void rule__InfixExpression__Group_1_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7165:1: ( rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 ) + // InternalExpression.g:7166:2: rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 + { + pushFollow(FOLLOW_34); + rule__InfixExpression__Group_1_3__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__2" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__2__Impl" + // InternalExpression.g:7173:1: rule__InfixExpression__Group_1_3__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) ; + public final void rule__InfixExpression__Group_1_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7177:1: ( ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) ) + // InternalExpression.g:7178:1: ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) + { + // InternalExpression.g:7178:1: ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) + // InternalExpression.g:7179:2: ( rule__InfixExpression__NameAssignment_1_3_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); + } + // InternalExpression.g:7180:2: ( rule__InfixExpression__NameAssignment_1_3_2 ) + // InternalExpression.g:7180:3: rule__InfixExpression__NameAssignment_1_3_2 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__NameAssignment_1_3_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__2__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__3" + // InternalExpression.g:7188:1: rule__InfixExpression__Group_1_3__3 : rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 ; + public final void rule__InfixExpression__Group_1_3__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7192:1: ( rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 ) + // InternalExpression.g:7193:2: rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 + { + pushFollow(FOLLOW_6); + rule__InfixExpression__Group_1_3__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__3" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__3__Impl" + // InternalExpression.g:7200:1: rule__InfixExpression__Group_1_3__3__Impl : ( '(' ) ; + public final void rule__InfixExpression__Group_1_3__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7204:1: ( ( '(' ) ) + // InternalExpression.g:7205:1: ( '(' ) + { + // InternalExpression.g:7205:1: ( '(' ) + // InternalExpression.g:7206:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__3__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__4" + // InternalExpression.g:7215:1: rule__InfixExpression__Group_1_3__4 : rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 ; + public final void rule__InfixExpression__Group_1_3__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7219:1: ( rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 ) + // InternalExpression.g:7220:2: rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 + { + pushFollow(FOLLOW_6); + rule__InfixExpression__Group_1_3__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__4" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__4__Impl" + // InternalExpression.g:7227:1: rule__InfixExpression__Group_1_3__4__Impl : ( ( rule__InfixExpression__Group_1_3_4__0 )? ) ; + public final void rule__InfixExpression__Group_1_3__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7231:1: ( ( ( rule__InfixExpression__Group_1_3_4__0 )? ) ) + // InternalExpression.g:7232:1: ( ( rule__InfixExpression__Group_1_3_4__0 )? ) + { + // InternalExpression.g:7232:1: ( ( rule__InfixExpression__Group_1_3_4__0 )? ) + // InternalExpression.g:7233:2: ( rule__InfixExpression__Group_1_3_4__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); + } + // InternalExpression.g:7234:2: ( rule__InfixExpression__Group_1_3_4__0 )? + int alt71=2; + int LA71_0 = input.LA(1); + + if ( (LA71_0==RULE_ID) ) { + int LA71_1 = input.LA(2); + + if ( (LA71_1==79) ) { + alt71=1; + } + } + switch (alt71) { + case 1 : + // InternalExpression.g:7234:3: rule__InfixExpression__Group_1_3_4__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__4__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__5" + // InternalExpression.g:7242:1: rule__InfixExpression__Group_1_3__5 : rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 ; + public final void rule__InfixExpression__Group_1_3__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7246:1: ( rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 ) + // InternalExpression.g:7247:2: rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 + { + pushFollow(FOLLOW_9); + rule__InfixExpression__Group_1_3__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__5" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__5__Impl" + // InternalExpression.g:7254:1: rule__InfixExpression__Group_1_3__5__Impl : ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) ; + public final void rule__InfixExpression__Group_1_3__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7258:1: ( ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) ) + // InternalExpression.g:7259:1: ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) + { + // InternalExpression.g:7259:1: ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) + // InternalExpression.g:7260:2: ( rule__InfixExpression__ExpAssignment_1_3_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); + } + // InternalExpression.g:7261:2: ( rule__InfixExpression__ExpAssignment_1_3_5 ) + // InternalExpression.g:7261:3: rule__InfixExpression__ExpAssignment_1_3_5 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__ExpAssignment_1_3_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__5__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__6" + // InternalExpression.g:7269:1: rule__InfixExpression__Group_1_3__6 : rule__InfixExpression__Group_1_3__6__Impl ; + public final void rule__InfixExpression__Group_1_3__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7273:1: ( rule__InfixExpression__Group_1_3__6__Impl ) + // InternalExpression.g:7274:2: rule__InfixExpression__Group_1_3__6__Impl + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__6__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__6" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__6__Impl" + // InternalExpression.g:7280:1: rule__InfixExpression__Group_1_3__6__Impl : ( ')' ) ; + public final void rule__InfixExpression__Group_1_3__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7284:1: ( ( ')' ) ) + // InternalExpression.g:7285:1: ( ')' ) + { + // InternalExpression.g:7285:1: ( ')' ) + // InternalExpression.g:7286:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__6__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3_4__0" + // InternalExpression.g:7296:1: rule__InfixExpression__Group_1_3_4__0 : rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 ; + public final void rule__InfixExpression__Group_1_3_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7300:1: ( rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 ) + // InternalExpression.g:7301:2: rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 + { + pushFollow(FOLLOW_40); + rule__InfixExpression__Group_1_3_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3_4__0" + + + // $ANTLR start "rule__InfixExpression__Group_1_3_4__0__Impl" + // InternalExpression.g:7308:1: rule__InfixExpression__Group_1_3_4__0__Impl : ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) ; + public final void rule__InfixExpression__Group_1_3_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7312:1: ( ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) ) + // InternalExpression.g:7313:1: ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) + { + // InternalExpression.g:7313:1: ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) + // InternalExpression.g:7314:2: ( rule__InfixExpression__VarAssignment_1_3_4_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); + } + // InternalExpression.g:7315:2: ( rule__InfixExpression__VarAssignment_1_3_4_0 ) + // InternalExpression.g:7315:3: rule__InfixExpression__VarAssignment_1_3_4_0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__VarAssignment_1_3_4_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3_4__0__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3_4__1" + // InternalExpression.g:7323:1: rule__InfixExpression__Group_1_3_4__1 : rule__InfixExpression__Group_1_3_4__1__Impl ; + public final void rule__InfixExpression__Group_1_3_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7327:1: ( rule__InfixExpression__Group_1_3_4__1__Impl ) + // InternalExpression.g:7328:2: rule__InfixExpression__Group_1_3_4__1__Impl + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3_4__1" + + + // $ANTLR start "rule__InfixExpression__Group_1_3_4__1__Impl" + // InternalExpression.g:7334:1: rule__InfixExpression__Group_1_3_4__1__Impl : ( '|' ) ; + public final void rule__InfixExpression__Group_1_3_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7338:1: ( ( '|' ) ) + // InternalExpression.g:7339:1: ( '|' ) + { + // InternalExpression.g:7339:1: ( '|' ) + // InternalExpression.g:7340:2: '|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); + } + match(input,79,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3_4__1__Impl" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__0" + // InternalExpression.g:7350:1: rule__ParanthesizedExpression__Group__0 : rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 ; + public final void rule__ParanthesizedExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7354:1: ( rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 ) + // InternalExpression.g:7355:2: rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 + { + pushFollow(FOLLOW_6); + rule__ParanthesizedExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ParanthesizedExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__0" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__0__Impl" + // InternalExpression.g:7362:1: rule__ParanthesizedExpression__Group__0__Impl : ( '(' ) ; + public final void rule__ParanthesizedExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7366:1: ( ( '(' ) ) + // InternalExpression.g:7367:1: ( '(' ) + { + // InternalExpression.g:7367:1: ( '(' ) + // InternalExpression.g:7368:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__0__Impl" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__1" + // InternalExpression.g:7377:1: rule__ParanthesizedExpression__Group__1 : rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 ; + public final void rule__ParanthesizedExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7381:1: ( rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 ) + // InternalExpression.g:7382:2: rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 + { + pushFollow(FOLLOW_9); + rule__ParanthesizedExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ParanthesizedExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__1" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__1__Impl" + // InternalExpression.g:7389:1: rule__ParanthesizedExpression__Group__1__Impl : ( ruleExpression ) ; + public final void rule__ParanthesizedExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7393:1: ( ( ruleExpression ) ) + // InternalExpression.g:7394:1: ( ruleExpression ) + { + // InternalExpression.g:7394:1: ( ruleExpression ) + // InternalExpression.g:7395:2: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__1__Impl" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__2" + // InternalExpression.g:7404:1: rule__ParanthesizedExpression__Group__2 : rule__ParanthesizedExpression__Group__2__Impl ; + public final void rule__ParanthesizedExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7408:1: ( rule__ParanthesizedExpression__Group__2__Impl ) + // InternalExpression.g:7409:2: rule__ParanthesizedExpression__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__ParanthesizedExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__2" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__2__Impl" + // InternalExpression.g:7415:1: rule__ParanthesizedExpression__Group__2__Impl : ( ')' ) ; + public final void rule__ParanthesizedExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7419:1: ( ( ')' ) ) + // InternalExpression.g:7420:1: ( ')' ) + { + // InternalExpression.g:7420:1: ( ')' ) + // InternalExpression.g:7421:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__2__Impl" + + + // $ANTLR start "rule__GlobalVarExpression__Group__0" + // InternalExpression.g:7431:1: rule__GlobalVarExpression__Group__0 : rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 ; + public final void rule__GlobalVarExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7435:1: ( rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 ) + // InternalExpression.g:7436:2: rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 + { + pushFollow(FOLLOW_4); + rule__GlobalVarExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__GlobalVarExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalVarExpression__Group__0" + + + // $ANTLR start "rule__GlobalVarExpression__Group__0__Impl" + // InternalExpression.g:7443:1: rule__GlobalVarExpression__Group__0__Impl : ( 'GLOBALVAR' ) ; + public final void rule__GlobalVarExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7447:1: ( ( 'GLOBALVAR' ) ) + // InternalExpression.g:7448:1: ( 'GLOBALVAR' ) + { + // InternalExpression.g:7448:1: ( 'GLOBALVAR' ) + // InternalExpression.g:7449:2: 'GLOBALVAR' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); + } + match(input,80,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalVarExpression__Group__0__Impl" + + + // $ANTLR start "rule__GlobalVarExpression__Group__1" + // InternalExpression.g:7458:1: rule__GlobalVarExpression__Group__1 : rule__GlobalVarExpression__Group__1__Impl ; + public final void rule__GlobalVarExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7462:1: ( rule__GlobalVarExpression__Group__1__Impl ) + // InternalExpression.g:7463:2: rule__GlobalVarExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__GlobalVarExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalVarExpression__Group__1" + + + // $ANTLR start "rule__GlobalVarExpression__Group__1__Impl" + // InternalExpression.g:7469:1: rule__GlobalVarExpression__Group__1__Impl : ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) ; + public final void rule__GlobalVarExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7473:1: ( ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) ) + // InternalExpression.g:7474:1: ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) + { + // InternalExpression.g:7474:1: ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) + // InternalExpression.g:7475:2: ( rule__GlobalVarExpression__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); + } + // InternalExpression.g:7476:2: ( rule__GlobalVarExpression__NameAssignment_1 ) + // InternalExpression.g:7476:3: rule__GlobalVarExpression__NameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__GlobalVarExpression__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalVarExpression__Group__1__Impl" + + + // $ANTLR start "rule__OperationCall__Group__0" + // InternalExpression.g:7485:1: rule__OperationCall__Group__0 : rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 ; + public final void rule__OperationCall__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7489:1: ( rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 ) + // InternalExpression.g:7490:2: rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 + { + pushFollow(FOLLOW_34); + rule__OperationCall__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OperationCall__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__0" + + + // $ANTLR start "rule__OperationCall__Group__0__Impl" + // InternalExpression.g:7497:1: rule__OperationCall__Group__0__Impl : ( ( rule__OperationCall__NameAssignment_0 ) ) ; + public final void rule__OperationCall__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7501:1: ( ( ( rule__OperationCall__NameAssignment_0 ) ) ) + // InternalExpression.g:7502:1: ( ( rule__OperationCall__NameAssignment_0 ) ) + { + // InternalExpression.g:7502:1: ( ( rule__OperationCall__NameAssignment_0 ) ) + // InternalExpression.g:7503:2: ( rule__OperationCall__NameAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getNameAssignment_0()); + } + // InternalExpression.g:7504:2: ( rule__OperationCall__NameAssignment_0 ) + // InternalExpression.g:7504:3: rule__OperationCall__NameAssignment_0 + { + pushFollow(FOLLOW_2); + rule__OperationCall__NameAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getNameAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__0__Impl" + + + // $ANTLR start "rule__OperationCall__Group__1" + // InternalExpression.g:7512:1: rule__OperationCall__Group__1 : rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 ; + public final void rule__OperationCall__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7516:1: ( rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 ) + // InternalExpression.g:7517:2: rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 + { + pushFollow(FOLLOW_35); + rule__OperationCall__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OperationCall__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__1" + + + // $ANTLR start "rule__OperationCall__Group__1__Impl" + // InternalExpression.g:7524:1: rule__OperationCall__Group__1__Impl : ( '(' ) ; + public final void rule__OperationCall__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7528:1: ( ( '(' ) ) + // InternalExpression.g:7529:1: ( '(' ) + { + // InternalExpression.g:7529:1: ( '(' ) + // InternalExpression.g:7530:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__1__Impl" + + + // $ANTLR start "rule__OperationCall__Group__2" + // InternalExpression.g:7539:1: rule__OperationCall__Group__2 : rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 ; + public final void rule__OperationCall__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7543:1: ( rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 ) + // InternalExpression.g:7544:2: rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 + { + pushFollow(FOLLOW_35); + rule__OperationCall__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OperationCall__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__2" + + + // $ANTLR start "rule__OperationCall__Group__2__Impl" + // InternalExpression.g:7551:1: rule__OperationCall__Group__2__Impl : ( ( rule__OperationCall__Group_2__0 )? ) ; + public final void rule__OperationCall__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7555:1: ( ( ( rule__OperationCall__Group_2__0 )? ) ) + // InternalExpression.g:7556:1: ( ( rule__OperationCall__Group_2__0 )? ) + { + // InternalExpression.g:7556:1: ( ( rule__OperationCall__Group_2__0 )? ) + // InternalExpression.g:7557:2: ( rule__OperationCall__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getGroup_2()); + } + // InternalExpression.g:7558:2: ( rule__OperationCall__Group_2__0 )? + int alt72=2; + int LA72_0 = input.LA(1); + + if ( (LA72_0==RULE_ID||LA72_0==RULE_INT||(LA72_0>=RULE_REAL && LA72_0<=RULE_STRING)||LA72_0==24||(LA72_0>=27 && LA72_0<=40)||LA72_0==65||LA72_0==67||LA72_0==70||(LA72_0>=73 && LA72_0<=74)||(LA72_0>=80 && LA72_0<=81)||LA72_0==92||LA72_0==102) ) { + alt72=1; + } + switch (alt72) { + case 1 : + // InternalExpression.g:7558:3: rule__OperationCall__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__OperationCall__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__2__Impl" + + + // $ANTLR start "rule__OperationCall__Group__3" + // InternalExpression.g:7566:1: rule__OperationCall__Group__3 : rule__OperationCall__Group__3__Impl ; + public final void rule__OperationCall__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7570:1: ( rule__OperationCall__Group__3__Impl ) + // InternalExpression.g:7571:2: rule__OperationCall__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__OperationCall__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__3" + + + // $ANTLR start "rule__OperationCall__Group__3__Impl" + // InternalExpression.g:7577:1: rule__OperationCall__Group__3__Impl : ( ')' ) ; + public final void rule__OperationCall__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7581:1: ( ( ')' ) ) + // InternalExpression.g:7582:1: ( ')' ) + { + // InternalExpression.g:7582:1: ( ')' ) + // InternalExpression.g:7583:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__3__Impl" + + + // $ANTLR start "rule__OperationCall__Group_2__0" + // InternalExpression.g:7593:1: rule__OperationCall__Group_2__0 : rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 ; + public final void rule__OperationCall__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7597:1: ( rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 ) + // InternalExpression.g:7598:2: rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 + { + pushFollow(FOLLOW_36); + rule__OperationCall__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OperationCall__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2__0" + + + // $ANTLR start "rule__OperationCall__Group_2__0__Impl" + // InternalExpression.g:7605:1: rule__OperationCall__Group_2__0__Impl : ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) ; + public final void rule__OperationCall__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7609:1: ( ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) ) + // InternalExpression.g:7610:1: ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) + { + // InternalExpression.g:7610:1: ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) + // InternalExpression.g:7611:2: ( rule__OperationCall__ParamsAssignment_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); + } + // InternalExpression.g:7612:2: ( rule__OperationCall__ParamsAssignment_2_0 ) + // InternalExpression.g:7612:3: rule__OperationCall__ParamsAssignment_2_0 + { + pushFollow(FOLLOW_2); + rule__OperationCall__ParamsAssignment_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2__0__Impl" + + + // $ANTLR start "rule__OperationCall__Group_2__1" + // InternalExpression.g:7620:1: rule__OperationCall__Group_2__1 : rule__OperationCall__Group_2__1__Impl ; + public final void rule__OperationCall__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7624:1: ( rule__OperationCall__Group_2__1__Impl ) + // InternalExpression.g:7625:2: rule__OperationCall__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__OperationCall__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2__1" + + + // $ANTLR start "rule__OperationCall__Group_2__1__Impl" + // InternalExpression.g:7631:1: rule__OperationCall__Group_2__1__Impl : ( ( rule__OperationCall__Group_2_1__0 )* ) ; + public final void rule__OperationCall__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7635:1: ( ( ( rule__OperationCall__Group_2_1__0 )* ) ) + // InternalExpression.g:7636:1: ( ( rule__OperationCall__Group_2_1__0 )* ) + { + // InternalExpression.g:7636:1: ( ( rule__OperationCall__Group_2_1__0 )* ) + // InternalExpression.g:7637:2: ( rule__OperationCall__Group_2_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getGroup_2_1()); + } + // InternalExpression.g:7638:2: ( rule__OperationCall__Group_2_1__0 )* + loop73: + do { + int alt73=2; + int LA73_0 = input.LA(1); + + if ( (LA73_0==78) ) { + alt73=1; + } + + + switch (alt73) { + case 1 : + // InternalExpression.g:7638:3: rule__OperationCall__Group_2_1__0 + { + pushFollow(FOLLOW_37); + rule__OperationCall__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop73; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getGroup_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2__1__Impl" + + + // $ANTLR start "rule__OperationCall__Group_2_1__0" + // InternalExpression.g:7647:1: rule__OperationCall__Group_2_1__0 : rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 ; + public final void rule__OperationCall__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7651:1: ( rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 ) + // InternalExpression.g:7652:2: rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 + { + pushFollow(FOLLOW_6); + rule__OperationCall__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OperationCall__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2_1__0" + + + // $ANTLR start "rule__OperationCall__Group_2_1__0__Impl" + // InternalExpression.g:7659:1: rule__OperationCall__Group_2_1__0__Impl : ( ',' ) ; + public final void rule__OperationCall__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7663:1: ( ( ',' ) ) + // InternalExpression.g:7664:1: ( ',' ) + { + // InternalExpression.g:7664:1: ( ',' ) + // InternalExpression.g:7665:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2_1__0__Impl" + + + // $ANTLR start "rule__OperationCall__Group_2_1__1" + // InternalExpression.g:7674:1: rule__OperationCall__Group_2_1__1 : rule__OperationCall__Group_2_1__1__Impl ; + public final void rule__OperationCall__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7678:1: ( rule__OperationCall__Group_2_1__1__Impl ) + // InternalExpression.g:7679:2: rule__OperationCall__Group_2_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__OperationCall__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2_1__1" + + + // $ANTLR start "rule__OperationCall__Group_2_1__1__Impl" + // InternalExpression.g:7685:1: rule__OperationCall__Group_2_1__1__Impl : ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) ; + public final void rule__OperationCall__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7689:1: ( ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) ) + // InternalExpression.g:7690:1: ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) + { + // InternalExpression.g:7690:1: ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) + // InternalExpression.g:7691:2: ( rule__OperationCall__ParamsAssignment_2_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); + } + // InternalExpression.g:7692:2: ( rule__OperationCall__ParamsAssignment_2_1_1 ) + // InternalExpression.g:7692:3: rule__OperationCall__ParamsAssignment_2_1_1 + { + pushFollow(FOLLOW_2); + rule__OperationCall__ParamsAssignment_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2_1__1__Impl" + + + // $ANTLR start "rule__ListLiteral__Group__0" + // InternalExpression.g:7701:1: rule__ListLiteral__Group__0 : rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 ; + public final void rule__ListLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7705:1: ( rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 ) + // InternalExpression.g:7706:2: rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 + { + pushFollow(FOLLOW_41); + rule__ListLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ListLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__0" + + + // $ANTLR start "rule__ListLiteral__Group__0__Impl" + // InternalExpression.g:7713:1: rule__ListLiteral__Group__0__Impl : ( () ) ; + public final void rule__ListLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7717:1: ( ( () ) ) + // InternalExpression.g:7718:1: ( () ) + { + // InternalExpression.g:7718:1: ( () ) + // InternalExpression.g:7719:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); + } + // InternalExpression.g:7720:2: () + // InternalExpression.g:7720:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__0__Impl" + + + // $ANTLR start "rule__ListLiteral__Group__1" + // InternalExpression.g:7728:1: rule__ListLiteral__Group__1 : rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 ; + public final void rule__ListLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7732:1: ( rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 ) + // InternalExpression.g:7733:2: rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 + { + pushFollow(FOLLOW_42); + rule__ListLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ListLiteral__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__1" + + + // $ANTLR start "rule__ListLiteral__Group__1__Impl" + // InternalExpression.g:7740:1: rule__ListLiteral__Group__1__Impl : ( '{' ) ; + public final void rule__ListLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7744:1: ( ( '{' ) ) + // InternalExpression.g:7745:1: ( '{' ) + { + // InternalExpression.g:7745:1: ( '{' ) + // InternalExpression.g:7746:2: '{' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__1__Impl" + + + // $ANTLR start "rule__ListLiteral__Group__2" + // InternalExpression.g:7755:1: rule__ListLiteral__Group__2 : rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 ; + public final void rule__ListLiteral__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7759:1: ( rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 ) + // InternalExpression.g:7760:2: rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 + { + pushFollow(FOLLOW_42); + rule__ListLiteral__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ListLiteral__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__2" + + + // $ANTLR start "rule__ListLiteral__Group__2__Impl" + // InternalExpression.g:7767:1: rule__ListLiteral__Group__2__Impl : ( ( rule__ListLiteral__Group_2__0 )? ) ; + public final void rule__ListLiteral__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7771:1: ( ( ( rule__ListLiteral__Group_2__0 )? ) ) + // InternalExpression.g:7772:1: ( ( rule__ListLiteral__Group_2__0 )? ) + { + // InternalExpression.g:7772:1: ( ( rule__ListLiteral__Group_2__0 )? ) + // InternalExpression.g:7773:2: ( rule__ListLiteral__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getGroup_2()); + } + // InternalExpression.g:7774:2: ( rule__ListLiteral__Group_2__0 )? + int alt74=2; + int LA74_0 = input.LA(1); + + if ( (LA74_0==RULE_ID||LA74_0==RULE_INT||(LA74_0>=RULE_REAL && LA74_0<=RULE_STRING)||LA74_0==24||(LA74_0>=27 && LA74_0<=40)||LA74_0==65||LA74_0==67||LA74_0==70||(LA74_0>=73 && LA74_0<=74)||(LA74_0>=80 && LA74_0<=81)||LA74_0==92||LA74_0==102) ) { + alt74=1; + } + switch (alt74) { + case 1 : + // InternalExpression.g:7774:3: rule__ListLiteral__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__ListLiteral__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__2__Impl" + + + // $ANTLR start "rule__ListLiteral__Group__3" + // InternalExpression.g:7782:1: rule__ListLiteral__Group__3 : rule__ListLiteral__Group__3__Impl ; + public final void rule__ListLiteral__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7786:1: ( rule__ListLiteral__Group__3__Impl ) + // InternalExpression.g:7787:2: rule__ListLiteral__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__ListLiteral__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__3" + + + // $ANTLR start "rule__ListLiteral__Group__3__Impl" + // InternalExpression.g:7793:1: rule__ListLiteral__Group__3__Impl : ( '}' ) ; + public final void rule__ListLiteral__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7797:1: ( ( '}' ) ) + // InternalExpression.g:7798:1: ( '}' ) + { + // InternalExpression.g:7798:1: ( '}' ) + // InternalExpression.g:7799:2: '}' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); + } + match(input,76,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__3__Impl" + + + // $ANTLR start "rule__ListLiteral__Group_2__0" + // InternalExpression.g:7809:1: rule__ListLiteral__Group_2__0 : rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 ; + public final void rule__ListLiteral__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7813:1: ( rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 ) + // InternalExpression.g:7814:2: rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 + { + pushFollow(FOLLOW_36); + rule__ListLiteral__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ListLiteral__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2__0" + + + // $ANTLR start "rule__ListLiteral__Group_2__0__Impl" + // InternalExpression.g:7821:1: rule__ListLiteral__Group_2__0__Impl : ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) ; + public final void rule__ListLiteral__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7825:1: ( ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) ) + // InternalExpression.g:7826:1: ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) + { + // InternalExpression.g:7826:1: ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) + // InternalExpression.g:7827:2: ( rule__ListLiteral__ElementsAssignment_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); + } + // InternalExpression.g:7828:2: ( rule__ListLiteral__ElementsAssignment_2_0 ) + // InternalExpression.g:7828:3: rule__ListLiteral__ElementsAssignment_2_0 + { + pushFollow(FOLLOW_2); + rule__ListLiteral__ElementsAssignment_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2__0__Impl" + + + // $ANTLR start "rule__ListLiteral__Group_2__1" + // InternalExpression.g:7836:1: rule__ListLiteral__Group_2__1 : rule__ListLiteral__Group_2__1__Impl ; + public final void rule__ListLiteral__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7840:1: ( rule__ListLiteral__Group_2__1__Impl ) + // InternalExpression.g:7841:2: rule__ListLiteral__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__ListLiteral__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2__1" + + + // $ANTLR start "rule__ListLiteral__Group_2__1__Impl" + // InternalExpression.g:7847:1: rule__ListLiteral__Group_2__1__Impl : ( ( rule__ListLiteral__Group_2_1__0 )* ) ; + public final void rule__ListLiteral__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7851:1: ( ( ( rule__ListLiteral__Group_2_1__0 )* ) ) + // InternalExpression.g:7852:1: ( ( rule__ListLiteral__Group_2_1__0 )* ) + { + // InternalExpression.g:7852:1: ( ( rule__ListLiteral__Group_2_1__0 )* ) + // InternalExpression.g:7853:2: ( rule__ListLiteral__Group_2_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getGroup_2_1()); + } + // InternalExpression.g:7854:2: ( rule__ListLiteral__Group_2_1__0 )* + loop75: + do { + int alt75=2; + int LA75_0 = input.LA(1); + + if ( (LA75_0==78) ) { + alt75=1; + } + + + switch (alt75) { + case 1 : + // InternalExpression.g:7854:3: rule__ListLiteral__Group_2_1__0 + { + pushFollow(FOLLOW_37); + rule__ListLiteral__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop75; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getGroup_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2__1__Impl" + + + // $ANTLR start "rule__ListLiteral__Group_2_1__0" + // InternalExpression.g:7863:1: rule__ListLiteral__Group_2_1__0 : rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 ; + public final void rule__ListLiteral__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7867:1: ( rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 ) + // InternalExpression.g:7868:2: rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 + { + pushFollow(FOLLOW_6); + rule__ListLiteral__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ListLiteral__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2_1__0" + + + // $ANTLR start "rule__ListLiteral__Group_2_1__0__Impl" + // InternalExpression.g:7875:1: rule__ListLiteral__Group_2_1__0__Impl : ( ',' ) ; + public final void rule__ListLiteral__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7879:1: ( ( ',' ) ) + // InternalExpression.g:7880:1: ( ',' ) + { + // InternalExpression.g:7880:1: ( ',' ) + // InternalExpression.g:7881:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2_1__0__Impl" + + + // $ANTLR start "rule__ListLiteral__Group_2_1__1" + // InternalExpression.g:7890:1: rule__ListLiteral__Group_2_1__1 : rule__ListLiteral__Group_2_1__1__Impl ; + public final void rule__ListLiteral__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7894:1: ( rule__ListLiteral__Group_2_1__1__Impl ) + // InternalExpression.g:7895:2: rule__ListLiteral__Group_2_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__ListLiteral__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2_1__1" + + + // $ANTLR start "rule__ListLiteral__Group_2_1__1__Impl" + // InternalExpression.g:7901:1: rule__ListLiteral__Group_2_1__1__Impl : ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) ; + public final void rule__ListLiteral__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7905:1: ( ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) ) + // InternalExpression.g:7906:1: ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) + { + // InternalExpression.g:7906:1: ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) + // InternalExpression.g:7907:2: ( rule__ListLiteral__ElementsAssignment_2_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); + } + // InternalExpression.g:7908:2: ( rule__ListLiteral__ElementsAssignment_2_1_1 ) + // InternalExpression.g:7908:3: rule__ListLiteral__ElementsAssignment_2_1_1 + { + pushFollow(FOLLOW_2); + rule__ListLiteral__ElementsAssignment_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2_1__1__Impl" + + + // $ANTLR start "rule__ConstructorCallExpression__Group__0" + // InternalExpression.g:7917:1: rule__ConstructorCallExpression__Group__0 : rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 ; + public final void rule__ConstructorCallExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7921:1: ( rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 ) + // InternalExpression.g:7922:2: rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 + { + pushFollow(FOLLOW_8); + rule__ConstructorCallExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ConstructorCallExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstructorCallExpression__Group__0" + + + // $ANTLR start "rule__ConstructorCallExpression__Group__0__Impl" + // InternalExpression.g:7929:1: rule__ConstructorCallExpression__Group__0__Impl : ( 'new' ) ; + public final void rule__ConstructorCallExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7933:1: ( ( 'new' ) ) + // InternalExpression.g:7934:1: ( 'new' ) + { + // InternalExpression.g:7934:1: ( 'new' ) + // InternalExpression.g:7935:2: 'new' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); + } + match(input,81,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstructorCallExpression__Group__0__Impl" + + + // $ANTLR start "rule__ConstructorCallExpression__Group__1" + // InternalExpression.g:7944:1: rule__ConstructorCallExpression__Group__1 : rule__ConstructorCallExpression__Group__1__Impl ; + public final void rule__ConstructorCallExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7948:1: ( rule__ConstructorCallExpression__Group__1__Impl ) + // InternalExpression.g:7949:2: rule__ConstructorCallExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__ConstructorCallExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstructorCallExpression__Group__1" + + + // $ANTLR start "rule__ConstructorCallExpression__Group__1__Impl" + // InternalExpression.g:7955:1: rule__ConstructorCallExpression__Group__1__Impl : ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) ; + public final void rule__ConstructorCallExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7959:1: ( ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) ) + // InternalExpression.g:7960:1: ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) + { + // InternalExpression.g:7960:1: ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) + // InternalExpression.g:7961:2: ( rule__ConstructorCallExpression__TypeAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); + } + // InternalExpression.g:7962:2: ( rule__ConstructorCallExpression__TypeAssignment_1 ) + // InternalExpression.g:7962:3: rule__ConstructorCallExpression__TypeAssignment_1 + { + pushFollow(FOLLOW_2); + rule__ConstructorCallExpression__TypeAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstructorCallExpression__Group__1__Impl" + + + // $ANTLR start "rule__TypeSelectExpression__Group__0" + // InternalExpression.g:7971:1: rule__TypeSelectExpression__Group__0 : rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 ; + public final void rule__TypeSelectExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7975:1: ( rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 ) + // InternalExpression.g:7976:2: rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 + { + pushFollow(FOLLOW_34); + rule__TypeSelectExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__0" + + + // $ANTLR start "rule__TypeSelectExpression__Group__0__Impl" + // InternalExpression.g:7983:1: rule__TypeSelectExpression__Group__0__Impl : ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) ; + public final void rule__TypeSelectExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:7987:1: ( ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) ) + // InternalExpression.g:7988:1: ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) + { + // InternalExpression.g:7988:1: ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) + // InternalExpression.g:7989:2: ( rule__TypeSelectExpression__NameAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); + } + // InternalExpression.g:7990:2: ( rule__TypeSelectExpression__NameAssignment_0 ) + // InternalExpression.g:7990:3: rule__TypeSelectExpression__NameAssignment_0 + { + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__NameAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__0__Impl" + + + // $ANTLR start "rule__TypeSelectExpression__Group__1" + // InternalExpression.g:7998:1: rule__TypeSelectExpression__Group__1 : rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 ; + public final void rule__TypeSelectExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8002:1: ( rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 ) + // InternalExpression.g:8003:2: rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 + { + pushFollow(FOLLOW_8); + rule__TypeSelectExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__1" + + + // $ANTLR start "rule__TypeSelectExpression__Group__1__Impl" + // InternalExpression.g:8010:1: rule__TypeSelectExpression__Group__1__Impl : ( '(' ) ; + public final void rule__TypeSelectExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8014:1: ( ( '(' ) ) + // InternalExpression.g:8015:1: ( '(' ) + { + // InternalExpression.g:8015:1: ( '(' ) + // InternalExpression.g:8016:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__1__Impl" + + + // $ANTLR start "rule__TypeSelectExpression__Group__2" + // InternalExpression.g:8025:1: rule__TypeSelectExpression__Group__2 : rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 ; + public final void rule__TypeSelectExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8029:1: ( rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 ) + // InternalExpression.g:8030:2: rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 + { + pushFollow(FOLLOW_9); + rule__TypeSelectExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__2" + + + // $ANTLR start "rule__TypeSelectExpression__Group__2__Impl" + // InternalExpression.g:8037:1: rule__TypeSelectExpression__Group__2__Impl : ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) ; + public final void rule__TypeSelectExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8041:1: ( ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) ) + // InternalExpression.g:8042:1: ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) + { + // InternalExpression.g:8042:1: ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) + // InternalExpression.g:8043:2: ( rule__TypeSelectExpression__TypeAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); + } + // InternalExpression.g:8044:2: ( rule__TypeSelectExpression__TypeAssignment_2 ) + // InternalExpression.g:8044:3: rule__TypeSelectExpression__TypeAssignment_2 + { + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__TypeAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__2__Impl" + + + // $ANTLR start "rule__TypeSelectExpression__Group__3" + // InternalExpression.g:8052:1: rule__TypeSelectExpression__Group__3 : rule__TypeSelectExpression__Group__3__Impl ; + public final void rule__TypeSelectExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8056:1: ( rule__TypeSelectExpression__Group__3__Impl ) + // InternalExpression.g:8057:2: rule__TypeSelectExpression__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__3" + + + // $ANTLR start "rule__TypeSelectExpression__Group__3__Impl" + // InternalExpression.g:8063:1: rule__TypeSelectExpression__Group__3__Impl : ( ')' ) ; + public final void rule__TypeSelectExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8067:1: ( ( ')' ) ) + // InternalExpression.g:8068:1: ( ')' ) + { + // InternalExpression.g:8068:1: ( ')' ) + // InternalExpression.g:8069:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__3__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group__0" + // InternalExpression.g:8079:1: rule__CollectionExpression__Group__0 : rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 ; + public final void rule__CollectionExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8083:1: ( rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 ) + // InternalExpression.g:8084:2: rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 + { + pushFollow(FOLLOW_34); + rule__CollectionExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__0" + + + // $ANTLR start "rule__CollectionExpression__Group__0__Impl" + // InternalExpression.g:8091:1: rule__CollectionExpression__Group__0__Impl : ( ( rule__CollectionExpression__NameAssignment_0 ) ) ; + public final void rule__CollectionExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8095:1: ( ( ( rule__CollectionExpression__NameAssignment_0 ) ) ) + // InternalExpression.g:8096:1: ( ( rule__CollectionExpression__NameAssignment_0 ) ) + { + // InternalExpression.g:8096:1: ( ( rule__CollectionExpression__NameAssignment_0 ) ) + // InternalExpression.g:8097:2: ( rule__CollectionExpression__NameAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); + } + // InternalExpression.g:8098:2: ( rule__CollectionExpression__NameAssignment_0 ) + // InternalExpression.g:8098:3: rule__CollectionExpression__NameAssignment_0 + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__NameAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__0__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group__1" + // InternalExpression.g:8106:1: rule__CollectionExpression__Group__1 : rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 ; + public final void rule__CollectionExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8110:1: ( rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 ) + // InternalExpression.g:8111:2: rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 + { + pushFollow(FOLLOW_6); + rule__CollectionExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__1" + + + // $ANTLR start "rule__CollectionExpression__Group__1__Impl" + // InternalExpression.g:8118:1: rule__CollectionExpression__Group__1__Impl : ( '(' ) ; + public final void rule__CollectionExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8122:1: ( ( '(' ) ) + // InternalExpression.g:8123:1: ( '(' ) + { + // InternalExpression.g:8123:1: ( '(' ) + // InternalExpression.g:8124:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__1__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group__2" + // InternalExpression.g:8133:1: rule__CollectionExpression__Group__2 : rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 ; + public final void rule__CollectionExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8137:1: ( rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 ) + // InternalExpression.g:8138:2: rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 + { + pushFollow(FOLLOW_6); + rule__CollectionExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__2" + + + // $ANTLR start "rule__CollectionExpression__Group__2__Impl" + // InternalExpression.g:8145:1: rule__CollectionExpression__Group__2__Impl : ( ( rule__CollectionExpression__Group_2__0 )? ) ; + public final void rule__CollectionExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8149:1: ( ( ( rule__CollectionExpression__Group_2__0 )? ) ) + // InternalExpression.g:8150:1: ( ( rule__CollectionExpression__Group_2__0 )? ) + { + // InternalExpression.g:8150:1: ( ( rule__CollectionExpression__Group_2__0 )? ) + // InternalExpression.g:8151:2: ( rule__CollectionExpression__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getGroup_2()); + } + // InternalExpression.g:8152:2: ( rule__CollectionExpression__Group_2__0 )? + int alt76=2; + int LA76_0 = input.LA(1); + + if ( (LA76_0==RULE_ID) ) { + int LA76_1 = input.LA(2); + + if ( (LA76_1==79) ) { + alt76=1; + } + } + switch (alt76) { + case 1 : + // InternalExpression.g:8152:3: rule__CollectionExpression__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__2__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group__3" + // InternalExpression.g:8160:1: rule__CollectionExpression__Group__3 : rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 ; + public final void rule__CollectionExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8164:1: ( rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 ) + // InternalExpression.g:8165:2: rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 + { + pushFollow(FOLLOW_9); + rule__CollectionExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__3" + + + // $ANTLR start "rule__CollectionExpression__Group__3__Impl" + // InternalExpression.g:8172:1: rule__CollectionExpression__Group__3__Impl : ( ( rule__CollectionExpression__ExpAssignment_3 ) ) ; + public final void rule__CollectionExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8176:1: ( ( ( rule__CollectionExpression__ExpAssignment_3 ) ) ) + // InternalExpression.g:8177:1: ( ( rule__CollectionExpression__ExpAssignment_3 ) ) + { + // InternalExpression.g:8177:1: ( ( rule__CollectionExpression__ExpAssignment_3 ) ) + // InternalExpression.g:8178:2: ( rule__CollectionExpression__ExpAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); + } + // InternalExpression.g:8179:2: ( rule__CollectionExpression__ExpAssignment_3 ) + // InternalExpression.g:8179:3: rule__CollectionExpression__ExpAssignment_3 + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__ExpAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__3__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group__4" + // InternalExpression.g:8187:1: rule__CollectionExpression__Group__4 : rule__CollectionExpression__Group__4__Impl ; + public final void rule__CollectionExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8191:1: ( rule__CollectionExpression__Group__4__Impl ) + // InternalExpression.g:8192:2: rule__CollectionExpression__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__4" + + + // $ANTLR start "rule__CollectionExpression__Group__4__Impl" + // InternalExpression.g:8198:1: rule__CollectionExpression__Group__4__Impl : ( ')' ) ; + public final void rule__CollectionExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8202:1: ( ( ')' ) ) + // InternalExpression.g:8203:1: ( ')' ) + { + // InternalExpression.g:8203:1: ( ')' ) + // InternalExpression.g:8204:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__4__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group_2__0" + // InternalExpression.g:8214:1: rule__CollectionExpression__Group_2__0 : rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 ; + public final void rule__CollectionExpression__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8218:1: ( rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 ) + // InternalExpression.g:8219:2: rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 + { + pushFollow(FOLLOW_40); + rule__CollectionExpression__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group_2__0" + + + // $ANTLR start "rule__CollectionExpression__Group_2__0__Impl" + // InternalExpression.g:8226:1: rule__CollectionExpression__Group_2__0__Impl : ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) ; + public final void rule__CollectionExpression__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8230:1: ( ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) ) + // InternalExpression.g:8231:1: ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) + { + // InternalExpression.g:8231:1: ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) + // InternalExpression.g:8232:2: ( rule__CollectionExpression__VarAssignment_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); + } + // InternalExpression.g:8233:2: ( rule__CollectionExpression__VarAssignment_2_0 ) + // InternalExpression.g:8233:3: rule__CollectionExpression__VarAssignment_2_0 + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__VarAssignment_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group_2__0__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group_2__1" + // InternalExpression.g:8241:1: rule__CollectionExpression__Group_2__1 : rule__CollectionExpression__Group_2__1__Impl ; + public final void rule__CollectionExpression__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8245:1: ( rule__CollectionExpression__Group_2__1__Impl ) + // InternalExpression.g:8246:2: rule__CollectionExpression__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group_2__1" + + + // $ANTLR start "rule__CollectionExpression__Group_2__1__Impl" + // InternalExpression.g:8252:1: rule__CollectionExpression__Group_2__1__Impl : ( '|' ) ; + public final void rule__CollectionExpression__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8256:1: ( ( '|' ) ) + // InternalExpression.g:8257:1: ( '|' ) + { + // InternalExpression.g:8257:1: ( '|' ) + // InternalExpression.g:8258:2: '|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); + } + match(input,79,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group_2__1__Impl" + + + // $ANTLR start "rule__CollectionType__Group__0" + // InternalExpression.g:8268:1: rule__CollectionType__Group__0 : rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 ; + public final void rule__CollectionType__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8272:1: ( rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 ) + // InternalExpression.g:8273:2: rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 + { + pushFollow(FOLLOW_43); + rule__CollectionType__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionType__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__0" + + + // $ANTLR start "rule__CollectionType__Group__0__Impl" + // InternalExpression.g:8280:1: rule__CollectionType__Group__0__Impl : ( ( rule__CollectionType__ClAssignment_0 ) ) ; + public final void rule__CollectionType__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8284:1: ( ( ( rule__CollectionType__ClAssignment_0 ) ) ) + // InternalExpression.g:8285:1: ( ( rule__CollectionType__ClAssignment_0 ) ) + { + // InternalExpression.g:8285:1: ( ( rule__CollectionType__ClAssignment_0 ) ) + // InternalExpression.g:8286:2: ( rule__CollectionType__ClAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); + } + // InternalExpression.g:8287:2: ( rule__CollectionType__ClAssignment_0 ) + // InternalExpression.g:8287:3: rule__CollectionType__ClAssignment_0 + { + pushFollow(FOLLOW_2); + rule__CollectionType__ClAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__0__Impl" + + + // $ANTLR start "rule__CollectionType__Group__1" + // InternalExpression.g:8295:1: rule__CollectionType__Group__1 : rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 ; + public final void rule__CollectionType__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8299:1: ( rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 ) + // InternalExpression.g:8300:2: rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 + { + pushFollow(FOLLOW_8); + rule__CollectionType__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionType__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__1" + + + // $ANTLR start "rule__CollectionType__Group__1__Impl" + // InternalExpression.g:8307:1: rule__CollectionType__Group__1__Impl : ( '[' ) ; + public final void rule__CollectionType__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8311:1: ( ( '[' ) ) + // InternalExpression.g:8312:1: ( '[' ) + { + // InternalExpression.g:8312:1: ( '[' ) + // InternalExpression.g:8313:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); + } + match(input,82,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__1__Impl" + + + // $ANTLR start "rule__CollectionType__Group__2" + // InternalExpression.g:8322:1: rule__CollectionType__Group__2 : rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 ; + public final void rule__CollectionType__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8326:1: ( rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 ) + // InternalExpression.g:8327:2: rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 + { + pushFollow(FOLLOW_44); + rule__CollectionType__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionType__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__2" + + + // $ANTLR start "rule__CollectionType__Group__2__Impl" + // InternalExpression.g:8334:1: rule__CollectionType__Group__2__Impl : ( ( rule__CollectionType__Id1Assignment_2 ) ) ; + public final void rule__CollectionType__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8338:1: ( ( ( rule__CollectionType__Id1Assignment_2 ) ) ) + // InternalExpression.g:8339:1: ( ( rule__CollectionType__Id1Assignment_2 ) ) + { + // InternalExpression.g:8339:1: ( ( rule__CollectionType__Id1Assignment_2 ) ) + // InternalExpression.g:8340:2: ( rule__CollectionType__Id1Assignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); + } + // InternalExpression.g:8341:2: ( rule__CollectionType__Id1Assignment_2 ) + // InternalExpression.g:8341:3: rule__CollectionType__Id1Assignment_2 + { + pushFollow(FOLLOW_2); + rule__CollectionType__Id1Assignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__2__Impl" + + + // $ANTLR start "rule__CollectionType__Group__3" + // InternalExpression.g:8349:1: rule__CollectionType__Group__3 : rule__CollectionType__Group__3__Impl ; + public final void rule__CollectionType__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8353:1: ( rule__CollectionType__Group__3__Impl ) + // InternalExpression.g:8354:2: rule__CollectionType__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__CollectionType__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__3" + + + // $ANTLR start "rule__CollectionType__Group__3__Impl" + // InternalExpression.g:8360:1: rule__CollectionType__Group__3__Impl : ( ']' ) ; + public final void rule__CollectionType__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8364:1: ( ( ']' ) ) + // InternalExpression.g:8365:1: ( ']' ) + { + // InternalExpression.g:8365:1: ( ']' ) + // InternalExpression.g:8366:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); + } + match(input,83,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__3__Impl" + + + // $ANTLR start "rule__SimpleType__Group__0" + // InternalExpression.g:8376:1: rule__SimpleType__Group__0 : rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 ; + public final void rule__SimpleType__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8380:1: ( rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 ) + // InternalExpression.g:8381:2: rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 + { + pushFollow(FOLLOW_45); + rule__SimpleType__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__SimpleType__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group__0" + + + // $ANTLR start "rule__SimpleType__Group__0__Impl" + // InternalExpression.g:8388:1: rule__SimpleType__Group__0__Impl : ( ( rule__SimpleType__IdAssignment_0 ) ) ; + public final void rule__SimpleType__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8392:1: ( ( ( rule__SimpleType__IdAssignment_0 ) ) ) + // InternalExpression.g:8393:1: ( ( rule__SimpleType__IdAssignment_0 ) ) + { + // InternalExpression.g:8393:1: ( ( rule__SimpleType__IdAssignment_0 ) ) + // InternalExpression.g:8394:2: ( rule__SimpleType__IdAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); + } + // InternalExpression.g:8395:2: ( rule__SimpleType__IdAssignment_0 ) + // InternalExpression.g:8395:3: rule__SimpleType__IdAssignment_0 + { + pushFollow(FOLLOW_2); + rule__SimpleType__IdAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group__0__Impl" + + + // $ANTLR start "rule__SimpleType__Group__1" + // InternalExpression.g:8403:1: rule__SimpleType__Group__1 : rule__SimpleType__Group__1__Impl ; + public final void rule__SimpleType__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8407:1: ( rule__SimpleType__Group__1__Impl ) + // InternalExpression.g:8408:2: rule__SimpleType__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__SimpleType__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group__1" + + + // $ANTLR start "rule__SimpleType__Group__1__Impl" + // InternalExpression.g:8414:1: rule__SimpleType__Group__1__Impl : ( ( rule__SimpleType__Group_1__0 )* ) ; + public final void rule__SimpleType__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8418:1: ( ( ( rule__SimpleType__Group_1__0 )* ) ) + // InternalExpression.g:8419:1: ( ( rule__SimpleType__Group_1__0 )* ) + { + // InternalExpression.g:8419:1: ( ( rule__SimpleType__Group_1__0 )* ) + // InternalExpression.g:8420:2: ( rule__SimpleType__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getGroup_1()); + } + // InternalExpression.g:8421:2: ( rule__SimpleType__Group_1__0 )* + loop77: + do { + int alt77=2; + int LA77_0 = input.LA(1); + + if ( (LA77_0==84) ) { + alt77=1; + } + + + switch (alt77) { + case 1 : + // InternalExpression.g:8421:3: rule__SimpleType__Group_1__0 + { + pushFollow(FOLLOW_46); + rule__SimpleType__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop77; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group__1__Impl" + + + // $ANTLR start "rule__SimpleType__Group_1__0" + // InternalExpression.g:8430:1: rule__SimpleType__Group_1__0 : rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 ; + public final void rule__SimpleType__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8434:1: ( rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 ) + // InternalExpression.g:8435:2: rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 + { + pushFollow(FOLLOW_4); + rule__SimpleType__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__SimpleType__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group_1__0" + + + // $ANTLR start "rule__SimpleType__Group_1__0__Impl" + // InternalExpression.g:8442:1: rule__SimpleType__Group_1__0__Impl : ( '::' ) ; + public final void rule__SimpleType__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8446:1: ( ( '::' ) ) + // InternalExpression.g:8447:1: ( '::' ) + { + // InternalExpression.g:8447:1: ( '::' ) + // InternalExpression.g:8448:2: '::' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); + } + match(input,84,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group_1__0__Impl" + + + // $ANTLR start "rule__SimpleType__Group_1__1" + // InternalExpression.g:8457:1: rule__SimpleType__Group_1__1 : rule__SimpleType__Group_1__1__Impl ; + public final void rule__SimpleType__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8461:1: ( rule__SimpleType__Group_1__1__Impl ) + // InternalExpression.g:8462:2: rule__SimpleType__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__SimpleType__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group_1__1" + + + // $ANTLR start "rule__SimpleType__Group_1__1__Impl" + // InternalExpression.g:8468:1: rule__SimpleType__Group_1__1__Impl : ( ( rule__SimpleType__IdAssignment_1_1 ) ) ; + public final void rule__SimpleType__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8472:1: ( ( ( rule__SimpleType__IdAssignment_1_1 ) ) ) + // InternalExpression.g:8473:1: ( ( rule__SimpleType__IdAssignment_1_1 ) ) + { + // InternalExpression.g:8473:1: ( ( rule__SimpleType__IdAssignment_1_1 ) ) + // InternalExpression.g:8474:2: ( rule__SimpleType__IdAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); + } + // InternalExpression.g:8475:2: ( rule__SimpleType__IdAssignment_1_1 ) + // InternalExpression.g:8475:3: rule__SimpleType__IdAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__SimpleType__IdAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group_1__1__Impl" + + + // $ANTLR start "rule__XAssignment__Group_0__0" + // InternalExpression.g:8484:1: rule__XAssignment__Group_0__0 : rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 ; + public final void rule__XAssignment__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8488:1: ( rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 ) + // InternalExpression.g:8489:2: rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 + { + pushFollow(FOLLOW_47); + rule__XAssignment__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__0" + + + // $ANTLR start "rule__XAssignment__Group_0__0__Impl" + // InternalExpression.g:8496:1: rule__XAssignment__Group_0__0__Impl : ( () ) ; + public final void rule__XAssignment__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8500:1: ( ( () ) ) + // InternalExpression.g:8501:1: ( () ) + { + // InternalExpression.g:8501:1: ( () ) + // InternalExpression.g:8502:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0()); + } + // InternalExpression.g:8503:2: () + // InternalExpression.g:8503:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__0__Impl" + + + // $ANTLR start "rule__XAssignment__Group_0__1" + // InternalExpression.g:8511:1: rule__XAssignment__Group_0__1 : rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 ; + public final void rule__XAssignment__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8515:1: ( rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 ) + // InternalExpression.g:8516:2: rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 + { + pushFollow(FOLLOW_5); + rule__XAssignment__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__1" + + + // $ANTLR start "rule__XAssignment__Group_0__1__Impl" + // InternalExpression.g:8523:1: rule__XAssignment__Group_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) ; + public final void rule__XAssignment__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8527:1: ( ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) ) + // InternalExpression.g:8528:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) + { + // InternalExpression.g:8528:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) + // InternalExpression.g:8529:2: ( rule__XAssignment__FeatureAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1()); + } + // InternalExpression.g:8530:2: ( rule__XAssignment__FeatureAssignment_0_1 ) + // InternalExpression.g:8530:3: rule__XAssignment__FeatureAssignment_0_1 + { + pushFollow(FOLLOW_2); + rule__XAssignment__FeatureAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__1__Impl" + + + // $ANTLR start "rule__XAssignment__Group_0__2" + // InternalExpression.g:8538:1: rule__XAssignment__Group_0__2 : rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 ; + public final void rule__XAssignment__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8542:1: ( rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 ) + // InternalExpression.g:8543:2: rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 + { + pushFollow(FOLLOW_48); + rule__XAssignment__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__2" + + + // $ANTLR start "rule__XAssignment__Group_0__2__Impl" + // InternalExpression.g:8550:1: rule__XAssignment__Group_0__2__Impl : ( ruleOpSingleAssign ) ; + public final void rule__XAssignment__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8554:1: ( ( ruleOpSingleAssign ) ) + // InternalExpression.g:8555:1: ( ruleOpSingleAssign ) + { + // InternalExpression.g:8555:1: ( ruleOpSingleAssign ) + // InternalExpression.g:8556:2: ruleOpSingleAssign + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); + } + pushFollow(FOLLOW_2); + ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__2__Impl" + + + // $ANTLR start "rule__XAssignment__Group_0__3" + // InternalExpression.g:8565:1: rule__XAssignment__Group_0__3 : rule__XAssignment__Group_0__3__Impl ; + public final void rule__XAssignment__Group_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8569:1: ( rule__XAssignment__Group_0__3__Impl ) + // InternalExpression.g:8570:2: rule__XAssignment__Group_0__3__Impl + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__3" + + + // $ANTLR start "rule__XAssignment__Group_0__3__Impl" + // InternalExpression.g:8576:1: rule__XAssignment__Group_0__3__Impl : ( ( rule__XAssignment__ValueAssignment_0_3 ) ) ; + public final void rule__XAssignment__Group_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8580:1: ( ( ( rule__XAssignment__ValueAssignment_0_3 ) ) ) + // InternalExpression.g:8581:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) ) + { + // InternalExpression.g:8581:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) ) + // InternalExpression.g:8582:2: ( rule__XAssignment__ValueAssignment_0_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3()); + } + // InternalExpression.g:8583:2: ( rule__XAssignment__ValueAssignment_0_3 ) + // InternalExpression.g:8583:3: rule__XAssignment__ValueAssignment_0_3 + { + pushFollow(FOLLOW_2); + rule__XAssignment__ValueAssignment_0_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__3__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1__0" + // InternalExpression.g:8592:1: rule__XAssignment__Group_1__0 : rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 ; + public final void rule__XAssignment__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8596:1: ( rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 ) + // InternalExpression.g:8597:2: rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 + { + pushFollow(FOLLOW_49); + rule__XAssignment__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1__0" + + + // $ANTLR start "rule__XAssignment__Group_1__0__Impl" + // InternalExpression.g:8604:1: rule__XAssignment__Group_1__0__Impl : ( ruleXOrExpression ) ; + public final void rule__XAssignment__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8608:1: ( ( ruleXOrExpression ) ) + // InternalExpression.g:8609:1: ( ruleXOrExpression ) + { + // InternalExpression.g:8609:1: ( ruleXOrExpression ) + // InternalExpression.g:8610:2: ruleXOrExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleXOrExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1__0__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1__1" + // InternalExpression.g:8619:1: rule__XAssignment__Group_1__1 : rule__XAssignment__Group_1__1__Impl ; + public final void rule__XAssignment__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8623:1: ( rule__XAssignment__Group_1__1__Impl ) + // InternalExpression.g:8624:2: rule__XAssignment__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1__1" + + + // $ANTLR start "rule__XAssignment__Group_1__1__Impl" + // InternalExpression.g:8630:1: rule__XAssignment__Group_1__1__Impl : ( ( rule__XAssignment__Group_1_1__0 )? ) ; + public final void rule__XAssignment__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8634:1: ( ( ( rule__XAssignment__Group_1_1__0 )? ) ) + // InternalExpression.g:8635:1: ( ( rule__XAssignment__Group_1_1__0 )? ) + { + // InternalExpression.g:8635:1: ( ( rule__XAssignment__Group_1_1__0 )? ) + // InternalExpression.g:8636:2: ( rule__XAssignment__Group_1_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getGroup_1_1()); + } + // InternalExpression.g:8637:2: ( rule__XAssignment__Group_1_1__0 )? + int alt78=2; + alt78 = dfa78.predict(input); + switch (alt78) { + case 1 : + // InternalExpression.g:8637:3: rule__XAssignment__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getGroup_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1__1__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1_1__0" + // InternalExpression.g:8646:1: rule__XAssignment__Group_1_1__0 : rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 ; + public final void rule__XAssignment__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8650:1: ( rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 ) + // InternalExpression.g:8651:2: rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 + { + pushFollow(FOLLOW_48); + rule__XAssignment__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1__0" + + + // $ANTLR start "rule__XAssignment__Group_1_1__0__Impl" + // InternalExpression.g:8658:1: rule__XAssignment__Group_1_1__0__Impl : ( ( rule__XAssignment__Group_1_1_0__0 ) ) ; + public final void rule__XAssignment__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8662:1: ( ( ( rule__XAssignment__Group_1_1_0__0 ) ) ) + // InternalExpression.g:8663:1: ( ( rule__XAssignment__Group_1_1_0__0 ) ) + { + // InternalExpression.g:8663:1: ( ( rule__XAssignment__Group_1_1_0__0 ) ) + // InternalExpression.g:8664:2: ( rule__XAssignment__Group_1_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0()); + } + // InternalExpression.g:8665:2: ( rule__XAssignment__Group_1_1_0__0 ) + // InternalExpression.g:8665:3: rule__XAssignment__Group_1_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getGroup_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1__0__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1_1__1" + // InternalExpression.g:8673:1: rule__XAssignment__Group_1_1__1 : rule__XAssignment__Group_1_1__1__Impl ; + public final void rule__XAssignment__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8677:1: ( rule__XAssignment__Group_1_1__1__Impl ) + // InternalExpression.g:8678:2: rule__XAssignment__Group_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1__1" + + + // $ANTLR start "rule__XAssignment__Group_1_1__1__Impl" + // InternalExpression.g:8684:1: rule__XAssignment__Group_1_1__1__Impl : ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) ; + public final void rule__XAssignment__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8688:1: ( ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) ) + // InternalExpression.g:8689:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) + { + // InternalExpression.g:8689:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) + // InternalExpression.g:8690:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1()); + } + // InternalExpression.g:8691:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 ) + // InternalExpression.g:8691:3: rule__XAssignment__RightOperandAssignment_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XAssignment__RightOperandAssignment_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1__1__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0__0" + // InternalExpression.g:8700:1: rule__XAssignment__Group_1_1_0__0 : rule__XAssignment__Group_1_1_0__0__Impl ; + public final void rule__XAssignment__Group_1_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8704:1: ( rule__XAssignment__Group_1_1_0__0__Impl ) + // InternalExpression.g:8705:2: rule__XAssignment__Group_1_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0__0" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0__0__Impl" + // InternalExpression.g:8711:1: rule__XAssignment__Group_1_1_0__0__Impl : ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) ; + public final void rule__XAssignment__Group_1_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8715:1: ( ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) ) + // InternalExpression.g:8716:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) + { + // InternalExpression.g:8716:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) + // InternalExpression.g:8717:2: ( rule__XAssignment__Group_1_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0()); + } + // InternalExpression.g:8718:2: ( rule__XAssignment__Group_1_1_0_0__0 ) + // InternalExpression.g:8718:3: rule__XAssignment__Group_1_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0__0__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0_0__0" + // InternalExpression.g:8727:1: rule__XAssignment__Group_1_1_0_0__0 : rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 ; + public final void rule__XAssignment__Group_1_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8731:1: ( rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 ) + // InternalExpression.g:8732:2: rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 + { + pushFollow(FOLLOW_49); + rule__XAssignment__Group_1_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0_0__0" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0_0__0__Impl" + // InternalExpression.g:8739:1: rule__XAssignment__Group_1_1_0_0__0__Impl : ( () ) ; + public final void rule__XAssignment__Group_1_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8743:1: ( ( () ) ) + // InternalExpression.g:8744:1: ( () ) + { + // InternalExpression.g:8744:1: ( () ) + // InternalExpression.g:8745:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); + } + // InternalExpression.g:8746:2: () + // InternalExpression.g:8746:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0_0__0__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0_0__1" + // InternalExpression.g:8754:1: rule__XAssignment__Group_1_1_0_0__1 : rule__XAssignment__Group_1_1_0_0__1__Impl ; + public final void rule__XAssignment__Group_1_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8758:1: ( rule__XAssignment__Group_1_1_0_0__1__Impl ) + // InternalExpression.g:8759:2: rule__XAssignment__Group_1_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0_0__1" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0_0__1__Impl" + // InternalExpression.g:8765:1: rule__XAssignment__Group_1_1_0_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) ; + public final void rule__XAssignment__Group_1_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8769:1: ( ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) ) + // InternalExpression.g:8770:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) + { + // InternalExpression.g:8770:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) + // InternalExpression.g:8771:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1()); + } + // InternalExpression.g:8772:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) + // InternalExpression.g:8772:3: rule__XAssignment__FeatureAssignment_1_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XAssignment__FeatureAssignment_1_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0_0__1__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__0" + // InternalExpression.g:8781:1: rule__OpMultiAssign__Group_5__0 : rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 ; + public final void rule__OpMultiAssign__Group_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8785:1: ( rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 ) + // InternalExpression.g:8786:2: rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 + { + pushFollow(FOLLOW_50); + rule__OpMultiAssign__Group_5__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_5__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__0" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__0__Impl" + // InternalExpression.g:8793:1: rule__OpMultiAssign__Group_5__0__Impl : ( '<' ) ; + public final void rule__OpMultiAssign__Group_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8797:1: ( ( '<' ) ) + // InternalExpression.g:8798:1: ( '<' ) + { + // InternalExpression.g:8798:1: ( '<' ) + // InternalExpression.g:8799:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__0__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__1" + // InternalExpression.g:8808:1: rule__OpMultiAssign__Group_5__1 : rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 ; + public final void rule__OpMultiAssign__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8812:1: ( rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 ) + // InternalExpression.g:8813:2: rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 + { + pushFollow(FOLLOW_5); + rule__OpMultiAssign__Group_5__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_5__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__1" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__1__Impl" + // InternalExpression.g:8820:1: rule__OpMultiAssign__Group_5__1__Impl : ( '<' ) ; + public final void rule__OpMultiAssign__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8824:1: ( ( '<' ) ) + // InternalExpression.g:8825:1: ( '<' ) + { + // InternalExpression.g:8825:1: ( '<' ) + // InternalExpression.g:8826:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__1__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__2" + // InternalExpression.g:8835:1: rule__OpMultiAssign__Group_5__2 : rule__OpMultiAssign__Group_5__2__Impl ; + public final void rule__OpMultiAssign__Group_5__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8839:1: ( rule__OpMultiAssign__Group_5__2__Impl ) + // InternalExpression.g:8840:2: rule__OpMultiAssign__Group_5__2__Impl + { + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_5__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__2" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__2__Impl" + // InternalExpression.g:8846:1: rule__OpMultiAssign__Group_5__2__Impl : ( '=' ) ; + public final void rule__OpMultiAssign__Group_5__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8850:1: ( ( '=' ) ) + // InternalExpression.g:8851:1: ( '=' ) + { + // InternalExpression.g:8851:1: ( '=' ) + // InternalExpression.g:8852:2: '=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); + } + match(input,14,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__2__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__0" + // InternalExpression.g:8862:1: rule__OpMultiAssign__Group_6__0 : rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1 ; + public final void rule__OpMultiAssign__Group_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8866:1: ( rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1 ) + // InternalExpression.g:8867:2: rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1 + { + pushFollow(FOLLOW_51); + rule__OpMultiAssign__Group_6__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_6__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__0" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__0__Impl" + // InternalExpression.g:8874:1: rule__OpMultiAssign__Group_6__0__Impl : ( '>' ) ; + public final void rule__OpMultiAssign__Group_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8878:1: ( ( '>' ) ) + // InternalExpression.g:8879:1: ( '>' ) + { + // InternalExpression.g:8879:1: ( '>' ) + // InternalExpression.g:8880:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__0__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__1" + // InternalExpression.g:8889:1: rule__OpMultiAssign__Group_6__1 : rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2 ; + public final void rule__OpMultiAssign__Group_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8893:1: ( rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2 ) + // InternalExpression.g:8894:2: rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2 + { + pushFollow(FOLLOW_51); + rule__OpMultiAssign__Group_6__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_6__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__1" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__1__Impl" + // InternalExpression.g:8901:1: rule__OpMultiAssign__Group_6__1__Impl : ( ( '>' )? ) ; + public final void rule__OpMultiAssign__Group_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8905:1: ( ( ( '>' )? ) ) + // InternalExpression.g:8906:1: ( ( '>' )? ) + { + // InternalExpression.g:8906:1: ( ( '>' )? ) + // InternalExpression.g:8907:2: ( '>' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); + } + // InternalExpression.g:8908:2: ( '>' )? + int alt79=2; + int LA79_0 = input.LA(1); + + if ( (LA79_0==21) ) { + alt79=1; + } + switch (alt79) { + case 1 : + // InternalExpression.g:8908:3: '>' + { + match(input,21,FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__1__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__2" + // InternalExpression.g:8916:1: rule__OpMultiAssign__Group_6__2 : rule__OpMultiAssign__Group_6__2__Impl ; + public final void rule__OpMultiAssign__Group_6__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8920:1: ( rule__OpMultiAssign__Group_6__2__Impl ) + // InternalExpression.g:8921:2: rule__OpMultiAssign__Group_6__2__Impl + { + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_6__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__2" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__2__Impl" + // InternalExpression.g:8927:1: rule__OpMultiAssign__Group_6__2__Impl : ( '>=' ) ; + public final void rule__OpMultiAssign__Group_6__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8931:1: ( ( '>=' ) ) + // InternalExpression.g:8932:1: ( '>=' ) + { + // InternalExpression.g:8932:1: ( '>=' ) + // InternalExpression.g:8933:2: '>=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); + } + match(input,19,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__2__Impl" + + + // $ANTLR start "rule__XOrExpression__Group__0" + // InternalExpression.g:8943:1: rule__XOrExpression__Group__0 : rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1 ; + public final void rule__XOrExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8947:1: ( rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1 ) + // InternalExpression.g:8948:2: rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1 + { + pushFollow(FOLLOW_20); + rule__XOrExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOrExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group__0" + + + // $ANTLR start "rule__XOrExpression__Group__0__Impl" + // InternalExpression.g:8955:1: rule__XOrExpression__Group__0__Impl : ( ruleXAndExpression ) ; + public final void rule__XOrExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8959:1: ( ( ruleXAndExpression ) ) + // InternalExpression.g:8960:1: ( ruleXAndExpression ) + { + // InternalExpression.g:8960:1: ( ruleXAndExpression ) + // InternalExpression.g:8961:2: ruleXAndExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXAndExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group__0__Impl" + + + // $ANTLR start "rule__XOrExpression__Group__1" + // InternalExpression.g:8970:1: rule__XOrExpression__Group__1 : rule__XOrExpression__Group__1__Impl ; + public final void rule__XOrExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8974:1: ( rule__XOrExpression__Group__1__Impl ) + // InternalExpression.g:8975:2: rule__XOrExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group__1" + + + // $ANTLR start "rule__XOrExpression__Group__1__Impl" + // InternalExpression.g:8981:1: rule__XOrExpression__Group__1__Impl : ( ( rule__XOrExpression__Group_1__0 )* ) ; + public final void rule__XOrExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:8985:1: ( ( ( rule__XOrExpression__Group_1__0 )* ) ) + // InternalExpression.g:8986:1: ( ( rule__XOrExpression__Group_1__0 )* ) + { + // InternalExpression.g:8986:1: ( ( rule__XOrExpression__Group_1__0 )* ) + // InternalExpression.g:8987:2: ( rule__XOrExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getGroup_1()); + } + // InternalExpression.g:8988:2: ( rule__XOrExpression__Group_1__0 )* + loop80: + do { + int alt80=2; + int LA80_0 = input.LA(1); + + if ( (LA80_0==15) ) { + int LA80_2 = input.LA(2); + + if ( (synpred153_InternalExpression()) ) { + alt80=1; + } + + + } + + + switch (alt80) { + case 1 : + // InternalExpression.g:8988:3: rule__XOrExpression__Group_1__0 + { + pushFollow(FOLLOW_21); + rule__XOrExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop80; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group__1__Impl" + + + // $ANTLR start "rule__XOrExpression__Group_1__0" + // InternalExpression.g:8997:1: rule__XOrExpression__Group_1__0 : rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1 ; + public final void rule__XOrExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9001:1: ( rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1 ) + // InternalExpression.g:9002:2: rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1 + { + pushFollow(FOLLOW_48); + rule__XOrExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1__0" + + + // $ANTLR start "rule__XOrExpression__Group_1__0__Impl" + // InternalExpression.g:9009:1: rule__XOrExpression__Group_1__0__Impl : ( ( rule__XOrExpression__Group_1_0__0 ) ) ; + public final void rule__XOrExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9013:1: ( ( ( rule__XOrExpression__Group_1_0__0 ) ) ) + // InternalExpression.g:9014:1: ( ( rule__XOrExpression__Group_1_0__0 ) ) + { + // InternalExpression.g:9014:1: ( ( rule__XOrExpression__Group_1_0__0 ) ) + // InternalExpression.g:9015:2: ( rule__XOrExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getGroup_1_0()); + } + // InternalExpression.g:9016:2: ( rule__XOrExpression__Group_1_0__0 ) + // InternalExpression.g:9016:3: rule__XOrExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XOrExpression__Group_1__1" + // InternalExpression.g:9024:1: rule__XOrExpression__Group_1__1 : rule__XOrExpression__Group_1__1__Impl ; + public final void rule__XOrExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9028:1: ( rule__XOrExpression__Group_1__1__Impl ) + // InternalExpression.g:9029:2: rule__XOrExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1__1" + + + // $ANTLR start "rule__XOrExpression__Group_1__1__Impl" + // InternalExpression.g:9035:1: rule__XOrExpression__Group_1__1__Impl : ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XOrExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9039:1: ( ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) ) + // InternalExpression.g:9040:1: ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) + { + // InternalExpression.g:9040:1: ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) + // InternalExpression.g:9041:2: ( rule__XOrExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalExpression.g:9042:2: ( rule__XOrExpression__RightOperandAssignment_1_1 ) + // InternalExpression.g:9042:3: rule__XOrExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XOrExpression__Group_1_0__0" + // InternalExpression.g:9051:1: rule__XOrExpression__Group_1_0__0 : rule__XOrExpression__Group_1_0__0__Impl ; + public final void rule__XOrExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9055:1: ( rule__XOrExpression__Group_1_0__0__Impl ) + // InternalExpression.g:9056:2: rule__XOrExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0__0" + + + // $ANTLR start "rule__XOrExpression__Group_1_0__0__Impl" + // InternalExpression.g:9062:1: rule__XOrExpression__Group_1_0__0__Impl : ( ( rule__XOrExpression__Group_1_0_0__0 ) ) ; + public final void rule__XOrExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9066:1: ( ( ( rule__XOrExpression__Group_1_0_0__0 ) ) ) + // InternalExpression.g:9067:1: ( ( rule__XOrExpression__Group_1_0_0__0 ) ) + { + // InternalExpression.g:9067:1: ( ( rule__XOrExpression__Group_1_0_0__0 ) ) + // InternalExpression.g:9068:2: ( rule__XOrExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0()); + } + // InternalExpression.g:9069:2: ( rule__XOrExpression__Group_1_0_0__0 ) + // InternalExpression.g:9069:3: rule__XOrExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XOrExpression__Group_1_0_0__0" + // InternalExpression.g:9078:1: rule__XOrExpression__Group_1_0_0__0 : rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1 ; + public final void rule__XOrExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9082:1: ( rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1 ) + // InternalExpression.g:9083:2: rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_20); + rule__XOrExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XOrExpression__Group_1_0_0__0__Impl" + // InternalExpression.g:9090:1: rule__XOrExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XOrExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9094:1: ( ( () ) ) + // InternalExpression.g:9095:1: ( () ) + { + // InternalExpression.g:9095:1: ( () ) + // InternalExpression.g:9096:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalExpression.g:9097:2: () + // InternalExpression.g:9097:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XOrExpression__Group_1_0_0__1" + // InternalExpression.g:9105:1: rule__XOrExpression__Group_1_0_0__1 : rule__XOrExpression__Group_1_0_0__1__Impl ; + public final void rule__XOrExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9109:1: ( rule__XOrExpression__Group_1_0_0__1__Impl ) + // InternalExpression.g:9110:2: rule__XOrExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XOrExpression__Group_1_0_0__1__Impl" + // InternalExpression.g:9116:1: rule__XOrExpression__Group_1_0_0__1__Impl : ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XOrExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9120:1: ( ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalExpression.g:9121:1: ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalExpression.g:9121:1: ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalExpression.g:9122:2: ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalExpression.g:9123:2: ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) + // InternalExpression.g:9123:3: rule__XOrExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XAndExpression__Group__0" + // InternalExpression.g:9132:1: rule__XAndExpression__Group__0 : rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1 ; + public final void rule__XAndExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9136:1: ( rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1 ) + // InternalExpression.g:9137:2: rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1 + { + pushFollow(FOLLOW_22); + rule__XAndExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAndExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group__0" + + + // $ANTLR start "rule__XAndExpression__Group__0__Impl" + // InternalExpression.g:9144:1: rule__XAndExpression__Group__0__Impl : ( ruleXEqualityExpression ) ; + public final void rule__XAndExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9148:1: ( ( ruleXEqualityExpression ) ) + // InternalExpression.g:9149:1: ( ruleXEqualityExpression ) + { + // InternalExpression.g:9149:1: ( ruleXEqualityExpression ) + // InternalExpression.g:9150:2: ruleXEqualityExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXEqualityExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group__0__Impl" + + + // $ANTLR start "rule__XAndExpression__Group__1" + // InternalExpression.g:9159:1: rule__XAndExpression__Group__1 : rule__XAndExpression__Group__1__Impl ; + public final void rule__XAndExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9163:1: ( rule__XAndExpression__Group__1__Impl ) + // InternalExpression.g:9164:2: rule__XAndExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group__1" + + + // $ANTLR start "rule__XAndExpression__Group__1__Impl" + // InternalExpression.g:9170:1: rule__XAndExpression__Group__1__Impl : ( ( rule__XAndExpression__Group_1__0 )* ) ; + public final void rule__XAndExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9174:1: ( ( ( rule__XAndExpression__Group_1__0 )* ) ) + // InternalExpression.g:9175:1: ( ( rule__XAndExpression__Group_1__0 )* ) + { + // InternalExpression.g:9175:1: ( ( rule__XAndExpression__Group_1__0 )* ) + // InternalExpression.g:9176:2: ( rule__XAndExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getGroup_1()); + } + // InternalExpression.g:9177:2: ( rule__XAndExpression__Group_1__0 )* + loop81: + do { + int alt81=2; + int LA81_0 = input.LA(1); + + if ( (LA81_0==16) ) { + int LA81_2 = input.LA(2); + + if ( (synpred154_InternalExpression()) ) { + alt81=1; + } + + + } + + + switch (alt81) { + case 1 : + // InternalExpression.g:9177:3: rule__XAndExpression__Group_1__0 + { + pushFollow(FOLLOW_23); + rule__XAndExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop81; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group__1__Impl" + + + // $ANTLR start "rule__XAndExpression__Group_1__0" + // InternalExpression.g:9186:1: rule__XAndExpression__Group_1__0 : rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1 ; + public final void rule__XAndExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9190:1: ( rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1 ) + // InternalExpression.g:9191:2: rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1 + { + pushFollow(FOLLOW_48); + rule__XAndExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1__0" + + + // $ANTLR start "rule__XAndExpression__Group_1__0__Impl" + // InternalExpression.g:9198:1: rule__XAndExpression__Group_1__0__Impl : ( ( rule__XAndExpression__Group_1_0__0 ) ) ; + public final void rule__XAndExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9202:1: ( ( ( rule__XAndExpression__Group_1_0__0 ) ) ) + // InternalExpression.g:9203:1: ( ( rule__XAndExpression__Group_1_0__0 ) ) + { + // InternalExpression.g:9203:1: ( ( rule__XAndExpression__Group_1_0__0 ) ) + // InternalExpression.g:9204:2: ( rule__XAndExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getGroup_1_0()); + } + // InternalExpression.g:9205:2: ( rule__XAndExpression__Group_1_0__0 ) + // InternalExpression.g:9205:3: rule__XAndExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XAndExpression__Group_1__1" + // InternalExpression.g:9213:1: rule__XAndExpression__Group_1__1 : rule__XAndExpression__Group_1__1__Impl ; + public final void rule__XAndExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9217:1: ( rule__XAndExpression__Group_1__1__Impl ) + // InternalExpression.g:9218:2: rule__XAndExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1__1" + + + // $ANTLR start "rule__XAndExpression__Group_1__1__Impl" + // InternalExpression.g:9224:1: rule__XAndExpression__Group_1__1__Impl : ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XAndExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9228:1: ( ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) ) + // InternalExpression.g:9229:1: ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) + { + // InternalExpression.g:9229:1: ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) + // InternalExpression.g:9230:2: ( rule__XAndExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalExpression.g:9231:2: ( rule__XAndExpression__RightOperandAssignment_1_1 ) + // InternalExpression.g:9231:3: rule__XAndExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XAndExpression__Group_1_0__0" + // InternalExpression.g:9240:1: rule__XAndExpression__Group_1_0__0 : rule__XAndExpression__Group_1_0__0__Impl ; + public final void rule__XAndExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9244:1: ( rule__XAndExpression__Group_1_0__0__Impl ) + // InternalExpression.g:9245:2: rule__XAndExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0__0" + + + // $ANTLR start "rule__XAndExpression__Group_1_0__0__Impl" + // InternalExpression.g:9251:1: rule__XAndExpression__Group_1_0__0__Impl : ( ( rule__XAndExpression__Group_1_0_0__0 ) ) ; + public final void rule__XAndExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9255:1: ( ( ( rule__XAndExpression__Group_1_0_0__0 ) ) ) + // InternalExpression.g:9256:1: ( ( rule__XAndExpression__Group_1_0_0__0 ) ) + { + // InternalExpression.g:9256:1: ( ( rule__XAndExpression__Group_1_0_0__0 ) ) + // InternalExpression.g:9257:2: ( rule__XAndExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0()); + } + // InternalExpression.g:9258:2: ( rule__XAndExpression__Group_1_0_0__0 ) + // InternalExpression.g:9258:3: rule__XAndExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XAndExpression__Group_1_0_0__0" + // InternalExpression.g:9267:1: rule__XAndExpression__Group_1_0_0__0 : rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1 ; + public final void rule__XAndExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9271:1: ( rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1 ) + // InternalExpression.g:9272:2: rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_22); + rule__XAndExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XAndExpression__Group_1_0_0__0__Impl" + // InternalExpression.g:9279:1: rule__XAndExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XAndExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9283:1: ( ( () ) ) + // InternalExpression.g:9284:1: ( () ) + { + // InternalExpression.g:9284:1: ( () ) + // InternalExpression.g:9285:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalExpression.g:9286:2: () + // InternalExpression.g:9286:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XAndExpression__Group_1_0_0__1" + // InternalExpression.g:9294:1: rule__XAndExpression__Group_1_0_0__1 : rule__XAndExpression__Group_1_0_0__1__Impl ; + public final void rule__XAndExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9298:1: ( rule__XAndExpression__Group_1_0_0__1__Impl ) + // InternalExpression.g:9299:2: rule__XAndExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XAndExpression__Group_1_0_0__1__Impl" + // InternalExpression.g:9305:1: rule__XAndExpression__Group_1_0_0__1__Impl : ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XAndExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9309:1: ( ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalExpression.g:9310:1: ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalExpression.g:9310:1: ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalExpression.g:9311:2: ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalExpression.g:9312:2: ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) + // InternalExpression.g:9312:3: rule__XAndExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group__0" + // InternalExpression.g:9321:1: rule__XEqualityExpression__Group__0 : rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1 ; + public final void rule__XEqualityExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9325:1: ( rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1 ) + // InternalExpression.g:9326:2: rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1 + { + pushFollow(FOLLOW_52); + rule__XEqualityExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group__0" + + + // $ANTLR start "rule__XEqualityExpression__Group__0__Impl" + // InternalExpression.g:9333:1: rule__XEqualityExpression__Group__0__Impl : ( ruleXRelationalExpression ) ; + public final void rule__XEqualityExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9337:1: ( ( ruleXRelationalExpression ) ) + // InternalExpression.g:9338:1: ( ruleXRelationalExpression ) + { + // InternalExpression.g:9338:1: ( ruleXRelationalExpression ) + // InternalExpression.g:9339:2: ruleXRelationalExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXRelationalExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group__0__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group__1" + // InternalExpression.g:9348:1: rule__XEqualityExpression__Group__1 : rule__XEqualityExpression__Group__1__Impl ; + public final void rule__XEqualityExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9352:1: ( rule__XEqualityExpression__Group__1__Impl ) + // InternalExpression.g:9353:2: rule__XEqualityExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group__1" + + + // $ANTLR start "rule__XEqualityExpression__Group__1__Impl" + // InternalExpression.g:9359:1: rule__XEqualityExpression__Group__1__Impl : ( ( rule__XEqualityExpression__Group_1__0 )* ) ; + public final void rule__XEqualityExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9363:1: ( ( ( rule__XEqualityExpression__Group_1__0 )* ) ) + // InternalExpression.g:9364:1: ( ( rule__XEqualityExpression__Group_1__0 )* ) + { + // InternalExpression.g:9364:1: ( ( rule__XEqualityExpression__Group_1__0 )* ) + // InternalExpression.g:9365:2: ( rule__XEqualityExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getGroup_1()); + } + // InternalExpression.g:9366:2: ( rule__XEqualityExpression__Group_1__0 )* + loop82: + do { + int alt82=2; + switch ( input.LA(1) ) { + case 17: + { + int LA82_2 = input.LA(2); + + if ( (synpred155_InternalExpression()) ) { + alt82=1; + } + + + } + break; + case 18: + { + int LA82_3 = input.LA(2); + + if ( (synpred155_InternalExpression()) ) { + alt82=1; + } + + + } + break; + case 46: + { + int LA82_4 = input.LA(2); + + if ( (synpred155_InternalExpression()) ) { + alt82=1; + } + + + } + break; + case 47: + { + int LA82_5 = input.LA(2); + + if ( (synpred155_InternalExpression()) ) { + alt82=1; + } + + + } + break; + + } + + switch (alt82) { + case 1 : + // InternalExpression.g:9366:3: rule__XEqualityExpression__Group_1__0 + { + pushFollow(FOLLOW_53); + rule__XEqualityExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop82; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group__1__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group_1__0" + // InternalExpression.g:9375:1: rule__XEqualityExpression__Group_1__0 : rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1 ; + public final void rule__XEqualityExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9379:1: ( rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1 ) + // InternalExpression.g:9380:2: rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1 + { + pushFollow(FOLLOW_48); + rule__XEqualityExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1__0" + + + // $ANTLR start "rule__XEqualityExpression__Group_1__0__Impl" + // InternalExpression.g:9387:1: rule__XEqualityExpression__Group_1__0__Impl : ( ( rule__XEqualityExpression__Group_1_0__0 ) ) ; + public final void rule__XEqualityExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9391:1: ( ( ( rule__XEqualityExpression__Group_1_0__0 ) ) ) + // InternalExpression.g:9392:1: ( ( rule__XEqualityExpression__Group_1_0__0 ) ) + { + // InternalExpression.g:9392:1: ( ( rule__XEqualityExpression__Group_1_0__0 ) ) + // InternalExpression.g:9393:2: ( rule__XEqualityExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0()); + } + // InternalExpression.g:9394:2: ( rule__XEqualityExpression__Group_1_0__0 ) + // InternalExpression.g:9394:3: rule__XEqualityExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group_1__1" + // InternalExpression.g:9402:1: rule__XEqualityExpression__Group_1__1 : rule__XEqualityExpression__Group_1__1__Impl ; + public final void rule__XEqualityExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9406:1: ( rule__XEqualityExpression__Group_1__1__Impl ) + // InternalExpression.g:9407:2: rule__XEqualityExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1__1" + + + // $ANTLR start "rule__XEqualityExpression__Group_1__1__Impl" + // InternalExpression.g:9413:1: rule__XEqualityExpression__Group_1__1__Impl : ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XEqualityExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9417:1: ( ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) ) + // InternalExpression.g:9418:1: ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) + { + // InternalExpression.g:9418:1: ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) + // InternalExpression.g:9419:2: ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalExpression.g:9420:2: ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) + // InternalExpression.g:9420:3: rule__XEqualityExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0__0" + // InternalExpression.g:9429:1: rule__XEqualityExpression__Group_1_0__0 : rule__XEqualityExpression__Group_1_0__0__Impl ; + public final void rule__XEqualityExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9433:1: ( rule__XEqualityExpression__Group_1_0__0__Impl ) + // InternalExpression.g:9434:2: rule__XEqualityExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0__0" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0__0__Impl" + // InternalExpression.g:9440:1: rule__XEqualityExpression__Group_1_0__0__Impl : ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) ; + public final void rule__XEqualityExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9444:1: ( ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) ) + // InternalExpression.g:9445:1: ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) + { + // InternalExpression.g:9445:1: ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) + // InternalExpression.g:9446:2: ( rule__XEqualityExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0()); + } + // InternalExpression.g:9447:2: ( rule__XEqualityExpression__Group_1_0_0__0 ) + // InternalExpression.g:9447:3: rule__XEqualityExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__0" + // InternalExpression.g:9456:1: rule__XEqualityExpression__Group_1_0_0__0 : rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1 ; + public final void rule__XEqualityExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9460:1: ( rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1 ) + // InternalExpression.g:9461:2: rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_52); + rule__XEqualityExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__0__Impl" + // InternalExpression.g:9468:1: rule__XEqualityExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XEqualityExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9472:1: ( ( () ) ) + // InternalExpression.g:9473:1: ( () ) + { + // InternalExpression.g:9473:1: ( () ) + // InternalExpression.g:9474:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalExpression.g:9475:2: () + // InternalExpression.g:9475:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__1" + // InternalExpression.g:9483:1: rule__XEqualityExpression__Group_1_0_0__1 : rule__XEqualityExpression__Group_1_0_0__1__Impl ; + public final void rule__XEqualityExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9487:1: ( rule__XEqualityExpression__Group_1_0_0__1__Impl ) + // InternalExpression.g:9488:2: rule__XEqualityExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__1__Impl" + // InternalExpression.g:9494:1: rule__XEqualityExpression__Group_1_0_0__1__Impl : ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XEqualityExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9498:1: ( ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalExpression.g:9499:1: ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalExpression.g:9499:1: ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalExpression.g:9500:2: ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalExpression.g:9501:2: ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) + // InternalExpression.g:9501:3: rule__XEqualityExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group__0" + // InternalExpression.g:9510:1: rule__XRelationalExpression__Group__0 : rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1 ; + public final void rule__XRelationalExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9514:1: ( rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1 ) + // InternalExpression.g:9515:2: rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1 + { + pushFollow(FOLLOW_54); + rule__XRelationalExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group__0" + + + // $ANTLR start "rule__XRelationalExpression__Group__0__Impl" + // InternalExpression.g:9522:1: rule__XRelationalExpression__Group__0__Impl : ( ruleXOtherOperatorExpression ) ; + public final void rule__XRelationalExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9526:1: ( ( ruleXOtherOperatorExpression ) ) + // InternalExpression.g:9527:1: ( ruleXOtherOperatorExpression ) + { + // InternalExpression.g:9527:1: ( ruleXOtherOperatorExpression ) + // InternalExpression.g:9528:2: ruleXOtherOperatorExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXOtherOperatorExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group__1" + // InternalExpression.g:9537:1: rule__XRelationalExpression__Group__1 : rule__XRelationalExpression__Group__1__Impl ; + public final void rule__XRelationalExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9541:1: ( rule__XRelationalExpression__Group__1__Impl ) + // InternalExpression.g:9542:2: rule__XRelationalExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group__1" + + + // $ANTLR start "rule__XRelationalExpression__Group__1__Impl" + // InternalExpression.g:9548:1: rule__XRelationalExpression__Group__1__Impl : ( ( rule__XRelationalExpression__Alternatives_1 )* ) ; + public final void rule__XRelationalExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9552:1: ( ( ( rule__XRelationalExpression__Alternatives_1 )* ) ) + // InternalExpression.g:9553:1: ( ( rule__XRelationalExpression__Alternatives_1 )* ) + { + // InternalExpression.g:9553:1: ( ( rule__XRelationalExpression__Alternatives_1 )* ) + // InternalExpression.g:9554:2: ( rule__XRelationalExpression__Alternatives_1 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1()); + } + // InternalExpression.g:9555:2: ( rule__XRelationalExpression__Alternatives_1 )* + loop83: + do { + int alt83=2; + switch ( input.LA(1) ) { + case 22: + { + int LA83_2 = input.LA(2); + + if ( (synpred156_InternalExpression()) ) { + alt83=1; + } + + + } + break; + case 21: + { + int LA83_3 = input.LA(2); + + if ( (synpred156_InternalExpression()) ) { + alt83=1; + } + + + } + break; + case 85: + { + int LA83_4 = input.LA(2); + + if ( (synpred156_InternalExpression()) ) { + alt83=1; + } + + + } + break; + case 19: + { + int LA83_5 = input.LA(2); + + if ( (synpred156_InternalExpression()) ) { + alt83=1; + } + + + } + break; + + } + + switch (alt83) { + case 1 : + // InternalExpression.g:9555:3: rule__XRelationalExpression__Alternatives_1 + { + pushFollow(FOLLOW_55); + rule__XRelationalExpression__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop83; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group__1__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0__0" + // InternalExpression.g:9564:1: rule__XRelationalExpression__Group_1_0__0 : rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1 ; + public final void rule__XRelationalExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9568:1: ( rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1 ) + // InternalExpression.g:9569:2: rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1 + { + pushFollow(FOLLOW_56); + rule__XRelationalExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0__0__Impl" + // InternalExpression.g:9576:1: rule__XRelationalExpression__Group_1_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) ; + public final void rule__XRelationalExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9580:1: ( ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) ) + // InternalExpression.g:9581:1: ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) + { + // InternalExpression.g:9581:1: ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) + // InternalExpression.g:9582:2: ( rule__XRelationalExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0()); + } + // InternalExpression.g:9583:2: ( rule__XRelationalExpression__Group_1_0_0__0 ) + // InternalExpression.g:9583:3: rule__XRelationalExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0__1" + // InternalExpression.g:9591:1: rule__XRelationalExpression__Group_1_0__1 : rule__XRelationalExpression__Group_1_0__1__Impl ; + public final void rule__XRelationalExpression__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9595:1: ( rule__XRelationalExpression__Group_1_0__1__Impl ) + // InternalExpression.g:9596:2: rule__XRelationalExpression__Group_1_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0__1" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0__1__Impl" + // InternalExpression.g:9602:1: rule__XRelationalExpression__Group_1_0__1__Impl : ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) ; + public final void rule__XRelationalExpression__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9606:1: ( ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) ) + // InternalExpression.g:9607:1: ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) + { + // InternalExpression.g:9607:1: ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) + // InternalExpression.g:9608:2: ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1()); + } + // InternalExpression.g:9609:2: ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) + // InternalExpression.g:9609:3: rule__XRelationalExpression__TypeAssignment_1_0_1 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__TypeAssignment_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0__1__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0__0" + // InternalExpression.g:9618:1: rule__XRelationalExpression__Group_1_0_0__0 : rule__XRelationalExpression__Group_1_0_0__0__Impl ; + public final void rule__XRelationalExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9622:1: ( rule__XRelationalExpression__Group_1_0_0__0__Impl ) + // InternalExpression.g:9623:2: rule__XRelationalExpression__Group_1_0_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0__0__Impl" + // InternalExpression.g:9629:1: rule__XRelationalExpression__Group_1_0_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) ; + public final void rule__XRelationalExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9633:1: ( ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) ) + // InternalExpression.g:9634:1: ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) + { + // InternalExpression.g:9634:1: ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) + // InternalExpression.g:9635:2: ( rule__XRelationalExpression__Group_1_0_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0()); + } + // InternalExpression.g:9636:2: ( rule__XRelationalExpression__Group_1_0_0_0__0 ) + // InternalExpression.g:9636:3: rule__XRelationalExpression__Group_1_0_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__0" + // InternalExpression.g:9645:1: rule__XRelationalExpression__Group_1_0_0_0__0 : rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1 ; + public final void rule__XRelationalExpression__Group_1_0_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9649:1: ( rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1 ) + // InternalExpression.g:9650:2: rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1 + { + pushFollow(FOLLOW_57); + rule__XRelationalExpression__Group_1_0_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0_0__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__0__Impl" + // InternalExpression.g:9657:1: rule__XRelationalExpression__Group_1_0_0_0__0__Impl : ( () ) ; + public final void rule__XRelationalExpression__Group_1_0_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9661:1: ( ( () ) ) + // InternalExpression.g:9662:1: ( () ) + { + // InternalExpression.g:9662:1: ( () ) + // InternalExpression.g:9663:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0()); + } + // InternalExpression.g:9664:2: () + // InternalExpression.g:9664:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0_0__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__1" + // InternalExpression.g:9672:1: rule__XRelationalExpression__Group_1_0_0_0__1 : rule__XRelationalExpression__Group_1_0_0_0__1__Impl ; + public final void rule__XRelationalExpression__Group_1_0_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9676:1: ( rule__XRelationalExpression__Group_1_0_0_0__1__Impl ) + // InternalExpression.g:9677:2: rule__XRelationalExpression__Group_1_0_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0_0__1" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__1__Impl" + // InternalExpression.g:9683:1: rule__XRelationalExpression__Group_1_0_0_0__1__Impl : ( 'instanceof' ) ; + public final void rule__XRelationalExpression__Group_1_0_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9687:1: ( ( 'instanceof' ) ) + // InternalExpression.g:9688:1: ( 'instanceof' ) + { + // InternalExpression.g:9688:1: ( 'instanceof' ) + // InternalExpression.g:9689:2: 'instanceof' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); + } + match(input,85,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0_0__1__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1__0" + // InternalExpression.g:9699:1: rule__XRelationalExpression__Group_1_1__0 : rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1 ; + public final void rule__XRelationalExpression__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9703:1: ( rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1 ) + // InternalExpression.g:9704:2: rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1 + { + pushFollow(FOLLOW_48); + rule__XRelationalExpression__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1__0__Impl" + // InternalExpression.g:9711:1: rule__XRelationalExpression__Group_1_1__0__Impl : ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) ; + public final void rule__XRelationalExpression__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9715:1: ( ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) ) + // InternalExpression.g:9716:1: ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) + { + // InternalExpression.g:9716:1: ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) + // InternalExpression.g:9717:2: ( rule__XRelationalExpression__Group_1_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0()); + } + // InternalExpression.g:9718:2: ( rule__XRelationalExpression__Group_1_1_0__0 ) + // InternalExpression.g:9718:3: rule__XRelationalExpression__Group_1_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1__1" + // InternalExpression.g:9726:1: rule__XRelationalExpression__Group_1_1__1 : rule__XRelationalExpression__Group_1_1__1__Impl ; + public final void rule__XRelationalExpression__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9730:1: ( rule__XRelationalExpression__Group_1_1__1__Impl ) + // InternalExpression.g:9731:2: rule__XRelationalExpression__Group_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1__1" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1__1__Impl" + // InternalExpression.g:9737:1: rule__XRelationalExpression__Group_1_1__1__Impl : ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) ; + public final void rule__XRelationalExpression__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9741:1: ( ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) ) + // InternalExpression.g:9742:1: ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) + { + // InternalExpression.g:9742:1: ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) + // InternalExpression.g:9743:2: ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1()); + } + // InternalExpression.g:9744:2: ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) + // InternalExpression.g:9744:3: rule__XRelationalExpression__RightOperandAssignment_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__RightOperandAssignment_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1__1__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0__0" + // InternalExpression.g:9753:1: rule__XRelationalExpression__Group_1_1_0__0 : rule__XRelationalExpression__Group_1_1_0__0__Impl ; + public final void rule__XRelationalExpression__Group_1_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9757:1: ( rule__XRelationalExpression__Group_1_1_0__0__Impl ) + // InternalExpression.g:9758:2: rule__XRelationalExpression__Group_1_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0__0__Impl" + // InternalExpression.g:9764:1: rule__XRelationalExpression__Group_1_1_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) ; + public final void rule__XRelationalExpression__Group_1_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9768:1: ( ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) ) + // InternalExpression.g:9769:1: ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) + { + // InternalExpression.g:9769:1: ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) + // InternalExpression.g:9770:2: ( rule__XRelationalExpression__Group_1_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0()); + } + // InternalExpression.g:9771:2: ( rule__XRelationalExpression__Group_1_1_0_0__0 ) + // InternalExpression.g:9771:3: rule__XRelationalExpression__Group_1_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__0" + // InternalExpression.g:9780:1: rule__XRelationalExpression__Group_1_1_0_0__0 : rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1 ; + public final void rule__XRelationalExpression__Group_1_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9784:1: ( rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1 ) + // InternalExpression.g:9785:2: rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1 + { + pushFollow(FOLLOW_54); + rule__XRelationalExpression__Group_1_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0_0__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__0__Impl" + // InternalExpression.g:9792:1: rule__XRelationalExpression__Group_1_1_0_0__0__Impl : ( () ) ; + public final void rule__XRelationalExpression__Group_1_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9796:1: ( ( () ) ) + // InternalExpression.g:9797:1: ( () ) + { + // InternalExpression.g:9797:1: ( () ) + // InternalExpression.g:9798:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); + } + // InternalExpression.g:9799:2: () + // InternalExpression.g:9799:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0_0__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__1" + // InternalExpression.g:9807:1: rule__XRelationalExpression__Group_1_1_0_0__1 : rule__XRelationalExpression__Group_1_1_0_0__1__Impl ; + public final void rule__XRelationalExpression__Group_1_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9811:1: ( rule__XRelationalExpression__Group_1_1_0_0__1__Impl ) + // InternalExpression.g:9812:2: rule__XRelationalExpression__Group_1_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0_0__1" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__1__Impl" + // InternalExpression.g:9818:1: rule__XRelationalExpression__Group_1_1_0_0__1__Impl : ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) ; + public final void rule__XRelationalExpression__Group_1_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9822:1: ( ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) ) + // InternalExpression.g:9823:1: ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) + { + // InternalExpression.g:9823:1: ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) + // InternalExpression.g:9824:2: ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1()); + } + // InternalExpression.g:9825:2: ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) + // InternalExpression.g:9825:3: rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0_0__1__Impl" + + + // $ANTLR start "rule__OpCompare__Group_1__0" + // InternalExpression.g:9834:1: rule__OpCompare__Group_1__0 : rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1 ; + public final void rule__OpCompare__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9838:1: ( rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1 ) + // InternalExpression.g:9839:2: rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1 + { + pushFollow(FOLLOW_5); + rule__OpCompare__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpCompare__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpCompare__Group_1__0" + + + // $ANTLR start "rule__OpCompare__Group_1__0__Impl" + // InternalExpression.g:9846:1: rule__OpCompare__Group_1__0__Impl : ( '<' ) ; + public final void rule__OpCompare__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9850:1: ( ( '<' ) ) + // InternalExpression.g:9851:1: ( '<' ) + { + // InternalExpression.g:9851:1: ( '<' ) + // InternalExpression.g:9852:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpCompare__Group_1__0__Impl" + + + // $ANTLR start "rule__OpCompare__Group_1__1" + // InternalExpression.g:9861:1: rule__OpCompare__Group_1__1 : rule__OpCompare__Group_1__1__Impl ; + public final void rule__OpCompare__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9865:1: ( rule__OpCompare__Group_1__1__Impl ) + // InternalExpression.g:9866:2: rule__OpCompare__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpCompare__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpCompare__Group_1__1" + + + // $ANTLR start "rule__OpCompare__Group_1__1__Impl" + // InternalExpression.g:9872:1: rule__OpCompare__Group_1__1__Impl : ( '=' ) ; + public final void rule__OpCompare__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9876:1: ( ( '=' ) ) + // InternalExpression.g:9877:1: ( '=' ) + { + // InternalExpression.g:9877:1: ( '=' ) + // InternalExpression.g:9878:2: '=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); + } + match(input,14,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpCompare__Group_1__1__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group__0" + // InternalExpression.g:9888:1: rule__XOtherOperatorExpression__Group__0 : rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1 ; + public final void rule__XOtherOperatorExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9892:1: ( rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1 ) + // InternalExpression.g:9893:2: rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1 + { + pushFollow(FOLLOW_58); + rule__XOtherOperatorExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group__0" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group__0__Impl" + // InternalExpression.g:9900:1: rule__XOtherOperatorExpression__Group__0__Impl : ( ruleXAdditiveExpression ) ; + public final void rule__XOtherOperatorExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9904:1: ( ( ruleXAdditiveExpression ) ) + // InternalExpression.g:9905:1: ( ruleXAdditiveExpression ) + { + // InternalExpression.g:9905:1: ( ruleXAdditiveExpression ) + // InternalExpression.g:9906:2: ruleXAdditiveExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXAdditiveExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group__0__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group__1" + // InternalExpression.g:9915:1: rule__XOtherOperatorExpression__Group__1 : rule__XOtherOperatorExpression__Group__1__Impl ; + public final void rule__XOtherOperatorExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9919:1: ( rule__XOtherOperatorExpression__Group__1__Impl ) + // InternalExpression.g:9920:2: rule__XOtherOperatorExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group__1" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group__1__Impl" + // InternalExpression.g:9926:1: rule__XOtherOperatorExpression__Group__1__Impl : ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) ; + public final void rule__XOtherOperatorExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9930:1: ( ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) ) + // InternalExpression.g:9931:1: ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) + { + // InternalExpression.g:9931:1: ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) + // InternalExpression.g:9932:2: ( rule__XOtherOperatorExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1()); + } + // InternalExpression.g:9933:2: ( rule__XOtherOperatorExpression__Group_1__0 )* + loop84: + do { + int alt84=2; + alt84 = dfa84.predict(input); + switch (alt84) { + case 1 : + // InternalExpression.g:9933:3: rule__XOtherOperatorExpression__Group_1__0 + { + pushFollow(FOLLOW_59); + rule__XOtherOperatorExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop84; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group__1__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1__0" + // InternalExpression.g:9942:1: rule__XOtherOperatorExpression__Group_1__0 : rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1 ; + public final void rule__XOtherOperatorExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9946:1: ( rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1 ) + // InternalExpression.g:9947:2: rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1 + { + pushFollow(FOLLOW_48); + rule__XOtherOperatorExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1__0" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1__0__Impl" + // InternalExpression.g:9954:1: rule__XOtherOperatorExpression__Group_1__0__Impl : ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) ; + public final void rule__XOtherOperatorExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9958:1: ( ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) ) + // InternalExpression.g:9959:1: ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) + { + // InternalExpression.g:9959:1: ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) + // InternalExpression.g:9960:2: ( rule__XOtherOperatorExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0()); + } + // InternalExpression.g:9961:2: ( rule__XOtherOperatorExpression__Group_1_0__0 ) + // InternalExpression.g:9961:3: rule__XOtherOperatorExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1__1" + // InternalExpression.g:9969:1: rule__XOtherOperatorExpression__Group_1__1 : rule__XOtherOperatorExpression__Group_1__1__Impl ; + public final void rule__XOtherOperatorExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9973:1: ( rule__XOtherOperatorExpression__Group_1__1__Impl ) + // InternalExpression.g:9974:2: rule__XOtherOperatorExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1__1" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1__1__Impl" + // InternalExpression.g:9980:1: rule__XOtherOperatorExpression__Group_1__1__Impl : ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XOtherOperatorExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:9984:1: ( ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) ) + // InternalExpression.g:9985:1: ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) + { + // InternalExpression.g:9985:1: ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) + // InternalExpression.g:9986:2: ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalExpression.g:9987:2: ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) + // InternalExpression.g:9987:3: rule__XOtherOperatorExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0__0" + // InternalExpression.g:9996:1: rule__XOtherOperatorExpression__Group_1_0__0 : rule__XOtherOperatorExpression__Group_1_0__0__Impl ; + public final void rule__XOtherOperatorExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10000:1: ( rule__XOtherOperatorExpression__Group_1_0__0__Impl ) + // InternalExpression.g:10001:2: rule__XOtherOperatorExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0__0" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0__0__Impl" + // InternalExpression.g:10007:1: rule__XOtherOperatorExpression__Group_1_0__0__Impl : ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) ; + public final void rule__XOtherOperatorExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10011:1: ( ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) ) + // InternalExpression.g:10012:1: ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) + { + // InternalExpression.g:10012:1: ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) + // InternalExpression.g:10013:2: ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0()); + } + // InternalExpression.g:10014:2: ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) + // InternalExpression.g:10014:3: rule__XOtherOperatorExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__0" + // InternalExpression.g:10023:1: rule__XOtherOperatorExpression__Group_1_0_0__0 : rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1 ; + public final void rule__XOtherOperatorExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10027:1: ( rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1 ) + // InternalExpression.g:10028:2: rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_58); + rule__XOtherOperatorExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__0__Impl" + // InternalExpression.g:10035:1: rule__XOtherOperatorExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XOtherOperatorExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10039:1: ( ( () ) ) + // InternalExpression.g:10040:1: ( () ) + { + // InternalExpression.g:10040:1: ( () ) + // InternalExpression.g:10041:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalExpression.g:10042:2: () + // InternalExpression.g:10042:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__1" + // InternalExpression.g:10050:1: rule__XOtherOperatorExpression__Group_1_0_0__1 : rule__XOtherOperatorExpression__Group_1_0_0__1__Impl ; + public final void rule__XOtherOperatorExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10054:1: ( rule__XOtherOperatorExpression__Group_1_0_0__1__Impl ) + // InternalExpression.g:10055:2: rule__XOtherOperatorExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__1__Impl" + // InternalExpression.g:10061:1: rule__XOtherOperatorExpression__Group_1_0_0__1__Impl : ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XOtherOperatorExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10065:1: ( ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalExpression.g:10066:1: ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalExpression.g:10066:1: ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalExpression.g:10067:2: ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalExpression.g:10068:2: ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) + // InternalExpression.g:10068:3: rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__OpOther__Group_2__0" + // InternalExpression.g:10077:1: rule__OpOther__Group_2__0 : rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1 ; + public final void rule__OpOther__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10081:1: ( rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1 ) + // InternalExpression.g:10082:2: rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1 + { + pushFollow(FOLLOW_60); + rule__OpOther__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpOther__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_2__0" + + + // $ANTLR start "rule__OpOther__Group_2__0__Impl" + // InternalExpression.g:10089:1: rule__OpOther__Group_2__0__Impl : ( '>' ) ; + public final void rule__OpOther__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10093:1: ( ( '>' ) ) + // InternalExpression.g:10094:1: ( '>' ) + { + // InternalExpression.g:10094:1: ( '>' ) + // InternalExpression.g:10095:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_2__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_2__1" + // InternalExpression.g:10104:1: rule__OpOther__Group_2__1 : rule__OpOther__Group_2__1__Impl ; + public final void rule__OpOther__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10108:1: ( rule__OpOther__Group_2__1__Impl ) + // InternalExpression.g:10109:2: rule__OpOther__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_2__1" + + + // $ANTLR start "rule__OpOther__Group_2__1__Impl" + // InternalExpression.g:10115:1: rule__OpOther__Group_2__1__Impl : ( '..' ) ; + public final void rule__OpOther__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10119:1: ( ( '..' ) ) + // InternalExpression.g:10120:1: ( '..' ) + { + // InternalExpression.g:10120:1: ( '..' ) + // InternalExpression.g:10121:2: '..' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); + } + match(input,50,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_2__1__Impl" + + + // $ANTLR start "rule__OpOther__Group_5__0" + // InternalExpression.g:10131:1: rule__OpOther__Group_5__0 : rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1 ; + public final void rule__OpOther__Group_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10135:1: ( rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1 ) + // InternalExpression.g:10136:2: rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1 + { + pushFollow(FOLLOW_61); + rule__OpOther__Group_5__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpOther__Group_5__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5__0" + + + // $ANTLR start "rule__OpOther__Group_5__0__Impl" + // InternalExpression.g:10143:1: rule__OpOther__Group_5__0__Impl : ( '>' ) ; + public final void rule__OpOther__Group_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10147:1: ( ( '>' ) ) + // InternalExpression.g:10148:1: ( '>' ) + { + // InternalExpression.g:10148:1: ( '>' ) + // InternalExpression.g:10149:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_5__1" + // InternalExpression.g:10158:1: rule__OpOther__Group_5__1 : rule__OpOther__Group_5__1__Impl ; + public final void rule__OpOther__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10162:1: ( rule__OpOther__Group_5__1__Impl ) + // InternalExpression.g:10163:2: rule__OpOther__Group_5__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_5__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5__1" + + + // $ANTLR start "rule__OpOther__Group_5__1__Impl" + // InternalExpression.g:10169:1: rule__OpOther__Group_5__1__Impl : ( ( rule__OpOther__Alternatives_5_1 ) ) ; + public final void rule__OpOther__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10173:1: ( ( ( rule__OpOther__Alternatives_5_1 ) ) ) + // InternalExpression.g:10174:1: ( ( rule__OpOther__Alternatives_5_1 ) ) + { + // InternalExpression.g:10174:1: ( ( rule__OpOther__Alternatives_5_1 ) ) + // InternalExpression.g:10175:2: ( rule__OpOther__Alternatives_5_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getAlternatives_5_1()); + } + // InternalExpression.g:10176:2: ( rule__OpOther__Alternatives_5_1 ) + // InternalExpression.g:10176:3: rule__OpOther__Alternatives_5_1 + { + pushFollow(FOLLOW_2); + rule__OpOther__Alternatives_5_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getAlternatives_5_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5__1__Impl" + + + // $ANTLR start "rule__OpOther__Group_5_1_0__0" + // InternalExpression.g:10185:1: rule__OpOther__Group_5_1_0__0 : rule__OpOther__Group_5_1_0__0__Impl ; + public final void rule__OpOther__Group_5_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10189:1: ( rule__OpOther__Group_5_1_0__0__Impl ) + // InternalExpression.g:10190:2: rule__OpOther__Group_5_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_5_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0__0" + + + // $ANTLR start "rule__OpOther__Group_5_1_0__0__Impl" + // InternalExpression.g:10196:1: rule__OpOther__Group_5_1_0__0__Impl : ( ( rule__OpOther__Group_5_1_0_0__0 ) ) ; + public final void rule__OpOther__Group_5_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10200:1: ( ( ( rule__OpOther__Group_5_1_0_0__0 ) ) ) + // InternalExpression.g:10201:1: ( ( rule__OpOther__Group_5_1_0_0__0 ) ) + { + // InternalExpression.g:10201:1: ( ( rule__OpOther__Group_5_1_0_0__0 ) ) + // InternalExpression.g:10202:2: ( rule__OpOther__Group_5_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0()); + } + // InternalExpression.g:10203:2: ( rule__OpOther__Group_5_1_0_0__0 ) + // InternalExpression.g:10203:3: rule__OpOther__Group_5_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_5_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_5_1_0_0__0" + // InternalExpression.g:10212:1: rule__OpOther__Group_5_1_0_0__0 : rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1 ; + public final void rule__OpOther__Group_5_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10216:1: ( rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1 ) + // InternalExpression.g:10217:2: rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1 + { + pushFollow(FOLLOW_61); + rule__OpOther__Group_5_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpOther__Group_5_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0_0__0" + + + // $ANTLR start "rule__OpOther__Group_5_1_0_0__0__Impl" + // InternalExpression.g:10224:1: rule__OpOther__Group_5_1_0_0__0__Impl : ( '>' ) ; + public final void rule__OpOther__Group_5_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10228:1: ( ( '>' ) ) + // InternalExpression.g:10229:1: ( '>' ) + { + // InternalExpression.g:10229:1: ( '>' ) + // InternalExpression.g:10230:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0_0__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_5_1_0_0__1" + // InternalExpression.g:10239:1: rule__OpOther__Group_5_1_0_0__1 : rule__OpOther__Group_5_1_0_0__1__Impl ; + public final void rule__OpOther__Group_5_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10243:1: ( rule__OpOther__Group_5_1_0_0__1__Impl ) + // InternalExpression.g:10244:2: rule__OpOther__Group_5_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_5_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0_0__1" + + + // $ANTLR start "rule__OpOther__Group_5_1_0_0__1__Impl" + // InternalExpression.g:10250:1: rule__OpOther__Group_5_1_0_0__1__Impl : ( '>' ) ; + public final void rule__OpOther__Group_5_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10254:1: ( ( '>' ) ) + // InternalExpression.g:10255:1: ( '>' ) + { + // InternalExpression.g:10255:1: ( '>' ) + // InternalExpression.g:10256:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0_0__1__Impl" + + + // $ANTLR start "rule__OpOther__Group_6__0" + // InternalExpression.g:10266:1: rule__OpOther__Group_6__0 : rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1 ; + public final void rule__OpOther__Group_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10270:1: ( rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1 ) + // InternalExpression.g:10271:2: rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1 + { + pushFollow(FOLLOW_62); + rule__OpOther__Group_6__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpOther__Group_6__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6__0" + + + // $ANTLR start "rule__OpOther__Group_6__0__Impl" + // InternalExpression.g:10278:1: rule__OpOther__Group_6__0__Impl : ( '<' ) ; + public final void rule__OpOther__Group_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10282:1: ( ( '<' ) ) + // InternalExpression.g:10283:1: ( '<' ) + { + // InternalExpression.g:10283:1: ( '<' ) + // InternalExpression.g:10284:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_6__1" + // InternalExpression.g:10293:1: rule__OpOther__Group_6__1 : rule__OpOther__Group_6__1__Impl ; + public final void rule__OpOther__Group_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10297:1: ( rule__OpOther__Group_6__1__Impl ) + // InternalExpression.g:10298:2: rule__OpOther__Group_6__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6__1" + + + // $ANTLR start "rule__OpOther__Group_6__1__Impl" + // InternalExpression.g:10304:1: rule__OpOther__Group_6__1__Impl : ( ( rule__OpOther__Alternatives_6_1 ) ) ; + public final void rule__OpOther__Group_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10308:1: ( ( ( rule__OpOther__Alternatives_6_1 ) ) ) + // InternalExpression.g:10309:1: ( ( rule__OpOther__Alternatives_6_1 ) ) + { + // InternalExpression.g:10309:1: ( ( rule__OpOther__Alternatives_6_1 ) ) + // InternalExpression.g:10310:2: ( rule__OpOther__Alternatives_6_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getAlternatives_6_1()); + } + // InternalExpression.g:10311:2: ( rule__OpOther__Alternatives_6_1 ) + // InternalExpression.g:10311:3: rule__OpOther__Alternatives_6_1 + { + pushFollow(FOLLOW_2); + rule__OpOther__Alternatives_6_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getAlternatives_6_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6__1__Impl" + + + // $ANTLR start "rule__OpOther__Group_6_1_0__0" + // InternalExpression.g:10320:1: rule__OpOther__Group_6_1_0__0 : rule__OpOther__Group_6_1_0__0__Impl ; + public final void rule__OpOther__Group_6_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10324:1: ( rule__OpOther__Group_6_1_0__0__Impl ) + // InternalExpression.g:10325:2: rule__OpOther__Group_6_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0__0" + + + // $ANTLR start "rule__OpOther__Group_6_1_0__0__Impl" + // InternalExpression.g:10331:1: rule__OpOther__Group_6_1_0__0__Impl : ( ( rule__OpOther__Group_6_1_0_0__0 ) ) ; + public final void rule__OpOther__Group_6_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10335:1: ( ( ( rule__OpOther__Group_6_1_0_0__0 ) ) ) + // InternalExpression.g:10336:1: ( ( rule__OpOther__Group_6_1_0_0__0 ) ) + { + // InternalExpression.g:10336:1: ( ( rule__OpOther__Group_6_1_0_0__0 ) ) + // InternalExpression.g:10337:2: ( rule__OpOther__Group_6_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0()); + } + // InternalExpression.g:10338:2: ( rule__OpOther__Group_6_1_0_0__0 ) + // InternalExpression.g:10338:3: rule__OpOther__Group_6_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_6_1_0_0__0" + // InternalExpression.g:10347:1: rule__OpOther__Group_6_1_0_0__0 : rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1 ; + public final void rule__OpOther__Group_6_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10351:1: ( rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1 ) + // InternalExpression.g:10352:2: rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1 + { + pushFollow(FOLLOW_50); + rule__OpOther__Group_6_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpOther__Group_6_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0_0__0" + + + // $ANTLR start "rule__OpOther__Group_6_1_0_0__0__Impl" + // InternalExpression.g:10359:1: rule__OpOther__Group_6_1_0_0__0__Impl : ( '<' ) ; + public final void rule__OpOther__Group_6_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10363:1: ( ( '<' ) ) + // InternalExpression.g:10364:1: ( '<' ) + { + // InternalExpression.g:10364:1: ( '<' ) + // InternalExpression.g:10365:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0_0__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_6_1_0_0__1" + // InternalExpression.g:10374:1: rule__OpOther__Group_6_1_0_0__1 : rule__OpOther__Group_6_1_0_0__1__Impl ; + public final void rule__OpOther__Group_6_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10378:1: ( rule__OpOther__Group_6_1_0_0__1__Impl ) + // InternalExpression.g:10379:2: rule__OpOther__Group_6_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0_0__1" + + + // $ANTLR start "rule__OpOther__Group_6_1_0_0__1__Impl" + // InternalExpression.g:10385:1: rule__OpOther__Group_6_1_0_0__1__Impl : ( '<' ) ; + public final void rule__OpOther__Group_6_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10389:1: ( ( '<' ) ) + // InternalExpression.g:10390:1: ( '<' ) + { + // InternalExpression.g:10390:1: ( '<' ) + // InternalExpression.g:10391:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0_0__1__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group__0" + // InternalExpression.g:10401:1: rule__XAdditiveExpression__Group__0 : rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1 ; + public final void rule__XAdditiveExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10405:1: ( rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1 ) + // InternalExpression.g:10406:2: rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1 + { + pushFollow(FOLLOW_28); + rule__XAdditiveExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group__0" + + + // $ANTLR start "rule__XAdditiveExpression__Group__0__Impl" + // InternalExpression.g:10413:1: rule__XAdditiveExpression__Group__0__Impl : ( ruleXMultiplicativeExpression ) ; + public final void rule__XAdditiveExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10417:1: ( ( ruleXMultiplicativeExpression ) ) + // InternalExpression.g:10418:1: ( ruleXMultiplicativeExpression ) + { + // InternalExpression.g:10418:1: ( ruleXMultiplicativeExpression ) + // InternalExpression.g:10419:2: ruleXMultiplicativeExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group__0__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group__1" + // InternalExpression.g:10428:1: rule__XAdditiveExpression__Group__1 : rule__XAdditiveExpression__Group__1__Impl ; + public final void rule__XAdditiveExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10432:1: ( rule__XAdditiveExpression__Group__1__Impl ) + // InternalExpression.g:10433:2: rule__XAdditiveExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group__1" + + + // $ANTLR start "rule__XAdditiveExpression__Group__1__Impl" + // InternalExpression.g:10439:1: rule__XAdditiveExpression__Group__1__Impl : ( ( rule__XAdditiveExpression__Group_1__0 )* ) ; + public final void rule__XAdditiveExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10443:1: ( ( ( rule__XAdditiveExpression__Group_1__0 )* ) ) + // InternalExpression.g:10444:1: ( ( rule__XAdditiveExpression__Group_1__0 )* ) + { + // InternalExpression.g:10444:1: ( ( rule__XAdditiveExpression__Group_1__0 )* ) + // InternalExpression.g:10445:2: ( rule__XAdditiveExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1()); + } + // InternalExpression.g:10446:2: ( rule__XAdditiveExpression__Group_1__0 )* + loop85: + do { + int alt85=2; + int LA85_0 = input.LA(1); + + if ( (LA85_0==24) ) { + int LA85_2 = input.LA(2); + + if ( (synpred158_InternalExpression()) ) { + alt85=1; + } + + + } + else if ( (LA85_0==23) ) { + int LA85_3 = input.LA(2); + + if ( (synpred158_InternalExpression()) ) { + alt85=1; + } + + + } + + + switch (alt85) { + case 1 : + // InternalExpression.g:10446:3: rule__XAdditiveExpression__Group_1__0 + { + pushFollow(FOLLOW_29); + rule__XAdditiveExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop85; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group__1__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1__0" + // InternalExpression.g:10455:1: rule__XAdditiveExpression__Group_1__0 : rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1 ; + public final void rule__XAdditiveExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10459:1: ( rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1 ) + // InternalExpression.g:10460:2: rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1 + { + pushFollow(FOLLOW_48); + rule__XAdditiveExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1__0" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1__0__Impl" + // InternalExpression.g:10467:1: rule__XAdditiveExpression__Group_1__0__Impl : ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) ; + public final void rule__XAdditiveExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10471:1: ( ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) ) + // InternalExpression.g:10472:1: ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) + { + // InternalExpression.g:10472:1: ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) + // InternalExpression.g:10473:2: ( rule__XAdditiveExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0()); + } + // InternalExpression.g:10474:2: ( rule__XAdditiveExpression__Group_1_0__0 ) + // InternalExpression.g:10474:3: rule__XAdditiveExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1__1" + // InternalExpression.g:10482:1: rule__XAdditiveExpression__Group_1__1 : rule__XAdditiveExpression__Group_1__1__Impl ; + public final void rule__XAdditiveExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10486:1: ( rule__XAdditiveExpression__Group_1__1__Impl ) + // InternalExpression.g:10487:2: rule__XAdditiveExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1__1" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1__1__Impl" + // InternalExpression.g:10493:1: rule__XAdditiveExpression__Group_1__1__Impl : ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XAdditiveExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10497:1: ( ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) ) + // InternalExpression.g:10498:1: ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) + { + // InternalExpression.g:10498:1: ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) + // InternalExpression.g:10499:2: ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalExpression.g:10500:2: ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) + // InternalExpression.g:10500:3: rule__XAdditiveExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0__0" + // InternalExpression.g:10509:1: rule__XAdditiveExpression__Group_1_0__0 : rule__XAdditiveExpression__Group_1_0__0__Impl ; + public final void rule__XAdditiveExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10513:1: ( rule__XAdditiveExpression__Group_1_0__0__Impl ) + // InternalExpression.g:10514:2: rule__XAdditiveExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0__0" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0__0__Impl" + // InternalExpression.g:10520:1: rule__XAdditiveExpression__Group_1_0__0__Impl : ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) ; + public final void rule__XAdditiveExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10524:1: ( ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) ) + // InternalExpression.g:10525:1: ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) + { + // InternalExpression.g:10525:1: ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) + // InternalExpression.g:10526:2: ( rule__XAdditiveExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0()); + } + // InternalExpression.g:10527:2: ( rule__XAdditiveExpression__Group_1_0_0__0 ) + // InternalExpression.g:10527:3: rule__XAdditiveExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__0" + // InternalExpression.g:10536:1: rule__XAdditiveExpression__Group_1_0_0__0 : rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1 ; + public final void rule__XAdditiveExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10540:1: ( rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1 ) + // InternalExpression.g:10541:2: rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_28); + rule__XAdditiveExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__0__Impl" + // InternalExpression.g:10548:1: rule__XAdditiveExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XAdditiveExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10552:1: ( ( () ) ) + // InternalExpression.g:10553:1: ( () ) + { + // InternalExpression.g:10553:1: ( () ) + // InternalExpression.g:10554:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalExpression.g:10555:2: () + // InternalExpression.g:10555:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__1" + // InternalExpression.g:10563:1: rule__XAdditiveExpression__Group_1_0_0__1 : rule__XAdditiveExpression__Group_1_0_0__1__Impl ; + public final void rule__XAdditiveExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10567:1: ( rule__XAdditiveExpression__Group_1_0_0__1__Impl ) + // InternalExpression.g:10568:2: rule__XAdditiveExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__1__Impl" + // InternalExpression.g:10574:1: rule__XAdditiveExpression__Group_1_0_0__1__Impl : ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XAdditiveExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10578:1: ( ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalExpression.g:10579:1: ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalExpression.g:10579:1: ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalExpression.g:10580:2: ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalExpression.g:10581:2: ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) + // InternalExpression.g:10581:3: rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group__0" + // InternalExpression.g:10590:1: rule__XMultiplicativeExpression__Group__0 : rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1 ; + public final void rule__XMultiplicativeExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10594:1: ( rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1 ) + // InternalExpression.g:10595:2: rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1 + { + pushFollow(FOLLOW_63); + rule__XMultiplicativeExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group__0" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group__0__Impl" + // InternalExpression.g:10602:1: rule__XMultiplicativeExpression__Group__0__Impl : ( ruleXUnaryOperation ) ; + public final void rule__XMultiplicativeExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10606:1: ( ( ruleXUnaryOperation ) ) + // InternalExpression.g:10607:1: ( ruleXUnaryOperation ) + { + // InternalExpression.g:10607:1: ( ruleXUnaryOperation ) + // InternalExpression.g:10608:2: ruleXUnaryOperation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group__0__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group__1" + // InternalExpression.g:10617:1: rule__XMultiplicativeExpression__Group__1 : rule__XMultiplicativeExpression__Group__1__Impl ; + public final void rule__XMultiplicativeExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10621:1: ( rule__XMultiplicativeExpression__Group__1__Impl ) + // InternalExpression.g:10622:2: rule__XMultiplicativeExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group__1" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group__1__Impl" + // InternalExpression.g:10628:1: rule__XMultiplicativeExpression__Group__1__Impl : ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) ; + public final void rule__XMultiplicativeExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10632:1: ( ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) ) + // InternalExpression.g:10633:1: ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) + { + // InternalExpression.g:10633:1: ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) + // InternalExpression.g:10634:2: ( rule__XMultiplicativeExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1()); + } + // InternalExpression.g:10635:2: ( rule__XMultiplicativeExpression__Group_1__0 )* + loop86: + do { + int alt86=2; + switch ( input.LA(1) ) { + case 25: + { + int LA86_2 = input.LA(2); + + if ( (synpred159_InternalExpression()) ) { + alt86=1; + } + + + } + break; + case 54: + { + int LA86_3 = input.LA(2); + + if ( (synpred159_InternalExpression()) ) { + alt86=1; + } + + + } + break; + case 26: + { + int LA86_4 = input.LA(2); + + if ( (synpred159_InternalExpression()) ) { + alt86=1; + } + + + } + break; + case 55: + { + int LA86_5 = input.LA(2); + + if ( (synpred159_InternalExpression()) ) { + alt86=1; + } + + + } + break; + + } + + switch (alt86) { + case 1 : + // InternalExpression.g:10635:3: rule__XMultiplicativeExpression__Group_1__0 + { + pushFollow(FOLLOW_64); + rule__XMultiplicativeExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop86; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group__1__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1__0" + // InternalExpression.g:10644:1: rule__XMultiplicativeExpression__Group_1__0 : rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1 ; + public final void rule__XMultiplicativeExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10648:1: ( rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1 ) + // InternalExpression.g:10649:2: rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1 + { + pushFollow(FOLLOW_48); + rule__XMultiplicativeExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1__0" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1__0__Impl" + // InternalExpression.g:10656:1: rule__XMultiplicativeExpression__Group_1__0__Impl : ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) ; + public final void rule__XMultiplicativeExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10660:1: ( ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) ) + // InternalExpression.g:10661:1: ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) + { + // InternalExpression.g:10661:1: ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) + // InternalExpression.g:10662:2: ( rule__XMultiplicativeExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0()); + } + // InternalExpression.g:10663:2: ( rule__XMultiplicativeExpression__Group_1_0__0 ) + // InternalExpression.g:10663:3: rule__XMultiplicativeExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1__1" + // InternalExpression.g:10671:1: rule__XMultiplicativeExpression__Group_1__1 : rule__XMultiplicativeExpression__Group_1__1__Impl ; + public final void rule__XMultiplicativeExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10675:1: ( rule__XMultiplicativeExpression__Group_1__1__Impl ) + // InternalExpression.g:10676:2: rule__XMultiplicativeExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1__1" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1__1__Impl" + // InternalExpression.g:10682:1: rule__XMultiplicativeExpression__Group_1__1__Impl : ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XMultiplicativeExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10686:1: ( ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) ) + // InternalExpression.g:10687:1: ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) + { + // InternalExpression.g:10687:1: ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) + // InternalExpression.g:10688:2: ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalExpression.g:10689:2: ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) + // InternalExpression.g:10689:3: rule__XMultiplicativeExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0__0" + // InternalExpression.g:10698:1: rule__XMultiplicativeExpression__Group_1_0__0 : rule__XMultiplicativeExpression__Group_1_0__0__Impl ; + public final void rule__XMultiplicativeExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10702:1: ( rule__XMultiplicativeExpression__Group_1_0__0__Impl ) + // InternalExpression.g:10703:2: rule__XMultiplicativeExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0__0" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0__0__Impl" + // InternalExpression.g:10709:1: rule__XMultiplicativeExpression__Group_1_0__0__Impl : ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) ; + public final void rule__XMultiplicativeExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10713:1: ( ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) ) + // InternalExpression.g:10714:1: ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) + { + // InternalExpression.g:10714:1: ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) + // InternalExpression.g:10715:2: ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0()); + } + // InternalExpression.g:10716:2: ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) + // InternalExpression.g:10716:3: rule__XMultiplicativeExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__0" + // InternalExpression.g:10725:1: rule__XMultiplicativeExpression__Group_1_0_0__0 : rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1 ; + public final void rule__XMultiplicativeExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10729:1: ( rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1 ) + // InternalExpression.g:10730:2: rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_63); + rule__XMultiplicativeExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__0__Impl" + // InternalExpression.g:10737:1: rule__XMultiplicativeExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XMultiplicativeExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10741:1: ( ( () ) ) + // InternalExpression.g:10742:1: ( () ) + { + // InternalExpression.g:10742:1: ( () ) + // InternalExpression.g:10743:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalExpression.g:10744:2: () + // InternalExpression.g:10744:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__1" + // InternalExpression.g:10752:1: rule__XMultiplicativeExpression__Group_1_0_0__1 : rule__XMultiplicativeExpression__Group_1_0_0__1__Impl ; + public final void rule__XMultiplicativeExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10756:1: ( rule__XMultiplicativeExpression__Group_1_0_0__1__Impl ) + // InternalExpression.g:10757:2: rule__XMultiplicativeExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__1__Impl" + // InternalExpression.g:10763:1: rule__XMultiplicativeExpression__Group_1_0_0__1__Impl : ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XMultiplicativeExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10767:1: ( ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalExpression.g:10768:1: ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalExpression.g:10768:1: ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalExpression.g:10769:2: ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalExpression.g:10770:2: ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) + // InternalExpression.g:10770:3: rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__0" + // InternalExpression.g:10779:1: rule__XUnaryOperation__Group_0__0 : rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1 ; + public final void rule__XUnaryOperation__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10783:1: ( rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1 ) + // InternalExpression.g:10784:2: rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1 + { + pushFollow(FOLLOW_65); + rule__XUnaryOperation__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XUnaryOperation__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__0" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__0__Impl" + // InternalExpression.g:10791:1: rule__XUnaryOperation__Group_0__0__Impl : ( () ) ; + public final void rule__XUnaryOperation__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10795:1: ( ( () ) ) + // InternalExpression.g:10796:1: ( () ) + { + // InternalExpression.g:10796:1: ( () ) + // InternalExpression.g:10797:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0()); + } + // InternalExpression.g:10798:2: () + // InternalExpression.g:10798:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__0__Impl" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__1" + // InternalExpression.g:10806:1: rule__XUnaryOperation__Group_0__1 : rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2 ; + public final void rule__XUnaryOperation__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10810:1: ( rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2 ) + // InternalExpression.g:10811:2: rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2 + { + pushFollow(FOLLOW_48); + rule__XUnaryOperation__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XUnaryOperation__Group_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__1" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__1__Impl" + // InternalExpression.g:10818:1: rule__XUnaryOperation__Group_0__1__Impl : ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) ; + public final void rule__XUnaryOperation__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10822:1: ( ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) ) + // InternalExpression.g:10823:1: ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) + { + // InternalExpression.g:10823:1: ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) + // InternalExpression.g:10824:2: ( rule__XUnaryOperation__FeatureAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1()); + } + // InternalExpression.g:10825:2: ( rule__XUnaryOperation__FeatureAssignment_0_1 ) + // InternalExpression.g:10825:3: rule__XUnaryOperation__FeatureAssignment_0_1 + { + pushFollow(FOLLOW_2); + rule__XUnaryOperation__FeatureAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__1__Impl" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__2" + // InternalExpression.g:10833:1: rule__XUnaryOperation__Group_0__2 : rule__XUnaryOperation__Group_0__2__Impl ; + public final void rule__XUnaryOperation__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10837:1: ( rule__XUnaryOperation__Group_0__2__Impl ) + // InternalExpression.g:10838:2: rule__XUnaryOperation__Group_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XUnaryOperation__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__2" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__2__Impl" + // InternalExpression.g:10844:1: rule__XUnaryOperation__Group_0__2__Impl : ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) ; + public final void rule__XUnaryOperation__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10848:1: ( ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) ) + // InternalExpression.g:10849:1: ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) + { + // InternalExpression.g:10849:1: ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) + // InternalExpression.g:10850:2: ( rule__XUnaryOperation__OperandAssignment_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2()); + } + // InternalExpression.g:10851:2: ( rule__XUnaryOperation__OperandAssignment_0_2 ) + // InternalExpression.g:10851:3: rule__XUnaryOperation__OperandAssignment_0_2 + { + pushFollow(FOLLOW_2); + rule__XUnaryOperation__OperandAssignment_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__2__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group__0" + // InternalExpression.g:10860:1: rule__XCastedExpression__Group__0 : rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1 ; + public final void rule__XCastedExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10864:1: ( rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1 ) + // InternalExpression.g:10865:2: rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1 + { + pushFollow(FOLLOW_66); + rule__XCastedExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group__0" + + + // $ANTLR start "rule__XCastedExpression__Group__0__Impl" + // InternalExpression.g:10872:1: rule__XCastedExpression__Group__0__Impl : ( ruleXPostfixOperation ) ; + public final void rule__XCastedExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10876:1: ( ( ruleXPostfixOperation ) ) + // InternalExpression.g:10877:1: ( ruleXPostfixOperation ) + { + // InternalExpression.g:10877:1: ( ruleXPostfixOperation ) + // InternalExpression.g:10878:2: ruleXPostfixOperation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXPostfixOperation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group__0__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group__1" + // InternalExpression.g:10887:1: rule__XCastedExpression__Group__1 : rule__XCastedExpression__Group__1__Impl ; + public final void rule__XCastedExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10891:1: ( rule__XCastedExpression__Group__1__Impl ) + // InternalExpression.g:10892:2: rule__XCastedExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group__1" + + + // $ANTLR start "rule__XCastedExpression__Group__1__Impl" + // InternalExpression.g:10898:1: rule__XCastedExpression__Group__1__Impl : ( ( rule__XCastedExpression__Group_1__0 )* ) ; + public final void rule__XCastedExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10902:1: ( ( ( rule__XCastedExpression__Group_1__0 )* ) ) + // InternalExpression.g:10903:1: ( ( rule__XCastedExpression__Group_1__0 )* ) + { + // InternalExpression.g:10903:1: ( ( rule__XCastedExpression__Group_1__0 )* ) + // InternalExpression.g:10904:2: ( rule__XCastedExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getGroup_1()); + } + // InternalExpression.g:10905:2: ( rule__XCastedExpression__Group_1__0 )* + loop87: + do { + int alt87=2; + int LA87_0 = input.LA(1); + + if ( (LA87_0==86) ) { + int LA87_2 = input.LA(2); + + if ( (synpred160_InternalExpression()) ) { + alt87=1; + } + + + } + + + switch (alt87) { + case 1 : + // InternalExpression.g:10905:3: rule__XCastedExpression__Group_1__0 + { + pushFollow(FOLLOW_67); + rule__XCastedExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop87; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group__1__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group_1__0" + // InternalExpression.g:10914:1: rule__XCastedExpression__Group_1__0 : rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1 ; + public final void rule__XCastedExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10918:1: ( rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1 ) + // InternalExpression.g:10919:2: rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1 + { + pushFollow(FOLLOW_56); + rule__XCastedExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1__0" + + + // $ANTLR start "rule__XCastedExpression__Group_1__0__Impl" + // InternalExpression.g:10926:1: rule__XCastedExpression__Group_1__0__Impl : ( ( rule__XCastedExpression__Group_1_0__0 ) ) ; + public final void rule__XCastedExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10930:1: ( ( ( rule__XCastedExpression__Group_1_0__0 ) ) ) + // InternalExpression.g:10931:1: ( ( rule__XCastedExpression__Group_1_0__0 ) ) + { + // InternalExpression.g:10931:1: ( ( rule__XCastedExpression__Group_1_0__0 ) ) + // InternalExpression.g:10932:2: ( rule__XCastedExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getGroup_1_0()); + } + // InternalExpression.g:10933:2: ( rule__XCastedExpression__Group_1_0__0 ) + // InternalExpression.g:10933:3: rule__XCastedExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group_1__1" + // InternalExpression.g:10941:1: rule__XCastedExpression__Group_1__1 : rule__XCastedExpression__Group_1__1__Impl ; + public final void rule__XCastedExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10945:1: ( rule__XCastedExpression__Group_1__1__Impl ) + // InternalExpression.g:10946:2: rule__XCastedExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1__1" + + + // $ANTLR start "rule__XCastedExpression__Group_1__1__Impl" + // InternalExpression.g:10952:1: rule__XCastedExpression__Group_1__1__Impl : ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) ; + public final void rule__XCastedExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10956:1: ( ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) ) + // InternalExpression.g:10957:1: ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) + { + // InternalExpression.g:10957:1: ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) + // InternalExpression.g:10958:2: ( rule__XCastedExpression__TypeAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1()); + } + // InternalExpression.g:10959:2: ( rule__XCastedExpression__TypeAssignment_1_1 ) + // InternalExpression.g:10959:3: rule__XCastedExpression__TypeAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__TypeAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0__0" + // InternalExpression.g:10968:1: rule__XCastedExpression__Group_1_0__0 : rule__XCastedExpression__Group_1_0__0__Impl ; + public final void rule__XCastedExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10972:1: ( rule__XCastedExpression__Group_1_0__0__Impl ) + // InternalExpression.g:10973:2: rule__XCastedExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0__0" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0__0__Impl" + // InternalExpression.g:10979:1: rule__XCastedExpression__Group_1_0__0__Impl : ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) ; + public final void rule__XCastedExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10983:1: ( ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) ) + // InternalExpression.g:10984:1: ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) + { + // InternalExpression.g:10984:1: ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) + // InternalExpression.g:10985:2: ( rule__XCastedExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0()); + } + // InternalExpression.g:10986:2: ( rule__XCastedExpression__Group_1_0_0__0 ) + // InternalExpression.g:10986:3: rule__XCastedExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0_0__0" + // InternalExpression.g:10995:1: rule__XCastedExpression__Group_1_0_0__0 : rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1 ; + public final void rule__XCastedExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:10999:1: ( rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1 ) + // InternalExpression.g:11000:2: rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_66); + rule__XCastedExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0_0__0__Impl" + // InternalExpression.g:11007:1: rule__XCastedExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XCastedExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11011:1: ( ( () ) ) + // InternalExpression.g:11012:1: ( () ) + { + // InternalExpression.g:11012:1: ( () ) + // InternalExpression.g:11013:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0()); + } + // InternalExpression.g:11014:2: () + // InternalExpression.g:11014:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0_0__1" + // InternalExpression.g:11022:1: rule__XCastedExpression__Group_1_0_0__1 : rule__XCastedExpression__Group_1_0_0__1__Impl ; + public final void rule__XCastedExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11026:1: ( rule__XCastedExpression__Group_1_0_0__1__Impl ) + // InternalExpression.g:11027:2: rule__XCastedExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0_0__1__Impl" + // InternalExpression.g:11033:1: rule__XCastedExpression__Group_1_0_0__1__Impl : ( 'as' ) ; + public final void rule__XCastedExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11037:1: ( ( 'as' ) ) + // InternalExpression.g:11038:1: ( 'as' ) + { + // InternalExpression.g:11038:1: ( 'as' ) + // InternalExpression.g:11039:2: 'as' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XPostfixOperation__Group__0" + // InternalExpression.g:11049:1: rule__XPostfixOperation__Group__0 : rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1 ; + public final void rule__XPostfixOperation__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11053:1: ( rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1 ) + // InternalExpression.g:11054:2: rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1 + { + pushFollow(FOLLOW_68); + rule__XPostfixOperation__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group__0" + + + // $ANTLR start "rule__XPostfixOperation__Group__0__Impl" + // InternalExpression.g:11061:1: rule__XPostfixOperation__Group__0__Impl : ( ruleXMemberFeatureCall ) ; + public final void rule__XPostfixOperation__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11065:1: ( ( ruleXMemberFeatureCall ) ) + // InternalExpression.g:11066:1: ( ruleXMemberFeatureCall ) + { + // InternalExpression.g:11066:1: ( ruleXMemberFeatureCall ) + // InternalExpression.g:11067:2: ruleXMemberFeatureCall + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXMemberFeatureCall(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group__0__Impl" + + + // $ANTLR start "rule__XPostfixOperation__Group__1" + // InternalExpression.g:11076:1: rule__XPostfixOperation__Group__1 : rule__XPostfixOperation__Group__1__Impl ; + public final void rule__XPostfixOperation__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11080:1: ( rule__XPostfixOperation__Group__1__Impl ) + // InternalExpression.g:11081:2: rule__XPostfixOperation__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group__1" + + + // $ANTLR start "rule__XPostfixOperation__Group__1__Impl" + // InternalExpression.g:11087:1: rule__XPostfixOperation__Group__1__Impl : ( ( rule__XPostfixOperation__Group_1__0 )? ) ; + public final void rule__XPostfixOperation__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11091:1: ( ( ( rule__XPostfixOperation__Group_1__0 )? ) ) + // InternalExpression.g:11092:1: ( ( rule__XPostfixOperation__Group_1__0 )? ) + { + // InternalExpression.g:11092:1: ( ( rule__XPostfixOperation__Group_1__0 )? ) + // InternalExpression.g:11093:2: ( rule__XPostfixOperation__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getGroup_1()); + } + // InternalExpression.g:11094:2: ( rule__XPostfixOperation__Group_1__0 )? + int alt88=2; + int LA88_0 = input.LA(1); + + if ( (LA88_0==56) ) { + int LA88_1 = input.LA(2); + + if ( (synpred161_InternalExpression()) ) { + alt88=1; + } + } + else if ( (LA88_0==57) ) { + int LA88_2 = input.LA(2); + + if ( (synpred161_InternalExpression()) ) { + alt88=1; + } + } + switch (alt88) { + case 1 : + // InternalExpression.g:11094:3: rule__XPostfixOperation__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group__1__Impl" + + + // $ANTLR start "rule__XPostfixOperation__Group_1__0" + // InternalExpression.g:11103:1: rule__XPostfixOperation__Group_1__0 : rule__XPostfixOperation__Group_1__0__Impl ; + public final void rule__XPostfixOperation__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11107:1: ( rule__XPostfixOperation__Group_1__0__Impl ) + // InternalExpression.g:11108:2: rule__XPostfixOperation__Group_1__0__Impl + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1__0" + + + // $ANTLR start "rule__XPostfixOperation__Group_1__0__Impl" + // InternalExpression.g:11114:1: rule__XPostfixOperation__Group_1__0__Impl : ( ( rule__XPostfixOperation__Group_1_0__0 ) ) ; + public final void rule__XPostfixOperation__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11118:1: ( ( ( rule__XPostfixOperation__Group_1_0__0 ) ) ) + // InternalExpression.g:11119:1: ( ( rule__XPostfixOperation__Group_1_0__0 ) ) + { + // InternalExpression.g:11119:1: ( ( rule__XPostfixOperation__Group_1_0__0 ) ) + // InternalExpression.g:11120:2: ( rule__XPostfixOperation__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getGroup_1_0()); + } + // InternalExpression.g:11121:2: ( rule__XPostfixOperation__Group_1_0__0 ) + // InternalExpression.g:11121:3: rule__XPostfixOperation__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1__0__Impl" + + + // $ANTLR start "rule__XPostfixOperation__Group_1_0__0" + // InternalExpression.g:11130:1: rule__XPostfixOperation__Group_1_0__0 : rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1 ; + public final void rule__XPostfixOperation__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11134:1: ( rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1 ) + // InternalExpression.g:11135:2: rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1 + { + pushFollow(FOLLOW_68); + rule__XPostfixOperation__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1_0__0" + + + // $ANTLR start "rule__XPostfixOperation__Group_1_0__0__Impl" + // InternalExpression.g:11142:1: rule__XPostfixOperation__Group_1_0__0__Impl : ( () ) ; + public final void rule__XPostfixOperation__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11146:1: ( ( () ) ) + // InternalExpression.g:11147:1: ( () ) + { + // InternalExpression.g:11147:1: ( () ) + // InternalExpression.g:11148:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0()); + } + // InternalExpression.g:11149:2: () + // InternalExpression.g:11149:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XPostfixOperation__Group_1_0__1" + // InternalExpression.g:11157:1: rule__XPostfixOperation__Group_1_0__1 : rule__XPostfixOperation__Group_1_0__1__Impl ; + public final void rule__XPostfixOperation__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11161:1: ( rule__XPostfixOperation__Group_1_0__1__Impl ) + // InternalExpression.g:11162:2: rule__XPostfixOperation__Group_1_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1_0__1" + + + // $ANTLR start "rule__XPostfixOperation__Group_1_0__1__Impl" + // InternalExpression.g:11168:1: rule__XPostfixOperation__Group_1_0__1__Impl : ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) ; + public final void rule__XPostfixOperation__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11172:1: ( ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) ) + // InternalExpression.g:11173:1: ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) + { + // InternalExpression.g:11173:1: ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) + // InternalExpression.g:11174:2: ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1()); + } + // InternalExpression.g:11175:2: ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) + // InternalExpression.g:11175:3: rule__XPostfixOperation__FeatureAssignment_1_0_1 + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__FeatureAssignment_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1_0__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group__0" + // InternalExpression.g:11184:1: rule__XMemberFeatureCall__Group__0 : rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1 ; + public final void rule__XMemberFeatureCall__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11188:1: ( rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1 ) + // InternalExpression.g:11189:2: rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1 + { + pushFollow(FOLLOW_69); + rule__XMemberFeatureCall__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group__0__Impl" + // InternalExpression.g:11196:1: rule__XMemberFeatureCall__Group__0__Impl : ( ruleXPrimaryExpression ) ; + public final void rule__XMemberFeatureCall__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11200:1: ( ( ruleXPrimaryExpression ) ) + // InternalExpression.g:11201:1: ( ruleXPrimaryExpression ) + { + // InternalExpression.g:11201:1: ( ruleXPrimaryExpression ) + // InternalExpression.g:11202:2: ruleXPrimaryExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXPrimaryExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group__1" + // InternalExpression.g:11211:1: rule__XMemberFeatureCall__Group__1 : rule__XMemberFeatureCall__Group__1__Impl ; + public final void rule__XMemberFeatureCall__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11215:1: ( rule__XMemberFeatureCall__Group__1__Impl ) + // InternalExpression.g:11216:2: rule__XMemberFeatureCall__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group__1__Impl" + // InternalExpression.g:11222:1: rule__XMemberFeatureCall__Group__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) ; + public final void rule__XMemberFeatureCall__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11226:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) ) + // InternalExpression.g:11227:1: ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) + { + // InternalExpression.g:11227:1: ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) + // InternalExpression.g:11228:2: ( rule__XMemberFeatureCall__Alternatives_1 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1()); + } + // InternalExpression.g:11229:2: ( rule__XMemberFeatureCall__Alternatives_1 )* + loop89: + do { + int alt89=2; + switch ( input.LA(1) ) { + case 58: + { + int LA89_2 = input.LA(2); + + if ( (synpred162_InternalExpression()) ) { + alt89=1; + } + + + } + break; + case 84: + { + int LA89_3 = input.LA(2); + + if ( (synpred162_InternalExpression()) ) { + alt89=1; + } + + + } + break; + case 103: + { + int LA89_4 = input.LA(2); + + if ( (synpred162_InternalExpression()) ) { + alt89=1; + } + + + } + break; + + } + + switch (alt89) { + case 1 : + // InternalExpression.g:11229:3: rule__XMemberFeatureCall__Alternatives_1 + { + pushFollow(FOLLOW_70); + rule__XMemberFeatureCall__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop89; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__0" + // InternalExpression.g:11238:1: rule__XMemberFeatureCall__Group_1_0__0 : rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1 ; + public final void rule__XMemberFeatureCall__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11242:1: ( rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1 ) + // InternalExpression.g:11243:2: rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1 + { + pushFollow(FOLLOW_48); + rule__XMemberFeatureCall__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__0__Impl" + // InternalExpression.g:11250:1: rule__XMemberFeatureCall__Group_1_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11254:1: ( ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) ) + // InternalExpression.g:11255:1: ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) + { + // InternalExpression.g:11255:1: ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) + // InternalExpression.g:11256:2: ( rule__XMemberFeatureCall__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0()); + } + // InternalExpression.g:11257:2: ( rule__XMemberFeatureCall__Group_1_0_0__0 ) + // InternalExpression.g:11257:3: rule__XMemberFeatureCall__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__1" + // InternalExpression.g:11265:1: rule__XMemberFeatureCall__Group_1_0__1 : rule__XMemberFeatureCall__Group_1_0__1__Impl ; + public final void rule__XMemberFeatureCall__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11269:1: ( rule__XMemberFeatureCall__Group_1_0__1__Impl ) + // InternalExpression.g:11270:2: rule__XMemberFeatureCall__Group_1_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__1__Impl" + // InternalExpression.g:11276:1: rule__XMemberFeatureCall__Group_1_0__1__Impl : ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11280:1: ( ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) ) + // InternalExpression.g:11281:1: ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) + { + // InternalExpression.g:11281:1: ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) + // InternalExpression.g:11282:2: ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1()); + } + // InternalExpression.g:11283:2: ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) + // InternalExpression.g:11283:3: rule__XMemberFeatureCall__ValueAssignment_1_0_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__ValueAssignment_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0__0" + // InternalExpression.g:11292:1: rule__XMemberFeatureCall__Group_1_0_0__0 : rule__XMemberFeatureCall__Group_1_0_0__0__Impl ; + public final void rule__XMemberFeatureCall__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11296:1: ( rule__XMemberFeatureCall__Group_1_0_0__0__Impl ) + // InternalExpression.g:11297:2: rule__XMemberFeatureCall__Group_1_0_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0__0__Impl" + // InternalExpression.g:11303:1: rule__XMemberFeatureCall__Group_1_0_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11307:1: ( ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) ) + // InternalExpression.g:11308:1: ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) + { + // InternalExpression.g:11308:1: ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) + // InternalExpression.g:11309:2: ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0()); + } + // InternalExpression.g:11310:2: ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) + // InternalExpression.g:11310:3: rule__XMemberFeatureCall__Group_1_0_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__0" + // InternalExpression.g:11319:1: rule__XMemberFeatureCall__Group_1_0_0_0__0 : rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1 ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11323:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1 ) + // InternalExpression.g:11324:2: rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1 + { + pushFollow(FOLLOW_71); + rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl" + // InternalExpression.g:11331:1: rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl : ( () ) ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11335:1: ( ( () ) ) + // InternalExpression.g:11336:1: ( () ) + { + // InternalExpression.g:11336:1: ( () ) + // InternalExpression.g:11337:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0()); + } + // InternalExpression.g:11338:2: () + // InternalExpression.g:11338:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__1" + // InternalExpression.g:11346:1: rule__XMemberFeatureCall__Group_1_0_0_0__1 : rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2 ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11350:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2 ) + // InternalExpression.g:11351:2: rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2 + { + pushFollow(FOLLOW_47); + rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl" + // InternalExpression.g:11358:1: rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11362:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) ) + // InternalExpression.g:11363:1: ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) + { + // InternalExpression.g:11363:1: ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) + // InternalExpression.g:11364:2: ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1()); + } + // InternalExpression.g:11365:2: ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) + // InternalExpression.g:11365:3: rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Alternatives_1_0_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__2" + // InternalExpression.g:11373:1: rule__XMemberFeatureCall__Group_1_0_0_0__2 : rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3 ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11377:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3 ) + // InternalExpression.g:11378:2: rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3 + { + pushFollow(FOLLOW_5); + rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__2" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl" + // InternalExpression.g:11385:1: rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl : ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11389:1: ( ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) ) + // InternalExpression.g:11390:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) + { + // InternalExpression.g:11390:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) + // InternalExpression.g:11391:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2()); + } + // InternalExpression.g:11392:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) + // InternalExpression.g:11392:3: rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__3" + // InternalExpression.g:11400:1: rule__XMemberFeatureCall__Group_1_0_0_0__3 : rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11404:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl ) + // InternalExpression.g:11405:2: rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__3" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl" + // InternalExpression.g:11411:1: rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl : ( ruleOpSingleAssign ) ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11415:1: ( ( ruleOpSingleAssign ) ) + // InternalExpression.g:11416:1: ( ruleOpSingleAssign ) + { + // InternalExpression.g:11416:1: ( ruleOpSingleAssign ) + // InternalExpression.g:11417:2: ruleOpSingleAssign + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); + } + pushFollow(FOLLOW_2); + ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__0" + // InternalExpression.g:11427:1: rule__XMemberFeatureCall__Group_1_1__0 : rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1 ; + public final void rule__XMemberFeatureCall__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11431:1: ( rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1 ) + // InternalExpression.g:11432:2: rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1 + { + pushFollow(FOLLOW_72); + rule__XMemberFeatureCall__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__0__Impl" + // InternalExpression.g:11439:1: rule__XMemberFeatureCall__Group_1_1__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11443:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) ) + // InternalExpression.g:11444:1: ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) + { + // InternalExpression.g:11444:1: ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) + // InternalExpression.g:11445:2: ( rule__XMemberFeatureCall__Group_1_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0()); + } + // InternalExpression.g:11446:2: ( rule__XMemberFeatureCall__Group_1_1_0__0 ) + // InternalExpression.g:11446:3: rule__XMemberFeatureCall__Group_1_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__1" + // InternalExpression.g:11454:1: rule__XMemberFeatureCall__Group_1_1__1 : rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2 ; + public final void rule__XMemberFeatureCall__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11458:1: ( rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2 ) + // InternalExpression.g:11459:2: rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2 + { + pushFollow(FOLLOW_72); + rule__XMemberFeatureCall__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__1__Impl" + // InternalExpression.g:11466:1: rule__XMemberFeatureCall__Group_1_1__1__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) ; + public final void rule__XMemberFeatureCall__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11470:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) ) + // InternalExpression.g:11471:1: ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) + { + // InternalExpression.g:11471:1: ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) + // InternalExpression.g:11472:2: ( rule__XMemberFeatureCall__Group_1_1_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1()); + } + // InternalExpression.g:11473:2: ( rule__XMemberFeatureCall__Group_1_1_1__0 )? + int alt90=2; + int LA90_0 = input.LA(1); + + if ( (LA90_0==22) ) { + alt90=1; + } + switch (alt90) { + case 1 : + // InternalExpression.g:11473:3: rule__XMemberFeatureCall__Group_1_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__2" + // InternalExpression.g:11481:1: rule__XMemberFeatureCall__Group_1_1__2 : rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3 ; + public final void rule__XMemberFeatureCall__Group_1_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11485:1: ( rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3 ) + // InternalExpression.g:11486:2: rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3 + { + pushFollow(FOLLOW_73); + rule__XMemberFeatureCall__Group_1_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__2" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__2__Impl" + // InternalExpression.g:11493:1: rule__XMemberFeatureCall__Group_1_1__2__Impl : ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11497:1: ( ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) ) + // InternalExpression.g:11498:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) + { + // InternalExpression.g:11498:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) + // InternalExpression.g:11499:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2()); + } + // InternalExpression.g:11500:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) + // InternalExpression.g:11500:3: rule__XMemberFeatureCall__FeatureAssignment_1_1_2 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__FeatureAssignment_1_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__2__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__3" + // InternalExpression.g:11508:1: rule__XMemberFeatureCall__Group_1_1__3 : rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4 ; + public final void rule__XMemberFeatureCall__Group_1_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11512:1: ( rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4 ) + // InternalExpression.g:11513:2: rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4 + { + pushFollow(FOLLOW_73); + rule__XMemberFeatureCall__Group_1_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__3" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__3__Impl" + // InternalExpression.g:11520:1: rule__XMemberFeatureCall__Group_1_1__3__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) ; + public final void rule__XMemberFeatureCall__Group_1_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11524:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) ) + // InternalExpression.g:11525:1: ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) + { + // InternalExpression.g:11525:1: ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) + // InternalExpression.g:11526:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3()); + } + // InternalExpression.g:11527:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )? + int alt91=2; + alt91 = dfa91.predict(input); + switch (alt91) { + case 1 : + // InternalExpression.g:11527:3: rule__XMemberFeatureCall__Group_1_1_3__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__3__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__4" + // InternalExpression.g:11535:1: rule__XMemberFeatureCall__Group_1_1__4 : rule__XMemberFeatureCall__Group_1_1__4__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11539:1: ( rule__XMemberFeatureCall__Group_1_1__4__Impl ) + // InternalExpression.g:11540:2: rule__XMemberFeatureCall__Group_1_1__4__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__4" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__4__Impl" + // InternalExpression.g:11546:1: rule__XMemberFeatureCall__Group_1_1__4__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) ; + public final void rule__XMemberFeatureCall__Group_1_1__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11550:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) ) + // InternalExpression.g:11551:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) + { + // InternalExpression.g:11551:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) + // InternalExpression.g:11552:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4()); + } + // InternalExpression.g:11553:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? + int alt92=2; + alt92 = dfa92.predict(input); + switch (alt92) { + case 1 : + // InternalExpression.g:11553:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__4__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0__0" + // InternalExpression.g:11562:1: rule__XMemberFeatureCall__Group_1_1_0__0 : rule__XMemberFeatureCall__Group_1_1_0__0__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11566:1: ( rule__XMemberFeatureCall__Group_1_1_0__0__Impl ) + // InternalExpression.g:11567:2: rule__XMemberFeatureCall__Group_1_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0__0__Impl" + // InternalExpression.g:11573:1: rule__XMemberFeatureCall__Group_1_1_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11577:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) ) + // InternalExpression.g:11578:1: ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) + { + // InternalExpression.g:11578:1: ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) + // InternalExpression.g:11579:2: ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0()); + } + // InternalExpression.g:11580:2: ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) + // InternalExpression.g:11580:3: rule__XMemberFeatureCall__Group_1_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__0" + // InternalExpression.g:11589:1: rule__XMemberFeatureCall__Group_1_1_0_0__0 : rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11593:1: ( rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1 ) + // InternalExpression.g:11594:2: rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1 + { + pushFollow(FOLLOW_69); + rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0_0__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl" + // InternalExpression.g:11601:1: rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl : ( () ) ; + public final void rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11605:1: ( ( () ) ) + // InternalExpression.g:11606:1: ( () ) + { + // InternalExpression.g:11606:1: ( () ) + // InternalExpression.g:11607:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0()); + } + // InternalExpression.g:11608:2: () + // InternalExpression.g:11608:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__1" + // InternalExpression.g:11616:1: rule__XMemberFeatureCall__Group_1_1_0_0__1 : rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11620:1: ( rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl ) + // InternalExpression.g:11621:2: rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0_0__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl" + // InternalExpression.g:11627:1: rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11631:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) ) + // InternalExpression.g:11632:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) + { + // InternalExpression.g:11632:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) + // InternalExpression.g:11633:2: ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1()); + } + // InternalExpression.g:11634:2: ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) + // InternalExpression.g:11634:3: rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Alternatives_1_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__0" + // InternalExpression.g:11643:1: rule__XMemberFeatureCall__Group_1_1_1__0 : rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11647:1: ( rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1 ) + // InternalExpression.g:11648:2: rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1 + { + pushFollow(FOLLOW_74); + rule__XMemberFeatureCall__Group_1_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__0__Impl" + // InternalExpression.g:11655:1: rule__XMemberFeatureCall__Group_1_1_1__0__Impl : ( '<' ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11659:1: ( ( '<' ) ) + // InternalExpression.g:11660:1: ( '<' ) + { + // InternalExpression.g:11660:1: ( '<' ) + // InternalExpression.g:11661:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__1" + // InternalExpression.g:11670:1: rule__XMemberFeatureCall__Group_1_1_1__1 : rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2 ; + public final void rule__XMemberFeatureCall__Group_1_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11674:1: ( rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2 ) + // InternalExpression.g:11675:2: rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2 + { + pushFollow(FOLLOW_75); + rule__XMemberFeatureCall__Group_1_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__1__Impl" + // InternalExpression.g:11682:1: rule__XMemberFeatureCall__Group_1_1_1__1__Impl : ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11686:1: ( ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) ) + // InternalExpression.g:11687:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) + { + // InternalExpression.g:11687:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) + // InternalExpression.g:11688:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1()); + } + // InternalExpression.g:11689:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) + // InternalExpression.g:11689:3: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__2" + // InternalExpression.g:11697:1: rule__XMemberFeatureCall__Group_1_1_1__2 : rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3 ; + public final void rule__XMemberFeatureCall__Group_1_1_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11701:1: ( rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3 ) + // InternalExpression.g:11702:2: rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3 + { + pushFollow(FOLLOW_75); + rule__XMemberFeatureCall__Group_1_1_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__2" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__2__Impl" + // InternalExpression.g:11709:1: rule__XMemberFeatureCall__Group_1_1_1__2__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11713:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) ) + // InternalExpression.g:11714:1: ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) + { + // InternalExpression.g:11714:1: ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) + // InternalExpression.g:11715:2: ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2()); + } + // InternalExpression.g:11716:2: ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* + loop93: + do { + int alt93=2; + int LA93_0 = input.LA(1); + + if ( (LA93_0==78) ) { + alt93=1; + } + + + switch (alt93) { + case 1 : + // InternalExpression.g:11716:3: rule__XMemberFeatureCall__Group_1_1_1_2__0 + { + pushFollow(FOLLOW_37); + rule__XMemberFeatureCall__Group_1_1_1_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop93; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__2__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__3" + // InternalExpression.g:11724:1: rule__XMemberFeatureCall__Group_1_1_1__3 : rule__XMemberFeatureCall__Group_1_1_1__3__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11728:1: ( rule__XMemberFeatureCall__Group_1_1_1__3__Impl ) + // InternalExpression.g:11729:2: rule__XMemberFeatureCall__Group_1_1_1__3__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__3" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__3__Impl" + // InternalExpression.g:11735:1: rule__XMemberFeatureCall__Group_1_1_1__3__Impl : ( '>' ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11739:1: ( ( '>' ) ) + // InternalExpression.g:11740:1: ( '>' ) + { + // InternalExpression.g:11740:1: ( '>' ) + // InternalExpression.g:11741:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__3__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__0" + // InternalExpression.g:11751:1: rule__XMemberFeatureCall__Group_1_1_1_2__0 : rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_1_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11755:1: ( rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1 ) + // InternalExpression.g:11756:2: rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1 + { + pushFollow(FOLLOW_74); + rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1_2__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl" + // InternalExpression.g:11763:1: rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl : ( ',' ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11767:1: ( ( ',' ) ) + // InternalExpression.g:11768:1: ( ',' ) + { + // InternalExpression.g:11768:1: ( ',' ) + // InternalExpression.g:11769:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__1" + // InternalExpression.g:11778:1: rule__XMemberFeatureCall__Group_1_1_1_2__1 : rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_1_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11782:1: ( rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl ) + // InternalExpression.g:11783:2: rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1_2__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl" + // InternalExpression.g:11789:1: rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl : ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11793:1: ( ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) ) + // InternalExpression.g:11794:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) + { + // InternalExpression.g:11794:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) + // InternalExpression.g:11795:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1()); + } + // InternalExpression.g:11796:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) + // InternalExpression.g:11796:3: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__0" + // InternalExpression.g:11805:1: rule__XMemberFeatureCall__Group_1_1_3__0 : rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11809:1: ( rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1 ) + // InternalExpression.g:11810:2: rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1 + { + pushFollow(FOLLOW_76); + rule__XMemberFeatureCall__Group_1_1_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__0__Impl" + // InternalExpression.g:11817:1: rule__XMemberFeatureCall__Group_1_1_3__0__Impl : ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11821:1: ( ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) ) + // InternalExpression.g:11822:1: ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) + { + // InternalExpression.g:11822:1: ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) + // InternalExpression.g:11823:2: ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0()); + } + // InternalExpression.g:11824:2: ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) + // InternalExpression.g:11824:3: rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__1" + // InternalExpression.g:11832:1: rule__XMemberFeatureCall__Group_1_1_3__1 : rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2 ; + public final void rule__XMemberFeatureCall__Group_1_1_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11836:1: ( rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2 ) + // InternalExpression.g:11837:2: rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2 + { + pushFollow(FOLLOW_76); + rule__XMemberFeatureCall__Group_1_1_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__1__Impl" + // InternalExpression.g:11844:1: rule__XMemberFeatureCall__Group_1_1_3__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11848:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) ) + // InternalExpression.g:11849:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) + { + // InternalExpression.g:11849:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) + // InternalExpression.g:11850:2: ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1()); + } + // InternalExpression.g:11851:2: ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? + int alt94=2; + int LA94_0 = input.LA(1); + + if ( ((LA94_0>=RULE_ID && LA94_0<=RULE_DECIMAL)||LA94_0==RULE_STRING||(LA94_0>=22 && LA94_0<=24)||LA94_0==27||(LA94_0>=36 && LA94_0<=37)||LA94_0==51||(LA94_0>=60 && LA94_0<=64)||LA94_0==67||LA94_0==70||(LA94_0>=73 && LA94_0<=74)||LA94_0==79||(LA94_0>=81 && LA94_0<=82)||LA94_0==87||(LA94_0>=89 && LA94_0<=96)||LA94_0==98) ) { + alt94=1; + } + switch (alt94) { + case 1 : + // InternalExpression.g:11851:3: rule__XMemberFeatureCall__Alternatives_1_1_3_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Alternatives_1_1_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__2" + // InternalExpression.g:11859:1: rule__XMemberFeatureCall__Group_1_1_3__2 : rule__XMemberFeatureCall__Group_1_1_3__2__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11863:1: ( rule__XMemberFeatureCall__Group_1_1_3__2__Impl ) + // InternalExpression.g:11864:2: rule__XMemberFeatureCall__Group_1_1_3__2__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__2" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__2__Impl" + // InternalExpression.g:11870:1: rule__XMemberFeatureCall__Group_1_1_3__2__Impl : ( ')' ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11874:1: ( ( ')' ) ) + // InternalExpression.g:11875:1: ( ')' ) + { + // InternalExpression.g:11875:1: ( ')' ) + // InternalExpression.g:11876:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__2__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__0" + // InternalExpression.g:11886:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__0 : rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11890:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1 ) + // InternalExpression.g:11891:2: rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1 + { + pushFollow(FOLLOW_36); + rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl" + // InternalExpression.g:11898:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11902:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) ) + // InternalExpression.g:11903:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) + { + // InternalExpression.g:11903:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) + // InternalExpression.g:11904:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0()); + } + // InternalExpression.g:11905:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) + // InternalExpression.g:11905:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__1" + // InternalExpression.g:11913:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__1 : rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11917:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl ) + // InternalExpression.g:11918:2: rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl" + // InternalExpression.g:11924:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11928:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) ) + // InternalExpression.g:11929:1: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) + { + // InternalExpression.g:11929:1: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) + // InternalExpression.g:11930:2: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1()); + } + // InternalExpression.g:11931:2: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* + loop95: + do { + int alt95=2; + int LA95_0 = input.LA(1); + + if ( (LA95_0==78) ) { + alt95=1; + } + + + switch (alt95) { + case 1 : + // InternalExpression.g:11931:3: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 + { + pushFollow(FOLLOW_37); + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop95; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0" + // InternalExpression.g:11940:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 : rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11944:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 ) + // InternalExpression.g:11945:2: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 + { + pushFollow(FOLLOW_77); + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl" + // InternalExpression.g:11952:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl : ( ',' ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11956:1: ( ( ',' ) ) + // InternalExpression.g:11957:1: ( ',' ) + { + // InternalExpression.g:11957:1: ( ',' ) + // InternalExpression.g:11958:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1" + // InternalExpression.g:11967:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 : rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11971:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl ) + // InternalExpression.g:11972:2: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl" + // InternalExpression.g:11978:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11982:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) ) + // InternalExpression.g:11983:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) + { + // InternalExpression.g:11983:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) + // InternalExpression.g:11984:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1()); + } + // InternalExpression.g:11985:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) + // InternalExpression.g:11985:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group__0" + // InternalExpression.g:11994:1: rule__XSetLiteral__Group__0 : rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1 ; + public final void rule__XSetLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:11998:1: ( rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1 ) + // InternalExpression.g:11999:2: rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1 + { + pushFollow(FOLLOW_78); + rule__XSetLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__0" + + + // $ANTLR start "rule__XSetLiteral__Group__0__Impl" + // InternalExpression.g:12006:1: rule__XSetLiteral__Group__0__Impl : ( () ) ; + public final void rule__XSetLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12010:1: ( ( () ) ) + // InternalExpression.g:12011:1: ( () ) + { + // InternalExpression.g:12011:1: ( () ) + // InternalExpression.g:12012:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0()); + } + // InternalExpression.g:12013:2: () + // InternalExpression.g:12013:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group__1" + // InternalExpression.g:12021:1: rule__XSetLiteral__Group__1 : rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2 ; + public final void rule__XSetLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12025:1: ( rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2 ) + // InternalExpression.g:12026:2: rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2 + { + pushFollow(FOLLOW_41); + rule__XSetLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__1" + + + // $ANTLR start "rule__XSetLiteral__Group__1__Impl" + // InternalExpression.g:12033:1: rule__XSetLiteral__Group__1__Impl : ( '#' ) ; + public final void rule__XSetLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12037:1: ( ( '#' ) ) + // InternalExpression.g:12038:1: ( '#' ) + { + // InternalExpression.g:12038:1: ( '#' ) + // InternalExpression.g:12039:2: '#' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); + } + match(input,87,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group__2" + // InternalExpression.g:12048:1: rule__XSetLiteral__Group__2 : rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3 ; + public final void rule__XSetLiteral__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12052:1: ( rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3 ) + // InternalExpression.g:12053:2: rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3 + { + pushFollow(FOLLOW_79); + rule__XSetLiteral__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__2" + + + // $ANTLR start "rule__XSetLiteral__Group__2__Impl" + // InternalExpression.g:12060:1: rule__XSetLiteral__Group__2__Impl : ( '{' ) ; + public final void rule__XSetLiteral__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12064:1: ( ( '{' ) ) + // InternalExpression.g:12065:1: ( '{' ) + { + // InternalExpression.g:12065:1: ( '{' ) + // InternalExpression.g:12066:2: '{' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__2__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group__3" + // InternalExpression.g:12075:1: rule__XSetLiteral__Group__3 : rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4 ; + public final void rule__XSetLiteral__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12079:1: ( rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4 ) + // InternalExpression.g:12080:2: rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4 + { + pushFollow(FOLLOW_79); + rule__XSetLiteral__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__3" + + + // $ANTLR start "rule__XSetLiteral__Group__3__Impl" + // InternalExpression.g:12087:1: rule__XSetLiteral__Group__3__Impl : ( ( rule__XSetLiteral__Group_3__0 )? ) ; + public final void rule__XSetLiteral__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12091:1: ( ( ( rule__XSetLiteral__Group_3__0 )? ) ) + // InternalExpression.g:12092:1: ( ( rule__XSetLiteral__Group_3__0 )? ) + { + // InternalExpression.g:12092:1: ( ( rule__XSetLiteral__Group_3__0 )? ) + // InternalExpression.g:12093:2: ( rule__XSetLiteral__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getGroup_3()); + } + // InternalExpression.g:12094:2: ( rule__XSetLiteral__Group_3__0 )? + int alt96=2; + int LA96_0 = input.LA(1); + + if ( ((LA96_0>=RULE_ID && LA96_0<=RULE_DECIMAL)||LA96_0==RULE_STRING||(LA96_0>=22 && LA96_0<=24)||LA96_0==27||(LA96_0>=36 && LA96_0<=37)||(LA96_0>=60 && LA96_0<=64)||LA96_0==67||LA96_0==70||(LA96_0>=73 && LA96_0<=74)||(LA96_0>=81 && LA96_0<=82)||LA96_0==87||(LA96_0>=89 && LA96_0<=96)||LA96_0==98) ) { + alt96=1; + } + switch (alt96) { + case 1 : + // InternalExpression.g:12094:3: rule__XSetLiteral__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__3__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group__4" + // InternalExpression.g:12102:1: rule__XSetLiteral__Group__4 : rule__XSetLiteral__Group__4__Impl ; + public final void rule__XSetLiteral__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12106:1: ( rule__XSetLiteral__Group__4__Impl ) + // InternalExpression.g:12107:2: rule__XSetLiteral__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__4" + + + // $ANTLR start "rule__XSetLiteral__Group__4__Impl" + // InternalExpression.g:12113:1: rule__XSetLiteral__Group__4__Impl : ( '}' ) ; + public final void rule__XSetLiteral__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12117:1: ( ( '}' ) ) + // InternalExpression.g:12118:1: ( '}' ) + { + // InternalExpression.g:12118:1: ( '}' ) + // InternalExpression.g:12119:2: '}' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); + } + match(input,76,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__4__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group_3__0" + // InternalExpression.g:12129:1: rule__XSetLiteral__Group_3__0 : rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1 ; + public final void rule__XSetLiteral__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12133:1: ( rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1 ) + // InternalExpression.g:12134:2: rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1 + { + pushFollow(FOLLOW_36); + rule__XSetLiteral__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3__0" + + + // $ANTLR start "rule__XSetLiteral__Group_3__0__Impl" + // InternalExpression.g:12141:1: rule__XSetLiteral__Group_3__0__Impl : ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) ; + public final void rule__XSetLiteral__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12145:1: ( ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) ) + // InternalExpression.g:12146:1: ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) + { + // InternalExpression.g:12146:1: ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) + // InternalExpression.g:12147:2: ( rule__XSetLiteral__ElementsAssignment_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0()); + } + // InternalExpression.g:12148:2: ( rule__XSetLiteral__ElementsAssignment_3_0 ) + // InternalExpression.g:12148:3: rule__XSetLiteral__ElementsAssignment_3_0 + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__ElementsAssignment_3_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3__0__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group_3__1" + // InternalExpression.g:12156:1: rule__XSetLiteral__Group_3__1 : rule__XSetLiteral__Group_3__1__Impl ; + public final void rule__XSetLiteral__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12160:1: ( rule__XSetLiteral__Group_3__1__Impl ) + // InternalExpression.g:12161:2: rule__XSetLiteral__Group_3__1__Impl + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3__1" + + + // $ANTLR start "rule__XSetLiteral__Group_3__1__Impl" + // InternalExpression.g:12167:1: rule__XSetLiteral__Group_3__1__Impl : ( ( rule__XSetLiteral__Group_3_1__0 )* ) ; + public final void rule__XSetLiteral__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12171:1: ( ( ( rule__XSetLiteral__Group_3_1__0 )* ) ) + // InternalExpression.g:12172:1: ( ( rule__XSetLiteral__Group_3_1__0 )* ) + { + // InternalExpression.g:12172:1: ( ( rule__XSetLiteral__Group_3_1__0 )* ) + // InternalExpression.g:12173:2: ( rule__XSetLiteral__Group_3_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getGroup_3_1()); + } + // InternalExpression.g:12174:2: ( rule__XSetLiteral__Group_3_1__0 )* + loop97: + do { + int alt97=2; + int LA97_0 = input.LA(1); + + if ( (LA97_0==78) ) { + alt97=1; + } + + + switch (alt97) { + case 1 : + // InternalExpression.g:12174:3: rule__XSetLiteral__Group_3_1__0 + { + pushFollow(FOLLOW_37); + rule__XSetLiteral__Group_3_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop97; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getGroup_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3__1__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group_3_1__0" + // InternalExpression.g:12183:1: rule__XSetLiteral__Group_3_1__0 : rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1 ; + public final void rule__XSetLiteral__Group_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12187:1: ( rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1 ) + // InternalExpression.g:12188:2: rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1 + { + pushFollow(FOLLOW_77); + rule__XSetLiteral__Group_3_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group_3_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3_1__0" + + + // $ANTLR start "rule__XSetLiteral__Group_3_1__0__Impl" + // InternalExpression.g:12195:1: rule__XSetLiteral__Group_3_1__0__Impl : ( ',' ) ; + public final void rule__XSetLiteral__Group_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12199:1: ( ( ',' ) ) + // InternalExpression.g:12200:1: ( ',' ) + { + // InternalExpression.g:12200:1: ( ',' ) + // InternalExpression.g:12201:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3_1__0__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group_3_1__1" + // InternalExpression.g:12210:1: rule__XSetLiteral__Group_3_1__1 : rule__XSetLiteral__Group_3_1__1__Impl ; + public final void rule__XSetLiteral__Group_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12214:1: ( rule__XSetLiteral__Group_3_1__1__Impl ) + // InternalExpression.g:12215:2: rule__XSetLiteral__Group_3_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group_3_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3_1__1" + + + // $ANTLR start "rule__XSetLiteral__Group_3_1__1__Impl" + // InternalExpression.g:12221:1: rule__XSetLiteral__Group_3_1__1__Impl : ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) ; + public final void rule__XSetLiteral__Group_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12225:1: ( ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) ) + // InternalExpression.g:12226:1: ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) + { + // InternalExpression.g:12226:1: ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) + // InternalExpression.g:12227:2: ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1()); + } + // InternalExpression.g:12228:2: ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) + // InternalExpression.g:12228:3: rule__XSetLiteral__ElementsAssignment_3_1_1 + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__ElementsAssignment_3_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3_1__1__Impl" + + + // $ANTLR start "rule__XListLiteral__Group__0" + // InternalExpression.g:12237:1: rule__XListLiteral__Group__0 : rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1 ; + public final void rule__XListLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12241:1: ( rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1 ) + // InternalExpression.g:12242:2: rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1 + { + pushFollow(FOLLOW_78); + rule__XListLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__0" + + + // $ANTLR start "rule__XListLiteral__Group__0__Impl" + // InternalExpression.g:12249:1: rule__XListLiteral__Group__0__Impl : ( () ) ; + public final void rule__XListLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12253:1: ( ( () ) ) + // InternalExpression.g:12254:1: ( () ) + { + // InternalExpression.g:12254:1: ( () ) + // InternalExpression.g:12255:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getXListLiteralAction_0()); + } + // InternalExpression.g:12256:2: () + // InternalExpression.g:12256:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getXListLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XListLiteral__Group__1" + // InternalExpression.g:12264:1: rule__XListLiteral__Group__1 : rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2 ; + public final void rule__XListLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12268:1: ( rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2 ) + // InternalExpression.g:12269:2: rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2 + { + pushFollow(FOLLOW_43); + rule__XListLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__1" + + + // $ANTLR start "rule__XListLiteral__Group__1__Impl" + // InternalExpression.g:12276:1: rule__XListLiteral__Group__1__Impl : ( '#' ) ; + public final void rule__XListLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12280:1: ( ( '#' ) ) + // InternalExpression.g:12281:1: ( '#' ) + { + // InternalExpression.g:12281:1: ( '#' ) + // InternalExpression.g:12282:2: '#' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); + } + match(input,87,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XListLiteral__Group__2" + // InternalExpression.g:12291:1: rule__XListLiteral__Group__2 : rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3 ; + public final void rule__XListLiteral__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12295:1: ( rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3 ) + // InternalExpression.g:12296:2: rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3 + { + pushFollow(FOLLOW_80); + rule__XListLiteral__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__2" + + + // $ANTLR start "rule__XListLiteral__Group__2__Impl" + // InternalExpression.g:12303:1: rule__XListLiteral__Group__2__Impl : ( '[' ) ; + public final void rule__XListLiteral__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12307:1: ( ( '[' ) ) + // InternalExpression.g:12308:1: ( '[' ) + { + // InternalExpression.g:12308:1: ( '[' ) + // InternalExpression.g:12309:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); + } + match(input,82,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__2__Impl" + + + // $ANTLR start "rule__XListLiteral__Group__3" + // InternalExpression.g:12318:1: rule__XListLiteral__Group__3 : rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4 ; + public final void rule__XListLiteral__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12322:1: ( rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4 ) + // InternalExpression.g:12323:2: rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4 + { + pushFollow(FOLLOW_80); + rule__XListLiteral__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__3" + + + // $ANTLR start "rule__XListLiteral__Group__3__Impl" + // InternalExpression.g:12330:1: rule__XListLiteral__Group__3__Impl : ( ( rule__XListLiteral__Group_3__0 )? ) ; + public final void rule__XListLiteral__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12334:1: ( ( ( rule__XListLiteral__Group_3__0 )? ) ) + // InternalExpression.g:12335:1: ( ( rule__XListLiteral__Group_3__0 )? ) + { + // InternalExpression.g:12335:1: ( ( rule__XListLiteral__Group_3__0 )? ) + // InternalExpression.g:12336:2: ( rule__XListLiteral__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getGroup_3()); + } + // InternalExpression.g:12337:2: ( rule__XListLiteral__Group_3__0 )? + int alt98=2; + int LA98_0 = input.LA(1); + + if ( ((LA98_0>=RULE_ID && LA98_0<=RULE_DECIMAL)||LA98_0==RULE_STRING||(LA98_0>=22 && LA98_0<=24)||LA98_0==27||(LA98_0>=36 && LA98_0<=37)||(LA98_0>=60 && LA98_0<=64)||LA98_0==67||LA98_0==70||(LA98_0>=73 && LA98_0<=74)||(LA98_0>=81 && LA98_0<=82)||LA98_0==87||(LA98_0>=89 && LA98_0<=96)||LA98_0==98) ) { + alt98=1; + } + switch (alt98) { + case 1 : + // InternalExpression.g:12337:3: rule__XListLiteral__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XListLiteral__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__3__Impl" + + + // $ANTLR start "rule__XListLiteral__Group__4" + // InternalExpression.g:12345:1: rule__XListLiteral__Group__4 : rule__XListLiteral__Group__4__Impl ; + public final void rule__XListLiteral__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12349:1: ( rule__XListLiteral__Group__4__Impl ) + // InternalExpression.g:12350:2: rule__XListLiteral__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__4" + + + // $ANTLR start "rule__XListLiteral__Group__4__Impl" + // InternalExpression.g:12356:1: rule__XListLiteral__Group__4__Impl : ( ']' ) ; + public final void rule__XListLiteral__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12360:1: ( ( ']' ) ) + // InternalExpression.g:12361:1: ( ']' ) + { + // InternalExpression.g:12361:1: ( ']' ) + // InternalExpression.g:12362:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); + } + match(input,83,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__4__Impl" + + + // $ANTLR start "rule__XListLiteral__Group_3__0" + // InternalExpression.g:12372:1: rule__XListLiteral__Group_3__0 : rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1 ; + public final void rule__XListLiteral__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12376:1: ( rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1 ) + // InternalExpression.g:12377:2: rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1 + { + pushFollow(FOLLOW_36); + rule__XListLiteral__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3__0" + + + // $ANTLR start "rule__XListLiteral__Group_3__0__Impl" + // InternalExpression.g:12384:1: rule__XListLiteral__Group_3__0__Impl : ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) ; + public final void rule__XListLiteral__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12388:1: ( ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) ) + // InternalExpression.g:12389:1: ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) + { + // InternalExpression.g:12389:1: ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) + // InternalExpression.g:12390:2: ( rule__XListLiteral__ElementsAssignment_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0()); + } + // InternalExpression.g:12391:2: ( rule__XListLiteral__ElementsAssignment_3_0 ) + // InternalExpression.g:12391:3: rule__XListLiteral__ElementsAssignment_3_0 + { + pushFollow(FOLLOW_2); + rule__XListLiteral__ElementsAssignment_3_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3__0__Impl" + + + // $ANTLR start "rule__XListLiteral__Group_3__1" + // InternalExpression.g:12399:1: rule__XListLiteral__Group_3__1 : rule__XListLiteral__Group_3__1__Impl ; + public final void rule__XListLiteral__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12403:1: ( rule__XListLiteral__Group_3__1__Impl ) + // InternalExpression.g:12404:2: rule__XListLiteral__Group_3__1__Impl + { + pushFollow(FOLLOW_2); + rule__XListLiteral__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3__1" + + + // $ANTLR start "rule__XListLiteral__Group_3__1__Impl" + // InternalExpression.g:12410:1: rule__XListLiteral__Group_3__1__Impl : ( ( rule__XListLiteral__Group_3_1__0 )* ) ; + public final void rule__XListLiteral__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12414:1: ( ( ( rule__XListLiteral__Group_3_1__0 )* ) ) + // InternalExpression.g:12415:1: ( ( rule__XListLiteral__Group_3_1__0 )* ) + { + // InternalExpression.g:12415:1: ( ( rule__XListLiteral__Group_3_1__0 )* ) + // InternalExpression.g:12416:2: ( rule__XListLiteral__Group_3_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getGroup_3_1()); + } + // InternalExpression.g:12417:2: ( rule__XListLiteral__Group_3_1__0 )* + loop99: + do { + int alt99=2; + int LA99_0 = input.LA(1); + + if ( (LA99_0==78) ) { + alt99=1; + } + + + switch (alt99) { + case 1 : + // InternalExpression.g:12417:3: rule__XListLiteral__Group_3_1__0 + { + pushFollow(FOLLOW_37); + rule__XListLiteral__Group_3_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop99; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getGroup_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3__1__Impl" + + + // $ANTLR start "rule__XListLiteral__Group_3_1__0" + // InternalExpression.g:12426:1: rule__XListLiteral__Group_3_1__0 : rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1 ; + public final void rule__XListLiteral__Group_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12430:1: ( rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1 ) + // InternalExpression.g:12431:2: rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1 + { + pushFollow(FOLLOW_77); + rule__XListLiteral__Group_3_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group_3_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3_1__0" + + + // $ANTLR start "rule__XListLiteral__Group_3_1__0__Impl" + // InternalExpression.g:12438:1: rule__XListLiteral__Group_3_1__0__Impl : ( ',' ) ; + public final void rule__XListLiteral__Group_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12442:1: ( ( ',' ) ) + // InternalExpression.g:12443:1: ( ',' ) + { + // InternalExpression.g:12443:1: ( ',' ) + // InternalExpression.g:12444:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3_1__0__Impl" + + + // $ANTLR start "rule__XListLiteral__Group_3_1__1" + // InternalExpression.g:12453:1: rule__XListLiteral__Group_3_1__1 : rule__XListLiteral__Group_3_1__1__Impl ; + public final void rule__XListLiteral__Group_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12457:1: ( rule__XListLiteral__Group_3_1__1__Impl ) + // InternalExpression.g:12458:2: rule__XListLiteral__Group_3_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XListLiteral__Group_3_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3_1__1" + + + // $ANTLR start "rule__XListLiteral__Group_3_1__1__Impl" + // InternalExpression.g:12464:1: rule__XListLiteral__Group_3_1__1__Impl : ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) ; + public final void rule__XListLiteral__Group_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12468:1: ( ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) ) + // InternalExpression.g:12469:1: ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) + { + // InternalExpression.g:12469:1: ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) + // InternalExpression.g:12470:2: ( rule__XListLiteral__ElementsAssignment_3_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1()); + } + // InternalExpression.g:12471:2: ( rule__XListLiteral__ElementsAssignment_3_1_1 ) + // InternalExpression.g:12471:3: rule__XListLiteral__ElementsAssignment_3_1_1 + { + pushFollow(FOLLOW_2); + rule__XListLiteral__ElementsAssignment_3_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3_1__1__Impl" + + + // $ANTLR start "rule__XClosure__Group__0" + // InternalExpression.g:12480:1: rule__XClosure__Group__0 : rule__XClosure__Group__0__Impl rule__XClosure__Group__1 ; + public final void rule__XClosure__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12484:1: ( rule__XClosure__Group__0__Impl rule__XClosure__Group__1 ) + // InternalExpression.g:12485:2: rule__XClosure__Group__0__Impl rule__XClosure__Group__1 + { + pushFollow(FOLLOW_81); + rule__XClosure__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__0" + + + // $ANTLR start "rule__XClosure__Group__0__Impl" + // InternalExpression.g:12492:1: rule__XClosure__Group__0__Impl : ( ( rule__XClosure__Group_0__0 ) ) ; + public final void rule__XClosure__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12496:1: ( ( ( rule__XClosure__Group_0__0 ) ) ) + // InternalExpression.g:12497:1: ( ( rule__XClosure__Group_0__0 ) ) + { + // InternalExpression.g:12497:1: ( ( rule__XClosure__Group_0__0 ) ) + // InternalExpression.g:12498:2: ( rule__XClosure__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_0()); + } + // InternalExpression.g:12499:2: ( rule__XClosure__Group_0__0 ) + // InternalExpression.g:12499:3: rule__XClosure__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__0__Impl" + + + // $ANTLR start "rule__XClosure__Group__1" + // InternalExpression.g:12507:1: rule__XClosure__Group__1 : rule__XClosure__Group__1__Impl rule__XClosure__Group__2 ; + public final void rule__XClosure__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12511:1: ( rule__XClosure__Group__1__Impl rule__XClosure__Group__2 ) + // InternalExpression.g:12512:2: rule__XClosure__Group__1__Impl rule__XClosure__Group__2 + { + pushFollow(FOLLOW_81); + rule__XClosure__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__1" + + + // $ANTLR start "rule__XClosure__Group__1__Impl" + // InternalExpression.g:12519:1: rule__XClosure__Group__1__Impl : ( ( rule__XClosure__Group_1__0 )? ) ; + public final void rule__XClosure__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12523:1: ( ( ( rule__XClosure__Group_1__0 )? ) ) + // InternalExpression.g:12524:1: ( ( rule__XClosure__Group_1__0 )? ) + { + // InternalExpression.g:12524:1: ( ( rule__XClosure__Group_1__0 )? ) + // InternalExpression.g:12525:2: ( rule__XClosure__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_1()); + } + // InternalExpression.g:12526:2: ( rule__XClosure__Group_1__0 )? + int alt100=2; + alt100 = dfa100.predict(input); + switch (alt100) { + case 1 : + // InternalExpression.g:12526:3: rule__XClosure__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__1__Impl" + + + // $ANTLR start "rule__XClosure__Group__2" + // InternalExpression.g:12534:1: rule__XClosure__Group__2 : rule__XClosure__Group__2__Impl rule__XClosure__Group__3 ; + public final void rule__XClosure__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12538:1: ( rule__XClosure__Group__2__Impl rule__XClosure__Group__3 ) + // InternalExpression.g:12539:2: rule__XClosure__Group__2__Impl rule__XClosure__Group__3 + { + pushFollow(FOLLOW_44); + rule__XClosure__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__2" + + + // $ANTLR start "rule__XClosure__Group__2__Impl" + // InternalExpression.g:12546:1: rule__XClosure__Group__2__Impl : ( ( rule__XClosure__ExpressionAssignment_2 ) ) ; + public final void rule__XClosure__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12550:1: ( ( ( rule__XClosure__ExpressionAssignment_2 ) ) ) + // InternalExpression.g:12551:1: ( ( rule__XClosure__ExpressionAssignment_2 ) ) + { + // InternalExpression.g:12551:1: ( ( rule__XClosure__ExpressionAssignment_2 ) ) + // InternalExpression.g:12552:2: ( rule__XClosure__ExpressionAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getExpressionAssignment_2()); + } + // InternalExpression.g:12553:2: ( rule__XClosure__ExpressionAssignment_2 ) + // InternalExpression.g:12553:3: rule__XClosure__ExpressionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XClosure__ExpressionAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getExpressionAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__2__Impl" + + + // $ANTLR start "rule__XClosure__Group__3" + // InternalExpression.g:12561:1: rule__XClosure__Group__3 : rule__XClosure__Group__3__Impl ; + public final void rule__XClosure__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12565:1: ( rule__XClosure__Group__3__Impl ) + // InternalExpression.g:12566:2: rule__XClosure__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__3" + + + // $ANTLR start "rule__XClosure__Group__3__Impl" + // InternalExpression.g:12572:1: rule__XClosure__Group__3__Impl : ( ']' ) ; + public final void rule__XClosure__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12576:1: ( ( ']' ) ) + // InternalExpression.g:12577:1: ( ']' ) + { + // InternalExpression.g:12577:1: ( ']' ) + // InternalExpression.g:12578:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); + } + match(input,83,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__3__Impl" + + + // $ANTLR start "rule__XClosure__Group_0__0" + // InternalExpression.g:12588:1: rule__XClosure__Group_0__0 : rule__XClosure__Group_0__0__Impl ; + public final void rule__XClosure__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12592:1: ( rule__XClosure__Group_0__0__Impl ) + // InternalExpression.g:12593:2: rule__XClosure__Group_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0__0" + + + // $ANTLR start "rule__XClosure__Group_0__0__Impl" + // InternalExpression.g:12599:1: rule__XClosure__Group_0__0__Impl : ( ( rule__XClosure__Group_0_0__0 ) ) ; + public final void rule__XClosure__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12603:1: ( ( ( rule__XClosure__Group_0_0__0 ) ) ) + // InternalExpression.g:12604:1: ( ( rule__XClosure__Group_0_0__0 ) ) + { + // InternalExpression.g:12604:1: ( ( rule__XClosure__Group_0_0__0 ) ) + // InternalExpression.g:12605:2: ( rule__XClosure__Group_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_0_0()); + } + // InternalExpression.g:12606:2: ( rule__XClosure__Group_0_0__0 ) + // InternalExpression.g:12606:3: rule__XClosure__Group_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_0_0__0" + // InternalExpression.g:12615:1: rule__XClosure__Group_0_0__0 : rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1 ; + public final void rule__XClosure__Group_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12619:1: ( rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1 ) + // InternalExpression.g:12620:2: rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1 + { + pushFollow(FOLLOW_43); + rule__XClosure__Group_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0_0__0" + + + // $ANTLR start "rule__XClosure__Group_0_0__0__Impl" + // InternalExpression.g:12627:1: rule__XClosure__Group_0_0__0__Impl : ( () ) ; + public final void rule__XClosure__Group_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12631:1: ( ( () ) ) + // InternalExpression.g:12632:1: ( () ) + { + // InternalExpression.g:12632:1: ( () ) + // InternalExpression.g:12633:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getXClosureAction_0_0_0()); + } + // InternalExpression.g:12634:2: () + // InternalExpression.g:12634:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getXClosureAction_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0_0__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_0_0__1" + // InternalExpression.g:12642:1: rule__XClosure__Group_0_0__1 : rule__XClosure__Group_0_0__1__Impl ; + public final void rule__XClosure__Group_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12646:1: ( rule__XClosure__Group_0_0__1__Impl ) + // InternalExpression.g:12647:2: rule__XClosure__Group_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0_0__1" + + + // $ANTLR start "rule__XClosure__Group_0_0__1__Impl" + // InternalExpression.g:12653:1: rule__XClosure__Group_0_0__1__Impl : ( '[' ) ; + public final void rule__XClosure__Group_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12657:1: ( ( '[' ) ) + // InternalExpression.g:12658:1: ( '[' ) + { + // InternalExpression.g:12658:1: ( '[' ) + // InternalExpression.g:12659:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); + } + match(input,82,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0_0__1__Impl" + + + // $ANTLR start "rule__XClosure__Group_1__0" + // InternalExpression.g:12669:1: rule__XClosure__Group_1__0 : rule__XClosure__Group_1__0__Impl ; + public final void rule__XClosure__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12673:1: ( rule__XClosure__Group_1__0__Impl ) + // InternalExpression.g:12674:2: rule__XClosure__Group_1__0__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1__0" + + + // $ANTLR start "rule__XClosure__Group_1__0__Impl" + // InternalExpression.g:12680:1: rule__XClosure__Group_1__0__Impl : ( ( rule__XClosure__Group_1_0__0 ) ) ; + public final void rule__XClosure__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12684:1: ( ( ( rule__XClosure__Group_1_0__0 ) ) ) + // InternalExpression.g:12685:1: ( ( rule__XClosure__Group_1_0__0 ) ) + { + // InternalExpression.g:12685:1: ( ( rule__XClosure__Group_1_0__0 ) ) + // InternalExpression.g:12686:2: ( rule__XClosure__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_1_0()); + } + // InternalExpression.g:12687:2: ( rule__XClosure__Group_1_0__0 ) + // InternalExpression.g:12687:3: rule__XClosure__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0__0" + // InternalExpression.g:12696:1: rule__XClosure__Group_1_0__0 : rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1 ; + public final void rule__XClosure__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12700:1: ( rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1 ) + // InternalExpression.g:12701:2: rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1 + { + pushFollow(FOLLOW_82); + rule__XClosure__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0__0" + + + // $ANTLR start "rule__XClosure__Group_1_0__0__Impl" + // InternalExpression.g:12708:1: rule__XClosure__Group_1_0__0__Impl : ( ( rule__XClosure__Group_1_0_0__0 )? ) ; + public final void rule__XClosure__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12712:1: ( ( ( rule__XClosure__Group_1_0_0__0 )? ) ) + // InternalExpression.g:12713:1: ( ( rule__XClosure__Group_1_0_0__0 )? ) + { + // InternalExpression.g:12713:1: ( ( rule__XClosure__Group_1_0_0__0 )? ) + // InternalExpression.g:12714:2: ( rule__XClosure__Group_1_0_0__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_1_0_0()); + } + // InternalExpression.g:12715:2: ( rule__XClosure__Group_1_0_0__0 )? + int alt101=2; + int LA101_0 = input.LA(1); + + if ( (LA101_0==RULE_ID||LA101_0==51||LA101_0==67) ) { + alt101=1; + } + switch (alt101) { + case 1 : + // InternalExpression.g:12715:3: rule__XClosure__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0__1" + // InternalExpression.g:12723:1: rule__XClosure__Group_1_0__1 : rule__XClosure__Group_1_0__1__Impl ; + public final void rule__XClosure__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12727:1: ( rule__XClosure__Group_1_0__1__Impl ) + // InternalExpression.g:12728:2: rule__XClosure__Group_1_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0__1" + + + // $ANTLR start "rule__XClosure__Group_1_0__1__Impl" + // InternalExpression.g:12734:1: rule__XClosure__Group_1_0__1__Impl : ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) ; + public final void rule__XClosure__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12738:1: ( ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) ) + // InternalExpression.g:12739:1: ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) + { + // InternalExpression.g:12739:1: ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) + // InternalExpression.g:12740:2: ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1()); + } + // InternalExpression.g:12741:2: ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) + // InternalExpression.g:12741:3: rule__XClosure__ExplicitSyntaxAssignment_1_0_1 + { + pushFollow(FOLLOW_2); + rule__XClosure__ExplicitSyntaxAssignment_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0__1__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0_0__0" + // InternalExpression.g:12750:1: rule__XClosure__Group_1_0_0__0 : rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1 ; + public final void rule__XClosure__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12754:1: ( rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1 ) + // InternalExpression.g:12755:2: rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1 + { + pushFollow(FOLLOW_36); + rule__XClosure__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0__0" + + + // $ANTLR start "rule__XClosure__Group_1_0_0__0__Impl" + // InternalExpression.g:12762:1: rule__XClosure__Group_1_0_0__0__Impl : ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) ; + public final void rule__XClosure__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12766:1: ( ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) ) + // InternalExpression.g:12767:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) + { + // InternalExpression.g:12767:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) + // InternalExpression.g:12768:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0()); + } + // InternalExpression.g:12769:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) + // InternalExpression.g:12769:3: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 + { + pushFollow(FOLLOW_2); + rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0_0__1" + // InternalExpression.g:12777:1: rule__XClosure__Group_1_0_0__1 : rule__XClosure__Group_1_0_0__1__Impl ; + public final void rule__XClosure__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12781:1: ( rule__XClosure__Group_1_0_0__1__Impl ) + // InternalExpression.g:12782:2: rule__XClosure__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0__1" + + + // $ANTLR start "rule__XClosure__Group_1_0_0__1__Impl" + // InternalExpression.g:12788:1: rule__XClosure__Group_1_0_0__1__Impl : ( ( rule__XClosure__Group_1_0_0_1__0 )* ) ; + public final void rule__XClosure__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12792:1: ( ( ( rule__XClosure__Group_1_0_0_1__0 )* ) ) + // InternalExpression.g:12793:1: ( ( rule__XClosure__Group_1_0_0_1__0 )* ) + { + // InternalExpression.g:12793:1: ( ( rule__XClosure__Group_1_0_0_1__0 )* ) + // InternalExpression.g:12794:2: ( rule__XClosure__Group_1_0_0_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_1_0_0_1()); + } + // InternalExpression.g:12795:2: ( rule__XClosure__Group_1_0_0_1__0 )* + loop102: + do { + int alt102=2; + int LA102_0 = input.LA(1); + + if ( (LA102_0==78) ) { + alt102=1; + } + + + switch (alt102) { + case 1 : + // InternalExpression.g:12795:3: rule__XClosure__Group_1_0_0_1__0 + { + pushFollow(FOLLOW_37); + rule__XClosure__Group_1_0_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop102; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0_0_1__0" + // InternalExpression.g:12804:1: rule__XClosure__Group_1_0_0_1__0 : rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1 ; + public final void rule__XClosure__Group_1_0_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12808:1: ( rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1 ) + // InternalExpression.g:12809:2: rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1 + { + pushFollow(FOLLOW_56); + rule__XClosure__Group_1_0_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0_1__0" + + + // $ANTLR start "rule__XClosure__Group_1_0_0_1__0__Impl" + // InternalExpression.g:12816:1: rule__XClosure__Group_1_0_0_1__0__Impl : ( ',' ) ; + public final void rule__XClosure__Group_1_0_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12820:1: ( ( ',' ) ) + // InternalExpression.g:12821:1: ( ',' ) + { + // InternalExpression.g:12821:1: ( ',' ) + // InternalExpression.g:12822:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0_1__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0_0_1__1" + // InternalExpression.g:12831:1: rule__XClosure__Group_1_0_0_1__1 : rule__XClosure__Group_1_0_0_1__1__Impl ; + public final void rule__XClosure__Group_1_0_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12835:1: ( rule__XClosure__Group_1_0_0_1__1__Impl ) + // InternalExpression.g:12836:2: rule__XClosure__Group_1_0_0_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0_1__1" + + + // $ANTLR start "rule__XClosure__Group_1_0_0_1__1__Impl" + // InternalExpression.g:12842:1: rule__XClosure__Group_1_0_0_1__1__Impl : ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) ; + public final void rule__XClosure__Group_1_0_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12846:1: ( ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) ) + // InternalExpression.g:12847:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) + { + // InternalExpression.g:12847:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) + // InternalExpression.g:12848:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1()); + } + // InternalExpression.g:12849:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) + // InternalExpression.g:12849:3: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 + { + pushFollow(FOLLOW_2); + rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0_1__1__Impl" + + + // $ANTLR start "rule__XExpressionInClosure__Group__0" + // InternalExpression.g:12858:1: rule__XExpressionInClosure__Group__0 : rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1 ; + public final void rule__XExpressionInClosure__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12862:1: ( rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1 ) + // InternalExpression.g:12863:2: rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1 + { + pushFollow(FOLLOW_81); + rule__XExpressionInClosure__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XExpressionInClosure__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group__0" + + + // $ANTLR start "rule__XExpressionInClosure__Group__0__Impl" + // InternalExpression.g:12870:1: rule__XExpressionInClosure__Group__0__Impl : ( () ) ; + public final void rule__XExpressionInClosure__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12874:1: ( ( () ) ) + // InternalExpression.g:12875:1: ( () ) + { + // InternalExpression.g:12875:1: ( () ) + // InternalExpression.g:12876:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0()); + } + // InternalExpression.g:12877:2: () + // InternalExpression.g:12877:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group__0__Impl" + + + // $ANTLR start "rule__XExpressionInClosure__Group__1" + // InternalExpression.g:12885:1: rule__XExpressionInClosure__Group__1 : rule__XExpressionInClosure__Group__1__Impl ; + public final void rule__XExpressionInClosure__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12889:1: ( rule__XExpressionInClosure__Group__1__Impl ) + // InternalExpression.g:12890:2: rule__XExpressionInClosure__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XExpressionInClosure__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group__1" + + + // $ANTLR start "rule__XExpressionInClosure__Group__1__Impl" + // InternalExpression.g:12896:1: rule__XExpressionInClosure__Group__1__Impl : ( ( rule__XExpressionInClosure__Group_1__0 )* ) ; + public final void rule__XExpressionInClosure__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12900:1: ( ( ( rule__XExpressionInClosure__Group_1__0 )* ) ) + // InternalExpression.g:12901:1: ( ( rule__XExpressionInClosure__Group_1__0 )* ) + { + // InternalExpression.g:12901:1: ( ( rule__XExpressionInClosure__Group_1__0 )* ) + // InternalExpression.g:12902:2: ( rule__XExpressionInClosure__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureAccess().getGroup_1()); + } + // InternalExpression.g:12903:2: ( rule__XExpressionInClosure__Group_1__0 )* + loop103: + do { + int alt103=2; + int LA103_0 = input.LA(1); + + if ( ((LA103_0>=RULE_ID && LA103_0<=RULE_DECIMAL)||LA103_0==RULE_STRING||(LA103_0>=22 && LA103_0<=24)||LA103_0==27||(LA103_0>=36 && LA103_0<=37)||(LA103_0>=59 && LA103_0<=64)||LA103_0==67||LA103_0==70||(LA103_0>=73 && LA103_0<=74)||(LA103_0>=81 && LA103_0<=82)||LA103_0==87||(LA103_0>=89 && LA103_0<=96)||LA103_0==98||LA103_0==104) ) { + alt103=1; + } + + + switch (alt103) { + case 1 : + // InternalExpression.g:12903:3: rule__XExpressionInClosure__Group_1__0 + { + pushFollow(FOLLOW_83); + rule__XExpressionInClosure__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop103; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group__1__Impl" + + + // $ANTLR start "rule__XExpressionInClosure__Group_1__0" + // InternalExpression.g:12912:1: rule__XExpressionInClosure__Group_1__0 : rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1 ; + public final void rule__XExpressionInClosure__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12916:1: ( rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1 ) + // InternalExpression.g:12917:2: rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1 + { + pushFollow(FOLLOW_84); + rule__XExpressionInClosure__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XExpressionInClosure__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group_1__0" + + + // $ANTLR start "rule__XExpressionInClosure__Group_1__0__Impl" + // InternalExpression.g:12924:1: rule__XExpressionInClosure__Group_1__0__Impl : ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) ; + public final void rule__XExpressionInClosure__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12928:1: ( ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) ) + // InternalExpression.g:12929:1: ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) + { + // InternalExpression.g:12929:1: ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) + // InternalExpression.g:12930:2: ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0()); + } + // InternalExpression.g:12931:2: ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) + // InternalExpression.g:12931:3: rule__XExpressionInClosure__ExpressionsAssignment_1_0 + { + pushFollow(FOLLOW_2); + rule__XExpressionInClosure__ExpressionsAssignment_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group_1__0__Impl" + + + // $ANTLR start "rule__XExpressionInClosure__Group_1__1" + // InternalExpression.g:12939:1: rule__XExpressionInClosure__Group_1__1 : rule__XExpressionInClosure__Group_1__1__Impl ; + public final void rule__XExpressionInClosure__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12943:1: ( rule__XExpressionInClosure__Group_1__1__Impl ) + // InternalExpression.g:12944:2: rule__XExpressionInClosure__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XExpressionInClosure__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group_1__1" + + + // $ANTLR start "rule__XExpressionInClosure__Group_1__1__Impl" + // InternalExpression.g:12950:1: rule__XExpressionInClosure__Group_1__1__Impl : ( ( ';' )? ) ; + public final void rule__XExpressionInClosure__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12954:1: ( ( ( ';' )? ) ) + // InternalExpression.g:12955:1: ( ( ';' )? ) + { + // InternalExpression.g:12955:1: ( ( ';' )? ) + // InternalExpression.g:12956:2: ( ';' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); + } + // InternalExpression.g:12957:2: ( ';' )? + int alt104=2; + int LA104_0 = input.LA(1); + + if ( (LA104_0==88) ) { + alt104=1; + } + switch (alt104) { + case 1 : + // InternalExpression.g:12957:3: ';' + { + match(input,88,FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group_1__1__Impl" + + + // $ANTLR start "rule__XShortClosure__Group__0" + // InternalExpression.g:12966:1: rule__XShortClosure__Group__0 : rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1 ; + public final void rule__XShortClosure__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12970:1: ( rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1 ) + // InternalExpression.g:12971:2: rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1 + { + pushFollow(FOLLOW_77); + rule__XShortClosure__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XShortClosure__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group__0" + + + // $ANTLR start "rule__XShortClosure__Group__0__Impl" + // InternalExpression.g:12978:1: rule__XShortClosure__Group__0__Impl : ( ( rule__XShortClosure__Group_0__0 ) ) ; + public final void rule__XShortClosure__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12982:1: ( ( ( rule__XShortClosure__Group_0__0 ) ) ) + // InternalExpression.g:12983:1: ( ( rule__XShortClosure__Group_0__0 ) ) + { + // InternalExpression.g:12983:1: ( ( rule__XShortClosure__Group_0__0 ) ) + // InternalExpression.g:12984:2: ( rule__XShortClosure__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getGroup_0()); + } + // InternalExpression.g:12985:2: ( rule__XShortClosure__Group_0__0 ) + // InternalExpression.g:12985:3: rule__XShortClosure__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getGroup_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group__0__Impl" + + + // $ANTLR start "rule__XShortClosure__Group__1" + // InternalExpression.g:12993:1: rule__XShortClosure__Group__1 : rule__XShortClosure__Group__1__Impl ; + public final void rule__XShortClosure__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:12997:1: ( rule__XShortClosure__Group__1__Impl ) + // InternalExpression.g:12998:2: rule__XShortClosure__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group__1" + + + // $ANTLR start "rule__XShortClosure__Group__1__Impl" + // InternalExpression.g:13004:1: rule__XShortClosure__Group__1__Impl : ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) ; + public final void rule__XShortClosure__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13008:1: ( ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) ) + // InternalExpression.g:13009:1: ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) + { + // InternalExpression.g:13009:1: ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) + // InternalExpression.g:13010:2: ( rule__XShortClosure__ExpressionAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1()); + } + // InternalExpression.g:13011:2: ( rule__XShortClosure__ExpressionAssignment_1 ) + // InternalExpression.g:13011:3: rule__XShortClosure__ExpressionAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__ExpressionAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group__1__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0__0" + // InternalExpression.g:13020:1: rule__XShortClosure__Group_0__0 : rule__XShortClosure__Group_0__0__Impl ; + public final void rule__XShortClosure__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13024:1: ( rule__XShortClosure__Group_0__0__Impl ) + // InternalExpression.g:13025:2: rule__XShortClosure__Group_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0__0" + + + // $ANTLR start "rule__XShortClosure__Group_0__0__Impl" + // InternalExpression.g:13031:1: rule__XShortClosure__Group_0__0__Impl : ( ( rule__XShortClosure__Group_0_0__0 ) ) ; + public final void rule__XShortClosure__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13035:1: ( ( ( rule__XShortClosure__Group_0_0__0 ) ) ) + // InternalExpression.g:13036:1: ( ( rule__XShortClosure__Group_0_0__0 ) ) + { + // InternalExpression.g:13036:1: ( ( rule__XShortClosure__Group_0_0__0 ) ) + // InternalExpression.g:13037:2: ( rule__XShortClosure__Group_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getGroup_0_0()); + } + // InternalExpression.g:13038:2: ( rule__XShortClosure__Group_0_0__0 ) + // InternalExpression.g:13038:3: rule__XShortClosure__Group_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getGroup_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0__0__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__0" + // InternalExpression.g:13047:1: rule__XShortClosure__Group_0_0__0 : rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1 ; + public final void rule__XShortClosure__Group_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13051:1: ( rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1 ) + // InternalExpression.g:13052:2: rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1 + { + pushFollow(FOLLOW_82); + rule__XShortClosure__Group_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__0" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__0__Impl" + // InternalExpression.g:13059:1: rule__XShortClosure__Group_0_0__0__Impl : ( () ) ; + public final void rule__XShortClosure__Group_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13063:1: ( ( () ) ) + // InternalExpression.g:13064:1: ( () ) + { + // InternalExpression.g:13064:1: ( () ) + // InternalExpression.g:13065:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0()); + } + // InternalExpression.g:13066:2: () + // InternalExpression.g:13066:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__0__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__1" + // InternalExpression.g:13074:1: rule__XShortClosure__Group_0_0__1 : rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2 ; + public final void rule__XShortClosure__Group_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13078:1: ( rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2 ) + // InternalExpression.g:13079:2: rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2 + { + pushFollow(FOLLOW_82); + rule__XShortClosure__Group_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__1" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__1__Impl" + // InternalExpression.g:13086:1: rule__XShortClosure__Group_0_0__1__Impl : ( ( rule__XShortClosure__Group_0_0_1__0 )? ) ; + public final void rule__XShortClosure__Group_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13090:1: ( ( ( rule__XShortClosure__Group_0_0_1__0 )? ) ) + // InternalExpression.g:13091:1: ( ( rule__XShortClosure__Group_0_0_1__0 )? ) + { + // InternalExpression.g:13091:1: ( ( rule__XShortClosure__Group_0_0_1__0 )? ) + // InternalExpression.g:13092:2: ( rule__XShortClosure__Group_0_0_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getGroup_0_0_1()); + } + // InternalExpression.g:13093:2: ( rule__XShortClosure__Group_0_0_1__0 )? + int alt105=2; + int LA105_0 = input.LA(1); + + if ( (LA105_0==RULE_ID||LA105_0==51||LA105_0==67) ) { + alt105=1; + } + switch (alt105) { + case 1 : + // InternalExpression.g:13093:3: rule__XShortClosure__Group_0_0_1__0 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getGroup_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__1__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__2" + // InternalExpression.g:13101:1: rule__XShortClosure__Group_0_0__2 : rule__XShortClosure__Group_0_0__2__Impl ; + public final void rule__XShortClosure__Group_0_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13105:1: ( rule__XShortClosure__Group_0_0__2__Impl ) + // InternalExpression.g:13106:2: rule__XShortClosure__Group_0_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__2" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__2__Impl" + // InternalExpression.g:13112:1: rule__XShortClosure__Group_0_0__2__Impl : ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) ; + public final void rule__XShortClosure__Group_0_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13116:1: ( ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) ) + // InternalExpression.g:13117:1: ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) + { + // InternalExpression.g:13117:1: ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) + // InternalExpression.g:13118:2: ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2()); + } + // InternalExpression.g:13119:2: ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) + // InternalExpression.g:13119:3: rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__2__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1__0" + // InternalExpression.g:13128:1: rule__XShortClosure__Group_0_0_1__0 : rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1 ; + public final void rule__XShortClosure__Group_0_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13132:1: ( rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1 ) + // InternalExpression.g:13133:2: rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1 + { + pushFollow(FOLLOW_36); + rule__XShortClosure__Group_0_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1__0" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1__0__Impl" + // InternalExpression.g:13140:1: rule__XShortClosure__Group_0_0_1__0__Impl : ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) ; + public final void rule__XShortClosure__Group_0_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13144:1: ( ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) ) + // InternalExpression.g:13145:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) + { + // InternalExpression.g:13145:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) + // InternalExpression.g:13146:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0()); + } + // InternalExpression.g:13147:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) + // InternalExpression.g:13147:3: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1__0__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1__1" + // InternalExpression.g:13155:1: rule__XShortClosure__Group_0_0_1__1 : rule__XShortClosure__Group_0_0_1__1__Impl ; + public final void rule__XShortClosure__Group_0_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13159:1: ( rule__XShortClosure__Group_0_0_1__1__Impl ) + // InternalExpression.g:13160:2: rule__XShortClosure__Group_0_0_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1__1" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1__1__Impl" + // InternalExpression.g:13166:1: rule__XShortClosure__Group_0_0_1__1__Impl : ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) ; + public final void rule__XShortClosure__Group_0_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13170:1: ( ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) ) + // InternalExpression.g:13171:1: ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) + { + // InternalExpression.g:13171:1: ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) + // InternalExpression.g:13172:2: ( rule__XShortClosure__Group_0_0_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1()); + } + // InternalExpression.g:13173:2: ( rule__XShortClosure__Group_0_0_1_1__0 )* + loop106: + do { + int alt106=2; + int LA106_0 = input.LA(1); + + if ( (LA106_0==78) ) { + alt106=1; + } + + + switch (alt106) { + case 1 : + // InternalExpression.g:13173:3: rule__XShortClosure__Group_0_0_1_1__0 + { + pushFollow(FOLLOW_37); + rule__XShortClosure__Group_0_0_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop106; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1__1__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__0" + // InternalExpression.g:13182:1: rule__XShortClosure__Group_0_0_1_1__0 : rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1 ; + public final void rule__XShortClosure__Group_0_0_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13186:1: ( rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1 ) + // InternalExpression.g:13187:2: rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1 + { + pushFollow(FOLLOW_56); + rule__XShortClosure__Group_0_0_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1_1__0" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__0__Impl" + // InternalExpression.g:13194:1: rule__XShortClosure__Group_0_0_1_1__0__Impl : ( ',' ) ; + public final void rule__XShortClosure__Group_0_0_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13198:1: ( ( ',' ) ) + // InternalExpression.g:13199:1: ( ',' ) + { + // InternalExpression.g:13199:1: ( ',' ) + // InternalExpression.g:13200:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1_1__0__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__1" + // InternalExpression.g:13209:1: rule__XShortClosure__Group_0_0_1_1__1 : rule__XShortClosure__Group_0_0_1_1__1__Impl ; + public final void rule__XShortClosure__Group_0_0_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13213:1: ( rule__XShortClosure__Group_0_0_1_1__1__Impl ) + // InternalExpression.g:13214:2: rule__XShortClosure__Group_0_0_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1_1__1" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__1__Impl" + // InternalExpression.g:13220:1: rule__XShortClosure__Group_0_0_1_1__1__Impl : ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) ; + public final void rule__XShortClosure__Group_0_0_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13224:1: ( ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) ) + // InternalExpression.g:13225:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) + { + // InternalExpression.g:13225:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) + // InternalExpression.g:13226:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1()); + } + // InternalExpression.g:13227:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) + // InternalExpression.g:13227:3: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1_1__1__Impl" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__0" + // InternalExpression.g:13236:1: rule__XParenthesizedExpression__Group__0 : rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1 ; + public final void rule__XParenthesizedExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13240:1: ( rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1 ) + // InternalExpression.g:13241:2: rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1 + { + pushFollow(FOLLOW_77); + rule__XParenthesizedExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XParenthesizedExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__0" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__0__Impl" + // InternalExpression.g:13248:1: rule__XParenthesizedExpression__Group__0__Impl : ( '(' ) ; + public final void rule__XParenthesizedExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13252:1: ( ( '(' ) ) + // InternalExpression.g:13253:1: ( '(' ) + { + // InternalExpression.g:13253:1: ( '(' ) + // InternalExpression.g:13254:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__0__Impl" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__1" + // InternalExpression.g:13263:1: rule__XParenthesizedExpression__Group__1 : rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2 ; + public final void rule__XParenthesizedExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13267:1: ( rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2 ) + // InternalExpression.g:13268:2: rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2 + { + pushFollow(FOLLOW_9); + rule__XParenthesizedExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XParenthesizedExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__1" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__1__Impl" + // InternalExpression.g:13275:1: rule__XParenthesizedExpression__Group__1__Impl : ( ruleXExpression ) ; + public final void rule__XParenthesizedExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13279:1: ( ( ruleXExpression ) ) + // InternalExpression.g:13280:1: ( ruleXExpression ) + { + // InternalExpression.g:13280:1: ( ruleXExpression ) + // InternalExpression.g:13281:2: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__1__Impl" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__2" + // InternalExpression.g:13290:1: rule__XParenthesizedExpression__Group__2 : rule__XParenthesizedExpression__Group__2__Impl ; + public final void rule__XParenthesizedExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13294:1: ( rule__XParenthesizedExpression__Group__2__Impl ) + // InternalExpression.g:13295:2: rule__XParenthesizedExpression__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__XParenthesizedExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__2" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__2__Impl" + // InternalExpression.g:13301:1: rule__XParenthesizedExpression__Group__2__Impl : ( ')' ) ; + public final void rule__XParenthesizedExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13305:1: ( ( ')' ) ) + // InternalExpression.g:13306:1: ( ')' ) + { + // InternalExpression.g:13306:1: ( ')' ) + // InternalExpression.g:13307:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__2__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__0" + // InternalExpression.g:13317:1: rule__XIfExpression__Group__0 : rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1 ; + public final void rule__XIfExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13321:1: ( rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1 ) + // InternalExpression.g:13322:2: rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1 + { + pushFollow(FOLLOW_85); + rule__XIfExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__0" + + + // $ANTLR start "rule__XIfExpression__Group__0__Impl" + // InternalExpression.g:13329:1: rule__XIfExpression__Group__0__Impl : ( () ) ; + public final void rule__XIfExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13333:1: ( ( () ) ) + // InternalExpression.g:13334:1: ( () ) + { + // InternalExpression.g:13334:1: ( () ) + // InternalExpression.g:13335:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0()); + } + // InternalExpression.g:13336:2: () + // InternalExpression.g:13336:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__0__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__1" + // InternalExpression.g:13344:1: rule__XIfExpression__Group__1 : rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2 ; + public final void rule__XIfExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13348:1: ( rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2 ) + // InternalExpression.g:13349:2: rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2 + { + pushFollow(FOLLOW_34); + rule__XIfExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__1" + + + // $ANTLR start "rule__XIfExpression__Group__1__Impl" + // InternalExpression.g:13356:1: rule__XIfExpression__Group__1__Impl : ( 'if' ) ; + public final void rule__XIfExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13360:1: ( ( 'if' ) ) + // InternalExpression.g:13361:1: ( 'if' ) + { + // InternalExpression.g:13361:1: ( 'if' ) + // InternalExpression.g:13362:2: 'if' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); + } + match(input,70,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__1__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__2" + // InternalExpression.g:13371:1: rule__XIfExpression__Group__2 : rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3 ; + public final void rule__XIfExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13375:1: ( rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3 ) + // InternalExpression.g:13376:2: rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3 + { + pushFollow(FOLLOW_77); + rule__XIfExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__2" + + + // $ANTLR start "rule__XIfExpression__Group__2__Impl" + // InternalExpression.g:13383:1: rule__XIfExpression__Group__2__Impl : ( '(' ) ; + public final void rule__XIfExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13387:1: ( ( '(' ) ) + // InternalExpression.g:13388:1: ( '(' ) + { + // InternalExpression.g:13388:1: ( '(' ) + // InternalExpression.g:13389:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__2__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__3" + // InternalExpression.g:13398:1: rule__XIfExpression__Group__3 : rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4 ; + public final void rule__XIfExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13402:1: ( rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4 ) + // InternalExpression.g:13403:2: rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4 + { + pushFollow(FOLLOW_9); + rule__XIfExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__3" + + + // $ANTLR start "rule__XIfExpression__Group__3__Impl" + // InternalExpression.g:13410:1: rule__XIfExpression__Group__3__Impl : ( ( rule__XIfExpression__IfAssignment_3 ) ) ; + public final void rule__XIfExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13414:1: ( ( ( rule__XIfExpression__IfAssignment_3 ) ) ) + // InternalExpression.g:13415:1: ( ( rule__XIfExpression__IfAssignment_3 ) ) + { + // InternalExpression.g:13415:1: ( ( rule__XIfExpression__IfAssignment_3 ) ) + // InternalExpression.g:13416:2: ( rule__XIfExpression__IfAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getIfAssignment_3()); + } + // InternalExpression.g:13417:2: ( rule__XIfExpression__IfAssignment_3 ) + // InternalExpression.g:13417:3: rule__XIfExpression__IfAssignment_3 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__IfAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getIfAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__3__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__4" + // InternalExpression.g:13425:1: rule__XIfExpression__Group__4 : rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5 ; + public final void rule__XIfExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13429:1: ( rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5 ) + // InternalExpression.g:13430:2: rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5 + { + pushFollow(FOLLOW_77); + rule__XIfExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__4" + + + // $ANTLR start "rule__XIfExpression__Group__4__Impl" + // InternalExpression.g:13437:1: rule__XIfExpression__Group__4__Impl : ( ')' ) ; + public final void rule__XIfExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13441:1: ( ( ')' ) ) + // InternalExpression.g:13442:1: ( ')' ) + { + // InternalExpression.g:13442:1: ( ')' ) + // InternalExpression.g:13443:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__4__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__5" + // InternalExpression.g:13452:1: rule__XIfExpression__Group__5 : rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6 ; + public final void rule__XIfExpression__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13456:1: ( rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6 ) + // InternalExpression.g:13457:2: rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6 + { + pushFollow(FOLLOW_14); + rule__XIfExpression__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__5" + + + // $ANTLR start "rule__XIfExpression__Group__5__Impl" + // InternalExpression.g:13464:1: rule__XIfExpression__Group__5__Impl : ( ( rule__XIfExpression__ThenAssignment_5 ) ) ; + public final void rule__XIfExpression__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13468:1: ( ( ( rule__XIfExpression__ThenAssignment_5 ) ) ) + // InternalExpression.g:13469:1: ( ( rule__XIfExpression__ThenAssignment_5 ) ) + { + // InternalExpression.g:13469:1: ( ( rule__XIfExpression__ThenAssignment_5 ) ) + // InternalExpression.g:13470:2: ( rule__XIfExpression__ThenAssignment_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getThenAssignment_5()); + } + // InternalExpression.g:13471:2: ( rule__XIfExpression__ThenAssignment_5 ) + // InternalExpression.g:13471:3: rule__XIfExpression__ThenAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__ThenAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getThenAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__5__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__6" + // InternalExpression.g:13479:1: rule__XIfExpression__Group__6 : rule__XIfExpression__Group__6__Impl ; + public final void rule__XIfExpression__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13483:1: ( rule__XIfExpression__Group__6__Impl ) + // InternalExpression.g:13484:2: rule__XIfExpression__Group__6__Impl + { + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__6" + + + // $ANTLR start "rule__XIfExpression__Group__6__Impl" + // InternalExpression.g:13490:1: rule__XIfExpression__Group__6__Impl : ( ( rule__XIfExpression__Group_6__0 )? ) ; + public final void rule__XIfExpression__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13494:1: ( ( ( rule__XIfExpression__Group_6__0 )? ) ) + // InternalExpression.g:13495:1: ( ( rule__XIfExpression__Group_6__0 )? ) + { + // InternalExpression.g:13495:1: ( ( rule__XIfExpression__Group_6__0 )? ) + // InternalExpression.g:13496:2: ( rule__XIfExpression__Group_6__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getGroup_6()); + } + // InternalExpression.g:13497:2: ( rule__XIfExpression__Group_6__0 )? + int alt107=2; + int LA107_0 = input.LA(1); + + if ( (LA107_0==72) ) { + int LA107_1 = input.LA(2); + + if ( (synpred180_InternalExpression()) ) { + alt107=1; + } + } + switch (alt107) { + case 1 : + // InternalExpression.g:13497:3: rule__XIfExpression__Group_6__0 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__Group_6__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getGroup_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__6__Impl" + + + // $ANTLR start "rule__XIfExpression__Group_6__0" + // InternalExpression.g:13506:1: rule__XIfExpression__Group_6__0 : rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1 ; + public final void rule__XIfExpression__Group_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13510:1: ( rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1 ) + // InternalExpression.g:13511:2: rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1 + { + pushFollow(FOLLOW_77); + rule__XIfExpression__Group_6__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group_6__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group_6__0" + + + // $ANTLR start "rule__XIfExpression__Group_6__0__Impl" + // InternalExpression.g:13518:1: rule__XIfExpression__Group_6__0__Impl : ( ( 'else' ) ) ; + public final void rule__XIfExpression__Group_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13522:1: ( ( ( 'else' ) ) ) + // InternalExpression.g:13523:1: ( ( 'else' ) ) + { + // InternalExpression.g:13523:1: ( ( 'else' ) ) + // InternalExpression.g:13524:2: ( 'else' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); + } + // InternalExpression.g:13525:2: ( 'else' ) + // InternalExpression.g:13525:3: 'else' + { + match(input,72,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group_6__0__Impl" + + + // $ANTLR start "rule__XIfExpression__Group_6__1" + // InternalExpression.g:13533:1: rule__XIfExpression__Group_6__1 : rule__XIfExpression__Group_6__1__Impl ; + public final void rule__XIfExpression__Group_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13537:1: ( rule__XIfExpression__Group_6__1__Impl ) + // InternalExpression.g:13538:2: rule__XIfExpression__Group_6__1__Impl + { + pushFollow(FOLLOW_2); + rule__XIfExpression__Group_6__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group_6__1" + + + // $ANTLR start "rule__XIfExpression__Group_6__1__Impl" + // InternalExpression.g:13544:1: rule__XIfExpression__Group_6__1__Impl : ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) ; + public final void rule__XIfExpression__Group_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13548:1: ( ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) ) + // InternalExpression.g:13549:1: ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) + { + // InternalExpression.g:13549:1: ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) + // InternalExpression.g:13550:2: ( rule__XIfExpression__ElseAssignment_6_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1()); + } + // InternalExpression.g:13551:2: ( rule__XIfExpression__ElseAssignment_6_1 ) + // InternalExpression.g:13551:3: rule__XIfExpression__ElseAssignment_6_1 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__ElseAssignment_6_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group_6__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__0" + // InternalExpression.g:13560:1: rule__XSwitchExpression__Group__0 : rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1 ; + public final void rule__XSwitchExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13564:1: ( rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1 ) + // InternalExpression.g:13565:2: rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1 + { + pushFollow(FOLLOW_86); + rule__XSwitchExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__0" + + + // $ANTLR start "rule__XSwitchExpression__Group__0__Impl" + // InternalExpression.g:13572:1: rule__XSwitchExpression__Group__0__Impl : ( () ) ; + public final void rule__XSwitchExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13576:1: ( ( () ) ) + // InternalExpression.g:13577:1: ( () ) + { + // InternalExpression.g:13577:1: ( () ) + // InternalExpression.g:13578:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0()); + } + // InternalExpression.g:13579:2: () + // InternalExpression.g:13579:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__1" + // InternalExpression.g:13587:1: rule__XSwitchExpression__Group__1 : rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2 ; + public final void rule__XSwitchExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13591:1: ( rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2 ) + // InternalExpression.g:13592:2: rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2 + { + pushFollow(FOLLOW_77); + rule__XSwitchExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__1" + + + // $ANTLR start "rule__XSwitchExpression__Group__1__Impl" + // InternalExpression.g:13599:1: rule__XSwitchExpression__Group__1__Impl : ( 'switch' ) ; + public final void rule__XSwitchExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13603:1: ( ( 'switch' ) ) + // InternalExpression.g:13604:1: ( 'switch' ) + { + // InternalExpression.g:13604:1: ( 'switch' ) + // InternalExpression.g:13605:2: 'switch' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); + } + match(input,73,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__2" + // InternalExpression.g:13614:1: rule__XSwitchExpression__Group__2 : rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3 ; + public final void rule__XSwitchExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13618:1: ( rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3 ) + // InternalExpression.g:13619:2: rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3 + { + pushFollow(FOLLOW_41); + rule__XSwitchExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__2" + + + // $ANTLR start "rule__XSwitchExpression__Group__2__Impl" + // InternalExpression.g:13626:1: rule__XSwitchExpression__Group__2__Impl : ( ( rule__XSwitchExpression__Alternatives_2 ) ) ; + public final void rule__XSwitchExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13630:1: ( ( ( rule__XSwitchExpression__Alternatives_2 ) ) ) + // InternalExpression.g:13631:1: ( ( rule__XSwitchExpression__Alternatives_2 ) ) + { + // InternalExpression.g:13631:1: ( ( rule__XSwitchExpression__Alternatives_2 ) ) + // InternalExpression.g:13632:2: ( rule__XSwitchExpression__Alternatives_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2()); + } + // InternalExpression.g:13633:2: ( rule__XSwitchExpression__Alternatives_2 ) + // InternalExpression.g:13633:3: rule__XSwitchExpression__Alternatives_2 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Alternatives_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__2__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__3" + // InternalExpression.g:13641:1: rule__XSwitchExpression__Group__3 : rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4 ; + public final void rule__XSwitchExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13645:1: ( rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4 ) + // InternalExpression.g:13646:2: rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4 + { + pushFollow(FOLLOW_87); + rule__XSwitchExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__3" + + + // $ANTLR start "rule__XSwitchExpression__Group__3__Impl" + // InternalExpression.g:13653:1: rule__XSwitchExpression__Group__3__Impl : ( '{' ) ; + public final void rule__XSwitchExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13657:1: ( ( '{' ) ) + // InternalExpression.g:13658:1: ( '{' ) + { + // InternalExpression.g:13658:1: ( '{' ) + // InternalExpression.g:13659:2: '{' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__3__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__4" + // InternalExpression.g:13668:1: rule__XSwitchExpression__Group__4 : rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5 ; + public final void rule__XSwitchExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13672:1: ( rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5 ) + // InternalExpression.g:13673:2: rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5 + { + pushFollow(FOLLOW_87); + rule__XSwitchExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__4" + + + // $ANTLR start "rule__XSwitchExpression__Group__4__Impl" + // InternalExpression.g:13680:1: rule__XSwitchExpression__Group__4__Impl : ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) ; + public final void rule__XSwitchExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13684:1: ( ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) ) + // InternalExpression.g:13685:1: ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) + { + // InternalExpression.g:13685:1: ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) + // InternalExpression.g:13686:2: ( rule__XSwitchExpression__CasesAssignment_4 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4()); + } + // InternalExpression.g:13687:2: ( rule__XSwitchExpression__CasesAssignment_4 )* + loop108: + do { + int alt108=2; + int LA108_0 = input.LA(1); + + if ( (LA108_0==RULE_ID||LA108_0==51||(LA108_0>=66 && LA108_0<=67)||(LA108_0>=77 && LA108_0<=78)) ) { + alt108=1; + } + + + switch (alt108) { + case 1 : + // InternalExpression.g:13687:3: rule__XSwitchExpression__CasesAssignment_4 + { + pushFollow(FOLLOW_88); + rule__XSwitchExpression__CasesAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop108; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__4__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__5" + // InternalExpression.g:13695:1: rule__XSwitchExpression__Group__5 : rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6 ; + public final void rule__XSwitchExpression__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13699:1: ( rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6 ) + // InternalExpression.g:13700:2: rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6 + { + pushFollow(FOLLOW_87); + rule__XSwitchExpression__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__5" + + + // $ANTLR start "rule__XSwitchExpression__Group__5__Impl" + // InternalExpression.g:13707:1: rule__XSwitchExpression__Group__5__Impl : ( ( rule__XSwitchExpression__Group_5__0 )? ) ; + public final void rule__XSwitchExpression__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13711:1: ( ( ( rule__XSwitchExpression__Group_5__0 )? ) ) + // InternalExpression.g:13712:1: ( ( rule__XSwitchExpression__Group_5__0 )? ) + { + // InternalExpression.g:13712:1: ( ( rule__XSwitchExpression__Group_5__0 )? ) + // InternalExpression.g:13713:2: ( rule__XSwitchExpression__Group_5__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_5()); + } + // InternalExpression.g:13714:2: ( rule__XSwitchExpression__Group_5__0 )? + int alt109=2; + int LA109_0 = input.LA(1); + + if ( (LA109_0==75) ) { + alt109=1; + } + switch (alt109) { + case 1 : + // InternalExpression.g:13714:3: rule__XSwitchExpression__Group_5__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_5__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__5__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__6" + // InternalExpression.g:13722:1: rule__XSwitchExpression__Group__6 : rule__XSwitchExpression__Group__6__Impl ; + public final void rule__XSwitchExpression__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13726:1: ( rule__XSwitchExpression__Group__6__Impl ) + // InternalExpression.g:13727:2: rule__XSwitchExpression__Group__6__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__6" + + + // $ANTLR start "rule__XSwitchExpression__Group__6__Impl" + // InternalExpression.g:13733:1: rule__XSwitchExpression__Group__6__Impl : ( '}' ) ; + public final void rule__XSwitchExpression__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13737:1: ( ( '}' ) ) + // InternalExpression.g:13738:1: ( '}' ) + { + // InternalExpression.g:13738:1: ( '}' ) + // InternalExpression.g:13739:2: '}' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); + } + match(input,76,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__6__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__0" + // InternalExpression.g:13749:1: rule__XSwitchExpression__Group_2_0__0 : rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1 ; + public final void rule__XSwitchExpression__Group_2_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13753:1: ( rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1 ) + // InternalExpression.g:13754:2: rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1 + { + pushFollow(FOLLOW_77); + rule__XSwitchExpression__Group_2_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__0__Impl" + // InternalExpression.g:13761:1: rule__XSwitchExpression__Group_2_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) ; + public final void rule__XSwitchExpression__Group_2_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13765:1: ( ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) ) + // InternalExpression.g:13766:1: ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) + { + // InternalExpression.g:13766:1: ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) + // InternalExpression.g:13767:2: ( rule__XSwitchExpression__Group_2_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0()); + } + // InternalExpression.g:13768:2: ( rule__XSwitchExpression__Group_2_0_0__0 ) + // InternalExpression.g:13768:3: rule__XSwitchExpression__Group_2_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__1" + // InternalExpression.g:13776:1: rule__XSwitchExpression__Group_2_0__1 : rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2 ; + public final void rule__XSwitchExpression__Group_2_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13780:1: ( rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2 ) + // InternalExpression.g:13781:2: rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2 + { + pushFollow(FOLLOW_9); + rule__XSwitchExpression__Group_2_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__1" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__1__Impl" + // InternalExpression.g:13788:1: rule__XSwitchExpression__Group_2_0__1__Impl : ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) ; + public final void rule__XSwitchExpression__Group_2_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13792:1: ( ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) ) + // InternalExpression.g:13793:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) + { + // InternalExpression.g:13793:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) + // InternalExpression.g:13794:2: ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1()); + } + // InternalExpression.g:13795:2: ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) + // InternalExpression.g:13795:3: rule__XSwitchExpression__SwitchAssignment_2_0_1 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__SwitchAssignment_2_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__2" + // InternalExpression.g:13803:1: rule__XSwitchExpression__Group_2_0__2 : rule__XSwitchExpression__Group_2_0__2__Impl ; + public final void rule__XSwitchExpression__Group_2_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13807:1: ( rule__XSwitchExpression__Group_2_0__2__Impl ) + // InternalExpression.g:13808:2: rule__XSwitchExpression__Group_2_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__2" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__2__Impl" + // InternalExpression.g:13814:1: rule__XSwitchExpression__Group_2_0__2__Impl : ( ')' ) ; + public final void rule__XSwitchExpression__Group_2_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13818:1: ( ( ')' ) ) + // InternalExpression.g:13819:1: ( ')' ) + { + // InternalExpression.g:13819:1: ( ')' ) + // InternalExpression.g:13820:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__2__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0__0" + // InternalExpression.g:13830:1: rule__XSwitchExpression__Group_2_0_0__0 : rule__XSwitchExpression__Group_2_0_0__0__Impl ; + public final void rule__XSwitchExpression__Group_2_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13834:1: ( rule__XSwitchExpression__Group_2_0_0__0__Impl ) + // InternalExpression.g:13835:2: rule__XSwitchExpression__Group_2_0_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0__0__Impl" + // InternalExpression.g:13841:1: rule__XSwitchExpression__Group_2_0_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) ; + public final void rule__XSwitchExpression__Group_2_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13845:1: ( ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) ) + // InternalExpression.g:13846:1: ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) + { + // InternalExpression.g:13846:1: ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) + // InternalExpression.g:13847:2: ( rule__XSwitchExpression__Group_2_0_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0()); + } + // InternalExpression.g:13848:2: ( rule__XSwitchExpression__Group_2_0_0_0__0 ) + // InternalExpression.g:13848:3: rule__XSwitchExpression__Group_2_0_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__0" + // InternalExpression.g:13857:1: rule__XSwitchExpression__Group_2_0_0_0__0 : rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1 ; + public final void rule__XSwitchExpression__Group_2_0_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13861:1: ( rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1 ) + // InternalExpression.g:13862:2: rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1 + { + pushFollow(FOLLOW_56); + rule__XSwitchExpression__Group_2_0_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__0__Impl" + // InternalExpression.g:13869:1: rule__XSwitchExpression__Group_2_0_0_0__0__Impl : ( '(' ) ; + public final void rule__XSwitchExpression__Group_2_0_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13873:1: ( ( '(' ) ) + // InternalExpression.g:13874:1: ( '(' ) + { + // InternalExpression.g:13874:1: ( '(' ) + // InternalExpression.g:13875:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__1" + // InternalExpression.g:13884:1: rule__XSwitchExpression__Group_2_0_0_0__1 : rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2 ; + public final void rule__XSwitchExpression__Group_2_0_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13888:1: ( rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2 ) + // InternalExpression.g:13889:2: rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2 + { + pushFollow(FOLLOW_7); + rule__XSwitchExpression__Group_2_0_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__1" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__1__Impl" + // InternalExpression.g:13896:1: rule__XSwitchExpression__Group_2_0_0_0__1__Impl : ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) ; + public final void rule__XSwitchExpression__Group_2_0_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13900:1: ( ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) ) + // InternalExpression.g:13901:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) + { + // InternalExpression.g:13901:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) + // InternalExpression.g:13902:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1()); + } + // InternalExpression.g:13903:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) + // InternalExpression.g:13903:3: rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__2" + // InternalExpression.g:13911:1: rule__XSwitchExpression__Group_2_0_0_0__2 : rule__XSwitchExpression__Group_2_0_0_0__2__Impl ; + public final void rule__XSwitchExpression__Group_2_0_0_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13915:1: ( rule__XSwitchExpression__Group_2_0_0_0__2__Impl ) + // InternalExpression.g:13916:2: rule__XSwitchExpression__Group_2_0_0_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__2" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__2__Impl" + // InternalExpression.g:13922:1: rule__XSwitchExpression__Group_2_0_0_0__2__Impl : ( ':' ) ; + public final void rule__XSwitchExpression__Group_2_0_0_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13926:1: ( ( ':' ) ) + // InternalExpression.g:13927:1: ( ':' ) + { + // InternalExpression.g:13927:1: ( ':' ) + // InternalExpression.g:13928:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); + } + match(input,66,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__2__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1__0" + // InternalExpression.g:13938:1: rule__XSwitchExpression__Group_2_1__0 : rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1 ; + public final void rule__XSwitchExpression__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13942:1: ( rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1 ) + // InternalExpression.g:13943:2: rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1 + { + pushFollow(FOLLOW_77); + rule__XSwitchExpression__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1__0__Impl" + // InternalExpression.g:13950:1: rule__XSwitchExpression__Group_2_1__0__Impl : ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) ; + public final void rule__XSwitchExpression__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13954:1: ( ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) ) + // InternalExpression.g:13955:1: ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) + { + // InternalExpression.g:13955:1: ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) + // InternalExpression.g:13956:2: ( rule__XSwitchExpression__Group_2_1_0__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0()); + } + // InternalExpression.g:13957:2: ( rule__XSwitchExpression__Group_2_1_0__0 )? + int alt110=2; + alt110 = dfa110.predict(input); + switch (alt110) { + case 1 : + // InternalExpression.g:13957:3: rule__XSwitchExpression__Group_2_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1__1" + // InternalExpression.g:13965:1: rule__XSwitchExpression__Group_2_1__1 : rule__XSwitchExpression__Group_2_1__1__Impl ; + public final void rule__XSwitchExpression__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13969:1: ( rule__XSwitchExpression__Group_2_1__1__Impl ) + // InternalExpression.g:13970:2: rule__XSwitchExpression__Group_2_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1__1" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1__1__Impl" + // InternalExpression.g:13976:1: rule__XSwitchExpression__Group_2_1__1__Impl : ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) ; + public final void rule__XSwitchExpression__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13980:1: ( ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) ) + // InternalExpression.g:13981:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) + { + // InternalExpression.g:13981:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) + // InternalExpression.g:13982:2: ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1()); + } + // InternalExpression.g:13983:2: ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) + // InternalExpression.g:13983:3: rule__XSwitchExpression__SwitchAssignment_2_1_1 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__SwitchAssignment_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0__0" + // InternalExpression.g:13992:1: rule__XSwitchExpression__Group_2_1_0__0 : rule__XSwitchExpression__Group_2_1_0__0__Impl ; + public final void rule__XSwitchExpression__Group_2_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:13996:1: ( rule__XSwitchExpression__Group_2_1_0__0__Impl ) + // InternalExpression.g:13997:2: rule__XSwitchExpression__Group_2_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0__0__Impl" + // InternalExpression.g:14003:1: rule__XSwitchExpression__Group_2_1_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) ; + public final void rule__XSwitchExpression__Group_2_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14007:1: ( ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) ) + // InternalExpression.g:14008:1: ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) + { + // InternalExpression.g:14008:1: ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) + // InternalExpression.g:14009:2: ( rule__XSwitchExpression__Group_2_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0()); + } + // InternalExpression.g:14010:2: ( rule__XSwitchExpression__Group_2_1_0_0__0 ) + // InternalExpression.g:14010:3: rule__XSwitchExpression__Group_2_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__0" + // InternalExpression.g:14019:1: rule__XSwitchExpression__Group_2_1_0_0__0 : rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1 ; + public final void rule__XSwitchExpression__Group_2_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14023:1: ( rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1 ) + // InternalExpression.g:14024:2: rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1 + { + pushFollow(FOLLOW_7); + rule__XSwitchExpression__Group_2_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0_0__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__0__Impl" + // InternalExpression.g:14031:1: rule__XSwitchExpression__Group_2_1_0_0__0__Impl : ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) ; + public final void rule__XSwitchExpression__Group_2_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14035:1: ( ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) ) + // InternalExpression.g:14036:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) + { + // InternalExpression.g:14036:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) + // InternalExpression.g:14037:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0()); + } + // InternalExpression.g:14038:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) + // InternalExpression.g:14038:3: rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0_0__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__1" + // InternalExpression.g:14046:1: rule__XSwitchExpression__Group_2_1_0_0__1 : rule__XSwitchExpression__Group_2_1_0_0__1__Impl ; + public final void rule__XSwitchExpression__Group_2_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14050:1: ( rule__XSwitchExpression__Group_2_1_0_0__1__Impl ) + // InternalExpression.g:14051:2: rule__XSwitchExpression__Group_2_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0_0__1" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__1__Impl" + // InternalExpression.g:14057:1: rule__XSwitchExpression__Group_2_1_0_0__1__Impl : ( ':' ) ; + public final void rule__XSwitchExpression__Group_2_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14061:1: ( ( ':' ) ) + // InternalExpression.g:14062:1: ( ':' ) + { + // InternalExpression.g:14062:1: ( ':' ) + // InternalExpression.g:14063:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); + } + match(input,66,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0_0__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__0" + // InternalExpression.g:14073:1: rule__XSwitchExpression__Group_5__0 : rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1 ; + public final void rule__XSwitchExpression__Group_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14077:1: ( rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1 ) + // InternalExpression.g:14078:2: rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1 + { + pushFollow(FOLLOW_7); + rule__XSwitchExpression__Group_5__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_5__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__0__Impl" + // InternalExpression.g:14085:1: rule__XSwitchExpression__Group_5__0__Impl : ( 'default' ) ; + public final void rule__XSwitchExpression__Group_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14089:1: ( ( 'default' ) ) + // InternalExpression.g:14090:1: ( 'default' ) + { + // InternalExpression.g:14090:1: ( 'default' ) + // InternalExpression.g:14091:2: 'default' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); + } + match(input,75,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__1" + // InternalExpression.g:14100:1: rule__XSwitchExpression__Group_5__1 : rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2 ; + public final void rule__XSwitchExpression__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14104:1: ( rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2 ) + // InternalExpression.g:14105:2: rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2 + { + pushFollow(FOLLOW_77); + rule__XSwitchExpression__Group_5__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_5__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__1" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__1__Impl" + // InternalExpression.g:14112:1: rule__XSwitchExpression__Group_5__1__Impl : ( ':' ) ; + public final void rule__XSwitchExpression__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14116:1: ( ( ':' ) ) + // InternalExpression.g:14117:1: ( ':' ) + { + // InternalExpression.g:14117:1: ( ':' ) + // InternalExpression.g:14118:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); + } + match(input,66,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__2" + // InternalExpression.g:14127:1: rule__XSwitchExpression__Group_5__2 : rule__XSwitchExpression__Group_5__2__Impl ; + public final void rule__XSwitchExpression__Group_5__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14131:1: ( rule__XSwitchExpression__Group_5__2__Impl ) + // InternalExpression.g:14132:2: rule__XSwitchExpression__Group_5__2__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_5__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__2" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__2__Impl" + // InternalExpression.g:14138:1: rule__XSwitchExpression__Group_5__2__Impl : ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) ; + public final void rule__XSwitchExpression__Group_5__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14142:1: ( ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) ) + // InternalExpression.g:14143:1: ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) + { + // InternalExpression.g:14143:1: ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) + // InternalExpression.g:14144:2: ( rule__XSwitchExpression__DefaultAssignment_5_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2()); + } + // InternalExpression.g:14145:2: ( rule__XSwitchExpression__DefaultAssignment_5_2 ) + // InternalExpression.g:14145:3: rule__XSwitchExpression__DefaultAssignment_5_2 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__DefaultAssignment_5_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__2__Impl" + + + // $ANTLR start "rule__XCasePart__Group__0" + // InternalExpression.g:14154:1: rule__XCasePart__Group__0 : rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1 ; + public final void rule__XCasePart__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14158:1: ( rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1 ) + // InternalExpression.g:14159:2: rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1 + { + pushFollow(FOLLOW_89); + rule__XCasePart__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCasePart__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__0" + + + // $ANTLR start "rule__XCasePart__Group__0__Impl" + // InternalExpression.g:14166:1: rule__XCasePart__Group__0__Impl : ( () ) ; + public final void rule__XCasePart__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14170:1: ( ( () ) ) + // InternalExpression.g:14171:1: ( () ) + { + // InternalExpression.g:14171:1: ( () ) + // InternalExpression.g:14172:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getXCasePartAction_0()); + } + // InternalExpression.g:14173:2: () + // InternalExpression.g:14173:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getXCasePartAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__0__Impl" + + + // $ANTLR start "rule__XCasePart__Group__1" + // InternalExpression.g:14181:1: rule__XCasePart__Group__1 : rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2 ; + public final void rule__XCasePart__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14185:1: ( rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2 ) + // InternalExpression.g:14186:2: rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2 + { + pushFollow(FOLLOW_89); + rule__XCasePart__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCasePart__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__1" + + + // $ANTLR start "rule__XCasePart__Group__1__Impl" + // InternalExpression.g:14193:1: rule__XCasePart__Group__1__Impl : ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) ; + public final void rule__XCasePart__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14197:1: ( ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) ) + // InternalExpression.g:14198:1: ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) + { + // InternalExpression.g:14198:1: ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) + // InternalExpression.g:14199:2: ( rule__XCasePart__TypeGuardAssignment_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1()); + } + // InternalExpression.g:14200:2: ( rule__XCasePart__TypeGuardAssignment_1 )? + int alt111=2; + int LA111_0 = input.LA(1); + + if ( (LA111_0==RULE_ID||LA111_0==51||LA111_0==67) ) { + alt111=1; + } + switch (alt111) { + case 1 : + // InternalExpression.g:14200:3: rule__XCasePart__TypeGuardAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XCasePart__TypeGuardAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__1__Impl" + + + // $ANTLR start "rule__XCasePart__Group__2" + // InternalExpression.g:14208:1: rule__XCasePart__Group__2 : rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3 ; + public final void rule__XCasePart__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14212:1: ( rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3 ) + // InternalExpression.g:14213:2: rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3 + { + pushFollow(FOLLOW_89); + rule__XCasePart__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCasePart__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__2" + + + // $ANTLR start "rule__XCasePart__Group__2__Impl" + // InternalExpression.g:14220:1: rule__XCasePart__Group__2__Impl : ( ( rule__XCasePart__Group_2__0 )? ) ; + public final void rule__XCasePart__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14224:1: ( ( ( rule__XCasePart__Group_2__0 )? ) ) + // InternalExpression.g:14225:1: ( ( rule__XCasePart__Group_2__0 )? ) + { + // InternalExpression.g:14225:1: ( ( rule__XCasePart__Group_2__0 )? ) + // InternalExpression.g:14226:2: ( rule__XCasePart__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getGroup_2()); + } + // InternalExpression.g:14227:2: ( rule__XCasePart__Group_2__0 )? + int alt112=2; + int LA112_0 = input.LA(1); + + if ( (LA112_0==77) ) { + alt112=1; + } + switch (alt112) { + case 1 : + // InternalExpression.g:14227:3: rule__XCasePart__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__XCasePart__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__2__Impl" + + + // $ANTLR start "rule__XCasePart__Group__3" + // InternalExpression.g:14235:1: rule__XCasePart__Group__3 : rule__XCasePart__Group__3__Impl ; + public final void rule__XCasePart__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14239:1: ( rule__XCasePart__Group__3__Impl ) + // InternalExpression.g:14240:2: rule__XCasePart__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XCasePart__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__3" + + + // $ANTLR start "rule__XCasePart__Group__3__Impl" + // InternalExpression.g:14246:1: rule__XCasePart__Group__3__Impl : ( ( rule__XCasePart__Alternatives_3 ) ) ; + public final void rule__XCasePart__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14250:1: ( ( ( rule__XCasePart__Alternatives_3 ) ) ) + // InternalExpression.g:14251:1: ( ( rule__XCasePart__Alternatives_3 ) ) + { + // InternalExpression.g:14251:1: ( ( rule__XCasePart__Alternatives_3 ) ) + // InternalExpression.g:14252:2: ( rule__XCasePart__Alternatives_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getAlternatives_3()); + } + // InternalExpression.g:14253:2: ( rule__XCasePart__Alternatives_3 ) + // InternalExpression.g:14253:3: rule__XCasePart__Alternatives_3 + { + pushFollow(FOLLOW_2); + rule__XCasePart__Alternatives_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getAlternatives_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__3__Impl" + + + // $ANTLR start "rule__XCasePart__Group_2__0" + // InternalExpression.g:14262:1: rule__XCasePart__Group_2__0 : rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1 ; + public final void rule__XCasePart__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14266:1: ( rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1 ) + // InternalExpression.g:14267:2: rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1 + { + pushFollow(FOLLOW_77); + rule__XCasePart__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCasePart__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_2__0" + + + // $ANTLR start "rule__XCasePart__Group_2__0__Impl" + // InternalExpression.g:14274:1: rule__XCasePart__Group_2__0__Impl : ( 'case' ) ; + public final void rule__XCasePart__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14278:1: ( ( 'case' ) ) + // InternalExpression.g:14279:1: ( 'case' ) + { + // InternalExpression.g:14279:1: ( 'case' ) + // InternalExpression.g:14280:2: 'case' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_2__0__Impl" + + + // $ANTLR start "rule__XCasePart__Group_2__1" + // InternalExpression.g:14289:1: rule__XCasePart__Group_2__1 : rule__XCasePart__Group_2__1__Impl ; + public final void rule__XCasePart__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14293:1: ( rule__XCasePart__Group_2__1__Impl ) + // InternalExpression.g:14294:2: rule__XCasePart__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__XCasePart__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_2__1" + + + // $ANTLR start "rule__XCasePart__Group_2__1__Impl" + // InternalExpression.g:14300:1: rule__XCasePart__Group_2__1__Impl : ( ( rule__XCasePart__CaseAssignment_2_1 ) ) ; + public final void rule__XCasePart__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14304:1: ( ( ( rule__XCasePart__CaseAssignment_2_1 ) ) ) + // InternalExpression.g:14305:1: ( ( rule__XCasePart__CaseAssignment_2_1 ) ) + { + // InternalExpression.g:14305:1: ( ( rule__XCasePart__CaseAssignment_2_1 ) ) + // InternalExpression.g:14306:2: ( rule__XCasePart__CaseAssignment_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1()); + } + // InternalExpression.g:14307:2: ( rule__XCasePart__CaseAssignment_2_1 ) + // InternalExpression.g:14307:3: rule__XCasePart__CaseAssignment_2_1 + { + pushFollow(FOLLOW_2); + rule__XCasePart__CaseAssignment_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_2__1__Impl" + + + // $ANTLR start "rule__XCasePart__Group_3_0__0" + // InternalExpression.g:14316:1: rule__XCasePart__Group_3_0__0 : rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1 ; + public final void rule__XCasePart__Group_3_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14320:1: ( rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1 ) + // InternalExpression.g:14321:2: rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1 + { + pushFollow(FOLLOW_77); + rule__XCasePart__Group_3_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCasePart__Group_3_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_3_0__0" + + + // $ANTLR start "rule__XCasePart__Group_3_0__0__Impl" + // InternalExpression.g:14328:1: rule__XCasePart__Group_3_0__0__Impl : ( ':' ) ; + public final void rule__XCasePart__Group_3_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14332:1: ( ( ':' ) ) + // InternalExpression.g:14333:1: ( ':' ) + { + // InternalExpression.g:14333:1: ( ':' ) + // InternalExpression.g:14334:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); + } + match(input,66,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_3_0__0__Impl" + + + // $ANTLR start "rule__XCasePart__Group_3_0__1" + // InternalExpression.g:14343:1: rule__XCasePart__Group_3_0__1 : rule__XCasePart__Group_3_0__1__Impl ; + public final void rule__XCasePart__Group_3_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14347:1: ( rule__XCasePart__Group_3_0__1__Impl ) + // InternalExpression.g:14348:2: rule__XCasePart__Group_3_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XCasePart__Group_3_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_3_0__1" + + + // $ANTLR start "rule__XCasePart__Group_3_0__1__Impl" + // InternalExpression.g:14354:1: rule__XCasePart__Group_3_0__1__Impl : ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) ; + public final void rule__XCasePart__Group_3_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14358:1: ( ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) ) + // InternalExpression.g:14359:1: ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) + { + // InternalExpression.g:14359:1: ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) + // InternalExpression.g:14360:2: ( rule__XCasePart__ThenAssignment_3_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1()); + } + // InternalExpression.g:14361:2: ( rule__XCasePart__ThenAssignment_3_0_1 ) + // InternalExpression.g:14361:3: rule__XCasePart__ThenAssignment_3_0_1 + { + pushFollow(FOLLOW_2); + rule__XCasePart__ThenAssignment_3_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_3_0__1__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group__0" + // InternalExpression.g:14370:1: rule__XForLoopExpression__Group__0 : rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1 ; + public final void rule__XForLoopExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14374:1: ( rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1 ) + // InternalExpression.g:14375:2: rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1 + { + pushFollow(FOLLOW_77); + rule__XForLoopExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__0" + + + // $ANTLR start "rule__XForLoopExpression__Group__0__Impl" + // InternalExpression.g:14382:1: rule__XForLoopExpression__Group__0__Impl : ( ( rule__XForLoopExpression__Group_0__0 ) ) ; + public final void rule__XForLoopExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14386:1: ( ( ( rule__XForLoopExpression__Group_0__0 ) ) ) + // InternalExpression.g:14387:1: ( ( rule__XForLoopExpression__Group_0__0 ) ) + { + // InternalExpression.g:14387:1: ( ( rule__XForLoopExpression__Group_0__0 ) ) + // InternalExpression.g:14388:2: ( rule__XForLoopExpression__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getGroup_0()); + } + // InternalExpression.g:14389:2: ( rule__XForLoopExpression__Group_0__0 ) + // InternalExpression.g:14389:3: rule__XForLoopExpression__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getGroup_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__0__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group__1" + // InternalExpression.g:14397:1: rule__XForLoopExpression__Group__1 : rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2 ; + public final void rule__XForLoopExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14401:1: ( rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2 ) + // InternalExpression.g:14402:2: rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2 + { + pushFollow(FOLLOW_9); + rule__XForLoopExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__1" + + + // $ANTLR start "rule__XForLoopExpression__Group__1__Impl" + // InternalExpression.g:14409:1: rule__XForLoopExpression__Group__1__Impl : ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) ; + public final void rule__XForLoopExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14413:1: ( ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) ) + // InternalExpression.g:14414:1: ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) + { + // InternalExpression.g:14414:1: ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) + // InternalExpression.g:14415:2: ( rule__XForLoopExpression__ForExpressionAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1()); + } + // InternalExpression.g:14416:2: ( rule__XForLoopExpression__ForExpressionAssignment_1 ) + // InternalExpression.g:14416:3: rule__XForLoopExpression__ForExpressionAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__ForExpressionAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__1__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group__2" + // InternalExpression.g:14424:1: rule__XForLoopExpression__Group__2 : rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3 ; + public final void rule__XForLoopExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14428:1: ( rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3 ) + // InternalExpression.g:14429:2: rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3 + { + pushFollow(FOLLOW_77); + rule__XForLoopExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__2" + + + // $ANTLR start "rule__XForLoopExpression__Group__2__Impl" + // InternalExpression.g:14436:1: rule__XForLoopExpression__Group__2__Impl : ( ')' ) ; + public final void rule__XForLoopExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14440:1: ( ( ')' ) ) + // InternalExpression.g:14441:1: ( ')' ) + { + // InternalExpression.g:14441:1: ( ')' ) + // InternalExpression.g:14442:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__2__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group__3" + // InternalExpression.g:14451:1: rule__XForLoopExpression__Group__3 : rule__XForLoopExpression__Group__3__Impl ; + public final void rule__XForLoopExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14455:1: ( rule__XForLoopExpression__Group__3__Impl ) + // InternalExpression.g:14456:2: rule__XForLoopExpression__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__3" + + + // $ANTLR start "rule__XForLoopExpression__Group__3__Impl" + // InternalExpression.g:14462:1: rule__XForLoopExpression__Group__3__Impl : ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) ; + public final void rule__XForLoopExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14466:1: ( ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) ) + // InternalExpression.g:14467:1: ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) + { + // InternalExpression.g:14467:1: ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) + // InternalExpression.g:14468:2: ( rule__XForLoopExpression__EachExpressionAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3()); + } + // InternalExpression.g:14469:2: ( rule__XForLoopExpression__EachExpressionAssignment_3 ) + // InternalExpression.g:14469:3: rule__XForLoopExpression__EachExpressionAssignment_3 + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__EachExpressionAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__3__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0__0" + // InternalExpression.g:14478:1: rule__XForLoopExpression__Group_0__0 : rule__XForLoopExpression__Group_0__0__Impl ; + public final void rule__XForLoopExpression__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14482:1: ( rule__XForLoopExpression__Group_0__0__Impl ) + // InternalExpression.g:14483:2: rule__XForLoopExpression__Group_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0__0" + + + // $ANTLR start "rule__XForLoopExpression__Group_0__0__Impl" + // InternalExpression.g:14489:1: rule__XForLoopExpression__Group_0__0__Impl : ( ( rule__XForLoopExpression__Group_0_0__0 ) ) ; + public final void rule__XForLoopExpression__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14493:1: ( ( ( rule__XForLoopExpression__Group_0_0__0 ) ) ) + // InternalExpression.g:14494:1: ( ( rule__XForLoopExpression__Group_0_0__0 ) ) + { + // InternalExpression.g:14494:1: ( ( rule__XForLoopExpression__Group_0_0__0 ) ) + // InternalExpression.g:14495:2: ( rule__XForLoopExpression__Group_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0()); + } + // InternalExpression.g:14496:2: ( rule__XForLoopExpression__Group_0_0__0 ) + // InternalExpression.g:14496:3: rule__XForLoopExpression__Group_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0__0__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__0" + // InternalExpression.g:14505:1: rule__XForLoopExpression__Group_0_0__0 : rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1 ; + public final void rule__XForLoopExpression__Group_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14509:1: ( rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1 ) + // InternalExpression.g:14510:2: rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1 + { + pushFollow(FOLLOW_90); + rule__XForLoopExpression__Group_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__0" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__0__Impl" + // InternalExpression.g:14517:1: rule__XForLoopExpression__Group_0_0__0__Impl : ( () ) ; + public final void rule__XForLoopExpression__Group_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14521:1: ( ( () ) ) + // InternalExpression.g:14522:1: ( () ) + { + // InternalExpression.g:14522:1: ( () ) + // InternalExpression.g:14523:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0()); + } + // InternalExpression.g:14524:2: () + // InternalExpression.g:14524:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__0__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__1" + // InternalExpression.g:14532:1: rule__XForLoopExpression__Group_0_0__1 : rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2 ; + public final void rule__XForLoopExpression__Group_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14536:1: ( rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2 ) + // InternalExpression.g:14537:2: rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2 + { + pushFollow(FOLLOW_34); + rule__XForLoopExpression__Group_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__1" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__1__Impl" + // InternalExpression.g:14544:1: rule__XForLoopExpression__Group_0_0__1__Impl : ( 'for' ) ; + public final void rule__XForLoopExpression__Group_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14548:1: ( ( 'for' ) ) + // InternalExpression.g:14549:1: ( 'for' ) + { + // InternalExpression.g:14549:1: ( 'for' ) + // InternalExpression.g:14550:2: 'for' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); + } + match(input,89,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__1__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__2" + // InternalExpression.g:14559:1: rule__XForLoopExpression__Group_0_0__2 : rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3 ; + public final void rule__XForLoopExpression__Group_0_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14563:1: ( rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3 ) + // InternalExpression.g:14564:2: rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3 + { + pushFollow(FOLLOW_56); + rule__XForLoopExpression__Group_0_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__2" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__2__Impl" + // InternalExpression.g:14571:1: rule__XForLoopExpression__Group_0_0__2__Impl : ( '(' ) ; + public final void rule__XForLoopExpression__Group_0_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14575:1: ( ( '(' ) ) + // InternalExpression.g:14576:1: ( '(' ) + { + // InternalExpression.g:14576:1: ( '(' ) + // InternalExpression.g:14577:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__2__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__3" + // InternalExpression.g:14586:1: rule__XForLoopExpression__Group_0_0__3 : rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4 ; + public final void rule__XForLoopExpression__Group_0_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14590:1: ( rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4 ) + // InternalExpression.g:14591:2: rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4 + { + pushFollow(FOLLOW_7); + rule__XForLoopExpression__Group_0_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__3" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__3__Impl" + // InternalExpression.g:14598:1: rule__XForLoopExpression__Group_0_0__3__Impl : ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) ; + public final void rule__XForLoopExpression__Group_0_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14602:1: ( ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) ) + // InternalExpression.g:14603:1: ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) + { + // InternalExpression.g:14603:1: ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) + // InternalExpression.g:14604:2: ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3()); + } + // InternalExpression.g:14605:2: ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) + // InternalExpression.g:14605:3: rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__DeclaredParamAssignment_0_0_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__3__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__4" + // InternalExpression.g:14613:1: rule__XForLoopExpression__Group_0_0__4 : rule__XForLoopExpression__Group_0_0__4__Impl ; + public final void rule__XForLoopExpression__Group_0_0__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14617:1: ( rule__XForLoopExpression__Group_0_0__4__Impl ) + // InternalExpression.g:14618:2: rule__XForLoopExpression__Group_0_0__4__Impl + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__4" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__4__Impl" + // InternalExpression.g:14624:1: rule__XForLoopExpression__Group_0_0__4__Impl : ( ':' ) ; + public final void rule__XForLoopExpression__Group_0_0__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14628:1: ( ( ':' ) ) + // InternalExpression.g:14629:1: ( ':' ) + { + // InternalExpression.g:14629:1: ( ':' ) + // InternalExpression.g:14630:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); + } + match(input,66,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__4__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__0" + // InternalExpression.g:14640:1: rule__XBasicForLoopExpression__Group__0 : rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1 ; + public final void rule__XBasicForLoopExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14644:1: ( rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1 ) + // InternalExpression.g:14645:2: rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1 + { + pushFollow(FOLLOW_90); + rule__XBasicForLoopExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__0" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__0__Impl" + // InternalExpression.g:14652:1: rule__XBasicForLoopExpression__Group__0__Impl : ( () ) ; + public final void rule__XBasicForLoopExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14656:1: ( ( () ) ) + // InternalExpression.g:14657:1: ( () ) + { + // InternalExpression.g:14657:1: ( () ) + // InternalExpression.g:14658:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0()); + } + // InternalExpression.g:14659:2: () + // InternalExpression.g:14659:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__0__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__1" + // InternalExpression.g:14667:1: rule__XBasicForLoopExpression__Group__1 : rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2 ; + public final void rule__XBasicForLoopExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14671:1: ( rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2 ) + // InternalExpression.g:14672:2: rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2 + { + pushFollow(FOLLOW_34); + rule__XBasicForLoopExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__1" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__1__Impl" + // InternalExpression.g:14679:1: rule__XBasicForLoopExpression__Group__1__Impl : ( 'for' ) ; + public final void rule__XBasicForLoopExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14683:1: ( ( 'for' ) ) + // InternalExpression.g:14684:1: ( 'for' ) + { + // InternalExpression.g:14684:1: ( 'for' ) + // InternalExpression.g:14685:2: 'for' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); + } + match(input,89,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__1__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__2" + // InternalExpression.g:14694:1: rule__XBasicForLoopExpression__Group__2 : rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3 ; + public final void rule__XBasicForLoopExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14698:1: ( rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3 ) + // InternalExpression.g:14699:2: rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3 + { + pushFollow(FOLLOW_91); + rule__XBasicForLoopExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__2" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__2__Impl" + // InternalExpression.g:14706:1: rule__XBasicForLoopExpression__Group__2__Impl : ( '(' ) ; + public final void rule__XBasicForLoopExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14710:1: ( ( '(' ) ) + // InternalExpression.g:14711:1: ( '(' ) + { + // InternalExpression.g:14711:1: ( '(' ) + // InternalExpression.g:14712:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__2__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__3" + // InternalExpression.g:14721:1: rule__XBasicForLoopExpression__Group__3 : rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4 ; + public final void rule__XBasicForLoopExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14725:1: ( rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4 ) + // InternalExpression.g:14726:2: rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4 + { + pushFollow(FOLLOW_91); + rule__XBasicForLoopExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__3" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__3__Impl" + // InternalExpression.g:14733:1: rule__XBasicForLoopExpression__Group__3__Impl : ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) ; + public final void rule__XBasicForLoopExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14737:1: ( ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) ) + // InternalExpression.g:14738:1: ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) + { + // InternalExpression.g:14738:1: ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) + // InternalExpression.g:14739:2: ( rule__XBasicForLoopExpression__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3()); + } + // InternalExpression.g:14740:2: ( rule__XBasicForLoopExpression__Group_3__0 )? + int alt113=2; + int LA113_0 = input.LA(1); + + if ( ((LA113_0>=RULE_ID && LA113_0<=RULE_DECIMAL)||LA113_0==RULE_STRING||(LA113_0>=22 && LA113_0<=24)||LA113_0==27||(LA113_0>=36 && LA113_0<=37)||(LA113_0>=59 && LA113_0<=64)||LA113_0==67||LA113_0==70||(LA113_0>=73 && LA113_0<=74)||(LA113_0>=81 && LA113_0<=82)||LA113_0==87||(LA113_0>=89 && LA113_0<=96)||LA113_0==98||LA113_0==104) ) { + alt113=1; + } + switch (alt113) { + case 1 : + // InternalExpression.g:14740:3: rule__XBasicForLoopExpression__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__3__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__4" + // InternalExpression.g:14748:1: rule__XBasicForLoopExpression__Group__4 : rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5 ; + public final void rule__XBasicForLoopExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14752:1: ( rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5 ) + // InternalExpression.g:14753:2: rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5 + { + pushFollow(FOLLOW_92); + rule__XBasicForLoopExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__4" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__4__Impl" + // InternalExpression.g:14760:1: rule__XBasicForLoopExpression__Group__4__Impl : ( ';' ) ; + public final void rule__XBasicForLoopExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14764:1: ( ( ';' ) ) + // InternalExpression.g:14765:1: ( ';' ) + { + // InternalExpression.g:14765:1: ( ';' ) + // InternalExpression.g:14766:2: ';' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); + } + match(input,88,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__4__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__5" + // InternalExpression.g:14775:1: rule__XBasicForLoopExpression__Group__5 : rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6 ; + public final void rule__XBasicForLoopExpression__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14779:1: ( rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6 ) + // InternalExpression.g:14780:2: rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6 + { + pushFollow(FOLLOW_92); + rule__XBasicForLoopExpression__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__5" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__5__Impl" + // InternalExpression.g:14787:1: rule__XBasicForLoopExpression__Group__5__Impl : ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) ; + public final void rule__XBasicForLoopExpression__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14791:1: ( ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) ) + // InternalExpression.g:14792:1: ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) + { + // InternalExpression.g:14792:1: ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) + // InternalExpression.g:14793:2: ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5()); + } + // InternalExpression.g:14794:2: ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? + int alt114=2; + int LA114_0 = input.LA(1); + + if ( ((LA114_0>=RULE_ID && LA114_0<=RULE_DECIMAL)||LA114_0==RULE_STRING||(LA114_0>=22 && LA114_0<=24)||LA114_0==27||(LA114_0>=36 && LA114_0<=37)||(LA114_0>=60 && LA114_0<=64)||LA114_0==67||LA114_0==70||(LA114_0>=73 && LA114_0<=74)||(LA114_0>=81 && LA114_0<=82)||LA114_0==87||(LA114_0>=89 && LA114_0<=96)||LA114_0==98) ) { + alt114=1; + } + switch (alt114) { + case 1 : + // InternalExpression.g:14794:3: rule__XBasicForLoopExpression__ExpressionAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__ExpressionAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__5__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__6" + // InternalExpression.g:14802:1: rule__XBasicForLoopExpression__Group__6 : rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7 ; + public final void rule__XBasicForLoopExpression__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14806:1: ( rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7 ) + // InternalExpression.g:14807:2: rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7 + { + pushFollow(FOLLOW_76); + rule__XBasicForLoopExpression__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__7(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__6" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__6__Impl" + // InternalExpression.g:14814:1: rule__XBasicForLoopExpression__Group__6__Impl : ( ';' ) ; + public final void rule__XBasicForLoopExpression__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14818:1: ( ( ';' ) ) + // InternalExpression.g:14819:1: ( ';' ) + { + // InternalExpression.g:14819:1: ( ';' ) + // InternalExpression.g:14820:2: ';' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); + } + match(input,88,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__6__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__7" + // InternalExpression.g:14829:1: rule__XBasicForLoopExpression__Group__7 : rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8 ; + public final void rule__XBasicForLoopExpression__Group__7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14833:1: ( rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8 ) + // InternalExpression.g:14834:2: rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8 + { + pushFollow(FOLLOW_76); + rule__XBasicForLoopExpression__Group__7__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__8(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__7" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__7__Impl" + // InternalExpression.g:14841:1: rule__XBasicForLoopExpression__Group__7__Impl : ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) ; + public final void rule__XBasicForLoopExpression__Group__7__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14845:1: ( ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) ) + // InternalExpression.g:14846:1: ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) + { + // InternalExpression.g:14846:1: ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) + // InternalExpression.g:14847:2: ( rule__XBasicForLoopExpression__Group_7__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7()); + } + // InternalExpression.g:14848:2: ( rule__XBasicForLoopExpression__Group_7__0 )? + int alt115=2; + int LA115_0 = input.LA(1); + + if ( ((LA115_0>=RULE_ID && LA115_0<=RULE_DECIMAL)||LA115_0==RULE_STRING||(LA115_0>=22 && LA115_0<=24)||LA115_0==27||(LA115_0>=36 && LA115_0<=37)||(LA115_0>=60 && LA115_0<=64)||LA115_0==67||LA115_0==70||(LA115_0>=73 && LA115_0<=74)||(LA115_0>=81 && LA115_0<=82)||LA115_0==87||(LA115_0>=89 && LA115_0<=96)||LA115_0==98) ) { + alt115=1; + } + switch (alt115) { + case 1 : + // InternalExpression.g:14848:3: rule__XBasicForLoopExpression__Group_7__0 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_7__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__7__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__8" + // InternalExpression.g:14856:1: rule__XBasicForLoopExpression__Group__8 : rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9 ; + public final void rule__XBasicForLoopExpression__Group__8() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14860:1: ( rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9 ) + // InternalExpression.g:14861:2: rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9 + { + pushFollow(FOLLOW_77); + rule__XBasicForLoopExpression__Group__8__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__9(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__8" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__8__Impl" + // InternalExpression.g:14868:1: rule__XBasicForLoopExpression__Group__8__Impl : ( ')' ) ; + public final void rule__XBasicForLoopExpression__Group__8__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14872:1: ( ( ')' ) ) + // InternalExpression.g:14873:1: ( ')' ) + { + // InternalExpression.g:14873:1: ( ')' ) + // InternalExpression.g:14874:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__8__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__9" + // InternalExpression.g:14883:1: rule__XBasicForLoopExpression__Group__9 : rule__XBasicForLoopExpression__Group__9__Impl ; + public final void rule__XBasicForLoopExpression__Group__9() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14887:1: ( rule__XBasicForLoopExpression__Group__9__Impl ) + // InternalExpression.g:14888:2: rule__XBasicForLoopExpression__Group__9__Impl + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__9__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__9" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__9__Impl" + // InternalExpression.g:14894:1: rule__XBasicForLoopExpression__Group__9__Impl : ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) ; + public final void rule__XBasicForLoopExpression__Group__9__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14898:1: ( ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) ) + // InternalExpression.g:14899:1: ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) + { + // InternalExpression.g:14899:1: ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) + // InternalExpression.g:14900:2: ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9()); + } + // InternalExpression.g:14901:2: ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) + // InternalExpression.g:14901:3: rule__XBasicForLoopExpression__EachExpressionAssignment_9 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__EachExpressionAssignment_9(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__9__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3__0" + // InternalExpression.g:14910:1: rule__XBasicForLoopExpression__Group_3__0 : rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1 ; + public final void rule__XBasicForLoopExpression__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14914:1: ( rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1 ) + // InternalExpression.g:14915:2: rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1 + { + pushFollow(FOLLOW_36); + rule__XBasicForLoopExpression__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3__0" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3__0__Impl" + // InternalExpression.g:14922:1: rule__XBasicForLoopExpression__Group_3__0__Impl : ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) ; + public final void rule__XBasicForLoopExpression__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14926:1: ( ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) ) + // InternalExpression.g:14927:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) + { + // InternalExpression.g:14927:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) + // InternalExpression.g:14928:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0()); + } + // InternalExpression.g:14929:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) + // InternalExpression.g:14929:3: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3__0__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3__1" + // InternalExpression.g:14937:1: rule__XBasicForLoopExpression__Group_3__1 : rule__XBasicForLoopExpression__Group_3__1__Impl ; + public final void rule__XBasicForLoopExpression__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14941:1: ( rule__XBasicForLoopExpression__Group_3__1__Impl ) + // InternalExpression.g:14942:2: rule__XBasicForLoopExpression__Group_3__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3__1" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3__1__Impl" + // InternalExpression.g:14948:1: rule__XBasicForLoopExpression__Group_3__1__Impl : ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) ; + public final void rule__XBasicForLoopExpression__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14952:1: ( ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) ) + // InternalExpression.g:14953:1: ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) + { + // InternalExpression.g:14953:1: ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) + // InternalExpression.g:14954:2: ( rule__XBasicForLoopExpression__Group_3_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1()); + } + // InternalExpression.g:14955:2: ( rule__XBasicForLoopExpression__Group_3_1__0 )* + loop116: + do { + int alt116=2; + int LA116_0 = input.LA(1); + + if ( (LA116_0==78) ) { + alt116=1; + } + + + switch (alt116) { + case 1 : + // InternalExpression.g:14955:3: rule__XBasicForLoopExpression__Group_3_1__0 + { + pushFollow(FOLLOW_37); + rule__XBasicForLoopExpression__Group_3_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop116; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3__1__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__0" + // InternalExpression.g:14964:1: rule__XBasicForLoopExpression__Group_3_1__0 : rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1 ; + public final void rule__XBasicForLoopExpression__Group_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14968:1: ( rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1 ) + // InternalExpression.g:14969:2: rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1 + { + pushFollow(FOLLOW_81); + rule__XBasicForLoopExpression__Group_3_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_3_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3_1__0" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__0__Impl" + // InternalExpression.g:14976:1: rule__XBasicForLoopExpression__Group_3_1__0__Impl : ( ',' ) ; + public final void rule__XBasicForLoopExpression__Group_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14980:1: ( ( ',' ) ) + // InternalExpression.g:14981:1: ( ',' ) + { + // InternalExpression.g:14981:1: ( ',' ) + // InternalExpression.g:14982:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3_1__0__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__1" + // InternalExpression.g:14991:1: rule__XBasicForLoopExpression__Group_3_1__1 : rule__XBasicForLoopExpression__Group_3_1__1__Impl ; + public final void rule__XBasicForLoopExpression__Group_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:14995:1: ( rule__XBasicForLoopExpression__Group_3_1__1__Impl ) + // InternalExpression.g:14996:2: rule__XBasicForLoopExpression__Group_3_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_3_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3_1__1" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__1__Impl" + // InternalExpression.g:15002:1: rule__XBasicForLoopExpression__Group_3_1__1__Impl : ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) ; + public final void rule__XBasicForLoopExpression__Group_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15006:1: ( ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) ) + // InternalExpression.g:15007:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) + { + // InternalExpression.g:15007:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) + // InternalExpression.g:15008:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1()); + } + // InternalExpression.g:15009:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) + // InternalExpression.g:15009:3: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3_1__1__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7__0" + // InternalExpression.g:15018:1: rule__XBasicForLoopExpression__Group_7__0 : rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1 ; + public final void rule__XBasicForLoopExpression__Group_7__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15022:1: ( rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1 ) + // InternalExpression.g:15023:2: rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1 + { + pushFollow(FOLLOW_36); + rule__XBasicForLoopExpression__Group_7__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_7__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7__0" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7__0__Impl" + // InternalExpression.g:15030:1: rule__XBasicForLoopExpression__Group_7__0__Impl : ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) ; + public final void rule__XBasicForLoopExpression__Group_7__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15034:1: ( ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) ) + // InternalExpression.g:15035:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) + { + // InternalExpression.g:15035:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) + // InternalExpression.g:15036:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0()); + } + // InternalExpression.g:15037:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) + // InternalExpression.g:15037:3: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7__0__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7__1" + // InternalExpression.g:15045:1: rule__XBasicForLoopExpression__Group_7__1 : rule__XBasicForLoopExpression__Group_7__1__Impl ; + public final void rule__XBasicForLoopExpression__Group_7__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15049:1: ( rule__XBasicForLoopExpression__Group_7__1__Impl ) + // InternalExpression.g:15050:2: rule__XBasicForLoopExpression__Group_7__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_7__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7__1" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7__1__Impl" + // InternalExpression.g:15056:1: rule__XBasicForLoopExpression__Group_7__1__Impl : ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) ; + public final void rule__XBasicForLoopExpression__Group_7__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15060:1: ( ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) ) + // InternalExpression.g:15061:1: ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) + { + // InternalExpression.g:15061:1: ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) + // InternalExpression.g:15062:2: ( rule__XBasicForLoopExpression__Group_7_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1()); + } + // InternalExpression.g:15063:2: ( rule__XBasicForLoopExpression__Group_7_1__0 )* + loop117: + do { + int alt117=2; + int LA117_0 = input.LA(1); + + if ( (LA117_0==78) ) { + alt117=1; + } + + + switch (alt117) { + case 1 : + // InternalExpression.g:15063:3: rule__XBasicForLoopExpression__Group_7_1__0 + { + pushFollow(FOLLOW_37); + rule__XBasicForLoopExpression__Group_7_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop117; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7__1__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__0" + // InternalExpression.g:15072:1: rule__XBasicForLoopExpression__Group_7_1__0 : rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1 ; + public final void rule__XBasicForLoopExpression__Group_7_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15076:1: ( rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1 ) + // InternalExpression.g:15077:2: rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1 + { + pushFollow(FOLLOW_77); + rule__XBasicForLoopExpression__Group_7_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_7_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7_1__0" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__0__Impl" + // InternalExpression.g:15084:1: rule__XBasicForLoopExpression__Group_7_1__0__Impl : ( ',' ) ; + public final void rule__XBasicForLoopExpression__Group_7_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15088:1: ( ( ',' ) ) + // InternalExpression.g:15089:1: ( ',' ) + { + // InternalExpression.g:15089:1: ( ',' ) + // InternalExpression.g:15090:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7_1__0__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__1" + // InternalExpression.g:15099:1: rule__XBasicForLoopExpression__Group_7_1__1 : rule__XBasicForLoopExpression__Group_7_1__1__Impl ; + public final void rule__XBasicForLoopExpression__Group_7_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15103:1: ( rule__XBasicForLoopExpression__Group_7_1__1__Impl ) + // InternalExpression.g:15104:2: rule__XBasicForLoopExpression__Group_7_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_7_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7_1__1" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__1__Impl" + // InternalExpression.g:15110:1: rule__XBasicForLoopExpression__Group_7_1__1__Impl : ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) ; + public final void rule__XBasicForLoopExpression__Group_7_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15114:1: ( ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) ) + // InternalExpression.g:15115:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) + { + // InternalExpression.g:15115:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) + // InternalExpression.g:15116:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1()); + } + // InternalExpression.g:15117:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) + // InternalExpression.g:15117:3: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7_1__1__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__0" + // InternalExpression.g:15126:1: rule__XWhileExpression__Group__0 : rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1 ; + public final void rule__XWhileExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15130:1: ( rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1 ) + // InternalExpression.g:15131:2: rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1 + { + pushFollow(FOLLOW_93); + rule__XWhileExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__0" + + + // $ANTLR start "rule__XWhileExpression__Group__0__Impl" + // InternalExpression.g:15138:1: rule__XWhileExpression__Group__0__Impl : ( () ) ; + public final void rule__XWhileExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15142:1: ( ( () ) ) + // InternalExpression.g:15143:1: ( () ) + { + // InternalExpression.g:15143:1: ( () ) + // InternalExpression.g:15144:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0()); + } + // InternalExpression.g:15145:2: () + // InternalExpression.g:15145:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__0__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__1" + // InternalExpression.g:15153:1: rule__XWhileExpression__Group__1 : rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2 ; + public final void rule__XWhileExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15157:1: ( rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2 ) + // InternalExpression.g:15158:2: rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2 + { + pushFollow(FOLLOW_34); + rule__XWhileExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__1" + + + // $ANTLR start "rule__XWhileExpression__Group__1__Impl" + // InternalExpression.g:15165:1: rule__XWhileExpression__Group__1__Impl : ( 'while' ) ; + public final void rule__XWhileExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15169:1: ( ( 'while' ) ) + // InternalExpression.g:15170:1: ( 'while' ) + { + // InternalExpression.g:15170:1: ( 'while' ) + // InternalExpression.g:15171:2: 'while' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); + } + match(input,90,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__1__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__2" + // InternalExpression.g:15180:1: rule__XWhileExpression__Group__2 : rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3 ; + public final void rule__XWhileExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15184:1: ( rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3 ) + // InternalExpression.g:15185:2: rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3 + { + pushFollow(FOLLOW_77); + rule__XWhileExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__2" + + + // $ANTLR start "rule__XWhileExpression__Group__2__Impl" + // InternalExpression.g:15192:1: rule__XWhileExpression__Group__2__Impl : ( '(' ) ; + public final void rule__XWhileExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15196:1: ( ( '(' ) ) + // InternalExpression.g:15197:1: ( '(' ) + { + // InternalExpression.g:15197:1: ( '(' ) + // InternalExpression.g:15198:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__2__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__3" + // InternalExpression.g:15207:1: rule__XWhileExpression__Group__3 : rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4 ; + public final void rule__XWhileExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15211:1: ( rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4 ) + // InternalExpression.g:15212:2: rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4 + { + pushFollow(FOLLOW_9); + rule__XWhileExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__3" + + + // $ANTLR start "rule__XWhileExpression__Group__3__Impl" + // InternalExpression.g:15219:1: rule__XWhileExpression__Group__3__Impl : ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) ; + public final void rule__XWhileExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15223:1: ( ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) ) + // InternalExpression.g:15224:1: ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) + { + // InternalExpression.g:15224:1: ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) + // InternalExpression.g:15225:2: ( rule__XWhileExpression__PredicateAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3()); + } + // InternalExpression.g:15226:2: ( rule__XWhileExpression__PredicateAssignment_3 ) + // InternalExpression.g:15226:3: rule__XWhileExpression__PredicateAssignment_3 + { + pushFollow(FOLLOW_2); + rule__XWhileExpression__PredicateAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__3__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__4" + // InternalExpression.g:15234:1: rule__XWhileExpression__Group__4 : rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5 ; + public final void rule__XWhileExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15238:1: ( rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5 ) + // InternalExpression.g:15239:2: rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5 + { + pushFollow(FOLLOW_77); + rule__XWhileExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__4" + + + // $ANTLR start "rule__XWhileExpression__Group__4__Impl" + // InternalExpression.g:15246:1: rule__XWhileExpression__Group__4__Impl : ( ')' ) ; + public final void rule__XWhileExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15250:1: ( ( ')' ) ) + // InternalExpression.g:15251:1: ( ')' ) + { + // InternalExpression.g:15251:1: ( ')' ) + // InternalExpression.g:15252:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__4__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__5" + // InternalExpression.g:15261:1: rule__XWhileExpression__Group__5 : rule__XWhileExpression__Group__5__Impl ; + public final void rule__XWhileExpression__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15265:1: ( rule__XWhileExpression__Group__5__Impl ) + // InternalExpression.g:15266:2: rule__XWhileExpression__Group__5__Impl + { + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__5" + + + // $ANTLR start "rule__XWhileExpression__Group__5__Impl" + // InternalExpression.g:15272:1: rule__XWhileExpression__Group__5__Impl : ( ( rule__XWhileExpression__BodyAssignment_5 ) ) ; + public final void rule__XWhileExpression__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15276:1: ( ( ( rule__XWhileExpression__BodyAssignment_5 ) ) ) + // InternalExpression.g:15277:1: ( ( rule__XWhileExpression__BodyAssignment_5 ) ) + { + // InternalExpression.g:15277:1: ( ( rule__XWhileExpression__BodyAssignment_5 ) ) + // InternalExpression.g:15278:2: ( rule__XWhileExpression__BodyAssignment_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5()); + } + // InternalExpression.g:15279:2: ( rule__XWhileExpression__BodyAssignment_5 ) + // InternalExpression.g:15279:3: rule__XWhileExpression__BodyAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XWhileExpression__BodyAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__5__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__0" + // InternalExpression.g:15288:1: rule__XDoWhileExpression__Group__0 : rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1 ; + public final void rule__XDoWhileExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15292:1: ( rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1 ) + // InternalExpression.g:15293:2: rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1 + { + pushFollow(FOLLOW_94); + rule__XDoWhileExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__0" + + + // $ANTLR start "rule__XDoWhileExpression__Group__0__Impl" + // InternalExpression.g:15300:1: rule__XDoWhileExpression__Group__0__Impl : ( () ) ; + public final void rule__XDoWhileExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15304:1: ( ( () ) ) + // InternalExpression.g:15305:1: ( () ) + { + // InternalExpression.g:15305:1: ( () ) + // InternalExpression.g:15306:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0()); + } + // InternalExpression.g:15307:2: () + // InternalExpression.g:15307:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__0__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__1" + // InternalExpression.g:15315:1: rule__XDoWhileExpression__Group__1 : rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2 ; + public final void rule__XDoWhileExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15319:1: ( rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2 ) + // InternalExpression.g:15320:2: rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2 + { + pushFollow(FOLLOW_77); + rule__XDoWhileExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__1" + + + // $ANTLR start "rule__XDoWhileExpression__Group__1__Impl" + // InternalExpression.g:15327:1: rule__XDoWhileExpression__Group__1__Impl : ( 'do' ) ; + public final void rule__XDoWhileExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15331:1: ( ( 'do' ) ) + // InternalExpression.g:15332:1: ( 'do' ) + { + // InternalExpression.g:15332:1: ( 'do' ) + // InternalExpression.g:15333:2: 'do' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); + } + match(input,91,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__1__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__2" + // InternalExpression.g:15342:1: rule__XDoWhileExpression__Group__2 : rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3 ; + public final void rule__XDoWhileExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15346:1: ( rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3 ) + // InternalExpression.g:15347:2: rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3 + { + pushFollow(FOLLOW_93); + rule__XDoWhileExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__2" + + + // $ANTLR start "rule__XDoWhileExpression__Group__2__Impl" + // InternalExpression.g:15354:1: rule__XDoWhileExpression__Group__2__Impl : ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) ; + public final void rule__XDoWhileExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15358:1: ( ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) ) + // InternalExpression.g:15359:1: ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) + { + // InternalExpression.g:15359:1: ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) + // InternalExpression.g:15360:2: ( rule__XDoWhileExpression__BodyAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2()); + } + // InternalExpression.g:15361:2: ( rule__XDoWhileExpression__BodyAssignment_2 ) + // InternalExpression.g:15361:3: rule__XDoWhileExpression__BodyAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__BodyAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__2__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__3" + // InternalExpression.g:15369:1: rule__XDoWhileExpression__Group__3 : rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4 ; + public final void rule__XDoWhileExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15373:1: ( rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4 ) + // InternalExpression.g:15374:2: rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4 + { + pushFollow(FOLLOW_34); + rule__XDoWhileExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__3" + + + // $ANTLR start "rule__XDoWhileExpression__Group__3__Impl" + // InternalExpression.g:15381:1: rule__XDoWhileExpression__Group__3__Impl : ( 'while' ) ; + public final void rule__XDoWhileExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15385:1: ( ( 'while' ) ) + // InternalExpression.g:15386:1: ( 'while' ) + { + // InternalExpression.g:15386:1: ( 'while' ) + // InternalExpression.g:15387:2: 'while' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); + } + match(input,90,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__3__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__4" + // InternalExpression.g:15396:1: rule__XDoWhileExpression__Group__4 : rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5 ; + public final void rule__XDoWhileExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15400:1: ( rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5 ) + // InternalExpression.g:15401:2: rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5 + { + pushFollow(FOLLOW_77); + rule__XDoWhileExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__4" + + + // $ANTLR start "rule__XDoWhileExpression__Group__4__Impl" + // InternalExpression.g:15408:1: rule__XDoWhileExpression__Group__4__Impl : ( '(' ) ; + public final void rule__XDoWhileExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15412:1: ( ( '(' ) ) + // InternalExpression.g:15413:1: ( '(' ) + { + // InternalExpression.g:15413:1: ( '(' ) + // InternalExpression.g:15414:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__4__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__5" + // InternalExpression.g:15423:1: rule__XDoWhileExpression__Group__5 : rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6 ; + public final void rule__XDoWhileExpression__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15427:1: ( rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6 ) + // InternalExpression.g:15428:2: rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6 + { + pushFollow(FOLLOW_9); + rule__XDoWhileExpression__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__5" + + + // $ANTLR start "rule__XDoWhileExpression__Group__5__Impl" + // InternalExpression.g:15435:1: rule__XDoWhileExpression__Group__5__Impl : ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) ; + public final void rule__XDoWhileExpression__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15439:1: ( ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) ) + // InternalExpression.g:15440:1: ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) + { + // InternalExpression.g:15440:1: ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) + // InternalExpression.g:15441:2: ( rule__XDoWhileExpression__PredicateAssignment_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5()); + } + // InternalExpression.g:15442:2: ( rule__XDoWhileExpression__PredicateAssignment_5 ) + // InternalExpression.g:15442:3: rule__XDoWhileExpression__PredicateAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__PredicateAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__5__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__6" + // InternalExpression.g:15450:1: rule__XDoWhileExpression__Group__6 : rule__XDoWhileExpression__Group__6__Impl ; + public final void rule__XDoWhileExpression__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15454:1: ( rule__XDoWhileExpression__Group__6__Impl ) + // InternalExpression.g:15455:2: rule__XDoWhileExpression__Group__6__Impl + { + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__6" + + + // $ANTLR start "rule__XDoWhileExpression__Group__6__Impl" + // InternalExpression.g:15461:1: rule__XDoWhileExpression__Group__6__Impl : ( ')' ) ; + public final void rule__XDoWhileExpression__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15465:1: ( ( ')' ) ) + // InternalExpression.g:15466:1: ( ')' ) + { + // InternalExpression.g:15466:1: ( ')' ) + // InternalExpression.g:15467:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__6__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group__0" + // InternalExpression.g:15477:1: rule__XBlockExpression__Group__0 : rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1 ; + public final void rule__XBlockExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15481:1: ( rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1 ) + // InternalExpression.g:15482:2: rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1 + { + pushFollow(FOLLOW_41); + rule__XBlockExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__0" + + + // $ANTLR start "rule__XBlockExpression__Group__0__Impl" + // InternalExpression.g:15489:1: rule__XBlockExpression__Group__0__Impl : ( () ) ; + public final void rule__XBlockExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15493:1: ( ( () ) ) + // InternalExpression.g:15494:1: ( () ) + { + // InternalExpression.g:15494:1: ( () ) + // InternalExpression.g:15495:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0()); + } + // InternalExpression.g:15496:2: () + // InternalExpression.g:15496:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__0__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group__1" + // InternalExpression.g:15504:1: rule__XBlockExpression__Group__1 : rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2 ; + public final void rule__XBlockExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15508:1: ( rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2 ) + // InternalExpression.g:15509:2: rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2 + { + pushFollow(FOLLOW_95); + rule__XBlockExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__1" + + + // $ANTLR start "rule__XBlockExpression__Group__1__Impl" + // InternalExpression.g:15516:1: rule__XBlockExpression__Group__1__Impl : ( '{' ) ; + public final void rule__XBlockExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15520:1: ( ( '{' ) ) + // InternalExpression.g:15521:1: ( '{' ) + { + // InternalExpression.g:15521:1: ( '{' ) + // InternalExpression.g:15522:2: '{' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__1__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group__2" + // InternalExpression.g:15531:1: rule__XBlockExpression__Group__2 : rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3 ; + public final void rule__XBlockExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15535:1: ( rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3 ) + // InternalExpression.g:15536:2: rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3 + { + pushFollow(FOLLOW_95); + rule__XBlockExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__2" + + + // $ANTLR start "rule__XBlockExpression__Group__2__Impl" + // InternalExpression.g:15543:1: rule__XBlockExpression__Group__2__Impl : ( ( rule__XBlockExpression__Group_2__0 )* ) ; + public final void rule__XBlockExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15547:1: ( ( ( rule__XBlockExpression__Group_2__0 )* ) ) + // InternalExpression.g:15548:1: ( ( rule__XBlockExpression__Group_2__0 )* ) + { + // InternalExpression.g:15548:1: ( ( rule__XBlockExpression__Group_2__0 )* ) + // InternalExpression.g:15549:2: ( rule__XBlockExpression__Group_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getGroup_2()); + } + // InternalExpression.g:15550:2: ( rule__XBlockExpression__Group_2__0 )* + loop118: + do { + int alt118=2; + int LA118_0 = input.LA(1); + + if ( ((LA118_0>=RULE_ID && LA118_0<=RULE_DECIMAL)||LA118_0==RULE_STRING||(LA118_0>=22 && LA118_0<=24)||LA118_0==27||(LA118_0>=36 && LA118_0<=37)||(LA118_0>=59 && LA118_0<=64)||LA118_0==67||LA118_0==70||(LA118_0>=73 && LA118_0<=74)||(LA118_0>=81 && LA118_0<=82)||LA118_0==87||(LA118_0>=89 && LA118_0<=96)||LA118_0==98||LA118_0==104) ) { + alt118=1; + } + + + switch (alt118) { + case 1 : + // InternalExpression.g:15550:3: rule__XBlockExpression__Group_2__0 + { + pushFollow(FOLLOW_83); + rule__XBlockExpression__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop118; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__2__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group__3" + // InternalExpression.g:15558:1: rule__XBlockExpression__Group__3 : rule__XBlockExpression__Group__3__Impl ; + public final void rule__XBlockExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15562:1: ( rule__XBlockExpression__Group__3__Impl ) + // InternalExpression.g:15563:2: rule__XBlockExpression__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__3" + + + // $ANTLR start "rule__XBlockExpression__Group__3__Impl" + // InternalExpression.g:15569:1: rule__XBlockExpression__Group__3__Impl : ( '}' ) ; + public final void rule__XBlockExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15573:1: ( ( '}' ) ) + // InternalExpression.g:15574:1: ( '}' ) + { + // InternalExpression.g:15574:1: ( '}' ) + // InternalExpression.g:15575:2: '}' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); + } + match(input,76,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__3__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group_2__0" + // InternalExpression.g:15585:1: rule__XBlockExpression__Group_2__0 : rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1 ; + public final void rule__XBlockExpression__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15589:1: ( rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1 ) + // InternalExpression.g:15590:2: rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1 + { + pushFollow(FOLLOW_84); + rule__XBlockExpression__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group_2__0" + + + // $ANTLR start "rule__XBlockExpression__Group_2__0__Impl" + // InternalExpression.g:15597:1: rule__XBlockExpression__Group_2__0__Impl : ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) ; + public final void rule__XBlockExpression__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15601:1: ( ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) ) + // InternalExpression.g:15602:1: ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) + { + // InternalExpression.g:15602:1: ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) + // InternalExpression.g:15603:2: ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0()); + } + // InternalExpression.g:15604:2: ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) + // InternalExpression.g:15604:3: rule__XBlockExpression__ExpressionsAssignment_2_0 + { + pushFollow(FOLLOW_2); + rule__XBlockExpression__ExpressionsAssignment_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group_2__0__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group_2__1" + // InternalExpression.g:15612:1: rule__XBlockExpression__Group_2__1 : rule__XBlockExpression__Group_2__1__Impl ; + public final void rule__XBlockExpression__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15616:1: ( rule__XBlockExpression__Group_2__1__Impl ) + // InternalExpression.g:15617:2: rule__XBlockExpression__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group_2__1" + + + // $ANTLR start "rule__XBlockExpression__Group_2__1__Impl" + // InternalExpression.g:15623:1: rule__XBlockExpression__Group_2__1__Impl : ( ( ';' )? ) ; + public final void rule__XBlockExpression__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15627:1: ( ( ( ';' )? ) ) + // InternalExpression.g:15628:1: ( ( ';' )? ) + { + // InternalExpression.g:15628:1: ( ( ';' )? ) + // InternalExpression.g:15629:2: ( ';' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); + } + // InternalExpression.g:15630:2: ( ';' )? + int alt119=2; + int LA119_0 = input.LA(1); + + if ( (LA119_0==88) ) { + alt119=1; + } + switch (alt119) { + case 1 : + // InternalExpression.g:15630:3: ';' + { + match(input,88,FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group_2__1__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group__0" + // InternalExpression.g:15639:1: rule__XVariableDeclaration__Group__0 : rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1 ; + public final void rule__XVariableDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15643:1: ( rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1 ) + // InternalExpression.g:15644:2: rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1 + { + pushFollow(FOLLOW_96); + rule__XVariableDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__0" + + + // $ANTLR start "rule__XVariableDeclaration__Group__0__Impl" + // InternalExpression.g:15651:1: rule__XVariableDeclaration__Group__0__Impl : ( () ) ; + public final void rule__XVariableDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15655:1: ( ( () ) ) + // InternalExpression.g:15656:1: ( () ) + { + // InternalExpression.g:15656:1: ( () ) + // InternalExpression.g:15657:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0()); + } + // InternalExpression.g:15658:2: () + // InternalExpression.g:15658:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group__1" + // InternalExpression.g:15666:1: rule__XVariableDeclaration__Group__1 : rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2 ; + public final void rule__XVariableDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15670:1: ( rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2 ) + // InternalExpression.g:15671:2: rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2 + { + pushFollow(FOLLOW_56); + rule__XVariableDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__1" + + + // $ANTLR start "rule__XVariableDeclaration__Group__1__Impl" + // InternalExpression.g:15678:1: rule__XVariableDeclaration__Group__1__Impl : ( ( rule__XVariableDeclaration__Alternatives_1 ) ) ; + public final void rule__XVariableDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15682:1: ( ( ( rule__XVariableDeclaration__Alternatives_1 ) ) ) + // InternalExpression.g:15683:1: ( ( rule__XVariableDeclaration__Alternatives_1 ) ) + { + // InternalExpression.g:15683:1: ( ( rule__XVariableDeclaration__Alternatives_1 ) ) + // InternalExpression.g:15684:2: ( rule__XVariableDeclaration__Alternatives_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1()); + } + // InternalExpression.g:15685:2: ( rule__XVariableDeclaration__Alternatives_1 ) + // InternalExpression.g:15685:3: rule__XVariableDeclaration__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group__2" + // InternalExpression.g:15693:1: rule__XVariableDeclaration__Group__2 : rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3 ; + public final void rule__XVariableDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15697:1: ( rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3 ) + // InternalExpression.g:15698:2: rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3 + { + pushFollow(FOLLOW_5); + rule__XVariableDeclaration__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__2" + + + // $ANTLR start "rule__XVariableDeclaration__Group__2__Impl" + // InternalExpression.g:15705:1: rule__XVariableDeclaration__Group__2__Impl : ( ( rule__XVariableDeclaration__Alternatives_2 ) ) ; + public final void rule__XVariableDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15709:1: ( ( ( rule__XVariableDeclaration__Alternatives_2 ) ) ) + // InternalExpression.g:15710:1: ( ( rule__XVariableDeclaration__Alternatives_2 ) ) + { + // InternalExpression.g:15710:1: ( ( rule__XVariableDeclaration__Alternatives_2 ) ) + // InternalExpression.g:15711:2: ( rule__XVariableDeclaration__Alternatives_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2()); + } + // InternalExpression.g:15712:2: ( rule__XVariableDeclaration__Alternatives_2 ) + // InternalExpression.g:15712:3: rule__XVariableDeclaration__Alternatives_2 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Alternatives_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group__3" + // InternalExpression.g:15720:1: rule__XVariableDeclaration__Group__3 : rule__XVariableDeclaration__Group__3__Impl ; + public final void rule__XVariableDeclaration__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15724:1: ( rule__XVariableDeclaration__Group__3__Impl ) + // InternalExpression.g:15725:2: rule__XVariableDeclaration__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__3" + + + // $ANTLR start "rule__XVariableDeclaration__Group__3__Impl" + // InternalExpression.g:15731:1: rule__XVariableDeclaration__Group__3__Impl : ( ( rule__XVariableDeclaration__Group_3__0 )? ) ; + public final void rule__XVariableDeclaration__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15735:1: ( ( ( rule__XVariableDeclaration__Group_3__0 )? ) ) + // InternalExpression.g:15736:1: ( ( rule__XVariableDeclaration__Group_3__0 )? ) + { + // InternalExpression.g:15736:1: ( ( rule__XVariableDeclaration__Group_3__0 )? ) + // InternalExpression.g:15737:2: ( rule__XVariableDeclaration__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getGroup_3()); + } + // InternalExpression.g:15738:2: ( rule__XVariableDeclaration__Group_3__0 )? + int alt120=2; + int LA120_0 = input.LA(1); + + if ( (LA120_0==14) ) { + alt120=1; + } + switch (alt120) { + case 1 : + // InternalExpression.g:15738:3: rule__XVariableDeclaration__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__3__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0__0" + // InternalExpression.g:15747:1: rule__XVariableDeclaration__Group_2_0__0 : rule__XVariableDeclaration__Group_2_0__0__Impl ; + public final void rule__XVariableDeclaration__Group_2_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15751:1: ( rule__XVariableDeclaration__Group_2_0__0__Impl ) + // InternalExpression.g:15752:2: rule__XVariableDeclaration__Group_2_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0__0" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0__0__Impl" + // InternalExpression.g:15758:1: rule__XVariableDeclaration__Group_2_0__0__Impl : ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) ; + public final void rule__XVariableDeclaration__Group_2_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15762:1: ( ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) ) + // InternalExpression.g:15763:1: ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) + { + // InternalExpression.g:15763:1: ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) + // InternalExpression.g:15764:2: ( rule__XVariableDeclaration__Group_2_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0()); + } + // InternalExpression.g:15765:2: ( rule__XVariableDeclaration__Group_2_0_0__0 ) + // InternalExpression.g:15765:3: rule__XVariableDeclaration__Group_2_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0__0__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__0" + // InternalExpression.g:15774:1: rule__XVariableDeclaration__Group_2_0_0__0 : rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1 ; + public final void rule__XVariableDeclaration__Group_2_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15778:1: ( rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1 ) + // InternalExpression.g:15779:2: rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1 + { + pushFollow(FOLLOW_4); + rule__XVariableDeclaration__Group_2_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0_0__0" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__0__Impl" + // InternalExpression.g:15786:1: rule__XVariableDeclaration__Group_2_0_0__0__Impl : ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) ; + public final void rule__XVariableDeclaration__Group_2_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15790:1: ( ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) ) + // InternalExpression.g:15791:1: ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) + { + // InternalExpression.g:15791:1: ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) + // InternalExpression.g:15792:2: ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0()); + } + // InternalExpression.g:15793:2: ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) + // InternalExpression.g:15793:3: rule__XVariableDeclaration__TypeAssignment_2_0_0_0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__TypeAssignment_2_0_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0_0__0__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__1" + // InternalExpression.g:15801:1: rule__XVariableDeclaration__Group_2_0_0__1 : rule__XVariableDeclaration__Group_2_0_0__1__Impl ; + public final void rule__XVariableDeclaration__Group_2_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15805:1: ( rule__XVariableDeclaration__Group_2_0_0__1__Impl ) + // InternalExpression.g:15806:2: rule__XVariableDeclaration__Group_2_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0_0__1" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__1__Impl" + // InternalExpression.g:15812:1: rule__XVariableDeclaration__Group_2_0_0__1__Impl : ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) ; + public final void rule__XVariableDeclaration__Group_2_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15816:1: ( ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) ) + // InternalExpression.g:15817:1: ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) + { + // InternalExpression.g:15817:1: ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) + // InternalExpression.g:15818:2: ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1()); + } + // InternalExpression.g:15819:2: ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) + // InternalExpression.g:15819:3: rule__XVariableDeclaration__NameAssignment_2_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__NameAssignment_2_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0_0__1__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group_3__0" + // InternalExpression.g:15828:1: rule__XVariableDeclaration__Group_3__0 : rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1 ; + public final void rule__XVariableDeclaration__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15832:1: ( rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1 ) + // InternalExpression.g:15833:2: rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1 + { + pushFollow(FOLLOW_77); + rule__XVariableDeclaration__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_3__0" + + + // $ANTLR start "rule__XVariableDeclaration__Group_3__0__Impl" + // InternalExpression.g:15840:1: rule__XVariableDeclaration__Group_3__0__Impl : ( '=' ) ; + public final void rule__XVariableDeclaration__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15844:1: ( ( '=' ) ) + // InternalExpression.g:15845:1: ( '=' ) + { + // InternalExpression.g:15845:1: ( '=' ) + // InternalExpression.g:15846:2: '=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); + } + match(input,14,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_3__0__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group_3__1" + // InternalExpression.g:15855:1: rule__XVariableDeclaration__Group_3__1 : rule__XVariableDeclaration__Group_3__1__Impl ; + public final void rule__XVariableDeclaration__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15859:1: ( rule__XVariableDeclaration__Group_3__1__Impl ) + // InternalExpression.g:15860:2: rule__XVariableDeclaration__Group_3__1__Impl + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_3__1" + + + // $ANTLR start "rule__XVariableDeclaration__Group_3__1__Impl" + // InternalExpression.g:15866:1: rule__XVariableDeclaration__Group_3__1__Impl : ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) ; + public final void rule__XVariableDeclaration__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15870:1: ( ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) ) + // InternalExpression.g:15871:1: ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) + { + // InternalExpression.g:15871:1: ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) + // InternalExpression.g:15872:2: ( rule__XVariableDeclaration__RightAssignment_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1()); + } + // InternalExpression.g:15873:2: ( rule__XVariableDeclaration__RightAssignment_3_1 ) + // InternalExpression.g:15873:3: rule__XVariableDeclaration__RightAssignment_3_1 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__RightAssignment_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_3__1__Impl" + + + // $ANTLR start "rule__JvmFormalParameter__Group__0" + // InternalExpression.g:15882:1: rule__JvmFormalParameter__Group__0 : rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1 ; + public final void rule__JvmFormalParameter__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15886:1: ( rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1 ) + // InternalExpression.g:15887:2: rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1 + { + pushFollow(FOLLOW_56); + rule__JvmFormalParameter__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmFormalParameter__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__Group__0" + + + // $ANTLR start "rule__JvmFormalParameter__Group__0__Impl" + // InternalExpression.g:15894:1: rule__JvmFormalParameter__Group__0__Impl : ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) ; + public final void rule__JvmFormalParameter__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15898:1: ( ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) ) + // InternalExpression.g:15899:1: ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) + { + // InternalExpression.g:15899:1: ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) + // InternalExpression.g:15900:2: ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0()); + } + // InternalExpression.g:15901:2: ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? + int alt121=2; + int LA121_0 = input.LA(1); + + if ( (LA121_0==RULE_ID) ) { + int LA121_1 = input.LA(2); + + if ( (LA121_1==RULE_ID||LA121_1==22||LA121_1==58||LA121_1==82) ) { + alt121=1; + } + } + else if ( (LA121_0==51||LA121_0==67) ) { + alt121=1; + } + switch (alt121) { + case 1 : + // InternalExpression.g:15901:3: rule__JvmFormalParameter__ParameterTypeAssignment_0 + { + pushFollow(FOLLOW_2); + rule__JvmFormalParameter__ParameterTypeAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__Group__0__Impl" + + + // $ANTLR start "rule__JvmFormalParameter__Group__1" + // InternalExpression.g:15909:1: rule__JvmFormalParameter__Group__1 : rule__JvmFormalParameter__Group__1__Impl ; + public final void rule__JvmFormalParameter__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15913:1: ( rule__JvmFormalParameter__Group__1__Impl ) + // InternalExpression.g:15914:2: rule__JvmFormalParameter__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmFormalParameter__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__Group__1" + + + // $ANTLR start "rule__JvmFormalParameter__Group__1__Impl" + // InternalExpression.g:15920:1: rule__JvmFormalParameter__Group__1__Impl : ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) ; + public final void rule__JvmFormalParameter__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15924:1: ( ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) ) + // InternalExpression.g:15925:1: ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) + { + // InternalExpression.g:15925:1: ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) + // InternalExpression.g:15926:2: ( rule__JvmFormalParameter__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1()); + } + // InternalExpression.g:15927:2: ( rule__JvmFormalParameter__NameAssignment_1 ) + // InternalExpression.g:15927:3: rule__JvmFormalParameter__NameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__JvmFormalParameter__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__Group__1__Impl" + + + // $ANTLR start "rule__FullJvmFormalParameter__Group__0" + // InternalExpression.g:15936:1: rule__FullJvmFormalParameter__Group__0 : rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1 ; + public final void rule__FullJvmFormalParameter__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15940:1: ( rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1 ) + // InternalExpression.g:15941:2: rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1 + { + pushFollow(FOLLOW_4); + rule__FullJvmFormalParameter__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__FullJvmFormalParameter__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__Group__0" + + + // $ANTLR start "rule__FullJvmFormalParameter__Group__0__Impl" + // InternalExpression.g:15948:1: rule__FullJvmFormalParameter__Group__0__Impl : ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) ; + public final void rule__FullJvmFormalParameter__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15952:1: ( ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) ) + // InternalExpression.g:15953:1: ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) + { + // InternalExpression.g:15953:1: ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) + // InternalExpression.g:15954:2: ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0()); + } + // InternalExpression.g:15955:2: ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) + // InternalExpression.g:15955:3: rule__FullJvmFormalParameter__ParameterTypeAssignment_0 + { + pushFollow(FOLLOW_2); + rule__FullJvmFormalParameter__ParameterTypeAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__Group__0__Impl" + + + // $ANTLR start "rule__FullJvmFormalParameter__Group__1" + // InternalExpression.g:15963:1: rule__FullJvmFormalParameter__Group__1 : rule__FullJvmFormalParameter__Group__1__Impl ; + public final void rule__FullJvmFormalParameter__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15967:1: ( rule__FullJvmFormalParameter__Group__1__Impl ) + // InternalExpression.g:15968:2: rule__FullJvmFormalParameter__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__FullJvmFormalParameter__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__Group__1" + + + // $ANTLR start "rule__FullJvmFormalParameter__Group__1__Impl" + // InternalExpression.g:15974:1: rule__FullJvmFormalParameter__Group__1__Impl : ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) ; + public final void rule__FullJvmFormalParameter__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15978:1: ( ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) ) + // InternalExpression.g:15979:1: ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) + { + // InternalExpression.g:15979:1: ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) + // InternalExpression.g:15980:2: ( rule__FullJvmFormalParameter__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1()); + } + // InternalExpression.g:15981:2: ( rule__FullJvmFormalParameter__NameAssignment_1 ) + // InternalExpression.g:15981:3: rule__FullJvmFormalParameter__NameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__FullJvmFormalParameter__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__Group__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group__0" + // InternalExpression.g:15990:1: rule__XFeatureCall__Group__0 : rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1 ; + public final void rule__XFeatureCall__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:15994:1: ( rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1 ) + // InternalExpression.g:15995:2: rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1 + { + pushFollow(FOLLOW_72); + rule__XFeatureCall__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__0" + + + // $ANTLR start "rule__XFeatureCall__Group__0__Impl" + // InternalExpression.g:16002:1: rule__XFeatureCall__Group__0__Impl : ( () ) ; + public final void rule__XFeatureCall__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16006:1: ( ( () ) ) + // InternalExpression.g:16007:1: ( () ) + { + // InternalExpression.g:16007:1: ( () ) + // InternalExpression.g:16008:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0()); + } + // InternalExpression.g:16009:2: () + // InternalExpression.g:16009:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group__1" + // InternalExpression.g:16017:1: rule__XFeatureCall__Group__1 : rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2 ; + public final void rule__XFeatureCall__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16021:1: ( rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2 ) + // InternalExpression.g:16022:2: rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2 + { + pushFollow(FOLLOW_72); + rule__XFeatureCall__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__1" + + + // $ANTLR start "rule__XFeatureCall__Group__1__Impl" + // InternalExpression.g:16029:1: rule__XFeatureCall__Group__1__Impl : ( ( rule__XFeatureCall__Group_1__0 )? ) ; + public final void rule__XFeatureCall__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16033:1: ( ( ( rule__XFeatureCall__Group_1__0 )? ) ) + // InternalExpression.g:16034:1: ( ( rule__XFeatureCall__Group_1__0 )? ) + { + // InternalExpression.g:16034:1: ( ( rule__XFeatureCall__Group_1__0 )? ) + // InternalExpression.g:16035:2: ( rule__XFeatureCall__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGroup_1()); + } + // InternalExpression.g:16036:2: ( rule__XFeatureCall__Group_1__0 )? + int alt122=2; + int LA122_0 = input.LA(1); + + if ( (LA122_0==22) ) { + alt122=1; + } + switch (alt122) { + case 1 : + // InternalExpression.g:16036:3: rule__XFeatureCall__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group__2" + // InternalExpression.g:16044:1: rule__XFeatureCall__Group__2 : rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3 ; + public final void rule__XFeatureCall__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16048:1: ( rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3 ) + // InternalExpression.g:16049:2: rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3 + { + pushFollow(FOLLOW_73); + rule__XFeatureCall__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__2" + + + // $ANTLR start "rule__XFeatureCall__Group__2__Impl" + // InternalExpression.g:16056:1: rule__XFeatureCall__Group__2__Impl : ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) ; + public final void rule__XFeatureCall__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16060:1: ( ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) ) + // InternalExpression.g:16061:1: ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) + { + // InternalExpression.g:16061:1: ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) + // InternalExpression.g:16062:2: ( rule__XFeatureCall__FeatureAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2()); + } + // InternalExpression.g:16063:2: ( rule__XFeatureCall__FeatureAssignment_2 ) + // InternalExpression.g:16063:3: rule__XFeatureCall__FeatureAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__2__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group__3" + // InternalExpression.g:16071:1: rule__XFeatureCall__Group__3 : rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4 ; + public final void rule__XFeatureCall__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16075:1: ( rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4 ) + // InternalExpression.g:16076:2: rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4 + { + pushFollow(FOLLOW_73); + rule__XFeatureCall__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__3" + + + // $ANTLR start "rule__XFeatureCall__Group__3__Impl" + // InternalExpression.g:16083:1: rule__XFeatureCall__Group__3__Impl : ( ( rule__XFeatureCall__Group_3__0 )? ) ; + public final void rule__XFeatureCall__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16087:1: ( ( ( rule__XFeatureCall__Group_3__0 )? ) ) + // InternalExpression.g:16088:1: ( ( rule__XFeatureCall__Group_3__0 )? ) + { + // InternalExpression.g:16088:1: ( ( rule__XFeatureCall__Group_3__0 )? ) + // InternalExpression.g:16089:2: ( rule__XFeatureCall__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGroup_3()); + } + // InternalExpression.g:16090:2: ( rule__XFeatureCall__Group_3__0 )? + int alt123=2; + alt123 = dfa123.predict(input); + switch (alt123) { + case 1 : + // InternalExpression.g:16090:3: rule__XFeatureCall__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__3__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group__4" + // InternalExpression.g:16098:1: rule__XFeatureCall__Group__4 : rule__XFeatureCall__Group__4__Impl ; + public final void rule__XFeatureCall__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16102:1: ( rule__XFeatureCall__Group__4__Impl ) + // InternalExpression.g:16103:2: rule__XFeatureCall__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__4" + + + // $ANTLR start "rule__XFeatureCall__Group__4__Impl" + // InternalExpression.g:16109:1: rule__XFeatureCall__Group__4__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) ; + public final void rule__XFeatureCall__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16113:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) ) + // InternalExpression.g:16114:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) + { + // InternalExpression.g:16114:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) + // InternalExpression.g:16115:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4()); + } + // InternalExpression.g:16116:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? + int alt124=2; + alt124 = dfa124.predict(input); + switch (alt124) { + case 1 : + // InternalExpression.g:16116:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_4 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__4__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1__0" + // InternalExpression.g:16125:1: rule__XFeatureCall__Group_1__0 : rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1 ; + public final void rule__XFeatureCall__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16129:1: ( rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1 ) + // InternalExpression.g:16130:2: rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1 + { + pushFollow(FOLLOW_74); + rule__XFeatureCall__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__0" + + + // $ANTLR start "rule__XFeatureCall__Group_1__0__Impl" + // InternalExpression.g:16137:1: rule__XFeatureCall__Group_1__0__Impl : ( '<' ) ; + public final void rule__XFeatureCall__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16141:1: ( ( '<' ) ) + // InternalExpression.g:16142:1: ( '<' ) + { + // InternalExpression.g:16142:1: ( '<' ) + // InternalExpression.g:16143:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1__1" + // InternalExpression.g:16152:1: rule__XFeatureCall__Group_1__1 : rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2 ; + public final void rule__XFeatureCall__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16156:1: ( rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2 ) + // InternalExpression.g:16157:2: rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2 + { + pushFollow(FOLLOW_75); + rule__XFeatureCall__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__1" + + + // $ANTLR start "rule__XFeatureCall__Group_1__1__Impl" + // InternalExpression.g:16164:1: rule__XFeatureCall__Group_1__1__Impl : ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) ; + public final void rule__XFeatureCall__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16168:1: ( ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) ) + // InternalExpression.g:16169:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) + { + // InternalExpression.g:16169:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) + // InternalExpression.g:16170:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1()); + } + // InternalExpression.g:16171:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) + // InternalExpression.g:16171:3: rule__XFeatureCall__TypeArgumentsAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__TypeArgumentsAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1__2" + // InternalExpression.g:16179:1: rule__XFeatureCall__Group_1__2 : rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3 ; + public final void rule__XFeatureCall__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16183:1: ( rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3 ) + // InternalExpression.g:16184:2: rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3 + { + pushFollow(FOLLOW_75); + rule__XFeatureCall__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__2" + + + // $ANTLR start "rule__XFeatureCall__Group_1__2__Impl" + // InternalExpression.g:16191:1: rule__XFeatureCall__Group_1__2__Impl : ( ( rule__XFeatureCall__Group_1_2__0 )* ) ; + public final void rule__XFeatureCall__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16195:1: ( ( ( rule__XFeatureCall__Group_1_2__0 )* ) ) + // InternalExpression.g:16196:1: ( ( rule__XFeatureCall__Group_1_2__0 )* ) + { + // InternalExpression.g:16196:1: ( ( rule__XFeatureCall__Group_1_2__0 )* ) + // InternalExpression.g:16197:2: ( rule__XFeatureCall__Group_1_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGroup_1_2()); + } + // InternalExpression.g:16198:2: ( rule__XFeatureCall__Group_1_2__0 )* + loop125: + do { + int alt125=2; + int LA125_0 = input.LA(1); + + if ( (LA125_0==78) ) { + alt125=1; + } + + + switch (alt125) { + case 1 : + // InternalExpression.g:16198:3: rule__XFeatureCall__Group_1_2__0 + { + pushFollow(FOLLOW_37); + rule__XFeatureCall__Group_1_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop125; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGroup_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__2__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1__3" + // InternalExpression.g:16206:1: rule__XFeatureCall__Group_1__3 : rule__XFeatureCall__Group_1__3__Impl ; + public final void rule__XFeatureCall__Group_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16210:1: ( rule__XFeatureCall__Group_1__3__Impl ) + // InternalExpression.g:16211:2: rule__XFeatureCall__Group_1__3__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__3" + + + // $ANTLR start "rule__XFeatureCall__Group_1__3__Impl" + // InternalExpression.g:16217:1: rule__XFeatureCall__Group_1__3__Impl : ( '>' ) ; + public final void rule__XFeatureCall__Group_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16221:1: ( ( '>' ) ) + // InternalExpression.g:16222:1: ( '>' ) + { + // InternalExpression.g:16222:1: ( '>' ) + // InternalExpression.g:16223:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__3__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1_2__0" + // InternalExpression.g:16233:1: rule__XFeatureCall__Group_1_2__0 : rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1 ; + public final void rule__XFeatureCall__Group_1_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16237:1: ( rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1 ) + // InternalExpression.g:16238:2: rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1 + { + pushFollow(FOLLOW_74); + rule__XFeatureCall__Group_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1_2__0" + + + // $ANTLR start "rule__XFeatureCall__Group_1_2__0__Impl" + // InternalExpression.g:16245:1: rule__XFeatureCall__Group_1_2__0__Impl : ( ',' ) ; + public final void rule__XFeatureCall__Group_1_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16249:1: ( ( ',' ) ) + // InternalExpression.g:16250:1: ( ',' ) + { + // InternalExpression.g:16250:1: ( ',' ) + // InternalExpression.g:16251:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1_2__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1_2__1" + // InternalExpression.g:16260:1: rule__XFeatureCall__Group_1_2__1 : rule__XFeatureCall__Group_1_2__1__Impl ; + public final void rule__XFeatureCall__Group_1_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16264:1: ( rule__XFeatureCall__Group_1_2__1__Impl ) + // InternalExpression.g:16265:2: rule__XFeatureCall__Group_1_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1_2__1" + + + // $ANTLR start "rule__XFeatureCall__Group_1_2__1__Impl" + // InternalExpression.g:16271:1: rule__XFeatureCall__Group_1_2__1__Impl : ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) ; + public final void rule__XFeatureCall__Group_1_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16275:1: ( ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) ) + // InternalExpression.g:16276:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) + { + // InternalExpression.g:16276:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) + // InternalExpression.g:16277:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1()); + } + // InternalExpression.g:16278:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) + // InternalExpression.g:16278:3: rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__TypeArgumentsAssignment_1_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1_2__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3__0" + // InternalExpression.g:16287:1: rule__XFeatureCall__Group_3__0 : rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1 ; + public final void rule__XFeatureCall__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16291:1: ( rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1 ) + // InternalExpression.g:16292:2: rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1 + { + pushFollow(FOLLOW_76); + rule__XFeatureCall__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__0" + + + // $ANTLR start "rule__XFeatureCall__Group_3__0__Impl" + // InternalExpression.g:16299:1: rule__XFeatureCall__Group_3__0__Impl : ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) ; + public final void rule__XFeatureCall__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16303:1: ( ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) ) + // InternalExpression.g:16304:1: ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) + { + // InternalExpression.g:16304:1: ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) + // InternalExpression.g:16305:2: ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0()); + } + // InternalExpression.g:16306:2: ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) + // InternalExpression.g:16306:3: rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__ExplicitOperationCallAssignment_3_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3__1" + // InternalExpression.g:16314:1: rule__XFeatureCall__Group_3__1 : rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2 ; + public final void rule__XFeatureCall__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16318:1: ( rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2 ) + // InternalExpression.g:16319:2: rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2 + { + pushFollow(FOLLOW_76); + rule__XFeatureCall__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__1" + + + // $ANTLR start "rule__XFeatureCall__Group_3__1__Impl" + // InternalExpression.g:16326:1: rule__XFeatureCall__Group_3__1__Impl : ( ( rule__XFeatureCall__Alternatives_3_1 )? ) ; + public final void rule__XFeatureCall__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16330:1: ( ( ( rule__XFeatureCall__Alternatives_3_1 )? ) ) + // InternalExpression.g:16331:1: ( ( rule__XFeatureCall__Alternatives_3_1 )? ) + { + // InternalExpression.g:16331:1: ( ( rule__XFeatureCall__Alternatives_3_1 )? ) + // InternalExpression.g:16332:2: ( rule__XFeatureCall__Alternatives_3_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1()); + } + // InternalExpression.g:16333:2: ( rule__XFeatureCall__Alternatives_3_1 )? + int alt126=2; + int LA126_0 = input.LA(1); + + if ( ((LA126_0>=RULE_ID && LA126_0<=RULE_DECIMAL)||LA126_0==RULE_STRING||(LA126_0>=22 && LA126_0<=24)||LA126_0==27||(LA126_0>=36 && LA126_0<=37)||LA126_0==51||(LA126_0>=60 && LA126_0<=64)||LA126_0==67||LA126_0==70||(LA126_0>=73 && LA126_0<=74)||LA126_0==79||(LA126_0>=81 && LA126_0<=82)||LA126_0==87||(LA126_0>=89 && LA126_0<=96)||LA126_0==98) ) { + alt126=1; + } + switch (alt126) { + case 1 : + // InternalExpression.g:16333:3: rule__XFeatureCall__Alternatives_3_1 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Alternatives_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3__2" + // InternalExpression.g:16341:1: rule__XFeatureCall__Group_3__2 : rule__XFeatureCall__Group_3__2__Impl ; + public final void rule__XFeatureCall__Group_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16345:1: ( rule__XFeatureCall__Group_3__2__Impl ) + // InternalExpression.g:16346:2: rule__XFeatureCall__Group_3__2__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__2" + + + // $ANTLR start "rule__XFeatureCall__Group_3__2__Impl" + // InternalExpression.g:16352:1: rule__XFeatureCall__Group_3__2__Impl : ( ')' ) ; + public final void rule__XFeatureCall__Group_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16356:1: ( ( ')' ) ) + // InternalExpression.g:16357:1: ( ')' ) + { + // InternalExpression.g:16357:1: ( ')' ) + // InternalExpression.g:16358:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__2__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1__0" + // InternalExpression.g:16368:1: rule__XFeatureCall__Group_3_1_1__0 : rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1 ; + public final void rule__XFeatureCall__Group_3_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16372:1: ( rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1 ) + // InternalExpression.g:16373:2: rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1 + { + pushFollow(FOLLOW_36); + rule__XFeatureCall__Group_3_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1__0" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1__0__Impl" + // InternalExpression.g:16380:1: rule__XFeatureCall__Group_3_1_1__0__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) ; + public final void rule__XFeatureCall__Group_3_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16384:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) ) + // InternalExpression.g:16385:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) + { + // InternalExpression.g:16385:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) + // InternalExpression.g:16386:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0()); + } + // InternalExpression.g:16387:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) + // InternalExpression.g:16387:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1__1" + // InternalExpression.g:16395:1: rule__XFeatureCall__Group_3_1_1__1 : rule__XFeatureCall__Group_3_1_1__1__Impl ; + public final void rule__XFeatureCall__Group_3_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16399:1: ( rule__XFeatureCall__Group_3_1_1__1__Impl ) + // InternalExpression.g:16400:2: rule__XFeatureCall__Group_3_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1__1" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1__1__Impl" + // InternalExpression.g:16406:1: rule__XFeatureCall__Group_3_1_1__1__Impl : ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) ; + public final void rule__XFeatureCall__Group_3_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16410:1: ( ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) ) + // InternalExpression.g:16411:1: ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) + { + // InternalExpression.g:16411:1: ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) + // InternalExpression.g:16412:2: ( rule__XFeatureCall__Group_3_1_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1()); + } + // InternalExpression.g:16413:2: ( rule__XFeatureCall__Group_3_1_1_1__0 )* + loop127: + do { + int alt127=2; + int LA127_0 = input.LA(1); + + if ( (LA127_0==78) ) { + alt127=1; + } + + + switch (alt127) { + case 1 : + // InternalExpression.g:16413:3: rule__XFeatureCall__Group_3_1_1_1__0 + { + pushFollow(FOLLOW_37); + rule__XFeatureCall__Group_3_1_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop127; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__0" + // InternalExpression.g:16422:1: rule__XFeatureCall__Group_3_1_1_1__0 : rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1 ; + public final void rule__XFeatureCall__Group_3_1_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16426:1: ( rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1 ) + // InternalExpression.g:16427:2: rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1 + { + pushFollow(FOLLOW_77); + rule__XFeatureCall__Group_3_1_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3_1_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1_1__0" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__0__Impl" + // InternalExpression.g:16434:1: rule__XFeatureCall__Group_3_1_1_1__0__Impl : ( ',' ) ; + public final void rule__XFeatureCall__Group_3_1_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16438:1: ( ( ',' ) ) + // InternalExpression.g:16439:1: ( ',' ) + { + // InternalExpression.g:16439:1: ( ',' ) + // InternalExpression.g:16440:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1_1__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__1" + // InternalExpression.g:16449:1: rule__XFeatureCall__Group_3_1_1_1__1 : rule__XFeatureCall__Group_3_1_1_1__1__Impl ; + public final void rule__XFeatureCall__Group_3_1_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16453:1: ( rule__XFeatureCall__Group_3_1_1_1__1__Impl ) + // InternalExpression.g:16454:2: rule__XFeatureCall__Group_3_1_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3_1_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1_1__1" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__1__Impl" + // InternalExpression.g:16460:1: rule__XFeatureCall__Group_3_1_1_1__1__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) ; + public final void rule__XFeatureCall__Group_3_1_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16464:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) ) + // InternalExpression.g:16465:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) + { + // InternalExpression.g:16465:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) + // InternalExpression.g:16466:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1()); + } + // InternalExpression.g:16467:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) + // InternalExpression.g:16467:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1_1__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__0" + // InternalExpression.g:16476:1: rule__XConstructorCall__Group__0 : rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1 ; + public final void rule__XConstructorCall__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16480:1: ( rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1 ) + // InternalExpression.g:16481:2: rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1 + { + pushFollow(FOLLOW_97); + rule__XConstructorCall__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__0" + + + // $ANTLR start "rule__XConstructorCall__Group__0__Impl" + // InternalExpression.g:16488:1: rule__XConstructorCall__Group__0__Impl : ( () ) ; + public final void rule__XConstructorCall__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16492:1: ( ( () ) ) + // InternalExpression.g:16493:1: ( () ) + { + // InternalExpression.g:16493:1: ( () ) + // InternalExpression.g:16494:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0()); + } + // InternalExpression.g:16495:2: () + // InternalExpression.g:16495:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__1" + // InternalExpression.g:16503:1: rule__XConstructorCall__Group__1 : rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2 ; + public final void rule__XConstructorCall__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16507:1: ( rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2 ) + // InternalExpression.g:16508:2: rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2 + { + pushFollow(FOLLOW_4); + rule__XConstructorCall__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__1" + + + // $ANTLR start "rule__XConstructorCall__Group__1__Impl" + // InternalExpression.g:16515:1: rule__XConstructorCall__Group__1__Impl : ( 'new' ) ; + public final void rule__XConstructorCall__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16519:1: ( ( 'new' ) ) + // InternalExpression.g:16520:1: ( 'new' ) + { + // InternalExpression.g:16520:1: ( 'new' ) + // InternalExpression.g:16521:2: 'new' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); + } + match(input,81,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__2" + // InternalExpression.g:16530:1: rule__XConstructorCall__Group__2 : rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3 ; + public final void rule__XConstructorCall__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16534:1: ( rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3 ) + // InternalExpression.g:16535:2: rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3 + { + pushFollow(FOLLOW_98); + rule__XConstructorCall__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__2" + + + // $ANTLR start "rule__XConstructorCall__Group__2__Impl" + // InternalExpression.g:16542:1: rule__XConstructorCall__Group__2__Impl : ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) ; + public final void rule__XConstructorCall__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16546:1: ( ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) ) + // InternalExpression.g:16547:1: ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) + { + // InternalExpression.g:16547:1: ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) + // InternalExpression.g:16548:2: ( rule__XConstructorCall__ConstructorAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2()); + } + // InternalExpression.g:16549:2: ( rule__XConstructorCall__ConstructorAssignment_2 ) + // InternalExpression.g:16549:3: rule__XConstructorCall__ConstructorAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ConstructorAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__2__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__3" + // InternalExpression.g:16557:1: rule__XConstructorCall__Group__3 : rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4 ; + public final void rule__XConstructorCall__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16561:1: ( rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4 ) + // InternalExpression.g:16562:2: rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4 + { + pushFollow(FOLLOW_98); + rule__XConstructorCall__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__3" + + + // $ANTLR start "rule__XConstructorCall__Group__3__Impl" + // InternalExpression.g:16569:1: rule__XConstructorCall__Group__3__Impl : ( ( rule__XConstructorCall__Group_3__0 )? ) ; + public final void rule__XConstructorCall__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16573:1: ( ( ( rule__XConstructorCall__Group_3__0 )? ) ) + // InternalExpression.g:16574:1: ( ( rule__XConstructorCall__Group_3__0 )? ) + { + // InternalExpression.g:16574:1: ( ( rule__XConstructorCall__Group_3__0 )? ) + // InternalExpression.g:16575:2: ( rule__XConstructorCall__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGroup_3()); + } + // InternalExpression.g:16576:2: ( rule__XConstructorCall__Group_3__0 )? + int alt128=2; + alt128 = dfa128.predict(input); + switch (alt128) { + case 1 : + // InternalExpression.g:16576:3: rule__XConstructorCall__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__3__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__4" + // InternalExpression.g:16584:1: rule__XConstructorCall__Group__4 : rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5 ; + public final void rule__XConstructorCall__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16588:1: ( rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5 ) + // InternalExpression.g:16589:2: rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5 + { + pushFollow(FOLLOW_98); + rule__XConstructorCall__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__4" + + + // $ANTLR start "rule__XConstructorCall__Group__4__Impl" + // InternalExpression.g:16596:1: rule__XConstructorCall__Group__4__Impl : ( ( rule__XConstructorCall__Group_4__0 )? ) ; + public final void rule__XConstructorCall__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16600:1: ( ( ( rule__XConstructorCall__Group_4__0 )? ) ) + // InternalExpression.g:16601:1: ( ( rule__XConstructorCall__Group_4__0 )? ) + { + // InternalExpression.g:16601:1: ( ( rule__XConstructorCall__Group_4__0 )? ) + // InternalExpression.g:16602:2: ( rule__XConstructorCall__Group_4__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGroup_4()); + } + // InternalExpression.g:16603:2: ( rule__XConstructorCall__Group_4__0 )? + int alt129=2; + alt129 = dfa129.predict(input); + switch (alt129) { + case 1 : + // InternalExpression.g:16603:3: rule__XConstructorCall__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGroup_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__4__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__5" + // InternalExpression.g:16611:1: rule__XConstructorCall__Group__5 : rule__XConstructorCall__Group__5__Impl ; + public final void rule__XConstructorCall__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16615:1: ( rule__XConstructorCall__Group__5__Impl ) + // InternalExpression.g:16616:2: rule__XConstructorCall__Group__5__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__5" + + + // $ANTLR start "rule__XConstructorCall__Group__5__Impl" + // InternalExpression.g:16622:1: rule__XConstructorCall__Group__5__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) ; + public final void rule__XConstructorCall__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16626:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) ) + // InternalExpression.g:16627:1: ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) + { + // InternalExpression.g:16627:1: ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) + // InternalExpression.g:16628:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5()); + } + // InternalExpression.g:16629:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )? + int alt130=2; + alt130 = dfa130.predict(input); + switch (alt130) { + case 1 : + // InternalExpression.g:16629:3: rule__XConstructorCall__ArgumentsAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__5__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3__0" + // InternalExpression.g:16638:1: rule__XConstructorCall__Group_3__0 : rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1 ; + public final void rule__XConstructorCall__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16642:1: ( rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1 ) + // InternalExpression.g:16643:2: rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1 + { + pushFollow(FOLLOW_74); + rule__XConstructorCall__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__0" + + + // $ANTLR start "rule__XConstructorCall__Group_3__0__Impl" + // InternalExpression.g:16650:1: rule__XConstructorCall__Group_3__0__Impl : ( ( '<' ) ) ; + public final void rule__XConstructorCall__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16654:1: ( ( ( '<' ) ) ) + // InternalExpression.g:16655:1: ( ( '<' ) ) + { + // InternalExpression.g:16655:1: ( ( '<' ) ) + // InternalExpression.g:16656:2: ( '<' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); + } + // InternalExpression.g:16657:2: ( '<' ) + // InternalExpression.g:16657:3: '<' + { + match(input,22,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3__1" + // InternalExpression.g:16665:1: rule__XConstructorCall__Group_3__1 : rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2 ; + public final void rule__XConstructorCall__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16669:1: ( rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2 ) + // InternalExpression.g:16670:2: rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2 + { + pushFollow(FOLLOW_75); + rule__XConstructorCall__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__1" + + + // $ANTLR start "rule__XConstructorCall__Group_3__1__Impl" + // InternalExpression.g:16677:1: rule__XConstructorCall__Group_3__1__Impl : ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) ; + public final void rule__XConstructorCall__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16681:1: ( ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) ) + // InternalExpression.g:16682:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) + { + // InternalExpression.g:16682:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) + // InternalExpression.g:16683:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1()); + } + // InternalExpression.g:16684:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) + // InternalExpression.g:16684:3: rule__XConstructorCall__TypeArgumentsAssignment_3_1 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__TypeArgumentsAssignment_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3__2" + // InternalExpression.g:16692:1: rule__XConstructorCall__Group_3__2 : rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3 ; + public final void rule__XConstructorCall__Group_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16696:1: ( rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3 ) + // InternalExpression.g:16697:2: rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3 + { + pushFollow(FOLLOW_75); + rule__XConstructorCall__Group_3__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__2" + + + // $ANTLR start "rule__XConstructorCall__Group_3__2__Impl" + // InternalExpression.g:16704:1: rule__XConstructorCall__Group_3__2__Impl : ( ( rule__XConstructorCall__Group_3_2__0 )* ) ; + public final void rule__XConstructorCall__Group_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16708:1: ( ( ( rule__XConstructorCall__Group_3_2__0 )* ) ) + // InternalExpression.g:16709:1: ( ( rule__XConstructorCall__Group_3_2__0 )* ) + { + // InternalExpression.g:16709:1: ( ( rule__XConstructorCall__Group_3_2__0 )* ) + // InternalExpression.g:16710:2: ( rule__XConstructorCall__Group_3_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGroup_3_2()); + } + // InternalExpression.g:16711:2: ( rule__XConstructorCall__Group_3_2__0 )* + loop131: + do { + int alt131=2; + int LA131_0 = input.LA(1); + + if ( (LA131_0==78) ) { + alt131=1; + } + + + switch (alt131) { + case 1 : + // InternalExpression.g:16711:3: rule__XConstructorCall__Group_3_2__0 + { + pushFollow(FOLLOW_37); + rule__XConstructorCall__Group_3_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop131; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGroup_3_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__2__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3__3" + // InternalExpression.g:16719:1: rule__XConstructorCall__Group_3__3 : rule__XConstructorCall__Group_3__3__Impl ; + public final void rule__XConstructorCall__Group_3__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16723:1: ( rule__XConstructorCall__Group_3__3__Impl ) + // InternalExpression.g:16724:2: rule__XConstructorCall__Group_3__3__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__3" + + + // $ANTLR start "rule__XConstructorCall__Group_3__3__Impl" + // InternalExpression.g:16730:1: rule__XConstructorCall__Group_3__3__Impl : ( '>' ) ; + public final void rule__XConstructorCall__Group_3__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16734:1: ( ( '>' ) ) + // InternalExpression.g:16735:1: ( '>' ) + { + // InternalExpression.g:16735:1: ( '>' ) + // InternalExpression.g:16736:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__3__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3_2__0" + // InternalExpression.g:16746:1: rule__XConstructorCall__Group_3_2__0 : rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1 ; + public final void rule__XConstructorCall__Group_3_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16750:1: ( rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1 ) + // InternalExpression.g:16751:2: rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1 + { + pushFollow(FOLLOW_74); + rule__XConstructorCall__Group_3_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3_2__0" + + + // $ANTLR start "rule__XConstructorCall__Group_3_2__0__Impl" + // InternalExpression.g:16758:1: rule__XConstructorCall__Group_3_2__0__Impl : ( ',' ) ; + public final void rule__XConstructorCall__Group_3_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16762:1: ( ( ',' ) ) + // InternalExpression.g:16763:1: ( ',' ) + { + // InternalExpression.g:16763:1: ( ',' ) + // InternalExpression.g:16764:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3_2__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3_2__1" + // InternalExpression.g:16773:1: rule__XConstructorCall__Group_3_2__1 : rule__XConstructorCall__Group_3_2__1__Impl ; + public final void rule__XConstructorCall__Group_3_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16777:1: ( rule__XConstructorCall__Group_3_2__1__Impl ) + // InternalExpression.g:16778:2: rule__XConstructorCall__Group_3_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3_2__1" + + + // $ANTLR start "rule__XConstructorCall__Group_3_2__1__Impl" + // InternalExpression.g:16784:1: rule__XConstructorCall__Group_3_2__1__Impl : ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) ; + public final void rule__XConstructorCall__Group_3_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16788:1: ( ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) ) + // InternalExpression.g:16789:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) + { + // InternalExpression.g:16789:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) + // InternalExpression.g:16790:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1()); + } + // InternalExpression.g:16791:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) + // InternalExpression.g:16791:3: rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__TypeArgumentsAssignment_3_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3_2__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4__0" + // InternalExpression.g:16800:1: rule__XConstructorCall__Group_4__0 : rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1 ; + public final void rule__XConstructorCall__Group_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16804:1: ( rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1 ) + // InternalExpression.g:16805:2: rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1 + { + pushFollow(FOLLOW_76); + rule__XConstructorCall__Group_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__0" + + + // $ANTLR start "rule__XConstructorCall__Group_4__0__Impl" + // InternalExpression.g:16812:1: rule__XConstructorCall__Group_4__0__Impl : ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) ; + public final void rule__XConstructorCall__Group_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16816:1: ( ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) ) + // InternalExpression.g:16817:1: ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) + { + // InternalExpression.g:16817:1: ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) + // InternalExpression.g:16818:2: ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0()); + } + // InternalExpression.g:16819:2: ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) + // InternalExpression.g:16819:3: rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4__1" + // InternalExpression.g:16827:1: rule__XConstructorCall__Group_4__1 : rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2 ; + public final void rule__XConstructorCall__Group_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16831:1: ( rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2 ) + // InternalExpression.g:16832:2: rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2 + { + pushFollow(FOLLOW_76); + rule__XConstructorCall__Group_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__1" + + + // $ANTLR start "rule__XConstructorCall__Group_4__1__Impl" + // InternalExpression.g:16839:1: rule__XConstructorCall__Group_4__1__Impl : ( ( rule__XConstructorCall__Alternatives_4_1 )? ) ; + public final void rule__XConstructorCall__Group_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16843:1: ( ( ( rule__XConstructorCall__Alternatives_4_1 )? ) ) + // InternalExpression.g:16844:1: ( ( rule__XConstructorCall__Alternatives_4_1 )? ) + { + // InternalExpression.g:16844:1: ( ( rule__XConstructorCall__Alternatives_4_1 )? ) + // InternalExpression.g:16845:2: ( rule__XConstructorCall__Alternatives_4_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1()); + } + // InternalExpression.g:16846:2: ( rule__XConstructorCall__Alternatives_4_1 )? + int alt132=2; + int LA132_0 = input.LA(1); + + if ( ((LA132_0>=RULE_ID && LA132_0<=RULE_DECIMAL)||LA132_0==RULE_STRING||(LA132_0>=22 && LA132_0<=24)||LA132_0==27||(LA132_0>=36 && LA132_0<=37)||LA132_0==51||(LA132_0>=60 && LA132_0<=64)||LA132_0==67||LA132_0==70||(LA132_0>=73 && LA132_0<=74)||LA132_0==79||(LA132_0>=81 && LA132_0<=82)||LA132_0==87||(LA132_0>=89 && LA132_0<=96)||LA132_0==98) ) { + alt132=1; + } + switch (alt132) { + case 1 : + // InternalExpression.g:16846:3: rule__XConstructorCall__Alternatives_4_1 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Alternatives_4_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4__2" + // InternalExpression.g:16854:1: rule__XConstructorCall__Group_4__2 : rule__XConstructorCall__Group_4__2__Impl ; + public final void rule__XConstructorCall__Group_4__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16858:1: ( rule__XConstructorCall__Group_4__2__Impl ) + // InternalExpression.g:16859:2: rule__XConstructorCall__Group_4__2__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__2" + + + // $ANTLR start "rule__XConstructorCall__Group_4__2__Impl" + // InternalExpression.g:16865:1: rule__XConstructorCall__Group_4__2__Impl : ( ')' ) ; + public final void rule__XConstructorCall__Group_4__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16869:1: ( ( ')' ) ) + // InternalExpression.g:16870:1: ( ')' ) + { + // InternalExpression.g:16870:1: ( ')' ) + // InternalExpression.g:16871:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__2__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1__0" + // InternalExpression.g:16881:1: rule__XConstructorCall__Group_4_1_1__0 : rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1 ; + public final void rule__XConstructorCall__Group_4_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16885:1: ( rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1 ) + // InternalExpression.g:16886:2: rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1 + { + pushFollow(FOLLOW_36); + rule__XConstructorCall__Group_4_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1__0" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1__0__Impl" + // InternalExpression.g:16893:1: rule__XConstructorCall__Group_4_1_1__0__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) ; + public final void rule__XConstructorCall__Group_4_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16897:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) ) + // InternalExpression.g:16898:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) + { + // InternalExpression.g:16898:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) + // InternalExpression.g:16899:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0()); + } + // InternalExpression.g:16900:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) + // InternalExpression.g:16900:3: rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_4_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1__1" + // InternalExpression.g:16908:1: rule__XConstructorCall__Group_4_1_1__1 : rule__XConstructorCall__Group_4_1_1__1__Impl ; + public final void rule__XConstructorCall__Group_4_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16912:1: ( rule__XConstructorCall__Group_4_1_1__1__Impl ) + // InternalExpression.g:16913:2: rule__XConstructorCall__Group_4_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1__1" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1__1__Impl" + // InternalExpression.g:16919:1: rule__XConstructorCall__Group_4_1_1__1__Impl : ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) ; + public final void rule__XConstructorCall__Group_4_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16923:1: ( ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) ) + // InternalExpression.g:16924:1: ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) + { + // InternalExpression.g:16924:1: ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) + // InternalExpression.g:16925:2: ( rule__XConstructorCall__Group_4_1_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1()); + } + // InternalExpression.g:16926:2: ( rule__XConstructorCall__Group_4_1_1_1__0 )* + loop133: + do { + int alt133=2; + int LA133_0 = input.LA(1); + + if ( (LA133_0==78) ) { + alt133=1; + } + + + switch (alt133) { + case 1 : + // InternalExpression.g:16926:3: rule__XConstructorCall__Group_4_1_1_1__0 + { + pushFollow(FOLLOW_37); + rule__XConstructorCall__Group_4_1_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop133; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__0" + // InternalExpression.g:16935:1: rule__XConstructorCall__Group_4_1_1_1__0 : rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1 ; + public final void rule__XConstructorCall__Group_4_1_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16939:1: ( rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1 ) + // InternalExpression.g:16940:2: rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1 + { + pushFollow(FOLLOW_77); + rule__XConstructorCall__Group_4_1_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4_1_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1_1__0" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__0__Impl" + // InternalExpression.g:16947:1: rule__XConstructorCall__Group_4_1_1_1__0__Impl : ( ',' ) ; + public final void rule__XConstructorCall__Group_4_1_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16951:1: ( ( ',' ) ) + // InternalExpression.g:16952:1: ( ',' ) + { + // InternalExpression.g:16952:1: ( ',' ) + // InternalExpression.g:16953:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1_1__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__1" + // InternalExpression.g:16962:1: rule__XConstructorCall__Group_4_1_1_1__1 : rule__XConstructorCall__Group_4_1_1_1__1__Impl ; + public final void rule__XConstructorCall__Group_4_1_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16966:1: ( rule__XConstructorCall__Group_4_1_1_1__1__Impl ) + // InternalExpression.g:16967:2: rule__XConstructorCall__Group_4_1_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4_1_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1_1__1" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__1__Impl" + // InternalExpression.g:16973:1: rule__XConstructorCall__Group_4_1_1_1__1__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) ; + public final void rule__XConstructorCall__Group_4_1_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16977:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) ) + // InternalExpression.g:16978:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) + { + // InternalExpression.g:16978:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) + // InternalExpression.g:16979:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1()); + } + // InternalExpression.g:16980:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) + // InternalExpression.g:16980:3: rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1_1__1__Impl" + + + // $ANTLR start "rule__XBooleanLiteral__Group__0" + // InternalExpression.g:16989:1: rule__XBooleanLiteral__Group__0 : rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1 ; + public final void rule__XBooleanLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:16993:1: ( rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1 ) + // InternalExpression.g:16994:2: rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1 + { + pushFollow(FOLLOW_99); + rule__XBooleanLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBooleanLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBooleanLiteral__Group__0" + + + // $ANTLR start "rule__XBooleanLiteral__Group__0__Impl" + // InternalExpression.g:17001:1: rule__XBooleanLiteral__Group__0__Impl : ( () ) ; + public final void rule__XBooleanLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17005:1: ( ( () ) ) + // InternalExpression.g:17006:1: ( () ) + { + // InternalExpression.g:17006:1: ( () ) + // InternalExpression.g:17007:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0()); + } + // InternalExpression.g:17008:2: () + // InternalExpression.g:17008:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBooleanLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XBooleanLiteral__Group__1" + // InternalExpression.g:17016:1: rule__XBooleanLiteral__Group__1 : rule__XBooleanLiteral__Group__1__Impl ; + public final void rule__XBooleanLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17020:1: ( rule__XBooleanLiteral__Group__1__Impl ) + // InternalExpression.g:17021:2: rule__XBooleanLiteral__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBooleanLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBooleanLiteral__Group__1" + + + // $ANTLR start "rule__XBooleanLiteral__Group__1__Impl" + // InternalExpression.g:17027:1: rule__XBooleanLiteral__Group__1__Impl : ( ( rule__XBooleanLiteral__Alternatives_1 ) ) ; + public final void rule__XBooleanLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17031:1: ( ( ( rule__XBooleanLiteral__Alternatives_1 ) ) ) + // InternalExpression.g:17032:1: ( ( rule__XBooleanLiteral__Alternatives_1 ) ) + { + // InternalExpression.g:17032:1: ( ( rule__XBooleanLiteral__Alternatives_1 ) ) + // InternalExpression.g:17033:2: ( rule__XBooleanLiteral__Alternatives_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1()); + } + // InternalExpression.g:17034:2: ( rule__XBooleanLiteral__Alternatives_1 ) + // InternalExpression.g:17034:3: rule__XBooleanLiteral__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__XBooleanLiteral__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBooleanLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XNullLiteral__Group__0" + // InternalExpression.g:17043:1: rule__XNullLiteral__Group__0 : rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1 ; + public final void rule__XNullLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17047:1: ( rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1 ) + // InternalExpression.g:17048:2: rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1 + { + pushFollow(FOLLOW_100); + rule__XNullLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XNullLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNullLiteral__Group__0" + + + // $ANTLR start "rule__XNullLiteral__Group__0__Impl" + // InternalExpression.g:17055:1: rule__XNullLiteral__Group__0__Impl : ( () ) ; + public final void rule__XNullLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17059:1: ( ( () ) ) + // InternalExpression.g:17060:1: ( () ) + { + // InternalExpression.g:17060:1: ( () ) + // InternalExpression.g:17061:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0()); + } + // InternalExpression.g:17062:2: () + // InternalExpression.g:17062:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNullLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XNullLiteral__Group__1" + // InternalExpression.g:17070:1: rule__XNullLiteral__Group__1 : rule__XNullLiteral__Group__1__Impl ; + public final void rule__XNullLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17074:1: ( rule__XNullLiteral__Group__1__Impl ) + // InternalExpression.g:17075:2: rule__XNullLiteral__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XNullLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNullLiteral__Group__1" + + + // $ANTLR start "rule__XNullLiteral__Group__1__Impl" + // InternalExpression.g:17081:1: rule__XNullLiteral__Group__1__Impl : ( 'null' ) ; + public final void rule__XNullLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17085:1: ( ( 'null' ) ) + // InternalExpression.g:17086:1: ( 'null' ) + { + // InternalExpression.g:17086:1: ( 'null' ) + // InternalExpression.g:17087:2: 'null' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); + } + match(input,92,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNullLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XNumberLiteral__Group__0" + // InternalExpression.g:17097:1: rule__XNumberLiteral__Group__0 : rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1 ; + public final void rule__XNumberLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17101:1: ( rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1 ) + // InternalExpression.g:17102:2: rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1 + { + pushFollow(FOLLOW_101); + rule__XNumberLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XNumberLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNumberLiteral__Group__0" + + + // $ANTLR start "rule__XNumberLiteral__Group__0__Impl" + // InternalExpression.g:17109:1: rule__XNumberLiteral__Group__0__Impl : ( () ) ; + public final void rule__XNumberLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17113:1: ( ( () ) ) + // InternalExpression.g:17114:1: ( () ) + { + // InternalExpression.g:17114:1: ( () ) + // InternalExpression.g:17115:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0()); + } + // InternalExpression.g:17116:2: () + // InternalExpression.g:17116:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNumberLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XNumberLiteral__Group__1" + // InternalExpression.g:17124:1: rule__XNumberLiteral__Group__1 : rule__XNumberLiteral__Group__1__Impl ; + public final void rule__XNumberLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17128:1: ( rule__XNumberLiteral__Group__1__Impl ) + // InternalExpression.g:17129:2: rule__XNumberLiteral__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XNumberLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNumberLiteral__Group__1" + + + // $ANTLR start "rule__XNumberLiteral__Group__1__Impl" + // InternalExpression.g:17135:1: rule__XNumberLiteral__Group__1__Impl : ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) ; + public final void rule__XNumberLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17139:1: ( ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) ) + // InternalExpression.g:17140:1: ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) + { + // InternalExpression.g:17140:1: ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) + // InternalExpression.g:17141:2: ( rule__XNumberLiteral__ValueAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1()); + } + // InternalExpression.g:17142:2: ( rule__XNumberLiteral__ValueAssignment_1 ) + // InternalExpression.g:17142:3: rule__XNumberLiteral__ValueAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XNumberLiteral__ValueAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNumberLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XStringLiteral__Group__0" + // InternalExpression.g:17151:1: rule__XStringLiteral__Group__0 : rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1 ; + public final void rule__XStringLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17155:1: ( rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1 ) + // InternalExpression.g:17156:2: rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1 + { + pushFollow(FOLLOW_102); + rule__XStringLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XStringLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XStringLiteral__Group__0" + + + // $ANTLR start "rule__XStringLiteral__Group__0__Impl" + // InternalExpression.g:17163:1: rule__XStringLiteral__Group__0__Impl : ( () ) ; + public final void rule__XStringLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17167:1: ( ( () ) ) + // InternalExpression.g:17168:1: ( () ) + { + // InternalExpression.g:17168:1: ( () ) + // InternalExpression.g:17169:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0()); + } + // InternalExpression.g:17170:2: () + // InternalExpression.g:17170:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XStringLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XStringLiteral__Group__1" + // InternalExpression.g:17178:1: rule__XStringLiteral__Group__1 : rule__XStringLiteral__Group__1__Impl ; + public final void rule__XStringLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17182:1: ( rule__XStringLiteral__Group__1__Impl ) + // InternalExpression.g:17183:2: rule__XStringLiteral__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XStringLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XStringLiteral__Group__1" + + + // $ANTLR start "rule__XStringLiteral__Group__1__Impl" + // InternalExpression.g:17189:1: rule__XStringLiteral__Group__1__Impl : ( ( rule__XStringLiteral__ValueAssignment_1 ) ) ; + public final void rule__XStringLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17193:1: ( ( ( rule__XStringLiteral__ValueAssignment_1 ) ) ) + // InternalExpression.g:17194:1: ( ( rule__XStringLiteral__ValueAssignment_1 ) ) + { + // InternalExpression.g:17194:1: ( ( rule__XStringLiteral__ValueAssignment_1 ) ) + // InternalExpression.g:17195:2: ( rule__XStringLiteral__ValueAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXStringLiteralAccess().getValueAssignment_1()); + } + // InternalExpression.g:17196:2: ( rule__XStringLiteral__ValueAssignment_1 ) + // InternalExpression.g:17196:3: rule__XStringLiteral__ValueAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XStringLiteral__ValueAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXStringLiteralAccess().getValueAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XStringLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__0" + // InternalExpression.g:17205:1: rule__XTypeLiteral__Group__0 : rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1 ; + public final void rule__XTypeLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17209:1: ( rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1 ) + // InternalExpression.g:17210:2: rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1 + { + pushFollow(FOLLOW_103); + rule__XTypeLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__0" + + + // $ANTLR start "rule__XTypeLiteral__Group__0__Impl" + // InternalExpression.g:17217:1: rule__XTypeLiteral__Group__0__Impl : ( () ) ; + public final void rule__XTypeLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17221:1: ( ( () ) ) + // InternalExpression.g:17222:1: ( () ) + { + // InternalExpression.g:17222:1: ( () ) + // InternalExpression.g:17223:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0()); + } + // InternalExpression.g:17224:2: () + // InternalExpression.g:17224:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__1" + // InternalExpression.g:17232:1: rule__XTypeLiteral__Group__1 : rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2 ; + public final void rule__XTypeLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17236:1: ( rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2 ) + // InternalExpression.g:17237:2: rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2 + { + pushFollow(FOLLOW_34); + rule__XTypeLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__1" + + + // $ANTLR start "rule__XTypeLiteral__Group__1__Impl" + // InternalExpression.g:17244:1: rule__XTypeLiteral__Group__1__Impl : ( 'typeof' ) ; + public final void rule__XTypeLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17248:1: ( ( 'typeof' ) ) + // InternalExpression.g:17249:1: ( 'typeof' ) + { + // InternalExpression.g:17249:1: ( 'typeof' ) + // InternalExpression.g:17250:2: 'typeof' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); + } + match(input,93,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__2" + // InternalExpression.g:17259:1: rule__XTypeLiteral__Group__2 : rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3 ; + public final void rule__XTypeLiteral__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17263:1: ( rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3 ) + // InternalExpression.g:17264:2: rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3 + { + pushFollow(FOLLOW_4); + rule__XTypeLiteral__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__2" + + + // $ANTLR start "rule__XTypeLiteral__Group__2__Impl" + // InternalExpression.g:17271:1: rule__XTypeLiteral__Group__2__Impl : ( '(' ) ; + public final void rule__XTypeLiteral__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17275:1: ( ( '(' ) ) + // InternalExpression.g:17276:1: ( '(' ) + { + // InternalExpression.g:17276:1: ( '(' ) + // InternalExpression.g:17277:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__2__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__3" + // InternalExpression.g:17286:1: rule__XTypeLiteral__Group__3 : rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4 ; + public final void rule__XTypeLiteral__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17290:1: ( rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4 ) + // InternalExpression.g:17291:2: rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4 + { + pushFollow(FOLLOW_104); + rule__XTypeLiteral__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__3" + + + // $ANTLR start "rule__XTypeLiteral__Group__3__Impl" + // InternalExpression.g:17298:1: rule__XTypeLiteral__Group__3__Impl : ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) ; + public final void rule__XTypeLiteral__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17302:1: ( ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) ) + // InternalExpression.g:17303:1: ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) + { + // InternalExpression.g:17303:1: ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) + // InternalExpression.g:17304:2: ( rule__XTypeLiteral__TypeAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3()); + } + // InternalExpression.g:17305:2: ( rule__XTypeLiteral__TypeAssignment_3 ) + // InternalExpression.g:17305:3: rule__XTypeLiteral__TypeAssignment_3 + { + pushFollow(FOLLOW_2); + rule__XTypeLiteral__TypeAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__3__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__4" + // InternalExpression.g:17313:1: rule__XTypeLiteral__Group__4 : rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5 ; + public final void rule__XTypeLiteral__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17317:1: ( rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5 ) + // InternalExpression.g:17318:2: rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5 + { + pushFollow(FOLLOW_104); + rule__XTypeLiteral__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__4" + + + // $ANTLR start "rule__XTypeLiteral__Group__4__Impl" + // InternalExpression.g:17325:1: rule__XTypeLiteral__Group__4__Impl : ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) ; + public final void rule__XTypeLiteral__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17329:1: ( ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) ) + // InternalExpression.g:17330:1: ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) + { + // InternalExpression.g:17330:1: ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) + // InternalExpression.g:17331:2: ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4()); + } + // InternalExpression.g:17332:2: ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* + loop134: + do { + int alt134=2; + int LA134_0 = input.LA(1); + + if ( (LA134_0==82) ) { + alt134=1; + } + + + switch (alt134) { + case 1 : + // InternalExpression.g:17332:3: rule__XTypeLiteral__ArrayDimensionsAssignment_4 + { + pushFollow(FOLLOW_105); + rule__XTypeLiteral__ArrayDimensionsAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop134; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__4__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__5" + // InternalExpression.g:17340:1: rule__XTypeLiteral__Group__5 : rule__XTypeLiteral__Group__5__Impl ; + public final void rule__XTypeLiteral__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17344:1: ( rule__XTypeLiteral__Group__5__Impl ) + // InternalExpression.g:17345:2: rule__XTypeLiteral__Group__5__Impl + { + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__5" + + + // $ANTLR start "rule__XTypeLiteral__Group__5__Impl" + // InternalExpression.g:17351:1: rule__XTypeLiteral__Group__5__Impl : ( ')' ) ; + public final void rule__XTypeLiteral__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17355:1: ( ( ')' ) ) + // InternalExpression.g:17356:1: ( ')' ) + { + // InternalExpression.g:17356:1: ( ')' ) + // InternalExpression.g:17357:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__5__Impl" + + + // $ANTLR start "rule__XThrowExpression__Group__0" + // InternalExpression.g:17367:1: rule__XThrowExpression__Group__0 : rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1 ; + public final void rule__XThrowExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17371:1: ( rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1 ) + // InternalExpression.g:17372:2: rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1 + { + pushFollow(FOLLOW_106); + rule__XThrowExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XThrowExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__0" + + + // $ANTLR start "rule__XThrowExpression__Group__0__Impl" + // InternalExpression.g:17379:1: rule__XThrowExpression__Group__0__Impl : ( () ) ; + public final void rule__XThrowExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17383:1: ( ( () ) ) + // InternalExpression.g:17384:1: ( () ) + { + // InternalExpression.g:17384:1: ( () ) + // InternalExpression.g:17385:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0()); + } + // InternalExpression.g:17386:2: () + // InternalExpression.g:17386:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__0__Impl" + + + // $ANTLR start "rule__XThrowExpression__Group__1" + // InternalExpression.g:17394:1: rule__XThrowExpression__Group__1 : rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2 ; + public final void rule__XThrowExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17398:1: ( rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2 ) + // InternalExpression.g:17399:2: rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2 + { + pushFollow(FOLLOW_77); + rule__XThrowExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XThrowExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__1" + + + // $ANTLR start "rule__XThrowExpression__Group__1__Impl" + // InternalExpression.g:17406:1: rule__XThrowExpression__Group__1__Impl : ( 'throw' ) ; + public final void rule__XThrowExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17410:1: ( ( 'throw' ) ) + // InternalExpression.g:17411:1: ( 'throw' ) + { + // InternalExpression.g:17411:1: ( 'throw' ) + // InternalExpression.g:17412:2: 'throw' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); + } + match(input,94,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__1__Impl" + + + // $ANTLR start "rule__XThrowExpression__Group__2" + // InternalExpression.g:17421:1: rule__XThrowExpression__Group__2 : rule__XThrowExpression__Group__2__Impl ; + public final void rule__XThrowExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17425:1: ( rule__XThrowExpression__Group__2__Impl ) + // InternalExpression.g:17426:2: rule__XThrowExpression__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__XThrowExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__2" + + + // $ANTLR start "rule__XThrowExpression__Group__2__Impl" + // InternalExpression.g:17432:1: rule__XThrowExpression__Group__2__Impl : ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) ; + public final void rule__XThrowExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17436:1: ( ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) ) + // InternalExpression.g:17437:1: ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) + { + // InternalExpression.g:17437:1: ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) + // InternalExpression.g:17438:2: ( rule__XThrowExpression__ExpressionAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2()); + } + // InternalExpression.g:17439:2: ( rule__XThrowExpression__ExpressionAssignment_2 ) + // InternalExpression.g:17439:3: rule__XThrowExpression__ExpressionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XThrowExpression__ExpressionAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__2__Impl" + + + // $ANTLR start "rule__XReturnExpression__Group__0" + // InternalExpression.g:17448:1: rule__XReturnExpression__Group__0 : rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1 ; + public final void rule__XReturnExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17452:1: ( rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1 ) + // InternalExpression.g:17453:2: rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1 + { + pushFollow(FOLLOW_107); + rule__XReturnExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XReturnExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__0" + + + // $ANTLR start "rule__XReturnExpression__Group__0__Impl" + // InternalExpression.g:17460:1: rule__XReturnExpression__Group__0__Impl : ( () ) ; + public final void rule__XReturnExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17464:1: ( ( () ) ) + // InternalExpression.g:17465:1: ( () ) + { + // InternalExpression.g:17465:1: ( () ) + // InternalExpression.g:17466:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0()); + } + // InternalExpression.g:17467:2: () + // InternalExpression.g:17467:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__0__Impl" + + + // $ANTLR start "rule__XReturnExpression__Group__1" + // InternalExpression.g:17475:1: rule__XReturnExpression__Group__1 : rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2 ; + public final void rule__XReturnExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17479:1: ( rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2 ) + // InternalExpression.g:17480:2: rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2 + { + pushFollow(FOLLOW_77); + rule__XReturnExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XReturnExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__1" + + + // $ANTLR start "rule__XReturnExpression__Group__1__Impl" + // InternalExpression.g:17487:1: rule__XReturnExpression__Group__1__Impl : ( 'return' ) ; + public final void rule__XReturnExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17491:1: ( ( 'return' ) ) + // InternalExpression.g:17492:1: ( 'return' ) + { + // InternalExpression.g:17492:1: ( 'return' ) + // InternalExpression.g:17493:2: 'return' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); + } + match(input,95,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__1__Impl" + + + // $ANTLR start "rule__XReturnExpression__Group__2" + // InternalExpression.g:17502:1: rule__XReturnExpression__Group__2 : rule__XReturnExpression__Group__2__Impl ; + public final void rule__XReturnExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17506:1: ( rule__XReturnExpression__Group__2__Impl ) + // InternalExpression.g:17507:2: rule__XReturnExpression__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__XReturnExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__2" + + + // $ANTLR start "rule__XReturnExpression__Group__2__Impl" + // InternalExpression.g:17513:1: rule__XReturnExpression__Group__2__Impl : ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) ; + public final void rule__XReturnExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17517:1: ( ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) ) + // InternalExpression.g:17518:1: ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) + { + // InternalExpression.g:17518:1: ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) + // InternalExpression.g:17519:2: ( rule__XReturnExpression__ExpressionAssignment_2 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2()); + } + // InternalExpression.g:17520:2: ( rule__XReturnExpression__ExpressionAssignment_2 )? + int alt135=2; + alt135 = dfa135.predict(input); + switch (alt135) { + case 1 : + // InternalExpression.g:17520:3: rule__XReturnExpression__ExpressionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XReturnExpression__ExpressionAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__2__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__0" + // InternalExpression.g:17529:1: rule__XTryCatchFinallyExpression__Group__0 : rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1 ; + public final void rule__XTryCatchFinallyExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17533:1: ( rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1 ) + // InternalExpression.g:17534:2: rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1 + { + pushFollow(FOLLOW_108); + rule__XTryCatchFinallyExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__0" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__0__Impl" + // InternalExpression.g:17541:1: rule__XTryCatchFinallyExpression__Group__0__Impl : ( () ) ; + public final void rule__XTryCatchFinallyExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17545:1: ( ( () ) ) + // InternalExpression.g:17546:1: ( () ) + { + // InternalExpression.g:17546:1: ( () ) + // InternalExpression.g:17547:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0()); + } + // InternalExpression.g:17548:2: () + // InternalExpression.g:17548:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__0__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__1" + // InternalExpression.g:17556:1: rule__XTryCatchFinallyExpression__Group__1 : rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2 ; + public final void rule__XTryCatchFinallyExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17560:1: ( rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2 ) + // InternalExpression.g:17561:2: rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2 + { + pushFollow(FOLLOW_77); + rule__XTryCatchFinallyExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__1" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__1__Impl" + // InternalExpression.g:17568:1: rule__XTryCatchFinallyExpression__Group__1__Impl : ( 'try' ) ; + public final void rule__XTryCatchFinallyExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17572:1: ( ( 'try' ) ) + // InternalExpression.g:17573:1: ( 'try' ) + { + // InternalExpression.g:17573:1: ( 'try' ) + // InternalExpression.g:17574:2: 'try' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); + } + match(input,96,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__1__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__2" + // InternalExpression.g:17583:1: rule__XTryCatchFinallyExpression__Group__2 : rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3 ; + public final void rule__XTryCatchFinallyExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17587:1: ( rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3 ) + // InternalExpression.g:17588:2: rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3 + { + pushFollow(FOLLOW_109); + rule__XTryCatchFinallyExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__2" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__2__Impl" + // InternalExpression.g:17595:1: rule__XTryCatchFinallyExpression__Group__2__Impl : ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) ; + public final void rule__XTryCatchFinallyExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17599:1: ( ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) ) + // InternalExpression.g:17600:1: ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) + { + // InternalExpression.g:17600:1: ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) + // InternalExpression.g:17601:2: ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2()); + } + // InternalExpression.g:17602:2: ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) + // InternalExpression.g:17602:3: rule__XTryCatchFinallyExpression__ExpressionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__ExpressionAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__2__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__3" + // InternalExpression.g:17610:1: rule__XTryCatchFinallyExpression__Group__3 : rule__XTryCatchFinallyExpression__Group__3__Impl ; + public final void rule__XTryCatchFinallyExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17614:1: ( rule__XTryCatchFinallyExpression__Group__3__Impl ) + // InternalExpression.g:17615:2: rule__XTryCatchFinallyExpression__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__3" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__3__Impl" + // InternalExpression.g:17621:1: rule__XTryCatchFinallyExpression__Group__3__Impl : ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) ; + public final void rule__XTryCatchFinallyExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17625:1: ( ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) ) + // InternalExpression.g:17626:1: ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) + { + // InternalExpression.g:17626:1: ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) + // InternalExpression.g:17627:2: ( rule__XTryCatchFinallyExpression__Alternatives_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3()); + } + // InternalExpression.g:17628:2: ( rule__XTryCatchFinallyExpression__Alternatives_3 ) + // InternalExpression.g:17628:3: rule__XTryCatchFinallyExpression__Alternatives_3 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Alternatives_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__3__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__0" + // InternalExpression.g:17637:1: rule__XTryCatchFinallyExpression__Group_3_0__0 : rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1 ; + public final void rule__XTryCatchFinallyExpression__Group_3_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17641:1: ( rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1 ) + // InternalExpression.g:17642:2: rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1 + { + pushFollow(FOLLOW_110); + rule__XTryCatchFinallyExpression__Group_3_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0__0" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__0__Impl" + // InternalExpression.g:17649:1: rule__XTryCatchFinallyExpression__Group_3_0__0__Impl : ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17653:1: ( ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) ) + // InternalExpression.g:17654:1: ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) + { + // InternalExpression.g:17654:1: ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) + // InternalExpression.g:17655:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) + { + // InternalExpression.g:17655:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) + // InternalExpression.g:17656:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); + } + // InternalExpression.g:17657:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) + // InternalExpression.g:17657:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 + { + pushFollow(FOLLOW_111); + rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); + } + + } + + // InternalExpression.g:17660:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) + // InternalExpression.g:17661:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); + } + // InternalExpression.g:17662:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* + loop136: + do { + int alt136=2; + int LA136_0 = input.LA(1); + + if ( (LA136_0==99) ) { + int LA136_2 = input.LA(2); + + if ( (synpred209_InternalExpression()) ) { + alt136=1; + } + + + } + + + switch (alt136) { + case 1 : + // InternalExpression.g:17662:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 + { + pushFollow(FOLLOW_111); + rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop136; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); + } + + } + + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0__0__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__1" + // InternalExpression.g:17671:1: rule__XTryCatchFinallyExpression__Group_3_0__1 : rule__XTryCatchFinallyExpression__Group_3_0__1__Impl ; + public final void rule__XTryCatchFinallyExpression__Group_3_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17675:1: ( rule__XTryCatchFinallyExpression__Group_3_0__1__Impl ) + // InternalExpression.g:17676:2: rule__XTryCatchFinallyExpression__Group_3_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0__1" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__1__Impl" + // InternalExpression.g:17682:1: rule__XTryCatchFinallyExpression__Group_3_0__1__Impl : ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17686:1: ( ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) ) + // InternalExpression.g:17687:1: ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) + { + // InternalExpression.g:17687:1: ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) + // InternalExpression.g:17688:2: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1()); + } + // InternalExpression.g:17689:2: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? + int alt137=2; + int LA137_0 = input.LA(1); + + if ( (LA137_0==97) ) { + int LA137_1 = input.LA(2); + + if ( (synpred210_InternalExpression()) ) { + alt137=1; + } + } + switch (alt137) { + case 1 : + // InternalExpression.g:17689:3: rule__XTryCatchFinallyExpression__Group_3_0_1__0 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0__1__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__0" + // InternalExpression.g:17698:1: rule__XTryCatchFinallyExpression__Group_3_0_1__0 : rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1 ; + public final void rule__XTryCatchFinallyExpression__Group_3_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17702:1: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1 ) + // InternalExpression.g:17703:2: rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1 + { + pushFollow(FOLLOW_77); + rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0_1__0" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl" + // InternalExpression.g:17710:1: rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl : ( ( 'finally' ) ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17714:1: ( ( ( 'finally' ) ) ) + // InternalExpression.g:17715:1: ( ( 'finally' ) ) + { + // InternalExpression.g:17715:1: ( ( 'finally' ) ) + // InternalExpression.g:17716:2: ( 'finally' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); + } + // InternalExpression.g:17717:2: ( 'finally' ) + // InternalExpression.g:17717:3: 'finally' + { + match(input,97,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__1" + // InternalExpression.g:17725:1: rule__XTryCatchFinallyExpression__Group_3_0_1__1 : rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl ; + public final void rule__XTryCatchFinallyExpression__Group_3_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17729:1: ( rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl ) + // InternalExpression.g:17730:2: rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0_1__1" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl" + // InternalExpression.g:17736:1: rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl : ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17740:1: ( ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) ) + // InternalExpression.g:17741:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) + { + // InternalExpression.g:17741:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) + // InternalExpression.g:17742:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1()); + } + // InternalExpression.g:17743:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) + // InternalExpression.g:17743:3: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__0" + // InternalExpression.g:17752:1: rule__XTryCatchFinallyExpression__Group_3_1__0 : rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1 ; + public final void rule__XTryCatchFinallyExpression__Group_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17756:1: ( rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1 ) + // InternalExpression.g:17757:2: rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1 + { + pushFollow(FOLLOW_77); + rule__XTryCatchFinallyExpression__Group_3_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_1__0" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__0__Impl" + // InternalExpression.g:17764:1: rule__XTryCatchFinallyExpression__Group_3_1__0__Impl : ( 'finally' ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17768:1: ( ( 'finally' ) ) + // InternalExpression.g:17769:1: ( 'finally' ) + { + // InternalExpression.g:17769:1: ( 'finally' ) + // InternalExpression.g:17770:2: 'finally' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); + } + match(input,97,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_1__0__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__1" + // InternalExpression.g:17779:1: rule__XTryCatchFinallyExpression__Group_3_1__1 : rule__XTryCatchFinallyExpression__Group_3_1__1__Impl ; + public final void rule__XTryCatchFinallyExpression__Group_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17783:1: ( rule__XTryCatchFinallyExpression__Group_3_1__1__Impl ) + // InternalExpression.g:17784:2: rule__XTryCatchFinallyExpression__Group_3_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_1__1" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__1__Impl" + // InternalExpression.g:17790:1: rule__XTryCatchFinallyExpression__Group_3_1__1__Impl : ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17794:1: ( ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) ) + // InternalExpression.g:17795:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) + { + // InternalExpression.g:17795:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) + // InternalExpression.g:17796:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1()); + } + // InternalExpression.g:17797:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) + // InternalExpression.g:17797:3: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_1__1__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__0" + // InternalExpression.g:17806:1: rule__XSynchronizedExpression__Group__0 : rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1 ; + public final void rule__XSynchronizedExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17810:1: ( rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1 ) + // InternalExpression.g:17811:2: rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1 + { + pushFollow(FOLLOW_77); + rule__XSynchronizedExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__0" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__0__Impl" + // InternalExpression.g:17818:1: rule__XSynchronizedExpression__Group__0__Impl : ( ( rule__XSynchronizedExpression__Group_0__0 ) ) ; + public final void rule__XSynchronizedExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17822:1: ( ( ( rule__XSynchronizedExpression__Group_0__0 ) ) ) + // InternalExpression.g:17823:1: ( ( rule__XSynchronizedExpression__Group_0__0 ) ) + { + // InternalExpression.g:17823:1: ( ( rule__XSynchronizedExpression__Group_0__0 ) ) + // InternalExpression.g:17824:2: ( rule__XSynchronizedExpression__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0()); + } + // InternalExpression.g:17825:2: ( rule__XSynchronizedExpression__Group_0__0 ) + // InternalExpression.g:17825:3: rule__XSynchronizedExpression__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__0__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__1" + // InternalExpression.g:17833:1: rule__XSynchronizedExpression__Group__1 : rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2 ; + public final void rule__XSynchronizedExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17837:1: ( rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2 ) + // InternalExpression.g:17838:2: rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2 + { + pushFollow(FOLLOW_9); + rule__XSynchronizedExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__1" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__1__Impl" + // InternalExpression.g:17845:1: rule__XSynchronizedExpression__Group__1__Impl : ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) ; + public final void rule__XSynchronizedExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17849:1: ( ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) ) + // InternalExpression.g:17850:1: ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) + { + // InternalExpression.g:17850:1: ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) + // InternalExpression.g:17851:2: ( rule__XSynchronizedExpression__ParamAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1()); + } + // InternalExpression.g:17852:2: ( rule__XSynchronizedExpression__ParamAssignment_1 ) + // InternalExpression.g:17852:3: rule__XSynchronizedExpression__ParamAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__ParamAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__1__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__2" + // InternalExpression.g:17860:1: rule__XSynchronizedExpression__Group__2 : rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3 ; + public final void rule__XSynchronizedExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17864:1: ( rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3 ) + // InternalExpression.g:17865:2: rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3 + { + pushFollow(FOLLOW_77); + rule__XSynchronizedExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__2" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__2__Impl" + // InternalExpression.g:17872:1: rule__XSynchronizedExpression__Group__2__Impl : ( ')' ) ; + public final void rule__XSynchronizedExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17876:1: ( ( ')' ) ) + // InternalExpression.g:17877:1: ( ')' ) + { + // InternalExpression.g:17877:1: ( ')' ) + // InternalExpression.g:17878:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__2__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__3" + // InternalExpression.g:17887:1: rule__XSynchronizedExpression__Group__3 : rule__XSynchronizedExpression__Group__3__Impl ; + public final void rule__XSynchronizedExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17891:1: ( rule__XSynchronizedExpression__Group__3__Impl ) + // InternalExpression.g:17892:2: rule__XSynchronizedExpression__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__3" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__3__Impl" + // InternalExpression.g:17898:1: rule__XSynchronizedExpression__Group__3__Impl : ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) ; + public final void rule__XSynchronizedExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17902:1: ( ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) ) + // InternalExpression.g:17903:1: ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) + { + // InternalExpression.g:17903:1: ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) + // InternalExpression.g:17904:2: ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3()); + } + // InternalExpression.g:17905:2: ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) + // InternalExpression.g:17905:3: rule__XSynchronizedExpression__ExpressionAssignment_3 + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__ExpressionAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__3__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0__0" + // InternalExpression.g:17914:1: rule__XSynchronizedExpression__Group_0__0 : rule__XSynchronizedExpression__Group_0__0__Impl ; + public final void rule__XSynchronizedExpression__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17918:1: ( rule__XSynchronizedExpression__Group_0__0__Impl ) + // InternalExpression.g:17919:2: rule__XSynchronizedExpression__Group_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0__0" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0__0__Impl" + // InternalExpression.g:17925:1: rule__XSynchronizedExpression__Group_0__0__Impl : ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) ; + public final void rule__XSynchronizedExpression__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17929:1: ( ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) ) + // InternalExpression.g:17930:1: ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) + { + // InternalExpression.g:17930:1: ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) + // InternalExpression.g:17931:2: ( rule__XSynchronizedExpression__Group_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0()); + } + // InternalExpression.g:17932:2: ( rule__XSynchronizedExpression__Group_0_0__0 ) + // InternalExpression.g:17932:3: rule__XSynchronizedExpression__Group_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0__0__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__0" + // InternalExpression.g:17941:1: rule__XSynchronizedExpression__Group_0_0__0 : rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1 ; + public final void rule__XSynchronizedExpression__Group_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17945:1: ( rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1 ) + // InternalExpression.g:17946:2: rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1 + { + pushFollow(FOLLOW_112); + rule__XSynchronizedExpression__Group_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__0" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__0__Impl" + // InternalExpression.g:17953:1: rule__XSynchronizedExpression__Group_0_0__0__Impl : ( () ) ; + public final void rule__XSynchronizedExpression__Group_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17957:1: ( ( () ) ) + // InternalExpression.g:17958:1: ( () ) + { + // InternalExpression.g:17958:1: ( () ) + // InternalExpression.g:17959:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0()); + } + // InternalExpression.g:17960:2: () + // InternalExpression.g:17960:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__0__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__1" + // InternalExpression.g:17968:1: rule__XSynchronizedExpression__Group_0_0__1 : rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2 ; + public final void rule__XSynchronizedExpression__Group_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17972:1: ( rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2 ) + // InternalExpression.g:17973:2: rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2 + { + pushFollow(FOLLOW_34); + rule__XSynchronizedExpression__Group_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__1" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__1__Impl" + // InternalExpression.g:17980:1: rule__XSynchronizedExpression__Group_0_0__1__Impl : ( 'synchronized' ) ; + public final void rule__XSynchronizedExpression__Group_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17984:1: ( ( 'synchronized' ) ) + // InternalExpression.g:17985:1: ( 'synchronized' ) + { + // InternalExpression.g:17985:1: ( 'synchronized' ) + // InternalExpression.g:17986:2: 'synchronized' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); + } + match(input,98,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__1__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__2" + // InternalExpression.g:17995:1: rule__XSynchronizedExpression__Group_0_0__2 : rule__XSynchronizedExpression__Group_0_0__2__Impl ; + public final void rule__XSynchronizedExpression__Group_0_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:17999:1: ( rule__XSynchronizedExpression__Group_0_0__2__Impl ) + // InternalExpression.g:18000:2: rule__XSynchronizedExpression__Group_0_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__2" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__2__Impl" + // InternalExpression.g:18006:1: rule__XSynchronizedExpression__Group_0_0__2__Impl : ( '(' ) ; + public final void rule__XSynchronizedExpression__Group_0_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18010:1: ( ( '(' ) ) + // InternalExpression.g:18011:1: ( '(' ) + { + // InternalExpression.g:18011:1: ( '(' ) + // InternalExpression.g:18012:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__2__Impl" + + + // $ANTLR start "rule__XCatchClause__Group__0" + // InternalExpression.g:18022:1: rule__XCatchClause__Group__0 : rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1 ; + public final void rule__XCatchClause__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18026:1: ( rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1 ) + // InternalExpression.g:18027:2: rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1 + { + pushFollow(FOLLOW_34); + rule__XCatchClause__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCatchClause__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__0" + + + // $ANTLR start "rule__XCatchClause__Group__0__Impl" + // InternalExpression.g:18034:1: rule__XCatchClause__Group__0__Impl : ( ( 'catch' ) ) ; + public final void rule__XCatchClause__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18038:1: ( ( ( 'catch' ) ) ) + // InternalExpression.g:18039:1: ( ( 'catch' ) ) + { + // InternalExpression.g:18039:1: ( ( 'catch' ) ) + // InternalExpression.g:18040:2: ( 'catch' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); + } + // InternalExpression.g:18041:2: ( 'catch' ) + // InternalExpression.g:18041:3: 'catch' + { + match(input,99,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__0__Impl" + + + // $ANTLR start "rule__XCatchClause__Group__1" + // InternalExpression.g:18049:1: rule__XCatchClause__Group__1 : rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2 ; + public final void rule__XCatchClause__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18053:1: ( rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2 ) + // InternalExpression.g:18054:2: rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2 + { + pushFollow(FOLLOW_56); + rule__XCatchClause__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCatchClause__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__1" + + + // $ANTLR start "rule__XCatchClause__Group__1__Impl" + // InternalExpression.g:18061:1: rule__XCatchClause__Group__1__Impl : ( '(' ) ; + public final void rule__XCatchClause__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18065:1: ( ( '(' ) ) + // InternalExpression.g:18066:1: ( '(' ) + { + // InternalExpression.g:18066:1: ( '(' ) + // InternalExpression.g:18067:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__1__Impl" + + + // $ANTLR start "rule__XCatchClause__Group__2" + // InternalExpression.g:18076:1: rule__XCatchClause__Group__2 : rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3 ; + public final void rule__XCatchClause__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18080:1: ( rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3 ) + // InternalExpression.g:18081:2: rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3 + { + pushFollow(FOLLOW_9); + rule__XCatchClause__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCatchClause__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__2" + + + // $ANTLR start "rule__XCatchClause__Group__2__Impl" + // InternalExpression.g:18088:1: rule__XCatchClause__Group__2__Impl : ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) ; + public final void rule__XCatchClause__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18092:1: ( ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) ) + // InternalExpression.g:18093:1: ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) + { + // InternalExpression.g:18093:1: ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) + // InternalExpression.g:18094:2: ( rule__XCatchClause__DeclaredParamAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2()); + } + // InternalExpression.g:18095:2: ( rule__XCatchClause__DeclaredParamAssignment_2 ) + // InternalExpression.g:18095:3: rule__XCatchClause__DeclaredParamAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XCatchClause__DeclaredParamAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__2__Impl" + + + // $ANTLR start "rule__XCatchClause__Group__3" + // InternalExpression.g:18103:1: rule__XCatchClause__Group__3 : rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4 ; + public final void rule__XCatchClause__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18107:1: ( rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4 ) + // InternalExpression.g:18108:2: rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4 + { + pushFollow(FOLLOW_77); + rule__XCatchClause__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCatchClause__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__3" + + + // $ANTLR start "rule__XCatchClause__Group__3__Impl" + // InternalExpression.g:18115:1: rule__XCatchClause__Group__3__Impl : ( ')' ) ; + public final void rule__XCatchClause__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18119:1: ( ( ')' ) ) + // InternalExpression.g:18120:1: ( ')' ) + { + // InternalExpression.g:18120:1: ( ')' ) + // InternalExpression.g:18121:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__3__Impl" + + + // $ANTLR start "rule__XCatchClause__Group__4" + // InternalExpression.g:18130:1: rule__XCatchClause__Group__4 : rule__XCatchClause__Group__4__Impl ; + public final void rule__XCatchClause__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18134:1: ( rule__XCatchClause__Group__4__Impl ) + // InternalExpression.g:18135:2: rule__XCatchClause__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__XCatchClause__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__4" + + + // $ANTLR start "rule__XCatchClause__Group__4__Impl" + // InternalExpression.g:18141:1: rule__XCatchClause__Group__4__Impl : ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) ; + public final void rule__XCatchClause__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18145:1: ( ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) ) + // InternalExpression.g:18146:1: ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) + { + // InternalExpression.g:18146:1: ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) + // InternalExpression.g:18147:2: ( rule__XCatchClause__ExpressionAssignment_4 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4()); + } + // InternalExpression.g:18148:2: ( rule__XCatchClause__ExpressionAssignment_4 ) + // InternalExpression.g:18148:3: rule__XCatchClause__ExpressionAssignment_4 + { + pushFollow(FOLLOW_2); + rule__XCatchClause__ExpressionAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__4__Impl" + + + // $ANTLR start "rule__QualifiedName__Group__0" + // InternalExpression.g:18157:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ; + public final void rule__QualifiedName__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18161:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ) + // InternalExpression.g:18162:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 + { + pushFollow(FOLLOW_32); + rule__QualifiedName__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__QualifiedName__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group__0" + + + // $ANTLR start "rule__QualifiedName__Group__0__Impl" + // InternalExpression.g:18169:1: rule__QualifiedName__Group__0__Impl : ( ruleValidID ) ; + public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18173:1: ( ( ruleValidID ) ) + // InternalExpression.g:18174:1: ( ruleValidID ) + { + // InternalExpression.g:18174:1: ( ruleValidID ) + // InternalExpression.g:18175:2: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group__0__Impl" + + + // $ANTLR start "rule__QualifiedName__Group__1" + // InternalExpression.g:18184:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ; + public final void rule__QualifiedName__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18188:1: ( rule__QualifiedName__Group__1__Impl ) + // InternalExpression.g:18189:2: rule__QualifiedName__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__QualifiedName__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group__1" + + + // $ANTLR start "rule__QualifiedName__Group__1__Impl" + // InternalExpression.g:18195:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ; + public final void rule__QualifiedName__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18199:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) ) + // InternalExpression.g:18200:1: ( ( rule__QualifiedName__Group_1__0 )* ) + { + // InternalExpression.g:18200:1: ( ( rule__QualifiedName__Group_1__0 )* ) + // InternalExpression.g:18201:2: ( rule__QualifiedName__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getGroup_1()); + } + // InternalExpression.g:18202:2: ( rule__QualifiedName__Group_1__0 )* + loop138: + do { + int alt138=2; + int LA138_0 = input.LA(1); + + if ( (LA138_0==58) ) { + int LA138_2 = input.LA(2); + + if ( (LA138_2==RULE_ID) ) { + int LA138_3 = input.LA(3); + + if ( (synpred211_InternalExpression()) ) { + alt138=1; + } + + + } + + + } + + + switch (alt138) { + case 1 : + // InternalExpression.g:18202:3: rule__QualifiedName__Group_1__0 + { + pushFollow(FOLLOW_33); + rule__QualifiedName__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop138; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group__1__Impl" + + + // $ANTLR start "rule__QualifiedName__Group_1__0" + // InternalExpression.g:18211:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ; + public final void rule__QualifiedName__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18215:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ) + // InternalExpression.g:18216:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 + { + pushFollow(FOLLOW_4); + rule__QualifiedName__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__QualifiedName__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group_1__0" + + + // $ANTLR start "rule__QualifiedName__Group_1__0__Impl" + // InternalExpression.g:18223:1: rule__QualifiedName__Group_1__0__Impl : ( ( '.' ) ) ; + public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18227:1: ( ( ( '.' ) ) ) + // InternalExpression.g:18228:1: ( ( '.' ) ) + { + // InternalExpression.g:18228:1: ( ( '.' ) ) + // InternalExpression.g:18229:2: ( '.' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); + } + // InternalExpression.g:18230:2: ( '.' ) + // InternalExpression.g:18230:3: '.' + { + match(input,58,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group_1__0__Impl" + + + // $ANTLR start "rule__QualifiedName__Group_1__1" + // InternalExpression.g:18238:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ; + public final void rule__QualifiedName__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18242:1: ( rule__QualifiedName__Group_1__1__Impl ) + // InternalExpression.g:18243:2: rule__QualifiedName__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__QualifiedName__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group_1__1" + + + // $ANTLR start "rule__QualifiedName__Group_1__1__Impl" + // InternalExpression.g:18249:1: rule__QualifiedName__Group_1__1__Impl : ( ruleValidID ) ; + public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18253:1: ( ( ruleValidID ) ) + // InternalExpression.g:18254:1: ( ruleValidID ) + { + // InternalExpression.g:18254:1: ( ruleValidID ) + // InternalExpression.g:18255:2: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group_1__1__Impl" + + + // $ANTLR start "rule__Number__Group_1__0" + // InternalExpression.g:18265:1: rule__Number__Group_1__0 : rule__Number__Group_1__0__Impl rule__Number__Group_1__1 ; + public final void rule__Number__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18269:1: ( rule__Number__Group_1__0__Impl rule__Number__Group_1__1 ) + // InternalExpression.g:18270:2: rule__Number__Group_1__0__Impl rule__Number__Group_1__1 + { + pushFollow(FOLLOW_32); + rule__Number__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Number__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1__0" + + + // $ANTLR start "rule__Number__Group_1__0__Impl" + // InternalExpression.g:18277:1: rule__Number__Group_1__0__Impl : ( ( rule__Number__Alternatives_1_0 ) ) ; + public final void rule__Number__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18281:1: ( ( ( rule__Number__Alternatives_1_0 ) ) ) + // InternalExpression.g:18282:1: ( ( rule__Number__Alternatives_1_0 ) ) + { + // InternalExpression.g:18282:1: ( ( rule__Number__Alternatives_1_0 ) ) + // InternalExpression.g:18283:2: ( rule__Number__Alternatives_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getAlternatives_1_0()); + } + // InternalExpression.g:18284:2: ( rule__Number__Alternatives_1_0 ) + // InternalExpression.g:18284:3: rule__Number__Alternatives_1_0 + { + pushFollow(FOLLOW_2); + rule__Number__Alternatives_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getAlternatives_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1__0__Impl" + + + // $ANTLR start "rule__Number__Group_1__1" + // InternalExpression.g:18292:1: rule__Number__Group_1__1 : rule__Number__Group_1__1__Impl ; + public final void rule__Number__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18296:1: ( rule__Number__Group_1__1__Impl ) + // InternalExpression.g:18297:2: rule__Number__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__Number__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1__1" + + + // $ANTLR start "rule__Number__Group_1__1__Impl" + // InternalExpression.g:18303:1: rule__Number__Group_1__1__Impl : ( ( rule__Number__Group_1_1__0 )? ) ; + public final void rule__Number__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18307:1: ( ( ( rule__Number__Group_1_1__0 )? ) ) + // InternalExpression.g:18308:1: ( ( rule__Number__Group_1_1__0 )? ) + { + // InternalExpression.g:18308:1: ( ( rule__Number__Group_1_1__0 )? ) + // InternalExpression.g:18309:2: ( rule__Number__Group_1_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getGroup_1_1()); + } + // InternalExpression.g:18310:2: ( rule__Number__Group_1_1__0 )? + int alt139=2; + int LA139_0 = input.LA(1); + + if ( (LA139_0==58) ) { + int LA139_1 = input.LA(2); + + if ( ((LA139_1>=RULE_INT && LA139_1<=RULE_DECIMAL)) ) { + alt139=1; + } + } + switch (alt139) { + case 1 : + // InternalExpression.g:18310:3: rule__Number__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__Number__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getGroup_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1__1__Impl" + + + // $ANTLR start "rule__Number__Group_1_1__0" + // InternalExpression.g:18319:1: rule__Number__Group_1_1__0 : rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1 ; + public final void rule__Number__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18323:1: ( rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1 ) + // InternalExpression.g:18324:2: rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1 + { + pushFollow(FOLLOW_113); + rule__Number__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Number__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1_1__0" + + + // $ANTLR start "rule__Number__Group_1_1__0__Impl" + // InternalExpression.g:18331:1: rule__Number__Group_1_1__0__Impl : ( '.' ) ; + public final void rule__Number__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18335:1: ( ( '.' ) ) + // InternalExpression.g:18336:1: ( '.' ) + { + // InternalExpression.g:18336:1: ( '.' ) + // InternalExpression.g:18337:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1_1__0__Impl" + + + // $ANTLR start "rule__Number__Group_1_1__1" + // InternalExpression.g:18346:1: rule__Number__Group_1_1__1 : rule__Number__Group_1_1__1__Impl ; + public final void rule__Number__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18350:1: ( rule__Number__Group_1_1__1__Impl ) + // InternalExpression.g:18351:2: rule__Number__Group_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__Number__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1_1__1" + + + // $ANTLR start "rule__Number__Group_1_1__1__Impl" + // InternalExpression.g:18357:1: rule__Number__Group_1_1__1__Impl : ( ( rule__Number__Alternatives_1_1_1 ) ) ; + public final void rule__Number__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18361:1: ( ( ( rule__Number__Alternatives_1_1_1 ) ) ) + // InternalExpression.g:18362:1: ( ( rule__Number__Alternatives_1_1_1 ) ) + { + // InternalExpression.g:18362:1: ( ( rule__Number__Alternatives_1_1_1 ) ) + // InternalExpression.g:18363:2: ( rule__Number__Alternatives_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getAlternatives_1_1_1()); + } + // InternalExpression.g:18364:2: ( rule__Number__Alternatives_1_1_1 ) + // InternalExpression.g:18364:3: rule__Number__Alternatives_1_1_1 + { + pushFollow(FOLLOW_2); + rule__Number__Alternatives_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getAlternatives_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1_1__1__Impl" + + + // $ANTLR start "rule__JvmTypeReference__Group_0__0" + // InternalExpression.g:18373:1: rule__JvmTypeReference__Group_0__0 : rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1 ; + public final void rule__JvmTypeReference__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18377:1: ( rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1 ) + // InternalExpression.g:18378:2: rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1 + { + pushFollow(FOLLOW_43); + rule__JvmTypeReference__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0__0" + + + // $ANTLR start "rule__JvmTypeReference__Group_0__0__Impl" + // InternalExpression.g:18385:1: rule__JvmTypeReference__Group_0__0__Impl : ( ruleJvmParameterizedTypeReference ) ; + public final void rule__JvmTypeReference__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18389:1: ( ( ruleJvmParameterizedTypeReference ) ) + // InternalExpression.g:18390:1: ( ruleJvmParameterizedTypeReference ) + { + // InternalExpression.g:18390:1: ( ruleJvmParameterizedTypeReference ) + // InternalExpression.g:18391:2: ruleJvmParameterizedTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmParameterizedTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0__0__Impl" + + + // $ANTLR start "rule__JvmTypeReference__Group_0__1" + // InternalExpression.g:18400:1: rule__JvmTypeReference__Group_0__1 : rule__JvmTypeReference__Group_0__1__Impl ; + public final void rule__JvmTypeReference__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18404:1: ( rule__JvmTypeReference__Group_0__1__Impl ) + // InternalExpression.g:18405:2: rule__JvmTypeReference__Group_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0__1" + + + // $ANTLR start "rule__JvmTypeReference__Group_0__1__Impl" + // InternalExpression.g:18411:1: rule__JvmTypeReference__Group_0__1__Impl : ( ( rule__JvmTypeReference__Group_0_1__0 )* ) ; + public final void rule__JvmTypeReference__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18415:1: ( ( ( rule__JvmTypeReference__Group_0_1__0 )* ) ) + // InternalExpression.g:18416:1: ( ( rule__JvmTypeReference__Group_0_1__0 )* ) + { + // InternalExpression.g:18416:1: ( ( rule__JvmTypeReference__Group_0_1__0 )* ) + // InternalExpression.g:18417:2: ( rule__JvmTypeReference__Group_0_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1()); + } + // InternalExpression.g:18418:2: ( rule__JvmTypeReference__Group_0_1__0 )* + loop140: + do { + int alt140=2; + int LA140_0 = input.LA(1); + + if ( (LA140_0==82) ) { + int LA140_2 = input.LA(2); + + if ( (LA140_2==83) ) { + int LA140_3 = input.LA(3); + + if ( (synpred213_InternalExpression()) ) { + alt140=1; + } + + + } + + + } + + + switch (alt140) { + case 1 : + // InternalExpression.g:18418:3: rule__JvmTypeReference__Group_0_1__0 + { + pushFollow(FOLLOW_105); + rule__JvmTypeReference__Group_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop140; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0__1__Impl" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1__0" + // InternalExpression.g:18427:1: rule__JvmTypeReference__Group_0_1__0 : rule__JvmTypeReference__Group_0_1__0__Impl ; + public final void rule__JvmTypeReference__Group_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18431:1: ( rule__JvmTypeReference__Group_0_1__0__Impl ) + // InternalExpression.g:18432:2: rule__JvmTypeReference__Group_0_1__0__Impl + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1__0" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1__0__Impl" + // InternalExpression.g:18438:1: rule__JvmTypeReference__Group_0_1__0__Impl : ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) ; + public final void rule__JvmTypeReference__Group_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18442:1: ( ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) ) + // InternalExpression.g:18443:1: ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) + { + // InternalExpression.g:18443:1: ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) + // InternalExpression.g:18444:2: ( rule__JvmTypeReference__Group_0_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0()); + } + // InternalExpression.g:18445:2: ( rule__JvmTypeReference__Group_0_1_0__0 ) + // InternalExpression.g:18445:3: rule__JvmTypeReference__Group_0_1_0__0 + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1__0__Impl" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__0" + // InternalExpression.g:18454:1: rule__JvmTypeReference__Group_0_1_0__0 : rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1 ; + public final void rule__JvmTypeReference__Group_0_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18458:1: ( rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1 ) + // InternalExpression.g:18459:2: rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1 + { + pushFollow(FOLLOW_43); + rule__JvmTypeReference__Group_0_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1_0__0" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__0__Impl" + // InternalExpression.g:18466:1: rule__JvmTypeReference__Group_0_1_0__0__Impl : ( () ) ; + public final void rule__JvmTypeReference__Group_0_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18470:1: ( ( () ) ) + // InternalExpression.g:18471:1: ( () ) + { + // InternalExpression.g:18471:1: ( () ) + // InternalExpression.g:18472:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()); + } + // InternalExpression.g:18473:2: () + // InternalExpression.g:18473:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1_0__0__Impl" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__1" + // InternalExpression.g:18481:1: rule__JvmTypeReference__Group_0_1_0__1 : rule__JvmTypeReference__Group_0_1_0__1__Impl ; + public final void rule__JvmTypeReference__Group_0_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18485:1: ( rule__JvmTypeReference__Group_0_1_0__1__Impl ) + // InternalExpression.g:18486:2: rule__JvmTypeReference__Group_0_1_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1_0__1" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__1__Impl" + // InternalExpression.g:18492:1: rule__JvmTypeReference__Group_0_1_0__1__Impl : ( ruleArrayBrackets ) ; + public final void rule__JvmTypeReference__Group_0_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18496:1: ( ( ruleArrayBrackets ) ) + // InternalExpression.g:18497:1: ( ruleArrayBrackets ) + { + // InternalExpression.g:18497:1: ( ruleArrayBrackets ) + // InternalExpression.g:18498:2: ruleArrayBrackets + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1_0__1__Impl" + + + // $ANTLR start "rule__ArrayBrackets__Group__0" + // InternalExpression.g:18508:1: rule__ArrayBrackets__Group__0 : rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1 ; + public final void rule__ArrayBrackets__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18512:1: ( rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1 ) + // InternalExpression.g:18513:2: rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1 + { + pushFollow(FOLLOW_44); + rule__ArrayBrackets__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ArrayBrackets__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayBrackets__Group__0" + + + // $ANTLR start "rule__ArrayBrackets__Group__0__Impl" + // InternalExpression.g:18520:1: rule__ArrayBrackets__Group__0__Impl : ( '[' ) ; + public final void rule__ArrayBrackets__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18524:1: ( ( '[' ) ) + // InternalExpression.g:18525:1: ( '[' ) + { + // InternalExpression.g:18525:1: ( '[' ) + // InternalExpression.g:18526:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); + } + match(input,82,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayBrackets__Group__0__Impl" + + + // $ANTLR start "rule__ArrayBrackets__Group__1" + // InternalExpression.g:18535:1: rule__ArrayBrackets__Group__1 : rule__ArrayBrackets__Group__1__Impl ; + public final void rule__ArrayBrackets__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18539:1: ( rule__ArrayBrackets__Group__1__Impl ) + // InternalExpression.g:18540:2: rule__ArrayBrackets__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__ArrayBrackets__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayBrackets__Group__1" + + + // $ANTLR start "rule__ArrayBrackets__Group__1__Impl" + // InternalExpression.g:18546:1: rule__ArrayBrackets__Group__1__Impl : ( ']' ) ; + public final void rule__ArrayBrackets__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18550:1: ( ( ']' ) ) + // InternalExpression.g:18551:1: ( ']' ) + { + // InternalExpression.g:18551:1: ( ']' ) + // InternalExpression.g:18552:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); + } + match(input,83,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayBrackets__Group__1__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__0" + // InternalExpression.g:18562:1: rule__XFunctionTypeRef__Group__0 : rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1 ; + public final void rule__XFunctionTypeRef__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18566:1: ( rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1 ) + // InternalExpression.g:18567:2: rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1 + { + pushFollow(FOLLOW_56); + rule__XFunctionTypeRef__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__0" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__0__Impl" + // InternalExpression.g:18574:1: rule__XFunctionTypeRef__Group__0__Impl : ( ( rule__XFunctionTypeRef__Group_0__0 )? ) ; + public final void rule__XFunctionTypeRef__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18578:1: ( ( ( rule__XFunctionTypeRef__Group_0__0 )? ) ) + // InternalExpression.g:18579:1: ( ( rule__XFunctionTypeRef__Group_0__0 )? ) + { + // InternalExpression.g:18579:1: ( ( rule__XFunctionTypeRef__Group_0__0 )? ) + // InternalExpression.g:18580:2: ( rule__XFunctionTypeRef__Group_0__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0()); + } + // InternalExpression.g:18581:2: ( rule__XFunctionTypeRef__Group_0__0 )? + int alt141=2; + int LA141_0 = input.LA(1); + + if ( (LA141_0==67) ) { + alt141=1; + } + switch (alt141) { + case 1 : + // InternalExpression.g:18581:3: rule__XFunctionTypeRef__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__0__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__1" + // InternalExpression.g:18589:1: rule__XFunctionTypeRef__Group__1 : rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2 ; + public final void rule__XFunctionTypeRef__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18593:1: ( rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2 ) + // InternalExpression.g:18594:2: rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2 + { + pushFollow(FOLLOW_56); + rule__XFunctionTypeRef__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__1" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__1__Impl" + // InternalExpression.g:18601:1: rule__XFunctionTypeRef__Group__1__Impl : ( '=>' ) ; + public final void rule__XFunctionTypeRef__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18605:1: ( ( '=>' ) ) + // InternalExpression.g:18606:1: ( '=>' ) + { + // InternalExpression.g:18606:1: ( '=>' ) + // InternalExpression.g:18607:2: '=>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); + } + match(input,51,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__1__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__2" + // InternalExpression.g:18616:1: rule__XFunctionTypeRef__Group__2 : rule__XFunctionTypeRef__Group__2__Impl ; + public final void rule__XFunctionTypeRef__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18620:1: ( rule__XFunctionTypeRef__Group__2__Impl ) + // InternalExpression.g:18621:2: rule__XFunctionTypeRef__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__2" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__2__Impl" + // InternalExpression.g:18627:1: rule__XFunctionTypeRef__Group__2__Impl : ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) ; + public final void rule__XFunctionTypeRef__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18631:1: ( ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) ) + // InternalExpression.g:18632:1: ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) + { + // InternalExpression.g:18632:1: ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) + // InternalExpression.g:18633:2: ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2()); + } + // InternalExpression.g:18634:2: ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) + // InternalExpression.g:18634:3: rule__XFunctionTypeRef__ReturnTypeAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__ReturnTypeAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__2__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__0" + // InternalExpression.g:18643:1: rule__XFunctionTypeRef__Group_0__0 : rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1 ; + public final void rule__XFunctionTypeRef__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18647:1: ( rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1 ) + // InternalExpression.g:18648:2: rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1 + { + pushFollow(FOLLOW_114); + rule__XFunctionTypeRef__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__0" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__0__Impl" + // InternalExpression.g:18655:1: rule__XFunctionTypeRef__Group_0__0__Impl : ( '(' ) ; + public final void rule__XFunctionTypeRef__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18659:1: ( ( '(' ) ) + // InternalExpression.g:18660:1: ( '(' ) + { + // InternalExpression.g:18660:1: ( '(' ) + // InternalExpression.g:18661:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__0__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__1" + // InternalExpression.g:18670:1: rule__XFunctionTypeRef__Group_0__1 : rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2 ; + public final void rule__XFunctionTypeRef__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18674:1: ( rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2 ) + // InternalExpression.g:18675:2: rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2 + { + pushFollow(FOLLOW_114); + rule__XFunctionTypeRef__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__1" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__1__Impl" + // InternalExpression.g:18682:1: rule__XFunctionTypeRef__Group_0__1__Impl : ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) ; + public final void rule__XFunctionTypeRef__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18686:1: ( ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) ) + // InternalExpression.g:18687:1: ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) + { + // InternalExpression.g:18687:1: ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) + // InternalExpression.g:18688:2: ( rule__XFunctionTypeRef__Group_0_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1()); + } + // InternalExpression.g:18689:2: ( rule__XFunctionTypeRef__Group_0_1__0 )? + int alt142=2; + int LA142_0 = input.LA(1); + + if ( (LA142_0==RULE_ID||LA142_0==51||LA142_0==67) ) { + alt142=1; + } + switch (alt142) { + case 1 : + // InternalExpression.g:18689:3: rule__XFunctionTypeRef__Group_0_1__0 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__1__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__2" + // InternalExpression.g:18697:1: rule__XFunctionTypeRef__Group_0__2 : rule__XFunctionTypeRef__Group_0__2__Impl ; + public final void rule__XFunctionTypeRef__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18701:1: ( rule__XFunctionTypeRef__Group_0__2__Impl ) + // InternalExpression.g:18702:2: rule__XFunctionTypeRef__Group_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__2" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__2__Impl" + // InternalExpression.g:18708:1: rule__XFunctionTypeRef__Group_0__2__Impl : ( ')' ) ; + public final void rule__XFunctionTypeRef__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18712:1: ( ( ')' ) ) + // InternalExpression.g:18713:1: ( ')' ) + { + // InternalExpression.g:18713:1: ( ')' ) + // InternalExpression.g:18714:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__2__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__0" + // InternalExpression.g:18724:1: rule__XFunctionTypeRef__Group_0_1__0 : rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1 ; + public final void rule__XFunctionTypeRef__Group_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18728:1: ( rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1 ) + // InternalExpression.g:18729:2: rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1 + { + pushFollow(FOLLOW_36); + rule__XFunctionTypeRef__Group_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1__0" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__0__Impl" + // InternalExpression.g:18736:1: rule__XFunctionTypeRef__Group_0_1__0__Impl : ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) ; + public final void rule__XFunctionTypeRef__Group_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18740:1: ( ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) ) + // InternalExpression.g:18741:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) + { + // InternalExpression.g:18741:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) + // InternalExpression.g:18742:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0()); + } + // InternalExpression.g:18743:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) + // InternalExpression.g:18743:3: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1__0__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__1" + // InternalExpression.g:18751:1: rule__XFunctionTypeRef__Group_0_1__1 : rule__XFunctionTypeRef__Group_0_1__1__Impl ; + public final void rule__XFunctionTypeRef__Group_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18755:1: ( rule__XFunctionTypeRef__Group_0_1__1__Impl ) + // InternalExpression.g:18756:2: rule__XFunctionTypeRef__Group_0_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1__1" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__1__Impl" + // InternalExpression.g:18762:1: rule__XFunctionTypeRef__Group_0_1__1__Impl : ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) ; + public final void rule__XFunctionTypeRef__Group_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18766:1: ( ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) ) + // InternalExpression.g:18767:1: ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) + { + // InternalExpression.g:18767:1: ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) + // InternalExpression.g:18768:2: ( rule__XFunctionTypeRef__Group_0_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1()); + } + // InternalExpression.g:18769:2: ( rule__XFunctionTypeRef__Group_0_1_1__0 )* + loop143: + do { + int alt143=2; + int LA143_0 = input.LA(1); + + if ( (LA143_0==78) ) { + alt143=1; + } + + + switch (alt143) { + case 1 : + // InternalExpression.g:18769:3: rule__XFunctionTypeRef__Group_0_1_1__0 + { + pushFollow(FOLLOW_37); + rule__XFunctionTypeRef__Group_0_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop143; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1__1__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__0" + // InternalExpression.g:18778:1: rule__XFunctionTypeRef__Group_0_1_1__0 : rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1 ; + public final void rule__XFunctionTypeRef__Group_0_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18782:1: ( rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1 ) + // InternalExpression.g:18783:2: rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1 + { + pushFollow(FOLLOW_56); + rule__XFunctionTypeRef__Group_0_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1_1__0" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__0__Impl" + // InternalExpression.g:18790:1: rule__XFunctionTypeRef__Group_0_1_1__0__Impl : ( ',' ) ; + public final void rule__XFunctionTypeRef__Group_0_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18794:1: ( ( ',' ) ) + // InternalExpression.g:18795:1: ( ',' ) + { + // InternalExpression.g:18795:1: ( ',' ) + // InternalExpression.g:18796:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1_1__0__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__1" + // InternalExpression.g:18805:1: rule__XFunctionTypeRef__Group_0_1_1__1 : rule__XFunctionTypeRef__Group_0_1_1__1__Impl ; + public final void rule__XFunctionTypeRef__Group_0_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18809:1: ( rule__XFunctionTypeRef__Group_0_1_1__1__Impl ) + // InternalExpression.g:18810:2: rule__XFunctionTypeRef__Group_0_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1_1__1" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__1__Impl" + // InternalExpression.g:18816:1: rule__XFunctionTypeRef__Group_0_1_1__1__Impl : ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) ; + public final void rule__XFunctionTypeRef__Group_0_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18820:1: ( ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) ) + // InternalExpression.g:18821:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) + { + // InternalExpression.g:18821:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) + // InternalExpression.g:18822:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1()); + } + // InternalExpression.g:18823:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) + // InternalExpression.g:18823:3: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1_1__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group__0" + // InternalExpression.g:18832:1: rule__JvmParameterizedTypeReference__Group__0 : rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1 ; + public final void rule__JvmParameterizedTypeReference__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18836:1: ( rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1 ) + // InternalExpression.g:18837:2: rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1 + { + pushFollow(FOLLOW_50); + rule__JvmParameterizedTypeReference__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group__0__Impl" + // InternalExpression.g:18844:1: rule__JvmParameterizedTypeReference__Group__0__Impl : ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18848:1: ( ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) ) + // InternalExpression.g:18849:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) + { + // InternalExpression.g:18849:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) + // InternalExpression.g:18850:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0()); + } + // InternalExpression.g:18851:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) + // InternalExpression.g:18851:3: rule__JvmParameterizedTypeReference__TypeAssignment_0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__TypeAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group__1" + // InternalExpression.g:18859:1: rule__JvmParameterizedTypeReference__Group__1 : rule__JvmParameterizedTypeReference__Group__1__Impl ; + public final void rule__JvmParameterizedTypeReference__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18863:1: ( rule__JvmParameterizedTypeReference__Group__1__Impl ) + // InternalExpression.g:18864:2: rule__JvmParameterizedTypeReference__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group__1__Impl" + // InternalExpression.g:18870:1: rule__JvmParameterizedTypeReference__Group__1__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) ; + public final void rule__JvmParameterizedTypeReference__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18874:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) ) + // InternalExpression.g:18875:1: ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) + { + // InternalExpression.g:18875:1: ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) + // InternalExpression.g:18876:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1()); + } + // InternalExpression.g:18877:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )? + int alt144=2; + alt144 = dfa144.predict(input); + switch (alt144) { + case 1 : + // InternalExpression.g:18877:3: rule__JvmParameterizedTypeReference__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__0" + // InternalExpression.g:18886:1: rule__JvmParameterizedTypeReference__Group_1__0 : rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18890:1: ( rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1 ) + // InternalExpression.g:18891:2: rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1 + { + pushFollow(FOLLOW_74); + rule__JvmParameterizedTypeReference__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__0__Impl" + // InternalExpression.g:18898:1: rule__JvmParameterizedTypeReference__Group_1__0__Impl : ( ( '<' ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18902:1: ( ( ( '<' ) ) ) + // InternalExpression.g:18903:1: ( ( '<' ) ) + { + // InternalExpression.g:18903:1: ( ( '<' ) ) + // InternalExpression.g:18904:2: ( '<' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); + } + // InternalExpression.g:18905:2: ( '<' ) + // InternalExpression.g:18905:3: '<' + { + match(input,22,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__1" + // InternalExpression.g:18913:1: rule__JvmParameterizedTypeReference__Group_1__1 : rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2 ; + public final void rule__JvmParameterizedTypeReference__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18917:1: ( rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2 ) + // InternalExpression.g:18918:2: rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2 + { + pushFollow(FOLLOW_75); + rule__JvmParameterizedTypeReference__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__1__Impl" + // InternalExpression.g:18925:1: rule__JvmParameterizedTypeReference__Group_1__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18929:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) ) + // InternalExpression.g:18930:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) + { + // InternalExpression.g:18930:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) + // InternalExpression.g:18931:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1()); + } + // InternalExpression.g:18932:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) + // InternalExpression.g:18932:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__2" + // InternalExpression.g:18940:1: rule__JvmParameterizedTypeReference__Group_1__2 : rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3 ; + public final void rule__JvmParameterizedTypeReference__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18944:1: ( rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3 ) + // InternalExpression.g:18945:2: rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3 + { + pushFollow(FOLLOW_75); + rule__JvmParameterizedTypeReference__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__2" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__2__Impl" + // InternalExpression.g:18952:1: rule__JvmParameterizedTypeReference__Group_1__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) ; + public final void rule__JvmParameterizedTypeReference__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18956:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) ) + // InternalExpression.g:18957:1: ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) + { + // InternalExpression.g:18957:1: ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) + // InternalExpression.g:18958:2: ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2()); + } + // InternalExpression.g:18959:2: ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* + loop145: + do { + int alt145=2; + int LA145_0 = input.LA(1); + + if ( (LA145_0==78) ) { + alt145=1; + } + + + switch (alt145) { + case 1 : + // InternalExpression.g:18959:3: rule__JvmParameterizedTypeReference__Group_1_2__0 + { + pushFollow(FOLLOW_37); + rule__JvmParameterizedTypeReference__Group_1_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop145; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__2__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__3" + // InternalExpression.g:18967:1: rule__JvmParameterizedTypeReference__Group_1__3 : rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4 ; + public final void rule__JvmParameterizedTypeReference__Group_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18971:1: ( rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4 ) + // InternalExpression.g:18972:2: rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4 + { + pushFollow(FOLLOW_32); + rule__JvmParameterizedTypeReference__Group_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__3" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__3__Impl" + // InternalExpression.g:18979:1: rule__JvmParameterizedTypeReference__Group_1__3__Impl : ( '>' ) ; + public final void rule__JvmParameterizedTypeReference__Group_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18983:1: ( ( '>' ) ) + // InternalExpression.g:18984:1: ( '>' ) + { + // InternalExpression.g:18984:1: ( '>' ) + // InternalExpression.g:18985:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__3__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__4" + // InternalExpression.g:18994:1: rule__JvmParameterizedTypeReference__Group_1__4 : rule__JvmParameterizedTypeReference__Group_1__4__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:18998:1: ( rule__JvmParameterizedTypeReference__Group_1__4__Impl ) + // InternalExpression.g:18999:2: rule__JvmParameterizedTypeReference__Group_1__4__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__4" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__4__Impl" + // InternalExpression.g:19005:1: rule__JvmParameterizedTypeReference__Group_1__4__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) ; + public final void rule__JvmParameterizedTypeReference__Group_1__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19009:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) ) + // InternalExpression.g:19010:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) + { + // InternalExpression.g:19010:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) + // InternalExpression.g:19011:2: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4()); + } + // InternalExpression.g:19012:2: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* + loop146: + do { + int alt146=2; + int LA146_0 = input.LA(1); + + if ( (LA146_0==58) ) { + int LA146_2 = input.LA(2); + + if ( (LA146_2==RULE_ID) ) { + int LA146_3 = input.LA(3); + + if ( (synpred219_InternalExpression()) ) { + alt146=1; + } + + + } + + + } + + + switch (alt146) { + case 1 : + // InternalExpression.g:19012:3: rule__JvmParameterizedTypeReference__Group_1_4__0 + { + pushFollow(FOLLOW_33); + rule__JvmParameterizedTypeReference__Group_1_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop146; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__4__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__0" + // InternalExpression.g:19021:1: rule__JvmParameterizedTypeReference__Group_1_2__0 : rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19025:1: ( rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1 ) + // InternalExpression.g:19026:2: rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1 + { + pushFollow(FOLLOW_74); + rule__JvmParameterizedTypeReference__Group_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_2__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__0__Impl" + // InternalExpression.g:19033:1: rule__JvmParameterizedTypeReference__Group_1_2__0__Impl : ( ',' ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19037:1: ( ( ',' ) ) + // InternalExpression.g:19038:1: ( ',' ) + { + // InternalExpression.g:19038:1: ( ',' ) + // InternalExpression.g:19039:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_2__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__1" + // InternalExpression.g:19048:1: rule__JvmParameterizedTypeReference__Group_1_2__1 : rule__JvmParameterizedTypeReference__Group_1_2__1__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19052:1: ( rule__JvmParameterizedTypeReference__Group_1_2__1__Impl ) + // InternalExpression.g:19053:2: rule__JvmParameterizedTypeReference__Group_1_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_2__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__1__Impl" + // InternalExpression.g:19059:1: rule__JvmParameterizedTypeReference__Group_1_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19063:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) ) + // InternalExpression.g:19064:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) + { + // InternalExpression.g:19064:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) + // InternalExpression.g:19065:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1()); + } + // InternalExpression.g:19066:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) + // InternalExpression.g:19066:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_2__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__0" + // InternalExpression.g:19075:1: rule__JvmParameterizedTypeReference__Group_1_4__0 : rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19079:1: ( rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1 ) + // InternalExpression.g:19080:2: rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1 + { + pushFollow(FOLLOW_4); + rule__JvmParameterizedTypeReference__Group_1_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__0__Impl" + // InternalExpression.g:19087:1: rule__JvmParameterizedTypeReference__Group_1_4__0__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19091:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) ) + // InternalExpression.g:19092:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) + { + // InternalExpression.g:19092:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) + // InternalExpression.g:19093:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0()); + } + // InternalExpression.g:19094:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) + // InternalExpression.g:19094:3: rule__JvmParameterizedTypeReference__Group_1_4_0__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__1" + // InternalExpression.g:19102:1: rule__JvmParameterizedTypeReference__Group_1_4__1 : rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19106:1: ( rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2 ) + // InternalExpression.g:19107:2: rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2 + { + pushFollow(FOLLOW_50); + rule__JvmParameterizedTypeReference__Group_1_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__1__Impl" + // InternalExpression.g:19114:1: rule__JvmParameterizedTypeReference__Group_1_4__1__Impl : ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19118:1: ( ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) ) + // InternalExpression.g:19119:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) + { + // InternalExpression.g:19119:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) + // InternalExpression.g:19120:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1()); + } + // InternalExpression.g:19121:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) + // InternalExpression.g:19121:3: rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__2" + // InternalExpression.g:19129:1: rule__JvmParameterizedTypeReference__Group_1_4__2 : rule__JvmParameterizedTypeReference__Group_1_4__2__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19133:1: ( rule__JvmParameterizedTypeReference__Group_1_4__2__Impl ) + // InternalExpression.g:19134:2: rule__JvmParameterizedTypeReference__Group_1_4__2__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__2" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__2__Impl" + // InternalExpression.g:19140:1: rule__JvmParameterizedTypeReference__Group_1_4__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19144:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) ) + // InternalExpression.g:19145:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) + { + // InternalExpression.g:19145:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) + // InternalExpression.g:19146:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2()); + } + // InternalExpression.g:19147:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? + int alt147=2; + alt147 = dfa147.predict(input); + switch (alt147) { + case 1 : + // InternalExpression.g:19147:3: rule__JvmParameterizedTypeReference__Group_1_4_2__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__2__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0__0" + // InternalExpression.g:19156:1: rule__JvmParameterizedTypeReference__Group_1_4_0__0 : rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19160:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl ) + // InternalExpression.g:19161:2: rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl" + // InternalExpression.g:19167:1: rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19171:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) ) + // InternalExpression.g:19172:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) + { + // InternalExpression.g:19172:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) + // InternalExpression.g:19173:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0()); + } + // InternalExpression.g:19174:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) + // InternalExpression.g:19174:3: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0" + // InternalExpression.g:19183:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 : rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19187:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 ) + // InternalExpression.g:19188:2: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 + { + pushFollow(FOLLOW_32); + rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl" + // InternalExpression.g:19195:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl : ( () ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19199:1: ( ( () ) ) + // InternalExpression.g:19200:1: ( () ) + { + // InternalExpression.g:19200:1: ( () ) + // InternalExpression.g:19201:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()); + } + // InternalExpression.g:19202:2: () + // InternalExpression.g:19202:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__1" + // InternalExpression.g:19210:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 : rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19214:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl ) + // InternalExpression.g:19215:2: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0_0__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl" + // InternalExpression.g:19221:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl : ( '.' ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19225:1: ( ( '.' ) ) + // InternalExpression.g:19226:1: ( '.' ) + { + // InternalExpression.g:19226:1: ( '.' ) + // InternalExpression.g:19227:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__0" + // InternalExpression.g:19237:1: rule__JvmParameterizedTypeReference__Group_1_4_2__0 : rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19241:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1 ) + // InternalExpression.g:19242:2: rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1 + { + pushFollow(FOLLOW_74); + rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl" + // InternalExpression.g:19249:1: rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl : ( ( '<' ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19253:1: ( ( ( '<' ) ) ) + // InternalExpression.g:19254:1: ( ( '<' ) ) + { + // InternalExpression.g:19254:1: ( ( '<' ) ) + // InternalExpression.g:19255:2: ( '<' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); + } + // InternalExpression.g:19256:2: ( '<' ) + // InternalExpression.g:19256:3: '<' + { + match(input,22,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__1" + // InternalExpression.g:19264:1: rule__JvmParameterizedTypeReference__Group_1_4_2__1 : rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19268:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2 ) + // InternalExpression.g:19269:2: rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2 + { + pushFollow(FOLLOW_75); + rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl" + // InternalExpression.g:19276:1: rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19280:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) ) + // InternalExpression.g:19281:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) + { + // InternalExpression.g:19281:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) + // InternalExpression.g:19282:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1()); + } + // InternalExpression.g:19283:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) + // InternalExpression.g:19283:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__2" + // InternalExpression.g:19291:1: rule__JvmParameterizedTypeReference__Group_1_4_2__2 : rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19295:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3 ) + // InternalExpression.g:19296:2: rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3 + { + pushFollow(FOLLOW_75); + rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__2" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl" + // InternalExpression.g:19303:1: rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19307:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) ) + // InternalExpression.g:19308:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) + { + // InternalExpression.g:19308:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) + // InternalExpression.g:19309:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2()); + } + // InternalExpression.g:19310:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* + loop148: + do { + int alt148=2; + int LA148_0 = input.LA(1); + + if ( (LA148_0==78) ) { + alt148=1; + } + + + switch (alt148) { + case 1 : + // InternalExpression.g:19310:3: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 + { + pushFollow(FOLLOW_37); + rule__JvmParameterizedTypeReference__Group_1_4_2_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop148; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__3" + // InternalExpression.g:19318:1: rule__JvmParameterizedTypeReference__Group_1_4_2__3 : rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19322:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl ) + // InternalExpression.g:19323:2: rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__3" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl" + // InternalExpression.g:19329:1: rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl : ( '>' ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19333:1: ( ( '>' ) ) + // InternalExpression.g:19334:1: ( '>' ) + { + // InternalExpression.g:19334:1: ( '>' ) + // InternalExpression.g:19335:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0" + // InternalExpression.g:19345:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 : rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19349:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 ) + // InternalExpression.g:19350:2: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 + { + pushFollow(FOLLOW_74); + rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl" + // InternalExpression.g:19357:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl : ( ',' ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19361:1: ( ( ',' ) ) + // InternalExpression.g:19362:1: ( ',' ) + { + // InternalExpression.g:19362:1: ( ',' ) + // InternalExpression.g:19363:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__1" + // InternalExpression.g:19372:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 : rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19376:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl ) + // InternalExpression.g:19377:2: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2_2__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl" + // InternalExpression.g:19383:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19387:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) ) + // InternalExpression.g:19388:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) + { + // InternalExpression.g:19388:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) + // InternalExpression.g:19389:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1()); + } + // InternalExpression.g:19390:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) + // InternalExpression.g:19390:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__0" + // InternalExpression.g:19399:1: rule__JvmWildcardTypeReference__Group__0 : rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1 ; + public final void rule__JvmWildcardTypeReference__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19403:1: ( rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1 ) + // InternalExpression.g:19404:2: rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1 + { + pushFollow(FOLLOW_74); + rule__JvmWildcardTypeReference__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__0" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__0__Impl" + // InternalExpression.g:19411:1: rule__JvmWildcardTypeReference__Group__0__Impl : ( () ) ; + public final void rule__JvmWildcardTypeReference__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19415:1: ( ( () ) ) + // InternalExpression.g:19416:1: ( () ) + { + // InternalExpression.g:19416:1: ( () ) + // InternalExpression.g:19417:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0()); + } + // InternalExpression.g:19418:2: () + // InternalExpression.g:19418:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__0__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__1" + // InternalExpression.g:19426:1: rule__JvmWildcardTypeReference__Group__1 : rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2 ; + public final void rule__JvmWildcardTypeReference__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19430:1: ( rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2 ) + // InternalExpression.g:19431:2: rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2 + { + pushFollow(FOLLOW_115); + rule__JvmWildcardTypeReference__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__1" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__1__Impl" + // InternalExpression.g:19438:1: rule__JvmWildcardTypeReference__Group__1__Impl : ( '?' ) ; + public final void rule__JvmWildcardTypeReference__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19442:1: ( ( '?' ) ) + // InternalExpression.g:19443:1: ( '?' ) + { + // InternalExpression.g:19443:1: ( '?' ) + // InternalExpression.g:19444:2: '?' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); + } + match(input,69,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__1__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__2" + // InternalExpression.g:19453:1: rule__JvmWildcardTypeReference__Group__2 : rule__JvmWildcardTypeReference__Group__2__Impl ; + public final void rule__JvmWildcardTypeReference__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19457:1: ( rule__JvmWildcardTypeReference__Group__2__Impl ) + // InternalExpression.g:19458:2: rule__JvmWildcardTypeReference__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__2" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__2__Impl" + // InternalExpression.g:19464:1: rule__JvmWildcardTypeReference__Group__2__Impl : ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) ; + public final void rule__JvmWildcardTypeReference__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19468:1: ( ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) ) + // InternalExpression.g:19469:1: ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) + { + // InternalExpression.g:19469:1: ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) + // InternalExpression.g:19470:2: ( rule__JvmWildcardTypeReference__Alternatives_2 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2()); + } + // InternalExpression.g:19471:2: ( rule__JvmWildcardTypeReference__Alternatives_2 )? + int alt149=2; + int LA149_0 = input.LA(1); + + if ( (LA149_0==60||LA149_0==64) ) { + alt149=1; + } + switch (alt149) { + case 1 : + // InternalExpression.g:19471:3: rule__JvmWildcardTypeReference__Alternatives_2 + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Alternatives_2(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__2__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__0" + // InternalExpression.g:19480:1: rule__JvmWildcardTypeReference__Group_2_0__0 : rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1 ; + public final void rule__JvmWildcardTypeReference__Group_2_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19484:1: ( rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1 ) + // InternalExpression.g:19485:2: rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1 + { + pushFollow(FOLLOW_116); + rule__JvmWildcardTypeReference__Group_2_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_0__0" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__0__Impl" + // InternalExpression.g:19492:1: rule__JvmWildcardTypeReference__Group_2_0__0__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) ; + public final void rule__JvmWildcardTypeReference__Group_2_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19496:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) ) + // InternalExpression.g:19497:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) + { + // InternalExpression.g:19497:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) + // InternalExpression.g:19498:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0()); + } + // InternalExpression.g:19499:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) + // InternalExpression.g:19499:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_0__0__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__1" + // InternalExpression.g:19507:1: rule__JvmWildcardTypeReference__Group_2_0__1 : rule__JvmWildcardTypeReference__Group_2_0__1__Impl ; + public final void rule__JvmWildcardTypeReference__Group_2_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19511:1: ( rule__JvmWildcardTypeReference__Group_2_0__1__Impl ) + // InternalExpression.g:19512:2: rule__JvmWildcardTypeReference__Group_2_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_0__1" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__1__Impl" + // InternalExpression.g:19518:1: rule__JvmWildcardTypeReference__Group_2_0__1__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) ; + public final void rule__JvmWildcardTypeReference__Group_2_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19522:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) ) + // InternalExpression.g:19523:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) + { + // InternalExpression.g:19523:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) + // InternalExpression.g:19524:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1()); + } + // InternalExpression.g:19525:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* + loop150: + do { + int alt150=2; + int LA150_0 = input.LA(1); + + if ( (LA150_0==100) ) { + alt150=1; + } + + + switch (alt150) { + case 1 : + // InternalExpression.g:19525:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 + { + pushFollow(FOLLOW_117); + rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop150; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_0__1__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__0" + // InternalExpression.g:19534:1: rule__JvmWildcardTypeReference__Group_2_1__0 : rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1 ; + public final void rule__JvmWildcardTypeReference__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19538:1: ( rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1 ) + // InternalExpression.g:19539:2: rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1 + { + pushFollow(FOLLOW_116); + rule__JvmWildcardTypeReference__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_1__0" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__0__Impl" + // InternalExpression.g:19546:1: rule__JvmWildcardTypeReference__Group_2_1__0__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) ; + public final void rule__JvmWildcardTypeReference__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19550:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) ) + // InternalExpression.g:19551:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) + { + // InternalExpression.g:19551:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) + // InternalExpression.g:19552:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0()); + } + // InternalExpression.g:19553:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) + // InternalExpression.g:19553:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_1__0__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__1" + // InternalExpression.g:19561:1: rule__JvmWildcardTypeReference__Group_2_1__1 : rule__JvmWildcardTypeReference__Group_2_1__1__Impl ; + public final void rule__JvmWildcardTypeReference__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19565:1: ( rule__JvmWildcardTypeReference__Group_2_1__1__Impl ) + // InternalExpression.g:19566:2: rule__JvmWildcardTypeReference__Group_2_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_1__1" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__1__Impl" + // InternalExpression.g:19572:1: rule__JvmWildcardTypeReference__Group_2_1__1__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) ; + public final void rule__JvmWildcardTypeReference__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19576:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) ) + // InternalExpression.g:19577:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) + { + // InternalExpression.g:19577:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) + // InternalExpression.g:19578:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1()); + } + // InternalExpression.g:19579:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* + loop151: + do { + int alt151=2; + int LA151_0 = input.LA(1); + + if ( (LA151_0==100) ) { + alt151=1; + } + + + switch (alt151) { + case 1 : + // InternalExpression.g:19579:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 + { + pushFollow(FOLLOW_117); + rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop151; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_1__1__Impl" + + + // $ANTLR start "rule__JvmUpperBound__Group__0" + // InternalExpression.g:19588:1: rule__JvmUpperBound__Group__0 : rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1 ; + public final void rule__JvmUpperBound__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19592:1: ( rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1 ) + // InternalExpression.g:19593:2: rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1 + { + pushFollow(FOLLOW_56); + rule__JvmUpperBound__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmUpperBound__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBound__Group__0" + + + // $ANTLR start "rule__JvmUpperBound__Group__0__Impl" + // InternalExpression.g:19600:1: rule__JvmUpperBound__Group__0__Impl : ( 'extends' ) ; + public final void rule__JvmUpperBound__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19604:1: ( ( 'extends' ) ) + // InternalExpression.g:19605:1: ( 'extends' ) + { + // InternalExpression.g:19605:1: ( 'extends' ) + // InternalExpression.g:19606:2: 'extends' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); + } + match(input,60,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBound__Group__0__Impl" + + + // $ANTLR start "rule__JvmUpperBound__Group__1" + // InternalExpression.g:19615:1: rule__JvmUpperBound__Group__1 : rule__JvmUpperBound__Group__1__Impl ; + public final void rule__JvmUpperBound__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19619:1: ( rule__JvmUpperBound__Group__1__Impl ) + // InternalExpression.g:19620:2: rule__JvmUpperBound__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmUpperBound__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBound__Group__1" + + + // $ANTLR start "rule__JvmUpperBound__Group__1__Impl" + // InternalExpression.g:19626:1: rule__JvmUpperBound__Group__1__Impl : ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) ; + public final void rule__JvmUpperBound__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19630:1: ( ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) ) + // InternalExpression.g:19631:1: ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) + { + // InternalExpression.g:19631:1: ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) + // InternalExpression.g:19632:2: ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1()); + } + // InternalExpression.g:19633:2: ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) + // InternalExpression.g:19633:3: rule__JvmUpperBound__TypeReferenceAssignment_1 + { + pushFollow(FOLLOW_2); + rule__JvmUpperBound__TypeReferenceAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBound__Group__1__Impl" + + + // $ANTLR start "rule__JvmUpperBoundAnded__Group__0" + // InternalExpression.g:19642:1: rule__JvmUpperBoundAnded__Group__0 : rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1 ; + public final void rule__JvmUpperBoundAnded__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19646:1: ( rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1 ) + // InternalExpression.g:19647:2: rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1 + { + pushFollow(FOLLOW_56); + rule__JvmUpperBoundAnded__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmUpperBoundAnded__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBoundAnded__Group__0" + + + // $ANTLR start "rule__JvmUpperBoundAnded__Group__0__Impl" + // InternalExpression.g:19654:1: rule__JvmUpperBoundAnded__Group__0__Impl : ( '&' ) ; + public final void rule__JvmUpperBoundAnded__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19658:1: ( ( '&' ) ) + // InternalExpression.g:19659:1: ( '&' ) + { + // InternalExpression.g:19659:1: ( '&' ) + // InternalExpression.g:19660:2: '&' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); + } + match(input,100,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBoundAnded__Group__0__Impl" + + + // $ANTLR start "rule__JvmUpperBoundAnded__Group__1" + // InternalExpression.g:19669:1: rule__JvmUpperBoundAnded__Group__1 : rule__JvmUpperBoundAnded__Group__1__Impl ; + public final void rule__JvmUpperBoundAnded__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19673:1: ( rule__JvmUpperBoundAnded__Group__1__Impl ) + // InternalExpression.g:19674:2: rule__JvmUpperBoundAnded__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmUpperBoundAnded__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBoundAnded__Group__1" + + + // $ANTLR start "rule__JvmUpperBoundAnded__Group__1__Impl" + // InternalExpression.g:19680:1: rule__JvmUpperBoundAnded__Group__1__Impl : ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) ; + public final void rule__JvmUpperBoundAnded__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19684:1: ( ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) ) + // InternalExpression.g:19685:1: ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) + { + // InternalExpression.g:19685:1: ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) + // InternalExpression.g:19686:2: ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1()); + } + // InternalExpression.g:19687:2: ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) + // InternalExpression.g:19687:3: rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 + { + pushFollow(FOLLOW_2); + rule__JvmUpperBoundAnded__TypeReferenceAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBoundAnded__Group__1__Impl" + + + // $ANTLR start "rule__JvmLowerBound__Group__0" + // InternalExpression.g:19696:1: rule__JvmLowerBound__Group__0 : rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1 ; + public final void rule__JvmLowerBound__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19700:1: ( rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1 ) + // InternalExpression.g:19701:2: rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1 + { + pushFollow(FOLLOW_56); + rule__JvmLowerBound__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmLowerBound__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBound__Group__0" + + + // $ANTLR start "rule__JvmLowerBound__Group__0__Impl" + // InternalExpression.g:19708:1: rule__JvmLowerBound__Group__0__Impl : ( 'super' ) ; + public final void rule__JvmLowerBound__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19712:1: ( ( 'super' ) ) + // InternalExpression.g:19713:1: ( 'super' ) + { + // InternalExpression.g:19713:1: ( 'super' ) + // InternalExpression.g:19714:2: 'super' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); + } + match(input,64,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBound__Group__0__Impl" + + + // $ANTLR start "rule__JvmLowerBound__Group__1" + // InternalExpression.g:19723:1: rule__JvmLowerBound__Group__1 : rule__JvmLowerBound__Group__1__Impl ; + public final void rule__JvmLowerBound__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19727:1: ( rule__JvmLowerBound__Group__1__Impl ) + // InternalExpression.g:19728:2: rule__JvmLowerBound__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmLowerBound__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBound__Group__1" + + + // $ANTLR start "rule__JvmLowerBound__Group__1__Impl" + // InternalExpression.g:19734:1: rule__JvmLowerBound__Group__1__Impl : ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) ; + public final void rule__JvmLowerBound__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19738:1: ( ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) ) + // InternalExpression.g:19739:1: ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) + { + // InternalExpression.g:19739:1: ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) + // InternalExpression.g:19740:2: ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1()); + } + // InternalExpression.g:19741:2: ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) + // InternalExpression.g:19741:3: rule__JvmLowerBound__TypeReferenceAssignment_1 + { + pushFollow(FOLLOW_2); + rule__JvmLowerBound__TypeReferenceAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBound__Group__1__Impl" + + + // $ANTLR start "rule__JvmLowerBoundAnded__Group__0" + // InternalExpression.g:19750:1: rule__JvmLowerBoundAnded__Group__0 : rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1 ; + public final void rule__JvmLowerBoundAnded__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19754:1: ( rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1 ) + // InternalExpression.g:19755:2: rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1 + { + pushFollow(FOLLOW_56); + rule__JvmLowerBoundAnded__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmLowerBoundAnded__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBoundAnded__Group__0" + + + // $ANTLR start "rule__JvmLowerBoundAnded__Group__0__Impl" + // InternalExpression.g:19762:1: rule__JvmLowerBoundAnded__Group__0__Impl : ( '&' ) ; + public final void rule__JvmLowerBoundAnded__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19766:1: ( ( '&' ) ) + // InternalExpression.g:19767:1: ( '&' ) + { + // InternalExpression.g:19767:1: ( '&' ) + // InternalExpression.g:19768:2: '&' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); + } + match(input,100,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBoundAnded__Group__0__Impl" + + + // $ANTLR start "rule__JvmLowerBoundAnded__Group__1" + // InternalExpression.g:19777:1: rule__JvmLowerBoundAnded__Group__1 : rule__JvmLowerBoundAnded__Group__1__Impl ; + public final void rule__JvmLowerBoundAnded__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19781:1: ( rule__JvmLowerBoundAnded__Group__1__Impl ) + // InternalExpression.g:19782:2: rule__JvmLowerBoundAnded__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmLowerBoundAnded__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBoundAnded__Group__1" + + + // $ANTLR start "rule__JvmLowerBoundAnded__Group__1__Impl" + // InternalExpression.g:19788:1: rule__JvmLowerBoundAnded__Group__1__Impl : ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) ; + public final void rule__JvmLowerBoundAnded__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19792:1: ( ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) ) + // InternalExpression.g:19793:1: ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) + { + // InternalExpression.g:19793:1: ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) + // InternalExpression.g:19794:2: ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1()); + } + // InternalExpression.g:19795:2: ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) + // InternalExpression.g:19795:3: rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 + { + pushFollow(FOLLOW_2); + rule__JvmLowerBoundAnded__TypeReferenceAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBoundAnded__Group__1__Impl" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__0" + // InternalExpression.g:19804:1: rule__QualifiedNameWithWildcard__Group__0 : rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 ; + public final void rule__QualifiedNameWithWildcard__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19808:1: ( rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 ) + // InternalExpression.g:19809:2: rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 + { + pushFollow(FOLLOW_32); + rule__QualifiedNameWithWildcard__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__QualifiedNameWithWildcard__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__0" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__0__Impl" + // InternalExpression.g:19816:1: rule__QualifiedNameWithWildcard__Group__0__Impl : ( ruleQualifiedName ) ; + public final void rule__QualifiedNameWithWildcard__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19820:1: ( ( ruleQualifiedName ) ) + // InternalExpression.g:19821:1: ( ruleQualifiedName ) + { + // InternalExpression.g:19821:1: ( ruleQualifiedName ) + // InternalExpression.g:19822:2: ruleQualifiedName + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__0__Impl" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__1" + // InternalExpression.g:19831:1: rule__QualifiedNameWithWildcard__Group__1 : rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2 ; + public final void rule__QualifiedNameWithWildcard__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19835:1: ( rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2 ) + // InternalExpression.g:19836:2: rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2 + { + pushFollow(FOLLOW_118); + rule__QualifiedNameWithWildcard__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__QualifiedNameWithWildcard__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__1" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__1__Impl" + // InternalExpression.g:19843:1: rule__QualifiedNameWithWildcard__Group__1__Impl : ( '.' ) ; + public final void rule__QualifiedNameWithWildcard__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19847:1: ( ( '.' ) ) + // InternalExpression.g:19848:1: ( '.' ) + { + // InternalExpression.g:19848:1: ( '.' ) + // InternalExpression.g:19849:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__1__Impl" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__2" + // InternalExpression.g:19858:1: rule__QualifiedNameWithWildcard__Group__2 : rule__QualifiedNameWithWildcard__Group__2__Impl ; + public final void rule__QualifiedNameWithWildcard__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19862:1: ( rule__QualifiedNameWithWildcard__Group__2__Impl ) + // InternalExpression.g:19863:2: rule__QualifiedNameWithWildcard__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__QualifiedNameWithWildcard__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__2" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__2__Impl" + // InternalExpression.g:19869:1: rule__QualifiedNameWithWildcard__Group__2__Impl : ( '*' ) ; + public final void rule__QualifiedNameWithWildcard__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19873:1: ( ( '*' ) ) + // InternalExpression.g:19874:1: ( '*' ) + { + // InternalExpression.g:19874:1: ( '*' ) + // InternalExpression.g:19875:2: '*' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); + } + match(input,25,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__2__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group__0" + // InternalExpression.g:19885:1: rule__XImportDeclaration__Group__0 : rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 ; + public final void rule__XImportDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19889:1: ( rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 ) + // InternalExpression.g:19890:2: rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 + { + pushFollow(FOLLOW_119); + rule__XImportDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__0" + + + // $ANTLR start "rule__XImportDeclaration__Group__0__Impl" + // InternalExpression.g:19897:1: rule__XImportDeclaration__Group__0__Impl : ( 'import' ) ; + public final void rule__XImportDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19901:1: ( ( 'import' ) ) + // InternalExpression.g:19902:1: ( 'import' ) + { + // InternalExpression.g:19902:1: ( 'import' ) + // InternalExpression.g:19903:2: 'import' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); + } + match(input,62,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group__1" + // InternalExpression.g:19912:1: rule__XImportDeclaration__Group__1 : rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 ; + public final void rule__XImportDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19916:1: ( rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 ) + // InternalExpression.g:19917:2: rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 + { + pushFollow(FOLLOW_84); + rule__XImportDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__1" + + + // $ANTLR start "rule__XImportDeclaration__Group__1__Impl" + // InternalExpression.g:19924:1: rule__XImportDeclaration__Group__1__Impl : ( ( rule__XImportDeclaration__Alternatives_1 ) ) ; + public final void rule__XImportDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19928:1: ( ( ( rule__XImportDeclaration__Alternatives_1 ) ) ) + // InternalExpression.g:19929:1: ( ( rule__XImportDeclaration__Alternatives_1 ) ) + { + // InternalExpression.g:19929:1: ( ( rule__XImportDeclaration__Alternatives_1 ) ) + // InternalExpression.g:19930:2: ( rule__XImportDeclaration__Alternatives_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getAlternatives_1()); + } + // InternalExpression.g:19931:2: ( rule__XImportDeclaration__Alternatives_1 ) + // InternalExpression.g:19931:3: rule__XImportDeclaration__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group__2" + // InternalExpression.g:19939:1: rule__XImportDeclaration__Group__2 : rule__XImportDeclaration__Group__2__Impl ; + public final void rule__XImportDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19943:1: ( rule__XImportDeclaration__Group__2__Impl ) + // InternalExpression.g:19944:2: rule__XImportDeclaration__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__2" + + + // $ANTLR start "rule__XImportDeclaration__Group__2__Impl" + // InternalExpression.g:19950:1: rule__XImportDeclaration__Group__2__Impl : ( ( ';' )? ) ; + public final void rule__XImportDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19954:1: ( ( ( ';' )? ) ) + // InternalExpression.g:19955:1: ( ( ';' )? ) + { + // InternalExpression.g:19955:1: ( ( ';' )? ) + // InternalExpression.g:19956:2: ( ';' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); + } + // InternalExpression.g:19957:2: ( ';' )? + int alt152=2; + int LA152_0 = input.LA(1); + + if ( (LA152_0==88) ) { + alt152=1; + } + switch (alt152) { + case 1 : + // InternalExpression.g:19957:3: ';' + { + match(input,88,FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__0" + // InternalExpression.g:19966:1: rule__XImportDeclaration__Group_1_0__0 : rule__XImportDeclaration__Group_1_0__0__Impl rule__XImportDeclaration__Group_1_0__1 ; + public final void rule__XImportDeclaration__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19970:1: ( rule__XImportDeclaration__Group_1_0__0__Impl rule__XImportDeclaration__Group_1_0__1 ) + // InternalExpression.g:19971:2: rule__XImportDeclaration__Group_1_0__0__Impl rule__XImportDeclaration__Group_1_0__1 + { + pushFollow(FOLLOW_120); + rule__XImportDeclaration__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__0" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__0__Impl" + // InternalExpression.g:19978:1: rule__XImportDeclaration__Group_1_0__0__Impl : ( ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) ) ; + public final void rule__XImportDeclaration__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19982:1: ( ( ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) ) ) + // InternalExpression.g:19983:1: ( ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) ) + { + // InternalExpression.g:19983:1: ( ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) ) + // InternalExpression.g:19984:2: ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0()); + } + // InternalExpression.g:19985:2: ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) + // InternalExpression.g:19985:3: rule__XImportDeclaration__StaticAssignment_1_0_0 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__StaticAssignment_1_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__1" + // InternalExpression.g:19993:1: rule__XImportDeclaration__Group_1_0__1 : rule__XImportDeclaration__Group_1_0__1__Impl rule__XImportDeclaration__Group_1_0__2 ; + public final void rule__XImportDeclaration__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:19997:1: ( rule__XImportDeclaration__Group_1_0__1__Impl rule__XImportDeclaration__Group_1_0__2 ) + // InternalExpression.g:19998:2: rule__XImportDeclaration__Group_1_0__1__Impl rule__XImportDeclaration__Group_1_0__2 + { + pushFollow(FOLLOW_120); + rule__XImportDeclaration__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group_1_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__1" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__1__Impl" + // InternalExpression.g:20005:1: rule__XImportDeclaration__Group_1_0__1__Impl : ( ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? ) ; + public final void rule__XImportDeclaration__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20009:1: ( ( ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? ) ) + // InternalExpression.g:20010:1: ( ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? ) + { + // InternalExpression.g:20010:1: ( ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? ) + // InternalExpression.g:20011:2: ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1()); + } + // InternalExpression.g:20012:2: ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? + int alt153=2; + int LA153_0 = input.LA(1); + + if ( (LA153_0==63) ) { + alt153=1; + } + switch (alt153) { + case 1 : + // InternalExpression.g:20012:3: rule__XImportDeclaration__ExtensionAssignment_1_0_1 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__ExtensionAssignment_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__1__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__2" + // InternalExpression.g:20020:1: rule__XImportDeclaration__Group_1_0__2 : rule__XImportDeclaration__Group_1_0__2__Impl rule__XImportDeclaration__Group_1_0__3 ; + public final void rule__XImportDeclaration__Group_1_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20024:1: ( rule__XImportDeclaration__Group_1_0__2__Impl rule__XImportDeclaration__Group_1_0__3 ) + // InternalExpression.g:20025:2: rule__XImportDeclaration__Group_1_0__2__Impl rule__XImportDeclaration__Group_1_0__3 + { + pushFollow(FOLLOW_121); + rule__XImportDeclaration__Group_1_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group_1_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__2" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__2__Impl" + // InternalExpression.g:20032:1: rule__XImportDeclaration__Group_1_0__2__Impl : ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) ) ; + public final void rule__XImportDeclaration__Group_1_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20036:1: ( ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) ) ) + // InternalExpression.g:20037:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) ) + { + // InternalExpression.g:20037:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) ) + // InternalExpression.g:20038:2: ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2()); + } + // InternalExpression.g:20039:2: ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) + // InternalExpression.g:20039:3: rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__ImportedTypeAssignment_1_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__2__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__3" + // InternalExpression.g:20047:1: rule__XImportDeclaration__Group_1_0__3 : rule__XImportDeclaration__Group_1_0__3__Impl ; + public final void rule__XImportDeclaration__Group_1_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20051:1: ( rule__XImportDeclaration__Group_1_0__3__Impl ) + // InternalExpression.g:20052:2: rule__XImportDeclaration__Group_1_0__3__Impl + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group_1_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__3" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__3__Impl" + // InternalExpression.g:20058:1: rule__XImportDeclaration__Group_1_0__3__Impl : ( ( rule__XImportDeclaration__Alternatives_1_0_3 ) ) ; + public final void rule__XImportDeclaration__Group_1_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20062:1: ( ( ( rule__XImportDeclaration__Alternatives_1_0_3 ) ) ) + // InternalExpression.g:20063:1: ( ( rule__XImportDeclaration__Alternatives_1_0_3 ) ) + { + // InternalExpression.g:20063:1: ( ( rule__XImportDeclaration__Alternatives_1_0_3 ) ) + // InternalExpression.g:20064:2: ( rule__XImportDeclaration__Alternatives_1_0_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3()); + } + // InternalExpression.g:20065:2: ( rule__XImportDeclaration__Alternatives_1_0_3 ) + // InternalExpression.g:20065:3: rule__XImportDeclaration__Alternatives_1_0_3 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Alternatives_1_0_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__3__Impl" + + + // $ANTLR start "rule__QualifiedNameInStaticImport__Group__0" + // InternalExpression.g:20074:1: rule__QualifiedNameInStaticImport__Group__0 : rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1 ; + public final void rule__QualifiedNameInStaticImport__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20078:1: ( rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1 ) + // InternalExpression.g:20079:2: rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1 + { + pushFollow(FOLLOW_32); + rule__QualifiedNameInStaticImport__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__QualifiedNameInStaticImport__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameInStaticImport__Group__0" + + + // $ANTLR start "rule__QualifiedNameInStaticImport__Group__0__Impl" + // InternalExpression.g:20086:1: rule__QualifiedNameInStaticImport__Group__0__Impl : ( ruleValidID ) ; + public final void rule__QualifiedNameInStaticImport__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20090:1: ( ( ruleValidID ) ) + // InternalExpression.g:20091:1: ( ruleValidID ) + { + // InternalExpression.g:20091:1: ( ruleValidID ) + // InternalExpression.g:20092:2: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameInStaticImport__Group__0__Impl" + + + // $ANTLR start "rule__QualifiedNameInStaticImport__Group__1" + // InternalExpression.g:20101:1: rule__QualifiedNameInStaticImport__Group__1 : rule__QualifiedNameInStaticImport__Group__1__Impl ; + public final void rule__QualifiedNameInStaticImport__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20105:1: ( rule__QualifiedNameInStaticImport__Group__1__Impl ) + // InternalExpression.g:20106:2: rule__QualifiedNameInStaticImport__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__QualifiedNameInStaticImport__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameInStaticImport__Group__1" + + + // $ANTLR start "rule__QualifiedNameInStaticImport__Group__1__Impl" + // InternalExpression.g:20112:1: rule__QualifiedNameInStaticImport__Group__1__Impl : ( '.' ) ; + public final void rule__QualifiedNameInStaticImport__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20116:1: ( ( '.' ) ) + // InternalExpression.g:20117:1: ( '.' ) + { + // InternalExpression.g:20117:1: ( '.' ) + // InternalExpression.g:20118:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameInStaticImport__Group__1__Impl" + + + // $ANTLR start "rule__LetExpression__IdentifierAssignment_1" + // InternalExpression.g:20128:1: rule__LetExpression__IdentifierAssignment_1 : ( ruleIdentifier ) ; + public final void rule__LetExpression__IdentifierAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20132:1: ( ( ruleIdentifier ) ) + // InternalExpression.g:20133:2: ( ruleIdentifier ) + { + // InternalExpression.g:20133:2: ( ruleIdentifier ) + // InternalExpression.g:20134:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LetExpression__IdentifierAssignment_1" + + + // $ANTLR start "rule__LetExpression__VarExprAssignment_3" + // InternalExpression.g:20143:1: rule__LetExpression__VarExprAssignment_3 : ( ruleExpression ) ; + public final void rule__LetExpression__VarExprAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20147:1: ( ( ruleExpression ) ) + // InternalExpression.g:20148:2: ( ruleExpression ) + { + // InternalExpression.g:20148:2: ( ruleExpression ) + // InternalExpression.g:20149:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LetExpression__VarExprAssignment_3" + + + // $ANTLR start "rule__LetExpression__TargetAssignment_5" + // InternalExpression.g:20158:1: rule__LetExpression__TargetAssignment_5 : ( ruleExpression ) ; + public final void rule__LetExpression__TargetAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20162:1: ( ( ruleExpression ) ) + // InternalExpression.g:20163:2: ( ruleExpression ) + { + // InternalExpression.g:20163:2: ( ruleExpression ) + // InternalExpression.g:20164:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LetExpression__TargetAssignment_5" + + + // $ANTLR start "rule__CastedExpression__TypeAssignment_1" + // InternalExpression.g:20173:1: rule__CastedExpression__TypeAssignment_1 : ( ruleType ) ; + public final void rule__CastedExpression__TypeAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20177:1: ( ( ruleType ) ) + // InternalExpression.g:20178:2: ( ruleType ) + { + // InternalExpression.g:20178:2: ( ruleType ) + // InternalExpression.g:20179:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CastedExpression__TypeAssignment_1" + + + // $ANTLR start "rule__CastedExpression__TargetAssignment_3" + // InternalExpression.g:20188:1: rule__CastedExpression__TargetAssignment_3 : ( ruleExpression ) ; + public final void rule__CastedExpression__TargetAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20192:1: ( ( ruleExpression ) ) + // InternalExpression.g:20193:2: ( ruleExpression ) + { + // InternalExpression.g:20193:2: ( ruleExpression ) + // InternalExpression.g:20194:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CastedExpression__TargetAssignment_3" + + + // $ANTLR start "rule__ChainExpression__NextAssignment_1_2" + // InternalExpression.g:20203:1: rule__ChainExpression__NextAssignment_1_2 : ( ruleChainedExpression ) ; + public final void rule__ChainExpression__NextAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20207:1: ( ( ruleChainedExpression ) ) + // InternalExpression.g:20208:2: ( ruleChainedExpression ) + { + // InternalExpression.g:20208:2: ( ruleChainedExpression ) + // InternalExpression.g:20209:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChainExpression__NextAssignment_1_2" + + + // $ANTLR start "rule__IfExpressionTri__ThenPartAssignment_1_2" + // InternalExpression.g:20218:1: rule__IfExpressionTri__ThenPartAssignment_1_2 : ( ruleChainedExpression ) ; + public final void rule__IfExpressionTri__ThenPartAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20222:1: ( ( ruleChainedExpression ) ) + // InternalExpression.g:20223:2: ( ruleChainedExpression ) + { + // InternalExpression.g:20223:2: ( ruleChainedExpression ) + // InternalExpression.g:20224:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfExpressionTri__ThenPartAssignment_1_2" + + + // $ANTLR start "rule__IfExpressionTri__ElsePartAssignment_1_4" + // InternalExpression.g:20233:1: rule__IfExpressionTri__ElsePartAssignment_1_4 : ( ruleChainedExpression ) ; + public final void rule__IfExpressionTri__ElsePartAssignment_1_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20237:1: ( ( ruleChainedExpression ) ) + // InternalExpression.g:20238:2: ( ruleChainedExpression ) + { + // InternalExpression.g:20238:2: ( ruleChainedExpression ) + // InternalExpression.g:20239:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfExpressionTri__ElsePartAssignment_1_4" + + + // $ANTLR start "rule__IfExpressionKw__ConditionAssignment_1" + // InternalExpression.g:20248:1: rule__IfExpressionKw__ConditionAssignment_1 : ( ruleChainedExpression ) ; + public final void rule__IfExpressionKw__ConditionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20252:1: ( ( ruleChainedExpression ) ) + // InternalExpression.g:20253:2: ( ruleChainedExpression ) + { + // InternalExpression.g:20253:2: ( ruleChainedExpression ) + // InternalExpression.g:20254:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfExpressionKw__ConditionAssignment_1" + + + // $ANTLR start "rule__IfExpressionKw__ThenPartAssignment_3" + // InternalExpression.g:20263:1: rule__IfExpressionKw__ThenPartAssignment_3 : ( ruleChainedExpression ) ; + public final void rule__IfExpressionKw__ThenPartAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20267:1: ( ( ruleChainedExpression ) ) + // InternalExpression.g:20268:2: ( ruleChainedExpression ) + { + // InternalExpression.g:20268:2: ( ruleChainedExpression ) + // InternalExpression.g:20269:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfExpressionKw__ThenPartAssignment_3" + + + // $ANTLR start "rule__IfExpressionKw__ElsePartAssignment_4_0_1" + // InternalExpression.g:20278:1: rule__IfExpressionKw__ElsePartAssignment_4_0_1 : ( ruleChainedExpression ) ; + public final void rule__IfExpressionKw__ElsePartAssignment_4_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20282:1: ( ( ruleChainedExpression ) ) + // InternalExpression.g:20283:2: ( ruleChainedExpression ) + { + // InternalExpression.g:20283:2: ( ruleChainedExpression ) + // InternalExpression.g:20284:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfExpressionKw__ElsePartAssignment_4_0_1" + + + // $ANTLR start "rule__SwitchExpression__SwitchExprAssignment_1_1" + // InternalExpression.g:20293:1: rule__SwitchExpression__SwitchExprAssignment_1_1 : ( ruleOrExpression ) ; + public final void rule__SwitchExpression__SwitchExprAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20297:1: ( ( ruleOrExpression ) ) + // InternalExpression.g:20298:2: ( ruleOrExpression ) + { + // InternalExpression.g:20298:2: ( ruleOrExpression ) + // InternalExpression.g:20299:3: ruleOrExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleOrExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SwitchExpression__SwitchExprAssignment_1_1" + + + // $ANTLR start "rule__SwitchExpression__CaseAssignment_3" + // InternalExpression.g:20308:1: rule__SwitchExpression__CaseAssignment_3 : ( ruleCase ) ; + public final void rule__SwitchExpression__CaseAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20312:1: ( ( ruleCase ) ) + // InternalExpression.g:20313:2: ( ruleCase ) + { + // InternalExpression.g:20313:2: ( ruleCase ) + // InternalExpression.g:20314:3: ruleCase + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleCase(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SwitchExpression__CaseAssignment_3" + + + // $ANTLR start "rule__SwitchExpression__DefaultExprAssignment_6" + // InternalExpression.g:20323:1: rule__SwitchExpression__DefaultExprAssignment_6 : ( ruleOrExpression ) ; + public final void rule__SwitchExpression__DefaultExprAssignment_6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20327:1: ( ( ruleOrExpression ) ) + // InternalExpression.g:20328:2: ( ruleOrExpression ) + { + // InternalExpression.g:20328:2: ( ruleOrExpression ) + // InternalExpression.g:20329:3: ruleOrExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); + } + pushFollow(FOLLOW_2); + ruleOrExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SwitchExpression__DefaultExprAssignment_6" + + + // $ANTLR start "rule__Case__ConditionAssignment_1" + // InternalExpression.g:20338:1: rule__Case__ConditionAssignment_1 : ( ruleOrExpression ) ; + public final void rule__Case__ConditionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20342:1: ( ( ruleOrExpression ) ) + // InternalExpression.g:20343:2: ( ruleOrExpression ) + { + // InternalExpression.g:20343:2: ( ruleOrExpression ) + // InternalExpression.g:20344:3: ruleOrExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleOrExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Case__ConditionAssignment_1" + + + // $ANTLR start "rule__Case__ThenParAssignment_3" + // InternalExpression.g:20353:1: rule__Case__ThenParAssignment_3 : ( ruleOrExpression ) ; + public final void rule__Case__ThenParAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20357:1: ( ( ruleOrExpression ) ) + // InternalExpression.g:20358:2: ( ruleOrExpression ) + { + // InternalExpression.g:20358:2: ( ruleOrExpression ) + // InternalExpression.g:20359:3: ruleOrExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleOrExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Case__ThenParAssignment_3" + + + // $ANTLR start "rule__OrExpression__OperatorAssignment_1_1" + // InternalExpression.g:20368:1: rule__OrExpression__OperatorAssignment_1_1 : ( ( '||' ) ) ; + public final void rule__OrExpression__OperatorAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20372:1: ( ( ( '||' ) ) ) + // InternalExpression.g:20373:2: ( ( '||' ) ) + { + // InternalExpression.g:20373:2: ( ( '||' ) ) + // InternalExpression.g:20374:3: ( '||' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); + } + // InternalExpression.g:20375:3: ( '||' ) + // InternalExpression.g:20376:4: '||' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); + } + match(input,15,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrExpression__OperatorAssignment_1_1" + + + // $ANTLR start "rule__OrExpression__RightAssignment_1_2" + // InternalExpression.g:20387:1: rule__OrExpression__RightAssignment_1_2 : ( ruleAndExpression ) ; + public final void rule__OrExpression__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20391:1: ( ( ruleAndExpression ) ) + // InternalExpression.g:20392:2: ( ruleAndExpression ) + { + // InternalExpression.g:20392:2: ( ruleAndExpression ) + // InternalExpression.g:20393:3: ruleAndExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleAndExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrExpression__RightAssignment_1_2" + + + // $ANTLR start "rule__AndExpression__OperatorAssignment_1_1" + // InternalExpression.g:20402:1: rule__AndExpression__OperatorAssignment_1_1 : ( ( '&&' ) ) ; + public final void rule__AndExpression__OperatorAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20406:1: ( ( ( '&&' ) ) ) + // InternalExpression.g:20407:2: ( ( '&&' ) ) + { + // InternalExpression.g:20407:2: ( ( '&&' ) ) + // InternalExpression.g:20408:3: ( '&&' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + } + // InternalExpression.g:20409:3: ( '&&' ) + // InternalExpression.g:20410:4: '&&' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + } + match(input,16,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndExpression__OperatorAssignment_1_1" + + + // $ANTLR start "rule__AndExpression__RightAssignment_1_2" + // InternalExpression.g:20421:1: rule__AndExpression__RightAssignment_1_2 : ( ruleImpliesExpression ) ; + public final void rule__AndExpression__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20425:1: ( ( ruleImpliesExpression ) ) + // InternalExpression.g:20426:2: ( ruleImpliesExpression ) + { + // InternalExpression.g:20426:2: ( ruleImpliesExpression ) + // InternalExpression.g:20427:3: ruleImpliesExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleImpliesExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndExpression__RightAssignment_1_2" + + + // $ANTLR start "rule__ImpliesExpression__OperatorAssignment_1_1" + // InternalExpression.g:20436:1: rule__ImpliesExpression__OperatorAssignment_1_1 : ( ( 'implies' ) ) ; + public final void rule__ImpliesExpression__OperatorAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20440:1: ( ( ( 'implies' ) ) ) + // InternalExpression.g:20441:2: ( ( 'implies' ) ) + { + // InternalExpression.g:20441:2: ( ( 'implies' ) ) + // InternalExpression.g:20442:3: ( 'implies' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); + } + // InternalExpression.g:20443:3: ( 'implies' ) + // InternalExpression.g:20444:4: 'implies' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); + } + match(input,101,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImpliesExpression__OperatorAssignment_1_1" + + + // $ANTLR start "rule__ImpliesExpression__RightAssignment_1_2" + // InternalExpression.g:20455:1: rule__ImpliesExpression__RightAssignment_1_2 : ( ruleRelationalExpression ) ; + public final void rule__ImpliesExpression__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20459:1: ( ( ruleRelationalExpression ) ) + // InternalExpression.g:20460:2: ( ruleRelationalExpression ) + { + // InternalExpression.g:20460:2: ( ruleRelationalExpression ) + // InternalExpression.g:20461:3: ruleRelationalExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleRelationalExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImpliesExpression__RightAssignment_1_2" + + + // $ANTLR start "rule__RelationalExpression__OperatorAssignment_1_1" + // InternalExpression.g:20470:1: rule__RelationalExpression__OperatorAssignment_1_1 : ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) ; + public final void rule__RelationalExpression__OperatorAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20474:1: ( ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) ) + // InternalExpression.g:20475:2: ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) + { + // InternalExpression.g:20475:2: ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) + // InternalExpression.g:20476:3: ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); + } + // InternalExpression.g:20477:3: ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) + // InternalExpression.g:20477:4: rule__RelationalExpression__OperatorAlternatives_1_1_0 + { + pushFollow(FOLLOW_2); + rule__RelationalExpression__OperatorAlternatives_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RelationalExpression__OperatorAssignment_1_1" + + + // $ANTLR start "rule__RelationalExpression__RightAssignment_1_2" + // InternalExpression.g:20485:1: rule__RelationalExpression__RightAssignment_1_2 : ( ruleAdditiveExpression ) ; + public final void rule__RelationalExpression__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20489:1: ( ( ruleAdditiveExpression ) ) + // InternalExpression.g:20490:2: ( ruleAdditiveExpression ) + { + // InternalExpression.g:20490:2: ( ruleAdditiveExpression ) + // InternalExpression.g:20491:3: ruleAdditiveExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleAdditiveExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RelationalExpression__RightAssignment_1_2" + + + // $ANTLR start "rule__AdditiveExpression__NameAssignment_1_1" + // InternalExpression.g:20500:1: rule__AdditiveExpression__NameAssignment_1_1 : ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) ; + public final void rule__AdditiveExpression__NameAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20504:1: ( ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) ) + // InternalExpression.g:20505:2: ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) + { + // InternalExpression.g:20505:2: ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) + // InternalExpression.g:20506:3: ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); + } + // InternalExpression.g:20507:3: ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) + // InternalExpression.g:20507:4: rule__AdditiveExpression__NameAlternatives_1_1_0 + { + pushFollow(FOLLOW_2); + rule__AdditiveExpression__NameAlternatives_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveExpression__NameAssignment_1_1" + + + // $ANTLR start "rule__AdditiveExpression__ParamsAssignment_1_2" + // InternalExpression.g:20515:1: rule__AdditiveExpression__ParamsAssignment_1_2 : ( ruleMultiplicativeExpression ) ; + public final void rule__AdditiveExpression__ParamsAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20519:1: ( ( ruleMultiplicativeExpression ) ) + // InternalExpression.g:20520:2: ( ruleMultiplicativeExpression ) + { + // InternalExpression.g:20520:2: ( ruleMultiplicativeExpression ) + // InternalExpression.g:20521:3: ruleMultiplicativeExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveExpression__ParamsAssignment_1_2" + + + // $ANTLR start "rule__MultiplicativeExpression__NameAssignment_1_1" + // InternalExpression.g:20530:1: rule__MultiplicativeExpression__NameAssignment_1_1 : ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) ; + public final void rule__MultiplicativeExpression__NameAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20534:1: ( ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) ) + // InternalExpression.g:20535:2: ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) + { + // InternalExpression.g:20535:2: ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) + // InternalExpression.g:20536:3: ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); + } + // InternalExpression.g:20537:3: ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) + // InternalExpression.g:20537:4: rule__MultiplicativeExpression__NameAlternatives_1_1_0 + { + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__NameAlternatives_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__NameAssignment_1_1" + + + // $ANTLR start "rule__MultiplicativeExpression__ParamsAssignment_1_2" + // InternalExpression.g:20545:1: rule__MultiplicativeExpression__ParamsAssignment_1_2 : ( ruleUnaryOrInfixExpression ) ; + public final void rule__MultiplicativeExpression__ParamsAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20549:1: ( ( ruleUnaryOrInfixExpression ) ) + // InternalExpression.g:20550:2: ( ruleUnaryOrInfixExpression ) + { + // InternalExpression.g:20550:2: ( ruleUnaryOrInfixExpression ) + // InternalExpression.g:20551:3: ruleUnaryOrInfixExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleUnaryOrInfixExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__ParamsAssignment_1_2" + + + // $ANTLR start "rule__UnaryExpression__NameAssignment_0" + // InternalExpression.g:20560:1: rule__UnaryExpression__NameAssignment_0 : ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) ; + public final void rule__UnaryExpression__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20564:1: ( ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) ) + // InternalExpression.g:20565:2: ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) + { + // InternalExpression.g:20565:2: ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) + // InternalExpression.g:20566:3: ( rule__UnaryExpression__NameAlternatives_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); + } + // InternalExpression.g:20567:3: ( rule__UnaryExpression__NameAlternatives_0_0 ) + // InternalExpression.g:20567:4: rule__UnaryExpression__NameAlternatives_0_0 + { + pushFollow(FOLLOW_2); + rule__UnaryExpression__NameAlternatives_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__NameAssignment_0" + + + // $ANTLR start "rule__UnaryExpression__ParamsAssignment_1" + // InternalExpression.g:20575:1: rule__UnaryExpression__ParamsAssignment_1 : ( ruleInfixExpression ) ; + public final void rule__UnaryExpression__ParamsAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20579:1: ( ( ruleInfixExpression ) ) + // InternalExpression.g:20580:2: ( ruleInfixExpression ) + { + // InternalExpression.g:20580:2: ( ruleInfixExpression ) + // InternalExpression.g:20581:3: ruleInfixExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleInfixExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__ParamsAssignment_1" + + + // $ANTLR start "rule__InfixExpression__NameAssignment_1_0_2" + // InternalExpression.g:20590:1: rule__InfixExpression__NameAssignment_1_0_2 : ( ruleIdentifier ) ; + public final void rule__InfixExpression__NameAssignment_1_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20594:1: ( ( ruleIdentifier ) ) + // InternalExpression.g:20595:2: ( ruleIdentifier ) + { + // InternalExpression.g:20595:2: ( ruleIdentifier ) + // InternalExpression.g:20596:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__NameAssignment_1_0_2" + + + // $ANTLR start "rule__InfixExpression__ParamsAssignment_1_0_4_0" + // InternalExpression.g:20605:1: rule__InfixExpression__ParamsAssignment_1_0_4_0 : ( ruleExpression ) ; + public final void rule__InfixExpression__ParamsAssignment_1_0_4_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20609:1: ( ( ruleExpression ) ) + // InternalExpression.g:20610:2: ( ruleExpression ) + { + // InternalExpression.g:20610:2: ( ruleExpression ) + // InternalExpression.g:20611:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__ParamsAssignment_1_0_4_0" + + + // $ANTLR start "rule__InfixExpression__ParamsAssignment_1_0_4_1_1" + // InternalExpression.g:20620:1: rule__InfixExpression__ParamsAssignment_1_0_4_1_1 : ( ruleExpression ) ; + public final void rule__InfixExpression__ParamsAssignment_1_0_4_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20624:1: ( ( ruleExpression ) ) + // InternalExpression.g:20625:2: ( ruleExpression ) + { + // InternalExpression.g:20625:2: ( ruleExpression ) + // InternalExpression.g:20626:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__ParamsAssignment_1_0_4_1_1" + + + // $ANTLR start "rule__InfixExpression__TypeAssignment_1_1_2" + // InternalExpression.g:20635:1: rule__InfixExpression__TypeAssignment_1_1_2 : ( ruleType ) ; + public final void rule__InfixExpression__TypeAssignment_1_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20639:1: ( ( ruleType ) ) + // InternalExpression.g:20640:2: ( ruleType ) + { + // InternalExpression.g:20640:2: ( ruleType ) + // InternalExpression.g:20641:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__TypeAssignment_1_1_2" + + + // $ANTLR start "rule__InfixExpression__NameAssignment_1_2_2" + // InternalExpression.g:20650:1: rule__InfixExpression__NameAssignment_1_2_2 : ( ( 'typeSelect' ) ) ; + public final void rule__InfixExpression__NameAssignment_1_2_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20654:1: ( ( ( 'typeSelect' ) ) ) + // InternalExpression.g:20655:2: ( ( 'typeSelect' ) ) + { + // InternalExpression.g:20655:2: ( ( 'typeSelect' ) ) + // InternalExpression.g:20656:3: ( 'typeSelect' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); + } + // InternalExpression.g:20657:3: ( 'typeSelect' ) + // InternalExpression.g:20658:4: 'typeSelect' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); + } + match(input,102,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__NameAssignment_1_2_2" + + + // $ANTLR start "rule__InfixExpression__TypeAssignment_1_2_4" + // InternalExpression.g:20669:1: rule__InfixExpression__TypeAssignment_1_2_4 : ( ruleType ) ; + public final void rule__InfixExpression__TypeAssignment_1_2_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20673:1: ( ( ruleType ) ) + // InternalExpression.g:20674:2: ( ruleType ) + { + // InternalExpression.g:20674:2: ( ruleType ) + // InternalExpression.g:20675:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); + } + pushFollow(FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__TypeAssignment_1_2_4" + + + // $ANTLR start "rule__InfixExpression__NameAssignment_1_3_2" + // InternalExpression.g:20684:1: rule__InfixExpression__NameAssignment_1_3_2 : ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) ; + public final void rule__InfixExpression__NameAssignment_1_3_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20688:1: ( ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) ) + // InternalExpression.g:20689:2: ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) + { + // InternalExpression.g:20689:2: ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) + // InternalExpression.g:20690:3: ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); + } + // InternalExpression.g:20691:3: ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) + // InternalExpression.g:20691:4: rule__InfixExpression__NameAlternatives_1_3_2_0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__NameAlternatives_1_3_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__NameAssignment_1_3_2" + + + // $ANTLR start "rule__InfixExpression__VarAssignment_1_3_4_0" + // InternalExpression.g:20699:1: rule__InfixExpression__VarAssignment_1_3_4_0 : ( ruleIdentifier ) ; + public final void rule__InfixExpression__VarAssignment_1_3_4_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20703:1: ( ( ruleIdentifier ) ) + // InternalExpression.g:20704:2: ( ruleIdentifier ) + { + // InternalExpression.g:20704:2: ( ruleIdentifier ) + // InternalExpression.g:20705:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__VarAssignment_1_3_4_0" + + + // $ANTLR start "rule__InfixExpression__ExpAssignment_1_3_5" + // InternalExpression.g:20714:1: rule__InfixExpression__ExpAssignment_1_3_5 : ( ruleExpression ) ; + public final void rule__InfixExpression__ExpAssignment_1_3_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20718:1: ( ( ruleExpression ) ) + // InternalExpression.g:20719:2: ( ruleExpression ) + { + // InternalExpression.g:20719:2: ( ruleExpression ) + // InternalExpression.g:20720:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__ExpAssignment_1_3_5" + + + // $ANTLR start "rule__BooleanLiteral__ValAssignment" + // InternalExpression.g:20729:1: rule__BooleanLiteral__ValAssignment : ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) ; + public final void rule__BooleanLiteral__ValAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20733:1: ( ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) ) + // InternalExpression.g:20734:2: ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) + { + // InternalExpression.g:20734:2: ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) + // InternalExpression.g:20735:3: ( rule__BooleanLiteral__ValAlternatives_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); + } + // InternalExpression.g:20736:3: ( rule__BooleanLiteral__ValAlternatives_0 ) + // InternalExpression.g:20736:4: rule__BooleanLiteral__ValAlternatives_0 + { + pushFollow(FOLLOW_2); + rule__BooleanLiteral__ValAlternatives_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteral__ValAssignment" + + + // $ANTLR start "rule__IntegerLiteral__ValAssignment" + // InternalExpression.g:20744:1: rule__IntegerLiteral__ValAssignment : ( RULE_INT ) ; + public final void rule__IntegerLiteral__ValAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20748:1: ( ( RULE_INT ) ) + // InternalExpression.g:20749:2: ( RULE_INT ) + { + // InternalExpression.g:20749:2: ( RULE_INT ) + // InternalExpression.g:20750:3: RULE_INT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IntegerLiteral__ValAssignment" + + + // $ANTLR start "rule__NullLiteral__ValAssignment" + // InternalExpression.g:20759:1: rule__NullLiteral__ValAssignment : ( ( 'null' ) ) ; + public final void rule__NullLiteral__ValAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20763:1: ( ( ( 'null' ) ) ) + // InternalExpression.g:20764:2: ( ( 'null' ) ) + { + // InternalExpression.g:20764:2: ( ( 'null' ) ) + // InternalExpression.g:20765:3: ( 'null' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); + } + // InternalExpression.g:20766:3: ( 'null' ) + // InternalExpression.g:20767:4: 'null' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); + } + match(input,92,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NullLiteral__ValAssignment" + + + // $ANTLR start "rule__RealLiteral__ValAssignment" + // InternalExpression.g:20778:1: rule__RealLiteral__ValAssignment : ( RULE_REAL ) ; + public final void rule__RealLiteral__ValAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20782:1: ( ( RULE_REAL ) ) + // InternalExpression.g:20783:2: ( RULE_REAL ) + { + // InternalExpression.g:20783:2: ( RULE_REAL ) + // InternalExpression.g:20784:3: RULE_REAL + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); + } + match(input,RULE_REAL,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RealLiteral__ValAssignment" + + + // $ANTLR start "rule__StringLiteral__ValAssignment" + // InternalExpression.g:20793:1: rule__StringLiteral__ValAssignment : ( RULE_STRING ) ; + public final void rule__StringLiteral__ValAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20797:1: ( ( RULE_STRING ) ) + // InternalExpression.g:20798:2: ( RULE_STRING ) + { + // InternalExpression.g:20798:2: ( RULE_STRING ) + // InternalExpression.g:20799:3: RULE_STRING + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); + } + match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StringLiteral__ValAssignment" + + + // $ANTLR start "rule__GlobalVarExpression__NameAssignment_1" + // InternalExpression.g:20808:1: rule__GlobalVarExpression__NameAssignment_1 : ( ruleIdentifier ) ; + public final void rule__GlobalVarExpression__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20812:1: ( ( ruleIdentifier ) ) + // InternalExpression.g:20813:2: ( ruleIdentifier ) + { + // InternalExpression.g:20813:2: ( ruleIdentifier ) + // InternalExpression.g:20814:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalVarExpression__NameAssignment_1" + + + // $ANTLR start "rule__FeatureCall__TypeAssignment_1" + // InternalExpression.g:20823:1: rule__FeatureCall__TypeAssignment_1 : ( ruleType ) ; + public final void rule__FeatureCall__TypeAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20827:1: ( ( ruleType ) ) + // InternalExpression.g:20828:2: ( ruleType ) + { + // InternalExpression.g:20828:2: ( ruleType ) + // InternalExpression.g:20829:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FeatureCall__TypeAssignment_1" + + + // $ANTLR start "rule__OperationCall__NameAssignment_0" + // InternalExpression.g:20838:1: rule__OperationCall__NameAssignment_0 : ( ruleIdentifier ) ; + public final void rule__OperationCall__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20842:1: ( ( ruleIdentifier ) ) + // InternalExpression.g:20843:2: ( ruleIdentifier ) + { + // InternalExpression.g:20843:2: ( ruleIdentifier ) + // InternalExpression.g:20844:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__NameAssignment_0" + + + // $ANTLR start "rule__OperationCall__ParamsAssignment_2_0" + // InternalExpression.g:20853:1: rule__OperationCall__ParamsAssignment_2_0 : ( ruleExpression ) ; + public final void rule__OperationCall__ParamsAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20857:1: ( ( ruleExpression ) ) + // InternalExpression.g:20858:2: ( ruleExpression ) + { + // InternalExpression.g:20858:2: ( ruleExpression ) + // InternalExpression.g:20859:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__ParamsAssignment_2_0" + + + // $ANTLR start "rule__OperationCall__ParamsAssignment_2_1_1" + // InternalExpression.g:20868:1: rule__OperationCall__ParamsAssignment_2_1_1 : ( ruleExpression ) ; + public final void rule__OperationCall__ParamsAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20872:1: ( ( ruleExpression ) ) + // InternalExpression.g:20873:2: ( ruleExpression ) + { + // InternalExpression.g:20873:2: ( ruleExpression ) + // InternalExpression.g:20874:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__ParamsAssignment_2_1_1" + + + // $ANTLR start "rule__ListLiteral__ElementsAssignment_2_0" + // InternalExpression.g:20883:1: rule__ListLiteral__ElementsAssignment_2_0 : ( ruleExpression ) ; + public final void rule__ListLiteral__ElementsAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20887:1: ( ( ruleExpression ) ) + // InternalExpression.g:20888:2: ( ruleExpression ) + { + // InternalExpression.g:20888:2: ( ruleExpression ) + // InternalExpression.g:20889:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__ElementsAssignment_2_0" + + + // $ANTLR start "rule__ListLiteral__ElementsAssignment_2_1_1" + // InternalExpression.g:20898:1: rule__ListLiteral__ElementsAssignment_2_1_1 : ( ruleExpression ) ; + public final void rule__ListLiteral__ElementsAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20902:1: ( ( ruleExpression ) ) + // InternalExpression.g:20903:2: ( ruleExpression ) + { + // InternalExpression.g:20903:2: ( ruleExpression ) + // InternalExpression.g:20904:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__ElementsAssignment_2_1_1" + + + // $ANTLR start "rule__ConstructorCallExpression__TypeAssignment_1" + // InternalExpression.g:20913:1: rule__ConstructorCallExpression__TypeAssignment_1 : ( ruleSimpleType ) ; + public final void rule__ConstructorCallExpression__TypeAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20917:1: ( ( ruleSimpleType ) ) + // InternalExpression.g:20918:2: ( ruleSimpleType ) + { + // InternalExpression.g:20918:2: ( ruleSimpleType ) + // InternalExpression.g:20919:3: ruleSimpleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleSimpleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstructorCallExpression__TypeAssignment_1" + + + // $ANTLR start "rule__TypeSelectExpression__NameAssignment_0" + // InternalExpression.g:20928:1: rule__TypeSelectExpression__NameAssignment_0 : ( ( 'typeSelect' ) ) ; + public final void rule__TypeSelectExpression__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20932:1: ( ( ( 'typeSelect' ) ) ) + // InternalExpression.g:20933:2: ( ( 'typeSelect' ) ) + { + // InternalExpression.g:20933:2: ( ( 'typeSelect' ) ) + // InternalExpression.g:20934:3: ( 'typeSelect' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + } + // InternalExpression.g:20935:3: ( 'typeSelect' ) + // InternalExpression.g:20936:4: 'typeSelect' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + } + match(input,102,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__NameAssignment_0" + + + // $ANTLR start "rule__TypeSelectExpression__TypeAssignment_2" + // InternalExpression.g:20947:1: rule__TypeSelectExpression__TypeAssignment_2 : ( ruleType ) ; + public final void rule__TypeSelectExpression__TypeAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20951:1: ( ( ruleType ) ) + // InternalExpression.g:20952:2: ( ruleType ) + { + // InternalExpression.g:20952:2: ( ruleType ) + // InternalExpression.g:20953:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__TypeAssignment_2" + + + // $ANTLR start "rule__CollectionExpression__NameAssignment_0" + // InternalExpression.g:20962:1: rule__CollectionExpression__NameAssignment_0 : ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) ; + public final void rule__CollectionExpression__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20966:1: ( ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) ) + // InternalExpression.g:20967:2: ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) + { + // InternalExpression.g:20967:2: ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) + // InternalExpression.g:20968:3: ( rule__CollectionExpression__NameAlternatives_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); + } + // InternalExpression.g:20969:3: ( rule__CollectionExpression__NameAlternatives_0_0 ) + // InternalExpression.g:20969:4: rule__CollectionExpression__NameAlternatives_0_0 + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__NameAlternatives_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__NameAssignment_0" + + + // $ANTLR start "rule__CollectionExpression__VarAssignment_2_0" + // InternalExpression.g:20977:1: rule__CollectionExpression__VarAssignment_2_0 : ( ruleIdentifier ) ; + public final void rule__CollectionExpression__VarAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20981:1: ( ( ruleIdentifier ) ) + // InternalExpression.g:20982:2: ( ruleIdentifier ) + { + // InternalExpression.g:20982:2: ( ruleIdentifier ) + // InternalExpression.g:20983:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__VarAssignment_2_0" + + + // $ANTLR start "rule__CollectionExpression__ExpAssignment_3" + // InternalExpression.g:20992:1: rule__CollectionExpression__ExpAssignment_3 : ( ruleExpression ) ; + public final void rule__CollectionExpression__ExpAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:20996:1: ( ( ruleExpression ) ) + // InternalExpression.g:20997:2: ( ruleExpression ) + { + // InternalExpression.g:20997:2: ( ruleExpression ) + // InternalExpression.g:20998:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__ExpAssignment_3" + + + // $ANTLR start "rule__CollectionType__ClAssignment_0" + // InternalExpression.g:21007:1: rule__CollectionType__ClAssignment_0 : ( ( rule__CollectionType__ClAlternatives_0_0 ) ) ; + public final void rule__CollectionType__ClAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21011:1: ( ( ( rule__CollectionType__ClAlternatives_0_0 ) ) ) + // InternalExpression.g:21012:2: ( ( rule__CollectionType__ClAlternatives_0_0 ) ) + { + // InternalExpression.g:21012:2: ( ( rule__CollectionType__ClAlternatives_0_0 ) ) + // InternalExpression.g:21013:3: ( rule__CollectionType__ClAlternatives_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); + } + // InternalExpression.g:21014:3: ( rule__CollectionType__ClAlternatives_0_0 ) + // InternalExpression.g:21014:4: rule__CollectionType__ClAlternatives_0_0 + { + pushFollow(FOLLOW_2); + rule__CollectionType__ClAlternatives_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__ClAssignment_0" + + + // $ANTLR start "rule__CollectionType__Id1Assignment_2" + // InternalExpression.g:21022:1: rule__CollectionType__Id1Assignment_2 : ( ruleSimpleType ) ; + public final void rule__CollectionType__Id1Assignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21026:1: ( ( ruleSimpleType ) ) + // InternalExpression.g:21027:2: ( ruleSimpleType ) + { + // InternalExpression.g:21027:2: ( ruleSimpleType ) + // InternalExpression.g:21028:3: ruleSimpleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleSimpleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Id1Assignment_2" + + + // $ANTLR start "rule__SimpleType__IdAssignment_0" + // InternalExpression.g:21037:1: rule__SimpleType__IdAssignment_0 : ( ruleIdentifier ) ; + public final void rule__SimpleType__IdAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21041:1: ( ( ruleIdentifier ) ) + // InternalExpression.g:21042:2: ( ruleIdentifier ) + { + // InternalExpression.g:21042:2: ( ruleIdentifier ) + // InternalExpression.g:21043:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__IdAssignment_0" + + + // $ANTLR start "rule__SimpleType__IdAssignment_1_1" + // InternalExpression.g:21052:1: rule__SimpleType__IdAssignment_1_1 : ( ruleIdentifier ) ; + public final void rule__SimpleType__IdAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21056:1: ( ( ruleIdentifier ) ) + // InternalExpression.g:21057:2: ( ruleIdentifier ) + { + // InternalExpression.g:21057:2: ( ruleIdentifier ) + // InternalExpression.g:21058:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__IdAssignment_1_1" + + + // $ANTLR start "rule__XAssignment__FeatureAssignment_0_1" + // InternalExpression.g:21067:1: rule__XAssignment__FeatureAssignment_0_1 : ( ( ruleFeatureCallID ) ) ; + public final void rule__XAssignment__FeatureAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21071:1: ( ( ( ruleFeatureCallID ) ) ) + // InternalExpression.g:21072:2: ( ( ruleFeatureCallID ) ) + { + // InternalExpression.g:21072:2: ( ( ruleFeatureCallID ) ) + // InternalExpression.g:21073:3: ( ruleFeatureCallID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + // InternalExpression.g:21074:3: ( ruleFeatureCallID ) + // InternalExpression.g:21075:4: ruleFeatureCallID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__FeatureAssignment_0_1" + + + // $ANTLR start "rule__XAssignment__ValueAssignment_0_3" + // InternalExpression.g:21086:1: rule__XAssignment__ValueAssignment_0_3 : ( ruleXAssignment ) ; + public final void rule__XAssignment__ValueAssignment_0_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21090:1: ( ( ruleXAssignment ) ) + // InternalExpression.g:21091:2: ( ruleXAssignment ) + { + // InternalExpression.g:21091:2: ( ruleXAssignment ) + // InternalExpression.g:21092:3: ruleXAssignment + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); + } + pushFollow(FOLLOW_2); + ruleXAssignment(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__ValueAssignment_0_3" + + + // $ANTLR start "rule__XAssignment__FeatureAssignment_1_1_0_0_1" + // InternalExpression.g:21101:1: rule__XAssignment__FeatureAssignment_1_1_0_0_1 : ( ( ruleOpMultiAssign ) ) ; + public final void rule__XAssignment__FeatureAssignment_1_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21105:1: ( ( ( ruleOpMultiAssign ) ) ) + // InternalExpression.g:21106:2: ( ( ruleOpMultiAssign ) ) + { + // InternalExpression.g:21106:2: ( ( ruleOpMultiAssign ) ) + // InternalExpression.g:21107:3: ( ruleOpMultiAssign ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + // InternalExpression.g:21108:3: ( ruleOpMultiAssign ) + // InternalExpression.g:21109:4: ruleOpMultiAssign + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementOpMultiAssignParserRuleCall_1_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpMultiAssign(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementOpMultiAssignParserRuleCall_1_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__FeatureAssignment_1_1_0_0_1" + + + // $ANTLR start "rule__XAssignment__RightOperandAssignment_1_1_1" + // InternalExpression.g:21120:1: rule__XAssignment__RightOperandAssignment_1_1_1 : ( ruleXAssignment ) ; + public final void rule__XAssignment__RightOperandAssignment_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21124:1: ( ( ruleXAssignment ) ) + // InternalExpression.g:21125:2: ( ruleXAssignment ) + { + // InternalExpression.g:21125:2: ( ruleXAssignment ) + // InternalExpression.g:21126:3: ruleXAssignment + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXAssignment(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__RightOperandAssignment_1_1_1" + + + // $ANTLR start "rule__XOrExpression__FeatureAssignment_1_0_0_1" + // InternalExpression.g:21135:1: rule__XOrExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpOr ) ) ; + public final void rule__XOrExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21139:1: ( ( ( ruleOpOr ) ) ) + // InternalExpression.g:21140:2: ( ( ruleOpOr ) ) + { + // InternalExpression.g:21140:2: ( ( ruleOpOr ) ) + // InternalExpression.g:21141:3: ( ruleOpOr ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalExpression.g:21142:3: ( ruleOpOr ) + // InternalExpression.g:21143:4: ruleOpOr + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementOpOrParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpOr(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementOpOrParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XOrExpression__RightOperandAssignment_1_1" + // InternalExpression.g:21154:1: rule__XOrExpression__RightOperandAssignment_1_1 : ( ruleXAndExpression ) ; + public final void rule__XOrExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21158:1: ( ( ruleXAndExpression ) ) + // InternalExpression.g:21159:2: ( ruleXAndExpression ) + { + // InternalExpression.g:21159:2: ( ruleXAndExpression ) + // InternalExpression.g:21160:3: ruleXAndExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXAndExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XAndExpression__FeatureAssignment_1_0_0_1" + // InternalExpression.g:21169:1: rule__XAndExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpAnd ) ) ; + public final void rule__XAndExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21173:1: ( ( ( ruleOpAnd ) ) ) + // InternalExpression.g:21174:2: ( ( ruleOpAnd ) ) + { + // InternalExpression.g:21174:2: ( ( ruleOpAnd ) ) + // InternalExpression.g:21175:3: ( ruleOpAnd ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalExpression.g:21176:3: ( ruleOpAnd ) + // InternalExpression.g:21177:4: ruleOpAnd + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementOpAndParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpAnd(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementOpAndParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XAndExpression__RightOperandAssignment_1_1" + // InternalExpression.g:21188:1: rule__XAndExpression__RightOperandAssignment_1_1 : ( ruleXEqualityExpression ) ; + public final void rule__XAndExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21192:1: ( ( ruleXEqualityExpression ) ) + // InternalExpression.g:21193:2: ( ruleXEqualityExpression ) + { + // InternalExpression.g:21193:2: ( ruleXEqualityExpression ) + // InternalExpression.g:21194:3: ruleXEqualityExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXEqualityExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XEqualityExpression__FeatureAssignment_1_0_0_1" + // InternalExpression.g:21203:1: rule__XEqualityExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpEquality ) ) ; + public final void rule__XEqualityExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21207:1: ( ( ( ruleOpEquality ) ) ) + // InternalExpression.g:21208:2: ( ( ruleOpEquality ) ) + { + // InternalExpression.g:21208:2: ( ( ruleOpEquality ) ) + // InternalExpression.g:21209:3: ( ruleOpEquality ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalExpression.g:21210:3: ( ruleOpEquality ) + // InternalExpression.g:21211:4: ruleOpEquality + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementOpEqualityParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpEquality(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementOpEqualityParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XEqualityExpression__RightOperandAssignment_1_1" + // InternalExpression.g:21222:1: rule__XEqualityExpression__RightOperandAssignment_1_1 : ( ruleXRelationalExpression ) ; + public final void rule__XEqualityExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21226:1: ( ( ruleXRelationalExpression ) ) + // InternalExpression.g:21227:2: ( ruleXRelationalExpression ) + { + // InternalExpression.g:21227:2: ( ruleXRelationalExpression ) + // InternalExpression.g:21228:3: ruleXRelationalExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXRelationalExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XRelationalExpression__TypeAssignment_1_0_1" + // InternalExpression.g:21237:1: rule__XRelationalExpression__TypeAssignment_1_0_1 : ( ruleJvmTypeReference ) ; + public final void rule__XRelationalExpression__TypeAssignment_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21241:1: ( ( ruleJvmTypeReference ) ) + // InternalExpression.g:21242:2: ( ruleJvmTypeReference ) + { + // InternalExpression.g:21242:2: ( ruleJvmTypeReference ) + // InternalExpression.g:21243:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__TypeAssignment_1_0_1" + + + // $ANTLR start "rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1" + // InternalExpression.g:21252:1: rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 : ( ( ruleOpCompare ) ) ; + public final void rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21256:1: ( ( ( ruleOpCompare ) ) ) + // InternalExpression.g:21257:2: ( ( ruleOpCompare ) ) + { + // InternalExpression.g:21257:2: ( ( ruleOpCompare ) ) + // InternalExpression.g:21258:3: ( ruleOpCompare ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + // InternalExpression.g:21259:3: ( ruleOpCompare ) + // InternalExpression.g:21260:4: ruleOpCompare + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementOpCompareParserRuleCall_1_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpCompare(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementOpCompareParserRuleCall_1_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1" + + + // $ANTLR start "rule__XRelationalExpression__RightOperandAssignment_1_1_1" + // InternalExpression.g:21271:1: rule__XRelationalExpression__RightOperandAssignment_1_1_1 : ( ruleXOtherOperatorExpression ) ; + public final void rule__XRelationalExpression__RightOperandAssignment_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21275:1: ( ( ruleXOtherOperatorExpression ) ) + // InternalExpression.g:21276:2: ( ruleXOtherOperatorExpression ) + { + // InternalExpression.g:21276:2: ( ruleXOtherOperatorExpression ) + // InternalExpression.g:21277:3: ruleXOtherOperatorExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXOtherOperatorExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__RightOperandAssignment_1_1_1" + + + // $ANTLR start "rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1" + // InternalExpression.g:21286:1: rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpOther ) ) ; + public final void rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21290:1: ( ( ( ruleOpOther ) ) ) + // InternalExpression.g:21291:2: ( ( ruleOpOther ) ) + { + // InternalExpression.g:21291:2: ( ( ruleOpOther ) ) + // InternalExpression.g:21292:3: ( ruleOpOther ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalExpression.g:21293:3: ( ruleOpOther ) + // InternalExpression.g:21294:4: ruleOpOther + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementOpOtherParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpOther(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementOpOtherParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XOtherOperatorExpression__RightOperandAssignment_1_1" + // InternalExpression.g:21305:1: rule__XOtherOperatorExpression__RightOperandAssignment_1_1 : ( ruleXAdditiveExpression ) ; + public final void rule__XOtherOperatorExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21309:1: ( ( ruleXAdditiveExpression ) ) + // InternalExpression.g:21310:2: ( ruleXAdditiveExpression ) + { + // InternalExpression.g:21310:2: ( ruleXAdditiveExpression ) + // InternalExpression.g:21311:3: ruleXAdditiveExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXAdditiveExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XAdditiveExpression__FeatureAssignment_1_0_0_1" + // InternalExpression.g:21320:1: rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpAdd ) ) ; + public final void rule__XAdditiveExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21324:1: ( ( ( ruleOpAdd ) ) ) + // InternalExpression.g:21325:2: ( ( ruleOpAdd ) ) + { + // InternalExpression.g:21325:2: ( ( ruleOpAdd ) ) + // InternalExpression.g:21326:3: ( ruleOpAdd ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalExpression.g:21327:3: ( ruleOpAdd ) + // InternalExpression.g:21328:4: ruleOpAdd + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementOpAddParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpAdd(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementOpAddParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XAdditiveExpression__RightOperandAssignment_1_1" + // InternalExpression.g:21339:1: rule__XAdditiveExpression__RightOperandAssignment_1_1 : ( ruleXMultiplicativeExpression ) ; + public final void rule__XAdditiveExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21343:1: ( ( ruleXMultiplicativeExpression ) ) + // InternalExpression.g:21344:2: ( ruleXMultiplicativeExpression ) + { + // InternalExpression.g:21344:2: ( ruleXMultiplicativeExpression ) + // InternalExpression.g:21345:3: ruleXMultiplicativeExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1" + // InternalExpression.g:21354:1: rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpMulti ) ) ; + public final void rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21358:1: ( ( ( ruleOpMulti ) ) ) + // InternalExpression.g:21359:2: ( ( ruleOpMulti ) ) + { + // InternalExpression.g:21359:2: ( ( ruleOpMulti ) ) + // InternalExpression.g:21360:3: ( ruleOpMulti ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalExpression.g:21361:3: ( ruleOpMulti ) + // InternalExpression.g:21362:4: ruleOpMulti + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementOpMultiParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpMulti(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementOpMultiParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XMultiplicativeExpression__RightOperandAssignment_1_1" + // InternalExpression.g:21373:1: rule__XMultiplicativeExpression__RightOperandAssignment_1_1 : ( ruleXUnaryOperation ) ; + public final void rule__XMultiplicativeExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21377:1: ( ( ruleXUnaryOperation ) ) + // InternalExpression.g:21378:2: ( ruleXUnaryOperation ) + { + // InternalExpression.g:21378:2: ( ruleXUnaryOperation ) + // InternalExpression.g:21379:3: ruleXUnaryOperation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XUnaryOperation__FeatureAssignment_0_1" + // InternalExpression.g:21388:1: rule__XUnaryOperation__FeatureAssignment_0_1 : ( ( ruleOpUnary ) ) ; + public final void rule__XUnaryOperation__FeatureAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21392:1: ( ( ( ruleOpUnary ) ) ) + // InternalExpression.g:21393:2: ( ( ruleOpUnary ) ) + { + // InternalExpression.g:21393:2: ( ( ruleOpUnary ) ) + // InternalExpression.g:21394:3: ( ruleOpUnary ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + // InternalExpression.g:21395:3: ( ruleOpUnary ) + // InternalExpression.g:21396:4: ruleOpUnary + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementOpUnaryParserRuleCall_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpUnary(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementOpUnaryParserRuleCall_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__FeatureAssignment_0_1" + + + // $ANTLR start "rule__XUnaryOperation__OperandAssignment_0_2" + // InternalExpression.g:21407:1: rule__XUnaryOperation__OperandAssignment_0_2 : ( ruleXUnaryOperation ) ; + public final void rule__XUnaryOperation__OperandAssignment_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21411:1: ( ( ruleXUnaryOperation ) ) + // InternalExpression.g:21412:2: ( ruleXUnaryOperation ) + { + // InternalExpression.g:21412:2: ( ruleXUnaryOperation ) + // InternalExpression.g:21413:3: ruleXUnaryOperation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); + } + pushFollow(FOLLOW_2); + ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__OperandAssignment_0_2" + + + // $ANTLR start "rule__XCastedExpression__TypeAssignment_1_1" + // InternalExpression.g:21422:1: rule__XCastedExpression__TypeAssignment_1_1 : ( ruleJvmTypeReference ) ; + public final void rule__XCastedExpression__TypeAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21426:1: ( ( ruleJvmTypeReference ) ) + // InternalExpression.g:21427:2: ( ruleJvmTypeReference ) + { + // InternalExpression.g:21427:2: ( ruleJvmTypeReference ) + // InternalExpression.g:21428:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__TypeAssignment_1_1" + + + // $ANTLR start "rule__XPostfixOperation__FeatureAssignment_1_0_1" + // InternalExpression.g:21437:1: rule__XPostfixOperation__FeatureAssignment_1_0_1 : ( ( ruleOpPostfix ) ) ; + public final void rule__XPostfixOperation__FeatureAssignment_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21441:1: ( ( ( ruleOpPostfix ) ) ) + // InternalExpression.g:21442:2: ( ( ruleOpPostfix ) ) + { + // InternalExpression.g:21442:2: ( ( ruleOpPostfix ) ) + // InternalExpression.g:21443:3: ( ruleOpPostfix ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); + } + // InternalExpression.g:21444:3: ( ruleOpPostfix ) + // InternalExpression.g:21445:4: ruleOpPostfix + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementOpPostfixParserRuleCall_1_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpPostfix(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementOpPostfixParserRuleCall_1_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__FeatureAssignment_1_0_1" + + + // $ANTLR start "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1" + // InternalExpression.g:21456:1: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 : ( ( '::' ) ) ; + public final void rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21460:1: ( ( ( '::' ) ) ) + // InternalExpression.g:21461:2: ( ( '::' ) ) + { + // InternalExpression.g:21461:2: ( ( '::' ) ) + // InternalExpression.g:21462:3: ( '::' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + } + // InternalExpression.g:21463:3: ( '::' ) + // InternalExpression.g:21464:4: '::' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + } + match(input,84,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1" + + + // $ANTLR start "rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2" + // InternalExpression.g:21475:1: rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 : ( ( ruleFeatureCallID ) ) ; + public final void rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21479:1: ( ( ( ruleFeatureCallID ) ) ) + // InternalExpression.g:21480:2: ( ( ruleFeatureCallID ) ) + { + // InternalExpression.g:21480:2: ( ( ruleFeatureCallID ) ) + // InternalExpression.g:21481:3: ( ruleFeatureCallID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); + } + // InternalExpression.g:21482:3: ( ruleFeatureCallID ) + // InternalExpression.g:21483:4: ruleFeatureCallID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_1_0_0_0_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_1_0_0_0_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2" + + + // $ANTLR start "rule__XMemberFeatureCall__ValueAssignment_1_0_1" + // InternalExpression.g:21494:1: rule__XMemberFeatureCall__ValueAssignment_1_0_1 : ( ruleXAssignment ) ; + public final void rule__XMemberFeatureCall__ValueAssignment_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21498:1: ( ( ruleXAssignment ) ) + // InternalExpression.g:21499:2: ( ruleXAssignment ) + { + // InternalExpression.g:21499:2: ( ruleXAssignment ) + // InternalExpression.g:21500:3: ruleXAssignment + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleXAssignment(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__ValueAssignment_1_0_1" + + + // $ANTLR start "rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1" + // InternalExpression.g:21509:1: rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 : ( ( '?.' ) ) ; + public final void rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21513:1: ( ( ( '?.' ) ) ) + // InternalExpression.g:21514:2: ( ( '?.' ) ) + { + // InternalExpression.g:21514:2: ( ( '?.' ) ) + // InternalExpression.g:21515:3: ( '?.' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + } + // InternalExpression.g:21516:3: ( '?.' ) + // InternalExpression.g:21517:4: '?.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + } + match(input,103,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1" + + + // $ANTLR start "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2" + // InternalExpression.g:21528:1: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 : ( ( '::' ) ) ; + public final void rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21532:1: ( ( ( '::' ) ) ) + // InternalExpression.g:21533:2: ( ( '::' ) ) + { + // InternalExpression.g:21533:2: ( ( '::' ) ) + // InternalExpression.g:21534:3: ( '::' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + } + // InternalExpression.g:21535:3: ( '::' ) + // InternalExpression.g:21536:4: '::' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + } + match(input,84,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2" + + + // $ANTLR start "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1" + // InternalExpression.g:21547:1: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21551:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:21552:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:21552:2: ( ruleJvmArgumentTypeReference ) + // InternalExpression.g:21553:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1" + + + // $ANTLR start "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1" + // InternalExpression.g:21562:1: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21566:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:21567:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:21567:2: ( ruleJvmArgumentTypeReference ) + // InternalExpression.g:21568:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1" + + + // $ANTLR start "rule__XMemberFeatureCall__FeatureAssignment_1_1_2" + // InternalExpression.g:21577:1: rule__XMemberFeatureCall__FeatureAssignment_1_1_2 : ( ( ruleIdOrSuper ) ) ; + public final void rule__XMemberFeatureCall__FeatureAssignment_1_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21581:1: ( ( ( ruleIdOrSuper ) ) ) + // InternalExpression.g:21582:2: ( ( ruleIdOrSuper ) ) + { + // InternalExpression.g:21582:2: ( ( ruleIdOrSuper ) ) + // InternalExpression.g:21583:3: ( ruleIdOrSuper ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); + } + // InternalExpression.g:21584:3: ( ruleIdOrSuper ) + // InternalExpression.g:21585:4: ruleIdOrSuper + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_1_1_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleIdOrSuper(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_1_1_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__FeatureAssignment_1_1_2" + + + // $ANTLR start "rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0" + // InternalExpression.g:21596:1: rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 : ( ( '(' ) ) ; + public final void rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21600:1: ( ( ( '(' ) ) ) + // InternalExpression.g:21601:2: ( ( '(' ) ) + { + // InternalExpression.g:21601:2: ( ( '(' ) ) + // InternalExpression.g:21602:3: ( '(' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + } + // InternalExpression.g:21603:3: ( '(' ) + // InternalExpression.g:21604:4: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0" + + + // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0" + // InternalExpression.g:21615:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 : ( ruleXShortClosure ) ; + public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21619:1: ( ( ruleXShortClosure ) ) + // InternalExpression.g:21620:2: ( ruleXShortClosure ) + { + // InternalExpression.g:21620:2: ( ruleXShortClosure ) + // InternalExpression.g:21621:3: ruleXShortClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXShortClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0" + + + // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0" + // InternalExpression.g:21630:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 : ( ruleXExpression ) ; + public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21634:1: ( ( ruleXExpression ) ) + // InternalExpression.g:21635:2: ( ruleXExpression ) + { + // InternalExpression.g:21635:2: ( ruleXExpression ) + // InternalExpression.g:21636:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0" + + + // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1" + // InternalExpression.g:21645:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 : ( ruleXExpression ) ; + public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21649:1: ( ( ruleXExpression ) ) + // InternalExpression.g:21650:2: ( ruleXExpression ) + { + // InternalExpression.g:21650:2: ( ruleXExpression ) + // InternalExpression.g:21651:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1" + + + // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4" + // InternalExpression.g:21660:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 : ( ruleXClosure ) ; + public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21664:1: ( ( ruleXClosure ) ) + // InternalExpression.g:21665:2: ( ruleXClosure ) + { + // InternalExpression.g:21665:2: ( ruleXClosure ) + // InternalExpression.g:21666:3: ruleXClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); + } + pushFollow(FOLLOW_2); + ruleXClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4" + + + // $ANTLR start "rule__XSetLiteral__ElementsAssignment_3_0" + // InternalExpression.g:21675:1: rule__XSetLiteral__ElementsAssignment_3_0 : ( ruleXExpression ) ; + public final void rule__XSetLiteral__ElementsAssignment_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21679:1: ( ( ruleXExpression ) ) + // InternalExpression.g:21680:2: ( ruleXExpression ) + { + // InternalExpression.g:21680:2: ( ruleXExpression ) + // InternalExpression.g:21681:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__ElementsAssignment_3_0" + + + // $ANTLR start "rule__XSetLiteral__ElementsAssignment_3_1_1" + // InternalExpression.g:21690:1: rule__XSetLiteral__ElementsAssignment_3_1_1 : ( ruleXExpression ) ; + public final void rule__XSetLiteral__ElementsAssignment_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21694:1: ( ( ruleXExpression ) ) + // InternalExpression.g:21695:2: ( ruleXExpression ) + { + // InternalExpression.g:21695:2: ( ruleXExpression ) + // InternalExpression.g:21696:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__ElementsAssignment_3_1_1" + + + // $ANTLR start "rule__XListLiteral__ElementsAssignment_3_0" + // InternalExpression.g:21705:1: rule__XListLiteral__ElementsAssignment_3_0 : ( ruleXExpression ) ; + public final void rule__XListLiteral__ElementsAssignment_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21709:1: ( ( ruleXExpression ) ) + // InternalExpression.g:21710:2: ( ruleXExpression ) + { + // InternalExpression.g:21710:2: ( ruleXExpression ) + // InternalExpression.g:21711:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__ElementsAssignment_3_0" + + + // $ANTLR start "rule__XListLiteral__ElementsAssignment_3_1_1" + // InternalExpression.g:21720:1: rule__XListLiteral__ElementsAssignment_3_1_1 : ( ruleXExpression ) ; + public final void rule__XListLiteral__ElementsAssignment_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21724:1: ( ( ruleXExpression ) ) + // InternalExpression.g:21725:2: ( ruleXExpression ) + { + // InternalExpression.g:21725:2: ( ruleXExpression ) + // InternalExpression.g:21726:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__ElementsAssignment_3_1_1" + + + // $ANTLR start "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0" + // InternalExpression.g:21735:1: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 : ( ruleJvmFormalParameter ) ; + public final void rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21739:1: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:21740:2: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:21740:2: ( ruleJvmFormalParameter ) + // InternalExpression.g:21741:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0" + + + // $ANTLR start "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1" + // InternalExpression.g:21750:1: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 : ( ruleJvmFormalParameter ) ; + public final void rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21754:1: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:21755:2: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:21755:2: ( ruleJvmFormalParameter ) + // InternalExpression.g:21756:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1" + + + // $ANTLR start "rule__XClosure__ExplicitSyntaxAssignment_1_0_1" + // InternalExpression.g:21765:1: rule__XClosure__ExplicitSyntaxAssignment_1_0_1 : ( ( '|' ) ) ; + public final void rule__XClosure__ExplicitSyntaxAssignment_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21769:1: ( ( ( '|' ) ) ) + // InternalExpression.g:21770:2: ( ( '|' ) ) + { + // InternalExpression.g:21770:2: ( ( '|' ) ) + // InternalExpression.g:21771:3: ( '|' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + } + // InternalExpression.g:21772:3: ( '|' ) + // InternalExpression.g:21773:4: '|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + } + match(input,79,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__ExplicitSyntaxAssignment_1_0_1" + + + // $ANTLR start "rule__XClosure__ExpressionAssignment_2" + // InternalExpression.g:21784:1: rule__XClosure__ExpressionAssignment_2 : ( ruleXExpressionInClosure ) ; + public final void rule__XClosure__ExpressionAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21788:1: ( ( ruleXExpressionInClosure ) ) + // InternalExpression.g:21789:2: ( ruleXExpressionInClosure ) + { + // InternalExpression.g:21789:2: ( ruleXExpressionInClosure ) + // InternalExpression.g:21790:3: ruleXExpressionInClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpressionInClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__ExpressionAssignment_2" + + + // $ANTLR start "rule__XExpressionInClosure__ExpressionsAssignment_1_0" + // InternalExpression.g:21799:1: rule__XExpressionInClosure__ExpressionsAssignment_1_0 : ( ruleXExpressionOrVarDeclaration ) ; + public final void rule__XExpressionInClosure__ExpressionsAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21803:1: ( ( ruleXExpressionOrVarDeclaration ) ) + // InternalExpression.g:21804:2: ( ruleXExpressionOrVarDeclaration ) + { + // InternalExpression.g:21804:2: ( ruleXExpressionOrVarDeclaration ) + // InternalExpression.g:21805:3: ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__ExpressionsAssignment_1_0" + + + // $ANTLR start "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0" + // InternalExpression.g:21814:1: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 : ( ruleJvmFormalParameter ) ; + public final void rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21818:1: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:21819:2: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:21819:2: ( ruleJvmFormalParameter ) + // InternalExpression.g:21820:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0" + + + // $ANTLR start "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1" + // InternalExpression.g:21829:1: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 : ( ruleJvmFormalParameter ) ; + public final void rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21833:1: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:21834:2: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:21834:2: ( ruleJvmFormalParameter ) + // InternalExpression.g:21835:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1" + + + // $ANTLR start "rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2" + // InternalExpression.g:21844:1: rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 : ( ( '|' ) ) ; + public final void rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21848:1: ( ( ( '|' ) ) ) + // InternalExpression.g:21849:2: ( ( '|' ) ) + { + // InternalExpression.g:21849:2: ( ( '|' ) ) + // InternalExpression.g:21850:3: ( '|' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + } + // InternalExpression.g:21851:3: ( '|' ) + // InternalExpression.g:21852:4: '|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + } + match(input,79,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2" + + + // $ANTLR start "rule__XShortClosure__ExpressionAssignment_1" + // InternalExpression.g:21863:1: rule__XShortClosure__ExpressionAssignment_1 : ( ruleXExpression ) ; + public final void rule__XShortClosure__ExpressionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21867:1: ( ( ruleXExpression ) ) + // InternalExpression.g:21868:2: ( ruleXExpression ) + { + // InternalExpression.g:21868:2: ( ruleXExpression ) + // InternalExpression.g:21869:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__ExpressionAssignment_1" + + + // $ANTLR start "rule__XIfExpression__IfAssignment_3" + // InternalExpression.g:21878:1: rule__XIfExpression__IfAssignment_3 : ( ruleXExpression ) ; + public final void rule__XIfExpression__IfAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21882:1: ( ( ruleXExpression ) ) + // InternalExpression.g:21883:2: ( ruleXExpression ) + { + // InternalExpression.g:21883:2: ( ruleXExpression ) + // InternalExpression.g:21884:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__IfAssignment_3" + + + // $ANTLR start "rule__XIfExpression__ThenAssignment_5" + // InternalExpression.g:21893:1: rule__XIfExpression__ThenAssignment_5 : ( ruleXExpression ) ; + public final void rule__XIfExpression__ThenAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21897:1: ( ( ruleXExpression ) ) + // InternalExpression.g:21898:2: ( ruleXExpression ) + { + // InternalExpression.g:21898:2: ( ruleXExpression ) + // InternalExpression.g:21899:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__ThenAssignment_5" + + + // $ANTLR start "rule__XIfExpression__ElseAssignment_6_1" + // InternalExpression.g:21908:1: rule__XIfExpression__ElseAssignment_6_1 : ( ruleXExpression ) ; + public final void rule__XIfExpression__ElseAssignment_6_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21912:1: ( ( ruleXExpression ) ) + // InternalExpression.g:21913:2: ( ruleXExpression ) + { + // InternalExpression.g:21913:2: ( ruleXExpression ) + // InternalExpression.g:21914:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__ElseAssignment_6_1" + + + // $ANTLR start "rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1" + // InternalExpression.g:21923:1: rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 : ( ruleJvmFormalParameter ) ; + public final void rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21927:1: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:21928:2: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:21928:2: ( ruleJvmFormalParameter ) + // InternalExpression.g:21929:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1" + + + // $ANTLR start "rule__XSwitchExpression__SwitchAssignment_2_0_1" + // InternalExpression.g:21938:1: rule__XSwitchExpression__SwitchAssignment_2_0_1 : ( ruleXExpression ) ; + public final void rule__XSwitchExpression__SwitchAssignment_2_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21942:1: ( ( ruleXExpression ) ) + // InternalExpression.g:21943:2: ( ruleXExpression ) + { + // InternalExpression.g:21943:2: ( ruleXExpression ) + // InternalExpression.g:21944:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__SwitchAssignment_2_0_1" + + + // $ANTLR start "rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0" + // InternalExpression.g:21953:1: rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 : ( ruleJvmFormalParameter ) ; + public final void rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21957:1: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:21958:2: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:21958:2: ( ruleJvmFormalParameter ) + // InternalExpression.g:21959:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0" + + + // $ANTLR start "rule__XSwitchExpression__SwitchAssignment_2_1_1" + // InternalExpression.g:21968:1: rule__XSwitchExpression__SwitchAssignment_2_1_1 : ( ruleXExpression ) ; + public final void rule__XSwitchExpression__SwitchAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21972:1: ( ( ruleXExpression ) ) + // InternalExpression.g:21973:2: ( ruleXExpression ) + { + // InternalExpression.g:21973:2: ( ruleXExpression ) + // InternalExpression.g:21974:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__SwitchAssignment_2_1_1" + + + // $ANTLR start "rule__XSwitchExpression__CasesAssignment_4" + // InternalExpression.g:21983:1: rule__XSwitchExpression__CasesAssignment_4 : ( ruleXCasePart ) ; + public final void rule__XSwitchExpression__CasesAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:21987:1: ( ( ruleXCasePart ) ) + // InternalExpression.g:21988:2: ( ruleXCasePart ) + { + // InternalExpression.g:21988:2: ( ruleXCasePart ) + // InternalExpression.g:21989:3: ruleXCasePart + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleXCasePart(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__CasesAssignment_4" + + + // $ANTLR start "rule__XSwitchExpression__DefaultAssignment_5_2" + // InternalExpression.g:21998:1: rule__XSwitchExpression__DefaultAssignment_5_2 : ( ruleXExpression ) ; + public final void rule__XSwitchExpression__DefaultAssignment_5_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22002:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22003:2: ( ruleXExpression ) + { + // InternalExpression.g:22003:2: ( ruleXExpression ) + // InternalExpression.g:22004:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__DefaultAssignment_5_2" + + + // $ANTLR start "rule__XCasePart__TypeGuardAssignment_1" + // InternalExpression.g:22013:1: rule__XCasePart__TypeGuardAssignment_1 : ( ruleJvmTypeReference ) ; + public final void rule__XCasePart__TypeGuardAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22017:1: ( ( ruleJvmTypeReference ) ) + // InternalExpression.g:22018:2: ( ruleJvmTypeReference ) + { + // InternalExpression.g:22018:2: ( ruleJvmTypeReference ) + // InternalExpression.g:22019:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__TypeGuardAssignment_1" + + + // $ANTLR start "rule__XCasePart__CaseAssignment_2_1" + // InternalExpression.g:22028:1: rule__XCasePart__CaseAssignment_2_1 : ( ruleXExpression ) ; + public final void rule__XCasePart__CaseAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22032:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22033:2: ( ruleXExpression ) + { + // InternalExpression.g:22033:2: ( ruleXExpression ) + // InternalExpression.g:22034:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__CaseAssignment_2_1" + + + // $ANTLR start "rule__XCasePart__ThenAssignment_3_0_1" + // InternalExpression.g:22043:1: rule__XCasePart__ThenAssignment_3_0_1 : ( ruleXExpression ) ; + public final void rule__XCasePart__ThenAssignment_3_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22047:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22048:2: ( ruleXExpression ) + { + // InternalExpression.g:22048:2: ( ruleXExpression ) + // InternalExpression.g:22049:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__ThenAssignment_3_0_1" + + + // $ANTLR start "rule__XCasePart__FallThroughAssignment_3_1" + // InternalExpression.g:22058:1: rule__XCasePart__FallThroughAssignment_3_1 : ( ( ',' ) ) ; + public final void rule__XCasePart__FallThroughAssignment_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22062:1: ( ( ( ',' ) ) ) + // InternalExpression.g:22063:2: ( ( ',' ) ) + { + // InternalExpression.g:22063:2: ( ( ',' ) ) + // InternalExpression.g:22064:3: ( ',' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + } + // InternalExpression.g:22065:3: ( ',' ) + // InternalExpression.g:22066:4: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__FallThroughAssignment_3_1" + + + // $ANTLR start "rule__XForLoopExpression__DeclaredParamAssignment_0_0_3" + // InternalExpression.g:22077:1: rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 : ( ruleJvmFormalParameter ) ; + public final void rule__XForLoopExpression__DeclaredParamAssignment_0_0_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22081:1: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:22082:2: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:22082:2: ( ruleJvmFormalParameter ) + // InternalExpression.g:22083:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__DeclaredParamAssignment_0_0_3" + + + // $ANTLR start "rule__XForLoopExpression__ForExpressionAssignment_1" + // InternalExpression.g:22092:1: rule__XForLoopExpression__ForExpressionAssignment_1 : ( ruleXExpression ) ; + public final void rule__XForLoopExpression__ForExpressionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22096:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22097:2: ( ruleXExpression ) + { + // InternalExpression.g:22097:2: ( ruleXExpression ) + // InternalExpression.g:22098:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__ForExpressionAssignment_1" + + + // $ANTLR start "rule__XForLoopExpression__EachExpressionAssignment_3" + // InternalExpression.g:22107:1: rule__XForLoopExpression__EachExpressionAssignment_3 : ( ruleXExpression ) ; + public final void rule__XForLoopExpression__EachExpressionAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22111:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22112:2: ( ruleXExpression ) + { + // InternalExpression.g:22112:2: ( ruleXExpression ) + // InternalExpression.g:22113:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__EachExpressionAssignment_3" + + + // $ANTLR start "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0" + // InternalExpression.g:22122:1: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 : ( ruleXExpressionOrVarDeclaration ) ; + public final void rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22126:1: ( ( ruleXExpressionOrVarDeclaration ) ) + // InternalExpression.g:22127:2: ( ruleXExpressionOrVarDeclaration ) + { + // InternalExpression.g:22127:2: ( ruleXExpressionOrVarDeclaration ) + // InternalExpression.g:22128:3: ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0" + + + // $ANTLR start "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1" + // InternalExpression.g:22137:1: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 : ( ruleXExpressionOrVarDeclaration ) ; + public final void rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22141:1: ( ( ruleXExpressionOrVarDeclaration ) ) + // InternalExpression.g:22142:2: ( ruleXExpressionOrVarDeclaration ) + { + // InternalExpression.g:22142:2: ( ruleXExpressionOrVarDeclaration ) + // InternalExpression.g:22143:3: ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1" + + + // $ANTLR start "rule__XBasicForLoopExpression__ExpressionAssignment_5" + // InternalExpression.g:22152:1: rule__XBasicForLoopExpression__ExpressionAssignment_5 : ( ruleXExpression ) ; + public final void rule__XBasicForLoopExpression__ExpressionAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22156:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22157:2: ( ruleXExpression ) + { + // InternalExpression.g:22157:2: ( ruleXExpression ) + // InternalExpression.g:22158:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__ExpressionAssignment_5" + + + // $ANTLR start "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0" + // InternalExpression.g:22167:1: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 : ( ruleXExpression ) ; + public final void rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22171:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22172:2: ( ruleXExpression ) + { + // InternalExpression.g:22172:2: ( ruleXExpression ) + // InternalExpression.g:22173:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0" + + + // $ANTLR start "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1" + // InternalExpression.g:22182:1: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 : ( ruleXExpression ) ; + public final void rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22186:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22187:2: ( ruleXExpression ) + { + // InternalExpression.g:22187:2: ( ruleXExpression ) + // InternalExpression.g:22188:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1" + + + // $ANTLR start "rule__XBasicForLoopExpression__EachExpressionAssignment_9" + // InternalExpression.g:22197:1: rule__XBasicForLoopExpression__EachExpressionAssignment_9 : ( ruleXExpression ) ; + public final void rule__XBasicForLoopExpression__EachExpressionAssignment_9() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22201:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22202:2: ( ruleXExpression ) + { + // InternalExpression.g:22202:2: ( ruleXExpression ) + // InternalExpression.g:22203:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__EachExpressionAssignment_9" + + + // $ANTLR start "rule__XWhileExpression__PredicateAssignment_3" + // InternalExpression.g:22212:1: rule__XWhileExpression__PredicateAssignment_3 : ( ruleXExpression ) ; + public final void rule__XWhileExpression__PredicateAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22216:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22217:2: ( ruleXExpression ) + { + // InternalExpression.g:22217:2: ( ruleXExpression ) + // InternalExpression.g:22218:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__PredicateAssignment_3" + + + // $ANTLR start "rule__XWhileExpression__BodyAssignment_5" + // InternalExpression.g:22227:1: rule__XWhileExpression__BodyAssignment_5 : ( ruleXExpression ) ; + public final void rule__XWhileExpression__BodyAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22231:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22232:2: ( ruleXExpression ) + { + // InternalExpression.g:22232:2: ( ruleXExpression ) + // InternalExpression.g:22233:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__BodyAssignment_5" + + + // $ANTLR start "rule__XDoWhileExpression__BodyAssignment_2" + // InternalExpression.g:22242:1: rule__XDoWhileExpression__BodyAssignment_2 : ( ruleXExpression ) ; + public final void rule__XDoWhileExpression__BodyAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22246:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22247:2: ( ruleXExpression ) + { + // InternalExpression.g:22247:2: ( ruleXExpression ) + // InternalExpression.g:22248:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__BodyAssignment_2" + + + // $ANTLR start "rule__XDoWhileExpression__PredicateAssignment_5" + // InternalExpression.g:22257:1: rule__XDoWhileExpression__PredicateAssignment_5 : ( ruleXExpression ) ; + public final void rule__XDoWhileExpression__PredicateAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22261:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22262:2: ( ruleXExpression ) + { + // InternalExpression.g:22262:2: ( ruleXExpression ) + // InternalExpression.g:22263:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__PredicateAssignment_5" + + + // $ANTLR start "rule__XBlockExpression__ExpressionsAssignment_2_0" + // InternalExpression.g:22272:1: rule__XBlockExpression__ExpressionsAssignment_2_0 : ( ruleXExpressionOrVarDeclaration ) ; + public final void rule__XBlockExpression__ExpressionsAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22276:1: ( ( ruleXExpressionOrVarDeclaration ) ) + // InternalExpression.g:22277:2: ( ruleXExpressionOrVarDeclaration ) + { + // InternalExpression.g:22277:2: ( ruleXExpressionOrVarDeclaration ) + // InternalExpression.g:22278:3: ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__ExpressionsAssignment_2_0" + + + // $ANTLR start "rule__XVariableDeclaration__WriteableAssignment_1_0" + // InternalExpression.g:22287:1: rule__XVariableDeclaration__WriteableAssignment_1_0 : ( ( 'var' ) ) ; + public final void rule__XVariableDeclaration__WriteableAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22291:1: ( ( ( 'var' ) ) ) + // InternalExpression.g:22292:2: ( ( 'var' ) ) + { + // InternalExpression.g:22292:2: ( ( 'var' ) ) + // InternalExpression.g:22293:3: ( 'var' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + } + // InternalExpression.g:22294:3: ( 'var' ) + // InternalExpression.g:22295:4: 'var' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + } + match(input,104,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__WriteableAssignment_1_0" + + + // $ANTLR start "rule__XVariableDeclaration__TypeAssignment_2_0_0_0" + // InternalExpression.g:22306:1: rule__XVariableDeclaration__TypeAssignment_2_0_0_0 : ( ruleJvmTypeReference ) ; + public final void rule__XVariableDeclaration__TypeAssignment_2_0_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22310:1: ( ( ruleJvmTypeReference ) ) + // InternalExpression.g:22311:2: ( ruleJvmTypeReference ) + { + // InternalExpression.g:22311:2: ( ruleJvmTypeReference ) + // InternalExpression.g:22312:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__TypeAssignment_2_0_0_0" + + + // $ANTLR start "rule__XVariableDeclaration__NameAssignment_2_0_0_1" + // InternalExpression.g:22321:1: rule__XVariableDeclaration__NameAssignment_2_0_0_1 : ( ruleValidID ) ; + public final void rule__XVariableDeclaration__NameAssignment_2_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22325:1: ( ( ruleValidID ) ) + // InternalExpression.g:22326:2: ( ruleValidID ) + { + // InternalExpression.g:22326:2: ( ruleValidID ) + // InternalExpression.g:22327:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__NameAssignment_2_0_0_1" + + + // $ANTLR start "rule__XVariableDeclaration__NameAssignment_2_1" + // InternalExpression.g:22336:1: rule__XVariableDeclaration__NameAssignment_2_1 : ( ruleValidID ) ; + public final void rule__XVariableDeclaration__NameAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22340:1: ( ( ruleValidID ) ) + // InternalExpression.g:22341:2: ( ruleValidID ) + { + // InternalExpression.g:22341:2: ( ruleValidID ) + // InternalExpression.g:22342:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__NameAssignment_2_1" + + + // $ANTLR start "rule__XVariableDeclaration__RightAssignment_3_1" + // InternalExpression.g:22351:1: rule__XVariableDeclaration__RightAssignment_3_1 : ( ruleXExpression ) ; + public final void rule__XVariableDeclaration__RightAssignment_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22355:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22356:2: ( ruleXExpression ) + { + // InternalExpression.g:22356:2: ( ruleXExpression ) + // InternalExpression.g:22357:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__RightAssignment_3_1" + + + // $ANTLR start "rule__JvmFormalParameter__ParameterTypeAssignment_0" + // InternalExpression.g:22366:1: rule__JvmFormalParameter__ParameterTypeAssignment_0 : ( ruleJvmTypeReference ) ; + public final void rule__JvmFormalParameter__ParameterTypeAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22370:1: ( ( ruleJvmTypeReference ) ) + // InternalExpression.g:22371:2: ( ruleJvmTypeReference ) + { + // InternalExpression.g:22371:2: ( ruleJvmTypeReference ) + // InternalExpression.g:22372:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__ParameterTypeAssignment_0" + + + // $ANTLR start "rule__JvmFormalParameter__NameAssignment_1" + // InternalExpression.g:22381:1: rule__JvmFormalParameter__NameAssignment_1 : ( ruleValidID ) ; + public final void rule__JvmFormalParameter__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22385:1: ( ( ruleValidID ) ) + // InternalExpression.g:22386:2: ( ruleValidID ) + { + // InternalExpression.g:22386:2: ( ruleValidID ) + // InternalExpression.g:22387:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__NameAssignment_1" + + + // $ANTLR start "rule__FullJvmFormalParameter__ParameterTypeAssignment_0" + // InternalExpression.g:22396:1: rule__FullJvmFormalParameter__ParameterTypeAssignment_0 : ( ruleJvmTypeReference ) ; + public final void rule__FullJvmFormalParameter__ParameterTypeAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22400:1: ( ( ruleJvmTypeReference ) ) + // InternalExpression.g:22401:2: ( ruleJvmTypeReference ) + { + // InternalExpression.g:22401:2: ( ruleJvmTypeReference ) + // InternalExpression.g:22402:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__ParameterTypeAssignment_0" + + + // $ANTLR start "rule__FullJvmFormalParameter__NameAssignment_1" + // InternalExpression.g:22411:1: rule__FullJvmFormalParameter__NameAssignment_1 : ( ruleValidID ) ; + public final void rule__FullJvmFormalParameter__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22415:1: ( ( ruleValidID ) ) + // InternalExpression.g:22416:2: ( ruleValidID ) + { + // InternalExpression.g:22416:2: ( ruleValidID ) + // InternalExpression.g:22417:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__NameAssignment_1" + + + // $ANTLR start "rule__XFeatureCall__TypeArgumentsAssignment_1_1" + // InternalExpression.g:22426:1: rule__XFeatureCall__TypeArgumentsAssignment_1_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XFeatureCall__TypeArgumentsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22430:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:22431:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:22431:2: ( ruleJvmArgumentTypeReference ) + // InternalExpression.g:22432:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__TypeArgumentsAssignment_1_1" + + + // $ANTLR start "rule__XFeatureCall__TypeArgumentsAssignment_1_2_1" + // InternalExpression.g:22441:1: rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XFeatureCall__TypeArgumentsAssignment_1_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22445:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:22446:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:22446:2: ( ruleJvmArgumentTypeReference ) + // InternalExpression.g:22447:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__TypeArgumentsAssignment_1_2_1" + + + // $ANTLR start "rule__XFeatureCall__FeatureAssignment_2" + // InternalExpression.g:22456:1: rule__XFeatureCall__FeatureAssignment_2 : ( ( ruleIdOrSuper ) ) ; + public final void rule__XFeatureCall__FeatureAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22460:1: ( ( ( ruleIdOrSuper ) ) ) + // InternalExpression.g:22461:2: ( ( ruleIdOrSuper ) ) + { + // InternalExpression.g:22461:2: ( ( ruleIdOrSuper ) ) + // InternalExpression.g:22462:3: ( ruleIdOrSuper ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); + } + // InternalExpression.g:22463:3: ( ruleIdOrSuper ) + // InternalExpression.g:22464:4: ruleIdOrSuper + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleIdOrSuper(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__FeatureAssignment_2" + + + // $ANTLR start "rule__XFeatureCall__ExplicitOperationCallAssignment_3_0" + // InternalExpression.g:22475:1: rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 : ( ( '(' ) ) ; + public final void rule__XFeatureCall__ExplicitOperationCallAssignment_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22479:1: ( ( ( '(' ) ) ) + // InternalExpression.g:22480:2: ( ( '(' ) ) + { + // InternalExpression.g:22480:2: ( ( '(' ) ) + // InternalExpression.g:22481:3: ( '(' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + } + // InternalExpression.g:22482:3: ( '(' ) + // InternalExpression.g:22483:4: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__ExplicitOperationCallAssignment_3_0" + + + // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0" + // InternalExpression.g:22494:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 : ( ruleXShortClosure ) ; + public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22498:1: ( ( ruleXShortClosure ) ) + // InternalExpression.g:22499:2: ( ruleXShortClosure ) + { + // InternalExpression.g:22499:2: ( ruleXShortClosure ) + // InternalExpression.g:22500:3: ruleXShortClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXShortClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0" + + + // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0" + // InternalExpression.g:22509:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 : ( ruleXExpression ) ; + public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22513:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22514:2: ( ruleXExpression ) + { + // InternalExpression.g:22514:2: ( ruleXExpression ) + // InternalExpression.g:22515:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0" + + + // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1" + // InternalExpression.g:22524:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 : ( ruleXExpression ) ; + public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22528:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22529:2: ( ruleXExpression ) + { + // InternalExpression.g:22529:2: ( ruleXExpression ) + // InternalExpression.g:22530:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1" + + + // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_4" + // InternalExpression.g:22539:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_4 : ( ruleXClosure ) ; + public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22543:1: ( ( ruleXClosure ) ) + // InternalExpression.g:22544:2: ( ruleXClosure ) + { + // InternalExpression.g:22544:2: ( ruleXClosure ) + // InternalExpression.g:22545:3: ruleXClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleXClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__FeatureCallArgumentsAssignment_4" + + + // $ANTLR start "rule__XConstructorCall__ConstructorAssignment_2" + // InternalExpression.g:22554:1: rule__XConstructorCall__ConstructorAssignment_2 : ( ( ruleQualifiedName ) ) ; + public final void rule__XConstructorCall__ConstructorAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22558:1: ( ( ( ruleQualifiedName ) ) ) + // InternalExpression.g:22559:2: ( ( ruleQualifiedName ) ) + { + // InternalExpression.g:22559:2: ( ( ruleQualifiedName ) ) + // InternalExpression.g:22560:3: ( ruleQualifiedName ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); + } + // InternalExpression.g:22561:3: ( ruleQualifiedName ) + // InternalExpression.g:22562:4: ruleQualifiedName + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorQualifiedNameParserRuleCall_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorQualifiedNameParserRuleCall_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ConstructorAssignment_2" + + + // $ANTLR start "rule__XConstructorCall__TypeArgumentsAssignment_3_1" + // InternalExpression.g:22573:1: rule__XConstructorCall__TypeArgumentsAssignment_3_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XConstructorCall__TypeArgumentsAssignment_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22577:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:22578:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:22578:2: ( ruleJvmArgumentTypeReference ) + // InternalExpression.g:22579:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__TypeArgumentsAssignment_3_1" + + + // $ANTLR start "rule__XConstructorCall__TypeArgumentsAssignment_3_2_1" + // InternalExpression.g:22588:1: rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XConstructorCall__TypeArgumentsAssignment_3_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22592:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:22593:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:22593:2: ( ruleJvmArgumentTypeReference ) + // InternalExpression.g:22594:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__TypeArgumentsAssignment_3_2_1" + + + // $ANTLR start "rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0" + // InternalExpression.g:22603:1: rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 : ( ( '(' ) ) ; + public final void rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22607:1: ( ( ( '(' ) ) ) + // InternalExpression.g:22608:2: ( ( '(' ) ) + { + // InternalExpression.g:22608:2: ( ( '(' ) ) + // InternalExpression.g:22609:3: ( '(' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + } + // InternalExpression.g:22610:3: ( '(' ) + // InternalExpression.g:22611:4: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0" + + + // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_4_1_0" + // InternalExpression.g:22622:1: rule__XConstructorCall__ArgumentsAssignment_4_1_0 : ( ruleXShortClosure ) ; + public final void rule__XConstructorCall__ArgumentsAssignment_4_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22626:1: ( ( ruleXShortClosure ) ) + // InternalExpression.g:22627:2: ( ruleXShortClosure ) + { + // InternalExpression.g:22627:2: ( ruleXShortClosure ) + // InternalExpression.g:22628:3: ruleXShortClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXShortClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ArgumentsAssignment_4_1_0" + + + // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_4_1_1_0" + // InternalExpression.g:22637:1: rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 : ( ruleXExpression ) ; + public final void rule__XConstructorCall__ArgumentsAssignment_4_1_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22641:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22642:2: ( ruleXExpression ) + { + // InternalExpression.g:22642:2: ( ruleXExpression ) + // InternalExpression.g:22643:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ArgumentsAssignment_4_1_1_0" + + + // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1" + // InternalExpression.g:22652:1: rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 : ( ruleXExpression ) ; + public final void rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22656:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22657:2: ( ruleXExpression ) + { + // InternalExpression.g:22657:2: ( ruleXExpression ) + // InternalExpression.g:22658:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1" + + + // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_5" + // InternalExpression.g:22667:1: rule__XConstructorCall__ArgumentsAssignment_5 : ( ruleXClosure ) ; + public final void rule__XConstructorCall__ArgumentsAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22671:1: ( ( ruleXClosure ) ) + // InternalExpression.g:22672:2: ( ruleXClosure ) + { + // InternalExpression.g:22672:2: ( ruleXClosure ) + // InternalExpression.g:22673:3: ruleXClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleXClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ArgumentsAssignment_5" + + + // $ANTLR start "rule__XBooleanLiteral__IsTrueAssignment_1_1" + // InternalExpression.g:22682:1: rule__XBooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ; + public final void rule__XBooleanLiteral__IsTrueAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22686:1: ( ( ( 'true' ) ) ) + // InternalExpression.g:22687:2: ( ( 'true' ) ) + { + // InternalExpression.g:22687:2: ( ( 'true' ) ) + // InternalExpression.g:22688:3: ( 'true' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + } + // InternalExpression.g:22689:3: ( 'true' ) + // InternalExpression.g:22690:4: 'true' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + } + match(input,36,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBooleanLiteral__IsTrueAssignment_1_1" + + + // $ANTLR start "rule__XNumberLiteral__ValueAssignment_1" + // InternalExpression.g:22701:1: rule__XNumberLiteral__ValueAssignment_1 : ( ruleNumber ) ; + public final void rule__XNumberLiteral__ValueAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22705:1: ( ( ruleNumber ) ) + // InternalExpression.g:22706:2: ( ruleNumber ) + { + // InternalExpression.g:22706:2: ( ruleNumber ) + // InternalExpression.g:22707:3: ruleNumber + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleNumber(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNumberLiteral__ValueAssignment_1" + + + // $ANTLR start "rule__XStringLiteral__ValueAssignment_1" + // InternalExpression.g:22716:1: rule__XStringLiteral__ValueAssignment_1 : ( RULE_STRING ) ; + public final void rule__XStringLiteral__ValueAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22720:1: ( ( RULE_STRING ) ) + // InternalExpression.g:22721:2: ( RULE_STRING ) + { + // InternalExpression.g:22721:2: ( RULE_STRING ) + // InternalExpression.g:22722:3: RULE_STRING + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); + } + match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XStringLiteral__ValueAssignment_1" + + + // $ANTLR start "rule__XTypeLiteral__TypeAssignment_3" + // InternalExpression.g:22731:1: rule__XTypeLiteral__TypeAssignment_3 : ( ( ruleQualifiedName ) ) ; + public final void rule__XTypeLiteral__TypeAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22735:1: ( ( ( ruleQualifiedName ) ) ) + // InternalExpression.g:22736:2: ( ( ruleQualifiedName ) ) + { + // InternalExpression.g:22736:2: ( ( ruleQualifiedName ) ) + // InternalExpression.g:22737:3: ( ruleQualifiedName ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); + } + // InternalExpression.g:22738:3: ( ruleQualifiedName ) + // InternalExpression.g:22739:4: ruleQualifiedName + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeQualifiedNameParserRuleCall_3_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeQualifiedNameParserRuleCall_3_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__TypeAssignment_3" + + + // $ANTLR start "rule__XTypeLiteral__ArrayDimensionsAssignment_4" + // InternalExpression.g:22750:1: rule__XTypeLiteral__ArrayDimensionsAssignment_4 : ( ruleArrayBrackets ) ; + public final void rule__XTypeLiteral__ArrayDimensionsAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22754:1: ( ( ruleArrayBrackets ) ) + // InternalExpression.g:22755:2: ( ruleArrayBrackets ) + { + // InternalExpression.g:22755:2: ( ruleArrayBrackets ) + // InternalExpression.g:22756:3: ruleArrayBrackets + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__ArrayDimensionsAssignment_4" + + + // $ANTLR start "rule__XThrowExpression__ExpressionAssignment_2" + // InternalExpression.g:22765:1: rule__XThrowExpression__ExpressionAssignment_2 : ( ruleXExpression ) ; + public final void rule__XThrowExpression__ExpressionAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22769:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22770:2: ( ruleXExpression ) + { + // InternalExpression.g:22770:2: ( ruleXExpression ) + // InternalExpression.g:22771:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__ExpressionAssignment_2" + + + // $ANTLR start "rule__XReturnExpression__ExpressionAssignment_2" + // InternalExpression.g:22780:1: rule__XReturnExpression__ExpressionAssignment_2 : ( ruleXExpression ) ; + public final void rule__XReturnExpression__ExpressionAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22784:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22785:2: ( ruleXExpression ) + { + // InternalExpression.g:22785:2: ( ruleXExpression ) + // InternalExpression.g:22786:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__ExpressionAssignment_2" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__ExpressionAssignment_2" + // InternalExpression.g:22795:1: rule__XTryCatchFinallyExpression__ExpressionAssignment_2 : ( ruleXExpression ) ; + public final void rule__XTryCatchFinallyExpression__ExpressionAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22799:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22800:2: ( ruleXExpression ) + { + // InternalExpression.g:22800:2: ( ruleXExpression ) + // InternalExpression.g:22801:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__ExpressionAssignment_2" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0" + // InternalExpression.g:22810:1: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 : ( ruleXCatchClause ) ; + public final void rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22814:1: ( ( ruleXCatchClause ) ) + // InternalExpression.g:22815:2: ( ruleXCatchClause ) + { + // InternalExpression.g:22815:2: ( ruleXCatchClause ) + // InternalExpression.g:22816:3: ruleXCatchClause + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); + } + pushFollow(FOLLOW_2); + ruleXCatchClause(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1" + // InternalExpression.g:22825:1: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 : ( ruleXExpression ) ; + public final void rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22829:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22830:2: ( ruleXExpression ) + { + // InternalExpression.g:22830:2: ( ruleXExpression ) + // InternalExpression.g:22831:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1" + // InternalExpression.g:22840:1: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 : ( ruleXExpression ) ; + public final void rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22844:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22845:2: ( ruleXExpression ) + { + // InternalExpression.g:22845:2: ( ruleXExpression ) + // InternalExpression.g:22846:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1" + + + // $ANTLR start "rule__XSynchronizedExpression__ParamAssignment_1" + // InternalExpression.g:22855:1: rule__XSynchronizedExpression__ParamAssignment_1 : ( ruleXExpression ) ; + public final void rule__XSynchronizedExpression__ParamAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22859:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22860:2: ( ruleXExpression ) + { + // InternalExpression.g:22860:2: ( ruleXExpression ) + // InternalExpression.g:22861:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__ParamAssignment_1" + + + // $ANTLR start "rule__XSynchronizedExpression__ExpressionAssignment_3" + // InternalExpression.g:22870:1: rule__XSynchronizedExpression__ExpressionAssignment_3 : ( ruleXExpression ) ; + public final void rule__XSynchronizedExpression__ExpressionAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22874:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22875:2: ( ruleXExpression ) + { + // InternalExpression.g:22875:2: ( ruleXExpression ) + // InternalExpression.g:22876:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__ExpressionAssignment_3" + + + // $ANTLR start "rule__XCatchClause__DeclaredParamAssignment_2" + // InternalExpression.g:22885:1: rule__XCatchClause__DeclaredParamAssignment_2 : ( ruleFullJvmFormalParameter ) ; + public final void rule__XCatchClause__DeclaredParamAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22889:1: ( ( ruleFullJvmFormalParameter ) ) + // InternalExpression.g:22890:2: ( ruleFullJvmFormalParameter ) + { + // InternalExpression.g:22890:2: ( ruleFullJvmFormalParameter ) + // InternalExpression.g:22891:3: ruleFullJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleFullJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__DeclaredParamAssignment_2" + + + // $ANTLR start "rule__XCatchClause__ExpressionAssignment_4" + // InternalExpression.g:22900:1: rule__XCatchClause__ExpressionAssignment_4 : ( ruleXExpression ) ; + public final void rule__XCatchClause__ExpressionAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22904:1: ( ( ruleXExpression ) ) + // InternalExpression.g:22905:2: ( ruleXExpression ) + { + // InternalExpression.g:22905:2: ( ruleXExpression ) + // InternalExpression.g:22906:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__ExpressionAssignment_4" + + + // $ANTLR start "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0" + // InternalExpression.g:22915:1: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 : ( ruleJvmTypeReference ) ; + public final void rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22919:1: ( ( ruleJvmTypeReference ) ) + // InternalExpression.g:22920:2: ( ruleJvmTypeReference ) + { + // InternalExpression.g:22920:2: ( ruleJvmTypeReference ) + // InternalExpression.g:22921:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0" + + + // $ANTLR start "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1" + // InternalExpression.g:22930:1: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 : ( ruleJvmTypeReference ) ; + public final void rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22934:1: ( ( ruleJvmTypeReference ) ) + // InternalExpression.g:22935:2: ( ruleJvmTypeReference ) + { + // InternalExpression.g:22935:2: ( ruleJvmTypeReference ) + // InternalExpression.g:22936:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1" + + + // $ANTLR start "rule__XFunctionTypeRef__ReturnTypeAssignment_2" + // InternalExpression.g:22945:1: rule__XFunctionTypeRef__ReturnTypeAssignment_2 : ( ruleJvmTypeReference ) ; + public final void rule__XFunctionTypeRef__ReturnTypeAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22949:1: ( ( ruleJvmTypeReference ) ) + // InternalExpression.g:22950:2: ( ruleJvmTypeReference ) + { + // InternalExpression.g:22950:2: ( ruleJvmTypeReference ) + // InternalExpression.g:22951:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__ReturnTypeAssignment_2" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__TypeAssignment_0" + // InternalExpression.g:22960:1: rule__JvmParameterizedTypeReference__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ; + public final void rule__JvmParameterizedTypeReference__TypeAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22964:1: ( ( ( ruleQualifiedName ) ) ) + // InternalExpression.g:22965:2: ( ( ruleQualifiedName ) ) + { + // InternalExpression.g:22965:2: ( ( ruleQualifiedName ) ) + // InternalExpression.g:22966:3: ( ruleQualifiedName ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); + } + // InternalExpression.g:22967:3: ( ruleQualifiedName ) + // InternalExpression.g:22968:4: ruleQualifiedName + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeQualifiedNameParserRuleCall_0_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeQualifiedNameParserRuleCall_0_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__TypeAssignment_0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1" + // InternalExpression.g:22979:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22983:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:22984:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:22984:2: ( ruleJvmArgumentTypeReference ) + // InternalExpression.g:22985:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1" + // InternalExpression.g:22994:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:22998:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:22999:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:22999:2: ( ruleJvmArgumentTypeReference ) + // InternalExpression.g:23000:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1" + // InternalExpression.g:23009:1: rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 : ( ( ruleValidID ) ) ; + public final void rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23013:1: ( ( ( ruleValidID ) ) ) + // InternalExpression.g:23014:2: ( ( ruleValidID ) ) + { + // InternalExpression.g:23014:2: ( ( ruleValidID ) ) + // InternalExpression.g:23015:3: ( ruleValidID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); + } + // InternalExpression.g:23016:3: ( ruleValidID ) + // InternalExpression.g:23017:4: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeValidIDParserRuleCall_1_4_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeValidIDParserRuleCall_1_4_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1" + // InternalExpression.g:23028:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23032:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:23033:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:23033:2: ( ruleJvmArgumentTypeReference ) + // InternalExpression.g:23034:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1" + // InternalExpression.g:23043:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23047:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:23048:2: ( ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:23048:2: ( ruleJvmArgumentTypeReference ) + // InternalExpression.g:23049:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1" + + + // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0" + // InternalExpression.g:23058:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 : ( ruleJvmUpperBound ) ; + public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23062:1: ( ( ruleJvmUpperBound ) ) + // InternalExpression.g:23063:2: ( ruleJvmUpperBound ) + { + // InternalExpression.g:23063:2: ( ruleJvmUpperBound ) + // InternalExpression.g:23064:3: ruleJvmUpperBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0" + + + // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1" + // InternalExpression.g:23073:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 : ( ruleJvmUpperBoundAnded ) ; + public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23077:1: ( ( ruleJvmUpperBoundAnded ) ) + // InternalExpression.g:23078:2: ( ruleJvmUpperBoundAnded ) + { + // InternalExpression.g:23078:2: ( ruleJvmUpperBoundAnded ) + // InternalExpression.g:23079:3: ruleJvmUpperBoundAnded + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmUpperBoundAnded(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1" + + + // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0" + // InternalExpression.g:23088:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 : ( ruleJvmLowerBound ) ; + public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23092:1: ( ( ruleJvmLowerBound ) ) + // InternalExpression.g:23093:2: ( ruleJvmLowerBound ) + { + // InternalExpression.g:23093:2: ( ruleJvmLowerBound ) + // InternalExpression.g:23094:3: ruleJvmLowerBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0" + + + // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1" + // InternalExpression.g:23103:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 : ( ruleJvmLowerBoundAnded ) ; + public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23107:1: ( ( ruleJvmLowerBoundAnded ) ) + // InternalExpression.g:23108:2: ( ruleJvmLowerBoundAnded ) + { + // InternalExpression.g:23108:2: ( ruleJvmLowerBoundAnded ) + // InternalExpression.g:23109:3: ruleJvmLowerBoundAnded + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmLowerBoundAnded(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1" + + + // $ANTLR start "rule__JvmUpperBound__TypeReferenceAssignment_1" + // InternalExpression.g:23118:1: rule__JvmUpperBound__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ; + public final void rule__JvmUpperBound__TypeReferenceAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23122:1: ( ( ruleJvmTypeReference ) ) + // InternalExpression.g:23123:2: ( ruleJvmTypeReference ) + { + // InternalExpression.g:23123:2: ( ruleJvmTypeReference ) + // InternalExpression.g:23124:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBound__TypeReferenceAssignment_1" + + + // $ANTLR start "rule__JvmUpperBoundAnded__TypeReferenceAssignment_1" + // InternalExpression.g:23133:1: rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ; + public final void rule__JvmUpperBoundAnded__TypeReferenceAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23137:1: ( ( ruleJvmTypeReference ) ) + // InternalExpression.g:23138:2: ( ruleJvmTypeReference ) + { + // InternalExpression.g:23138:2: ( ruleJvmTypeReference ) + // InternalExpression.g:23139:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBoundAnded__TypeReferenceAssignment_1" + + + // $ANTLR start "rule__JvmLowerBound__TypeReferenceAssignment_1" + // InternalExpression.g:23148:1: rule__JvmLowerBound__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ; + public final void rule__JvmLowerBound__TypeReferenceAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23152:1: ( ( ruleJvmTypeReference ) ) + // InternalExpression.g:23153:2: ( ruleJvmTypeReference ) + { + // InternalExpression.g:23153:2: ( ruleJvmTypeReference ) + // InternalExpression.g:23154:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBound__TypeReferenceAssignment_1" + + + // $ANTLR start "rule__JvmLowerBoundAnded__TypeReferenceAssignment_1" + // InternalExpression.g:23163:1: rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ; + public final void rule__JvmLowerBoundAnded__TypeReferenceAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23167:1: ( ( ruleJvmTypeReference ) ) + // InternalExpression.g:23168:2: ( ruleJvmTypeReference ) + { + // InternalExpression.g:23168:2: ( ruleJvmTypeReference ) + // InternalExpression.g:23169:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBoundAnded__TypeReferenceAssignment_1" + + + // $ANTLR start "rule__XImportDeclaration__StaticAssignment_1_0_0" + // InternalExpression.g:23178:1: rule__XImportDeclaration__StaticAssignment_1_0_0 : ( ( 'static' ) ) ; + public final void rule__XImportDeclaration__StaticAssignment_1_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23182:1: ( ( ( 'static' ) ) ) + // InternalExpression.g:23183:2: ( ( 'static' ) ) + { + // InternalExpression.g:23183:2: ( ( 'static' ) ) + // InternalExpression.g:23184:3: ( 'static' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + } + // InternalExpression.g:23185:3: ( 'static' ) + // InternalExpression.g:23186:4: 'static' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + } + match(input,61,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__StaticAssignment_1_0_0" + + + // $ANTLR start "rule__XImportDeclaration__ExtensionAssignment_1_0_1" + // InternalExpression.g:23197:1: rule__XImportDeclaration__ExtensionAssignment_1_0_1 : ( ( 'extension' ) ) ; + public final void rule__XImportDeclaration__ExtensionAssignment_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23201:1: ( ( ( 'extension' ) ) ) + // InternalExpression.g:23202:2: ( ( 'extension' ) ) + { + // InternalExpression.g:23202:2: ( ( 'extension' ) ) + // InternalExpression.g:23203:3: ( 'extension' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + } + // InternalExpression.g:23204:3: ( 'extension' ) + // InternalExpression.g:23205:4: 'extension' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + } + match(input,63,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__ExtensionAssignment_1_0_1" + + + // $ANTLR start "rule__XImportDeclaration__ImportedTypeAssignment_1_0_2" + // InternalExpression.g:23216:1: rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 : ( ( ruleQualifiedNameInStaticImport ) ) ; + public final void rule__XImportDeclaration__ImportedTypeAssignment_1_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23220:1: ( ( ( ruleQualifiedNameInStaticImport ) ) ) + // InternalExpression.g:23221:2: ( ( ruleQualifiedNameInStaticImport ) ) + { + // InternalExpression.g:23221:2: ( ( ruleQualifiedNameInStaticImport ) ) + // InternalExpression.g:23222:3: ( ruleQualifiedNameInStaticImport ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); + } + // InternalExpression.g:23223:3: ( ruleQualifiedNameInStaticImport ) + // InternalExpression.g:23224:4: ruleQualifiedNameInStaticImport + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameInStaticImportParserRuleCall_1_0_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedNameInStaticImport(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameInStaticImportParserRuleCall_1_0_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__ImportedTypeAssignment_1_0_2" + + + // $ANTLR start "rule__XImportDeclaration__WildcardAssignment_1_0_3_0" + // InternalExpression.g:23235:1: rule__XImportDeclaration__WildcardAssignment_1_0_3_0 : ( ( '*' ) ) ; + public final void rule__XImportDeclaration__WildcardAssignment_1_0_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23239:1: ( ( ( '*' ) ) ) + // InternalExpression.g:23240:2: ( ( '*' ) ) + { + // InternalExpression.g:23240:2: ( ( '*' ) ) + // InternalExpression.g:23241:3: ( '*' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + } + // InternalExpression.g:23242:3: ( '*' ) + // InternalExpression.g:23243:4: '*' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + } + match(input,25,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__WildcardAssignment_1_0_3_0" + + + // $ANTLR start "rule__XImportDeclaration__MemberNameAssignment_1_0_3_1" + // InternalExpression.g:23254:1: rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 : ( ruleValidID ) ; + public final void rule__XImportDeclaration__MemberNameAssignment_1_0_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23258:1: ( ( ruleValidID ) ) + // InternalExpression.g:23259:2: ( ruleValidID ) + { + // InternalExpression.g:23259:2: ( ruleValidID ) + // InternalExpression.g:23260:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__MemberNameAssignment_1_0_3_1" + + + // $ANTLR start "rule__XImportDeclaration__ImportedTypeAssignment_1_1" + // InternalExpression.g:23269:1: rule__XImportDeclaration__ImportedTypeAssignment_1_1 : ( ( ruleQualifiedName ) ) ; + public final void rule__XImportDeclaration__ImportedTypeAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23273:1: ( ( ( ruleQualifiedName ) ) ) + // InternalExpression.g:23274:2: ( ( ruleQualifiedName ) ) + { + // InternalExpression.g:23274:2: ( ( ruleQualifiedName ) ) + // InternalExpression.g:23275:3: ( ruleQualifiedName ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); + } + // InternalExpression.g:23276:3: ( ruleQualifiedName ) + // InternalExpression.g:23277:4: ruleQualifiedName + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameParserRuleCall_1_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameParserRuleCall_1_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__ImportedTypeAssignment_1_1" + + + // $ANTLR start "rule__XImportDeclaration__ImportedNamespaceAssignment_1_2" + // InternalExpression.g:23288:1: rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 : ( ruleQualifiedNameWithWildcard ) ; + public final void rule__XImportDeclaration__ImportedNamespaceAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalExpression.g:23292:1: ( ( ruleQualifiedNameWithWildcard ) ) + // InternalExpression.g:23293:2: ( ruleQualifiedNameWithWildcard ) + { + // InternalExpression.g:23293:2: ( ruleQualifiedNameWithWildcard ) + // InternalExpression.g:23294:3: ruleQualifiedNameWithWildcard + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleQualifiedNameWithWildcard(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__ImportedNamespaceAssignment_1_2" + + // $ANTLR start synpred3_InternalExpression + public final void synpred3_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:2879:2: ( ( ( ruleCastedExpression ) ) ) + // InternalExpression.g:2879:2: ( ( ruleCastedExpression ) ) + { + // InternalExpression.g:2879:2: ( ( ruleCastedExpression ) ) + // InternalExpression.g:2880:3: ( ruleCastedExpression ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); + } + // InternalExpression.g:2881:3: ( ruleCastedExpression ) + // InternalExpression.g:2881:4: ruleCastedExpression + { + pushFollow(FOLLOW_2); + ruleCastedExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred3_InternalExpression + + // $ANTLR start synpred71_InternalExpression + public final void synpred71_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:3632:2: ( ( ( rule__OpOther__Group_6_1_0__0 ) ) ) + // InternalExpression.g:3632:2: ( ( rule__OpOther__Group_6_1_0__0 ) ) + { + // InternalExpression.g:3632:2: ( ( rule__OpOther__Group_6_1_0__0 ) ) + // InternalExpression.g:3633:3: ( rule__OpOther__Group_6_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); + } + // InternalExpression.g:3634:3: ( rule__OpOther__Group_6_1_0__0 ) + // InternalExpression.g:3634:4: rule__OpOther__Group_6_1_0__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred71_InternalExpression + + // $ANTLR start synpred72_InternalExpression + public final void synpred72_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:3638:2: ( ( '<' ) ) + // InternalExpression.g:3638:2: ( '<' ) + { + // InternalExpression.g:3638:2: ( '<' ) + // InternalExpression.g:3639:3: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred72_InternalExpression + + // $ANTLR start synpred85_InternalExpression + public final void synpred85_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:3851:2: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) ) + // InternalExpression.g:3851:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) + { + // InternalExpression.g:3851:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) + // InternalExpression.g:3852:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); + } + // InternalExpression.g:3853:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) + // InternalExpression.g:3853:4: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred85_InternalExpression + + // $ANTLR start synpred93_InternalExpression + public final void synpred93_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:3914:2: ( ( ( ruleXForLoopExpression ) ) ) + // InternalExpression.g:3914:2: ( ( ruleXForLoopExpression ) ) + { + // InternalExpression.g:3914:2: ( ( ruleXForLoopExpression ) ) + // InternalExpression.g:3915:3: ( ruleXForLoopExpression ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); + } + // InternalExpression.g:3916:3: ( ruleXForLoopExpression ) + // InternalExpression.g:3916:4: ruleXForLoopExpression + { + pushFollow(FOLLOW_2); + ruleXForLoopExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred93_InternalExpression + + // $ANTLR start synpred94_InternalExpression + public final void synpred94_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:3920:2: ( ( ruleXBasicForLoopExpression ) ) + // InternalExpression.g:3920:2: ( ruleXBasicForLoopExpression ) + { + // InternalExpression.g:3920:2: ( ruleXBasicForLoopExpression ) + // InternalExpression.g:3921:3: ruleXBasicForLoopExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); + } + pushFollow(FOLLOW_2); + ruleXBasicForLoopExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred94_InternalExpression + + // $ANTLR start synpred107_InternalExpression + public final void synpred107_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:4043:2: ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) ) + // InternalExpression.g:4043:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) ) + { + // InternalExpression.g:4043:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) ) + // InternalExpression.g:4044:3: ( rule__XSwitchExpression__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); + } + // InternalExpression.g:4045:3: ( rule__XSwitchExpression__Group_2_0__0 ) + // InternalExpression.g:4045:4: rule__XSwitchExpression__Group_2_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred107_InternalExpression + + // $ANTLR start synpred111_InternalExpression + public final void synpred111_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:4127:2: ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) ) + // InternalExpression.g:4127:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) + { + // InternalExpression.g:4127:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) + // InternalExpression.g:4128:3: ( rule__XVariableDeclaration__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); + } + // InternalExpression.g:4129:3: ( rule__XVariableDeclaration__Group_2_0__0 ) + // InternalExpression.g:4129:4: rule__XVariableDeclaration__Group_2_0__0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred111_InternalExpression + + // $ANTLR start synpred112_InternalExpression + public final void synpred112_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:4148:2: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) ) + // InternalExpression.g:4148:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) + { + // InternalExpression.g:4148:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) + // InternalExpression.g:4149:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); + } + // InternalExpression.g:4150:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) + // InternalExpression.g:4150:4: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred112_InternalExpression + + // $ANTLR start synpred118_InternalExpression + public final void synpred118_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:4229:2: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) ) + // InternalExpression.g:4229:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) + { + // InternalExpression.g:4229:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) + // InternalExpression.g:4230:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); + } + // InternalExpression.g:4231:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) + // InternalExpression.g:4231:4: rule__XConstructorCall__ArgumentsAssignment_4_1_0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_4_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred118_InternalExpression + + // $ANTLR start synpred132_InternalExpression + public final void synpred132_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:5181:3: ( rule__IfExpressionKw__Group_4__0 ) + // InternalExpression.g:5181:3: rule__IfExpressionKw__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__IfExpressionKw__Group_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred132_InternalExpression + + // $ANTLR start synpred151_InternalExpression + public final void synpred151_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:8637:3: ( rule__XAssignment__Group_1_1__0 ) + // InternalExpression.g:8637:3: rule__XAssignment__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred151_InternalExpression + + // $ANTLR start synpred153_InternalExpression + public final void synpred153_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:8988:3: ( rule__XOrExpression__Group_1__0 ) + // InternalExpression.g:8988:3: rule__XOrExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred153_InternalExpression + + // $ANTLR start synpred154_InternalExpression + public final void synpred154_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:9177:3: ( rule__XAndExpression__Group_1__0 ) + // InternalExpression.g:9177:3: rule__XAndExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred154_InternalExpression + + // $ANTLR start synpred155_InternalExpression + public final void synpred155_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:9366:3: ( rule__XEqualityExpression__Group_1__0 ) + // InternalExpression.g:9366:3: rule__XEqualityExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred155_InternalExpression + + // $ANTLR start synpred156_InternalExpression + public final void synpred156_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:9555:3: ( rule__XRelationalExpression__Alternatives_1 ) + // InternalExpression.g:9555:3: rule__XRelationalExpression__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred156_InternalExpression + + // $ANTLR start synpred157_InternalExpression + public final void synpred157_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:9933:3: ( rule__XOtherOperatorExpression__Group_1__0 ) + // InternalExpression.g:9933:3: rule__XOtherOperatorExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred157_InternalExpression + + // $ANTLR start synpred158_InternalExpression + public final void synpred158_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:10446:3: ( rule__XAdditiveExpression__Group_1__0 ) + // InternalExpression.g:10446:3: rule__XAdditiveExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred158_InternalExpression + + // $ANTLR start synpred159_InternalExpression + public final void synpred159_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:10635:3: ( rule__XMultiplicativeExpression__Group_1__0 ) + // InternalExpression.g:10635:3: rule__XMultiplicativeExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred159_InternalExpression + + // $ANTLR start synpred160_InternalExpression + public final void synpred160_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:10905:3: ( rule__XCastedExpression__Group_1__0 ) + // InternalExpression.g:10905:3: rule__XCastedExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred160_InternalExpression + + // $ANTLR start synpred161_InternalExpression + public final void synpred161_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:11094:3: ( rule__XPostfixOperation__Group_1__0 ) + // InternalExpression.g:11094:3: rule__XPostfixOperation__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred161_InternalExpression + + // $ANTLR start synpred162_InternalExpression + public final void synpred162_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:11229:3: ( rule__XMemberFeatureCall__Alternatives_1 ) + // InternalExpression.g:11229:3: rule__XMemberFeatureCall__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred162_InternalExpression + + // $ANTLR start synpred164_InternalExpression + public final void synpred164_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:11527:3: ( rule__XMemberFeatureCall__Group_1_1_3__0 ) + // InternalExpression.g:11527:3: rule__XMemberFeatureCall__Group_1_1_3__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred164_InternalExpression + + // $ANTLR start synpred165_InternalExpression + public final void synpred165_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:11553:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 ) + // InternalExpression.g:11553:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred165_InternalExpression + + // $ANTLR start synpred173_InternalExpression + public final void synpred173_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:12526:3: ( rule__XClosure__Group_1__0 ) + // InternalExpression.g:12526:3: rule__XClosure__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred173_InternalExpression + + // $ANTLR start synpred180_InternalExpression + public final void synpred180_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:13497:3: ( rule__XIfExpression__Group_6__0 ) + // InternalExpression.g:13497:3: rule__XIfExpression__Group_6__0 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__Group_6__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred180_InternalExpression + + // $ANTLR start synpred183_InternalExpression + public final void synpred183_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:13957:3: ( rule__XSwitchExpression__Group_2_1_0__0 ) + // InternalExpression.g:13957:3: rule__XSwitchExpression__Group_2_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred183_InternalExpression + + // $ANTLR start synpred196_InternalExpression + public final void synpred196_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:16090:3: ( rule__XFeatureCall__Group_3__0 ) + // InternalExpression.g:16090:3: rule__XFeatureCall__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred196_InternalExpression + + // $ANTLR start synpred197_InternalExpression + public final void synpred197_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:16116:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 ) + // InternalExpression.g:16116:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_4 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred197_InternalExpression + + // $ANTLR start synpred201_InternalExpression + public final void synpred201_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:16576:3: ( rule__XConstructorCall__Group_3__0 ) + // InternalExpression.g:16576:3: rule__XConstructorCall__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred201_InternalExpression + + // $ANTLR start synpred202_InternalExpression + public final void synpred202_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:16603:3: ( rule__XConstructorCall__Group_4__0 ) + // InternalExpression.g:16603:3: rule__XConstructorCall__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred202_InternalExpression + + // $ANTLR start synpred203_InternalExpression + public final void synpred203_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:16629:3: ( rule__XConstructorCall__ArgumentsAssignment_5 ) + // InternalExpression.g:16629:3: rule__XConstructorCall__ArgumentsAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred203_InternalExpression + + // $ANTLR start synpred208_InternalExpression + public final void synpred208_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:17520:3: ( rule__XReturnExpression__ExpressionAssignment_2 ) + // InternalExpression.g:17520:3: rule__XReturnExpression__ExpressionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XReturnExpression__ExpressionAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred208_InternalExpression + + // $ANTLR start synpred209_InternalExpression + public final void synpred209_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:17662:4: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) + // InternalExpression.g:17662:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred209_InternalExpression + + // $ANTLR start synpred210_InternalExpression + public final void synpred210_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:17689:3: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 ) + // InternalExpression.g:17689:3: rule__XTryCatchFinallyExpression__Group_3_0_1__0 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred210_InternalExpression + + // $ANTLR start synpred211_InternalExpression + public final void synpred211_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:18202:3: ( rule__QualifiedName__Group_1__0 ) + // InternalExpression.g:18202:3: rule__QualifiedName__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__QualifiedName__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred211_InternalExpression + + // $ANTLR start synpred213_InternalExpression + public final void synpred213_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:18418:3: ( rule__JvmTypeReference__Group_0_1__0 ) + // InternalExpression.g:18418:3: rule__JvmTypeReference__Group_0_1__0 + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred213_InternalExpression + + // $ANTLR start synpred217_InternalExpression + public final void synpred217_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:18877:3: ( rule__JvmParameterizedTypeReference__Group_1__0 ) + // InternalExpression.g:18877:3: rule__JvmParameterizedTypeReference__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred217_InternalExpression + + // $ANTLR start synpred219_InternalExpression + public final void synpred219_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:19012:3: ( rule__JvmParameterizedTypeReference__Group_1_4__0 ) + // InternalExpression.g:19012:3: rule__JvmParameterizedTypeReference__Group_1_4__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred219_InternalExpression + + // $ANTLR start synpred220_InternalExpression + public final void synpred220_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:19147:3: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 ) + // InternalExpression.g:19147:3: rule__JvmParameterizedTypeReference__Group_1_4_2__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred220_InternalExpression + + // Delegated rules + + public final boolean synpred173_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred173_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred3_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred3_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred118_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred118_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred197_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred197_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred196_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred196_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred201_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred201_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred151_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred151_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred202_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred202_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred203_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred203_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred153_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred153_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred209_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred209_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred154_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred154_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred208_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred208_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred210_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred210_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred211_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred211_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred85_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred85_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred159_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred159_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred161_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred161_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred217_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred217_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred160_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred160_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred71_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred71_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred162_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred162_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred72_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred72_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred132_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred132_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred156_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred156_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred219_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred219_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred213_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred213_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred107_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred107_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred155_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred155_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred158_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred158_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred157_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred157_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred112_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred112_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred164_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred164_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred165_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred165_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred180_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred180_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred183_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred183_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred111_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred111_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred93_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred93_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred94_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred94_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred220_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred220_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + + + protected DFA2 dfa2 = new DFA2(this); + protected DFA23 dfa23 = new DFA23(this); + protected DFA31 dfa31 = new DFA31(this); + protected DFA34 dfa34 = new DFA34(this); + protected DFA35 dfa35 = new DFA35(this); + protected DFA38 dfa38 = new DFA38(this); + protected DFA43 dfa43 = new DFA43(this); + protected DFA46 dfa46 = new DFA46(this); + protected DFA55 dfa55 = new DFA55(this); + protected DFA78 dfa78 = new DFA78(this); + protected DFA84 dfa84 = new DFA84(this); + protected DFA91 dfa91 = new DFA91(this); + protected DFA92 dfa92 = new DFA92(this); + protected DFA100 dfa100 = new DFA100(this); + protected DFA110 dfa110 = new DFA110(this); + protected DFA123 dfa123 = new DFA123(this); + protected DFA124 dfa124 = new DFA124(this); + protected DFA128 dfa128 = new DFA128(this); + protected DFA129 dfa129 = new DFA129(this); + protected DFA130 dfa130 = new DFA130(this); + protected DFA135 dfa135 = new DFA135(this); + protected DFA144 dfa144 = new DFA144(this); + protected DFA147 dfa147 = new DFA147(this); + static final String dfa_1s = "\36\uffff"; + static final String dfa_2s = "\1\4\1\uffff\1\0\33\uffff"; + static final String dfa_3s = "\1\146\1\uffff\1\0\33\uffff"; + static final String dfa_4s = "\1\uffff\1\1\1\uffff\1\3\31\uffff\1\2"; + static final String dfa_5s = "\2\uffff\1\0\33\uffff}>"; + static final String[] dfa_6s = { + "\1\3\1\uffff\1\3\1\uffff\2\3\16\uffff\1\3\2\uffff\16\3\30\uffff\1\1\1\uffff\1\2\2\uffff\1\3\2\uffff\2\3\5\uffff\2\3\12\uffff\1\3\11\uffff\1\3", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); + static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s); + static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); + static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s); + static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); + static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); + + class DFA2 extends DFA { + + public DFA2(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 2; + this.eot = dfa_1; + this.eof = dfa_1; + this.min = dfa_2; + this.max = dfa_3; + this.accept = dfa_4; + this.special = dfa_5; + this.transition = dfa_6; + } + public String getDescription() { + return "2868:1: rule__Expression__Alternatives : ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA2_2 = input.LA(1); + + + int index2_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalExpression()) ) {s = 29;} + + else if ( (true) ) {s = 3;} + + + input.seek(index2_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 2, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_7s = "\13\uffff"; + static final String dfa_8s = "\1\25\2\uffff\1\25\7\uffff"; + static final String dfa_9s = "\1\65\2\uffff\1\62\7\uffff"; + static final String dfa_10s = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\6\1\3"; + static final String dfa_11s = "\13\uffff}>"; + static final String[] dfa_12s = { + "\1\3\1\6\31\uffff\1\1\1\2\1\4\1\5\1\7\1\10", + "", + "", + "\1\11\34\uffff\1\12", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); + static final char[] dfa_8 = DFA.unpackEncodedStringToUnsignedChars(dfa_8s); + static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s); + static final short[] dfa_10 = DFA.unpackEncodedString(dfa_10s); + static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s); + static final short[][] dfa_12 = unpackEncodedStringArray(dfa_12s); + + class DFA23 extends DFA { + + public DFA23(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 23; + this.eot = dfa_7; + this.eof = dfa_7; + this.min = dfa_8; + this.max = dfa_9; + this.accept = dfa_10; + this.special = dfa_11; + this.transition = dfa_12; + } + public String getDescription() { + return "3543:1: rule__OpOther__Alternatives : ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) );"; + } + } + static final String dfa_13s = "\12\uffff"; + static final String dfa_14s = "\4\uffff\5\3\1\uffff"; + static final String dfa_15s = "\1\72\2\4\1\uffff\5\4\1\uffff"; + static final String dfa_16s = "\1\147\2\100\1\uffff\5\150\1\uffff"; + static final String dfa_17s = "\3\uffff\1\2\5\uffff\1\1"; + static final String dfa_18s = "\12\uffff}>"; + static final String[] dfa_19s = { + "\1\1\31\uffff\1\2\22\uffff\1\3", + "\1\4\21\uffff\1\3\45\uffff\1\5\1\6\1\7\1\10\1\3", + "\1\4\21\uffff\1\3\45\uffff\1\5\1\6\1\7\1\10\1\3", + "", + "\4\3\1\uffff\1\3\4\uffff\1\11\5\3\1\uffff\7\3\10\uffff\2\3\3\uffff\30\3\1\uffff\3\3\1\uffff\1\3\1\uffff\7\3\2\uffff\23\3\3\uffff\2\3", + "\4\3\1\uffff\1\3\4\uffff\1\11\5\3\1\uffff\7\3\10\uffff\2\3\3\uffff\30\3\1\uffff\3\3\1\uffff\1\3\1\uffff\7\3\2\uffff\23\3\3\uffff\2\3", + "\4\3\1\uffff\1\3\4\uffff\1\11\5\3\1\uffff\7\3\10\uffff\2\3\3\uffff\30\3\1\uffff\3\3\1\uffff\1\3\1\uffff\7\3\2\uffff\23\3\3\uffff\2\3", + "\4\3\1\uffff\1\3\4\uffff\1\11\5\3\1\uffff\7\3\10\uffff\2\3\3\uffff\30\3\1\uffff\3\3\1\uffff\1\3\1\uffff\7\3\2\uffff\23\3\3\uffff\2\3", + "\4\3\1\uffff\1\3\4\uffff\1\11\5\3\1\uffff\7\3\10\uffff\2\3\3\uffff\30\3\1\uffff\3\3\1\uffff\1\3\1\uffff\7\3\2\uffff\23\3\3\uffff\2\3", + "" + }; + + static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s); + static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s); + static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s); + static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s); + static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s); + static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s); + static final short[][] dfa_19 = unpackEncodedStringArray(dfa_19s); + + class DFA31 extends DFA { + + public DFA31(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 31; + this.eot = dfa_13; + this.eof = dfa_14; + this.min = dfa_15; + this.max = dfa_16; + this.accept = dfa_17; + this.special = dfa_18; + this.transition = dfa_19; + } + public String getDescription() { + return "3777:1: rule__XMemberFeatureCall__Alternatives_1 : ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) );"; + } + } + static final String dfa_20s = "\43\uffff"; + static final String dfa_21s = "\1\4\2\0\40\uffff"; + static final String dfa_22s = "\1\142\2\0\40\uffff"; + static final String dfa_23s = "\3\uffff\1\1\1\uffff\1\2\35\uffff"; + static final String dfa_24s = "\1\uffff\1\0\1\1\40\uffff}>"; + static final String[] dfa_25s = { + "\1\1\3\5\1\uffff\1\5\14\uffff\3\5\2\uffff\1\5\10\uffff\2\5\15\uffff\1\3\10\uffff\5\5\2\uffff\1\2\2\uffff\1\5\2\uffff\2\5\4\uffff\1\3\1\uffff\2\5\4\uffff\1\5\1\uffff\10\5\1\uffff\1\5", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s); + static final char[] dfa_21 = DFA.unpackEncodedStringToUnsignedChars(dfa_21s); + static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s); + static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); + static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s); + static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s); + + class DFA34 extends DFA { + + public DFA34(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 34; + this.eot = dfa_20; + this.eof = dfa_20; + this.min = dfa_21; + this.max = dfa_22; + this.accept = dfa_23; + this.special = dfa_24; + this.transition = dfa_25; + } + public String getDescription() { + return "3846:1: rule__XMemberFeatureCall__Alternatives_1_1_3_1 : ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA34_1 = input.LA(1); + + + int index34_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred85_InternalExpression()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index34_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA34_2 = input.LA(1); + + + int index34_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred85_InternalExpression()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index34_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 34, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_26s = "\40\uffff"; + static final String dfa_27s = "\1\4\26\uffff\1\0\10\uffff"; + static final String dfa_28s = "\1\142\26\uffff\1\0\10\uffff"; + static final String dfa_29s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\6\uffff\1\6\11\uffff\1\7\1\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\10\1\11"; + static final String dfa_30s = "\27\uffff\1\0\10\uffff}>"; + static final String[] dfa_31s = { + "\1\5\3\14\1\uffff\1\14\14\uffff\1\5\15\uffff\2\14\26\uffff\5\5\2\uffff\1\35\2\uffff\1\26\2\uffff\1\3\1\2\6\uffff\1\1\1\14\4\uffff\1\14\1\uffff\1\27\1\30\1\31\2\14\1\32\1\33\1\34\1\uffff\1\4", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s); + static final char[] dfa_27 = DFA.unpackEncodedStringToUnsignedChars(dfa_27s); + static final char[] dfa_28 = DFA.unpackEncodedStringToUnsignedChars(dfa_28s); + static final short[] dfa_29 = DFA.unpackEncodedString(dfa_29s); + static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s); + static final short[][] dfa_31 = unpackEncodedStringArray(dfa_31s); + + class DFA35 extends DFA { + + public DFA35(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 35; + this.eot = dfa_26; + this.eof = dfa_26; + this.min = dfa_27; + this.max = dfa_28; + this.accept = dfa_29; + this.special = dfa_30; + this.transition = dfa_31; + } + public String getDescription() { + return "3867:1: rule__XPrimaryExpression__Alternatives : ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA35_23 = input.LA(1); + + + int index35_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_InternalExpression()) ) {s = 30;} + + else if ( (synpred94_InternalExpression()) ) {s = 31;} + + + input.seek(index35_23); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 35, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_32s = "\1\4\1\0\41\uffff"; + static final String dfa_33s = "\1\142\1\0\41\uffff"; + static final String dfa_34s = "\2\uffff\1\2\37\uffff\1\1"; + static final String dfa_35s = "\1\uffff\1\0\41\uffff}>"; + static final String[] dfa_36s = { + "\4\2\1\uffff\1\2\14\uffff\3\2\2\uffff\1\2\10\uffff\2\2\15\uffff\1\2\10\uffff\5\2\2\uffff\1\1\2\uffff\1\2\2\uffff\2\2\6\uffff\2\2\4\uffff\1\2\1\uffff\10\2\1\uffff\1\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final char[] dfa_32 = DFA.unpackEncodedStringToUnsignedChars(dfa_32s); + static final char[] dfa_33 = DFA.unpackEncodedStringToUnsignedChars(dfa_33s); + static final short[] dfa_34 = DFA.unpackEncodedString(dfa_34s); + static final short[] dfa_35 = DFA.unpackEncodedString(dfa_35s); + static final short[][] dfa_36 = unpackEncodedStringArray(dfa_36s); + + class DFA38 extends DFA { + + public DFA38(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 38; + this.eot = dfa_20; + this.eof = dfa_20; + this.min = dfa_32; + this.max = dfa_33; + this.accept = dfa_34; + this.special = dfa_35; + this.transition = dfa_36; + } + public String getDescription() { + return "4038:1: rule__XSwitchExpression__Alternatives_2 : ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA38_1 = input.LA(1); + + + int index38_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred107_InternalExpression()) ) {s = 34;} + + else if ( (true) ) {s = 2;} + + + input.seek(index38_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 38, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA43 extends DFA { + + public DFA43(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 43; + this.eot = dfa_20; + this.eof = dfa_20; + this.min = dfa_21; + this.max = dfa_22; + this.accept = dfa_23; + this.special = dfa_24; + this.transition = dfa_25; + } + public String getDescription() { + return "4143:1: rule__XFeatureCall__Alternatives_3_1 : ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA43_1 = input.LA(1); + + + int index43_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred112_InternalExpression()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index43_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA43_2 = input.LA(1); + + + int index43_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred112_InternalExpression()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index43_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 43, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA46 extends DFA { + + public DFA46(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 46; + this.eot = dfa_20; + this.eof = dfa_20; + this.min = dfa_21; + this.max = dfa_22; + this.accept = dfa_23; + this.special = dfa_24; + this.transition = dfa_25; + } + public String getDescription() { + return "4224:1: rule__XConstructorCall__Alternatives_4_1 : ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA46_1 = input.LA(1); + + + int index46_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred118_InternalExpression()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index46_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA46_2 = input.LA(1); + + + int index46_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred118_InternalExpression()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index46_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 46, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_37s = "\7\uffff"; + static final String dfa_38s = "\2\uffff\1\4\2\uffff\1\4\1\uffff"; + static final String dfa_39s = "\1\4\1\uffff\1\72\1\4\1\uffff\1\72\1\uffff"; + static final String dfa_40s = "\1\75\1\uffff\1\130\1\31\1\uffff\1\130\1\uffff"; + static final String dfa_41s = "\1\uffff\1\1\2\uffff\1\2\1\uffff\1\3"; + static final String dfa_42s = "\7\uffff}>"; + static final String[] dfa_43s = { + "\1\2\70\uffff\1\1", + "", + "\1\3\35\uffff\1\4", + "\1\5\24\uffff\1\6", + "", + "\1\3\35\uffff\1\4", + "" + }; + + static final short[] dfa_37 = DFA.unpackEncodedString(dfa_37s); + static final short[] dfa_38 = DFA.unpackEncodedString(dfa_38s); + static final char[] dfa_39 = DFA.unpackEncodedStringToUnsignedChars(dfa_39s); + static final char[] dfa_40 = DFA.unpackEncodedStringToUnsignedChars(dfa_40s); + static final short[] dfa_41 = DFA.unpackEncodedString(dfa_41s); + static final short[] dfa_42 = DFA.unpackEncodedString(dfa_42s); + static final short[][] dfa_43 = unpackEncodedStringArray(dfa_43s); + + class DFA55 extends DFA { + + public DFA55(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 55; + this.eot = dfa_37; + this.eof = dfa_38; + this.min = dfa_39; + this.max = dfa_40; + this.accept = dfa_41; + this.special = dfa_42; + this.transition = dfa_43; + } + public String getDescription() { + return "4413:1: rule__XImportDeclaration__Alternatives_1 : ( ( ( rule__XImportDeclaration__Group_1_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) ) );"; + } + } + static final String dfa_44s = "\1\10\11\uffff"; + static final String dfa_45s = "\1\4\7\0\2\uffff"; + static final String dfa_46s = "\1\150\7\0\2\uffff"; + static final String dfa_47s = "\10\uffff\1\2\1\1"; + static final String dfa_48s = "\1\uffff\1\1\1\4\1\6\1\0\1\2\1\5\1\3\2\uffff}>"; + static final String[] dfa_49s = { + "\4\10\1\uffff\1\10\5\uffff\5\10\1\uffff\1\7\1\6\5\10\10\uffff\2\10\3\uffff\1\1\1\2\1\3\1\4\1\5\23\10\1\uffff\3\10\1\uffff\1\10\1\uffff\7\10\2\uffff\23\10\3\uffff\2\10", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "" + }; + static final short[] dfa_44 = DFA.unpackEncodedString(dfa_44s); + static final char[] dfa_45 = DFA.unpackEncodedStringToUnsignedChars(dfa_45s); + static final char[] dfa_46 = DFA.unpackEncodedStringToUnsignedChars(dfa_46s); + static final short[] dfa_47 = DFA.unpackEncodedString(dfa_47s); + static final short[] dfa_48 = DFA.unpackEncodedString(dfa_48s); + static final short[][] dfa_49 = unpackEncodedStringArray(dfa_49s); + + class DFA78 extends DFA { + + public DFA78(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 78; + this.eot = dfa_13; + this.eof = dfa_44; + this.min = dfa_45; + this.max = dfa_46; + this.accept = dfa_47; + this.special = dfa_48; + this.transition = dfa_49; + } + public String getDescription() { + return "8637:2: ( rule__XAssignment__Group_1_1__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA78_4 = input.LA(1); + + + int index78_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred151_InternalExpression()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index78_4); + if ( s>=0 ) return s; + break; + case 1 : + int LA78_1 = input.LA(1); + + + int index78_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred151_InternalExpression()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index78_1); + if ( s>=0 ) return s; + break; + case 2 : + int LA78_5 = input.LA(1); + + + int index78_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred151_InternalExpression()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index78_5); + if ( s>=0 ) return s; + break; + case 3 : + int LA78_7 = input.LA(1); + + + int index78_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred151_InternalExpression()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index78_7); + if ( s>=0 ) return s; + break; + case 4 : + int LA78_2 = input.LA(1); + + + int index78_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred151_InternalExpression()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index78_2); + if ( s>=0 ) return s; + break; + case 5 : + int LA78_6 = input.LA(1); + + + int index78_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred151_InternalExpression()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index78_6); + if ( s>=0 ) return s; + break; + case 6 : + int LA78_3 = input.LA(1); + + + int index78_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred151_InternalExpression()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index78_3); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 78, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_50s = "\1\1\12\uffff"; + static final String dfa_51s = "\1\4\1\uffff\10\0\1\uffff"; + static final String dfa_52s = "\1\150\1\uffff\10\0\1\uffff"; + static final String dfa_53s = "\1\uffff\1\2\10\uffff\1\1"; + static final String dfa_54s = "\2\uffff\1\1\1\2\1\6\1\4\1\0\1\3\1\7\1\5\1\uffff}>"; + static final String[] dfa_55s = { + "\4\1\1\uffff\1\1\5\uffff\5\1\1\uffff\1\3\1\2\5\1\10\uffff\2\1\3\uffff\7\1\1\4\1\5\1\6\1\7\1\10\1\11\13\1\1\uffff\3\1\1\uffff\1\1\1\uffff\7\1\2\uffff\23\1\3\uffff\2\1", + "", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "" + }; + static final short[] dfa_50 = DFA.unpackEncodedString(dfa_50s); + static final char[] dfa_51 = DFA.unpackEncodedStringToUnsignedChars(dfa_51s); + static final char[] dfa_52 = DFA.unpackEncodedStringToUnsignedChars(dfa_52s); + static final short[] dfa_53 = DFA.unpackEncodedString(dfa_53s); + static final short[] dfa_54 = DFA.unpackEncodedString(dfa_54s); + static final short[][] dfa_55 = unpackEncodedStringArray(dfa_55s); + + class DFA84 extends DFA { + + public DFA84(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 84; + this.eot = dfa_7; + this.eof = dfa_50; + this.min = dfa_51; + this.max = dfa_52; + this.accept = dfa_53; + this.special = dfa_54; + this.transition = dfa_55; + } + public String getDescription() { + return "()* loopback of 9933:2: ( rule__XOtherOperatorExpression__Group_1__0 )*"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA84_6 = input.LA(1); + + + int index84_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred157_InternalExpression()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index84_6); + if ( s>=0 ) return s; + break; + case 1 : + int LA84_2 = input.LA(1); + + + int index84_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred157_InternalExpression()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index84_2); + if ( s>=0 ) return s; + break; + case 2 : + int LA84_3 = input.LA(1); + + + int index84_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred157_InternalExpression()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index84_3); + if ( s>=0 ) return s; + break; + case 3 : + int LA84_7 = input.LA(1); + + + int index84_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred157_InternalExpression()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index84_7); + if ( s>=0 ) return s; + break; + case 4 : + int LA84_5 = input.LA(1); + + + int index84_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred157_InternalExpression()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index84_5); + if ( s>=0 ) return s; + break; + case 5 : + int LA84_9 = input.LA(1); + + + int index84_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred157_InternalExpression()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index84_9); + if ( s>=0 ) return s; + break; + case 6 : + int LA84_4 = input.LA(1); + + + int index84_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred157_InternalExpression()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index84_4); + if ( s>=0 ) return s; + break; + case 7 : + int LA84_8 = input.LA(1); + + + int index84_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred157_InternalExpression()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index84_8); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 84, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_56s = "\116\uffff"; + static final String dfa_57s = "\1\2\115\uffff"; + static final String dfa_58s = "\1\4\1\0\114\uffff"; + static final String dfa_59s = "\1\150\1\0\114\uffff"; + static final String dfa_60s = "\2\uffff\1\2\112\uffff\1\1"; + static final String dfa_61s = "\1\uffff\1\0\114\uffff}>"; + static final String[] dfa_62s = { + "\4\2\1\uffff\1\2\5\uffff\5\2\1\uffff\7\2\10\uffff\2\2\3\uffff\30\2\1\uffff\1\2\1\1\1\2\1\uffff\1\2\1\uffff\7\2\2\uffff\23\2\3\uffff\2\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_56 = DFA.unpackEncodedString(dfa_56s); + static final short[] dfa_57 = DFA.unpackEncodedString(dfa_57s); + static final char[] dfa_58 = DFA.unpackEncodedStringToUnsignedChars(dfa_58s); + static final char[] dfa_59 = DFA.unpackEncodedStringToUnsignedChars(dfa_59s); + static final short[] dfa_60 = DFA.unpackEncodedString(dfa_60s); + static final short[] dfa_61 = DFA.unpackEncodedString(dfa_61s); + static final short[][] dfa_62 = unpackEncodedStringArray(dfa_62s); + + class DFA91 extends DFA { + + public DFA91(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 91; + this.eot = dfa_56; + this.eof = dfa_57; + this.min = dfa_58; + this.max = dfa_59; + this.accept = dfa_60; + this.special = dfa_61; + this.transition = dfa_62; + } + public String getDescription() { + return "11527:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA91_1 = input.LA(1); + + + int index91_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred164_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index91_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 91, _s, input); + error(nvae); + throw nvae; + } + } + static final String[] dfa_63s = { + "\4\2\1\uffff\1\2\5\uffff\5\2\1\uffff\7\2\10\uffff\2\2\3\uffff\30\2\1\uffff\3\2\1\uffff\1\2\1\uffff\7\2\2\uffff\1\2\1\1\21\2\3\uffff\2\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[][] dfa_63 = unpackEncodedStringArray(dfa_63s); + + class DFA92 extends DFA { + + public DFA92(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 92; + this.eot = dfa_56; + this.eof = dfa_57; + this.min = dfa_58; + this.max = dfa_59; + this.accept = dfa_60; + this.special = dfa_61; + this.transition = dfa_63; + } + public String getDescription() { + return "11553:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA92_1 = input.LA(1); + + + int index92_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred165_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index92_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 92, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_64s = "\46\uffff"; + static final String dfa_65s = "\1\4\2\0\43\uffff"; + static final String dfa_66s = "\1\150\2\0\43\uffff"; + static final String dfa_67s = "\3\uffff\1\1\1\uffff\1\2\40\uffff"; + static final String dfa_68s = "\1\uffff\1\0\1\1\43\uffff}>"; + static final String[] dfa_69s = { + "\1\1\3\5\1\uffff\1\5\14\uffff\3\5\2\uffff\1\5\10\uffff\2\5\15\uffff\1\3\7\uffff\6\5\2\uffff\1\2\2\uffff\1\5\2\uffff\2\5\4\uffff\1\3\1\uffff\3\5\3\uffff\1\5\1\uffff\10\5\1\uffff\1\5\5\uffff\1\5", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_64 = DFA.unpackEncodedString(dfa_64s); + static final char[] dfa_65 = DFA.unpackEncodedStringToUnsignedChars(dfa_65s); + static final char[] dfa_66 = DFA.unpackEncodedStringToUnsignedChars(dfa_66s); + static final short[] dfa_67 = DFA.unpackEncodedString(dfa_67s); + static final short[] dfa_68 = DFA.unpackEncodedString(dfa_68s); + static final short[][] dfa_69 = unpackEncodedStringArray(dfa_69s); + + class DFA100 extends DFA { + + public DFA100(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 100; + this.eot = dfa_64; + this.eof = dfa_64; + this.min = dfa_65; + this.max = dfa_66; + this.accept = dfa_67; + this.special = dfa_68; + this.transition = dfa_69; + } + public String getDescription() { + return "12526:2: ( rule__XClosure__Group_1__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA100_1 = input.LA(1); + + + int index100_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred173_InternalExpression()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index100_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA100_2 = input.LA(1); + + + int index100_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred173_InternalExpression()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index100_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 100, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_70s = "\42\uffff"; + static final String dfa_71s = "\1\4\2\0\37\uffff"; + static final String dfa_72s = "\1\142\2\0\37\uffff"; + static final String dfa_73s = "\3\uffff\1\1\1\2\35\uffff"; + static final String dfa_74s = "\1\uffff\1\0\1\1\37\uffff}>"; + static final String[] dfa_75s = { + "\1\1\3\4\1\uffff\1\4\14\uffff\3\4\2\uffff\1\4\10\uffff\2\4\15\uffff\1\3\10\uffff\5\4\2\uffff\1\2\2\uffff\1\4\2\uffff\2\4\6\uffff\2\4\4\uffff\1\4\1\uffff\10\4\1\uffff\1\4", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_70 = DFA.unpackEncodedString(dfa_70s); + static final char[] dfa_71 = DFA.unpackEncodedStringToUnsignedChars(dfa_71s); + static final char[] dfa_72 = DFA.unpackEncodedStringToUnsignedChars(dfa_72s); + static final short[] dfa_73 = DFA.unpackEncodedString(dfa_73s); + static final short[] dfa_74 = DFA.unpackEncodedString(dfa_74s); + static final short[][] dfa_75 = unpackEncodedStringArray(dfa_75s); + + class DFA110 extends DFA { + + public DFA110(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 110; + this.eot = dfa_70; + this.eof = dfa_70; + this.min = dfa_71; + this.max = dfa_72; + this.accept = dfa_73; + this.special = dfa_74; + this.transition = dfa_75; + } + public String getDescription() { + return "13957:2: ( rule__XSwitchExpression__Group_2_1_0__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA110_1 = input.LA(1); + + + int index110_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred183_InternalExpression()) ) {s = 3;} + + else if ( (true) ) {s = 4;} + + + input.seek(index110_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA110_2 = input.LA(1); + + + int index110_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred183_InternalExpression()) ) {s = 3;} + + else if ( (true) ) {s = 4;} + + + input.seek(index110_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 110, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA123 extends DFA { + + public DFA123(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 123; + this.eot = dfa_56; + this.eof = dfa_57; + this.min = dfa_58; + this.max = dfa_59; + this.accept = dfa_60; + this.special = dfa_61; + this.transition = dfa_62; + } + public String getDescription() { + return "16090:2: ( rule__XFeatureCall__Group_3__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA123_1 = input.LA(1); + + + int index123_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred196_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index123_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 123, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA124 extends DFA { + + public DFA124(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 124; + this.eot = dfa_56; + this.eof = dfa_57; + this.min = dfa_58; + this.max = dfa_59; + this.accept = dfa_60; + this.special = dfa_61; + this.transition = dfa_63; + } + public String getDescription() { + return "16116:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA124_1 = input.LA(1); + + + int index124_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred197_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index124_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 124, _s, input); + error(nvae); + throw nvae; + } + } + static final String[] dfa_76s = { + "\4\2\1\uffff\1\2\5\uffff\5\2\1\uffff\1\2\1\1\5\2\10\uffff\2\2\3\uffff\30\2\1\uffff\3\2\1\uffff\1\2\1\uffff\7\2\2\uffff\23\2\3\uffff\2\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[][] dfa_76 = unpackEncodedStringArray(dfa_76s); + + class DFA128 extends DFA { + + public DFA128(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 128; + this.eot = dfa_56; + this.eof = dfa_57; + this.min = dfa_58; + this.max = dfa_59; + this.accept = dfa_60; + this.special = dfa_61; + this.transition = dfa_76; + } + public String getDescription() { + return "16576:2: ( rule__XConstructorCall__Group_3__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA128_1 = input.LA(1); + + + int index128_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred201_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index128_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 128, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA129 extends DFA { + + public DFA129(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 129; + this.eot = dfa_56; + this.eof = dfa_57; + this.min = dfa_58; + this.max = dfa_59; + this.accept = dfa_60; + this.special = dfa_61; + this.transition = dfa_62; + } + public String getDescription() { + return "16603:2: ( rule__XConstructorCall__Group_4__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA129_1 = input.LA(1); + + + int index129_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred202_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index129_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 129, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA130 extends DFA { + + public DFA130(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 130; + this.eot = dfa_56; + this.eof = dfa_57; + this.min = dfa_58; + this.max = dfa_59; + this.accept = dfa_60; + this.special = dfa_61; + this.transition = dfa_63; + } + public String getDescription() { + return "16629:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA130_1 = input.LA(1); + + + int index130_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred203_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index130_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 130, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_77s = "\1\41\115\uffff"; + static final String dfa_78s = "\1\4\40\0\55\uffff"; + static final String dfa_79s = "\1\150\40\0\55\uffff"; + static final String dfa_80s = "\41\uffff\1\2\53\uffff\1\1"; + static final String dfa_81s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\55\uffff}>"; + static final String[] dfa_82s = { + "\1\1\1\23\1\24\1\25\1\uffff\1\27\5\uffff\5\41\1\uffff\1\41\1\15\1\10\1\7\2\41\1\6\10\uffff\1\22\1\21\3\uffff\23\41\1\2\1\3\1\4\1\5\1\16\1\uffff\1\41\1\40\1\41\1\uffff\1\31\1\uffff\1\41\1\13\1\12\4\41\2\uffff\1\11\1\20\4\41\1\17\1\41\1\32\1\33\1\34\1\26\1\30\1\35\1\36\1\37\1\41\1\14\1\41\3\uffff\2\41", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[] dfa_77 = DFA.unpackEncodedString(dfa_77s); + static final char[] dfa_78 = DFA.unpackEncodedStringToUnsignedChars(dfa_78s); + static final char[] dfa_79 = DFA.unpackEncodedStringToUnsignedChars(dfa_79s); + static final short[] dfa_80 = DFA.unpackEncodedString(dfa_80s); + static final short[] dfa_81 = DFA.unpackEncodedString(dfa_81s); + static final short[][] dfa_82 = unpackEncodedStringArray(dfa_82s); + + class DFA135 extends DFA { + + public DFA135(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 135; + this.eot = dfa_56; + this.eof = dfa_77; + this.min = dfa_78; + this.max = dfa_79; + this.accept = dfa_80; + this.special = dfa_81; + this.transition = dfa_82; + } + public String getDescription() { + return "17520:2: ( rule__XReturnExpression__ExpressionAssignment_2 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA135_1 = input.LA(1); + + + int index135_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index135_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA135_2 = input.LA(1); + + + int index135_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index135_2); + if ( s>=0 ) return s; + break; + case 2 : + int LA135_3 = input.LA(1); + + + int index135_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index135_3); + if ( s>=0 ) return s; + break; + case 3 : + int LA135_4 = input.LA(1); + + + int index135_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index135_4); + if ( s>=0 ) return s; + break; + case 4 : + int LA135_5 = input.LA(1); + + + int index135_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index135_5); + if ( s>=0 ) return s; + break; + case 5 : + int LA135_6 = input.LA(1); - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); - } + + int index135_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - } + else if ( (true) ) {s = 33;} + + input.seek(index135_6); + if ( s>=0 ) return s; + break; + case 6 : + int LA135_7 = input.LA(1); - } + + int index135_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + else if ( (true) ) {s = 33;} - restoreStackSize(stackSize); + + input.seek(index135_7); + if ( s>=0 ) return s; + break; + case 7 : + int LA135_8 = input.LA(1); - } - return ; - } - // $ANTLR end "rule__CollectionExpression__NameAssignment_0" + + int index135_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} + else if ( (true) ) {s = 33;} - // $ANTLR start "rule__CollectionExpression__VarAssignment_2_0" - // InternalExpression.g:6366:1: rule__CollectionExpression__VarAssignment_2_0 : ( ruleIdentifier ) ; - public final void rule__CollectionExpression__VarAssignment_2_0() throws RecognitionException { + + input.seek(index135_8); + if ( s>=0 ) return s; + break; + case 8 : + int LA135_9 = input.LA(1); - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:6370:1: ( ( ruleIdentifier ) ) - // InternalExpression.g:6371:2: ( ruleIdentifier ) - { - // InternalExpression.g:6371:2: ( ruleIdentifier ) - // InternalExpression.g:6372:3: ruleIdentifier - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); - } - pushFollow(FOLLOW_2); - ruleIdentifier(); + + int index135_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); - } + else if ( (true) ) {s = 33;} - } + + input.seek(index135_9); + if ( s>=0 ) return s; + break; + case 9 : + int LA135_10 = input.LA(1); + + int index135_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - } + else if ( (true) ) {s = 33;} - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + + input.seek(index135_10); + if ( s>=0 ) return s; + break; + case 10 : + int LA135_11 = input.LA(1); - restoreStackSize(stackSize); + + int index135_11 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - } - return ; - } - // $ANTLR end "rule__CollectionExpression__VarAssignment_2_0" + else if ( (true) ) {s = 33;} + + input.seek(index135_11); + if ( s>=0 ) return s; + break; + case 11 : + int LA135_12 = input.LA(1); - // $ANTLR start "rule__CollectionExpression__ExpAssignment_3" - // InternalExpression.g:6381:1: rule__CollectionExpression__ExpAssignment_3 : ( ruleExpression ) ; - public final void rule__CollectionExpression__ExpAssignment_3() throws RecognitionException { + + int index135_12 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:6385:1: ( ( ruleExpression ) ) - // InternalExpression.g:6386:2: ( ruleExpression ) - { - // InternalExpression.g:6386:2: ( ruleExpression ) - // InternalExpression.g:6387:3: ruleExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); + else if ( (true) ) {s = 33;} - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); - } + + input.seek(index135_12); + if ( s>=0 ) return s; + break; + case 12 : + int LA135_13 = input.LA(1); - } + + int index135_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} + else if ( (true) ) {s = 33;} - } + + input.seek(index135_13); + if ( s>=0 ) return s; + break; + case 13 : + int LA135_14 = input.LA(1); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + + int index135_14 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - restoreStackSize(stackSize); + else if ( (true) ) {s = 33;} - } - return ; - } - // $ANTLR end "rule__CollectionExpression__ExpAssignment_3" + + input.seek(index135_14); + if ( s>=0 ) return s; + break; + case 14 : + int LA135_15 = input.LA(1); + + int index135_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - // $ANTLR start "rule__CollectionType__ClAssignment_0" - // InternalExpression.g:6396:1: rule__CollectionType__ClAssignment_0 : ( ( rule__CollectionType__ClAlternatives_0_0 ) ) ; - public final void rule__CollectionType__ClAssignment_0() throws RecognitionException { + else if ( (true) ) {s = 33;} - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:6400:1: ( ( ( rule__CollectionType__ClAlternatives_0_0 ) ) ) - // InternalExpression.g:6401:2: ( ( rule__CollectionType__ClAlternatives_0_0 ) ) - { - // InternalExpression.g:6401:2: ( ( rule__CollectionType__ClAlternatives_0_0 ) ) - // InternalExpression.g:6402:3: ( rule__CollectionType__ClAlternatives_0_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); - } - // InternalExpression.g:6403:3: ( rule__CollectionType__ClAlternatives_0_0 ) - // InternalExpression.g:6403:4: rule__CollectionType__ClAlternatives_0_0 - { - pushFollow(FOLLOW_2); - rule__CollectionType__ClAlternatives_0_0(); + + input.seek(index135_15); + if ( s>=0 ) return s; + break; + case 15 : + int LA135_16 = input.LA(1); - state._fsp--; - if (state.failed) return ; + + int index135_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - } + else if ( (true) ) {s = 33;} - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); - } + + input.seek(index135_16); + if ( s>=0 ) return s; + break; + case 16 : + int LA135_17 = input.LA(1); - } + + int index135_17 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} + else if ( (true) ) {s = 33;} - } + + input.seek(index135_17); + if ( s>=0 ) return s; + break; + case 17 : + int LA135_18 = input.LA(1); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + + int index135_18 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - restoreStackSize(stackSize); + else if ( (true) ) {s = 33;} - } - return ; - } - // $ANTLR end "rule__CollectionType__ClAssignment_0" + + input.seek(index135_18); + if ( s>=0 ) return s; + break; + case 18 : + int LA135_19 = input.LA(1); + + int index135_19 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - // $ANTLR start "rule__CollectionType__Id1Assignment_2" - // InternalExpression.g:6411:1: rule__CollectionType__Id1Assignment_2 : ( ruleSimpleType ) ; - public final void rule__CollectionType__Id1Assignment_2() throws RecognitionException { + else if ( (true) ) {s = 33;} - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:6415:1: ( ( ruleSimpleType ) ) - // InternalExpression.g:6416:2: ( ruleSimpleType ) - { - // InternalExpression.g:6416:2: ( ruleSimpleType ) - // InternalExpression.g:6417:3: ruleSimpleType - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); - } - pushFollow(FOLLOW_2); - ruleSimpleType(); + + input.seek(index135_19); + if ( s>=0 ) return s; + break; + case 19 : + int LA135_20 = input.LA(1); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); - } + + int index135_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - } + else if ( (true) ) {s = 33;} + + input.seek(index135_20); + if ( s>=0 ) return s; + break; + case 20 : + int LA135_21 = input.LA(1); - } + + int index135_21 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + else if ( (true) ) {s = 33;} - restoreStackSize(stackSize); + + input.seek(index135_21); + if ( s>=0 ) return s; + break; + case 21 : + int LA135_22 = input.LA(1); - } - return ; - } - // $ANTLR end "rule__CollectionType__Id1Assignment_2" + + int index135_22 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} + else if ( (true) ) {s = 33;} - // $ANTLR start "rule__SimpleType__IdAssignment_0" - // InternalExpression.g:6426:1: rule__SimpleType__IdAssignment_0 : ( ruleIdentifier ) ; - public final void rule__SimpleType__IdAssignment_0() throws RecognitionException { + + input.seek(index135_22); + if ( s>=0 ) return s; + break; + case 22 : + int LA135_23 = input.LA(1); - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:6430:1: ( ( ruleIdentifier ) ) - // InternalExpression.g:6431:2: ( ruleIdentifier ) - { - // InternalExpression.g:6431:2: ( ruleIdentifier ) - // InternalExpression.g:6432:3: ruleIdentifier - { - if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); - } - pushFollow(FOLLOW_2); - ruleIdentifier(); + + int index135_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); - } + else if ( (true) ) {s = 33;} - } + + input.seek(index135_23); + if ( s>=0 ) return s; + break; + case 23 : + int LA135_24 = input.LA(1); + + int index135_24 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - } + else if ( (true) ) {s = 33;} - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + + input.seek(index135_24); + if ( s>=0 ) return s; + break; + case 24 : + int LA135_25 = input.LA(1); - restoreStackSize(stackSize); + + int index135_25 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - } - return ; - } - // $ANTLR end "rule__SimpleType__IdAssignment_0" + else if ( (true) ) {s = 33;} + + input.seek(index135_25); + if ( s>=0 ) return s; + break; + case 25 : + int LA135_26 = input.LA(1); - // $ANTLR start "rule__SimpleType__IdAssignment_1_1" - // InternalExpression.g:6441:1: rule__SimpleType__IdAssignment_1_1 : ( ruleIdentifier ) ; - public final void rule__SimpleType__IdAssignment_1_1() throws RecognitionException { + + int index135_26 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - int stackSize = keepStackSize(); - - try { - // InternalExpression.g:6445:1: ( ( ruleIdentifier ) ) - // InternalExpression.g:6446:2: ( ruleIdentifier ) - { - // InternalExpression.g:6446:2: ( ruleIdentifier ) - // InternalExpression.g:6447:3: ruleIdentifier - { - if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); - } - pushFollow(FOLLOW_2); - ruleIdentifier(); + else if ( (true) ) {s = 33;} - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); - } + + input.seek(index135_26); + if ( s>=0 ) return s; + break; + case 26 : + int LA135_27 = input.LA(1); - } + + int index135_27 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} + else if ( (true) ) {s = 33;} - } + + input.seek(index135_27); + if ( s>=0 ) return s; + break; + case 27 : + int LA135_28 = input.LA(1); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + + int index135_28 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - restoreStackSize(stackSize); + else if ( (true) ) {s = 33;} - } - return ; - } - // $ANTLR end "rule__SimpleType__IdAssignment_1_1" + + input.seek(index135_28); + if ( s>=0 ) return s; + break; + case 28 : + int LA135_29 = input.LA(1); - // $ANTLR start synpred2_InternalExpression - public final void synpred2_InternalExpression_fragment() throws RecognitionException { - // InternalExpression.g:989:2: ( ( ( ruleCastedExpression ) ) ) - // InternalExpression.g:989:2: ( ( ruleCastedExpression ) ) - { - // InternalExpression.g:989:2: ( ( ruleCastedExpression ) ) - // InternalExpression.g:990:3: ( ruleCastedExpression ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); - } - // InternalExpression.g:991:3: ( ruleCastedExpression ) - // InternalExpression.g:991:4: ruleCastedExpression - { - pushFollow(FOLLOW_2); - ruleCastedExpression(); + + int index135_29 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - state._fsp--; - if (state.failed) return ; + else if ( (true) ) {s = 33;} - } + + input.seek(index135_29); + if ( s>=0 ) return s; + break; + case 29 : + int LA135_30 = input.LA(1); + + int index135_30 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - } + else if ( (true) ) {s = 33;} + + input.seek(index135_30); + if ( s>=0 ) return s; + break; + case 30 : + int LA135_31 = input.LA(1); - } - } - // $ANTLR end synpred2_InternalExpression + + int index135_31 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - // $ANTLR start synpred49_InternalExpression - public final void synpred49_InternalExpression_fragment() throws RecognitionException { - // InternalExpression.g:2214:3: ( rule__IfExpressionKw__Group_4__0 ) - // InternalExpression.g:2214:3: rule__IfExpressionKw__Group_4__0 - { - pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4__0(); + else if ( (true) ) {s = 33;} - state._fsp--; - if (state.failed) return ; + + input.seek(index135_31); + if ( s>=0 ) return s; + break; + case 31 : + int LA135_32 = input.LA(1); - } - } - // $ANTLR end synpred49_InternalExpression + + int index135_32 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalExpression()) ) {s = 77;} - // Delegated rules + else if ( (true) ) {s = 33;} - public final boolean synpred2_InternalExpression() { - state.backtracking++; - int start = input.mark(); - try { - synpred2_InternalExpression_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); - } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; - } - public final boolean synpred49_InternalExpression() { - state.backtracking++; - int start = input.mark(); - try { - synpred49_InternalExpression_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); + + input.seek(index135_32); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 135, _s, input); + error(nvae); + throw nvae; } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; } - - - protected DFA1 dfa1 = new DFA1(this); - static final String dfa_1s = "\36\uffff"; - static final String dfa_2s = "\1\4\1\uffff\1\0\33\uffff"; - static final String dfa_3s = "\1\77\1\uffff\1\0\33\uffff"; - static final String dfa_4s = "\1\uffff\1\1\1\uffff\1\3\31\uffff\1\2"; - static final String dfa_5s = "\2\uffff\1\0\33\uffff}>"; - static final String[] dfa_6s = { - "\4\3\13\uffff\1\3\2\uffff\16\3\1\1\2\uffff\1\2\3\uffff\1\3\2\uffff\2\3\6\uffff\2\3\6\uffff\2\3", - "", + static final String dfa_83s = "\117\uffff"; + static final String dfa_84s = "\1\2\116\uffff"; + static final String dfa_85s = "\1\4\1\0\115\uffff"; + static final String dfa_86s = "\1\150\1\0\115\uffff"; + static final String dfa_87s = "\2\uffff\1\2\113\uffff\1\1"; + static final String dfa_88s = "\1\uffff\1\0\115\uffff}>"; + static final String[] dfa_89s = { + "\4\2\1\uffff\1\2\5\uffff\5\2\1\uffff\1\2\1\1\5\2\10\uffff\2\2\3\uffff\30\2\1\uffff\3\2\1\uffff\1\2\1\uffff\7\2\2\uffff\24\2\2\uffff\2\2", "\1\uffff", "", "", @@ -21131,55 +79545,150 @@ public final boolean synpred49_InternalExpression() { "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" }; - static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); - static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s); - static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); - static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s); - static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); - static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); + static final short[] dfa_83 = DFA.unpackEncodedString(dfa_83s); + static final short[] dfa_84 = DFA.unpackEncodedString(dfa_84s); + static final char[] dfa_85 = DFA.unpackEncodedStringToUnsignedChars(dfa_85s); + static final char[] dfa_86 = DFA.unpackEncodedStringToUnsignedChars(dfa_86s); + static final short[] dfa_87 = DFA.unpackEncodedString(dfa_87s); + static final short[] dfa_88 = DFA.unpackEncodedString(dfa_88s); + static final short[][] dfa_89 = unpackEncodedStringArray(dfa_89s); - class DFA1 extends DFA { + class DFA144 extends DFA { - public DFA1(BaseRecognizer recognizer) { + public DFA144(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 1; - this.eot = dfa_1; - this.eof = dfa_1; - this.min = dfa_2; - this.max = dfa_3; - this.accept = dfa_4; - this.special = dfa_5; - this.transition = dfa_6; + this.decisionNumber = 144; + this.eot = dfa_83; + this.eof = dfa_84; + this.min = dfa_85; + this.max = dfa_86; + this.accept = dfa_87; + this.special = dfa_88; + this.transition = dfa_89; } public String getDescription() { - return "978:1: rule__Expression__Alternatives : ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) );"; + return "18877:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA1_2 = input.LA(1); + int LA144_1 = input.LA(1); - int index1_2 = input.index(); + int index144_1 = input.index(); input.rewind(); s = -1; - if ( (synpred2_InternalExpression()) ) {s = 29;} + if ( (synpred217_InternalExpression()) ) {s = 78;} - else if ( (true) ) {s = 3;} + else if ( (true) ) {s = 2;} + + + input.seek(index144_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 144, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA147 extends DFA { + + public DFA147(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 147; + this.eot = dfa_83; + this.eof = dfa_84; + this.min = dfa_85; + this.max = dfa_86; + this.accept = dfa_87; + this.special = dfa_88; + this.transition = dfa_89; + } + public String getDescription() { + return "19147:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA147_1 = input.LA(1); + + + int index147_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred220_InternalExpression()) ) {s = 78;} + + else if ( (true) ) {s = 2;} - input.seek(index1_2); + input.seek(index147_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 1, _s, input); + new NoViableAltException(getDescription(), 147, _s, input); error(nvae); throw nvae; } @@ -21188,48 +79697,124 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000002000000000L}); - public static final BitSet FOLLOW_5 = new BitSet(new long[]{0xC0C0C89FFFC800F0L}); - public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000004000000000L}); - public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000E00000010L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000020000000000L}); - public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000020000000002L}); - public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000040000000000L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000100000000000L}); - public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000200000000000L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000808000000000L}); - public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0005000000000000L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0004000000000002L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0xC0C0808FFFC800F0L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0002000000000000L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0800000000000000L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0800000000000002L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x1000000000000000L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x1000000000000002L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x2000000000000000L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x2000000000000002L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x000000000003F000L}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x000000000003F002L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x00000000000C0000L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x00000000000C0002L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000300000L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000000300002L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0008000000000000L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0008000000000002L}); - public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000008000000000L}); - public static final BitSet FOLLOW_34 = new BitSet(new long[]{0xC0C0C99FFFC800F0L}); - public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0010000000000000L}); - public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0010000000000002L}); - public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x4000000000000000L}); - public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x000000007F800000L}); - public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0020000000000000L}); - public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000800000000000L}); - public static final BitSet FOLLOW_41 = new BitSet(new long[]{0xC0C2C89FFFC800F0L}); - public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0100000000000000L}); - public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0200000000000000L}); - public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0400000000000000L}); - public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0400000000000002L}); + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000000012L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000004000L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x000001FFF9000350L,0x000000401003064AL}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x000001C000000010L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0001000000000000L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0001000000000002L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000408L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002800L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000002L,0x0000000000002000L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x000001FFF9000350L,0x0000004010030408L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000008000L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000000008002L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000010002L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000000000002L,0x0000002000000000L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x00000000007E0000L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x00000000007E0002L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000001800000L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000001800002L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000006000000L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000006000002L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0400000000000000L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0400000000000002L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x000001FFF9000350L,0x000000401003065AL}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000000002L,0x0000000000004000L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000000L,0x0000004000000000L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000FF0000000L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x000001FFF9000350L,0x000000401003164AL}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000000000002L,0x0000000000100000L}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0xF000000000000010L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0xF000003009C002F0L,0x00000005FE860649L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x00003E0000600000L}); + public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000000400000L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000000000280000L}); + public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000C00000060000L}); + public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000C00000060002L}); + public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000680000L,0x0000000000200000L}); + public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000680002L,0x0000000000200000L}); + public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0008000000000010L,0x0000000000000008L}); + public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L}); + public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x003F000000600000L}); + public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x003F000000600002L}); + public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0004000000000000L}); + public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000000200000L}); + public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0008000000400000L}); + public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x00C0000006000000L}); + public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x00C0000006000002L}); + public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000000009800000L}); + public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L}); + public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000000000000002L,0x0000000000400000L}); + public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0300000000000000L}); + public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0400000000000000L,0x0000008000100000L}); + public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0400000000000002L,0x0000008000100000L}); + public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0400000000000000L,0x0000000000100000L}); + public static final BitSet FOLLOW_72 = new BitSet(new long[]{0xF000000000400010L,0x0000000000000001L}); + public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040008L}); + public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0008000000000010L,0x0000000000000028L}); + public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0000000000200000L,0x0000000000004000L}); + public static final BitSet FOLLOW_76 = new BitSet(new long[]{0xF008003009C002F0L,0x00000005FE868659L}); + public static final BitSet FOLLOW_77 = new BitSet(new long[]{0xF008003009C002F0L,0x00000005FE868649L}); + public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L}); + public static final BitSet FOLLOW_79 = new BitSet(new long[]{0xF008003009C002F0L,0x00000005FE869649L}); + public static final BitSet FOLLOW_80 = new BitSet(new long[]{0xF008003009C002F0L,0x00000005FE8E8649L}); + public static final BitSet FOLLOW_81 = new BitSet(new long[]{0xF808003009C002F0L,0x00000105FE868649L}); + public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0008000000000010L,0x0000000000008008L}); + public static final BitSet FOLLOW_83 = new BitSet(new long[]{0xF808003009C002F2L,0x00000105FE868649L}); + public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L}); + public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); + public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0008000000000010L,0x000000000000780CL}); + public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0008000000000012L,0x000000000000600CL}); + public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0008000000000010L,0x000000000000600CL}); + public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L}); + public static final BitSet FOLLOW_91 = new BitSet(new long[]{0xF808003009C002F0L,0x00000105FF868649L}); + public static final BitSet FOLLOW_92 = new BitSet(new long[]{0xF008003009C002F0L,0x00000005FF868649L}); + public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L}); + public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x0000000000000000L,0x0000000008000000L}); + public static final BitSet FOLLOW_95 = new BitSet(new long[]{0xF808003009C002F0L,0x00000105FE869649L}); + public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0800000000000000L,0x0000010000000000L}); + public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000400000L,0x0000000000040008L}); + public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000003000000000L}); + public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); + public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x00000000000000E0L}); + public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x0000000000000200L}); + public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x00000030000002E0L,0x0000000030840000L}); + public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040010L}); + public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0000000000000002L,0x0000000000040000L}); + public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); + public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); + public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L}); + public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x0000000000000000L,0x0000000A00000000L}); + public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L}); + public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L}); + public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L}); + public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x00000000000000C0L}); + public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0008000000000010L,0x0000000000000018L}); + public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x1000000000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L}); + public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x0000000000000002L,0x0000001000000000L}); + public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x0000000002000000L}); + public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x2000000000000010L}); + public static final BitSet FOLLOW_120 = new BitSet(new long[]{0x8000000000000010L}); + public static final BitSet FOLLOW_121 = new BitSet(new long[]{0x0000000002000010L}); } \ No newline at end of file diff --git a/com.avaloq.tools.ddk.xtext.expression.ui/META-INF/MANIFEST.MF b/com.avaloq.tools.ddk.xtext.expression.ui/META-INF/MANIFEST.MF index f3e0514782..9229946b6b 100644 --- a/com.avaloq.tools.ddk.xtext.expression.ui/META-INF/MANIFEST.MF +++ b/com.avaloq.tools.ddk.xtext.expression.ui/META-INF/MANIFEST.MF @@ -15,8 +15,12 @@ Require-Bundle: org.eclipse.xtext.ui, org.antlr.runtime, com.avaloq.tools.ddk.xtext.expression, com.avaloq.tools.ddk.xtext.expression.ide, - org.eclipse.emf.codegen.ecore + org.eclipse.emf.codegen.ecore, + org.eclipse.xtext.xbase.ui, + org.eclipse.jdt.debug.ui, + org.eclipse.xtext.common.types.ui Export-Package: com.avaloq.tools.ddk.xtext.expression.ui.contentassist, - com.avaloq.tools.ddk.xtext.expression.ui.quickfix + com.avaloq.tools.ddk.xtext.expression.ui.quickfix, + com.avaloq.tools.ddk.xtext.expression.ui.editor Import-Package: org.apache.log4j Automatic-Module-Name: com.avaloq.tools.ddk.xtext.expression.ui diff --git a/com.avaloq.tools.ddk.xtext.expression.ui/plugin.xml_gen b/com.avaloq.tools.ddk.xtext.expression.ui/plugin.xml_gen index 1e8021cd06..bce22bfd03 100644 --- a/com.avaloq.tools.ddk.xtext.expression.ui/plugin.xml_gen +++ b/com.avaloq.tools.ddk.xtext.expression.ui/plugin.xml_gen @@ -9,6 +9,7 @@ default="true" extensions="expression" id="com.avaloq.tools.ddk.xtext.expression.Expression" + matchingStrategy="com.avaloq.tools.ddk.xtext.expression.ui.ExpressionExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.editor.JavaEditorInputMatcher" name="Expression Editor"> @@ -277,4 +278,162 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/com.avaloq.tools.ddk.xtext.expression.ui/src-gen/com/avaloq/tools/ddk/xtext/expression/ui/AbstractExpressionUiModule.java b/com.avaloq.tools.ddk.xtext.expression.ui/src-gen/com/avaloq/tools/ddk/xtext/expression/ui/AbstractExpressionUiModule.java index 7f7503854e..f5c1c7ae25 100644 --- a/com.avaloq.tools.ddk.xtext.expression.ui/src-gen/com/avaloq/tools/ddk/xtext/expression/ui/AbstractExpressionUiModule.java +++ b/com.avaloq.tools.ddk.xtext.expression.ui/src-gen/com/avaloq/tools/ddk/xtext/expression/ui/AbstractExpressionUiModule.java @@ -6,16 +6,22 @@ import com.avaloq.tools.ddk.xtext.expression.ide.contentassist.antlr.ExpressionParser; import com.avaloq.tools.ddk.xtext.expression.ide.contentassist.antlr.internal.InternalExpressionLexer; import com.avaloq.tools.ddk.xtext.expression.ui.contentassist.ExpressionProposalProvider; +import com.avaloq.tools.ddk.xtext.expression.ui.editor.ExpressionEditor; import com.avaloq.tools.ddk.xtext.expression.ui.quickfix.ExpressionQuickfixProvider; import com.google.inject.Binder; import com.google.inject.Provider; import com.google.inject.name.Names; +import org.eclipse.ui.PlatformUI; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.eclipse.xtext.builder.EclipseOutputConfigurationProvider; import org.eclipse.xtext.builder.builderState.IBuilderState; import org.eclipse.xtext.builder.clustering.CurrentDescriptions; import org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource; import org.eclipse.xtext.builder.nature.NatureAddingEditorCallback; +import org.eclipse.xtext.common.types.ui.navigation.GlobalDerivedMemberAwareURIEditorOpener; +import org.eclipse.xtext.common.types.ui.navigation.IDerivedMemberAwareEditorOpener; +import org.eclipse.xtext.common.types.ui.query.IJavaSearchParticipation; +import org.eclipse.xtext.common.types.ui.refactoring.participant.JdtRenameParticipant; import org.eclipse.xtext.generator.IContextualOutputConfigurationProvider; import org.eclipse.xtext.ide.LexerIdeBindings; import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser; @@ -26,24 +32,52 @@ import org.eclipse.xtext.resource.IResourceDescriptions; import org.eclipse.xtext.resource.containers.IAllContainersState; import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider; -import org.eclipse.xtext.ui.DefaultUiModule; +import org.eclipse.xtext.ui.LanguageSpecific; import org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource; +import org.eclipse.xtext.ui.editor.GlobalURIEditorOpener; +import org.eclipse.xtext.ui.editor.IURIEditorOpener; import org.eclipse.xtext.ui.editor.IXtextEditorCallback; +import org.eclipse.xtext.ui.editor.XtextEditor; import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext; +import org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher; import org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider; import org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper; +import org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher; import org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper; import org.eclipse.xtext.ui.editor.contentassist.antlr.DelegatingContentAssistContextFactory; +import org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler; +import org.eclipse.xtext.ui.editor.findrefs.ReferenceQueryExecutor; +import org.eclipse.xtext.ui.editor.model.XtextDocumentProvider; +import org.eclipse.xtext.ui.editor.outline.impl.OutlineNodeElementOpener; import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider; +import org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler; import org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator; -import org.eclipse.xtext.ui.refactoring.impl.DefaultDependentElementsCalculator; +import org.eclipse.xtext.ui.refactoring.IReferenceUpdater; +import org.eclipse.xtext.ui.refactoring.IRenameRefactoringProvider; +import org.eclipse.xtext.ui.refactoring.IRenameStrategy; +import org.eclipse.xtext.ui.refactoring.ui.IRenameContextFactory; import org.eclipse.xtext.ui.shared.Access; +import org.eclipse.xtext.xbase.ui.DefaultXbaseUiModule; +import org.eclipse.xtext.xbase.ui.editor.XbaseDocumentProvider; +import org.eclipse.xtext.xbase.ui.generator.trace.XbaseOpenGeneratedFileHandler; +import org.eclipse.xtext.xbase.ui.jvmmodel.findrefs.JvmModelFindReferenceHandler; +import org.eclipse.xtext.xbase.ui.jvmmodel.findrefs.JvmModelReferenceQueryExecutor; +import org.eclipse.xtext.xbase.ui.jvmmodel.navigation.DerivedMemberAwareEditorOpener; +import org.eclipse.xtext.xbase.ui.jvmmodel.outline.JvmOutlineNodeElementOpener; +import org.eclipse.xtext.xbase.ui.jvmmodel.refactoring.DefaultJvmModelRenameStrategy; +import org.eclipse.xtext.xbase.ui.jvmmodel.refactoring.JvmModelDependentElementsCalculator; +import org.eclipse.xtext.xbase.ui.jvmmodel.refactoring.JvmModelJdtRenameParticipantContext; +import org.eclipse.xtext.xbase.ui.jvmmodel.refactoring.jdt.CombinedJvmJdtRenameContextFactory; +import org.eclipse.xtext.xbase.ui.jvmmodel.refactoring.jdt.CombinedJvmJdtRenameRefactoringProvider; +import org.eclipse.xtext.xbase.ui.quickfix.JavaTypeQuickfixes; +import org.eclipse.xtext.xbase.ui.quickfix.JavaTypeQuickfixesNoImportSection; +import org.eclipse.xtext.xbase.ui.refactoring.XbaseReferenceUpdater; /** * Manual modifications go to {@link ExpressionUiModule}. */ @SuppressWarnings("all") -public abstract class AbstractExpressionUiModule extends DefaultUiModule { +public abstract class AbstractExpressionUiModule extends DefaultXbaseUiModule { public AbstractExpressionUiModule(AbstractUIPlugin plugin) { super(plugin); @@ -54,6 +88,16 @@ public Provider provideIAllContainersState() { return Access.getJavaProjectsState(); } + // contributed by org.eclipse.xtext.xtext.generator.ImplicitFragment + public Class bindXtextDocumentProvider() { + return XbaseDocumentProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ImplicitFragment + public Class bindOpenGeneratedFileHandler() { + return XbaseOpenGeneratedFileHandler.class; + } + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 public Class bindIProposalConflictHelper() { return AntlrProposalConflictHelper.class; @@ -95,11 +139,6 @@ public void configureContentAssistLexerProvider(Binder binder) { binder.bind(InternalExpressionLexer.class).toProvider(LexerProvider.create(InternalExpressionLexer.class)); } - // contributed by org.eclipse.xtext.xtext.generator.exporting.SimpleNamesFragment2 - public Class bindIDependentElementsCalculator() { - return DefaultDependentElementsCalculator.class; - } - // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 public void configureIResourceDescriptionsBuilderScope(Binder binder) { binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(CurrentDescriptions.ResourceSetAware.class); @@ -135,4 +174,82 @@ public Class bindIContentProposalProvider() return ExpressionProposalProvider.class; } + // contributed by org.eclipse.xtext.xtext.generator.types.TypesGeneratorFragment2 + public Class bindPrefixMatcher() { + return FQNPrefixMatcher.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindFindReferencesHandler() { + return JvmModelFindReferenceHandler.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindReferenceQueryExecutor() { + return JvmModelReferenceQueryExecutor.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIDependentElementsCalculator() { + return JvmModelDependentElementsCalculator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIRenameRefactoringProvider() { + return CombinedJvmJdtRenameRefactoringProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIReferenceUpdater() { + return XbaseReferenceUpdater.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIRenameContextFactory() { + return CombinedJvmJdtRenameContextFactory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIRenameStrategy() { + return DefaultJvmModelRenameStrategy.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindJdtRenameParticipant$ContextFactory() { + return JvmModelJdtRenameParticipantContext.ContextFactory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindOutlineNodeElementOpener() { + return JvmOutlineNodeElementOpener.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindGlobalURIEditorOpener() { + return GlobalDerivedMemberAwareURIEditorOpener.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIJavaSearchParticipation() { + return IJavaSearchParticipation.No.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public void configureLanguageSpecificURIEditorOpener(Binder binder) { + if (PlatformUI.isWorkbenchRunning()) { + binder.bind(IURIEditorOpener.class).annotatedWith(LanguageSpecific.class).to(DerivedMemberAwareEditorOpener.class); + binder.bind(IDerivedMemberAwareEditorOpener.class).to(DerivedMemberAwareEditorOpener.class); + } + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindJavaTypeQuickfixes() { + return JavaTypeQuickfixesNoImportSection.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindXtextEditor() { + return ExpressionEditor.class; + } + } diff --git a/com.avaloq.tools.ddk.xtext.expression.ui/src-gen/com/avaloq/tools/ddk/xtext/expression/ui/contentassist/AbstractExpressionProposalProvider.java b/com.avaloq.tools.ddk.xtext.expression.ui/src-gen/com/avaloq/tools/ddk/xtext/expression/ui/contentassist/AbstractExpressionProposalProvider.java index 7a2df94b23..0cc90612c4 100644 --- a/com.avaloq.tools.ddk.xtext.expression.ui/src-gen/com/avaloq/tools/ddk/xtext/expression/ui/contentassist/AbstractExpressionProposalProvider.java +++ b/com.avaloq.tools.ddk.xtext.expression.ui/src-gen/com/avaloq/tools/ddk/xtext/expression/ui/contentassist/AbstractExpressionProposalProvider.java @@ -8,16 +8,16 @@ import org.eclipse.xtext.Assignment; import org.eclipse.xtext.Keyword; import org.eclipse.xtext.RuleCall; -import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider; import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext; import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor; +import org.eclipse.xtext.xbase.ui.contentassist.XbaseProposalProvider; /** - * Represents a generated, default implementation of superclass {@link TerminalsProposalProvider}. + * Represents a generated, default implementation of superclass {@link XbaseProposalProvider}. * Methods are dynamically dispatched on the first parameter, i.e., you can override them * with a more concrete subtype. */ -public abstract class AbstractExpressionProposalProvider extends TerminalsProposalProvider { +public abstract class AbstractExpressionProposalProvider extends XbaseProposalProvider { public void completeLetExpression_Identifier(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); diff --git a/com.avaloq.tools.ddk.xtext.expression.ui/src-gen/com/avaloq/tools/ddk/xtext/expression/ui/editor/ExpressionEditor.java b/com.avaloq.tools.ddk.xtext.expression.ui/src-gen/com/avaloq/tools/ddk/xtext/expression/ui/editor/ExpressionEditor.java new file mode 100644 index 0000000000..55508cb359 --- /dev/null +++ b/com.avaloq.tools.ddk.xtext.expression.ui/src-gen/com/avaloq/tools/ddk/xtext/expression/ui/editor/ExpressionEditor.java @@ -0,0 +1,13 @@ +/* + * generated by Xtext + */ +package com.avaloq.tools.ddk.xtext.expression.ui.editor; + +import org.eclipse.xtext.xbase.ui.editor.XbaseEditor; + +/** + * This class was generated. Customizations should only happen in a newly + * introduced subclass. + */ +public class ExpressionEditor extends XbaseEditor { +} diff --git a/com.avaloq.tools.ddk.xtext.expression.ui/src-gen/com/avaloq/tools/ddk/xtext/expression/ui/internal/ExpressionActivator.java b/com.avaloq.tools.ddk.xtext.expression.ui/src-gen/com/avaloq/tools/ddk/xtext/expression/ui/internal/ExpressionActivator.java index 74eb087969..04fe26d6e3 100644 --- a/com.avaloq.tools.ddk.xtext.expression.ui/src-gen/com/avaloq/tools/ddk/xtext/expression/ui/internal/ExpressionActivator.java +++ b/com.avaloq.tools.ddk.xtext.expression.ui/src-gen/com/avaloq/tools/ddk/xtext/expression/ui/internal/ExpressionActivator.java @@ -5,10 +5,10 @@ import com.avaloq.tools.ddk.xtext.expression.ExpressionRuntimeModule; import com.avaloq.tools.ddk.xtext.expression.ui.ExpressionUiModule; -import com.google.common.collect.Maps; import com.google.inject.Guice; import com.google.inject.Injector; import java.util.Collections; +import java.util.HashMap; import java.util.Map; import org.apache.log4j.Logger; import org.eclipse.ui.plugin.AbstractUIPlugin; @@ -29,7 +29,7 @@ public class ExpressionActivator extends AbstractUIPlugin { private static ExpressionActivator INSTANCE; - private Map injectors = Collections.synchronizedMap(Maps. newHashMapWithExpectedSize(1)); + private Map injectors = Collections.synchronizedMap(new HashMap<>(2)); @Override public void start(BundleContext context) throws Exception { diff --git a/com.avaloq.tools.ddk.xtext.expression/META-INF/MANIFEST.MF b/com.avaloq.tools.ddk.xtext.expression/META-INF/MANIFEST.MF index 9b40ba377a..8a9d12bcb7 100644 --- a/com.avaloq.tools.ddk.xtext.expression/META-INF/MANIFEST.MF +++ b/com.avaloq.tools.ddk.xtext.expression/META-INF/MANIFEST.MF @@ -6,8 +6,8 @@ Bundle-Version: 17.3.1.qualifier Bundle-Vendor: Avaloq Group AG Bundle-RequiredExecutionEnvironment: JavaSE-21 Require-Bundle: org.eclipse.xtext, - org.eclipse.xtend, - org.eclipse.xtend.typesystem.emf, + org.eclipse.xtext.xbase, + org.eclipse.xtext.common.types, org.eclipse.xtext.xtext.generator, org.apache.commons.logging;resolution:=optional, org.eclipse.emf.codegen.ecore;resolution:=optional, @@ -23,8 +23,10 @@ Require-Bundle: org.eclipse.xtext, org.eclipse.jdt.launching, org.eclipse.core.resources, org.eclipse.core.runtime, - org.eclipse.xtext.xbase.lib;bundle-version="2.14.0" -Import-Package: org.apache.logging.log4j + org.eclipse.xtext.xbase.lib;bundle-version="2.14.0", + org.objectweb.asm +Import-Package: org.apache.logging.log4j, + org.apache.log4j Export-Package: com.avaloq.tools.ddk.xtext.expression, com.avaloq.tools.ddk.xtext.expression.conversion, com.avaloq.tools.ddk.xtext.expression.expression, @@ -37,5 +39,6 @@ Export-Package: com.avaloq.tools.ddk.xtext.expression, com.avaloq.tools.ddk.xtext.expression.scoping, com.avaloq.tools.ddk.xtext.expression.serializer, com.avaloq.tools.ddk.xtext.expression.services, - com.avaloq.tools.ddk.xtext.expression.validation + com.avaloq.tools.ddk.xtext.expression.validation, + com.avaloq.tools.ddk.xtext.expression.jvmmodel Automatic-Module-Name: com.avaloq.tools.ddk.xtext.expression diff --git a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/AbstractExpressionRuntimeModule.java b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/AbstractExpressionRuntimeModule.java index 25ba3cbefd..fc4fd82a4d 100644 --- a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/AbstractExpressionRuntimeModule.java +++ b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/AbstractExpressionRuntimeModule.java @@ -3,6 +3,7 @@ */ package com.avaloq.tools.ddk.xtext.expression; +import com.avaloq.tools.ddk.xtext.expression.jvmmodel.ExpressionJvmModelInferrer; import com.avaloq.tools.ddk.xtext.expression.parser.antlr.ExpressionAntlrTokenFileProvider; import com.avaloq.tools.ddk.xtext.expression.parser.antlr.ExpressionParser; import com.avaloq.tools.ddk.xtext.expression.parser.antlr.internal.InternalExpressionLexer; @@ -17,6 +18,7 @@ import java.util.Properties; import org.eclipse.xtext.Constants; import org.eclipse.xtext.IGrammarAccess; +import org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider; import org.eclipse.xtext.naming.IQualifiedNameProvider; import org.eclipse.xtext.naming.SimpleNameProvider; import org.eclipse.xtext.parser.IParser; @@ -29,6 +31,7 @@ import org.eclipse.xtext.parser.antlr.LexerBindings; import org.eclipse.xtext.parser.antlr.LexerProvider; import org.eclipse.xtext.resource.IContainer; +import org.eclipse.xtext.resource.ILocationInFileProvider; import org.eclipse.xtext.resource.IResourceDescriptions; import org.eclipse.xtext.resource.containers.IAllContainersState; import org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider; @@ -39,20 +42,31 @@ import org.eclipse.xtext.scoping.IScopeProvider; import org.eclipse.xtext.scoping.IgnoreCaseLinking; import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; -import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider; -import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider; import org.eclipse.xtext.serializer.ISerializer; import org.eclipse.xtext.serializer.impl.Serializer; import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer; import org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer; -import org.eclipse.xtext.service.DefaultRuntimeModule; import org.eclipse.xtext.service.SingletonBinding; +import org.eclipse.xtext.validation.IResourceValidator; +import org.eclipse.xtext.xbase.DefaultXbaseRuntimeModule; +import org.eclipse.xtext.xbase.annotations.validation.DerivedStateAwareResourceValidator; +import org.eclipse.xtext.xbase.imports.RewritableImportSection; +import org.eclipse.xtext.xbase.jvmmodel.IJvmModelInferrer; +import org.eclipse.xtext.xbase.jvmmodel.JvmLocationInFileProvider; +import org.eclipse.xtext.xbase.scoping.XImportSectionNamespaceScopeProvider; +import org.eclipse.xtext.xbase.scoping.batch.IBatchScopeProvider; +import org.eclipse.xtext.xbase.typesystem.internal.DefaultBatchTypeResolver; +import org.eclipse.xtext.xbase.typesystem.internal.DefaultReentrantTypeResolver; +import org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareBatchTypeResolver; +import org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver; +import org.eclipse.xtext.xbase.validation.FeatureNameValidator; +import org.eclipse.xtext.xbase.validation.LogicalContainerAwareFeatureNameValidator; /** * Manual modifications go to {@link ExpressionRuntimeModule}. */ @SuppressWarnings("all") -public abstract class AbstractExpressionRuntimeModule extends DefaultRuntimeModule { +public abstract class AbstractExpressionRuntimeModule extends DefaultXbaseRuntimeModule { protected Properties properties = null; @@ -140,18 +154,13 @@ public Class bindExpressionValidator() { } // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 - public Class bindIScopeProvider() { + public Class bindIBatchScopeProvider() { return ExpressionScopeProvider.class; } // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 public void configureIScopeProviderDelegate(Binder binder) { - binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class); - } - - // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 - public Class bindIGlobalScopeProvider() { - return DefaultGlobalScopeProvider.class; + binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(XImportSectionNamespaceScopeProvider.class); } // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 @@ -184,4 +193,46 @@ public void configureIResourceDescriptionsPersisted(Binder binder) { binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(ResourceSetBasedResourceDescriptions.class); } + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public void configureRewritableImportSectionEnablement(Binder binder) { + binder.bind(Boolean.TYPE) + .annotatedWith(Names.named(RewritableImportSection.Factory.REWRITABLEIMPORTSECTION_ENABLEMENT)) + .toInstance(Boolean.FALSE); + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindILocationInFileProvider() { + return JvmLocationInFileProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIGlobalScopeProvider() { + return TypesAwareDefaultGlobalScopeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindFeatureNameValidator() { + return LogicalContainerAwareFeatureNameValidator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindDefaultBatchTypeResolver() { + return LogicalContainerAwareBatchTypeResolver.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindDefaultReentrantTypeResolver() { + return LogicalContainerAwareReentrantTypeResolver.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIResourceValidator() { + return DerivedStateAwareResourceValidator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIJvmModelInferrer() { + return ExpressionJvmModelInferrer.class; + } + } diff --git a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/Expression.xtextbin b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/Expression.xtextbin index 65b9ee2f31..d7cde0ec1b 100644 Binary files a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/Expression.xtextbin and b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/Expression.xtextbin differ diff --git a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/ExpressionStandaloneSetupGenerated.java b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/ExpressionStandaloneSetupGenerated.java index 7492f2be62..9e8f6eb3a6 100644 --- a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/ExpressionStandaloneSetupGenerated.java +++ b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/ExpressionStandaloneSetupGenerated.java @@ -7,16 +7,16 @@ import com.google.inject.Injector; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.xtext.ISetup; -import org.eclipse.xtext.common.TerminalsStandaloneSetup; import org.eclipse.xtext.resource.IResourceFactory; import org.eclipse.xtext.resource.IResourceServiceProvider; +import org.eclipse.xtext.xbase.XbaseStandaloneSetup; @SuppressWarnings("all") public class ExpressionStandaloneSetupGenerated implements ISetup { @Override public Injector createInjectorAndDoEMFRegistration() { - TerminalsStandaloneSetup.doSetup(); + XbaseStandaloneSetup.doSetup(); Injector injector = createInjector(); register(injector); diff --git a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/parser/antlr/internal/InternalExpression.g b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/parser/antlr/internal/InternalExpression.g index d43b101b82..9f6c64d56c 100644 --- a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/parser/antlr/internal/InternalExpression.g +++ b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/parser/antlr/internal/InternalExpression.g @@ -1879,7 +1879,7 @@ ruleIntegerLiteral returns [EObject current=null] $current, "val", lv_val_0_0, - "org.eclipse.xtext.common.Terminals.INT"); + "org.eclipse.xtext.xbase.Xbase.INT"); } ) ) @@ -1980,7 +1980,7 @@ ruleStringLiteral returns [EObject current=null] $current, "val", lv_val_0_0, - "org.eclipse.xtext.common.Terminals.STRING"); + "org.eclipse.xtext.xbase.Xtype.STRING"); } ) ) @@ -2773,13 +2773,6299 @@ ruleIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToke } ; +// Entry rule entryRuleXExpression +entryRuleXExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXExpressionRule()); } + iv_ruleXExpression=ruleXExpression + { $current=$iv_ruleXExpression.current; } + EOF; + +// Rule XExpression +ruleXExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + { + newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); + } + this_XAssignment_0=ruleXAssignment + { + $current = $this_XAssignment_0.current; + afterParserOrEnumRuleCall(); + } +; + +// Entry rule entryRuleXAssignment +entryRuleXAssignment returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXAssignmentRule()); } + iv_ruleXAssignment=ruleXAssignment + { $current=$iv_ruleXAssignment.current; } + EOF; + +// Rule XAssignment +ruleXAssignment returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXAssignmentRule()); + } + } + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + ruleFeatureCallID + { + afterParserOrEnumRuleCall(); + } + ) + ) + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); + } + ruleOpSingleAssign + { + afterParserOrEnumRuleCall(); + } + ( + ( + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); + } + lv_value_3_0=ruleXAssignment + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXAssignmentRule()); + } + set( + $current, + "value", + lv_value_3_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); + } + this_XOrExpression_4=ruleXOrExpression + { + $current = $this_XOrExpression_4.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpMultiAssign + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXAssignmentRule()); + } + } + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + ruleOpMultiAssign + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); + } + lv_rightOperand_7_0=ruleXAssignment + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXAssignmentRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_7_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) + ) +; + +// Entry rule entryRuleOpSingleAssign +entryRuleOpSingleAssign returns [String current=null]: + { newCompositeNode(grammarAccess.getOpSingleAssignRule()); } + iv_ruleOpSingleAssign=ruleOpSingleAssign + { $current=$iv_ruleOpSingleAssign.current.getText(); } + EOF; + +// Rule OpSingleAssign +ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + kw='=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); + } +; + +// Entry rule entryRuleOpMultiAssign +entryRuleOpMultiAssign returns [String current=null]: + { newCompositeNode(grammarAccess.getOpMultiAssignRule()); } + iv_ruleOpMultiAssign=ruleOpMultiAssign + { $current=$iv_ruleOpMultiAssign.current.getText(); } + EOF; + +// Rule OpMultiAssign +ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='+=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); + } + | + kw='-=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); + } + | + kw='*=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); + } + | + kw='/=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); + } + | + kw='%=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); + } + | + ( + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); + } + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); + } + kw='=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); + } + ) + | + ( + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); + } + ( + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); + } + )? + kw='>=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); + } + ) + ) +; + +// Entry rule entryRuleXOrExpression +entryRuleXOrExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXOrExpressionRule()); } + iv_ruleXOrExpression=ruleXOrExpression + { $current=$iv_ruleXOrExpression.current; } + EOF; + +// Rule XOrExpression +ruleXOrExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); + } + this_XAndExpression_0=ruleXAndExpression + { + $current = $this_XAndExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpOr + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXOrExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpOr + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXAndExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXOrExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XAndExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpOr +entryRuleOpOr returns [String current=null]: + { newCompositeNode(grammarAccess.getOpOrRule()); } + iv_ruleOpOr=ruleOpOr + { $current=$iv_ruleOpOr.current.getText(); } + EOF; + +// Rule OpOr +ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + kw='||' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); + } +; + +// Entry rule entryRuleXAndExpression +entryRuleXAndExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXAndExpressionRule()); } + iv_ruleXAndExpression=ruleXAndExpression + { $current=$iv_ruleXAndExpression.current; } + EOF; + +// Rule XAndExpression +ruleXAndExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); + } + this_XEqualityExpression_0=ruleXEqualityExpression + { + $current = $this_XEqualityExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpAnd + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXAndExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpAnd + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXEqualityExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXAndExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XEqualityExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpAnd +entryRuleOpAnd returns [String current=null]: + { newCompositeNode(grammarAccess.getOpAndRule()); } + iv_ruleOpAnd=ruleOpAnd + { $current=$iv_ruleOpAnd.current.getText(); } + EOF; + +// Rule OpAnd +ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + kw='&&' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); + } +; + +// Entry rule entryRuleXEqualityExpression +entryRuleXEqualityExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXEqualityExpressionRule()); } + iv_ruleXEqualityExpression=ruleXEqualityExpression + { $current=$iv_ruleXEqualityExpression.current; } + EOF; + +// Rule XEqualityExpression +ruleXEqualityExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); + } + this_XRelationalExpression_0=ruleXRelationalExpression + { + $current = $this_XRelationalExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpEquality + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXEqualityExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpEquality + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXRelationalExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXEqualityExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XRelationalExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpEquality +entryRuleOpEquality returns [String current=null]: + { newCompositeNode(grammarAccess.getOpEqualityRule()); } + iv_ruleOpEquality=ruleOpEquality + { $current=$iv_ruleOpEquality.current.getText(); } + EOF; + +// Rule OpEquality +ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='==' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); + } + | + kw='!=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); + } + | + kw='===' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); + } + | + kw='!==' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); + } + ) +; + +// Entry rule entryRuleXRelationalExpression +entryRuleXRelationalExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXRelationalExpressionRule()); } + iv_ruleXRelationalExpression=ruleXRelationalExpression + { $current=$iv_ruleXRelationalExpression.current; } + EOF; + +// Rule XRelationalExpression +ruleXRelationalExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); + } + this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression + { + $current = $this_XOtherOperatorExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + ( + (( + ( + ) + 'instanceof' + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(), + $current); + } + ) + otherlv_2='instanceof' + { + newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); + } + lv_type_3_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule()); + } + set( + $current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + ( + (( + ( + ) + ( + ( + ruleOpCompare + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXRelationalExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + ruleOpCompare + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); + } + lv_rightOperand_6_0=ruleXOtherOperatorExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_6_0, + "org.eclipse.xtext.xbase.Xbase.XOtherOperatorExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + )* + ) +; + +// Entry rule entryRuleOpCompare +entryRuleOpCompare returns [String current=null]: + { newCompositeNode(grammarAccess.getOpCompareRule()); } + iv_ruleOpCompare=ruleOpCompare + { $current=$iv_ruleOpCompare.current.getText(); } + EOF; + +// Rule OpCompare +ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='>=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); + } + | + ( + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); + } + kw='=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); + } + ) + | + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); + } + | + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); + } + ) +; + +// Entry rule entryRuleXOtherOperatorExpression +entryRuleXOtherOperatorExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule()); } + iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression + { $current=$iv_ruleXOtherOperatorExpression.current; } + EOF; + +// Rule XOtherOperatorExpression +ruleXOtherOperatorExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); + } + this_XAdditiveExpression_0=ruleXAdditiveExpression + { + $current = $this_XAdditiveExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpOther + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXOtherOperatorExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpOther + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXAdditiveExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXOtherOperatorExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XAdditiveExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpOther +entryRuleOpOther returns [String current=null]: + { newCompositeNode(grammarAccess.getOpOtherRule()); } + iv_ruleOpOther=ruleOpOther + { $current=$iv_ruleOpOther.current.getText(); } + EOF; + +// Rule OpOther +ruleOpOther returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='->' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); + } + | + kw='..<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); + } + | + ( + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); + } + kw='..' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); + } + ) + | + kw='..' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); + } + | + kw='=>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); + } + | + ( + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); + } + ( + ( + (( + '>' + '>' + ) + )=> + ( + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); + } + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); + } + ) + ) + | + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); + } + ) + ) + | + ( + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); + } + ( + ( + (( + '<' + '<' + ) + )=> + ( + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); + } + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); + } + ) + ) + | + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); + } + | + kw='=>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); + } + ) + ) + | + kw='<>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); + } + | + kw='?:' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); + } + ) +; + +// Entry rule entryRuleXAdditiveExpression +entryRuleXAdditiveExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXAdditiveExpressionRule()); } + iv_ruleXAdditiveExpression=ruleXAdditiveExpression + { $current=$iv_ruleXAdditiveExpression.current; } + EOF; + +// Rule XAdditiveExpression +ruleXAdditiveExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); + } + this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression + { + $current = $this_XMultiplicativeExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpAdd + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXAdditiveExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpAdd + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXMultiplicativeExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXAdditiveExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XMultiplicativeExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpAdd +entryRuleOpAdd returns [String current=null]: + { newCompositeNode(grammarAccess.getOpAddRule()); } + iv_ruleOpAdd=ruleOpAdd + { $current=$iv_ruleOpAdd.current.getText(); } + EOF; + +// Rule OpAdd +ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='+' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); + } + | + kw='-' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); + } + ) +; + +// Entry rule entryRuleXMultiplicativeExpression +entryRuleXMultiplicativeExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule()); } + iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression + { $current=$iv_ruleXMultiplicativeExpression.current; } + EOF; + +// Rule XMultiplicativeExpression +ruleXMultiplicativeExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); + } + this_XUnaryOperation_0=ruleXUnaryOperation + { + $current = $this_XUnaryOperation_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpMulti + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMultiplicativeExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpMulti + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXUnaryOperation + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMultiplicativeExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XUnaryOperation"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpMulti +entryRuleOpMulti returns [String current=null]: + { newCompositeNode(grammarAccess.getOpMultiRule()); } + iv_ruleOpMulti=ruleOpMulti + { $current=$iv_ruleOpMulti.current.getText(); } + EOF; + +// Rule OpMulti +ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='*' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); + } + | + kw='**' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); + } + | + kw='/' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); + } + | + kw='%' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); + } + ) +; + +// Entry rule entryRuleXUnaryOperation +entryRuleXUnaryOperation returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXUnaryOperationRule()); } + iv_ruleXUnaryOperation=ruleXUnaryOperation + { $current=$iv_ruleXUnaryOperation.current; } + EOF; + +// Rule XUnaryOperation +ruleXUnaryOperation returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXUnaryOperationRule()); + } + } + { + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + ruleOpUnary + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); + } + lv_operand_2_0=ruleXUnaryOperation + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXUnaryOperationRule()); + } + set( + $current, + "operand", + lv_operand_2_0, + "org.eclipse.xtext.xbase.Xbase.XUnaryOperation"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + { + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); + } + this_XCastedExpression_3=ruleXCastedExpression + { + $current = $this_XCastedExpression_3.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleOpUnary +entryRuleOpUnary returns [String current=null]: + { newCompositeNode(grammarAccess.getOpUnaryRule()); } + iv_ruleOpUnary=ruleOpUnary + { $current=$iv_ruleOpUnary.current.getText(); } + EOF; + +// Rule OpUnary +ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='!' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); + } + | + kw='-' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); + } + | + kw='+' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); + } + ) +; + +// Entry rule entryRuleXCastedExpression +entryRuleXCastedExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXCastedExpressionRule()); } + iv_ruleXCastedExpression=ruleXCastedExpression + { $current=$iv_ruleXCastedExpression.current; } + EOF; + +// Rule XCastedExpression +ruleXCastedExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); + } + this_XPostfixOperation_0=ruleXPostfixOperation + { + $current = $this_XPostfixOperation_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + 'as' + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(), + $current); + } + ) + otherlv_2='as' + { + newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); + } + lv_type_3_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCastedExpressionRule()); + } + set( + $current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleXPostfixOperation +entryRuleXPostfixOperation returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXPostfixOperationRule()); } + iv_ruleXPostfixOperation=ruleXPostfixOperation + { $current=$iv_ruleXPostfixOperation.current; } + EOF; + +// Rule XPostfixOperation +ruleXPostfixOperation returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); + } + this_XMemberFeatureCall_0=ruleXMemberFeatureCall + { + $current = $this_XMemberFeatureCall_0.current; + afterParserOrEnumRuleCall(); + } + ( + (( + ( + ) + ( + ( + ruleOpPostfix + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXPostfixOperationRule()); + } + } + { + newCompositeNode(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); + } + ruleOpPostfix + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + )? + ) +; + +// Entry rule entryRuleOpPostfix +entryRuleOpPostfix returns [String current=null]: + { newCompositeNode(grammarAccess.getOpPostfixRule()); } + iv_ruleOpPostfix=ruleOpPostfix + { $current=$iv_ruleOpPostfix.current.getText(); } + EOF; + +// Rule OpPostfix +ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='++' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); + } + | + kw='--' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); + } + ) +; + +// Entry rule entryRuleXMemberFeatureCall +entryRuleXMemberFeatureCall returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXMemberFeatureCallRule()); } + iv_ruleXMemberFeatureCall=ruleXMemberFeatureCall + { $current=$iv_ruleXMemberFeatureCall.current; } + EOF; + +// Rule XMemberFeatureCall +ruleXMemberFeatureCall returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); + } + this_XPrimaryExpression_0=ruleXPrimaryExpression + { + $current = $this_XPrimaryExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + ( + (( + ( + ) + ( + '.' + | + ( + ( + '::' + ) + ) + ) + ( + ( + ruleFeatureCallID + ) + ) + ruleOpSingleAssign + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(), + $current); + } + ) + ( + otherlv_2='.' + { + newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); + } + | + ( + ( + lv_explicitStatic_3_0='::' + { + newLeafNode(lv_explicitStatic_3_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed($current, "explicitStatic", lv_explicitStatic_3_0 != null, "::"); + } + ) + ) + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + } + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); + } + ruleFeatureCallID + { + afterParserOrEnumRuleCall(); + } + ) + ) + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); + } + ruleOpSingleAssign + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); + } + lv_value_6_0=ruleXAssignment + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + set( + $current, + "value", + lv_value_6_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + ( + (( + ( + ) + ( + '.' + | + ( + ( + '?.' + ) + ) + | + ( + ( + '::' + ) + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(), + $current); + } + ) + ( + otherlv_8='.' + { + newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); + } + | + ( + ( + lv_nullSafe_9_0='?.' + { + newLeafNode(lv_nullSafe_9_0, grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed($current, "nullSafe", lv_nullSafe_9_0 != null, "?."); + } + ) + ) + | + ( + ( + lv_explicitStatic_10_0='::' + { + newLeafNode(lv_explicitStatic_10_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed($current, "explicitStatic", lv_explicitStatic_10_0 != null, "::"); + } + ) + ) + ) + ) + ) + ( + otherlv_11='<' + { + newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); + } + lv_typeArguments_12_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_12_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_13=',' + { + newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); + } + lv_typeArguments_14_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_14_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_15='>' + { + newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); + } + )? + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + } + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); + } + ruleIdOrSuper + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + (( + '(' + ) + )=> + ( + lv_explicitOperationCall_17_0='(' + { + newLeafNode(lv_explicitOperationCall_17_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed($current, "explicitOperationCall", lv_explicitOperationCall_17_0 != null, "("); + } + ) + ) + ( + ( + (( + ( + ) + ( + ( + ( + ruleJvmFormalParameter + ) + ) + ( + ',' + ( + ( + ruleJvmFormalParameter + ) + ) + )* + )? + ( + ( + '|' + ) + ) + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); + } + lv_memberCallArguments_18_0=ruleXShortClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "memberCallArguments", + lv_memberCallArguments_18_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); + } + lv_memberCallArguments_19_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "memberCallArguments", + lv_memberCallArguments_19_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_20=',' + { + newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); + } + lv_memberCallArguments_21_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "memberCallArguments", + lv_memberCallArguments_21_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) + )? + otherlv_22=')' + { + newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); + } + )? + ( + (( + ( + ) + '[' + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); + } + lv_memberCallArguments_23_0=ruleXClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "memberCallArguments", + lv_memberCallArguments_23_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + } + ) + )? + ) + )* + ) +; + +// Entry rule entryRuleXPrimaryExpression +entryRuleXPrimaryExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXPrimaryExpressionRule()); } + iv_ruleXPrimaryExpression=ruleXPrimaryExpression + { $current=$iv_ruleXPrimaryExpression.current; } + EOF; + +// Rule XPrimaryExpression +ruleXPrimaryExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); + } + this_XConstructorCall_0=ruleXConstructorCall + { + $current = $this_XConstructorCall_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); + } + this_XBlockExpression_1=ruleXBlockExpression + { + $current = $this_XBlockExpression_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); + } + this_XSwitchExpression_2=ruleXSwitchExpression + { + $current = $this_XSwitchExpression_2.current; + afterParserOrEnumRuleCall(); + } + | + ( + (( + ( + ) + 'synchronized' + '(' + ) + )=> + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); + } + this_XSynchronizedExpression_3=ruleXSynchronizedExpression + { + $current = $this_XSynchronizedExpression_3.current; + afterParserOrEnumRuleCall(); + } + ) + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); + } + this_XFeatureCall_4=ruleXFeatureCall + { + $current = $this_XFeatureCall_4.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); + } + this_XLiteral_5=ruleXLiteral + { + $current = $this_XLiteral_5.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); + } + this_XIfExpression_6=ruleXIfExpression + { + $current = $this_XIfExpression_6.current; + afterParserOrEnumRuleCall(); + } + | + ( + (( + ( + ) + 'for' + '(' + ( + ( + ruleJvmFormalParameter + ) + ) + ':' + ) + )=> + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); + } + this_XForLoopExpression_7=ruleXForLoopExpression + { + $current = $this_XForLoopExpression_7.current; + afterParserOrEnumRuleCall(); + } + ) + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); + } + this_XBasicForLoopExpression_8=ruleXBasicForLoopExpression + { + $current = $this_XBasicForLoopExpression_8.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); + } + this_XWhileExpression_9=ruleXWhileExpression + { + $current = $this_XWhileExpression_9.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); + } + this_XDoWhileExpression_10=ruleXDoWhileExpression + { + $current = $this_XDoWhileExpression_10.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); + } + this_XThrowExpression_11=ruleXThrowExpression + { + $current = $this_XThrowExpression_11.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); + } + this_XReturnExpression_12=ruleXReturnExpression + { + $current = $this_XReturnExpression_12.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); + } + this_XTryCatchFinallyExpression_13=ruleXTryCatchFinallyExpression + { + $current = $this_XTryCatchFinallyExpression_13.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); + } + this_XParenthesizedExpression_14=ruleXParenthesizedExpression + { + $current = $this_XParenthesizedExpression_14.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleXLiteral +entryRuleXLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXLiteralRule()); } + iv_ruleXLiteral=ruleXLiteral + { $current=$iv_ruleXLiteral.current; } + EOF; + +// Rule XLiteral +ruleXLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); + } + this_XCollectionLiteral_0=ruleXCollectionLiteral + { + $current = $this_XCollectionLiteral_0.current; + afterParserOrEnumRuleCall(); + } + | + ( + (( + ( + ) + '[' + ) + )=> + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); + } + this_XClosure_1=ruleXClosure + { + $current = $this_XClosure_1.current; + afterParserOrEnumRuleCall(); + } + ) + | + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); + } + this_XBooleanLiteral_2=ruleXBooleanLiteral + { + $current = $this_XBooleanLiteral_2.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); + } + this_XNumberLiteral_3=ruleXNumberLiteral + { + $current = $this_XNumberLiteral_3.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); + } + this_XNullLiteral_4=ruleXNullLiteral + { + $current = $this_XNullLiteral_4.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); + } + this_XStringLiteral_5=ruleXStringLiteral + { + $current = $this_XStringLiteral_5.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); + } + this_XTypeLiteral_6=ruleXTypeLiteral + { + $current = $this_XTypeLiteral_6.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleXCollectionLiteral +entryRuleXCollectionLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXCollectionLiteralRule()); } + iv_ruleXCollectionLiteral=ruleXCollectionLiteral + { $current=$iv_ruleXCollectionLiteral.current; } + EOF; + +// Rule XCollectionLiteral +ruleXCollectionLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); + } + this_XSetLiteral_0=ruleXSetLiteral + { + $current = $this_XSetLiteral_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); + } + this_XListLiteral_1=ruleXListLiteral + { + $current = $this_XListLiteral_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleXSetLiteral +entryRuleXSetLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXSetLiteralRule()); } + iv_ruleXSetLiteral=ruleXSetLiteral + { $current=$iv_ruleXSetLiteral.current; } + EOF; + +// Rule XSetLiteral +ruleXSetLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0(), + $current); + } + ) + otherlv_1='#' + { + newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); + } + otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + lv_elements_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSetLiteralRule()); + } + add( + $current, + "elements", + lv_elements_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_4=',' + { + newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + lv_elements_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSetLiteralRule()); + } + add( + $current, + "elements", + lv_elements_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_6='}' + { + newLeafNode(otherlv_6, grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); + } + ) +; + +// Entry rule entryRuleXListLiteral +entryRuleXListLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXListLiteralRule()); } + iv_ruleXListLiteral=ruleXListLiteral + { $current=$iv_ruleXListLiteral.current; } + EOF; + +// Rule XListLiteral +ruleXListLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXListLiteralAccess().getXListLiteralAction_0(), + $current); + } + ) + otherlv_1='#' + { + newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); + } + otherlv_2='[' + { + newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + lv_elements_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXListLiteralRule()); + } + add( + $current, + "elements", + lv_elements_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_4=',' + { + newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + lv_elements_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXListLiteralRule()); + } + add( + $current, + "elements", + lv_elements_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_6=']' + { + newLeafNode(otherlv_6, grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); + } + ) +; + +// Entry rule entryRuleXClosure +entryRuleXClosure returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXClosureRule()); } + iv_ruleXClosure=ruleXClosure + { $current=$iv_ruleXClosure.current; } + EOF; + +// Rule XClosure +ruleXClosure returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + (( + ( + ) + '[' + ) + )=> + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXClosureAccess().getXClosureAction_0_0_0(), + $current); + } + ) + otherlv_1='[' + { + newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); + } + ) + ) + ( + (( + ( + ( + ( + ruleJvmFormalParameter + ) + ) + ( + ',' + ( + ( + ruleJvmFormalParameter + ) + ) + )* + )? + ( + ( + '|' + ) + ) + ) + )=> + ( + ( + ( + ( + { + newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); + } + lv_declaredFormalParameters_2_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + add( + $current, + "declaredFormalParameters", + lv_declaredFormalParameters_2_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); + } + lv_declaredFormalParameters_4_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + add( + $current, + "declaredFormalParameters", + lv_declaredFormalParameters_4_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + ( + ( + lv_explicitSyntax_5_0='|' + { + newLeafNode(lv_explicitSyntax_5_0, grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXClosureRule()); + } + setWithLastConsumed($current, "explicitSyntax", lv_explicitSyntax_5_0 != null, "|"); + } + ) + ) + ) + )? + ( + ( + { + newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); + } + lv_expression_6_0=ruleXExpressionInClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + set( + $current, + "expression", + lv_expression_6_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionInClosure"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_7=']' + { + newLeafNode(otherlv_7, grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); + } + ) +; + +// Entry rule entryRuleXExpressionInClosure +entryRuleXExpressionInClosure returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXExpressionInClosureRule()); } + iv_ruleXExpressionInClosure=ruleXExpressionInClosure + { $current=$iv_ruleXExpressionInClosure.current; } + EOF; + +// Rule XExpressionInClosure +ruleXExpressionInClosure returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0(), + $current); + } + ) + ( + ( + ( + { + newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); + } + lv_expressions_1_0=ruleXExpressionOrVarDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXExpressionInClosureRule()); + } + add( + $current, + "expressions", + lv_expressions_1_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=';' + { + newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); + } + )? + )* + ) +; + +// Entry rule entryRuleXShortClosure +entryRuleXShortClosure returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXShortClosureRule()); } + iv_ruleXShortClosure=ruleXShortClosure + { $current=$iv_ruleXShortClosure.current; } + EOF; + +// Rule XShortClosure +ruleXShortClosure returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + (( + ( + ) + ( + ( + ( + ruleJvmFormalParameter + ) + ) + ( + ',' + ( + ( + ruleJvmFormalParameter + ) + ) + )* + )? + ( + ( + '|' + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0(), + $current); + } + ) + ( + ( + ( + { + newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); + } + lv_declaredFormalParameters_1_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + add( + $current, + "declaredFormalParameters", + lv_declaredFormalParameters_1_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=',' + { + newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); + } + lv_declaredFormalParameters_3_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + add( + $current, + "declaredFormalParameters", + lv_declaredFormalParameters_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + ( + ( + lv_explicitSyntax_4_0='|' + { + newLeafNode(lv_explicitSyntax_4_0, grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXShortClosureRule()); + } + setWithLastConsumed($current, "explicitSyntax", lv_explicitSyntax_4_0 != null, "|"); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); + } + lv_expression_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + set( + $current, + "expression", + lv_expression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXParenthesizedExpression +entryRuleXParenthesizedExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXParenthesizedExpressionRule()); } + iv_ruleXParenthesizedExpression=ruleXParenthesizedExpression + { $current=$iv_ruleXParenthesizedExpression.current; } + EOF; + +// Rule XParenthesizedExpression +ruleXParenthesizedExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='(' + { + newLeafNode(otherlv_0, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + } + { + newCompositeNode(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); + } + this_XExpression_1=ruleXExpression + { + $current = $this_XExpression_1.current; + afterParserOrEnumRuleCall(); + } + otherlv_2=')' + { + newLeafNode(otherlv_2, grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); + } + ) +; + +// Entry rule entryRuleXIfExpression +entryRuleXIfExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXIfExpressionRule()); } + iv_ruleXIfExpression=ruleXIfExpression + { $current=$iv_ruleXIfExpression.current; } + EOF; + +// Rule XIfExpression +ruleXIfExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0(), + $current); + } + ) + otherlv_1='if' + { + newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); + } + lv_if_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + $current, + "if", + lv_if_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=')' + { + newLeafNode(otherlv_4, grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); + } + lv_then_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + $current, + "then", + lv_then_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ('else')=> + otherlv_6='else' + { + newLeafNode(otherlv_6, grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); + } + lv_else_7_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + $current, + "else", + lv_else_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleXSwitchExpression +entryRuleXSwitchExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXSwitchExpressionRule()); } + iv_ruleXSwitchExpression=ruleXSwitchExpression + { $current=$iv_ruleXSwitchExpression.current; } + EOF; + +// Rule XSwitchExpression +ruleXSwitchExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0(), + $current); + } + ) + otherlv_1='switch' + { + newLeafNode(otherlv_1, grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); + } + ( + ( + ( + (( + '(' + ( + ( + ruleJvmFormalParameter + ) + ) + ':' + ) + )=> + ( + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); + } + lv_declaredParam_3_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + $current, + "declaredParam", + lv_declaredParam_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=':' + { + newLeafNode(otherlv_4, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); + } + lv_switch_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + $current, + "switch", + lv_switch_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_6=')' + { + newLeafNode(otherlv_6, grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); + } + ) + | + ( + ( + (( + ( + ( + ruleJvmFormalParameter + ) + ) + ':' + ) + )=> + ( + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); + } + lv_declaredParam_7_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + $current, + "declaredParam", + lv_declaredParam_7_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_8=':' + { + newLeafNode(otherlv_8, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); + } + ) + )? + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); + } + lv_switch_9_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + $current, + "switch", + lv_switch_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + otherlv_10='{' + { + newLeafNode(otherlv_10, grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); + } + lv_cases_11_0=ruleXCasePart + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + add( + $current, + "cases", + lv_cases_11_0, + "org.eclipse.xtext.xbase.Xbase.XCasePart"); + afterParserOrEnumRuleCall(); + } + ) + )* + ( + otherlv_12='default' + { + newLeafNode(otherlv_12, grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); + } + otherlv_13=':' + { + newLeafNode(otherlv_13, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); + } + lv_default_14_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + $current, + "default", + lv_default_14_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + otherlv_15='}' + { + newLeafNode(otherlv_15, grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); + } + ) +; + +// Entry rule entryRuleXCasePart +entryRuleXCasePart returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXCasePartRule()); } + iv_ruleXCasePart=ruleXCasePart + { $current=$iv_ruleXCasePart.current; } + EOF; + +// Rule XCasePart +ruleXCasePart returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXCasePartAccess().getXCasePartAction_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); + } + lv_typeGuard_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + $current, + "typeGuard", + lv_typeGuard_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + )? + ( + otherlv_2='case' + { + newLeafNode(otherlv_2, grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); + } + lv_case_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + $current, + "case", + lv_case_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ( + ( + otherlv_4=':' + { + newLeafNode(otherlv_4, grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); + } + lv_then_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + $current, + "then", + lv_then_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + ( + lv_fallThrough_6_0=',' + { + newLeafNode(lv_fallThrough_6_0, grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXCasePartRule()); + } + setWithLastConsumed($current, "fallThrough", lv_fallThrough_6_0 != null, ","); + } + ) + ) + ) + ) +; + +// Entry rule entryRuleXForLoopExpression +entryRuleXForLoopExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXForLoopExpressionRule()); } + iv_ruleXForLoopExpression=ruleXForLoopExpression + { $current=$iv_ruleXForLoopExpression.current; } + EOF; + +// Rule XForLoopExpression +ruleXForLoopExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + (( + ( + ) + 'for' + '(' + ( + ( + ruleJvmFormalParameter + ) + ) + ':' + ) + )=> + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0(), + $current); + } + ) + otherlv_1='for' + { + newLeafNode(otherlv_1, grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); + } + lv_declaredParam_3_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + $current, + "declaredParam", + lv_declaredParam_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=':' + { + newLeafNode(otherlv_4, grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); + } + lv_forExpression_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + $current, + "forExpression", + lv_forExpression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_6=')' + { + newLeafNode(otherlv_6, grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); + } + lv_eachExpression_7_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + $current, + "eachExpression", + lv_eachExpression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXBasicForLoopExpression +entryRuleXBasicForLoopExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXBasicForLoopExpressionRule()); } + iv_ruleXBasicForLoopExpression=ruleXBasicForLoopExpression + { $current=$iv_ruleXBasicForLoopExpression.current; } + EOF; + +// Rule XBasicForLoopExpression +ruleXBasicForLoopExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0(), + $current); + } + ) + otherlv_1='for' + { + newLeafNode(otherlv_1, grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); + } + lv_initExpressions_3_0=ruleXExpressionOrVarDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + $current, + "initExpressions", + lv_initExpressions_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_4=',' + { + newLeafNode(otherlv_4, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); + } + lv_initExpressions_5_0=ruleXExpressionOrVarDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + $current, + "initExpressions", + lv_initExpressions_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_6=';' + { + newLeafNode(otherlv_6, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); + } + lv_expression_7_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + set( + $current, + "expression", + lv_expression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + )? + otherlv_8=';' + { + newLeafNode(otherlv_8, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); + } + lv_updateExpressions_9_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + $current, + "updateExpressions", + lv_updateExpressions_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_10=',' + { + newLeafNode(otherlv_10, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); + } + lv_updateExpressions_11_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + $current, + "updateExpressions", + lv_updateExpressions_11_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_12=')' + { + newLeafNode(otherlv_12, grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); + } + lv_eachExpression_13_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + set( + $current, + "eachExpression", + lv_eachExpression_13_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXWhileExpression +entryRuleXWhileExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXWhileExpressionRule()); } + iv_ruleXWhileExpression=ruleXWhileExpression + { $current=$iv_ruleXWhileExpression.current; } + EOF; + +// Rule XWhileExpression +ruleXWhileExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0(), + $current); + } + ) + otherlv_1='while' + { + newLeafNode(otherlv_1, grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); + } + lv_predicate_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXWhileExpressionRule()); + } + set( + $current, + "predicate", + lv_predicate_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=')' + { + newLeafNode(otherlv_4, grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); + } + lv_body_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXWhileExpressionRule()); + } + set( + $current, + "body", + lv_body_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXDoWhileExpression +entryRuleXDoWhileExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXDoWhileExpressionRule()); } + iv_ruleXDoWhileExpression=ruleXDoWhileExpression + { $current=$iv_ruleXDoWhileExpression.current; } + EOF; + +// Rule XDoWhileExpression +ruleXDoWhileExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0(), + $current); + } + ) + otherlv_1='do' + { + newLeafNode(otherlv_1, grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); + } + lv_body_2_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule()); + } + set( + $current, + "body", + lv_body_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_3='while' + { + newLeafNode(otherlv_3, grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); + } + otherlv_4='(' + { + newLeafNode(otherlv_4, grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); + } + lv_predicate_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule()); + } + set( + $current, + "predicate", + lv_predicate_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_6=')' + { + newLeafNode(otherlv_6, grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); + } + ) +; + +// Entry rule entryRuleXBlockExpression +entryRuleXBlockExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXBlockExpressionRule()); } + iv_ruleXBlockExpression=ruleXBlockExpression + { $current=$iv_ruleXBlockExpression.current; } + EOF; + +// Rule XBlockExpression +ruleXBlockExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0(), + $current); + } + ) + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); + } + lv_expressions_2_0=ruleXExpressionOrVarDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBlockExpressionRule()); + } + add( + $current, + "expressions", + lv_expressions_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=';' + { + newLeafNode(otherlv_3, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); + } + )? + )* + otherlv_4='}' + { + newLeafNode(otherlv_4, grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); + } + ) +; + +// Entry rule entryRuleXExpressionOrVarDeclaration +entryRuleXExpressionOrVarDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationRule()); } + iv_ruleXExpressionOrVarDeclaration=ruleXExpressionOrVarDeclaration + { $current=$iv_ruleXExpressionOrVarDeclaration.current; } + EOF; + +// Rule XExpressionOrVarDeclaration +ruleXExpressionOrVarDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); + } + this_XVariableDeclaration_0=ruleXVariableDeclaration + { + $current = $this_XVariableDeclaration_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); + } + this_XExpression_1=ruleXExpression + { + $current = $this_XExpression_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleXVariableDeclaration +entryRuleXVariableDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXVariableDeclarationRule()); } + iv_ruleXVariableDeclaration=ruleXVariableDeclaration + { $current=$iv_ruleXVariableDeclaration.current; } + EOF; + +// Rule XVariableDeclaration +ruleXVariableDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0(), + $current); + } + ) + ( + ( + ( + lv_writeable_1_0='var' + { + newLeafNode(lv_writeable_1_0, grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXVariableDeclarationRule()); + } + setWithLastConsumed($current, "writeable", lv_writeable_1_0 != null, "var"); + } + ) + ) + | + otherlv_2='val' + { + newLeafNode(otherlv_2, grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); + } + ) + ( + ( + (( + ( + ( + ruleJvmTypeReference + ) + ) + ( + ( + ruleValidID + ) + ) + ) + )=> + ( + ( + ( + { + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); + } + lv_type_3_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + $current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); + } + lv_name_4_0=ruleValidID + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + $current, + "name", + lv_name_4_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); + } + lv_name_5_0=ruleValidID + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + $current, + "name", + lv_name_5_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ( + otherlv_6='=' + { + newLeafNode(otherlv_6, grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); + } + lv_right_7_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + $current, + "right", + lv_right_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleJvmFormalParameter +entryRuleJvmFormalParameter returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmFormalParameterRule()); } + iv_ruleJvmFormalParameter=ruleJvmFormalParameter + { $current=$iv_ruleJvmFormalParameter.current; } + EOF; + +// Rule JvmFormalParameter +ruleJvmFormalParameter returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + lv_parameterType_0_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule()); + } + set( + $current, + "parameterType", + lv_parameterType_0_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + )? + ( + ( + { + newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + lv_name_1_0=ruleValidID + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule()); + } + set( + $current, + "name", + lv_name_1_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleFullJvmFormalParameter +entryRuleFullJvmFormalParameter returns [EObject current=null]: + { newCompositeNode(grammarAccess.getFullJvmFormalParameterRule()); } + iv_ruleFullJvmFormalParameter=ruleFullJvmFormalParameter + { $current=$iv_ruleFullJvmFormalParameter.current; } + EOF; + +// Rule FullJvmFormalParameter +ruleFullJvmFormalParameter returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + lv_parameterType_0_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule()); + } + set( + $current, + "parameterType", + lv_parameterType_0_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + lv_name_1_0=ruleValidID + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule()); + } + set( + $current, + "name", + lv_name_1_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXFeatureCall +entryRuleXFeatureCall returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXFeatureCallRule()); } + iv_ruleXFeatureCall=ruleXFeatureCall + { $current=$iv_ruleXFeatureCall.current; } + EOF; + +// Rule XFeatureCall +ruleXFeatureCall returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0(), + $current); + } + ) + ( + otherlv_1='<' + { + newLeafNode(otherlv_1, grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + lv_typeArguments_2_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + lv_typeArguments_4_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_5='>' + { + newLeafNode(otherlv_5, grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); + } + )? + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXFeatureCallRule()); + } + } + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); + } + ruleIdOrSuper + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + (( + '(' + ) + )=> + ( + lv_explicitOperationCall_7_0='(' + { + newLeafNode(lv_explicitOperationCall_7_0, grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXFeatureCallRule()); + } + setWithLastConsumed($current, "explicitOperationCall", lv_explicitOperationCall_7_0 != null, "("); + } + ) + ) + ( + ( + (( + ( + ) + ( + ( + ( + ruleJvmFormalParameter + ) + ) + ( + ',' + ( + ( + ruleJvmFormalParameter + ) + ) + )* + )? + ( + ( + '|' + ) + ) + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); + } + lv_featureCallArguments_8_0=ruleXShortClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "featureCallArguments", + lv_featureCallArguments_8_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); + } + lv_featureCallArguments_9_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "featureCallArguments", + lv_featureCallArguments_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_10=',' + { + newLeafNode(otherlv_10, grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); + } + lv_featureCallArguments_11_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "featureCallArguments", + lv_featureCallArguments_11_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) + )? + otherlv_12=')' + { + newLeafNode(otherlv_12, grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); + } + )? + ( + (( + ( + ) + '[' + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); + } + lv_featureCallArguments_13_0=ruleXClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "featureCallArguments", + lv_featureCallArguments_13_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + } + ) + )? + ) +; + +// Entry rule entryRuleFeatureCallID +entryRuleFeatureCallID returns [String current=null]: + { newCompositeNode(grammarAccess.getFeatureCallIDRule()); } + iv_ruleFeatureCallID=ruleFeatureCallID + { $current=$iv_ruleFeatureCallID.current.getText(); } + EOF; + +// Rule FeatureCallID +ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); + } + this_ValidID_0=ruleValidID + { + $current.merge(this_ValidID_0); + } + { + afterParserOrEnumRuleCall(); + } + | + kw='extends' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); + } + | + kw='static' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); + } + | + kw='import' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); + } + | + kw='extension' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); + } + ) +; + +// Entry rule entryRuleIdOrSuper +entryRuleIdOrSuper returns [String current=null]: + { newCompositeNode(grammarAccess.getIdOrSuperRule()); } + iv_ruleIdOrSuper=ruleIdOrSuper + { $current=$iv_ruleIdOrSuper.current.getText(); } + EOF; + +// Rule IdOrSuper +ruleIdOrSuper returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); + } + this_FeatureCallID_0=ruleFeatureCallID + { + $current.merge(this_FeatureCallID_0); + } + { + afterParserOrEnumRuleCall(); + } + | + kw='super' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); + } + ) +; + +// Entry rule entryRuleXConstructorCall +entryRuleXConstructorCall returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXConstructorCallRule()); } + iv_ruleXConstructorCall=ruleXConstructorCall + { $current=$iv_ruleXConstructorCall.current; } + EOF; + +// Rule XConstructorCall +ruleXConstructorCall returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0(), + $current); + } + ) + otherlv_1='new' + { + newLeafNode(otherlv_1, grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXConstructorCallRule()); + } + } + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ('<')=> + otherlv_3='<' + { + newLeafNode(otherlv_3, grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); + } + lv_typeArguments_4_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_5=',' + { + newLeafNode(otherlv_5, grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); + } + lv_typeArguments_6_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_6_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_7='>' + { + newLeafNode(otherlv_7, grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); + } + )? + ( + ( + (( + '(' + ) + )=> + ( + lv_explicitConstructorCall_8_0='(' + { + newLeafNode(lv_explicitConstructorCall_8_0, grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXConstructorCallRule()); + } + setWithLastConsumed($current, "explicitConstructorCall", lv_explicitConstructorCall_8_0 != null, "("); + } + ) + ) + ( + ( + (( + ( + ) + ( + ( + ( + ruleJvmFormalParameter + ) + ) + ( + ',' + ( + ( + ruleJvmFormalParameter + ) + ) + )* + )? + ( + ( + '|' + ) + ) + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); + } + lv_arguments_9_0=ruleXShortClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "arguments", + lv_arguments_9_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); + } + lv_arguments_10_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "arguments", + lv_arguments_10_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_11=',' + { + newLeafNode(otherlv_11, grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); + } + lv_arguments_12_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "arguments", + lv_arguments_12_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) + )? + otherlv_13=')' + { + newLeafNode(otherlv_13, grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); + } + )? + ( + (( + ( + ) + '[' + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); + } + lv_arguments_14_0=ruleXClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "arguments", + lv_arguments_14_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + } + ) + )? + ) +; + +// Entry rule entryRuleXBooleanLiteral +entryRuleXBooleanLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXBooleanLiteralRule()); } + iv_ruleXBooleanLiteral=ruleXBooleanLiteral + { $current=$iv_ruleXBooleanLiteral.current; } + EOF; + +// Rule XBooleanLiteral +ruleXBooleanLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0(), + $current); + } + ) + ( + otherlv_1='false' + { + newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); + } + | + ( + ( + lv_isTrue_2_0='true' + { + newLeafNode(lv_isTrue_2_0, grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXBooleanLiteralRule()); + } + setWithLastConsumed($current, "isTrue", lv_isTrue_2_0 != null, "true"); + } + ) + ) + ) + ) +; + +// Entry rule entryRuleXNullLiteral +entryRuleXNullLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXNullLiteralRule()); } + iv_ruleXNullLiteral=ruleXNullLiteral + { $current=$iv_ruleXNullLiteral.current; } + EOF; + +// Rule XNullLiteral +ruleXNullLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0(), + $current); + } + ) + otherlv_1='null' + { + newLeafNode(otherlv_1, grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); + } + ) +; + +// Entry rule entryRuleXNumberLiteral +entryRuleXNumberLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXNumberLiteralRule()); } + iv_ruleXNumberLiteral=ruleXNumberLiteral + { $current=$iv_ruleXNumberLiteral.current; } + EOF; + +// Rule XNumberLiteral +ruleXNumberLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); + } + lv_value_1_0=ruleNumber + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXNumberLiteralRule()); + } + set( + $current, + "value", + lv_value_1_0, + "org.eclipse.xtext.xbase.Xbase.Number"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXStringLiteral +entryRuleXStringLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXStringLiteralRule()); } + iv_ruleXStringLiteral=ruleXStringLiteral + { $current=$iv_ruleXStringLiteral.current; } + EOF; + +// Rule XStringLiteral +ruleXStringLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0(), + $current); + } + ) + ( + ( + lv_value_1_0=RULE_STRING + { + newLeafNode(lv_value_1_0, grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXStringLiteralRule()); + } + setWithLastConsumed( + $current, + "value", + lv_value_1_0, + "org.eclipse.xtext.xbase.Xtype.STRING"); + } + ) + ) + ) +; + +// Entry rule entryRuleXTypeLiteral +entryRuleXTypeLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXTypeLiteralRule()); } + iv_ruleXTypeLiteral=ruleXTypeLiteral + { $current=$iv_ruleXTypeLiteral.current; } + EOF; + +// Rule XTypeLiteral +ruleXTypeLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0(), + $current); + } + ) + otherlv_1='typeof' + { + newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXTypeLiteralRule()); + } + } + { + newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); + } + lv_arrayDimensions_4_0=ruleArrayBrackets + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXTypeLiteralRule()); + } + add( + $current, + "arrayDimensions", + lv_arrayDimensions_4_0, + "org.eclipse.xtext.xbase.Xtype.ArrayBrackets"); + afterParserOrEnumRuleCall(); + } + ) + )* + otherlv_5=')' + { + newLeafNode(otherlv_5, grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); + } + ) +; + +// Entry rule entryRuleXThrowExpression +entryRuleXThrowExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXThrowExpressionRule()); } + iv_ruleXThrowExpression=ruleXThrowExpression + { $current=$iv_ruleXThrowExpression.current; } + EOF; + +// Rule XThrowExpression +ruleXThrowExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0(), + $current); + } + ) + otherlv_1='throw' + { + newLeafNode(otherlv_1, grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + lv_expression_2_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXThrowExpressionRule()); + } + set( + $current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXReturnExpression +entryRuleXReturnExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXReturnExpressionRule()); } + iv_ruleXReturnExpression=ruleXReturnExpression + { $current=$iv_ruleXReturnExpression.current; } + EOF; + +// Rule XReturnExpression +ruleXReturnExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0(), + $current); + } + ) + otherlv_1='return' + { + newLeafNode(otherlv_1, grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); + } + ( + ('extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING)=> + ( + { + newCompositeNode(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + lv_expression_2_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXReturnExpressionRule()); + } + set( + $current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + )? + ) +; + +// Entry rule entryRuleXTryCatchFinallyExpression +entryRuleXTryCatchFinallyExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionRule()); } + iv_ruleXTryCatchFinallyExpression=ruleXTryCatchFinallyExpression + { $current=$iv_ruleXTryCatchFinallyExpression.current; } + EOF; + +// Rule XTryCatchFinallyExpression +ruleXTryCatchFinallyExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0(), + $current); + } + ) + otherlv_1='try' + { + newLeafNode(otherlv_1, grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + lv_expression_2_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + $current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ( + ('catch')=> + ( + { + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); + } + lv_catchClauses_3_0=ruleXCatchClause + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + add( + $current, + "catchClauses", + lv_catchClauses_3_0, + "org.eclipse.xtext.xbase.Xbase.XCatchClause"); + afterParserOrEnumRuleCall(); + } + ) + )+ + ( + ( + ('finally')=> + otherlv_4='finally' + { + newLeafNode(otherlv_4, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); + } + lv_finallyExpression_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + $current, + "finallyExpression", + lv_finallyExpression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) + | + ( + otherlv_6='finally' + { + newLeafNode(otherlv_6, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); + } + lv_finallyExpression_7_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + $current, + "finallyExpression", + lv_finallyExpression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ) +; + +// Entry rule entryRuleXSynchronizedExpression +entryRuleXSynchronizedExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXSynchronizedExpressionRule()); } + iv_ruleXSynchronizedExpression=ruleXSynchronizedExpression + { $current=$iv_ruleXSynchronizedExpression.current; } + EOF; + +// Rule XSynchronizedExpression +ruleXSynchronizedExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + (( + ( + ) + 'synchronized' + '(' + ) + )=> + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0(), + $current); + } + ) + otherlv_1='synchronized' + { + newLeafNode(otherlv_1, grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); + } + lv_param_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule()); + } + set( + $current, + "param", + lv_param_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=')' + { + newLeafNode(otherlv_4, grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); + } + lv_expression_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule()); + } + set( + $current, + "expression", + lv_expression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXCatchClause +entryRuleXCatchClause returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXCatchClauseRule()); } + iv_ruleXCatchClause=ruleXCatchClause + { $current=$iv_ruleXCatchClause.current; } + EOF; + +// Rule XCatchClause +ruleXCatchClause returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ('catch')=> + otherlv_0='catch' + { + newLeafNode(otherlv_0, grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); + } + ) + otherlv_1='(' + { + newLeafNode(otherlv_1, grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); + } + lv_declaredParam_2_0=ruleFullJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCatchClauseRule()); + } + set( + $current, + "declaredParam", + lv_declaredParam_2_0, + "org.eclipse.xtext.xbase.Xbase.FullJvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_3=')' + { + newLeafNode(otherlv_3, grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); + } + lv_expression_4_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCatchClauseRule()); + } + set( + $current, + "expression", + lv_expression_4_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleQualifiedName +entryRuleQualifiedName returns [String current=null]: + { newCompositeNode(grammarAccess.getQualifiedNameRule()); } + iv_ruleQualifiedName=ruleQualifiedName + { $current=$iv_ruleQualifiedName.current.getText(); } + EOF; + +// Rule QualifiedName +ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); + } + this_ValidID_0=ruleValidID + { + $current.merge(this_ValidID_0); + } + { + afterParserOrEnumRuleCall(); + } + ( + ( + ('.')=> + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); + } + ) + { + newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); + } + this_ValidID_2=ruleValidID + { + $current.merge(this_ValidID_2); + } + { + afterParserOrEnumRuleCall(); + } + )* + ) +; + +// Entry rule entryRuleNumber +entryRuleNumber returns [String current=null]@init { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +}: + { newCompositeNode(grammarAccess.getNumberRule()); } + iv_ruleNumber=ruleNumber + { $current=$iv_ruleNumber.current.getText(); } + EOF; +finally { + myHiddenTokenState.restore(); +} + +// Rule Number +ruleNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +} +@after { + leaveRule(); +}: + ( + this_HEX_0=RULE_HEX + { + $current.merge(this_HEX_0); + } + { + newLeafNode(this_HEX_0, grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); + } + | + ( + ( + this_INT_1=RULE_INT + { + $current.merge(this_INT_1); + } + { + newLeafNode(this_INT_1, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); + } + | + this_DECIMAL_2=RULE_DECIMAL + { + $current.merge(this_DECIMAL_2); + } + { + newLeafNode(this_DECIMAL_2, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); + } + ) + ( + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); + } + ( + this_INT_4=RULE_INT + { + $current.merge(this_INT_4); + } + { + newLeafNode(this_INT_4, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); + } + | + this_DECIMAL_5=RULE_DECIMAL + { + $current.merge(this_DECIMAL_5); + } + { + newLeafNode(this_DECIMAL_5, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); + } + ) + )? + ) + ) +; +finally { + myHiddenTokenState.restore(); +} + +// Entry rule entryRuleJvmTypeReference +entryRuleJvmTypeReference returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmTypeReferenceRule()); } + iv_ruleJvmTypeReference=ruleJvmTypeReference + { $current=$iv_ruleJvmTypeReference.current; } + EOF; + +// Rule JvmTypeReference +ruleJvmTypeReference returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); + } + this_JvmParameterizedTypeReference_0=ruleJvmParameterizedTypeReference + { + $current = $this_JvmParameterizedTypeReference_0.current; + afterParserOrEnumRuleCall(); + } + ( + (( + ( + ) + ruleArrayBrackets + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0(), + $current); + } + ) + { + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); + } + ruleArrayBrackets + { + afterParserOrEnumRuleCall(); + } + ) + )* + ) + | + { + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); + } + this_XFunctionTypeRef_3=ruleXFunctionTypeRef + { + $current = $this_XFunctionTypeRef_3.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleArrayBrackets +entryRuleArrayBrackets returns [String current=null]: + { newCompositeNode(grammarAccess.getArrayBracketsRule()); } + iv_ruleArrayBrackets=ruleArrayBrackets + { $current=$iv_ruleArrayBrackets.current.getText(); } + EOF; + +// Rule ArrayBrackets +ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='[' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); + } + kw=']' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); + } + ) +; + +// Entry rule entryRuleXFunctionTypeRef +entryRuleXFunctionTypeRef returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXFunctionTypeRefRule()); } + iv_ruleXFunctionTypeRef=ruleXFunctionTypeRef + { $current=$iv_ruleXFunctionTypeRef.current; } + EOF; + +// Rule XFunctionTypeRef +ruleXFunctionTypeRef returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + otherlv_0='(' + { + newLeafNode(otherlv_0, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); + } + lv_paramTypes_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + add( + $current, + "paramTypes", + lv_paramTypes_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=',' + { + newLeafNode(otherlv_2, grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); + } + lv_paramTypes_3_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + add( + $current, + "paramTypes", + lv_paramTypes_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_4=')' + { + newLeafNode(otherlv_4, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); + } + )? + otherlv_5='=>' + { + newLeafNode(otherlv_5, grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); + } + lv_returnType_6_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + set( + $current, + "returnType", + lv_returnType_6_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleJvmParameterizedTypeReference +entryRuleJvmParameterizedTypeReference returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceRule()); } + iv_ruleJvmParameterizedTypeReference=ruleJvmParameterizedTypeReference + { $current=$iv_ruleJvmParameterizedTypeReference.current; } + EOF; + +// Rule JvmParameterizedTypeReference +ruleJvmParameterizedTypeReference returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + } + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ('<')=> + otherlv_1='<' + { + newLeafNode(otherlv_1, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + lv_arguments_2_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + $current, + "arguments", + lv_arguments_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + lv_arguments_4_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + $current, + "arguments", + lv_arguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_5='>' + { + newLeafNode(otherlv_5, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); + } + ( + ( + (( + ( + ) + '.' + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0(), + $current); + } + ) + otherlv_7='.' + { + newLeafNode(otherlv_7, grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); + } + ) + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + } + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); + } + ruleValidID + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ('<')=> + otherlv_9='<' + { + newLeafNode(otherlv_9, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); + } + lv_arguments_10_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + $current, + "arguments", + lv_arguments_10_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_11=',' + { + newLeafNode(otherlv_11, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); + } + lv_arguments_12_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + $current, + "arguments", + lv_arguments_12_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_13='>' + { + newLeafNode(otherlv_13, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); + } + )? + )* + )? + ) +; + +// Entry rule entryRuleJvmArgumentTypeReference +entryRuleJvmArgumentTypeReference returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceRule()); } + iv_ruleJvmArgumentTypeReference=ruleJvmArgumentTypeReference + { $current=$iv_ruleJvmArgumentTypeReference.current; } + EOF; + +// Rule JvmArgumentTypeReference +ruleJvmArgumentTypeReference returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); + } + this_JvmTypeReference_0=ruleJvmTypeReference + { + $current = $this_JvmTypeReference_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); + } + this_JvmWildcardTypeReference_1=ruleJvmWildcardTypeReference + { + $current = $this_JvmWildcardTypeReference_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleJvmWildcardTypeReference +entryRuleJvmWildcardTypeReference returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceRule()); } + iv_ruleJvmWildcardTypeReference=ruleJvmWildcardTypeReference + { $current=$iv_ruleJvmWildcardTypeReference.current; } + EOF; + +// Rule JvmWildcardTypeReference +ruleJvmWildcardTypeReference returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0(), + $current); + } + ) + otherlv_1='?' + { + newLeafNode(otherlv_1, grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); + } + ( + ( + ( + ( + { + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); + } + lv_constraints_2_0=ruleJvmUpperBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + $current, + "constraints", + lv_constraints_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmUpperBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); + } + lv_constraints_3_0=ruleJvmUpperBoundAnded + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + $current, + "constraints", + lv_constraints_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmUpperBoundAnded"); + afterParserOrEnumRuleCall(); + } + ) + )* + ) + | + ( + ( + ( + { + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); + } + lv_constraints_4_0=ruleJvmLowerBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + $current, + "constraints", + lv_constraints_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmLowerBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); + } + lv_constraints_5_0=ruleJvmLowerBoundAnded + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + $current, + "constraints", + lv_constraints_5_0, + "org.eclipse.xtext.xbase.Xtype.JvmLowerBoundAnded"); + afterParserOrEnumRuleCall(); + } + ) + )* + ) + )? + ) +; + +// Entry rule entryRuleJvmUpperBound +entryRuleJvmUpperBound returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmUpperBoundRule()); } + iv_ruleJvmUpperBound=ruleJvmUpperBound + { $current=$iv_ruleJvmUpperBound.current; } + EOF; + +// Rule JvmUpperBound +ruleJvmUpperBound returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='extends' + { + newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + lv_typeReference_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmUpperBoundRule()); + } + set( + $current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleJvmUpperBoundAnded +entryRuleJvmUpperBoundAnded returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmUpperBoundAndedRule()); } + iv_ruleJvmUpperBoundAnded=ruleJvmUpperBoundAnded + { $current=$iv_ruleJvmUpperBoundAnded.current; } + EOF; + +// Rule JvmUpperBoundAnded +ruleJvmUpperBoundAnded returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='&' + { + newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + lv_typeReference_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmUpperBoundAndedRule()); + } + set( + $current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleJvmLowerBound +entryRuleJvmLowerBound returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmLowerBoundRule()); } + iv_ruleJvmLowerBound=ruleJvmLowerBound + { $current=$iv_ruleJvmLowerBound.current; } + EOF; + +// Rule JvmLowerBound +ruleJvmLowerBound returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='super' + { + newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + lv_typeReference_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmLowerBoundRule()); + } + set( + $current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleJvmLowerBoundAnded +entryRuleJvmLowerBoundAnded returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmLowerBoundAndedRule()); } + iv_ruleJvmLowerBoundAnded=ruleJvmLowerBoundAnded + { $current=$iv_ruleJvmLowerBoundAnded.current; } + EOF; + +// Rule JvmLowerBoundAnded +ruleJvmLowerBoundAnded returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='&' + { + newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + lv_typeReference_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmLowerBoundAndedRule()); + } + set( + $current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleQualifiedNameWithWildcard +entryRuleQualifiedNameWithWildcard returns [String current=null]: + { newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); } + iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard + { $current=$iv_ruleQualifiedNameWithWildcard.current.getText(); } + EOF; + +// Rule QualifiedNameWithWildcard +ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); + } + this_QualifiedName_0=ruleQualifiedName + { + $current.merge(this_QualifiedName_0); + } + { + afterParserOrEnumRuleCall(); + } + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); + } + kw='*' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); + } + ) +; + +// Entry rule entryRuleValidID +entryRuleValidID returns [String current=null]: + { newCompositeNode(grammarAccess.getValidIDRule()); } + iv_ruleValidID=ruleValidID + { $current=$iv_ruleValidID.current.getText(); } + EOF; + +// Rule ValidID +ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + this_ID_0=RULE_ID + { + $current.merge(this_ID_0); + } + { + newLeafNode(this_ID_0, grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); + } +; + +// Entry rule entryRuleXImportDeclaration +entryRuleXImportDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXImportDeclarationRule()); } + iv_ruleXImportDeclaration=ruleXImportDeclaration + { $current=$iv_ruleXImportDeclaration.current; } + EOF; + +// Rule XImportDeclaration +ruleXImportDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='import' + { + newLeafNode(otherlv_0, grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); + } + ( + ( + ( + ( + lv_static_1_0='static' + { + newLeafNode(lv_static_1_0, grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed($current, "static", lv_static_1_0 != null, "static"); + } + ) + ) + ( + ( + lv_extension_2_0='extension' + { + newLeafNode(lv_extension_2_0, grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed($current, "extension", lv_extension_2_0 != null, "extension"); + } + ) + )? + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + } + { + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); + } + ruleQualifiedNameInStaticImport + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ( + lv_wildcard_4_0='*' + { + newLeafNode(lv_wildcard_4_0, grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed($current, "wildcard", lv_wildcard_4_0 != null, "*"); + } + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); + } + lv_memberName_5_0=ruleValidID + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXImportDeclarationRule()); + } + set( + $current, + "memberName", + lv_memberName_5_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + | + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + } + { + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); + } + lv_importedNamespace_7_0=ruleQualifiedNameWithWildcard + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXImportDeclarationRule()); + } + set( + $current, + "importedNamespace", + lv_importedNamespace_7_0, + "org.eclipse.xtext.xbase.Xtype.QualifiedNameWithWildcard"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ( + otherlv_8=';' + { + newLeafNode(otherlv_8, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); + } + )? + ) +; + +// Entry rule entryRuleQualifiedNameInStaticImport +entryRuleQualifiedNameInStaticImport returns [String current=null]: + { newCompositeNode(grammarAccess.getQualifiedNameInStaticImportRule()); } + iv_ruleQualifiedNameInStaticImport=ruleQualifiedNameInStaticImport + { $current=$iv_ruleQualifiedNameInStaticImport.current.getText(); } + EOF; + +// Rule QualifiedNameInStaticImport +ruleQualifiedNameInStaticImport returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); + } + this_ValidID_0=ruleValidID + { + $current.merge(this_ValidID_0); + } + { + afterParserOrEnumRuleCall(); + } + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); + } + )+ +; + RULE_REAL : ('0'..'9')* '.' ('0'..'9')*; -RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; +RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F'|'_')+ ('#' (('b'|'B') ('i'|'I')|('l'|'L')))?; + +RULE_INT : '0'..'9' ('0'..'9'|'_')*; + +RULE_DECIMAL : RULE_INT (('e'|'E') ('+'|'-')? RULE_INT)? (('b'|'B') ('i'|'I'|'d'|'D')|('l'|'L'|'d'|'D'|'f'|'F'))?; -RULE_INT : ('0'..'9')+; +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'$'|'_') ('a'..'z'|'A'..'Z'|'$'|'_'|'0'..'9')*; -RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\''); +RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'?|'\'' ('\\' .|~(('\\'|'\'')))* '\''?); RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; diff --git a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/parser/antlr/internal/InternalExpression.tokens b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/parser/antlr/internal/InternalExpression.tokens index e3352517ec..f9a08bae50 100644 --- a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/parser/antlr/internal/InternalExpression.tokens +++ b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/parser/antlr/internal/InternalExpression.tokens @@ -1,65 +1,109 @@ -'!'=40 -'!='=31 -'&&'=28 -'('=15 -')'=16 -'*'=38 -'+'=36 -','=42 -'-'=37 -'->'=17 -'.'=41 -'/'=39 -':'=14 -'::'=63 -'<'=35 -'<='=33 -'='=13 -'=='=30 -'>'=34 -'>='=32 -'?'=18 -'Collection'=58 -'GLOBALVAR'=56 -'List'=59 -'Set'=60 -'['=61 -']'=62 -'case'=26 -'collect'=44 -'default'=24 -'else'=21 -'exists'=48 -'false'=54 -'forAll'=51 -'if'=19 -'implies'=29 -'let'=12 -'new'=57 -'notExists'=49 -'null'=55 -'reject'=47 -'select'=45 -'selectFirst'=46 -'sortBy'=50 -'switch'=22 -'then'=20 -'true'=53 -'typeSelect'=43 -'{'=23 -'|'=52 -'||'=27 -'}'=25 -RULE_ANY_OTHER=11 +'!'=42 +'!='=33 +'!=='=72 +'#'=85 +'%'=80 +'%='=70 +'&&'=30 +'&'=104 +'('=17 +')'=18 +'*'=40 +'**'=79 +'*='=68 +'+'=38 +'++'=82 +'+='=66 +','=44 +'-'=39 +'--'=83 +'-='=67 +'->'=19 +'.'=43 +'..'=75 +'..<'=74 +'/'=41 +'/='=69 +':'=16 +'::'=65 +';'=86 +'<'=37 +'<='=35 +'<>'=77 +'='=15 +'=='=32 +'==='=71 +'=>'=76 +'>'=36 +'>='=34 +'?'=20 +'?.'=84 +'?:'=78 +'Collection'=60 +'GLOBALVAR'=58 +'List'=61 +'Set'=62 +'['=63 +']'=64 +'as'=81 +'case'=28 +'catch'=103 +'collect'=46 +'default'=26 +'do'=89 +'else'=23 +'exists'=50 +'extends'=92 +'extension'=95 +'false'=56 +'finally'=101 +'for'=87 +'forAll'=53 +'if'=21 +'implies'=31 +'import'=94 +'instanceof'=73 +'let'=14 +'new'=59 +'notExists'=51 +'null'=57 +'reject'=49 +'return'=99 +'select'=47 +'selectFirst'=48 +'sortBy'=52 +'static'=93 +'super'=96 +'switch'=24 +'synchronized'=102 +'then'=22 +'throw'=98 +'true'=55 +'try'=100 +'typeSelect'=45 +'typeof'=97 +'val'=91 +'var'=90 +'while'=88 +'{'=25 +'|'=54 +'||'=29 +'}'=27 +RULE_ANY_OTHER=13 +RULE_DECIMAL=9 +RULE_HEX=8 RULE_ID=7 RULE_INT=4 -RULE_ML_COMMENT=8 +RULE_ML_COMMENT=10 RULE_REAL=5 -RULE_SL_COMMENT=9 +RULE_SL_COMMENT=11 RULE_STRING=6 -RULE_WS=10 -T__12=12 -T__13=13 +RULE_WS=12 +T__100=100 +T__101=101 +T__102=102 +T__103=103 +T__104=104 T__14=14 T__15=15 T__16=16 @@ -110,3 +154,39 @@ T__60=60 T__61=61 T__62=62 T__63=63 +T__64=64 +T__65=65 +T__66=66 +T__67=67 +T__68=68 +T__69=69 +T__70=70 +T__71=71 +T__72=72 +T__73=73 +T__74=74 +T__75=75 +T__76=76 +T__77=77 +T__78=78 +T__79=79 +T__80=80 +T__81=81 +T__82=82 +T__83=83 +T__84=84 +T__85=85 +T__86=86 +T__87=87 +T__88=88 +T__89=89 +T__90=90 +T__91=91 +T__92=92 +T__93=93 +T__94=94 +T__95=95 +T__96=96 +T__97=97 +T__98=98 +T__99=99 diff --git a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/parser/antlr/internal/InternalExpressionLexer.java b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/parser/antlr/internal/InternalExpressionLexer.java index ffd6f27896..bef42e86e8 100644 --- a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/parser/antlr/internal/InternalExpressionLexer.java +++ b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/parser/antlr/internal/InternalExpressionLexer.java @@ -12,19 +12,12 @@ @SuppressWarnings("all") public class InternalExpressionLexer extends Lexer { + public static final int RULE_HEX=8; public static final int T__50=50; - public static final int T__19=19; - public static final int T__15=15; public static final int T__59=59; - public static final int T__16=16; - public static final int T__17=17; - public static final int T__18=18; public static final int T__55=55; - public static final int T__12=12; public static final int T__56=56; - public static final int T__13=13; public static final int T__57=57; - public static final int T__14=14; public static final int T__58=58; public static final int T__51=51; public static final int T__52=52; @@ -34,22 +27,16 @@ public class InternalExpressionLexer extends Lexer { public static final int T__61=61; public static final int RULE_ID=7; public static final int RULE_REAL=5; - public static final int T__26=26; - public static final int T__27=27; - public static final int T__28=28; public static final int RULE_INT=4; - public static final int T__29=29; - public static final int T__22=22; - public static final int RULE_ML_COMMENT=8; - public static final int T__23=23; - public static final int T__24=24; - public static final int T__25=25; + public static final int T__66=66; + public static final int RULE_ML_COMMENT=10; + public static final int T__67=67; + public static final int T__68=68; + public static final int T__69=69; public static final int T__62=62; public static final int T__63=63; - public static final int T__20=20; - public static final int T__21=21; - public static final int RULE_STRING=6; - public static final int RULE_SL_COMMENT=9; + public static final int T__64=64; + public static final int T__65=65; public static final int T__37=37; public static final int T__38=38; public static final int T__39=39; @@ -57,12 +44,9 @@ public class InternalExpressionLexer extends Lexer { public static final int T__34=34; public static final int T__35=35; public static final int T__36=36; - public static final int EOF=-1; public static final int T__30=30; public static final int T__31=31; public static final int T__32=32; - public static final int RULE_WS=10; - public static final int RULE_ANY_OTHER=11; public static final int T__48=48; public static final int T__49=49; public static final int T__44=44; @@ -73,6 +57,63 @@ public class InternalExpressionLexer extends Lexer { public static final int T__41=41; public static final int T__42=42; public static final int T__43=43; + public static final int T__91=91; + public static final int T__100=100; + public static final int T__92=92; + public static final int T__93=93; + public static final int T__102=102; + public static final int T__94=94; + public static final int T__101=101; + public static final int T__90=90; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__99=99; + public static final int T__14=14; + public static final int T__95=95; + public static final int T__96=96; + public static final int T__97=97; + public static final int T__98=98; + public static final int RULE_DECIMAL=9; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int T__29=29; + public static final int T__22=22; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + public static final int T__70=70; + public static final int T__71=71; + public static final int T__72=72; + public static final int RULE_STRING=6; + public static final int RULE_SL_COMMENT=11; + public static final int T__77=77; + public static final int T__78=78; + public static final int T__79=79; + public static final int T__73=73; + public static final int EOF=-1; + public static final int T__74=74; + public static final int T__75=75; + public static final int T__76=76; + public static final int T__80=80; + public static final int T__81=81; + public static final int T__82=82; + public static final int T__83=83; + public static final int RULE_WS=12; + public static final int RULE_ANY_OTHER=13; + public static final int T__88=88; + public static final int T__89=89; + public static final int T__84=84; + public static final int T__104=104; + public static final int T__85=85; + public static final int T__103=103; + public static final int T__86=86; + public static final int T__87=87; // delegates // delegators @@ -87,10 +128,10 @@ public InternalExpressionLexer(CharStream input, RecognizerSharedState state) { } public String getGrammarFileName() { return "InternalExpression.g"; } - // $ANTLR start "T__12" - public final void mT__12() throws RecognitionException { + // $ANTLR start "T__14" + public final void mT__14() throws RecognitionException { try { - int _type = T__12; + int _type = T__14; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalExpression.g:11:7: ( 'let' ) // InternalExpression.g:11:9: 'let' @@ -98,46 +139,6 @@ public final void mT__12() throws RecognitionException { match("let"); - } - - 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; - // InternalExpression.g:12:7: ( '=' ) - // InternalExpression.g:12:9: '=' - { - match('='); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__13" - - // $ANTLR start "T__14" - public final void mT__14() throws RecognitionException { - try { - int _type = T__14; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:13:7: ( ':' ) - // InternalExpression.g:13:9: ':' - { - match(':'); - } state.type = _type; @@ -153,10 +154,10 @@ public final void mT__15() throws RecognitionException { try { int _type = T__15; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:14:7: ( '(' ) - // InternalExpression.g:14:9: '(' + // InternalExpression.g:12:7: ( '=' ) + // InternalExpression.g:12:9: '=' { - match('('); + match('='); } @@ -173,10 +174,10 @@ public final void mT__16() throws RecognitionException { try { int _type = T__16; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:15:7: ( ')' ) - // InternalExpression.g:15:9: ')' + // InternalExpression.g:13:7: ( ':' ) + // InternalExpression.g:13:9: ':' { - match(')'); + match(':'); } @@ -193,11 +194,10 @@ public final void mT__17() throws RecognitionException { try { int _type = T__17; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:16:7: ( '->' ) - // InternalExpression.g:16:9: '->' + // InternalExpression.g:14:7: ( '(' ) + // InternalExpression.g:14:9: '(' { - match("->"); - + match('('); } @@ -214,10 +214,10 @@ public final void mT__18() throws RecognitionException { try { int _type = T__18; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:17:7: ( '?' ) - // InternalExpression.g:17:9: '?' + // InternalExpression.g:15:7: ( ')' ) + // InternalExpression.g:15:9: ')' { - match('?'); + match(')'); } @@ -234,10 +234,10 @@ public final void mT__19() throws RecognitionException { try { int _type = T__19; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:18:7: ( 'if' ) - // InternalExpression.g:18:9: 'if' + // InternalExpression.g:16:7: ( '->' ) + // InternalExpression.g:16:9: '->' { - match("if"); + match("->"); } @@ -255,11 +255,10 @@ public final void mT__20() throws RecognitionException { try { int _type = T__20; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:19:7: ( 'then' ) - // InternalExpression.g:19:9: 'then' + // InternalExpression.g:17:7: ( '?' ) + // InternalExpression.g:17:9: '?' { - match("then"); - + match('?'); } @@ -276,10 +275,10 @@ public final void mT__21() throws RecognitionException { try { int _type = T__21; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:20:7: ( 'else' ) - // InternalExpression.g:20:9: 'else' + // InternalExpression.g:18:7: ( 'if' ) + // InternalExpression.g:18:9: 'if' { - match("else"); + match("if"); } @@ -297,10 +296,10 @@ public final void mT__22() throws RecognitionException { try { int _type = T__22; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:21:7: ( 'switch' ) - // InternalExpression.g:21:9: 'switch' + // InternalExpression.g:19:7: ( 'then' ) + // InternalExpression.g:19:9: 'then' { - match("switch"); + match("then"); } @@ -318,10 +317,11 @@ public final void mT__23() throws RecognitionException { try { int _type = T__23; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:22:7: ( '{' ) - // InternalExpression.g:22:9: '{' + // InternalExpression.g:20:7: ( 'else' ) + // InternalExpression.g:20:9: 'else' { - match('{'); + match("else"); + } @@ -338,10 +338,10 @@ public final void mT__24() throws RecognitionException { try { int _type = T__24; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:23:7: ( 'default' ) - // InternalExpression.g:23:9: 'default' + // InternalExpression.g:21:7: ( 'switch' ) + // InternalExpression.g:21:9: 'switch' { - match("default"); + match("switch"); } @@ -359,10 +359,10 @@ public final void mT__25() throws RecognitionException { try { int _type = T__25; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:24:7: ( '}' ) - // InternalExpression.g:24:9: '}' + // InternalExpression.g:22:7: ( '{' ) + // InternalExpression.g:22:9: '{' { - match('}'); + match('{'); } @@ -379,10 +379,10 @@ public final void mT__26() throws RecognitionException { try { int _type = T__26; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:25:7: ( 'case' ) - // InternalExpression.g:25:9: 'case' + // InternalExpression.g:23:7: ( 'default' ) + // InternalExpression.g:23:9: 'default' { - match("case"); + match("default"); } @@ -400,11 +400,10 @@ public final void mT__27() throws RecognitionException { try { int _type = T__27; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:26:7: ( '||' ) - // InternalExpression.g:26:9: '||' + // InternalExpression.g:24:7: ( '}' ) + // InternalExpression.g:24:9: '}' { - match("||"); - + match('}'); } @@ -421,10 +420,10 @@ public final void mT__28() throws RecognitionException { try { int _type = T__28; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:27:7: ( '&&' ) - // InternalExpression.g:27:9: '&&' + // InternalExpression.g:25:7: ( 'case' ) + // InternalExpression.g:25:9: 'case' { - match("&&"); + match("case"); } @@ -442,10 +441,10 @@ public final void mT__29() throws RecognitionException { try { int _type = T__29; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:28:7: ( 'implies' ) - // InternalExpression.g:28:9: 'implies' + // InternalExpression.g:26:7: ( '||' ) + // InternalExpression.g:26:9: '||' { - match("implies"); + match("||"); } @@ -463,10 +462,10 @@ public final void mT__30() throws RecognitionException { try { int _type = T__30; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:29:7: ( '==' ) - // InternalExpression.g:29:9: '==' + // InternalExpression.g:27:7: ( '&&' ) + // InternalExpression.g:27:9: '&&' { - match("=="); + match("&&"); } @@ -484,10 +483,10 @@ public final void mT__31() throws RecognitionException { try { int _type = T__31; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:30:7: ( '!=' ) - // InternalExpression.g:30:9: '!=' + // InternalExpression.g:28:7: ( 'implies' ) + // InternalExpression.g:28:9: 'implies' { - match("!="); + match("implies"); } @@ -505,10 +504,10 @@ public final void mT__32() throws RecognitionException { try { int _type = T__32; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:31:7: ( '>=' ) - // InternalExpression.g:31:9: '>=' + // InternalExpression.g:29:7: ( '==' ) + // InternalExpression.g:29:9: '==' { - match(">="); + match("=="); } @@ -526,10 +525,10 @@ public final void mT__33() throws RecognitionException { try { int _type = T__33; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:32:7: ( '<=' ) - // InternalExpression.g:32:9: '<=' + // InternalExpression.g:30:7: ( '!=' ) + // InternalExpression.g:30:9: '!=' { - match("<="); + match("!="); } @@ -547,10 +546,11 @@ public final void mT__34() throws RecognitionException { try { int _type = T__34; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:33:7: ( '>' ) - // InternalExpression.g:33:9: '>' + // InternalExpression.g:31:7: ( '>=' ) + // InternalExpression.g:31:9: '>=' { - match('>'); + match(">="); + } @@ -567,10 +567,11 @@ public final void mT__35() throws RecognitionException { try { int _type = T__35; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:34:7: ( '<' ) - // InternalExpression.g:34:9: '<' + // InternalExpression.g:32:7: ( '<=' ) + // InternalExpression.g:32:9: '<=' { - match('<'); + match("<="); + } @@ -587,10 +588,10 @@ public final void mT__36() throws RecognitionException { try { int _type = T__36; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:35:7: ( '+' ) - // InternalExpression.g:35:9: '+' + // InternalExpression.g:33:7: ( '>' ) + // InternalExpression.g:33:9: '>' { - match('+'); + match('>'); } @@ -607,10 +608,10 @@ public final void mT__37() throws RecognitionException { try { int _type = T__37; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:36:7: ( '-' ) - // InternalExpression.g:36:9: '-' + // InternalExpression.g:34:7: ( '<' ) + // InternalExpression.g:34:9: '<' { - match('-'); + match('<'); } @@ -627,10 +628,10 @@ public final void mT__38() throws RecognitionException { try { int _type = T__38; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:37:7: ( '*' ) - // InternalExpression.g:37:9: '*' + // InternalExpression.g:35:7: ( '+' ) + // InternalExpression.g:35:9: '+' { - match('*'); + match('+'); } @@ -647,10 +648,10 @@ public final void mT__39() throws RecognitionException { try { int _type = T__39; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:38:7: ( '/' ) - // InternalExpression.g:38:9: '/' + // InternalExpression.g:36:7: ( '-' ) + // InternalExpression.g:36:9: '-' { - match('/'); + match('-'); } @@ -667,10 +668,10 @@ public final void mT__40() throws RecognitionException { try { int _type = T__40; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:39:7: ( '!' ) - // InternalExpression.g:39:9: '!' + // InternalExpression.g:37:7: ( '*' ) + // InternalExpression.g:37:9: '*' { - match('!'); + match('*'); } @@ -687,10 +688,10 @@ public final void mT__41() throws RecognitionException { try { int _type = T__41; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:40:7: ( '.' ) - // InternalExpression.g:40:9: '.' + // InternalExpression.g:38:7: ( '/' ) + // InternalExpression.g:38:9: '/' { - match('.'); + match('/'); } @@ -707,10 +708,10 @@ public final void mT__42() throws RecognitionException { try { int _type = T__42; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:41:7: ( ',' ) - // InternalExpression.g:41:9: ',' + // InternalExpression.g:39:7: ( '!' ) + // InternalExpression.g:39:9: '!' { - match(','); + match('!'); } @@ -727,11 +728,10 @@ public final void mT__43() throws RecognitionException { try { int _type = T__43; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:42:7: ( 'typeSelect' ) - // InternalExpression.g:42:9: 'typeSelect' + // InternalExpression.g:40:7: ( '.' ) + // InternalExpression.g:40:9: '.' { - match("typeSelect"); - + match('.'); } @@ -748,11 +748,10 @@ public final void mT__44() throws RecognitionException { try { int _type = T__44; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:43:7: ( 'collect' ) - // InternalExpression.g:43:9: 'collect' + // InternalExpression.g:41:7: ( ',' ) + // InternalExpression.g:41:9: ',' { - match("collect"); - + match(','); } @@ -769,10 +768,10 @@ public final void mT__45() throws RecognitionException { try { int _type = T__45; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:44:7: ( 'select' ) - // InternalExpression.g:44:9: 'select' + // InternalExpression.g:42:7: ( 'typeSelect' ) + // InternalExpression.g:42:9: 'typeSelect' { - match("select"); + match("typeSelect"); } @@ -790,10 +789,10 @@ public final void mT__46() throws RecognitionException { try { int _type = T__46; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:45:7: ( 'selectFirst' ) - // InternalExpression.g:45:9: 'selectFirst' + // InternalExpression.g:43:7: ( 'collect' ) + // InternalExpression.g:43:9: 'collect' { - match("selectFirst"); + match("collect"); } @@ -811,10 +810,10 @@ public final void mT__47() throws RecognitionException { try { int _type = T__47; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:46:7: ( 'reject' ) - // InternalExpression.g:46:9: 'reject' + // InternalExpression.g:44:7: ( 'select' ) + // InternalExpression.g:44:9: 'select' { - match("reject"); + match("select"); } @@ -832,10 +831,10 @@ public final void mT__48() throws RecognitionException { try { int _type = T__48; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:47:7: ( 'exists' ) - // InternalExpression.g:47:9: 'exists' + // InternalExpression.g:45:7: ( 'selectFirst' ) + // InternalExpression.g:45:9: 'selectFirst' { - match("exists"); + match("selectFirst"); } @@ -853,10 +852,10 @@ public final void mT__49() throws RecognitionException { try { int _type = T__49; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:48:7: ( 'notExists' ) - // InternalExpression.g:48:9: 'notExists' + // InternalExpression.g:46:7: ( 'reject' ) + // InternalExpression.g:46:9: 'reject' { - match("notExists"); + match("reject"); } @@ -874,10 +873,10 @@ public final void mT__50() throws RecognitionException { try { int _type = T__50; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:49:7: ( 'sortBy' ) - // InternalExpression.g:49:9: 'sortBy' + // InternalExpression.g:47:7: ( 'exists' ) + // InternalExpression.g:47:9: 'exists' { - match("sortBy"); + match("exists"); } @@ -895,10 +894,10 @@ public final void mT__51() throws RecognitionException { try { int _type = T__51; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:50:7: ( 'forAll' ) - // InternalExpression.g:50:9: 'forAll' + // InternalExpression.g:48:7: ( 'notExists' ) + // InternalExpression.g:48:9: 'notExists' { - match("forAll"); + match("notExists"); } @@ -916,10 +915,11 @@ public final void mT__52() throws RecognitionException { try { int _type = T__52; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:51:7: ( '|' ) - // InternalExpression.g:51:9: '|' + // InternalExpression.g:49:7: ( 'sortBy' ) + // InternalExpression.g:49:9: 'sortBy' { - match('|'); + match("sortBy"); + } @@ -936,10 +936,10 @@ public final void mT__53() throws RecognitionException { try { int _type = T__53; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:52:7: ( 'true' ) - // InternalExpression.g:52:9: 'true' + // InternalExpression.g:50:7: ( 'forAll' ) + // InternalExpression.g:50:9: 'forAll' { - match("true"); + match("forAll"); } @@ -957,11 +957,10 @@ public final void mT__54() throws RecognitionException { try { int _type = T__54; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:53:7: ( 'false' ) - // InternalExpression.g:53:9: 'false' + // InternalExpression.g:51:7: ( '|' ) + // InternalExpression.g:51:9: '|' { - match("false"); - + match('|'); } @@ -978,10 +977,10 @@ public final void mT__55() throws RecognitionException { try { int _type = T__55; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:54:7: ( 'null' ) - // InternalExpression.g:54:9: 'null' + // InternalExpression.g:52:7: ( 'true' ) + // InternalExpression.g:52:9: 'true' { - match("null"); + match("true"); } @@ -999,10 +998,10 @@ public final void mT__56() throws RecognitionException { try { int _type = T__56; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:55:7: ( 'GLOBALVAR' ) - // InternalExpression.g:55:9: 'GLOBALVAR' + // InternalExpression.g:53:7: ( 'false' ) + // InternalExpression.g:53:9: 'false' { - match("GLOBALVAR"); + match("false"); } @@ -1020,10 +1019,10 @@ public final void mT__57() throws RecognitionException { try { int _type = T__57; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:56:7: ( 'new' ) - // InternalExpression.g:56:9: 'new' + // InternalExpression.g:54:7: ( 'null' ) + // InternalExpression.g:54:9: 'null' { - match("new"); + match("null"); } @@ -1041,10 +1040,10 @@ public final void mT__58() throws RecognitionException { try { int _type = T__58; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:57:7: ( 'Collection' ) - // InternalExpression.g:57:9: 'Collection' + // InternalExpression.g:55:7: ( 'GLOBALVAR' ) + // InternalExpression.g:55:9: 'GLOBALVAR' { - match("Collection"); + match("GLOBALVAR"); } @@ -1062,10 +1061,10 @@ public final void mT__59() throws RecognitionException { try { int _type = T__59; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:58:7: ( 'List' ) - // InternalExpression.g:58:9: 'List' + // InternalExpression.g:56:7: ( 'new' ) + // InternalExpression.g:56:9: 'new' { - match("List"); + match("new"); } @@ -1083,10 +1082,10 @@ public final void mT__60() throws RecognitionException { try { int _type = T__60; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:59:7: ( 'Set' ) - // InternalExpression.g:59:9: 'Set' + // InternalExpression.g:57:7: ( 'Collection' ) + // InternalExpression.g:57:9: 'Collection' { - match("Set"); + match("Collection"); } @@ -1104,10 +1103,11 @@ public final void mT__61() throws RecognitionException { try { int _type = T__61; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:60:7: ( '[' ) - // InternalExpression.g:60:9: '[' + // InternalExpression.g:58:7: ( 'List' ) + // InternalExpression.g:58:9: 'List' { - match('['); + match("List"); + } @@ -1124,10 +1124,11 @@ public final void mT__62() throws RecognitionException { try { int _type = T__62; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:61:7: ( ']' ) - // InternalExpression.g:61:9: ']' + // InternalExpression.g:59:7: ( 'Set' ) + // InternalExpression.g:59:9: 'Set' { - match(']'); + match("Set"); + } @@ -1144,11 +1145,10 @@ public final void mT__63() throws RecognitionException { try { int _type = T__63; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:62:7: ( '::' ) - // InternalExpression.g:62:9: '::' + // InternalExpression.g:60:7: ( '[' ) + // InternalExpression.g:60:9: '[' { - match("::"); - + match('['); } @@ -1160,65 +1160,15 @@ public final void mT__63() throws RecognitionException { } // $ANTLR end "T__63" - // $ANTLR start "RULE_REAL" - public final void mRULE_REAL() throws RecognitionException { + // $ANTLR start "T__64" + public final void mT__64() throws RecognitionException { try { - int _type = RULE_REAL; + int _type = T__64; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:2776:11: ( ( '0' .. '9' )* '.' ( '0' .. '9' )* ) - // InternalExpression.g:2776:13: ( '0' .. '9' )* '.' ( '0' .. '9' )* + // InternalExpression.g:61:7: ( ']' ) + // InternalExpression.g:61:9: ']' { - // InternalExpression.g:2776:13: ( '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 : - // InternalExpression.g:2776:14: '0' .. '9' - { - matchRange('0','9'); - - } - break; - - default : - break loop1; - } - } while (true); - - match('.'); - // InternalExpression.g:2776:29: ( '0' .. '9' )* - loop2: - do { - int alt2=2; - int LA2_0 = input.LA(1); - - if ( ((LA2_0>='0' && LA2_0<='9')) ) { - alt2=1; - } - - - switch (alt2) { - case 1 : - // InternalExpression.g:2776:30: '0' .. '9' - { - matchRange('0','9'); - - } - break; - - default : - break loop2; - } - } while (true); - + match(']'); } @@ -1228,75 +1178,80 @@ public final void mRULE_REAL() throws RecognitionException { finally { } } - // $ANTLR end "RULE_REAL" + // $ANTLR end "T__64" - // $ANTLR start "RULE_ID" - public final void mRULE_ID() throws RecognitionException { + // $ANTLR start "T__65" + public final void mT__65() throws RecognitionException { try { - int _type = RULE_ID; + int _type = T__65; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:2778:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalExpression.g:2778:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalExpression.g:62:7: ( '::' ) + // InternalExpression.g:62:9: '::' { - // InternalExpression.g:2778:11: ( '^' )? - int alt3=2; - int LA3_0 = input.LA(1); - - if ( (LA3_0=='^') ) { - alt3=1; - } - switch (alt3) { - case 1 : - // InternalExpression.g:2778:11: '^' - { - match('^'); + match("::"); - } - break; } - if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { - input.consume(); + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__65" - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} + // $ANTLR start "T__66" + public final void mT__66() throws RecognitionException { + try { + int _type = T__66; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:63:7: ( '+=' ) + // InternalExpression.g:63:9: '+=' + { + match("+="); - // InternalExpression.g:2778:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* - loop4: - do { - int alt4=2; - int LA4_0 = input.LA(1); - if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) { - alt4=1; - } + } + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__66" - switch (alt4) { - case 1 : - // InternalExpression.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(); + // $ANTLR start "T__67" + public final void mT__67() throws RecognitionException { + try { + int _type = T__67; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:64:7: ( '-=' ) + // InternalExpression.g:64:9: '-=' + { + match("-="); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} + } - } - break; + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__67" - default : - break loop4; - } - } while (true); + // $ANTLR start "T__68" + public final void mT__68() throws RecognitionException { + try { + int _type = T__68; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:65:7: ( '*=' ) + // InternalExpression.g:65:9: '*=' + { + match("*="); } @@ -1307,44 +1262,1050 @@ public final void mRULE_ID() throws RecognitionException { finally { } } - // $ANTLR end "RULE_ID" + // $ANTLR end "T__68" - // $ANTLR start "RULE_INT" - public final void mRULE_INT() throws RecognitionException { + // $ANTLR start "T__69" + public final void mT__69() throws RecognitionException { try { - int _type = RULE_INT; + int _type = T__69; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:2780:10: ( ( '0' .. '9' )+ ) - // InternalExpression.g:2780:12: ( '0' .. '9' )+ + // InternalExpression.g:66:7: ( '/=' ) + // InternalExpression.g:66:9: '/=' { - // InternalExpression.g:2780:12: ( '0' .. '9' )+ - int cnt5=0; - loop5: - do { - int alt5=2; - int LA5_0 = input.LA(1); + match("/="); - if ( ((LA5_0>='0' && LA5_0<='9')) ) { - alt5=1; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__69" + + // $ANTLR start "T__70" + public final void mT__70() throws RecognitionException { + try { + int _type = T__70; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:67:7: ( '%=' ) + // InternalExpression.g:67:9: '%=' + { + match("%="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__70" + + // $ANTLR start "T__71" + public final void mT__71() throws RecognitionException { + try { + int _type = T__71; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:68:7: ( '===' ) + // InternalExpression.g:68:9: '===' + { + match("==="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__71" + + // $ANTLR start "T__72" + public final void mT__72() throws RecognitionException { + try { + int _type = T__72; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:69:7: ( '!==' ) + // InternalExpression.g:69:9: '!==' + { + match("!=="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__72" + + // $ANTLR start "T__73" + public final void mT__73() throws RecognitionException { + try { + int _type = T__73; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:70:7: ( 'instanceof' ) + // InternalExpression.g:70:9: 'instanceof' + { + match("instanceof"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__73" + + // $ANTLR start "T__74" + public final void mT__74() throws RecognitionException { + try { + int _type = T__74; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:71:7: ( '..<' ) + // InternalExpression.g:71:9: '..<' + { + match("..<"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__74" + + // $ANTLR start "T__75" + public final void mT__75() throws RecognitionException { + try { + int _type = T__75; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:72:7: ( '..' ) + // InternalExpression.g:72:9: '..' + { + match(".."); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__75" + + // $ANTLR start "T__76" + public final void mT__76() throws RecognitionException { + try { + int _type = T__76; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:73:7: ( '=>' ) + // InternalExpression.g:73:9: '=>' + { + match("=>"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__76" + + // $ANTLR start "T__77" + public final void mT__77() throws RecognitionException { + try { + int _type = T__77; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:74:7: ( '<>' ) + // InternalExpression.g:74:9: '<>' + { + match("<>"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__77" + + // $ANTLR start "T__78" + public final void mT__78() throws RecognitionException { + try { + int _type = T__78; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:75:7: ( '?:' ) + // InternalExpression.g:75:9: '?:' + { + match("?:"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__78" + + // $ANTLR start "T__79" + public final void mT__79() throws RecognitionException { + try { + int _type = T__79; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:76:7: ( '**' ) + // InternalExpression.g:76:9: '**' + { + match("**"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__79" + + // $ANTLR start "T__80" + public final void mT__80() throws RecognitionException { + try { + int _type = T__80; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:77:7: ( '%' ) + // InternalExpression.g:77:9: '%' + { + match('%'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__80" + + // $ANTLR start "T__81" + public final void mT__81() throws RecognitionException { + try { + int _type = T__81; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:78:7: ( 'as' ) + // InternalExpression.g:78:9: 'as' + { + match("as"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__81" + + // $ANTLR start "T__82" + public final void mT__82() throws RecognitionException { + try { + int _type = T__82; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:79:7: ( '++' ) + // InternalExpression.g:79:9: '++' + { + match("++"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__82" + + // $ANTLR start "T__83" + public final void mT__83() throws RecognitionException { + try { + int _type = T__83; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:80:7: ( '--' ) + // InternalExpression.g:80:9: '--' + { + match("--"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__83" + + // $ANTLR start "T__84" + public final void mT__84() throws RecognitionException { + try { + int _type = T__84; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:81:7: ( '?.' ) + // InternalExpression.g:81:9: '?.' + { + match("?."); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__84" + + // $ANTLR start "T__85" + public final void mT__85() throws RecognitionException { + try { + int _type = T__85; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:82:7: ( '#' ) + // InternalExpression.g:82:9: '#' + { + match('#'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__85" + + // $ANTLR start "T__86" + public final void mT__86() throws RecognitionException { + try { + int _type = T__86; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:83:7: ( ';' ) + // InternalExpression.g:83:9: ';' + { + match(';'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__86" + + // $ANTLR start "T__87" + public final void mT__87() throws RecognitionException { + try { + int _type = T__87; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:84:7: ( 'for' ) + // InternalExpression.g:84:9: 'for' + { + match("for"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__87" + + // $ANTLR start "T__88" + public final void mT__88() throws RecognitionException { + try { + int _type = T__88; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:85:7: ( 'while' ) + // InternalExpression.g:85:9: 'while' + { + match("while"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__88" + + // $ANTLR start "T__89" + public final void mT__89() throws RecognitionException { + try { + int _type = T__89; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:86:7: ( 'do' ) + // InternalExpression.g:86:9: 'do' + { + match("do"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__89" + + // $ANTLR start "T__90" + public final void mT__90() throws RecognitionException { + try { + int _type = T__90; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:87:7: ( 'var' ) + // InternalExpression.g:87:9: 'var' + { + match("var"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__90" + + // $ANTLR start "T__91" + public final void mT__91() throws RecognitionException { + try { + int _type = T__91; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:88:7: ( 'val' ) + // InternalExpression.g:88:9: 'val' + { + match("val"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__91" + + // $ANTLR start "T__92" + public final void mT__92() throws RecognitionException { + try { + int _type = T__92; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:89:7: ( 'extends' ) + // InternalExpression.g:89:9: 'extends' + { + match("extends"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__92" + + // $ANTLR start "T__93" + public final void mT__93() throws RecognitionException { + try { + int _type = T__93; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:90:7: ( 'static' ) + // InternalExpression.g:90:9: 'static' + { + match("static"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__93" + + // $ANTLR start "T__94" + public final void mT__94() throws RecognitionException { + try { + int _type = T__94; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:91:7: ( 'import' ) + // InternalExpression.g:91:9: 'import' + { + match("import"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__94" + + // $ANTLR start "T__95" + public final void mT__95() throws RecognitionException { + try { + int _type = T__95; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:92:7: ( 'extension' ) + // InternalExpression.g:92:9: 'extension' + { + match("extension"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__95" + + // $ANTLR start "T__96" + public final void mT__96() throws RecognitionException { + try { + int _type = T__96; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:93:7: ( 'super' ) + // InternalExpression.g:93:9: 'super' + { + match("super"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__96" + + // $ANTLR start "T__97" + public final void mT__97() throws RecognitionException { + try { + int _type = T__97; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:94:7: ( 'typeof' ) + // InternalExpression.g:94:9: 'typeof' + { + match("typeof"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__97" + + // $ANTLR start "T__98" + public final void mT__98() throws RecognitionException { + try { + int _type = T__98; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:95:7: ( 'throw' ) + // InternalExpression.g:95:9: 'throw' + { + match("throw"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__98" + + // $ANTLR start "T__99" + public final void mT__99() throws RecognitionException { + try { + int _type = T__99; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:96:7: ( 'return' ) + // InternalExpression.g:96:9: 'return' + { + match("return"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__99" + + // $ANTLR start "T__100" + public final void mT__100() throws RecognitionException { + try { + int _type = T__100; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:97:8: ( 'try' ) + // InternalExpression.g:97:10: 'try' + { + match("try"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__100" + + // $ANTLR start "T__101" + public final void mT__101() throws RecognitionException { + try { + int _type = T__101; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:98:8: ( 'finally' ) + // InternalExpression.g:98:10: 'finally' + { + match("finally"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__101" + + // $ANTLR start "T__102" + public final void mT__102() throws RecognitionException { + try { + int _type = T__102; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:99:8: ( 'synchronized' ) + // InternalExpression.g:99:10: 'synchronized' + { + match("synchronized"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__102" + + // $ANTLR start "T__103" + public final void mT__103() throws RecognitionException { + try { + int _type = T__103; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:100:8: ( 'catch' ) + // InternalExpression.g:100:10: 'catch' + { + match("catch"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__103" + + // $ANTLR start "T__104" + public final void mT__104() throws RecognitionException { + try { + int _type = T__104; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:101:8: ( '&' ) + // InternalExpression.g:101:10: '&' + { + match('&'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__104" + + // $ANTLR start "RULE_REAL" + public final void mRULE_REAL() throws RecognitionException { + try { + int _type = RULE_REAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:9058:11: ( ( '0' .. '9' )* '.' ( '0' .. '9' )* ) + // InternalExpression.g:9058:13: ( '0' .. '9' )* '.' ( '0' .. '9' )* + { + // InternalExpression.g:9058:13: ( '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 : + // InternalExpression.g:9058:14: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + break loop1; + } + } while (true); + + match('.'); + // InternalExpression.g:9058:29: ( '0' .. '9' )* + loop2: + do { + int alt2=2; + int LA2_0 = input.LA(1); + + if ( ((LA2_0>='0' && LA2_0<='9')) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // InternalExpression.g:9058:30: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + break loop2; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_REAL" + + // $ANTLR start "RULE_HEX" + public final void mRULE_HEX() throws RecognitionException { + try { + int _type = RULE_HEX; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:9060:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? ) + // InternalExpression.g:9060:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? + { + // InternalExpression.g:9060:12: ( '0x' | '0X' ) + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0=='0') ) { + int LA3_1 = input.LA(2); + + if ( (LA3_1=='x') ) { + alt3=1; + } + else if ( (LA3_1=='X') ) { + alt3=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 3, 1, input); + + throw nvae; + } + } + else { + NoViableAltException nvae = + new NoViableAltException("", 3, 0, input); + + throw nvae; + } + switch (alt3) { + case 1 : + // InternalExpression.g:9060:13: '0x' + { + match("0x"); + + + } + break; + case 2 : + // InternalExpression.g:9060:18: '0X' + { + match("0X"); + + + } + break; + + } + + // InternalExpression.g:9060:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ + int cnt4=0; + loop4: + do { + int alt4=2; + int LA4_0 = input.LA(1); + + if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='f')) ) { + alt4=1; } - switch (alt5) { + switch (alt4) { case 1 : - // InternalExpression.g:2780:13: '0' .. '9' + // InternalExpression.g: { - matchRange('0','9'); + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='f') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + } break; default : - if ( cnt5 >= 1 ) break loop5; + if ( cnt4 >= 1 ) break loop4; EarlyExitException eee = - new EarlyExitException(5, input); + new EarlyExitException(4, input); throw eee; } - cnt5++; + cnt4++; + } while (true); + + // InternalExpression.g:9060:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0=='#') ) { + alt6=1; + } + switch (alt6) { + case 1 : + // InternalExpression.g:9060:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) + { + match('#'); + // InternalExpression.g:9060:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0=='B'||LA5_0=='b') ) { + alt5=1; + } + else if ( (LA5_0=='L'||LA5_0=='l') ) { + alt5=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); + + throw nvae; + } + switch (alt5) { + case 1 : + // InternalExpression.g:9060:64: ( 'b' | 'B' ) ( 'i' | 'I' ) + { + if ( input.LA(1)=='B'||input.LA(1)=='b' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + if ( input.LA(1)=='I'||input.LA(1)=='i' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // InternalExpression.g:9060:84: ( 'l' | 'L' ) + { + if ( input.LA(1)=='L'||input.LA(1)=='l' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_HEX" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + int _type = RULE_INT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:9062:10: ( '0' .. '9' ( '0' .. '9' | '_' )* ) + // InternalExpression.g:9062:12: '0' .. '9' ( '0' .. '9' | '_' )* + { + matchRange('0','9'); + // InternalExpression.g:9062:21: ( '0' .. '9' | '_' )* + loop7: + do { + int alt7=2; + int LA7_0 = input.LA(1); + + if ( ((LA7_0>='0' && LA7_0<='9')||LA7_0=='_') ) { + alt7=1; + } + + + switch (alt7) { + case 1 : + // InternalExpression.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||input.LA(1)=='_' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop7; + } } while (true); @@ -1358,52 +2319,257 @@ public final void mRULE_INT() throws RecognitionException { } // $ANTLR end "RULE_INT" + // $ANTLR start "RULE_DECIMAL" + public final void mRULE_DECIMAL() throws RecognitionException { + try { + int _type = RULE_DECIMAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:9064:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? ) + // InternalExpression.g:9064:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? + { + mRULE_INT(); + // InternalExpression.g:9064:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0=='E'||LA9_0=='e') ) { + alt9=1; + } + switch (alt9) { + case 1 : + // InternalExpression.g:9064:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT + { + if ( input.LA(1)=='E'||input.LA(1)=='e' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // InternalExpression.g:9064:36: ( '+' | '-' )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0=='+'||LA8_0=='-') ) { + alt8=1; + } + switch (alt8) { + case 1 : + // InternalExpression.g: + { + if ( input.LA(1)=='+'||input.LA(1)=='-' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + mRULE_INT(); + + } + break; + + } + + // InternalExpression.g:9064:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? + int alt10=3; + int LA10_0 = input.LA(1); + + if ( (LA10_0=='B'||LA10_0=='b') ) { + alt10=1; + } + else if ( (LA10_0=='D'||LA10_0=='F'||LA10_0=='L'||LA10_0=='d'||LA10_0=='f'||LA10_0=='l') ) { + alt10=2; + } + switch (alt10) { + case 1 : + // InternalExpression.g:9064:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) + { + if ( input.LA(1)=='B'||input.LA(1)=='b' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + if ( input.LA(1)=='D'||input.LA(1)=='I'||input.LA(1)=='d'||input.LA(1)=='i' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // InternalExpression.g:9064:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) + { + if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='L'||input.LA(1)=='d'||input.LA(1)=='f'||input.LA(1)=='l' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_DECIMAL" + + // $ANTLR start "RULE_ID" + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalExpression.g:9066:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* ) + // InternalExpression.g:9066:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* + { + // InternalExpression.g:9066:11: ( '^' )? + int alt11=2; + int LA11_0 = input.LA(1); + + if ( (LA11_0=='^') ) { + alt11=1; + } + switch (alt11) { + case 1 : + // InternalExpression.g:9066:11: '^' + { + match('^'); + + } + break; + + } + + if ( input.LA(1)=='$'||(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;} + + // InternalExpression.g:9066:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* + loop12: + do { + int alt12=2; + int LA12_0 = input.LA(1); + + if ( (LA12_0=='$'||(LA12_0>='0' && LA12_0<='9')||(LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='z')) ) { + alt12=1; + } + + + switch (alt12) { + case 1 : + // InternalExpression.g: + { + if ( input.LA(1)=='$'||(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 loop12; + } + } 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; - // InternalExpression.g:2782:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) - // InternalExpression.g:2782:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalExpression.g:9068:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) ) + // InternalExpression.g:9068:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) { - // InternalExpression.g:2782:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) - int alt8=2; - int LA8_0 = input.LA(1); + // InternalExpression.g:9068:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) + int alt17=2; + int LA17_0 = input.LA(1); - if ( (LA8_0=='\"') ) { - alt8=1; + if ( (LA17_0=='\"') ) { + alt17=1; } - else if ( (LA8_0=='\'') ) { - alt8=2; + else if ( (LA17_0=='\'') ) { + alt17=2; } else { NoViableAltException nvae = - new NoViableAltException("", 8, 0, input); + new NoViableAltException("", 17, 0, input); throw nvae; } - switch (alt8) { + switch (alt17) { case 1 : - // InternalExpression.g:2782:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + // InternalExpression.g:9068:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? { match('\"'); - // InternalExpression.g:2782:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* - loop6: + // InternalExpression.g:9068:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + loop13: do { - int alt6=3; - int LA6_0 = input.LA(1); + int alt13=3; + int LA13_0 = input.LA(1); - if ( (LA6_0=='\\') ) { - alt6=1; + if ( (LA13_0=='\\') ) { + alt13=1; } - else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) { - alt6=2; + else if ( ((LA13_0>='\u0000' && LA13_0<='!')||(LA13_0>='#' && LA13_0<='[')||(LA13_0>=']' && LA13_0<='\uFFFF')) ) { + alt13=2; } - switch (alt6) { + switch (alt13) { case 1 : - // InternalExpression.g:2782:21: '\\\\' . + // InternalExpression.g:9068:21: '\\\\' . { match('\\'); matchAny(); @@ -1411,7 +2577,7 @@ else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>= } break; case 2 : - // InternalExpression.g:2782:28: ~ ( ( '\\\\' | '\"' ) ) + // InternalExpression.g:9068:28: ~ ( ( '\\\\' | '\"' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1427,35 +2593,52 @@ else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>= break; default : - break loop6; + break loop13; } } while (true); - match('\"'); + // InternalExpression.g:9068:44: ( '\"' )? + int alt14=2; + int LA14_0 = input.LA(1); + + if ( (LA14_0=='\"') ) { + alt14=1; + } + switch (alt14) { + case 1 : + // InternalExpression.g:9068:44: '\"' + { + match('\"'); + + } + break; + + } + } break; case 2 : - // InternalExpression.g:2782:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + // InternalExpression.g:9068:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? { match('\''); - // InternalExpression.g:2782:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* - loop7: + // InternalExpression.g:9068:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + loop15: do { - int alt7=3; - int LA7_0 = input.LA(1); + int alt15=3; + int LA15_0 = input.LA(1); - if ( (LA7_0=='\\') ) { - alt7=1; + if ( (LA15_0=='\\') ) { + alt15=1; } - else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) { - alt7=2; + else if ( ((LA15_0>='\u0000' && LA15_0<='&')||(LA15_0>='(' && LA15_0<='[')||(LA15_0>=']' && LA15_0<='\uFFFF')) ) { + alt15=2; } - switch (alt7) { + switch (alt15) { case 1 : - // InternalExpression.g:2782:54: '\\\\' . + // InternalExpression.g:9068:55: '\\\\' . { match('\\'); matchAny(); @@ -1463,7 +2646,7 @@ else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>= } break; case 2 : - // InternalExpression.g:2782:61: ~ ( ( '\\\\' | '\\'' ) ) + // InternalExpression.g:9068:62: ~ ( ( '\\\\' | '\\'' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1475,15 +2658,32 @@ else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>= throw mse;} - } - break; + } + break; + + default : + break loop15; + } + } while (true); + + // InternalExpression.g:9068:79: ( '\\'' )? + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0=='\'') ) { + alt16=1; + } + switch (alt16) { + case 1 : + // InternalExpression.g:9068:79: '\\'' + { + match('\''); + + } + break; - default : - break loop7; - } - } while (true); + } - match('\''); } break; @@ -1506,37 +2706,37 @@ public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:2784:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalExpression.g:2784:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalExpression.g:9070:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalExpression.g:9070:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalExpression.g:2784:24: ( options {greedy=false; } : . )* - loop9: + // InternalExpression.g:9070:24: ( options {greedy=false; } : . )* + loop18: do { - int alt9=2; - int LA9_0 = input.LA(1); + int alt18=2; + int LA18_0 = input.LA(1); - if ( (LA9_0=='*') ) { - int LA9_1 = input.LA(2); + if ( (LA18_0=='*') ) { + int LA18_1 = input.LA(2); - if ( (LA9_1=='/') ) { - alt9=2; + if ( (LA18_1=='/') ) { + alt18=2; } - else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) { - alt9=1; + else if ( ((LA18_1>='\u0000' && LA18_1<='.')||(LA18_1>='0' && LA18_1<='\uFFFF')) ) { + alt18=1; } } - else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) { - alt9=1; + else if ( ((LA18_0>='\u0000' && LA18_0<=')')||(LA18_0>='+' && LA18_0<='\uFFFF')) ) { + alt18=1; } - switch (alt9) { + switch (alt18) { case 1 : - // InternalExpression.g:2784:52: . + // InternalExpression.g:9070:52: . { matchAny(); @@ -1544,7 +2744,7 @@ else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) { break; default : - break loop9; + break loop18; } } while (true); @@ -1566,25 +2766,25 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:2786:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalExpression.g:2786:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalExpression.g:9072:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalExpression.g:9072:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // InternalExpression.g:2786:24: (~ ( ( '\\n' | '\\r' ) ) )* - loop10: + // InternalExpression.g:9072:24: (~ ( ( '\\n' | '\\r' ) ) )* + loop19: do { - int alt10=2; - int LA10_0 = input.LA(1); + int alt19=2; + int LA19_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; + if ( ((LA19_0>='\u0000' && LA19_0<='\t')||(LA19_0>='\u000B' && LA19_0<='\f')||(LA19_0>='\u000E' && LA19_0<='\uFFFF')) ) { + alt19=1; } - switch (alt10) { + switch (alt19) { case 1 : - // InternalExpression.g:2786:24: ~ ( ( '\\n' | '\\r' ) ) + // InternalExpression.g:9072: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(); @@ -1600,31 +2800,31 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { break; default : - break loop10; + break loop19; } } while (true); - // InternalExpression.g:2786:40: ( ( '\\r' )? '\\n' )? - int alt12=2; - int LA12_0 = input.LA(1); + // InternalExpression.g:9072:40: ( ( '\\r' )? '\\n' )? + int alt21=2; + int LA21_0 = input.LA(1); - if ( (LA12_0=='\n'||LA12_0=='\r') ) { - alt12=1; + if ( (LA21_0=='\n'||LA21_0=='\r') ) { + alt21=1; } - switch (alt12) { + switch (alt21) { case 1 : - // InternalExpression.g:2786:41: ( '\\r' )? '\\n' + // InternalExpression.g:9072:41: ( '\\r' )? '\\n' { - // InternalExpression.g:2786:41: ( '\\r' )? - int alt11=2; - int LA11_0 = input.LA(1); + // InternalExpression.g:9072:41: ( '\\r' )? + int alt20=2; + int LA20_0 = input.LA(1); - if ( (LA11_0=='\r') ) { - alt11=1; + if ( (LA20_0=='\r') ) { + alt20=1; } - switch (alt11) { + switch (alt20) { case 1 : - // InternalExpression.g:2786:41: '\\r' + // InternalExpression.g:9072:41: '\\r' { match('\r'); @@ -1656,22 +2856,22 @@ public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:2788:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalExpression.g:2788:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalExpression.g:9074:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalExpression.g:9074:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // InternalExpression.g:2788:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - int cnt13=0; - loop13: + // InternalExpression.g:9074:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt22=0; + loop22: do { - int alt13=2; - int LA13_0 = input.LA(1); + int alt22=2; + int LA22_0 = input.LA(1); - if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) { - alt13=1; + if ( ((LA22_0>='\t' && LA22_0<='\n')||LA22_0=='\r'||LA22_0==' ') ) { + alt22=1; } - switch (alt13) { + switch (alt22) { case 1 : // InternalExpression.g: { @@ -1689,12 +2889,12 @@ public final void mRULE_WS() throws RecognitionException { break; default : - if ( cnt13 >= 1 ) break loop13; + if ( cnt22 >= 1 ) break loop22; EarlyExitException eee = - new EarlyExitException(13, input); + new EarlyExitException(22, input); throw eee; } - cnt13++; + cnt22++; } while (true); @@ -1713,8 +2913,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalExpression.g:2790:16: ( . ) - // InternalExpression.g:2790:18: . + // InternalExpression.g:9076:16: ( . ) + // InternalExpression.g:9076:18: . { matchAny(); @@ -1729,425 +2929,712 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { // $ANTLR end "RULE_ANY_OTHER" public void mTokens() throws RecognitionException { - // InternalExpression.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 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | RULE_REAL | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) - int alt14=60; - alt14 = dfa14.predict(input); - switch (alt14) { + // InternalExpression.g:1:8: ( T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | RULE_REAL | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt23=101; + alt23 = dfa23.predict(input); + switch (alt23) { case 1 : - // InternalExpression.g:1:10: T__12 + // InternalExpression.g:1:10: T__14 { - mT__12(); + mT__14(); } break; case 2 : - // InternalExpression.g:1:16: T__13 + // InternalExpression.g:1:16: T__15 + { + mT__15(); + + } + break; + case 3 : + // InternalExpression.g:1:22: T__16 + { + mT__16(); + + } + break; + case 4 : + // InternalExpression.g:1:28: T__17 + { + mT__17(); + + } + break; + case 5 : + // InternalExpression.g:1:34: T__18 + { + mT__18(); + + } + break; + case 6 : + // InternalExpression.g:1:40: T__19 + { + mT__19(); + + } + break; + case 7 : + // InternalExpression.g:1:46: T__20 + { + mT__20(); + + } + break; + case 8 : + // InternalExpression.g:1:52: T__21 + { + mT__21(); + + } + break; + case 9 : + // InternalExpression.g:1:58: T__22 + { + mT__22(); + + } + break; + case 10 : + // InternalExpression.g:1:64: T__23 + { + mT__23(); + + } + break; + case 11 : + // InternalExpression.g:1:70: T__24 + { + mT__24(); + + } + break; + case 12 : + // InternalExpression.g:1:76: T__25 + { + mT__25(); + + } + break; + case 13 : + // InternalExpression.g:1:82: T__26 + { + mT__26(); + + } + break; + case 14 : + // InternalExpression.g:1:88: T__27 + { + mT__27(); + + } + break; + case 15 : + // InternalExpression.g:1:94: T__28 + { + mT__28(); + + } + break; + case 16 : + // InternalExpression.g:1:100: T__29 + { + mT__29(); + + } + break; + case 17 : + // InternalExpression.g:1:106: T__30 + { + mT__30(); + + } + break; + case 18 : + // InternalExpression.g:1:112: T__31 + { + mT__31(); + + } + break; + case 19 : + // InternalExpression.g:1:118: T__32 + { + mT__32(); + + } + break; + case 20 : + // InternalExpression.g:1:124: T__33 + { + mT__33(); + + } + break; + case 21 : + // InternalExpression.g:1:130: T__34 + { + mT__34(); + + } + break; + case 22 : + // InternalExpression.g:1:136: T__35 + { + mT__35(); + + } + break; + case 23 : + // InternalExpression.g:1:142: T__36 + { + mT__36(); + + } + break; + case 24 : + // InternalExpression.g:1:148: T__37 + { + mT__37(); + + } + break; + case 25 : + // InternalExpression.g:1:154: T__38 + { + mT__38(); + + } + break; + case 26 : + // InternalExpression.g:1:160: T__39 + { + mT__39(); + + } + break; + case 27 : + // InternalExpression.g:1:166: T__40 + { + mT__40(); + + } + break; + case 28 : + // InternalExpression.g:1:172: T__41 + { + mT__41(); + + } + break; + case 29 : + // InternalExpression.g:1:178: T__42 + { + mT__42(); + + } + break; + case 30 : + // InternalExpression.g:1:184: T__43 + { + mT__43(); + + } + break; + case 31 : + // InternalExpression.g:1:190: T__44 + { + mT__44(); + + } + break; + case 32 : + // InternalExpression.g:1:196: T__45 + { + mT__45(); + + } + break; + case 33 : + // InternalExpression.g:1:202: T__46 + { + mT__46(); + + } + break; + case 34 : + // InternalExpression.g:1:208: T__47 + { + mT__47(); + + } + break; + case 35 : + // InternalExpression.g:1:214: T__48 + { + mT__48(); + + } + break; + case 36 : + // InternalExpression.g:1:220: T__49 + { + mT__49(); + + } + break; + case 37 : + // InternalExpression.g:1:226: T__50 + { + mT__50(); + + } + break; + case 38 : + // InternalExpression.g:1:232: T__51 + { + mT__51(); + + } + break; + case 39 : + // InternalExpression.g:1:238: T__52 + { + mT__52(); + + } + break; + case 40 : + // InternalExpression.g:1:244: T__53 + { + mT__53(); + + } + break; + case 41 : + // InternalExpression.g:1:250: T__54 + { + mT__54(); + + } + break; + case 42 : + // InternalExpression.g:1:256: T__55 + { + mT__55(); + + } + break; + case 43 : + // InternalExpression.g:1:262: T__56 { - mT__13(); + mT__56(); } break; - case 3 : - // InternalExpression.g:1:22: T__14 + case 44 : + // InternalExpression.g:1:268: T__57 { - mT__14(); + mT__57(); } break; - case 4 : - // InternalExpression.g:1:28: T__15 + case 45 : + // InternalExpression.g:1:274: T__58 { - mT__15(); + mT__58(); } break; - case 5 : - // InternalExpression.g:1:34: T__16 + case 46 : + // InternalExpression.g:1:280: T__59 { - mT__16(); + mT__59(); } break; - case 6 : - // InternalExpression.g:1:40: T__17 + case 47 : + // InternalExpression.g:1:286: T__60 { - mT__17(); + mT__60(); } break; - case 7 : - // InternalExpression.g:1:46: T__18 + case 48 : + // InternalExpression.g:1:292: T__61 { - mT__18(); + mT__61(); } break; - case 8 : - // InternalExpression.g:1:52: T__19 + case 49 : + // InternalExpression.g:1:298: T__62 { - mT__19(); + mT__62(); } break; - case 9 : - // InternalExpression.g:1:58: T__20 + case 50 : + // InternalExpression.g:1:304: T__63 { - mT__20(); + mT__63(); } break; - case 10 : - // InternalExpression.g:1:64: T__21 + case 51 : + // InternalExpression.g:1:310: T__64 { - mT__21(); + mT__64(); } break; - case 11 : - // InternalExpression.g:1:70: T__22 + case 52 : + // InternalExpression.g:1:316: T__65 { - mT__22(); + mT__65(); } break; - case 12 : - // InternalExpression.g:1:76: T__23 + case 53 : + // InternalExpression.g:1:322: T__66 { - mT__23(); + mT__66(); } break; - case 13 : - // InternalExpression.g:1:82: T__24 + case 54 : + // InternalExpression.g:1:328: T__67 { - mT__24(); + mT__67(); } break; - case 14 : - // InternalExpression.g:1:88: T__25 + case 55 : + // InternalExpression.g:1:334: T__68 { - mT__25(); + mT__68(); } break; - case 15 : - // InternalExpression.g:1:94: T__26 + case 56 : + // InternalExpression.g:1:340: T__69 { - mT__26(); + mT__69(); } break; - case 16 : - // InternalExpression.g:1:100: T__27 + case 57 : + // InternalExpression.g:1:346: T__70 { - mT__27(); + mT__70(); } break; - case 17 : - // InternalExpression.g:1:106: T__28 + case 58 : + // InternalExpression.g:1:352: T__71 { - mT__28(); + mT__71(); } break; - case 18 : - // InternalExpression.g:1:112: T__29 + case 59 : + // InternalExpression.g:1:358: T__72 { - mT__29(); + mT__72(); } break; - case 19 : - // InternalExpression.g:1:118: T__30 + case 60 : + // InternalExpression.g:1:364: T__73 { - mT__30(); + mT__73(); } break; - case 20 : - // InternalExpression.g:1:124: T__31 + case 61 : + // InternalExpression.g:1:370: T__74 { - mT__31(); + mT__74(); } break; - case 21 : - // InternalExpression.g:1:130: T__32 + case 62 : + // InternalExpression.g:1:376: T__75 { - mT__32(); + mT__75(); } break; - case 22 : - // InternalExpression.g:1:136: T__33 + case 63 : + // InternalExpression.g:1:382: T__76 { - mT__33(); + mT__76(); } break; - case 23 : - // InternalExpression.g:1:142: T__34 + case 64 : + // InternalExpression.g:1:388: T__77 { - mT__34(); + mT__77(); } break; - case 24 : - // InternalExpression.g:1:148: T__35 + case 65 : + // InternalExpression.g:1:394: T__78 { - mT__35(); + mT__78(); } break; - case 25 : - // InternalExpression.g:1:154: T__36 + case 66 : + // InternalExpression.g:1:400: T__79 { - mT__36(); + mT__79(); } break; - case 26 : - // InternalExpression.g:1:160: T__37 + case 67 : + // InternalExpression.g:1:406: T__80 { - mT__37(); + mT__80(); } break; - case 27 : - // InternalExpression.g:1:166: T__38 + case 68 : + // InternalExpression.g:1:412: T__81 { - mT__38(); + mT__81(); } break; - case 28 : - // InternalExpression.g:1:172: T__39 + case 69 : + // InternalExpression.g:1:418: T__82 { - mT__39(); + mT__82(); } break; - case 29 : - // InternalExpression.g:1:178: T__40 + case 70 : + // InternalExpression.g:1:424: T__83 { - mT__40(); + mT__83(); } break; - case 30 : - // InternalExpression.g:1:184: T__41 + case 71 : + // InternalExpression.g:1:430: T__84 { - mT__41(); + mT__84(); } break; - case 31 : - // InternalExpression.g:1:190: T__42 + case 72 : + // InternalExpression.g:1:436: T__85 { - mT__42(); + mT__85(); } break; - case 32 : - // InternalExpression.g:1:196: T__43 + case 73 : + // InternalExpression.g:1:442: T__86 { - mT__43(); + mT__86(); } break; - case 33 : - // InternalExpression.g:1:202: T__44 + case 74 : + // InternalExpression.g:1:448: T__87 { - mT__44(); + mT__87(); } break; - case 34 : - // InternalExpression.g:1:208: T__45 + case 75 : + // InternalExpression.g:1:454: T__88 { - mT__45(); + mT__88(); } break; - case 35 : - // InternalExpression.g:1:214: T__46 + case 76 : + // InternalExpression.g:1:460: T__89 { - mT__46(); + mT__89(); } break; - case 36 : - // InternalExpression.g:1:220: T__47 + case 77 : + // InternalExpression.g:1:466: T__90 { - mT__47(); + mT__90(); } break; - case 37 : - // InternalExpression.g:1:226: T__48 + case 78 : + // InternalExpression.g:1:472: T__91 { - mT__48(); + mT__91(); } break; - case 38 : - // InternalExpression.g:1:232: T__49 + case 79 : + // InternalExpression.g:1:478: T__92 { - mT__49(); + mT__92(); } break; - case 39 : - // InternalExpression.g:1:238: T__50 + case 80 : + // InternalExpression.g:1:484: T__93 { - mT__50(); + mT__93(); } break; - case 40 : - // InternalExpression.g:1:244: T__51 + case 81 : + // InternalExpression.g:1:490: T__94 { - mT__51(); + mT__94(); } break; - case 41 : - // InternalExpression.g:1:250: T__52 + case 82 : + // InternalExpression.g:1:496: T__95 { - mT__52(); + mT__95(); } break; - case 42 : - // InternalExpression.g:1:256: T__53 + case 83 : + // InternalExpression.g:1:502: T__96 { - mT__53(); + mT__96(); } break; - case 43 : - // InternalExpression.g:1:262: T__54 + case 84 : + // InternalExpression.g:1:508: T__97 { - mT__54(); + mT__97(); } break; - case 44 : - // InternalExpression.g:1:268: T__55 + case 85 : + // InternalExpression.g:1:514: T__98 { - mT__55(); + mT__98(); } break; - case 45 : - // InternalExpression.g:1:274: T__56 + case 86 : + // InternalExpression.g:1:520: T__99 { - mT__56(); + mT__99(); } break; - case 46 : - // InternalExpression.g:1:280: T__57 + case 87 : + // InternalExpression.g:1:526: T__100 { - mT__57(); + mT__100(); } break; - case 47 : - // InternalExpression.g:1:286: T__58 + case 88 : + // InternalExpression.g:1:533: T__101 { - mT__58(); + mT__101(); } break; - case 48 : - // InternalExpression.g:1:292: T__59 + case 89 : + // InternalExpression.g:1:540: T__102 { - mT__59(); + mT__102(); } break; - case 49 : - // InternalExpression.g:1:298: T__60 + case 90 : + // InternalExpression.g:1:547: T__103 { - mT__60(); + mT__103(); } break; - case 50 : - // InternalExpression.g:1:304: T__61 + case 91 : + // InternalExpression.g:1:554: T__104 { - mT__61(); + mT__104(); } break; - case 51 : - // InternalExpression.g:1:310: T__62 + case 92 : + // InternalExpression.g:1:561: RULE_REAL { - mT__62(); + mRULE_REAL(); } break; - case 52 : - // InternalExpression.g:1:316: T__63 + case 93 : + // InternalExpression.g:1:571: RULE_HEX { - mT__63(); + mRULE_HEX(); } break; - case 53 : - // InternalExpression.g:1:322: RULE_REAL + case 94 : + // InternalExpression.g:1:580: RULE_INT { - mRULE_REAL(); + mRULE_INT(); } break; - case 54 : - // InternalExpression.g:1:332: RULE_ID + case 95 : + // InternalExpression.g:1:589: RULE_DECIMAL { - mRULE_ID(); + mRULE_DECIMAL(); } break; - case 55 : - // InternalExpression.g:1:340: RULE_INT + case 96 : + // InternalExpression.g:1:602: RULE_ID { - mRULE_INT(); + mRULE_ID(); } break; - case 56 : - // InternalExpression.g:1:349: RULE_STRING + case 97 : + // InternalExpression.g:1:610: RULE_STRING { mRULE_STRING(); } break; - case 57 : - // InternalExpression.g:1:361: RULE_ML_COMMENT + case 98 : + // InternalExpression.g:1:622: RULE_ML_COMMENT { mRULE_ML_COMMENT(); } break; - case 58 : - // InternalExpression.g:1:377: RULE_SL_COMMENT + case 99 : + // InternalExpression.g:1:638: RULE_SL_COMMENT { mRULE_SL_COMMENT(); } break; - case 59 : - // InternalExpression.g:1:393: RULE_WS + case 100 : + // InternalExpression.g:1:654: RULE_WS { mRULE_WS(); } break; - case 60 : - // InternalExpression.g:1:401: RULE_ANY_OTHER + case 101 : + // InternalExpression.g:1:662: RULE_ANY_OTHER { mRULE_ANY_OTHER(); @@ -2159,65 +3646,72 @@ public void mTokens() throws RecognitionException { } - protected DFA14 dfa14 = new DFA14(this); - static final String DFA14_eotS = - "\1\uffff\1\53\1\55\1\57\2\uffff\1\63\1\uffff\4\53\1\uffff\1\53\1\uffff\1\53\1\105\1\51\1\110\1\112\1\114\2\uffff\1\121\1\122\1\uffff\7\53\2\uffff\1\141\1\51\1\uffff\2\51\2\uffff\1\53\12\uffff\1\146\11\53\1\uffff\1\53\1\uffff\2\53\21\uffff\12\53\3\uffff\1\141\2\uffff\1\175\1\uffff\17\53\1\u008d\5\53\1\u0093\1\uffff\1\53\1\u0095\1\53\1\u0097\1\u0098\5\53\1\u009e\3\53\1\u00a2\1\uffff\4\53\1\u00a7\1\uffff\1\53\1\uffff\1\53\2\uffff\5\53\1\uffff\3\53\1\uffff\1\53\1\u00b3\2\53\1\uffff\2\53\1\u00b8\1\u00b9\1\u00bb\1\u00bc\2\53\1\u00bf\1\53\1\u00c1\1\uffff\2\53\1\u00c4\1\53\2\uffff\1\53\2\uffff\1\u00c7\1\u00c8\1\uffff\1\53\1\uffff\2\53\1\uffff\2\53\2\uffff\5\53\1\u00d3\1\u00d4\1\53\1\u00d6\1\53\2\uffff\1\u00d8\1\uffff\1\u00d9\2\uffff"; - static final String DFA14_eofS = - "\u00da\uffff"; - static final String DFA14_minS = - "\1\0\1\145\1\75\1\72\2\uffff\1\76\1\uffff\1\146\1\150\1\154\1\145\1\uffff\1\145\1\uffff\1\141\1\174\1\46\3\75\2\uffff\1\52\1\60\1\uffff\2\145\1\141\1\114\1\157\1\151\1\145\2\uffff\1\56\1\101\1\uffff\2\0\2\uffff\1\164\12\uffff\1\60\1\160\1\145\1\160\1\165\1\163\2\151\1\154\1\162\1\uffff\1\146\1\uffff\1\163\1\154\21\uffff\1\152\1\164\1\154\1\167\1\162\1\154\1\117\1\154\1\163\1\164\3\uffff\1\56\2\uffff\1\60\1\uffff\1\154\1\156\3\145\1\163\1\164\1\145\1\164\1\141\1\145\1\154\1\145\1\105\1\154\1\60\1\101\1\163\1\102\1\154\1\164\1\60\1\uffff\1\151\1\60\1\123\2\60\1\164\2\143\1\102\1\165\1\60\1\145\1\143\1\170\1\60\1\uffff\1\154\1\145\1\101\1\145\1\60\1\uffff\1\145\1\uffff\1\145\2\uffff\1\163\1\150\1\164\1\171\1\154\1\uffff\1\143\1\164\1\151\1\uffff\1\154\1\60\1\114\1\143\1\uffff\1\163\1\154\4\60\2\164\1\60\1\163\1\60\1\uffff\1\126\1\164\1\60\1\145\2\uffff\1\151\2\uffff\2\60\1\uffff\1\164\1\uffff\1\101\1\151\1\uffff\1\143\1\162\2\uffff\1\163\1\122\1\157\1\164\1\163\2\60\1\156\1\60\1\164\2\uffff\1\60\1\uffff\1\60\2\uffff"; - static final String DFA14_maxS = - "\1\uffff\1\145\1\75\1\72\2\uffff\1\76\1\uffff\1\155\1\171\1\170\1\167\1\uffff\1\145\1\uffff\1\157\1\174\1\46\3\75\2\uffff\1\57\1\71\1\uffff\1\145\1\165\1\157\1\114\1\157\1\151\1\145\2\uffff\1\71\1\172\1\uffff\2\uffff\2\uffff\1\164\12\uffff\1\172\1\160\1\145\1\160\1\165\1\163\2\151\1\154\1\162\1\uffff\1\146\1\uffff\1\163\1\154\21\uffff\1\152\1\164\1\154\1\167\1\162\1\154\1\117\1\154\1\163\1\164\3\uffff\1\71\2\uffff\1\172\1\uffff\1\154\1\156\3\145\1\163\1\164\1\145\1\164\1\141\1\145\1\154\1\145\1\105\1\154\1\172\1\101\1\163\1\102\1\154\1\164\1\172\1\uffff\1\151\1\172\1\123\2\172\1\164\2\143\1\102\1\165\1\172\1\145\1\143\1\170\1\172\1\uffff\1\154\1\145\1\101\1\145\1\172\1\uffff\1\145\1\uffff\1\145\2\uffff\1\163\1\150\1\164\1\171\1\154\1\uffff\1\143\1\164\1\151\1\uffff\1\154\1\172\1\114\1\143\1\uffff\1\163\1\154\4\172\2\164\1\172\1\163\1\172\1\uffff\1\126\1\164\1\172\1\145\2\uffff\1\151\2\uffff\2\172\1\uffff\1\164\1\uffff\1\101\1\151\1\uffff\1\143\1\162\2\uffff\1\163\1\122\1\157\1\164\1\163\2\172\1\156\1\172\1\164\2\uffff\1\172\1\uffff\1\172\2\uffff"; - static final String DFA14_acceptS = - "\4\uffff\1\4\1\5\1\uffff\1\7\4\uffff\1\14\1\uffff\1\16\6\uffff\1\31\1\33\2\uffff\1\37\7\uffff\1\62\1\63\2\uffff\1\66\2\uffff\1\73\1\74\1\uffff\1\66\1\23\1\2\1\64\1\3\1\4\1\5\1\6\1\32\1\7\12\uffff\1\14\1\uffff\1\16\2\uffff\1\20\1\51\1\21\1\24\1\35\1\25\1\27\1\26\1\30\1\31\1\33\1\71\1\72\1\34\1\36\1\65\1\37\12\uffff\1\62\1\63\1\67\1\uffff\1\70\1\73\1\uffff\1\10\26\uffff\1\1\17\uffff\1\56\5\uffff\1\61\1\uffff\1\11\1\uffff\1\52\1\12\5\uffff\1\17\3\uffff\1\54\4\uffff\1\60\13\uffff\1\53\4\uffff\1\45\1\13\1\uffff\1\42\1\47\2\uffff\1\44\1\uffff\1\50\2\uffff\1\22\2\uffff\1\15\1\41\12\uffff\1\46\1\55\1\uffff\1\40\1\uffff\1\57\1\43"; - static final String DFA14_specialS = - "\1\1\45\uffff\1\0\1\2\u00b2\uffff}>"; - static final String[] DFA14_transitionS = { - "\11\51\2\50\2\51\1\50\22\51\1\50\1\22\1\46\3\51\1\21\1\47\1\4\1\5\1\26\1\25\1\31\1\6\1\30\1\27\12\43\1\3\1\51\1\24\1\2\1\23\1\7\1\51\2\45\1\36\3\45\1\35\4\45\1\37\6\45\1\40\7\45\1\41\1\51\1\42\1\44\1\45\1\51\2\45\1\17\1\15\1\12\1\34\2\45\1\10\2\45\1\1\1\45\1\33\3\45\1\32\1\13\1\11\6\45\1\14\1\20\1\16\uff82\51", - "\1\52", - "\1\54", - "\1\56", + protected DFA23 dfa23 = new DFA23(this); + static final String DFA23_eotS = + "\1\uffff\1\62\1\65\1\67\2\uffff\1\75\1\100\4\62\1\uffff\1\62\1\uffff\1\62\1\126\1\130\1\132\1\134\1\137\1\142\1\145\1\151\1\153\1\uffff\7\62\2\uffff\1\174\1\62\2\uffff\2\62\2\u0083\1\60\5\uffff\1\62\1\uffff\1\u008b\15\uffff\1\u008c\15\62\1\uffff\1\62\1\u009e\1\uffff\2\62\4\uffff\1\u00a3\20\uffff\1\u00a5\3\uffff\13\62\4\uffff\1\u00b2\2\uffff\2\62\2\uffff\2\u0083\3\uffff\1\u00b6\3\uffff\6\62\1\u00be\12\62\1\uffff\3\62\4\uffff\4\62\1\u00d0\1\u00d2\5\62\1\u00d8\1\uffff\1\62\1\u00da\1\u00db\1\uffff\3\62\1\u00df\2\62\1\u00e3\1\uffff\1\u00e4\11\62\1\u00ee\5\62\1\u00f4\1\uffff\1\62\1\uffff\4\62\1\u00fa\1\uffff\1\62\2\uffff\3\62\1\uffff\1\u00ff\2\62\2\uffff\6\62\1\u0109\2\62\1\uffff\1\u010c\4\62\1\uffff\1\62\1\u0112\3\62\1\uffff\1\u0116\1\62\1\u0118\1\62\1\uffff\1\62\1\u011b\1\u011c\2\62\1\u011f\1\u0121\1\u0122\1\u0123\1\uffff\2\62\1\uffff\1\62\1\u0127\1\u0128\1\62\1\u012a\1\uffff\3\62\1\uffff\1\u012e\1\uffff\2\62\2\uffff\1\u0131\1\62\1\uffff\1\62\3\uffff\1\62\1\u0135\1\u0136\2\uffff\1\62\1\uffff\1\u0138\2\62\1\uffff\2\62\1\uffff\3\62\2\uffff\1\62\1\uffff\4\62\1\u0145\2\62\1\u0148\1\u0149\1\62\1\u014b\1\u014c\1\uffff\2\62\2\uffff\1\u014f\2\uffff\1\u0150\1\62\2\uffff\1\u0152\1\uffff"; + static final String DFA23_eofS = + "\u0153\uffff"; + static final String DFA23_minS = + "\1\0\1\145\1\75\1\72\2\uffff\1\55\1\56\1\146\1\150\1\154\1\145\1\uffff\1\145\1\uffff\1\141\1\174\1\46\3\75\1\53\2\52\1\56\1\uffff\2\145\1\141\1\114\1\157\1\151\1\145\2\uffff\1\75\1\163\2\uffff\1\150\1\141\2\56\1\44\5\uffff\1\164\1\uffff\1\75\15\uffff\1\44\1\160\1\163\1\145\1\160\1\165\1\163\2\151\1\154\1\162\1\141\1\160\1\156\1\uffff\1\146\1\44\1\uffff\1\163\1\154\4\uffff\1\75\20\uffff\1\74\3\uffff\1\152\1\164\1\154\1\167\1\162\1\154\1\156\1\117\1\154\1\163\1\164\4\uffff\1\44\2\uffff\1\151\1\154\2\uffff\1\56\1\60\3\uffff\1\44\3\uffff\1\154\1\164\1\156\1\157\2\145\1\44\1\145\1\163\1\145\1\164\1\145\2\164\1\145\1\143\1\141\1\uffff\1\145\1\143\1\154\4\uffff\1\145\1\165\1\105\1\154\2\44\1\163\1\141\1\102\1\154\1\164\1\44\1\uffff\1\154\2\44\1\uffff\1\151\1\162\1\141\1\44\1\167\1\123\1\44\1\uffff\1\44\1\164\1\156\2\143\1\102\1\151\1\162\1\150\1\165\1\44\1\150\1\145\1\143\1\162\1\170\1\44\1\uffff\1\154\1\uffff\1\145\1\154\1\101\1\145\1\44\1\uffff\1\145\2\uffff\1\145\1\164\1\156\1\uffff\1\44\1\145\1\146\2\uffff\1\163\1\144\1\150\1\164\1\171\1\143\1\44\1\162\1\154\1\uffff\1\44\1\143\1\164\1\156\1\151\1\uffff\1\154\1\44\1\154\1\114\1\143\1\uffff\1\44\1\163\1\44\1\143\1\uffff\1\154\2\44\1\163\1\151\4\44\1\uffff\1\157\1\164\1\uffff\1\164\2\44\1\163\1\44\1\uffff\1\171\1\126\1\164\1\uffff\1\44\1\uffff\2\145\2\uffff\1\44\1\157\1\uffff\1\151\3\uffff\1\156\2\44\2\uffff\1\164\1\uffff\1\44\1\101\1\151\1\uffff\1\157\1\143\1\uffff\1\156\1\162\1\151\2\uffff\1\163\1\uffff\1\122\1\157\1\146\1\164\1\44\1\163\1\172\2\44\1\156\2\44\1\uffff\1\164\1\145\2\uffff\1\44\2\uffff\1\44\1\144\2\uffff\1\44\1\uffff"; + static final String DFA23_maxS = + "\1\uffff\1\145\1\76\1\72\2\uffff\1\76\1\72\1\156\1\171\1\170\1\171\1\uffff\1\157\1\uffff\1\157\1\174\1\46\2\75\1\76\3\75\1\71\1\uffff\1\145\1\165\1\157\1\114\1\157\1\151\1\145\2\uffff\1\75\1\163\2\uffff\1\150\1\141\1\170\1\154\1\172\5\uffff\1\164\1\uffff\1\75\15\uffff\1\172\1\160\1\163\1\162\1\160\1\171\1\163\1\164\1\151\1\154\1\162\1\141\1\160\1\156\1\uffff\1\146\1\172\1\uffff\1\164\1\154\4\uffff\1\75\20\uffff\1\74\3\uffff\2\164\1\154\1\167\1\162\1\154\1\156\1\117\1\154\1\163\1\164\4\uffff\1\172\2\uffff\1\151\1\162\2\uffff\2\154\3\uffff\1\172\3\uffff\1\157\1\164\1\156\1\157\2\145\1\172\1\145\1\163\1\145\1\164\1\145\2\164\1\145\1\143\1\141\1\uffff\1\145\1\143\1\154\4\uffff\1\145\1\165\1\105\1\154\2\172\1\163\1\141\1\102\1\154\1\164\1\172\1\uffff\1\154\2\172\1\uffff\1\151\1\162\1\141\1\172\1\167\1\157\1\172\1\uffff\1\172\1\164\1\156\2\143\1\102\1\151\1\162\1\150\1\165\1\172\1\150\1\145\1\143\1\162\1\170\1\172\1\uffff\1\154\1\uffff\1\145\1\154\1\101\1\145\1\172\1\uffff\1\145\2\uffff\1\145\1\164\1\156\1\uffff\1\172\1\145\1\146\2\uffff\2\163\1\150\1\164\1\171\1\143\1\172\1\162\1\154\1\uffff\1\172\1\143\1\164\1\156\1\151\1\uffff\1\154\1\172\1\154\1\114\1\143\1\uffff\1\172\1\163\1\172\1\143\1\uffff\1\154\2\172\1\163\1\151\4\172\1\uffff\1\157\1\164\1\uffff\1\164\2\172\1\163\1\172\1\uffff\1\171\1\126\1\164\1\uffff\1\172\1\uffff\2\145\2\uffff\1\172\1\157\1\uffff\1\151\3\uffff\1\156\2\172\2\uffff\1\164\1\uffff\1\172\1\101\1\151\1\uffff\1\157\1\143\1\uffff\1\156\1\162\1\151\2\uffff\1\163\1\uffff\1\122\1\157\1\146\1\164\1\172\1\163\3\172\1\156\2\172\1\uffff\1\164\1\145\2\uffff\1\172\2\uffff\1\172\1\144\2\uffff\1\172\1\uffff"; + static final String DFA23_acceptS = + "\4\uffff\1\4\1\5\6\uffff\1\14\1\uffff\1\16\12\uffff\1\37\7\uffff\1\62\1\63\2\uffff\1\110\1\111\5\uffff\1\140\2\141\1\144\1\145\1\uffff\1\140\1\uffff\1\77\1\2\1\64\1\3\1\4\1\5\1\6\1\66\1\106\1\32\1\101\1\107\1\7\16\uffff\1\14\2\uffff\1\16\2\uffff\1\20\1\51\1\21\1\133\1\uffff\1\35\1\25\1\27\1\26\1\100\1\30\1\65\1\105\1\31\1\67\1\102\1\33\1\70\1\142\1\143\1\34\1\uffff\1\36\1\134\1\37\13\uffff\1\62\1\63\1\71\1\103\1\uffff\1\110\1\111\2\uffff\1\135\1\136\2\uffff\1\137\1\141\1\144\1\uffff\1\72\1\23\1\10\21\uffff\1\114\3\uffff\1\73\1\24\1\75\1\76\14\uffff\1\104\3\uffff\1\1\7\uffff\1\127\21\uffff\1\56\1\uffff\1\112\5\uffff\1\61\1\uffff\1\115\1\116\3\uffff\1\11\3\uffff\1\52\1\12\11\uffff\1\17\5\uffff\1\54\5\uffff\1\60\4\uffff\1\125\11\uffff\1\123\2\uffff\1\132\5\uffff\1\53\3\uffff\1\113\1\uffff\1\121\2\uffff\1\124\1\45\2\uffff\1\13\1\uffff\1\42\1\47\1\120\3\uffff\1\44\1\126\1\uffff\1\50\3\uffff\1\22\2\uffff\1\117\3\uffff\1\15\1\41\1\uffff\1\130\14\uffff\1\122\2\uffff\1\46\1\55\1\uffff\1\74\1\40\2\uffff\1\57\1\43\1\uffff\1\131"; + static final String DFA23_specialS = + "\1\0\u0152\uffff}>"; + static final String[] DFA23_transitionS = { + "\11\60\2\57\2\60\1\57\22\60\1\57\1\22\1\55\1\45\1\54\1\43\1\21\1\56\1\4\1\5\1\26\1\25\1\31\1\6\1\30\1\27\1\51\11\52\1\3\1\46\1\24\1\2\1\23\1\7\1\60\2\54\1\36\3\54\1\35\4\54\1\37\6\54\1\40\7\54\1\41\1\60\1\42\1\53\1\54\1\60\1\44\1\54\1\17\1\15\1\12\1\34\2\54\1\10\2\54\1\1\1\54\1\33\3\54\1\32\1\13\1\11\1\54\1\50\1\47\3\54\1\14\1\20\1\16\uff82\60", + "\1\61", + "\1\63\1\64", + "\1\66", "", "", - "\1\62", + "\1\74\17\uffff\1\73\1\72", + "\1\77\13\uffff\1\76", + "\1\101\6\uffff\1\102\1\103", + "\1\104\11\uffff\1\106\6\uffff\1\105", + "\1\107\13\uffff\1\110", + "\1\112\11\uffff\1\113\4\uffff\1\114\1\115\1\uffff\1\111\1\uffff\1\116", "", - "\1\65\6\uffff\1\66", - "\1\67\11\uffff\1\71\6\uffff\1\70", - "\1\72\13\uffff\1\73", - "\1\75\11\uffff\1\76\7\uffff\1\74", + "\1\120\11\uffff\1\121", "", - "\1\100", + "\1\123\15\uffff\1\124", + "\1\125", + "\1\127", + "\1\131", + "\1\133", + "\1\135\1\136", + "\1\141\21\uffff\1\140", + "\1\144\22\uffff\1\143", + "\1\147\4\uffff\1\150\15\uffff\1\146", + "\1\152\1\uffff\12\154", "", - "\1\102\15\uffff\1\103", - "\1\104", - "\1\106", - "\1\107", - "\1\111", - "\1\113", + "\1\156", + "\1\161\11\uffff\1\157\5\uffff\1\160", + "\1\163\7\uffff\1\164\5\uffff\1\162", + "\1\165", + "\1\166", + "\1\167", + "\1\170", "", "", - "\1\117\4\uffff\1\120", - "\12\123", + "\1\173", + "\1\175", "", - "\1\125", - "\1\130\11\uffff\1\126\5\uffff\1\127", - "\1\132\15\uffff\1\131", - "\1\133", - "\1\134", - "\1\135", - "\1\136", "", + "\1\u0080", + "\1\u0081", + "\1\154\1\uffff\12\u0084\10\uffff\1\u0086\1\uffff\3\u0086\5\uffff\1\u0086\13\uffff\1\u0082\6\uffff\1\u0085\2\uffff\1\u0086\1\uffff\3\u0086\5\uffff\1\u0086\13\uffff\1\u0082", + "\1\154\1\uffff\12\u0084\10\uffff\1\u0086\1\uffff\3\u0086\5\uffff\1\u0086\22\uffff\1\u0085\2\uffff\1\u0086\1\uffff\3\u0086\5\uffff\1\u0086", + "\1\62\34\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\123\1\uffff\12\142", - "\32\53\4\uffff\1\53\1\uffff\32\53", "", - "\0\143", - "\0\143", "", "", - "\1\145", "", + "\1\u0089", "", + "\1\u008a", "", "", "", @@ -2226,30 +3720,36 @@ public void mTokens() throws RecognitionException { "", "", "", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\147", - "\1\150", - "\1\151", - "\1\152", - "\1\153", - "\1\154", - "\1\155", - "\1\156", - "\1\157", "", - "\1\160", "", - "\1\161", - "\1\162", "", "", "", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u008d", + "\1\u008e", + "\1\u008f\14\uffff\1\u0090", + "\1\u0091", + "\1\u0092\3\uffff\1\u0093", + "\1\u0094", + "\1\u0095\12\uffff\1\u0096", + "\1\u0097", + "\1\u0098", + "\1\u0099", + "\1\u009a", + "\1\u009b", + "\1\u009c", "", + "\1\u009d", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", + "\1\u009f\1\u00a0", + "\1\u00a1", "", "", "", "", + "\1\u00a2", "", "", "", @@ -2258,288 +3758,390 @@ public void mTokens() throws RecognitionException { "", "", "", - "\1\163", - "\1\164", - "\1\165", - "\1\166", - "\1\167", - "\1\170", - "\1\171", - "\1\172", - "\1\173", - "\1\174", "", "", "", - "\1\123\1\uffff\12\142", "", "", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", - "\1\176", - "\1\177", - "\1\u0080", - "\1\u0081", - "\1\u0082", - "\1\u0083", - "\1\u0084", - "\1\u0085", - "\1\u0086", - "\1\u0087", - "\1\u0088", - "\1\u0089", - "\1\u008a", - "\1\u008b", - "\1\u008c", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u008e", - "\1\u008f", - "\1\u0090", - "\1\u0091", - "\1\u0092", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", - "\1\u0094", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u0096", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u0099", - "\1\u009a", - "\1\u009b", - "\1\u009c", - "\1\u009d", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u009f", - "\1\u00a0", - "\1\u00a1", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", - "\1\u00a3", "\1\u00a4", - "\1\u00a5", - "\1\u00a6", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "", - "\1\u00a8", "", - "\1\u00a9", "", "", + "\1\u00a6\11\uffff\1\u00a7", + "\1\u00a8", + "\1\u00a9", "\1\u00aa", "\1\u00ab", "\1\u00ac", "\1\u00ad", "\1\u00ae", - "", "\1\u00af", "\1\u00b0", "\1\u00b1", "", - "\1\u00b2", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u00b4", - "\1\u00b5", - "", - "\1\u00b6", - "\1\u00b7", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\12\53\7\uffff\5\53\1\u00ba\24\53\4\uffff\1\53\1\uffff\32\53", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "", + "", + "", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "", + "", + "\1\u00b3", + "\1\u00b5\5\uffff\1\u00b4", + "", + "", + "\1\154\1\uffff\12\u0084\10\uffff\1\u0086\1\uffff\3\u0086\5\uffff\1\u0086\22\uffff\1\u0085\2\uffff\1\u0086\1\uffff\3\u0086\5\uffff\1\u0086", + "\12\u0085\10\uffff\1\u0086\1\uffff\3\u0086\5\uffff\1\u0086\22\uffff\1\u0085\2\uffff\1\u0086\1\uffff\3\u0086\5\uffff\1\u0086", + "", + "", + "", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "", + "", + "", + "\1\u00b7\2\uffff\1\u00b8", + "\1\u00b9", + "\1\u00ba", + "\1\u00bb", + "\1\u00bc", "\1\u00bd", - "\1\u00be", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u00bf", "\1\u00c0", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "", + "\1\u00c1", "\1\u00c2", "\1\u00c3", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u00c4", "\1\u00c5", - "", - "", "\1\u00c6", - "", - "", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u00c7", + "\1\u00c8", "", "\1\u00c9", - "", "\1\u00ca", "\1\u00cb", "", - "\1\u00cc", - "\1\u00cd", "", "", + "", + "\1\u00cc", + "\1\u00cd", "\1\u00ce", "\1\u00cf", - "\1\u00d0", - "\1\u00d1", - "\1\u00d2", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\62\13\uffff\12\62\7\uffff\1\u00d1\31\62\4\uffff\1\62\1\uffff\32\62", + "\1\u00d3", + "\1\u00d4", "\1\u00d5", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u00d6", "\1\u00d7", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "", + "\1\u00d9", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "", + "\1\u00dc", + "\1\u00dd", + "\1\u00de", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u00e0", + "\1\u00e1\33\uffff\1\u00e2", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u00e5", + "\1\u00e6", + "\1\u00e7", + "\1\u00e8", + "\1\u00e9", + "\1\u00ea", + "\1\u00eb", + "\1\u00ec", + "\1\u00ed", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u00ef", + "\1\u00f0", + "\1\u00f1", + "\1\u00f2", + "\1\u00f3", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "", + "\1\u00f5", + "", + "\1\u00f6", + "\1\u00f7", + "\1\u00f8", + "\1\u00f9", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "", + "\1\u00fb", + "", + "", + "\1\u00fc", + "\1\u00fd", + "\1\u00fe", + "", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u0100", + "\1\u0101", + "", + "", + "\1\u0102", + "\1\u0103\16\uffff\1\u0104", + "\1\u0105", + "\1\u0106", + "\1\u0107", + "\1\u0108", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u010a", + "\1\u010b", + "", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u010d", + "\1\u010e", + "\1\u010f", + "\1\u0110", "", + "\1\u0111", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u0113", + "\1\u0114", + "\1\u0115", "", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u0117", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u0119", "", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u011a", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u011d", + "\1\u011e", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\62\13\uffff\12\62\7\uffff\5\62\1\u0120\24\62\4\uffff\1\62\1\uffff\32\62", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", + "\1\u0124", + "\1\u0125", + "", + "\1\u0126", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u0129", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "", + "\1\u012b", + "\1\u012c", + "\1\u012d", + "", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "", + "\1\u012f", + "\1\u0130", + "", + "", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u0132", + "", + "\1\u0133", + "", + "", + "", + "\1\u0134", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "", + "", + "\1\u0137", + "", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u0139", + "\1\u013a", + "", + "\1\u013b", + "\1\u013c", + "", + "\1\u013d", + "\1\u013e", + "\1\u013f", + "", + "", + "\1\u0140", + "", + "\1\u0141", + "\1\u0142", + "\1\u0143", + "\1\u0144", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u0146", + "\1\u0147", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u014a", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "", + "\1\u014d", + "\1\u014e", + "", + "", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "", + "", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\u0151", + "", + "", + "\1\62\13\uffff\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "" }; - 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 final short[] DFA23_eot = DFA.unpackEncodedString(DFA23_eotS); + static final short[] DFA23_eof = DFA.unpackEncodedString(DFA23_eofS); + static final char[] DFA23_min = DFA.unpackEncodedStringToUnsignedChars(DFA23_minS); + static final char[] DFA23_max = DFA.unpackEncodedStringToUnsignedChars(DFA23_maxS); + static final short[] DFA23_accept = DFA.unpackEncodedString(DFA23_acceptS); + static final short[] DFA23_special = DFA.unpackEncodedString(DFA23_specialS); + static final short[][] DFA23_transition; static { - int numStates = DFA14_transitionS.length; - DFA14_transition = new short[numStates][]; + int numStates = DFA23_transitionS.length; + DFA23_transition = new short[numStates][]; for (int i=0; i='\u0000' && LA14_38<='\uFFFF')) ) {s = 99;} + if ( (LA23_0=='l') ) {s = 1;} - else s = 41; + else if ( (LA23_0=='=') ) {s = 2;} - if ( s>=0 ) return s; - break; - case 1 : - int LA14_0 = input.LA(1); + else if ( (LA23_0==':') ) {s = 3;} - s = -1; - if ( (LA14_0=='l') ) {s = 1;} + else if ( (LA23_0=='(') ) {s = 4;} - else if ( (LA14_0=='=') ) {s = 2;} + else if ( (LA23_0==')') ) {s = 5;} - else if ( (LA14_0==':') ) {s = 3;} + else if ( (LA23_0=='-') ) {s = 6;} - else if ( (LA14_0=='(') ) {s = 4;} + else if ( (LA23_0=='?') ) {s = 7;} - else if ( (LA14_0==')') ) {s = 5;} + else if ( (LA23_0=='i') ) {s = 8;} - else if ( (LA14_0=='-') ) {s = 6;} + else if ( (LA23_0=='t') ) {s = 9;} - else if ( (LA14_0=='?') ) {s = 7;} + else if ( (LA23_0=='e') ) {s = 10;} - else if ( (LA14_0=='i') ) {s = 8;} + else if ( (LA23_0=='s') ) {s = 11;} - else if ( (LA14_0=='t') ) {s = 9;} + else if ( (LA23_0=='{') ) {s = 12;} - else if ( (LA14_0=='e') ) {s = 10;} + else if ( (LA23_0=='d') ) {s = 13;} - else if ( (LA14_0=='s') ) {s = 11;} + else if ( (LA23_0=='}') ) {s = 14;} - else if ( (LA14_0=='{') ) {s = 12;} + else if ( (LA23_0=='c') ) {s = 15;} - else if ( (LA14_0=='d') ) {s = 13;} + else if ( (LA23_0=='|') ) {s = 16;} - else if ( (LA14_0=='}') ) {s = 14;} + else if ( (LA23_0=='&') ) {s = 17;} - else if ( (LA14_0=='c') ) {s = 15;} + else if ( (LA23_0=='!') ) {s = 18;} - else if ( (LA14_0=='|') ) {s = 16;} + else if ( (LA23_0=='>') ) {s = 19;} - else if ( (LA14_0=='&') ) {s = 17;} + else if ( (LA23_0=='<') ) {s = 20;} - else if ( (LA14_0=='!') ) {s = 18;} + else if ( (LA23_0=='+') ) {s = 21;} - else if ( (LA14_0=='>') ) {s = 19;} + else if ( (LA23_0=='*') ) {s = 22;} - else if ( (LA14_0=='<') ) {s = 20;} + else if ( (LA23_0=='/') ) {s = 23;} - else if ( (LA14_0=='+') ) {s = 21;} + else if ( (LA23_0=='.') ) {s = 24;} - else if ( (LA14_0=='*') ) {s = 22;} + else if ( (LA23_0==',') ) {s = 25;} - else if ( (LA14_0=='/') ) {s = 23;} + else if ( (LA23_0=='r') ) {s = 26;} - else if ( (LA14_0=='.') ) {s = 24;} + else if ( (LA23_0=='n') ) {s = 27;} - else if ( (LA14_0==',') ) {s = 25;} + else if ( (LA23_0=='f') ) {s = 28;} - else if ( (LA14_0=='r') ) {s = 26;} + else if ( (LA23_0=='G') ) {s = 29;} - else if ( (LA14_0=='n') ) {s = 27;} + else if ( (LA23_0=='C') ) {s = 30;} - else if ( (LA14_0=='f') ) {s = 28;} + else if ( (LA23_0=='L') ) {s = 31;} - else if ( (LA14_0=='G') ) {s = 29;} + else if ( (LA23_0=='S') ) {s = 32;} - else if ( (LA14_0=='C') ) {s = 30;} + else if ( (LA23_0=='[') ) {s = 33;} - else if ( (LA14_0=='L') ) {s = 31;} + else if ( (LA23_0==']') ) {s = 34;} - else if ( (LA14_0=='S') ) {s = 32;} + else if ( (LA23_0=='%') ) {s = 35;} - else if ( (LA14_0=='[') ) {s = 33;} + else if ( (LA23_0=='a') ) {s = 36;} - else if ( (LA14_0==']') ) {s = 34;} + else if ( (LA23_0=='#') ) {s = 37;} - else if ( ((LA14_0>='0' && LA14_0<='9')) ) {s = 35;} + else if ( (LA23_0==';') ) {s = 38;} - else if ( (LA14_0=='^') ) {s = 36;} + else if ( (LA23_0=='w') ) {s = 39;} - else if ( ((LA14_0>='A' && LA14_0<='B')||(LA14_0>='D' && LA14_0<='F')||(LA14_0>='H' && LA14_0<='K')||(LA14_0>='M' && LA14_0<='R')||(LA14_0>='T' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='a' && LA14_0<='b')||(LA14_0>='g' && LA14_0<='h')||(LA14_0>='j' && LA14_0<='k')||LA14_0=='m'||(LA14_0>='o' && LA14_0<='q')||(LA14_0>='u' && LA14_0<='z')) ) {s = 37;} + else if ( (LA23_0=='v') ) {s = 40;} - else if ( (LA14_0=='\"') ) {s = 38;} + else if ( (LA23_0=='0') ) {s = 41;} - else if ( (LA14_0=='\'') ) {s = 39;} + else if ( ((LA23_0>='1' && LA23_0<='9')) ) {s = 42;} - else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 40;} + else if ( (LA23_0=='^') ) {s = 43;} - 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<='\uFFFF')) ) {s = 41;} + else if ( (LA23_0=='$'||(LA23_0>='A' && LA23_0<='B')||(LA23_0>='D' && LA23_0<='F')||(LA23_0>='H' && LA23_0<='K')||(LA23_0>='M' && LA23_0<='R')||(LA23_0>='T' && LA23_0<='Z')||LA23_0=='_'||LA23_0=='b'||(LA23_0>='g' && LA23_0<='h')||(LA23_0>='j' && LA23_0<='k')||LA23_0=='m'||(LA23_0>='o' && LA23_0<='q')||LA23_0=='u'||(LA23_0>='x' && LA23_0<='z')) ) {s = 44;} - if ( s>=0 ) return s; - break; - case 2 : - int LA14_39 = input.LA(1); + else if ( (LA23_0=='\"') ) {s = 45;} - s = -1; - if ( ((LA14_39>='\u0000' && LA14_39<='\uFFFF')) ) {s = 99;} + else if ( (LA23_0=='\'') ) {s = 46;} + + else if ( ((LA23_0>='\t' && LA23_0<='\n')||LA23_0=='\r'||LA23_0==' ') ) {s = 47;} - else s = 41; + else if ( ((LA23_0>='\u0000' && LA23_0<='\b')||(LA23_0>='\u000B' && LA23_0<='\f')||(LA23_0>='\u000E' && LA23_0<='\u001F')||LA23_0=='@'||LA23_0=='\\'||LA23_0=='`'||(LA23_0>='~' && LA23_0<='\uFFFF')) ) {s = 48;} if ( s>=0 ) return s; break; } NoViableAltException nvae = - new NoViableAltException(getDescription(), 14, _s, input); + new NoViableAltException(getDescription(), 23, _s, input); error(nvae); throw nvae; } diff --git a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/parser/antlr/internal/InternalExpressionParser.java b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/parser/antlr/internal/InternalExpressionParser.java index e505339071..9644f9dc1b 100644 --- a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/parser/antlr/internal/InternalExpressionParser.java +++ b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/parser/antlr/internal/InternalExpressionParser.java @@ -22,21 +22,14 @@ @SuppressWarnings("all") public class InternalExpressionParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_INT", "RULE_REAL", "RULE_STRING", "RULE_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'let'", "'='", "':'", "'('", "')'", "'->'", "'?'", "'if'", "'then'", "'else'", "'switch'", "'{'", "'default'", "'}'", "'case'", "'||'", "'&&'", "'implies'", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'+'", "'-'", "'*'", "'/'", "'!'", "'.'", "','", "'typeSelect'", "'collect'", "'select'", "'selectFirst'", "'reject'", "'exists'", "'notExists'", "'sortBy'", "'forAll'", "'|'", "'true'", "'false'", "'null'", "'GLOBALVAR'", "'new'", "'Collection'", "'List'", "'Set'", "'['", "']'", "'::'" + "", "", "", "", "RULE_INT", "RULE_REAL", "RULE_STRING", "RULE_ID", "RULE_HEX", "RULE_DECIMAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'let'", "'='", "':'", "'('", "')'", "'->'", "'?'", "'if'", "'then'", "'else'", "'switch'", "'{'", "'default'", "'}'", "'case'", "'||'", "'&&'", "'implies'", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'+'", "'-'", "'*'", "'/'", "'!'", "'.'", "','", "'typeSelect'", "'collect'", "'select'", "'selectFirst'", "'reject'", "'exists'", "'notExists'", "'sortBy'", "'forAll'", "'|'", "'true'", "'false'", "'null'", "'GLOBALVAR'", "'new'", "'Collection'", "'List'", "'Set'", "'['", "']'", "'::'", "'+='", "'-='", "'*='", "'/='", "'%='", "'==='", "'!=='", "'instanceof'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'**'", "'%'", "'as'", "'++'", "'--'", "'?.'", "'#'", "';'", "'for'", "'while'", "'do'", "'var'", "'val'", "'extends'", "'static'", "'import'", "'extension'", "'super'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'&'" }; + public static final int RULE_HEX=8; public static final int T__50=50; - public static final int T__19=19; - public static final int T__15=15; public static final int T__59=59; - public static final int T__16=16; - public static final int T__17=17; - public static final int T__18=18; public static final int T__55=55; - public static final int T__12=12; public static final int T__56=56; - public static final int T__13=13; public static final int T__57=57; - public static final int T__14=14; public static final int T__58=58; public static final int T__51=51; public static final int T__52=52; @@ -46,22 +39,16 @@ public class InternalExpressionParser extends AbstractInternalAntlrParser { public static final int T__61=61; public static final int RULE_ID=7; public static final int RULE_REAL=5; - public static final int T__26=26; - public static final int T__27=27; - public static final int T__28=28; public static final int RULE_INT=4; - public static final int T__29=29; - public static final int T__22=22; - public static final int RULE_ML_COMMENT=8; - public static final int T__23=23; - public static final int T__24=24; - public static final int T__25=25; + public static final int T__66=66; + public static final int RULE_ML_COMMENT=10; + public static final int T__67=67; + public static final int T__68=68; + public static final int T__69=69; public static final int T__62=62; public static final int T__63=63; - public static final int T__20=20; - public static final int T__21=21; - public static final int RULE_STRING=6; - public static final int RULE_SL_COMMENT=9; + public static final int T__64=64; + public static final int T__65=65; public static final int T__37=37; public static final int T__38=38; public static final int T__39=39; @@ -69,12 +56,9 @@ public class InternalExpressionParser extends AbstractInternalAntlrParser { public static final int T__34=34; public static final int T__35=35; public static final int T__36=36; - public static final int EOF=-1; public static final int T__30=30; public static final int T__31=31; public static final int T__32=32; - public static final int RULE_WS=10; - public static final int RULE_ANY_OTHER=11; public static final int T__48=48; public static final int T__49=49; public static final int T__44=44; @@ -85,6 +69,63 @@ public class InternalExpressionParser extends AbstractInternalAntlrParser { public static final int T__41=41; public static final int T__42=42; public static final int T__43=43; + public static final int T__91=91; + public static final int T__100=100; + public static final int T__92=92; + public static final int T__93=93; + public static final int T__102=102; + public static final int T__94=94; + public static final int T__101=101; + public static final int T__90=90; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__99=99; + public static final int T__14=14; + public static final int T__95=95; + public static final int T__96=96; + public static final int T__97=97; + public static final int T__98=98; + public static final int RULE_DECIMAL=9; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int T__29=29; + public static final int T__22=22; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + public static final int T__70=70; + public static final int T__71=71; + public static final int T__72=72; + public static final int RULE_STRING=6; + public static final int RULE_SL_COMMENT=11; + public static final int T__77=77; + public static final int T__78=78; + public static final int T__79=79; + public static final int T__73=73; + public static final int EOF=-1; + public static final int T__74=74; + public static final int T__75=75; + public static final int T__76=76; + public static final int T__80=80; + public static final int T__81=81; + public static final int T__82=82; + public static final int T__83=83; + public static final int RULE_WS=12; + public static final int RULE_ANY_OTHER=13; + public static final int T__88=88; + public static final int T__89=89; + public static final int T__84=84; + public static final int T__104=104; + public static final int T__85=85; + public static final int T__103=103; + public static final int T__86=86; + public static final int T__87=87; // delegates // delegators @@ -349,7 +390,7 @@ public final EObject ruleLetExpression() throws RecognitionException { // InternalExpression.g:126:2: (otherlv_0= 'let' ( (lv_identifier_1_0= ruleIdentifier ) ) otherlv_2= '=' ( (lv_varExpr_3_0= ruleExpression ) ) otherlv_4= ':' ( (lv_target_5_0= ruleExpression ) ) ) // InternalExpression.g:127:3: otherlv_0= 'let' ( (lv_identifier_1_0= ruleIdentifier ) ) otherlv_2= '=' ( (lv_varExpr_3_0= ruleExpression ) ) otherlv_4= ':' ( (lv_target_5_0= ruleExpression ) ) { - otherlv_0=(Token)match(input,12,FOLLOW_3); if (state.failed) return current; + otherlv_0=(Token)match(input,14,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getLetExpressionAccess().getLetKeyword_0()); @@ -390,7 +431,7 @@ public final EObject ruleLetExpression() throws RecognitionException { } - otherlv_2=(Token)match(input,13,FOLLOW_5); if (state.failed) return current; + otherlv_2=(Token)match(input,15,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); @@ -431,7 +472,7 @@ public final EObject ruleLetExpression() throws RecognitionException { } - otherlv_4=(Token)match(input,14,FOLLOW_5); if (state.failed) return current; + otherlv_4=(Token)match(input,16,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getLetExpressionAccess().getColonKeyword_4()); @@ -558,7 +599,7 @@ public final EObject ruleCastedExpression() throws RecognitionException { // InternalExpression.g:214:2: (otherlv_0= '(' ( (lv_type_1_0= ruleType ) ) otherlv_2= ')' ( (lv_target_3_0= ruleExpression ) ) ) // InternalExpression.g:215:3: otherlv_0= '(' ( (lv_type_1_0= ruleType ) ) otherlv_2= ')' ( (lv_target_3_0= ruleExpression ) ) { - otherlv_0=(Token)match(input,15,FOLLOW_7); if (state.failed) return current; + otherlv_0=(Token)match(input,17,FOLLOW_7); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); @@ -599,7 +640,7 @@ public final EObject ruleCastedExpression() throws RecognitionException { } - otherlv_2=(Token)match(input,16,FOLLOW_5); if (state.failed) return current; + otherlv_2=(Token)match(input,18,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); @@ -747,7 +788,7 @@ public final EObject ruleChainExpression() throws RecognitionException { int alt2=2; int LA2_0 = input.LA(1); - if ( (LA2_0==17) ) { + if ( (LA2_0==19) ) { alt2=1; } @@ -769,7 +810,7 @@ public final EObject ruleChainExpression() throws RecognitionException { } - otherlv_2=(Token)match(input,17,FOLLOW_5); if (state.failed) return current; + otherlv_2=(Token)match(input,19,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); @@ -905,7 +946,7 @@ public final EObject ruleChainedExpression() throws RecognitionException { // InternalExpression.g:338:2: (this_IfExpressionKw_0= ruleIfExpressionKw | this_IfExpressionTri_1= ruleIfExpressionTri | this_SwitchExpression_2= ruleSwitchExpression ) int alt3=3; switch ( input.LA(1) ) { - case 19: + case 21: { alt3=1; } @@ -914,12 +955,10 @@ public final EObject ruleChainedExpression() throws RecognitionException { case RULE_REAL: case RULE_STRING: case RULE_ID: - case 15: - case 23: - case 37: - case 40: - case 43: - case 44: + case 17: + case 25: + case 39: + case 42: case 45: case 46: case 47: @@ -927,19 +966,21 @@ public final EObject ruleChainedExpression() throws RecognitionException { case 49: case 50: case 51: + case 52: case 53: - case 54: case 55: case 56: case 57: case 58: case 59: case 60: + case 61: + case 62: { alt3=2; } break; - case 22: + case 24: { alt3=3; } @@ -1127,7 +1168,7 @@ public final EObject ruleIfExpressionTri() throws RecognitionException { int alt4=2; int LA4_0 = input.LA(1); - if ( (LA4_0==18) ) { + if ( (LA4_0==20) ) { alt4=1; } switch (alt4) { @@ -1147,7 +1188,7 @@ public final EObject ruleIfExpressionTri() throws RecognitionException { } - otherlv_2=(Token)match(input,18,FOLLOW_5); if (state.failed) return current; + otherlv_2=(Token)match(input,20,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); @@ -1188,7 +1229,7 @@ public final EObject ruleIfExpressionTri() throws RecognitionException { } - otherlv_4=(Token)match(input,14,FOLLOW_5); if (state.failed) return current; + otherlv_4=(Token)match(input,16,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); @@ -1324,7 +1365,7 @@ public final EObject ruleIfExpressionKw() throws RecognitionException { // InternalExpression.g:465:2: (otherlv_0= 'if' ( (lv_condition_1_0= ruleChainedExpression ) ) otherlv_2= 'then' ( (lv_thenPart_3_0= ruleChainedExpression ) ) ( ( 'else' )=> (otherlv_4= 'else' ( (lv_elsePart_5_0= ruleChainedExpression ) ) ) )? ) // InternalExpression.g:466:3: otherlv_0= 'if' ( (lv_condition_1_0= ruleChainedExpression ) ) otherlv_2= 'then' ( (lv_thenPart_3_0= ruleChainedExpression ) ) ( ( 'else' )=> (otherlv_4= 'else' ( (lv_elsePart_5_0= ruleChainedExpression ) ) ) )? { - otherlv_0=(Token)match(input,19,FOLLOW_5); if (state.failed) return current; + otherlv_0=(Token)match(input,21,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); @@ -1365,7 +1406,7 @@ public final EObject ruleIfExpressionKw() throws RecognitionException { } - otherlv_2=(Token)match(input,20,FOLLOW_5); if (state.failed) return current; + otherlv_2=(Token)match(input,22,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); @@ -1410,7 +1451,7 @@ public final EObject ruleIfExpressionKw() throws RecognitionException { int alt5=2; int LA5_0 = input.LA(1); - if ( (LA5_0==21) ) { + if ( (LA5_0==23) ) { int LA5_1 = input.LA(2); if ( (synpred2_InternalExpression()) ) { @@ -1424,7 +1465,7 @@ public final EObject ruleIfExpressionKw() throws RecognitionException { // InternalExpression.g:514:4: (otherlv_4= 'else' ( (lv_elsePart_5_0= ruleChainedExpression ) ) ) // InternalExpression.g:515:5: otherlv_4= 'else' ( (lv_elsePart_5_0= ruleChainedExpression ) ) { - otherlv_4=(Token)match(input,21,FOLLOW_5); if (state.failed) return current; + otherlv_4=(Token)match(input,23,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); @@ -1567,7 +1608,7 @@ public final EObject ruleSwitchExpression() throws RecognitionException { // InternalExpression.g:558:2: (otherlv_0= 'switch' (otherlv_1= '(' ( (lv_switchExpr_2_0= ruleOrExpression ) ) otherlv_3= ')' )? otherlv_4= '{' ( (lv_case_5_0= ruleCase ) )* otherlv_6= 'default' otherlv_7= ':' ( (lv_defaultExpr_8_0= ruleOrExpression ) ) otherlv_9= '}' ) // InternalExpression.g:559:3: otherlv_0= 'switch' (otherlv_1= '(' ( (lv_switchExpr_2_0= ruleOrExpression ) ) otherlv_3= ')' )? otherlv_4= '{' ( (lv_case_5_0= ruleCase ) )* otherlv_6= 'default' otherlv_7= ':' ( (lv_defaultExpr_8_0= ruleOrExpression ) ) otherlv_9= '}' { - otherlv_0=(Token)match(input,22,FOLLOW_13); if (state.failed) return current; + otherlv_0=(Token)match(input,24,FOLLOW_13); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); @@ -1577,14 +1618,14 @@ public final EObject ruleSwitchExpression() throws RecognitionException { int alt6=2; int LA6_0 = input.LA(1); - if ( (LA6_0==15) ) { + if ( (LA6_0==17) ) { alt6=1; } switch (alt6) { case 1 : // InternalExpression.g:564:4: otherlv_1= '(' ( (lv_switchExpr_2_0= ruleOrExpression ) ) otherlv_3= ')' { - otherlv_1=(Token)match(input,15,FOLLOW_14); if (state.failed) return current; + otherlv_1=(Token)match(input,17,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); @@ -1625,7 +1666,7 @@ public final EObject ruleSwitchExpression() throws RecognitionException { } - otherlv_3=(Token)match(input,16,FOLLOW_15); if (state.failed) return current; + otherlv_3=(Token)match(input,18,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); @@ -1637,7 +1678,7 @@ public final EObject ruleSwitchExpression() throws RecognitionException { } - otherlv_4=(Token)match(input,23,FOLLOW_16); if (state.failed) return current; + otherlv_4=(Token)match(input,25,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); @@ -1649,7 +1690,7 @@ public final EObject ruleSwitchExpression() throws RecognitionException { int alt7=2; int LA7_0 = input.LA(1); - if ( (LA7_0==26) ) { + if ( (LA7_0==28) ) { alt7=1; } @@ -1696,13 +1737,13 @@ public final EObject ruleSwitchExpression() throws RecognitionException { } } while (true); - otherlv_6=(Token)match(input,24,FOLLOW_6); if (state.failed) return current; + otherlv_6=(Token)match(input,26,FOLLOW_6); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } - otherlv_7=(Token)match(input,14,FOLLOW_14); if (state.failed) return current; + otherlv_7=(Token)match(input,16,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); @@ -1743,7 +1784,7 @@ public final EObject ruleSwitchExpression() throws RecognitionException { } - otherlv_9=(Token)match(input,25,FOLLOW_2); if (state.failed) return current; + otherlv_9=(Token)match(input,27,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); @@ -1835,7 +1876,7 @@ public final EObject ruleCase() throws RecognitionException { // InternalExpression.g:664:2: (otherlv_0= 'case' ( (lv_condition_1_0= ruleOrExpression ) ) otherlv_2= ':' ( (lv_thenPar_3_0= ruleOrExpression ) ) ) // InternalExpression.g:665:3: otherlv_0= 'case' ( (lv_condition_1_0= ruleOrExpression ) ) otherlv_2= ':' ( (lv_thenPar_3_0= ruleOrExpression ) ) { - otherlv_0=(Token)match(input,26,FOLLOW_14); if (state.failed) return current; + otherlv_0=(Token)match(input,28,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getCaseAccess().getCaseKeyword_0()); @@ -1876,7 +1917,7 @@ public final EObject ruleCase() throws RecognitionException { } - otherlv_2=(Token)match(input,14,FOLLOW_14); if (state.failed) return current; + otherlv_2=(Token)match(input,16,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getCaseAccess().getColonKeyword_2()); @@ -2024,7 +2065,7 @@ public final EObject ruleOrExpression() throws RecognitionException { int alt8=2; int LA8_0 = input.LA(1); - if ( (LA8_0==27) ) { + if ( (LA8_0==29) ) { alt8=1; } @@ -2052,7 +2093,7 @@ public final EObject ruleOrExpression() throws RecognitionException { // InternalExpression.g:747:5: (lv_operator_2_0= '||' ) // InternalExpression.g:748:6: lv_operator_2_0= '||' { - lv_operator_2_0=(Token)match(input,27,FOLLOW_14); if (state.failed) return current; + lv_operator_2_0=(Token)match(input,29,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_0, grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); @@ -2223,7 +2264,7 @@ public final EObject ruleAndExpression() throws RecognitionException { int alt9=2; int LA9_0 = input.LA(1); - if ( (LA9_0==28) ) { + if ( (LA9_0==30) ) { alt9=1; } @@ -2251,7 +2292,7 @@ public final EObject ruleAndExpression() throws RecognitionException { // InternalExpression.g:816:5: (lv_operator_2_0= '&&' ) // InternalExpression.g:817:6: lv_operator_2_0= '&&' { - lv_operator_2_0=(Token)match(input,28,FOLLOW_14); if (state.failed) return current; + lv_operator_2_0=(Token)match(input,30,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_0, grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); @@ -2422,7 +2463,7 @@ public final EObject ruleImpliesExpression() throws RecognitionException { int alt10=2; int LA10_0 = input.LA(1); - if ( (LA10_0==29) ) { + if ( (LA10_0==31) ) { alt10=1; } @@ -2450,7 +2491,7 @@ public final EObject ruleImpliesExpression() throws RecognitionException { // InternalExpression.g:885:5: (lv_operator_2_0= 'implies' ) // InternalExpression.g:886:6: lv_operator_2_0= 'implies' { - lv_operator_2_0=(Token)match(input,29,FOLLOW_14); if (state.failed) return current; + lv_operator_2_0=(Token)match(input,31,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_0, grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); @@ -2626,7 +2667,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { int alt12=2; int LA12_0 = input.LA(1); - if ( ((LA12_0>=30 && LA12_0<=35)) ) { + if ( ((LA12_0>=32 && LA12_0<=37)) ) { alt12=1; } @@ -2657,32 +2698,32 @@ public final EObject ruleRelationalExpression() throws RecognitionException { // InternalExpression.g:955:6: (lv_operator_2_1= '==' | lv_operator_2_2= '!=' | lv_operator_2_3= '>=' | lv_operator_2_4= '<=' | lv_operator_2_5= '>' | lv_operator_2_6= '<' ) int alt11=6; switch ( input.LA(1) ) { - case 30: + case 32: { alt11=1; } break; - case 31: + case 33: { alt11=2; } break; - case 32: + case 34: { alt11=3; } break; - case 33: + case 35: { alt11=4; } break; - case 34: + case 36: { alt11=5; } break; - case 35: + case 37: { alt11=6; } @@ -2699,7 +2740,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 1 : // InternalExpression.g:956:7: lv_operator_2_1= '==' { - lv_operator_2_1=(Token)match(input,30,FOLLOW_14); if (state.failed) return current; + lv_operator_2_1=(Token)match(input,32,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_1, grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); @@ -2719,7 +2760,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 2 : // InternalExpression.g:967:7: lv_operator_2_2= '!=' { - lv_operator_2_2=(Token)match(input,31,FOLLOW_14); if (state.failed) return current; + lv_operator_2_2=(Token)match(input,33,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_2, grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); @@ -2739,7 +2780,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 3 : // InternalExpression.g:978:7: lv_operator_2_3= '>=' { - lv_operator_2_3=(Token)match(input,32,FOLLOW_14); if (state.failed) return current; + lv_operator_2_3=(Token)match(input,34,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_3, grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); @@ -2759,7 +2800,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 4 : // InternalExpression.g:989:7: lv_operator_2_4= '<=' { - lv_operator_2_4=(Token)match(input,33,FOLLOW_14); if (state.failed) return current; + lv_operator_2_4=(Token)match(input,35,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_4, grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); @@ -2779,7 +2820,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 5 : // InternalExpression.g:1000:7: lv_operator_2_5= '>' { - lv_operator_2_5=(Token)match(input,34,FOLLOW_14); if (state.failed) return current; + lv_operator_2_5=(Token)match(input,36,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_5, grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); @@ -2799,7 +2840,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 6 : // InternalExpression.g:1011:7: lv_operator_2_6= '<' { - lv_operator_2_6=(Token)match(input,35,FOLLOW_14); if (state.failed) return current; + lv_operator_2_6=(Token)match(input,37,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_6, grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); @@ -2977,7 +3018,7 @@ public final EObject ruleAdditiveExpression() throws RecognitionException { int alt14=2; int LA14_0 = input.LA(1); - if ( ((LA14_0>=36 && LA14_0<=37)) ) { + if ( ((LA14_0>=38 && LA14_0<=39)) ) { alt14=1; } @@ -3009,10 +3050,10 @@ public final EObject ruleAdditiveExpression() throws RecognitionException { int alt13=2; int LA13_0 = input.LA(1); - if ( (LA13_0==36) ) { + if ( (LA13_0==38) ) { alt13=1; } - else if ( (LA13_0==37) ) { + else if ( (LA13_0==39) ) { alt13=2; } else { @@ -3026,7 +3067,7 @@ else if ( (LA13_0==37) ) { case 1 : // InternalExpression.g:1082:7: lv_name_2_1= '+' { - lv_name_2_1=(Token)match(input,36,FOLLOW_14); if (state.failed) return current; + lv_name_2_1=(Token)match(input,38,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_1, grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); @@ -3046,7 +3087,7 @@ else if ( (LA13_0==37) ) { case 2 : // InternalExpression.g:1093:7: lv_name_2_2= '-' { - lv_name_2_2=(Token)match(input,37,FOLLOW_14); if (state.failed) return current; + lv_name_2_2=(Token)match(input,39,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_2, grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); @@ -3224,7 +3265,7 @@ public final EObject ruleMultiplicativeExpression() throws RecognitionException int alt16=2; int LA16_0 = input.LA(1); - if ( ((LA16_0>=38 && LA16_0<=39)) ) { + if ( ((LA16_0>=40 && LA16_0<=41)) ) { alt16=1; } @@ -3256,10 +3297,10 @@ public final EObject ruleMultiplicativeExpression() throws RecognitionException int alt15=2; int LA15_0 = input.LA(1); - if ( (LA15_0==38) ) { + if ( (LA15_0==40) ) { alt15=1; } - else if ( (LA15_0==39) ) { + else if ( (LA15_0==41) ) { alt15=2; } else { @@ -3273,7 +3314,7 @@ else if ( (LA15_0==39) ) { case 1 : // InternalExpression.g:1164:7: lv_name_2_1= '*' { - lv_name_2_1=(Token)match(input,38,FOLLOW_14); if (state.failed) return current; + lv_name_2_1=(Token)match(input,40,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_1, grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); @@ -3293,7 +3334,7 @@ else if ( (LA15_0==39) ) { case 2 : // InternalExpression.g:1175:7: lv_name_2_2= '/' { - lv_name_2_2=(Token)match(input,39,FOLLOW_14); if (state.failed) return current; + lv_name_2_2=(Token)match(input,41,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_2, grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); @@ -3448,10 +3489,10 @@ public final EObject ruleUnaryOrInfixExpression() throws RecognitionException { int alt17=2; int LA17_0 = input.LA(1); - if ( (LA17_0==37||LA17_0==40) ) { + if ( (LA17_0==39||LA17_0==42) ) { alt17=1; } - else if ( ((LA17_0>=RULE_INT && LA17_0<=RULE_ID)||LA17_0==15||LA17_0==23||(LA17_0>=43 && LA17_0<=51)||(LA17_0>=53 && LA17_0<=60)) ) { + else if ( ((LA17_0>=RULE_INT && LA17_0<=RULE_ID)||LA17_0==17||LA17_0==25||(LA17_0>=45 && LA17_0<=53)||(LA17_0>=55 && LA17_0<=62)) ) { alt17=2; } else { @@ -3600,10 +3641,10 @@ public final EObject ruleUnaryExpression() throws RecognitionException { int alt18=2; int LA18_0 = input.LA(1); - if ( (LA18_0==40) ) { + if ( (LA18_0==42) ) { alt18=1; } - else if ( (LA18_0==37) ) { + else if ( (LA18_0==39) ) { alt18=2; } else { @@ -3617,7 +3658,7 @@ else if ( (LA18_0==37) ) { case 1 : // InternalExpression.g:1266:6: lv_name_0_1= '!' { - lv_name_0_1=(Token)match(input,40,FOLLOW_14); if (state.failed) return current; + lv_name_0_1=(Token)match(input,42,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_1, grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); @@ -3637,7 +3678,7 @@ else if ( (LA18_0==37) ) { case 2 : // InternalExpression.g:1277:6: lv_name_0_2= '-' { - lv_name_0_2=(Token)match(input,37,FOLLOW_14); if (state.failed) return current; + lv_name_0_2=(Token)match(input,39,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_2, grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); @@ -3837,42 +3878,42 @@ public final EObject ruleInfixExpression() throws RecognitionException { int alt23=5; int LA23_0 = input.LA(1); - if ( (LA23_0==41) ) { + if ( (LA23_0==43) ) { switch ( input.LA(2) ) { - case 58: - case 59: - case 60: - { - alt23=2; - } - break; case RULE_ID: { - int LA23_4 = input.LA(3); + int LA23_3 = input.LA(3); - if ( (LA23_4==EOF||LA23_4==14||(LA23_4>=16 && LA23_4<=18)||(LA23_4>=20 && LA23_4<=21)||(LA23_4>=24 && LA23_4<=39)||(LA23_4>=41 && LA23_4<=42)||LA23_4==63) ) { + if ( (LA23_3==EOF||LA23_3==16||(LA23_3>=18 && LA23_3<=20)||(LA23_3>=22 && LA23_3<=23)||(LA23_3>=26 && LA23_3<=41)||(LA23_3>=43 && LA23_3<=44)||LA23_3==65) ) { alt23=2; } - else if ( (LA23_4==15) ) { + else if ( (LA23_3==17) ) { alt23=1; } } break; - case 43: + case 60: + case 61: + case 62: { - alt23=3; + alt23=2; } break; - case 44: case 45: + { + alt23=3; + } + break; case 46: case 47: case 48: case 49: case 50: case 51: + case 52: + case 53: { alt23=4; } @@ -3903,7 +3944,7 @@ else if ( (LA23_4==15) ) { } - otherlv_2=(Token)match(input,41,FOLLOW_3); if (state.failed) return current; + otherlv_2=(Token)match(input,43,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); @@ -3944,7 +3985,7 @@ else if ( (LA23_4==15) ) { } - otherlv_4=(Token)match(input,15,FOLLOW_26); if (state.failed) return current; + otherlv_4=(Token)match(input,17,FOLLOW_26); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); @@ -3954,7 +3995,7 @@ else if ( (LA23_4==15) ) { int alt20=2; int LA20_0 = input.LA(1); - if ( ((LA20_0>=RULE_INT && LA20_0<=RULE_ID)||LA20_0==12||LA20_0==15||LA20_0==19||(LA20_0>=22 && LA20_0<=23)||LA20_0==37||LA20_0==40||(LA20_0>=43 && LA20_0<=51)||(LA20_0>=53 && LA20_0<=60)) ) { + if ( ((LA20_0>=RULE_INT && LA20_0<=RULE_ID)||LA20_0==14||LA20_0==17||LA20_0==21||(LA20_0>=24 && LA20_0<=25)||LA20_0==39||LA20_0==42||(LA20_0>=45 && LA20_0<=53)||(LA20_0>=55 && LA20_0<=62)) ) { alt20=1; } switch (alt20) { @@ -4002,7 +4043,7 @@ else if ( (LA23_4==15) ) { int alt19=2; int LA19_0 = input.LA(1); - if ( (LA19_0==42) ) { + if ( (LA19_0==44) ) { alt19=1; } @@ -4011,7 +4052,7 @@ else if ( (LA23_4==15) ) { case 1 : // InternalExpression.g:1393:7: otherlv_6= ',' ( (lv_params_7_0= ruleExpression ) ) { - otherlv_6=(Token)match(input,42,FOLLOW_5); if (state.failed) return current; + otherlv_6=(Token)match(input,44,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); @@ -4067,7 +4108,7 @@ else if ( (LA23_4==15) ) { } - otherlv_8=(Token)match(input,16,FOLLOW_24); if (state.failed) return current; + otherlv_8=(Token)match(input,18,FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); @@ -4098,7 +4139,7 @@ else if ( (LA23_4==15) ) { } - otherlv_10=(Token)match(input,41,FOLLOW_7); if (state.failed) return current; + otherlv_10=(Token)match(input,43,FOLLOW_7); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); @@ -4164,7 +4205,7 @@ else if ( (LA23_4==15) ) { } - otherlv_13=(Token)match(input,41,FOLLOW_28); if (state.failed) return current; + otherlv_13=(Token)match(input,43,FOLLOW_28); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); @@ -4176,7 +4217,7 @@ else if ( (LA23_4==15) ) { // InternalExpression.g:1470:6: (lv_name_14_0= 'typeSelect' ) // InternalExpression.g:1471:7: lv_name_14_0= 'typeSelect' { - lv_name_14_0=(Token)match(input,43,FOLLOW_25); if (state.failed) return current; + lv_name_14_0=(Token)match(input,45,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_14_0, grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); @@ -4196,7 +4237,7 @@ else if ( (LA23_4==15) ) { } - otherlv_15=(Token)match(input,15,FOLLOW_7); if (state.failed) return current; + otherlv_15=(Token)match(input,17,FOLLOW_7); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_15, grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); @@ -4237,7 +4278,7 @@ else if ( (LA23_4==15) ) { } - otherlv_17=(Token)match(input,16,FOLLOW_24); if (state.failed) return current; + otherlv_17=(Token)match(input,18,FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_17, grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); @@ -4268,7 +4309,7 @@ else if ( (LA23_4==15) ) { } - otherlv_19=(Token)match(input,41,FOLLOW_29); if (state.failed) return current; + otherlv_19=(Token)match(input,43,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_19, grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); @@ -4283,42 +4324,42 @@ else if ( (LA23_4==15) ) { // InternalExpression.g:1526:7: (lv_name_20_1= 'collect' | lv_name_20_2= 'select' | lv_name_20_3= 'selectFirst' | lv_name_20_4= 'reject' | lv_name_20_5= 'exists' | lv_name_20_6= 'notExists' | lv_name_20_7= 'sortBy' | lv_name_20_8= 'forAll' ) int alt21=8; switch ( input.LA(1) ) { - case 44: + case 46: { alt21=1; } break; - case 45: + case 47: { alt21=2; } break; - case 46: + case 48: { alt21=3; } break; - case 47: + case 49: { alt21=4; } break; - case 48: + case 50: { alt21=5; } break; - case 49: + case 51: { alt21=6; } break; - case 50: + case 52: { alt21=7; } break; - case 51: + case 53: { alt21=8; } @@ -4335,7 +4376,7 @@ else if ( (LA23_4==15) ) { case 1 : // InternalExpression.g:1527:8: lv_name_20_1= 'collect' { - lv_name_20_1=(Token)match(input,44,FOLLOW_25); if (state.failed) return current; + lv_name_20_1=(Token)match(input,46,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_1, grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); @@ -4355,7 +4396,7 @@ else if ( (LA23_4==15) ) { case 2 : // InternalExpression.g:1538:8: lv_name_20_2= 'select' { - lv_name_20_2=(Token)match(input,45,FOLLOW_25); if (state.failed) return current; + lv_name_20_2=(Token)match(input,47,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_2, grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); @@ -4375,7 +4416,7 @@ else if ( (LA23_4==15) ) { case 3 : // InternalExpression.g:1549:8: lv_name_20_3= 'selectFirst' { - lv_name_20_3=(Token)match(input,46,FOLLOW_25); if (state.failed) return current; + lv_name_20_3=(Token)match(input,48,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_3, grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); @@ -4395,7 +4436,7 @@ else if ( (LA23_4==15) ) { case 4 : // InternalExpression.g:1560:8: lv_name_20_4= 'reject' { - lv_name_20_4=(Token)match(input,47,FOLLOW_25); if (state.failed) return current; + lv_name_20_4=(Token)match(input,49,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_4, grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); @@ -4415,7 +4456,7 @@ else if ( (LA23_4==15) ) { case 5 : // InternalExpression.g:1571:8: lv_name_20_5= 'exists' { - lv_name_20_5=(Token)match(input,48,FOLLOW_25); if (state.failed) return current; + lv_name_20_5=(Token)match(input,50,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_5, grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); @@ -4435,7 +4476,7 @@ else if ( (LA23_4==15) ) { case 6 : // InternalExpression.g:1582:8: lv_name_20_6= 'notExists' { - lv_name_20_6=(Token)match(input,49,FOLLOW_25); if (state.failed) return current; + lv_name_20_6=(Token)match(input,51,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_6, grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); @@ -4455,7 +4496,7 @@ else if ( (LA23_4==15) ) { case 7 : // InternalExpression.g:1593:8: lv_name_20_7= 'sortBy' { - lv_name_20_7=(Token)match(input,50,FOLLOW_25); if (state.failed) return current; + lv_name_20_7=(Token)match(input,52,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_7, grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); @@ -4475,7 +4516,7 @@ else if ( (LA23_4==15) ) { case 8 : // InternalExpression.g:1604:8: lv_name_20_8= 'forAll' { - lv_name_20_8=(Token)match(input,51,FOLLOW_25); if (state.failed) return current; + lv_name_20_8=(Token)match(input,53,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_8, grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); @@ -4501,7 +4542,7 @@ else if ( (LA23_4==15) ) { } - otherlv_21=(Token)match(input,15,FOLLOW_5); if (state.failed) return current; + otherlv_21=(Token)match(input,17,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_21, grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); @@ -4514,7 +4555,7 @@ else if ( (LA23_4==15) ) { if ( (LA22_0==RULE_ID) ) { int LA22_1 = input.LA(2); - if ( (LA22_1==52) ) { + if ( (LA22_1==54) ) { alt22=1; } } @@ -4557,7 +4598,7 @@ else if ( (LA23_4==15) ) { } - otherlv_23=(Token)match(input,52,FOLLOW_5); if (state.failed) return current; + otherlv_23=(Token)match(input,54,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_23, grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); @@ -4604,7 +4645,7 @@ else if ( (LA23_4==15) ) { } - otherlv_25=(Token)match(input,16,FOLLOW_24); if (state.failed) return current; + otherlv_25=(Token)match(input,18,FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_25, grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); @@ -4717,16 +4758,14 @@ public final EObject rulePrimaryExpression() throws RecognitionException { case RULE_INT: case RULE_REAL: case RULE_STRING: - case 53: - case 54: case 55: + case 56: + case 57: { alt24=1; } break; case RULE_ID: - case 43: - case 44: case 45: case 46: case 47: @@ -4734,29 +4773,31 @@ public final EObject rulePrimaryExpression() throws RecognitionException { case 49: case 50: case 51: - case 58: - case 59: + case 52: + case 53: case 60: + case 61: + case 62: { alt24=2; } break; - case 23: + case 25: { alt24=3; } break; - case 57: + case 59: { alt24=4; } break; - case 56: + case 58: { alt24=5; } break; - case 15: + case 17: { alt24=6; } @@ -4992,8 +5033,8 @@ public final EObject ruleLiteral() throws RecognitionException { // InternalExpression.g:1761:2: (this_BooleanLiteral_0= ruleBooleanLiteral | this_IntegerLiteral_1= ruleIntegerLiteral | this_NullLiteral_2= ruleNullLiteral | this_RealLiteral_3= ruleRealLiteral | this_StringLiteral_4= ruleStringLiteral ) int alt25=5; switch ( input.LA(1) ) { - case 53: - case 54: + case 55: + case 56: { alt25=1; } @@ -5003,7 +5044,7 @@ public final EObject ruleLiteral() throws RecognitionException { alt25=2; } break; - case 55: + case 57: { alt25=3; } @@ -5226,10 +5267,10 @@ public final EObject ruleBooleanLiteral() throws RecognitionException { int alt26=2; int LA26_0 = input.LA(1); - if ( (LA26_0==53) ) { + if ( (LA26_0==55) ) { alt26=1; } - else if ( (LA26_0==54) ) { + else if ( (LA26_0==56) ) { alt26=2; } else { @@ -5243,7 +5284,7 @@ else if ( (LA26_0==54) ) { case 1 : // InternalExpression.g:1827:5: lv_val_0_1= 'true' { - lv_val_0_1=(Token)match(input,53,FOLLOW_2); if (state.failed) return current; + lv_val_0_1=(Token)match(input,55,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_val_0_1, grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); @@ -5263,7 +5304,7 @@ else if ( (LA26_0==54) ) { case 2 : // InternalExpression.g:1838:5: lv_val_0_2= 'false' { - lv_val_0_2=(Token)match(input,54,FOLLOW_2); if (state.failed) return current; + lv_val_0_2=(Token)match(input,56,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_val_0_2, grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); @@ -5385,7 +5426,7 @@ public final EObject ruleIntegerLiteral() throws RecognitionException { current, "val", lv_val_0_0, - "org.eclipse.xtext.common.Terminals.INT"); + "org.eclipse.xtext.xbase.Xbase.INT"); } @@ -5475,7 +5516,7 @@ public final EObject ruleNullLiteral() throws RecognitionException { // InternalExpression.g:1904:3: (lv_val_0_0= 'null' ) // InternalExpression.g:1905:4: lv_val_0_0= 'null' { - lv_val_0_0=(Token)match(input,55,FOLLOW_2); if (state.failed) return current; + lv_val_0_0=(Token)match(input,57,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_val_0_0, grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); @@ -5696,7 +5737,7 @@ public final EObject ruleStringLiteral() throws RecognitionException { current, "val", lv_val_0_0, - "org.eclipse.xtext.common.Terminals.STRING"); + "org.eclipse.xtext.xbase.Xtype.STRING"); } @@ -5786,7 +5827,7 @@ public final EObject ruleParanthesizedExpression() throws RecognitionException { // InternalExpression.g:2004:2: (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) // InternalExpression.g:2005:3: otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' { - otherlv_0=(Token)match(input,15,FOLLOW_5); if (state.failed) return current; + otherlv_0=(Token)match(input,17,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); @@ -5808,7 +5849,7 @@ public final EObject ruleParanthesizedExpression() throws RecognitionException { afterParserOrEnumRuleCall(); } - otherlv_2=(Token)match(input,16,FOLLOW_2); if (state.failed) return current; + otherlv_2=(Token)match(input,18,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); @@ -5897,7 +5938,7 @@ public final EObject ruleGlobalVarExpression() throws RecognitionException { // InternalExpression.g:2039:2: (otherlv_0= 'GLOBALVAR' ( (lv_name_1_0= ruleIdentifier ) ) ) // InternalExpression.g:2040:3: otherlv_0= 'GLOBALVAR' ( (lv_name_1_0= ruleIdentifier ) ) { - otherlv_0=(Token)match(input,56,FOLLOW_3); if (state.failed) return current; + otherlv_0=(Token)match(input,58,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); @@ -6030,12 +6071,12 @@ public final EObject ruleFeatureCall() throws RecognitionException { { int LA27_1 = input.LA(2); - if ( (LA27_1==15) ) { - alt27=1; - } - else if ( (LA27_1==EOF||LA27_1==14||(LA27_1>=16 && LA27_1<=18)||(LA27_1>=20 && LA27_1<=21)||(LA27_1>=24 && LA27_1<=39)||(LA27_1>=41 && LA27_1<=42)||LA27_1==63) ) { + if ( (LA27_1==EOF||LA27_1==16||(LA27_1>=18 && LA27_1<=20)||(LA27_1>=22 && LA27_1<=23)||(LA27_1>=26 && LA27_1<=41)||(LA27_1>=43 && LA27_1<=44)||LA27_1==65) ) { alt27=2; } + else if ( (LA27_1==17) ) { + alt27=1; + } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = @@ -6045,26 +6086,26 @@ else if ( (LA27_1==EOF||LA27_1==14||(LA27_1>=16 && LA27_1<=18)||(LA27_1>=20 && L } } break; - case 58: - case 59: case 60: + case 61: + case 62: { alt27=2; } break; - case 44: - case 45: case 46: case 47: case 48: case 49: case 50: case 51: + case 52: + case 53: { alt27=3; } break; - case 43: + case 45: { alt27=4; } @@ -6309,7 +6350,7 @@ public final EObject ruleOperationCall() throws RecognitionException { } - otherlv_1=(Token)match(input,15,FOLLOW_26); if (state.failed) return current; + otherlv_1=(Token)match(input,17,FOLLOW_26); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); @@ -6319,7 +6360,7 @@ public final EObject ruleOperationCall() throws RecognitionException { int alt29=2; int LA29_0 = input.LA(1); - if ( ((LA29_0>=RULE_INT && LA29_0<=RULE_ID)||LA29_0==12||LA29_0==15||LA29_0==19||(LA29_0>=22 && LA29_0<=23)||LA29_0==37||LA29_0==40||(LA29_0>=43 && LA29_0<=51)||(LA29_0>=53 && LA29_0<=60)) ) { + if ( ((LA29_0>=RULE_INT && LA29_0<=RULE_ID)||LA29_0==14||LA29_0==17||LA29_0==21||(LA29_0>=24 && LA29_0<=25)||LA29_0==39||LA29_0==42||(LA29_0>=45 && LA29_0<=53)||(LA29_0>=55 && LA29_0<=62)) ) { alt29=1; } switch (alt29) { @@ -6367,7 +6408,7 @@ public final EObject ruleOperationCall() throws RecognitionException { int alt28=2; int LA28_0 = input.LA(1); - if ( (LA28_0==42) ) { + if ( (LA28_0==44) ) { alt28=1; } @@ -6376,7 +6417,7 @@ public final EObject ruleOperationCall() throws RecognitionException { case 1 : // InternalExpression.g:2191:5: otherlv_3= ',' ( (lv_params_4_0= ruleExpression ) ) { - otherlv_3=(Token)match(input,42,FOLLOW_5); if (state.failed) return current; + otherlv_3=(Token)match(input,44,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); @@ -6432,7 +6473,7 @@ public final EObject ruleOperationCall() throws RecognitionException { } - otherlv_5=(Token)match(input,16,FOLLOW_2); if (state.failed) return current; + otherlv_5=(Token)match(input,18,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); @@ -6538,7 +6579,7 @@ public final EObject ruleListLiteral() throws RecognitionException { } - otherlv_1=(Token)match(input,23,FOLLOW_31); if (state.failed) return current; + otherlv_1=(Token)match(input,25,FOLLOW_31); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); @@ -6548,7 +6589,7 @@ public final EObject ruleListLiteral() throws RecognitionException { int alt31=2; int LA31_0 = input.LA(1); - if ( ((LA31_0>=RULE_INT && LA31_0<=RULE_ID)||LA31_0==12||LA31_0==15||LA31_0==19||(LA31_0>=22 && LA31_0<=23)||LA31_0==37||LA31_0==40||(LA31_0>=43 && LA31_0<=51)||(LA31_0>=53 && LA31_0<=60)) ) { + if ( ((LA31_0>=RULE_INT && LA31_0<=RULE_ID)||LA31_0==14||LA31_0==17||LA31_0==21||(LA31_0>=24 && LA31_0<=25)||LA31_0==39||LA31_0==42||(LA31_0>=45 && LA31_0<=53)||(LA31_0>=55 && LA31_0<=62)) ) { alt31=1; } switch (alt31) { @@ -6596,7 +6637,7 @@ public final EObject ruleListLiteral() throws RecognitionException { int alt30=2; int LA30_0 = input.LA(1); - if ( (LA30_0==42) ) { + if ( (LA30_0==44) ) { alt30=1; } @@ -6605,7 +6646,7 @@ public final EObject ruleListLiteral() throws RecognitionException { case 1 : // InternalExpression.g:2271:5: otherlv_3= ',' ( (lv_elements_4_0= ruleExpression ) ) { - otherlv_3=(Token)match(input,42,FOLLOW_5); if (state.failed) return current; + otherlv_3=(Token)match(input,44,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); @@ -6661,7 +6702,7 @@ public final EObject ruleListLiteral() throws RecognitionException { } - otherlv_5=(Token)match(input,25,FOLLOW_2); if (state.failed) return current; + otherlv_5=(Token)match(input,27,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); @@ -6750,7 +6791,7 @@ public final EObject ruleConstructorCallExpression() throws RecognitionException // InternalExpression.g:2318:2: (otherlv_0= 'new' ( (lv_type_1_0= ruleSimpleType ) ) ) // InternalExpression.g:2319:3: otherlv_0= 'new' ( (lv_type_1_0= ruleSimpleType ) ) { - otherlv_0=(Token)match(input,57,FOLLOW_7); if (state.failed) return current; + otherlv_0=(Token)match(input,59,FOLLOW_7); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); @@ -6882,7 +6923,7 @@ public final EObject ruleTypeSelectExpression() throws RecognitionException { // InternalExpression.g:2362:4: (lv_name_0_0= 'typeSelect' ) // InternalExpression.g:2363:5: lv_name_0_0= 'typeSelect' { - lv_name_0_0=(Token)match(input,43,FOLLOW_25); if (state.failed) return current; + lv_name_0_0=(Token)match(input,45,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_0, grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); @@ -6902,7 +6943,7 @@ public final EObject ruleTypeSelectExpression() throws RecognitionException { } - otherlv_1=(Token)match(input,15,FOLLOW_7); if (state.failed) return current; + otherlv_1=(Token)match(input,17,FOLLOW_7); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); @@ -6943,7 +6984,7 @@ public final EObject ruleTypeSelectExpression() throws RecognitionException { } - otherlv_3=(Token)match(input,16,FOLLOW_2); if (state.failed) return current; + otherlv_3=(Token)match(input,18,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); @@ -7053,42 +7094,42 @@ public final EObject ruleCollectionExpression() throws RecognitionException { // InternalExpression.g:2423:5: (lv_name_0_1= 'collect' | lv_name_0_2= 'select' | lv_name_0_3= 'selectFirst' | lv_name_0_4= 'reject' | lv_name_0_5= 'exists' | lv_name_0_6= 'notExists' | lv_name_0_7= 'sortBy' | lv_name_0_8= 'forAll' ) int alt32=8; switch ( input.LA(1) ) { - case 44: + case 46: { alt32=1; } break; - case 45: + case 47: { alt32=2; } break; - case 46: + case 48: { alt32=3; } break; - case 47: + case 49: { alt32=4; } break; - case 48: + case 50: { alt32=5; } break; - case 49: + case 51: { alt32=6; } break; - case 50: + case 52: { alt32=7; } break; - case 51: + case 53: { alt32=8; } @@ -7105,7 +7146,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 1 : // InternalExpression.g:2424:6: lv_name_0_1= 'collect' { - lv_name_0_1=(Token)match(input,44,FOLLOW_25); if (state.failed) return current; + lv_name_0_1=(Token)match(input,46,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_1, grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); @@ -7125,7 +7166,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 2 : // InternalExpression.g:2435:6: lv_name_0_2= 'select' { - lv_name_0_2=(Token)match(input,45,FOLLOW_25); if (state.failed) return current; + lv_name_0_2=(Token)match(input,47,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_2, grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); @@ -7145,7 +7186,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 3 : // InternalExpression.g:2446:6: lv_name_0_3= 'selectFirst' { - lv_name_0_3=(Token)match(input,46,FOLLOW_25); if (state.failed) return current; + lv_name_0_3=(Token)match(input,48,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_3, grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); @@ -7165,7 +7206,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 4 : // InternalExpression.g:2457:6: lv_name_0_4= 'reject' { - lv_name_0_4=(Token)match(input,47,FOLLOW_25); if (state.failed) return current; + lv_name_0_4=(Token)match(input,49,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_4, grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); @@ -7185,7 +7226,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 5 : // InternalExpression.g:2468:6: lv_name_0_5= 'exists' { - lv_name_0_5=(Token)match(input,48,FOLLOW_25); if (state.failed) return current; + lv_name_0_5=(Token)match(input,50,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_5, grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); @@ -7205,7 +7246,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 6 : // InternalExpression.g:2479:6: lv_name_0_6= 'notExists' { - lv_name_0_6=(Token)match(input,49,FOLLOW_25); if (state.failed) return current; + lv_name_0_6=(Token)match(input,51,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_6, grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); @@ -7225,7 +7266,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 7 : // InternalExpression.g:2490:6: lv_name_0_7= 'sortBy' { - lv_name_0_7=(Token)match(input,50,FOLLOW_25); if (state.failed) return current; + lv_name_0_7=(Token)match(input,52,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_7, grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); @@ -7245,7 +7286,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 8 : // InternalExpression.g:2501:6: lv_name_0_8= 'forAll' { - lv_name_0_8=(Token)match(input,51,FOLLOW_25); if (state.failed) return current; + lv_name_0_8=(Token)match(input,53,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_8, grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); @@ -7271,7 +7312,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { } - otherlv_1=(Token)match(input,15,FOLLOW_5); if (state.failed) return current; + otherlv_1=(Token)match(input,17,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); @@ -7284,7 +7325,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { if ( (LA33_0==RULE_ID) ) { int LA33_1 = input.LA(2); - if ( (LA33_1==52) ) { + if ( (LA33_1==54) ) { alt33=1; } } @@ -7327,7 +7368,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { } - otherlv_3=(Token)match(input,52,FOLLOW_5); if (state.failed) return current; + otherlv_3=(Token)match(input,54,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); @@ -7374,7 +7415,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { } - otherlv_5=(Token)match(input,16,FOLLOW_2); if (state.failed) return current; + otherlv_5=(Token)match(input,18,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); @@ -7465,7 +7506,7 @@ public final EObject ruleType() throws RecognitionException { int alt34=2; int LA34_0 = input.LA(1); - if ( ((LA34_0>=58 && LA34_0<=60)) ) { + if ( ((LA34_0>=60 && LA34_0<=62)) ) { alt34=1; } else if ( (LA34_0==RULE_ID) ) { @@ -7619,17 +7660,17 @@ public final EObject ruleCollectionType() throws RecognitionException { // InternalExpression.g:2623:5: (lv_cl_0_1= 'Collection' | lv_cl_0_2= 'List' | lv_cl_0_3= 'Set' ) int alt35=3; switch ( input.LA(1) ) { - case 58: + case 60: { alt35=1; } break; - case 59: + case 61: { alt35=2; } break; - case 60: + case 62: { alt35=3; } @@ -7646,7 +7687,7 @@ public final EObject ruleCollectionType() throws RecognitionException { case 1 : // InternalExpression.g:2624:6: lv_cl_0_1= 'Collection' { - lv_cl_0_1=(Token)match(input,58,FOLLOW_33); if (state.failed) return current; + lv_cl_0_1=(Token)match(input,60,FOLLOW_33); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_cl_0_1, grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); @@ -7666,7 +7707,7 @@ public final EObject ruleCollectionType() throws RecognitionException { case 2 : // InternalExpression.g:2635:6: lv_cl_0_2= 'List' { - lv_cl_0_2=(Token)match(input,59,FOLLOW_33); if (state.failed) return current; + lv_cl_0_2=(Token)match(input,61,FOLLOW_33); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_cl_0_2, grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); @@ -7686,7 +7727,7 @@ public final EObject ruleCollectionType() throws RecognitionException { case 3 : // InternalExpression.g:2646:6: lv_cl_0_3= 'Set' { - lv_cl_0_3=(Token)match(input,60,FOLLOW_33); if (state.failed) return current; + lv_cl_0_3=(Token)match(input,62,FOLLOW_33); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_cl_0_3, grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); @@ -7712,7 +7753,7 @@ public final EObject ruleCollectionType() throws RecognitionException { } - otherlv_1=(Token)match(input,61,FOLLOW_7); if (state.failed) return current; + otherlv_1=(Token)match(input,63,FOLLOW_7); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); @@ -7753,7 +7794,7 @@ public final EObject ruleCollectionType() throws RecognitionException { } - otherlv_3=(Token)match(input,62,FOLLOW_2); if (state.failed) return current; + otherlv_3=(Token)match(input,64,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); @@ -7885,7 +7926,7 @@ public final EObject ruleSimpleType() throws RecognitionException { int alt36=2; int LA36_0 = input.LA(1); - if ( (LA36_0==63) ) { + if ( (LA36_0==65) ) { alt36=1; } @@ -7894,7 +7935,7 @@ public final EObject ruleSimpleType() throws RecognitionException { case 1 : // InternalExpression.g:2725:4: otherlv_1= '::' ( (lv_id_2_0= ruleIdentifier ) ) { - otherlv_1=(Token)match(input,63,FOLLOW_3); if (state.failed) return current; + otherlv_1=(Token)match(input,65,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); @@ -8053,189 +8094,22357 @@ public final AntlrDatatypeRuleToken ruleIdentifier() throws RecognitionException } // $ANTLR end "ruleIdentifier" - // $ANTLR start synpred1_InternalExpression - public final void synpred1_InternalExpression_fragment() throws RecognitionException { - // InternalExpression.g:89:4: ( ruleCastedExpression ) - // InternalExpression.g:89:5: ruleCastedExpression - { - pushFollow(FOLLOW_2); - ruleCastedExpression(); - state._fsp--; - if (state.failed) return ; + // $ANTLR start "entryRuleXExpression" + // InternalExpression.g:2777:1: entryRuleXExpression returns [EObject current=null] : iv_ruleXExpression= ruleXExpression EOF ; + public final EObject entryRuleXExpression() throws RecognitionException { + EObject current = null; - } - } - // $ANTLR end synpred1_InternalExpression + EObject iv_ruleXExpression = null; - // $ANTLR start synpred2_InternalExpression - public final void synpred2_InternalExpression_fragment() throws RecognitionException { - // InternalExpression.g:513:4: ( 'else' ) - // InternalExpression.g:513:5: 'else' - { - match(input,21,FOLLOW_2); if (state.failed) return ; - } - } - // $ANTLR end synpred2_InternalExpression + try { + // InternalExpression.g:2777:52: (iv_ruleXExpression= ruleXExpression EOF ) + // InternalExpression.g:2778:2: iv_ruleXExpression= ruleXExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXExpression=ruleXExpression(); - // Delegated rules + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } - public final boolean synpred2_InternalExpression() { - state.backtracking++; - int start = input.mark(); - try { - synpred2_InternalExpression_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; - } - public final boolean synpred1_InternalExpression() { - state.backtracking++; - int start = input.mark(); - try { - synpred1_InternalExpression_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; + return current; } + // $ANTLR end "entryRuleXExpression" - protected DFA1 dfa1 = new DFA1(this); - static final String dfa_1s = "\36\uffff"; - static final String dfa_2s = "\1\4\1\uffff\1\0\33\uffff"; - static final String dfa_3s = "\1\74\1\uffff\1\0\33\uffff"; - static final String dfa_4s = "\1\uffff\1\1\1\uffff\1\3\31\uffff\1\2"; - static final String dfa_5s = "\2\uffff\1\0\33\uffff}>"; - static final String[] dfa_6s = { - "\4\3\4\uffff\1\1\2\uffff\1\2\3\uffff\1\3\2\uffff\2\3\15\uffff\1\3\2\uffff\1\3\2\uffff\11\3\1\uffff\10\3", - "", - "\1\uffff", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - }; - - static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); - static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s); - static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); - static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s); - static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); - static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); + // $ANTLR start "ruleXExpression" + // InternalExpression.g:2784:1: ruleXExpression returns [EObject current=null] : this_XAssignment_0= ruleXAssignment ; + public final EObject ruleXExpression() throws RecognitionException { + EObject current = null; - class DFA1 extends DFA { + EObject this_XAssignment_0 = null; - public DFA1(BaseRecognizer recognizer) { - this.recognizer = recognizer; - this.decisionNumber = 1; - this.eot = dfa_1; - this.eof = dfa_1; - this.min = dfa_2; - this.max = dfa_3; - this.accept = dfa_4; - this.special = dfa_5; - this.transition = dfa_6; - } - public String getDescription() { - return "78:2: (this_LetExpression_0= ruleLetExpression | ( ( ruleCastedExpression )=>this_CastedExpression_1= ruleCastedExpression ) | this_ChainExpression_2= ruleChainExpression )"; - } - public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { - TokenStream input = (TokenStream)_input; - int _s = s; - switch ( s ) { - case 0 : - int LA1_2 = input.LA(1); - - int index1_2 = input.index(); - input.rewind(); - s = -1; - if ( (synpred1_InternalExpression()) ) {s = 29;} - else if ( (true) ) {s = 3;} + enterRule(); + + try { + // InternalExpression.g:2790:2: (this_XAssignment_0= ruleXAssignment ) + // InternalExpression.g:2791:2: this_XAssignment_0= ruleXAssignment + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); + + } + pushFollow(FOLLOW_2); + this_XAssignment_0=ruleXAssignment(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XAssignment_0; + afterParserOrEnumRuleCall(); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXExpression" + + + // $ANTLR start "entryRuleXAssignment" + // InternalExpression.g:2802:1: entryRuleXAssignment returns [EObject current=null] : iv_ruleXAssignment= ruleXAssignment EOF ; + public final EObject entryRuleXAssignment() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXAssignment = null; + + + try { + // InternalExpression.g:2802:52: (iv_ruleXAssignment= ruleXAssignment EOF ) + // InternalExpression.g:2803:2: iv_ruleXAssignment= ruleXAssignment EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXAssignmentRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXAssignment=ruleXAssignment(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXAssignment; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXAssignment" + + + // $ANTLR start "ruleXAssignment" + // InternalExpression.g:2809:1: ruleXAssignment returns [EObject current=null] : ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ; + public final EObject ruleXAssignment() throws RecognitionException { + EObject current = null; + + EObject lv_value_3_0 = null; + + EObject this_XOrExpression_4 = null; + + EObject lv_rightOperand_7_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:2815:2: ( ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ) + // InternalExpression.g:2816:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) + { + // InternalExpression.g:2816:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) + int alt38=2; + switch ( input.LA(1) ) { + case RULE_ID: + { + int LA38_1 = input.LA(2); + + if ( (LA38_1==EOF||LA38_1==RULE_INT||(LA38_1>=RULE_STRING && LA38_1<=RULE_DECIMAL)||(LA38_1>=16 && LA38_1<=19)||LA38_1==21||(LA38_1>=23 && LA38_1<=30)||(LA38_1>=32 && LA38_1<=34)||(LA38_1>=36 && LA38_1<=44)||(LA38_1>=55 && LA38_1<=57)||LA38_1==59||(LA38_1>=63 && LA38_1<=103)) ) { + alt38=2; + } + else if ( (LA38_1==15) ) { + alt38=1; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 38, 1, input); + + throw nvae; + } + } + break; + case 92: + { + int LA38_2 = input.LA(2); + + if ( (LA38_2==EOF||LA38_2==RULE_INT||(LA38_2>=RULE_STRING && LA38_2<=RULE_DECIMAL)||(LA38_2>=16 && LA38_2<=19)||LA38_2==21||(LA38_2>=23 && LA38_2<=30)||(LA38_2>=32 && LA38_2<=34)||(LA38_2>=36 && LA38_2<=44)||(LA38_2>=55 && LA38_2<=57)||LA38_2==59||(LA38_2>=63 && LA38_2<=103)) ) { + alt38=2; + } + else if ( (LA38_2==15) ) { + alt38=1; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 38, 2, input); + + throw nvae; + } + } + break; + case 93: + { + int LA38_3 = input.LA(2); + + if ( (LA38_3==EOF||LA38_3==RULE_INT||(LA38_3>=RULE_STRING && LA38_3<=RULE_DECIMAL)||(LA38_3>=16 && LA38_3<=19)||LA38_3==21||(LA38_3>=23 && LA38_3<=30)||(LA38_3>=32 && LA38_3<=34)||(LA38_3>=36 && LA38_3<=44)||(LA38_3>=55 && LA38_3<=57)||LA38_3==59||(LA38_3>=63 && LA38_3<=103)) ) { + alt38=2; + } + else if ( (LA38_3==15) ) { + alt38=1; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 38, 3, input); + + throw nvae; + } + } + break; + case 94: + { + int LA38_4 = input.LA(2); + + if ( (LA38_4==EOF||LA38_4==RULE_INT||(LA38_4>=RULE_STRING && LA38_4<=RULE_DECIMAL)||(LA38_4>=16 && LA38_4<=19)||LA38_4==21||(LA38_4>=23 && LA38_4<=30)||(LA38_4>=32 && LA38_4<=34)||(LA38_4>=36 && LA38_4<=44)||(LA38_4>=55 && LA38_4<=57)||LA38_4==59||(LA38_4>=63 && LA38_4<=103)) ) { + alt38=2; + } + else if ( (LA38_4==15) ) { + alt38=1; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 38, 4, input); + + throw nvae; + } + } + break; + case 95: + { + int LA38_5 = input.LA(2); + + if ( (LA38_5==15) ) { + alt38=1; + } + else if ( (LA38_5==EOF||LA38_5==RULE_INT||(LA38_5>=RULE_STRING && LA38_5<=RULE_DECIMAL)||(LA38_5>=16 && LA38_5<=19)||LA38_5==21||(LA38_5>=23 && LA38_5<=30)||(LA38_5>=32 && LA38_5<=34)||(LA38_5>=36 && LA38_5<=44)||(LA38_5>=55 && LA38_5<=57)||LA38_5==59||(LA38_5>=63 && LA38_5<=103)) ) { + alt38=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 38, 5, input); + + throw nvae; + } + } + break; + case RULE_INT: + case RULE_STRING: + case RULE_HEX: + case RULE_DECIMAL: + case 17: + case 21: + case 24: + case 25: + case 37: + case 38: + case 39: + case 42: + case 55: + case 56: + case 57: + case 59: + case 63: + case 85: + case 87: + case 88: + case 89: + case 96: + case 97: + case 98: + case 99: + case 100: + case 102: + { + alt38=2; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 38, 0, input); + + throw nvae; + } + + switch (alt38) { + case 1 : + // InternalExpression.g:2817:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) + { + // InternalExpression.g:2817:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) + // InternalExpression.g:2818:4: () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) + { + // InternalExpression.g:2818:4: () + // InternalExpression.g:2819:5: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(), + current); + + } + + } + + // InternalExpression.g:2825:4: ( ( ruleFeatureCallID ) ) + // InternalExpression.g:2826:5: ( ruleFeatureCallID ) + { + // InternalExpression.g:2826:5: ( ruleFeatureCallID ) + // InternalExpression.g:2827:6: ruleFeatureCallID + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXAssignmentRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + + } + pushFollow(FOLLOW_4); + ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); + + } + pushFollow(FOLLOW_36); + ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + // InternalExpression.g:2848:4: ( (lv_value_3_0= ruleXAssignment ) ) + // InternalExpression.g:2849:5: (lv_value_3_0= ruleXAssignment ) + { + // InternalExpression.g:2849:5: (lv_value_3_0= ruleXAssignment ) + // InternalExpression.g:2850:6: lv_value_3_0= ruleXAssignment + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); + + } + pushFollow(FOLLOW_2); + lv_value_3_0=ruleXAssignment(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXAssignmentRule()); + } + set( + current, + "value", + lv_value_3_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalExpression.g:2869:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) + { + // InternalExpression.g:2869:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) + // InternalExpression.g:2870:4: this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_37); + this_XOrExpression_4=ruleXOrExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XOrExpression_4; + afterParserOrEnumRuleCall(); + + } + // InternalExpression.g:2878:4: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? + int alt37=2; + alt37 = dfa37.predict(input); + switch (alt37) { + case 1 : + // InternalExpression.g:2879:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) + { + // InternalExpression.g:2879:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) + // InternalExpression.g:2880:6: ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) + { + // InternalExpression.g:2890:6: ( () ( ( ruleOpMultiAssign ) ) ) + // InternalExpression.g:2891:7: () ( ( ruleOpMultiAssign ) ) + { + // InternalExpression.g:2891:7: () + // InternalExpression.g:2892:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), + current); + + } + + } + + // InternalExpression.g:2898:7: ( ( ruleOpMultiAssign ) ) + // InternalExpression.g:2899:8: ( ruleOpMultiAssign ) + { + // InternalExpression.g:2899:8: ( ruleOpMultiAssign ) + // InternalExpression.g:2900:9: ruleOpMultiAssign + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXAssignmentRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + + } + pushFollow(FOLLOW_36); + ruleOpMultiAssign(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalExpression.g:2916:5: ( (lv_rightOperand_7_0= ruleXAssignment ) ) + // InternalExpression.g:2917:6: (lv_rightOperand_7_0= ruleXAssignment ) + { + // InternalExpression.g:2917:6: (lv_rightOperand_7_0= ruleXAssignment ) + // InternalExpression.g:2918:7: lv_rightOperand_7_0= ruleXAssignment + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); + + } + pushFollow(FOLLOW_2); + lv_rightOperand_7_0=ruleXAssignment(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXAssignmentRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_7_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXAssignment" + + + // $ANTLR start "entryRuleOpSingleAssign" + // InternalExpression.g:2941:1: entryRuleOpSingleAssign returns [String current=null] : iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ; + public final String entryRuleOpSingleAssign() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpSingleAssign = null; + + + try { + // InternalExpression.g:2941:54: (iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ) + // InternalExpression.g:2942:2: iv_ruleOpSingleAssign= ruleOpSingleAssign EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpSingleAssignRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpSingleAssign=ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpSingleAssign.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpSingleAssign" + + + // $ANTLR start "ruleOpSingleAssign" + // InternalExpression.g:2948:1: ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '=' ; + public final AntlrDatatypeRuleToken ruleOpSingleAssign() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExpression.g:2954:2: (kw= '=' ) + // InternalExpression.g:2955:2: kw= '=' + { + kw=(Token)match(input,15,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpSingleAssign" + + + // $ANTLR start "entryRuleOpMultiAssign" + // InternalExpression.g:2963:1: entryRuleOpMultiAssign returns [String current=null] : iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ; + public final String entryRuleOpMultiAssign() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpMultiAssign = null; + + + try { + // InternalExpression.g:2963:53: (iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ) + // InternalExpression.g:2964:2: iv_ruleOpMultiAssign= ruleOpMultiAssign EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpMultiAssignRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpMultiAssign=ruleOpMultiAssign(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpMultiAssign.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpMultiAssign" + + + // $ANTLR start "ruleOpMultiAssign" + // InternalExpression.g:2970:1: ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ; + public final AntlrDatatypeRuleToken ruleOpMultiAssign() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExpression.g:2976:2: ( (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ) + // InternalExpression.g:2977:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) + { + // InternalExpression.g:2977:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) + int alt40=7; + switch ( input.LA(1) ) { + case 66: + { + alt40=1; + } + break; + case 67: + { + alt40=2; + } + break; + case 68: + { + alt40=3; + } + break; + case 69: + { + alt40=4; + } + break; + case 70: + { + alt40=5; + } + break; + case 37: + { + alt40=6; + } + break; + case 36: + { + alt40=7; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 40, 0, input); + + throw nvae; + } + + switch (alt40) { + case 1 : + // InternalExpression.g:2978:3: kw= '+=' + { + kw=(Token)match(input,66,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalExpression.g:2984:3: kw= '-=' + { + kw=(Token)match(input,67,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); + + } + + } + break; + case 3 : + // InternalExpression.g:2990:3: kw= '*=' + { + kw=(Token)match(input,68,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); + + } + + } + break; + case 4 : + // InternalExpression.g:2996:3: kw= '/=' + { + kw=(Token)match(input,69,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); + + } + + } + break; + case 5 : + // InternalExpression.g:3002:3: kw= '%=' + { + kw=(Token)match(input,70,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); + + } + + } + break; + case 6 : + // InternalExpression.g:3008:3: (kw= '<' kw= '<' kw= '=' ) + { + // InternalExpression.g:3008:3: (kw= '<' kw= '<' kw= '=' ) + // InternalExpression.g:3009:4: kw= '<' kw= '<' kw= '=' + { + kw=(Token)match(input,37,FOLLOW_38); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); + + } + kw=(Token)match(input,37,FOLLOW_4); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); + + } + kw=(Token)match(input,15,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); + + } + + } + + + } + break; + case 7 : + // InternalExpression.g:3026:3: (kw= '>' (kw= '>' )? kw= '>=' ) + { + // InternalExpression.g:3026:3: (kw= '>' (kw= '>' )? kw= '>=' ) + // InternalExpression.g:3027:4: kw= '>' (kw= '>' )? kw= '>=' + { + kw=(Token)match(input,36,FOLLOW_39); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); + + } + // InternalExpression.g:3032:4: (kw= '>' )? + int alt39=2; + int LA39_0 = input.LA(1); + + if ( (LA39_0==36) ) { + alt39=1; + } + switch (alt39) { + case 1 : + // InternalExpression.g:3033:5: kw= '>' + { + kw=(Token)match(input,36,FOLLOW_40); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); + + } + + } + break; + + } + + kw=(Token)match(input,34,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); + + } + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpMultiAssign" + + + // $ANTLR start "entryRuleXOrExpression" + // InternalExpression.g:3049:1: entryRuleXOrExpression returns [EObject current=null] : iv_ruleXOrExpression= ruleXOrExpression EOF ; + public final EObject entryRuleXOrExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXOrExpression = null; + + + try { + // InternalExpression.g:3049:54: (iv_ruleXOrExpression= ruleXOrExpression EOF ) + // InternalExpression.g:3050:2: iv_ruleXOrExpression= ruleXOrExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXOrExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXOrExpression=ruleXOrExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXOrExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXOrExpression" + + + // $ANTLR start "ruleXOrExpression" + // InternalExpression.g:3056:1: ruleXOrExpression returns [EObject current=null] : (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ; + public final EObject ruleXOrExpression() throws RecognitionException { + EObject current = null; + + EObject this_XAndExpression_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:3062:2: ( (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ) + // InternalExpression.g:3063:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) + { + // InternalExpression.g:3063:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) + // InternalExpression.g:3064:3: this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_18); + this_XAndExpression_0=ruleXAndExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XAndExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalExpression.g:3072:3: ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* + loop41: + do { + int alt41=2; + int LA41_0 = input.LA(1); + + if ( (LA41_0==29) ) { + int LA41_2 = input.LA(2); + + if ( (synpred4_InternalExpression()) ) { + alt41=1; + } + + + } + + + switch (alt41) { + case 1 : + // InternalExpression.g:3073:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) + { + // InternalExpression.g:3073:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) + // InternalExpression.g:3074:5: ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) + { + // InternalExpression.g:3084:5: ( () ( ( ruleOpOr ) ) ) + // InternalExpression.g:3085:6: () ( ( ruleOpOr ) ) + { + // InternalExpression.g:3085:6: () + // InternalExpression.g:3086:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalExpression.g:3092:6: ( ( ruleOpOr ) ) + // InternalExpression.g:3093:7: ( ruleOpOr ) + { + // InternalExpression.g:3093:7: ( ruleOpOr ) + // InternalExpression.g:3094:8: ruleOpOr + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXOrExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_36); + ruleOpOr(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalExpression.g:3110:4: ( (lv_rightOperand_3_0= ruleXAndExpression ) ) + // InternalExpression.g:3111:5: (lv_rightOperand_3_0= ruleXAndExpression ) + { + // InternalExpression.g:3111:5: (lv_rightOperand_3_0= ruleXAndExpression ) + // InternalExpression.g:3112:6: lv_rightOperand_3_0= ruleXAndExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_18); + lv_rightOperand_3_0=ruleXAndExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXOrExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XAndExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop41; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXOrExpression" + + + // $ANTLR start "entryRuleOpOr" + // InternalExpression.g:3134:1: entryRuleOpOr returns [String current=null] : iv_ruleOpOr= ruleOpOr EOF ; + public final String entryRuleOpOr() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpOr = null; + + + try { + // InternalExpression.g:3134:44: (iv_ruleOpOr= ruleOpOr EOF ) + // InternalExpression.g:3135:2: iv_ruleOpOr= ruleOpOr EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpOrRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpOr=ruleOpOr(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpOr.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpOr" + + + // $ANTLR start "ruleOpOr" + // InternalExpression.g:3141:1: ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '||' ; + public final AntlrDatatypeRuleToken ruleOpOr() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExpression.g:3147:2: (kw= '||' ) + // InternalExpression.g:3148:2: kw= '||' + { + kw=(Token)match(input,29,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpOr" + + + // $ANTLR start "entryRuleXAndExpression" + // InternalExpression.g:3156:1: entryRuleXAndExpression returns [EObject current=null] : iv_ruleXAndExpression= ruleXAndExpression EOF ; + public final EObject entryRuleXAndExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXAndExpression = null; + + + try { + // InternalExpression.g:3156:55: (iv_ruleXAndExpression= ruleXAndExpression EOF ) + // InternalExpression.g:3157:2: iv_ruleXAndExpression= ruleXAndExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXAndExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXAndExpression=ruleXAndExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXAndExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXAndExpression" + + + // $ANTLR start "ruleXAndExpression" + // InternalExpression.g:3163:1: ruleXAndExpression returns [EObject current=null] : (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ; + public final EObject ruleXAndExpression() throws RecognitionException { + EObject current = null; + + EObject this_XEqualityExpression_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:3169:2: ( (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ) + // InternalExpression.g:3170:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) + { + // InternalExpression.g:3170:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) + // InternalExpression.g:3171:3: this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_19); + this_XEqualityExpression_0=ruleXEqualityExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XEqualityExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalExpression.g:3179:3: ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* + loop42: + do { + int alt42=2; + int LA42_0 = input.LA(1); + + if ( (LA42_0==30) ) { + int LA42_2 = input.LA(2); + + if ( (synpred5_InternalExpression()) ) { + alt42=1; + } + + + } + + + switch (alt42) { + case 1 : + // InternalExpression.g:3180:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) + { + // InternalExpression.g:3180:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) + // InternalExpression.g:3181:5: ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) + { + // InternalExpression.g:3191:5: ( () ( ( ruleOpAnd ) ) ) + // InternalExpression.g:3192:6: () ( ( ruleOpAnd ) ) + { + // InternalExpression.g:3192:6: () + // InternalExpression.g:3193:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalExpression.g:3199:6: ( ( ruleOpAnd ) ) + // InternalExpression.g:3200:7: ( ruleOpAnd ) + { + // InternalExpression.g:3200:7: ( ruleOpAnd ) + // InternalExpression.g:3201:8: ruleOpAnd + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXAndExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_36); + ruleOpAnd(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalExpression.g:3217:4: ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) + // InternalExpression.g:3218:5: (lv_rightOperand_3_0= ruleXEqualityExpression ) + { + // InternalExpression.g:3218:5: (lv_rightOperand_3_0= ruleXEqualityExpression ) + // InternalExpression.g:3219:6: lv_rightOperand_3_0= ruleXEqualityExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_19); + lv_rightOperand_3_0=ruleXEqualityExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXAndExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XEqualityExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop42; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXAndExpression" + + + // $ANTLR start "entryRuleOpAnd" + // InternalExpression.g:3241:1: entryRuleOpAnd returns [String current=null] : iv_ruleOpAnd= ruleOpAnd EOF ; + public final String entryRuleOpAnd() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpAnd = null; + + + try { + // InternalExpression.g:3241:45: (iv_ruleOpAnd= ruleOpAnd EOF ) + // InternalExpression.g:3242:2: iv_ruleOpAnd= ruleOpAnd EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpAndRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpAnd=ruleOpAnd(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpAnd.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpAnd" + + + // $ANTLR start "ruleOpAnd" + // InternalExpression.g:3248:1: ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '&&' ; + public final AntlrDatatypeRuleToken ruleOpAnd() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExpression.g:3254:2: (kw= '&&' ) + // InternalExpression.g:3255:2: kw= '&&' + { + kw=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpAnd" + + + // $ANTLR start "entryRuleXEqualityExpression" + // InternalExpression.g:3263:1: entryRuleXEqualityExpression returns [EObject current=null] : iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ; + public final EObject entryRuleXEqualityExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXEqualityExpression = null; + + + try { + // InternalExpression.g:3263:60: (iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ) + // InternalExpression.g:3264:2: iv_ruleXEqualityExpression= ruleXEqualityExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXEqualityExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXEqualityExpression=ruleXEqualityExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXEqualityExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXEqualityExpression" + + + // $ANTLR start "ruleXEqualityExpression" + // InternalExpression.g:3270:1: ruleXEqualityExpression returns [EObject current=null] : (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ; + public final EObject ruleXEqualityExpression() throws RecognitionException { + EObject current = null; + + EObject this_XRelationalExpression_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:3276:2: ( (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ) + // InternalExpression.g:3277:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) + { + // InternalExpression.g:3277:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) + // InternalExpression.g:3278:3: this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_41); + this_XRelationalExpression_0=ruleXRelationalExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XRelationalExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalExpression.g:3286:3: ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* + loop43: + do { + int alt43=2; + switch ( input.LA(1) ) { + case 32: + { + int LA43_2 = input.LA(2); + + if ( (synpred6_InternalExpression()) ) { + alt43=1; + } + + + } + break; + case 33: + { + int LA43_3 = input.LA(2); + + if ( (synpred6_InternalExpression()) ) { + alt43=1; + } + + + } + break; + case 71: + { + int LA43_4 = input.LA(2); + + if ( (synpred6_InternalExpression()) ) { + alt43=1; + } + + + } + break; + case 72: + { + int LA43_5 = input.LA(2); + + if ( (synpred6_InternalExpression()) ) { + alt43=1; + } + + + } + break; + + } + + switch (alt43) { + case 1 : + // InternalExpression.g:3287:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) + { + // InternalExpression.g:3287:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) + // InternalExpression.g:3288:5: ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) + { + // InternalExpression.g:3298:5: ( () ( ( ruleOpEquality ) ) ) + // InternalExpression.g:3299:6: () ( ( ruleOpEquality ) ) + { + // InternalExpression.g:3299:6: () + // InternalExpression.g:3300:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalExpression.g:3306:6: ( ( ruleOpEquality ) ) + // InternalExpression.g:3307:7: ( ruleOpEquality ) + { + // InternalExpression.g:3307:7: ( ruleOpEquality ) + // InternalExpression.g:3308:8: ruleOpEquality + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXEqualityExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_36); + ruleOpEquality(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalExpression.g:3324:4: ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) + // InternalExpression.g:3325:5: (lv_rightOperand_3_0= ruleXRelationalExpression ) + { + // InternalExpression.g:3325:5: (lv_rightOperand_3_0= ruleXRelationalExpression ) + // InternalExpression.g:3326:6: lv_rightOperand_3_0= ruleXRelationalExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_41); + lv_rightOperand_3_0=ruleXRelationalExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXEqualityExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XRelationalExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop43; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXEqualityExpression" + + + // $ANTLR start "entryRuleOpEquality" + // InternalExpression.g:3348:1: entryRuleOpEquality returns [String current=null] : iv_ruleOpEquality= ruleOpEquality EOF ; + public final String entryRuleOpEquality() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpEquality = null; + + + try { + // InternalExpression.g:3348:50: (iv_ruleOpEquality= ruleOpEquality EOF ) + // InternalExpression.g:3349:2: iv_ruleOpEquality= ruleOpEquality EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpEqualityRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpEquality=ruleOpEquality(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpEquality.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpEquality" + + + // $ANTLR start "ruleOpEquality" + // InternalExpression.g:3355:1: ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ; + public final AntlrDatatypeRuleToken ruleOpEquality() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExpression.g:3361:2: ( (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ) + // InternalExpression.g:3362:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) + { + // InternalExpression.g:3362:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) + int alt44=4; + switch ( input.LA(1) ) { + case 32: + { + alt44=1; + } + break; + case 33: + { + alt44=2; + } + break; + case 71: + { + alt44=3; + } + break; + case 72: + { + alt44=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 44, 0, input); + + throw nvae; + } + + switch (alt44) { + case 1 : + // InternalExpression.g:3363:3: kw= '==' + { + kw=(Token)match(input,32,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalExpression.g:3369:3: kw= '!=' + { + kw=(Token)match(input,33,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); + + } + + } + break; + case 3 : + // InternalExpression.g:3375:3: kw= '===' + { + kw=(Token)match(input,71,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); + + } + + } + break; + case 4 : + // InternalExpression.g:3381:3: kw= '!==' + { + kw=(Token)match(input,72,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpEquality" + + + // $ANTLR start "entryRuleXRelationalExpression" + // InternalExpression.g:3390:1: entryRuleXRelationalExpression returns [EObject current=null] : iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ; + public final EObject entryRuleXRelationalExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXRelationalExpression = null; + + + try { + // InternalExpression.g:3390:62: (iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ) + // InternalExpression.g:3391:2: iv_ruleXRelationalExpression= ruleXRelationalExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXRelationalExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXRelationalExpression=ruleXRelationalExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXRelationalExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXRelationalExpression" + + + // $ANTLR start "ruleXRelationalExpression" + // InternalExpression.g:3397:1: ruleXRelationalExpression returns [EObject current=null] : (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ; + public final EObject ruleXRelationalExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_XOtherOperatorExpression_0 = null; + + EObject lv_type_3_0 = null; + + EObject lv_rightOperand_6_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:3403:2: ( (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ) + // InternalExpression.g:3404:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) + { + // InternalExpression.g:3404:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) + // InternalExpression.g:3405:3: this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_42); + this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XOtherOperatorExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalExpression.g:3413:3: ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* + loop45: + do { + int alt45=3; + switch ( input.LA(1) ) { + case 37: + { + int LA45_2 = input.LA(2); + + if ( (synpred8_InternalExpression()) ) { + alt45=2; + } + + + } + break; + case 36: + { + int LA45_3 = input.LA(2); + + if ( (synpred8_InternalExpression()) ) { + alt45=2; + } + + + } + break; + case 73: + { + int LA45_4 = input.LA(2); + + if ( (synpred7_InternalExpression()) ) { + alt45=1; + } + + + } + break; + case 34: + { + int LA45_5 = input.LA(2); + + if ( (synpred8_InternalExpression()) ) { + alt45=2; + } + + + } + break; + + } + + switch (alt45) { + case 1 : + // InternalExpression.g:3414:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) + { + // InternalExpression.g:3414:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) + // InternalExpression.g:3415:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) + { + // InternalExpression.g:3415:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) + // InternalExpression.g:3416:6: ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) + { + // InternalExpression.g:3422:6: ( () otherlv_2= 'instanceof' ) + // InternalExpression.g:3423:7: () otherlv_2= 'instanceof' + { + // InternalExpression.g:3423:7: () + // InternalExpression.g:3424:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,73,FOLLOW_43); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); + + } + + } + + + } + + // InternalExpression.g:3436:5: ( (lv_type_3_0= ruleJvmTypeReference ) ) + // InternalExpression.g:3437:6: (lv_type_3_0= ruleJvmTypeReference ) + { + // InternalExpression.g:3437:6: (lv_type_3_0= ruleJvmTypeReference ) + // InternalExpression.g:3438:7: lv_type_3_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); + + } + pushFollow(FOLLOW_42); + lv_type_3_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule()); + } + set( + current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalExpression.g:3457:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) + { + // InternalExpression.g:3457:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) + // InternalExpression.g:3458:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) + { + // InternalExpression.g:3458:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) + // InternalExpression.g:3459:6: ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) + { + // InternalExpression.g:3469:6: ( () ( ( ruleOpCompare ) ) ) + // InternalExpression.g:3470:7: () ( ( ruleOpCompare ) ) + { + // InternalExpression.g:3470:7: () + // InternalExpression.g:3471:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), + current); + + } + + } + + // InternalExpression.g:3477:7: ( ( ruleOpCompare ) ) + // InternalExpression.g:3478:8: ( ruleOpCompare ) + { + // InternalExpression.g:3478:8: ( ruleOpCompare ) + // InternalExpression.g:3479:9: ruleOpCompare + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXRelationalExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + + } + pushFollow(FOLLOW_36); + ruleOpCompare(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalExpression.g:3495:5: ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) + // InternalExpression.g:3496:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) + { + // InternalExpression.g:3496:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) + // InternalExpression.g:3497:7: lv_rightOperand_6_0= ruleXOtherOperatorExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); + + } + pushFollow(FOLLOW_42); + lv_rightOperand_6_0=ruleXOtherOperatorExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_6_0, + "org.eclipse.xtext.xbase.Xbase.XOtherOperatorExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + default : + break loop45; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXRelationalExpression" + + + // $ANTLR start "entryRuleOpCompare" + // InternalExpression.g:3520:1: entryRuleOpCompare returns [String current=null] : iv_ruleOpCompare= ruleOpCompare EOF ; + public final String entryRuleOpCompare() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpCompare = null; + + + try { + // InternalExpression.g:3520:49: (iv_ruleOpCompare= ruleOpCompare EOF ) + // InternalExpression.g:3521:2: iv_ruleOpCompare= ruleOpCompare EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpCompareRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpCompare=ruleOpCompare(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpCompare.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpCompare" + + + // $ANTLR start "ruleOpCompare" + // InternalExpression.g:3527:1: ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ; + public final AntlrDatatypeRuleToken ruleOpCompare() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExpression.g:3533:2: ( (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ) + // InternalExpression.g:3534:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) + { + // InternalExpression.g:3534:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) + int alt46=4; + switch ( input.LA(1) ) { + case 34: + { + alt46=1; + } + break; + case 37: + { + int LA46_2 = input.LA(2); + + if ( (LA46_2==EOF||LA46_2==RULE_INT||(LA46_2>=RULE_STRING && LA46_2<=RULE_DECIMAL)||LA46_2==17||LA46_2==21||(LA46_2>=24 && LA46_2<=25)||(LA46_2>=37 && LA46_2<=39)||LA46_2==42||(LA46_2>=55 && LA46_2<=57)||LA46_2==59||LA46_2==63||LA46_2==85||(LA46_2>=87 && LA46_2<=89)||(LA46_2>=92 && LA46_2<=100)||LA46_2==102) ) { + alt46=4; + } + else if ( (LA46_2==15) ) { + alt46=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 46, 2, input); + + throw nvae; + } + } + break; + case 36: + { + alt46=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 46, 0, input); + + throw nvae; + } + + switch (alt46) { + case 1 : + // InternalExpression.g:3535:3: kw= '>=' + { + kw=(Token)match(input,34,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalExpression.g:3541:3: (kw= '<' kw= '=' ) + { + // InternalExpression.g:3541:3: (kw= '<' kw= '=' ) + // InternalExpression.g:3542:4: kw= '<' kw= '=' + { + kw=(Token)match(input,37,FOLLOW_4); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); + + } + kw=(Token)match(input,15,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); + + } + + } + + + } + break; + case 3 : + // InternalExpression.g:3554:3: kw= '>' + { + kw=(Token)match(input,36,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); + + } + + } + break; + case 4 : + // InternalExpression.g:3560:3: kw= '<' + { + kw=(Token)match(input,37,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpCompare" + + + // $ANTLR start "entryRuleXOtherOperatorExpression" + // InternalExpression.g:3569:1: entryRuleXOtherOperatorExpression returns [EObject current=null] : iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ; + public final EObject entryRuleXOtherOperatorExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXOtherOperatorExpression = null; + + + try { + // InternalExpression.g:3569:65: (iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ) + // InternalExpression.g:3570:2: iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXOtherOperatorExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXOtherOperatorExpression" + + + // $ANTLR start "ruleXOtherOperatorExpression" + // InternalExpression.g:3576:1: ruleXOtherOperatorExpression returns [EObject current=null] : (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ; + public final EObject ruleXOtherOperatorExpression() throws RecognitionException { + EObject current = null; + + EObject this_XAdditiveExpression_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:3582:2: ( (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ) + // InternalExpression.g:3583:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) + { + // InternalExpression.g:3583:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) + // InternalExpression.g:3584:3: this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_44); + this_XAdditiveExpression_0=ruleXAdditiveExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XAdditiveExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalExpression.g:3592:3: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* + loop47: + do { + int alt47=2; + alt47 = dfa47.predict(input); + switch (alt47) { + case 1 : + // InternalExpression.g:3593:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) + { + // InternalExpression.g:3593:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) + // InternalExpression.g:3594:5: ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) + { + // InternalExpression.g:3604:5: ( () ( ( ruleOpOther ) ) ) + // InternalExpression.g:3605:6: () ( ( ruleOpOther ) ) + { + // InternalExpression.g:3605:6: () + // InternalExpression.g:3606:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalExpression.g:3612:6: ( ( ruleOpOther ) ) + // InternalExpression.g:3613:7: ( ruleOpOther ) + { + // InternalExpression.g:3613:7: ( ruleOpOther ) + // InternalExpression.g:3614:8: ruleOpOther + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXOtherOperatorExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_36); + ruleOpOther(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalExpression.g:3630:4: ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) + // InternalExpression.g:3631:5: (lv_rightOperand_3_0= ruleXAdditiveExpression ) + { + // InternalExpression.g:3631:5: (lv_rightOperand_3_0= ruleXAdditiveExpression ) + // InternalExpression.g:3632:6: lv_rightOperand_3_0= ruleXAdditiveExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_44); + lv_rightOperand_3_0=ruleXAdditiveExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXOtherOperatorExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XAdditiveExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop47; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXOtherOperatorExpression" + + + // $ANTLR start "entryRuleOpOther" + // InternalExpression.g:3654:1: entryRuleOpOther returns [String current=null] : iv_ruleOpOther= ruleOpOther EOF ; + public final String entryRuleOpOther() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpOther = null; + + + try { + // InternalExpression.g:3654:47: (iv_ruleOpOther= ruleOpOther EOF ) + // InternalExpression.g:3655:2: iv_ruleOpOther= ruleOpOther EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpOtherRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpOther=ruleOpOther(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpOther.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpOther" + + + // $ANTLR start "ruleOpOther" + // InternalExpression.g:3661:1: ruleOpOther returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ; + public final AntlrDatatypeRuleToken ruleOpOther() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExpression.g:3667:2: ( (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ) + // InternalExpression.g:3668:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) + { + // InternalExpression.g:3668:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) + int alt50=9; + alt50 = dfa50.predict(input); + switch (alt50) { + case 1 : + // InternalExpression.g:3669:3: kw= '->' + { + kw=(Token)match(input,19,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalExpression.g:3675:3: kw= '..<' + { + kw=(Token)match(input,74,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); + + } + + } + break; + case 3 : + // InternalExpression.g:3681:3: (kw= '>' kw= '..' ) + { + // InternalExpression.g:3681:3: (kw= '>' kw= '..' ) + // InternalExpression.g:3682:4: kw= '>' kw= '..' + { + kw=(Token)match(input,36,FOLLOW_45); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); + + } + kw=(Token)match(input,75,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); + + } + + } + + + } + break; + case 4 : + // InternalExpression.g:3694:3: kw= '..' + { + kw=(Token)match(input,75,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); + + } + + } + break; + case 5 : + // InternalExpression.g:3700:3: kw= '=>' + { + kw=(Token)match(input,76,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); + + } + + } + break; + case 6 : + // InternalExpression.g:3706:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) + { + // InternalExpression.g:3706:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) + // InternalExpression.g:3707:4: kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) + { + kw=(Token)match(input,36,FOLLOW_46); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); + + } + // InternalExpression.g:3712:4: ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) + int alt48=2; + int LA48_0 = input.LA(1); + + if ( (LA48_0==36) ) { + int LA48_1 = input.LA(2); + + if ( (LA48_1==36) && (synpred10_InternalExpression())) { + alt48=1; + } + else if ( (LA48_1==EOF||LA48_1==RULE_INT||(LA48_1>=RULE_STRING && LA48_1<=RULE_DECIMAL)||LA48_1==17||LA48_1==21||(LA48_1>=24 && LA48_1<=25)||(LA48_1>=37 && LA48_1<=39)||LA48_1==42||(LA48_1>=55 && LA48_1<=57)||LA48_1==59||LA48_1==63||LA48_1==85||(LA48_1>=87 && LA48_1<=89)||(LA48_1>=92 && LA48_1<=100)||LA48_1==102) ) { + alt48=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 48, 1, input); + + throw nvae; + } + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 48, 0, input); + + throw nvae; + } + switch (alt48) { + case 1 : + // InternalExpression.g:3713:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) + { + // InternalExpression.g:3713:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) + // InternalExpression.g:3714:6: ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) + { + // InternalExpression.g:3719:6: (kw= '>' kw= '>' ) + // InternalExpression.g:3720:7: kw= '>' kw= '>' + { + kw=(Token)match(input,36,FOLLOW_46); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); + + } + kw=(Token)match(input,36,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); + + } + + } + + + } + + + } + break; + case 2 : + // InternalExpression.g:3733:5: kw= '>' + { + kw=(Token)match(input,36,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); + + } + + } + break; + + } + + + } + + + } + break; + case 7 : + // InternalExpression.g:3741:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) + { + // InternalExpression.g:3741:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) + // InternalExpression.g:3742:4: kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) + { + kw=(Token)match(input,37,FOLLOW_47); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); + + } + // InternalExpression.g:3747:4: ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) + int alt49=3; + int LA49_0 = input.LA(1); + + if ( (LA49_0==37) ) { + int LA49_1 = input.LA(2); + + if ( (synpred11_InternalExpression()) ) { + alt49=1; + } + else if ( (true) ) { + alt49=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 49, 1, input); + + throw nvae; + } + } + else if ( (LA49_0==76) ) { + alt49=3; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 49, 0, input); + + throw nvae; + } + switch (alt49) { + case 1 : + // InternalExpression.g:3748:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) + { + // InternalExpression.g:3748:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) + // InternalExpression.g:3749:6: ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) + { + // InternalExpression.g:3754:6: (kw= '<' kw= '<' ) + // InternalExpression.g:3755:7: kw= '<' kw= '<' + { + kw=(Token)match(input,37,FOLLOW_38); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); + + } + kw=(Token)match(input,37,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); + + } + + } + + + } + + + } + break; + case 2 : + // InternalExpression.g:3768:5: kw= '<' + { + kw=(Token)match(input,37,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); + + } + + } + break; + case 3 : + // InternalExpression.g:3774:5: kw= '=>' + { + kw=(Token)match(input,76,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); + + } + + } + break; + + } + + + } + + + } + break; + case 8 : + // InternalExpression.g:3782:3: kw= '<>' + { + kw=(Token)match(input,77,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); + + } + + } + break; + case 9 : + // InternalExpression.g:3788:3: kw= '?:' + { + kw=(Token)match(input,78,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpOther" + + + // $ANTLR start "entryRuleXAdditiveExpression" + // InternalExpression.g:3797:1: entryRuleXAdditiveExpression returns [EObject current=null] : iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ; + public final EObject entryRuleXAdditiveExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXAdditiveExpression = null; + + + try { + // InternalExpression.g:3797:60: (iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ) + // InternalExpression.g:3798:2: iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXAdditiveExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXAdditiveExpression=ruleXAdditiveExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXAdditiveExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXAdditiveExpression" + + + // $ANTLR start "ruleXAdditiveExpression" + // InternalExpression.g:3804:1: ruleXAdditiveExpression returns [EObject current=null] : (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ; + public final EObject ruleXAdditiveExpression() throws RecognitionException { + EObject current = null; + + EObject this_XMultiplicativeExpression_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:3810:2: ( (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ) + // InternalExpression.g:3811:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) + { + // InternalExpression.g:3811:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) + // InternalExpression.g:3812:3: this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_22); + this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XMultiplicativeExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalExpression.g:3820:3: ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* + loop51: + do { + int alt51=2; + int LA51_0 = input.LA(1); + + if ( (LA51_0==38) ) { + int LA51_2 = input.LA(2); + + if ( (synpred12_InternalExpression()) ) { + alt51=1; + } + + + } + else if ( (LA51_0==39) ) { + int LA51_3 = input.LA(2); + + if ( (synpred12_InternalExpression()) ) { + alt51=1; + } + + + } + + + switch (alt51) { + case 1 : + // InternalExpression.g:3821:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) + { + // InternalExpression.g:3821:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) + // InternalExpression.g:3822:5: ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) + { + // InternalExpression.g:3832:5: ( () ( ( ruleOpAdd ) ) ) + // InternalExpression.g:3833:6: () ( ( ruleOpAdd ) ) + { + // InternalExpression.g:3833:6: () + // InternalExpression.g:3834:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalExpression.g:3840:6: ( ( ruleOpAdd ) ) + // InternalExpression.g:3841:7: ( ruleOpAdd ) + { + // InternalExpression.g:3841:7: ( ruleOpAdd ) + // InternalExpression.g:3842:8: ruleOpAdd + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXAdditiveExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_36); + ruleOpAdd(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalExpression.g:3858:4: ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) + // InternalExpression.g:3859:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) + { + // InternalExpression.g:3859:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) + // InternalExpression.g:3860:6: lv_rightOperand_3_0= ruleXMultiplicativeExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_22); + lv_rightOperand_3_0=ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXAdditiveExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XMultiplicativeExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop51; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXAdditiveExpression" + + + // $ANTLR start "entryRuleOpAdd" + // InternalExpression.g:3882:1: entryRuleOpAdd returns [String current=null] : iv_ruleOpAdd= ruleOpAdd EOF ; + public final String entryRuleOpAdd() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpAdd = null; + + + try { + // InternalExpression.g:3882:45: (iv_ruleOpAdd= ruleOpAdd EOF ) + // InternalExpression.g:3883:2: iv_ruleOpAdd= ruleOpAdd EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpAddRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpAdd=ruleOpAdd(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpAdd.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpAdd" + + + // $ANTLR start "ruleOpAdd" + // InternalExpression.g:3889:1: ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '-' ) ; + public final AntlrDatatypeRuleToken ruleOpAdd() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExpression.g:3895:2: ( (kw= '+' | kw= '-' ) ) + // InternalExpression.g:3896:2: (kw= '+' | kw= '-' ) + { + // InternalExpression.g:3896:2: (kw= '+' | kw= '-' ) + int alt52=2; + int LA52_0 = input.LA(1); + + if ( (LA52_0==38) ) { + alt52=1; + } + else if ( (LA52_0==39) ) { + alt52=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 52, 0, input); + + throw nvae; + } + switch (alt52) { + case 1 : + // InternalExpression.g:3897:3: kw= '+' + { + kw=(Token)match(input,38,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalExpression.g:3903:3: kw= '-' + { + kw=(Token)match(input,39,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpAdd" + + + // $ANTLR start "entryRuleXMultiplicativeExpression" + // InternalExpression.g:3912:1: entryRuleXMultiplicativeExpression returns [EObject current=null] : iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ; + public final EObject entryRuleXMultiplicativeExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXMultiplicativeExpression = null; + + + try { + // InternalExpression.g:3912:66: (iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ) + // InternalExpression.g:3913:2: iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXMultiplicativeExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXMultiplicativeExpression" + + + // $ANTLR start "ruleXMultiplicativeExpression" + // InternalExpression.g:3919:1: ruleXMultiplicativeExpression returns [EObject current=null] : (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ; + public final EObject ruleXMultiplicativeExpression() throws RecognitionException { + EObject current = null; + + EObject this_XUnaryOperation_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:3925:2: ( (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ) + // InternalExpression.g:3926:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) + { + // InternalExpression.g:3926:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) + // InternalExpression.g:3927:3: this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); + + } + pushFollow(FOLLOW_48); + this_XUnaryOperation_0=ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XUnaryOperation_0; + afterParserOrEnumRuleCall(); + + } + // InternalExpression.g:3935:3: ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* + loop53: + do { + int alt53=2; + switch ( input.LA(1) ) { + case 40: + { + int LA53_2 = input.LA(2); + + if ( (synpred13_InternalExpression()) ) { + alt53=1; + } + + + } + break; + case 79: + { + int LA53_3 = input.LA(2); + + if ( (synpred13_InternalExpression()) ) { + alt53=1; + } + + + } + break; + case 41: + { + int LA53_4 = input.LA(2); + + if ( (synpred13_InternalExpression()) ) { + alt53=1; + } + + + } + break; + case 80: + { + int LA53_5 = input.LA(2); + + if ( (synpred13_InternalExpression()) ) { + alt53=1; + } + + + } + break; + + } + + switch (alt53) { + case 1 : + // InternalExpression.g:3936:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) + { + // InternalExpression.g:3936:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) + // InternalExpression.g:3937:5: ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) + { + // InternalExpression.g:3947:5: ( () ( ( ruleOpMulti ) ) ) + // InternalExpression.g:3948:6: () ( ( ruleOpMulti ) ) + { + // InternalExpression.g:3948:6: () + // InternalExpression.g:3949:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalExpression.g:3955:6: ( ( ruleOpMulti ) ) + // InternalExpression.g:3956:7: ( ruleOpMulti ) + { + // InternalExpression.g:3956:7: ( ruleOpMulti ) + // InternalExpression.g:3957:8: ruleOpMulti + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMultiplicativeExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_36); + ruleOpMulti(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalExpression.g:3973:4: ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) + // InternalExpression.g:3974:5: (lv_rightOperand_3_0= ruleXUnaryOperation ) + { + // InternalExpression.g:3974:5: (lv_rightOperand_3_0= ruleXUnaryOperation ) + // InternalExpression.g:3975:6: lv_rightOperand_3_0= ruleXUnaryOperation + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_48); + lv_rightOperand_3_0=ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMultiplicativeExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XUnaryOperation"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop53; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXMultiplicativeExpression" + + + // $ANTLR start "entryRuleOpMulti" + // InternalExpression.g:3997:1: entryRuleOpMulti returns [String current=null] : iv_ruleOpMulti= ruleOpMulti EOF ; + public final String entryRuleOpMulti() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpMulti = null; + + + try { + // InternalExpression.g:3997:47: (iv_ruleOpMulti= ruleOpMulti EOF ) + // InternalExpression.g:3998:2: iv_ruleOpMulti= ruleOpMulti EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpMultiRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpMulti=ruleOpMulti(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpMulti.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpMulti" + + + // $ANTLR start "ruleOpMulti" + // InternalExpression.g:4004:1: ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ; + public final AntlrDatatypeRuleToken ruleOpMulti() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExpression.g:4010:2: ( (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ) + // InternalExpression.g:4011:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) + { + // InternalExpression.g:4011:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) + int alt54=4; + switch ( input.LA(1) ) { + case 40: + { + alt54=1; + } + break; + case 79: + { + alt54=2; + } + break; + case 41: + { + alt54=3; + } + break; + case 80: + { + alt54=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 54, 0, input); + + throw nvae; + } + + switch (alt54) { + case 1 : + // InternalExpression.g:4012:3: kw= '*' + { + kw=(Token)match(input,40,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); + + } + + } + break; + case 2 : + // InternalExpression.g:4018:3: kw= '**' + { + kw=(Token)match(input,79,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); + + } + + } + break; + case 3 : + // InternalExpression.g:4024:3: kw= '/' + { + kw=(Token)match(input,41,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); + + } + + } + break; + case 4 : + // InternalExpression.g:4030:3: kw= '%' + { + kw=(Token)match(input,80,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpMulti" + + + // $ANTLR start "entryRuleXUnaryOperation" + // InternalExpression.g:4039:1: entryRuleXUnaryOperation returns [EObject current=null] : iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ; + public final EObject entryRuleXUnaryOperation() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXUnaryOperation = null; + + + try { + // InternalExpression.g:4039:56: (iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ) + // InternalExpression.g:4040:2: iv_ruleXUnaryOperation= ruleXUnaryOperation EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXUnaryOperationRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXUnaryOperation=ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXUnaryOperation; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXUnaryOperation" + + + // $ANTLR start "ruleXUnaryOperation" + // InternalExpression.g:4046:1: ruleXUnaryOperation returns [EObject current=null] : ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ; + public final EObject ruleXUnaryOperation() throws RecognitionException { + EObject current = null; + + EObject lv_operand_2_0 = null; + + EObject this_XCastedExpression_3 = null; + + + + enterRule(); + + try { + // InternalExpression.g:4052:2: ( ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ) + // InternalExpression.g:4053:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) + { + // InternalExpression.g:4053:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) + int alt55=2; + int LA55_0 = input.LA(1); + + if ( ((LA55_0>=38 && LA55_0<=39)||LA55_0==42) ) { + alt55=1; + } + else if ( (LA55_0==RULE_INT||(LA55_0>=RULE_STRING && LA55_0<=RULE_DECIMAL)||LA55_0==17||LA55_0==21||(LA55_0>=24 && LA55_0<=25)||LA55_0==37||(LA55_0>=55 && LA55_0<=57)||LA55_0==59||LA55_0==63||LA55_0==85||(LA55_0>=87 && LA55_0<=89)||(LA55_0>=92 && LA55_0<=100)||LA55_0==102) ) { + alt55=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 55, 0, input); + + throw nvae; + } + switch (alt55) { + case 1 : + // InternalExpression.g:4054:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) + { + // InternalExpression.g:4054:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) + // InternalExpression.g:4055:4: () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) + { + // InternalExpression.g:4055:4: () + // InternalExpression.g:4056:5: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(), + current); + + } + + } + + // InternalExpression.g:4062:4: ( ( ruleOpUnary ) ) + // InternalExpression.g:4063:5: ( ruleOpUnary ) + { + // InternalExpression.g:4063:5: ( ruleOpUnary ) + // InternalExpression.g:4064:6: ruleOpUnary + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXUnaryOperationRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + + } + pushFollow(FOLLOW_36); + ruleOpUnary(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:4078:4: ( (lv_operand_2_0= ruleXUnaryOperation ) ) + // InternalExpression.g:4079:5: (lv_operand_2_0= ruleXUnaryOperation ) + { + // InternalExpression.g:4079:5: (lv_operand_2_0= ruleXUnaryOperation ) + // InternalExpression.g:4080:6: lv_operand_2_0= ruleXUnaryOperation + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); + + } + pushFollow(FOLLOW_2); + lv_operand_2_0=ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXUnaryOperationRule()); + } + set( + current, + "operand", + lv_operand_2_0, + "org.eclipse.xtext.xbase.Xbase.XUnaryOperation"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalExpression.g:4099:3: this_XCastedExpression_3= ruleXCastedExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XCastedExpression_3=ruleXCastedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XCastedExpression_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXUnaryOperation" + + + // $ANTLR start "entryRuleOpUnary" + // InternalExpression.g:4111:1: entryRuleOpUnary returns [String current=null] : iv_ruleOpUnary= ruleOpUnary EOF ; + public final String entryRuleOpUnary() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpUnary = null; + + + try { + // InternalExpression.g:4111:47: (iv_ruleOpUnary= ruleOpUnary EOF ) + // InternalExpression.g:4112:2: iv_ruleOpUnary= ruleOpUnary EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpUnaryRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpUnary=ruleOpUnary(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpUnary.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpUnary" + + + // $ANTLR start "ruleOpUnary" + // InternalExpression.g:4118:1: ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '!' | kw= '-' | kw= '+' ) ; + public final AntlrDatatypeRuleToken ruleOpUnary() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExpression.g:4124:2: ( (kw= '!' | kw= '-' | kw= '+' ) ) + // InternalExpression.g:4125:2: (kw= '!' | kw= '-' | kw= '+' ) + { + // InternalExpression.g:4125:2: (kw= '!' | kw= '-' | kw= '+' ) + int alt56=3; + switch ( input.LA(1) ) { + case 42: + { + alt56=1; + } + break; + case 39: + { + alt56=2; + } + break; + case 38: + { + alt56=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 56, 0, input); + + throw nvae; + } + + switch (alt56) { + case 1 : + // InternalExpression.g:4126:3: kw= '!' + { + kw=(Token)match(input,42,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); + + } + + } + break; + case 2 : + // InternalExpression.g:4132:3: kw= '-' + { + kw=(Token)match(input,39,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); + + } + + } + break; + case 3 : + // InternalExpression.g:4138:3: kw= '+' + { + kw=(Token)match(input,38,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpUnary" + + + // $ANTLR start "entryRuleXCastedExpression" + // InternalExpression.g:4147:1: entryRuleXCastedExpression returns [EObject current=null] : iv_ruleXCastedExpression= ruleXCastedExpression EOF ; + public final EObject entryRuleXCastedExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXCastedExpression = null; + + + try { + // InternalExpression.g:4147:58: (iv_ruleXCastedExpression= ruleXCastedExpression EOF ) + // InternalExpression.g:4148:2: iv_ruleXCastedExpression= ruleXCastedExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXCastedExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXCastedExpression=ruleXCastedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXCastedExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXCastedExpression" + + + // $ANTLR start "ruleXCastedExpression" + // InternalExpression.g:4154:1: ruleXCastedExpression returns [EObject current=null] : (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ; + public final EObject ruleXCastedExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_XPostfixOperation_0 = null; + + EObject lv_type_3_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:4160:2: ( (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ) + // InternalExpression.g:4161:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) + { + // InternalExpression.g:4161:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) + // InternalExpression.g:4162:3: this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); + + } + pushFollow(FOLLOW_49); + this_XPostfixOperation_0=ruleXPostfixOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XPostfixOperation_0; + afterParserOrEnumRuleCall(); + + } + // InternalExpression.g:4170:3: ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* + loop57: + do { + int alt57=2; + int LA57_0 = input.LA(1); + + if ( (LA57_0==81) ) { + int LA57_2 = input.LA(2); + + if ( (synpred14_InternalExpression()) ) { + alt57=1; + } + + + } + + + switch (alt57) { + case 1 : + // InternalExpression.g:4171:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) + { + // InternalExpression.g:4171:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) + // InternalExpression.g:4172:5: ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) + { + // InternalExpression.g:4178:5: ( () otherlv_2= 'as' ) + // InternalExpression.g:4179:6: () otherlv_2= 'as' + { + // InternalExpression.g:4179:6: () + // InternalExpression.g:4180:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,81,FOLLOW_43); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); + + } + + } + + + } + + // InternalExpression.g:4192:4: ( (lv_type_3_0= ruleJvmTypeReference ) ) + // InternalExpression.g:4193:5: (lv_type_3_0= ruleJvmTypeReference ) + { + // InternalExpression.g:4193:5: (lv_type_3_0= ruleJvmTypeReference ) + // InternalExpression.g:4194:6: lv_type_3_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_49); + lv_type_3_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCastedExpressionRule()); + } + set( + current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop57; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXCastedExpression" + + + // $ANTLR start "entryRuleXPostfixOperation" + // InternalExpression.g:4216:1: entryRuleXPostfixOperation returns [EObject current=null] : iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ; + public final EObject entryRuleXPostfixOperation() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXPostfixOperation = null; + + + try { + // InternalExpression.g:4216:58: (iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ) + // InternalExpression.g:4217:2: iv_ruleXPostfixOperation= ruleXPostfixOperation EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXPostfixOperationRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXPostfixOperation=ruleXPostfixOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXPostfixOperation; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXPostfixOperation" + + + // $ANTLR start "ruleXPostfixOperation" + // InternalExpression.g:4223:1: ruleXPostfixOperation returns [EObject current=null] : (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ; + public final EObject ruleXPostfixOperation() throws RecognitionException { + EObject current = null; + + EObject this_XMemberFeatureCall_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:4229:2: ( (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ) + // InternalExpression.g:4230:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) + { + // InternalExpression.g:4230:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) + // InternalExpression.g:4231:3: this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); + + } + pushFollow(FOLLOW_50); + this_XMemberFeatureCall_0=ruleXMemberFeatureCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XMemberFeatureCall_0; + afterParserOrEnumRuleCall(); + + } + // InternalExpression.g:4239:3: ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? + int alt58=2; + int LA58_0 = input.LA(1); + + if ( (LA58_0==82) ) { + int LA58_1 = input.LA(2); + + if ( (synpred15_InternalExpression()) ) { + alt58=1; + } + } + else if ( (LA58_0==83) ) { + int LA58_2 = input.LA(2); + + if ( (synpred15_InternalExpression()) ) { + alt58=1; + } + } + switch (alt58) { + case 1 : + // InternalExpression.g:4240:4: ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) + { + // InternalExpression.g:4250:4: ( () ( ( ruleOpPostfix ) ) ) + // InternalExpression.g:4251:5: () ( ( ruleOpPostfix ) ) + { + // InternalExpression.g:4251:5: () + // InternalExpression.g:4252:6: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0(), + current); + + } + + } + + // InternalExpression.g:4258:5: ( ( ruleOpPostfix ) ) + // InternalExpression.g:4259:6: ( ruleOpPostfix ) + { + // InternalExpression.g:4259:6: ( ruleOpPostfix ) + // InternalExpression.g:4260:7: ruleOpPostfix + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXPostfixOperationRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); + + } + pushFollow(FOLLOW_2); + ruleOpPostfix(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXPostfixOperation" + + + // $ANTLR start "entryRuleOpPostfix" + // InternalExpression.g:4280:1: entryRuleOpPostfix returns [String current=null] : iv_ruleOpPostfix= ruleOpPostfix EOF ; + public final String entryRuleOpPostfix() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpPostfix = null; + + + try { + // InternalExpression.g:4280:49: (iv_ruleOpPostfix= ruleOpPostfix EOF ) + // InternalExpression.g:4281:2: iv_ruleOpPostfix= ruleOpPostfix EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpPostfixRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpPostfix=ruleOpPostfix(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpPostfix.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpPostfix" + + + // $ANTLR start "ruleOpPostfix" + // InternalExpression.g:4287:1: ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '++' | kw= '--' ) ; + public final AntlrDatatypeRuleToken ruleOpPostfix() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExpression.g:4293:2: ( (kw= '++' | kw= '--' ) ) + // InternalExpression.g:4294:2: (kw= '++' | kw= '--' ) + { + // InternalExpression.g:4294:2: (kw= '++' | kw= '--' ) + int alt59=2; + int LA59_0 = input.LA(1); + + if ( (LA59_0==82) ) { + alt59=1; + } + else if ( (LA59_0==83) ) { + alt59=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 59, 0, input); + + throw nvae; + } + switch (alt59) { + case 1 : + // InternalExpression.g:4295:3: kw= '++' + { + kw=(Token)match(input,82,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalExpression.g:4301:3: kw= '--' + { + kw=(Token)match(input,83,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpPostfix" + + + // $ANTLR start "entryRuleXMemberFeatureCall" + // InternalExpression.g:4310:1: entryRuleXMemberFeatureCall returns [EObject current=null] : iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ; + public final EObject entryRuleXMemberFeatureCall() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXMemberFeatureCall = null; + + + try { + // InternalExpression.g:4310:59: (iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ) + // InternalExpression.g:4311:2: iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXMemberFeatureCallRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXMemberFeatureCall=ruleXMemberFeatureCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXMemberFeatureCall; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXMemberFeatureCall" + + + // $ANTLR start "ruleXMemberFeatureCall" + // InternalExpression.g:4317:1: ruleXMemberFeatureCall returns [EObject current=null] : (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) ; + public final EObject ruleXMemberFeatureCall() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + Token lv_explicitStatic_3_0=null; + Token otherlv_8=null; + Token lv_nullSafe_9_0=null; + Token lv_explicitStatic_10_0=null; + Token otherlv_11=null; + Token otherlv_13=null; + Token otherlv_15=null; + Token lv_explicitOperationCall_17_0=null; + Token otherlv_20=null; + Token otherlv_22=null; + EObject this_XPrimaryExpression_0 = null; + + EObject lv_value_6_0 = null; + + EObject lv_typeArguments_12_0 = null; + + EObject lv_typeArguments_14_0 = null; + + EObject lv_memberCallArguments_18_0 = null; + + EObject lv_memberCallArguments_19_0 = null; + + EObject lv_memberCallArguments_21_0 = null; + + EObject lv_memberCallArguments_23_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:4323:2: ( (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) ) + // InternalExpression.g:4324:2: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) + { + // InternalExpression.g:4324:2: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) + // InternalExpression.g:4325:3: this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_51); + this_XPrimaryExpression_0=ruleXPrimaryExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XPrimaryExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalExpression.g:4333:3: ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* + loop68: + do { + int alt68=3; + switch ( input.LA(1) ) { + case 43: + { + int LA68_2 = input.LA(2); + + if ( (synpred16_InternalExpression()) ) { + alt68=1; + } + else if ( (synpred17_InternalExpression()) ) { + alt68=2; + } + + + } + break; + case 65: + { + int LA68_3 = input.LA(2); + + if ( (synpred16_InternalExpression()) ) { + alt68=1; + } + else if ( (synpred17_InternalExpression()) ) { + alt68=2; + } + + + } + break; + case 84: + { + int LA68_4 = input.LA(2); + + if ( (synpred17_InternalExpression()) ) { + alt68=2; + } + + + } + break; + + } + + switch (alt68) { + case 1 : + // InternalExpression.g:4334:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) + { + // InternalExpression.g:4334:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) + // InternalExpression.g:4335:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) + { + // InternalExpression.g:4335:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) + // InternalExpression.g:4336:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) + { + // InternalExpression.g:4356:6: ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) + // InternalExpression.g:4357:7: () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign + { + // InternalExpression.g:4357:7: () + // InternalExpression.g:4358:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(), + current); + + } + + } + + // InternalExpression.g:4364:7: (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) + int alt60=2; + int LA60_0 = input.LA(1); + + if ( (LA60_0==43) ) { + alt60=1; + } + else if ( (LA60_0==65) ) { + alt60=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 60, 0, input); + + throw nvae; + } + switch (alt60) { + case 1 : + // InternalExpression.g:4365:8: otherlv_2= '.' + { + otherlv_2=(Token)match(input,43,FOLLOW_52); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); + + } + + } + break; + case 2 : + // InternalExpression.g:4370:8: ( (lv_explicitStatic_3_0= '::' ) ) + { + // InternalExpression.g:4370:8: ( (lv_explicitStatic_3_0= '::' ) ) + // InternalExpression.g:4371:9: (lv_explicitStatic_3_0= '::' ) + { + // InternalExpression.g:4371:9: (lv_explicitStatic_3_0= '::' ) + // InternalExpression.g:4372:10: lv_explicitStatic_3_0= '::' + { + lv_explicitStatic_3_0=(Token)match(input,65,FOLLOW_52); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitStatic_3_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed(current, "explicitStatic", lv_explicitStatic_3_0 != null, "::"); + + } + + } + + + } + + + } + break; + + } + + // InternalExpression.g:4385:7: ( ( ruleFeatureCallID ) ) + // InternalExpression.g:4386:8: ( ruleFeatureCallID ) + { + // InternalExpression.g:4386:8: ( ruleFeatureCallID ) + // InternalExpression.g:4387:9: ruleFeatureCallID + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); + + } + pushFollow(FOLLOW_4); + ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); + + } + pushFollow(FOLLOW_36); + ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:4410:5: ( (lv_value_6_0= ruleXAssignment ) ) + // InternalExpression.g:4411:6: (lv_value_6_0= ruleXAssignment ) + { + // InternalExpression.g:4411:6: (lv_value_6_0= ruleXAssignment ) + // InternalExpression.g:4412:7: lv_value_6_0= ruleXAssignment + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); + + } + pushFollow(FOLLOW_51); + lv_value_6_0=ruleXAssignment(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + set( + current, + "value", + lv_value_6_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalExpression.g:4431:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) + { + // InternalExpression.g:4431:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) + // InternalExpression.g:4432:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? + { + // InternalExpression.g:4432:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) + // InternalExpression.g:4433:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) + { + // InternalExpression.g:4453:6: ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) + // InternalExpression.g:4454:7: () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) + { + // InternalExpression.g:4454:7: () + // InternalExpression.g:4455:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(), + current); + + } + + } + + // InternalExpression.g:4461:7: (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) + int alt61=3; + switch ( input.LA(1) ) { + case 43: + { + alt61=1; + } + break; + case 84: + { + alt61=2; + } + break; + case 65: + { + alt61=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 61, 0, input); + + throw nvae; + } + + switch (alt61) { + case 1 : + // InternalExpression.g:4462:8: otherlv_8= '.' + { + otherlv_8=(Token)match(input,43,FOLLOW_53); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); + + } + + } + break; + case 2 : + // InternalExpression.g:4467:8: ( (lv_nullSafe_9_0= '?.' ) ) + { + // InternalExpression.g:4467:8: ( (lv_nullSafe_9_0= '?.' ) ) + // InternalExpression.g:4468:9: (lv_nullSafe_9_0= '?.' ) + { + // InternalExpression.g:4468:9: (lv_nullSafe_9_0= '?.' ) + // InternalExpression.g:4469:10: lv_nullSafe_9_0= '?.' + { + lv_nullSafe_9_0=(Token)match(input,84,FOLLOW_53); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_nullSafe_9_0, grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed(current, "nullSafe", lv_nullSafe_9_0 != null, "?."); + + } + + } + + + } + + + } + break; + case 3 : + // InternalExpression.g:4482:8: ( (lv_explicitStatic_10_0= '::' ) ) + { + // InternalExpression.g:4482:8: ( (lv_explicitStatic_10_0= '::' ) ) + // InternalExpression.g:4483:9: (lv_explicitStatic_10_0= '::' ) + { + // InternalExpression.g:4483:9: (lv_explicitStatic_10_0= '::' ) + // InternalExpression.g:4484:10: lv_explicitStatic_10_0= '::' + { + lv_explicitStatic_10_0=(Token)match(input,65,FOLLOW_53); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitStatic_10_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed(current, "explicitStatic", lv_explicitStatic_10_0 != null, "::"); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + // InternalExpression.g:4499:5: (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? + int alt63=2; + int LA63_0 = input.LA(1); + + if ( (LA63_0==37) ) { + alt63=1; + } + switch (alt63) { + case 1 : + // InternalExpression.g:4500:6: otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' + { + otherlv_11=(Token)match(input,37,FOLLOW_54); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); + + } + // InternalExpression.g:4504:6: ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:4505:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:4505:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) + // InternalExpression.g:4506:8: lv_typeArguments_12_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); + + } + pushFollow(FOLLOW_55); + lv_typeArguments_12_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_12_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:4523:6: (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* + loop62: + do { + int alt62=2; + int LA62_0 = input.LA(1); + + if ( (LA62_0==44) ) { + alt62=1; + } + + + switch (alt62) { + case 1 : + // InternalExpression.g:4524:7: otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) + { + otherlv_13=(Token)match(input,44,FOLLOW_54); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); + + } + // InternalExpression.g:4528:7: ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:4529:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:4529:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) + // InternalExpression.g:4530:9: lv_typeArguments_14_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); + + } + pushFollow(FOLLOW_55); + lv_typeArguments_14_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_14_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop62; + } + } while (true); + + otherlv_15=(Token)match(input,36,FOLLOW_53); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); + + } + + } + break; + + } + + // InternalExpression.g:4553:5: ( ( ruleIdOrSuper ) ) + // InternalExpression.g:4554:6: ( ruleIdOrSuper ) + { + // InternalExpression.g:4554:6: ( ruleIdOrSuper ) + // InternalExpression.g:4555:7: ruleIdOrSuper + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); + + } + pushFollow(FOLLOW_56); + ruleIdOrSuper(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:4569:5: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? + int alt66=2; + alt66 = dfa66.predict(input); + switch (alt66) { + case 1 : + // InternalExpression.g:4570:6: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' + { + // InternalExpression.g:4570:6: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) + // InternalExpression.g:4571:7: ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) + { + // InternalExpression.g:4575:7: (lv_explicitOperationCall_17_0= '(' ) + // InternalExpression.g:4576:8: lv_explicitOperationCall_17_0= '(' + { + lv_explicitOperationCall_17_0=(Token)match(input,17,FOLLOW_57); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitOperationCall_17_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed(current, "explicitOperationCall", lv_explicitOperationCall_17_0 != null, "("); + + } + + } + + + } + + // InternalExpression.g:4588:6: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? + int alt65=3; + alt65 = dfa65.predict(input); + switch (alt65) { + case 1 : + // InternalExpression.g:4589:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) + { + // InternalExpression.g:4589:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) + // InternalExpression.g:4590:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) + { + // InternalExpression.g:4615:8: (lv_memberCallArguments_18_0= ruleXShortClosure ) + // InternalExpression.g:4616:9: lv_memberCallArguments_18_0= ruleXShortClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); + + } + pushFollow(FOLLOW_8); + lv_memberCallArguments_18_0=ruleXShortClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "memberCallArguments", + lv_memberCallArguments_18_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + case 2 : + // InternalExpression.g:4634:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) + { + // InternalExpression.g:4634:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) + // InternalExpression.g:4635:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* + { + // InternalExpression.g:4635:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) + // InternalExpression.g:4636:9: (lv_memberCallArguments_19_0= ruleXExpression ) + { + // InternalExpression.g:4636:9: (lv_memberCallArguments_19_0= ruleXExpression ) + // InternalExpression.g:4637:10: lv_memberCallArguments_19_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); + + } + pushFollow(FOLLOW_27); + lv_memberCallArguments_19_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "memberCallArguments", + lv_memberCallArguments_19_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:4654:8: (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* + loop64: + do { + int alt64=2; + int LA64_0 = input.LA(1); + + if ( (LA64_0==44) ) { + alt64=1; + } + + + switch (alt64) { + case 1 : + // InternalExpression.g:4655:9: otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) + { + otherlv_20=(Token)match(input,44,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); + + } + // InternalExpression.g:4659:9: ( (lv_memberCallArguments_21_0= ruleXExpression ) ) + // InternalExpression.g:4660:10: (lv_memberCallArguments_21_0= ruleXExpression ) + { + // InternalExpression.g:4660:10: (lv_memberCallArguments_21_0= ruleXExpression ) + // InternalExpression.g:4661:11: lv_memberCallArguments_21_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); + + } + pushFollow(FOLLOW_27); + lv_memberCallArguments_21_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "memberCallArguments", + lv_memberCallArguments_21_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop64; + } + } while (true); + + + } + + + } + break; + + } + + otherlv_22=(Token)match(input,18,FOLLOW_58); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); + + } + + } + break; + + } + + // InternalExpression.g:4686:5: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? + int alt67=2; + alt67 = dfa67.predict(input); + switch (alt67) { + case 1 : + // InternalExpression.g:4687:6: ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) + { + // InternalExpression.g:4693:6: (lv_memberCallArguments_23_0= ruleXClosure ) + // InternalExpression.g:4694:7: lv_memberCallArguments_23_0= ruleXClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); + + } + pushFollow(FOLLOW_51); + lv_memberCallArguments_23_0=ruleXClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "memberCallArguments", + lv_memberCallArguments_23_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + + } + + + } + break; + + default : + break loop68; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXMemberFeatureCall" + + + // $ANTLR start "entryRuleXPrimaryExpression" + // InternalExpression.g:4717:1: entryRuleXPrimaryExpression returns [EObject current=null] : iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ; + public final EObject entryRuleXPrimaryExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXPrimaryExpression = null; + + + try { + // InternalExpression.g:4717:59: (iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ) + // InternalExpression.g:4718:2: iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXPrimaryExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXPrimaryExpression=ruleXPrimaryExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXPrimaryExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXPrimaryExpression" + + + // $ANTLR start "ruleXPrimaryExpression" + // InternalExpression.g:4724:1: ruleXPrimaryExpression returns [EObject current=null] : (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) ; + public final EObject ruleXPrimaryExpression() throws RecognitionException { + EObject current = null; + + EObject this_XConstructorCall_0 = null; + + EObject this_XBlockExpression_1 = null; + + EObject this_XSwitchExpression_2 = null; + + EObject this_XSynchronizedExpression_3 = null; + + EObject this_XFeatureCall_4 = null; + + EObject this_XLiteral_5 = null; + + EObject this_XIfExpression_6 = null; + + EObject this_XForLoopExpression_7 = null; + + EObject this_XBasicForLoopExpression_8 = null; + + EObject this_XWhileExpression_9 = null; + + EObject this_XDoWhileExpression_10 = null; + + EObject this_XThrowExpression_11 = null; + + EObject this_XReturnExpression_12 = null; + + EObject this_XTryCatchFinallyExpression_13 = null; + + EObject this_XParenthesizedExpression_14 = null; + + + + enterRule(); + + try { + // InternalExpression.g:4730:2: ( (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) ) + // InternalExpression.g:4731:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) + { + // InternalExpression.g:4731:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) + int alt69=15; + alt69 = dfa69.predict(input); + switch (alt69) { + case 1 : + // InternalExpression.g:4732:3: this_XConstructorCall_0= ruleXConstructorCall + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_XConstructorCall_0=ruleXConstructorCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XConstructorCall_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalExpression.g:4741:3: this_XBlockExpression_1= ruleXBlockExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XBlockExpression_1=ruleXBlockExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XBlockExpression_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalExpression.g:4750:3: this_XSwitchExpression_2= ruleXSwitchExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); + + } + pushFollow(FOLLOW_2); + this_XSwitchExpression_2=ruleXSwitchExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XSwitchExpression_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 4 : + // InternalExpression.g:4759:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) + { + // InternalExpression.g:4759:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) + // InternalExpression.g:4760:4: ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); + + } + pushFollow(FOLLOW_2); + this_XSynchronizedExpression_3=ruleXSynchronizedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XSynchronizedExpression_3; + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + case 5 : + // InternalExpression.g:4777:3: this_XFeatureCall_4= ruleXFeatureCall + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); + + } + pushFollow(FOLLOW_2); + this_XFeatureCall_4=ruleXFeatureCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XFeatureCall_4; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 6 : + // InternalExpression.g:4786:3: this_XLiteral_5= ruleXLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); + + } + pushFollow(FOLLOW_2); + this_XLiteral_5=ruleXLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XLiteral_5; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 7 : + // InternalExpression.g:4795:3: this_XIfExpression_6= ruleXIfExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); + + } + pushFollow(FOLLOW_2); + this_XIfExpression_6=ruleXIfExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XIfExpression_6; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 8 : + // InternalExpression.g:4804:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) + { + // InternalExpression.g:4804:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) + // InternalExpression.g:4805:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); + + } + pushFollow(FOLLOW_2); + this_XForLoopExpression_7=ruleXForLoopExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XForLoopExpression_7; + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + case 9 : + // InternalExpression.g:4828:3: this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); + + } + pushFollow(FOLLOW_2); + this_XBasicForLoopExpression_8=ruleXBasicForLoopExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XBasicForLoopExpression_8; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 10 : + // InternalExpression.g:4837:3: this_XWhileExpression_9= ruleXWhileExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); + + } + pushFollow(FOLLOW_2); + this_XWhileExpression_9=ruleXWhileExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XWhileExpression_9; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 11 : + // InternalExpression.g:4846:3: this_XDoWhileExpression_10= ruleXDoWhileExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); + + } + pushFollow(FOLLOW_2); + this_XDoWhileExpression_10=ruleXDoWhileExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XDoWhileExpression_10; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 12 : + // InternalExpression.g:4855:3: this_XThrowExpression_11= ruleXThrowExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); + + } + pushFollow(FOLLOW_2); + this_XThrowExpression_11=ruleXThrowExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XThrowExpression_11; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 13 : + // InternalExpression.g:4864:3: this_XReturnExpression_12= ruleXReturnExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); + + } + pushFollow(FOLLOW_2); + this_XReturnExpression_12=ruleXReturnExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XReturnExpression_12; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 14 : + // InternalExpression.g:4873:3: this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); + + } + pushFollow(FOLLOW_2); + this_XTryCatchFinallyExpression_13=ruleXTryCatchFinallyExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XTryCatchFinallyExpression_13; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 15 : + // InternalExpression.g:4882:3: this_XParenthesizedExpression_14= ruleXParenthesizedExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); + + } + pushFollow(FOLLOW_2); + this_XParenthesizedExpression_14=ruleXParenthesizedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XParenthesizedExpression_14; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXPrimaryExpression" + + + // $ANTLR start "entryRuleXLiteral" + // InternalExpression.g:4894:1: entryRuleXLiteral returns [EObject current=null] : iv_ruleXLiteral= ruleXLiteral EOF ; + public final EObject entryRuleXLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXLiteral = null; + + + try { + // InternalExpression.g:4894:49: (iv_ruleXLiteral= ruleXLiteral EOF ) + // InternalExpression.g:4895:2: iv_ruleXLiteral= ruleXLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXLiteral=ruleXLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXLiteral" + + + // $ANTLR start "ruleXLiteral" + // InternalExpression.g:4901:1: ruleXLiteral returns [EObject current=null] : (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) ; + public final EObject ruleXLiteral() throws RecognitionException { + EObject current = null; + + EObject this_XCollectionLiteral_0 = null; + + EObject this_XClosure_1 = null; + + EObject this_XBooleanLiteral_2 = null; + + EObject this_XNumberLiteral_3 = null; + + EObject this_XNullLiteral_4 = null; + + EObject this_XStringLiteral_5 = null; + + EObject this_XTypeLiteral_6 = null; + + + + enterRule(); + + try { + // InternalExpression.g:4907:2: ( (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) ) + // InternalExpression.g:4908:2: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) + { + // InternalExpression.g:4908:2: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) + int alt70=7; + int LA70_0 = input.LA(1); + + if ( (LA70_0==85) ) { + alt70=1; + } + else if ( (LA70_0==63) && (synpred23_InternalExpression())) { + alt70=2; + } + else if ( ((LA70_0>=55 && LA70_0<=56)) ) { + alt70=3; + } + else if ( (LA70_0==RULE_INT||(LA70_0>=RULE_HEX && LA70_0<=RULE_DECIMAL)) ) { + alt70=4; + } + else if ( (LA70_0==57) ) { + alt70=5; + } + else if ( (LA70_0==RULE_STRING) ) { + alt70=6; + } + else if ( (LA70_0==97) ) { + alt70=7; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 70, 0, input); + + throw nvae; + } + switch (alt70) { + case 1 : + // InternalExpression.g:4909:3: this_XCollectionLiteral_0= ruleXCollectionLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_XCollectionLiteral_0=ruleXCollectionLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XCollectionLiteral_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalExpression.g:4918:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) + { + // InternalExpression.g:4918:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) + // InternalExpression.g:4919:4: ( ( () '[' ) )=>this_XClosure_1= ruleXClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XClosure_1=ruleXClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XClosure_1; + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + case 3 : + // InternalExpression.g:4935:3: this_XBooleanLiteral_2= ruleXBooleanLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); + + } + pushFollow(FOLLOW_2); + this_XBooleanLiteral_2=ruleXBooleanLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XBooleanLiteral_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 4 : + // InternalExpression.g:4944:3: this_XNumberLiteral_3= ruleXNumberLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); + + } + pushFollow(FOLLOW_2); + this_XNumberLiteral_3=ruleXNumberLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XNumberLiteral_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 5 : + // InternalExpression.g:4953:3: this_XNullLiteral_4= ruleXNullLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); + + } + pushFollow(FOLLOW_2); + this_XNullLiteral_4=ruleXNullLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XNullLiteral_4; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 6 : + // InternalExpression.g:4962:3: this_XStringLiteral_5= ruleXStringLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); + + } + pushFollow(FOLLOW_2); + this_XStringLiteral_5=ruleXStringLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XStringLiteral_5; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 7 : + // InternalExpression.g:4971:3: this_XTypeLiteral_6= ruleXTypeLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); + + } + pushFollow(FOLLOW_2); + this_XTypeLiteral_6=ruleXTypeLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XTypeLiteral_6; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXLiteral" + + + // $ANTLR start "entryRuleXCollectionLiteral" + // InternalExpression.g:4983:1: entryRuleXCollectionLiteral returns [EObject current=null] : iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ; + public final EObject entryRuleXCollectionLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXCollectionLiteral = null; + + + try { + // InternalExpression.g:4983:59: (iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ) + // InternalExpression.g:4984:2: iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXCollectionLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXCollectionLiteral=ruleXCollectionLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXCollectionLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXCollectionLiteral" + + + // $ANTLR start "ruleXCollectionLiteral" + // InternalExpression.g:4990:1: ruleXCollectionLiteral returns [EObject current=null] : (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ; + public final EObject ruleXCollectionLiteral() throws RecognitionException { + EObject current = null; + + EObject this_XSetLiteral_0 = null; + + EObject this_XListLiteral_1 = null; + + + + enterRule(); + + try { + // InternalExpression.g:4996:2: ( (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ) + // InternalExpression.g:4997:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) + { + // InternalExpression.g:4997:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) + int alt71=2; + int LA71_0 = input.LA(1); + + if ( (LA71_0==85) ) { + int LA71_1 = input.LA(2); + + if ( (LA71_1==63) ) { + alt71=2; + } + else if ( (LA71_1==25) ) { + alt71=1; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 71, 1, input); + + throw nvae; + } + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 71, 0, input); + + throw nvae; + } + switch (alt71) { + case 1 : + // InternalExpression.g:4998:3: this_XSetLiteral_0= ruleXSetLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_XSetLiteral_0=ruleXSetLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XSetLiteral_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalExpression.g:5007:3: this_XListLiteral_1= ruleXListLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XListLiteral_1=ruleXListLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XListLiteral_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXCollectionLiteral" + + + // $ANTLR start "entryRuleXSetLiteral" + // InternalExpression.g:5019:1: entryRuleXSetLiteral returns [EObject current=null] : iv_ruleXSetLiteral= ruleXSetLiteral EOF ; + public final EObject entryRuleXSetLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXSetLiteral = null; + + + try { + // InternalExpression.g:5019:52: (iv_ruleXSetLiteral= ruleXSetLiteral EOF ) + // InternalExpression.g:5020:2: iv_ruleXSetLiteral= ruleXSetLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXSetLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXSetLiteral=ruleXSetLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXSetLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXSetLiteral" + + + // $ANTLR start "ruleXSetLiteral" + // InternalExpression.g:5026:1: ruleXSetLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ; + public final EObject ruleXSetLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_elements_3_0 = null; + + EObject lv_elements_5_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:5032:2: ( ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ) + // InternalExpression.g:5033:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) + { + // InternalExpression.g:5033:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) + // InternalExpression.g:5034:3: () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' + { + // InternalExpression.g:5034:3: () + // InternalExpression.g:5035:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,85,FOLLOW_15); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); + + } + otherlv_2=(Token)match(input,25,FOLLOW_59); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); + + } + // InternalExpression.g:5049:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? + int alt73=2; + int LA73_0 = input.LA(1); + + if ( (LA73_0==RULE_INT||(LA73_0>=RULE_STRING && LA73_0<=RULE_DECIMAL)||LA73_0==17||LA73_0==21||(LA73_0>=24 && LA73_0<=25)||(LA73_0>=37 && LA73_0<=39)||LA73_0==42||(LA73_0>=55 && LA73_0<=57)||LA73_0==59||LA73_0==63||LA73_0==85||(LA73_0>=87 && LA73_0<=89)||(LA73_0>=92 && LA73_0<=100)||LA73_0==102) ) { + alt73=1; + } + switch (alt73) { + case 1 : + // InternalExpression.g:5050:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* + { + // InternalExpression.g:5050:4: ( (lv_elements_3_0= ruleXExpression ) ) + // InternalExpression.g:5051:5: (lv_elements_3_0= ruleXExpression ) + { + // InternalExpression.g:5051:5: (lv_elements_3_0= ruleXExpression ) + // InternalExpression.g:5052:6: lv_elements_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + + } + pushFollow(FOLLOW_32); + lv_elements_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSetLiteralRule()); + } + add( + current, + "elements", + lv_elements_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:5069:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* + loop72: + do { + int alt72=2; + int LA72_0 = input.LA(1); + + if ( (LA72_0==44) ) { + alt72=1; + } + + + switch (alt72) { + case 1 : + // InternalExpression.g:5070:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) + { + otherlv_4=(Token)match(input,44,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); + + } + // InternalExpression.g:5074:5: ( (lv_elements_5_0= ruleXExpression ) ) + // InternalExpression.g:5075:6: (lv_elements_5_0= ruleXExpression ) + { + // InternalExpression.g:5075:6: (lv_elements_5_0= ruleXExpression ) + // InternalExpression.g:5076:7: lv_elements_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + + } + pushFollow(FOLLOW_32); + lv_elements_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSetLiteralRule()); + } + add( + current, + "elements", + lv_elements_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop72; + } + } while (true); + + + } + break; + + } + + otherlv_6=(Token)match(input,27,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXSetLiteral" + + + // $ANTLR start "entryRuleXListLiteral" + // InternalExpression.g:5103:1: entryRuleXListLiteral returns [EObject current=null] : iv_ruleXListLiteral= ruleXListLiteral EOF ; + public final EObject entryRuleXListLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXListLiteral = null; + + + try { + // InternalExpression.g:5103:53: (iv_ruleXListLiteral= ruleXListLiteral EOF ) + // InternalExpression.g:5104:2: iv_ruleXListLiteral= ruleXListLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXListLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXListLiteral=ruleXListLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXListLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXListLiteral" + + + // $ANTLR start "ruleXListLiteral" + // InternalExpression.g:5110:1: ruleXListLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) ; + public final EObject ruleXListLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_elements_3_0 = null; + + EObject lv_elements_5_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:5116:2: ( ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) ) + // InternalExpression.g:5117:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) + { + // InternalExpression.g:5117:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) + // InternalExpression.g:5118:3: () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' + { + // InternalExpression.g:5118:3: () + // InternalExpression.g:5119:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXListLiteralAccess().getXListLiteralAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,85,FOLLOW_33); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); + + } + otherlv_2=(Token)match(input,63,FOLLOW_60); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); + + } + // InternalExpression.g:5133:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? + int alt75=2; + int LA75_0 = input.LA(1); + + if ( (LA75_0==RULE_INT||(LA75_0>=RULE_STRING && LA75_0<=RULE_DECIMAL)||LA75_0==17||LA75_0==21||(LA75_0>=24 && LA75_0<=25)||(LA75_0>=37 && LA75_0<=39)||LA75_0==42||(LA75_0>=55 && LA75_0<=57)||LA75_0==59||LA75_0==63||LA75_0==85||(LA75_0>=87 && LA75_0<=89)||(LA75_0>=92 && LA75_0<=100)||LA75_0==102) ) { + alt75=1; + } + switch (alt75) { + case 1 : + // InternalExpression.g:5134:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* + { + // InternalExpression.g:5134:4: ( (lv_elements_3_0= ruleXExpression ) ) + // InternalExpression.g:5135:5: (lv_elements_3_0= ruleXExpression ) + { + // InternalExpression.g:5135:5: (lv_elements_3_0= ruleXExpression ) + // InternalExpression.g:5136:6: lv_elements_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + + } + pushFollow(FOLLOW_61); + lv_elements_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXListLiteralRule()); + } + add( + current, + "elements", + lv_elements_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:5153:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* + loop74: + do { + int alt74=2; + int LA74_0 = input.LA(1); + + if ( (LA74_0==44) ) { + alt74=1; + } + + + switch (alt74) { + case 1 : + // InternalExpression.g:5154:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) + { + otherlv_4=(Token)match(input,44,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); + + } + // InternalExpression.g:5158:5: ( (lv_elements_5_0= ruleXExpression ) ) + // InternalExpression.g:5159:6: (lv_elements_5_0= ruleXExpression ) + { + // InternalExpression.g:5159:6: (lv_elements_5_0= ruleXExpression ) + // InternalExpression.g:5160:7: lv_elements_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + + } + pushFollow(FOLLOW_61); + lv_elements_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXListLiteralRule()); + } + add( + current, + "elements", + lv_elements_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop74; + } + } while (true); + + + } + break; + + } + + otherlv_6=(Token)match(input,64,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXListLiteral" + + + // $ANTLR start "entryRuleXClosure" + // InternalExpression.g:5187:1: entryRuleXClosure returns [EObject current=null] : iv_ruleXClosure= ruleXClosure EOF ; + public final EObject entryRuleXClosure() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXClosure = null; + + + try { + // InternalExpression.g:5187:49: (iv_ruleXClosure= ruleXClosure EOF ) + // InternalExpression.g:5188:2: iv_ruleXClosure= ruleXClosure EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXClosureRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXClosure=ruleXClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXClosure; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXClosure" + + + // $ANTLR start "ruleXClosure" + // InternalExpression.g:5194:1: ruleXClosure returns [EObject current=null] : ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) ; + public final EObject ruleXClosure() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token lv_explicitSyntax_5_0=null; + Token otherlv_7=null; + EObject lv_declaredFormalParameters_2_0 = null; + + EObject lv_declaredFormalParameters_4_0 = null; + + EObject lv_expression_6_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:5200:2: ( ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) ) + // InternalExpression.g:5201:2: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) + { + // InternalExpression.g:5201:2: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) + // InternalExpression.g:5202:3: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' + { + // InternalExpression.g:5202:3: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) + // InternalExpression.g:5203:4: ( ( () '[' ) )=> ( () otherlv_1= '[' ) + { + // InternalExpression.g:5209:4: ( () otherlv_1= '[' ) + // InternalExpression.g:5210:5: () otherlv_1= '[' + { + // InternalExpression.g:5210:5: () + // InternalExpression.g:5211:6: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXClosureAccess().getXClosureAction_0_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,63,FOLLOW_62); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); + + } + + } + + + } + + // InternalExpression.g:5223:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? + int alt78=2; + alt78 = dfa78.predict(input); + switch (alt78) { + case 1 : + // InternalExpression.g:5224:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) + { + // InternalExpression.g:5247:4: ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) + // InternalExpression.g:5248:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) + { + // InternalExpression.g:5248:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? + int alt77=2; + int LA77_0 = input.LA(1); + + if ( (LA77_0==RULE_ID||LA77_0==17||LA77_0==76) ) { + alt77=1; + } + switch (alt77) { + case 1 : + // InternalExpression.g:5249:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* + { + // InternalExpression.g:5249:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) + // InternalExpression.g:5250:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) + { + // InternalExpression.g:5250:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) + // InternalExpression.g:5251:8: lv_declaredFormalParameters_2_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); + + } + pushFollow(FOLLOW_63); + lv_declaredFormalParameters_2_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + add( + current, + "declaredFormalParameters", + lv_declaredFormalParameters_2_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:5268:6: (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* + loop76: + do { + int alt76=2; + int LA76_0 = input.LA(1); + + if ( (LA76_0==44) ) { + alt76=1; + } + + + switch (alt76) { + case 1 : + // InternalExpression.g:5269:7: otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) + { + otherlv_3=(Token)match(input,44,FOLLOW_43); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); + + } + // InternalExpression.g:5273:7: ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) + // InternalExpression.g:5274:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) + { + // InternalExpression.g:5274:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) + // InternalExpression.g:5275:9: lv_declaredFormalParameters_4_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); + + } + pushFollow(FOLLOW_63); + lv_declaredFormalParameters_4_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + add( + current, + "declaredFormalParameters", + lv_declaredFormalParameters_4_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop76; + } + } while (true); + + + } + break; + + } + + // InternalExpression.g:5294:5: ( (lv_explicitSyntax_5_0= '|' ) ) + // InternalExpression.g:5295:6: (lv_explicitSyntax_5_0= '|' ) + { + // InternalExpression.g:5295:6: (lv_explicitSyntax_5_0= '|' ) + // InternalExpression.g:5296:7: lv_explicitSyntax_5_0= '|' + { + lv_explicitSyntax_5_0=(Token)match(input,54,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitSyntax_5_0, grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXClosureRule()); + } + setWithLastConsumed(current, "explicitSyntax", lv_explicitSyntax_5_0 != null, "|"); + + } + + } + + + } + + + } + + + } + break; + + } + + // InternalExpression.g:5310:3: ( (lv_expression_6_0= ruleXExpressionInClosure ) ) + // InternalExpression.g:5311:4: (lv_expression_6_0= ruleXExpressionInClosure ) + { + // InternalExpression.g:5311:4: (lv_expression_6_0= ruleXExpressionInClosure ) + // InternalExpression.g:5312:5: lv_expression_6_0= ruleXExpressionInClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_34); + lv_expression_6_0=ruleXExpressionInClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + set( + current, + "expression", + lv_expression_6_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionInClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_7=(Token)match(input,64,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXClosure" + + + // $ANTLR start "entryRuleXExpressionInClosure" + // InternalExpression.g:5337:1: entryRuleXExpressionInClosure returns [EObject current=null] : iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ; + public final EObject entryRuleXExpressionInClosure() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXExpressionInClosure = null; + + + try { + // InternalExpression.g:5337:61: (iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ) + // InternalExpression.g:5338:2: iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXExpressionInClosureRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXExpressionInClosure=ruleXExpressionInClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXExpressionInClosure; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXExpressionInClosure" + + + // $ANTLR start "ruleXExpressionInClosure" + // InternalExpression.g:5344:1: ruleXExpressionInClosure returns [EObject current=null] : ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) ; + public final EObject ruleXExpressionInClosure() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject lv_expressions_1_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:5350:2: ( ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) ) + // InternalExpression.g:5351:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) + { + // InternalExpression.g:5351:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) + // InternalExpression.g:5352:3: () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* + { + // InternalExpression.g:5352:3: () + // InternalExpression.g:5353:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0(), + current); + + } + + } + + // InternalExpression.g:5359:3: ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* + loop80: + do { + int alt80=2; + int LA80_0 = input.LA(1); + + if ( (LA80_0==RULE_INT||(LA80_0>=RULE_STRING && LA80_0<=RULE_DECIMAL)||LA80_0==17||LA80_0==21||(LA80_0>=24 && LA80_0<=25)||(LA80_0>=37 && LA80_0<=39)||LA80_0==42||(LA80_0>=55 && LA80_0<=57)||LA80_0==59||LA80_0==63||LA80_0==85||(LA80_0>=87 && LA80_0<=100)||LA80_0==102) ) { + alt80=1; + } + + + switch (alt80) { + case 1 : + // InternalExpression.g:5360:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? + { + // InternalExpression.g:5360:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) + // InternalExpression.g:5361:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) + { + // InternalExpression.g:5361:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) + // InternalExpression.g:5362:6: lv_expressions_1_0= ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); + + } + pushFollow(FOLLOW_65); + lv_expressions_1_0=ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXExpressionInClosureRule()); + } + add( + current, + "expressions", + lv_expressions_1_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:5379:4: (otherlv_2= ';' )? + int alt79=2; + int LA79_0 = input.LA(1); + + if ( (LA79_0==86) ) { + alt79=1; + } + switch (alt79) { + case 1 : + // InternalExpression.g:5380:5: otherlv_2= ';' + { + otherlv_2=(Token)match(input,86,FOLLOW_66); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); + + } + + } + break; + + } + + + } + break; + + default : + break loop80; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXExpressionInClosure" + + + // $ANTLR start "entryRuleXShortClosure" + // InternalExpression.g:5390:1: entryRuleXShortClosure returns [EObject current=null] : iv_ruleXShortClosure= ruleXShortClosure EOF ; + public final EObject entryRuleXShortClosure() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXShortClosure = null; + + + try { + // InternalExpression.g:5390:54: (iv_ruleXShortClosure= ruleXShortClosure EOF ) + // InternalExpression.g:5391:2: iv_ruleXShortClosure= ruleXShortClosure EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXShortClosureRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXShortClosure=ruleXShortClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXShortClosure; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXShortClosure" + + + // $ANTLR start "ruleXShortClosure" + // InternalExpression.g:5397:1: ruleXShortClosure returns [EObject current=null] : ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) ; + public final EObject ruleXShortClosure() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + Token lv_explicitSyntax_4_0=null; + EObject lv_declaredFormalParameters_1_0 = null; + + EObject lv_declaredFormalParameters_3_0 = null; + + EObject lv_expression_5_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:5403:2: ( ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) ) + // InternalExpression.g:5404:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) + { + // InternalExpression.g:5404:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) + // InternalExpression.g:5405:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) + { + // InternalExpression.g:5405:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) + // InternalExpression.g:5406:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) + { + // InternalExpression.g:5431:4: ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) + // InternalExpression.g:5432:5: () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) + { + // InternalExpression.g:5432:5: () + // InternalExpression.g:5433:6: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0(), + current); + + } + + } + + // InternalExpression.g:5439:5: ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? + int alt82=2; + int LA82_0 = input.LA(1); + + if ( (LA82_0==RULE_ID||LA82_0==17||LA82_0==76) ) { + alt82=1; + } + switch (alt82) { + case 1 : + // InternalExpression.g:5440:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* + { + // InternalExpression.g:5440:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) + // InternalExpression.g:5441:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) + { + // InternalExpression.g:5441:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) + // InternalExpression.g:5442:8: lv_declaredFormalParameters_1_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); + + } + pushFollow(FOLLOW_63); + lv_declaredFormalParameters_1_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + add( + current, + "declaredFormalParameters", + lv_declaredFormalParameters_1_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:5459:6: (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* + loop81: + do { + int alt81=2; + int LA81_0 = input.LA(1); + + if ( (LA81_0==44) ) { + alt81=1; + } + + + switch (alt81) { + case 1 : + // InternalExpression.g:5460:7: otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) + { + otherlv_2=(Token)match(input,44,FOLLOW_43); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); + + } + // InternalExpression.g:5464:7: ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) + // InternalExpression.g:5465:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) + { + // InternalExpression.g:5465:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) + // InternalExpression.g:5466:9: lv_declaredFormalParameters_3_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); + + } + pushFollow(FOLLOW_63); + lv_declaredFormalParameters_3_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + add( + current, + "declaredFormalParameters", + lv_declaredFormalParameters_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop81; + } + } while (true); + + + } + break; + + } + + // InternalExpression.g:5485:5: ( (lv_explicitSyntax_4_0= '|' ) ) + // InternalExpression.g:5486:6: (lv_explicitSyntax_4_0= '|' ) + { + // InternalExpression.g:5486:6: (lv_explicitSyntax_4_0= '|' ) + // InternalExpression.g:5487:7: lv_explicitSyntax_4_0= '|' + { + lv_explicitSyntax_4_0=(Token)match(input,54,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitSyntax_4_0, grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXShortClosureRule()); + } + setWithLastConsumed(current, "explicitSyntax", lv_explicitSyntax_4_0 != null, "|"); + + } + + } + + + } + + + } + + + } + + // InternalExpression.g:5501:3: ( (lv_expression_5_0= ruleXExpression ) ) + // InternalExpression.g:5502:4: (lv_expression_5_0= ruleXExpression ) + { + // InternalExpression.g:5502:4: (lv_expression_5_0= ruleXExpression ) + // InternalExpression.g:5503:5: lv_expression_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_expression_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + set( + current, + "expression", + lv_expression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXShortClosure" + + + // $ANTLR start "entryRuleXParenthesizedExpression" + // InternalExpression.g:5524:1: entryRuleXParenthesizedExpression returns [EObject current=null] : iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ; + public final EObject entryRuleXParenthesizedExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXParenthesizedExpression = null; + + + try { + // InternalExpression.g:5524:65: (iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ) + // InternalExpression.g:5525:2: iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXParenthesizedExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXParenthesizedExpression=ruleXParenthesizedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXParenthesizedExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXParenthesizedExpression" + + + // $ANTLR start "ruleXParenthesizedExpression" + // InternalExpression.g:5531:1: ruleXParenthesizedExpression returns [EObject current=null] : (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) ; + public final EObject ruleXParenthesizedExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + EObject this_XExpression_1 = null; + + + + enterRule(); + + try { + // InternalExpression.g:5537:2: ( (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) ) + // InternalExpression.g:5538:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) + { + // InternalExpression.g:5538:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) + // InternalExpression.g:5539:3: otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' + { + otherlv_0=(Token)match(input,17,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); + + } + pushFollow(FOLLOW_8); + this_XExpression_1=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XExpression_1; + afterParserOrEnumRuleCall(); + + } + otherlv_2=(Token)match(input,18,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXParenthesizedExpression" + + + // $ANTLR start "entryRuleXIfExpression" + // InternalExpression.g:5559:1: entryRuleXIfExpression returns [EObject current=null] : iv_ruleXIfExpression= ruleXIfExpression EOF ; + public final EObject entryRuleXIfExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXIfExpression = null; + + + try { + // InternalExpression.g:5559:54: (iv_ruleXIfExpression= ruleXIfExpression EOF ) + // InternalExpression.g:5560:2: iv_ruleXIfExpression= ruleXIfExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXIfExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXIfExpression=ruleXIfExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXIfExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXIfExpression" + + + // $ANTLR start "ruleXIfExpression" + // InternalExpression.g:5566:1: ruleXIfExpression returns [EObject current=null] : ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) ; + public final EObject ruleXIfExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_if_3_0 = null; + + EObject lv_then_5_0 = null; + + EObject lv_else_7_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:5572:2: ( ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) ) + // InternalExpression.g:5573:2: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) + { + // InternalExpression.g:5573:2: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) + // InternalExpression.g:5574:3: () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? + { + // InternalExpression.g:5574:3: () + // InternalExpression.g:5575:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,21,FOLLOW_25); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); + + } + otherlv_2=(Token)match(input,17,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); + + } + // InternalExpression.g:5589:3: ( (lv_if_3_0= ruleXExpression ) ) + // InternalExpression.g:5590:4: (lv_if_3_0= ruleXExpression ) + { + // InternalExpression.g:5590:4: (lv_if_3_0= ruleXExpression ) + // InternalExpression.g:5591:5: lv_if_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_8); + lv_if_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + current, + "if", + lv_if_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,18,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); + + } + // InternalExpression.g:5612:3: ( (lv_then_5_0= ruleXExpression ) ) + // InternalExpression.g:5613:4: (lv_then_5_0= ruleXExpression ) + { + // InternalExpression.g:5613:4: (lv_then_5_0= ruleXExpression ) + // InternalExpression.g:5614:5: lv_then_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); + + } + pushFollow(FOLLOW_12); + lv_then_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + current, + "then", + lv_then_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:5631:3: ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? + int alt83=2; + int LA83_0 = input.LA(1); + + if ( (LA83_0==23) ) { + int LA83_1 = input.LA(2); + + if ( (synpred27_InternalExpression()) ) { + alt83=1; + } + } + switch (alt83) { + case 1 : + // InternalExpression.g:5632:4: ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) + { + // InternalExpression.g:5632:4: ( ( 'else' )=>otherlv_6= 'else' ) + // InternalExpression.g:5633:5: ( 'else' )=>otherlv_6= 'else' + { + otherlv_6=(Token)match(input,23,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); + + } + + } + + // InternalExpression.g:5639:4: ( (lv_else_7_0= ruleXExpression ) ) + // InternalExpression.g:5640:5: (lv_else_7_0= ruleXExpression ) + { + // InternalExpression.g:5640:5: (lv_else_7_0= ruleXExpression ) + // InternalExpression.g:5641:6: lv_else_7_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); + + } + pushFollow(FOLLOW_2); + lv_else_7_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + current, + "else", + lv_else_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXIfExpression" + + + // $ANTLR start "entryRuleXSwitchExpression" + // InternalExpression.g:5663:1: entryRuleXSwitchExpression returns [EObject current=null] : iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ; + public final EObject entryRuleXSwitchExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXSwitchExpression = null; + + + try { + // InternalExpression.g:5663:58: (iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ) + // InternalExpression.g:5664:2: iv_ruleXSwitchExpression= ruleXSwitchExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXSwitchExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXSwitchExpression=ruleXSwitchExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXSwitchExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXSwitchExpression" + + + // $ANTLR start "ruleXSwitchExpression" + // InternalExpression.g:5670:1: ruleXSwitchExpression returns [EObject current=null] : ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) ; + public final EObject ruleXSwitchExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_12=null; + Token otherlv_13=null; + Token otherlv_15=null; + EObject lv_declaredParam_3_0 = null; + + EObject lv_switch_5_0 = null; + + EObject lv_declaredParam_7_0 = null; + + EObject lv_switch_9_0 = null; + + EObject lv_cases_11_0 = null; + + EObject lv_default_14_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:5676:2: ( ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) ) + // InternalExpression.g:5677:2: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) + { + // InternalExpression.g:5677:2: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) + // InternalExpression.g:5678:3: () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' + { + // InternalExpression.g:5678:3: () + // InternalExpression.g:5679:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,24,FOLLOW_67); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); + + } + // InternalExpression.g:5689:3: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) + int alt85=2; + alt85 = dfa85.predict(input); + switch (alt85) { + case 1 : + // InternalExpression.g:5690:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) + { + // InternalExpression.g:5690:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) + // InternalExpression.g:5691:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' + { + // InternalExpression.g:5691:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) + // InternalExpression.g:5692:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) + { + // InternalExpression.g:5702:6: (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) + // InternalExpression.g:5703:7: otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' + { + otherlv_2=(Token)match(input,17,FOLLOW_43); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); + + } + // InternalExpression.g:5707:7: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) + // InternalExpression.g:5708:8: (lv_declaredParam_3_0= ruleJvmFormalParameter ) + { + // InternalExpression.g:5708:8: (lv_declaredParam_3_0= ruleJvmFormalParameter ) + // InternalExpression.g:5709:9: lv_declaredParam_3_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); + + } + pushFollow(FOLLOW_6); + lv_declaredParam_3_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + current, + "declaredParam", + lv_declaredParam_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,16,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); + + } + + } + + + } + + // InternalExpression.g:5732:5: ( (lv_switch_5_0= ruleXExpression ) ) + // InternalExpression.g:5733:6: (lv_switch_5_0= ruleXExpression ) + { + // InternalExpression.g:5733:6: (lv_switch_5_0= ruleXExpression ) + // InternalExpression.g:5734:7: lv_switch_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); + + } + pushFollow(FOLLOW_8); + lv_switch_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + current, + "switch", + lv_switch_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_6=(Token)match(input,18,FOLLOW_15); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); + + } + + } + + + } + break; + case 2 : + // InternalExpression.g:5757:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) + { + // InternalExpression.g:5757:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) + // InternalExpression.g:5758:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) + { + // InternalExpression.g:5758:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? + int alt84=2; + alt84 = dfa84.predict(input); + switch (alt84) { + case 1 : + // InternalExpression.g:5759:6: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) + { + // InternalExpression.g:5768:6: ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) + // InternalExpression.g:5769:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' + { + // InternalExpression.g:5769:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) + // InternalExpression.g:5770:8: (lv_declaredParam_7_0= ruleJvmFormalParameter ) + { + // InternalExpression.g:5770:8: (lv_declaredParam_7_0= ruleJvmFormalParameter ) + // InternalExpression.g:5771:9: lv_declaredParam_7_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); + + } + pushFollow(FOLLOW_6); + lv_declaredParam_7_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + current, + "declaredParam", + lv_declaredParam_7_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_8=(Token)match(input,16,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); + + } + + } + + + } + break; + + } + + // InternalExpression.g:5794:5: ( (lv_switch_9_0= ruleXExpression ) ) + // InternalExpression.g:5795:6: (lv_switch_9_0= ruleXExpression ) + { + // InternalExpression.g:5795:6: (lv_switch_9_0= ruleXExpression ) + // InternalExpression.g:5796:7: lv_switch_9_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); + + } + pushFollow(FOLLOW_15); + lv_switch_9_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + current, + "switch", + lv_switch_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + otherlv_10=(Token)match(input,25,FOLLOW_68); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); + + } + // InternalExpression.g:5819:3: ( (lv_cases_11_0= ruleXCasePart ) )* + loop86: + do { + int alt86=2; + int LA86_0 = input.LA(1); + + if ( (LA86_0==RULE_ID||(LA86_0>=16 && LA86_0<=17)||LA86_0==28||LA86_0==44||LA86_0==76) ) { + alt86=1; + } + + + switch (alt86) { + case 1 : + // InternalExpression.g:5820:4: (lv_cases_11_0= ruleXCasePart ) + { + // InternalExpression.g:5820:4: (lv_cases_11_0= ruleXCasePart ) + // InternalExpression.g:5821:5: lv_cases_11_0= ruleXCasePart + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); + + } + pushFollow(FOLLOW_68); + lv_cases_11_0=ruleXCasePart(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + add( + current, + "cases", + lv_cases_11_0, + "org.eclipse.xtext.xbase.Xbase.XCasePart"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop86; + } + } while (true); + + // InternalExpression.g:5838:3: (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? + int alt87=2; + int LA87_0 = input.LA(1); + + if ( (LA87_0==26) ) { + alt87=1; + } + switch (alt87) { + case 1 : + // InternalExpression.g:5839:4: otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) + { + otherlv_12=(Token)match(input,26,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_12, grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); + + } + otherlv_13=(Token)match(input,16,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_13, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); + + } + // InternalExpression.g:5847:4: ( (lv_default_14_0= ruleXExpression ) ) + // InternalExpression.g:5848:5: (lv_default_14_0= ruleXExpression ) + { + // InternalExpression.g:5848:5: (lv_default_14_0= ruleXExpression ) + // InternalExpression.g:5849:6: lv_default_14_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); + + } + pushFollow(FOLLOW_17); + lv_default_14_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + current, + "default", + lv_default_14_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + otherlv_15=(Token)match(input,27,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_15, grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXSwitchExpression" + + + // $ANTLR start "entryRuleXCasePart" + // InternalExpression.g:5875:1: entryRuleXCasePart returns [EObject current=null] : iv_ruleXCasePart= ruleXCasePart EOF ; + public final EObject entryRuleXCasePart() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXCasePart = null; + + + try { + // InternalExpression.g:5875:50: (iv_ruleXCasePart= ruleXCasePart EOF ) + // InternalExpression.g:5876:2: iv_ruleXCasePart= ruleXCasePart EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXCasePartRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXCasePart=ruleXCasePart(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXCasePart; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXCasePart" + + + // $ANTLR start "ruleXCasePart" + // InternalExpression.g:5882:1: ruleXCasePart returns [EObject current=null] : ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) ; + public final EObject ruleXCasePart() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + Token otherlv_4=null; + Token lv_fallThrough_6_0=null; + EObject lv_typeGuard_1_0 = null; + + EObject lv_case_3_0 = null; + + EObject lv_then_5_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:5888:2: ( ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) ) + // InternalExpression.g:5889:2: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) + { + // InternalExpression.g:5889:2: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) + // InternalExpression.g:5890:3: () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) + { + // InternalExpression.g:5890:3: () + // InternalExpression.g:5891:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXCasePartAccess().getXCasePartAction_0(), + current); + + } + + } + + // InternalExpression.g:5897:3: ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? + int alt88=2; + int LA88_0 = input.LA(1); + + if ( (LA88_0==RULE_ID||LA88_0==17||LA88_0==76) ) { + alt88=1; + } + switch (alt88) { + case 1 : + // InternalExpression.g:5898:4: (lv_typeGuard_1_0= ruleJvmTypeReference ) + { + // InternalExpression.g:5898:4: (lv_typeGuard_1_0= ruleJvmTypeReference ) + // InternalExpression.g:5899:5: lv_typeGuard_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_69); + lv_typeGuard_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + current, + "typeGuard", + lv_typeGuard_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + // InternalExpression.g:5916:3: (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? + int alt89=2; + int LA89_0 = input.LA(1); + + if ( (LA89_0==28) ) { + alt89=1; + } + switch (alt89) { + case 1 : + // InternalExpression.g:5917:4: otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) + { + otherlv_2=(Token)match(input,28,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); + + } + // InternalExpression.g:5921:4: ( (lv_case_3_0= ruleXExpression ) ) + // InternalExpression.g:5922:5: (lv_case_3_0= ruleXExpression ) + { + // InternalExpression.g:5922:5: (lv_case_3_0= ruleXExpression ) + // InternalExpression.g:5923:6: lv_case_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); + + } + pushFollow(FOLLOW_70); + lv_case_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + current, + "case", + lv_case_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + // InternalExpression.g:5941:3: ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) + int alt90=2; + int LA90_0 = input.LA(1); + + if ( (LA90_0==16) ) { + alt90=1; + } + else if ( (LA90_0==44) ) { + alt90=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 90, 0, input); + + throw nvae; + } + switch (alt90) { + case 1 : + // InternalExpression.g:5942:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) + { + // InternalExpression.g:5942:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) + // InternalExpression.g:5943:5: otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) + { + otherlv_4=(Token)match(input,16,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); + + } + // InternalExpression.g:5947:5: ( (lv_then_5_0= ruleXExpression ) ) + // InternalExpression.g:5948:6: (lv_then_5_0= ruleXExpression ) + { + // InternalExpression.g:5948:6: (lv_then_5_0= ruleXExpression ) + // InternalExpression.g:5949:7: lv_then_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); + + } + pushFollow(FOLLOW_2); + lv_then_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + current, + "then", + lv_then_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalExpression.g:5968:4: ( (lv_fallThrough_6_0= ',' ) ) + { + // InternalExpression.g:5968:4: ( (lv_fallThrough_6_0= ',' ) ) + // InternalExpression.g:5969:5: (lv_fallThrough_6_0= ',' ) + { + // InternalExpression.g:5969:5: (lv_fallThrough_6_0= ',' ) + // InternalExpression.g:5970:6: lv_fallThrough_6_0= ',' + { + lv_fallThrough_6_0=(Token)match(input,44,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_fallThrough_6_0, grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXCasePartRule()); + } + setWithLastConsumed(current, "fallThrough", lv_fallThrough_6_0 != null, ","); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXCasePart" + + + // $ANTLR start "entryRuleXForLoopExpression" + // InternalExpression.g:5987:1: entryRuleXForLoopExpression returns [EObject current=null] : iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ; + public final EObject entryRuleXForLoopExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXForLoopExpression = null; + + + try { + // InternalExpression.g:5987:59: (iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ) + // InternalExpression.g:5988:2: iv_ruleXForLoopExpression= ruleXForLoopExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXForLoopExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXForLoopExpression=ruleXForLoopExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXForLoopExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXForLoopExpression" + + + // $ANTLR start "ruleXForLoopExpression" + // InternalExpression.g:5994:1: ruleXForLoopExpression returns [EObject current=null] : ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) ; + public final EObject ruleXForLoopExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_declaredParam_3_0 = null; + + EObject lv_forExpression_5_0 = null; + + EObject lv_eachExpression_7_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:6000:2: ( ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) ) + // InternalExpression.g:6001:2: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) + { + // InternalExpression.g:6001:2: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) + // InternalExpression.g:6002:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) + { + // InternalExpression.g:6002:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) + // InternalExpression.g:6003:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) + { + // InternalExpression.g:6016:4: ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) + // InternalExpression.g:6017:5: () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' + { + // InternalExpression.g:6017:5: () + // InternalExpression.g:6018:6: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,87,FOLLOW_25); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); + + } + otherlv_2=(Token)match(input,17,FOLLOW_43); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + + } + // InternalExpression.g:6032:5: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) + // InternalExpression.g:6033:6: (lv_declaredParam_3_0= ruleJvmFormalParameter ) + { + // InternalExpression.g:6033:6: (lv_declaredParam_3_0= ruleJvmFormalParameter ) + // InternalExpression.g:6034:7: lv_declaredParam_3_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); + + } + pushFollow(FOLLOW_6); + lv_declaredParam_3_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + current, + "declaredParam", + lv_declaredParam_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,16,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); + + } + + } + + + } + + // InternalExpression.g:6057:3: ( (lv_forExpression_5_0= ruleXExpression ) ) + // InternalExpression.g:6058:4: (lv_forExpression_5_0= ruleXExpression ) + { + // InternalExpression.g:6058:4: (lv_forExpression_5_0= ruleXExpression ) + // InternalExpression.g:6059:5: lv_forExpression_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_8); + lv_forExpression_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + current, + "forExpression", + lv_forExpression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_6=(Token)match(input,18,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); + + } + // InternalExpression.g:6080:3: ( (lv_eachExpression_7_0= ruleXExpression ) ) + // InternalExpression.g:6081:4: (lv_eachExpression_7_0= ruleXExpression ) + { + // InternalExpression.g:6081:4: (lv_eachExpression_7_0= ruleXExpression ) + // InternalExpression.g:6082:5: lv_eachExpression_7_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_2); + lv_eachExpression_7_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + current, + "eachExpression", + lv_eachExpression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXForLoopExpression" + + + // $ANTLR start "entryRuleXBasicForLoopExpression" + // InternalExpression.g:6103:1: entryRuleXBasicForLoopExpression returns [EObject current=null] : iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ; + public final EObject entryRuleXBasicForLoopExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXBasicForLoopExpression = null; + + + try { + // InternalExpression.g:6103:64: (iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ) + // InternalExpression.g:6104:2: iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXBasicForLoopExpression=ruleXBasicForLoopExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXBasicForLoopExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXBasicForLoopExpression" + + + // $ANTLR start "ruleXBasicForLoopExpression" + // InternalExpression.g:6110:1: ruleXBasicForLoopExpression returns [EObject current=null] : ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) ; + public final EObject ruleXBasicForLoopExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_12=null; + EObject lv_initExpressions_3_0 = null; + + EObject lv_initExpressions_5_0 = null; + + EObject lv_expression_7_0 = null; + + EObject lv_updateExpressions_9_0 = null; + + EObject lv_updateExpressions_11_0 = null; + + EObject lv_eachExpression_13_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:6116:2: ( ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) ) + // InternalExpression.g:6117:2: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) + { + // InternalExpression.g:6117:2: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) + // InternalExpression.g:6118:3: () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) + { + // InternalExpression.g:6118:3: () + // InternalExpression.g:6119:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,87,FOLLOW_25); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); + + } + otherlv_2=(Token)match(input,17,FOLLOW_71); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); + + } + // InternalExpression.g:6133:3: ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? + int alt92=2; + int LA92_0 = input.LA(1); + + if ( (LA92_0==RULE_INT||(LA92_0>=RULE_STRING && LA92_0<=RULE_DECIMAL)||LA92_0==17||LA92_0==21||(LA92_0>=24 && LA92_0<=25)||(LA92_0>=37 && LA92_0<=39)||LA92_0==42||(LA92_0>=55 && LA92_0<=57)||LA92_0==59||LA92_0==63||LA92_0==85||(LA92_0>=87 && LA92_0<=100)||LA92_0==102) ) { + alt92=1; + } + switch (alt92) { + case 1 : + // InternalExpression.g:6134:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* + { + // InternalExpression.g:6134:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) + // InternalExpression.g:6135:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) + { + // InternalExpression.g:6135:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) + // InternalExpression.g:6136:6: lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); + + } + pushFollow(FOLLOW_72); + lv_initExpressions_3_0=ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + current, + "initExpressions", + lv_initExpressions_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:6153:4: (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* + loop91: + do { + int alt91=2; + int LA91_0 = input.LA(1); + + if ( (LA91_0==44) ) { + alt91=1; + } + + + switch (alt91) { + case 1 : + // InternalExpression.g:6154:5: otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) + { + otherlv_4=(Token)match(input,44,FOLLOW_73); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); + + } + // InternalExpression.g:6158:5: ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) + // InternalExpression.g:6159:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) + { + // InternalExpression.g:6159:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) + // InternalExpression.g:6160:7: lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); + + } + pushFollow(FOLLOW_72); + lv_initExpressions_5_0=ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + current, + "initExpressions", + lv_initExpressions_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop91; + } + } while (true); + + + } + break; + + } + + otherlv_6=(Token)match(input,86,FOLLOW_74); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); + + } + // InternalExpression.g:6183:3: ( (lv_expression_7_0= ruleXExpression ) )? + int alt93=2; + int LA93_0 = input.LA(1); + + if ( (LA93_0==RULE_INT||(LA93_0>=RULE_STRING && LA93_0<=RULE_DECIMAL)||LA93_0==17||LA93_0==21||(LA93_0>=24 && LA93_0<=25)||(LA93_0>=37 && LA93_0<=39)||LA93_0==42||(LA93_0>=55 && LA93_0<=57)||LA93_0==59||LA93_0==63||LA93_0==85||(LA93_0>=87 && LA93_0<=89)||(LA93_0>=92 && LA93_0<=100)||LA93_0==102) ) { + alt93=1; + } + switch (alt93) { + case 1 : + // InternalExpression.g:6184:4: (lv_expression_7_0= ruleXExpression ) + { + // InternalExpression.g:6184:4: (lv_expression_7_0= ruleXExpression ) + // InternalExpression.g:6185:5: lv_expression_7_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); + + } + pushFollow(FOLLOW_75); + lv_expression_7_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + set( + current, + "expression", + lv_expression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + otherlv_8=(Token)match(input,86,FOLLOW_76); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); + + } + // InternalExpression.g:6206:3: ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? + int alt95=2; + int LA95_0 = input.LA(1); + + if ( (LA95_0==RULE_INT||(LA95_0>=RULE_STRING && LA95_0<=RULE_DECIMAL)||LA95_0==17||LA95_0==21||(LA95_0>=24 && LA95_0<=25)||(LA95_0>=37 && LA95_0<=39)||LA95_0==42||(LA95_0>=55 && LA95_0<=57)||LA95_0==59||LA95_0==63||LA95_0==85||(LA95_0>=87 && LA95_0<=89)||(LA95_0>=92 && LA95_0<=100)||LA95_0==102) ) { + alt95=1; + } + switch (alt95) { + case 1 : + // InternalExpression.g:6207:4: ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* + { + // InternalExpression.g:6207:4: ( (lv_updateExpressions_9_0= ruleXExpression ) ) + // InternalExpression.g:6208:5: (lv_updateExpressions_9_0= ruleXExpression ) + { + // InternalExpression.g:6208:5: (lv_updateExpressions_9_0= ruleXExpression ) + // InternalExpression.g:6209:6: lv_updateExpressions_9_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); + + } + pushFollow(FOLLOW_27); + lv_updateExpressions_9_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + current, + "updateExpressions", + lv_updateExpressions_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:6226:4: (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* + loop94: + do { + int alt94=2; + int LA94_0 = input.LA(1); + + if ( (LA94_0==44) ) { + alt94=1; + } + + + switch (alt94) { + case 1 : + // InternalExpression.g:6227:5: otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) + { + otherlv_10=(Token)match(input,44,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); + + } + // InternalExpression.g:6231:5: ( (lv_updateExpressions_11_0= ruleXExpression ) ) + // InternalExpression.g:6232:6: (lv_updateExpressions_11_0= ruleXExpression ) + { + // InternalExpression.g:6232:6: (lv_updateExpressions_11_0= ruleXExpression ) + // InternalExpression.g:6233:7: lv_updateExpressions_11_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); + + } + pushFollow(FOLLOW_27); + lv_updateExpressions_11_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + current, + "updateExpressions", + lv_updateExpressions_11_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop94; + } + } while (true); + + + } + break; + + } + + otherlv_12=(Token)match(input,18,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_12, grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); + + } + // InternalExpression.g:6256:3: ( (lv_eachExpression_13_0= ruleXExpression ) ) + // InternalExpression.g:6257:4: (lv_eachExpression_13_0= ruleXExpression ) + { + // InternalExpression.g:6257:4: (lv_eachExpression_13_0= ruleXExpression ) + // InternalExpression.g:6258:5: lv_eachExpression_13_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); + + } + pushFollow(FOLLOW_2); + lv_eachExpression_13_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + set( + current, + "eachExpression", + lv_eachExpression_13_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXBasicForLoopExpression" + + + // $ANTLR start "entryRuleXWhileExpression" + // InternalExpression.g:6279:1: entryRuleXWhileExpression returns [EObject current=null] : iv_ruleXWhileExpression= ruleXWhileExpression EOF ; + public final EObject entryRuleXWhileExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXWhileExpression = null; + + + try { + // InternalExpression.g:6279:57: (iv_ruleXWhileExpression= ruleXWhileExpression EOF ) + // InternalExpression.g:6280:2: iv_ruleXWhileExpression= ruleXWhileExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXWhileExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXWhileExpression=ruleXWhileExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXWhileExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXWhileExpression" + + + // $ANTLR start "ruleXWhileExpression" + // InternalExpression.g:6286:1: ruleXWhileExpression returns [EObject current=null] : ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) ; + public final EObject ruleXWhileExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + EObject lv_predicate_3_0 = null; + + EObject lv_body_5_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:6292:2: ( ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) ) + // InternalExpression.g:6293:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) + { + // InternalExpression.g:6293:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) + // InternalExpression.g:6294:3: () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) + { + // InternalExpression.g:6294:3: () + // InternalExpression.g:6295:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,88,FOLLOW_25); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); + + } + otherlv_2=(Token)match(input,17,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); + + } + // InternalExpression.g:6309:3: ( (lv_predicate_3_0= ruleXExpression ) ) + // InternalExpression.g:6310:4: (lv_predicate_3_0= ruleXExpression ) + { + // InternalExpression.g:6310:4: (lv_predicate_3_0= ruleXExpression ) + // InternalExpression.g:6311:5: lv_predicate_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_8); + lv_predicate_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXWhileExpressionRule()); + } + set( + current, + "predicate", + lv_predicate_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,18,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); + + } + // InternalExpression.g:6332:3: ( (lv_body_5_0= ruleXExpression ) ) + // InternalExpression.g:6333:4: (lv_body_5_0= ruleXExpression ) + { + // InternalExpression.g:6333:4: (lv_body_5_0= ruleXExpression ) + // InternalExpression.g:6334:5: lv_body_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); + + } + pushFollow(FOLLOW_2); + lv_body_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXWhileExpressionRule()); + } + set( + current, + "body", + lv_body_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXWhileExpression" + + + // $ANTLR start "entryRuleXDoWhileExpression" + // InternalExpression.g:6355:1: entryRuleXDoWhileExpression returns [EObject current=null] : iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ; + public final EObject entryRuleXDoWhileExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXDoWhileExpression = null; + + + try { + // InternalExpression.g:6355:59: (iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ) + // InternalExpression.g:6356:2: iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXDoWhileExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXDoWhileExpression=ruleXDoWhileExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXDoWhileExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXDoWhileExpression" + + + // $ANTLR start "ruleXDoWhileExpression" + // InternalExpression.g:6362:1: ruleXDoWhileExpression returns [EObject current=null] : ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) ; + public final EObject ruleXDoWhileExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_body_2_0 = null; + + EObject lv_predicate_5_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:6368:2: ( ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) ) + // InternalExpression.g:6369:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) + { + // InternalExpression.g:6369:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) + // InternalExpression.g:6370:3: () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' + { + // InternalExpression.g:6370:3: () + // InternalExpression.g:6371:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,89,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); + + } + // InternalExpression.g:6381:3: ( (lv_body_2_0= ruleXExpression ) ) + // InternalExpression.g:6382:4: (lv_body_2_0= ruleXExpression ) + { + // InternalExpression.g:6382:4: (lv_body_2_0= ruleXExpression ) + // InternalExpression.g:6383:5: lv_body_2_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_77); + lv_body_2_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule()); + } + set( + current, + "body", + lv_body_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_3=(Token)match(input,88,FOLLOW_25); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); + + } + otherlv_4=(Token)match(input,17,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); + + } + // InternalExpression.g:6408:3: ( (lv_predicate_5_0= ruleXExpression ) ) + // InternalExpression.g:6409:4: (lv_predicate_5_0= ruleXExpression ) + { + // InternalExpression.g:6409:4: (lv_predicate_5_0= ruleXExpression ) + // InternalExpression.g:6410:5: lv_predicate_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); + + } + pushFollow(FOLLOW_8); + lv_predicate_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule()); + } + set( + current, + "predicate", + lv_predicate_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_6=(Token)match(input,18,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXDoWhileExpression" + + + // $ANTLR start "entryRuleXBlockExpression" + // InternalExpression.g:6435:1: entryRuleXBlockExpression returns [EObject current=null] : iv_ruleXBlockExpression= ruleXBlockExpression EOF ; + public final EObject entryRuleXBlockExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXBlockExpression = null; + + + try { + // InternalExpression.g:6435:57: (iv_ruleXBlockExpression= ruleXBlockExpression EOF ) + // InternalExpression.g:6436:2: iv_ruleXBlockExpression= ruleXBlockExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXBlockExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXBlockExpression=ruleXBlockExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXBlockExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXBlockExpression" + + + // $ANTLR start "ruleXBlockExpression" + // InternalExpression.g:6442:1: ruleXBlockExpression returns [EObject current=null] : ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) ; + public final EObject ruleXBlockExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_4=null; + EObject lv_expressions_2_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:6448:2: ( ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) ) + // InternalExpression.g:6449:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) + { + // InternalExpression.g:6449:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) + // InternalExpression.g:6450:3: () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' + { + // InternalExpression.g:6450:3: () + // InternalExpression.g:6451:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,25,FOLLOW_78); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); + + } + // InternalExpression.g:6461:3: ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* + loop97: + do { + int alt97=2; + int LA97_0 = input.LA(1); + + if ( (LA97_0==RULE_INT||(LA97_0>=RULE_STRING && LA97_0<=RULE_DECIMAL)||LA97_0==17||LA97_0==21||(LA97_0>=24 && LA97_0<=25)||(LA97_0>=37 && LA97_0<=39)||LA97_0==42||(LA97_0>=55 && LA97_0<=57)||LA97_0==59||LA97_0==63||LA97_0==85||(LA97_0>=87 && LA97_0<=100)||LA97_0==102) ) { + alt97=1; + } + + + switch (alt97) { + case 1 : + // InternalExpression.g:6462:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? + { + // InternalExpression.g:6462:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) + // InternalExpression.g:6463:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) + { + // InternalExpression.g:6463:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) + // InternalExpression.g:6464:6: lv_expressions_2_0= ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); + + } + pushFollow(FOLLOW_79); + lv_expressions_2_0=ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBlockExpressionRule()); + } + add( + current, + "expressions", + lv_expressions_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:6481:4: (otherlv_3= ';' )? + int alt96=2; + int LA96_0 = input.LA(1); + + if ( (LA96_0==86) ) { + alt96=1; + } + switch (alt96) { + case 1 : + // InternalExpression.g:6482:5: otherlv_3= ';' + { + otherlv_3=(Token)match(input,86,FOLLOW_78); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); + + } + + } + break; + + } + + + } + break; + + default : + break loop97; + } + } while (true); + + otherlv_4=(Token)match(input,27,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXBlockExpression" + + + // $ANTLR start "entryRuleXExpressionOrVarDeclaration" + // InternalExpression.g:6496:1: entryRuleXExpressionOrVarDeclaration returns [EObject current=null] : iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ; + public final EObject entryRuleXExpressionOrVarDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXExpressionOrVarDeclaration = null; + + + try { + // InternalExpression.g:6496:68: (iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ) + // InternalExpression.g:6497:2: iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXExpressionOrVarDeclaration=ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXExpressionOrVarDeclaration; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXExpressionOrVarDeclaration" + + + // $ANTLR start "ruleXExpressionOrVarDeclaration" + // InternalExpression.g:6503:1: ruleXExpressionOrVarDeclaration returns [EObject current=null] : (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) ; + public final EObject ruleXExpressionOrVarDeclaration() throws RecognitionException { + EObject current = null; + + EObject this_XVariableDeclaration_0 = null; + + EObject this_XExpression_1 = null; + + + + enterRule(); + + try { + // InternalExpression.g:6509:2: ( (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) ) + // InternalExpression.g:6510:2: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) + { + // InternalExpression.g:6510:2: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) + int alt98=2; + int LA98_0 = input.LA(1); + + if ( ((LA98_0>=90 && LA98_0<=91)) ) { + alt98=1; + } + else if ( (LA98_0==RULE_INT||(LA98_0>=RULE_STRING && LA98_0<=RULE_DECIMAL)||LA98_0==17||LA98_0==21||(LA98_0>=24 && LA98_0<=25)||(LA98_0>=37 && LA98_0<=39)||LA98_0==42||(LA98_0>=55 && LA98_0<=57)||LA98_0==59||LA98_0==63||LA98_0==85||(LA98_0>=87 && LA98_0<=89)||(LA98_0>=92 && LA98_0<=100)||LA98_0==102) ) { + alt98=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 98, 0, input); + + throw nvae; + } + switch (alt98) { + case 1 : + // InternalExpression.g:6511:3: this_XVariableDeclaration_0= ruleXVariableDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_XVariableDeclaration_0=ruleXVariableDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XVariableDeclaration_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalExpression.g:6520:3: this_XExpression_1= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XExpression_1=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XExpression_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXExpressionOrVarDeclaration" + + + // $ANTLR start "entryRuleXVariableDeclaration" + // InternalExpression.g:6532:1: entryRuleXVariableDeclaration returns [EObject current=null] : iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ; + public final EObject entryRuleXVariableDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXVariableDeclaration = null; + + + try { + // InternalExpression.g:6532:61: (iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ) + // InternalExpression.g:6533:2: iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXVariableDeclarationRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXVariableDeclaration=ruleXVariableDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXVariableDeclaration; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXVariableDeclaration" + + + // $ANTLR start "ruleXVariableDeclaration" + // InternalExpression.g:6539:1: ruleXVariableDeclaration returns [EObject current=null] : ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) ; + public final EObject ruleXVariableDeclaration() throws RecognitionException { + EObject current = null; + + Token lv_writeable_1_0=null; + Token otherlv_2=null; + Token otherlv_6=null; + EObject lv_type_3_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + AntlrDatatypeRuleToken lv_name_5_0 = null; + + EObject lv_right_7_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:6545:2: ( ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) ) + // InternalExpression.g:6546:2: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) + { + // InternalExpression.g:6546:2: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) + // InternalExpression.g:6547:3: () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? + { + // InternalExpression.g:6547:3: () + // InternalExpression.g:6548:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0(), + current); + + } + + } + + // InternalExpression.g:6554:3: ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) + int alt99=2; + int LA99_0 = input.LA(1); + + if ( (LA99_0==90) ) { + alt99=1; + } + else if ( (LA99_0==91) ) { + alt99=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 99, 0, input); + + throw nvae; + } + switch (alt99) { + case 1 : + // InternalExpression.g:6555:4: ( (lv_writeable_1_0= 'var' ) ) + { + // InternalExpression.g:6555:4: ( (lv_writeable_1_0= 'var' ) ) + // InternalExpression.g:6556:5: (lv_writeable_1_0= 'var' ) + { + // InternalExpression.g:6556:5: (lv_writeable_1_0= 'var' ) + // InternalExpression.g:6557:6: lv_writeable_1_0= 'var' + { + lv_writeable_1_0=(Token)match(input,90,FOLLOW_43); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_writeable_1_0, grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXVariableDeclarationRule()); + } + setWithLastConsumed(current, "writeable", lv_writeable_1_0 != null, "var"); + + } + + } + + + } + + + } + break; + case 2 : + // InternalExpression.g:6570:4: otherlv_2= 'val' + { + otherlv_2=(Token)match(input,91,FOLLOW_43); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); + + } + + } + break; + + } + + // InternalExpression.g:6575:3: ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) + int alt100=2; + int LA100_0 = input.LA(1); + + if ( (LA100_0==RULE_ID) ) { + int LA100_1 = input.LA(2); + + if ( (synpred31_InternalExpression()) ) { + alt100=1; + } + else if ( (true) ) { + alt100=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 100, 1, input); + + throw nvae; + } + } + else if ( (LA100_0==17) && (synpred31_InternalExpression())) { + alt100=1; + } + else if ( (LA100_0==76) && (synpred31_InternalExpression())) { + alt100=1; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 100, 0, input); + + throw nvae; + } + switch (alt100) { + case 1 : + // InternalExpression.g:6576:4: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) + { + // InternalExpression.g:6576:4: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) + // InternalExpression.g:6577:5: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) + { + // InternalExpression.g:6590:5: ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) + // InternalExpression.g:6591:6: ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) + { + // InternalExpression.g:6591:6: ( (lv_type_3_0= ruleJvmTypeReference ) ) + // InternalExpression.g:6592:7: (lv_type_3_0= ruleJvmTypeReference ) + { + // InternalExpression.g:6592:7: (lv_type_3_0= ruleJvmTypeReference ) + // InternalExpression.g:6593:8: lv_type_3_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); + + } + pushFollow(FOLLOW_3); + lv_type_3_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:6610:6: ( (lv_name_4_0= ruleValidID ) ) + // InternalExpression.g:6611:7: (lv_name_4_0= ruleValidID ) + { + // InternalExpression.g:6611:7: (lv_name_4_0= ruleValidID ) + // InternalExpression.g:6612:8: lv_name_4_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); + + } + pushFollow(FOLLOW_80); + lv_name_4_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + current, + "name", + lv_name_4_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + + } + break; + case 2 : + // InternalExpression.g:6632:4: ( (lv_name_5_0= ruleValidID ) ) + { + // InternalExpression.g:6632:4: ( (lv_name_5_0= ruleValidID ) ) + // InternalExpression.g:6633:5: (lv_name_5_0= ruleValidID ) + { + // InternalExpression.g:6633:5: (lv_name_5_0= ruleValidID ) + // InternalExpression.g:6634:6: lv_name_5_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); + + } + pushFollow(FOLLOW_80); + lv_name_5_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + current, + "name", + lv_name_5_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + // InternalExpression.g:6652:3: (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? + int alt101=2; + int LA101_0 = input.LA(1); + + if ( (LA101_0==15) ) { + alt101=1; + } + switch (alt101) { + case 1 : + // InternalExpression.g:6653:4: otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) + { + otherlv_6=(Token)match(input,15,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); + + } + // InternalExpression.g:6657:4: ( (lv_right_7_0= ruleXExpression ) ) + // InternalExpression.g:6658:5: (lv_right_7_0= ruleXExpression ) + { + // InternalExpression.g:6658:5: (lv_right_7_0= ruleXExpression ) + // InternalExpression.g:6659:6: lv_right_7_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); + + } + pushFollow(FOLLOW_2); + lv_right_7_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + current, + "right", + lv_right_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXVariableDeclaration" + + + // $ANTLR start "entryRuleJvmFormalParameter" + // InternalExpression.g:6681:1: entryRuleJvmFormalParameter returns [EObject current=null] : iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ; + public final EObject entryRuleJvmFormalParameter() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmFormalParameter = null; + + + try { + // InternalExpression.g:6681:59: (iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ) + // InternalExpression.g:6682:2: iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmFormalParameterRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmFormalParameter=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmFormalParameter; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmFormalParameter" + + + // $ANTLR start "ruleJvmFormalParameter" + // InternalExpression.g:6688:1: ruleJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) ; + public final EObject ruleJvmFormalParameter() throws RecognitionException { + EObject current = null; + + EObject lv_parameterType_0_0 = null; + + AntlrDatatypeRuleToken lv_name_1_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:6694:2: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) ) + // InternalExpression.g:6695:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) + { + // InternalExpression.g:6695:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) + // InternalExpression.g:6696:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) + { + // InternalExpression.g:6696:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? + int alt102=2; + int LA102_0 = input.LA(1); + + if ( (LA102_0==RULE_ID) ) { + int LA102_1 = input.LA(2); + + if ( (LA102_1==RULE_ID||LA102_1==37||LA102_1==43||LA102_1==63) ) { + alt102=1; + } + } + else if ( (LA102_0==17||LA102_0==76) ) { + alt102=1; + } + switch (alt102) { + case 1 : + // InternalExpression.g:6697:4: (lv_parameterType_0_0= ruleJvmTypeReference ) + { + // InternalExpression.g:6697:4: (lv_parameterType_0_0= ruleJvmTypeReference ) + // InternalExpression.g:6698:5: lv_parameterType_0_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + + } + pushFollow(FOLLOW_3); + lv_parameterType_0_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule()); + } + set( + current, + "parameterType", + lv_parameterType_0_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + // InternalExpression.g:6715:3: ( (lv_name_1_0= ruleValidID ) ) + // InternalExpression.g:6716:4: (lv_name_1_0= ruleValidID ) + { + // InternalExpression.g:6716:4: (lv_name_1_0= ruleValidID ) + // InternalExpression.g:6717:5: lv_name_1_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_name_1_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule()); + } + set( + current, + "name", + lv_name_1_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmFormalParameter" + + + // $ANTLR start "entryRuleFullJvmFormalParameter" + // InternalExpression.g:6738:1: entryRuleFullJvmFormalParameter returns [EObject current=null] : iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ; + public final EObject entryRuleFullJvmFormalParameter() throws RecognitionException { + EObject current = null; + + EObject iv_ruleFullJvmFormalParameter = null; + + + try { + // InternalExpression.g:6738:63: (iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ) + // InternalExpression.g:6739:2: iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getFullJvmFormalParameterRule()); + } + pushFollow(FOLLOW_1); + iv_ruleFullJvmFormalParameter=ruleFullJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleFullJvmFormalParameter; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFullJvmFormalParameter" + + + // $ANTLR start "ruleFullJvmFormalParameter" + // InternalExpression.g:6745:1: ruleFullJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) ; + public final EObject ruleFullJvmFormalParameter() throws RecognitionException { + EObject current = null; + + EObject lv_parameterType_0_0 = null; + + AntlrDatatypeRuleToken lv_name_1_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:6751:2: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) ) + // InternalExpression.g:6752:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) + { + // InternalExpression.g:6752:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) + // InternalExpression.g:6753:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) + { + // InternalExpression.g:6753:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) + // InternalExpression.g:6754:4: (lv_parameterType_0_0= ruleJvmTypeReference ) + { + // InternalExpression.g:6754:4: (lv_parameterType_0_0= ruleJvmTypeReference ) + // InternalExpression.g:6755:5: lv_parameterType_0_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + + } + pushFollow(FOLLOW_3); + lv_parameterType_0_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule()); + } + set( + current, + "parameterType", + lv_parameterType_0_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:6772:3: ( (lv_name_1_0= ruleValidID ) ) + // InternalExpression.g:6773:4: (lv_name_1_0= ruleValidID ) + { + // InternalExpression.g:6773:4: (lv_name_1_0= ruleValidID ) + // InternalExpression.g:6774:5: lv_name_1_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_name_1_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule()); + } + set( + current, + "name", + lv_name_1_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFullJvmFormalParameter" + + + // $ANTLR start "entryRuleXFeatureCall" + // InternalExpression.g:6795:1: entryRuleXFeatureCall returns [EObject current=null] : iv_ruleXFeatureCall= ruleXFeatureCall EOF ; + public final EObject entryRuleXFeatureCall() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXFeatureCall = null; + + + try { + // InternalExpression.g:6795:53: (iv_ruleXFeatureCall= ruleXFeatureCall EOF ) + // InternalExpression.g:6796:2: iv_ruleXFeatureCall= ruleXFeatureCall EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXFeatureCallRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXFeatureCall=ruleXFeatureCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXFeatureCall; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXFeatureCall" + + + // $ANTLR start "ruleXFeatureCall" + // InternalExpression.g:6802:1: ruleXFeatureCall returns [EObject current=null] : ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) ; + public final EObject ruleXFeatureCall() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token lv_explicitOperationCall_7_0=null; + Token otherlv_10=null; + Token otherlv_12=null; + EObject lv_typeArguments_2_0 = null; + + EObject lv_typeArguments_4_0 = null; + + EObject lv_featureCallArguments_8_0 = null; + + EObject lv_featureCallArguments_9_0 = null; + + EObject lv_featureCallArguments_11_0 = null; + + EObject lv_featureCallArguments_13_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:6808:2: ( ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) ) + // InternalExpression.g:6809:2: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) + { + // InternalExpression.g:6809:2: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) + // InternalExpression.g:6810:3: () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? + { + // InternalExpression.g:6810:3: () + // InternalExpression.g:6811:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0(), + current); + + } + + } + + // InternalExpression.g:6817:3: (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? + int alt104=2; + int LA104_0 = input.LA(1); + + if ( (LA104_0==37) ) { + alt104=1; + } + switch (alt104) { + case 1 : + // InternalExpression.g:6818:4: otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' + { + otherlv_1=(Token)match(input,37,FOLLOW_54); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); + + } + // InternalExpression.g:6822:4: ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:6823:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:6823:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) + // InternalExpression.g:6824:6: lv_typeArguments_2_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_55); + lv_typeArguments_2_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:6841:4: (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* + loop103: + do { + int alt103=2; + int LA103_0 = input.LA(1); + + if ( (LA103_0==44) ) { + alt103=1; + } + + + switch (alt103) { + case 1 : + // InternalExpression.g:6842:5: otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) + { + otherlv_3=(Token)match(input,44,FOLLOW_54); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); + + } + // InternalExpression.g:6846:5: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:6847:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:6847:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) + // InternalExpression.g:6848:7: lv_typeArguments_4_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + + } + pushFollow(FOLLOW_55); + lv_typeArguments_4_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop103; + } + } while (true); + + otherlv_5=(Token)match(input,36,FOLLOW_53); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); + + } + + } + break; + + } + + // InternalExpression.g:6871:3: ( ( ruleIdOrSuper ) ) + // InternalExpression.g:6872:4: ( ruleIdOrSuper ) + { + // InternalExpression.g:6872:4: ( ruleIdOrSuper ) + // InternalExpression.g:6873:5: ruleIdOrSuper + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXFeatureCallRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); + + } + pushFollow(FOLLOW_81); + ruleIdOrSuper(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:6887:3: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? + int alt107=2; + alt107 = dfa107.predict(input); + switch (alt107) { + case 1 : + // InternalExpression.g:6888:4: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' + { + // InternalExpression.g:6888:4: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) + // InternalExpression.g:6889:5: ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) + { + // InternalExpression.g:6893:5: (lv_explicitOperationCall_7_0= '(' ) + // InternalExpression.g:6894:6: lv_explicitOperationCall_7_0= '(' + { + lv_explicitOperationCall_7_0=(Token)match(input,17,FOLLOW_57); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitOperationCall_7_0, grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXFeatureCallRule()); + } + setWithLastConsumed(current, "explicitOperationCall", lv_explicitOperationCall_7_0 != null, "("); + + } + + } + + + } + + // InternalExpression.g:6906:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? + int alt106=3; + alt106 = dfa106.predict(input); + switch (alt106) { + case 1 : + // InternalExpression.g:6907:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) + { + // InternalExpression.g:6907:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) + // InternalExpression.g:6908:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) + { + // InternalExpression.g:6933:6: (lv_featureCallArguments_8_0= ruleXShortClosure ) + // InternalExpression.g:6934:7: lv_featureCallArguments_8_0= ruleXShortClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); + + } + pushFollow(FOLLOW_8); + lv_featureCallArguments_8_0=ruleXShortClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "featureCallArguments", + lv_featureCallArguments_8_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + case 2 : + // InternalExpression.g:6952:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) + { + // InternalExpression.g:6952:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) + // InternalExpression.g:6953:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* + { + // InternalExpression.g:6953:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) + // InternalExpression.g:6954:7: (lv_featureCallArguments_9_0= ruleXExpression ) + { + // InternalExpression.g:6954:7: (lv_featureCallArguments_9_0= ruleXExpression ) + // InternalExpression.g:6955:8: lv_featureCallArguments_9_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); + + } + pushFollow(FOLLOW_27); + lv_featureCallArguments_9_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "featureCallArguments", + lv_featureCallArguments_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:6972:6: (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* + loop105: + do { + int alt105=2; + int LA105_0 = input.LA(1); + + if ( (LA105_0==44) ) { + alt105=1; + } + + + switch (alt105) { + case 1 : + // InternalExpression.g:6973:7: otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) + { + otherlv_10=(Token)match(input,44,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); + + } + // InternalExpression.g:6977:7: ( (lv_featureCallArguments_11_0= ruleXExpression ) ) + // InternalExpression.g:6978:8: (lv_featureCallArguments_11_0= ruleXExpression ) + { + // InternalExpression.g:6978:8: (lv_featureCallArguments_11_0= ruleXExpression ) + // InternalExpression.g:6979:9: lv_featureCallArguments_11_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); + + } + pushFollow(FOLLOW_27); + lv_featureCallArguments_11_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "featureCallArguments", + lv_featureCallArguments_11_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop105; + } + } while (true); + + + } + + + } + break; + + } + + otherlv_12=(Token)match(input,18,FOLLOW_82); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_12, grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); + + } + + } + break; + + } + + // InternalExpression.g:7004:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? + int alt108=2; + alt108 = dfa108.predict(input); + switch (alt108) { + case 1 : + // InternalExpression.g:7005:4: ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) + { + // InternalExpression.g:7011:4: (lv_featureCallArguments_13_0= ruleXClosure ) + // InternalExpression.g:7012:5: lv_featureCallArguments_13_0= ruleXClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); + + } + pushFollow(FOLLOW_2); + lv_featureCallArguments_13_0=ruleXClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "featureCallArguments", + lv_featureCallArguments_13_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXFeatureCall" + + + // $ANTLR start "entryRuleFeatureCallID" + // InternalExpression.g:7033:1: entryRuleFeatureCallID returns [String current=null] : iv_ruleFeatureCallID= ruleFeatureCallID EOF ; + public final String entryRuleFeatureCallID() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleFeatureCallID = null; + + + try { + // InternalExpression.g:7033:53: (iv_ruleFeatureCallID= ruleFeatureCallID EOF ) + // InternalExpression.g:7034:2: iv_ruleFeatureCallID= ruleFeatureCallID EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getFeatureCallIDRule()); + } + pushFollow(FOLLOW_1); + iv_ruleFeatureCallID=ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleFeatureCallID.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFeatureCallID" + + + // $ANTLR start "ruleFeatureCallID" + // InternalExpression.g:7040:1: ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) ; + public final AntlrDatatypeRuleToken ruleFeatureCallID() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + AntlrDatatypeRuleToken this_ValidID_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:7046:2: ( (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) ) + // InternalExpression.g:7047:2: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) + { + // InternalExpression.g:7047:2: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) + int alt109=5; + switch ( input.LA(1) ) { + case RULE_ID: + { + alt109=1; + } + break; + case 92: + { + alt109=2; + } + break; + case 93: + { + alt109=3; + } + break; + case 94: + { + alt109=4; + } + break; + case 95: + { + alt109=5; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 109, 0, input); + + throw nvae; + } + + switch (alt109) { + case 1 : + // InternalExpression.g:7048:3: this_ValidID_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_ValidID_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_ValidID_0); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalExpression.g:7059:3: kw= 'extends' + { + kw=(Token)match(input,92,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); + + } + + } + break; + case 3 : + // InternalExpression.g:7065:3: kw= 'static' + { + kw=(Token)match(input,93,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); + + } + + } + break; + case 4 : + // InternalExpression.g:7071:3: kw= 'import' + { + kw=(Token)match(input,94,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); + + } + + } + break; + case 5 : + // InternalExpression.g:7077:3: kw= 'extension' + { + kw=(Token)match(input,95,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFeatureCallID" + + + // $ANTLR start "entryRuleIdOrSuper" + // InternalExpression.g:7086:1: entryRuleIdOrSuper returns [String current=null] : iv_ruleIdOrSuper= ruleIdOrSuper EOF ; + public final String entryRuleIdOrSuper() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleIdOrSuper = null; + + + try { + // InternalExpression.g:7086:49: (iv_ruleIdOrSuper= ruleIdOrSuper EOF ) + // InternalExpression.g:7087:2: iv_ruleIdOrSuper= ruleIdOrSuper EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getIdOrSuperRule()); + } + pushFollow(FOLLOW_1); + iv_ruleIdOrSuper=ruleIdOrSuper(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleIdOrSuper.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleIdOrSuper" + + + // $ANTLR start "ruleIdOrSuper" + // InternalExpression.g:7093:1: ruleIdOrSuper returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) ; + public final AntlrDatatypeRuleToken ruleIdOrSuper() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + AntlrDatatypeRuleToken this_FeatureCallID_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:7099:2: ( (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) ) + // InternalExpression.g:7100:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) + { + // InternalExpression.g:7100:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) + int alt110=2; + int LA110_0 = input.LA(1); + + if ( (LA110_0==RULE_ID||(LA110_0>=92 && LA110_0<=95)) ) { + alt110=1; + } + else if ( (LA110_0==96) ) { + alt110=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 110, 0, input); + + throw nvae; + } + switch (alt110) { + case 1 : + // InternalExpression.g:7101:3: this_FeatureCallID_0= ruleFeatureCallID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_FeatureCallID_0=ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_FeatureCallID_0); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalExpression.g:7112:3: kw= 'super' + { + kw=(Token)match(input,96,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleIdOrSuper" + + + // $ANTLR start "entryRuleXConstructorCall" + // InternalExpression.g:7121:1: entryRuleXConstructorCall returns [EObject current=null] : iv_ruleXConstructorCall= ruleXConstructorCall EOF ; + public final EObject entryRuleXConstructorCall() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXConstructorCall = null; + + + try { + // InternalExpression.g:7121:57: (iv_ruleXConstructorCall= ruleXConstructorCall EOF ) + // InternalExpression.g:7122:2: iv_ruleXConstructorCall= ruleXConstructorCall EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXConstructorCallRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXConstructorCall=ruleXConstructorCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXConstructorCall; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXConstructorCall" + + + // $ANTLR start "ruleXConstructorCall" + // InternalExpression.g:7128:1: ruleXConstructorCall returns [EObject current=null] : ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) ; + public final EObject ruleXConstructorCall() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token lv_explicitConstructorCall_8_0=null; + Token otherlv_11=null; + Token otherlv_13=null; + EObject lv_typeArguments_4_0 = null; + + EObject lv_typeArguments_6_0 = null; + + EObject lv_arguments_9_0 = null; + + EObject lv_arguments_10_0 = null; + + EObject lv_arguments_12_0 = null; + + EObject lv_arguments_14_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:7134:2: ( ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) ) + // InternalExpression.g:7135:2: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) + { + // InternalExpression.g:7135:2: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) + // InternalExpression.g:7136:3: () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? + { + // InternalExpression.g:7136:3: () + // InternalExpression.g:7137:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,59,FOLLOW_3); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); + + } + // InternalExpression.g:7147:3: ( ( ruleQualifiedName ) ) + // InternalExpression.g:7148:4: ( ruleQualifiedName ) + { + // InternalExpression.g:7148:4: ( ruleQualifiedName ) + // InternalExpression.g:7149:5: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXConstructorCallRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); + + } + pushFollow(FOLLOW_83); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:7163:3: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? + int alt112=2; + alt112 = dfa112.predict(input); + switch (alt112) { + case 1 : + // InternalExpression.g:7164:4: ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' + { + // InternalExpression.g:7164:4: ( ( '<' )=>otherlv_3= '<' ) + // InternalExpression.g:7165:5: ( '<' )=>otherlv_3= '<' + { + otherlv_3=(Token)match(input,37,FOLLOW_54); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); + + } + + } + + // InternalExpression.g:7171:4: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:7172:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:7172:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) + // InternalExpression.g:7173:6: lv_typeArguments_4_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); + + } + pushFollow(FOLLOW_55); + lv_typeArguments_4_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:7190:4: (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* + loop111: + do { + int alt111=2; + int LA111_0 = input.LA(1); + + if ( (LA111_0==44) ) { + alt111=1; + } + + + switch (alt111) { + case 1 : + // InternalExpression.g:7191:5: otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) + { + otherlv_5=(Token)match(input,44,FOLLOW_54); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); + + } + // InternalExpression.g:7195:5: ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:7196:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:7196:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) + // InternalExpression.g:7197:7: lv_typeArguments_6_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); + + } + pushFollow(FOLLOW_55); + lv_typeArguments_6_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_6_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop111; + } + } while (true); + + otherlv_7=(Token)match(input,36,FOLLOW_81); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); + + } + + } + break; + + } + + // InternalExpression.g:7220:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? + int alt115=2; + alt115 = dfa115.predict(input); + switch (alt115) { + case 1 : + // InternalExpression.g:7221:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' + { + // InternalExpression.g:7221:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) + // InternalExpression.g:7222:5: ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) + { + // InternalExpression.g:7226:5: (lv_explicitConstructorCall_8_0= '(' ) + // InternalExpression.g:7227:6: lv_explicitConstructorCall_8_0= '(' + { + lv_explicitConstructorCall_8_0=(Token)match(input,17,FOLLOW_57); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitConstructorCall_8_0, grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXConstructorCallRule()); + } + setWithLastConsumed(current, "explicitConstructorCall", lv_explicitConstructorCall_8_0 != null, "("); + + } + + } + + + } + + // InternalExpression.g:7239:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? + int alt114=3; + alt114 = dfa114.predict(input); + switch (alt114) { + case 1 : + // InternalExpression.g:7240:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) + { + // InternalExpression.g:7240:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) + // InternalExpression.g:7241:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) + { + // InternalExpression.g:7266:6: (lv_arguments_9_0= ruleXShortClosure ) + // InternalExpression.g:7267:7: lv_arguments_9_0= ruleXShortClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); + + } + pushFollow(FOLLOW_8); + lv_arguments_9_0=ruleXShortClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "arguments", + lv_arguments_9_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + case 2 : + // InternalExpression.g:7285:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) + { + // InternalExpression.g:7285:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) + // InternalExpression.g:7286:6: ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* + { + // InternalExpression.g:7286:6: ( (lv_arguments_10_0= ruleXExpression ) ) + // InternalExpression.g:7287:7: (lv_arguments_10_0= ruleXExpression ) + { + // InternalExpression.g:7287:7: (lv_arguments_10_0= ruleXExpression ) + // InternalExpression.g:7288:8: lv_arguments_10_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); + + } + pushFollow(FOLLOW_27); + lv_arguments_10_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "arguments", + lv_arguments_10_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:7305:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* + loop113: + do { + int alt113=2; + int LA113_0 = input.LA(1); + + if ( (LA113_0==44) ) { + alt113=1; + } + + + switch (alt113) { + case 1 : + // InternalExpression.g:7306:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) + { + otherlv_11=(Token)match(input,44,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_11, grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); + + } + // InternalExpression.g:7310:7: ( (lv_arguments_12_0= ruleXExpression ) ) + // InternalExpression.g:7311:8: (lv_arguments_12_0= ruleXExpression ) + { + // InternalExpression.g:7311:8: (lv_arguments_12_0= ruleXExpression ) + // InternalExpression.g:7312:9: lv_arguments_12_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); + + } + pushFollow(FOLLOW_27); + lv_arguments_12_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "arguments", + lv_arguments_12_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop113; + } + } while (true); + + + } + + + } + break; + + } + + otherlv_13=(Token)match(input,18,FOLLOW_82); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_13, grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); + + } + + } + break; + + } + + // InternalExpression.g:7337:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? + int alt116=2; + alt116 = dfa116.predict(input); + switch (alt116) { + case 1 : + // InternalExpression.g:7338:4: ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) + { + // InternalExpression.g:7344:4: (lv_arguments_14_0= ruleXClosure ) + // InternalExpression.g:7345:5: lv_arguments_14_0= ruleXClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); + + } + pushFollow(FOLLOW_2); + lv_arguments_14_0=ruleXClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "arguments", + lv_arguments_14_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXConstructorCall" + + + // $ANTLR start "entryRuleXBooleanLiteral" + // InternalExpression.g:7366:1: entryRuleXBooleanLiteral returns [EObject current=null] : iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ; + public final EObject entryRuleXBooleanLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXBooleanLiteral = null; + + + try { + // InternalExpression.g:7366:56: (iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ) + // InternalExpression.g:7367:2: iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXBooleanLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXBooleanLiteral=ruleXBooleanLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXBooleanLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXBooleanLiteral" + + + // $ANTLR start "ruleXBooleanLiteral" + // InternalExpression.g:7373:1: ruleXBooleanLiteral returns [EObject current=null] : ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ; + public final EObject ruleXBooleanLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token lv_isTrue_2_0=null; + + + enterRule(); + + try { + // InternalExpression.g:7379:2: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ) + // InternalExpression.g:7380:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) + { + // InternalExpression.g:7380:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) + // InternalExpression.g:7381:3: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) + { + // InternalExpression.g:7381:3: () + // InternalExpression.g:7382:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0(), + current); + + } + + } + + // InternalExpression.g:7388:3: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) + int alt117=2; + int LA117_0 = input.LA(1); + + if ( (LA117_0==56) ) { + alt117=1; + } + else if ( (LA117_0==55) ) { + alt117=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 117, 0, input); + + throw nvae; + } + switch (alt117) { + case 1 : + // InternalExpression.g:7389:4: otherlv_1= 'false' + { + otherlv_1=(Token)match(input,56,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); + + } + + } + break; + case 2 : + // InternalExpression.g:7394:4: ( (lv_isTrue_2_0= 'true' ) ) + { + // InternalExpression.g:7394:4: ( (lv_isTrue_2_0= 'true' ) ) + // InternalExpression.g:7395:5: (lv_isTrue_2_0= 'true' ) + { + // InternalExpression.g:7395:5: (lv_isTrue_2_0= 'true' ) + // InternalExpression.g:7396:6: lv_isTrue_2_0= 'true' + { + lv_isTrue_2_0=(Token)match(input,55,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_isTrue_2_0, grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXBooleanLiteralRule()); + } + setWithLastConsumed(current, "isTrue", lv_isTrue_2_0 != null, "true"); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXBooleanLiteral" + + + // $ANTLR start "entryRuleXNullLiteral" + // InternalExpression.g:7413:1: entryRuleXNullLiteral returns [EObject current=null] : iv_ruleXNullLiteral= ruleXNullLiteral EOF ; + public final EObject entryRuleXNullLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXNullLiteral = null; + + + try { + // InternalExpression.g:7413:53: (iv_ruleXNullLiteral= ruleXNullLiteral EOF ) + // InternalExpression.g:7414:2: iv_ruleXNullLiteral= ruleXNullLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXNullLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXNullLiteral=ruleXNullLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXNullLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXNullLiteral" + + + // $ANTLR start "ruleXNullLiteral" + // InternalExpression.g:7420:1: ruleXNullLiteral returns [EObject current=null] : ( () otherlv_1= 'null' ) ; + public final EObject ruleXNullLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalExpression.g:7426:2: ( ( () otherlv_1= 'null' ) ) + // InternalExpression.g:7427:2: ( () otherlv_1= 'null' ) + { + // InternalExpression.g:7427:2: ( () otherlv_1= 'null' ) + // InternalExpression.g:7428:3: () otherlv_1= 'null' + { + // InternalExpression.g:7428:3: () + // InternalExpression.g:7429:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,57,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXNullLiteral" + + + // $ANTLR start "entryRuleXNumberLiteral" + // InternalExpression.g:7443:1: entryRuleXNumberLiteral returns [EObject current=null] : iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ; + public final EObject entryRuleXNumberLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXNumberLiteral = null; + + + try { + // InternalExpression.g:7443:55: (iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ) + // InternalExpression.g:7444:2: iv_ruleXNumberLiteral= ruleXNumberLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXNumberLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXNumberLiteral=ruleXNumberLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXNumberLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXNumberLiteral" + + + // $ANTLR start "ruleXNumberLiteral" + // InternalExpression.g:7450:1: ruleXNumberLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= ruleNumber ) ) ) ; + public final EObject ruleXNumberLiteral() throws RecognitionException { + EObject current = null; + + AntlrDatatypeRuleToken lv_value_1_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:7456:2: ( ( () ( (lv_value_1_0= ruleNumber ) ) ) ) + // InternalExpression.g:7457:2: ( () ( (lv_value_1_0= ruleNumber ) ) ) + { + // InternalExpression.g:7457:2: ( () ( (lv_value_1_0= ruleNumber ) ) ) + // InternalExpression.g:7458:3: () ( (lv_value_1_0= ruleNumber ) ) + { + // InternalExpression.g:7458:3: () + // InternalExpression.g:7459:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0(), + current); + + } + + } + + // InternalExpression.g:7465:3: ( (lv_value_1_0= ruleNumber ) ) + // InternalExpression.g:7466:4: (lv_value_1_0= ruleNumber ) + { + // InternalExpression.g:7466:4: (lv_value_1_0= ruleNumber ) + // InternalExpression.g:7467:5: lv_value_1_0= ruleNumber + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_value_1_0=ruleNumber(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXNumberLiteralRule()); + } + set( + current, + "value", + lv_value_1_0, + "org.eclipse.xtext.xbase.Xbase.Number"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXNumberLiteral" + + + // $ANTLR start "entryRuleXStringLiteral" + // InternalExpression.g:7488:1: entryRuleXStringLiteral returns [EObject current=null] : iv_ruleXStringLiteral= ruleXStringLiteral EOF ; + public final EObject entryRuleXStringLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXStringLiteral = null; + + + try { + // InternalExpression.g:7488:55: (iv_ruleXStringLiteral= ruleXStringLiteral EOF ) + // InternalExpression.g:7489:2: iv_ruleXStringLiteral= ruleXStringLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXStringLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXStringLiteral=ruleXStringLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXStringLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXStringLiteral" + + + // $ANTLR start "ruleXStringLiteral" + // InternalExpression.g:7495:1: ruleXStringLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_STRING ) ) ) ; + public final EObject ruleXStringLiteral() throws RecognitionException { + EObject current = null; + + Token lv_value_1_0=null; + + + enterRule(); + + try { + // InternalExpression.g:7501:2: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) ) + // InternalExpression.g:7502:2: ( () ( (lv_value_1_0= RULE_STRING ) ) ) + { + // InternalExpression.g:7502:2: ( () ( (lv_value_1_0= RULE_STRING ) ) ) + // InternalExpression.g:7503:3: () ( (lv_value_1_0= RULE_STRING ) ) + { + // InternalExpression.g:7503:3: () + // InternalExpression.g:7504:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0(), + current); + + } + + } + + // InternalExpression.g:7510:3: ( (lv_value_1_0= RULE_STRING ) ) + // InternalExpression.g:7511:4: (lv_value_1_0= RULE_STRING ) + { + // InternalExpression.g:7511:4: (lv_value_1_0= RULE_STRING ) + // InternalExpression.g:7512:5: lv_value_1_0= RULE_STRING + { + lv_value_1_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_value_1_0, grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXStringLiteralRule()); + } + setWithLastConsumed( + current, + "value", + lv_value_1_0, + "org.eclipse.xtext.xbase.Xtype.STRING"); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXStringLiteral" + + + // $ANTLR start "entryRuleXTypeLiteral" + // InternalExpression.g:7532:1: entryRuleXTypeLiteral returns [EObject current=null] : iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ; + public final EObject entryRuleXTypeLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXTypeLiteral = null; + + + try { + // InternalExpression.g:7532:53: (iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ) + // InternalExpression.g:7533:2: iv_ruleXTypeLiteral= ruleXTypeLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXTypeLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXTypeLiteral=ruleXTypeLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXTypeLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXTypeLiteral" + + + // $ANTLR start "ruleXTypeLiteral" + // InternalExpression.g:7539:1: ruleXTypeLiteral returns [EObject current=null] : ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) ; + public final EObject ruleXTypeLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_5=null; + AntlrDatatypeRuleToken lv_arrayDimensions_4_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:7545:2: ( ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) ) + // InternalExpression.g:7546:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) + { + // InternalExpression.g:7546:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) + // InternalExpression.g:7547:3: () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' + { + // InternalExpression.g:7547:3: () + // InternalExpression.g:7548:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,97,FOLLOW_25); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); + + } + otherlv_2=(Token)match(input,17,FOLLOW_3); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); + + } + // InternalExpression.g:7562:3: ( ( ruleQualifiedName ) ) + // InternalExpression.g:7563:4: ( ruleQualifiedName ) + { + // InternalExpression.g:7563:4: ( ruleQualifiedName ) + // InternalExpression.g:7564:5: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXTypeLiteralRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); + + } + pushFollow(FOLLOW_84); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:7578:3: ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* + loop118: + do { + int alt118=2; + int LA118_0 = input.LA(1); + + if ( (LA118_0==63) ) { + alt118=1; + } + + + switch (alt118) { + case 1 : + // InternalExpression.g:7579:4: (lv_arrayDimensions_4_0= ruleArrayBrackets ) + { + // InternalExpression.g:7579:4: (lv_arrayDimensions_4_0= ruleArrayBrackets ) + // InternalExpression.g:7580:5: lv_arrayDimensions_4_0= ruleArrayBrackets + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); + + } + pushFollow(FOLLOW_84); + lv_arrayDimensions_4_0=ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXTypeLiteralRule()); + } + add( + current, + "arrayDimensions", + lv_arrayDimensions_4_0, + "org.eclipse.xtext.xbase.Xtype.ArrayBrackets"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop118; + } + } while (true); + + otherlv_5=(Token)match(input,18,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXTypeLiteral" + + + // $ANTLR start "entryRuleXThrowExpression" + // InternalExpression.g:7605:1: entryRuleXThrowExpression returns [EObject current=null] : iv_ruleXThrowExpression= ruleXThrowExpression EOF ; + public final EObject entryRuleXThrowExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXThrowExpression = null; + + + try { + // InternalExpression.g:7605:57: (iv_ruleXThrowExpression= ruleXThrowExpression EOF ) + // InternalExpression.g:7606:2: iv_ruleXThrowExpression= ruleXThrowExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXThrowExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXThrowExpression=ruleXThrowExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXThrowExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXThrowExpression" + + + // $ANTLR start "ruleXThrowExpression" + // InternalExpression.g:7612:1: ruleXThrowExpression returns [EObject current=null] : ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) ; + public final EObject ruleXThrowExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_expression_2_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:7618:2: ( ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) ) + // InternalExpression.g:7619:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) + { + // InternalExpression.g:7619:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) + // InternalExpression.g:7620:3: () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) + { + // InternalExpression.g:7620:3: () + // InternalExpression.g:7621:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,98,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); + + } + // InternalExpression.g:7631:3: ( (lv_expression_2_0= ruleXExpression ) ) + // InternalExpression.g:7632:4: (lv_expression_2_0= ruleXExpression ) + { + // InternalExpression.g:7632:4: (lv_expression_2_0= ruleXExpression ) + // InternalExpression.g:7633:5: lv_expression_2_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_2); + lv_expression_2_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXThrowExpressionRule()); + } + set( + current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXThrowExpression" + + + // $ANTLR start "entryRuleXReturnExpression" + // InternalExpression.g:7654:1: entryRuleXReturnExpression returns [EObject current=null] : iv_ruleXReturnExpression= ruleXReturnExpression EOF ; + public final EObject entryRuleXReturnExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXReturnExpression = null; + + + try { + // InternalExpression.g:7654:58: (iv_ruleXReturnExpression= ruleXReturnExpression EOF ) + // InternalExpression.g:7655:2: iv_ruleXReturnExpression= ruleXReturnExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXReturnExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXReturnExpression=ruleXReturnExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXReturnExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXReturnExpression" + + + // $ANTLR start "ruleXReturnExpression" + // InternalExpression.g:7661:1: ruleXReturnExpression returns [EObject current=null] : ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) ; + public final EObject ruleXReturnExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_expression_2_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:7667:2: ( ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) ) + // InternalExpression.g:7668:2: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) + { + // InternalExpression.g:7668:2: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) + // InternalExpression.g:7669:3: () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? + { + // InternalExpression.g:7669:3: () + // InternalExpression.g:7670:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,99,FOLLOW_85); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); + + } + // InternalExpression.g:7680:3: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? + int alt119=2; + alt119 = dfa119.predict(input); + switch (alt119) { + case 1 : + // InternalExpression.g:7681:4: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) + { + // InternalExpression.g:7682:4: (lv_expression_2_0= ruleXExpression ) + // InternalExpression.g:7683:5: lv_expression_2_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_2); + lv_expression_2_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXReturnExpressionRule()); + } + set( + current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXReturnExpression" + + + // $ANTLR start "entryRuleXTryCatchFinallyExpression" + // InternalExpression.g:7704:1: entryRuleXTryCatchFinallyExpression returns [EObject current=null] : iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ; + public final EObject entryRuleXTryCatchFinallyExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXTryCatchFinallyExpression = null; + + + try { + // InternalExpression.g:7704:67: (iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ) + // InternalExpression.g:7705:2: iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXTryCatchFinallyExpression=ruleXTryCatchFinallyExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXTryCatchFinallyExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXTryCatchFinallyExpression" + + + // $ANTLR start "ruleXTryCatchFinallyExpression" + // InternalExpression.g:7711:1: ruleXTryCatchFinallyExpression returns [EObject current=null] : ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) ; + public final EObject ruleXTryCatchFinallyExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_expression_2_0 = null; + + EObject lv_catchClauses_3_0 = null; + + EObject lv_finallyExpression_5_0 = null; + + EObject lv_finallyExpression_7_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:7717:2: ( ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) ) + // InternalExpression.g:7718:2: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) + { + // InternalExpression.g:7718:2: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) + // InternalExpression.g:7719:3: () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) + { + // InternalExpression.g:7719:3: () + // InternalExpression.g:7720:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,100,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); + + } + // InternalExpression.g:7730:3: ( (lv_expression_2_0= ruleXExpression ) ) + // InternalExpression.g:7731:4: (lv_expression_2_0= ruleXExpression ) + { + // InternalExpression.g:7731:4: (lv_expression_2_0= ruleXExpression ) + // InternalExpression.g:7732:5: lv_expression_2_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_86); + lv_expression_2_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:7749:3: ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) + int alt122=2; + int LA122_0 = input.LA(1); + + if ( (LA122_0==103) ) { + alt122=1; + } + else if ( (LA122_0==101) ) { + alt122=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 122, 0, input); + + throw nvae; + } + switch (alt122) { + case 1 : + // InternalExpression.g:7750:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) + { + // InternalExpression.g:7750:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) + // InternalExpression.g:7751:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? + { + // InternalExpression.g:7751:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ + int cnt120=0; + loop120: + do { + int alt120=2; + int LA120_0 = input.LA(1); + + if ( (LA120_0==103) ) { + int LA120_2 = input.LA(2); + + if ( (synpred40_InternalExpression()) ) { + alt120=1; + } + + + } + + + switch (alt120) { + case 1 : + // InternalExpression.g:7752:6: ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) + { + // InternalExpression.g:7753:6: (lv_catchClauses_3_0= ruleXCatchClause ) + // InternalExpression.g:7754:7: lv_catchClauses_3_0= ruleXCatchClause + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); + + } + pushFollow(FOLLOW_87); + lv_catchClauses_3_0=ruleXCatchClause(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + add( + current, + "catchClauses", + lv_catchClauses_3_0, + "org.eclipse.xtext.xbase.Xbase.XCatchClause"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + if ( cnt120 >= 1 ) break loop120; + if (state.backtracking>0) {state.failed=true; return current;} + EarlyExitException eee = + new EarlyExitException(120, input); + throw eee; + } + cnt120++; + } while (true); + + // InternalExpression.g:7771:5: ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? + int alt121=2; + int LA121_0 = input.LA(1); + + if ( (LA121_0==101) ) { + int LA121_1 = input.LA(2); + + if ( (synpred41_InternalExpression()) ) { + alt121=1; + } + } + switch (alt121) { + case 1 : + // InternalExpression.g:7772:6: ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) + { + // InternalExpression.g:7772:6: ( ( 'finally' )=>otherlv_4= 'finally' ) + // InternalExpression.g:7773:7: ( 'finally' )=>otherlv_4= 'finally' + { + otherlv_4=(Token)match(input,101,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); + + } + + } + + // InternalExpression.g:7779:6: ( (lv_finallyExpression_5_0= ruleXExpression ) ) + // InternalExpression.g:7780:7: (lv_finallyExpression_5_0= ruleXExpression ) + { + // InternalExpression.g:7780:7: (lv_finallyExpression_5_0= ruleXExpression ) + // InternalExpression.g:7781:8: lv_finallyExpression_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); + + } + pushFollow(FOLLOW_2); + lv_finallyExpression_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + current, + "finallyExpression", + lv_finallyExpression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + break; + case 2 : + // InternalExpression.g:7801:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) + { + // InternalExpression.g:7801:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) + // InternalExpression.g:7802:5: otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) + { + otherlv_6=(Token)match(input,101,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); + + } + // InternalExpression.g:7806:5: ( (lv_finallyExpression_7_0= ruleXExpression ) ) + // InternalExpression.g:7807:6: (lv_finallyExpression_7_0= ruleXExpression ) + { + // InternalExpression.g:7807:6: (lv_finallyExpression_7_0= ruleXExpression ) + // InternalExpression.g:7808:7: lv_finallyExpression_7_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); + + } + pushFollow(FOLLOW_2); + lv_finallyExpression_7_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + current, + "finallyExpression", + lv_finallyExpression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXTryCatchFinallyExpression" + + + // $ANTLR start "entryRuleXSynchronizedExpression" + // InternalExpression.g:7831:1: entryRuleXSynchronizedExpression returns [EObject current=null] : iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ; + public final EObject entryRuleXSynchronizedExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXSynchronizedExpression = null; + + + try { + // InternalExpression.g:7831:64: (iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ) + // InternalExpression.g:7832:2: iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXSynchronizedExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXSynchronizedExpression=ruleXSynchronizedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXSynchronizedExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXSynchronizedExpression" + + + // $ANTLR start "ruleXSynchronizedExpression" + // InternalExpression.g:7838:1: ruleXSynchronizedExpression returns [EObject current=null] : ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) ; + public final EObject ruleXSynchronizedExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + EObject lv_param_3_0 = null; + + EObject lv_expression_5_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:7844:2: ( ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) ) + // InternalExpression.g:7845:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) + { + // InternalExpression.g:7845:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) + // InternalExpression.g:7846:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) + { + // InternalExpression.g:7846:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) + // InternalExpression.g:7847:4: ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) + { + // InternalExpression.g:7854:4: ( () otherlv_1= 'synchronized' otherlv_2= '(' ) + // InternalExpression.g:7855:5: () otherlv_1= 'synchronized' otherlv_2= '(' + { + // InternalExpression.g:7855:5: () + // InternalExpression.g:7856:6: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,102,FOLLOW_25); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); + + } + otherlv_2=(Token)match(input,17,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + + } + + } + + + } + + // InternalExpression.g:7872:3: ( (lv_param_3_0= ruleXExpression ) ) + // InternalExpression.g:7873:4: (lv_param_3_0= ruleXExpression ) + { + // InternalExpression.g:7873:4: (lv_param_3_0= ruleXExpression ) + // InternalExpression.g:7874:5: lv_param_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_8); + lv_param_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule()); + } + set( + current, + "param", + lv_param_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,18,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); + + } + // InternalExpression.g:7895:3: ( (lv_expression_5_0= ruleXExpression ) ) + // InternalExpression.g:7896:4: (lv_expression_5_0= ruleXExpression ) + { + // InternalExpression.g:7896:4: (lv_expression_5_0= ruleXExpression ) + // InternalExpression.g:7897:5: lv_expression_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_2); + lv_expression_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule()); + } + set( + current, + "expression", + lv_expression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXSynchronizedExpression" + + + // $ANTLR start "entryRuleXCatchClause" + // InternalExpression.g:7918:1: entryRuleXCatchClause returns [EObject current=null] : iv_ruleXCatchClause= ruleXCatchClause EOF ; + public final EObject entryRuleXCatchClause() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXCatchClause = null; + + + try { + // InternalExpression.g:7918:53: (iv_ruleXCatchClause= ruleXCatchClause EOF ) + // InternalExpression.g:7919:2: iv_ruleXCatchClause= ruleXCatchClause EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXCatchClauseRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXCatchClause=ruleXCatchClause(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXCatchClause; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXCatchClause" + + + // $ANTLR start "ruleXCatchClause" + // InternalExpression.g:7925:1: ruleXCatchClause returns [EObject current=null] : ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) ; + public final EObject ruleXCatchClause() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_3=null; + EObject lv_declaredParam_2_0 = null; + + EObject lv_expression_4_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:7931:2: ( ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) ) + // InternalExpression.g:7932:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) + { + // InternalExpression.g:7932:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) + // InternalExpression.g:7933:3: ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) + { + // InternalExpression.g:7933:3: ( ( 'catch' )=>otherlv_0= 'catch' ) + // InternalExpression.g:7934:4: ( 'catch' )=>otherlv_0= 'catch' + { + otherlv_0=(Token)match(input,103,FOLLOW_25); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); + + } + + } + + otherlv_1=(Token)match(input,17,FOLLOW_43); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); + + } + // InternalExpression.g:7944:3: ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) + // InternalExpression.g:7945:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) + { + // InternalExpression.g:7945:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) + // InternalExpression.g:7946:5: lv_declaredParam_2_0= ruleFullJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_8); + lv_declaredParam_2_0=ruleFullJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCatchClauseRule()); + } + set( + current, + "declaredParam", + lv_declaredParam_2_0, + "org.eclipse.xtext.xbase.Xbase.FullJvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_3=(Token)match(input,18,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); + + } + // InternalExpression.g:7967:3: ( (lv_expression_4_0= ruleXExpression ) ) + // InternalExpression.g:7968:4: (lv_expression_4_0= ruleXExpression ) + { + // InternalExpression.g:7968:4: (lv_expression_4_0= ruleXExpression ) + // InternalExpression.g:7969:5: lv_expression_4_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); + + } + pushFollow(FOLLOW_2); + lv_expression_4_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCatchClauseRule()); + } + set( + current, + "expression", + lv_expression_4_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXCatchClause" + + + // $ANTLR start "entryRuleQualifiedName" + // InternalExpression.g:7990:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; + public final String entryRuleQualifiedName() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleQualifiedName = null; + + + try { + // InternalExpression.g:7990:53: (iv_ruleQualifiedName= ruleQualifiedName EOF ) + // InternalExpression.g:7991:2: iv_ruleQualifiedName= ruleQualifiedName EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getQualifiedNameRule()); + } + pushFollow(FOLLOW_1); + iv_ruleQualifiedName=ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleQualifiedName.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleQualifiedName" + + + // $ANTLR start "ruleQualifiedName" + // InternalExpression.g:7997:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) ; + public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + AntlrDatatypeRuleToken this_ValidID_0 = null; + + AntlrDatatypeRuleToken this_ValidID_2 = null; + + + + enterRule(); + + try { + // InternalExpression.g:8003:2: ( (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) ) + // InternalExpression.g:8004:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) + { + // InternalExpression.g:8004:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) + // InternalExpression.g:8005:3: this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); + + } + pushFollow(FOLLOW_24); + this_ValidID_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_ValidID_0); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + // InternalExpression.g:8015:3: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* + loop123: + do { + int alt123=2; + int LA123_0 = input.LA(1); + + if ( (LA123_0==43) ) { + int LA123_2 = input.LA(2); + + if ( (LA123_2==RULE_ID) ) { + int LA123_3 = input.LA(3); + + if ( (synpred44_InternalExpression()) ) { + alt123=1; + } + + + } + + + } + + + switch (alt123) { + case 1 : + // InternalExpression.g:8016:4: ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID + { + // InternalExpression.g:8016:4: ( ( '.' )=>kw= '.' ) + // InternalExpression.g:8017:5: ( '.' )=>kw= '.' + { + kw=(Token)match(input,43,FOLLOW_3); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); + + } + + } + + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); + + } + pushFollow(FOLLOW_24); + this_ValidID_2=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_ValidID_2); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + break; + + default : + break loop123; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleQualifiedName" + + + // $ANTLR start "entryRuleNumber" + // InternalExpression.g:8039:1: entryRuleNumber returns [String current=null] : iv_ruleNumber= ruleNumber EOF ; + public final String entryRuleNumber() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleNumber = null; + + + + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); + + try { + // InternalExpression.g:8041:2: (iv_ruleNumber= ruleNumber EOF ) + // InternalExpression.g:8042:2: iv_ruleNumber= ruleNumber EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getNumberRule()); + } + pushFollow(FOLLOW_1); + iv_ruleNumber=ruleNumber(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleNumber.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + + myHiddenTokenState.restore(); + + } + return current; + } + // $ANTLR end "entryRuleNumber" + + + // $ANTLR start "ruleNumber" + // InternalExpression.g:8051:1: ruleNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) ; + public final AntlrDatatypeRuleToken ruleNumber() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token this_HEX_0=null; + Token this_INT_1=null; + Token this_DECIMAL_2=null; + Token kw=null; + Token this_INT_4=null; + Token this_DECIMAL_5=null; + + + enterRule(); + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); + + try { + // InternalExpression.g:8058:2: ( (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) ) + // InternalExpression.g:8059:2: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) + { + // InternalExpression.g:8059:2: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) + int alt127=2; + int LA127_0 = input.LA(1); + + if ( (LA127_0==RULE_HEX) ) { + alt127=1; + } + else if ( (LA127_0==RULE_INT||LA127_0==RULE_DECIMAL) ) { + alt127=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 127, 0, input); + + throw nvae; + } + switch (alt127) { + case 1 : + // InternalExpression.g:8060:3: this_HEX_0= RULE_HEX + { + this_HEX_0=(Token)match(input,RULE_HEX,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_HEX_0); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_HEX_0, grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); + + } + + } + break; + case 2 : + // InternalExpression.g:8068:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) + { + // InternalExpression.g:8068:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) + // InternalExpression.g:8069:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? + { + // InternalExpression.g:8069:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) + int alt124=2; + int LA124_0 = input.LA(1); + + if ( (LA124_0==RULE_INT) ) { + alt124=1; + } + else if ( (LA124_0==RULE_DECIMAL) ) { + alt124=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 124, 0, input); + + throw nvae; + } + switch (alt124) { + case 1 : + // InternalExpression.g:8070:5: this_INT_1= RULE_INT + { + this_INT_1=(Token)match(input,RULE_INT,FOLLOW_24); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_INT_1); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_INT_1, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); + + } + + } + break; + case 2 : + // InternalExpression.g:8078:5: this_DECIMAL_2= RULE_DECIMAL + { + this_DECIMAL_2=(Token)match(input,RULE_DECIMAL,FOLLOW_24); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_DECIMAL_2); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_DECIMAL_2, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); + + } + + } + break; + + } + + // InternalExpression.g:8086:4: (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? + int alt126=2; + int LA126_0 = input.LA(1); + + if ( (LA126_0==43) ) { + int LA126_1 = input.LA(2); + + if ( (LA126_1==RULE_INT||LA126_1==RULE_DECIMAL) ) { + alt126=1; + } + } + switch (alt126) { + case 1 : + // InternalExpression.g:8087:5: kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) + { + kw=(Token)match(input,43,FOLLOW_88); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); + + } + // InternalExpression.g:8092:5: (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) + int alt125=2; + int LA125_0 = input.LA(1); + + if ( (LA125_0==RULE_INT) ) { + alt125=1; + } + else if ( (LA125_0==RULE_DECIMAL) ) { + alt125=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 125, 0, input); + + throw nvae; + } + switch (alt125) { + case 1 : + // InternalExpression.g:8093:6: this_INT_4= RULE_INT + { + this_INT_4=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_INT_4); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_INT_4, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); + + } + + } + break; + case 2 : + // InternalExpression.g:8101:6: this_DECIMAL_5= RULE_DECIMAL + { + this_DECIMAL_5=(Token)match(input,RULE_DECIMAL,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_DECIMAL_5); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_DECIMAL_5, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); + + } + + } + break; + + } + + + } + break; + + } + + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + + myHiddenTokenState.restore(); + + } + return current; + } + // $ANTLR end "ruleNumber" + + + // $ANTLR start "entryRuleJvmTypeReference" + // InternalExpression.g:8118:1: entryRuleJvmTypeReference returns [EObject current=null] : iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ; + public final EObject entryRuleJvmTypeReference() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmTypeReference = null; + + + try { + // InternalExpression.g:8118:57: (iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ) + // InternalExpression.g:8119:2: iv_ruleJvmTypeReference= ruleJvmTypeReference EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmTypeReference=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmTypeReference; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmTypeReference" + + + // $ANTLR start "ruleJvmTypeReference" + // InternalExpression.g:8125:1: ruleJvmTypeReference returns [EObject current=null] : ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) ; + public final EObject ruleJvmTypeReference() throws RecognitionException { + EObject current = null; + + EObject this_JvmParameterizedTypeReference_0 = null; + + EObject this_XFunctionTypeRef_3 = null; + + + + enterRule(); + + try { + // InternalExpression.g:8131:2: ( ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) ) + // InternalExpression.g:8132:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) + { + // InternalExpression.g:8132:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) + int alt129=2; + int LA129_0 = input.LA(1); + + if ( (LA129_0==RULE_ID) ) { + alt129=1; + } + else if ( (LA129_0==17||LA129_0==76) ) { + alt129=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 129, 0, input); + + throw nvae; + } + switch (alt129) { + case 1 : + // InternalExpression.g:8133:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) + { + // InternalExpression.g:8133:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) + // InternalExpression.g:8134:4: this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); + + } + pushFollow(FOLLOW_82); + this_JvmParameterizedTypeReference_0=ruleJvmParameterizedTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_JvmParameterizedTypeReference_0; + afterParserOrEnumRuleCall(); + + } + // InternalExpression.g:8142:4: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* + loop128: + do { + int alt128=2; + int LA128_0 = input.LA(1); + + if ( (LA128_0==63) ) { + int LA128_2 = input.LA(2); + + if ( (LA128_2==64) ) { + int LA128_3 = input.LA(3); + + if ( (synpred45_InternalExpression()) ) { + alt128=1; + } + + + } + + + } + + + switch (alt128) { + case 1 : + // InternalExpression.g:8143:5: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) + { + // InternalExpression.g:8149:5: ( () ruleArrayBrackets ) + // InternalExpression.g:8150:6: () ruleArrayBrackets + { + // InternalExpression.g:8150:6: () + // InternalExpression.g:8151:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0(), + current); + + } + + } + + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); + + } + pushFollow(FOLLOW_82); + ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop128; + } + } while (true); + + + } + + + } + break; + case 2 : + // InternalExpression.g:8168:3: this_XFunctionTypeRef_3= ruleXFunctionTypeRef + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XFunctionTypeRef_3=ruleXFunctionTypeRef(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XFunctionTypeRef_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmTypeReference" + + + // $ANTLR start "entryRuleArrayBrackets" + // InternalExpression.g:8180:1: entryRuleArrayBrackets returns [String current=null] : iv_ruleArrayBrackets= ruleArrayBrackets EOF ; + public final String entryRuleArrayBrackets() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleArrayBrackets = null; + + + try { + // InternalExpression.g:8180:53: (iv_ruleArrayBrackets= ruleArrayBrackets EOF ) + // InternalExpression.g:8181:2: iv_ruleArrayBrackets= ruleArrayBrackets EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getArrayBracketsRule()); + } + pushFollow(FOLLOW_1); + iv_ruleArrayBrackets=ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleArrayBrackets.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleArrayBrackets" + + + // $ANTLR start "ruleArrayBrackets" + // InternalExpression.g:8187:1: ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '[' kw= ']' ) ; + public final AntlrDatatypeRuleToken ruleArrayBrackets() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalExpression.g:8193:2: ( (kw= '[' kw= ']' ) ) + // InternalExpression.g:8194:2: (kw= '[' kw= ']' ) + { + // InternalExpression.g:8194:2: (kw= '[' kw= ']' ) + // InternalExpression.g:8195:3: kw= '[' kw= ']' + { + kw=(Token)match(input,63,FOLLOW_34); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); + + } + kw=(Token)match(input,64,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleArrayBrackets" + + + // $ANTLR start "entryRuleXFunctionTypeRef" + // InternalExpression.g:8209:1: entryRuleXFunctionTypeRef returns [EObject current=null] : iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ; + public final EObject entryRuleXFunctionTypeRef() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXFunctionTypeRef = null; + + + try { + // InternalExpression.g:8209:57: (iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ) + // InternalExpression.g:8210:2: iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXFunctionTypeRefRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXFunctionTypeRef=ruleXFunctionTypeRef(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXFunctionTypeRef; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXFunctionTypeRef" + + + // $ANTLR start "ruleXFunctionTypeRef" + // InternalExpression.g:8216:1: ruleXFunctionTypeRef returns [EObject current=null] : ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ; + public final EObject ruleXFunctionTypeRef() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_5=null; + EObject lv_paramTypes_1_0 = null; + + EObject lv_paramTypes_3_0 = null; + + EObject lv_returnType_6_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:8222:2: ( ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ) + // InternalExpression.g:8223:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) + { + // InternalExpression.g:8223:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) + // InternalExpression.g:8224:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) + { + // InternalExpression.g:8224:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? + int alt132=2; + int LA132_0 = input.LA(1); + + if ( (LA132_0==17) ) { + alt132=1; + } + switch (alt132) { + case 1 : + // InternalExpression.g:8225:4: otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' + { + otherlv_0=(Token)match(input,17,FOLLOW_89); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); + + } + // InternalExpression.g:8229:4: ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? + int alt131=2; + int LA131_0 = input.LA(1); + + if ( (LA131_0==RULE_ID||LA131_0==17||LA131_0==76) ) { + alt131=1; + } + switch (alt131) { + case 1 : + // InternalExpression.g:8230:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* + { + // InternalExpression.g:8230:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) + // InternalExpression.g:8231:6: (lv_paramTypes_1_0= ruleJvmTypeReference ) + { + // InternalExpression.g:8231:6: (lv_paramTypes_1_0= ruleJvmTypeReference ) + // InternalExpression.g:8232:7: lv_paramTypes_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); + + } + pushFollow(FOLLOW_27); + lv_paramTypes_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + add( + current, + "paramTypes", + lv_paramTypes_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:8249:5: (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* + loop130: + do { + int alt130=2; + int LA130_0 = input.LA(1); + + if ( (LA130_0==44) ) { + alt130=1; + } + + + switch (alt130) { + case 1 : + // InternalExpression.g:8250:6: otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) + { + otherlv_2=(Token)match(input,44,FOLLOW_43); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); + + } + // InternalExpression.g:8254:6: ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) + // InternalExpression.g:8255:7: (lv_paramTypes_3_0= ruleJvmTypeReference ) + { + // InternalExpression.g:8255:7: (lv_paramTypes_3_0= ruleJvmTypeReference ) + // InternalExpression.g:8256:8: lv_paramTypes_3_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); + + } + pushFollow(FOLLOW_27); + lv_paramTypes_3_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + add( + current, + "paramTypes", + lv_paramTypes_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop130; + } + } while (true); + + + } + break; + + } + + otherlv_4=(Token)match(input,18,FOLLOW_90); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); + + } + + } + break; + + } + + otherlv_5=(Token)match(input,76,FOLLOW_43); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); + + } + // InternalExpression.g:8284:3: ( (lv_returnType_6_0= ruleJvmTypeReference ) ) + // InternalExpression.g:8285:4: (lv_returnType_6_0= ruleJvmTypeReference ) + { + // InternalExpression.g:8285:4: (lv_returnType_6_0= ruleJvmTypeReference ) + // InternalExpression.g:8286:5: lv_returnType_6_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_2); + lv_returnType_6_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + set( + current, + "returnType", + lv_returnType_6_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXFunctionTypeRef" + + + // $ANTLR start "entryRuleJvmParameterizedTypeReference" + // InternalExpression.g:8307:1: entryRuleJvmParameterizedTypeReference returns [EObject current=null] : iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ; + public final EObject entryRuleJvmParameterizedTypeReference() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmParameterizedTypeReference = null; + + + try { + // InternalExpression.g:8307:70: (iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ) + // InternalExpression.g:8308:2: iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmParameterizedTypeReference=ruleJvmParameterizedTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmParameterizedTypeReference; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmParameterizedTypeReference" + + + // $ANTLR start "ruleJvmParameterizedTypeReference" + // InternalExpression.g:8314:1: ruleJvmParameterizedTypeReference returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) ; + public final EObject ruleJvmParameterizedTypeReference() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_11=null; + Token otherlv_13=null; + EObject lv_arguments_2_0 = null; + + EObject lv_arguments_4_0 = null; + + EObject lv_arguments_10_0 = null; + + EObject lv_arguments_12_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:8320:2: ( ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) ) + // InternalExpression.g:8321:2: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) + { + // InternalExpression.g:8321:2: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) + // InternalExpression.g:8322:3: ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? + { + // InternalExpression.g:8322:3: ( ( ruleQualifiedName ) ) + // InternalExpression.g:8323:4: ( ruleQualifiedName ) + { + // InternalExpression.g:8323:4: ( ruleQualifiedName ) + // InternalExpression.g:8324:5: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); + + } + pushFollow(FOLLOW_91); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:8338:3: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? + int alt137=2; + alt137 = dfa137.predict(input); + switch (alt137) { + case 1 : + // InternalExpression.g:8339:4: ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* + { + // InternalExpression.g:8339:4: ( ( '<' )=>otherlv_1= '<' ) + // InternalExpression.g:8340:5: ( '<' )=>otherlv_1= '<' + { + otherlv_1=(Token)match(input,37,FOLLOW_54); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); + + } + + } + + // InternalExpression.g:8346:4: ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:8347:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:8347:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference ) + // InternalExpression.g:8348:6: lv_arguments_2_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_55); + lv_arguments_2_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + current, + "arguments", + lv_arguments_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:8365:4: (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* + loop133: + do { + int alt133=2; + int LA133_0 = input.LA(1); + + if ( (LA133_0==44) ) { + alt133=1; + } + + + switch (alt133) { + case 1 : + // InternalExpression.g:8366:5: otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) + { + otherlv_3=(Token)match(input,44,FOLLOW_54); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); + + } + // InternalExpression.g:8370:5: ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:8371:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:8371:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference ) + // InternalExpression.g:8372:7: lv_arguments_4_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + + } + pushFollow(FOLLOW_55); + lv_arguments_4_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + current, + "arguments", + lv_arguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop133; + } + } while (true); + + otherlv_5=(Token)match(input,36,FOLLOW_24); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); + + } + // InternalExpression.g:8394:4: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* + loop136: + do { + int alt136=2; + int LA136_0 = input.LA(1); + + if ( (LA136_0==43) ) { + int LA136_2 = input.LA(2); + + if ( (LA136_2==RULE_ID) ) { + int LA136_3 = input.LA(3); + + if ( (synpred47_InternalExpression()) ) { + alt136=1; + } + + + } + + + } + + + switch (alt136) { + case 1 : + // InternalExpression.g:8395:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? + { + // InternalExpression.g:8395:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) + // InternalExpression.g:8396:6: ( ( () '.' ) )=> ( () otherlv_7= '.' ) + { + // InternalExpression.g:8402:6: ( () otherlv_7= '.' ) + // InternalExpression.g:8403:7: () otherlv_7= '.' + { + // InternalExpression.g:8403:7: () + // InternalExpression.g:8404:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0(), + current); + + } + + } + + otherlv_7=(Token)match(input,43,FOLLOW_3); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); + + } + + } + + + } + + // InternalExpression.g:8416:5: ( ( ruleValidID ) ) + // InternalExpression.g:8417:6: ( ruleValidID ) + { + // InternalExpression.g:8417:6: ( ruleValidID ) + // InternalExpression.g:8418:7: ruleValidID + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); + + } + pushFollow(FOLLOW_92); + ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:8432:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? + int alt135=2; + alt135 = dfa135.predict(input); + switch (alt135) { + case 1 : + // InternalExpression.g:8433:6: ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' + { + // InternalExpression.g:8433:6: ( ( '<' )=>otherlv_9= '<' ) + // InternalExpression.g:8434:7: ( '<' )=>otherlv_9= '<' + { + otherlv_9=(Token)match(input,37,FOLLOW_54); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_9, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); + + } + + } + + // InternalExpression.g:8440:6: ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:8441:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:8441:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference ) + // InternalExpression.g:8442:8: lv_arguments_10_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); + + } + pushFollow(FOLLOW_55); + lv_arguments_10_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + current, + "arguments", + lv_arguments_10_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:8459:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* + loop134: + do { + int alt134=2; + int LA134_0 = input.LA(1); + + if ( (LA134_0==44) ) { + alt134=1; + } + + + switch (alt134) { + case 1 : + // InternalExpression.g:8460:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) + { + otherlv_11=(Token)match(input,44,FOLLOW_54); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_11, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); + + } + // InternalExpression.g:8464:7: ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) + // InternalExpression.g:8465:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference ) + { + // InternalExpression.g:8465:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference ) + // InternalExpression.g:8466:9: lv_arguments_12_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); + + } + pushFollow(FOLLOW_55); + lv_arguments_12_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + current, + "arguments", + lv_arguments_12_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop134; + } + } while (true); + + otherlv_13=(Token)match(input,36,FOLLOW_24); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_13, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); + + } + + } + break; + + } + + + } + break; + + default : + break loop136; + } + } while (true); + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmParameterizedTypeReference" + + + // $ANTLR start "entryRuleJvmArgumentTypeReference" + // InternalExpression.g:8495:1: entryRuleJvmArgumentTypeReference returns [EObject current=null] : iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ; + public final EObject entryRuleJvmArgumentTypeReference() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmArgumentTypeReference = null; + + + try { + // InternalExpression.g:8495:65: (iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ) + // InternalExpression.g:8496:2: iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmArgumentTypeReference=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmArgumentTypeReference; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmArgumentTypeReference" + + + // $ANTLR start "ruleJvmArgumentTypeReference" + // InternalExpression.g:8502:1: ruleJvmArgumentTypeReference returns [EObject current=null] : (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) ; + public final EObject ruleJvmArgumentTypeReference() throws RecognitionException { + EObject current = null; + + EObject this_JvmTypeReference_0 = null; + + EObject this_JvmWildcardTypeReference_1 = null; + + + + enterRule(); + + try { + // InternalExpression.g:8508:2: ( (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) ) + // InternalExpression.g:8509:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) + { + // InternalExpression.g:8509:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) + int alt138=2; + int LA138_0 = input.LA(1); + + if ( (LA138_0==RULE_ID||LA138_0==17||LA138_0==76) ) { + alt138=1; + } + else if ( (LA138_0==20) ) { + alt138=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 138, 0, input); + + throw nvae; + } + switch (alt138) { + case 1 : + // InternalExpression.g:8510:3: this_JvmTypeReference_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_JvmTypeReference_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_JvmTypeReference_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalExpression.g:8519:3: this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_JvmWildcardTypeReference_1=ruleJvmWildcardTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_JvmWildcardTypeReference_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmArgumentTypeReference" + + + // $ANTLR start "entryRuleJvmWildcardTypeReference" + // InternalExpression.g:8531:1: entryRuleJvmWildcardTypeReference returns [EObject current=null] : iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ; + public final EObject entryRuleJvmWildcardTypeReference() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmWildcardTypeReference = null; + + + try { + // InternalExpression.g:8531:65: (iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ) + // InternalExpression.g:8532:2: iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmWildcardTypeReference=ruleJvmWildcardTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmWildcardTypeReference; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmWildcardTypeReference" + + + // $ANTLR start "ruleJvmWildcardTypeReference" + // InternalExpression.g:8538:1: ruleJvmWildcardTypeReference returns [EObject current=null] : ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) ; + public final EObject ruleJvmWildcardTypeReference() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_constraints_2_0 = null; + + EObject lv_constraints_3_0 = null; + + EObject lv_constraints_4_0 = null; + + EObject lv_constraints_5_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:8544:2: ( ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) ) + // InternalExpression.g:8545:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) + { + // InternalExpression.g:8545:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) + // InternalExpression.g:8546:3: () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? + { + // InternalExpression.g:8546:3: () + // InternalExpression.g:8547:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,20,FOLLOW_93); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); + + } + // InternalExpression.g:8557:3: ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? + int alt141=3; + int LA141_0 = input.LA(1); + + if ( (LA141_0==92) ) { + alt141=1; + } + else if ( (LA141_0==96) ) { + alt141=2; + } + switch (alt141) { + case 1 : + // InternalExpression.g:8558:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) + { + // InternalExpression.g:8558:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) + // InternalExpression.g:8559:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* + { + // InternalExpression.g:8559:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) + // InternalExpression.g:8560:6: (lv_constraints_2_0= ruleJvmUpperBound ) + { + // InternalExpression.g:8560:6: (lv_constraints_2_0= ruleJvmUpperBound ) + // InternalExpression.g:8561:7: lv_constraints_2_0= ruleJvmUpperBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); + + } + pushFollow(FOLLOW_94); + lv_constraints_2_0=ruleJvmUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + current, + "constraints", + lv_constraints_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmUpperBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:8578:5: ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* + loop139: + do { + int alt139=2; + int LA139_0 = input.LA(1); + + if ( (LA139_0==104) ) { + alt139=1; + } + + + switch (alt139) { + case 1 : + // InternalExpression.g:8579:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded ) + { + // InternalExpression.g:8579:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded ) + // InternalExpression.g:8580:7: lv_constraints_3_0= ruleJvmUpperBoundAnded + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); + + } + pushFollow(FOLLOW_94); + lv_constraints_3_0=ruleJvmUpperBoundAnded(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + current, + "constraints", + lv_constraints_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmUpperBoundAnded"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop139; + } + } while (true); + + + } + + + } + break; + case 2 : + // InternalExpression.g:8599:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) + { + // InternalExpression.g:8599:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) + // InternalExpression.g:8600:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* + { + // InternalExpression.g:8600:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) + // InternalExpression.g:8601:6: (lv_constraints_4_0= ruleJvmLowerBound ) + { + // InternalExpression.g:8601:6: (lv_constraints_4_0= ruleJvmLowerBound ) + // InternalExpression.g:8602:7: lv_constraints_4_0= ruleJvmLowerBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); + + } + pushFollow(FOLLOW_94); + lv_constraints_4_0=ruleJvmLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + current, + "constraints", + lv_constraints_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmLowerBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:8619:5: ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* + loop140: + do { + int alt140=2; + int LA140_0 = input.LA(1); + + if ( (LA140_0==104) ) { + alt140=1; + } + + + switch (alt140) { + case 1 : + // InternalExpression.g:8620:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded ) + { + // InternalExpression.g:8620:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded ) + // InternalExpression.g:8621:7: lv_constraints_5_0= ruleJvmLowerBoundAnded + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); + + } + pushFollow(FOLLOW_94); + lv_constraints_5_0=ruleJvmLowerBoundAnded(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + current, + "constraints", + lv_constraints_5_0, + "org.eclipse.xtext.xbase.Xtype.JvmLowerBoundAnded"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop140; + } + } while (true); + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmWildcardTypeReference" + + + // $ANTLR start "entryRuleJvmUpperBound" + // InternalExpression.g:8644:1: entryRuleJvmUpperBound returns [EObject current=null] : iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ; + public final EObject entryRuleJvmUpperBound() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmUpperBound = null; + + + try { + // InternalExpression.g:8644:54: (iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ) + // InternalExpression.g:8645:2: iv_ruleJvmUpperBound= ruleJvmUpperBound EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmUpperBoundRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmUpperBound=ruleJvmUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmUpperBound; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmUpperBound" + + + // $ANTLR start "ruleJvmUpperBound" + // InternalExpression.g:8651:1: ruleJvmUpperBound returns [EObject current=null] : (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ; + public final EObject ruleJvmUpperBound() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_typeReference_1_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:8657:2: ( (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) + // InternalExpression.g:8658:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + { + // InternalExpression.g:8658:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + // InternalExpression.g:8659:3: otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + { + otherlv_0=(Token)match(input,92,FOLLOW_43); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); + + } + // InternalExpression.g:8663:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + // InternalExpression.g:8664:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + { + // InternalExpression.g:8664:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + // InternalExpression.g:8665:5: lv_typeReference_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_typeReference_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmUpperBoundRule()); + } + set( + current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmUpperBound" + + + // $ANTLR start "entryRuleJvmUpperBoundAnded" + // InternalExpression.g:8686:1: entryRuleJvmUpperBoundAnded returns [EObject current=null] : iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ; + public final EObject entryRuleJvmUpperBoundAnded() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmUpperBoundAnded = null; + + + try { + // InternalExpression.g:8686:59: (iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ) + // InternalExpression.g:8687:2: iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmUpperBoundAndedRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmUpperBoundAnded=ruleJvmUpperBoundAnded(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmUpperBoundAnded; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmUpperBoundAnded" + + + // $ANTLR start "ruleJvmUpperBoundAnded" + // InternalExpression.g:8693:1: ruleJvmUpperBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ; + public final EObject ruleJvmUpperBoundAnded() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_typeReference_1_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:8699:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) + // InternalExpression.g:8700:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + { + // InternalExpression.g:8700:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + // InternalExpression.g:8701:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + { + otherlv_0=(Token)match(input,104,FOLLOW_43); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); + + } + // InternalExpression.g:8705:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + // InternalExpression.g:8706:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + { + // InternalExpression.g:8706:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + // InternalExpression.g:8707:5: lv_typeReference_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_typeReference_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmUpperBoundAndedRule()); + } + set( + current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmUpperBoundAnded" + + + // $ANTLR start "entryRuleJvmLowerBound" + // InternalExpression.g:8728:1: entryRuleJvmLowerBound returns [EObject current=null] : iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ; + public final EObject entryRuleJvmLowerBound() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmLowerBound = null; + + + try { + // InternalExpression.g:8728:54: (iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ) + // InternalExpression.g:8729:2: iv_ruleJvmLowerBound= ruleJvmLowerBound EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmLowerBoundRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmLowerBound=ruleJvmLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmLowerBound; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmLowerBound" + + + // $ANTLR start "ruleJvmLowerBound" + // InternalExpression.g:8735:1: ruleJvmLowerBound returns [EObject current=null] : (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ; + public final EObject ruleJvmLowerBound() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_typeReference_1_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:8741:2: ( (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) + // InternalExpression.g:8742:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + { + // InternalExpression.g:8742:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + // InternalExpression.g:8743:3: otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + { + otherlv_0=(Token)match(input,96,FOLLOW_43); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); + + } + // InternalExpression.g:8747:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + // InternalExpression.g:8748:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + { + // InternalExpression.g:8748:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + // InternalExpression.g:8749:5: lv_typeReference_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_typeReference_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmLowerBoundRule()); + } + set( + current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmLowerBound" + + + // $ANTLR start "entryRuleJvmLowerBoundAnded" + // InternalExpression.g:8770:1: entryRuleJvmLowerBoundAnded returns [EObject current=null] : iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ; + public final EObject entryRuleJvmLowerBoundAnded() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmLowerBoundAnded = null; + + + try { + // InternalExpression.g:8770:59: (iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ) + // InternalExpression.g:8771:2: iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmLowerBoundAndedRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmLowerBoundAnded=ruleJvmLowerBoundAnded(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmLowerBoundAnded; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmLowerBoundAnded" + + + // $ANTLR start "ruleJvmLowerBoundAnded" + // InternalExpression.g:8777:1: ruleJvmLowerBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ; + public final EObject ruleJvmLowerBoundAnded() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_typeReference_1_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:8783:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) + // InternalExpression.g:8784:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + { + // InternalExpression.g:8784:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + // InternalExpression.g:8785:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + { + otherlv_0=(Token)match(input,104,FOLLOW_43); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); + + } + // InternalExpression.g:8789:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + // InternalExpression.g:8790:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + { + // InternalExpression.g:8790:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + // InternalExpression.g:8791:5: lv_typeReference_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_typeReference_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmLowerBoundAndedRule()); + } + set( + current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmLowerBoundAnded" + + + // $ANTLR start "entryRuleQualifiedNameWithWildcard" + // InternalExpression.g:8812:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ; + public final String entryRuleQualifiedNameWithWildcard() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleQualifiedNameWithWildcard = null; + + + try { + // InternalExpression.g:8812:65: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ) + // InternalExpression.g:8813:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); + } + pushFollow(FOLLOW_1); + iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleQualifiedNameWithWildcard.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleQualifiedNameWithWildcard" + + + // $ANTLR start "ruleQualifiedNameWithWildcard" + // InternalExpression.g:8819:1: ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) ; + public final AntlrDatatypeRuleToken ruleQualifiedNameWithWildcard() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + AntlrDatatypeRuleToken this_QualifiedName_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:8825:2: ( (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) ) + // InternalExpression.g:8826:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) + { + // InternalExpression.g:8826:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) + // InternalExpression.g:8827:3: this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); + + } + pushFollow(FOLLOW_95); + this_QualifiedName_0=ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_QualifiedName_0); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + kw=(Token)match(input,43,FOLLOW_96); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); + + } + kw=(Token)match(input,40,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleQualifiedNameWithWildcard" + + + // $ANTLR start "entryRuleValidID" + // InternalExpression.g:8851:1: entryRuleValidID returns [String current=null] : iv_ruleValidID= ruleValidID EOF ; + public final String entryRuleValidID() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleValidID = null; + + + try { + // InternalExpression.g:8851:47: (iv_ruleValidID= ruleValidID EOF ) + // InternalExpression.g:8852:2: iv_ruleValidID= ruleValidID EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getValidIDRule()); + } + pushFollow(FOLLOW_1); + iv_ruleValidID=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleValidID.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleValidID" + + + // $ANTLR start "ruleValidID" + // InternalExpression.g:8858:1: ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_ID_0= RULE_ID ; + public final AntlrDatatypeRuleToken ruleValidID() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token this_ID_0=null; + + + enterRule(); + + try { + // InternalExpression.g:8864:2: (this_ID_0= RULE_ID ) + // InternalExpression.g:8865:2: this_ID_0= RULE_ID + { + this_ID_0=(Token)match(input,RULE_ID,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_ID_0); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_ID_0, grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleValidID" + + + // $ANTLR start "entryRuleXImportDeclaration" + // InternalExpression.g:8875:1: entryRuleXImportDeclaration returns [EObject current=null] : iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ; + public final EObject entryRuleXImportDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXImportDeclaration = null; + + + try { + // InternalExpression.g:8875:59: (iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ) + // InternalExpression.g:8876:2: iv_ruleXImportDeclaration= ruleXImportDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXImportDeclarationRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXImportDeclaration=ruleXImportDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXImportDeclaration; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXImportDeclaration" + + + // $ANTLR start "ruleXImportDeclaration" + // InternalExpression.g:8882:1: ruleXImportDeclaration returns [EObject current=null] : (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) ; + public final EObject ruleXImportDeclaration() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_static_1_0=null; + Token lv_extension_2_0=null; + Token lv_wildcard_4_0=null; + Token otherlv_8=null; + AntlrDatatypeRuleToken lv_memberName_5_0 = null; + + AntlrDatatypeRuleToken lv_importedNamespace_7_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:8888:2: ( (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) ) + // InternalExpression.g:8889:2: (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) + { + // InternalExpression.g:8889:2: (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) + // InternalExpression.g:8890:3: otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? + { + otherlv_0=(Token)match(input,94,FOLLOW_97); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); + + } + // InternalExpression.g:8894:3: ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) + int alt144=3; + alt144 = dfa144.predict(input); + switch (alt144) { + case 1 : + // InternalExpression.g:8895:4: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) + { + // InternalExpression.g:8895:4: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) + // InternalExpression.g:8896:5: ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) + { + // InternalExpression.g:8896:5: ( (lv_static_1_0= 'static' ) ) + // InternalExpression.g:8897:6: (lv_static_1_0= 'static' ) + { + // InternalExpression.g:8897:6: (lv_static_1_0= 'static' ) + // InternalExpression.g:8898:7: lv_static_1_0= 'static' + { + lv_static_1_0=(Token)match(input,93,FOLLOW_98); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_static_1_0, grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed(current, "static", lv_static_1_0 != null, "static"); + + } + + } + + + } + + // InternalExpression.g:8910:5: ( (lv_extension_2_0= 'extension' ) )? + int alt142=2; + int LA142_0 = input.LA(1); + + if ( (LA142_0==95) ) { + alt142=1; + } + switch (alt142) { + case 1 : + // InternalExpression.g:8911:6: (lv_extension_2_0= 'extension' ) + { + // InternalExpression.g:8911:6: (lv_extension_2_0= 'extension' ) + // InternalExpression.g:8912:7: lv_extension_2_0= 'extension' + { + lv_extension_2_0=(Token)match(input,95,FOLLOW_98); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_extension_2_0, grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed(current, "extension", lv_extension_2_0 != null, "extension"); + + } + + } + + + } + break; + + } + + // InternalExpression.g:8924:5: ( ( ruleQualifiedNameInStaticImport ) ) + // InternalExpression.g:8925:6: ( ruleQualifiedNameInStaticImport ) + { + // InternalExpression.g:8925:6: ( ruleQualifiedNameInStaticImport ) + // InternalExpression.g:8926:7: ruleQualifiedNameInStaticImport + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); + + } + pushFollow(FOLLOW_99); + ruleQualifiedNameInStaticImport(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalExpression.g:8940:5: ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) + int alt143=2; + int LA143_0 = input.LA(1); + + if ( (LA143_0==40) ) { + alt143=1; + } + else if ( (LA143_0==RULE_ID) ) { + alt143=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 143, 0, input); + + throw nvae; + } + switch (alt143) { + case 1 : + // InternalExpression.g:8941:6: ( (lv_wildcard_4_0= '*' ) ) + { + // InternalExpression.g:8941:6: ( (lv_wildcard_4_0= '*' ) ) + // InternalExpression.g:8942:7: (lv_wildcard_4_0= '*' ) + { + // InternalExpression.g:8942:7: (lv_wildcard_4_0= '*' ) + // InternalExpression.g:8943:8: lv_wildcard_4_0= '*' + { + lv_wildcard_4_0=(Token)match(input,40,FOLLOW_100); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_wildcard_4_0, grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed(current, "wildcard", lv_wildcard_4_0 != null, "*"); + + } + + } + + + } + + + } + break; + case 2 : + // InternalExpression.g:8956:6: ( (lv_memberName_5_0= ruleValidID ) ) + { + // InternalExpression.g:8956:6: ( (lv_memberName_5_0= ruleValidID ) ) + // InternalExpression.g:8957:7: (lv_memberName_5_0= ruleValidID ) + { + // InternalExpression.g:8957:7: (lv_memberName_5_0= ruleValidID ) + // InternalExpression.g:8958:8: lv_memberName_5_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); + + } + pushFollow(FOLLOW_100); + lv_memberName_5_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXImportDeclarationRule()); + } + set( + current, + "memberName", + lv_memberName_5_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + break; + case 2 : + // InternalExpression.g:8978:4: ( ( ruleQualifiedName ) ) + { + // InternalExpression.g:8978:4: ( ( ruleQualifiedName ) ) + // InternalExpression.g:8979:5: ( ruleQualifiedName ) + { + // InternalExpression.g:8979:5: ( ruleQualifiedName ) + // InternalExpression.g:8980:6: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); + + } + pushFollow(FOLLOW_100); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + case 3 : + // InternalExpression.g:8995:4: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) + { + // InternalExpression.g:8995:4: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) + // InternalExpression.g:8996:5: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) + { + // InternalExpression.g:8996:5: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) + // InternalExpression.g:8997:6: lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); + + } + pushFollow(FOLLOW_100); + lv_importedNamespace_7_0=ruleQualifiedNameWithWildcard(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXImportDeclarationRule()); + } + set( + current, + "importedNamespace", + lv_importedNamespace_7_0, + "org.eclipse.xtext.xbase.Xtype.QualifiedNameWithWildcard"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + // InternalExpression.g:9015:3: (otherlv_8= ';' )? + int alt145=2; + int LA145_0 = input.LA(1); + + if ( (LA145_0==86) ) { + alt145=1; + } + switch (alt145) { + case 1 : + // InternalExpression.g:9016:4: otherlv_8= ';' + { + otherlv_8=(Token)match(input,86,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); + + } + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXImportDeclaration" + + + // $ANTLR start "entryRuleQualifiedNameInStaticImport" + // InternalExpression.g:9025:1: entryRuleQualifiedNameInStaticImport returns [String current=null] : iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ; + public final String entryRuleQualifiedNameInStaticImport() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleQualifiedNameInStaticImport = null; + + + try { + // InternalExpression.g:9025:67: (iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ) + // InternalExpression.g:9026:2: iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getQualifiedNameInStaticImportRule()); + } + pushFollow(FOLLOW_1); + iv_ruleQualifiedNameInStaticImport=ruleQualifiedNameInStaticImport(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleQualifiedNameInStaticImport.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleQualifiedNameInStaticImport" + + + // $ANTLR start "ruleQualifiedNameInStaticImport" + // InternalExpression.g:9032:1: ruleQualifiedNameInStaticImport returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID kw= '.' )+ ; + public final AntlrDatatypeRuleToken ruleQualifiedNameInStaticImport() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + AntlrDatatypeRuleToken this_ValidID_0 = null; + + + + enterRule(); + + try { + // InternalExpression.g:9038:2: ( (this_ValidID_0= ruleValidID kw= '.' )+ ) + // InternalExpression.g:9039:2: (this_ValidID_0= ruleValidID kw= '.' )+ + { + // InternalExpression.g:9039:2: (this_ValidID_0= ruleValidID kw= '.' )+ + int cnt146=0; + loop146: + do { + int alt146=2; + int LA146_0 = input.LA(1); + + if ( (LA146_0==RULE_ID) ) { + int LA146_2 = input.LA(2); + + if ( (LA146_2==43) ) { + alt146=1; + } + + + } + + + switch (alt146) { + case 1 : + // InternalExpression.g:9040:3: this_ValidID_0= ruleValidID kw= '.' + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); + + } + pushFollow(FOLLOW_95); + this_ValidID_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_ValidID_0); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + kw=(Token)match(input,43,FOLLOW_101); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); + + } + + } + break; + + default : + if ( cnt146 >= 1 ) break loop146; + if (state.backtracking>0) {state.failed=true; return current;} + EarlyExitException eee = + new EarlyExitException(146, input); + throw eee; + } + cnt146++; + } while (true); + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleQualifiedNameInStaticImport" + + // $ANTLR start synpred1_InternalExpression + public final void synpred1_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:89:4: ( ruleCastedExpression ) + // InternalExpression.g:89:5: ruleCastedExpression + { + pushFollow(FOLLOW_2); + ruleCastedExpression(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred1_InternalExpression + + // $ANTLR start synpred2_InternalExpression + public final void synpred2_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:513:4: ( 'else' ) + // InternalExpression.g:513:5: 'else' + { + match(input,23,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred2_InternalExpression + + // $ANTLR start synpred3_InternalExpression + public final void synpred3_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:2880:6: ( ( () ( ( ruleOpMultiAssign ) ) ) ) + // InternalExpression.g:2880:7: ( () ( ( ruleOpMultiAssign ) ) ) + { + // InternalExpression.g:2880:7: ( () ( ( ruleOpMultiAssign ) ) ) + // InternalExpression.g:2881:7: () ( ( ruleOpMultiAssign ) ) + { + // InternalExpression.g:2881:7: () + // InternalExpression.g:2882:7: + { + } + + // InternalExpression.g:2883:7: ( ( ruleOpMultiAssign ) ) + // InternalExpression.g:2884:8: ( ruleOpMultiAssign ) + { + // InternalExpression.g:2884:8: ( ruleOpMultiAssign ) + // InternalExpression.g:2885:9: ruleOpMultiAssign + { + pushFollow(FOLLOW_2); + ruleOpMultiAssign(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred3_InternalExpression + + // $ANTLR start synpred4_InternalExpression + public final void synpred4_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:3074:5: ( ( () ( ( ruleOpOr ) ) ) ) + // InternalExpression.g:3074:6: ( () ( ( ruleOpOr ) ) ) + { + // InternalExpression.g:3074:6: ( () ( ( ruleOpOr ) ) ) + // InternalExpression.g:3075:6: () ( ( ruleOpOr ) ) + { + // InternalExpression.g:3075:6: () + // InternalExpression.g:3076:6: + { + } + + // InternalExpression.g:3077:6: ( ( ruleOpOr ) ) + // InternalExpression.g:3078:7: ( ruleOpOr ) + { + // InternalExpression.g:3078:7: ( ruleOpOr ) + // InternalExpression.g:3079:8: ruleOpOr + { + pushFollow(FOLLOW_2); + ruleOpOr(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred4_InternalExpression + + // $ANTLR start synpred5_InternalExpression + public final void synpred5_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:3181:5: ( ( () ( ( ruleOpAnd ) ) ) ) + // InternalExpression.g:3181:6: ( () ( ( ruleOpAnd ) ) ) + { + // InternalExpression.g:3181:6: ( () ( ( ruleOpAnd ) ) ) + // InternalExpression.g:3182:6: () ( ( ruleOpAnd ) ) + { + // InternalExpression.g:3182:6: () + // InternalExpression.g:3183:6: + { + } + + // InternalExpression.g:3184:6: ( ( ruleOpAnd ) ) + // InternalExpression.g:3185:7: ( ruleOpAnd ) + { + // InternalExpression.g:3185:7: ( ruleOpAnd ) + // InternalExpression.g:3186:8: ruleOpAnd + { + pushFollow(FOLLOW_2); + ruleOpAnd(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred5_InternalExpression + + // $ANTLR start synpred6_InternalExpression + public final void synpred6_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:3288:5: ( ( () ( ( ruleOpEquality ) ) ) ) + // InternalExpression.g:3288:6: ( () ( ( ruleOpEquality ) ) ) + { + // InternalExpression.g:3288:6: ( () ( ( ruleOpEquality ) ) ) + // InternalExpression.g:3289:6: () ( ( ruleOpEquality ) ) + { + // InternalExpression.g:3289:6: () + // InternalExpression.g:3290:6: + { + } + + // InternalExpression.g:3291:6: ( ( ruleOpEquality ) ) + // InternalExpression.g:3292:7: ( ruleOpEquality ) + { + // InternalExpression.g:3292:7: ( ruleOpEquality ) + // InternalExpression.g:3293:8: ruleOpEquality + { + pushFollow(FOLLOW_2); + ruleOpEquality(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred6_InternalExpression + + // $ANTLR start synpred7_InternalExpression + public final void synpred7_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:3416:6: ( ( () 'instanceof' ) ) + // InternalExpression.g:3416:7: ( () 'instanceof' ) + { + // InternalExpression.g:3416:7: ( () 'instanceof' ) + // InternalExpression.g:3417:7: () 'instanceof' + { + // InternalExpression.g:3417:7: () + // InternalExpression.g:3418:7: + { + } + + match(input,73,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred7_InternalExpression + + // $ANTLR start synpred8_InternalExpression + public final void synpred8_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:3459:6: ( ( () ( ( ruleOpCompare ) ) ) ) + // InternalExpression.g:3459:7: ( () ( ( ruleOpCompare ) ) ) + { + // InternalExpression.g:3459:7: ( () ( ( ruleOpCompare ) ) ) + // InternalExpression.g:3460:7: () ( ( ruleOpCompare ) ) + { + // InternalExpression.g:3460:7: () + // InternalExpression.g:3461:7: + { + } + + // InternalExpression.g:3462:7: ( ( ruleOpCompare ) ) + // InternalExpression.g:3463:8: ( ruleOpCompare ) + { + // InternalExpression.g:3463:8: ( ruleOpCompare ) + // InternalExpression.g:3464:9: ruleOpCompare + { + pushFollow(FOLLOW_2); + ruleOpCompare(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred8_InternalExpression + + // $ANTLR start synpred9_InternalExpression + public final void synpred9_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:3594:5: ( ( () ( ( ruleOpOther ) ) ) ) + // InternalExpression.g:3594:6: ( () ( ( ruleOpOther ) ) ) + { + // InternalExpression.g:3594:6: ( () ( ( ruleOpOther ) ) ) + // InternalExpression.g:3595:6: () ( ( ruleOpOther ) ) + { + // InternalExpression.g:3595:6: () + // InternalExpression.g:3596:6: + { + } + + // InternalExpression.g:3597:6: ( ( ruleOpOther ) ) + // InternalExpression.g:3598:7: ( ruleOpOther ) + { + // InternalExpression.g:3598:7: ( ruleOpOther ) + // InternalExpression.g:3599:8: ruleOpOther + { + pushFollow(FOLLOW_2); + ruleOpOther(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred9_InternalExpression + + // $ANTLR start synpred10_InternalExpression + public final void synpred10_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:3714:6: ( ( '>' '>' ) ) + // InternalExpression.g:3714:7: ( '>' '>' ) + { + // InternalExpression.g:3714:7: ( '>' '>' ) + // InternalExpression.g:3715:7: '>' '>' + { + match(input,36,FOLLOW_46); if (state.failed) return ; + match(input,36,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred10_InternalExpression + + // $ANTLR start synpred11_InternalExpression + public final void synpred11_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:3749:6: ( ( '<' '<' ) ) + // InternalExpression.g:3749:7: ( '<' '<' ) + { + // InternalExpression.g:3749:7: ( '<' '<' ) + // InternalExpression.g:3750:7: '<' '<' + { + match(input,37,FOLLOW_38); if (state.failed) return ; + match(input,37,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred11_InternalExpression + + // $ANTLR start synpred12_InternalExpression + public final void synpred12_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:3822:5: ( ( () ( ( ruleOpAdd ) ) ) ) + // InternalExpression.g:3822:6: ( () ( ( ruleOpAdd ) ) ) + { + // InternalExpression.g:3822:6: ( () ( ( ruleOpAdd ) ) ) + // InternalExpression.g:3823:6: () ( ( ruleOpAdd ) ) + { + // InternalExpression.g:3823:6: () + // InternalExpression.g:3824:6: + { + } + + // InternalExpression.g:3825:6: ( ( ruleOpAdd ) ) + // InternalExpression.g:3826:7: ( ruleOpAdd ) + { + // InternalExpression.g:3826:7: ( ruleOpAdd ) + // InternalExpression.g:3827:8: ruleOpAdd + { + pushFollow(FOLLOW_2); + ruleOpAdd(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred12_InternalExpression + + // $ANTLR start synpred13_InternalExpression + public final void synpred13_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:3937:5: ( ( () ( ( ruleOpMulti ) ) ) ) + // InternalExpression.g:3937:6: ( () ( ( ruleOpMulti ) ) ) + { + // InternalExpression.g:3937:6: ( () ( ( ruleOpMulti ) ) ) + // InternalExpression.g:3938:6: () ( ( ruleOpMulti ) ) + { + // InternalExpression.g:3938:6: () + // InternalExpression.g:3939:6: + { + } + + // InternalExpression.g:3940:6: ( ( ruleOpMulti ) ) + // InternalExpression.g:3941:7: ( ruleOpMulti ) + { + // InternalExpression.g:3941:7: ( ruleOpMulti ) + // InternalExpression.g:3942:8: ruleOpMulti + { + pushFollow(FOLLOW_2); + ruleOpMulti(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred13_InternalExpression + + // $ANTLR start synpred14_InternalExpression + public final void synpred14_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:4172:5: ( ( () 'as' ) ) + // InternalExpression.g:4172:6: ( () 'as' ) + { + // InternalExpression.g:4172:6: ( () 'as' ) + // InternalExpression.g:4173:6: () 'as' + { + // InternalExpression.g:4173:6: () + // InternalExpression.g:4174:6: + { + } + + match(input,81,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred14_InternalExpression + + // $ANTLR start synpred15_InternalExpression + public final void synpred15_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:4240:4: ( ( () ( ( ruleOpPostfix ) ) ) ) + // InternalExpression.g:4240:5: ( () ( ( ruleOpPostfix ) ) ) + { + // InternalExpression.g:4240:5: ( () ( ( ruleOpPostfix ) ) ) + // InternalExpression.g:4241:5: () ( ( ruleOpPostfix ) ) + { + // InternalExpression.g:4241:5: () + // InternalExpression.g:4242:5: + { + } + + // InternalExpression.g:4243:5: ( ( ruleOpPostfix ) ) + // InternalExpression.g:4244:6: ( ruleOpPostfix ) + { + // InternalExpression.g:4244:6: ( ruleOpPostfix ) + // InternalExpression.g:4245:7: ruleOpPostfix + { + pushFollow(FOLLOW_2); + ruleOpPostfix(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred15_InternalExpression + + // $ANTLR start synpred16_InternalExpression + public final void synpred16_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:4336:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) + // InternalExpression.g:4336:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) + { + // InternalExpression.g:4336:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) + // InternalExpression.g:4337:7: () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign + { + // InternalExpression.g:4337:7: () + // InternalExpression.g:4338:7: + { + } + + // InternalExpression.g:4339:7: ( '.' | ( ( '::' ) ) ) + int alt147=2; + int LA147_0 = input.LA(1); + + if ( (LA147_0==43) ) { + alt147=1; + } + else if ( (LA147_0==65) ) { + alt147=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 147, 0, input); + + throw nvae; + } + switch (alt147) { + case 1 : + // InternalExpression.g:4340:8: '.' + { + match(input,43,FOLLOW_52); if (state.failed) return ; + + } + break; + case 2 : + // InternalExpression.g:4342:8: ( ( '::' ) ) + { + // InternalExpression.g:4342:8: ( ( '::' ) ) + // InternalExpression.g:4343:9: ( '::' ) + { + // InternalExpression.g:4343:9: ( '::' ) + // InternalExpression.g:4344:10: '::' + { + match(input,65,FOLLOW_52); if (state.failed) return ; + + } + + + } + + + } + break; + + } + + // InternalExpression.g:4348:7: ( ( ruleFeatureCallID ) ) + // InternalExpression.g:4349:8: ( ruleFeatureCallID ) + { + // InternalExpression.g:4349:8: ( ruleFeatureCallID ) + // InternalExpression.g:4350:9: ruleFeatureCallID + { + pushFollow(FOLLOW_4); + ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + pushFollow(FOLLOW_2); + ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred16_InternalExpression + + // $ANTLR start synpred17_InternalExpression + public final void synpred17_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:4433:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) ) + // InternalExpression.g:4433:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) + { + // InternalExpression.g:4433:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) + // InternalExpression.g:4434:7: () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) + { + // InternalExpression.g:4434:7: () + // InternalExpression.g:4435:7: + { + } + + // InternalExpression.g:4436:7: ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) + int alt148=3; + switch ( input.LA(1) ) { + case 43: + { + alt148=1; + } + break; + case 84: + { + alt148=2; + } + break; + case 65: + { + alt148=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 148, 0, input); + + throw nvae; + } + + switch (alt148) { + case 1 : + // InternalExpression.g:4437:8: '.' + { + match(input,43,FOLLOW_2); if (state.failed) return ; + + } + break; + case 2 : + // InternalExpression.g:4439:8: ( ( '?.' ) ) + { + // InternalExpression.g:4439:8: ( ( '?.' ) ) + // InternalExpression.g:4440:9: ( '?.' ) + { + // InternalExpression.g:4440:9: ( '?.' ) + // InternalExpression.g:4441:10: '?.' + { + match(input,84,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + break; + case 3 : + // InternalExpression.g:4445:8: ( ( '::' ) ) + { + // InternalExpression.g:4445:8: ( ( '::' ) ) + // InternalExpression.g:4446:9: ( '::' ) + { + // InternalExpression.g:4446:9: ( '::' ) + // InternalExpression.g:4447:10: '::' + { + match(input,65,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + break; + + } + + + } + + + } + } + // $ANTLR end synpred17_InternalExpression + + // $ANTLR start synpred18_InternalExpression + public final void synpred18_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:4571:7: ( ( '(' ) ) + // InternalExpression.g:4571:8: ( '(' ) + { + // InternalExpression.g:4571:8: ( '(' ) + // InternalExpression.g:4572:8: '(' + { + match(input,17,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred18_InternalExpression + + // $ANTLR start synpred19_InternalExpression + public final void synpred19_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:4590:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) + // InternalExpression.g:4590:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + { + // InternalExpression.g:4590:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + // InternalExpression.g:4591:9: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) + { + // InternalExpression.g:4591:9: () + // InternalExpression.g:4592:9: + { + } + + // InternalExpression.g:4593:9: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? + int alt150=2; + int LA150_0 = input.LA(1); + + if ( (LA150_0==RULE_ID||LA150_0==17||LA150_0==76) ) { + alt150=1; + } + switch (alt150) { + case 1 : + // InternalExpression.g:4594:10: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* + { + // InternalExpression.g:4594:10: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:4595:11: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:4595:11: ( ruleJvmFormalParameter ) + // InternalExpression.g:4596:12: ruleJvmFormalParameter + { + pushFollow(FOLLOW_63); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalExpression.g:4599:10: ( ',' ( ( ruleJvmFormalParameter ) ) )* + loop149: + do { + int alt149=2; + int LA149_0 = input.LA(1); + + if ( (LA149_0==44) ) { + alt149=1; + } + + + switch (alt149) { + case 1 : + // InternalExpression.g:4600:11: ',' ( ( ruleJvmFormalParameter ) ) + { + match(input,44,FOLLOW_43); if (state.failed) return ; + // InternalExpression.g:4601:11: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:4602:12: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:4602:12: ( ruleJvmFormalParameter ) + // InternalExpression.g:4603:13: ruleJvmFormalParameter + { + pushFollow(FOLLOW_63); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + default : + break loop149; + } + } while (true); + + + } + break; + + } + + // InternalExpression.g:4608:9: ( ( '|' ) ) + // InternalExpression.g:4609:10: ( '|' ) + { + // InternalExpression.g:4609:10: ( '|' ) + // InternalExpression.g:4610:11: '|' + { + match(input,54,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred19_InternalExpression + + // $ANTLR start synpred20_InternalExpression + public final void synpred20_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:4687:6: ( ( () '[' ) ) + // InternalExpression.g:4687:7: ( () '[' ) + { + // InternalExpression.g:4687:7: ( () '[' ) + // InternalExpression.g:4688:7: () '[' + { + // InternalExpression.g:4688:7: () + // InternalExpression.g:4689:7: + { + } + + match(input,63,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred20_InternalExpression + + // $ANTLR start synpred21_InternalExpression + public final void synpred21_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:4760:4: ( ( () 'synchronized' '(' ) ) + // InternalExpression.g:4760:5: ( () 'synchronized' '(' ) + { + // InternalExpression.g:4760:5: ( () 'synchronized' '(' ) + // InternalExpression.g:4761:5: () 'synchronized' '(' + { + // InternalExpression.g:4761:5: () + // InternalExpression.g:4762:5: + { + } + + match(input,102,FOLLOW_25); if (state.failed) return ; + match(input,17,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred21_InternalExpression + + // $ANTLR start synpred22_InternalExpression + public final void synpred22_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:4805:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) ) + // InternalExpression.g:4805:5: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) + { + // InternalExpression.g:4805:5: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) + // InternalExpression.g:4806:5: () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' + { + // InternalExpression.g:4806:5: () + // InternalExpression.g:4807:5: + { + } + + match(input,87,FOLLOW_25); if (state.failed) return ; + match(input,17,FOLLOW_43); if (state.failed) return ; + // InternalExpression.g:4810:5: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:4811:6: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:4811:6: ( ruleJvmFormalParameter ) + // InternalExpression.g:4812:7: ruleJvmFormalParameter + { + pushFollow(FOLLOW_6); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + match(input,16,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred22_InternalExpression + + // $ANTLR start synpred23_InternalExpression + public final void synpred23_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:4919:4: ( ( () '[' ) ) + // InternalExpression.g:4919:5: ( () '[' ) + { + // InternalExpression.g:4919:5: ( () '[' ) + // InternalExpression.g:4920:5: () '[' + { + // InternalExpression.g:4920:5: () + // InternalExpression.g:4921:5: + { + } + + match(input,63,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred23_InternalExpression + + // $ANTLR start synpred25_InternalExpression + public final void synpred25_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:5224:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) + // InternalExpression.g:5224:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + { + // InternalExpression.g:5224:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + // InternalExpression.g:5225:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) + { + // InternalExpression.g:5225:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? + int alt152=2; + int LA152_0 = input.LA(1); + + if ( (LA152_0==RULE_ID||LA152_0==17||LA152_0==76) ) { + alt152=1; + } + switch (alt152) { + case 1 : + // InternalExpression.g:5226:6: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* + { + // InternalExpression.g:5226:6: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:5227:7: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:5227:7: ( ruleJvmFormalParameter ) + // InternalExpression.g:5228:8: ruleJvmFormalParameter + { + pushFollow(FOLLOW_63); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalExpression.g:5231:6: ( ',' ( ( ruleJvmFormalParameter ) ) )* + loop151: + do { + int alt151=2; + int LA151_0 = input.LA(1); + + if ( (LA151_0==44) ) { + alt151=1; + } + + + switch (alt151) { + case 1 : + // InternalExpression.g:5232:7: ',' ( ( ruleJvmFormalParameter ) ) + { + match(input,44,FOLLOW_43); if (state.failed) return ; + // InternalExpression.g:5233:7: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:5234:8: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:5234:8: ( ruleJvmFormalParameter ) + // InternalExpression.g:5235:9: ruleJvmFormalParameter + { + pushFollow(FOLLOW_63); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + default : + break loop151; + } + } while (true); + + + } + break; + + } + + // InternalExpression.g:5240:5: ( ( '|' ) ) + // InternalExpression.g:5241:6: ( '|' ) + { + // InternalExpression.g:5241:6: ( '|' ) + // InternalExpression.g:5242:7: '|' + { + match(input,54,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred25_InternalExpression + + // $ANTLR start synpred27_InternalExpression + public final void synpred27_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:5633:5: ( 'else' ) + // InternalExpression.g:5633:6: 'else' + { + match(input,23,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred27_InternalExpression + + // $ANTLR start synpred28_InternalExpression + public final void synpred28_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:5692:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) ) + // InternalExpression.g:5692:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) + { + // InternalExpression.g:5692:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) + // InternalExpression.g:5693:7: '(' ( ( ruleJvmFormalParameter ) ) ':' + { + match(input,17,FOLLOW_43); if (state.failed) return ; + // InternalExpression.g:5694:7: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:5695:8: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:5695:8: ( ruleJvmFormalParameter ) + // InternalExpression.g:5696:9: ruleJvmFormalParameter + { + pushFollow(FOLLOW_6); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + match(input,16,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred28_InternalExpression + + // $ANTLR start synpred29_InternalExpression + public final void synpred29_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:5759:6: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) ) + // InternalExpression.g:5759:7: ( ( ( ruleJvmFormalParameter ) ) ':' ) + { + // InternalExpression.g:5759:7: ( ( ( ruleJvmFormalParameter ) ) ':' ) + // InternalExpression.g:5760:7: ( ( ruleJvmFormalParameter ) ) ':' + { + // InternalExpression.g:5760:7: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:5761:8: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:5761:8: ( ruleJvmFormalParameter ) + // InternalExpression.g:5762:9: ruleJvmFormalParameter + { + pushFollow(FOLLOW_6); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + match(input,16,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred29_InternalExpression + + // $ANTLR start synpred31_InternalExpression + public final void synpred31_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:6577:5: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) ) + // InternalExpression.g:6577:6: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) + { + // InternalExpression.g:6577:6: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) + // InternalExpression.g:6578:6: ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) + { + // InternalExpression.g:6578:6: ( ( ruleJvmTypeReference ) ) + // InternalExpression.g:6579:7: ( ruleJvmTypeReference ) + { + // InternalExpression.g:6579:7: ( ruleJvmTypeReference ) + // InternalExpression.g:6580:8: ruleJvmTypeReference + { + pushFollow(FOLLOW_3); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalExpression.g:6583:6: ( ( ruleValidID ) ) + // InternalExpression.g:6584:7: ( ruleValidID ) + { + // InternalExpression.g:6584:7: ( ruleValidID ) + // InternalExpression.g:6585:8: ruleValidID + { + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred31_InternalExpression + + // $ANTLR start synpred32_InternalExpression + public final void synpred32_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:6889:5: ( ( '(' ) ) + // InternalExpression.g:6889:6: ( '(' ) + { + // InternalExpression.g:6889:6: ( '(' ) + // InternalExpression.g:6890:6: '(' + { + match(input,17,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred32_InternalExpression + + // $ANTLR start synpred33_InternalExpression + public final void synpred33_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:6908:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) + // InternalExpression.g:6908:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + { + // InternalExpression.g:6908:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + // InternalExpression.g:6909:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) + { + // InternalExpression.g:6909:7: () + // InternalExpression.g:6910:7: + { + } + + // InternalExpression.g:6911:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? + int alt156=2; + int LA156_0 = input.LA(1); + + if ( (LA156_0==RULE_ID||LA156_0==17||LA156_0==76) ) { + alt156=1; + } + switch (alt156) { + case 1 : + // InternalExpression.g:6912:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* + { + // InternalExpression.g:6912:8: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:6913:9: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:6913:9: ( ruleJvmFormalParameter ) + // InternalExpression.g:6914:10: ruleJvmFormalParameter + { + pushFollow(FOLLOW_63); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalExpression.g:6917:8: ( ',' ( ( ruleJvmFormalParameter ) ) )* + loop155: + do { + int alt155=2; + int LA155_0 = input.LA(1); + + if ( (LA155_0==44) ) { + alt155=1; + } + + + switch (alt155) { + case 1 : + // InternalExpression.g:6918:9: ',' ( ( ruleJvmFormalParameter ) ) + { + match(input,44,FOLLOW_43); if (state.failed) return ; + // InternalExpression.g:6919:9: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:6920:10: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:6920:10: ( ruleJvmFormalParameter ) + // InternalExpression.g:6921:11: ruleJvmFormalParameter + { + pushFollow(FOLLOW_63); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + default : + break loop155; + } + } while (true); + + + } + break; + + } + + // InternalExpression.g:6926:7: ( ( '|' ) ) + // InternalExpression.g:6927:8: ( '|' ) + { + // InternalExpression.g:6927:8: ( '|' ) + // InternalExpression.g:6928:9: '|' + { + match(input,54,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred33_InternalExpression + + // $ANTLR start synpred34_InternalExpression + public final void synpred34_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:7005:4: ( ( () '[' ) ) + // InternalExpression.g:7005:5: ( () '[' ) + { + // InternalExpression.g:7005:5: ( () '[' ) + // InternalExpression.g:7006:5: () '[' + { + // InternalExpression.g:7006:5: () + // InternalExpression.g:7007:5: + { + } + + match(input,63,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred34_InternalExpression + + // $ANTLR start synpred35_InternalExpression + public final void synpred35_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:7165:5: ( '<' ) + // InternalExpression.g:7165:6: '<' + { + match(input,37,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred35_InternalExpression + + // $ANTLR start synpred36_InternalExpression + public final void synpred36_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:7222:5: ( ( '(' ) ) + // InternalExpression.g:7222:6: ( '(' ) + { + // InternalExpression.g:7222:6: ( '(' ) + // InternalExpression.g:7223:6: '(' + { + match(input,17,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred36_InternalExpression + + // $ANTLR start synpred37_InternalExpression + public final void synpred37_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:7241:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) + // InternalExpression.g:7241:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + { + // InternalExpression.g:7241:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + // InternalExpression.g:7242:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) + { + // InternalExpression.g:7242:7: () + // InternalExpression.g:7243:7: + { + } + + // InternalExpression.g:7244:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? + int alt158=2; + int LA158_0 = input.LA(1); + + if ( (LA158_0==RULE_ID||LA158_0==17||LA158_0==76) ) { + alt158=1; + } + switch (alt158) { + case 1 : + // InternalExpression.g:7245:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* + { + // InternalExpression.g:7245:8: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:7246:9: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:7246:9: ( ruleJvmFormalParameter ) + // InternalExpression.g:7247:10: ruleJvmFormalParameter + { + pushFollow(FOLLOW_63); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalExpression.g:7250:8: ( ',' ( ( ruleJvmFormalParameter ) ) )* + loop157: + do { + int alt157=2; + int LA157_0 = input.LA(1); + + if ( (LA157_0==44) ) { + alt157=1; + } + + + switch (alt157) { + case 1 : + // InternalExpression.g:7251:9: ',' ( ( ruleJvmFormalParameter ) ) + { + match(input,44,FOLLOW_43); if (state.failed) return ; + // InternalExpression.g:7252:9: ( ( ruleJvmFormalParameter ) ) + // InternalExpression.g:7253:10: ( ruleJvmFormalParameter ) + { + // InternalExpression.g:7253:10: ( ruleJvmFormalParameter ) + // InternalExpression.g:7254:11: ruleJvmFormalParameter + { + pushFollow(FOLLOW_63); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + default : + break loop157; + } + } while (true); + + + } + break; + + } + + // InternalExpression.g:7259:7: ( ( '|' ) ) + // InternalExpression.g:7260:8: ( '|' ) + { + // InternalExpression.g:7260:8: ( '|' ) + // InternalExpression.g:7261:9: '|' + { + match(input,54,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred37_InternalExpression + + // $ANTLR start synpred38_InternalExpression + public final void synpred38_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:7338:4: ( ( () '[' ) ) + // InternalExpression.g:7338:5: ( () '[' ) + { + // InternalExpression.g:7338:5: ( () '[' ) + // InternalExpression.g:7339:5: () '[' + { + // InternalExpression.g:7339:5: () + // InternalExpression.g:7340:5: + { + } + + match(input,63,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred38_InternalExpression + + // $ANTLR start synpred39_InternalExpression + public final void synpred39_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:7681:4: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING ) + // InternalExpression.g: + { + if ( input.LA(1)==RULE_INT||(input.LA(1)>=RULE_STRING && input.LA(1)<=RULE_DECIMAL)||input.LA(1)==17||input.LA(1)==21||(input.LA(1)>=24 && input.LA(1)<=25)||(input.LA(1)>=37 && input.LA(1)<=39)||input.LA(1)==42||(input.LA(1)>=55 && input.LA(1)<=57)||input.LA(1)==59||input.LA(1)==63||input.LA(1)==85||(input.LA(1)>=87 && input.LA(1)<=89)||(input.LA(1)>=92 && input.LA(1)<=100)||input.LA(1)==102 ) { + input.consume(); + state.errorRecovery=false;state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + + + } + } + // $ANTLR end synpred39_InternalExpression + + // $ANTLR start synpred40_InternalExpression + public final void synpred40_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:7752:6: ( 'catch' ) + // InternalExpression.g:7752:7: 'catch' + { + match(input,103,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred40_InternalExpression + + // $ANTLR start synpred41_InternalExpression + public final void synpred41_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:7773:7: ( 'finally' ) + // InternalExpression.g:7773:8: 'finally' + { + match(input,101,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred41_InternalExpression + + // $ANTLR start synpred44_InternalExpression + public final void synpred44_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:8017:5: ( '.' ) + // InternalExpression.g:8017:6: '.' + { + match(input,43,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred44_InternalExpression + + // $ANTLR start synpred45_InternalExpression + public final void synpred45_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:8143:5: ( ( () ruleArrayBrackets ) ) + // InternalExpression.g:8143:6: ( () ruleArrayBrackets ) + { + // InternalExpression.g:8143:6: ( () ruleArrayBrackets ) + // InternalExpression.g:8144:6: () ruleArrayBrackets + { + // InternalExpression.g:8144:6: () + // InternalExpression.g:8145:6: + { + } + + pushFollow(FOLLOW_2); + ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred45_InternalExpression + + // $ANTLR start synpred46_InternalExpression + public final void synpred46_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:8340:5: ( '<' ) + // InternalExpression.g:8340:6: '<' + { + match(input,37,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred46_InternalExpression + + // $ANTLR start synpred47_InternalExpression + public final void synpred47_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:8396:6: ( ( () '.' ) ) + // InternalExpression.g:8396:7: ( () '.' ) + { + // InternalExpression.g:8396:7: ( () '.' ) + // InternalExpression.g:8397:7: () '.' + { + // InternalExpression.g:8397:7: () + // InternalExpression.g:8398:7: + { + } + + match(input,43,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred47_InternalExpression + + // $ANTLR start synpred48_InternalExpression + public final void synpred48_InternalExpression_fragment() throws RecognitionException { + // InternalExpression.g:8434:7: ( '<' ) + // InternalExpression.g:8434:8: '<' + { + match(input,37,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred48_InternalExpression + + // Delegated rules + + public final boolean synpred28_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred28_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred2_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred2_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred29_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred29_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred1_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred1_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred27_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred27_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred3_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred3_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred4_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred4_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred8_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred8_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred10_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred10_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred35_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred35_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred36_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred36_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred9_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred9_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred11_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred11_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred6_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred6_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred7_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred7_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred5_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred5_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred38_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred38_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred39_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred39_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred37_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred37_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred31_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred31_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred34_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred34_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred33_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred33_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred32_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred32_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred15_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred15_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred41_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred41_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred44_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred44_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred40_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred40_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred18_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred18_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred13_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred13_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred12_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred12_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred14_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred14_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred19_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred19_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred16_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred16_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred17_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred17_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred48_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred48_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred22_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred22_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred23_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred23_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred21_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred21_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred25_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred25_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred46_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred46_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred20_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred20_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred45_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred45_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred47_InternalExpression() { + state.backtracking++; + int start = input.mark(); + try { + synpred47_InternalExpression_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + + + protected DFA1 dfa1 = new DFA1(this); + protected DFA37 dfa37 = new DFA37(this); + protected DFA47 dfa47 = new DFA47(this); + protected DFA50 dfa50 = new DFA50(this); + protected DFA66 dfa66 = new DFA66(this); + protected DFA65 dfa65 = new DFA65(this); + protected DFA67 dfa67 = new DFA67(this); + protected DFA69 dfa69 = new DFA69(this); + protected DFA78 dfa78 = new DFA78(this); + protected DFA85 dfa85 = new DFA85(this); + protected DFA84 dfa84 = new DFA84(this); + protected DFA107 dfa107 = new DFA107(this); + protected DFA106 dfa106 = new DFA106(this); + protected DFA108 dfa108 = new DFA108(this); + protected DFA112 dfa112 = new DFA112(this); + protected DFA115 dfa115 = new DFA115(this); + protected DFA114 dfa114 = new DFA114(this); + protected DFA116 dfa116 = new DFA116(this); + protected DFA119 dfa119 = new DFA119(this); + protected DFA137 dfa137 = new DFA137(this); + protected DFA135 dfa135 = new DFA135(this); + protected DFA144 dfa144 = new DFA144(this); + static final String dfa_1s = "\36\uffff"; + static final String dfa_2s = "\1\4\1\uffff\1\0\33\uffff"; + static final String dfa_3s = "\1\76\1\uffff\1\0\33\uffff"; + static final String dfa_4s = "\1\uffff\1\1\1\uffff\1\3\31\uffff\1\2"; + static final String dfa_5s = "\2\uffff\1\0\33\uffff}>"; + static final String[] dfa_6s = { + "\4\3\6\uffff\1\1\2\uffff\1\2\3\uffff\1\3\2\uffff\2\3\15\uffff\1\3\2\uffff\1\3\2\uffff\11\3\1\uffff\10\3", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); + static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s); + static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); + static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s); + static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); + static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); + + class DFA1 extends DFA { + + public DFA1(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 1; + this.eot = dfa_1; + this.eof = dfa_1; + this.min = dfa_2; + this.max = dfa_3; + this.accept = dfa_4; + this.special = dfa_5; + this.transition = dfa_6; + } + public String getDescription() { + return "78:2: (this_LetExpression_0= ruleLetExpression | ( ( ruleCastedExpression )=>this_CastedExpression_1= ruleCastedExpression ) | this_ChainExpression_2= ruleChainExpression )"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA1_2 = input.LA(1); + + + int index1_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred1_InternalExpression()) ) {s = 29;} + + else if ( (true) ) {s = 3;} + + + input.seek(index1_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 1, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_7s = "\12\uffff"; + static final String dfa_8s = "\1\10\11\uffff"; + static final String dfa_9s = "\1\4\7\0\2\uffff"; + static final String dfa_10s = "\1\147\7\0\2\uffff"; + static final String dfa_11s = "\10\uffff\1\2\1\1"; + static final String dfa_12s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\2\uffff}>"; + static final String[] dfa_13s = { + "\1\10\1\uffff\4\10\6\uffff\4\10\1\uffff\1\10\1\uffff\10\10\1\uffff\3\10\1\uffff\1\7\1\6\7\10\12\uffff\3\10\1\uffff\1\10\3\uffff\3\10\1\1\1\2\1\3\1\4\1\5\41\10", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "" + }; + + static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); + static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s); + static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s); + static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s); + static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s); + static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); + static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s); + + class DFA37 extends DFA { + + public DFA37(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 37; + this.eot = dfa_7; + this.eof = dfa_8; + this.min = dfa_9; + this.max = dfa_10; + this.accept = dfa_11; + this.special = dfa_12; + this.transition = dfa_13; + } + public String getDescription() { + return "2878:4: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA37_1 = input.LA(1); + + + int index37_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalExpression()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index37_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA37_2 = input.LA(1); + + + int index37_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalExpression()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index37_2); + if ( s>=0 ) return s; + break; + case 2 : + int LA37_3 = input.LA(1); + + + int index37_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalExpression()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index37_3); + if ( s>=0 ) return s; + break; + case 3 : + int LA37_4 = input.LA(1); + + + int index37_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalExpression()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index37_4); + if ( s>=0 ) return s; + break; + case 4 : + int LA37_5 = input.LA(1); + + + int index37_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalExpression()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index37_5); + if ( s>=0 ) return s; + break; + case 5 : + int LA37_6 = input.LA(1); + + + int index37_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalExpression()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index37_6); + if ( s>=0 ) return s; + break; + case 6 : + int LA37_7 = input.LA(1); + + + int index37_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalExpression()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index37_7); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 37, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_14s = "\13\uffff"; + static final String dfa_15s = "\1\1\12\uffff"; + static final String dfa_16s = "\1\4\1\uffff\10\0\1\uffff"; + static final String dfa_17s = "\1\147\1\uffff\10\0\1\uffff"; + static final String dfa_18s = "\1\uffff\1\2\10\uffff\1\1"; + static final String dfa_19s = "\2\uffff\1\2\1\1\1\6\1\7\1\5\1\0\1\3\1\4\1\uffff}>"; + static final String[] dfa_20s = { + "\1\1\1\uffff\4\1\6\uffff\3\1\1\4\1\uffff\1\1\1\uffff\10\1\1\uffff\3\1\1\uffff\1\3\1\2\7\1\12\uffff\3\1\1\uffff\1\1\3\uffff\13\1\1\5\1\6\1\7\1\10\1\11\31\1", + "", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "" + }; + + static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s); + static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s); + static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s); + static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s); + static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s); + static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); + static final short[][] dfa_20 = unpackEncodedStringArray(dfa_20s); + + class DFA47 extends DFA { + + public DFA47(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 47; + this.eot = dfa_14; + this.eof = dfa_15; + this.min = dfa_16; + this.max = dfa_17; + this.accept = dfa_18; + this.special = dfa_19; + this.transition = dfa_20; + } + public String getDescription() { + return "()* loopback of 3592:3: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA47_7 = input.LA(1); + + + int index47_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred9_InternalExpression()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index47_7); + if ( s>=0 ) return s; + break; + case 1 : + int LA47_3 = input.LA(1); + + + int index47_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred9_InternalExpression()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index47_3); + if ( s>=0 ) return s; + break; + case 2 : + int LA47_2 = input.LA(1); + + + int index47_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred9_InternalExpression()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index47_2); + if ( s>=0 ) return s; + break; + case 3 : + int LA47_8 = input.LA(1); + + + int index47_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred9_InternalExpression()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index47_8); + if ( s>=0 ) return s; + break; + case 4 : + int LA47_9 = input.LA(1); + + + int index47_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred9_InternalExpression()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index47_9); + if ( s>=0 ) return s; + break; + case 5 : + int LA47_6 = input.LA(1); + + + int index47_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred9_InternalExpression()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index47_6); + if ( s>=0 ) return s; + break; + case 6 : + int LA47_4 = input.LA(1); + + + int index47_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred9_InternalExpression()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index47_4); + if ( s>=0 ) return s; + break; + case 7 : + int LA47_5 = input.LA(1); + + + int index47_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred9_InternalExpression()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index47_5); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 47, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_21s = "\1\23\2\uffff\1\44\7\uffff"; + static final String dfa_22s = "\1\116\2\uffff\1\113\7\uffff"; + static final String dfa_23s = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\3\1\6"; + static final String dfa_24s = "\13\uffff}>"; + static final String[] dfa_25s = { + "\1\1\20\uffff\1\3\1\6\44\uffff\1\2\1\4\1\5\1\7\1\10", + "", + "", + "\1\12\46\uffff\1\11", + "", + "", + "", + "", + "", + "", + "" + }; + static final char[] dfa_21 = DFA.unpackEncodedStringToUnsignedChars(dfa_21s); + static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s); + static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); + static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s); + static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s); + + class DFA50 extends DFA { + + public DFA50(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 50; + this.eot = dfa_14; + this.eof = dfa_14; + this.min = dfa_21; + this.max = dfa_22; + this.accept = dfa_23; + this.special = dfa_24; + this.transition = dfa_25; + } + public String getDescription() { + return "3668:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )"; + } + } + static final String dfa_26s = "\116\uffff"; + static final String dfa_27s = "\1\2\115\uffff"; + static final String dfa_28s = "\1\4\1\0\114\uffff"; + static final String dfa_29s = "\1\147\1\0\114\uffff"; + static final String dfa_30s = "\2\uffff\1\2\112\uffff\1\1"; + static final String dfa_31s = "\1\uffff\1\0\114\uffff}>"; + static final String[] dfa_32s = { + "\1\2\1\uffff\4\2\6\uffff\1\2\1\1\2\2\1\uffff\1\2\1\uffff\10\2\1\uffff\3\2\1\uffff\11\2\12\uffff\3\2\1\uffff\1\2\3\uffff\51\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s); + static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s); + static final char[] dfa_28 = DFA.unpackEncodedStringToUnsignedChars(dfa_28s); + static final char[] dfa_29 = DFA.unpackEncodedStringToUnsignedChars(dfa_29s); + static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s); + static final short[] dfa_31 = DFA.unpackEncodedString(dfa_31s); + static final short[][] dfa_32 = unpackEncodedStringArray(dfa_32s); + + class DFA66 extends DFA { + + public DFA66(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 66; + this.eot = dfa_26; + this.eof = dfa_27; + this.min = dfa_28; + this.max = dfa_29; + this.accept = dfa_30; + this.special = dfa_31; + this.transition = dfa_32; + } + public String getDescription() { + return "4569:5: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA66_1 = input.LA(1); + + + int index66_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred18_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index66_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 66, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_33s = "\44\uffff"; + static final String dfa_34s = "\1\4\2\0\41\uffff"; + static final String dfa_35s = "\1\146\2\0\41\uffff"; + static final String dfa_36s = "\3\uffff\2\1\1\2\35\uffff\1\3"; + static final String dfa_37s = "\1\0\1\1\1\2\41\uffff}>"; + static final String[] dfa_38s = { + "\1\5\1\uffff\1\5\1\1\2\5\7\uffff\1\2\1\43\2\uffff\1\5\2\uffff\2\5\13\uffff\3\5\2\uffff\1\5\13\uffff\1\4\3\5\1\uffff\1\5\3\uffff\1\5\14\uffff\1\3\10\uffff\1\5\1\uffff\3\5\2\uffff\11\5\1\uffff\1\5", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_33 = DFA.unpackEncodedString(dfa_33s); + static final char[] dfa_34 = DFA.unpackEncodedStringToUnsignedChars(dfa_34s); + static final char[] dfa_35 = DFA.unpackEncodedStringToUnsignedChars(dfa_35s); + static final short[] dfa_36 = DFA.unpackEncodedString(dfa_36s); + static final short[] dfa_37 = DFA.unpackEncodedString(dfa_37s); + static final short[][] dfa_38 = unpackEncodedStringArray(dfa_38s); + + class DFA65 extends DFA { + + public DFA65(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 65; + this.eot = dfa_33; + this.eof = dfa_33; + this.min = dfa_34; + this.max = dfa_35; + this.accept = dfa_36; + this.special = dfa_37; + this.transition = dfa_38; + } + public String getDescription() { + return "4588:6: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA65_0 = input.LA(1); + + + int index65_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA65_0==RULE_ID) ) {s = 1;} + + else if ( (LA65_0==17) ) {s = 2;} + + else if ( (LA65_0==76) && (synpred19_InternalExpression())) {s = 3;} + + else if ( (LA65_0==54) && (synpred19_InternalExpression())) {s = 4;} + + else if ( (LA65_0==RULE_INT||LA65_0==RULE_STRING||(LA65_0>=RULE_HEX && LA65_0<=RULE_DECIMAL)||LA65_0==21||(LA65_0>=24 && LA65_0<=25)||(LA65_0>=37 && LA65_0<=39)||LA65_0==42||(LA65_0>=55 && LA65_0<=57)||LA65_0==59||LA65_0==63||LA65_0==85||(LA65_0>=87 && LA65_0<=89)||(LA65_0>=92 && LA65_0<=100)||LA65_0==102) ) {s = 5;} + + else if ( (LA65_0==18) ) {s = 35;} + + + input.seek(index65_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA65_1 = input.LA(1); + + + int index65_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred19_InternalExpression()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index65_1); + if ( s>=0 ) return s; + break; + case 2 : + int LA65_2 = input.LA(1); + + + int index65_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred19_InternalExpression()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index65_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 65, _s, input); + error(nvae); + throw nvae; + } + } + static final String[] dfa_39s = { + "\1\2\1\uffff\4\2\6\uffff\4\2\1\uffff\1\2\1\uffff\10\2\1\uffff\3\2\1\uffff\11\2\12\uffff\3\2\1\uffff\1\2\3\uffff\1\1\50\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[][] dfa_39 = unpackEncodedStringArray(dfa_39s); + + class DFA67 extends DFA { + + public DFA67(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 67; + this.eot = dfa_26; + this.eof = dfa_27; + this.min = dfa_28; + this.max = dfa_29; + this.accept = dfa_30; + this.special = dfa_31; + this.transition = dfa_39; + } + public String getDescription() { + return "4686:5: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA67_1 = input.LA(1); + + + int index67_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred20_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index67_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 67, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_40s = "\40\uffff"; + static final String dfa_41s = "\1\4\26\uffff\1\0\10\uffff"; + static final String dfa_42s = "\1\146\26\uffff\1\0\10\uffff"; + static final String dfa_43s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\6\uffff\1\6\11\uffff\1\7\1\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\10\1\11"; + static final String dfa_44s = "\1\0\26\uffff\1\1\10\uffff}>"; + static final String[] dfa_45s = { + "\1\14\1\uffff\1\14\1\5\2\14\7\uffff\1\35\3\uffff\1\26\2\uffff\1\3\1\2\13\uffff\1\5\21\uffff\3\14\1\uffff\1\1\3\uffff\1\14\25\uffff\1\14\1\uffff\1\27\1\30\1\31\2\uffff\5\5\1\14\1\32\1\33\1\34\1\uffff\1\4", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_40 = DFA.unpackEncodedString(dfa_40s); + static final char[] dfa_41 = DFA.unpackEncodedStringToUnsignedChars(dfa_41s); + static final char[] dfa_42 = DFA.unpackEncodedStringToUnsignedChars(dfa_42s); + static final short[] dfa_43 = DFA.unpackEncodedString(dfa_43s); + static final short[] dfa_44 = DFA.unpackEncodedString(dfa_44s); + static final short[][] dfa_45 = unpackEncodedStringArray(dfa_45s); + + class DFA69 extends DFA { + + public DFA69(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 69; + this.eot = dfa_40; + this.eof = dfa_40; + this.min = dfa_41; + this.max = dfa_42; + this.accept = dfa_43; + this.special = dfa_44; + this.transition = dfa_45; + } + public String getDescription() { + return "4731:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA69_0 = input.LA(1); + + + int index69_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA69_0==59) ) {s = 1;} + + else if ( (LA69_0==25) ) {s = 2;} + + else if ( (LA69_0==24) ) {s = 3;} + + else if ( (LA69_0==102) && (synpred21_InternalExpression())) {s = 4;} + + else if ( (LA69_0==RULE_ID||LA69_0==37||(LA69_0>=92 && LA69_0<=96)) ) {s = 5;} + + else if ( (LA69_0==RULE_INT||LA69_0==RULE_STRING||(LA69_0>=RULE_HEX && LA69_0<=RULE_DECIMAL)||(LA69_0>=55 && LA69_0<=57)||LA69_0==63||LA69_0==85||LA69_0==97) ) {s = 12;} + + else if ( (LA69_0==21) ) {s = 22;} + + else if ( (LA69_0==87) ) {s = 23;} + + else if ( (LA69_0==88) ) {s = 24;} + + else if ( (LA69_0==89) ) {s = 25;} + + else if ( (LA69_0==98) ) {s = 26;} + + else if ( (LA69_0==99) ) {s = 27;} + + else if ( (LA69_0==100) ) {s = 28;} + + else if ( (LA69_0==17) ) {s = 29;} + + + input.seek(index69_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA69_23 = input.LA(1); + + + int index69_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred22_InternalExpression()) ) {s = 30;} + + else if ( (true) ) {s = 31;} + + + input.seek(index69_23); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 69, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_46s = "\46\uffff"; + static final String dfa_47s = "\1\4\2\0\43\uffff"; + static final String dfa_48s = "\1\146\2\0\43\uffff"; + static final String dfa_49s = "\3\uffff\2\1\1\2\40\uffff"; + static final String dfa_50s = "\1\0\1\1\1\2\43\uffff}>"; + static final String[] dfa_51s = { + "\1\5\1\uffff\1\5\1\1\2\5\7\uffff\1\2\3\uffff\1\5\2\uffff\2\5\13\uffff\3\5\2\uffff\1\5\13\uffff\1\4\3\5\1\uffff\1\5\3\uffff\2\5\13\uffff\1\3\10\uffff\1\5\1\uffff\16\5\1\uffff\1\5", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_46 = DFA.unpackEncodedString(dfa_46s); + static final char[] dfa_47 = DFA.unpackEncodedStringToUnsignedChars(dfa_47s); + static final char[] dfa_48 = DFA.unpackEncodedStringToUnsignedChars(dfa_48s); + static final short[] dfa_49 = DFA.unpackEncodedString(dfa_49s); + static final short[] dfa_50 = DFA.unpackEncodedString(dfa_50s); + static final short[][] dfa_51 = unpackEncodedStringArray(dfa_51s); + + class DFA78 extends DFA { + + public DFA78(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 78; + this.eot = dfa_46; + this.eof = dfa_46; + this.min = dfa_47; + this.max = dfa_48; + this.accept = dfa_49; + this.special = dfa_50; + this.transition = dfa_51; + } + public String getDescription() { + return "5223:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA78_0 = input.LA(1); + + + int index78_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA78_0==RULE_ID) ) {s = 1;} + + else if ( (LA78_0==17) ) {s = 2;} + + else if ( (LA78_0==76) && (synpred25_InternalExpression())) {s = 3;} + + else if ( (LA78_0==54) && (synpred25_InternalExpression())) {s = 4;} + + else if ( (LA78_0==RULE_INT||LA78_0==RULE_STRING||(LA78_0>=RULE_HEX && LA78_0<=RULE_DECIMAL)||LA78_0==21||(LA78_0>=24 && LA78_0<=25)||(LA78_0>=37 && LA78_0<=39)||LA78_0==42||(LA78_0>=55 && LA78_0<=57)||LA78_0==59||(LA78_0>=63 && LA78_0<=64)||LA78_0==85||(LA78_0>=87 && LA78_0<=100)||LA78_0==102) ) {s = 5;} + + + input.seek(index78_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA78_1 = input.LA(1); + + + int index78_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred25_InternalExpression()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index78_1); + if ( s>=0 ) return s; + break; + case 2 : + int LA78_2 = input.LA(1); + + + int index78_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred25_InternalExpression()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index78_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 78, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_52s = "\43\uffff"; + static final String dfa_53s = "\1\4\1\0\41\uffff"; + static final String dfa_54s = "\1\146\1\0\41\uffff"; + static final String dfa_55s = "\2\uffff\1\2\37\uffff\1\1"; + static final String dfa_56s = "\1\uffff\1\0\41\uffff}>"; + static final String[] dfa_57s = { + "\1\2\1\uffff\4\2\7\uffff\1\1\3\uffff\1\2\2\uffff\2\2\13\uffff\3\2\2\uffff\1\2\14\uffff\3\2\1\uffff\1\2\3\uffff\1\2\14\uffff\1\2\10\uffff\1\2\1\uffff\3\2\2\uffff\11\2\1\uffff\1\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_52 = DFA.unpackEncodedString(dfa_52s); + static final char[] dfa_53 = DFA.unpackEncodedStringToUnsignedChars(dfa_53s); + static final char[] dfa_54 = DFA.unpackEncodedStringToUnsignedChars(dfa_54s); + static final short[] dfa_55 = DFA.unpackEncodedString(dfa_55s); + static final short[] dfa_56 = DFA.unpackEncodedString(dfa_56s); + static final short[][] dfa_57 = unpackEncodedStringArray(dfa_57s); + + class DFA85 extends DFA { + + public DFA85(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 85; + this.eot = dfa_52; + this.eof = dfa_52; + this.min = dfa_53; + this.max = dfa_54; + this.accept = dfa_55; + this.special = dfa_56; + this.transition = dfa_57; + } + public String getDescription() { + return "5689:3: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) )"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA85_1 = input.LA(1); + + + int index85_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred28_InternalExpression()) ) {s = 34;} + + else if ( (true) ) {s = 2;} + + + input.seek(index85_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 85, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_58s = "\42\uffff"; + static final String dfa_59s = "\1\4\2\0\37\uffff"; + static final String dfa_60s = "\1\146\2\0\37\uffff"; + static final String dfa_61s = "\3\uffff\1\1\1\2\35\uffff"; + static final String dfa_62s = "\1\0\1\1\1\2\37\uffff}>"; + static final String[] dfa_63s = { + "\1\4\1\uffff\1\4\1\1\2\4\7\uffff\1\2\3\uffff\1\4\2\uffff\2\4\13\uffff\3\4\2\uffff\1\4\14\uffff\3\4\1\uffff\1\4\3\uffff\1\4\14\uffff\1\3\10\uffff\1\4\1\uffff\3\4\2\uffff\11\4\1\uffff\1\4", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_58 = DFA.unpackEncodedString(dfa_58s); + static final char[] dfa_59 = DFA.unpackEncodedStringToUnsignedChars(dfa_59s); + static final char[] dfa_60 = DFA.unpackEncodedStringToUnsignedChars(dfa_60s); + static final short[] dfa_61 = DFA.unpackEncodedString(dfa_61s); + static final short[] dfa_62 = DFA.unpackEncodedString(dfa_62s); + static final short[][] dfa_63 = unpackEncodedStringArray(dfa_63s); + + class DFA84 extends DFA { + + public DFA84(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 84; + this.eot = dfa_58; + this.eof = dfa_58; + this.min = dfa_59; + this.max = dfa_60; + this.accept = dfa_61; + this.special = dfa_62; + this.transition = dfa_63; + } + public String getDescription() { + return "5758:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA84_0 = input.LA(1); + + + int index84_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA84_0==RULE_ID) ) {s = 1;} + + else if ( (LA84_0==17) ) {s = 2;} + + else if ( (LA84_0==76) && (synpred29_InternalExpression())) {s = 3;} + + else if ( (LA84_0==RULE_INT||LA84_0==RULE_STRING||(LA84_0>=RULE_HEX && LA84_0<=RULE_DECIMAL)||LA84_0==21||(LA84_0>=24 && LA84_0<=25)||(LA84_0>=37 && LA84_0<=39)||LA84_0==42||(LA84_0>=55 && LA84_0<=57)||LA84_0==59||LA84_0==63||LA84_0==85||(LA84_0>=87 && LA84_0<=89)||(LA84_0>=92 && LA84_0<=100)||LA84_0==102) ) {s = 4;} + + + input.seek(index84_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA84_1 = input.LA(1); + + + int index84_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred29_InternalExpression()) ) {s = 3;} + + else if ( (true) ) {s = 4;} + + + input.seek(index84_1); + if ( s>=0 ) return s; + break; + case 2 : + int LA84_2 = input.LA(1); + + + int index84_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred29_InternalExpression()) ) {s = 3;} + + else if ( (true) ) {s = 4;} + + + input.seek(index84_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 84, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA107 extends DFA { + + public DFA107(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 107; + this.eot = dfa_26; + this.eof = dfa_27; + this.min = dfa_28; + this.max = dfa_29; + this.accept = dfa_30; + this.special = dfa_31; + this.transition = dfa_32; + } + public String getDescription() { + return "6887:3: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA107_1 = input.LA(1); + + + int index107_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred32_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index107_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 107, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA106 extends DFA { + + public DFA106(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 106; + this.eot = dfa_33; + this.eof = dfa_33; + this.min = dfa_34; + this.max = dfa_35; + this.accept = dfa_36; + this.special = dfa_37; + this.transition = dfa_38; + } + public String getDescription() { + return "6906:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA106_0 = input.LA(1); + + + int index106_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA106_0==RULE_ID) ) {s = 1;} + + else if ( (LA106_0==17) ) {s = 2;} + + else if ( (LA106_0==76) && (synpred33_InternalExpression())) {s = 3;} + + else if ( (LA106_0==54) && (synpred33_InternalExpression())) {s = 4;} + + else if ( (LA106_0==RULE_INT||LA106_0==RULE_STRING||(LA106_0>=RULE_HEX && LA106_0<=RULE_DECIMAL)||LA106_0==21||(LA106_0>=24 && LA106_0<=25)||(LA106_0>=37 && LA106_0<=39)||LA106_0==42||(LA106_0>=55 && LA106_0<=57)||LA106_0==59||LA106_0==63||LA106_0==85||(LA106_0>=87 && LA106_0<=89)||(LA106_0>=92 && LA106_0<=100)||LA106_0==102) ) {s = 5;} + + else if ( (LA106_0==18) ) {s = 35;} + + + input.seek(index106_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA106_1 = input.LA(1); + + + int index106_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred33_InternalExpression()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index106_1); + if ( s>=0 ) return s; + break; + case 2 : + int LA106_2 = input.LA(1); + + + int index106_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred33_InternalExpression()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index106_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 106, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA108 extends DFA { + + public DFA108(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 108; + this.eot = dfa_26; + this.eof = dfa_27; + this.min = dfa_28; + this.max = dfa_29; + this.accept = dfa_30; + this.special = dfa_31; + this.transition = dfa_39; + } + public String getDescription() { + return "7004:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA108_1 = input.LA(1); + + + int index108_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred34_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index108_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 108, _s, input); + error(nvae); + throw nvae; + } + } + static final String[] dfa_64s = { + "\1\2\1\uffff\4\2\6\uffff\4\2\1\uffff\1\2\1\uffff\10\2\1\uffff\3\2\1\uffff\1\2\1\1\7\2\12\uffff\3\2\1\uffff\1\2\3\uffff\51\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[][] dfa_64 = unpackEncodedStringArray(dfa_64s); + + class DFA112 extends DFA { + + public DFA112(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 112; + this.eot = dfa_26; + this.eof = dfa_27; + this.min = dfa_28; + this.max = dfa_29; + this.accept = dfa_30; + this.special = dfa_31; + this.transition = dfa_64; + } + public String getDescription() { + return "7163:3: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA112_1 = input.LA(1); + + + int index112_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred35_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index112_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 112, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA115 extends DFA { + + public DFA115(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 115; + this.eot = dfa_26; + this.eof = dfa_27; + this.min = dfa_28; + this.max = dfa_29; + this.accept = dfa_30; + this.special = dfa_31; + this.transition = dfa_32; + } + public String getDescription() { + return "7220:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA115_1 = input.LA(1); + + + int index115_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred36_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index115_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 115, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA114 extends DFA { + + public DFA114(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 114; + this.eot = dfa_33; + this.eof = dfa_33; + this.min = dfa_34; + this.max = dfa_35; + this.accept = dfa_36; + this.special = dfa_37; + this.transition = dfa_38; + } + public String getDescription() { + return "7239:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA114_0 = input.LA(1); + + + int index114_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA114_0==RULE_ID) ) {s = 1;} + + else if ( (LA114_0==17) ) {s = 2;} + + else if ( (LA114_0==76) && (synpred37_InternalExpression())) {s = 3;} + + else if ( (LA114_0==54) && (synpred37_InternalExpression())) {s = 4;} + + else if ( (LA114_0==RULE_INT||LA114_0==RULE_STRING||(LA114_0>=RULE_HEX && LA114_0<=RULE_DECIMAL)||LA114_0==21||(LA114_0>=24 && LA114_0<=25)||(LA114_0>=37 && LA114_0<=39)||LA114_0==42||(LA114_0>=55 && LA114_0<=57)||LA114_0==59||LA114_0==63||LA114_0==85||(LA114_0>=87 && LA114_0<=89)||(LA114_0>=92 && LA114_0<=100)||LA114_0==102) ) {s = 5;} + + else if ( (LA114_0==18) ) {s = 35;} + + + input.seek(index114_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA114_1 = input.LA(1); + + + int index114_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred37_InternalExpression()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index114_1); + if ( s>=0 ) return s; + break; + case 2 : + int LA114_2 = input.LA(1); + + + int index114_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred37_InternalExpression()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index114_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 114, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA116 extends DFA { + + public DFA116(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 116; + this.eot = dfa_26; + this.eof = dfa_27; + this.min = dfa_28; + this.max = dfa_29; + this.accept = dfa_30; + this.special = dfa_31; + this.transition = dfa_39; + } + public String getDescription() { + return "7337:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA116_1 = input.LA(1); + + + int index116_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred38_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index116_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 116, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_65s = "\1\41\115\uffff"; + static final String dfa_66s = "\1\4\40\0\55\uffff"; + static final String dfa_67s = "\1\147\40\0\55\uffff"; + static final String dfa_68s = "\41\uffff\1\2\53\uffff\1\1"; + static final String dfa_69s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\55\uffff}>"; + static final String[] dfa_70s = { + "\1\24\1\uffff\1\27\1\1\1\23\1\25\6\uffff\1\41\1\40\2\41\1\uffff\1\31\1\uffff\1\41\1\13\1\12\5\41\1\uffff\3\41\1\uffff\1\41\1\15\1\10\1\7\2\41\1\6\2\41\12\uffff\1\22\1\21\1\26\1\uffff\1\11\3\uffff\1\20\25\41\1\17\1\41\1\32\1\33\1\34\2\41\1\2\1\3\1\4\1\5\1\16\1\30\1\35\1\36\1\37\1\41\1\14\1\41", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[] dfa_65 = DFA.unpackEncodedString(dfa_65s); + static final char[] dfa_66 = DFA.unpackEncodedStringToUnsignedChars(dfa_66s); + static final char[] dfa_67 = DFA.unpackEncodedStringToUnsignedChars(dfa_67s); + static final short[] dfa_68 = DFA.unpackEncodedString(dfa_68s); + static final short[] dfa_69 = DFA.unpackEncodedString(dfa_69s); + static final short[][] dfa_70 = unpackEncodedStringArray(dfa_70s); + + class DFA119 extends DFA { + + public DFA119(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 119; + this.eot = dfa_26; + this.eof = dfa_65; + this.min = dfa_66; + this.max = dfa_67; + this.accept = dfa_68; + this.special = dfa_69; + this.transition = dfa_70; + } + public String getDescription() { + return "7680:3: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA119_1 = input.LA(1); + + + int index119_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA119_2 = input.LA(1); + + + int index119_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_2); + if ( s>=0 ) return s; + break; + case 2 : + int LA119_3 = input.LA(1); + + + int index119_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_3); + if ( s>=0 ) return s; + break; + case 3 : + int LA119_4 = input.LA(1); + + + int index119_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_4); + if ( s>=0 ) return s; + break; + case 4 : + int LA119_5 = input.LA(1); + + + int index119_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_5); + if ( s>=0 ) return s; + break; + case 5 : + int LA119_6 = input.LA(1); + + + int index119_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_6); + if ( s>=0 ) return s; + break; + case 6 : + int LA119_7 = input.LA(1); + + + int index119_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_7); + if ( s>=0 ) return s; + break; + case 7 : + int LA119_8 = input.LA(1); + + + int index119_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_8); + if ( s>=0 ) return s; + break; + case 8 : + int LA119_9 = input.LA(1); + + + int index119_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_9); + if ( s>=0 ) return s; + break; + case 9 : + int LA119_10 = input.LA(1); + + + int index119_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_10); + if ( s>=0 ) return s; + break; + case 10 : + int LA119_11 = input.LA(1); + + + int index119_11 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_11); + if ( s>=0 ) return s; + break; + case 11 : + int LA119_12 = input.LA(1); + + + int index119_12 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_12); + if ( s>=0 ) return s; + break; + case 12 : + int LA119_13 = input.LA(1); + + + int index119_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_13); + if ( s>=0 ) return s; + break; + case 13 : + int LA119_14 = input.LA(1); + + + int index119_14 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_14); + if ( s>=0 ) return s; + break; + case 14 : + int LA119_15 = input.LA(1); + + + int index119_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_15); + if ( s>=0 ) return s; + break; + case 15 : + int LA119_16 = input.LA(1); + + + int index119_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_16); + if ( s>=0 ) return s; + break; + case 16 : + int LA119_17 = input.LA(1); + + + int index119_17 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_17); + if ( s>=0 ) return s; + break; + case 17 : + int LA119_18 = input.LA(1); + + + int index119_18 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_18); + if ( s>=0 ) return s; + break; + case 18 : + int LA119_19 = input.LA(1); + + + int index119_19 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_19); + if ( s>=0 ) return s; + break; + case 19 : + int LA119_20 = input.LA(1); + + + int index119_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} - input.seek(index1_2); + input.seek(index119_20); + if ( s>=0 ) return s; + break; + case 20 : + int LA119_21 = input.LA(1); + + + int index119_21 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_21); + if ( s>=0 ) return s; + break; + case 21 : + int LA119_22 = input.LA(1); + + + int index119_22 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_22); + if ( s>=0 ) return s; + break; + case 22 : + int LA119_23 = input.LA(1); + + + int index119_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_23); + if ( s>=0 ) return s; + break; + case 23 : + int LA119_24 = input.LA(1); + + + int index119_24 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_24); + if ( s>=0 ) return s; + break; + case 24 : + int LA119_25 = input.LA(1); + + + int index119_25 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_25); + if ( s>=0 ) return s; + break; + case 25 : + int LA119_26 = input.LA(1); + + + int index119_26 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_26); + if ( s>=0 ) return s; + break; + case 26 : + int LA119_27 = input.LA(1); + + + int index119_27 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_27); + if ( s>=0 ) return s; + break; + case 27 : + int LA119_28 = input.LA(1); + + + int index119_28 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_28); + if ( s>=0 ) return s; + break; + case 28 : + int LA119_29 = input.LA(1); + + + int index119_29 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_29); + if ( s>=0 ) return s; + break; + case 29 : + int LA119_30 = input.LA(1); + + + int index119_30 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_30); + if ( s>=0 ) return s; + break; + case 30 : + int LA119_31 = input.LA(1); + + + int index119_31 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_31); + if ( s>=0 ) return s; + break; + case 31 : + int LA119_32 = input.LA(1); + + + int index119_32 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalExpression()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index119_32); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 1, _s, input); + new NoViableAltException(getDescription(), 119, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_71s = "\117\uffff"; + static final String dfa_72s = "\1\2\116\uffff"; + static final String dfa_73s = "\1\4\1\0\115\uffff"; + static final String dfa_74s = "\1\150\1\0\115\uffff"; + static final String dfa_75s = "\2\uffff\1\2\113\uffff\1\1"; + static final String dfa_76s = "\1\uffff\1\0\115\uffff}>"; + static final String[] dfa_77s = { + "\1\2\1\uffff\4\2\6\uffff\4\2\1\uffff\1\2\1\uffff\10\2\1\uffff\3\2\1\uffff\1\2\1\1\7\2\12\uffff\3\2\1\uffff\1\2\3\uffff\52\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_71 = DFA.unpackEncodedString(dfa_71s); + static final short[] dfa_72 = DFA.unpackEncodedString(dfa_72s); + static final char[] dfa_73 = DFA.unpackEncodedStringToUnsignedChars(dfa_73s); + static final char[] dfa_74 = DFA.unpackEncodedStringToUnsignedChars(dfa_74s); + static final short[] dfa_75 = DFA.unpackEncodedString(dfa_75s); + static final short[] dfa_76 = DFA.unpackEncodedString(dfa_76s); + static final short[][] dfa_77 = unpackEncodedStringArray(dfa_77s); + + class DFA137 extends DFA { + + public DFA137(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 137; + this.eot = dfa_71; + this.eof = dfa_72; + this.min = dfa_73; + this.max = dfa_74; + this.accept = dfa_75; + this.special = dfa_76; + this.transition = dfa_77; + } + public String getDescription() { + return "8338:3: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA137_1 = input.LA(1); + + + int index137_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred46_InternalExpression()) ) {s = 78;} + + else if ( (true) ) {s = 2;} + + + input.seek(index137_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 137, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA135 extends DFA { + + public DFA135(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 135; + this.eot = dfa_71; + this.eof = dfa_72; + this.min = dfa_73; + this.max = dfa_74; + this.accept = dfa_75; + this.special = dfa_76; + this.transition = dfa_77; + } + public String getDescription() { + return "8432:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA135_1 = input.LA(1); + + + int index135_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred48_InternalExpression()) ) {s = 78;} + + else if ( (true) ) {s = 2;} + + + input.seek(index135_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 135, _s, input); error(nvae); throw nvae; } } + static final String dfa_78s = "\7\uffff"; + static final String dfa_79s = "\2\uffff\1\4\2\uffff\1\4\1\uffff"; + static final String dfa_80s = "\1\7\1\uffff\1\53\1\7\1\uffff\1\53\1\uffff"; + static final String dfa_81s = "\1\135\1\uffff\1\126\1\50\1\uffff\1\126\1\uffff"; + static final String dfa_82s = "\1\uffff\1\1\2\uffff\1\2\1\uffff\1\3"; + static final String dfa_83s = "\7\uffff}>"; + static final String[] dfa_84s = { + "\1\2\125\uffff\1\1", + "", + "\1\3\52\uffff\1\4", + "\1\5\40\uffff\1\6", + "", + "\1\3\52\uffff\1\4", + "" + }; + + static final short[] dfa_78 = DFA.unpackEncodedString(dfa_78s); + static final short[] dfa_79 = DFA.unpackEncodedString(dfa_79s); + static final char[] dfa_80 = DFA.unpackEncodedStringToUnsignedChars(dfa_80s); + static final char[] dfa_81 = DFA.unpackEncodedStringToUnsignedChars(dfa_81s); + static final short[] dfa_82 = DFA.unpackEncodedString(dfa_82s); + static final short[] dfa_83 = DFA.unpackEncodedString(dfa_83s); + static final short[][] dfa_84 = unpackEncodedStringArray(dfa_84s); + + class DFA144 extends DFA { + + public DFA144(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 144; + this.eot = dfa_78; + this.eof = dfa_79; + this.min = dfa_80; + this.max = dfa_81; + this.accept = dfa_82; + this.special = dfa_83; + this.transition = dfa_84; + } + public String getDescription() { + return "8894:3: ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) )"; + } + } public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000002000L}); - public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x1FEFF92000C890F0L}); - public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000004000L}); - public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x1C00000000000080L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000010000L}); - public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000020002L}); - public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000040002L}); - public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000100000L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000200002L}); - public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000808000L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x1FEFF920008080F0L}); - public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000800000L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000005000000L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000002000000L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000008000002L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000010000002L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000020000002L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000FC0000002L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000003000000002L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x000000C000000002L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000020000000002L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000000008000L}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x1FEFF92000C990F0L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000040000010000L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000080000000000L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x000FF00000000000L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0010000000000000L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x1FEFF92002C890F0L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000040002000000L}); - public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x2000000000000000L}); - public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x4000000000000000L}); - public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x8000000000000002L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000008000L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x7FBFE480032240F0L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x7000000000000080L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000040000L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000080002L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000100002L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000400000L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000800002L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000002020000L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x7FBFE480020200F0L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000002000000L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000014000000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000008000000L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000020000002L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000040000002L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000080000002L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000003F00000002L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x000000C000000002L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000030000000002L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000080000000002L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000000020000L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x7FBFE480032640F0L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000100000040000L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000200000000000L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x003FC00000000000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0040000000000000L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x7FBFE4800B2240F0L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000100008000000L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x8000000000000000L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000002L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x8B8004E0032203D0L,0x0000005FF3A00000L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000003000000002L,0x000000000000007CL}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000002000000000L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000001400000000L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000300000002L,0x0000000000000180L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000003400000002L,0x0000000000000200L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000020080L,0x0000000000001000L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000003000080002L,0x0000000000007C00L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000001000000000L}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000002000000000L,0x0000000000001000L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000030000000002L,0x0000000000018000L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L}); + public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000000000002L,0x00000000000C0000L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000080000000002L,0x0000000000100002L}); + public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000080L,0x00000000F0000000L}); + public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000002000000080L,0x00000001F0000000L}); + public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000120080L,0x0000000000001000L}); + public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000101000000000L}); + public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x8000080000020002L,0x0000000000100002L}); + public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x8BC004E0032603D0L,0x0000005FF3A01000L}); + public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x8000080000000002L,0x0000000000100002L}); + public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x8B8004E00B2203D0L,0x0000005FF3A00000L}); + public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x8B8004E0032203D0L,0x0000005FF3A00001L}); + public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000100000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x8BC004E0032203D0L,0x0000005FFFA01001L}); + public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0040100000000000L}); + public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x8B8004E0032203D0L,0x0000005FFFA00001L}); + public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x8B8004E0032203D2L,0x0000005FFFE00000L}); + public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x8B8004E0032203D2L,0x0000005FFFA00000L}); + public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x8B8004E0032203D0L,0x0000005FF3A01000L}); + public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x000010001C030080L,0x0000000000001000L}); + public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000100010010000L}); + public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0000100000010000L}); + public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x8B8004E0032203D0L,0x0000005FFFE00000L}); + public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000100000000000L,0x0000000000400000L}); + public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x8B8004E0032203D0L,0x0000005FFFA00000L}); + public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x8B8004E0032203D0L,0x0000005FF3E00000L}); + public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L}); + public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x8B8004E0032603D0L,0x0000005FF3A00000L}); + public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L}); + public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x8B8004E00B2203D0L,0x0000005FFFA00000L}); + public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x8B8004E00B2203D0L,0x0000005FFFE00000L}); + public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000008002L}); + public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x8000000000020002L}); + public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x8000000000000002L}); + public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x8000002000020002L}); + public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x8000000000040000L}); + public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x8B8004E0032203D2L,0x0000005FF3A00000L}); + public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000000000000000L,0x000000A000000000L}); + public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000000000002L,0x000000A000000000L}); + public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0000000000000210L}); + public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0000000000060080L,0x0000000000001000L}); + public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L}); + public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0000002000000002L}); + public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0000082000000002L}); + public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0000000000000002L,0x0000000110000000L}); + public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x0000000000000002L,0x0000010000000000L}); + public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x0000080000000000L}); + public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000010000000000L}); + public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000000000000080L,0x0000000020000000L}); + public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000000080L,0x0000000080000000L}); + public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000010000000080L}); + public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000000000002L,0x0000000000400000L}); + public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x0000000000000082L}); } \ No newline at end of file diff --git a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/scoping/AbstractExpressionScopeProvider.java b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/scoping/AbstractExpressionScopeProvider.java index 9b65913398..2eb55ed356 100644 --- a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/scoping/AbstractExpressionScopeProvider.java +++ b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/scoping/AbstractExpressionScopeProvider.java @@ -3,7 +3,7 @@ */ package com.avaloq.tools.ddk.xtext.expression.scoping; -import org.eclipse.xtext.scoping.impl.DelegatingScopeProvider; +import org.eclipse.xtext.xbase.scoping.batch.XbaseBatchScopeProvider; -public abstract class AbstractExpressionScopeProvider extends DelegatingScopeProvider { +public abstract class AbstractExpressionScopeProvider extends XbaseBatchScopeProvider { } diff --git a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/serializer/AbstractExpressionSemanticSequencer.java b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/serializer/AbstractExpressionSemanticSequencer.java index 72dd29c40e..c757a1117b 100644 --- a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/serializer/AbstractExpressionSemanticSequencer.java +++ b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/serializer/AbstractExpressionSemanticSequencer.java @@ -32,13 +32,58 @@ import org.eclipse.xtext.Action; import org.eclipse.xtext.Parameter; import org.eclipse.xtext.ParserRule; +import org.eclipse.xtext.common.types.JvmFormalParameter; +import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; +import org.eclipse.xtext.common.types.JvmInnerTypeReference; +import org.eclipse.xtext.common.types.JvmLowerBound; +import org.eclipse.xtext.common.types.JvmParameterizedTypeReference; +import org.eclipse.xtext.common.types.JvmTypeParameter; +import org.eclipse.xtext.common.types.JvmUpperBound; +import org.eclipse.xtext.common.types.JvmWildcardTypeReference; +import org.eclipse.xtext.common.types.TypesPackage; import org.eclipse.xtext.serializer.ISerializationContext; import org.eclipse.xtext.serializer.acceptor.SequenceFeeder; -import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer; import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient; +import org.eclipse.xtext.xbase.XAssignment; +import org.eclipse.xtext.xbase.XBasicForLoopExpression; +import org.eclipse.xtext.xbase.XBinaryOperation; +import org.eclipse.xtext.xbase.XBlockExpression; +import org.eclipse.xtext.xbase.XBooleanLiteral; +import org.eclipse.xtext.xbase.XCasePart; +import org.eclipse.xtext.xbase.XCastedExpression; +import org.eclipse.xtext.xbase.XCatchClause; +import org.eclipse.xtext.xbase.XClosure; +import org.eclipse.xtext.xbase.XConstructorCall; +import org.eclipse.xtext.xbase.XDoWhileExpression; +import org.eclipse.xtext.xbase.XFeatureCall; +import org.eclipse.xtext.xbase.XForLoopExpression; +import org.eclipse.xtext.xbase.XIfExpression; +import org.eclipse.xtext.xbase.XInstanceOfExpression; +import org.eclipse.xtext.xbase.XListLiteral; +import org.eclipse.xtext.xbase.XMemberFeatureCall; +import org.eclipse.xtext.xbase.XNullLiteral; +import org.eclipse.xtext.xbase.XNumberLiteral; +import org.eclipse.xtext.xbase.XPostfixOperation; +import org.eclipse.xtext.xbase.XReturnExpression; +import org.eclipse.xtext.xbase.XSetLiteral; +import org.eclipse.xtext.xbase.XStringLiteral; +import org.eclipse.xtext.xbase.XSwitchExpression; +import org.eclipse.xtext.xbase.XSynchronizedExpression; +import org.eclipse.xtext.xbase.XThrowExpression; +import org.eclipse.xtext.xbase.XTryCatchFinallyExpression; +import org.eclipse.xtext.xbase.XTypeLiteral; +import org.eclipse.xtext.xbase.XUnaryOperation; +import org.eclipse.xtext.xbase.XVariableDeclaration; +import org.eclipse.xtext.xbase.XWhileExpression; +import org.eclipse.xtext.xbase.XbasePackage; +import org.eclipse.xtext.xbase.serializer.XbaseSemanticSequencer; +import org.eclipse.xtext.xtype.XFunctionTypeRef; +import org.eclipse.xtext.xtype.XImportDeclaration; +import org.eclipse.xtext.xtype.XImportSection; +import org.eclipse.xtext.xtype.XtypePackage; @SuppressWarnings("all") -public abstract class AbstractExpressionSemanticSequencer extends AbstractDelegatingSemanticSequencer { +public abstract class AbstractExpressionSemanticSequencer extends XbaseSemanticSequencer { @Inject private ExpressionGrammarAccess grammarAccess; @@ -296,6 +341,245 @@ else if (rule == grammarAccess.getFeatureCallRule() } else break; } + else if (epackage == TypesPackage.eINSTANCE) + switch (semanticObject.eClass().getClassifierID()) { + case TypesPackage.JVM_FORMAL_PARAMETER: + if (rule == grammarAccess.getFullJvmFormalParameterRule()) { + sequence_FullJvmFormalParameter(context, (JvmFormalParameter) semanticObject); + return; + } + else if (rule == grammarAccess.getJvmFormalParameterRule()) { + sequence_JvmFormalParameter(context, (JvmFormalParameter) semanticObject); + return; + } + else break; + case TypesPackage.JVM_GENERIC_ARRAY_TYPE_REFERENCE: + sequence_JvmTypeReference(context, (JvmGenericArrayTypeReference) semanticObject); + return; + case TypesPackage.JVM_INNER_TYPE_REFERENCE: + sequence_JvmParameterizedTypeReference(context, (JvmInnerTypeReference) semanticObject); + return; + case TypesPackage.JVM_LOWER_BOUND: + if (rule == grammarAccess.getJvmLowerBoundAndedRule()) { + sequence_JvmLowerBoundAnded(context, (JvmLowerBound) semanticObject); + return; + } + else if (rule == grammarAccess.getJvmLowerBoundRule()) { + sequence_JvmLowerBound(context, (JvmLowerBound) semanticObject); + return; + } + else break; + case TypesPackage.JVM_PARAMETERIZED_TYPE_REFERENCE: + if (action == grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()) { + sequence_JvmParameterizedTypeReference_JvmInnerTypeReference_1_4_0_0_0(context, (JvmParameterizedTypeReference) semanticObject); + return; + } + else if (rule == grammarAccess.getJvmTypeReferenceRule() + || action == grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0() + || rule == grammarAccess.getJvmParameterizedTypeReferenceRule() + || rule == grammarAccess.getJvmArgumentTypeReferenceRule()) { + sequence_JvmParameterizedTypeReference(context, (JvmParameterizedTypeReference) semanticObject); + return; + } + else break; + case TypesPackage.JVM_TYPE_PARAMETER: + sequence_JvmTypeParameter(context, (JvmTypeParameter) semanticObject); + return; + case TypesPackage.JVM_UPPER_BOUND: + if (rule == grammarAccess.getJvmUpperBoundAndedRule()) { + sequence_JvmUpperBoundAnded(context, (JvmUpperBound) semanticObject); + return; + } + else if (rule == grammarAccess.getJvmUpperBoundRule()) { + sequence_JvmUpperBound(context, (JvmUpperBound) semanticObject); + return; + } + else break; + case TypesPackage.JVM_WILDCARD_TYPE_REFERENCE: + sequence_JvmWildcardTypeReference(context, (JvmWildcardTypeReference) semanticObject); + return; + } + else if (epackage == XbasePackage.eINSTANCE) + switch (semanticObject.eClass().getClassifierID()) { + case XbasePackage.XASSIGNMENT: + sequence_XAssignment_XMemberFeatureCall(context, (XAssignment) semanticObject); + return; + case XbasePackage.XBASIC_FOR_LOOP_EXPRESSION: + sequence_XBasicForLoopExpression(context, (XBasicForLoopExpression) semanticObject); + return; + case XbasePackage.XBINARY_OPERATION: + sequence_XAdditiveExpression_XAndExpression_XAssignment_XEqualityExpression_XMultiplicativeExpression_XOrExpression_XOtherOperatorExpression_XRelationalExpression(context, (XBinaryOperation) semanticObject); + return; + case XbasePackage.XBLOCK_EXPRESSION: + if (rule == grammarAccess.getXExpressionRule() + || rule == grammarAccess.getXAssignmentRule() + || action == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() + || rule == grammarAccess.getXOrExpressionRule() + || action == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXAndExpressionRule() + || action == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXEqualityExpressionRule() + || action == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXRelationalExpressionRule() + || action == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() + || action == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() + || rule == grammarAccess.getXOtherOperatorExpressionRule() + || action == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXAdditiveExpressionRule() + || action == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXMultiplicativeExpressionRule() + || action == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXUnaryOperationRule() + || rule == grammarAccess.getXCastedExpressionRule() + || action == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() + || rule == grammarAccess.getXPostfixOperationRule() + || action == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() + || rule == grammarAccess.getXMemberFeatureCallRule() + || action == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() + || action == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() + || rule == grammarAccess.getXPrimaryExpressionRule() + || rule == grammarAccess.getXParenthesizedExpressionRule() + || rule == grammarAccess.getXBlockExpressionRule() + || rule == grammarAccess.getXExpressionOrVarDeclarationRule()) { + sequence_XBlockExpression(context, (XBlockExpression) semanticObject); + return; + } + else if (rule == grammarAccess.getXExpressionInClosureRule()) { + sequence_XExpressionInClosure(context, (XBlockExpression) semanticObject); + return; + } + else break; + case XbasePackage.XBOOLEAN_LITERAL: + sequence_XBooleanLiteral(context, (XBooleanLiteral) semanticObject); + return; + case XbasePackage.XCASE_PART: + sequence_XCasePart(context, (XCasePart) semanticObject); + return; + case XbasePackage.XCASTED_EXPRESSION: + sequence_XCastedExpression(context, (XCastedExpression) semanticObject); + return; + case XbasePackage.XCATCH_CLAUSE: + sequence_XCatchClause(context, (XCatchClause) semanticObject); + return; + case XbasePackage.XCLOSURE: + if (rule == grammarAccess.getXExpressionRule() + || rule == grammarAccess.getXAssignmentRule() + || action == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() + || rule == grammarAccess.getXOrExpressionRule() + || action == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXAndExpressionRule() + || action == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXEqualityExpressionRule() + || action == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXRelationalExpressionRule() + || action == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() + || action == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() + || rule == grammarAccess.getXOtherOperatorExpressionRule() + || action == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXAdditiveExpressionRule() + || action == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXMultiplicativeExpressionRule() + || action == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXUnaryOperationRule() + || rule == grammarAccess.getXCastedExpressionRule() + || action == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() + || rule == grammarAccess.getXPostfixOperationRule() + || action == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() + || rule == grammarAccess.getXMemberFeatureCallRule() + || action == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() + || action == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() + || rule == grammarAccess.getXPrimaryExpressionRule() + || rule == grammarAccess.getXLiteralRule() + || rule == grammarAccess.getXClosureRule() + || rule == grammarAccess.getXParenthesizedExpressionRule() + || rule == grammarAccess.getXExpressionOrVarDeclarationRule()) { + sequence_XClosure(context, (XClosure) semanticObject); + return; + } + else if (rule == grammarAccess.getXShortClosureRule()) { + sequence_XShortClosure(context, (XClosure) semanticObject); + return; + } + else break; + case XbasePackage.XCONSTRUCTOR_CALL: + sequence_XConstructorCall(context, (XConstructorCall) semanticObject); + return; + case XbasePackage.XDO_WHILE_EXPRESSION: + sequence_XDoWhileExpression(context, (XDoWhileExpression) semanticObject); + return; + case XbasePackage.XFEATURE_CALL: + sequence_XFeatureCall(context, (XFeatureCall) semanticObject); + return; + case XbasePackage.XFOR_LOOP_EXPRESSION: + sequence_XForLoopExpression(context, (XForLoopExpression) semanticObject); + return; + case XbasePackage.XIF_EXPRESSION: + sequence_XIfExpression(context, (XIfExpression) semanticObject); + return; + case XbasePackage.XINSTANCE_OF_EXPRESSION: + sequence_XRelationalExpression(context, (XInstanceOfExpression) semanticObject); + return; + case XbasePackage.XLIST_LITERAL: + sequence_XListLiteral(context, (XListLiteral) semanticObject); + return; + case XbasePackage.XMEMBER_FEATURE_CALL: + sequence_XMemberFeatureCall(context, (XMemberFeatureCall) semanticObject); + return; + case XbasePackage.XNULL_LITERAL: + sequence_XNullLiteral(context, (XNullLiteral) semanticObject); + return; + case XbasePackage.XNUMBER_LITERAL: + sequence_XNumberLiteral(context, (XNumberLiteral) semanticObject); + return; + case XbasePackage.XPOSTFIX_OPERATION: + sequence_XPostfixOperation(context, (XPostfixOperation) semanticObject); + return; + case XbasePackage.XRETURN_EXPRESSION: + sequence_XReturnExpression(context, (XReturnExpression) semanticObject); + return; + case XbasePackage.XSET_LITERAL: + sequence_XSetLiteral(context, (XSetLiteral) semanticObject); + return; + case XbasePackage.XSTRING_LITERAL: + sequence_XStringLiteral(context, (XStringLiteral) semanticObject); + return; + case XbasePackage.XSWITCH_EXPRESSION: + sequence_XSwitchExpression(context, (XSwitchExpression) semanticObject); + return; + case XbasePackage.XSYNCHRONIZED_EXPRESSION: + sequence_XSynchronizedExpression(context, (XSynchronizedExpression) semanticObject); + return; + case XbasePackage.XTHROW_EXPRESSION: + sequence_XThrowExpression(context, (XThrowExpression) semanticObject); + return; + case XbasePackage.XTRY_CATCH_FINALLY_EXPRESSION: + sequence_XTryCatchFinallyExpression(context, (XTryCatchFinallyExpression) semanticObject); + return; + case XbasePackage.XTYPE_LITERAL: + sequence_XTypeLiteral(context, (XTypeLiteral) semanticObject); + return; + case XbasePackage.XUNARY_OPERATION: + sequence_XUnaryOperation(context, (XUnaryOperation) semanticObject); + return; + case XbasePackage.XVARIABLE_DECLARATION: + sequence_XVariableDeclaration(context, (XVariableDeclaration) semanticObject); + return; + case XbasePackage.XWHILE_EXPRESSION: + sequence_XWhileExpression(context, (XWhileExpression) semanticObject); + return; + } + else if (epackage == XtypePackage.eINSTANCE) + switch (semanticObject.eClass().getClassifierID()) { + case XtypePackage.XFUNCTION_TYPE_REF: + sequence_XFunctionTypeRef(context, (XFunctionTypeRef) semanticObject); + return; + case XtypePackage.XIMPORT_DECLARATION: + sequence_XImportDeclaration(context, (XImportDeclaration) semanticObject); + return; + case XtypePackage.XIMPORT_SECTION: + sequence_XImportSection(context, (XImportSection) semanticObject); + return; + } if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); } diff --git a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/serializer/AbstractExpressionSyntacticSequencer.java b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/serializer/AbstractExpressionSyntacticSequencer.java index 5d0927d9b1..fc48dad085 100644 --- a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/serializer/AbstractExpressionSyntacticSequencer.java +++ b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/serializer/AbstractExpressionSyntacticSequencer.java @@ -11,6 +11,7 @@ import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.nodemodel.INode; import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias; +import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias; import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias; import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable; import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition; @@ -22,19 +23,56 @@ public abstract class AbstractExpressionSyntacticSequencer extends AbstractSynta protected ExpressionGrammarAccess grammarAccess; protected AbstractElementAlias match_ParanthesizedExpression_LeftParenthesisKeyword_0_a; protected AbstractElementAlias match_ParanthesizedExpression_LeftParenthesisKeyword_0_p; + protected AbstractElementAlias match_XBlockExpression_SemicolonKeyword_2_1_q; + protected AbstractElementAlias match_XExpressionInClosure_SemicolonKeyword_1_1_q; + protected AbstractElementAlias match_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q; + protected AbstractElementAlias match_XImportDeclaration_SemicolonKeyword_2_q; + protected AbstractElementAlias match_XParenthesizedExpression_LeftParenthesisKeyword_0_a; + protected AbstractElementAlias match_XParenthesizedExpression_LeftParenthesisKeyword_0_p; @Inject protected void init(IGrammarAccess access) { grammarAccess = (ExpressionGrammarAccess) access; match_ParanthesizedExpression_LeftParenthesisKeyword_0_a = new TokenAlias(true, true, grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); match_ParanthesizedExpression_LeftParenthesisKeyword_0_p = new TokenAlias(true, false, grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + match_XBlockExpression_SemicolonKeyword_2_1_q = new TokenAlias(false, true, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); + match_XExpressionInClosure_SemicolonKeyword_1_1_q = new TokenAlias(false, true, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); + match_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()), new TokenAlias(false, false, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2())); + match_XImportDeclaration_SemicolonKeyword_2_q = new TokenAlias(false, true, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); + match_XParenthesizedExpression_LeftParenthesisKeyword_0_a = new TokenAlias(true, true, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + match_XParenthesizedExpression_LeftParenthesisKeyword_0_p = new TokenAlias(true, false, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } @Override protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) { + if (ruleCall.getRule() == grammarAccess.getArrayBracketsRule()) + return getArrayBracketsToken(semanticObject, ruleCall, node); + else if (ruleCall.getRule() == grammarAccess.getOpSingleAssignRule()) + return getOpSingleAssignToken(semanticObject, ruleCall, node); return ""; } + /** + * ArrayBrackets : + * '[' ']' + * ; + */ + protected String getArrayBracketsToken(EObject semanticObject, RuleCall ruleCall, INode node) { + if (node != null) + return getTokenText(node); + return "[ ]"; + } + + /** + * OpSingleAssign: + * '=' + * ; + */ + protected String getOpSingleAssignToken(EObject semanticObject, RuleCall ruleCall, INode node) { + if (node != null) + return getTokenText(node); + return "="; + } @Override protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) { @@ -46,6 +84,18 @@ protected void emitUnassignedTokens(EObject semanticObject, ISynTransition trans emit_ParanthesizedExpression_LeftParenthesisKeyword_0_a(semanticObject, getLastNavigableState(), syntaxNodes); else if (match_ParanthesizedExpression_LeftParenthesisKeyword_0_p.equals(syntax)) emit_ParanthesizedExpression_LeftParenthesisKeyword_0_p(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XBlockExpression_SemicolonKeyword_2_1_q.equals(syntax)) + emit_XBlockExpression_SemicolonKeyword_2_1_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XExpressionInClosure_SemicolonKeyword_1_1_q.equals(syntax)) + emit_XExpressionInClosure_SemicolonKeyword_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q.equals(syntax)) + emit_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XImportDeclaration_SemicolonKeyword_2_q.equals(syntax)) + emit_XImportDeclaration_SemicolonKeyword_2_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XParenthesizedExpression_LeftParenthesisKeyword_0_a.equals(syntax)) + emit_XParenthesizedExpression_LeftParenthesisKeyword_0_a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XParenthesizedExpression_LeftParenthesisKeyword_0_p.equals(syntax)) + emit_XParenthesizedExpression_LeftParenthesisKeyword_0_p(semanticObject, getLastNavigableState(), syntaxNodes); else acceptNodes(getLastNavigableState(), syntaxNodes); } } @@ -150,4 +200,176 @@ protected void emit_ParanthesizedExpression_LeftParenthesisKeyword_0_p(EObject s acceptNodes(transition, nodes); } + /** + *

+	 * Ambiguous syntax:
+	 *     ';'?
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     expressions+=XExpressionOrVarDeclaration (ambiguity) '}' ')' (rule end)
+	 *     expressions+=XExpressionOrVarDeclaration (ambiguity) '}' (rule end)
+	 *     expressions+=XExpressionOrVarDeclaration (ambiguity) expressions+=XExpressionOrVarDeclaration
+	 
+	 * 
+ */ + protected void emit_XBlockExpression_SemicolonKeyword_2_1_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + *
+	 * Ambiguous syntax:
+	 *     ';'?
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     expressions+=XExpressionOrVarDeclaration (ambiguity) (rule end)
+	 *     expressions+=XExpressionOrVarDeclaration (ambiguity) expressions+=XExpressionOrVarDeclaration
+	 
+	 * 
+ */ + protected void emit_XExpressionInClosure_SemicolonKeyword_1_1_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + *
+	 * Ambiguous syntax:
+	 *     ('(' ')')?
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     (rule start) (ambiguity) '=>' returnType=JvmTypeReference
+	 
+	 * 
+ */ + protected void emit_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + *
+	 * Ambiguous syntax:
+	 *     ';'?
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     importedNamespace=QualifiedNameWithWildcard (ambiguity) (rule end)
+	 *     importedType=[JvmDeclaredType|QualifiedName] (ambiguity) (rule end)
+	 *     memberName=ValidID (ambiguity) (rule end)
+	 *     wildcard?='*' (ambiguity) (rule end)
+	 
+	 * 
+ */ + protected void emit_XImportDeclaration_SemicolonKeyword_2_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + *
+	 * Ambiguous syntax:
+	 *     '('*
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     (rule start) (ambiguity) '#' '[' ']' (rule start)
+	 *     (rule start) (ambiguity) '#' '[' elements+=XExpression
+	 *     (rule start) (ambiguity) '#' '{' '}' (rule start)
+	 *     (rule start) (ambiguity) '#' '{' elements+=XExpression
+	 *     (rule start) (ambiguity) '<' typeArguments+=JvmArgumentTypeReference
+	 *     (rule start) (ambiguity) '[' declaredFormalParameters+=JvmFormalParameter
+	 *     (rule start) (ambiguity) '[' explicitSyntax?='|'
+	 *     (rule start) (ambiguity) '[' expression=XExpressionInClosure
+	 *     (rule start) (ambiguity) 'do' body=XExpression
+	 *     (rule start) (ambiguity) 'false' (rule start)
+	 *     (rule start) (ambiguity) 'for' '(' ';' ';' ')' eachExpression=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' ';' ';' updateExpressions+=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' ';' expression=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'for' '(' initExpressions+=XExpressionOrVarDeclaration
+	 *     (rule start) (ambiguity) 'if' '(' if=XExpression
+	 *     (rule start) (ambiguity) 'new' constructor=[JvmConstructor|QualifiedName]
+	 *     (rule start) (ambiguity) 'null' (rule start)
+	 *     (rule start) (ambiguity) 'return' (rule start)
+	 *     (rule start) (ambiguity) 'return' expression=XExpression
+	 *     (rule start) (ambiguity) 'switch' '(' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'switch' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'switch' switch=XExpression
+	 *     (rule start) (ambiguity) 'synchronized' '(' param=XExpression
+	 *     (rule start) (ambiguity) 'throw' expression=XExpression
+	 *     (rule start) (ambiguity) 'try' expression=XExpression
+	 *     (rule start) (ambiguity) 'typeof' '(' type=[JvmType|QualifiedName]
+	 *     (rule start) (ambiguity) 'while' '(' predicate=XExpression
+	 *     (rule start) (ambiguity) '{' '}' (rule start)
+	 *     (rule start) (ambiguity) '{' expressions+=XExpressionOrVarDeclaration
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|FeatureCallID]
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|IdOrSuper]
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|OpUnary]
+	 *     (rule start) (ambiguity) isTrue?='true'
+	 *     (rule start) (ambiguity) value=Number
+	 *     (rule start) (ambiguity) value=STRING
+	 *     (rule start) (ambiguity) {XAssignment.assignable=}
+	 *     (rule start) (ambiguity) {XBinaryOperation.leftOperand=}
+	 *     (rule start) (ambiguity) {XCastedExpression.target=}
+	 *     (rule start) (ambiguity) {XInstanceOfExpression.expression=}
+	 *     (rule start) (ambiguity) {XMemberFeatureCall.memberCallTarget=}
+	 *     (rule start) (ambiguity) {XPostfixOperation.operand=}
+	 
+	 * 
+ */ + protected void emit_XParenthesizedExpression_LeftParenthesisKeyword_0_a(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + *
+	 * Ambiguous syntax:
+	 *     '('+
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     (rule start) (ambiguity) '#' '[' ']' ')' (rule start)
+	 *     (rule start) (ambiguity) '#' '[' elements+=XExpression
+	 *     (rule start) (ambiguity) '#' '{' '}' ')' (rule start)
+	 *     (rule start) (ambiguity) '#' '{' elements+=XExpression
+	 *     (rule start) (ambiguity) '<' typeArguments+=JvmArgumentTypeReference
+	 *     (rule start) (ambiguity) '[' declaredFormalParameters+=JvmFormalParameter
+	 *     (rule start) (ambiguity) '[' explicitSyntax?='|'
+	 *     (rule start) (ambiguity) '[' expression=XExpressionInClosure
+	 *     (rule start) (ambiguity) 'do' body=XExpression
+	 *     (rule start) (ambiguity) 'false' ')' (rule start)
+	 *     (rule start) (ambiguity) 'for' '(' ';' ';' ')' eachExpression=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' ';' ';' updateExpressions+=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' ';' expression=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'for' '(' initExpressions+=XExpressionOrVarDeclaration
+	 *     (rule start) (ambiguity) 'if' '(' if=XExpression
+	 *     (rule start) (ambiguity) 'new' constructor=[JvmConstructor|QualifiedName]
+	 *     (rule start) (ambiguity) 'null' ')' (rule start)
+	 *     (rule start) (ambiguity) 'return' ')' (rule start)
+	 *     (rule start) (ambiguity) 'return' expression=XExpression
+	 *     (rule start) (ambiguity) 'switch' '(' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'switch' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'switch' switch=XExpression
+	 *     (rule start) (ambiguity) 'synchronized' '(' param=XExpression
+	 *     (rule start) (ambiguity) 'throw' expression=XExpression
+	 *     (rule start) (ambiguity) 'try' expression=XExpression
+	 *     (rule start) (ambiguity) 'typeof' '(' type=[JvmType|QualifiedName]
+	 *     (rule start) (ambiguity) 'while' '(' predicate=XExpression
+	 *     (rule start) (ambiguity) '{' '}' ')' (rule start)
+	 *     (rule start) (ambiguity) '{' expressions+=XExpressionOrVarDeclaration
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|FeatureCallID]
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|IdOrSuper]
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|OpUnary]
+	 *     (rule start) (ambiguity) isTrue?='true'
+	 *     (rule start) (ambiguity) value=Number
+	 *     (rule start) (ambiguity) value=STRING
+	 *     (rule start) (ambiguity) {XAssignment.assignable=}
+	 *     (rule start) (ambiguity) {XBinaryOperation.leftOperand=}
+	 *     (rule start) (ambiguity) {XCastedExpression.target=}
+	 *     (rule start) (ambiguity) {XInstanceOfExpression.expression=}
+	 *     (rule start) (ambiguity) {XMemberFeatureCall.memberCallTarget=}
+	 *     (rule start) (ambiguity) {XPostfixOperation.operand=}
+	 
+	 * 
+ */ + protected void emit_XParenthesizedExpression_LeftParenthesisKeyword_0_p(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + } diff --git a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/services/ExpressionGrammarAccess.java b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/services/ExpressionGrammarAccess.java index 274810a565..97f546c09c 100644 --- a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/services/ExpressionGrammarAccess.java +++ b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/services/ExpressionGrammarAccess.java @@ -16,9 +16,10 @@ import org.eclipse.xtext.ParserRule; import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.TerminalRule; -import org.eclipse.xtext.common.services.TerminalsGrammarAccess; import org.eclipse.xtext.service.AbstractElementFinder; import org.eclipse.xtext.service.GrammarProvider; +import org.eclipse.xtext.xbase.services.XbaseGrammarAccess; +import org.eclipse.xtext.xbase.services.XtypeGrammarAccess; @Singleton public class ExpressionGrammarAccess extends AbstractElementFinder.AbstractGrammarElementFinder { @@ -1710,13 +1711,17 @@ public class IdentifierElements extends AbstractParserRuleElementFinder { private final Grammar grammar; - private final TerminalsGrammarAccess gaTerminals; + private final XbaseGrammarAccess gaXbase; + + private final XtypeGrammarAccess gaXtype; @Inject public ExpressionGrammarAccess(GrammarProvider grammarProvider, - TerminalsGrammarAccess gaTerminals) { + XbaseGrammarAccess gaXbase, + XtypeGrammarAccess gaXtype) { this.grammar = internalFindGrammar(grammarProvider); - this.gaTerminals = gaTerminals; + this.gaXbase = gaXbase; + this.gaXtype = gaXtype; this.pExpression = new ExpressionElements(); this.pSyntaxElement = new SyntaxElementElements(); this.pLetExpression = new LetExpressionElements(); @@ -1780,8 +1785,12 @@ public Grammar getGrammar() { } - public TerminalsGrammarAccess getTerminalsGrammarAccess() { - return gaTerminals; + public XbaseGrammarAccess getXbaseGrammarAccess() { + return gaXbase; + } + + public XtypeGrammarAccess getXtypeGrammarAccess() { + return gaXtype; } @@ -2275,41 +2284,976 @@ public ParserRule getIdentifierRule() { return getIdentifierAccess().getRule(); } - //terminal ID: '^'?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; - public TerminalRule getIDRule() { - return gaTerminals.getIDRule(); + //XExpression returns XExpression : + // XAssignment; + public XbaseGrammarAccess.XExpressionElements getXExpressionAccess() { + return gaXbase.getXExpressionAccess(); + } + + public ParserRule getXExpressionRule() { + return getXExpressionAccess().getRule(); } - //terminal INT returns ecore::EInt: ('0'..'9')+; + //XAssignment returns XExpression : + // {XAssignment} feature=[types::JvmIdentifiableElement|FeatureCallID] OpSingleAssign value=XAssignment | + // XOrExpression ( + // =>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMultiAssign]) rightOperand=XAssignment + // )?; + public XbaseGrammarAccess.XAssignmentElements getXAssignmentAccess() { + return gaXbase.getXAssignmentAccess(); + } + + public ParserRule getXAssignmentRule() { + return getXAssignmentAccess().getRule(); + } + + //OpSingleAssign: + // '=' + //; + public XbaseGrammarAccess.OpSingleAssignElements getOpSingleAssignAccess() { + return gaXbase.getOpSingleAssignAccess(); + } + + public ParserRule getOpSingleAssignRule() { + return getOpSingleAssignAccess().getRule(); + } + + //OpMultiAssign: + // '+=' | '-=' | '*=' | '/=' | '%=' | + // '<' '<' '=' | + // '>' '>'? '>='; + public XbaseGrammarAccess.OpMultiAssignElements getOpMultiAssignAccess() { + return gaXbase.getOpMultiAssignAccess(); + } + + public ParserRule getOpMultiAssignRule() { + return getOpMultiAssignAccess().getRule(); + } + + //XOrExpression returns XExpression: + // XAndExpression (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOr]) rightOperand=XAndExpression)*; + public XbaseGrammarAccess.XOrExpressionElements getXOrExpressionAccess() { + return gaXbase.getXOrExpressionAccess(); + } + + public ParserRule getXOrExpressionRule() { + return getXOrExpressionAccess().getRule(); + } + + //OpOr: + // '||'; + public XbaseGrammarAccess.OpOrElements getOpOrAccess() { + return gaXbase.getOpOrAccess(); + } + + public ParserRule getOpOrRule() { + return getOpOrAccess().getRule(); + } + + //XAndExpression returns XExpression: + // XEqualityExpression (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAnd]) rightOperand=XEqualityExpression)*; + public XbaseGrammarAccess.XAndExpressionElements getXAndExpressionAccess() { + return gaXbase.getXAndExpressionAccess(); + } + + public ParserRule getXAndExpressionRule() { + return getXAndExpressionAccess().getRule(); + } + + //OpAnd: + // '&&'; + public XbaseGrammarAccess.OpAndElements getOpAndAccess() { + return gaXbase.getOpAndAccess(); + } + + public ParserRule getOpAndRule() { + return getOpAndAccess().getRule(); + } + + //XEqualityExpression returns XExpression: + // XRelationalExpression (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpEquality]) + // rightOperand=XRelationalExpression)*; + public XbaseGrammarAccess.XEqualityExpressionElements getXEqualityExpressionAccess() { + return gaXbase.getXEqualityExpressionAccess(); + } + + public ParserRule getXEqualityExpressionRule() { + return getXEqualityExpressionAccess().getRule(); + } + + //OpEquality: + // '==' | '!=' | '===' | '!=='; + public XbaseGrammarAccess.OpEqualityElements getOpEqualityAccess() { + return gaXbase.getOpEqualityAccess(); + } + + public ParserRule getOpEqualityRule() { + return getOpEqualityAccess().getRule(); + } + + //XRelationalExpression returns XExpression: + // XOtherOperatorExpression + // (=>({XInstanceOfExpression.expression=current} 'instanceof') type=JvmTypeReference | + // =>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpCompare]) rightOperand=XOtherOperatorExpression)*; + public XbaseGrammarAccess.XRelationalExpressionElements getXRelationalExpressionAccess() { + return gaXbase.getXRelationalExpressionAccess(); + } + + public ParserRule getXRelationalExpressionRule() { + return getXRelationalExpressionAccess().getRule(); + } + + //OpCompare: + // '>=' | '<' '=' | '>' | '<' ; + public XbaseGrammarAccess.OpCompareElements getOpCompareAccess() { + return gaXbase.getOpCompareAccess(); + } + + public ParserRule getOpCompareRule() { + return getOpCompareAccess().getRule(); + } + + //XOtherOperatorExpression returns XExpression: + // XAdditiveExpression (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOther]) + // rightOperand=XAdditiveExpression)*; + public XbaseGrammarAccess.XOtherOperatorExpressionElements getXOtherOperatorExpressionAccess() { + return gaXbase.getXOtherOperatorExpressionAccess(); + } + + public ParserRule getXOtherOperatorExpressionRule() { + return getXOtherOperatorExpressionAccess().getRule(); + } + + //OpOther: + // '->' + // | '..<' + // | '>' '..' + // | '..' + // | '=>' + // | '>' (=>('>' '>') | '>') + // | '<' (=>('<' '<') | '<' | '=>') + // | '<>' + // | '?:'; + public XbaseGrammarAccess.OpOtherElements getOpOtherAccess() { + return gaXbase.getOpOtherAccess(); + } + + public ParserRule getOpOtherRule() { + return getOpOtherAccess().getRule(); + } + + //XAdditiveExpression returns XExpression: + // XMultiplicativeExpression (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAdd]) + // rightOperand=XMultiplicativeExpression)*; + public XbaseGrammarAccess.XAdditiveExpressionElements getXAdditiveExpressionAccess() { + return gaXbase.getXAdditiveExpressionAccess(); + } + + public ParserRule getXAdditiveExpressionRule() { + return getXAdditiveExpressionAccess().getRule(); + } + + //OpAdd: + // '+' | '-'; + public XbaseGrammarAccess.OpAddElements getOpAddAccess() { + return gaXbase.getOpAddAccess(); + } + + public ParserRule getOpAddRule() { + return getOpAddAccess().getRule(); + } + + //XMultiplicativeExpression returns XExpression: + // XUnaryOperation (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMulti]) rightOperand=XUnaryOperation)*; + public XbaseGrammarAccess.XMultiplicativeExpressionElements getXMultiplicativeExpressionAccess() { + return gaXbase.getXMultiplicativeExpressionAccess(); + } + + public ParserRule getXMultiplicativeExpressionRule() { + return getXMultiplicativeExpressionAccess().getRule(); + } + + //OpMulti: + // '*' | '**' | '/' | '%'; + public XbaseGrammarAccess.OpMultiElements getOpMultiAccess() { + return gaXbase.getOpMultiAccess(); + } + + public ParserRule getOpMultiRule() { + return getOpMultiAccess().getRule(); + } + + //XUnaryOperation returns XExpression: + // {XUnaryOperation} feature=[types::JvmIdentifiableElement|OpUnary] operand=XUnaryOperation + // | XCastedExpression; + public XbaseGrammarAccess.XUnaryOperationElements getXUnaryOperationAccess() { + return gaXbase.getXUnaryOperationAccess(); + } + + public ParserRule getXUnaryOperationRule() { + return getXUnaryOperationAccess().getRule(); + } + + //OpUnary: + // "!" | "-" | "+"; + public XbaseGrammarAccess.OpUnaryElements getOpUnaryAccess() { + return gaXbase.getOpUnaryAccess(); + } + + public ParserRule getOpUnaryRule() { + return getOpUnaryAccess().getRule(); + } + + //XCastedExpression returns XExpression: + // XPostfixOperation (=>({XCastedExpression.target=current} 'as') type=JvmTypeReference)* + //; + public XbaseGrammarAccess.XCastedExpressionElements getXCastedExpressionAccess() { + return gaXbase.getXCastedExpressionAccess(); + } + + public ParserRule getXCastedExpressionRule() { + return getXCastedExpressionAccess().getRule(); + } + + //XPostfixOperation returns XExpression: + // XMemberFeatureCall =>({XPostfixOperation.operand=current} feature=[types::JvmIdentifiableElement|OpPostfix])? + //; + public XbaseGrammarAccess.XPostfixOperationElements getXPostfixOperationAccess() { + return gaXbase.getXPostfixOperationAccess(); + } + + public ParserRule getXPostfixOperationRule() { + return getXPostfixOperationAccess().getRule(); + } + + //OpPostfix: + // "++" | "--" + //; + public XbaseGrammarAccess.OpPostfixElements getOpPostfixAccess() { + return gaXbase.getOpPostfixAccess(); + } + + public ParserRule getOpPostfixRule() { + return getOpPostfixAccess().getRule(); + } + + //XMemberFeatureCall returns XExpression: + // XPrimaryExpression + // (=>({XAssignment.assignable=current} ('.'|explicitStatic?="::") feature=[types::JvmIdentifiableElement|FeatureCallID] OpSingleAssign) value=XAssignment + // |=>({XMemberFeatureCall.memberCallTarget=current} ("."|nullSafe?="?."|explicitStatic?="::")) + // ('<' typeArguments+=JvmArgumentTypeReference (',' typeArguments+=JvmArgumentTypeReference)* '>')? + // feature=[types::JvmIdentifiableElement|IdOrSuper] ( + // =>explicitOperationCall?='(' + // ( + // memberCallArguments+=XShortClosure + // | memberCallArguments+=XExpression (',' memberCallArguments+=XExpression)* + // )? + // ')')? + // memberCallArguments+=XClosure? + // )*; + public XbaseGrammarAccess.XMemberFeatureCallElements getXMemberFeatureCallAccess() { + return gaXbase.getXMemberFeatureCallAccess(); + } + + public ParserRule getXMemberFeatureCallRule() { + return getXMemberFeatureCallAccess().getRule(); + } + + //XPrimaryExpression returns XExpression: + // XConstructorCall | + // XBlockExpression | + // XSwitchExpression | + // XSynchronizedExpression | + // XFeatureCall | + // XLiteral | + // XIfExpression | + // XForLoopExpression | + // XBasicForLoopExpression | + // XWhileExpression | + // XDoWhileExpression | + // XThrowExpression | + // XReturnExpression | + // XTryCatchFinallyExpression | + // XParenthesizedExpression; + public XbaseGrammarAccess.XPrimaryExpressionElements getXPrimaryExpressionAccess() { + return gaXbase.getXPrimaryExpressionAccess(); + } + + public ParserRule getXPrimaryExpressionRule() { + return getXPrimaryExpressionAccess().getRule(); + } + + //XLiteral returns XExpression: + // XCollectionLiteral | + // XClosure | + // XBooleanLiteral | + // XNumberLiteral | + // XNullLiteral | + // XStringLiteral | + // XTypeLiteral + //; + public XbaseGrammarAccess.XLiteralElements getXLiteralAccess() { + return gaXbase.getXLiteralAccess(); + } + + public ParserRule getXLiteralRule() { + return getXLiteralAccess().getRule(); + } + + //XCollectionLiteral: + // XSetLiteral | XListLiteral + //; + public XbaseGrammarAccess.XCollectionLiteralElements getXCollectionLiteralAccess() { + return gaXbase.getXCollectionLiteralAccess(); + } + + public ParserRule getXCollectionLiteralRule() { + return getXCollectionLiteralAccess().getRule(); + } + + //XSetLiteral: + // {XSetLiteral} '#' '{' (elements+=XExpression (',' elements+=XExpression )*)? '}' + //; + public XbaseGrammarAccess.XSetLiteralElements getXSetLiteralAccess() { + return gaXbase.getXSetLiteralAccess(); + } + + public ParserRule getXSetLiteralRule() { + return getXSetLiteralAccess().getRule(); + } + + //XListLiteral: + // {XListLiteral} '#' '[' (elements+=XExpression (',' elements+=XExpression )*)? ']' + //; + public XbaseGrammarAccess.XListLiteralElements getXListLiteralAccess() { + return gaXbase.getXListLiteralAccess(); + } + + public ParserRule getXListLiteralRule() { + return getXListLiteralAccess().getRule(); + } + + //XClosure returns XExpression: + // =>({XClosure} + // '[') + // =>((declaredFormalParameters+=JvmFormalParameter (',' declaredFormalParameters+=JvmFormalParameter)*)? explicitSyntax?='|')? + // expression=XExpressionInClosure + // ']'; + public XbaseGrammarAccess.XClosureElements getXClosureAccess() { + return gaXbase.getXClosureAccess(); + } + + public ParserRule getXClosureRule() { + return getXClosureAccess().getRule(); + } + + //XExpressionInClosure returns XExpression: + // {XBlockExpression} + // (expressions+=XExpressionOrVarDeclaration ';'?)* + //; + public XbaseGrammarAccess.XExpressionInClosureElements getXExpressionInClosureAccess() { + return gaXbase.getXExpressionInClosureAccess(); + } + + public ParserRule getXExpressionInClosureRule() { + return getXExpressionInClosureAccess().getRule(); + } + + //XShortClosure returns XExpression: + // =>({XClosure} (declaredFormalParameters+=JvmFormalParameter (',' declaredFormalParameters+=JvmFormalParameter)*)? explicitSyntax?='|') expression=XExpression; + public XbaseGrammarAccess.XShortClosureElements getXShortClosureAccess() { + return gaXbase.getXShortClosureAccess(); + } + + public ParserRule getXShortClosureRule() { + return getXShortClosureAccess().getRule(); + } + + //XParenthesizedExpression returns XExpression: + // '(' XExpression ')'; + public XbaseGrammarAccess.XParenthesizedExpressionElements getXParenthesizedExpressionAccess() { + return gaXbase.getXParenthesizedExpressionAccess(); + } + + public ParserRule getXParenthesizedExpressionRule() { + return getXParenthesizedExpressionAccess().getRule(); + } + + //XIfExpression returns XExpression: + // {XIfExpression} + // 'if' '(' if=XExpression ')' + // then=XExpression + // (=>'else' else=XExpression)?; + public XbaseGrammarAccess.XIfExpressionElements getXIfExpressionAccess() { + return gaXbase.getXIfExpressionAccess(); + } + + public ParserRule getXIfExpressionRule() { + return getXIfExpressionAccess().getRule(); + } + + //XSwitchExpression returns XExpression: + // {XSwitchExpression} + // 'switch' (=>('(' declaredParam=JvmFormalParameter ':') switch=XExpression ')' + // | =>(declaredParam=JvmFormalParameter ':')? switch=XExpression) '{' + // (cases+=XCasePart)* + // ('default' ':' default=XExpression )? + // '}'; + public XbaseGrammarAccess.XSwitchExpressionElements getXSwitchExpressionAccess() { + return gaXbase.getXSwitchExpressionAccess(); + } + + public ParserRule getXSwitchExpressionRule() { + return getXSwitchExpressionAccess().getRule(); + } + + //XCasePart: + // {XCasePart} + // typeGuard=JvmTypeReference? ('case' case=XExpression)? + // (':' then=XExpression | fallThrough?=',') ; + public XbaseGrammarAccess.XCasePartElements getXCasePartAccess() { + return gaXbase.getXCasePartAccess(); + } + + public ParserRule getXCasePartRule() { + return getXCasePartAccess().getRule(); + } + + //XForLoopExpression returns XExpression: + // =>({XForLoopExpression} + // 'for' '(' declaredParam=JvmFormalParameter ':') forExpression=XExpression ')' + // eachExpression=XExpression; + public XbaseGrammarAccess.XForLoopExpressionElements getXForLoopExpressionAccess() { + return gaXbase.getXForLoopExpressionAccess(); + } + + public ParserRule getXForLoopExpressionRule() { + return getXForLoopExpressionAccess().getRule(); + } + + //XBasicForLoopExpression returns XExpression: + // {XBasicForLoopExpression} + // 'for' '('(initExpressions+=XExpressionOrVarDeclaration (',' initExpressions+=XExpressionOrVarDeclaration)*)? ';' + // expression=XExpression? ';' + // (updateExpressions+=XExpression (',' updateExpressions+=XExpression)*)? ')' + // eachExpression=XExpression; + public XbaseGrammarAccess.XBasicForLoopExpressionElements getXBasicForLoopExpressionAccess() { + return gaXbase.getXBasicForLoopExpressionAccess(); + } + + public ParserRule getXBasicForLoopExpressionRule() { + return getXBasicForLoopExpressionAccess().getRule(); + } + + //XWhileExpression returns XExpression: + // {XWhileExpression} + // 'while' '(' predicate=XExpression ')' + // body=XExpression; + public XbaseGrammarAccess.XWhileExpressionElements getXWhileExpressionAccess() { + return gaXbase.getXWhileExpressionAccess(); + } + + public ParserRule getXWhileExpressionRule() { + return getXWhileExpressionAccess().getRule(); + } + + //XDoWhileExpression returns XExpression: + // {XDoWhileExpression} + // 'do' + // body=XExpression + // 'while' '(' predicate=XExpression ')'; + public XbaseGrammarAccess.XDoWhileExpressionElements getXDoWhileExpressionAccess() { + return gaXbase.getXDoWhileExpressionAccess(); + } + + public ParserRule getXDoWhileExpressionRule() { + return getXDoWhileExpressionAccess().getRule(); + } + + //XBlockExpression returns XExpression: + // {XBlockExpression} + // '{' + // (expressions+=XExpressionOrVarDeclaration ';'?)* + // '}'; + public XbaseGrammarAccess.XBlockExpressionElements getXBlockExpressionAccess() { + return gaXbase.getXBlockExpressionAccess(); + } + + public ParserRule getXBlockExpressionRule() { + return getXBlockExpressionAccess().getRule(); + } + + //XExpressionOrVarDeclaration returns XExpression: + // XVariableDeclaration | XExpression; + public XbaseGrammarAccess.XExpressionOrVarDeclarationElements getXExpressionOrVarDeclarationAccess() { + return gaXbase.getXExpressionOrVarDeclarationAccess(); + } + + public ParserRule getXExpressionOrVarDeclarationRule() { + return getXExpressionOrVarDeclarationAccess().getRule(); + } + + //XVariableDeclaration returns XExpression: + // {XVariableDeclaration} + // (writeable?='var'|'val') (=>(type=JvmTypeReference name=ValidID) | name=ValidID) ('=' right=XExpression)?; + public XbaseGrammarAccess.XVariableDeclarationElements getXVariableDeclarationAccess() { + return gaXbase.getXVariableDeclarationAccess(); + } + + public ParserRule getXVariableDeclarationRule() { + return getXVariableDeclarationAccess().getRule(); + } + + //JvmFormalParameter returns types::JvmFormalParameter: + // (parameterType=JvmTypeReference)? name=ValidID; + public XbaseGrammarAccess.JvmFormalParameterElements getJvmFormalParameterAccess() { + return gaXbase.getJvmFormalParameterAccess(); + } + + public ParserRule getJvmFormalParameterRule() { + return getJvmFormalParameterAccess().getRule(); + } + + //FullJvmFormalParameter returns types::JvmFormalParameter: + // parameterType=JvmTypeReference name=ValidID; + public XbaseGrammarAccess.FullJvmFormalParameterElements getFullJvmFormalParameterAccess() { + return gaXbase.getFullJvmFormalParameterAccess(); + } + + public ParserRule getFullJvmFormalParameterRule() { + return getFullJvmFormalParameterAccess().getRule(); + } + + //XFeatureCall returns XExpression: + // {XFeatureCall} + // ('<' typeArguments+=JvmArgumentTypeReference (',' typeArguments+=JvmArgumentTypeReference)* '>')? + // feature=[types::JvmIdentifiableElement|IdOrSuper] + // (=>explicitOperationCall?='(' + // ( + // featureCallArguments+=XShortClosure + // | featureCallArguments+=XExpression (',' featureCallArguments+=XExpression)* + // )? + // ')')? + // featureCallArguments+=XClosure?; + public XbaseGrammarAccess.XFeatureCallElements getXFeatureCallAccess() { + return gaXbase.getXFeatureCallAccess(); + } + + public ParserRule getXFeatureCallRule() { + return getXFeatureCallAccess().getRule(); + } + + //FeatureCallID: + // ValidID | 'extends' | 'static' | 'import' | 'extension' + //; + public XbaseGrammarAccess.FeatureCallIDElements getFeatureCallIDAccess() { + return gaXbase.getFeatureCallIDAccess(); + } + + public ParserRule getFeatureCallIDRule() { + return getFeatureCallIDAccess().getRule(); + } + + //IdOrSuper : + // FeatureCallID | 'super' + //; + public XbaseGrammarAccess.IdOrSuperElements getIdOrSuperAccess() { + return gaXbase.getIdOrSuperAccess(); + } + + public ParserRule getIdOrSuperRule() { + return getIdOrSuperAccess().getRule(); + } + + //XConstructorCall returns XExpression: + // {XConstructorCall} + // 'new' constructor=[types::JvmConstructor|QualifiedName] + // (=>'<' typeArguments+=JvmArgumentTypeReference (',' typeArguments+=JvmArgumentTypeReference)* '>')? + // (=>explicitConstructorCall?='(' + // ( + // arguments+=XShortClosure + // | arguments+=XExpression (',' arguments+=XExpression)* + // )? + // ')')? + // arguments+=XClosure?; + public XbaseGrammarAccess.XConstructorCallElements getXConstructorCallAccess() { + return gaXbase.getXConstructorCallAccess(); + } + + public ParserRule getXConstructorCallRule() { + return getXConstructorCallAccess().getRule(); + } + + //XBooleanLiteral returns XExpression : + // {XBooleanLiteral} ('false' | isTrue?='true'); + public XbaseGrammarAccess.XBooleanLiteralElements getXBooleanLiteralAccess() { + return gaXbase.getXBooleanLiteralAccess(); + } + + public ParserRule getXBooleanLiteralRule() { + return getXBooleanLiteralAccess().getRule(); + } + + //XNullLiteral returns XExpression : + // {XNullLiteral} 'null'; + public XbaseGrammarAccess.XNullLiteralElements getXNullLiteralAccess() { + return gaXbase.getXNullLiteralAccess(); + } + + public ParserRule getXNullLiteralRule() { + return getXNullLiteralAccess().getRule(); + } + + //XNumberLiteral returns XExpression : + // {XNumberLiteral} value=Number; + public XbaseGrammarAccess.XNumberLiteralElements getXNumberLiteralAccess() { + return gaXbase.getXNumberLiteralAccess(); + } + + public ParserRule getXNumberLiteralRule() { + return getXNumberLiteralAccess().getRule(); + } + + //XStringLiteral returns XExpression: + // {XStringLiteral} value=STRING; + public XbaseGrammarAccess.XStringLiteralElements getXStringLiteralAccess() { + return gaXbase.getXStringLiteralAccess(); + } + + public ParserRule getXStringLiteralRule() { + return getXStringLiteralAccess().getRule(); + } + + //XTypeLiteral returns XExpression : + // {XTypeLiteral} 'typeof' '(' type=[types::JvmType|QualifiedName] (arrayDimensions+=ArrayBrackets)* ')' + //; + public XbaseGrammarAccess.XTypeLiteralElements getXTypeLiteralAccess() { + return gaXbase.getXTypeLiteralAccess(); + } + + public ParserRule getXTypeLiteralRule() { + return getXTypeLiteralAccess().getRule(); + } + + //XThrowExpression returns XExpression : + // {XThrowExpression} 'throw' expression=XExpression; + public XbaseGrammarAccess.XThrowExpressionElements getXThrowExpressionAccess() { + return gaXbase.getXThrowExpressionAccess(); + } + + public ParserRule getXThrowExpressionRule() { + return getXThrowExpressionAccess().getRule(); + } + + //XReturnExpression returns XExpression : + // {XReturnExpression} 'return' (->expression=XExpression)?; + public XbaseGrammarAccess.XReturnExpressionElements getXReturnExpressionAccess() { + return gaXbase.getXReturnExpressionAccess(); + } + + public ParserRule getXReturnExpressionRule() { + return getXReturnExpressionAccess().getRule(); + } + + //XTryCatchFinallyExpression returns XExpression: + // {XTryCatchFinallyExpression} + // 'try' + // expression=XExpression + // ( + // catchClauses+=XCatchClause+ + // (=>'finally' finallyExpression=XExpression)? + // | 'finally' finallyExpression=XExpression + // ); + public XbaseGrammarAccess.XTryCatchFinallyExpressionElements getXTryCatchFinallyExpressionAccess() { + return gaXbase.getXTryCatchFinallyExpressionAccess(); + } + + public ParserRule getXTryCatchFinallyExpressionRule() { + return getXTryCatchFinallyExpressionAccess().getRule(); + } + + //XSynchronizedExpression returns XExpression: + // =>({XSynchronizedExpression} + // 'synchronized' '(') param=XExpression ')' expression=XExpression; + public XbaseGrammarAccess.XSynchronizedExpressionElements getXSynchronizedExpressionAccess() { + return gaXbase.getXSynchronizedExpressionAccess(); + } + + public ParserRule getXSynchronizedExpressionRule() { + return getXSynchronizedExpressionAccess().getRule(); + } + + //XCatchClause : + // =>'catch' '(' declaredParam=FullJvmFormalParameter ')' expression=XExpression; + public XbaseGrammarAccess.XCatchClauseElements getXCatchClauseAccess() { + return gaXbase.getXCatchClauseAccess(); + } + + public ParserRule getXCatchClauseRule() { + return getXCatchClauseAccess().getRule(); + } + + //@Override + //QualifiedName: + // ValidID (=>'.' ValidID)*; + public XbaseGrammarAccess.QualifiedNameElements getQualifiedNameAccess() { + return gaXbase.getQualifiedNameAccess(); + } + + public ParserRule getQualifiedNameRule() { + return getQualifiedNameAccess().getRule(); + } + + //Number hidden(): + // HEX | (INT | DECIMAL) ('.' (INT | DECIMAL))?; + public XbaseGrammarAccess.NumberElements getNumberAccess() { + return gaXbase.getNumberAccess(); + } + + public ParserRule getNumberRule() { + return getNumberAccess().getRule(); + } + + ///** + // * Dummy rule, for "better" downwards compatibility, since GrammarAccess generates non-static inner classes, + // * which makes downstream grammars break on classloading, when a rule is removed. + // */ + //StaticQualifier: + // (ValidID '::')+ + //; + public XbaseGrammarAccess.StaticQualifierElements getStaticQualifierAccess() { + return gaXbase.getStaticQualifierAccess(); + } + + public ParserRule getStaticQualifierRule() { + return getStaticQualifierAccess().getRule(); + } + + //terminal HEX: + // ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F'|'_')+ + // ('#' (('b'|'B')('i'|'I') | ('l'|'L')))?; + public TerminalRule getHEXRule() { + return gaXbase.getHEXRule(); + } + + //terminal INT returns ecore::EInt: + // '0'..'9' ('0'..'9'|'_')*; public TerminalRule getINTRule() { - return gaTerminals.getINTRule(); + return gaXbase.getINTRule(); + } + + //terminal DECIMAL: + // INT + // (('e'|'E') ('+'|'-')? INT)? + // (('b'|'B')('i'|'I'|'d'|'D') | ('l'|'L'|'d'|'D'|'f'|'F'))?; + public TerminalRule getDECIMALRule() { + return gaXbase.getDECIMALRule(); + } + + //JvmTypeReference: + // JvmParameterizedTypeReference =>({JvmGenericArrayTypeReference.componentType=current} ArrayBrackets)* + // | XFunctionTypeRef; + public XtypeGrammarAccess.JvmTypeReferenceElements getJvmTypeReferenceAccess() { + return gaXtype.getJvmTypeReferenceAccess(); + } + + public ParserRule getJvmTypeReferenceRule() { + return getJvmTypeReferenceAccess().getRule(); + } + + //ArrayBrackets : + // '[' ']' + //; + public XtypeGrammarAccess.ArrayBracketsElements getArrayBracketsAccess() { + return gaXtype.getArrayBracketsAccess(); + } + + public ParserRule getArrayBracketsRule() { + return getArrayBracketsAccess().getRule(); + } + + //XFunctionTypeRef: + // ('(' (paramTypes+=JvmTypeReference (',' paramTypes+=JvmTypeReference)*)? ')')? '=>' returnType=JvmTypeReference; + public XtypeGrammarAccess.XFunctionTypeRefElements getXFunctionTypeRefAccess() { + return gaXtype.getXFunctionTypeRefAccess(); + } + + public ParserRule getXFunctionTypeRefRule() { + return getXFunctionTypeRefAccess().getRule(); + } + + //JvmParameterizedTypeReference: + // type=[JvmType|QualifiedName] ( + // =>'<' arguments+=JvmArgumentTypeReference (',' arguments+=JvmArgumentTypeReference)* '>' + // (=>({JvmInnerTypeReference.outer=current} '.') type=[JvmType|ValidID] (=>'<' arguments+=JvmArgumentTypeReference (',' arguments+=JvmArgumentTypeReference)* '>')?)* + // )?; + public XtypeGrammarAccess.JvmParameterizedTypeReferenceElements getJvmParameterizedTypeReferenceAccess() { + return gaXtype.getJvmParameterizedTypeReferenceAccess(); + } + + public ParserRule getJvmParameterizedTypeReferenceRule() { + return getJvmParameterizedTypeReferenceAccess().getRule(); + } + + //JvmArgumentTypeReference returns JvmTypeReference: + // JvmTypeReference | JvmWildcardTypeReference; + public XtypeGrammarAccess.JvmArgumentTypeReferenceElements getJvmArgumentTypeReferenceAccess() { + return gaXtype.getJvmArgumentTypeReferenceAccess(); + } + + public ParserRule getJvmArgumentTypeReferenceRule() { + return getJvmArgumentTypeReferenceAccess().getRule(); + } + + //JvmWildcardTypeReference: + // {JvmWildcardTypeReference} '?' ( + // constraints+=JvmUpperBound (constraints+=JvmUpperBoundAnded)* + // | constraints+=JvmLowerBound (constraints+=JvmLowerBoundAnded)* + // )?; + public XtypeGrammarAccess.JvmWildcardTypeReferenceElements getJvmWildcardTypeReferenceAccess() { + return gaXtype.getJvmWildcardTypeReferenceAccess(); + } + + public ParserRule getJvmWildcardTypeReferenceRule() { + return getJvmWildcardTypeReferenceAccess().getRule(); + } + + //JvmUpperBound : + // 'extends' typeReference=JvmTypeReference; + public XtypeGrammarAccess.JvmUpperBoundElements getJvmUpperBoundAccess() { + return gaXtype.getJvmUpperBoundAccess(); + } + + public ParserRule getJvmUpperBoundRule() { + return getJvmUpperBoundAccess().getRule(); + } + + //JvmUpperBoundAnded returns JvmUpperBound: + // '&' typeReference=JvmTypeReference; + public XtypeGrammarAccess.JvmUpperBoundAndedElements getJvmUpperBoundAndedAccess() { + return gaXtype.getJvmUpperBoundAndedAccess(); + } + + public ParserRule getJvmUpperBoundAndedRule() { + return getJvmUpperBoundAndedAccess().getRule(); + } + + //JvmLowerBound : + // 'super' typeReference=JvmTypeReference; + public XtypeGrammarAccess.JvmLowerBoundElements getJvmLowerBoundAccess() { + return gaXtype.getJvmLowerBoundAccess(); + } + + public ParserRule getJvmLowerBoundRule() { + return getJvmLowerBoundAccess().getRule(); + } + + //JvmLowerBoundAnded returns JvmLowerBound: + // '&' typeReference=JvmTypeReference; + public XtypeGrammarAccess.JvmLowerBoundAndedElements getJvmLowerBoundAndedAccess() { + return gaXtype.getJvmLowerBoundAndedAccess(); + } + + public ParserRule getJvmLowerBoundAndedRule() { + return getJvmLowerBoundAndedAccess().getRule(); + } + + //JvmTypeParameter : + // name=ValidID + // (constraints+=JvmUpperBound (constraints+=JvmUpperBoundAnded)*)?; + public XtypeGrammarAccess.JvmTypeParameterElements getJvmTypeParameterAccess() { + return gaXtype.getJvmTypeParameterAccess(); + } + + public ParserRule getJvmTypeParameterRule() { + return getJvmTypeParameterAccess().getRule(); + } + + //QualifiedNameWithWildcard : + // QualifiedName '.' '*'; + public XtypeGrammarAccess.QualifiedNameWithWildcardElements getQualifiedNameWithWildcardAccess() { + return gaXtype.getQualifiedNameWithWildcardAccess(); + } + + public ParserRule getQualifiedNameWithWildcardRule() { + return getQualifiedNameWithWildcardAccess().getRule(); + } + + //ValidID: + // ID; + public XtypeGrammarAccess.ValidIDElements getValidIDAccess() { + return gaXtype.getValidIDAccess(); + } + + public ParserRule getValidIDRule() { + return getValidIDAccess().getRule(); + } + + //XImportSection: + // importDeclarations+=XImportDeclaration+; + public XtypeGrammarAccess.XImportSectionElements getXImportSectionAccess() { + return gaXtype.getXImportSectionAccess(); + } + + public ParserRule getXImportSectionRule() { + return getXImportSectionAccess().getRule(); + } + + //XImportDeclaration: + // 'import' ( + // (static?='static' extension?='extension'? importedType=[JvmDeclaredType|QualifiedNameInStaticImport] (wildcard?='*' | memberName=ValidID)) + // | importedType=[JvmDeclaredType|QualifiedName] + // | importedNamespace=QualifiedNameWithWildcard) ';'? + //; + public XtypeGrammarAccess.XImportDeclarationElements getXImportDeclarationAccess() { + return gaXtype.getXImportDeclarationAccess(); + } + + public ParserRule getXImportDeclarationRule() { + return getXImportDeclarationAccess().getRule(); + } + + //QualifiedNameInStaticImport: + // (ValidID '.')+ + //; + public XtypeGrammarAccess.QualifiedNameInStaticImportElements getQualifiedNameInStaticImportAccess() { + return gaXtype.getQualifiedNameInStaticImportAccess(); + } + + public ParserRule getQualifiedNameInStaticImportRule() { + return getQualifiedNameInStaticImportAccess().getRule(); + } + + //terminal ID: + // '^'? ('a'..'z'|'A'..'Z'|'$'|'_') ('a'..'z'|'A'..'Z'|'$'|'_'|'0'..'9')*; + public TerminalRule getIDRule() { + return gaXtype.getIDRule(); } //terminal STRING: - // '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"' | - // "'" ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|"'") )* "'" - // ; + // '"' ( '\\' . /* ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') */ | !('\\'|'"') )* '"'? | + // "'" ( '\\' . /* ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') */ | !('\\'|"'") )* "'"?; public TerminalRule getSTRINGRule() { - return gaTerminals.getSTRINGRule(); + return gaXtype.getSTRINGRule(); } - //terminal ML_COMMENT : '/*' -> '*/'; + //terminal ML_COMMENT: '/*' -> '*/'; public TerminalRule getML_COMMENTRule() { - return gaTerminals.getML_COMMENTRule(); + return gaXtype.getML_COMMENTRule(); } - //terminal SL_COMMENT : '//' !('\n'|'\r')* ('\r'? '\n')?; + //terminal SL_COMMENT: '//' !('\n'|'\r')* ('\r'? '\n')?; public TerminalRule getSL_COMMENTRule() { - return gaTerminals.getSL_COMMENTRule(); + return gaXtype.getSL_COMMENTRule(); } - //terminal WS : (' '|'\t'|'\r'|'\n')+; + //terminal WS: (' '|'\t'|'\r'|'\n')+; public TerminalRule getWSRule() { - return gaTerminals.getWSRule(); + return gaXtype.getWSRule(); } //terminal ANY_OTHER: .; public TerminalRule getANY_OTHERRule() { - return gaTerminals.getANY_OTHERRule(); + return gaXtype.getANY_OTHERRule(); } } diff --git a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/validation/AbstractExpressionValidator.java b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/validation/AbstractExpressionValidator.java index 73c269b853..cb3b5bd447 100644 --- a/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/validation/AbstractExpressionValidator.java +++ b/com.avaloq.tools.ddk.xtext.expression/src-gen/com/avaloq/tools/ddk/xtext/expression/validation/AbstractExpressionValidator.java @@ -6,14 +6,17 @@ import java.util.ArrayList; import java.util.List; import org.eclipse.emf.ecore.EPackage; -import org.eclipse.xtext.validation.AbstractDeclarativeValidator; +import org.eclipse.xtext.xbase.validation.XbaseValidator; -public abstract class AbstractExpressionValidator extends AbstractDeclarativeValidator { +public abstract class AbstractExpressionValidator extends XbaseValidator { @Override protected List getEPackages() { - List result = new ArrayList(); + List result = new ArrayList(super.getEPackages()); result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.avaloq.com/tools/ddk/xtext/expression/Expression")); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/xtext/xbase/Xbase")); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/xtext/common/JavaVMTypes")); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/xtext/xbase/Xtype")); return result; } } diff --git a/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/Expression.xtext b/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/Expression.xtext index f4e88091cb..2e1a47ca1c 100644 --- a/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/Expression.xtext +++ b/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/Expression.xtext @@ -2,7 +2,7 @@ * @TODO should be EPL */ -grammar com.avaloq.tools.ddk.xtext.expression.Expression with org.eclipse.xtext.common.Terminals +grammar com.avaloq.tools.ddk.xtext.expression.Expression with org.eclipse.xtext.xbase.Xbase import "http://www.eclipse.org/emf/2002/Ecore" as ecore diff --git a/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/generator/CodeGenerationX.xtend b/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/generator/CodeGenerationX.xtend deleted file mode 100644 index d16ff95ab9..0000000000 --- a/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/generator/CodeGenerationX.xtend +++ /dev/null @@ -1,373 +0,0 @@ - -/******************************************************************************* - * Copyright (c) 2016 Avaloq Group AG 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 - * - * Contributors: - * Avaloq Group AG - initial API and implementation - *******************************************************************************/ - -package com.avaloq.tools.ddk.xtext.expression.generator - -import com.avaloq.tools.ddk.xtext.expression.expression.Expression -import com.avaloq.tools.ddk.xtext.expression.expression.StringLiteral -import com.avaloq.tools.ddk.xtext.expression.expression.BooleanLiteral -import com.avaloq.tools.ddk.xtext.expression.expression.IntegerLiteral -import com.avaloq.tools.ddk.xtext.expression.expression.NullLiteral -import com.avaloq.tools.ddk.xtext.expression.expression.RealLiteral -import com.avaloq.tools.ddk.xtext.expression.expression.ListLiteral -import com.avaloq.tools.ddk.xtext.expression.expression.Identifier -import com.avaloq.tools.ddk.xtext.expression.expression.FeatureCall -import com.avaloq.tools.ddk.xtext.expression.expression.BooleanOperation -import com.avaloq.tools.ddk.xtext.expression.expression.CollectionExpression -import com.avaloq.tools.ddk.xtext.expression.expression.TypeSelectExpression -import com.avaloq.tools.ddk.xtext.expression.expression.CastedExpression -import com.avaloq.tools.ddk.xtext.expression.expression.IfExpression -import java.util.List -import com.avaloq.tools.ddk.xtext.expression.expression.OperationCall -import com.avaloq.tools.ddk.xtext.expression.expression.Literal - -class CodeGenerationX { - - extension ExpressionExtensionsX = new ExpressionExtensionsX - - ////////////////////////////////////////////////// - // ENTRY POINTS - ////////////////////////////////////////////////// - def boolean isCompilable(Expression it, CompilationContext ctx) { - val expr = javaExpression(ctx) - expr !== null && !expr.contains('/* NOT COMPILABLE: ') - } - - def dispatch String javaExpression(Void it, CompilationContext ctx) { - '' - } - - def dispatch String javaExpression(Expression it, CompilationContext ctx) { - notCompilable - } - - def String notCompilable(Expression it) { - '/* NOT COMPILABLE: Complex expressions like "' + serialize() + '" cannot be translated to Java. Consider rewriting the expression or using a JAVA extension. */' - } - - ////////////////////////////////////////////////// - // LITERALS - ////////////////////////////////////////////////// - def dispatch String javaExpression(StringLiteral it, CompilationContext ctx) { - '"' + javaEncode(^val) + '"' - } - - def dispatch String javaExpression(BooleanLiteral it, CompilationContext ctx) { - ^val - } - - def dispatch String javaExpression(IntegerLiteral it, CompilationContext ctx) { - ^val.toString() - } - - def dispatch String javaExpression(NullLiteral it, CompilationContext ctx) { - "null" - } - - def dispatch String javaExpression(RealLiteral it, CompilationContext ctx) { - ^val.toString() - } - - def dispatch String javaExpression(ListLiteral it, CompilationContext ctx) { - if (elements.empty) { - "java.util.Collections.<" + ctx.javaType(ctx.requiredType.name) + "> emptyList()" - } else if (elements.size == 1) { - "java.util.Collections.singletonList(" + elements.head.javaExpression(ctx) + ")" - } else { - "com.google.common.collect.Lists.newArrayList(" + ', '.join(elements.map[javaExpression(ctx)]) + ")" - } - } - - ////////////////////////////////////////////////// - // TYPES AND VARIABLES - ////////////////////////////////////////////////// - def dispatch String javaExpression(Identifier it, CompilationContext ctx) { - if (isThis()) ctx.implicitVariable else '::'.join(id) - } - - def boolean isType(FeatureCall it, CompilationContext ctx) { - name === null && type !== null && ctx.isType(type.javaExpression(ctx)) - } - - def boolean isVariable(Expression it, CompilationContext ctx) { - false - } - - def boolean isVariable(FeatureCall it, CompilationContext ctx) { - target === null && name === null && ctx.isVariable(type.javaExpression(ctx)) - } - - def String featureCallTarget(FeatureCall it, CompilationContext ctx) { - if (target === null || target.isThisCall()) - ctx.implicitVariable - else - target.javaExpression(ctx) - } - - ////////////////////////////////////////////////// - // BOOLEAN OPERATIONS - ////////////////////////////////////////////////// - def dispatch String javaExpression(BooleanOperation it, CompilationContext ctx) { - autoBracket(left.javaExpression(ctx) + ' ' + operator + ' ' + right.javaExpression(ctx), ctx) - } - - ////////////////////////////////////////////////// - // COLLECTION OPERATIONS - ////////////////////////////////////////////////// - // TODO finish - def dispatch String javaExpression(CollectionExpression it, CompilationContext ctx) { - if ('select' == name) { - 'com.google.common.collect.Iterables.filter(' + target.javaExpression(ctx) + - ', new com.google.common.base.Predicate() { public boolean apply(Object ' + - (if (^var !== null) ^var else 'e') + ') {return ' + - exp.javaExpression(ctx) + ';} })' - } else { - notCompilable() - } - } - - def dispatch String javaExpression(TypeSelectExpression it, CompilationContext ctx) { - if (isSimpleNavigation(ctx)) - 'com.google.common.collect.Iterables.filter(' + target.javaExpression(ctx) + ', ' + ctx.javaType(type.javaExpression(ctx)) + '.class)' - else notCompilable() - } - - ////////////////////////////////////////////////// - // TYPE CAST - ////////////////////////////////////////////////// - def dispatch String javaExpression(CastedExpression it, CompilationContext ctx) { - '((' + ctx.javaType(type.javaExpression(ctx)) + ') ' + target.javaExpression(ctx) + ')' - } - - ////////////////////////////////////////////////// - // IF EXPRESSIONS - ////////////////////////////////////////////////// - def dispatch String javaExpression(IfExpression it, CompilationContext ctx) { - autoBracket(condition.javaExpression(ctx) + ' ? ' + thenPart.javaExpression(ctx) + ' : ' + elsePart.javaExpression(ctx), ctx) - } - - ////////////////////////////////////////////////// - // FEATURE CALLS - ////////////////////////////////////////////////// - def dispatch String javaExpression(FeatureCall it, CompilationContext ctx) { - if (isThisCall()) { - ctx.implicitVariable - } else if (isVariable(ctx)) { - type.javaExpression(ctx) - } else if (isType(ctx)) { - ctx.javaType(type.javaExpression(ctx)) - } else if (isSimpleFeatureCall(ctx)) { - featureCallTarget(ctx) + '.' + (if (calledFeature() == 'eContainer') 'eContainer' else (if (calledFeature() == 'isEmpty') 'isEmpty' else calledFeature().toFirstUpper().featureCallName())) + '()' - } else if (isSimpleNavigation(ctx)) { - notCompilable() - } else { - featureCallTarget(ctx) + '.' + (if (calledFeature() == 'eContainer') 'eContainer' else (if (calledFeature() == 'isEmpty') 'isEmpty' else calledFeature().toFirstUpper().featureCallName())) + '()' - } - } - - // TODO: actually, we should look at the feature and return "is" only if it has a boolean value... Can this be done?? - def String featureCallName(String it) { - if (it.startsWith('^')) - it.substring(1, it.length).toFirstUpper().featureCallName() - else - (if (it.startsWith('Is')) 'is' else 'get') + it - } - - def boolean isSimpleFeatureCall(Expression it, CompilationContext ctx) { - false - } - - def boolean isSimpleFeatureCall(FeatureCall it, CompilationContext ctx) { - eClass.name.contains('FeatureCall') && name === null && type.isFeature() && (target === null || target.isVariable(ctx) || target.isThisCall()) - } - - def dispatch boolean isSimpleNavigation(Expression it, CompilationContext ctx) { - false - } - - def dispatch boolean isSimpleNavigation(TypeSelectExpression it, CompilationContext ctx) { - true - } - - def dispatch boolean isSimpleNavigation(FeatureCall it, CompilationContext ctx) { - name === null && type.isFeature() && (target === null || target.isVariable(ctx) || target.isThisCall() || target.isSimpleNavigation(ctx)) - } - - def dispatch String navigationRoot(Void it, CompilationContext ctx) { - '' - } - - def dispatch String navigationRoot(Expression it, CompilationContext ctx) { - '' - } - - def dispatch String navigationRoot(FeatureCall it, CompilationContext ctx) { - if (target !== null) target.navigationRoot(ctx) else (if (isVariable(ctx)) javaExpression(ctx) else ctx.implicitVariable) - } - - def dispatch List navigations(Void it, CompilationContext ctx) { - {} - } - - def dispatch List navigations(Expression it, CompilationContext ctx) { - {} - } - - def dispatch List navigations(FeatureCall it, CompilationContext ctx) { - val navs = target.navigations(ctx) - if (navs.isEmpty && (isThisCall() || isVariable(ctx))) #[] else { navs.add(calledFeature()); navs } - } - - def dispatch List navigations(TypeSelectExpression it, CompilationContext ctx) { - val navs = target.navigations(ctx) - navs.add("typeSelect(" + type.qualifiedTypeName(ctx) + ")") - navs - } - - ////////////////////////////////////////////////// - // OPERATION CALLS - ////////////////////////////////////////////////// - // TODO handle eClass() - // TODO work out if 'this' should be added or not - def dispatch String javaExpression(OperationCall it, CompilationContext ctx) { - if ((target === null || target.isThisCall()) && ctx.targetHasOperation(it)) { - (if (target !== null) target.javaExpression(ctx) + '.' else '') + name + '(' + ', '.join(params.map[javaExpression(ctx)]) + ')' - } else if (isJavaExtensionCall(ctx)) { - calledJavaMethod(ctx) + '(' + ', '.join((if (target !== null) { val l = newArrayList(target); l.addAll(params); l } else params).map[javaExpression(ctx)]) + ')' - } else if (isArithmeticOperatorCall(ctx)) { - autoBracket((' ' + name + ' ').join(params.map(e|e.javaExpression(ctx))), ctx) - } else if (isSimpleConcatCall()) { - (' + ').join(params.map(e|e.javaExpression(ctx))) - } else if (isPrefixExpression(ctx)) { - autoBracket(name + params.head.javaExpression(ctx), ctx) - } else if ('first' == name && params.isEmpty && target !== null) { - target.javaExpression(ctx) + '.get(0)' - } else if ('isInstance' == name && params.size == 1 && target instanceof FeatureCall && (target as FeatureCall).isType(ctx)) { - autoBracket(params.head.javaExpression(ctx) + ' instanceof ' + target.javaExpression(ctx), ctx) - } else if ('eContainer' == name && params.isEmpty) { - target.javaExpression(ctx) + '.eContainer()' - } else if (ctx.isExtension(name)) { - notCompilable() - } else { - (if (target !== null) target.javaExpression(ctx) + '.' else '') + name + '(' + (if (params.isEmpty) '' else ', '.join(params.map[javaExpression(ctx)])) + ')' - } - } - - def boolean isJavaExtensionCall(Expression it) { - false - } - - def boolean isJavaExtensionCall(OperationCall it, CompilationContext ctx) { - name != 'isInstance' && isSimpleCall(ctx) && calledJavaMethod(ctx) !== null - } - - def boolean isSimpleCall(OperationCall it, CompilationContext ctx) { - (target === null || target.isCompilable(ctx)) && params.forall(p|p.isCompilable(ctx)) - } - - def String calledJavaMethod(OperationCall it, CompilationContext ctx) { - ctx.calledJavaMethod(it) - } - - def /*cached*/ String calledJavaMethod(CompilationContext it, OperationCall call) { - getCalledJavaMethod(call) - } - - ////////////////////////////////////////////////// - // EXPRESSION BRACKETING - ////////////////////////////////////////////////// - def String autoBracket(Expression it, String javaCode, CompilationContext ctx) { - if (requiresBracketing(ctx)) '(' + javaCode + ')' else javaCode - } - - def dispatch boolean requiresBracketing(Expression it, CompilationContext ctx) { - (isPrefixExpression(ctx) || isInfixExpression(ctx)) && eContainer() !== null && requiresBracketing(it, eContainer(), ctx) - } - - def dispatch boolean requiresBracketing(Literal it, CompilationContext ctx) { - false - } - - def dispatch boolean requiresBracketing(Expression it, Object parent, CompilationContext ctx) { - false - } - - def dispatch boolean requiresBracketing(Expression it, Expression parent, CompilationContext ctx) { - isPrefixExpression(ctx) && parent.isPrefixExpression(ctx) || - (isInfixExpression(ctx) && (parent.isPrefixExpression(ctx) || parent.isInfixExpression(ctx))) - } - - def dispatch boolean requiresBracketing(OperationCall it, OperationCall parent, CompilationContext ctx) { - isPrefixExpression(ctx) && parent.isPrefixExpression(ctx) || - (isInfixExpression(ctx) && (parent.isPrefixExpression(ctx) || (parent.isInfixExpression(ctx) && name != parent.name))) - } - - def dispatch boolean requiresBracketing(BooleanOperation it, BooleanOperation parent, CompilationContext ctx) { - operator != parent.operator - } - - ////////////////////////////////////////////////// - // HELPER FUNCTIONS - ////////////////////////////////////////////////// - def dispatch boolean isThisCall(Expression it) { - false - } - - def dispatch boolean isThisCall(FeatureCall it) { - name === null && type.isThis() - } - - def boolean isFeature(Identifier it) { - id !== null && id.size == 1 - } - - def dispatch boolean isThis(Expression it) { - false - } - - def dispatch boolean isThis(Identifier it) { - id !== null && id.size == 1 && id.head == "this" - } - - def String qualifiedTypeName(Identifier it, CompilationContext ctx) { - if (id.size == 2) id.get(0) + "::" + id.get(1) else ctx.qualifiedTypeName(id.head) - } - - def /*cached*/ String qualifiedTypeName(CompilationContext it, String name) { - getQualifiedTypeName(name) - } - - def dispatch String javaEncode(Expression it) { - javaEncode(serialize()) - } - - def dispatch String javaEncode(String it) { - org.eclipse.xtext.util.Strings.convertToJavaString(it) - } - - def String join(String it, List strings) { - if (strings.isEmpty) '' else internalJoin(strings) - } - - private def String internalJoin(String it, List strings) { - org.eclipse.xtext.util.Strings.concat(it, strings) - } - - def String join(String it, String strings) { - strings - } - - def String join(String it, Void strings) { - '' - } - -} diff --git a/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/generator/CompilationContext.java b/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/generator/CompilationContext.java deleted file mode 100644 index b8d917e1f1..0000000000 --- a/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/generator/CompilationContext.java +++ /dev/null @@ -1,429 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2016 Avaloq Group AG 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 - * - * Contributors: - * Avaloq Group AG - initial API and implementation - *******************************************************************************/ -package com.avaloq.tools.ddk.xtext.expression.generator; - -import java.lang.reflect.Field; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.internal.xtend.xtend.ast.Extension; -import org.eclipse.internal.xtend.xtend.ast.JavaExtensionStatement; -import org.eclipse.xtend.expression.ExecutionContext; -import org.eclipse.xtend.expression.ExpressionFacade; -import org.eclipse.xtend.expression.Variable; -import org.eclipse.xtend.typesystem.Operation; -import org.eclipse.xtend.typesystem.Type; -import org.eclipse.xtend.typesystem.emf.EClassType; - -import com.avaloq.tools.ddk.xtext.expression.expression.Expression; -import com.avaloq.tools.ddk.xtext.expression.expression.OperationCall; -import com.google.common.collect.Sets; - - -/** - * The CompilationContext is used by CodeGeneration.ext to resolve types, get information about local variables, etc. It is a - * wrapper around {@link ExecutionContext}. - *

- * Note that many of these methods are called from Xtend and will thus not show up when doing a find references in Eclipse. - */ -@SuppressWarnings("nls") -public class CompilationContext { - - /** Class-wide logger. */ - private static final Logger LOGGER = LogManager.getLogger(CompilationContext.class); - - /** Xtend execution context. */ - private final ExecutionContext context; - private final GenModelUtilX genModelUtil; - /** The name of the Java variable the implicit "this" variable is bound to. */ - private final String implicitVariable; - /** The type of the implicit "this" variable. */ - private Type implicitContextType; - - /** - * Analyzes the given expression and returns the type of it. - * - * @param expression - * expression to analyze - * @return type of expression - */ - public Type analyze(final Expression expression) { - return analyze(ExpressionExtensions.serialize(expression)); - } - - /** - * Analyzes the given expression and returns the type of it. - * - * @param expression - * expression to analyze - * @return type of expression - */ - public Type analyze(final String expression) { - return new ExpressionFacade(context).analyze(expression, Sets.newHashSet()); - } - - /** - * Creates a new compilation context for the given Xtend context. - * The name of the Java variable to bind "this" is set to "obj". - * - * @param context - * xtend context to wrap - * @param genModelUtil - * the gen model utility - */ - public CompilationContext(final ExecutionContext context, final GenModelUtilX genModelUtil) { - this.context = context; - this.genModelUtil = genModelUtil; - this.implicitVariable = "obj"; //$NON-NLS-1$ - } - - /** - * Creates a new compilation context for the given Xtend context, implicit variable name, and context type. - * - * @param context - * xtend context to wrap - * @param genModelUtil - * the gen model utility - * @param implicitVar - * name of the Java variable to bind "this" to - * @param contextType - * type of the Java variable to bind "this" to - */ - public CompilationContext(final ExecutionContext context, final GenModelUtilX genModelUtil, final String implicitVar, final Type contextType) { - this.context = context; - this.genModelUtil = genModelUtil; - this.implicitVariable = implicitVar; - this.implicitContextType = contextType != null ? contextType : context.getObjectType(); - } - - /** - * Returns the execution context used by this compilation context. - * - * @return execution context - */ - public ExecutionContext getExecutionContext() { - return context; - } - - /** - * Creates a new compilation context for the given Xtend context, implicit variable name, and context type. - * - * @param implicitVar - * name of the Java variable to bind "this" to - * @param contextType - * type of the Java variable to bind "this" to - * @param variable - * string typed variable to add - * @return CompilationContext - CompilationContext - */ - public CompilationContext cloneWithString(final String implicitVar, final EClass contextType, final String variable) { - return new CompilationContext(context.cloneWithVariable(new Variable(variable, "")), genModelUtil, implicitVar, contextType != null ? findType(contextType) //$NON-NLS-1$ - : this.implicitContextType); - } - - /** - * Creates a new compilation context for the given Xtend context, implicit variable name, and context type. - * - * @param implicitVar - * name of the Java variable to bind "this" to - * @param contextType - * type of the Java variable to bind "this" to - * @param variable - * variable to add - * @param type - * type of variable to add - * @return CompilationContext - CompilationContext - */ - public CompilationContext cloneWithVariable(final String implicitVar, final EClass contextType, final String variable, final String type) { - return new CompilationContext(context.cloneWithVariable(new Variable(variable, type)), genModelUtil, implicitVar, contextType != null - ? findType(contextType) - : this.implicitContextType); - } - - /** - * Returns the name of the Java variable to bind "this" to. - * - * @return {@link #implicitVariable} - */ - public String getImplicitVariable() { - return implicitVariable; - } - - /** - * Returns the generic type to use for List expressions mapped to java.util.List<>. - * - * @return currently always returns "org.eclipse.emf.ecore.EObject" - */ - public Type getRequiredType() { - return findType("ecore::EObject"); //$NON-NLS-1$ - } - - /** - * Checks whether the given string corresponds to a variable in this context. - * - * @param var - * string to check - * @return true if the given string corresponds to a variable - */ - public Boolean isVariable(final String var) { - return context.getVariable(var) != null || context.getGlobalVariables().containsKey(var); - } - - /** - * Returns the Xtend type for the given EClass. - * - * @param eClass - * EClass to get corresponding Xtend type for - * @return corresponding Xtend type - */ - public Type findType(final EClass eClass) { - return findType(eClass.getEPackage().getName() + "::" + eClass.getName()); //$NON-NLS-1$ - } - - /** - * Returns the Xtend type with the given name. - * - * @param name - * (qualified) name of type to find - * @return corresponding Xtend type - */ - public Type findType(final String name) { - return context.getTypeForName(name); - } - - /** - * Returns the Xtend type with the given name. - * - * @param name - * (qualified) name of type to find - * @return corresponding Xtend type - */ - public boolean isType(final String name) { - return findType(name) != null; - } - - /** - * Returns the Java class name corresponding to the given Xtend type. This works both for builtin types, EMF types, and Java - * types. - * - * @param name - * the name of the Xtend type (qualified or not) - * @return the qualified Java class name - */ - public String javaType(final String name) { - Type type = findType(name); - if (type == null) { - LOGGER.warn("No type found for {}", name); - return name; - } - return javaType(type); - } - - /** - * Returns the Java class name corresponding to the given Xtend type. This works both for builtin types, EMF types, and Java - * types. - * - * @param type - * the Xtend type (qualified or not) - * @return the qualified Java class name - */ - public String javaType(final Type type) { - if (type instanceof EClassType) { - EClass eClass = getEClass(type); - return genModelUtil.instanceClassName(eClass); - } - Class clazz = type.newInstance().getClass(); - return "java.lang".equals(clazz.getPackage().getName()) ? clazz.getSimpleName() : clazz.getName(); //$NON-NLS-1$ - } - - /** - * Creates a new equivalent compilation context with the given implicit variable name. - * - * @param implicitVar - * name of implicit variable - * @return new derived compilation context - */ - public CompilationContext clone(final String implicitVar) { - return new CompilationContext(context, genModelUtil, implicitVar, implicitContextType); - } - - /** - * Creates a new equivalent compilation context with the given implicit variable name and context type. - * - * @param implicitVar - * name of implicit variable - * @param contextType - * type of implicit variable - * @return new derived compilation context - */ - public CompilationContext clone(final String implicitVar, final EClass contextType) { - return new CompilationContext(context, genModelUtil, implicitVar, contextType != null ? findType(contextType) : this.implicitContextType); - } - - /** - * Creates a new equivalent compilation context with the given implicit variable name and context type and additional variable. - * - * @param implicitVar - * name of implicit variable - * @param contextType - * type of implicit variable - * @param variable - * name of additional bound Java variable - * @return new derived compilation context - */ - public CompilationContext clone(final String implicitVar, final EClass contextType, final String variable) { - return clone(implicitVar, contextType, variable, null); - } - - /** - * Creates a new equivalent compilation context with the given implicit variable name and context type and additional variable. - * - * @param implicitVar - * name of implicit variable - * @param contextType - * type of implicit variable - * @param variable - * name of additional bound Java variable - * @param variableType - * type of additional bound Java variable - * @return new derived compilation context - */ - public CompilationContext clone(final String implicitVar, final EClass contextType, final String variable, final EClass variableType) { - return new CompilationContext(context.cloneWithVariable(new Variable(variable, variableType == null ? new Object() - : findType(variableType))), genModelUtil, implicitVar, contextType != null ? findType(contextType) : this.implicitContextType); - } - - /** - * Returns the qualified type name for the given unqualified type name. - * - * @param typeName - * unqualified (or qualified) type name - * @return qualified type name of given type - */ - public String getQualifiedTypeName(final String typeName) { - final Type type = findType(typeName); - - try { - if (type instanceof EClassType) { - EClass eClass = getEClass(type); - return eClass.getEPackage().getName() + "::" + eClass.getName(); //$NON-NLS-1$ - } - // CHECKSTYLE:OFF - } catch (final Exception e) { - LOGGER.warn("Could not determine qualified type name for {}", typeName, e); //$NON-NLS-1$ - } - // CHECKSTYLE:ON - - return type.getName(); - } - - /** - * Gets the eClass. - * - * @param type - * the type - * @return the eClass or NULL - */ - public EClass getEClass(final Type type) { - if (type instanceof EClassType) { - try { - Field field = EClassType.class.getDeclaredField("eClass"); - field.setAccessible(true); - return (EClass) field.get(type); - // CHECKSTYLE:OFF - } catch (Exception e) { - // CHECKSTYLE:ON - LOGGER.error("Could not determine EClass for {}", type, e); - } - } - return null; - } - - /** - * Gets the eClass. - * - * @param type - * the type - * @return the eClass or NULL - */ - public EClass getEClass(final Object type) { - if (type instanceof Type) { - return getEClass((Type) type); - } - return null; - } - - /** - * Heuristically test if name of extension. - * - * @param name - * the name to test - * @return true if name is an extension name - */ - // TODO fix heuristic with proper type analysis - public Boolean isExtension(final String name) { - for (final Extension e : context.getAllExtensions()) { - if (e.getName().equals(name)) { - return true; - } - } - return false; - } - - /** - * Gets the called java method. - * - * @param expression - * the expression - * @return the called java method or NULL - */ - public String getCalledJavaMethod(final OperationCall expression) { - // TODO ctx.getExtensionForTypes(expression.getName(), ...); - try { - for (final Extension e : context.getAllExtensions()) { - if (e instanceof JavaExtensionStatement) { - final JavaExtensionStatement je = (JavaExtensionStatement) e; - if (je.getName().equals(expression.getName())) { - return je.getJavaType() + "." + je.getJavaMethodName(); //$NON-NLS-1$ - } - } - } - // CHECKSTYLE:OFF - } catch (final Exception e) { - LOGGER.error(e.getMessage(), e); - } - // CHECKSTYLE:ON - - return null; - } - - /** - * Heuristically test if target has an operation. - * - * @param expression - * the operation - * @return true if the implicit context has this operation - */ - // TODO fix heuristic with proper type analysis - public boolean targetHasOperation(final OperationCall expression) { - if (implicitContextType == null) { - return false; - } - - for (final Operation operation : implicitContextType.getAllOperations()) { - if (operation.getName().equals(expression.getName()) && operation.getParameterTypes().size() == expression.getParams().size()) { - return true; - } - } - return false; - } -} diff --git a/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/generator/CompilerX.java b/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/generator/CompilerX.java deleted file mode 100644 index 7db027df44..0000000000 --- a/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/generator/CompilerX.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2016 Avaloq Group AG 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 - * - * Contributors: - * Avaloq Group AG - initial API and implementation - *******************************************************************************/ -package com.avaloq.tools.ddk.xtext.expression.generator; - -import com.avaloq.tools.ddk.xtext.expression.expression.Expression; - - -/** - * A wrapper class around the {@link CodeGenerationX} class which implements the partial Xtend to Java source code generation. - */ -public class CompilerX { - - private final CompilationContext context; - - /** - * Creates a new compiler with the given compilation context. - * - * @param context - * the compilation context - */ - public CompilerX(final CompilationContext context) { - this.context = context; - } - - /** - * Compiles the given expression to an equivalent Java expression. - * - * @param expression - * expression to compile - * @return Java expression as a string - */ - public String compile(final Expression expression) { - Object res = new CodeGenerationX().javaExpression(expression, context); - return res != null ? res.toString() : null; - } - -} diff --git a/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/generator/ExpressionExtensionsX.xtend b/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/generator/ExpressionExtensionsX.xtend deleted file mode 100644 index e8341936ad..0000000000 --- a/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/generator/ExpressionExtensionsX.xtend +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2016 Avaloq Group AG and others. - * All rights reserved. it program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies it distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Avaloq Group AG - initial API and implementation - *******************************************************************************/ - -package com.avaloq.tools.ddk.xtext.expression.generator - -import com.avaloq.tools.ddk.xtext.expression.expression.BooleanOperation -import com.avaloq.tools.ddk.xtext.expression.expression.Expression -import com.avaloq.tools.ddk.xtext.expression.expression.FeatureCall -import com.avaloq.tools.ddk.xtext.expression.expression.IfExpression -import com.avaloq.tools.ddk.xtext.expression.expression.ListLiteral -import com.avaloq.tools.ddk.xtext.expression.expression.OperationCall -import org.eclipse.emf.ecore.EObject - -class ExpressionExtensionsX { - - def dispatch String serialize(EObject it) { - ExpressionExtensions.serialize(it) - } - - def dispatch String serialize(Void it) { - null - } - - def dispatch boolean isEmptyList(Expression it) { - false - } - - def dispatch boolean isEmptyList(ListLiteral it) { - elements.isEmpty - } - - def boolean isSimpleConcatCall(OperationCall it) { - name == '+' && type === null && target === null && !params.isEmpty - } - - def boolean isNumber(Expression it, CompilationContext ctx) { - ctx.findType('Real').isAssignableFrom(ctx.analyze(it)) - } - - def dispatch boolean isArithmeticOperatorCall(OperationCall it, CompilationContext ctx) { - type === null && target === null && params.size > 1 && (name == '+' || name == '-' || name == '*' || name == '/') && params.forall(p|p.isNumber(ctx)) - } - - def dispatch boolean isArithmeticOperatorCall(Expression it, CompilationContext ctx) { - false - } - - def dispatch boolean isPrefixExpression(Expression it, CompilationContext ctx) { - false - } - - def dispatch boolean isPrefixExpression(OperationCall it, CompilationContext ctx) { - type === null && target === null && params.size == 1 && (name == '-' || name == '!') - } - - def dispatch boolean isInfixExpression(Void it, CompilationContext ctx) { - false - } - - def dispatch boolean isInfixExpression(Expression it, CompilationContext ctx) { - false - } - - def dispatch boolean isInfixExpression(OperationCall it, CompilationContext ctx) { - isArithmeticOperatorCall(ctx) || 'isInstance' == name - } - - def dispatch boolean isInfixExpression(IfExpression it, CompilationContext ctx) { - true - } - - def dispatch boolean isInfixExpression(BooleanOperation it, CompilationContext ctx) { - true - } - - def String calledFeature(FeatureCall it) { - type.id.head - } - -} \ No newline at end of file diff --git a/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/jvmmodel/ExpressionJvmModelInferrer.xtend b/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/jvmmodel/ExpressionJvmModelInferrer.xtend new file mode 100644 index 0000000000..9c1d4879ea --- /dev/null +++ b/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/jvmmodel/ExpressionJvmModelInferrer.xtend @@ -0,0 +1,62 @@ +/* + * generated by Xtext + */ +package com.avaloq.tools.ddk.xtext.expression.jvmmodel + +import com.avaloq.tools.ddk.xtext.expression.expression.Expression +import com.google.inject.Inject +import org.eclipse.xtext.xbase.jvmmodel.AbstractModelInferrer +import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor +import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder + +/** + *

Infers a JVM model from the source model.

+ * + *

The JVM model should contain all elements that would appear in the Java code + * which is generated from the source model. Other models link against the JVM model rather than the source model.

+ */ +class ExpressionJvmModelInferrer extends AbstractModelInferrer { + + /** + * convenience API to build and initialize JVM types and their members. + */ + @Inject extension JvmTypesBuilder + + /** + * The dispatch method {@code infer} is called for each instance of the + * given element's type that is contained in a resource. + * + * @param element + * the model to create one or more + * {@link org.eclipse.xtext.common.types.JvmDeclaredType declared + * types} from. + * @param acceptor + * each created + * {@link org.eclipse.xtext.common.types.JvmDeclaredType type} + * without a container should be passed to the acceptor in order + * get attached to the current resource. The acceptor's + * {@link IJvmDeclaredTypeAcceptor#accept(org.eclipse.xtext.common.types.JvmDeclaredType) + * accept(..)} method takes the constructed empty type for the + * pre-indexing phase. This one is further initialized in the + * indexing phase using the lambda you pass as the last argument. + * @param isPreIndexingPhase + * whether the method is called in a pre-indexing phase, i.e. + * when the global index is not yet fully updated. You must not + * rely on linking using the index if isPreIndexingPhase is + * true. + */ + def dispatch void infer(Expression element, IJvmDeclaredTypeAcceptor acceptor, boolean isPreIndexingPhase) { + // Here you explain how your model is mapped to Java elements, by writing the actual translation code. + + // An implementation for the initial hello world example could look like this: +// acceptor.accept(element.toClass("my.company.greeting.MyGreetings")) [ +// for (greeting : element.greetings) { +// members += greeting.toMethod("hello" + greeting.name, typeRef(String)) [ +// body = ''' +// return "Hello «greeting.name»"; +// ''' +// ] +// } +// ] + } +} diff --git a/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/scoping/ExpressionScopeProvider.java b/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/scoping/ExpressionScopeProvider.java index 95d88a7ef9..3b65f91f71 100644 --- a/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/scoping/ExpressionScopeProvider.java +++ b/com.avaloq.tools.ddk.xtext.expression/src/com/avaloq/tools/ddk/xtext/expression/scoping/ExpressionScopeProvider.java @@ -10,13 +10,11 @@ *******************************************************************************/ package com.avaloq.tools.ddk.xtext.expression.scoping; -import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; - /** * This class contains custom scoping description for the Expression language. * Expression is a mixin grammar therefore this class in empty */ -public class ExpressionScopeProvider extends AbstractDeclarativeScopeProvider { +public class ExpressionScopeProvider extends AbstractExpressionScopeProvider { } diff --git a/com.avaloq.tools.ddk.xtext.generator.test/META-INF/MANIFEST.MF b/com.avaloq.tools.ddk.xtext.generator.test/META-INF/MANIFEST.MF index d986bbc123..ea494375fd 100644 --- a/com.avaloq.tools.ddk.xtext.generator.test/META-INF/MANIFEST.MF +++ b/com.avaloq.tools.ddk.xtext.generator.test/META-INF/MANIFEST.MF @@ -10,8 +10,6 @@ Fragment-Host: com.avaloq.tools.ddk.xtext.generator Require-Bundle: com.avaloq.tools.ddk.test.core, com.avaloq.tools.ddk.xtext.expression, com.avaloq.tools.ddk.xtext.test.core, - org.eclipse.xtend, - org.eclipse.xtend.typesystem.emf, org.eclipse.xtext, org.mockito.mockito-core, com.avaloq.tools.ddk.xtext.ui, diff --git a/com.avaloq.tools.ddk.xtext.generator.test/src/com/avaloq/tools/ddk/xtext/generator/expression/CodeGenerationXTest.java b/com.avaloq.tools.ddk.xtext.generator.test/src/com/avaloq/tools/ddk/xtext/generator/expression/CodeGenerationXTest.java deleted file mode 100644 index a75a146905..0000000000 --- a/com.avaloq.tools.ddk.xtext.generator.test/src/com/avaloq/tools/ddk/xtext/generator/expression/CodeGenerationXTest.java +++ /dev/null @@ -1,207 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2016 Avaloq Group AG 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 - * - * Contributors: - * Avaloq Group AG - initial API and implementation - *******************************************************************************/ -package com.avaloq.tools.ddk.xtext.generator.expression; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import java.io.IOException; - -import org.eclipse.xtend.expression.ExecutionContextImpl; -import org.eclipse.xtend.type.impl.java.JavaBeansMetaModel; -import org.eclipse.xtend.typesystem.emf.EmfRegistryMetaModel; -import org.junit.jupiter.api.Test; - -import com.avaloq.tools.ddk.xtext.expression.expression.Expression; -import com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext; -import com.avaloq.tools.ddk.xtext.expression.generator.CompilerX; -import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX; -import com.avaloq.tools.ddk.xtext.generator.test.util.GeneratorTestUtil; -import com.avaloq.tools.ddk.xtext.test.jupiter.AbstractXtextTest; - - -/** - * Tests the code generation as implemented by CodeGenerationX wrapped by {@link CompilerX}. - */ -@SuppressWarnings({"nls", "PMD.SignatureDeclareThrowsException"}) -public class CodeGenerationXTest extends AbstractXtextTest { - - private CompilerX getCompiler() { - return (CompilerX) getTestInformation().getTestObject(CompilerX.class); - } - - @Override - protected GeneratorTestUtil getXtextTestUtil() { - return GeneratorTestUtil.getInstance(); - } - - @Override - protected void beforeAllTests() { - super.beforeAllTests(); - final ExecutionContextImpl executionContext = new ExecutionContextImpl(); - executionContext.registerMetaModel(new JavaBeansMetaModel()); - executionContext.registerMetaModel(new EmfRegistryMetaModel()); - final CompilationContext context = new CompilationContext(executionContext, new GenModelUtilX()); - getTestInformation().putTestObject(CompilerX.class, new CompilerX(context)); - } - - /** - * This test class does not have a test source file. {@inheritDoc} - */ - @Override - protected String getTestSourceFileName() { - return null; - } - - @Test - void testliterals() throws Exception { - // CHECKSTYLE:CONSTANTS-OFF - assertEquals("42", compile("42")); // NOPMD - assertEquals("4.2", compile("4.2")); // NOPMD - assertEquals("true", compile("true")); // NOPMD - assertEquals("null", compile("null")); // NOPMD - assertEquals("\"foo\"", compile("\"foo\"")); // NOPMD - assertEquals("\"foo\"", compile("\'foo\'")); // NOPMD - // CHECKSTYLE:CONSTANTS-ON - } - - @Test - void testListLiterals() throws Exception { - assertEquals("java.util.Collections. emptyList()", compile("{}")); // NOPMD - assertEquals("java.util.Collections.singletonList(1)", compile("{1}")); // NOPMD - assertEquals("com.google.common.collect.Lists.newArrayList(1, 2, 3)", compile("{1,2,3}")); // NOPMD - } - - @Test - void testIdentifiers() throws Exception { - assertEquals("obj.getTrue()", compile("^true")); // NOPMD - } - - @Test - void testBracketing() throws Exception { - // CHECKSTYLE:CONSTANTS-OFF - assertEquals("(4 + 2) * 3", compile("(4 + 2) * 3")); // NOPMD - assertEquals("(4 + 2) * 3 * 4", compile("(4 + 2) * 3 * 4")); // NOPMD - assertEquals("\"x\" + 2 + 3 + 4", compile("(\'x\' + 2) + 3 + 4")); // NOPMD - assertEquals("obj.getFoo() + 2 + 3 + 4", compile("(foo + 2) + (3 + 4)")); // NOPMD - assertEquals("true && false && false", compile("(true && false) && false")); // NOPMD - assertEquals("(true || false) && false", compile("(true || false) && false")); // NOPMD - // CHECKSTYLE:CONSTANTS-ON - } - - @Test - void testBooleanLogic() throws Exception { - // CHECKSTYLE:CONSTANTS-OFF - assertEquals("true", compile("true")); // NOPMD - assertEquals("false", compile("false")); // NOPMD - assertEquals("!true", compile("!true")); // NOPMD - assertEquals("true && false", compile("true && false")); // NOPMD - assertEquals("true || false", compile("true || false")); // NOPMD - assertEquals("true ? 1 : 2", compile("true ? 1 : 2")); // NOPMD - assertEquals("true ? 1 : 2", compile("if true then 1 else 2")); // NOPMD - assertEquals("1 == 2", compile("1 == 2")); // NOPMD - assertEquals("1 != 2", compile("1 != 2")); // NOPMD - assertEquals("1 >= 2", compile("1 >= 2")); // NOPMD - assertEquals("1 <= 2", compile("1 <= 2")); // NOPMD - assertEquals("1 > 2", compile("1 > 2")); // NOPMD - assertEquals("1 < 2", compile("1 < 2")); // NOPMD - // CHECKSTYLE:CONSTANTS-ON - } - - @Test - void testArithmetics() throws Exception { - // CHECKSTYLE:CONSTANTS-OFF - assertEquals("4 + 2", compile("4 + 2")); // NOPMD - assertEquals("4 - 2", compile("4 - 2")); // NOPMD - assertEquals("4 / 2", compile("4 / 2")); // NOPMD - assertEquals("4 * 2", compile("4 * 2")); // NOPMD - assertEquals("-42", compile("-42")); // NOPMD - // CHECKSTYLE:CONSTANTS-ON - } - - @Test - void testPrefixExpressions() throws Exception { - // CHECKSTYLE:CONSTANTS-OFF - assertEquals("-(4 * 2)", compile("-(4 * 2)")); // NOPMD - assertEquals("-(-42)", compile("-(-42)")); // NOPMD - assertEquals("!(!true)", compile("!(!true)")); // NOPMD - - assertEquals("!true", compile("!true")); // NOPMD - assertEquals("!true", compile("!(true)")); // NOPMD - assertEquals("!true && false", compile("!(true) && false")); // NOPMD - assertEquals("!(true && false)", compile("!(true && false)")); // NOPMD - // CHECKSTYLE:CONSTANTS-ON - } - - @Test - void testInfixExpressions() throws Exception { - // CHECKSTYLE:CONSTANTS-OFF - assertEquals("(true ? 1 : 2) + 3", compile("(true ? 1 : 2) + 3")); // NOPMD - assertEquals("!(true ? true : false)", compile("!(true ? true : false)")); // NOPMD - assertEquals("!(obj instanceof org.eclipse.emf.ecore.EObject)", compile("!ecore::EObject.isInstance(this)")); // NOPMD - // CHECKSTYLE:CONSTANTS-ON - } - - @Test - void testImplicitVariable() throws Exception { - assertEquals("obj", compile("this")); // NOPMD - } - - @Test - void testCasting() throws Exception { - assertEquals("((org.eclipse.emf.ecore.EObject) obj)", compile("(ecore::EObject) this")); // NOPMD - } - - @Test - void testTypes() throws Exception { - assertEquals("org.eclipse.emf.ecore.EObject", compile("ecore::EObject")); // NOPMD - assertEquals("String", compile("java::lang::String")); // NOPMD - } - - @Test - void testIsInstance() throws Exception { - assertEquals("obj instanceof org.eclipse.emf.ecore.EObject", compile("ecore::EObject.isInstance(this)")); // NOPMD - } - - @Test - void testEContainerNavigation() throws Exception { - // CHECKSTYLE:CONSTANTS-OFF - assertEquals("obj.eContainer()", compile("this.eContainer")); // NOPMD - assertEquals("obj.eContainer()", compile("this.eContainer()")); // NOPMD - // CHECKSTYLE:CONSTANTS-ON - } - - @Test - void testTypeSelect() throws Exception { - assertEquals(// NOPMD - "com.google.common.collect.Iterables.filter(obj.getFoos(), org.eclipse.emf.ecore.EObject.class)", compile("this.foos.typeSelect(ecore::EObject)")); - assertEquals(// NOPMD - "com.google.common.collect.Iterables.filter(java.util.Collections.singletonList(obj), org.eclipse.emf.ecore.EObject.class)", compile("{this}.typeSelect(ecore::EObject)")); - } - - @Test - void testCollectionExpression() throws Exception { - assertEquals(// NOPMD - "com.google.common.collect.Iterables.filter(java.util.Collections.singletonList(obj), new com.google.common.base.Predicate() { public boolean apply(Object e) {return true;} })", compile("{this}.select(e|true)")); - } - - @Test - void testMultipleNavigations() throws Exception { - assertEquals(// NOPMD - "/* NOT COMPILABLE: Complex expressions like \"this.eContainer.eContainer\" cannot be translated to Java. Consider rewriting the expression or using a JAVA extension. */", compile("this.eContainer.eContainer")); - assertEquals(// NOPMD - "com.google.common.collect.Iterables.filter(obj.eContainer(), org.eclipse.emf.ecore.EObject.class)", compile("this.eContainer.typeSelect(ecore::EObject)")); - } - - private String compile(final String str) throws IOException { - return getCompiler().compile((Expression) getXtextTestUtil().getModel("test.expression", str)); - } - -} diff --git a/com.avaloq.tools.ddk.xtext.generator.test/src/com/avaloq/tools/ddk/xtext/generator/expression/CompilationContextTest.java b/com.avaloq.tools.ddk.xtext.generator.test/src/com/avaloq/tools/ddk/xtext/generator/expression/CompilationContextTest.java deleted file mode 100644 index 4ca8581006..0000000000 --- a/com.avaloq.tools.ddk.xtext.generator.test/src/com/avaloq/tools/ddk/xtext/generator/expression/CompilationContextTest.java +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2016 Avaloq Group AG 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 - * - * Contributors: - * Avaloq Group AG - initial API and implementation - *******************************************************************************/ -package com.avaloq.tools.ddk.xtext.generator.expression; - -import static org.junit.jupiter.api.Assertions.assertSame; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import java.io.InputStreamReader; -import java.nio.charset.StandardCharsets; - -import org.eclipse.internal.xtend.xtend.ast.ExtensionFile; -import org.eclipse.internal.xtend.xtend.parser.ParseFacade; -import org.eclipse.xtend.expression.ExecutionContextImpl; -import org.eclipse.xtend.type.impl.java.JavaBeansMetaModel; -import org.eclipse.xtend.typesystem.Type; -import org.junit.jupiter.api.Test; - -import com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext; - - -@SuppressWarnings({"nls", "PMD.SignatureDeclareThrowsException"}) -public class CompilationContextTest { - - @Test - void isExtension() { - ExecutionContextImpl executionContext = new ExecutionContextImpl(); - executionContext.registerMetaModel(new JavaBeansMetaModel()); - ExtensionFile extensionFile = ParseFacade.file(new InputStreamReader(getClass().getResourceAsStream("/com/avaloq/tools/ddk/xtext/generator/expression/TestExtensions.ext"), StandardCharsets.UTF_8), "TestExtensions.ext"); - executionContext = (ExecutionContextImpl) executionContext.cloneWithResource(extensionFile); - final CompilationContext context = new CompilationContext(executionContext, null); - - assertTrue(context.isExtension("test"), "test extension not identified"); - } - - @Test - void analyze() { - ExecutionContextImpl executionContext = new ExecutionContextImpl(); - executionContext.registerMetaModel(new JavaBeansMetaModel()); - final CompilationContext context = new CompilationContext(executionContext, null); - - Type expectedType = executionContext.getTypeForName("Integer"); - assertSame(expectedType, context.analyze("1 + 3"), "Cannot analyze Integer"); - - expectedType = executionContext.getTypeForName("Real"); - assertSame(expectedType, context.analyze("1 + 3.33"), "Cannot analyze Real"); - - expectedType = executionContext.getTypeForName("String"); - assertSame(expectedType, context.analyze("\'foo\'"), "Cannot analyse String 'foo'"); - assertSame(expectedType, context.analyze("\"foo\""), "Cannot analyse String \"foo \" "); - assertSame(expectedType, context.analyze("\"foo\" + \'bar\'"), "Cannot analyse String \"foo\" + \'bar\'"); - } - -} diff --git a/com.avaloq.tools.ddk.xtext.generator.test/src/com/avaloq/tools/ddk/xtext/generator/expression/TestExtensions.ext b/com.avaloq.tools.ddk.xtext.generator.test/src/com/avaloq/tools/ddk/xtext/generator/expression/TestExtensions.ext deleted file mode 100644 index 7cc11f75cc..0000000000 --- a/com.avaloq.tools.ddk.xtext.generator.test/src/com/avaloq/tools/ddk/xtext/generator/expression/TestExtensions.ext +++ /dev/null @@ -1,5 +0,0 @@ -import org::eclipse::emf::ecore; - -test(EObject this) : - this -; diff --git a/com.avaloq.tools.ddk.xtext.generator.test/src/com/avaloq/tools/ddk/xtext/generator/test/generator/GeneratorTestSuite.java b/com.avaloq.tools.ddk.xtext.generator.test/src/com/avaloq/tools/ddk/xtext/generator/test/generator/GeneratorTestSuite.java index efbd202e46..9e2644a0a8 100644 --- a/com.avaloq.tools.ddk.xtext.generator.test/src/com/avaloq/tools/ddk/xtext/generator/test/generator/GeneratorTestSuite.java +++ b/com.avaloq.tools.ddk.xtext.generator.test/src/com/avaloq/tools/ddk/xtext/generator/test/generator/GeneratorTestSuite.java @@ -13,8 +13,6 @@ import org.junit.platform.suite.api.SelectClasses; import org.junit.platform.suite.api.Suite; -import com.avaloq.tools.ddk.xtext.generator.expression.CodeGenerationXTest; -import com.avaloq.tools.ddk.xtext.generator.expression.CompilationContextTest; import com.avaloq.tools.ddk.xtext.generator.expression.ExpressionsExtentionsTest; import com.avaloq.tools.ddk.xtext.generator.test.util.EClassComparatorTest; import com.avaloq.tools.ddk.xtext.generator.test.util.GraphTest; @@ -27,8 +25,6 @@ @Suite @SelectClasses({ // @Format-Off - CodeGenerationXTest.class, - CompilationContextTest.class, ExpressionsExtentionsTest.class, EClassComparatorTest.class, GraphTest.class, diff --git a/com.avaloq.tools.ddk.xtext.scope.ide/META-INF/MANIFEST.MF b/com.avaloq.tools.ddk.xtext.scope.ide/META-INF/MANIFEST.MF index 83c4e0990a..b07519c980 100644 --- a/com.avaloq.tools.ddk.xtext.scope.ide/META-INF/MANIFEST.MF +++ b/com.avaloq.tools.ddk.xtext.scope.ide/META-INF/MANIFEST.MF @@ -10,5 +10,6 @@ Export-Package: com.avaloq.tools.ddk.xtext.scope.ide.contentassist.antlr, com.avaloq.tools.ddk.xtext.scope.ide.contentassist.antlr.internal Require-Bundle: org.antlr.runtime, org.eclipse.xtext.ide, - com.avaloq.tools.ddk.xtext.scope + com.avaloq.tools.ddk.xtext.scope, + org.eclipse.xtext.xbase.ide Automatic-Module-Name: com.avaloq.tools.ddk.xtext.scope.ide diff --git a/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/AbstractScopeIdeModule.java b/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/AbstractScopeIdeModule.java index 5f09d10938..cf798e7c70 100644 --- a/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/AbstractScopeIdeModule.java +++ b/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/AbstractScopeIdeModule.java @@ -7,18 +7,18 @@ import com.avaloq.tools.ddk.xtext.scope.ide.contentassist.antlr.internal.InternalScopeLexer; import com.google.inject.Binder; import com.google.inject.name.Names; -import org.eclipse.xtext.ide.DefaultIdeModule; import org.eclipse.xtext.ide.LexerIdeBindings; import org.eclipse.xtext.ide.editor.contentassist.IProposalConflictHelper; import org.eclipse.xtext.ide.editor.contentassist.antlr.AntlrProposalConflictHelper; import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser; import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer; +import org.eclipse.xtext.xbase.ide.DefaultXbaseIdeModule; /** * Manual modifications go to {@link ScopeIdeModule}. */ @SuppressWarnings("all") -public abstract class AbstractScopeIdeModule extends DefaultIdeModule { +public abstract class AbstractScopeIdeModule extends DefaultXbaseIdeModule { // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 public void configureContentAssistLexer(Binder binder) { diff --git a/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/ScopeParser.java b/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/ScopeParser.java index 4950146c75..cdd0acc272 100644 --- a/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/ScopeParser.java +++ b/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/ScopeParser.java @@ -58,6 +58,45 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0(), "rule__CollectionExpression__NameAlternatives_0_0"); builder.put(grammarAccess.getTypeAccess().getAlternatives(), "rule__Type__Alternatives"); builder.put(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0(), "rule__CollectionType__ClAlternatives_0_0"); + builder.put(grammarAccess.getXAssignmentAccess().getAlternatives(), "rule__XAssignment__Alternatives"); + builder.put(grammarAccess.getOpMultiAssignAccess().getAlternatives(), "rule__OpMultiAssign__Alternatives"); + builder.put(grammarAccess.getOpEqualityAccess().getAlternatives(), "rule__OpEquality__Alternatives"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1(), "rule__XRelationalExpression__Alternatives_1"); + builder.put(grammarAccess.getOpCompareAccess().getAlternatives(), "rule__OpCompare__Alternatives"); + builder.put(grammarAccess.getOpOtherAccess().getAlternatives(), "rule__OpOther__Alternatives"); + builder.put(grammarAccess.getOpOtherAccess().getAlternatives_5_1(), "rule__OpOther__Alternatives_5_1"); + builder.put(grammarAccess.getOpOtherAccess().getAlternatives_6_1(), "rule__OpOther__Alternatives_6_1"); + builder.put(grammarAccess.getOpAddAccess().getAlternatives(), "rule__OpAdd__Alternatives"); + builder.put(grammarAccess.getOpMultiAccess().getAlternatives(), "rule__OpMulti__Alternatives"); + builder.put(grammarAccess.getXUnaryOperationAccess().getAlternatives(), "rule__XUnaryOperation__Alternatives"); + builder.put(grammarAccess.getOpUnaryAccess().getAlternatives(), "rule__OpUnary__Alternatives"); + builder.put(grammarAccess.getOpPostfixAccess().getAlternatives(), "rule__OpPostfix__Alternatives"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1(), "rule__XMemberFeatureCall__Alternatives_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1(), "rule__XMemberFeatureCall__Alternatives_1_0_0_0_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1(), "rule__XMemberFeatureCall__Alternatives_1_1_0_0_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1(), "rule__XMemberFeatureCall__Alternatives_1_1_3_1"); + builder.put(grammarAccess.getXPrimaryExpressionAccess().getAlternatives(), "rule__XPrimaryExpression__Alternatives"); + builder.put(grammarAccess.getXLiteralAccess().getAlternatives(), "rule__XLiteral__Alternatives"); + builder.put(grammarAccess.getXCollectionLiteralAccess().getAlternatives(), "rule__XCollectionLiteral__Alternatives"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2(), "rule__XSwitchExpression__Alternatives_2"); + builder.put(grammarAccess.getXCasePartAccess().getAlternatives_3(), "rule__XCasePart__Alternatives_3"); + builder.put(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives(), "rule__XExpressionOrVarDeclaration__Alternatives"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1(), "rule__XVariableDeclaration__Alternatives_1"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2(), "rule__XVariableDeclaration__Alternatives_2"); + builder.put(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1(), "rule__XFeatureCall__Alternatives_3_1"); + builder.put(grammarAccess.getFeatureCallIDAccess().getAlternatives(), "rule__FeatureCallID__Alternatives"); + builder.put(grammarAccess.getIdOrSuperAccess().getAlternatives(), "rule__IdOrSuper__Alternatives"); + builder.put(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1(), "rule__XConstructorCall__Alternatives_4_1"); + builder.put(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1(), "rule__XBooleanLiteral__Alternatives_1"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3(), "rule__XTryCatchFinallyExpression__Alternatives_3"); + builder.put(grammarAccess.getNumberAccess().getAlternatives(), "rule__Number__Alternatives"); + builder.put(grammarAccess.getNumberAccess().getAlternatives_1_0(), "rule__Number__Alternatives_1_0"); + builder.put(grammarAccess.getNumberAccess().getAlternatives_1_1_1(), "rule__Number__Alternatives_1_1_1"); + builder.put(grammarAccess.getJvmTypeReferenceAccess().getAlternatives(), "rule__JvmTypeReference__Alternatives"); + builder.put(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives(), "rule__JvmArgumentTypeReference__Alternatives"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2(), "rule__JvmWildcardTypeReference__Alternatives_2"); + builder.put(grammarAccess.getXImportDeclarationAccess().getAlternatives_1(), "rule__XImportDeclaration__Alternatives_1"); + builder.put(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3(), "rule__XImportDeclaration__Alternatives_1_0_3"); builder.put(grammarAccess.getCasingAccess().getAlternatives(), "rule__Casing__Alternatives"); builder.put(grammarAccess.getScopeModelAccess().getGroup(), "rule__ScopeModel__Group__0"); builder.put(grammarAccess.getScopeModelAccess().getGroup_2(), "rule__ScopeModel__Group_2__0"); @@ -147,6 +186,185 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getCollectionTypeAccess().getGroup(), "rule__CollectionType__Group__0"); builder.put(grammarAccess.getSimpleTypeAccess().getGroup(), "rule__SimpleType__Group__0"); builder.put(grammarAccess.getSimpleTypeAccess().getGroup_1(), "rule__SimpleType__Group_1__0"); + builder.put(grammarAccess.getXAssignmentAccess().getGroup_0(), "rule__XAssignment__Group_0__0"); + builder.put(grammarAccess.getXAssignmentAccess().getGroup_1(), "rule__XAssignment__Group_1__0"); + builder.put(grammarAccess.getXAssignmentAccess().getGroup_1_1(), "rule__XAssignment__Group_1_1__0"); + builder.put(grammarAccess.getXAssignmentAccess().getGroup_1_1_0(), "rule__XAssignment__Group_1_1_0__0"); + builder.put(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0(), "rule__XAssignment__Group_1_1_0_0__0"); + builder.put(grammarAccess.getOpMultiAssignAccess().getGroup_5(), "rule__OpMultiAssign__Group_5__0"); + builder.put(grammarAccess.getOpMultiAssignAccess().getGroup_6(), "rule__OpMultiAssign__Group_6__0"); + builder.put(grammarAccess.getXOrExpressionAccess().getGroup(), "rule__XOrExpression__Group__0"); + builder.put(grammarAccess.getXOrExpressionAccess().getGroup_1(), "rule__XOrExpression__Group_1__0"); + builder.put(grammarAccess.getXOrExpressionAccess().getGroup_1_0(), "rule__XOrExpression__Group_1_0__0"); + builder.put(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0(), "rule__XOrExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXAndExpressionAccess().getGroup(), "rule__XAndExpression__Group__0"); + builder.put(grammarAccess.getXAndExpressionAccess().getGroup_1(), "rule__XAndExpression__Group_1__0"); + builder.put(grammarAccess.getXAndExpressionAccess().getGroup_1_0(), "rule__XAndExpression__Group_1_0__0"); + builder.put(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0(), "rule__XAndExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getGroup(), "rule__XEqualityExpression__Group__0"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getGroup_1(), "rule__XEqualityExpression__Group_1__0"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0(), "rule__XEqualityExpression__Group_1_0__0"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0(), "rule__XEqualityExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup(), "rule__XRelationalExpression__Group__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0(), "rule__XRelationalExpression__Group_1_0__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0(), "rule__XRelationalExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0(), "rule__XRelationalExpression__Group_1_0_0_0__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1(), "rule__XRelationalExpression__Group_1_1__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0(), "rule__XRelationalExpression__Group_1_1_0__0"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0(), "rule__XRelationalExpression__Group_1_1_0_0__0"); + builder.put(grammarAccess.getOpCompareAccess().getGroup_1(), "rule__OpCompare__Group_1__0"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup(), "rule__XOtherOperatorExpression__Group__0"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1(), "rule__XOtherOperatorExpression__Group_1__0"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0(), "rule__XOtherOperatorExpression__Group_1_0__0"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0(), "rule__XOtherOperatorExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_2(), "rule__OpOther__Group_2__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_5(), "rule__OpOther__Group_5__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_5_1_0(), "rule__OpOther__Group_5_1_0__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0(), "rule__OpOther__Group_5_1_0_0__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_6(), "rule__OpOther__Group_6__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_6_1_0(), "rule__OpOther__Group_6_1_0__0"); + builder.put(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0(), "rule__OpOther__Group_6_1_0_0__0"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getGroup(), "rule__XAdditiveExpression__Group__0"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1(), "rule__XAdditiveExpression__Group_1__0"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0(), "rule__XAdditiveExpression__Group_1_0__0"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0(), "rule__XAdditiveExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup(), "rule__XMultiplicativeExpression__Group__0"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1(), "rule__XMultiplicativeExpression__Group_1__0"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0(), "rule__XMultiplicativeExpression__Group_1_0__0"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0(), "rule__XMultiplicativeExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXUnaryOperationAccess().getGroup_0(), "rule__XUnaryOperation__Group_0__0"); + builder.put(grammarAccess.getXCastedExpressionAccess().getGroup(), "rule__XCastedExpression__Group__0"); + builder.put(grammarAccess.getXCastedExpressionAccess().getGroup_1(), "rule__XCastedExpression__Group_1__0"); + builder.put(grammarAccess.getXCastedExpressionAccess().getGroup_1_0(), "rule__XCastedExpression__Group_1_0__0"); + builder.put(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0(), "rule__XCastedExpression__Group_1_0_0__0"); + builder.put(grammarAccess.getXPostfixOperationAccess().getGroup(), "rule__XPostfixOperation__Group__0"); + builder.put(grammarAccess.getXPostfixOperationAccess().getGroup_1(), "rule__XPostfixOperation__Group_1__0"); + builder.put(grammarAccess.getXPostfixOperationAccess().getGroup_1_0(), "rule__XPostfixOperation__Group_1_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup(), "rule__XMemberFeatureCall__Group__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0(), "rule__XMemberFeatureCall__Group_1_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0(), "rule__XMemberFeatureCall__Group_1_0_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0(), "rule__XMemberFeatureCall__Group_1_0_0_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1(), "rule__XMemberFeatureCall__Group_1_1__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0(), "rule__XMemberFeatureCall__Group_1_1_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0(), "rule__XMemberFeatureCall__Group_1_1_0_0__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1(), "rule__XMemberFeatureCall__Group_1_1_1__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2(), "rule__XMemberFeatureCall__Group_1_1_1_2__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3(), "rule__XMemberFeatureCall__Group_1_1_3__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1(), "rule__XMemberFeatureCall__Group_1_1_3_1_1__0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1(), "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0"); + builder.put(grammarAccess.getXSetLiteralAccess().getGroup(), "rule__XSetLiteral__Group__0"); + builder.put(grammarAccess.getXSetLiteralAccess().getGroup_3(), "rule__XSetLiteral__Group_3__0"); + builder.put(grammarAccess.getXSetLiteralAccess().getGroup_3_1(), "rule__XSetLiteral__Group_3_1__0"); + builder.put(grammarAccess.getXListLiteralAccess().getGroup(), "rule__XListLiteral__Group__0"); + builder.put(grammarAccess.getXListLiteralAccess().getGroup_3(), "rule__XListLiteral__Group_3__0"); + builder.put(grammarAccess.getXListLiteralAccess().getGroup_3_1(), "rule__XListLiteral__Group_3_1__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup(), "rule__XClosure__Group__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_0(), "rule__XClosure__Group_0__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_0_0(), "rule__XClosure__Group_0_0__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_1(), "rule__XClosure__Group_1__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_1_0(), "rule__XClosure__Group_1_0__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_1_0_0(), "rule__XClosure__Group_1_0_0__0"); + builder.put(grammarAccess.getXClosureAccess().getGroup_1_0_0_1(), "rule__XClosure__Group_1_0_0_1__0"); + builder.put(grammarAccess.getXExpressionInClosureAccess().getGroup(), "rule__XExpressionInClosure__Group__0"); + builder.put(grammarAccess.getXExpressionInClosureAccess().getGroup_1(), "rule__XExpressionInClosure__Group_1__0"); + builder.put(grammarAccess.getXShortClosureAccess().getGroup(), "rule__XShortClosure__Group__0"); + builder.put(grammarAccess.getXShortClosureAccess().getGroup_0(), "rule__XShortClosure__Group_0__0"); + builder.put(grammarAccess.getXShortClosureAccess().getGroup_0_0(), "rule__XShortClosure__Group_0_0__0"); + builder.put(grammarAccess.getXShortClosureAccess().getGroup_0_0_1(), "rule__XShortClosure__Group_0_0_1__0"); + builder.put(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1(), "rule__XShortClosure__Group_0_0_1_1__0"); + builder.put(grammarAccess.getXParenthesizedExpressionAccess().getGroup(), "rule__XParenthesizedExpression__Group__0"); + builder.put(grammarAccess.getXIfExpressionAccess().getGroup(), "rule__XIfExpression__Group__0"); + builder.put(grammarAccess.getXIfExpressionAccess().getGroup_6(), "rule__XIfExpression__Group_6__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup(), "rule__XSwitchExpression__Group__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0(), "rule__XSwitchExpression__Group_2_0__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0(), "rule__XSwitchExpression__Group_2_0_0__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0(), "rule__XSwitchExpression__Group_2_0_0_0__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1(), "rule__XSwitchExpression__Group_2_1__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0(), "rule__XSwitchExpression__Group_2_1_0__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0(), "rule__XSwitchExpression__Group_2_1_0_0__0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getGroup_5(), "rule__XSwitchExpression__Group_5__0"); + builder.put(grammarAccess.getXCasePartAccess().getGroup(), "rule__XCasePart__Group__0"); + builder.put(grammarAccess.getXCasePartAccess().getGroup_2(), "rule__XCasePart__Group_2__0"); + builder.put(grammarAccess.getXCasePartAccess().getGroup_3_0(), "rule__XCasePart__Group_3_0__0"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getGroup(), "rule__XForLoopExpression__Group__0"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getGroup_0(), "rule__XForLoopExpression__Group_0__0"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0(), "rule__XForLoopExpression__Group_0_0__0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup(), "rule__XBasicForLoopExpression__Group__0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3(), "rule__XBasicForLoopExpression__Group_3__0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1(), "rule__XBasicForLoopExpression__Group_3_1__0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7(), "rule__XBasicForLoopExpression__Group_7__0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1(), "rule__XBasicForLoopExpression__Group_7_1__0"); + builder.put(grammarAccess.getXWhileExpressionAccess().getGroup(), "rule__XWhileExpression__Group__0"); + builder.put(grammarAccess.getXDoWhileExpressionAccess().getGroup(), "rule__XDoWhileExpression__Group__0"); + builder.put(grammarAccess.getXBlockExpressionAccess().getGroup(), "rule__XBlockExpression__Group__0"); + builder.put(grammarAccess.getXBlockExpressionAccess().getGroup_2(), "rule__XBlockExpression__Group_2__0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getGroup(), "rule__XVariableDeclaration__Group__0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0(), "rule__XVariableDeclaration__Group_2_0__0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0(), "rule__XVariableDeclaration__Group_2_0_0__0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getGroup_3(), "rule__XVariableDeclaration__Group_3__0"); + builder.put(grammarAccess.getJvmFormalParameterAccess().getGroup(), "rule__JvmFormalParameter__Group__0"); + builder.put(grammarAccess.getFullJvmFormalParameterAccess().getGroup(), "rule__FullJvmFormalParameter__Group__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup(), "rule__XFeatureCall__Group__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup_1(), "rule__XFeatureCall__Group_1__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup_1_2(), "rule__XFeatureCall__Group_1_2__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup_3(), "rule__XFeatureCall__Group_3__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1(), "rule__XFeatureCall__Group_3_1_1__0"); + builder.put(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1(), "rule__XFeatureCall__Group_3_1_1_1__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup(), "rule__XConstructorCall__Group__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup_3(), "rule__XConstructorCall__Group_3__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup_3_2(), "rule__XConstructorCall__Group_3_2__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup_4(), "rule__XConstructorCall__Group_4__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1(), "rule__XConstructorCall__Group_4_1_1__0"); + builder.put(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1(), "rule__XConstructorCall__Group_4_1_1_1__0"); + builder.put(grammarAccess.getXBooleanLiteralAccess().getGroup(), "rule__XBooleanLiteral__Group__0"); + builder.put(grammarAccess.getXNullLiteralAccess().getGroup(), "rule__XNullLiteral__Group__0"); + builder.put(grammarAccess.getXNumberLiteralAccess().getGroup(), "rule__XNumberLiteral__Group__0"); + builder.put(grammarAccess.getXStringLiteralAccess().getGroup(), "rule__XStringLiteral__Group__0"); + builder.put(grammarAccess.getXTypeLiteralAccess().getGroup(), "rule__XTypeLiteral__Group__0"); + builder.put(grammarAccess.getXThrowExpressionAccess().getGroup(), "rule__XThrowExpression__Group__0"); + builder.put(grammarAccess.getXReturnExpressionAccess().getGroup(), "rule__XReturnExpression__Group__0"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup(), "rule__XTryCatchFinallyExpression__Group__0"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0(), "rule__XTryCatchFinallyExpression__Group_3_0__0"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1(), "rule__XTryCatchFinallyExpression__Group_3_0_1__0"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1(), "rule__XTryCatchFinallyExpression__Group_3_1__0"); + builder.put(grammarAccess.getXSynchronizedExpressionAccess().getGroup(), "rule__XSynchronizedExpression__Group__0"); + builder.put(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0(), "rule__XSynchronizedExpression__Group_0__0"); + builder.put(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0(), "rule__XSynchronizedExpression__Group_0_0__0"); + builder.put(grammarAccess.getXCatchClauseAccess().getGroup(), "rule__XCatchClause__Group__0"); + builder.put(grammarAccess.getQualifiedNameAccess().getGroup(), "rule__QualifiedName__Group__0"); + builder.put(grammarAccess.getQualifiedNameAccess().getGroup_1(), "rule__QualifiedName__Group_1__0"); + builder.put(grammarAccess.getNumberAccess().getGroup_1(), "rule__Number__Group_1__0"); + builder.put(grammarAccess.getNumberAccess().getGroup_1_1(), "rule__Number__Group_1_1__0"); + builder.put(grammarAccess.getStaticQualifierAccess().getGroup(), "rule__StaticQualifier__Group__0"); + builder.put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0(), "rule__JvmTypeReference__Group_0__0"); + builder.put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1(), "rule__JvmTypeReference__Group_0_1__0"); + builder.put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0(), "rule__JvmTypeReference__Group_0_1_0__0"); + builder.put(grammarAccess.getArrayBracketsAccess().getGroup(), "rule__ArrayBrackets__Group__0"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getGroup(), "rule__XFunctionTypeRef__Group__0"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0(), "rule__XFunctionTypeRef__Group_0__0"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1(), "rule__XFunctionTypeRef__Group_0_1__0"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1(), "rule__XFunctionTypeRef__Group_0_1_1__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup(), "rule__JvmParameterizedTypeReference__Group__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1(), "rule__JvmParameterizedTypeReference__Group_1__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2(), "rule__JvmParameterizedTypeReference__Group_1_2__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4(), "rule__JvmParameterizedTypeReference__Group_1_4__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0(), "rule__JvmParameterizedTypeReference__Group_1_4_0__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0(), "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2(), "rule__JvmParameterizedTypeReference__Group_1_4_2__0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2(), "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup(), "rule__JvmWildcardTypeReference__Group__0"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0(), "rule__JvmWildcardTypeReference__Group_2_0__0"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1(), "rule__JvmWildcardTypeReference__Group_2_1__0"); + builder.put(grammarAccess.getJvmUpperBoundAccess().getGroup(), "rule__JvmUpperBound__Group__0"); + builder.put(grammarAccess.getJvmUpperBoundAndedAccess().getGroup(), "rule__JvmUpperBoundAnded__Group__0"); + builder.put(grammarAccess.getJvmLowerBoundAccess().getGroup(), "rule__JvmLowerBound__Group__0"); + builder.put(grammarAccess.getJvmLowerBoundAndedAccess().getGroup(), "rule__JvmLowerBoundAnded__Group__0"); + builder.put(grammarAccess.getJvmTypeParameterAccess().getGroup(), "rule__JvmTypeParameter__Group__0"); + builder.put(grammarAccess.getJvmTypeParameterAccess().getGroup_1(), "rule__JvmTypeParameter__Group_1__0"); + builder.put(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup(), "rule__QualifiedNameWithWildcard__Group__0"); + builder.put(grammarAccess.getXImportDeclarationAccess().getGroup(), "rule__XImportDeclaration__Group__0"); + builder.put(grammarAccess.getXImportDeclarationAccess().getGroup_1_0(), "rule__XImportDeclaration__Group_1_0__0"); + builder.put(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup(), "rule__QualifiedNameInStaticImport__Group__0"); builder.put(grammarAccess.getScopeModelAccess().getNameAssignment_1(), "rule__ScopeModel__NameAssignment_1"); builder.put(grammarAccess.getScopeModelAccess().getIncludedScopesAssignment_2_1(), "rule__ScopeModel__IncludedScopesAssignment_2_1"); builder.put(grammarAccess.getScopeModelAccess().getImportsAssignment_3(), "rule__ScopeModel__ImportsAssignment_3"); @@ -263,6 +481,150 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getCollectionTypeAccess().getId1Assignment_2(), "rule__CollectionType__Id1Assignment_2"); builder.put(grammarAccess.getSimpleTypeAccess().getIdAssignment_0(), "rule__SimpleType__IdAssignment_0"); builder.put(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1(), "rule__SimpleType__IdAssignment_1_1"); + builder.put(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1(), "rule__XAssignment__FeatureAssignment_0_1"); + builder.put(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3(), "rule__XAssignment__ValueAssignment_0_3"); + builder.put(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1(), "rule__XAssignment__FeatureAssignment_1_1_0_0_1"); + builder.put(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1(), "rule__XAssignment__RightOperandAssignment_1_1_1"); + builder.put(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XOrExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1(), "rule__XOrExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XAndExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1(), "rule__XAndExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XEqualityExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1(), "rule__XEqualityExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1(), "rule__XRelationalExpression__TypeAssignment_1_0_1"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1(), "rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1"); + builder.put(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1(), "rule__XRelationalExpression__RightOperandAssignment_1_1_1"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1(), "rule__XOtherOperatorExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XAdditiveExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1(), "rule__XAdditiveExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1"); + builder.put(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1(), "rule__XMultiplicativeExpression__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1(), "rule__XUnaryOperation__FeatureAssignment_0_1"); + builder.put(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2(), "rule__XUnaryOperation__OperandAssignment_0_2"); + builder.put(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1(), "rule__XCastedExpression__TypeAssignment_1_1"); + builder.put(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1(), "rule__XPostfixOperation__FeatureAssignment_1_0_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1(), "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2(), "rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1(), "rule__XMemberFeatureCall__ValueAssignment_1_0_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1(), "rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2(), "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1(), "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1(), "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2(), "rule__XMemberFeatureCall__FeatureAssignment_1_1_2"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0(), "rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1"); + builder.put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4"); + builder.put(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0(), "rule__XSetLiteral__ElementsAssignment_3_0"); + builder.put(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1(), "rule__XSetLiteral__ElementsAssignment_3_1_1"); + builder.put(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0(), "rule__XListLiteral__ElementsAssignment_3_0"); + builder.put(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1(), "rule__XListLiteral__ElementsAssignment_3_1_1"); + builder.put(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0(), "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0"); + builder.put(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1(), "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1"); + builder.put(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1(), "rule__XClosure__ExplicitSyntaxAssignment_1_0_1"); + builder.put(grammarAccess.getXClosureAccess().getExpressionAssignment_2(), "rule__XClosure__ExpressionAssignment_2"); + builder.put(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0(), "rule__XExpressionInClosure__ExpressionsAssignment_1_0"); + builder.put(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0(), "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0"); + builder.put(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1(), "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1"); + builder.put(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2(), "rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2"); + builder.put(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1(), "rule__XShortClosure__ExpressionAssignment_1"); + builder.put(grammarAccess.getXIfExpressionAccess().getIfAssignment_3(), "rule__XIfExpression__IfAssignment_3"); + builder.put(grammarAccess.getXIfExpressionAccess().getThenAssignment_5(), "rule__XIfExpression__ThenAssignment_5"); + builder.put(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1(), "rule__XIfExpression__ElseAssignment_6_1"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1(), "rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1(), "rule__XSwitchExpression__SwitchAssignment_2_0_1"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0(), "rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1(), "rule__XSwitchExpression__SwitchAssignment_2_1_1"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4(), "rule__XSwitchExpression__CasesAssignment_4"); + builder.put(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2(), "rule__XSwitchExpression__DefaultAssignment_5_2"); + builder.put(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1(), "rule__XCasePart__TypeGuardAssignment_1"); + builder.put(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1(), "rule__XCasePart__CaseAssignment_2_1"); + builder.put(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1(), "rule__XCasePart__ThenAssignment_3_0_1"); + builder.put(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1(), "rule__XCasePart__FallThroughAssignment_3_1"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3(), "rule__XForLoopExpression__DeclaredParamAssignment_0_0_3"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1(), "rule__XForLoopExpression__ForExpressionAssignment_1"); + builder.put(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3(), "rule__XForLoopExpression__EachExpressionAssignment_3"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0(), "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1(), "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5(), "rule__XBasicForLoopExpression__ExpressionAssignment_5"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0(), "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1(), "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1"); + builder.put(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9(), "rule__XBasicForLoopExpression__EachExpressionAssignment_9"); + builder.put(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3(), "rule__XWhileExpression__PredicateAssignment_3"); + builder.put(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5(), "rule__XWhileExpression__BodyAssignment_5"); + builder.put(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2(), "rule__XDoWhileExpression__BodyAssignment_2"); + builder.put(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5(), "rule__XDoWhileExpression__PredicateAssignment_5"); + builder.put(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0(), "rule__XBlockExpression__ExpressionsAssignment_2_0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0(), "rule__XVariableDeclaration__WriteableAssignment_1_0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0(), "rule__XVariableDeclaration__TypeAssignment_2_0_0_0"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1(), "rule__XVariableDeclaration__NameAssignment_2_0_0_1"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1(), "rule__XVariableDeclaration__NameAssignment_2_1"); + builder.put(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1(), "rule__XVariableDeclaration__RightAssignment_3_1"); + builder.put(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0(), "rule__JvmFormalParameter__ParameterTypeAssignment_0"); + builder.put(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1(), "rule__JvmFormalParameter__NameAssignment_1"); + builder.put(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0(), "rule__FullJvmFormalParameter__ParameterTypeAssignment_0"); + builder.put(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1(), "rule__FullJvmFormalParameter__NameAssignment_1"); + builder.put(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1(), "rule__XFeatureCall__TypeArgumentsAssignment_1_1"); + builder.put(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1(), "rule__XFeatureCall__TypeArgumentsAssignment_1_2_1"); + builder.put(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2(), "rule__XFeatureCall__FeatureAssignment_2"); + builder.put(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0(), "rule__XFeatureCall__ExplicitOperationCallAssignment_3_0"); + builder.put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0"); + builder.put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0"); + builder.put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1"); + builder.put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_4"); + builder.put(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2(), "rule__XConstructorCall__ConstructorAssignment_2"); + builder.put(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1(), "rule__XConstructorCall__TypeArgumentsAssignment_3_1"); + builder.put(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1(), "rule__XConstructorCall__TypeArgumentsAssignment_3_2_1"); + builder.put(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0(), "rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0"); + builder.put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0(), "rule__XConstructorCall__ArgumentsAssignment_4_1_0"); + builder.put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0(), "rule__XConstructorCall__ArgumentsAssignment_4_1_1_0"); + builder.put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1(), "rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1"); + builder.put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5(), "rule__XConstructorCall__ArgumentsAssignment_5"); + builder.put(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1(), "rule__XBooleanLiteral__IsTrueAssignment_1_1"); + builder.put(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1(), "rule__XNumberLiteral__ValueAssignment_1"); + builder.put(grammarAccess.getXStringLiteralAccess().getValueAssignment_1(), "rule__XStringLiteral__ValueAssignment_1"); + builder.put(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3(), "rule__XTypeLiteral__TypeAssignment_3"); + builder.put(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4(), "rule__XTypeLiteral__ArrayDimensionsAssignment_4"); + builder.put(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2(), "rule__XThrowExpression__ExpressionAssignment_2"); + builder.put(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2(), "rule__XReturnExpression__ExpressionAssignment_2"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2(), "rule__XTryCatchFinallyExpression__ExpressionAssignment_2"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0(), "rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1(), "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1"); + builder.put(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1(), "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1"); + builder.put(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1(), "rule__XSynchronizedExpression__ParamAssignment_1"); + builder.put(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3(), "rule__XSynchronizedExpression__ExpressionAssignment_3"); + builder.put(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2(), "rule__XCatchClause__DeclaredParamAssignment_2"); + builder.put(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4(), "rule__XCatchClause__ExpressionAssignment_4"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0(), "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1(), "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1"); + builder.put(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2(), "rule__XFunctionTypeRef__ReturnTypeAssignment_2"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0(), "rule__JvmParameterizedTypeReference__TypeAssignment_0"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1(), "rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1"); + builder.put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0"); + builder.put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1"); + builder.put(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1(), "rule__JvmUpperBound__TypeReferenceAssignment_1"); + builder.put(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1(), "rule__JvmUpperBoundAnded__TypeReferenceAssignment_1"); + builder.put(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1(), "rule__JvmLowerBound__TypeReferenceAssignment_1"); + builder.put(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1(), "rule__JvmLowerBoundAnded__TypeReferenceAssignment_1"); + builder.put(grammarAccess.getJvmTypeParameterAccess().getNameAssignment_0(), "rule__JvmTypeParameter__NameAssignment_0"); + builder.put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_0(), "rule__JvmTypeParameter__ConstraintsAssignment_1_0"); + builder.put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_1(), "rule__JvmTypeParameter__ConstraintsAssignment_1_1"); + builder.put(grammarAccess.getXImportSectionAccess().getImportDeclarationsAssignment(), "rule__XImportSection__ImportDeclarationsAssignment"); + builder.put(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0(), "rule__XImportDeclaration__StaticAssignment_1_0_0"); + builder.put(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1(), "rule__XImportDeclaration__ExtensionAssignment_1_0_1"); + builder.put(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2(), "rule__XImportDeclaration__ImportedTypeAssignment_1_0_2"); + builder.put(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0(), "rule__XImportDeclaration__WildcardAssignment_1_0_3_0"); + builder.put(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1(), "rule__XImportDeclaration__MemberNameAssignment_1_0_3_1"); + builder.put(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1(), "rule__XImportDeclaration__ImportedTypeAssignment_1_1"); + builder.put(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2(), "rule__XImportDeclaration__ImportedNamespaceAssignment_1_2"); } } diff --git a/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/internal/InternalScope.g b/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/internal/InternalScope.g index 2fb291f2b3..4fd95f82a3 100644 --- a/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/internal/InternalScope.g +++ b/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/internal/InternalScope.g @@ -1525,1341 +1525,17815 @@ finally { restoreStackSize(stackSize); } -// Rule Casing -ruleCasing +// Entry rule entryRuleXExpression +entryRuleXExpression +: +{ before(grammarAccess.getXExpressionRule()); } + ruleXExpression +{ after(grammarAccess.getXExpressionRule()); } + EOF +; + +// Rule XExpression +ruleXExpression @init { int stackSize = keepStackSize(); } -: + : ( - { before(grammarAccess.getCasingAccess().getAlternatives()); } - (rule__Casing__Alternatives) - { after(grammarAccess.getCasingAccess().getAlternatives()); } + { before(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); } + ruleXAssignment + { after(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Alternatives_2 +// Entry rule entryRuleXAssignment +entryRuleXAssignment +: +{ before(grammarAccess.getXAssignmentRule()); } + ruleXAssignment +{ after(grammarAccess.getXAssignmentRule()); } + EOF +; + +// Rule XAssignment +ruleXAssignment @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getScopeDefinitionAccess().getTargetTypeAssignment_2_0()); } - (rule__ScopeDefinition__TargetTypeAssignment_2_0) - { after(grammarAccess.getScopeDefinitionAccess().getTargetTypeAssignment_2_0()); } - ) - | + : ( - { before(grammarAccess.getScopeDefinitionAccess().getGroup_2_1()); } - (rule__ScopeDefinition__Group_2_1__0) - { after(grammarAccess.getScopeDefinitionAccess().getGroup_2_1()); } + { before(grammarAccess.getXAssignmentAccess().getAlternatives()); } + (rule__XAssignment__Alternatives) + { after(grammarAccess.getXAssignmentAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeContext__Alternatives_0 +// Entry rule entryRuleOpSingleAssign +entryRuleOpSingleAssign +: +{ before(grammarAccess.getOpSingleAssignRule()); } + ruleOpSingleAssign +{ after(grammarAccess.getOpSingleAssignRule()); } + EOF +; + +// Rule OpSingleAssign +ruleOpSingleAssign @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getScopeContextAccess().getGlobalAssignment_0_0()); } - (rule__ScopeContext__GlobalAssignment_0_0) - { after(grammarAccess.getScopeContextAccess().getGlobalAssignment_0_0()); } - ) - | + : ( - { before(grammarAccess.getScopeContextAccess().getContextTypeAssignment_0_1()); } - (rule__ScopeContext__ContextTypeAssignment_0_1) - { after(grammarAccess.getScopeContextAccess().getContextTypeAssignment_0_1()); } + { before(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); } + '=' + { after(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeExpression__Alternatives +// Entry rule entryRuleOpMultiAssign +entryRuleOpMultiAssign +: +{ before(grammarAccess.getOpMultiAssignRule()); } + ruleOpMultiAssign +{ after(grammarAccess.getOpMultiAssignRule()); } + EOF +; + +// Rule OpMultiAssign +ruleOpMultiAssign @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getScopeExpressionAccess().getScopeDelegationParserRuleCall_0()); } - ruleScopeDelegation - { after(grammarAccess.getScopeExpressionAccess().getScopeDelegationParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getScopeExpressionAccess().getFactoryExpressionParserRuleCall_1()); } - ruleFactoryExpression - { after(grammarAccess.getScopeExpressionAccess().getFactoryExpressionParserRuleCall_1()); } - ) - | + : ( - { before(grammarAccess.getScopeExpressionAccess().getNamedScopeExpressionParserRuleCall_2()); } - ruleNamedScopeExpression - { after(grammarAccess.getScopeExpressionAccess().getNamedScopeExpressionParserRuleCall_2()); } + { before(grammarAccess.getOpMultiAssignAccess().getAlternatives()); } + (rule__OpMultiAssign__Alternatives) + { after(grammarAccess.getOpMultiAssignAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDelegation__Alternatives_2 +// Entry rule entryRuleXOrExpression +entryRuleXOrExpression +: +{ before(grammarAccess.getXOrExpressionRule()); } + ruleXOrExpression +{ after(grammarAccess.getXOrExpressionRule()); } + EOF +; + +// Rule XOrExpression +ruleXOrExpression @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getScopeDelegationAccess().getDelegateAssignment_2_0()); } - (rule__ScopeDelegation__DelegateAssignment_2_0) - { after(grammarAccess.getScopeDelegationAccess().getDelegateAssignment_2_0()); } - ) - | + : ( - { before(grammarAccess.getScopeDelegationAccess().getExternalAssignment_2_1()); } - (rule__ScopeDelegation__ExternalAssignment_2_1) - { after(grammarAccess.getScopeDelegationAccess().getExternalAssignment_2_1()); } + { before(grammarAccess.getXOrExpressionAccess().getGroup()); } + (rule__XOrExpression__Group__0) + { after(grammarAccess.getXOrExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamedScopeExpression__Alternatives_0 +// Entry rule entryRuleOpOr +entryRuleOpOr +: +{ before(grammarAccess.getOpOrRule()); } + ruleOpOr +{ after(grammarAccess.getOpOrRule()); } + EOF +; + +// Rule OpOr +ruleOpOr @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getNamedScopeExpressionAccess().getGlobalScopeExpressionParserRuleCall_0_0()); } - ruleGlobalScopeExpression - { after(grammarAccess.getNamedScopeExpressionAccess().getGlobalScopeExpressionParserRuleCall_0_0()); } - ) - | + : ( - { before(grammarAccess.getNamedScopeExpressionAccess().getSimpleScopeExpressionParserRuleCall_0_1()); } - ruleSimpleScopeExpression - { after(grammarAccess.getNamedScopeExpressionAccess().getSimpleScopeExpressionParserRuleCall_0_1()); } + { before(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); } + '||' + { after(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Alternatives_3 +// Entry rule entryRuleXAndExpression +entryRuleXAndExpression +: +{ before(grammarAccess.getXAndExpressionRule()); } + ruleXAndExpression +{ after(grammarAccess.getXAndExpressionRule()); } + EOF +; + +// Rule XAndExpression +ruleXAndExpression @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_3_0()); } - (rule__GlobalScopeExpression__Group_3_0__0) - { after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_3_0()); } - ) - | + : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_3_1()); } - (rule__GlobalScopeExpression__Group_3_1__0) - { after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_3_1()); } + { before(grammarAccess.getXAndExpressionAccess().getGroup()); } + (rule__XAndExpression__Group__0) + { after(grammarAccess.getXAndExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Alternatives_5_3 +// Entry rule entryRuleOpAnd +entryRuleOpAnd +: +{ before(grammarAccess.getOpAndRule()); } + ruleOpAnd +{ after(grammarAccess.getOpAndRule()); } + EOF +; + +// Rule OpAnd +ruleOpAnd @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_0()); } - (rule__GlobalScopeExpression__DomainsAssignment_5_3_0) - { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_0()); } - ) - | - ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_1()); } - (rule__GlobalScopeExpression__DomainsAssignment_5_3_1) - { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_1()); } - ) - | + : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5_3_2()); } - (rule__GlobalScopeExpression__Group_5_3_2__0) - { after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5_3_2()); } + { before(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); } + '&&' + { after(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); } ) ; finally { restoreStackSize(stackSize); } -rule__DataExpression__Alternatives +// Entry rule entryRuleXEqualityExpression +entryRuleXEqualityExpression +: +{ before(grammarAccess.getXEqualityExpressionRule()); } + ruleXEqualityExpression +{ after(grammarAccess.getXEqualityExpressionRule()); } + EOF +; + +// Rule XEqualityExpression +ruleXEqualityExpression @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getDataExpressionAccess().getMatchDataExpressionParserRuleCall_0()); } - ruleMatchDataExpression - { after(grammarAccess.getDataExpressionAccess().getMatchDataExpressionParserRuleCall_0()); } - ) - | + : ( - { before(grammarAccess.getDataExpressionAccess().getLambdaDataExpressionParserRuleCall_1()); } - ruleLambdaDataExpression - { after(grammarAccess.getDataExpressionAccess().getLambdaDataExpressionParserRuleCall_1()); } + { before(grammarAccess.getXEqualityExpressionAccess().getGroup()); } + (rule__XEqualityExpression__Group__0) + { after(grammarAccess.getXEqualityExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -rule__Naming__Alternatives +// Entry rule entryRuleOpEquality +entryRuleOpEquality +: +{ before(grammarAccess.getOpEqualityRule()); } + ruleOpEquality +{ after(grammarAccess.getOpEqualityRule()); } + EOF +; + +// Rule OpEquality +ruleOpEquality @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getNamingAccess().getGroup_0()); } - (rule__Naming__Group_0__0) - { after(grammarAccess.getNamingAccess().getGroup_0()); } - ) - | + : ( - { before(grammarAccess.getNamingAccess().getNamesAssignment_1()); } - (rule__Naming__NamesAssignment_1) - { after(grammarAccess.getNamingAccess().getNamesAssignment_1()); } + { before(grammarAccess.getOpEqualityAccess().getAlternatives()); } + (rule__OpEquality__Alternatives) + { after(grammarAccess.getOpEqualityAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingExpression__Alternatives +// Entry rule entryRuleXRelationalExpression +entryRuleXRelationalExpression +: +{ before(grammarAccess.getXRelationalExpressionRule()); } + ruleXRelationalExpression +{ after(grammarAccess.getXRelationalExpressionRule()); } + EOF +; + +// Rule XRelationalExpression +ruleXRelationalExpression @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getNamingExpressionAccess().getExportAssignment_0()); } - (rule__NamingExpression__ExportAssignment_0) - { after(grammarAccess.getNamingExpressionAccess().getExportAssignment_0()); } - ) - | + : ( - { before(grammarAccess.getNamingExpressionAccess().getGroup_1()); } - (rule__NamingExpression__Group_1__0) - { after(grammarAccess.getNamingExpressionAccess().getGroup_1()); } + { before(grammarAccess.getXRelationalExpressionAccess().getGroup()); } + (rule__XRelationalExpression__Group__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -rule__Expression__Alternatives +// Entry rule entryRuleOpCompare +entryRuleOpCompare +: +{ before(grammarAccess.getOpCompareRule()); } + ruleOpCompare +{ after(grammarAccess.getOpCompareRule()); } + EOF +; + +// Rule OpCompare +ruleOpCompare @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); } - ruleLetExpression - { after(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); } - (ruleCastedExpression) - { after(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); } - ) - | + : ( - { before(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); } - ruleChainExpression - { after(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); } + { before(grammarAccess.getOpCompareAccess().getAlternatives()); } + (rule__OpCompare__Alternatives) + { after(grammarAccess.getOpCompareAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__ChainedExpression__Alternatives +// Entry rule entryRuleXOtherOperatorExpression +entryRuleXOtherOperatorExpression +: +{ before(grammarAccess.getXOtherOperatorExpressionRule()); } + ruleXOtherOperatorExpression +{ after(grammarAccess.getXOtherOperatorExpressionRule()); } + EOF +; + +// Rule XOtherOperatorExpression +ruleXOtherOperatorExpression @init { int stackSize = keepStackSize(); } -: + : ( - { before(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); } - ruleIfExpressionKw - { after(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); } + { before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); } + (rule__XOtherOperatorExpression__Group__0) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOpOther +entryRuleOpOther +: +{ before(grammarAccess.getOpOtherRule()); } + ruleOpOther +{ after(grammarAccess.getOpOtherRule()); } + EOF +; + +// Rule OpOther +ruleOpOther + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); } - ruleIfExpressionTri - { after(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); } + { before(grammarAccess.getOpOtherAccess().getAlternatives()); } + (rule__OpOther__Alternatives) + { after(grammarAccess.getOpOtherAccess().getAlternatives()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXAdditiveExpression +entryRuleXAdditiveExpression +: +{ before(grammarAccess.getXAdditiveExpressionRule()); } + ruleXAdditiveExpression +{ after(grammarAccess.getXAdditiveExpressionRule()); } + EOF +; + +// Rule XAdditiveExpression +ruleXAdditiveExpression + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); } - ruleSwitchExpression - { after(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); } + { before(grammarAccess.getXAdditiveExpressionAccess().getGroup()); } + (rule__XAdditiveExpression__Group__0) + { after(grammarAccess.getXAdditiveExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__OperatorAlternatives_1_1_0 +// Entry rule entryRuleOpAdd +entryRuleOpAdd +: +{ before(grammarAccess.getOpAddRule()); } + ruleOpAdd +{ after(grammarAccess.getOpAddRule()); } + EOF +; + +// Rule OpAdd +ruleOpAdd @init { int stackSize = keepStackSize(); } -: + : ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); } - '==' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); } - ) - | - ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); } - '!=' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); } - ) - | - ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); } - '>=' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); } - ) - | - ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); } - '<=' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); } - ) - | - ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); } - '>' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); } - ) - | - ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); } - '<' - { after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); } + { before(grammarAccess.getOpAddAccess().getAlternatives()); } + (rule__OpAdd__Alternatives) + { after(grammarAccess.getOpAddAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__NameAlternatives_1_1_0 +// Entry rule entryRuleXMultiplicativeExpression +entryRuleXMultiplicativeExpression +: +{ before(grammarAccess.getXMultiplicativeExpressionRule()); } + ruleXMultiplicativeExpression +{ after(grammarAccess.getXMultiplicativeExpressionRule()); } + EOF +; + +// Rule XMultiplicativeExpression +ruleXMultiplicativeExpression @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); } - '+' - { after(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); } - ) - | + : ( - { before(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); } - '-' - { after(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); } + { before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); } + (rule__XMultiplicativeExpression__Group__0) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__NameAlternatives_1_1_0 +// Entry rule entryRuleOpMulti +entryRuleOpMulti +: +{ before(grammarAccess.getOpMultiRule()); } + ruleOpMulti +{ after(grammarAccess.getOpMultiRule()); } + EOF +; + +// Rule OpMulti +ruleOpMulti @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); } - '*' - { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); } - ) - | + : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); } - '/' - { after(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); } + { before(grammarAccess.getOpMultiAccess().getAlternatives()); } + (rule__OpMulti__Alternatives) + { after(grammarAccess.getOpMultiAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__UnaryOrInfixExpression__Alternatives +// Entry rule entryRuleXUnaryOperation +entryRuleXUnaryOperation +: +{ before(grammarAccess.getXUnaryOperationRule()); } + ruleXUnaryOperation +{ after(grammarAccess.getXUnaryOperationRule()); } + EOF +; + +// Rule XUnaryOperation +ruleXUnaryOperation @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); } - ruleUnaryExpression - { after(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); } - ) - | + : ( - { before(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); } - ruleInfixExpression - { after(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); } + { before(grammarAccess.getXUnaryOperationAccess().getAlternatives()); } + (rule__XUnaryOperation__Alternatives) + { after(grammarAccess.getXUnaryOperationAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__NameAlternatives_0_0 +// Entry rule entryRuleOpUnary +entryRuleOpUnary +: +{ before(grammarAccess.getOpUnaryRule()); } + ruleOpUnary +{ after(grammarAccess.getOpUnaryRule()); } + EOF +; + +// Rule OpUnary +ruleOpUnary @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); } - '!' - { after(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); } - ) - | + : ( - { before(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); } - '-' - { after(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); } + { before(grammarAccess.getOpUnaryAccess().getAlternatives()); } + (rule__OpUnary__Alternatives) + { after(grammarAccess.getOpUnaryAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Alternatives_1 +// Entry rule entryRuleXCastedExpression +entryRuleXCastedExpression +: +{ before(grammarAccess.getXCastedExpressionRule()); } + ruleXCastedExpression +{ after(grammarAccess.getXCastedExpressionRule()); } + EOF +; + +// Rule XCastedExpression +ruleXCastedExpression @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); } - (rule__InfixExpression__Group_1_0__0) - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); } - ) - | - ( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); } - (rule__InfixExpression__Group_1_1__0) - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); } - ) - | - ( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); } - (rule__InfixExpression__Group_1_2__0) - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); } - ) - | + : ( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); } - (rule__InfixExpression__Group_1_3__0) - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); } + { before(grammarAccess.getXCastedExpressionAccess().getGroup()); } + (rule__XCastedExpression__Group__0) + { after(grammarAccess.getXCastedExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__NameAlternatives_1_3_2_0 +// Entry rule entryRuleXPostfixOperation +entryRuleXPostfixOperation +: +{ before(grammarAccess.getXPostfixOperationRule()); } + ruleXPostfixOperation +{ after(grammarAccess.getXPostfixOperationRule()); } + EOF +; + +// Rule XPostfixOperation +ruleXPostfixOperation @init { int stackSize = keepStackSize(); } -: - ( - { before(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); } - 'collect' - { after(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); } - ) - | + : ( - { before(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); } - 'select' - { after(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); } + { before(grammarAccess.getXPostfixOperationAccess().getGroup()); } + (rule__XPostfixOperation__Group__0) + { after(grammarAccess.getXPostfixOperationAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOpPostfix +entryRuleOpPostfix +: +{ before(grammarAccess.getOpPostfixRule()); } + ruleOpPostfix +{ after(grammarAccess.getOpPostfixRule()); } + EOF +; + +// Rule OpPostfix +ruleOpPostfix + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); } - 'selectFirst' - { after(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); } + { before(grammarAccess.getOpPostfixAccess().getAlternatives()); } + (rule__OpPostfix__Alternatives) + { after(grammarAccess.getOpPostfixAccess().getAlternatives()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXMemberFeatureCall +entryRuleXMemberFeatureCall +: +{ before(grammarAccess.getXMemberFeatureCallRule()); } + ruleXMemberFeatureCall +{ after(grammarAccess.getXMemberFeatureCallRule()); } + EOF +; + +// Rule XMemberFeatureCall +ruleXMemberFeatureCall + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); } - 'reject' - { after(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); } + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup()); } + (rule__XMemberFeatureCall__Group__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXPrimaryExpression +entryRuleXPrimaryExpression +: +{ before(grammarAccess.getXPrimaryExpressionRule()); } + ruleXPrimaryExpression +{ after(grammarAccess.getXPrimaryExpressionRule()); } + EOF +; + +// Rule XPrimaryExpression +ruleXPrimaryExpression + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); } - 'exists' - { after(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); } + { before(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); } + (rule__XPrimaryExpression__Alternatives) + { after(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXLiteral +entryRuleXLiteral +: +{ before(grammarAccess.getXLiteralRule()); } + ruleXLiteral +{ after(grammarAccess.getXLiteralRule()); } + EOF +; + +// Rule XLiteral +ruleXLiteral + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); } - 'notExists' - { after(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); } + { before(grammarAccess.getXLiteralAccess().getAlternatives()); } + (rule__XLiteral__Alternatives) + { after(grammarAccess.getXLiteralAccess().getAlternatives()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXCollectionLiteral +entryRuleXCollectionLiteral +: +{ before(grammarAccess.getXCollectionLiteralRule()); } + ruleXCollectionLiteral +{ after(grammarAccess.getXCollectionLiteralRule()); } + EOF +; + +// Rule XCollectionLiteral +ruleXCollectionLiteral + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); } - 'sortBy' - { after(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); } + { before(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); } + (rule__XCollectionLiteral__Alternatives) + { after(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXSetLiteral +entryRuleXSetLiteral +: +{ before(grammarAccess.getXSetLiteralRule()); } + ruleXSetLiteral +{ after(grammarAccess.getXSetLiteralRule()); } + EOF +; + +// Rule XSetLiteral +ruleXSetLiteral + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); } - 'forAll' - { after(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); } + { before(grammarAccess.getXSetLiteralAccess().getGroup()); } + (rule__XSetLiteral__Group__0) + { after(grammarAccess.getXSetLiteralAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -rule__PrimaryExpression__Alternatives +// Entry rule entryRuleXListLiteral +entryRuleXListLiteral +: +{ before(grammarAccess.getXListLiteralRule()); } + ruleXListLiteral +{ after(grammarAccess.getXListLiteralRule()); } + EOF +; + +// Rule XListLiteral +ruleXListLiteral @init { int stackSize = keepStackSize(); } -: + : ( - { before(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); } - ruleLiteral - { after(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); } + { before(grammarAccess.getXListLiteralAccess().getGroup()); } + (rule__XListLiteral__Group__0) + { after(grammarAccess.getXListLiteralAccess().getGroup()); } ) - | - ( - { before(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); } - ruleFeatureCall - { after(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); } +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXClosure +entryRuleXClosure +: +{ before(grammarAccess.getXClosureRule()); } + ruleXClosure +{ after(grammarAccess.getXClosureRule()); } + EOF +; + +// Rule XClosure +ruleXClosure + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXClosureAccess().getGroup()); } + (rule__XClosure__Group__0) + { after(grammarAccess.getXClosureAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXExpressionInClosure +entryRuleXExpressionInClosure +: +{ before(grammarAccess.getXExpressionInClosureRule()); } + ruleXExpressionInClosure +{ after(grammarAccess.getXExpressionInClosureRule()); } + EOF +; + +// Rule XExpressionInClosure +ruleXExpressionInClosure + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); } - ruleListLiteral - { after(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); } + { before(grammarAccess.getXExpressionInClosureAccess().getGroup()); } + (rule__XExpressionInClosure__Group__0) + { after(grammarAccess.getXExpressionInClosureAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXShortClosure +entryRuleXShortClosure +: +{ before(grammarAccess.getXShortClosureRule()); } + ruleXShortClosure +{ after(grammarAccess.getXShortClosureRule()); } + EOF +; + +// Rule XShortClosure +ruleXShortClosure + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); } - ruleConstructorCallExpression - { after(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); } + { before(grammarAccess.getXShortClosureAccess().getGroup()); } + (rule__XShortClosure__Group__0) + { after(grammarAccess.getXShortClosureAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXParenthesizedExpression +entryRuleXParenthesizedExpression +: +{ before(grammarAccess.getXParenthesizedExpressionRule()); } + ruleXParenthesizedExpression +{ after(grammarAccess.getXParenthesizedExpressionRule()); } + EOF +; + +// Rule XParenthesizedExpression +ruleXParenthesizedExpression + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); } - ruleGlobalVarExpression - { after(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); } + { before(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); } + (rule__XParenthesizedExpression__Group__0) + { after(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); } ) - | +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXIfExpression +entryRuleXIfExpression +: +{ before(grammarAccess.getXIfExpressionRule()); } + ruleXIfExpression +{ after(grammarAccess.getXIfExpressionRule()); } + EOF +; + +// Rule XIfExpression +ruleXIfExpression + @init { + int stackSize = keepStackSize(); + } + : ( - { before(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); } - ruleParanthesizedExpression - { after(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); } + { before(grammarAccess.getXIfExpressionAccess().getGroup()); } + (rule__XIfExpression__Group__0) + { after(grammarAccess.getXIfExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -rule__Literal__Alternatives +// Entry rule entryRuleXSwitchExpression +entryRuleXSwitchExpression +: +{ before(grammarAccess.getXSwitchExpressionRule()); } + ruleXSwitchExpression +{ after(grammarAccess.getXSwitchExpressionRule()); } + EOF +; + +// Rule XSwitchExpression +ruleXSwitchExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup()); } + (rule__XSwitchExpression__Group__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXCasePart +entryRuleXCasePart +: +{ before(grammarAccess.getXCasePartRule()); } + ruleXCasePart +{ after(grammarAccess.getXCasePartRule()); } + EOF +; + +// Rule XCasePart +ruleXCasePart + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXCasePartAccess().getGroup()); } + (rule__XCasePart__Group__0) + { after(grammarAccess.getXCasePartAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXForLoopExpression +entryRuleXForLoopExpression +: +{ before(grammarAccess.getXForLoopExpressionRule()); } + ruleXForLoopExpression +{ after(grammarAccess.getXForLoopExpressionRule()); } + EOF +; + +// Rule XForLoopExpression +ruleXForLoopExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXForLoopExpressionAccess().getGroup()); } + (rule__XForLoopExpression__Group__0) + { after(grammarAccess.getXForLoopExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXBasicForLoopExpression +entryRuleXBasicForLoopExpression +: +{ before(grammarAccess.getXBasicForLoopExpressionRule()); } + ruleXBasicForLoopExpression +{ after(grammarAccess.getXBasicForLoopExpressionRule()); } + EOF +; + +// Rule XBasicForLoopExpression +ruleXBasicForLoopExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); } + (rule__XBasicForLoopExpression__Group__0) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXWhileExpression +entryRuleXWhileExpression +: +{ before(grammarAccess.getXWhileExpressionRule()); } + ruleXWhileExpression +{ after(grammarAccess.getXWhileExpressionRule()); } + EOF +; + +// Rule XWhileExpression +ruleXWhileExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXWhileExpressionAccess().getGroup()); } + (rule__XWhileExpression__Group__0) + { after(grammarAccess.getXWhileExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXDoWhileExpression +entryRuleXDoWhileExpression +: +{ before(grammarAccess.getXDoWhileExpressionRule()); } + ruleXDoWhileExpression +{ after(grammarAccess.getXDoWhileExpressionRule()); } + EOF +; + +// Rule XDoWhileExpression +ruleXDoWhileExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXDoWhileExpressionAccess().getGroup()); } + (rule__XDoWhileExpression__Group__0) + { after(grammarAccess.getXDoWhileExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXBlockExpression +entryRuleXBlockExpression +: +{ before(grammarAccess.getXBlockExpressionRule()); } + ruleXBlockExpression +{ after(grammarAccess.getXBlockExpressionRule()); } + EOF +; + +// Rule XBlockExpression +ruleXBlockExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXBlockExpressionAccess().getGroup()); } + (rule__XBlockExpression__Group__0) + { after(grammarAccess.getXBlockExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXExpressionOrVarDeclaration +entryRuleXExpressionOrVarDeclaration +: +{ before(grammarAccess.getXExpressionOrVarDeclarationRule()); } + ruleXExpressionOrVarDeclaration +{ after(grammarAccess.getXExpressionOrVarDeclarationRule()); } + EOF +; + +// Rule XExpressionOrVarDeclaration +ruleXExpressionOrVarDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); } + (rule__XExpressionOrVarDeclaration__Alternatives) + { after(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXVariableDeclaration +entryRuleXVariableDeclaration +: +{ before(grammarAccess.getXVariableDeclarationRule()); } + ruleXVariableDeclaration +{ after(grammarAccess.getXVariableDeclarationRule()); } + EOF +; + +// Rule XVariableDeclaration +ruleXVariableDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXVariableDeclarationAccess().getGroup()); } + (rule__XVariableDeclaration__Group__0) + { after(grammarAccess.getXVariableDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmFormalParameter +entryRuleJvmFormalParameter +: +{ before(grammarAccess.getJvmFormalParameterRule()); } + ruleJvmFormalParameter +{ after(grammarAccess.getJvmFormalParameterRule()); } + EOF +; + +// Rule JvmFormalParameter +ruleJvmFormalParameter + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmFormalParameterAccess().getGroup()); } + (rule__JvmFormalParameter__Group__0) + { after(grammarAccess.getJvmFormalParameterAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleFullJvmFormalParameter +entryRuleFullJvmFormalParameter +: +{ before(grammarAccess.getFullJvmFormalParameterRule()); } + ruleFullJvmFormalParameter +{ after(grammarAccess.getFullJvmFormalParameterRule()); } + EOF +; + +// Rule FullJvmFormalParameter +ruleFullJvmFormalParameter + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); } + (rule__FullJvmFormalParameter__Group__0) + { after(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXFeatureCall +entryRuleXFeatureCall +: +{ before(grammarAccess.getXFeatureCallRule()); } + ruleXFeatureCall +{ after(grammarAccess.getXFeatureCallRule()); } + EOF +; + +// Rule XFeatureCall +ruleXFeatureCall + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXFeatureCallAccess().getGroup()); } + (rule__XFeatureCall__Group__0) + { after(grammarAccess.getXFeatureCallAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleFeatureCallID +entryRuleFeatureCallID +: +{ before(grammarAccess.getFeatureCallIDRule()); } + ruleFeatureCallID +{ after(grammarAccess.getFeatureCallIDRule()); } + EOF +; + +// Rule FeatureCallID +ruleFeatureCallID + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getFeatureCallIDAccess().getAlternatives()); } + (rule__FeatureCallID__Alternatives) + { after(grammarAccess.getFeatureCallIDAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleIdOrSuper +entryRuleIdOrSuper +: +{ before(grammarAccess.getIdOrSuperRule()); } + ruleIdOrSuper +{ after(grammarAccess.getIdOrSuperRule()); } + EOF +; + +// Rule IdOrSuper +ruleIdOrSuper + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getIdOrSuperAccess().getAlternatives()); } + (rule__IdOrSuper__Alternatives) + { after(grammarAccess.getIdOrSuperAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXConstructorCall +entryRuleXConstructorCall +: +{ before(grammarAccess.getXConstructorCallRule()); } + ruleXConstructorCall +{ after(grammarAccess.getXConstructorCallRule()); } + EOF +; + +// Rule XConstructorCall +ruleXConstructorCall + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXConstructorCallAccess().getGroup()); } + (rule__XConstructorCall__Group__0) + { after(grammarAccess.getXConstructorCallAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXBooleanLiteral +entryRuleXBooleanLiteral +: +{ before(grammarAccess.getXBooleanLiteralRule()); } + ruleXBooleanLiteral +{ after(grammarAccess.getXBooleanLiteralRule()); } + EOF +; + +// Rule XBooleanLiteral +ruleXBooleanLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXBooleanLiteralAccess().getGroup()); } + (rule__XBooleanLiteral__Group__0) + { after(grammarAccess.getXBooleanLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXNullLiteral +entryRuleXNullLiteral +: +{ before(grammarAccess.getXNullLiteralRule()); } + ruleXNullLiteral +{ after(grammarAccess.getXNullLiteralRule()); } + EOF +; + +// Rule XNullLiteral +ruleXNullLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXNullLiteralAccess().getGroup()); } + (rule__XNullLiteral__Group__0) + { after(grammarAccess.getXNullLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXNumberLiteral +entryRuleXNumberLiteral +: +{ before(grammarAccess.getXNumberLiteralRule()); } + ruleXNumberLiteral +{ after(grammarAccess.getXNumberLiteralRule()); } + EOF +; + +// Rule XNumberLiteral +ruleXNumberLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXNumberLiteralAccess().getGroup()); } + (rule__XNumberLiteral__Group__0) + { after(grammarAccess.getXNumberLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXStringLiteral +entryRuleXStringLiteral +: +{ before(grammarAccess.getXStringLiteralRule()); } + ruleXStringLiteral +{ after(grammarAccess.getXStringLiteralRule()); } + EOF +; + +// Rule XStringLiteral +ruleXStringLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXStringLiteralAccess().getGroup()); } + (rule__XStringLiteral__Group__0) + { after(grammarAccess.getXStringLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXTypeLiteral +entryRuleXTypeLiteral +: +{ before(grammarAccess.getXTypeLiteralRule()); } + ruleXTypeLiteral +{ after(grammarAccess.getXTypeLiteralRule()); } + EOF +; + +// Rule XTypeLiteral +ruleXTypeLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXTypeLiteralAccess().getGroup()); } + (rule__XTypeLiteral__Group__0) + { after(grammarAccess.getXTypeLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXThrowExpression +entryRuleXThrowExpression +: +{ before(grammarAccess.getXThrowExpressionRule()); } + ruleXThrowExpression +{ after(grammarAccess.getXThrowExpressionRule()); } + EOF +; + +// Rule XThrowExpression +ruleXThrowExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXThrowExpressionAccess().getGroup()); } + (rule__XThrowExpression__Group__0) + { after(grammarAccess.getXThrowExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXReturnExpression +entryRuleXReturnExpression +: +{ before(grammarAccess.getXReturnExpressionRule()); } + ruleXReturnExpression +{ after(grammarAccess.getXReturnExpressionRule()); } + EOF +; + +// Rule XReturnExpression +ruleXReturnExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXReturnExpressionAccess().getGroup()); } + (rule__XReturnExpression__Group__0) + { after(grammarAccess.getXReturnExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXTryCatchFinallyExpression +entryRuleXTryCatchFinallyExpression +: +{ before(grammarAccess.getXTryCatchFinallyExpressionRule()); } + ruleXTryCatchFinallyExpression +{ after(grammarAccess.getXTryCatchFinallyExpressionRule()); } + EOF +; + +// Rule XTryCatchFinallyExpression +ruleXTryCatchFinallyExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); } + (rule__XTryCatchFinallyExpression__Group__0) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXSynchronizedExpression +entryRuleXSynchronizedExpression +: +{ before(grammarAccess.getXSynchronizedExpressionRule()); } + ruleXSynchronizedExpression +{ after(grammarAccess.getXSynchronizedExpressionRule()); } + EOF +; + +// Rule XSynchronizedExpression +ruleXSynchronizedExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); } + (rule__XSynchronizedExpression__Group__0) + { after(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXCatchClause +entryRuleXCatchClause +: +{ before(grammarAccess.getXCatchClauseRule()); } + ruleXCatchClause +{ after(grammarAccess.getXCatchClauseRule()); } + EOF +; + +// Rule XCatchClause +ruleXCatchClause + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXCatchClauseAccess().getGroup()); } + (rule__XCatchClause__Group__0) + { after(grammarAccess.getXCatchClauseAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleQualifiedName +entryRuleQualifiedName +: +{ before(grammarAccess.getQualifiedNameRule()); } + ruleQualifiedName +{ after(grammarAccess.getQualifiedNameRule()); } + EOF +; + +// Rule QualifiedName +ruleQualifiedName + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getQualifiedNameAccess().getGroup()); } + (rule__QualifiedName__Group__0) + { after(grammarAccess.getQualifiedNameAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleNumber +entryRuleNumber +@init { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +} +: +{ before(grammarAccess.getNumberRule()); } + ruleNumber +{ after(grammarAccess.getNumberRule()); } + EOF +; +finally { + myHiddenTokenState.restore(); +} + +// Rule Number +ruleNumber + @init { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getNumberAccess().getAlternatives()); } + (rule__Number__Alternatives) + { after(grammarAccess.getNumberAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); + myHiddenTokenState.restore(); +} + +// Entry rule entryRuleJvmTypeReference +entryRuleJvmTypeReference +: +{ before(grammarAccess.getJvmTypeReferenceRule()); } + ruleJvmTypeReference +{ after(grammarAccess.getJvmTypeReferenceRule()); } + EOF +; + +// Rule JvmTypeReference +ruleJvmTypeReference + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); } + (rule__JvmTypeReference__Alternatives) + { after(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleArrayBrackets +entryRuleArrayBrackets +: +{ before(grammarAccess.getArrayBracketsRule()); } + ruleArrayBrackets +{ after(grammarAccess.getArrayBracketsRule()); } + EOF +; + +// Rule ArrayBrackets +ruleArrayBrackets + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getArrayBracketsAccess().getGroup()); } + (rule__ArrayBrackets__Group__0) + { after(grammarAccess.getArrayBracketsAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXFunctionTypeRef +entryRuleXFunctionTypeRef +: +{ before(grammarAccess.getXFunctionTypeRefRule()); } + ruleXFunctionTypeRef +{ after(grammarAccess.getXFunctionTypeRefRule()); } + EOF +; + +// Rule XFunctionTypeRef +ruleXFunctionTypeRef + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXFunctionTypeRefAccess().getGroup()); } + (rule__XFunctionTypeRef__Group__0) + { after(grammarAccess.getXFunctionTypeRefAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmParameterizedTypeReference +entryRuleJvmParameterizedTypeReference +: +{ before(grammarAccess.getJvmParameterizedTypeReferenceRule()); } + ruleJvmParameterizedTypeReference +{ after(grammarAccess.getJvmParameterizedTypeReferenceRule()); } + EOF +; + +// Rule JvmParameterizedTypeReference +ruleJvmParameterizedTypeReference + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); } + (rule__JvmParameterizedTypeReference__Group__0) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmArgumentTypeReference +entryRuleJvmArgumentTypeReference +: +{ before(grammarAccess.getJvmArgumentTypeReferenceRule()); } + ruleJvmArgumentTypeReference +{ after(grammarAccess.getJvmArgumentTypeReferenceRule()); } + EOF +; + +// Rule JvmArgumentTypeReference +ruleJvmArgumentTypeReference + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); } + (rule__JvmArgumentTypeReference__Alternatives) + { after(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmWildcardTypeReference +entryRuleJvmWildcardTypeReference +: +{ before(grammarAccess.getJvmWildcardTypeReferenceRule()); } + ruleJvmWildcardTypeReference +{ after(grammarAccess.getJvmWildcardTypeReferenceRule()); } + EOF +; + +// Rule JvmWildcardTypeReference +ruleJvmWildcardTypeReference + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); } + (rule__JvmWildcardTypeReference__Group__0) + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmUpperBound +entryRuleJvmUpperBound +: +{ before(grammarAccess.getJvmUpperBoundRule()); } + ruleJvmUpperBound +{ after(grammarAccess.getJvmUpperBoundRule()); } + EOF +; + +// Rule JvmUpperBound +ruleJvmUpperBound + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmUpperBoundAccess().getGroup()); } + (rule__JvmUpperBound__Group__0) + { after(grammarAccess.getJvmUpperBoundAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmUpperBoundAnded +entryRuleJvmUpperBoundAnded +: +{ before(grammarAccess.getJvmUpperBoundAndedRule()); } + ruleJvmUpperBoundAnded +{ after(grammarAccess.getJvmUpperBoundAndedRule()); } + EOF +; + +// Rule JvmUpperBoundAnded +ruleJvmUpperBoundAnded + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); } + (rule__JvmUpperBoundAnded__Group__0) + { after(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmLowerBound +entryRuleJvmLowerBound +: +{ before(grammarAccess.getJvmLowerBoundRule()); } + ruleJvmLowerBound +{ after(grammarAccess.getJvmLowerBoundRule()); } + EOF +; + +// Rule JvmLowerBound +ruleJvmLowerBound + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmLowerBoundAccess().getGroup()); } + (rule__JvmLowerBound__Group__0) + { after(grammarAccess.getJvmLowerBoundAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleJvmLowerBoundAnded +entryRuleJvmLowerBoundAnded +: +{ before(grammarAccess.getJvmLowerBoundAndedRule()); } + ruleJvmLowerBoundAnded +{ after(grammarAccess.getJvmLowerBoundAndedRule()); } + EOF +; + +// Rule JvmLowerBoundAnded +ruleJvmLowerBoundAnded + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); } + (rule__JvmLowerBoundAnded__Group__0) + { after(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleQualifiedNameWithWildcard +entryRuleQualifiedNameWithWildcard +: +{ before(grammarAccess.getQualifiedNameWithWildcardRule()); } + ruleQualifiedNameWithWildcard +{ after(grammarAccess.getQualifiedNameWithWildcardRule()); } + EOF +; + +// Rule QualifiedNameWithWildcard +ruleQualifiedNameWithWildcard + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); } + (rule__QualifiedNameWithWildcard__Group__0) + { after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleValidID +entryRuleValidID +: +{ before(grammarAccess.getValidIDRule()); } + ruleValidID +{ after(grammarAccess.getValidIDRule()); } + EOF +; + +// Rule ValidID +ruleValidID + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); } + RULE_ID + { after(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXImportDeclaration +entryRuleXImportDeclaration +: +{ before(grammarAccess.getXImportDeclarationRule()); } + ruleXImportDeclaration +{ after(grammarAccess.getXImportDeclarationRule()); } + EOF +; + +// Rule XImportDeclaration +ruleXImportDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXImportDeclarationAccess().getGroup()); } + (rule__XImportDeclaration__Group__0) + { after(grammarAccess.getXImportDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleQualifiedNameInStaticImport +entryRuleQualifiedNameInStaticImport +: +{ before(grammarAccess.getQualifiedNameInStaticImportRule()); } + ruleQualifiedNameInStaticImport +{ after(grammarAccess.getQualifiedNameInStaticImportRule()); } + EOF +; + +// Rule QualifiedNameInStaticImport +ruleQualifiedNameInStaticImport + @init { + int stackSize = keepStackSize(); + } + : + ( + ( + { before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } + (rule__QualifiedNameInStaticImport__Group__0) + { after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } + ) + ( + { before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } + (rule__QualifiedNameInStaticImport__Group__0)* + { after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } + ) + ) +; +finally { + restoreStackSize(stackSize); +} + +// Rule Casing +ruleCasing + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCasingAccess().getAlternatives()); } + (rule__Casing__Alternatives) + { after(grammarAccess.getCasingAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Alternatives_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getScopeDefinitionAccess().getTargetTypeAssignment_2_0()); } + (rule__ScopeDefinition__TargetTypeAssignment_2_0) + { after(grammarAccess.getScopeDefinitionAccess().getTargetTypeAssignment_2_0()); } + ) + | + ( + { before(grammarAccess.getScopeDefinitionAccess().getGroup_2_1()); } + (rule__ScopeDefinition__Group_2_1__0) + { after(grammarAccess.getScopeDefinitionAccess().getGroup_2_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeContext__Alternatives_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getScopeContextAccess().getGlobalAssignment_0_0()); } + (rule__ScopeContext__GlobalAssignment_0_0) + { after(grammarAccess.getScopeContextAccess().getGlobalAssignment_0_0()); } + ) + | + ( + { before(grammarAccess.getScopeContextAccess().getContextTypeAssignment_0_1()); } + (rule__ScopeContext__ContextTypeAssignment_0_1) + { after(grammarAccess.getScopeContextAccess().getContextTypeAssignment_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getScopeExpressionAccess().getScopeDelegationParserRuleCall_0()); } + ruleScopeDelegation + { after(grammarAccess.getScopeExpressionAccess().getScopeDelegationParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getScopeExpressionAccess().getFactoryExpressionParserRuleCall_1()); } + ruleFactoryExpression + { after(grammarAccess.getScopeExpressionAccess().getFactoryExpressionParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getScopeExpressionAccess().getNamedScopeExpressionParserRuleCall_2()); } + ruleNamedScopeExpression + { after(grammarAccess.getScopeExpressionAccess().getNamedScopeExpressionParserRuleCall_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDelegation__Alternatives_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getScopeDelegationAccess().getDelegateAssignment_2_0()); } + (rule__ScopeDelegation__DelegateAssignment_2_0) + { after(grammarAccess.getScopeDelegationAccess().getDelegateAssignment_2_0()); } + ) + | + ( + { before(grammarAccess.getScopeDelegationAccess().getExternalAssignment_2_1()); } + (rule__ScopeDelegation__ExternalAssignment_2_1) + { after(grammarAccess.getScopeDelegationAccess().getExternalAssignment_2_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NamedScopeExpression__Alternatives_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNamedScopeExpressionAccess().getGlobalScopeExpressionParserRuleCall_0_0()); } + ruleGlobalScopeExpression + { after(grammarAccess.getNamedScopeExpressionAccess().getGlobalScopeExpressionParserRuleCall_0_0()); } + ) + | + ( + { before(grammarAccess.getNamedScopeExpressionAccess().getSimpleScopeExpressionParserRuleCall_0_1()); } + ruleSimpleScopeExpression + { after(grammarAccess.getNamedScopeExpressionAccess().getSimpleScopeExpressionParserRuleCall_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Alternatives_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_3_0()); } + (rule__GlobalScopeExpression__Group_3_0__0) + { after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_3_0()); } + ) + | + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_3_1()); } + (rule__GlobalScopeExpression__Group_3_1__0) + { after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_3_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Alternatives_5_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_0()); } + (rule__GlobalScopeExpression__DomainsAssignment_5_3_0) + { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_0()); } + ) + | + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_1()); } + (rule__GlobalScopeExpression__DomainsAssignment_5_3_1) + { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_1()); } + ) + | + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5_3_2()); } + (rule__GlobalScopeExpression__Group_5_3_2__0) + { after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5_3_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__DataExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getDataExpressionAccess().getMatchDataExpressionParserRuleCall_0()); } + ruleMatchDataExpression + { after(grammarAccess.getDataExpressionAccess().getMatchDataExpressionParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getDataExpressionAccess().getLambdaDataExpressionParserRuleCall_1()); } + ruleLambdaDataExpression + { after(grammarAccess.getDataExpressionAccess().getLambdaDataExpressionParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Naming__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNamingAccess().getGroup_0()); } + (rule__Naming__Group_0__0) + { after(grammarAccess.getNamingAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getNamingAccess().getNamesAssignment_1()); } + (rule__Naming__NamesAssignment_1) + { after(grammarAccess.getNamingAccess().getNamesAssignment_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNamingExpressionAccess().getExportAssignment_0()); } + (rule__NamingExpression__ExportAssignment_0) + { after(grammarAccess.getNamingExpressionAccess().getExportAssignment_0()); } + ) + | + ( + { before(grammarAccess.getNamingExpressionAccess().getGroup_1()); } + (rule__NamingExpression__Group_1__0) + { after(grammarAccess.getNamingExpressionAccess().getGroup_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Expression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); } + ruleLetExpression + { after(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); } + (ruleCastedExpression) + { after(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); } + ruleChainExpression + { after(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainedExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); } + ruleIfExpressionKw + { after(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); } + ruleIfExpressionTri + { after(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); } + ruleSwitchExpression + { after(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__OperatorAlternatives_1_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); } + '==' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); } + ) + | + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); } + '!=' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); } + ) + | + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); } + '>=' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); } + ) + | + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); } + '<=' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); } + ) + | + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); } + '>' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); } + ) + | + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); } + '<' + { after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__NameAlternatives_1_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); } + '+' + { after(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); } + ) + | + ( + { before(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); } + '-' + { after(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__NameAlternatives_1_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); } + '*' + { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); } + ) + | + ( + { before(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); } + '/' + { after(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryOrInfixExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); } + ruleUnaryExpression + { after(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); } + ruleInfixExpression + { after(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__NameAlternatives_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); } + '!' + { after(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); } + ) + | + ( + { before(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); } + '-' + { after(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); } + (rule__InfixExpression__Group_1_0__0) + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); } + (rule__InfixExpression__Group_1_1__0) + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); } + (rule__InfixExpression__Group_1_2__0) + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); } + (rule__InfixExpression__Group_1_3__0) + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__NameAlternatives_1_3_2_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); } + 'collect' + { after(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); } + 'select' + { after(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); } + 'selectFirst' + { after(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); } + 'reject' + { after(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); } + 'exists' + { after(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); } + 'notExists' + { after(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); } + 'sortBy' + { after(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); } + ) + | + ( + { before(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); } + 'forAll' + { after(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PrimaryExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); } + ruleLiteral + { after(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); } + ruleFeatureCall + { after(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); } + ruleListLiteral + { after(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); } + ruleConstructorCallExpression + { after(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); } + ruleGlobalVarExpression + { after(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); } + ) + | + ( + { before(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); } + ruleParanthesizedExpression + { after(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Literal__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); } + ruleBooleanLiteral + { after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); } + ruleIntegerLiteral + { after(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); } + ruleNullLiteral + { after(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); } + ruleRealLiteral + { after(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); } + ruleStringLiteral + { after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__BooleanLiteral__ValAlternatives_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); } + 'true' + { after(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); } + ) + | + ( + { before(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); } + 'false' + { after(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FeatureCall__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); } + ruleOperationCall + { after(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); } + (rule__FeatureCall__TypeAssignment_1) + { after(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); } + ) + | + ( + { before(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); } + ruleCollectionExpression + { after(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); } + ruleTypeSelectExpression + { after(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__NameAlternatives_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); } + 'collect' + { after(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); } + 'select' + { after(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); } + 'selectFirst' + { after(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); } + 'reject' + { after(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); } + 'exists' + { after(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); } + 'notExists' + { after(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); } + 'sortBy' + { after(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); } + ) + | + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); } + 'forAll' + { after(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Type__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); } + ruleCollectionType + { after(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); } + ruleSimpleType + { after(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__ClAlternatives_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); } + 'Collection' + { after(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); } + ) + | + ( + { before(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); } + 'List' + { after(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); } + ) + | + ( + { before(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); } + 'Set' + { after(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXAssignmentAccess().getGroup_0()); } + (rule__XAssignment__Group_0__0) + { after(grammarAccess.getXAssignmentAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getXAssignmentAccess().getGroup_1()); } + (rule__XAssignment__Group_1__0) + { after(grammarAccess.getXAssignmentAccess().getGroup_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); } + '+=' + { after(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); } + '-=' + { after(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); } + '*=' + { after(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); } + '/=' + { after(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); } + '%=' + { after(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getGroup_5()); } + (rule__OpMultiAssign__Group_5__0) + { after(grammarAccess.getOpMultiAssignAccess().getGroup_5()); } + ) + | + ( + { before(grammarAccess.getOpMultiAssignAccess().getGroup_6()); } + (rule__OpMultiAssign__Group_6__0) + { after(grammarAccess.getOpMultiAssignAccess().getGroup_6()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpEquality__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); } + '==' + { after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); } + '!=' + { after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); } + ) + | + ( + { before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); } + '===' + { after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); } + ) + | + ( + { before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); } + '!==' + { after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); } + (rule__XRelationalExpression__Group_1_0__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); } + (rule__XRelationalExpression__Group_1_1__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpCompare__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); } + '>=' + { after(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpCompareAccess().getGroup_1()); } + (rule__OpCompare__Group_1__0) + { after(grammarAccess.getOpCompareAccess().getGroup_1()); } + ) + | + ( + { before(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); } + '>' + { after(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); } + ) + | + ( + { before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); } + '<' + { after(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); } + '->' + { after(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); } + '..<' + { after(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getGroup_2()); } + (rule__OpOther__Group_2__0) + { after(grammarAccess.getOpOtherAccess().getGroup_2()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); } + '..' + { after(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); } + '=>' + { after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getGroup_5()); } + (rule__OpOther__Group_5__0) + { after(grammarAccess.getOpOtherAccess().getGroup_5()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getGroup_6()); } + (rule__OpOther__Group_6__0) + { after(grammarAccess.getOpOtherAccess().getGroup_6()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); } + '<>' + { after(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); } + '?:' + { after(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Alternatives_5_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); } + (rule__OpOther__Group_5_1_0__0) + { after(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); } + '>' + { after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Alternatives_6_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); } + (rule__OpOther__Group_6_1_0__0) + { after(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); } + '<' + { after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); } + ) + | + ( + { before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); } + '=>' + { after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpAdd__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); } + '+' + { after(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); } + '-' + { after(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMulti__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); } + '*' + { after(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); } + '**' + { after(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); } + ) + | + ( + { before(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); } + '/' + { after(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); } + ) + | + ( + { before(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); } + '%' + { after(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXUnaryOperationAccess().getGroup_0()); } + (rule__XUnaryOperation__Group_0__0) + { after(grammarAccess.getXUnaryOperationAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); } + ruleXCastedExpression + { after(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpUnary__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); } + '!' + { after(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); } + '-' + { after(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); } + ) + | + ( + { before(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); } + '+' + { after(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpPostfix__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); } + '++' + { after(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); } + ) + | + ( + { before(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); } + '--' + { after(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); } + (rule__XMemberFeatureCall__Group_1_0__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); } + (rule__XMemberFeatureCall__Group_1_1__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); } + '.' + { after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); } + ) + | + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); } + (rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); } + '.' + { after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); } + ) + | + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); } + (rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); } + ) + | + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); } + (rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Alternatives_1_1_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); } + (rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0) + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); } + ) + | + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); } + (rule__XMemberFeatureCall__Group_1_1_3_1_1__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XPrimaryExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); } + ruleXConstructorCall + { after(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); } + ruleXBlockExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); } + ruleXSwitchExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); } + (ruleXSynchronizedExpression) + { after(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); } + ruleXFeatureCall + { after(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); } + ruleXLiteral + { after(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); } + ruleXIfExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); } + (ruleXForLoopExpression) + { after(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); } + ruleXBasicForLoopExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); } + ruleXWhileExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); } + ruleXDoWhileExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); } + ruleXThrowExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); } + ruleXReturnExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); } + ruleXTryCatchFinallyExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); } + ) + | + ( + { before(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); } + ruleXParenthesizedExpression + { after(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XLiteral__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); } + ruleXCollectionLiteral + { after(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); } + (ruleXClosure) + { after(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); } + ruleXBooleanLiteral + { after(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); } + ruleXNumberLiteral + { after(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); } + ruleXNullLiteral + { after(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); } + ruleXStringLiteral + { after(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); } + ) + | + ( + { before(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); } + ruleXTypeLiteral + { after(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCollectionLiteral__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); } + ruleXSetLiteral + { after(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); } + ruleXListLiteral + { after(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Alternatives_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); } + (rule__XSwitchExpression__Group_2_0__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); } + ) + | + ( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); } + (rule__XSwitchExpression__Group_2_1__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Alternatives_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXCasePartAccess().getGroup_3_0()); } + (rule__XCasePart__Group_3_0__0) + { after(grammarAccess.getXCasePartAccess().getGroup_3_0()); } + ) + | + ( + { before(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); } + (rule__XCasePart__FallThroughAssignment_3_1) + { after(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionOrVarDeclaration__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); } + ruleXVariableDeclaration + { after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); } + ruleXExpression + { after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); } + (rule__XVariableDeclaration__WriteableAssignment_1_0) + { after(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); } + ) + | + ( + { before(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); } + 'val' + { after(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XVariableDeclaration__Alternatives_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); } + (rule__XVariableDeclaration__Group_2_0__0) + { after(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); } + ) + | + ( + { before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); } + (rule__XVariableDeclaration__NameAssignment_2_1) + { after(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XFeatureCall__Alternatives_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); } + (rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0) + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); } + ) + | + ( + { before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); } + (rule__XFeatureCall__Group_3_1_1__0) + { after(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FeatureCallID__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); } + ruleValidID + { after(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); } + 'extends' + { after(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); } + ) + | + ( + { before(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); } + 'static' + { after(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); } + ) + | + ( + { before(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); } + 'import' + { after(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); } + ) + | + ( + { before(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); } + 'extension' + { after(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdOrSuper__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); } + ruleFeatureCallID + { after(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); } + 'super' + { after(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XConstructorCall__Alternatives_4_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); } + (rule__XConstructorCall__ArgumentsAssignment_4_1_0) + { after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); } + ) + | + ( + { before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); } + (rule__XConstructorCall__Group_4_1_1__0) + { after(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XBooleanLiteral__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); } + 'false' + { after(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); } + ) + | + ( + { before(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); } + (rule__XBooleanLiteral__IsTrueAssignment_1_1) + { after(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XTryCatchFinallyExpression__Alternatives_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); } + (rule__XTryCatchFinallyExpression__Group_3_0__0) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); } + ) + | + ( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); } + (rule__XTryCatchFinallyExpression__Group_3_1__0) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Number__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); } + RULE_HEX + { after(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getNumberAccess().getGroup_1()); } + (rule__Number__Group_1__0) + { after(grammarAccess.getNumberAccess().getGroup_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Number__Alternatives_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); } + RULE_INT + { after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); } + ) + | + ( + { before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); } + RULE_DECIMAL + { after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Number__Alternatives_1_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); } + RULE_INT + { after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); } + ) + | + ( + { before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); } + RULE_DECIMAL + { after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__JvmTypeReference__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); } + (rule__JvmTypeReference__Group_0__0) + { after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); } + ruleXFunctionTypeRef + { after(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__JvmArgumentTypeReference__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); } + ruleJvmWildcardTypeReference + { after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__JvmWildcardTypeReference__Alternatives_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); } + (rule__JvmWildcardTypeReference__Group_2_0__0) + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); } + ) + | + ( + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); } + (rule__JvmWildcardTypeReference__Group_2_1__0) + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XImportDeclaration__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); } + (rule__XImportDeclaration__Group_1_0__0) + { after(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); } + (rule__XImportDeclaration__ImportedTypeAssignment_1_1) + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); } + ) + | + ( + { before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); } + (rule__XImportDeclaration__ImportedNamespaceAssignment_1_2) + { after(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XImportDeclaration__Alternatives_1_0_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); } + (rule__XImportDeclaration__WildcardAssignment_1_0_3_0) + { after(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); } + ) + | + ( + { before(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); } + (rule__XImportDeclaration__MemberNameAssignment_1_0_3_1) + { after(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Casing__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCasingAccess().getSENSITIVEEnumLiteralDeclaration_0()); } + ('sensitive') + { after(grammarAccess.getCasingAccess().getSENSITIVEEnumLiteralDeclaration_0()); } + ) + | + ( + { before(grammarAccess.getCasingAccess().getINSENSITIVEEnumLiteralDeclaration_1()); } + ('insensitive') + { after(grammarAccess.getCasingAccess().getINSENSITIVEEnumLiteralDeclaration_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeModel__Group__0__Impl + rule__ScopeModel__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeModelAccess().getScopingKeyword_0()); } + 'scoping' + { after(grammarAccess.getScopeModelAccess().getScopingKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeModel__Group__1__Impl + rule__ScopeModel__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeModelAccess().getNameAssignment_1()); } + (rule__ScopeModel__NameAssignment_1) + { after(grammarAccess.getScopeModelAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeModel__Group__2__Impl + rule__ScopeModel__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeModelAccess().getGroup_2()); } + (rule__ScopeModel__Group_2__0)? + { after(grammarAccess.getScopeModelAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeModel__Group__3__Impl + rule__ScopeModel__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeModelAccess().getImportsAssignment_3()); } + (rule__ScopeModel__ImportsAssignment_3)* + { after(grammarAccess.getScopeModelAccess().getImportsAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeModel__Group__4__Impl + rule__ScopeModel__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeModelAccess().getExtensionsAssignment_4()); } + (rule__ScopeModel__ExtensionsAssignment_4)* + { after(grammarAccess.getScopeModelAccess().getExtensionsAssignment_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeModel__Group__5__Impl + rule__ScopeModel__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeModelAccess().getInjectionsAssignment_5()); } + (rule__ScopeModel__InjectionsAssignment_5)* + { after(grammarAccess.getScopeModelAccess().getInjectionsAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeModel__Group__6__Impl + rule__ScopeModel__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeModelAccess().getNamingAssignment_6()); } + (rule__ScopeModel__NamingAssignment_6)? + { after(grammarAccess.getScopeModelAccess().getNamingAssignment_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeModel__Group__7__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeModelAccess().getScopesAssignment_7()); } + (rule__ScopeModel__ScopesAssignment_7)* + { after(grammarAccess.getScopeModelAccess().getScopesAssignment_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ScopeModel__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeModel__Group_2__0__Impl + rule__ScopeModel__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeModelAccess().getWithKeyword_2_0()); } + 'with' + { after(grammarAccess.getScopeModelAccess().getWithKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeModel__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeModel__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeModelAccess().getIncludedScopesAssignment_2_1()); } + (rule__ScopeModel__IncludedScopesAssignment_2_1) + { after(grammarAccess.getScopeModelAccess().getIncludedScopesAssignment_2_1()); } +) +; +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 + rule__Import__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Import__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImportAccess().getPackageAssignment_1()); } + (rule__Import__PackageAssignment_1) + { after(grammarAccess.getImportAccess().getPackageAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Import__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Import__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Import__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImportAccess().getGroup_2()); } + (rule__Import__Group_2__0)? + { after(grammarAccess.getImportAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Import__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Import__Group_2__0__Impl + rule__Import__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Import__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImportAccess().getAsKeyword_2_0()); } + 'as' + { after(grammarAccess.getImportAccess().getAsKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Import__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Import__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Import__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImportAccess().getNameAssignment_2_1()); } + (rule__Import__NameAssignment_2_1) + { after(grammarAccess.getImportAccess().getNameAssignment_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Extension__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Extension__Group__0__Impl + rule__Extension__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Extension__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExtensionAccess().getExtensionKeyword_0()); } + 'extension' + { after(grammarAccess.getExtensionAccess().getExtensionKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Extension__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Extension__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Extension__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExtensionAccess().getExtensionAssignment_1()); } + (rule__Extension__ExtensionAssignment_1) + { after(grammarAccess.getExtensionAccess().getExtensionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Injection__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Injection__Group__0__Impl + rule__Injection__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Injection__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInjectionAccess().getInjectKeyword_0()); } + 'inject' + { after(grammarAccess.getInjectionAccess().getInjectKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Injection__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Injection__Group__1__Impl + rule__Injection__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Injection__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInjectionAccess().getTypeAssignment_1()); } + (rule__Injection__TypeAssignment_1) + { after(grammarAccess.getInjectionAccess().getTypeAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Injection__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Injection__Group__2__Impl + rule__Injection__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__Injection__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInjectionAccess().getAsKeyword_2()); } + 'as' + { after(grammarAccess.getInjectionAccess().getAsKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Injection__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__Injection__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Injection__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInjectionAccess().getNameAssignment_3()); } + (rule__Injection__NameAssignment_3) + { after(grammarAccess.getInjectionAccess().getNameAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NamingSection__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamingSection__Group__0__Impl + rule__NamingSection__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingSection__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingSectionAccess().getNamingSectionAction_0()); } + () + { after(grammarAccess.getNamingSectionAccess().getNamingSectionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingSection__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamingSection__Group__1__Impl + rule__NamingSection__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingSection__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingSectionAccess().getGroup_1()); } + (rule__NamingSection__Group_1__0)? + { after(grammarAccess.getNamingSectionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingSection__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamingSection__Group__2__Impl + rule__NamingSection__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingSection__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingSectionAccess().getNamingKeyword_2()); } + 'naming' + { after(grammarAccess.getNamingSectionAccess().getNamingKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingSection__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamingSection__Group__3__Impl + rule__NamingSection__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingSection__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingSectionAccess().getLeftCurlyBracketKeyword_3()); } + '{' + { after(grammarAccess.getNamingSectionAccess().getLeftCurlyBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingSection__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamingSection__Group__4__Impl + rule__NamingSection__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingSection__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingSectionAccess().getNamingsAssignment_4()); } + (rule__NamingSection__NamingsAssignment_4)* + { after(grammarAccess.getNamingSectionAccess().getNamingsAssignment_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingSection__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamingSection__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingSection__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingSectionAccess().getRightCurlyBracketKeyword_5()); } + '}' + { after(grammarAccess.getNamingSectionAccess().getRightCurlyBracketKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NamingSection__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamingSection__Group_1__0__Impl + rule__NamingSection__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingSection__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingSectionAccess().getCaseKeyword_1_0()); } + 'case' + { after(grammarAccess.getNamingSectionAccess().getCaseKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingSection__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamingSection__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingSection__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingSectionAccess().getCasingAssignment_1_1()); } + (rule__NamingSection__CasingAssignment_1_1) + { after(grammarAccess.getNamingSectionAccess().getCasingAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NamingDefinition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamingDefinition__Group__0__Impl + rule__NamingDefinition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingDefinition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingDefinitionAccess().getTypeAssignment_0()); } + (rule__NamingDefinition__TypeAssignment_0) + { after(grammarAccess.getNamingDefinitionAccess().getTypeAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingDefinition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamingDefinition__Group__1__Impl + rule__NamingDefinition__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingDefinition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingDefinitionAccess().getEqualsSignKeyword_1()); } + '=' + { after(grammarAccess.getNamingDefinitionAccess().getEqualsSignKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingDefinition__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamingDefinition__Group__2__Impl + rule__NamingDefinition__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingDefinition__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingDefinitionAccess().getNamingAssignment_2()); } + (rule__NamingDefinition__NamingAssignment_2) + { after(grammarAccess.getNamingDefinitionAccess().getNamingAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingDefinition__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamingDefinition__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingDefinition__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingDefinitionAccess().getSemicolonKeyword_3()); } + ';' + { after(grammarAccess.getNamingDefinitionAccess().getSemicolonKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ScopeDefinition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDefinition__Group__0__Impl + rule__ScopeDefinition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDefinitionAccess().getScopeKeyword_0()); } + 'scope' + { after(grammarAccess.getScopeDefinitionAccess().getScopeKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDefinition__Group__1__Impl + rule__ScopeDefinition__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDefinitionAccess().getGroup_1()); } + (rule__ScopeDefinition__Group_1__0)? + { after(grammarAccess.getScopeDefinitionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDefinition__Group__2__Impl + rule__ScopeDefinition__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDefinitionAccess().getAlternatives_2()); } + (rule__ScopeDefinition__Alternatives_2) + { after(grammarAccess.getScopeDefinitionAccess().getAlternatives_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDefinition__Group__3__Impl + rule__ScopeDefinition__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDefinitionAccess().getLeftCurlyBracketKeyword_3()); } + '{' + { after(grammarAccess.getScopeDefinitionAccess().getLeftCurlyBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDefinition__Group__4__Impl + rule__ScopeDefinition__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + ( + { before(grammarAccess.getScopeDefinitionAccess().getRulesAssignment_4()); } + (rule__ScopeDefinition__RulesAssignment_4) + { after(grammarAccess.getScopeDefinitionAccess().getRulesAssignment_4()); } + ) + ( + { before(grammarAccess.getScopeDefinitionAccess().getRulesAssignment_4()); } + (rule__ScopeDefinition__RulesAssignment_4)* + { after(grammarAccess.getScopeDefinitionAccess().getRulesAssignment_4()); } + ) +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDefinition__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDefinitionAccess().getRightCurlyBracketKeyword_5()); } + '}' + { after(grammarAccess.getScopeDefinitionAccess().getRightCurlyBracketKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ScopeDefinition__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDefinition__Group_1__0__Impl + rule__ScopeDefinition__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDefinitionAccess().getLeftParenthesisKeyword_1_0()); } + '(' + { after(grammarAccess.getScopeDefinitionAccess().getLeftParenthesisKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDefinition__Group_1__1__Impl + rule__ScopeDefinition__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDefinitionAccess().getNameAssignment_1_1()); } + (rule__ScopeDefinition__NameAssignment_1_1) + { after(grammarAccess.getScopeDefinitionAccess().getNameAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDefinition__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDefinitionAccess().getRightParenthesisKeyword_1_2()); } + ')' + { after(grammarAccess.getScopeDefinitionAccess().getRightParenthesisKeyword_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ScopeDefinition__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDefinition__Group_2_1__0__Impl + rule__ScopeDefinition__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDefinitionAccess().getContextTypeAssignment_2_1_0()); } + (rule__ScopeDefinition__ContextTypeAssignment_2_1_0) + { after(grammarAccess.getScopeDefinitionAccess().getContextTypeAssignment_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDefinition__Group_2_1__1__Impl + rule__ScopeDefinition__Group_2_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDefinitionAccess().getNumberSignKeyword_2_1_1()); } + '#' + { after(grammarAccess.getScopeDefinitionAccess().getNumberSignKeyword_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group_2_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDefinition__Group_2_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Group_2_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDefinitionAccess().getReferenceAssignment_2_1_2()); } + (rule__ScopeDefinition__ReferenceAssignment_2_1_2) + { after(grammarAccess.getScopeDefinitionAccess().getReferenceAssignment_2_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ScopeRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeRule__Group__0__Impl + rule__ScopeRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeRuleAccess().getContextKeyword_0()); } + 'context' + { after(grammarAccess.getScopeRuleAccess().getContextKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeRule__Group__1__Impl + rule__ScopeRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeRuleAccess().getContextAssignment_1()); } + (rule__ScopeRule__ContextAssignment_1) + { after(grammarAccess.getScopeRuleAccess().getContextAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeRule__Group__2__Impl + rule__ScopeRule__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeRuleAccess().getEqualsSignKeyword_2()); } + '=' + { after(grammarAccess.getScopeRuleAccess().getEqualsSignKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeRule__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeRule__Group__3__Impl + rule__ScopeRule__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeRule__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeRuleAccess().getExprsAssignment_3()); } + (rule__ScopeRule__ExprsAssignment_3) + { after(grammarAccess.getScopeRuleAccess().getExprsAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeRule__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeRule__Group__4__Impl + rule__ScopeRule__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeRule__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeRuleAccess().getGroup_4()); } + (rule__ScopeRule__Group_4__0)* + { after(grammarAccess.getScopeRuleAccess().getGroup_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeRule__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeRule__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeRule__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeRuleAccess().getSemicolonKeyword_5()); } + ';' + { after(grammarAccess.getScopeRuleAccess().getSemicolonKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ScopeRule__Group_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeRule__Group_4__0__Impl + rule__ScopeRule__Group_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeRule__Group_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeRuleAccess().getGreaterThanSignGreaterThanSignKeyword_4_0()); } + '>>' + { after(grammarAccess.getScopeRuleAccess().getGreaterThanSignGreaterThanSignKeyword_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeRule__Group_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeRule__Group_4__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeRule__Group_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeRuleAccess().getExprsAssignment_4_1()); } + (rule__ScopeRule__ExprsAssignment_4_1) + { after(grammarAccess.getScopeRuleAccess().getExprsAssignment_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ScopeContext__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeContext__Group__0__Impl + rule__ScopeContext__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeContext__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeContextAccess().getAlternatives_0()); } + (rule__ScopeContext__Alternatives_0) + { after(grammarAccess.getScopeContextAccess().getAlternatives_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeContext__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeContext__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeContext__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeContextAccess().getGroup_1()); } + (rule__ScopeContext__Group_1__0)? + { after(grammarAccess.getScopeContextAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ScopeContext__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeContext__Group_1__0__Impl + rule__ScopeContext__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeContext__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeContextAccess().getLeftSquareBracketKeyword_1_0()); } + '[' + { after(grammarAccess.getScopeContextAccess().getLeftSquareBracketKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeContext__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeContext__Group_1__1__Impl + rule__ScopeContext__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeContext__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeContextAccess().getGuardAssignment_1_1()); } + (rule__ScopeContext__GuardAssignment_1_1) + { after(grammarAccess.getScopeContextAccess().getGuardAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeContext__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeContext__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeContext__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeContextAccess().getRightSquareBracketKeyword_1_2()); } + ']' + { after(grammarAccess.getScopeContextAccess().getRightSquareBracketKeyword_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__FactoryExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__FactoryExpression__Group__0__Impl + rule__FactoryExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__FactoryExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFactoryExpressionAccess().getFactoryKeyword_0()); } + 'factory' + { after(grammarAccess.getFactoryExpressionAccess().getFactoryKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FactoryExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__FactoryExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__FactoryExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFactoryExpressionAccess().getExprAssignment_1()); } + (rule__FactoryExpression__ExprAssignment_1) + { after(grammarAccess.getFactoryExpressionAccess().getExprAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ScopeDelegation__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDelegation__Group__0__Impl + rule__ScopeDelegation__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDelegation__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDelegationAccess().getScopeofKeyword_0()); } + 'scopeof' + { after(grammarAccess.getScopeDelegationAccess().getScopeofKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDelegation__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDelegation__Group__1__Impl + rule__ScopeDelegation__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDelegation__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDelegationAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getScopeDelegationAccess().getLeftParenthesisKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDelegation__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDelegation__Group__2__Impl + rule__ScopeDelegation__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDelegation__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDelegationAccess().getAlternatives_2()); } + (rule__ScopeDelegation__Alternatives_2) + { after(grammarAccess.getScopeDelegationAccess().getAlternatives_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDelegation__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDelegation__Group__3__Impl + rule__ScopeDelegation__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDelegation__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDelegationAccess().getGroup_3()); } + (rule__ScopeDelegation__Group_3__0)? + { after(grammarAccess.getScopeDelegationAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDelegation__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDelegation__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDelegation__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDelegationAccess().getRightParenthesisKeyword_4()); } + ')' + { after(grammarAccess.getScopeDelegationAccess().getRightParenthesisKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ScopeDelegation__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDelegation__Group_3__0__Impl + rule__ScopeDelegation__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDelegation__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDelegationAccess().getCommaKeyword_3_0()); } + ',' + { after(grammarAccess.getScopeDelegationAccess().getCommaKeyword_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDelegation__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ScopeDelegation__Group_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDelegation__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getScopeDelegationAccess().getScopeAssignment_3_1()); } + (rule__ScopeDelegation__ScopeAssignment_3_1) + { after(grammarAccess.getScopeDelegationAccess().getScopeAssignment_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NamedScopeExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamedScopeExpression__Group__0__Impl + rule__NamedScopeExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NamedScopeExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamedScopeExpressionAccess().getAlternatives_0()); } + (rule__NamedScopeExpression__Alternatives_0) + { after(grammarAccess.getNamedScopeExpressionAccess().getAlternatives_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NamedScopeExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamedScopeExpression__Group__1__Impl + rule__NamedScopeExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__NamedScopeExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamedScopeExpressionAccess().getGroup_1()); } + (rule__NamedScopeExpression__Group_1__0)? + { after(grammarAccess.getNamedScopeExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NamedScopeExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamedScopeExpression__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NamedScopeExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamedScopeExpressionAccess().getGroup_2()); } + (rule__NamedScopeExpression__Group_2__0)? + { after(grammarAccess.getNamedScopeExpressionAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NamedScopeExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamedScopeExpression__Group_1__0__Impl + rule__NamedScopeExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NamedScopeExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamedScopeExpressionAccess().getCaseDefAssignment_1_0()); } + (rule__NamedScopeExpression__CaseDefAssignment_1_0) + { after(grammarAccess.getNamedScopeExpressionAccess().getCaseDefAssignment_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NamedScopeExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamedScopeExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NamedScopeExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamedScopeExpressionAccess().getCasingAssignment_1_1()); } + (rule__NamedScopeExpression__CasingAssignment_1_1) + { after(grammarAccess.getNamedScopeExpressionAccess().getCasingAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NamedScopeExpression__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamedScopeExpression__Group_2__0__Impl + rule__NamedScopeExpression__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NamedScopeExpression__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamedScopeExpressionAccess().getAsKeyword_2_0()); } + 'as' + { after(grammarAccess.getNamedScopeExpressionAccess().getAsKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NamedScopeExpression__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamedScopeExpression__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NamedScopeExpression__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamedScopeExpressionAccess().getNamingAssignment_2_1()); } + (rule__NamedScopeExpression__NamingAssignment_2_1) + { after(grammarAccess.getNamedScopeExpressionAccess().getNamingAssignment_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__GlobalScopeExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group__0__Impl + rule__GlobalScopeExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getFindKeyword_0()); } + 'find' + { after(grammarAccess.getGlobalScopeExpressionAccess().getFindKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group__1__Impl + rule__GlobalScopeExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group__2__Impl + rule__GlobalScopeExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getTypeAssignment_2()); } + (rule__GlobalScopeExpression__TypeAssignment_2) + { after(grammarAccess.getGlobalScopeExpressionAccess().getTypeAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group__3__Impl + rule__GlobalScopeExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getAlternatives_3()); } + (rule__GlobalScopeExpression__Alternatives_3)? + { after(grammarAccess.getGlobalScopeExpressionAccess().getAlternatives_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group__4__Impl + rule__GlobalScopeExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_4()); } + (rule__GlobalScopeExpression__Group_4__0)? + { after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group__5__Impl + rule__GlobalScopeExpression__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5()); } + (rule__GlobalScopeExpression__Group_5__0)? + { after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_6()); } + ')' + { after(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__GlobalScopeExpression__Group_3_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_3_0__0__Impl + rule__GlobalScopeExpression__Group_3_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_3_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_0_0()); } + ',' + { after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_3_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_3_0__1__Impl + rule__GlobalScopeExpression__Group_3_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_3_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getKeyKeyword_3_0_1()); } + 'key' + { after(grammarAccess.getGlobalScopeExpressionAccess().getKeyKeyword_3_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_3_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_3_0__2__Impl + rule__GlobalScopeExpression__Group_3_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_3_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_0_2()); } + '=' + { after(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_3_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_3_0__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_3_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getNameAssignment_3_0_3()); } + (rule__GlobalScopeExpression__NameAssignment_3_0_3) + { after(grammarAccess.getGlobalScopeExpressionAccess().getNameAssignment_3_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__GlobalScopeExpression__Group_3_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_3_1__0__Impl + rule__GlobalScopeExpression__Group_3_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_3_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_1_0()); } + ',' + { after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_3_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_3_1__1__Impl + rule__GlobalScopeExpression__Group_3_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_3_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixAssignment_3_1_1()); } + (rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1)? + { after(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixAssignment_3_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_3_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_3_1__2__Impl + rule__GlobalScopeExpression__Group_3_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_3_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getPrefixKeyword_3_1_2()); } + 'prefix' + { after(grammarAccess.getGlobalScopeExpressionAccess().getPrefixKeyword_3_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_3_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_3_1__3__Impl + rule__GlobalScopeExpression__Group_3_1__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_3_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_1_3()); } + '=' + { after(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_3_1__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_3_1__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_3_1__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getPrefixAssignment_3_1_4()); } + (rule__GlobalScopeExpression__PrefixAssignment_3_1_4) + { after(grammarAccess.getGlobalScopeExpressionAccess().getPrefixAssignment_3_1_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__GlobalScopeExpression__Group_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_4__0__Impl + rule__GlobalScopeExpression__Group_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_0()); } + ',' + { after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_4__1__Impl + rule__GlobalScopeExpression__Group_4__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getDataKeyword_4_1()); } + 'data' + { after(grammarAccess.getGlobalScopeExpressionAccess().getDataKeyword_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_4__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_4__2__Impl + rule__GlobalScopeExpression__Group_4__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_4__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_4_2()); } + '=' + { after(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_4_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_4__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_4__3__Impl + rule__GlobalScopeExpression__Group_4__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_4__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_4_3()); } + '(' + { after(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_4_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_4__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_4__4__Impl + rule__GlobalScopeExpression__Group_4__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_4__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getDataAssignment_4_4()); } + (rule__GlobalScopeExpression__DataAssignment_4_4) + { after(grammarAccess.getGlobalScopeExpressionAccess().getDataAssignment_4_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_4__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_4__5__Impl + rule__GlobalScopeExpression__Group_4__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_4__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_4_5()); } + (rule__GlobalScopeExpression__Group_4_5__0)* + { after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_4_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_4__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_4__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_4__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_4_6()); } + ')' + { after(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_4_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__GlobalScopeExpression__Group_4_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_4_5__0__Impl + rule__GlobalScopeExpression__Group_4_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_4_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_5_0()); } + ',' + { after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_4_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_4_5__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_4_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getDataAssignment_4_5_1()); } + (rule__GlobalScopeExpression__DataAssignment_4_5_1) + { after(grammarAccess.getGlobalScopeExpressionAccess().getDataAssignment_4_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__GlobalScopeExpression__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_5__0__Impl + rule__GlobalScopeExpression__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_0()); } + ',' + { after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_5__1__Impl + rule__GlobalScopeExpression__Group_5__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsKeyword_5_1()); } + 'domains' + { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsKeyword_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_5__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_5__2__Impl + rule__GlobalScopeExpression__Group_5__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_5__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_5_2()); } + '=' + { after(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_5_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_5__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_5__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_5__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getAlternatives_5_3()); } + (rule__GlobalScopeExpression__Alternatives_5_3) + { after(grammarAccess.getGlobalScopeExpressionAccess().getAlternatives_5_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__GlobalScopeExpression__Group_5_3_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_5_3_2__0__Impl + rule__GlobalScopeExpression__Group_5_3_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_5_3_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_5_3_2_0()); } + '(' + { after(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_5_3_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_5_3_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_5_3_2__1__Impl + rule__GlobalScopeExpression__Group_5_3_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_5_3_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_2_1()); } + (rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1) + { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_5_3_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_5_3_2__2__Impl + rule__GlobalScopeExpression__Group_5_3_2__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_5_3_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5_3_2_2()); } + (rule__GlobalScopeExpression__Group_5_3_2_2__0)* + { after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5_3_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_5_3_2__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_5_3_2__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_5_3_2__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_5_3_2_3()); } + ')' + { after(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_5_3_2_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__GlobalScopeExpression__Group_5_3_2_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl + rule__GlobalScopeExpression__Group_5_3_2_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_3_2_2_0()); } + ',' + { after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_3_2_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_5_3_2_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_2_2_1()); } + (rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1) + { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_2_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__MatchDataExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__MatchDataExpression__Group__0__Impl + rule__MatchDataExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__MatchDataExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMatchDataExpressionAccess().getKeyAssignment_0()); } + (rule__MatchDataExpression__KeyAssignment_0) + { after(grammarAccess.getMatchDataExpressionAccess().getKeyAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MatchDataExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__MatchDataExpression__Group__1__Impl + rule__MatchDataExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__MatchDataExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMatchDataExpressionAccess().getEqualsSignKeyword_1()); } + '=' + { after(grammarAccess.getMatchDataExpressionAccess().getEqualsSignKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MatchDataExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__MatchDataExpression__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__MatchDataExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMatchDataExpressionAccess().getValueAssignment_2()); } + (rule__MatchDataExpression__ValueAssignment_2) + { after(grammarAccess.getMatchDataExpressionAccess().getValueAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LambdaDataExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LambdaDataExpression__Group__0__Impl + rule__LambdaDataExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LambdaDataExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLambdaDataExpressionAccess().getLeftSquareBracketKeyword_0()); } + '[' + { after(grammarAccess.getLambdaDataExpressionAccess().getLeftSquareBracketKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LambdaDataExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LambdaDataExpression__Group__1__Impl + rule__LambdaDataExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__LambdaDataExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLambdaDataExpressionAccess().getDescAssignment_1()); } + (rule__LambdaDataExpression__DescAssignment_1) + { after(grammarAccess.getLambdaDataExpressionAccess().getDescAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LambdaDataExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__LambdaDataExpression__Group__2__Impl + rule__LambdaDataExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__LambdaDataExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLambdaDataExpressionAccess().getVerticalLineKeyword_2()); } + '|' + { after(grammarAccess.getLambdaDataExpressionAccess().getVerticalLineKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LambdaDataExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__LambdaDataExpression__Group__3__Impl + rule__LambdaDataExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__LambdaDataExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLambdaDataExpressionAccess().getValueAssignment_3()); } + (rule__LambdaDataExpression__ValueAssignment_3) + { after(grammarAccess.getLambdaDataExpressionAccess().getValueAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LambdaDataExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__LambdaDataExpression__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LambdaDataExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLambdaDataExpressionAccess().getRightSquareBracketKeyword_4()); } + ']' + { after(grammarAccess.getLambdaDataExpressionAccess().getRightSquareBracketKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Naming__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Naming__Group_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Naming__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingAccess().getGroup_0_0()); } + (rule__Naming__Group_0_0__0) + { after(grammarAccess.getNamingAccess().getGroup_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Naming__Group_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Naming__Group_0_0__0__Impl + rule__Naming__Group_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Naming__Group_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingAccess().getLeftParenthesisKeyword_0_0_0()); } + '(' + { after(grammarAccess.getNamingAccess().getLeftParenthesisKeyword_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Naming__Group_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Naming__Group_0_0__1__Impl + rule__Naming__Group_0_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Naming__Group_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingAccess().getNamesAssignment_0_0_1()); } + (rule__Naming__NamesAssignment_0_0_1) + { after(grammarAccess.getNamingAccess().getNamesAssignment_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Naming__Group_0_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Naming__Group_0_0__2__Impl + rule__Naming__Group_0_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__Naming__Group_0_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingAccess().getGroup_0_0_2()); } + (rule__Naming__Group_0_0_2__0)* + { after(grammarAccess.getNamingAccess().getGroup_0_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Naming__Group_0_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__Naming__Group_0_0__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Naming__Group_0_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingAccess().getRightParenthesisKeyword_0_0_3()); } + ')' + { after(grammarAccess.getNamingAccess().getRightParenthesisKeyword_0_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Naming__Group_0_0_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Naming__Group_0_0_2__0__Impl + rule__Naming__Group_0_0_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Naming__Group_0_0_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingAccess().getCommaKeyword_0_0_2_0()); } + ',' + { after(grammarAccess.getNamingAccess().getCommaKeyword_0_0_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Naming__Group_0_0_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Naming__Group_0_0_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Naming__Group_0_0_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingAccess().getNamesAssignment_0_0_2_1()); } + (rule__Naming__NamesAssignment_0_0_2_1) + { after(grammarAccess.getNamingAccess().getNamesAssignment_0_0_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NamingExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamingExpression__Group_1__0__Impl + rule__NamingExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingExpressionAccess().getFactoryAssignment_1_0()); } + (rule__NamingExpression__FactoryAssignment_1_0)? + { after(grammarAccess.getNamingExpressionAccess().getFactoryAssignment_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NamingExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NamingExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNamingExpressionAccess().getExpressionAssignment_1_1()); } + (rule__NamingExpression__ExpressionAssignment_1_1) + { after(grammarAccess.getNamingExpressionAccess().getExpressionAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QualifiedID__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifiedID__Group__0__Impl + rule__QualifiedID__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedID__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifiedIDAccess().getIdentifierParserRuleCall_0()); } + ruleIdentifier + { after(grammarAccess.getQualifiedIDAccess().getIdentifierParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedID__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifiedID__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedID__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifiedIDAccess().getGroup_1()); } + (rule__QualifiedID__Group_1__0)* + { after(grammarAccess.getQualifiedIDAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QualifiedID__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifiedID__Group_1__0__Impl + rule__QualifiedID__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedID__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); } + '::' + { after(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedID__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifiedID__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedID__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifiedIDAccess().getIdentifierParserRuleCall_1_1()); } + ruleIdentifier + { after(grammarAccess.getQualifiedIDAccess().getIdentifierParserRuleCall_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__DottedID__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__DottedID__Group__0__Impl + rule__DottedID__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__DottedID__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDottedIDAccess().getIdentifierParserRuleCall_0()); } + ruleIdentifier + { after(grammarAccess.getDottedIDAccess().getIdentifierParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DottedID__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__DottedID__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__DottedID__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDottedIDAccess().getGroup_1()); } + (rule__DottedID__Group_1__0)* + { after(grammarAccess.getDottedIDAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__DottedID__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__DottedID__Group_1__0__Impl + rule__DottedID__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__DottedID__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDottedIDAccess().getFullStopKeyword_1_0()); } + '.' + { after(grammarAccess.getDottedIDAccess().getFullStopKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DottedID__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__DottedID__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__DottedID__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDottedIDAccess().getIdentifierParserRuleCall_1_1()); } + ruleIdentifier + { after(grammarAccess.getDottedIDAccess().getIdentifierParserRuleCall_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LetExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__0__Impl + rule__LetExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } + 'let' + { after(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__1__Impl + rule__LetExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); } + (rule__LetExpression__IdentifierAssignment_1) + { after(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__2__Impl + rule__LetExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } + '=' + { after(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__3__Impl + rule__LetExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); } + (rule__LetExpression__VarExprAssignment_3) + { after(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__4__Impl + rule__LetExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } + ':' + { after(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__LetExpression__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LetExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } + (rule__LetExpression__TargetAssignment_5) + { after(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CastedExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CastedExpression__Group__0__Impl + rule__CastedExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } + '(' + { after(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CastedExpression__Group__1__Impl + rule__CastedExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); } + (rule__CastedExpression__TypeAssignment_1) + { after(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__CastedExpression__Group__2__Impl + rule__CastedExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); } + ')' + { after(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__CastedExpression__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CastedExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); } + (rule__CastedExpression__TargetAssignment_3) + { after(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ChainExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChainExpression__Group__0__Impl + rule__ChainExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } + ruleChainedExpression + { after(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChainExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChainExpressionAccess().getGroup_1()); } + (rule__ChainExpression__Group_1__0)* + { after(grammarAccess.getChainExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ChainExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChainExpression__Group_1__0__Impl + rule__ChainExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); } + () + { after(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChainExpression__Group_1__1__Impl + rule__ChainExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } + '->' + { after(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChainExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ChainExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } + (rule__ChainExpression__NextAssignment_1_2) + { after(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfExpressionTri__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group__0__Impl + rule__IfExpressionTri__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } + ruleOrExpression + { after(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } + (rule__IfExpressionTri__Group_1__0)? + { after(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfExpressionTri__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group_1__0__Impl + rule__IfExpressionTri__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } + () + { after(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group_1__1__Impl + rule__IfExpressionTri__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } + '?' + { after(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group_1__2__Impl + rule__IfExpressionTri__Group_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); } + (rule__IfExpressionTri__ThenPartAssignment_1_2) + { after(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group_1__3__Impl + rule__IfExpressionTri__Group_1__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } + ':' + { after(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionTri__Group_1__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionTri__Group_1__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); } + (rule__IfExpressionTri__ElsePartAssignment_1_4) + { after(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfExpressionKw__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group__0__Impl + rule__IfExpressionKw__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); } + 'if' + { after(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group__1__Impl + rule__IfExpressionKw__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } + (rule__IfExpressionKw__ConditionAssignment_1) + { after(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group__2__Impl + rule__IfExpressionKw__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } + 'then' + { after(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group__3__Impl + rule__IfExpressionKw__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); } + (rule__IfExpressionKw__ThenPartAssignment_3) + { after(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } + (rule__IfExpressionKw__Group_4__0)? + { after(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfExpressionKw__Group_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group_4__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); } + (rule__IfExpressionKw__Group_4_0__0) + { after(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfExpressionKw__Group_4_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group_4_0__0__Impl + rule__IfExpressionKw__Group_4_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group_4_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } + 'else' + { after(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group_4_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfExpressionKw__Group_4_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfExpressionKw__Group_4_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); } + (rule__IfExpressionKw__ElsePartAssignment_4_0_1) + { after(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SwitchExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__0__Impl + rule__SwitchExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } + 'switch' + { after(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__1__Impl + rule__SwitchExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getGroup_1()); } + (rule__SwitchExpression__Group_1__0)? + { after(grammarAccess.getSwitchExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__2__Impl + rule__SwitchExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } + '{' + { after(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__3__Impl + rule__SwitchExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } + (rule__SwitchExpression__CaseAssignment_3)* + { after(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__4__Impl + rule__SwitchExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } + 'default' + { after(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__5__Impl + rule__SwitchExpression__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } + ':' + { after(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__6__Impl + rule__SwitchExpression__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); } + (rule__SwitchExpression__DefaultExprAssignment_6) + { after(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group__7__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } + '}' + { after(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SwitchExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group_1__0__Impl + rule__SwitchExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } + '(' + { after(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group_1__1__Impl + rule__SwitchExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } + (rule__SwitchExpression__SwitchExprAssignment_1_1) + { after(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SwitchExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SwitchExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } + ')' + { after(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Case__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Case__Group__0__Impl + rule__Case__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseAccess().getCaseKeyword_0()); } + 'case' + { after(grammarAccess.getCaseAccess().getCaseKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Case__Group__1__Impl + rule__Case__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseAccess().getConditionAssignment_1()); } + (rule__Case__ConditionAssignment_1) + { after(grammarAccess.getCaseAccess().getConditionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Case__Group__2__Impl + rule__Case__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseAccess().getColonKeyword_2()); } + ':' + { after(grammarAccess.getCaseAccess().getColonKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__Case__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseAccess().getThenParAssignment_3()); } + (rule__Case__ThenParAssignment_3) + { after(grammarAccess.getCaseAccess().getThenParAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OrExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpression__Group__0__Impl + rule__OrExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } + ruleAndExpression + { after(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionAccess().getGroup_1()); } + (rule__OrExpression__Group_1__0)* + { after(grammarAccess.getOrExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OrExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpression__Group_1__0__Impl + rule__OrExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); } + () + { after(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpression__Group_1__1__Impl + rule__OrExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } + (rule__OrExpression__OperatorAssignment_1_1) + { after(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } + (rule__OrExpression__RightAssignment_1_2) + { after(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AndExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpression__Group__0__Impl + rule__AndExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } + ruleImpliesExpression + { after(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionAccess().getGroup_1()); } + (rule__AndExpression__Group_1__0)* + { after(grammarAccess.getAndExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AndExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpression__Group_1__0__Impl + rule__AndExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); } + () + { after(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpression__Group_1__1__Impl + rule__AndExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } + (rule__AndExpression__OperatorAssignment_1_1) + { after(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } + (rule__AndExpression__RightAssignment_1_2) + { after(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ImpliesExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImpliesExpression__Group__0__Impl + rule__ImpliesExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } + ruleRelationalExpression + { after(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImpliesExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } + (rule__ImpliesExpression__Group_1__0)* + { after(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ImpliesExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImpliesExpression__Group_1__0__Impl + rule__ImpliesExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); } + () + { after(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImpliesExpression__Group_1__1__Impl + rule__ImpliesExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } + (rule__ImpliesExpression__OperatorAssignment_1_1) + { after(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImpliesExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ImpliesExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } + (rule__ImpliesExpression__RightAssignment_1_2) + { after(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__RelationalExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationalExpression__Group__0__Impl + rule__RelationalExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } + ruleAdditiveExpression + { after(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationalExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRelationalExpressionAccess().getGroup_1()); } + (rule__RelationalExpression__Group_1__0)* + { after(grammarAccess.getRelationalExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__RelationalExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationalExpression__Group_1__0__Impl + rule__RelationalExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); } + () + { after(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationalExpression__Group_1__1__Impl + rule__RelationalExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } + (rule__RelationalExpression__OperatorAssignment_1_1) + { after(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationalExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationalExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } + (rule__RelationalExpression__RightAssignment_1_2) + { after(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AdditiveExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group__0__Impl + rule__AdditiveExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } + ruleMultiplicativeExpression + { after(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } + (rule__AdditiveExpression__Group_1__0)* + { after(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AdditiveExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group_1__0__Impl + rule__AdditiveExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); } + () + { after(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group_1__1__Impl + rule__AdditiveExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } + (rule__AdditiveExpression__NameAssignment_1_1) + { after(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } + (rule__AdditiveExpression__ParamsAssignment_1_2) + { after(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__MultiplicativeExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group__0__Impl + rule__MultiplicativeExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } + ruleUnaryOrInfixExpression + { after(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } + (rule__MultiplicativeExpression__Group_1__0)* + { after(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__MultiplicativeExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group_1__0__Impl + rule__MultiplicativeExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); } + () + { after(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group_1__1__Impl + rule__MultiplicativeExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); } + (rule__MultiplicativeExpression__NameAssignment_1_1) + { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); } + (rule__MultiplicativeExpression__ParamsAssignment_1_2) + { after(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnaryExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group__0__Impl + rule__UnaryExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); } + (rule__UnaryExpression__NameAssignment_0) + { after(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); } + (rule__UnaryExpression__ParamsAssignment_1) + { after(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group__0__Impl + rule__InfixExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); } + rulePrimaryExpression + { after(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); } + (rule__InfixExpression__Alternatives_1)* + { after(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__0__Impl + rule__InfixExpression__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); } + () + { after(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__1__Impl + rule__InfixExpression__Group_1_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); } + '.' + { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__2__Impl + rule__InfixExpression__Group_1_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); } + (rule__InfixExpression__NameAssignment_1_0_2) + { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__3__Impl + rule__InfixExpression__Group_1_0__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); } + '(' + { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__4__Impl + rule__InfixExpression__Group_1_0__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); } + (rule__InfixExpression__Group_1_0_4__0)? + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); } + ')' + { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_0_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0_4__0__Impl + rule__InfixExpression__Group_1_0_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); } + (rule__InfixExpression__ParamsAssignment_1_0_4_0) + { after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0_4__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); } + (rule__InfixExpression__Group_1_0_4_1__0)* + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_0_4_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0_4_1__0__Impl + rule__InfixExpression__Group_1_0_4_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); } + ',' + { after(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_0_4_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_0_4_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); } + (rule__InfixExpression__ParamsAssignment_1_0_4_1_1) + { after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_1__0__Impl + rule__InfixExpression__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); } + () + { after(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_1__1__Impl + rule__InfixExpression__Group_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); } + '.' + { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); } + (rule__InfixExpression__TypeAssignment_1_1_2) + { after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__0__Impl + rule__InfixExpression__Group_1_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); } + () + { after(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__1__Impl + rule__InfixExpression__Group_1_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); } + '.' + { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__2__Impl + rule__InfixExpression__Group_1_2__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); } + (rule__InfixExpression__NameAssignment_1_2_2) + { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__3__Impl + rule__InfixExpression__Group_1_2__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); } + '(' + { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__4__Impl + rule__InfixExpression__Group_1_2__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); } + (rule__InfixExpression__TypeAssignment_1_2_4) + { after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_2__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_2__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); } + ')' + { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__0__Impl + rule__InfixExpression__Group_1_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); } + () + { after(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__1__Impl + rule__InfixExpression__Group_1_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); } + '.' + { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__2__Impl + rule__InfixExpression__Group_1_3__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); } + (rule__InfixExpression__NameAssignment_1_3_2) + { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__3__Impl + rule__InfixExpression__Group_1_3__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); } + '(' + { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__4__Impl + rule__InfixExpression__Group_1_3__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); } + (rule__InfixExpression__Group_1_3_4__0)? + { after(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__5__Impl + rule__InfixExpression__Group_1_3__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); } + (rule__InfixExpression__ExpAssignment_1_3_5) + { after(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); } + ')' + { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfixExpression__Group_1_3_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3_4__0__Impl + rule__InfixExpression__Group_1_3_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); } + (rule__InfixExpression__VarAssignment_1_3_4_0) + { after(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfixExpression__Group_1_3_4__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__Group_1_3_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); } + '|' + { after(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ParanthesizedExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParanthesizedExpression__Group__0__Impl + rule__ParanthesizedExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesizedExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } + '(' + { after(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesizedExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParanthesizedExpression__Group__1__Impl + rule__ParanthesizedExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesizedExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); } + ruleExpression + { after(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesizedExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParanthesizedExpression__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesizedExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); } + ')' + { after(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__GlobalVarExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalVarExpression__Group__0__Impl + rule__GlobalVarExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalVarExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); } + 'GLOBALVAR' + { after(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalVarExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__GlobalVarExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__GlobalVarExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); } + (rule__GlobalVarExpression__NameAssignment_1) + { after(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OperationCall__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group__0__Impl + rule__OperationCall__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getNameAssignment_0()); } + (rule__OperationCall__NameAssignment_0) + { after(grammarAccess.getOperationCallAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group__1__Impl + rule__OperationCall__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group__2__Impl + rule__OperationCall__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getGroup_2()); } + (rule__OperationCall__Group_2__0)? + { after(grammarAccess.getOperationCallAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); } + ')' + { after(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OperationCall__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group_2__0__Impl + rule__OperationCall__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); } + (rule__OperationCall__ParamsAssignment_2_0) + { after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getGroup_2_1()); } + (rule__OperationCall__Group_2_1__0)* + { after(grammarAccess.getOperationCallAccess().getGroup_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OperationCall__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group_2_1__0__Impl + rule__OperationCall__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); } + ',' + { after(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OperationCall__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OperationCall__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); } + (rule__OperationCall__ParamsAssignment_2_1_1) + { after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ListLiteral__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group__0__Impl + rule__ListLiteral__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); } + () + { after(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group__1__Impl + rule__ListLiteral__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); } + '{' + { after(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group__2__Impl + rule__ListLiteral__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getGroup_2()); } + (rule__ListLiteral__Group_2__0)? + { after(grammarAccess.getListLiteralAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); } + '}' + { after(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ListLiteral__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group_2__0__Impl + rule__ListLiteral__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); } + (rule__ListLiteral__ElementsAssignment_2_0) + { after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getGroup_2_1()); } + (rule__ListLiteral__Group_2_1__0)* + { after(grammarAccess.getListLiteralAccess().getGroup_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ListLiteral__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group_2_1__0__Impl + rule__ListLiteral__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); } + ',' + { after(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ListLiteral__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ListLiteral__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); } + (rule__ListLiteral__ElementsAssignment_2_1_1) + { after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ConstructorCallExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConstructorCallExpression__Group__0__Impl + rule__ConstructorCallExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstructorCallExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); } + 'new' + { after(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstructorCallExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConstructorCallExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstructorCallExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); } + (rule__ConstructorCallExpression__TypeAssignment_1) + { after(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__TypeSelectExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__TypeSelectExpression__Group__0__Impl + rule__TypeSelectExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); } + (rule__TypeSelectExpression__NameAssignment_0) + { after(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__TypeSelectExpression__Group__1__Impl + rule__TypeSelectExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__TypeSelectExpression__Group__2__Impl + rule__TypeSelectExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); } + (rule__TypeSelectExpression__TypeAssignment_2) + { after(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__TypeSelectExpression__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeSelectExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); } + ')' + { after(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CollectionExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group__0__Impl + rule__CollectionExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); } + (rule__CollectionExpression__NameAssignment_0) + { after(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group__1__Impl + rule__CollectionExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group__2__Impl + rule__CollectionExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getGroup_2()); } + (rule__CollectionExpression__Group_2__0)? + { after(grammarAccess.getCollectionExpressionAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group__3__Impl + rule__CollectionExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); } + (rule__CollectionExpression__ExpAssignment_3) + { after(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); } + ')' + { after(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CollectionExpression__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group_2__0__Impl + rule__CollectionExpression__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); } + (rule__CollectionExpression__VarAssignment_2_0) + { after(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionExpression__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionExpression__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); } + '|' + { after(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CollectionType__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionType__Group__0__Impl + rule__CollectionType__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); } + (rule__CollectionType__ClAssignment_0) + { after(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionType__Group__1__Impl + rule__CollectionType__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); } + '[' + { after(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionType__Group__2__Impl + rule__CollectionType__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); } + (rule__CollectionType__Id1Assignment_2) + { after(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__CollectionType__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CollectionType__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); } + ']' + { after(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SimpleType__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SimpleType__Group__0__Impl + rule__SimpleType__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); } + (rule__SimpleType__IdAssignment_0) + { after(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SimpleType__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSimpleTypeAccess().getGroup_1()); } + (rule__SimpleType__Group_1__0)* + { after(grammarAccess.getSimpleTypeAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SimpleType__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SimpleType__Group_1__0__Impl + rule__SimpleType__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); } + '::' + { after(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SimpleType__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SimpleType__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); } + (rule__SimpleType__IdAssignment_1_1) + { after(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAssignment__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_0__0__Impl + rule__XAssignment__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0()); } + () + { after(grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_0__1__Impl + rule__XAssignment__Group_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1()); } + (rule__XAssignment__FeatureAssignment_0_1) + { after(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_0__2__Impl + rule__XAssignment__Group_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); } + ruleOpSingleAssign + { after(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_0__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3()); } + (rule__XAssignment__ValueAssignment_0_3) + { after(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAssignment__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1__0__Impl + rule__XAssignment__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); } + ruleXOrExpression + { after(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getGroup_1_1()); } + (rule__XAssignment__Group_1_1__0)? + { after(grammarAccess.getXAssignmentAccess().getGroup_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAssignment__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1_1__0__Impl + rule__XAssignment__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0()); } + (rule__XAssignment__Group_1_1_0__0) + { after(grammarAccess.getXAssignmentAccess().getGroup_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1()); } + (rule__XAssignment__RightOperandAssignment_1_1_1) + { after(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAssignment__Group_1_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0()); } + (rule__XAssignment__Group_1_1_0_0__0) + { after(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAssignment__Group_1_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1_1_0_0__0__Impl + rule__XAssignment__Group_1_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); } + () + { after(grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAssignment__Group_1_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAssignment__Group_1_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1()); } + (rule__XAssignment__FeatureAssignment_1_1_0_0_1) + { after(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpMultiAssign__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_5__0__Impl + rule__OpMultiAssign__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); } + '<' + { after(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_5__1__Impl + rule__OpMultiAssign__Group_5__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); } + '<' + { after(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_5__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_5__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_5__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); } + '=' + { after(grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpMultiAssign__Group_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_6__0__Impl + rule__OpMultiAssign__Group_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); } + '>' + { after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_6__1__Impl + rule__OpMultiAssign__Group_6__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); } + ('>')? + { after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_6__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpMultiAssign__Group_6__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpMultiAssign__Group_6__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); } + '>=' + { after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOrExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group__0__Impl + rule__XOrExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); } + ruleXAndExpression + { after(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getGroup_1()); } + (rule__XOrExpression__Group_1__0)* + { after(grammarAccess.getXOrExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOrExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group_1__0__Impl + rule__XOrExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getGroup_1_0()); } + (rule__XOrExpression__Group_1_0__0) + { after(grammarAccess.getXOrExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XOrExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOrExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0()); } + (rule__XOrExpression__Group_1_0_0__0) + { after(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOrExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group_1_0_0__0__Impl + rule__XOrExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOrExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOrExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XOrExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAndExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group__0__Impl + rule__XAndExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); } + ruleXEqualityExpression + { after(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getGroup_1()); } + (rule__XAndExpression__Group_1__0)* + { after(grammarAccess.getXAndExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAndExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group_1__0__Impl + rule__XAndExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getGroup_1_0()); } + (rule__XAndExpression__Group_1_0__0) + { after(grammarAccess.getXAndExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XAndExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAndExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0()); } + (rule__XAndExpression__Group_1_0_0__0) + { after(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAndExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group_1_0_0__0__Impl + rule__XAndExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAndExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAndExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XAndExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XEqualityExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group__0__Impl + rule__XEqualityExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); } + ruleXRelationalExpression + { after(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getGroup_1()); } + (rule__XEqualityExpression__Group_1__0)* + { after(grammarAccess.getXEqualityExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XEqualityExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group_1__0__Impl + rule__XEqualityExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0()); } + (rule__XEqualityExpression__Group_1_0__0) + { after(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XEqualityExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XEqualityExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0()); } + (rule__XEqualityExpression__Group_1_0_0__0) + { after(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XEqualityExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group_1_0_0__0__Impl + rule__XEqualityExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XEqualityExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XEqualityExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XEqualityExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group__0__Impl + rule__XRelationalExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); } + ruleXOtherOperatorExpression + { after(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1()); } + (rule__XRelationalExpression__Alternatives_1)* + { after(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_0__0__Impl + rule__XRelationalExpression__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0()); } + (rule__XRelationalExpression__Group_1_0_0__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1()); } + (rule__XRelationalExpression__TypeAssignment_1_0_1) + { after(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_0_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0()); } + (rule__XRelationalExpression__Group_1_0_0_0__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_0_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_0_0_0__0__Impl + rule__XRelationalExpression__Group_1_0_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0()); } + () + { after(grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_0_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_0_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); } + 'instanceof' + { after(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_1__0__Impl + rule__XRelationalExpression__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0()); } + (rule__XRelationalExpression__Group_1_1_0__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1()); } + (rule__XRelationalExpression__RightOperandAssignment_1_1_1) + { after(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0()); } + (rule__XRelationalExpression__Group_1_1_0_0__0) + { after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XRelationalExpression__Group_1_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_1_0_0__0__Impl + rule__XRelationalExpression__Group_1_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); } + () + { after(grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XRelationalExpression__Group_1_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XRelationalExpression__Group_1_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1()); } + (rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1) + { after(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpCompare__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpCompare__Group_1__0__Impl + rule__OpCompare__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpCompare__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); } + '<' + { after(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpCompare__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpCompare__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpCompare__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); } + '=' + { after(grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOtherOperatorExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group__0__Impl + rule__XOtherOperatorExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); } + ruleXAdditiveExpression + { after(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1()); } + (rule__XOtherOperatorExpression__Group_1__0)* + { after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOtherOperatorExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group_1__0__Impl + rule__XOtherOperatorExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0()); } + (rule__XOtherOperatorExpression__Group_1_0__0) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XOtherOperatorExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOtherOperatorExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0()); } + (rule__XOtherOperatorExpression__Group_1_0_0__0) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XOtherOperatorExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group_1_0_0__0__Impl + rule__XOtherOperatorExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XOtherOperatorExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XOtherOperatorExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_2__0__Impl + rule__OpOther__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); } + '>' + { after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); } + '..' + { after(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_5__0__Impl + rule__OpOther__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); } + '>' + { after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_5__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getAlternatives_5_1()); } + (rule__OpOther__Alternatives_5_1) + { after(grammarAccess.getOpOtherAccess().getAlternatives_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_5_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_5_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0()); } + (rule__OpOther__Group_5_1_0_0__0) + { after(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_5_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_5_1_0_0__0__Impl + rule__OpOther__Group_5_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); } + '>' + { after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_5_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_5_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); } + '>' + { after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_6__0__Impl + rule__OpOther__Group_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); } + '<' + { after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_6__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getAlternatives_6_1()); } + (rule__OpOther__Alternatives_6_1) + { after(grammarAccess.getOpOtherAccess().getAlternatives_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_6_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_6_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0()); } + (rule__OpOther__Group_6_1_0_0__0) + { after(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OpOther__Group_6_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_6_1_0_0__0__Impl + rule__OpOther__Group_6_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); } + '<' + { after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OpOther__Group_6_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OpOther__Group_6_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); } + '<' + { after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAdditiveExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group__0__Impl + rule__XAdditiveExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); } + ruleXMultiplicativeExpression + { after(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1()); } + (rule__XAdditiveExpression__Group_1__0)* + { after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAdditiveExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group_1__0__Impl + rule__XAdditiveExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0()); } + (rule__XAdditiveExpression__Group_1_0__0) + { after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XAdditiveExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAdditiveExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0()); } + (rule__XAdditiveExpression__Group_1_0_0__0) + { after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XAdditiveExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group_1_0_0__0__Impl + rule__XAdditiveExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XAdditiveExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XAdditiveExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XAdditiveExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMultiplicativeExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group__0__Impl + rule__XMultiplicativeExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); } + ruleXUnaryOperation + { after(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1()); } + (rule__XMultiplicativeExpression__Group_1__0)* + { after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMultiplicativeExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group_1__0__Impl + rule__XMultiplicativeExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0()); } + (rule__XMultiplicativeExpression__Group_1_0__0) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1()); } + (rule__XMultiplicativeExpression__RightOperandAssignment_1_1) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMultiplicativeExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0()); } + (rule__XMultiplicativeExpression__Group_1_0_0__0) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMultiplicativeExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group_1_0_0__0__Impl + rule__XMultiplicativeExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } + () + { after(grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMultiplicativeExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMultiplicativeExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1()); } + (rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XUnaryOperation__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XUnaryOperation__Group_0__0__Impl + rule__XUnaryOperation__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0()); } + () + { after(grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XUnaryOperation__Group_0__1__Impl + rule__XUnaryOperation__Group_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1()); } + (rule__XUnaryOperation__FeatureAssignment_0_1) + { after(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Group_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XUnaryOperation__Group_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XUnaryOperation__Group_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2()); } + (rule__XUnaryOperation__OperandAssignment_0_2) + { after(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCastedExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group__0__Impl + rule__XCastedExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); } + ruleXPostfixOperation + { after(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getGroup_1()); } + (rule__XCastedExpression__Group_1__0)* + { after(grammarAccess.getXCastedExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCastedExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group_1__0__Impl + rule__XCastedExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getGroup_1_0()); } + (rule__XCastedExpression__Group_1_0__0) + { after(grammarAccess.getXCastedExpressionAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1()); } + (rule__XCastedExpression__TypeAssignment_1_1) + { after(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCastedExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0()); } + (rule__XCastedExpression__Group_1_0_0__0) + { after(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCastedExpression__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group_1_0_0__0__Impl + rule__XCastedExpression__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0()); } + () + { after(grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCastedExpression__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCastedExpression__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); } + 'as' + { after(grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XPostfixOperation__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XPostfixOperation__Group__0__Impl + rule__XPostfixOperation__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); } + ruleXMemberFeatureCall + { after(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XPostfixOperation__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXPostfixOperationAccess().getGroup_1()); } + (rule__XPostfixOperation__Group_1__0)? + { after(grammarAccess.getXPostfixOperationAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XPostfixOperation__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XPostfixOperation__Group_1__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXPostfixOperationAccess().getGroup_1_0()); } + (rule__XPostfixOperation__Group_1_0__0) + { after(grammarAccess.getXPostfixOperationAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XPostfixOperation__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XPostfixOperation__Group_1_0__0__Impl + rule__XPostfixOperation__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0()); } + () + { after(grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XPostfixOperation__Group_1_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XPostfixOperation__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1()); } + (rule__XPostfixOperation__FeatureAssignment_1_0_1) + { after(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group__0__Impl + rule__XMemberFeatureCall__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); } + ruleXPrimaryExpression + { after(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1()); } + (rule__XMemberFeatureCall__Alternatives_1)* + { after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0__0__Impl + rule__XMemberFeatureCall__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0()); } + (rule__XMemberFeatureCall__Group_1_0_0__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1()); } + (rule__XMemberFeatureCall__ValueAssignment_1_0_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0()); } + (rule__XMemberFeatureCall__Group_1_0_0_0__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_0_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl + rule__XMemberFeatureCall__Group_1_0_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0()); } + () + { after(grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl + rule__XMemberFeatureCall__Group_1_0_0_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1()); } + (rule__XMemberFeatureCall__Alternatives_1_0_0_0_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl + rule__XMemberFeatureCall__Group_1_0_0_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2()); } + (rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2) + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); } + ruleOpSingleAssign + { after(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1__0__Impl + rule__XMemberFeatureCall__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0()); } + (rule__XMemberFeatureCall__Group_1_1_0__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1__1__Impl + rule__XMemberFeatureCall__Group_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1()); } + (rule__XMemberFeatureCall__Group_1_1_1__0)? + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1__2__Impl + rule__XMemberFeatureCall__Group_1_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2()); } + (rule__XMemberFeatureCall__FeatureAssignment_1_1_2) + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1__3__Impl + rule__XMemberFeatureCall__Group_1_1__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3()); } + (rule__XMemberFeatureCall__Group_1_1_3__0)? + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4()); } + (rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4)? + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0()); } + (rule__XMemberFeatureCall__Group_1_1_0_0__0) + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl + rule__XMemberFeatureCall__Group_1_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0()); } + () + { after(grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1()); } + (rule__XMemberFeatureCall__Alternatives_1_1_0_0_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1__0__Impl + rule__XMemberFeatureCall__Group_1_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); } + '<' + { after(grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1__1__Impl + rule__XMemberFeatureCall__Group_1_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1()); } + (rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1__2__Impl + rule__XMemberFeatureCall__Group_1_1_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2()); } + (rule__XMemberFeatureCall__Group_1_1_1_2__0)* + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); } + '>' + { after(grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_1_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl + rule__XMemberFeatureCall__Group_1_1_1_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); } + ',' + { after(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1()); } + (rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3__0__Impl + rule__XMemberFeatureCall__Group_1_1_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0()); } + (rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3__1__Impl + rule__XMemberFeatureCall__Group_1_1_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1()); } + (rule__XMemberFeatureCall__Alternatives_1_1_3_1)? + { after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); } + ')' + { after(grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_3_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl + rule__XMemberFeatureCall__Group_1_1_3_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0()); } + (rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0) + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1()); } + (rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0)* + { after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); } + ',' + { after(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1()); } + (rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1) + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSetLiteral__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group__0__Impl + rule__XSetLiteral__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0()); } + () + { after(grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group__1__Impl + rule__XSetLiteral__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); } + '#' + { after(grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group__2__Impl + rule__XSetLiteral__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); } + '{' + { after(grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group__3__Impl + rule__XSetLiteral__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getGroup_3()); } + (rule__XSetLiteral__Group_3__0)? + { after(grammarAccess.getXSetLiteralAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); } + '}' + { after(grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSetLiteral__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group_3__0__Impl + rule__XSetLiteral__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0()); } + (rule__XSetLiteral__ElementsAssignment_3_0) + { after(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getGroup_3_1()); } + (rule__XSetLiteral__Group_3_1__0)* + { after(grammarAccess.getXSetLiteralAccess().getGroup_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSetLiteral__Group_3_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group_3_1__0__Impl + rule__XSetLiteral__Group_3_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); } + ',' + { after(grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSetLiteral__Group_3_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSetLiteral__Group_3_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1()); } + (rule__XSetLiteral__ElementsAssignment_3_1_1) + { after(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XListLiteral__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group__0__Impl + rule__XListLiteral__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getXListLiteralAction_0()); } + () + { after(grammarAccess.getXListLiteralAccess().getXListLiteralAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group__1__Impl + rule__XListLiteral__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); } + '#' + { after(grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group__2__Impl + rule__XListLiteral__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); } + '[' + { after(grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group__3__Impl + rule__XListLiteral__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getGroup_3()); } + (rule__XListLiteral__Group_3__0)? + { after(grammarAccess.getXListLiteralAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); } + ']' + { after(grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XListLiteral__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group_3__0__Impl + rule__XListLiteral__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0()); } + (rule__XListLiteral__ElementsAssignment_3_0) + { after(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getGroup_3_1()); } + (rule__XListLiteral__Group_3_1__0)* + { after(grammarAccess.getXListLiteralAccess().getGroup_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XListLiteral__Group_3_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group_3_1__0__Impl + rule__XListLiteral__Group_3_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); } + ',' + { after(grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XListLiteral__Group_3_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__Group_3_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1()); } + (rule__XListLiteral__ElementsAssignment_3_1_1) + { after(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group__0__Impl + rule__XClosure__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_0()); } + (rule__XClosure__Group_0__0) + { after(grammarAccess.getXClosureAccess().getGroup_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group__1__Impl + rule__XClosure__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_1()); } + (rule__XClosure__Group_1__0)? + { after(grammarAccess.getXClosureAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group__2__Impl + rule__XClosure__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getExpressionAssignment_2()); } + (rule__XClosure__ExpressionAssignment_2) + { after(grammarAccess.getXClosureAccess().getExpressionAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); } + ']' + { after(grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_0_0()); } + (rule__XClosure__Group_0_0__0) + { after(grammarAccess.getXClosureAccess().getGroup_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_0_0__0__Impl + rule__XClosure__Group_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getXClosureAction_0_0_0()); } + () + { after(grammarAccess.getXClosureAccess().getXClosureAction_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); } + '[' + { after(grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_1_0()); } + (rule__XClosure__Group_1_0__0) + { after(grammarAccess.getXClosureAccess().getGroup_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0__0__Impl + rule__XClosure__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_1_0_0()); } + (rule__XClosure__Group_1_0_0__0)? + { after(grammarAccess.getXClosureAccess().getGroup_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1()); } + (rule__XClosure__ExplicitSyntaxAssignment_1_0_1) + { after(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0_0__0__Impl + rule__XClosure__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0()); } + (rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0) + { after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getGroup_1_0_0_1()); } + (rule__XClosure__Group_1_0_0_1__0)* + { after(grammarAccess.getXClosureAccess().getGroup_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XClosure__Group_1_0_0_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0_0_1__0__Impl + rule__XClosure__Group_1_0_0_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); } + ',' + { after(grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XClosure__Group_1_0_0_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XClosure__Group_1_0_0_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1()); } + (rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1) + { after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XExpressionInClosure__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XExpressionInClosure__Group__0__Impl + rule__XExpressionInClosure__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0()); } + () + { after(grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XExpressionInClosure__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXExpressionInClosureAccess().getGroup_1()); } + (rule__XExpressionInClosure__Group_1__0)* + { after(grammarAccess.getXExpressionInClosureAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XExpressionInClosure__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XExpressionInClosure__Group_1__0__Impl + rule__XExpressionInClosure__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0()); } + (rule__XExpressionInClosure__ExpressionsAssignment_1_0) + { after(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XExpressionInClosure__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XExpressionInClosure__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); } + (';')? + { after(grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XShortClosure__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group__0__Impl + rule__XShortClosure__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getGroup_0()); } + (rule__XShortClosure__Group_0__0) + { after(grammarAccess.getXShortClosureAccess().getGroup_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1()); } + (rule__XShortClosure__ExpressionAssignment_1) + { after(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XShortClosure__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getGroup_0_0()); } + (rule__XShortClosure__Group_0_0__0) + { after(grammarAccess.getXShortClosureAccess().getGroup_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XShortClosure__Group_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0__0__Impl + rule__XShortClosure__Group_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0()); } + () + { after(grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0__1__Impl + rule__XShortClosure__Group_0_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getGroup_0_0_1()); } + (rule__XShortClosure__Group_0_0_1__0)? + { after(grammarAccess.getXShortClosureAccess().getGroup_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2()); } + (rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2) + { after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XShortClosure__Group_0_0_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0_1__0__Impl + rule__XShortClosure__Group_0_0_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0()); } + (rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0) + { after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1()); } + (rule__XShortClosure__Group_0_0_1_1__0)* + { after(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XShortClosure__Group_0_0_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0_1_1__0__Impl + rule__XShortClosure__Group_0_0_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); } + ',' + { after(grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XShortClosure__Group_0_0_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XShortClosure__Group_0_0_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1()); } + (rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1) + { after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XParenthesizedExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XParenthesizedExpression__Group__0__Impl + rule__XParenthesizedExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XParenthesizedExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } + '(' + { after(grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XParenthesizedExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XParenthesizedExpression__Group__1__Impl + rule__XParenthesizedExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XParenthesizedExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); } + ruleXExpression + { after(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XParenthesizedExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XParenthesizedExpression__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XParenthesizedExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); } + ')' + { after(grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XIfExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__0__Impl + rule__XIfExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0()); } + () + { after(grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__1__Impl + rule__XIfExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); } + 'if' + { after(grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__2__Impl + rule__XIfExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); } + '(' + { after(grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__3__Impl + rule__XIfExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getIfAssignment_3()); } + (rule__XIfExpression__IfAssignment_3) + { after(grammarAccess.getXIfExpressionAccess().getIfAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__4__Impl + rule__XIfExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); } + ')' + { after(grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__5__Impl + rule__XIfExpression__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getThenAssignment_5()); } + (rule__XIfExpression__ThenAssignment_5) + { after(grammarAccess.getXIfExpressionAccess().getThenAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getGroup_6()); } + (rule__XIfExpression__Group_6__0)? + { after(grammarAccess.getXIfExpressionAccess().getGroup_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XIfExpression__Group_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group_6__0__Impl + rule__XIfExpression__Group_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); } + ('else') + { after(grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XIfExpression__Group_6__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XIfExpression__Group_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1()); } + (rule__XIfExpression__ElseAssignment_6_1) + { after(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__0__Impl + rule__XSwitchExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0()); } + () + { after(grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__1__Impl + rule__XSwitchExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); } + 'switch' + { after(grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__2__Impl + rule__XSwitchExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2()); } + (rule__XSwitchExpression__Alternatives_2) + { after(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__3__Impl + rule__XSwitchExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); } + '{' + { after(grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__4__Impl + rule__XSwitchExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4()); } + (rule__XSwitchExpression__CasesAssignment_4)* + { after(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__5__Impl + rule__XSwitchExpression__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_5()); } + (rule__XSwitchExpression__Group_5__0)? + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); } + '}' + { after(grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0__0__Impl + rule__XSwitchExpression__Group_2_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0()); } + (rule__XSwitchExpression__Group_2_0_0__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0__1__Impl + rule__XSwitchExpression__Group_2_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1()); } + (rule__XSwitchExpression__SwitchAssignment_2_0_1) + { after(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); } + ')' + { after(grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0()); } + (rule__XSwitchExpression__Group_2_0_0_0__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_0_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0_0_0__0__Impl + rule__XSwitchExpression__Group_2_0_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); } + '(' + { after(grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0_0_0__1__Impl + rule__XSwitchExpression__Group_2_0_0_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1()); } + (rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1) + { after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_0_0_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_0_0_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); } + ':' + { after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_1__0__Impl + rule__XSwitchExpression__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0()); } + (rule__XSwitchExpression__Group_2_1_0__0)? + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1()); } + (rule__XSwitchExpression__SwitchAssignment_2_1_1) + { after(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_1_0__0__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0()); } + (rule__XSwitchExpression__Group_2_1_0_0__0) + { after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_2_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_1_0_0__0__Impl + rule__XSwitchExpression__Group_2_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0()); } + (rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0) + { after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_2_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_2_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); } + ':' + { after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XSwitchExpression__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_5__0__Impl + rule__XSwitchExpression__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); } + 'default' + { after(grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_5__1__Impl + rule__XSwitchExpression__Group_5__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); } + ':' + { after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_5__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XSwitchExpression__Group_5__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XSwitchExpression__Group_5__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2()); } + (rule__XSwitchExpression__DefaultAssignment_5_2) + { after(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XCasePart__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group__0__Impl + rule__XCasePart__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getXCasePartAction_0()); } + () + { after(grammarAccess.getXCasePartAccess().getXCasePartAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group__1__Impl + rule__XCasePart__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1()); } + (rule__XCasePart__TypeGuardAssignment_1)? + { after(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group__2__Impl + rule__XCasePart__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXCasePartAccess().getGroup_2()); } + (rule__XCasePart__Group_2__0)? + { after(grammarAccess.getXCasePartAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__XCasePart__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XCasePart__Group__3__Impl @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); } - ruleBooleanLiteral - { after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); } - ruleIntegerLiteral - { after(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); } - ) - | - ( - { before(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); } - ruleNullLiteral - { after(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); } - ) - | - ( - { before(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); } - ruleRealLiteral - { after(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); } - ) - | - ( - { before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); } - ruleStringLiteral - { after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); } - ) +( + { before(grammarAccess.getXCasePartAccess().getAlternatives_3()); } + (rule__XCasePart__Alternatives_3) + { after(grammarAccess.getXCasePartAccess().getAlternatives_3()); } +) ; finally { restoreStackSize(stackSize); } -rule__BooleanLiteral__ValAlternatives_0 + +rule__XCasePart__Group_2__0 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); } - 'true' - { after(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); } - ) - | - ( - { before(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); } - 'false' - { after(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); } - ) + rule__XCasePart__Group_2__0__Impl + rule__XCasePart__Group_2__1 ; finally { restoreStackSize(stackSize); } -rule__FeatureCall__Alternatives +rule__XCasePart__Group_2__0__Impl @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); } - ruleOperationCall - { after(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); } - (rule__FeatureCall__TypeAssignment_1) - { after(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); } - ) - | - ( - { before(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); } - ruleCollectionExpression - { after(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); } - ) - | - ( - { before(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); } - ruleTypeSelectExpression - { after(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); } - ) +( + { before(grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); } + 'case' + { after(grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); } +) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__NameAlternatives_0_0 +rule__XCasePart__Group_2__1 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); } - 'collect' - { after(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); } - ) - | - ( - { before(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); } - 'select' - { after(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); } - ) - | - ( - { before(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); } - 'selectFirst' - { after(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); } - ) - | - ( - { before(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); } - 'reject' - { after(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); } - ) - | - ( - { before(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); } - 'exists' - { after(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); } - ) - | - ( - { before(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); } - 'notExists' - { after(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); } - ) - | - ( - { before(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); } - 'sortBy' - { after(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); } - ) - | - ( - { before(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); } - 'forAll' - { after(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); } - ) + rule__XCasePart__Group_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Type__Alternatives +rule__XCasePart__Group_2__1__Impl @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); } - ruleCollectionType - { after(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); } - ruleSimpleType - { after(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); } - ) +( + { before(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1()); } + (rule__XCasePart__CaseAssignment_2_1) + { after(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1()); } +) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__ClAlternatives_0_0 + +rule__XCasePart__Group_3_0__0 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); } - 'Collection' - { after(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); } - ) - | - ( - { before(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); } - 'List' - { after(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); } - ) - | - ( - { before(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); } - 'Set' - { after(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); } - ) + rule__XCasePart__Group_3_0__0__Impl + rule__XCasePart__Group_3_0__1 ; finally { restoreStackSize(stackSize); } -rule__Casing__Alternatives +rule__XCasePart__Group_3_0__0__Impl @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getCasingAccess().getSENSITIVEEnumLiteralDeclaration_0()); } - ('sensitive') - { after(grammarAccess.getCasingAccess().getSENSITIVEEnumLiteralDeclaration_0()); } - ) - | - ( - { before(grammarAccess.getCasingAccess().getINSENSITIVEEnumLiteralDeclaration_1()); } - ('insensitive') - { after(grammarAccess.getCasingAccess().getINSENSITIVEEnumLiteralDeclaration_1()); } - ) +( + { before(grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); } + ':' + { after(grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); } +) ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group__0 +rule__XCasePart__Group_3_0__1 @init { int stackSize = keepStackSize(); } : - rule__ScopeModel__Group__0__Impl - rule__ScopeModel__Group__1 + rule__XCasePart__Group_3_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group__0__Impl +rule__XCasePart__Group_3_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeModelAccess().getScopingKeyword_0()); } - 'scoping' - { after(grammarAccess.getScopeModelAccess().getScopingKeyword_0()); } + { before(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1()); } + (rule__XCasePart__ThenAssignment_3_0_1) + { after(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group__1 + +rule__XForLoopExpression__Group__0 @init { int stackSize = keepStackSize(); } : - rule__ScopeModel__Group__1__Impl - rule__ScopeModel__Group__2 + rule__XForLoopExpression__Group__0__Impl + rule__XForLoopExpression__Group__1 ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group__1__Impl +rule__XForLoopExpression__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeModelAccess().getNameAssignment_1()); } - (rule__ScopeModel__NameAssignment_1) - { after(grammarAccess.getScopeModelAccess().getNameAssignment_1()); } + { before(grammarAccess.getXForLoopExpressionAccess().getGroup_0()); } + (rule__XForLoopExpression__Group_0__0) + { after(grammarAccess.getXForLoopExpressionAccess().getGroup_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group__2 +rule__XForLoopExpression__Group__1 @init { int stackSize = keepStackSize(); } : - rule__ScopeModel__Group__2__Impl - rule__ScopeModel__Group__3 + rule__XForLoopExpression__Group__1__Impl + rule__XForLoopExpression__Group__2 ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group__2__Impl +rule__XForLoopExpression__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeModelAccess().getGroup_2()); } - (rule__ScopeModel__Group_2__0)? - { after(grammarAccess.getScopeModelAccess().getGroup_2()); } + { before(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1()); } + (rule__XForLoopExpression__ForExpressionAssignment_1) + { after(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group__3 +rule__XForLoopExpression__Group__2 @init { int stackSize = keepStackSize(); } : - rule__ScopeModel__Group__3__Impl - rule__ScopeModel__Group__4 + rule__XForLoopExpression__Group__2__Impl + rule__XForLoopExpression__Group__3 ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group__3__Impl +rule__XForLoopExpression__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeModelAccess().getImportsAssignment_3()); } - (rule__ScopeModel__ImportsAssignment_3)* - { after(grammarAccess.getScopeModelAccess().getImportsAssignment_3()); } + { before(grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); } + ')' + { after(grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group__4 +rule__XForLoopExpression__Group__3 @init { int stackSize = keepStackSize(); } : - rule__ScopeModel__Group__4__Impl - rule__ScopeModel__Group__5 + rule__XForLoopExpression__Group__3__Impl ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group__4__Impl +rule__XForLoopExpression__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeModelAccess().getExtensionsAssignment_4()); } - (rule__ScopeModel__ExtensionsAssignment_4)* - { after(grammarAccess.getScopeModelAccess().getExtensionsAssignment_4()); } + { before(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3()); } + (rule__XForLoopExpression__EachExpressionAssignment_3) + { after(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group__5 + +rule__XForLoopExpression__Group_0__0 @init { int stackSize = keepStackSize(); } : - rule__ScopeModel__Group__5__Impl - rule__ScopeModel__Group__6 + rule__XForLoopExpression__Group_0__0__Impl ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group__5__Impl +rule__XForLoopExpression__Group_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeModelAccess().getInjectionsAssignment_5()); } - (rule__ScopeModel__InjectionsAssignment_5)* - { after(grammarAccess.getScopeModelAccess().getInjectionsAssignment_5()); } + { before(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0()); } + (rule__XForLoopExpression__Group_0_0__0) + { after(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group__6 + +rule__XForLoopExpression__Group_0_0__0 @init { int stackSize = keepStackSize(); } : - rule__ScopeModel__Group__6__Impl - rule__ScopeModel__Group__7 + rule__XForLoopExpression__Group_0_0__0__Impl + rule__XForLoopExpression__Group_0_0__1 ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group__6__Impl +rule__XForLoopExpression__Group_0_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeModelAccess().getNamingAssignment_6()); } - (rule__ScopeModel__NamingAssignment_6)? - { after(grammarAccess.getScopeModelAccess().getNamingAssignment_6()); } + { before(grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0()); } + () + { after(grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group__7 +rule__XForLoopExpression__Group_0_0__1 @init { int stackSize = keepStackSize(); } : - rule__ScopeModel__Group__7__Impl + rule__XForLoopExpression__Group_0_0__1__Impl + rule__XForLoopExpression__Group_0_0__2 ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group__7__Impl +rule__XForLoopExpression__Group_0_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeModelAccess().getScopesAssignment_7()); } - (rule__ScopeModel__ScopesAssignment_7)* - { after(grammarAccess.getScopeModelAccess().getScopesAssignment_7()); } + { before(grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); } + 'for' + { after(grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ScopeModel__Group_2__0 +rule__XForLoopExpression__Group_0_0__2 @init { int stackSize = keepStackSize(); } : - rule__ScopeModel__Group_2__0__Impl - rule__ScopeModel__Group_2__1 + rule__XForLoopExpression__Group_0_0__2__Impl + rule__XForLoopExpression__Group_0_0__3 ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group_2__0__Impl +rule__XForLoopExpression__Group_0_0__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeModelAccess().getWithKeyword_2_0()); } - 'with' - { after(grammarAccess.getScopeModelAccess().getWithKeyword_2_0()); } + { before(grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } + '(' + { after(grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group_2__1 +rule__XForLoopExpression__Group_0_0__3 @init { int stackSize = keepStackSize(); } : - rule__ScopeModel__Group_2__1__Impl + rule__XForLoopExpression__Group_0_0__3__Impl + rule__XForLoopExpression__Group_0_0__4 ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__Group_2__1__Impl +rule__XForLoopExpression__Group_0_0__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeModelAccess().getIncludedScopesAssignment_2_1()); } - (rule__ScopeModel__IncludedScopesAssignment_2_1) - { after(grammarAccess.getScopeModelAccess().getIncludedScopesAssignment_2_1()); } + { before(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3()); } + (rule__XForLoopExpression__DeclaredParamAssignment_0_0_3) + { after(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Import__Group__0 +rule__XForLoopExpression__Group_0_0__4 @init { int stackSize = keepStackSize(); } : - rule__Import__Group__0__Impl - rule__Import__Group__1 + rule__XForLoopExpression__Group_0_0__4__Impl ; finally { restoreStackSize(stackSize); } -rule__Import__Group__0__Impl +rule__XForLoopExpression__Group_0_0__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImportAccess().getImportKeyword_0()); } - 'import' - { after(grammarAccess.getImportAccess().getImportKeyword_0()); } + { before(grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); } + ':' + { after(grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__Import__Group__1 + +rule__XBasicForLoopExpression__Group__0 @init { int stackSize = keepStackSize(); } -: - rule__Import__Group__1__Impl - rule__Import__Group__2 +: + rule__XBasicForLoopExpression__Group__0__Impl + rule__XBasicForLoopExpression__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Import__Group__1__Impl +rule__XBasicForLoopExpression__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImportAccess().getPackageAssignment_1()); } - (rule__Import__PackageAssignment_1) - { after(grammarAccess.getImportAccess().getPackageAssignment_1()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0()); } + () + { after(grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Import__Group__2 +rule__XBasicForLoopExpression__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Import__Group__2__Impl + rule__XBasicForLoopExpression__Group__1__Impl + rule__XBasicForLoopExpression__Group__2 ; finally { restoreStackSize(stackSize); } -rule__Import__Group__2__Impl +rule__XBasicForLoopExpression__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImportAccess().getGroup_2()); } - (rule__Import__Group_2__0)? - { after(grammarAccess.getImportAccess().getGroup_2()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); } + 'for' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Import__Group_2__0 +rule__XBasicForLoopExpression__Group__2 @init { int stackSize = keepStackSize(); } : - rule__Import__Group_2__0__Impl - rule__Import__Group_2__1 + rule__XBasicForLoopExpression__Group__2__Impl + rule__XBasicForLoopExpression__Group__3 ; finally { restoreStackSize(stackSize); } -rule__Import__Group_2__0__Impl +rule__XBasicForLoopExpression__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImportAccess().getAsKeyword_2_0()); } - 'as' - { after(grammarAccess.getImportAccess().getAsKeyword_2_0()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); } + '(' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Import__Group_2__1 +rule__XBasicForLoopExpression__Group__3 @init { int stackSize = keepStackSize(); } : - rule__Import__Group_2__1__Impl + rule__XBasicForLoopExpression__Group__3__Impl + rule__XBasicForLoopExpression__Group__4 ; finally { restoreStackSize(stackSize); } -rule__Import__Group_2__1__Impl +rule__XBasicForLoopExpression__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImportAccess().getNameAssignment_2_1()); } - (rule__Import__NameAssignment_2_1) - { after(grammarAccess.getImportAccess().getNameAssignment_2_1()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3()); } + (rule__XBasicForLoopExpression__Group_3__0)? + { after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Extension__Group__0 +rule__XBasicForLoopExpression__Group__4 @init { int stackSize = keepStackSize(); } : - rule__Extension__Group__0__Impl - rule__Extension__Group__1 + rule__XBasicForLoopExpression__Group__4__Impl + rule__XBasicForLoopExpression__Group__5 ; finally { restoreStackSize(stackSize); } -rule__Extension__Group__0__Impl +rule__XBasicForLoopExpression__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExtensionAccess().getExtensionKeyword_0()); } - 'extension' - { after(grammarAccess.getExtensionAccess().getExtensionKeyword_0()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); } + ';' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__Extension__Group__1 +rule__XBasicForLoopExpression__Group__5 @init { int stackSize = keepStackSize(); } : - rule__Extension__Group__1__Impl + rule__XBasicForLoopExpression__Group__5__Impl + rule__XBasicForLoopExpression__Group__6 ; finally { restoreStackSize(stackSize); } -rule__Extension__Group__1__Impl +rule__XBasicForLoopExpression__Group__5__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExtensionAccess().getExtensionAssignment_1()); } - (rule__Extension__ExtensionAssignment_1) - { after(grammarAccess.getExtensionAccess().getExtensionAssignment_1()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5()); } + (rule__XBasicForLoopExpression__ExpressionAssignment_5)? + { after(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Injection__Group__0 +rule__XBasicForLoopExpression__Group__6 @init { int stackSize = keepStackSize(); } : - rule__Injection__Group__0__Impl - rule__Injection__Group__1 + rule__XBasicForLoopExpression__Group__6__Impl + rule__XBasicForLoopExpression__Group__7 ; finally { restoreStackSize(stackSize); } -rule__Injection__Group__0__Impl +rule__XBasicForLoopExpression__Group__6__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInjectionAccess().getInjectKeyword_0()); } - 'inject' - { after(grammarAccess.getInjectionAccess().getInjectKeyword_0()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); } + ';' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); } ) ; finally { restoreStackSize(stackSize); } -rule__Injection__Group__1 +rule__XBasicForLoopExpression__Group__7 @init { int stackSize = keepStackSize(); } : - rule__Injection__Group__1__Impl - rule__Injection__Group__2 + rule__XBasicForLoopExpression__Group__7__Impl + rule__XBasicForLoopExpression__Group__8 ; finally { restoreStackSize(stackSize); } -rule__Injection__Group__1__Impl +rule__XBasicForLoopExpression__Group__7__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInjectionAccess().getTypeAssignment_1()); } - (rule__Injection__TypeAssignment_1) - { after(grammarAccess.getInjectionAccess().getTypeAssignment_1()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7()); } + (rule__XBasicForLoopExpression__Group_7__0)? + { after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7()); } ) ; finally { restoreStackSize(stackSize); } -rule__Injection__Group__2 +rule__XBasicForLoopExpression__Group__8 @init { int stackSize = keepStackSize(); } : - rule__Injection__Group__2__Impl - rule__Injection__Group__3 + rule__XBasicForLoopExpression__Group__8__Impl + rule__XBasicForLoopExpression__Group__9 ; finally { restoreStackSize(stackSize); } -rule__Injection__Group__2__Impl +rule__XBasicForLoopExpression__Group__8__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInjectionAccess().getAsKeyword_2()); } - 'as' - { after(grammarAccess.getInjectionAccess().getAsKeyword_2()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); } + ')' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); } ) ; finally { restoreStackSize(stackSize); } -rule__Injection__Group__3 +rule__XBasicForLoopExpression__Group__9 @init { int stackSize = keepStackSize(); } : - rule__Injection__Group__3__Impl + rule__XBasicForLoopExpression__Group__9__Impl ; finally { restoreStackSize(stackSize); } -rule__Injection__Group__3__Impl +rule__XBasicForLoopExpression__Group__9__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInjectionAccess().getNameAssignment_3()); } - (rule__Injection__NameAssignment_3) - { after(grammarAccess.getInjectionAccess().getNameAssignment_3()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9()); } + (rule__XBasicForLoopExpression__EachExpressionAssignment_9) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9()); } ) ; finally { @@ -2867,161 +19341,161 @@ finally { } -rule__NamingSection__Group__0 +rule__XBasicForLoopExpression__Group_3__0 @init { int stackSize = keepStackSize(); } : - rule__NamingSection__Group__0__Impl - rule__NamingSection__Group__1 + rule__XBasicForLoopExpression__Group_3__0__Impl + rule__XBasicForLoopExpression__Group_3__1 ; finally { restoreStackSize(stackSize); } -rule__NamingSection__Group__0__Impl +rule__XBasicForLoopExpression__Group_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingSectionAccess().getNamingSectionAction_0()); } - () - { after(grammarAccess.getNamingSectionAccess().getNamingSectionAction_0()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0()); } + (rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingSection__Group__1 +rule__XBasicForLoopExpression__Group_3__1 @init { int stackSize = keepStackSize(); } : - rule__NamingSection__Group__1__Impl - rule__NamingSection__Group__2 + rule__XBasicForLoopExpression__Group_3__1__Impl ; finally { restoreStackSize(stackSize); } -rule__NamingSection__Group__1__Impl +rule__XBasicForLoopExpression__Group_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingSectionAccess().getGroup_1()); } - (rule__NamingSection__Group_1__0)? - { after(grammarAccess.getNamingSectionAccess().getGroup_1()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1()); } + (rule__XBasicForLoopExpression__Group_3_1__0)* + { after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingSection__Group__2 + +rule__XBasicForLoopExpression__Group_3_1__0 @init { int stackSize = keepStackSize(); } : - rule__NamingSection__Group__2__Impl - rule__NamingSection__Group__3 + rule__XBasicForLoopExpression__Group_3_1__0__Impl + rule__XBasicForLoopExpression__Group_3_1__1 ; finally { restoreStackSize(stackSize); } -rule__NamingSection__Group__2__Impl +rule__XBasicForLoopExpression__Group_3_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingSectionAccess().getNamingKeyword_2()); } - 'naming' - { after(grammarAccess.getNamingSectionAccess().getNamingKeyword_2()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); } + ',' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingSection__Group__3 +rule__XBasicForLoopExpression__Group_3_1__1 @init { int stackSize = keepStackSize(); } : - rule__NamingSection__Group__3__Impl - rule__NamingSection__Group__4 + rule__XBasicForLoopExpression__Group_3_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__NamingSection__Group__3__Impl +rule__XBasicForLoopExpression__Group_3_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingSectionAccess().getLeftCurlyBracketKeyword_3()); } - '{' - { after(grammarAccess.getNamingSectionAccess().getLeftCurlyBracketKeyword_3()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1()); } + (rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingSection__Group__4 + +rule__XBasicForLoopExpression__Group_7__0 @init { int stackSize = keepStackSize(); } : - rule__NamingSection__Group__4__Impl - rule__NamingSection__Group__5 + rule__XBasicForLoopExpression__Group_7__0__Impl + rule__XBasicForLoopExpression__Group_7__1 ; finally { restoreStackSize(stackSize); } -rule__NamingSection__Group__4__Impl +rule__XBasicForLoopExpression__Group_7__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingSectionAccess().getNamingsAssignment_4()); } - (rule__NamingSection__NamingsAssignment_4)* - { after(grammarAccess.getNamingSectionAccess().getNamingsAssignment_4()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0()); } + (rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingSection__Group__5 +rule__XBasicForLoopExpression__Group_7__1 @init { int stackSize = keepStackSize(); } : - rule__NamingSection__Group__5__Impl + rule__XBasicForLoopExpression__Group_7__1__Impl ; finally { restoreStackSize(stackSize); } -rule__NamingSection__Group__5__Impl +rule__XBasicForLoopExpression__Group_7__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingSectionAccess().getRightCurlyBracketKeyword_5()); } - '}' - { after(grammarAccess.getNamingSectionAccess().getRightCurlyBracketKeyword_5()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1()); } + (rule__XBasicForLoopExpression__Group_7_1__0)* + { after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1()); } ) ; finally { @@ -3029,53 +19503,53 @@ finally { } -rule__NamingSection__Group_1__0 +rule__XBasicForLoopExpression__Group_7_1__0 @init { int stackSize = keepStackSize(); } : - rule__NamingSection__Group_1__0__Impl - rule__NamingSection__Group_1__1 + rule__XBasicForLoopExpression__Group_7_1__0__Impl + rule__XBasicForLoopExpression__Group_7_1__1 ; finally { restoreStackSize(stackSize); } -rule__NamingSection__Group_1__0__Impl +rule__XBasicForLoopExpression__Group_7_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingSectionAccess().getCaseKeyword_1_0()); } - 'case' - { after(grammarAccess.getNamingSectionAccess().getCaseKeyword_1_0()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); } + ',' + { after(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingSection__Group_1__1 +rule__XBasicForLoopExpression__Group_7_1__1 @init { int stackSize = keepStackSize(); } : - rule__NamingSection__Group_1__1__Impl + rule__XBasicForLoopExpression__Group_7_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__NamingSection__Group_1__1__Impl +rule__XBasicForLoopExpression__Group_7_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingSectionAccess().getCasingAssignment_1_1()); } - (rule__NamingSection__CasingAssignment_1_1) - { after(grammarAccess.getNamingSectionAccess().getCasingAssignment_1_1()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1()); } + (rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1) + { after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1()); } ) ; finally { @@ -3083,357 +19557,350 @@ finally { } -rule__NamingDefinition__Group__0 +rule__XWhileExpression__Group__0 @init { int stackSize = keepStackSize(); } : - rule__NamingDefinition__Group__0__Impl - rule__NamingDefinition__Group__1 + rule__XWhileExpression__Group__0__Impl + rule__XWhileExpression__Group__1 ; finally { restoreStackSize(stackSize); } -rule__NamingDefinition__Group__0__Impl +rule__XWhileExpression__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingDefinitionAccess().getTypeAssignment_0()); } - (rule__NamingDefinition__TypeAssignment_0) - { after(grammarAccess.getNamingDefinitionAccess().getTypeAssignment_0()); } + { before(grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0()); } + () + { after(grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingDefinition__Group__1 +rule__XWhileExpression__Group__1 @init { int stackSize = keepStackSize(); } : - rule__NamingDefinition__Group__1__Impl - rule__NamingDefinition__Group__2 + rule__XWhileExpression__Group__1__Impl + rule__XWhileExpression__Group__2 ; finally { restoreStackSize(stackSize); } -rule__NamingDefinition__Group__1__Impl +rule__XWhileExpression__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingDefinitionAccess().getEqualsSignKeyword_1()); } - '=' - { after(grammarAccess.getNamingDefinitionAccess().getEqualsSignKeyword_1()); } + { before(grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); } + 'while' + { after(grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingDefinition__Group__2 +rule__XWhileExpression__Group__2 @init { int stackSize = keepStackSize(); } : - rule__NamingDefinition__Group__2__Impl - rule__NamingDefinition__Group__3 + rule__XWhileExpression__Group__2__Impl + rule__XWhileExpression__Group__3 ; finally { restoreStackSize(stackSize); } -rule__NamingDefinition__Group__2__Impl +rule__XWhileExpression__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingDefinitionAccess().getNamingAssignment_2()); } - (rule__NamingDefinition__NamingAssignment_2) - { after(grammarAccess.getNamingDefinitionAccess().getNamingAssignment_2()); } + { before(grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); } + '(' + { after(grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingDefinition__Group__3 +rule__XWhileExpression__Group__3 @init { int stackSize = keepStackSize(); } : - rule__NamingDefinition__Group__3__Impl + rule__XWhileExpression__Group__3__Impl + rule__XWhileExpression__Group__4 ; finally { restoreStackSize(stackSize); } -rule__NamingDefinition__Group__3__Impl +rule__XWhileExpression__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingDefinitionAccess().getSemicolonKeyword_3()); } - ';' - { after(grammarAccess.getNamingDefinitionAccess().getSemicolonKeyword_3()); } + { before(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3()); } + (rule__XWhileExpression__PredicateAssignment_3) + { after(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ScopeDefinition__Group__0 +rule__XWhileExpression__Group__4 @init { int stackSize = keepStackSize(); } : - rule__ScopeDefinition__Group__0__Impl - rule__ScopeDefinition__Group__1 + rule__XWhileExpression__Group__4__Impl + rule__XWhileExpression__Group__5 ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group__0__Impl +rule__XWhileExpression__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDefinitionAccess().getScopeKeyword_0()); } - 'scope' - { after(grammarAccess.getScopeDefinitionAccess().getScopeKeyword_0()); } + { before(grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); } + ')' + { after(grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group__1 +rule__XWhileExpression__Group__5 @init { int stackSize = keepStackSize(); } : - rule__ScopeDefinition__Group__1__Impl - rule__ScopeDefinition__Group__2 + rule__XWhileExpression__Group__5__Impl ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group__1__Impl +rule__XWhileExpression__Group__5__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDefinitionAccess().getGroup_1()); } - (rule__ScopeDefinition__Group_1__0)? - { after(grammarAccess.getScopeDefinitionAccess().getGroup_1()); } + { before(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5()); } + (rule__XWhileExpression__BodyAssignment_5) + { after(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group__2 + +rule__XDoWhileExpression__Group__0 @init { int stackSize = keepStackSize(); } : - rule__ScopeDefinition__Group__2__Impl - rule__ScopeDefinition__Group__3 + rule__XDoWhileExpression__Group__0__Impl + rule__XDoWhileExpression__Group__1 ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group__2__Impl +rule__XDoWhileExpression__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDefinitionAccess().getAlternatives_2()); } - (rule__ScopeDefinition__Alternatives_2) - { after(grammarAccess.getScopeDefinitionAccess().getAlternatives_2()); } + { before(grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0()); } + () + { after(grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group__3 +rule__XDoWhileExpression__Group__1 @init { int stackSize = keepStackSize(); } : - rule__ScopeDefinition__Group__3__Impl - rule__ScopeDefinition__Group__4 + rule__XDoWhileExpression__Group__1__Impl + rule__XDoWhileExpression__Group__2 ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group__3__Impl +rule__XDoWhileExpression__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDefinitionAccess().getLeftCurlyBracketKeyword_3()); } - '{' - { after(grammarAccess.getScopeDefinitionAccess().getLeftCurlyBracketKeyword_3()); } + { before(grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); } + 'do' + { after(grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group__4 +rule__XDoWhileExpression__Group__2 @init { int stackSize = keepStackSize(); } : - rule__ScopeDefinition__Group__4__Impl - rule__ScopeDefinition__Group__5 + rule__XDoWhileExpression__Group__2__Impl + rule__XDoWhileExpression__Group__3 ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group__4__Impl +rule__XDoWhileExpression__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - ( - { before(grammarAccess.getScopeDefinitionAccess().getRulesAssignment_4()); } - (rule__ScopeDefinition__RulesAssignment_4) - { after(grammarAccess.getScopeDefinitionAccess().getRulesAssignment_4()); } - ) - ( - { before(grammarAccess.getScopeDefinitionAccess().getRulesAssignment_4()); } - (rule__ScopeDefinition__RulesAssignment_4)* - { after(grammarAccess.getScopeDefinitionAccess().getRulesAssignment_4()); } - ) + { before(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2()); } + (rule__XDoWhileExpression__BodyAssignment_2) + { after(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group__5 +rule__XDoWhileExpression__Group__3 @init { int stackSize = keepStackSize(); } : - rule__ScopeDefinition__Group__5__Impl + rule__XDoWhileExpression__Group__3__Impl + rule__XDoWhileExpression__Group__4 ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group__5__Impl +rule__XDoWhileExpression__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDefinitionAccess().getRightCurlyBracketKeyword_5()); } - '}' - { after(grammarAccess.getScopeDefinitionAccess().getRightCurlyBracketKeyword_5()); } + { before(grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); } + 'while' + { after(grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ScopeDefinition__Group_1__0 +rule__XDoWhileExpression__Group__4 @init { int stackSize = keepStackSize(); } : - rule__ScopeDefinition__Group_1__0__Impl - rule__ScopeDefinition__Group_1__1 + rule__XDoWhileExpression__Group__4__Impl + rule__XDoWhileExpression__Group__5 ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group_1__0__Impl +rule__XDoWhileExpression__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDefinitionAccess().getLeftParenthesisKeyword_1_0()); } + { before(grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); } '(' - { after(grammarAccess.getScopeDefinitionAccess().getLeftParenthesisKeyword_1_0()); } + { after(grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group_1__1 +rule__XDoWhileExpression__Group__5 @init { int stackSize = keepStackSize(); } : - rule__ScopeDefinition__Group_1__1__Impl - rule__ScopeDefinition__Group_1__2 + rule__XDoWhileExpression__Group__5__Impl + rule__XDoWhileExpression__Group__6 ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group_1__1__Impl +rule__XDoWhileExpression__Group__5__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDefinitionAccess().getNameAssignment_1_1()); } - (rule__ScopeDefinition__NameAssignment_1_1) - { after(grammarAccess.getScopeDefinitionAccess().getNameAssignment_1_1()); } + { before(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5()); } + (rule__XDoWhileExpression__PredicateAssignment_5) + { after(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group_1__2 +rule__XDoWhileExpression__Group__6 @init { int stackSize = keepStackSize(); } : - rule__ScopeDefinition__Group_1__2__Impl + rule__XDoWhileExpression__Group__6__Impl ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group_1__2__Impl +rule__XDoWhileExpression__Group__6__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDefinitionAccess().getRightParenthesisKeyword_1_2()); } + { before(grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); } ')' - { after(grammarAccess.getScopeDefinitionAccess().getRightParenthesisKeyword_1_2()); } + { after(grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); } ) ; finally { @@ -3441,296 +19908,296 @@ finally { } -rule__ScopeDefinition__Group_2_1__0 +rule__XBlockExpression__Group__0 @init { int stackSize = keepStackSize(); } : - rule__ScopeDefinition__Group_2_1__0__Impl - rule__ScopeDefinition__Group_2_1__1 + rule__XBlockExpression__Group__0__Impl + rule__XBlockExpression__Group__1 ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group_2_1__0__Impl +rule__XBlockExpression__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDefinitionAccess().getContextTypeAssignment_2_1_0()); } - (rule__ScopeDefinition__ContextTypeAssignment_2_1_0) - { after(grammarAccess.getScopeDefinitionAccess().getContextTypeAssignment_2_1_0()); } + { before(grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0()); } + () + { after(grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group_2_1__1 +rule__XBlockExpression__Group__1 @init { int stackSize = keepStackSize(); } : - rule__ScopeDefinition__Group_2_1__1__Impl - rule__ScopeDefinition__Group_2_1__2 + rule__XBlockExpression__Group__1__Impl + rule__XBlockExpression__Group__2 ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group_2_1__1__Impl +rule__XBlockExpression__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDefinitionAccess().getNumberSignKeyword_2_1_1()); } - '#' - { after(grammarAccess.getScopeDefinitionAccess().getNumberSignKeyword_2_1_1()); } + { before(grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); } + '{' + { after(grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group_2_1__2 +rule__XBlockExpression__Group__2 @init { int stackSize = keepStackSize(); } : - rule__ScopeDefinition__Group_2_1__2__Impl + rule__XBlockExpression__Group__2__Impl + rule__XBlockExpression__Group__3 ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__Group_2_1__2__Impl +rule__XBlockExpression__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDefinitionAccess().getReferenceAssignment_2_1_2()); } - (rule__ScopeDefinition__ReferenceAssignment_2_1_2) - { after(grammarAccess.getScopeDefinitionAccess().getReferenceAssignment_2_1_2()); } + { before(grammarAccess.getXBlockExpressionAccess().getGroup_2()); } + (rule__XBlockExpression__Group_2__0)* + { after(grammarAccess.getXBlockExpressionAccess().getGroup_2()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ScopeRule__Group__0 +rule__XBlockExpression__Group__3 @init { int stackSize = keepStackSize(); } : - rule__ScopeRule__Group__0__Impl - rule__ScopeRule__Group__1 + rule__XBlockExpression__Group__3__Impl ; finally { restoreStackSize(stackSize); } -rule__ScopeRule__Group__0__Impl +rule__XBlockExpression__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeRuleAccess().getContextKeyword_0()); } - 'context' - { after(grammarAccess.getScopeRuleAccess().getContextKeyword_0()); } + { before(grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); } + '}' + { after(grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeRule__Group__1 + +rule__XBlockExpression__Group_2__0 @init { int stackSize = keepStackSize(); } : - rule__ScopeRule__Group__1__Impl - rule__ScopeRule__Group__2 + rule__XBlockExpression__Group_2__0__Impl + rule__XBlockExpression__Group_2__1 ; finally { restoreStackSize(stackSize); } -rule__ScopeRule__Group__1__Impl +rule__XBlockExpression__Group_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeRuleAccess().getContextAssignment_1()); } - (rule__ScopeRule__ContextAssignment_1) - { after(grammarAccess.getScopeRuleAccess().getContextAssignment_1()); } + { before(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0()); } + (rule__XBlockExpression__ExpressionsAssignment_2_0) + { after(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeRule__Group__2 +rule__XBlockExpression__Group_2__1 @init { int stackSize = keepStackSize(); } : - rule__ScopeRule__Group__2__Impl - rule__ScopeRule__Group__3 + rule__XBlockExpression__Group_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ScopeRule__Group__2__Impl +rule__XBlockExpression__Group_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeRuleAccess().getEqualsSignKeyword_2()); } - '=' - { after(grammarAccess.getScopeRuleAccess().getEqualsSignKeyword_2()); } + { before(grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); } + (';')? + { after(grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeRule__Group__3 + +rule__XVariableDeclaration__Group__0 @init { int stackSize = keepStackSize(); } : - rule__ScopeRule__Group__3__Impl - rule__ScopeRule__Group__4 + rule__XVariableDeclaration__Group__0__Impl + rule__XVariableDeclaration__Group__1 ; finally { restoreStackSize(stackSize); } -rule__ScopeRule__Group__3__Impl +rule__XVariableDeclaration__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeRuleAccess().getExprsAssignment_3()); } - (rule__ScopeRule__ExprsAssignment_3) - { after(grammarAccess.getScopeRuleAccess().getExprsAssignment_3()); } + { before(grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0()); } + () + { after(grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeRule__Group__4 +rule__XVariableDeclaration__Group__1 @init { int stackSize = keepStackSize(); } : - rule__ScopeRule__Group__4__Impl - rule__ScopeRule__Group__5 + rule__XVariableDeclaration__Group__1__Impl + rule__XVariableDeclaration__Group__2 ; finally { restoreStackSize(stackSize); } -rule__ScopeRule__Group__4__Impl +rule__XVariableDeclaration__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeRuleAccess().getGroup_4()); } - (rule__ScopeRule__Group_4__0)* - { after(grammarAccess.getScopeRuleAccess().getGroup_4()); } + { before(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1()); } + (rule__XVariableDeclaration__Alternatives_1) + { after(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeRule__Group__5 +rule__XVariableDeclaration__Group__2 @init { int stackSize = keepStackSize(); } : - rule__ScopeRule__Group__5__Impl + rule__XVariableDeclaration__Group__2__Impl + rule__XVariableDeclaration__Group__3 ; finally { restoreStackSize(stackSize); } -rule__ScopeRule__Group__5__Impl +rule__XVariableDeclaration__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeRuleAccess().getSemicolonKeyword_5()); } - ';' - { after(grammarAccess.getScopeRuleAccess().getSemicolonKeyword_5()); } + { before(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2()); } + (rule__XVariableDeclaration__Alternatives_2) + { after(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ScopeRule__Group_4__0 +rule__XVariableDeclaration__Group__3 @init { int stackSize = keepStackSize(); } : - rule__ScopeRule__Group_4__0__Impl - rule__ScopeRule__Group_4__1 + rule__XVariableDeclaration__Group__3__Impl ; finally { restoreStackSize(stackSize); } -rule__ScopeRule__Group_4__0__Impl +rule__XVariableDeclaration__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeRuleAccess().getGreaterThanSignGreaterThanSignKeyword_4_0()); } - '>>' - { after(grammarAccess.getScopeRuleAccess().getGreaterThanSignGreaterThanSignKeyword_4_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getGroup_3()); } + (rule__XVariableDeclaration__Group_3__0)? + { after(grammarAccess.getXVariableDeclarationAccess().getGroup_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeRule__Group_4__1 + +rule__XVariableDeclaration__Group_2_0__0 @init { int stackSize = keepStackSize(); } : - rule__ScopeRule__Group_4__1__Impl + rule__XVariableDeclaration__Group_2_0__0__Impl ; finally { restoreStackSize(stackSize); } -rule__ScopeRule__Group_4__1__Impl +rule__XVariableDeclaration__Group_2_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeRuleAccess().getExprsAssignment_4_1()); } - (rule__ScopeRule__ExprsAssignment_4_1) - { after(grammarAccess.getScopeRuleAccess().getExprsAssignment_4_1()); } + { before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0()); } + (rule__XVariableDeclaration__Group_2_0_0__0) + { after(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0()); } ) ; finally { @@ -3738,53 +20205,53 @@ finally { } -rule__ScopeContext__Group__0 +rule__XVariableDeclaration__Group_2_0_0__0 @init { int stackSize = keepStackSize(); } : - rule__ScopeContext__Group__0__Impl - rule__ScopeContext__Group__1 + rule__XVariableDeclaration__Group_2_0_0__0__Impl + rule__XVariableDeclaration__Group_2_0_0__1 ; finally { restoreStackSize(stackSize); } -rule__ScopeContext__Group__0__Impl +rule__XVariableDeclaration__Group_2_0_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeContextAccess().getAlternatives_0()); } - (rule__ScopeContext__Alternatives_0) - { after(grammarAccess.getScopeContextAccess().getAlternatives_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0()); } + (rule__XVariableDeclaration__TypeAssignment_2_0_0_0) + { after(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeContext__Group__1 +rule__XVariableDeclaration__Group_2_0_0__1 @init { int stackSize = keepStackSize(); } : - rule__ScopeContext__Group__1__Impl + rule__XVariableDeclaration__Group_2_0_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ScopeContext__Group__1__Impl +rule__XVariableDeclaration__Group_2_0_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeContextAccess().getGroup_1()); } - (rule__ScopeContext__Group_1__0)? - { after(grammarAccess.getScopeContextAccess().getGroup_1()); } + { before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1()); } + (rule__XVariableDeclaration__NameAssignment_2_0_0_1) + { after(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1()); } ) ; finally { @@ -3792,404 +20259,404 @@ finally { } -rule__ScopeContext__Group_1__0 +rule__XVariableDeclaration__Group_3__0 @init { int stackSize = keepStackSize(); } : - rule__ScopeContext__Group_1__0__Impl - rule__ScopeContext__Group_1__1 + rule__XVariableDeclaration__Group_3__0__Impl + rule__XVariableDeclaration__Group_3__1 ; finally { restoreStackSize(stackSize); } -rule__ScopeContext__Group_1__0__Impl +rule__XVariableDeclaration__Group_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeContextAccess().getLeftSquareBracketKeyword_1_0()); } - '[' - { after(grammarAccess.getScopeContextAccess().getLeftSquareBracketKeyword_1_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); } + '=' + { after(grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeContext__Group_1__1 +rule__XVariableDeclaration__Group_3__1 @init { int stackSize = keepStackSize(); } : - rule__ScopeContext__Group_1__1__Impl - rule__ScopeContext__Group_1__2 + rule__XVariableDeclaration__Group_3__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ScopeContext__Group_1__1__Impl +rule__XVariableDeclaration__Group_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeContextAccess().getGuardAssignment_1_1()); } - (rule__ScopeContext__GuardAssignment_1_1) - { after(grammarAccess.getScopeContextAccess().getGuardAssignment_1_1()); } + { before(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1()); } + (rule__XVariableDeclaration__RightAssignment_3_1) + { after(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeContext__Group_1__2 + +rule__JvmFormalParameter__Group__0 @init { int stackSize = keepStackSize(); } : - rule__ScopeContext__Group_1__2__Impl + rule__JvmFormalParameter__Group__0__Impl + rule__JvmFormalParameter__Group__1 ; finally { restoreStackSize(stackSize); } -rule__ScopeContext__Group_1__2__Impl +rule__JvmFormalParameter__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeContextAccess().getRightSquareBracketKeyword_1_2()); } - ']' - { after(grammarAccess.getScopeContextAccess().getRightSquareBracketKeyword_1_2()); } + { before(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0()); } + (rule__JvmFormalParameter__ParameterTypeAssignment_0)? + { after(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__FactoryExpression__Group__0 +rule__JvmFormalParameter__Group__1 @init { int stackSize = keepStackSize(); } : - rule__FactoryExpression__Group__0__Impl - rule__FactoryExpression__Group__1 + rule__JvmFormalParameter__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__FactoryExpression__Group__0__Impl +rule__JvmFormalParameter__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getFactoryExpressionAccess().getFactoryKeyword_0()); } - 'factory' - { after(grammarAccess.getFactoryExpressionAccess().getFactoryKeyword_0()); } + { before(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1()); } + (rule__JvmFormalParameter__NameAssignment_1) + { after(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__FactoryExpression__Group__1 + +rule__FullJvmFormalParameter__Group__0 @init { int stackSize = keepStackSize(); } : - rule__FactoryExpression__Group__1__Impl + rule__FullJvmFormalParameter__Group__0__Impl + rule__FullJvmFormalParameter__Group__1 ; finally { restoreStackSize(stackSize); } -rule__FactoryExpression__Group__1__Impl +rule__FullJvmFormalParameter__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getFactoryExpressionAccess().getExprAssignment_1()); } - (rule__FactoryExpression__ExprAssignment_1) - { after(grammarAccess.getFactoryExpressionAccess().getExprAssignment_1()); } + { before(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0()); } + (rule__FullJvmFormalParameter__ParameterTypeAssignment_0) + { after(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ScopeDelegation__Group__0 +rule__FullJvmFormalParameter__Group__1 @init { int stackSize = keepStackSize(); } : - rule__ScopeDelegation__Group__0__Impl - rule__ScopeDelegation__Group__1 + rule__FullJvmFormalParameter__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ScopeDelegation__Group__0__Impl +rule__FullJvmFormalParameter__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDelegationAccess().getScopeofKeyword_0()); } - 'scopeof' - { after(grammarAccess.getScopeDelegationAccess().getScopeofKeyword_0()); } + { before(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1()); } + (rule__FullJvmFormalParameter__NameAssignment_1) + { after(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDelegation__Group__1 + +rule__XFeatureCall__Group__0 @init { int stackSize = keepStackSize(); } : - rule__ScopeDelegation__Group__1__Impl - rule__ScopeDelegation__Group__2 + rule__XFeatureCall__Group__0__Impl + rule__XFeatureCall__Group__1 ; finally { restoreStackSize(stackSize); } -rule__ScopeDelegation__Group__1__Impl +rule__XFeatureCall__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDelegationAccess().getLeftParenthesisKeyword_1()); } - '(' - { after(grammarAccess.getScopeDelegationAccess().getLeftParenthesisKeyword_1()); } + { before(grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0()); } + () + { after(grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDelegation__Group__2 +rule__XFeatureCall__Group__1 @init { int stackSize = keepStackSize(); } : - rule__ScopeDelegation__Group__2__Impl - rule__ScopeDelegation__Group__3 + rule__XFeatureCall__Group__1__Impl + rule__XFeatureCall__Group__2 ; finally { restoreStackSize(stackSize); } -rule__ScopeDelegation__Group__2__Impl +rule__XFeatureCall__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDelegationAccess().getAlternatives_2()); } - (rule__ScopeDelegation__Alternatives_2) - { after(grammarAccess.getScopeDelegationAccess().getAlternatives_2()); } + { before(grammarAccess.getXFeatureCallAccess().getGroup_1()); } + (rule__XFeatureCall__Group_1__0)? + { after(grammarAccess.getXFeatureCallAccess().getGroup_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDelegation__Group__3 +rule__XFeatureCall__Group__2 @init { int stackSize = keepStackSize(); } : - rule__ScopeDelegation__Group__3__Impl - rule__ScopeDelegation__Group__4 + rule__XFeatureCall__Group__2__Impl + rule__XFeatureCall__Group__3 ; finally { restoreStackSize(stackSize); } -rule__ScopeDelegation__Group__3__Impl +rule__XFeatureCall__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDelegationAccess().getGroup_3()); } - (rule__ScopeDelegation__Group_3__0)? - { after(grammarAccess.getScopeDelegationAccess().getGroup_3()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2()); } + (rule__XFeatureCall__FeatureAssignment_2) + { after(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDelegation__Group__4 +rule__XFeatureCall__Group__3 @init { int stackSize = keepStackSize(); } : - rule__ScopeDelegation__Group__4__Impl + rule__XFeatureCall__Group__3__Impl + rule__XFeatureCall__Group__4 ; finally { restoreStackSize(stackSize); } -rule__ScopeDelegation__Group__4__Impl +rule__XFeatureCall__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDelegationAccess().getRightParenthesisKeyword_4()); } - ')' - { after(grammarAccess.getScopeDelegationAccess().getRightParenthesisKeyword_4()); } + { before(grammarAccess.getXFeatureCallAccess().getGroup_3()); } + (rule__XFeatureCall__Group_3__0)? + { after(grammarAccess.getXFeatureCallAccess().getGroup_3()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ScopeDelegation__Group_3__0 +rule__XFeatureCall__Group__4 @init { int stackSize = keepStackSize(); } : - rule__ScopeDelegation__Group_3__0__Impl - rule__ScopeDelegation__Group_3__1 + rule__XFeatureCall__Group__4__Impl ; finally { restoreStackSize(stackSize); } -rule__ScopeDelegation__Group_3__0__Impl +rule__XFeatureCall__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDelegationAccess().getCommaKeyword_3_0()); } - ',' - { after(grammarAccess.getScopeDelegationAccess().getCommaKeyword_3_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4()); } + (rule__XFeatureCall__FeatureCallArgumentsAssignment_4)? + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDelegation__Group_3__1 + +rule__XFeatureCall__Group_1__0 @init { int stackSize = keepStackSize(); } : - rule__ScopeDelegation__Group_3__1__Impl + rule__XFeatureCall__Group_1__0__Impl + rule__XFeatureCall__Group_1__1 ; finally { restoreStackSize(stackSize); } -rule__ScopeDelegation__Group_3__1__Impl +rule__XFeatureCall__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDelegationAccess().getScopeAssignment_3_1()); } - (rule__ScopeDelegation__ScopeAssignment_3_1) - { after(grammarAccess.getScopeDelegationAccess().getScopeAssignment_3_1()); } + { before(grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); } + '<' + { after(grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__NamedScopeExpression__Group__0 +rule__XFeatureCall__Group_1__1 @init { int stackSize = keepStackSize(); } : - rule__NamedScopeExpression__Group__0__Impl - rule__NamedScopeExpression__Group__1 + rule__XFeatureCall__Group_1__1__Impl + rule__XFeatureCall__Group_1__2 ; finally { restoreStackSize(stackSize); } -rule__NamedScopeExpression__Group__0__Impl +rule__XFeatureCall__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamedScopeExpressionAccess().getAlternatives_0()); } - (rule__NamedScopeExpression__Alternatives_0) - { after(grammarAccess.getNamedScopeExpressionAccess().getAlternatives_0()); } + { before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1()); } + (rule__XFeatureCall__TypeArgumentsAssignment_1_1) + { after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamedScopeExpression__Group__1 +rule__XFeatureCall__Group_1__2 @init { int stackSize = keepStackSize(); } : - rule__NamedScopeExpression__Group__1__Impl - rule__NamedScopeExpression__Group__2 + rule__XFeatureCall__Group_1__2__Impl + rule__XFeatureCall__Group_1__3 ; finally { restoreStackSize(stackSize); } -rule__NamedScopeExpression__Group__1__Impl +rule__XFeatureCall__Group_1__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamedScopeExpressionAccess().getGroup_1()); } - (rule__NamedScopeExpression__Group_1__0)? - { after(grammarAccess.getNamedScopeExpressionAccess().getGroup_1()); } + { before(grammarAccess.getXFeatureCallAccess().getGroup_1_2()); } + (rule__XFeatureCall__Group_1_2__0)* + { after(grammarAccess.getXFeatureCallAccess().getGroup_1_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamedScopeExpression__Group__2 +rule__XFeatureCall__Group_1__3 @init { int stackSize = keepStackSize(); } : - rule__NamedScopeExpression__Group__2__Impl + rule__XFeatureCall__Group_1__3__Impl ; finally { restoreStackSize(stackSize); } -rule__NamedScopeExpression__Group__2__Impl +rule__XFeatureCall__Group_1__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamedScopeExpressionAccess().getGroup_2()); } - (rule__NamedScopeExpression__Group_2__0)? - { after(grammarAccess.getNamedScopeExpressionAccess().getGroup_2()); } + { before(grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); } + '>' + { after(grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); } ) ; finally { @@ -4197,53 +20664,53 @@ finally { } -rule__NamedScopeExpression__Group_1__0 +rule__XFeatureCall__Group_1_2__0 @init { int stackSize = keepStackSize(); } : - rule__NamedScopeExpression__Group_1__0__Impl - rule__NamedScopeExpression__Group_1__1 + rule__XFeatureCall__Group_1_2__0__Impl + rule__XFeatureCall__Group_1_2__1 ; finally { restoreStackSize(stackSize); } -rule__NamedScopeExpression__Group_1__0__Impl +rule__XFeatureCall__Group_1_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamedScopeExpressionAccess().getCaseDefAssignment_1_0()); } - (rule__NamedScopeExpression__CaseDefAssignment_1_0) - { after(grammarAccess.getNamedScopeExpressionAccess().getCaseDefAssignment_1_0()); } + { before(grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); } + ',' + { after(grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamedScopeExpression__Group_1__1 +rule__XFeatureCall__Group_1_2__1 @init { int stackSize = keepStackSize(); } : - rule__NamedScopeExpression__Group_1__1__Impl + rule__XFeatureCall__Group_1_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__NamedScopeExpression__Group_1__1__Impl +rule__XFeatureCall__Group_1_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamedScopeExpressionAccess().getCasingAssignment_1_1()); } - (rule__NamedScopeExpression__CasingAssignment_1_1) - { after(grammarAccess.getNamedScopeExpressionAccess().getCasingAssignment_1_1()); } + { before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1()); } + (rule__XFeatureCall__TypeArgumentsAssignment_1_2_1) + { after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1()); } ) ; finally { @@ -4251,350 +20718,350 @@ finally { } -rule__NamedScopeExpression__Group_2__0 +rule__XFeatureCall__Group_3__0 @init { int stackSize = keepStackSize(); } : - rule__NamedScopeExpression__Group_2__0__Impl - rule__NamedScopeExpression__Group_2__1 + rule__XFeatureCall__Group_3__0__Impl + rule__XFeatureCall__Group_3__1 ; finally { restoreStackSize(stackSize); } -rule__NamedScopeExpression__Group_2__0__Impl +rule__XFeatureCall__Group_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamedScopeExpressionAccess().getAsKeyword_2_0()); } - 'as' - { after(grammarAccess.getNamedScopeExpressionAccess().getAsKeyword_2_0()); } + { before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0()); } + (rule__XFeatureCall__ExplicitOperationCallAssignment_3_0) + { after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamedScopeExpression__Group_2__1 +rule__XFeatureCall__Group_3__1 @init { int stackSize = keepStackSize(); } : - rule__NamedScopeExpression__Group_2__1__Impl + rule__XFeatureCall__Group_3__1__Impl + rule__XFeatureCall__Group_3__2 ; finally { restoreStackSize(stackSize); } -rule__NamedScopeExpression__Group_2__1__Impl +rule__XFeatureCall__Group_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamedScopeExpressionAccess().getNamingAssignment_2_1()); } - (rule__NamedScopeExpression__NamingAssignment_2_1) - { after(grammarAccess.getNamedScopeExpressionAccess().getNamingAssignment_2_1()); } + { before(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1()); } + (rule__XFeatureCall__Alternatives_3_1)? + { after(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__GlobalScopeExpression__Group__0 +rule__XFeatureCall__Group_3__2 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group__0__Impl - rule__GlobalScopeExpression__Group__1 + rule__XFeatureCall__Group_3__2__Impl ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group__0__Impl +rule__XFeatureCall__Group_3__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getFindKeyword_0()); } - 'find' - { after(grammarAccess.getGlobalScopeExpressionAccess().getFindKeyword_0()); } + { before(grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); } + ')' + { after(grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group__1 + +rule__XFeatureCall__Group_3_1_1__0 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group__1__Impl - rule__GlobalScopeExpression__Group__2 + rule__XFeatureCall__Group_3_1_1__0__Impl + rule__XFeatureCall__Group_3_1_1__1 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group__1__Impl +rule__XFeatureCall__Group_3_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_1()); } - '(' - { after(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_1()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0()); } + (rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0) + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group__2 +rule__XFeatureCall__Group_3_1_1__1 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group__2__Impl - rule__GlobalScopeExpression__Group__3 + rule__XFeatureCall__Group_3_1_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group__2__Impl +rule__XFeatureCall__Group_3_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getTypeAssignment_2()); } - (rule__GlobalScopeExpression__TypeAssignment_2) - { after(grammarAccess.getGlobalScopeExpressionAccess().getTypeAssignment_2()); } + { before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1()); } + (rule__XFeatureCall__Group_3_1_1_1__0)* + { after(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group__3 + +rule__XFeatureCall__Group_3_1_1_1__0 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group__3__Impl - rule__GlobalScopeExpression__Group__4 + rule__XFeatureCall__Group_3_1_1_1__0__Impl + rule__XFeatureCall__Group_3_1_1_1__1 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group__3__Impl +rule__XFeatureCall__Group_3_1_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getAlternatives_3()); } - (rule__GlobalScopeExpression__Alternatives_3)? - { after(grammarAccess.getGlobalScopeExpressionAccess().getAlternatives_3()); } + { before(grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); } + ',' + { after(grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group__4 +rule__XFeatureCall__Group_3_1_1_1__1 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group__4__Impl - rule__GlobalScopeExpression__Group__5 + rule__XFeatureCall__Group_3_1_1_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group__4__Impl +rule__XFeatureCall__Group_3_1_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_4()); } - (rule__GlobalScopeExpression__Group_4__0)? - { after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_4()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1()); } + (rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1) + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group__5 + +rule__XConstructorCall__Group__0 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group__5__Impl - rule__GlobalScopeExpression__Group__6 + rule__XConstructorCall__Group__0__Impl + rule__XConstructorCall__Group__1 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group__5__Impl +rule__XConstructorCall__Group__0__Impl @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5()); } - (rule__GlobalScopeExpression__Group_5__0)? - { after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5()); } +( + { before(grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0()); } + () + { after(grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group__6 +rule__XConstructorCall__Group__1 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group__6__Impl + rule__XConstructorCall__Group__1__Impl + rule__XConstructorCall__Group__2 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group__6__Impl +rule__XConstructorCall__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_6()); } - ')' - { after(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_6()); } + { before(grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); } + 'new' + { after(grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__GlobalScopeExpression__Group_3_0__0 +rule__XConstructorCall__Group__2 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_3_0__0__Impl - rule__GlobalScopeExpression__Group_3_0__1 + rule__XConstructorCall__Group__2__Impl + rule__XConstructorCall__Group__3 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_3_0__0__Impl +rule__XConstructorCall__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_0_0()); } - ',' - { after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_0_0()); } + { before(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2()); } + (rule__XConstructorCall__ConstructorAssignment_2) + { after(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_3_0__1 +rule__XConstructorCall__Group__3 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_3_0__1__Impl - rule__GlobalScopeExpression__Group_3_0__2 + rule__XConstructorCall__Group__3__Impl + rule__XConstructorCall__Group__4 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_3_0__1__Impl +rule__XConstructorCall__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getKeyKeyword_3_0_1()); } - 'key' - { after(grammarAccess.getGlobalScopeExpressionAccess().getKeyKeyword_3_0_1()); } + { before(grammarAccess.getXConstructorCallAccess().getGroup_3()); } + (rule__XConstructorCall__Group_3__0)? + { after(grammarAccess.getXConstructorCallAccess().getGroup_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_3_0__2 +rule__XConstructorCall__Group__4 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_3_0__2__Impl - rule__GlobalScopeExpression__Group_3_0__3 + rule__XConstructorCall__Group__4__Impl + rule__XConstructorCall__Group__5 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_3_0__2__Impl +rule__XConstructorCall__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_0_2()); } - '=' - { after(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_0_2()); } + { before(grammarAccess.getXConstructorCallAccess().getGroup_4()); } + (rule__XConstructorCall__Group_4__0)? + { after(grammarAccess.getXConstructorCallAccess().getGroup_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_3_0__3 +rule__XConstructorCall__Group__5 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_3_0__3__Impl + rule__XConstructorCall__Group__5__Impl ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_3_0__3__Impl +rule__XConstructorCall__Group__5__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getNameAssignment_3_0_3()); } - (rule__GlobalScopeExpression__NameAssignment_3_0_3) - { after(grammarAccess.getGlobalScopeExpressionAccess().getNameAssignment_3_0_3()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5()); } + (rule__XConstructorCall__ArgumentsAssignment_5)? + { after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5()); } ) ; finally { @@ -4602,728 +21069,728 @@ finally { } -rule__GlobalScopeExpression__Group_3_1__0 +rule__XConstructorCall__Group_3__0 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_3_1__0__Impl - rule__GlobalScopeExpression__Group_3_1__1 + rule__XConstructorCall__Group_3__0__Impl + rule__XConstructorCall__Group_3__1 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_3_1__0__Impl +rule__XConstructorCall__Group_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_1_0()); } - ',' - { after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_1_0()); } + { before(grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); } + ('<') + { after(grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_3_1__1 +rule__XConstructorCall__Group_3__1 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_3_1__1__Impl - rule__GlobalScopeExpression__Group_3_1__2 + rule__XConstructorCall__Group_3__1__Impl + rule__XConstructorCall__Group_3__2 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_3_1__1__Impl +rule__XConstructorCall__Group_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixAssignment_3_1_1()); } - (rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1)? - { after(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixAssignment_3_1_1()); } + { before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1()); } + (rule__XConstructorCall__TypeArgumentsAssignment_3_1) + { after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_3_1__2 +rule__XConstructorCall__Group_3__2 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_3_1__2__Impl - rule__GlobalScopeExpression__Group_3_1__3 + rule__XConstructorCall__Group_3__2__Impl + rule__XConstructorCall__Group_3__3 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_3_1__2__Impl +rule__XConstructorCall__Group_3__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getPrefixKeyword_3_1_2()); } - 'prefix' - { after(grammarAccess.getGlobalScopeExpressionAccess().getPrefixKeyword_3_1_2()); } + { before(grammarAccess.getXConstructorCallAccess().getGroup_3_2()); } + (rule__XConstructorCall__Group_3_2__0)* + { after(grammarAccess.getXConstructorCallAccess().getGroup_3_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_3_1__3 +rule__XConstructorCall__Group_3__3 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_3_1__3__Impl - rule__GlobalScopeExpression__Group_3_1__4 + rule__XConstructorCall__Group_3__3__Impl ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_3_1__3__Impl +rule__XConstructorCall__Group_3__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_1_3()); } - '=' - { after(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_1_3()); } + { before(grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); } + '>' + { after(grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_3_1__4 + +rule__XConstructorCall__Group_3_2__0 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_3_1__4__Impl + rule__XConstructorCall__Group_3_2__0__Impl + rule__XConstructorCall__Group_3_2__1 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_3_1__4__Impl +rule__XConstructorCall__Group_3_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getPrefixAssignment_3_1_4()); } - (rule__GlobalScopeExpression__PrefixAssignment_3_1_4) - { after(grammarAccess.getGlobalScopeExpressionAccess().getPrefixAssignment_3_1_4()); } + { before(grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); } + ',' + { after(grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__GlobalScopeExpression__Group_4__0 +rule__XConstructorCall__Group_3_2__1 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_4__0__Impl - rule__GlobalScopeExpression__Group_4__1 + rule__XConstructorCall__Group_3_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_4__0__Impl +rule__XConstructorCall__Group_3_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_0()); } - ',' - { after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_0()); } + { before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1()); } + (rule__XConstructorCall__TypeArgumentsAssignment_3_2_1) + { after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_4__1 + +rule__XConstructorCall__Group_4__0 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_4__1__Impl - rule__GlobalScopeExpression__Group_4__2 + rule__XConstructorCall__Group_4__0__Impl + rule__XConstructorCall__Group_4__1 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_4__1__Impl +rule__XConstructorCall__Group_4__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getDataKeyword_4_1()); } - 'data' - { after(grammarAccess.getGlobalScopeExpressionAccess().getDataKeyword_4_1()); } + { before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0()); } + (rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0) + { after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_4__2 +rule__XConstructorCall__Group_4__1 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_4__2__Impl - rule__GlobalScopeExpression__Group_4__3 + rule__XConstructorCall__Group_4__1__Impl + rule__XConstructorCall__Group_4__2 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_4__2__Impl +rule__XConstructorCall__Group_4__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_4_2()); } - '=' - { after(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_4_2()); } + { before(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1()); } + (rule__XConstructorCall__Alternatives_4_1)? + { after(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_4__3 +rule__XConstructorCall__Group_4__2 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_4__3__Impl - rule__GlobalScopeExpression__Group_4__4 + rule__XConstructorCall__Group_4__2__Impl ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_4__3__Impl +rule__XConstructorCall__Group_4__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_4_3()); } - '(' - { after(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_4_3()); } + { before(grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); } + ')' + { after(grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_4__4 + +rule__XConstructorCall__Group_4_1_1__0 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_4__4__Impl - rule__GlobalScopeExpression__Group_4__5 + rule__XConstructorCall__Group_4_1_1__0__Impl + rule__XConstructorCall__Group_4_1_1__1 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_4__4__Impl +rule__XConstructorCall__Group_4_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getDataAssignment_4_4()); } - (rule__GlobalScopeExpression__DataAssignment_4_4) - { after(grammarAccess.getGlobalScopeExpressionAccess().getDataAssignment_4_4()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0()); } + (rule__XConstructorCall__ArgumentsAssignment_4_1_1_0) + { after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_4__5 +rule__XConstructorCall__Group_4_1_1__1 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_4__5__Impl - rule__GlobalScopeExpression__Group_4__6 + rule__XConstructorCall__Group_4_1_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_4__5__Impl +rule__XConstructorCall__Group_4_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_4_5()); } - (rule__GlobalScopeExpression__Group_4_5__0)* - { after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_4_5()); } + { before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1()); } + (rule__XConstructorCall__Group_4_1_1_1__0)* + { after(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_4__6 + +rule__XConstructorCall__Group_4_1_1_1__0 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_4__6__Impl + rule__XConstructorCall__Group_4_1_1_1__0__Impl + rule__XConstructorCall__Group_4_1_1_1__1 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_4__6__Impl +rule__XConstructorCall__Group_4_1_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_4_6()); } - ')' - { after(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_4_6()); } + { before(grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); } + ',' + { after(grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__GlobalScopeExpression__Group_4_5__0 +rule__XConstructorCall__Group_4_1_1_1__1 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_4_5__0__Impl - rule__GlobalScopeExpression__Group_4_5__1 + rule__XConstructorCall__Group_4_1_1_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_4_5__0__Impl +rule__XConstructorCall__Group_4_1_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_5_0()); } - ',' - { after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_5_0()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1()); } + (rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1) + { after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_4_5__1 + +rule__XBooleanLiteral__Group__0 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_4_5__1__Impl + rule__XBooleanLiteral__Group__0__Impl + rule__XBooleanLiteral__Group__1 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_4_5__1__Impl +rule__XBooleanLiteral__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getDataAssignment_4_5_1()); } - (rule__GlobalScopeExpression__DataAssignment_4_5_1) - { after(grammarAccess.getGlobalScopeExpressionAccess().getDataAssignment_4_5_1()); } + { before(grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0()); } + () + { after(grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__GlobalScopeExpression__Group_5__0 +rule__XBooleanLiteral__Group__1 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_5__0__Impl - rule__GlobalScopeExpression__Group_5__1 + rule__XBooleanLiteral__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_5__0__Impl +rule__XBooleanLiteral__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_0()); } - ',' - { after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_0()); } + { before(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1()); } + (rule__XBooleanLiteral__Alternatives_1) + { after(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_5__1 + +rule__XNullLiteral__Group__0 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_5__1__Impl - rule__GlobalScopeExpression__Group_5__2 + rule__XNullLiteral__Group__0__Impl + rule__XNullLiteral__Group__1 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_5__1__Impl +rule__XNullLiteral__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsKeyword_5_1()); } - 'domains' - { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsKeyword_5_1()); } + { before(grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0()); } + () + { after(grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_5__2 +rule__XNullLiteral__Group__1 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_5__2__Impl - rule__GlobalScopeExpression__Group_5__3 + rule__XNullLiteral__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_5__2__Impl +rule__XNullLiteral__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_5_2()); } - '=' - { after(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_5_2()); } + { before(grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); } + 'null' + { after(grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_5__3 + +rule__XNumberLiteral__Group__0 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_5__3__Impl + rule__XNumberLiteral__Group__0__Impl + rule__XNumberLiteral__Group__1 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_5__3__Impl +rule__XNumberLiteral__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getAlternatives_5_3()); } - (rule__GlobalScopeExpression__Alternatives_5_3) - { after(grammarAccess.getGlobalScopeExpressionAccess().getAlternatives_5_3()); } + { before(grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0()); } + () + { after(grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__GlobalScopeExpression__Group_5_3_2__0 +rule__XNumberLiteral__Group__1 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_5_3_2__0__Impl - rule__GlobalScopeExpression__Group_5_3_2__1 + rule__XNumberLiteral__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_5_3_2__0__Impl +rule__XNumberLiteral__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_5_3_2_0()); } - '(' - { after(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_5_3_2_0()); } + { before(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1()); } + (rule__XNumberLiteral__ValueAssignment_1) + { after(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_5_3_2__1 + +rule__XStringLiteral__Group__0 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_5_3_2__1__Impl - rule__GlobalScopeExpression__Group_5_3_2__2 + rule__XStringLiteral__Group__0__Impl + rule__XStringLiteral__Group__1 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_5_3_2__1__Impl +rule__XStringLiteral__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_2_1()); } - (rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1) - { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_2_1()); } + { before(grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0()); } + () + { after(grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_5_3_2__2 +rule__XStringLiteral__Group__1 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_5_3_2__2__Impl - rule__GlobalScopeExpression__Group_5_3_2__3 + rule__XStringLiteral__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_5_3_2__2__Impl +rule__XStringLiteral__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5_3_2_2()); } - (rule__GlobalScopeExpression__Group_5_3_2_2__0)* - { after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5_3_2_2()); } + { before(grammarAccess.getXStringLiteralAccess().getValueAssignment_1()); } + (rule__XStringLiteral__ValueAssignment_1) + { after(grammarAccess.getXStringLiteralAccess().getValueAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_5_3_2__3 + +rule__XTypeLiteral__Group__0 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_5_3_2__3__Impl + rule__XTypeLiteral__Group__0__Impl + rule__XTypeLiteral__Group__1 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_5_3_2__3__Impl +rule__XTypeLiteral__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_5_3_2_3()); } - ')' - { after(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_5_3_2_3()); } + { before(grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0()); } + () + { after(grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__GlobalScopeExpression__Group_5_3_2_2__0 +rule__XTypeLiteral__Group__1 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl - rule__GlobalScopeExpression__Group_5_3_2_2__1 + rule__XTypeLiteral__Group__1__Impl + rule__XTypeLiteral__Group__2 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl +rule__XTypeLiteral__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_3_2_2_0()); } - ',' - { after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_3_2_2_0()); } + { before(grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); } + 'typeof' + { after(grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_5_3_2_2__1 +rule__XTypeLiteral__Group__2 @init { int stackSize = keepStackSize(); } : - rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl + rule__XTypeLiteral__Group__2__Impl + rule__XTypeLiteral__Group__3 ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl +rule__XTypeLiteral__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_2_2_1()); } - (rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1) - { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_2_2_1()); } + { before(grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); } + '(' + { after(grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } - -rule__MatchDataExpression__Group__0 +rule__XTypeLiteral__Group__3 @init { int stackSize = keepStackSize(); } : - rule__MatchDataExpression__Group__0__Impl - rule__MatchDataExpression__Group__1 + rule__XTypeLiteral__Group__3__Impl + rule__XTypeLiteral__Group__4 ; finally { restoreStackSize(stackSize); } -rule__MatchDataExpression__Group__0__Impl +rule__XTypeLiteral__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMatchDataExpressionAccess().getKeyAssignment_0()); } - (rule__MatchDataExpression__KeyAssignment_0) - { after(grammarAccess.getMatchDataExpressionAccess().getKeyAssignment_0()); } + { before(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3()); } + (rule__XTypeLiteral__TypeAssignment_3) + { after(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__MatchDataExpression__Group__1 +rule__XTypeLiteral__Group__4 @init { int stackSize = keepStackSize(); } : - rule__MatchDataExpression__Group__1__Impl - rule__MatchDataExpression__Group__2 + rule__XTypeLiteral__Group__4__Impl + rule__XTypeLiteral__Group__5 ; finally { restoreStackSize(stackSize); } -rule__MatchDataExpression__Group__1__Impl +rule__XTypeLiteral__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMatchDataExpressionAccess().getEqualsSignKeyword_1()); } - '=' - { after(grammarAccess.getMatchDataExpressionAccess().getEqualsSignKeyword_1()); } + { before(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4()); } + (rule__XTypeLiteral__ArrayDimensionsAssignment_4)* + { after(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__MatchDataExpression__Group__2 +rule__XTypeLiteral__Group__5 @init { int stackSize = keepStackSize(); } : - rule__MatchDataExpression__Group__2__Impl + rule__XTypeLiteral__Group__5__Impl ; finally { restoreStackSize(stackSize); } -rule__MatchDataExpression__Group__2__Impl +rule__XTypeLiteral__Group__5__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMatchDataExpressionAccess().getValueAssignment_2()); } - (rule__MatchDataExpression__ValueAssignment_2) - { after(grammarAccess.getMatchDataExpressionAccess().getValueAssignment_2()); } + { before(grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); } + ')' + { after(grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); } ) ; finally { @@ -5331,161 +21798,161 @@ finally { } -rule__LambdaDataExpression__Group__0 +rule__XThrowExpression__Group__0 @init { int stackSize = keepStackSize(); } : - rule__LambdaDataExpression__Group__0__Impl - rule__LambdaDataExpression__Group__1 + rule__XThrowExpression__Group__0__Impl + rule__XThrowExpression__Group__1 ; finally { restoreStackSize(stackSize); } -rule__LambdaDataExpression__Group__0__Impl +rule__XThrowExpression__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLambdaDataExpressionAccess().getLeftSquareBracketKeyword_0()); } - '[' - { after(grammarAccess.getLambdaDataExpressionAccess().getLeftSquareBracketKeyword_0()); } + { before(grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0()); } + () + { after(grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__LambdaDataExpression__Group__1 +rule__XThrowExpression__Group__1 @init { int stackSize = keepStackSize(); } -: - rule__LambdaDataExpression__Group__1__Impl - rule__LambdaDataExpression__Group__2 +: + rule__XThrowExpression__Group__1__Impl + rule__XThrowExpression__Group__2 ; finally { restoreStackSize(stackSize); } -rule__LambdaDataExpression__Group__1__Impl +rule__XThrowExpression__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLambdaDataExpressionAccess().getDescAssignment_1()); } - (rule__LambdaDataExpression__DescAssignment_1) - { after(grammarAccess.getLambdaDataExpressionAccess().getDescAssignment_1()); } + { before(grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); } + 'throw' + { after(grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__LambdaDataExpression__Group__2 +rule__XThrowExpression__Group__2 @init { int stackSize = keepStackSize(); } : - rule__LambdaDataExpression__Group__2__Impl - rule__LambdaDataExpression__Group__3 + rule__XThrowExpression__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__LambdaDataExpression__Group__2__Impl +rule__XThrowExpression__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLambdaDataExpressionAccess().getVerticalLineKeyword_2()); } - '|' - { after(grammarAccess.getLambdaDataExpressionAccess().getVerticalLineKeyword_2()); } + { before(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2()); } + (rule__XThrowExpression__ExpressionAssignment_2) + { after(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__LambdaDataExpression__Group__3 + +rule__XReturnExpression__Group__0 @init { int stackSize = keepStackSize(); } : - rule__LambdaDataExpression__Group__3__Impl - rule__LambdaDataExpression__Group__4 + rule__XReturnExpression__Group__0__Impl + rule__XReturnExpression__Group__1 ; finally { restoreStackSize(stackSize); } -rule__LambdaDataExpression__Group__3__Impl +rule__XReturnExpression__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLambdaDataExpressionAccess().getValueAssignment_3()); } - (rule__LambdaDataExpression__ValueAssignment_3) - { after(grammarAccess.getLambdaDataExpressionAccess().getValueAssignment_3()); } + { before(grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0()); } + () + { after(grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__LambdaDataExpression__Group__4 +rule__XReturnExpression__Group__1 @init { int stackSize = keepStackSize(); } : - rule__LambdaDataExpression__Group__4__Impl + rule__XReturnExpression__Group__1__Impl + rule__XReturnExpression__Group__2 ; finally { restoreStackSize(stackSize); } -rule__LambdaDataExpression__Group__4__Impl +rule__XReturnExpression__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLambdaDataExpressionAccess().getRightSquareBracketKeyword_4()); } - ']' - { after(grammarAccess.getLambdaDataExpressionAccess().getRightSquareBracketKeyword_4()); } + { before(grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); } + 'return' + { after(grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Naming__Group_0__0 +rule__XReturnExpression__Group__2 @init { int stackSize = keepStackSize(); } : - rule__Naming__Group_0__0__Impl + rule__XReturnExpression__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__Naming__Group_0__0__Impl +rule__XReturnExpression__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingAccess().getGroup_0_0()); } - (rule__Naming__Group_0_0__0) - { after(grammarAccess.getNamingAccess().getGroup_0_0()); } + { before(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2()); } + (rule__XReturnExpression__ExpressionAssignment_2)? + { after(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2()); } ) ; finally { @@ -5493,107 +21960,107 @@ finally { } -rule__Naming__Group_0_0__0 +rule__XTryCatchFinallyExpression__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Naming__Group_0_0__0__Impl - rule__Naming__Group_0_0__1 + rule__XTryCatchFinallyExpression__Group__0__Impl + rule__XTryCatchFinallyExpression__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Naming__Group_0_0__0__Impl +rule__XTryCatchFinallyExpression__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingAccess().getLeftParenthesisKeyword_0_0_0()); } - '(' - { after(grammarAccess.getNamingAccess().getLeftParenthesisKeyword_0_0_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0()); } + () + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Naming__Group_0_0__1 +rule__XTryCatchFinallyExpression__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Naming__Group_0_0__1__Impl - rule__Naming__Group_0_0__2 + rule__XTryCatchFinallyExpression__Group__1__Impl + rule__XTryCatchFinallyExpression__Group__2 ; finally { restoreStackSize(stackSize); } -rule__Naming__Group_0_0__1__Impl +rule__XTryCatchFinallyExpression__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingAccess().getNamesAssignment_0_0_1()); } - (rule__Naming__NamesAssignment_0_0_1) - { after(grammarAccess.getNamingAccess().getNamesAssignment_0_0_1()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); } + 'try' + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Naming__Group_0_0__2 +rule__XTryCatchFinallyExpression__Group__2 @init { int stackSize = keepStackSize(); } : - rule__Naming__Group_0_0__2__Impl - rule__Naming__Group_0_0__3 + rule__XTryCatchFinallyExpression__Group__2__Impl + rule__XTryCatchFinallyExpression__Group__3 ; finally { restoreStackSize(stackSize); } -rule__Naming__Group_0_0__2__Impl +rule__XTryCatchFinallyExpression__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingAccess().getGroup_0_0_2()); } - (rule__Naming__Group_0_0_2__0)* - { after(grammarAccess.getNamingAccess().getGroup_0_0_2()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2()); } + (rule__XTryCatchFinallyExpression__ExpressionAssignment_2) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Naming__Group_0_0__3 +rule__XTryCatchFinallyExpression__Group__3 @init { int stackSize = keepStackSize(); } : - rule__Naming__Group_0_0__3__Impl + rule__XTryCatchFinallyExpression__Group__3__Impl ; finally { restoreStackSize(stackSize); } -rule__Naming__Group_0_0__3__Impl +rule__XTryCatchFinallyExpression__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingAccess().getRightParenthesisKeyword_0_0_3()); } - ')' - { after(grammarAccess.getNamingAccess().getRightParenthesisKeyword_0_0_3()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3()); } + (rule__XTryCatchFinallyExpression__Alternatives_3) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3()); } ) ; finally { @@ -5601,53 +22068,60 @@ finally { } -rule__Naming__Group_0_0_2__0 +rule__XTryCatchFinallyExpression__Group_3_0__0 @init { int stackSize = keepStackSize(); } : - rule__Naming__Group_0_0_2__0__Impl - rule__Naming__Group_0_0_2__1 + rule__XTryCatchFinallyExpression__Group_3_0__0__Impl + rule__XTryCatchFinallyExpression__Group_3_0__1 ; finally { restoreStackSize(stackSize); } -rule__Naming__Group_0_0_2__0__Impl +rule__XTryCatchFinallyExpression__Group_3_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingAccess().getCommaKeyword_0_0_2_0()); } - ',' - { after(grammarAccess.getNamingAccess().getCommaKeyword_0_0_2_0()); } + ( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); } + (rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); } + ) + ( + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); } + (rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0)* + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); } + ) ) ; finally { restoreStackSize(stackSize); } -rule__Naming__Group_0_0_2__1 +rule__XTryCatchFinallyExpression__Group_3_0__1 @init { int stackSize = keepStackSize(); } : - rule__Naming__Group_0_0_2__1__Impl + rule__XTryCatchFinallyExpression__Group_3_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Naming__Group_0_0_2__1__Impl +rule__XTryCatchFinallyExpression__Group_3_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingAccess().getNamesAssignment_0_0_2_1()); } - (rule__Naming__NamesAssignment_0_0_2_1) - { after(grammarAccess.getNamingAccess().getNamesAssignment_0_0_2_1()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1()); } + (rule__XTryCatchFinallyExpression__Group_3_0_1__0)? + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1()); } ) ; finally { @@ -5655,53 +22129,53 @@ finally { } -rule__NamingExpression__Group_1__0 +rule__XTryCatchFinallyExpression__Group_3_0_1__0 @init { int stackSize = keepStackSize(); } : - rule__NamingExpression__Group_1__0__Impl - rule__NamingExpression__Group_1__1 + rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl + rule__XTryCatchFinallyExpression__Group_3_0_1__1 ; finally { restoreStackSize(stackSize); } -rule__NamingExpression__Group_1__0__Impl +rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingExpressionAccess().getFactoryAssignment_1_0()); } - (rule__NamingExpression__FactoryAssignment_1_0)? - { after(grammarAccess.getNamingExpressionAccess().getFactoryAssignment_1_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); } + ('finally') + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingExpression__Group_1__1 +rule__XTryCatchFinallyExpression__Group_3_0_1__1 @init { int stackSize = keepStackSize(); } : - rule__NamingExpression__Group_1__1__Impl + rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__NamingExpression__Group_1__1__Impl +rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingExpressionAccess().getExpressionAssignment_1_1()); } - (rule__NamingExpression__ExpressionAssignment_1_1) - { after(grammarAccess.getNamingExpressionAccess().getExpressionAssignment_1_1()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1()); } + (rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1()); } ) ; finally { @@ -5709,53 +22183,53 @@ finally { } -rule__QualifiedID__Group__0 +rule__XTryCatchFinallyExpression__Group_3_1__0 @init { int stackSize = keepStackSize(); } : - rule__QualifiedID__Group__0__Impl - rule__QualifiedID__Group__1 + rule__XTryCatchFinallyExpression__Group_3_1__0__Impl + rule__XTryCatchFinallyExpression__Group_3_1__1 ; finally { restoreStackSize(stackSize); } -rule__QualifiedID__Group__0__Impl +rule__XTryCatchFinallyExpression__Group_3_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getQualifiedIDAccess().getIdentifierParserRuleCall_0()); } - ruleIdentifier - { after(grammarAccess.getQualifiedIDAccess().getIdentifierParserRuleCall_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); } + 'finally' + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__QualifiedID__Group__1 +rule__XTryCatchFinallyExpression__Group_3_1__1 @init { int stackSize = keepStackSize(); } : - rule__QualifiedID__Group__1__Impl + rule__XTryCatchFinallyExpression__Group_3_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__QualifiedID__Group__1__Impl +rule__XTryCatchFinallyExpression__Group_3_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getQualifiedIDAccess().getGroup_1()); } - (rule__QualifiedID__Group_1__0)* - { after(grammarAccess.getQualifiedIDAccess().getGroup_1()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1()); } + (rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1) + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1()); } ) ; finally { @@ -5763,107 +22237,107 @@ finally { } -rule__QualifiedID__Group_1__0 +rule__XSynchronizedExpression__Group__0 @init { int stackSize = keepStackSize(); } : - rule__QualifiedID__Group_1__0__Impl - rule__QualifiedID__Group_1__1 + rule__XSynchronizedExpression__Group__0__Impl + rule__XSynchronizedExpression__Group__1 ; finally { restoreStackSize(stackSize); } -rule__QualifiedID__Group_1__0__Impl +rule__XSynchronizedExpression__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); } - '::' - { after(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0()); } + (rule__XSynchronizedExpression__Group_0__0) + { after(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__QualifiedID__Group_1__1 +rule__XSynchronizedExpression__Group__1 @init { int stackSize = keepStackSize(); } : - rule__QualifiedID__Group_1__1__Impl + rule__XSynchronizedExpression__Group__1__Impl + rule__XSynchronizedExpression__Group__2 ; finally { restoreStackSize(stackSize); } -rule__QualifiedID__Group_1__1__Impl +rule__XSynchronizedExpression__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getQualifiedIDAccess().getIdentifierParserRuleCall_1_1()); } - ruleIdentifier - { after(grammarAccess.getQualifiedIDAccess().getIdentifierParserRuleCall_1_1()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1()); } + (rule__XSynchronizedExpression__ParamAssignment_1) + { after(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__DottedID__Group__0 +rule__XSynchronizedExpression__Group__2 @init { int stackSize = keepStackSize(); } : - rule__DottedID__Group__0__Impl - rule__DottedID__Group__1 + rule__XSynchronizedExpression__Group__2__Impl + rule__XSynchronizedExpression__Group__3 ; finally { restoreStackSize(stackSize); } -rule__DottedID__Group__0__Impl +rule__XSynchronizedExpression__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getDottedIDAccess().getIdentifierParserRuleCall_0()); } - ruleIdentifier - { after(grammarAccess.getDottedIDAccess().getIdentifierParserRuleCall_0()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); } + ')' + { after(grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__DottedID__Group__1 +rule__XSynchronizedExpression__Group__3 @init { int stackSize = keepStackSize(); } : - rule__DottedID__Group__1__Impl + rule__XSynchronizedExpression__Group__3__Impl ; finally { restoreStackSize(stackSize); } -rule__DottedID__Group__1__Impl +rule__XSynchronizedExpression__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getDottedIDAccess().getGroup_1()); } - (rule__DottedID__Group_1__0)* - { after(grammarAccess.getDottedIDAccess().getGroup_1()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3()); } + (rule__XSynchronizedExpression__ExpressionAssignment_3) + { after(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3()); } ) ; finally { @@ -5871,458 +22345,458 @@ finally { } -rule__DottedID__Group_1__0 +rule__XSynchronizedExpression__Group_0__0 @init { int stackSize = keepStackSize(); } : - rule__DottedID__Group_1__0__Impl - rule__DottedID__Group_1__1 + rule__XSynchronizedExpression__Group_0__0__Impl ; finally { restoreStackSize(stackSize); } -rule__DottedID__Group_1__0__Impl +rule__XSynchronizedExpression__Group_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getDottedIDAccess().getFullStopKeyword_1_0()); } - '.' - { after(grammarAccess.getDottedIDAccess().getFullStopKeyword_1_0()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0()); } + (rule__XSynchronizedExpression__Group_0_0__0) + { after(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__DottedID__Group_1__1 + +rule__XSynchronizedExpression__Group_0_0__0 @init { int stackSize = keepStackSize(); } : - rule__DottedID__Group_1__1__Impl + rule__XSynchronizedExpression__Group_0_0__0__Impl + rule__XSynchronizedExpression__Group_0_0__1 ; finally { restoreStackSize(stackSize); } -rule__DottedID__Group_1__1__Impl +rule__XSynchronizedExpression__Group_0_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getDottedIDAccess().getIdentifierParserRuleCall_1_1()); } - ruleIdentifier - { after(grammarAccess.getDottedIDAccess().getIdentifierParserRuleCall_1_1()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0()); } + () + { after(grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__LetExpression__Group__0 +rule__XSynchronizedExpression__Group_0_0__1 @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__0__Impl - rule__LetExpression__Group__1 + rule__XSynchronizedExpression__Group_0_0__1__Impl + rule__XSynchronizedExpression__Group_0_0__2 ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__0__Impl +rule__XSynchronizedExpression__Group_0_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } - 'let' - { after(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); } + 'synchronized' + { after(grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__1 +rule__XSynchronizedExpression__Group_0_0__2 @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__1__Impl - rule__LetExpression__Group__2 + rule__XSynchronizedExpression__Group_0_0__2__Impl ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__1__Impl +rule__XSynchronizedExpression__Group_0_0__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); } - (rule__LetExpression__IdentifierAssignment_1) - { after(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } + '(' + { after(grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__2 + +rule__XCatchClause__Group__0 @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__2__Impl - rule__LetExpression__Group__3 + rule__XCatchClause__Group__0__Impl + rule__XCatchClause__Group__1 ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__2__Impl +rule__XCatchClause__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } - '=' - { after(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } + { before(grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); } + ('catch') + { after(grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__3 +rule__XCatchClause__Group__1 @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__3__Impl - rule__LetExpression__Group__4 + rule__XCatchClause__Group__1__Impl + rule__XCatchClause__Group__2 ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__3__Impl +rule__XCatchClause__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); } - (rule__LetExpression__VarExprAssignment_3) - { after(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); } + { before(grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__4 +rule__XCatchClause__Group__2 @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__4__Impl - rule__LetExpression__Group__5 + rule__XCatchClause__Group__2__Impl + rule__XCatchClause__Group__3 ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__4__Impl +rule__XCatchClause__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } - ':' - { after(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } + { before(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2()); } + (rule__XCatchClause__DeclaredParamAssignment_2) + { after(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__5 +rule__XCatchClause__Group__3 @init { int stackSize = keepStackSize(); } : - rule__LetExpression__Group__5__Impl + rule__XCatchClause__Group__3__Impl + rule__XCatchClause__Group__4 ; finally { restoreStackSize(stackSize); } -rule__LetExpression__Group__5__Impl +rule__XCatchClause__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } - (rule__LetExpression__TargetAssignment_5) - { after(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } + { before(grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); } + ')' + { after(grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); } ) ; finally { restoreStackSize(stackSize); } - -rule__CastedExpression__Group__0 +rule__XCatchClause__Group__4 @init { int stackSize = keepStackSize(); } : - rule__CastedExpression__Group__0__Impl - rule__CastedExpression__Group__1 + rule__XCatchClause__Group__4__Impl ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__0__Impl +rule__XCatchClause__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } - '(' - { after(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } + { before(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4()); } + (rule__XCatchClause__ExpressionAssignment_4) + { after(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__1 + +rule__QualifiedName__Group__0 @init { int stackSize = keepStackSize(); } : - rule__CastedExpression__Group__1__Impl - rule__CastedExpression__Group__2 + rule__QualifiedName__Group__0__Impl + rule__QualifiedName__Group__1 ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__1__Impl +rule__QualifiedName__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); } - (rule__CastedExpression__TypeAssignment_1) - { after(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); } + { before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); } + ruleValidID + { after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__2 +rule__QualifiedName__Group__1 @init { int stackSize = keepStackSize(); } : - rule__CastedExpression__Group__2__Impl - rule__CastedExpression__Group__3 + rule__QualifiedName__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__2__Impl +rule__QualifiedName__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); } - ')' - { after(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); } + { before(grammarAccess.getQualifiedNameAccess().getGroup_1()); } + (rule__QualifiedName__Group_1__0)* + { after(grammarAccess.getQualifiedNameAccess().getGroup_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__3 + +rule__QualifiedName__Group_1__0 @init { int stackSize = keepStackSize(); } : - rule__CastedExpression__Group__3__Impl + rule__QualifiedName__Group_1__0__Impl + rule__QualifiedName__Group_1__1 ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__Group__3__Impl +rule__QualifiedName__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); } - (rule__CastedExpression__TargetAssignment_3) - { after(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); } + { before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); } + ('.') + { after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ChainExpression__Group__0 +rule__QualifiedName__Group_1__1 @init { int stackSize = keepStackSize(); } : - rule__ChainExpression__Group__0__Impl - rule__ChainExpression__Group__1 + rule__QualifiedName__Group_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group__0__Impl +rule__QualifiedName__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } - ruleChainedExpression - { after(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } + { before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); } + ruleValidID + { after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group__1 + +rule__Number__Group_1__0 @init { int stackSize = keepStackSize(); } : - rule__ChainExpression__Group__1__Impl + rule__Number__Group_1__0__Impl + rule__Number__Group_1__1 ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group__1__Impl +rule__Number__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getChainExpressionAccess().getGroup_1()); } - (rule__ChainExpression__Group_1__0)* - { after(grammarAccess.getChainExpressionAccess().getGroup_1()); } + { before(grammarAccess.getNumberAccess().getAlternatives_1_0()); } + (rule__Number__Alternatives_1_0) + { after(grammarAccess.getNumberAccess().getAlternatives_1_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ChainExpression__Group_1__0 +rule__Number__Group_1__1 @init { int stackSize = keepStackSize(); } : - rule__ChainExpression__Group_1__0__Impl - rule__ChainExpression__Group_1__1 + rule__Number__Group_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group_1__0__Impl +rule__Number__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); } - () - { after(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); } + { before(grammarAccess.getNumberAccess().getGroup_1_1()); } + (rule__Number__Group_1_1__0)? + { after(grammarAccess.getNumberAccess().getGroup_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group_1__1 + +rule__Number__Group_1_1__0 @init { int stackSize = keepStackSize(); } : - rule__ChainExpression__Group_1__1__Impl - rule__ChainExpression__Group_1__2 + rule__Number__Group_1_1__0__Impl + rule__Number__Group_1_1__1 ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group_1__1__Impl +rule__Number__Group_1_1__0__Impl @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } - '->' - { after(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } +( + { before(grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); } + '.' + { after(grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group_1__2 +rule__Number__Group_1_1__1 @init { int stackSize = keepStackSize(); } : - rule__ChainExpression__Group_1__2__Impl + rule__Number__Group_1_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__Group_1__2__Impl +rule__Number__Group_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } - (rule__ChainExpression__NextAssignment_1_2) - { after(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } + { before(grammarAccess.getNumberAccess().getAlternatives_1_1_1()); } + (rule__Number__Alternatives_1_1_1) + { after(grammarAccess.getNumberAccess().getAlternatives_1_1_1()); } ) ; finally { @@ -6330,53 +22804,53 @@ finally { } -rule__IfExpressionTri__Group__0 +rule__JvmTypeReference__Group_0__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group__0__Impl - rule__IfExpressionTri__Group__1 + rule__JvmTypeReference__Group_0__0__Impl + rule__JvmTypeReference__Group_0__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group__0__Impl +rule__JvmTypeReference__Group_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } - ruleOrExpression - { after(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); } + ruleJvmParameterizedTypeReference + { after(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group__1 +rule__JvmTypeReference__Group_0__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group__1__Impl + rule__JvmTypeReference__Group_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group__1__Impl +rule__JvmTypeReference__Group_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } - (rule__IfExpressionTri__Group_1__0)? - { after(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } + { before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1()); } + (rule__JvmTypeReference__Group_0_1__0)* + { after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1()); } ) ; finally { @@ -6384,134 +22858,134 @@ finally { } -rule__IfExpressionTri__Group_1__0 +rule__JvmTypeReference__Group_0_1__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group_1__0__Impl - rule__IfExpressionTri__Group_1__1 + rule__JvmTypeReference__Group_0_1__0__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__0__Impl +rule__JvmTypeReference__Group_0_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } - () - { after(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } + { before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0()); } + (rule__JvmTypeReference__Group_0_1_0__0) + { after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__1 + +rule__JvmTypeReference__Group_0_1_0__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group_1__1__Impl - rule__IfExpressionTri__Group_1__2 + rule__JvmTypeReference__Group_0_1_0__0__Impl + rule__JvmTypeReference__Group_0_1_0__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__1__Impl +rule__JvmTypeReference__Group_0_1_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } - '?' - { after(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } + { before(grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()); } + () + { after(grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__2 +rule__JvmTypeReference__Group_0_1_0__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group_1__2__Impl - rule__IfExpressionTri__Group_1__3 + rule__JvmTypeReference__Group_0_1_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__2__Impl +rule__JvmTypeReference__Group_0_1_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); } - (rule__IfExpressionTri__ThenPartAssignment_1_2) - { after(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); } + { before(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); } + ruleArrayBrackets + { after(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__3 + +rule__ArrayBrackets__Group__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group_1__3__Impl - rule__IfExpressionTri__Group_1__4 + rule__ArrayBrackets__Group__0__Impl + rule__ArrayBrackets__Group__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__3__Impl +rule__ArrayBrackets__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } - ':' - { after(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } + { before(grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); } + '[' + { after(grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__4 +rule__ArrayBrackets__Group__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionTri__Group_1__4__Impl + rule__ArrayBrackets__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__Group_1__4__Impl +rule__ArrayBrackets__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); } - (rule__IfExpressionTri__ElsePartAssignment_1_4) - { after(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); } + { before(grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); } + ']' + { after(grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); } ) ; finally { @@ -6519,161 +22993,161 @@ finally { } -rule__IfExpressionKw__Group__0 +rule__XFunctionTypeRef__Group__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group__0__Impl - rule__IfExpressionKw__Group__1 + rule__XFunctionTypeRef__Group__0__Impl + rule__XFunctionTypeRef__Group__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__0__Impl +rule__XFunctionTypeRef__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); } - 'if' - { after(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0()); } + (rule__XFunctionTypeRef__Group_0__0)? + { after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__1 +rule__XFunctionTypeRef__Group__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group__1__Impl - rule__IfExpressionKw__Group__2 + rule__XFunctionTypeRef__Group__1__Impl + rule__XFunctionTypeRef__Group__2 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__1__Impl +rule__XFunctionTypeRef__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } - (rule__IfExpressionKw__ConditionAssignment_1) - { after(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); } + '=>' + { after(grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__2 +rule__XFunctionTypeRef__Group__2 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group__2__Impl - rule__IfExpressionKw__Group__3 + rule__XFunctionTypeRef__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__2__Impl +rule__XFunctionTypeRef__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } - 'then' - { after(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2()); } + (rule__XFunctionTypeRef__ReturnTypeAssignment_2) + { after(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__3 + +rule__XFunctionTypeRef__Group_0__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group__3__Impl - rule__IfExpressionKw__Group__4 + rule__XFunctionTypeRef__Group_0__0__Impl + rule__XFunctionTypeRef__Group_0__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__3__Impl +rule__XFunctionTypeRef__Group_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); } - (rule__IfExpressionKw__ThenPartAssignment_3) - { after(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); } + '(' + { after(grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__4 +rule__XFunctionTypeRef__Group_0__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group__4__Impl + rule__XFunctionTypeRef__Group_0__1__Impl + rule__XFunctionTypeRef__Group_0__2 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group__4__Impl +rule__XFunctionTypeRef__Group_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } - (rule__IfExpressionKw__Group_4__0)? - { after(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1()); } + (rule__XFunctionTypeRef__Group_0_1__0)? + { after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__IfExpressionKw__Group_4__0 +rule__XFunctionTypeRef__Group_0__2 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group_4__0__Impl + rule__XFunctionTypeRef__Group_0__2__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group_4__0__Impl +rule__XFunctionTypeRef__Group_0__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); } - (rule__IfExpressionKw__Group_4_0__0) - { after(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); } + ')' + { after(grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); } ) ; finally { @@ -6681,53 +23155,53 @@ finally { } -rule__IfExpressionKw__Group_4_0__0 +rule__XFunctionTypeRef__Group_0_1__0 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group_4_0__0__Impl - rule__IfExpressionKw__Group_4_0__1 + rule__XFunctionTypeRef__Group_0_1__0__Impl + rule__XFunctionTypeRef__Group_0_1__1 ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group_4_0__0__Impl +rule__XFunctionTypeRef__Group_0_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } - 'else' - { after(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0()); } + (rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0) + { after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group_4_0__1 +rule__XFunctionTypeRef__Group_0_1__1 @init { int stackSize = keepStackSize(); } : - rule__IfExpressionKw__Group_4_0__1__Impl + rule__XFunctionTypeRef__Group_0_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__Group_4_0__1__Impl +rule__XFunctionTypeRef__Group_0_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); } - (rule__IfExpressionKw__ElsePartAssignment_4_0_1) - { after(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1()); } + (rule__XFunctionTypeRef__Group_0_1_1__0)* + { after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1()); } ) ; finally { @@ -6735,296 +23209,296 @@ finally { } -rule__SwitchExpression__Group__0 +rule__XFunctionTypeRef__Group_0_1_1__0 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__0__Impl - rule__SwitchExpression__Group__1 + rule__XFunctionTypeRef__Group_0_1_1__0__Impl + rule__XFunctionTypeRef__Group_0_1_1__1 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__0__Impl +rule__XFunctionTypeRef__Group_0_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } - 'switch' - { after(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); } + ',' + { after(grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__1 +rule__XFunctionTypeRef__Group_0_1_1__1 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__1__Impl - rule__SwitchExpression__Group__2 + rule__XFunctionTypeRef__Group_0_1_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__1__Impl +rule__XFunctionTypeRef__Group_0_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getGroup_1()); } - (rule__SwitchExpression__Group_1__0)? - { after(grammarAccess.getSwitchExpressionAccess().getGroup_1()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1()); } + (rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1) + { after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__2 + +rule__JvmParameterizedTypeReference__Group__0 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__2__Impl - rule__SwitchExpression__Group__3 + rule__JvmParameterizedTypeReference__Group__0__Impl + rule__JvmParameterizedTypeReference__Group__1 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__2__Impl +rule__JvmParameterizedTypeReference__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } - '{' - { after(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0()); } + (rule__JvmParameterizedTypeReference__TypeAssignment_0) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__3 +rule__JvmParameterizedTypeReference__Group__1 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__3__Impl - rule__SwitchExpression__Group__4 + rule__JvmParameterizedTypeReference__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__3__Impl +rule__JvmParameterizedTypeReference__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } - (rule__SwitchExpression__CaseAssignment_3)* - { after(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1()); } + (rule__JvmParameterizedTypeReference__Group_1__0)? + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__4 + +rule__JvmParameterizedTypeReference__Group_1__0 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__4__Impl - rule__SwitchExpression__Group__5 + rule__JvmParameterizedTypeReference__Group_1__0__Impl + rule__JvmParameterizedTypeReference__Group_1__1 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__4__Impl +rule__JvmParameterizedTypeReference__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } - 'default' - { after(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); } + ('<') + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__5 +rule__JvmParameterizedTypeReference__Group_1__1 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__5__Impl - rule__SwitchExpression__Group__6 + rule__JvmParameterizedTypeReference__Group_1__1__Impl + rule__JvmParameterizedTypeReference__Group_1__2 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__5__Impl +rule__JvmParameterizedTypeReference__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } - ':' - { after(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1()); } + (rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__6 +rule__JvmParameterizedTypeReference__Group_1__2 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__6__Impl - rule__SwitchExpression__Group__7 + rule__JvmParameterizedTypeReference__Group_1__2__Impl + rule__JvmParameterizedTypeReference__Group_1__3 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__6__Impl +rule__JvmParameterizedTypeReference__Group_1__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); } - (rule__SwitchExpression__DefaultExprAssignment_6) - { after(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2()); } + (rule__JvmParameterizedTypeReference__Group_1_2__0)* + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__7 +rule__JvmParameterizedTypeReference__Group_1__3 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group__7__Impl + rule__JvmParameterizedTypeReference__Group_1__3__Impl + rule__JvmParameterizedTypeReference__Group_1__4 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group__7__Impl +rule__JvmParameterizedTypeReference__Group_1__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } - '}' - { after(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); } + '>' + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); } ) ; finally { restoreStackSize(stackSize); } - -rule__SwitchExpression__Group_1__0 +rule__JvmParameterizedTypeReference__Group_1__4 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group_1__0__Impl - rule__SwitchExpression__Group_1__1 + rule__JvmParameterizedTypeReference__Group_1__4__Impl ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group_1__0__Impl +rule__JvmParameterizedTypeReference__Group_1__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } - '(' - { after(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4()); } + (rule__JvmParameterizedTypeReference__Group_1_4__0)* + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group_1__1 + +rule__JvmParameterizedTypeReference__Group_1_2__0 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group_1__1__Impl - rule__SwitchExpression__Group_1__2 + rule__JvmParameterizedTypeReference__Group_1_2__0__Impl + rule__JvmParameterizedTypeReference__Group_1_2__1 ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group_1__1__Impl +rule__JvmParameterizedTypeReference__Group_1_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } - (rule__SwitchExpression__SwitchExprAssignment_1_1) - { after(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); } + ',' + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group_1__2 +rule__JvmParameterizedTypeReference__Group_1_2__1 @init { int stackSize = keepStackSize(); } : - rule__SwitchExpression__Group_1__2__Impl + rule__JvmParameterizedTypeReference__Group_1_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__Group_1__2__Impl +rule__JvmParameterizedTypeReference__Group_1_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } - ')' - { after(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1()); } + (rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1()); } ) ; finally { @@ -7032,107 +23506,107 @@ finally { } -rule__Case__Group__0 +rule__JvmParameterizedTypeReference__Group_1_4__0 @init { int stackSize = keepStackSize(); } : - rule__Case__Group__0__Impl - rule__Case__Group__1 + rule__JvmParameterizedTypeReference__Group_1_4__0__Impl + rule__JvmParameterizedTypeReference__Group_1_4__1 ; finally { restoreStackSize(stackSize); } -rule__Case__Group__0__Impl +rule__JvmParameterizedTypeReference__Group_1_4__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getCaseKeyword_0()); } - 'case' - { after(grammarAccess.getCaseAccess().getCaseKeyword_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0()); } + (rule__JvmParameterizedTypeReference__Group_1_4_0__0) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Case__Group__1 +rule__JvmParameterizedTypeReference__Group_1_4__1 @init { int stackSize = keepStackSize(); } : - rule__Case__Group__1__Impl - rule__Case__Group__2 + rule__JvmParameterizedTypeReference__Group_1_4__1__Impl + rule__JvmParameterizedTypeReference__Group_1_4__2 ; finally { restoreStackSize(stackSize); } -rule__Case__Group__1__Impl +rule__JvmParameterizedTypeReference__Group_1_4__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getConditionAssignment_1()); } - (rule__Case__ConditionAssignment_1) - { after(grammarAccess.getCaseAccess().getConditionAssignment_1()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1()); } + (rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Case__Group__2 +rule__JvmParameterizedTypeReference__Group_1_4__2 @init { int stackSize = keepStackSize(); } : - rule__Case__Group__2__Impl - rule__Case__Group__3 + rule__JvmParameterizedTypeReference__Group_1_4__2__Impl ; finally { restoreStackSize(stackSize); } -rule__Case__Group__2__Impl +rule__JvmParameterizedTypeReference__Group_1_4__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getColonKeyword_2()); } - ':' - { after(grammarAccess.getCaseAccess().getColonKeyword_2()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2()); } + (rule__JvmParameterizedTypeReference__Group_1_4_2__0)? + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Case__Group__3 + +rule__JvmParameterizedTypeReference__Group_1_4_0__0 @init { int stackSize = keepStackSize(); } : - rule__Case__Group__3__Impl + rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl ; finally { restoreStackSize(stackSize); } -rule__Case__Group__3__Impl +rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getThenParAssignment_3()); } - (rule__Case__ThenParAssignment_3) - { after(grammarAccess.getCaseAccess().getThenParAssignment_3()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0()); } + (rule__JvmParameterizedTypeReference__Group_1_4_0_0__0) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0()); } ) ; finally { @@ -7140,53 +23614,53 @@ finally { } -rule__OrExpression__Group__0 +rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 @init { int stackSize = keepStackSize(); } : - rule__OrExpression__Group__0__Impl - rule__OrExpression__Group__1 + rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl + rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group__0__Impl +rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } - ruleAndExpression - { after(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()); } + () + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group__1 +rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 @init { int stackSize = keepStackSize(); } : - rule__OrExpression__Group__1__Impl + rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group__1__Impl +rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getGroup_1()); } - (rule__OrExpression__Group_1__0)* - { after(grammarAccess.getOrExpressionAccess().getGroup_1()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); } + '.' + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); } ) ; finally { @@ -7194,350 +23668,350 @@ finally { } -rule__OrExpression__Group_1__0 +rule__JvmParameterizedTypeReference__Group_1_4_2__0 @init { int stackSize = keepStackSize(); } : - rule__OrExpression__Group_1__0__Impl - rule__OrExpression__Group_1__1 + rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2__1 ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group_1__0__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); } - () - { after(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); } + ('<') + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group_1__1 +rule__JvmParameterizedTypeReference__Group_1_4_2__1 @init { int stackSize = keepStackSize(); } : - rule__OrExpression__Group_1__1__Impl - rule__OrExpression__Group_1__2 + rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2__2 ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group_1__1__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } - (rule__OrExpression__OperatorAssignment_1_1) - { after(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1()); } + (rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group_1__2 +rule__JvmParameterizedTypeReference__Group_1_4_2__2 @init { int stackSize = keepStackSize(); } : - rule__OrExpression__Group_1__2__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2__3 ; finally { restoreStackSize(stackSize); } -rule__OrExpression__Group_1__2__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } - (rule__OrExpression__RightAssignment_1_2) - { after(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2()); } + (rule__JvmParameterizedTypeReference__Group_1_4_2_2__0)* + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2()); } ) ; finally { restoreStackSize(stackSize); } - -rule__AndExpression__Group__0 +rule__JvmParameterizedTypeReference__Group_1_4_2__3 @init { int stackSize = keepStackSize(); } : - rule__AndExpression__Group__0__Impl - rule__AndExpression__Group__1 + rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group__0__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } - ruleImpliesExpression - { after(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); } + '>' + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group__1 + +rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 @init { int stackSize = keepStackSize(); } : - rule__AndExpression__Group__1__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl + rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group__1__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getGroup_1()); } - (rule__AndExpression__Group_1__0)* - { after(grammarAccess.getAndExpressionAccess().getGroup_1()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); } + ',' + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__AndExpression__Group_1__0 +rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 @init { int stackSize = keepStackSize(); } : - rule__AndExpression__Group_1__0__Impl - rule__AndExpression__Group_1__1 + rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group_1__0__Impl +rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); } - () - { after(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1()); } + (rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group_1__1 + +rule__JvmWildcardTypeReference__Group__0 @init { int stackSize = keepStackSize(); } : - rule__AndExpression__Group_1__1__Impl - rule__AndExpression__Group_1__2 + rule__JvmWildcardTypeReference__Group__0__Impl + rule__JvmWildcardTypeReference__Group__1 ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group_1__1__Impl +rule__JvmWildcardTypeReference__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } - (rule__AndExpression__OperatorAssignment_1_1) - { after(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0()); } + () + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group_1__2 +rule__JvmWildcardTypeReference__Group__1 @init { int stackSize = keepStackSize(); } : - rule__AndExpression__Group_1__2__Impl + rule__JvmWildcardTypeReference__Group__1__Impl + rule__JvmWildcardTypeReference__Group__2 ; finally { restoreStackSize(stackSize); } -rule__AndExpression__Group_1__2__Impl +rule__JvmWildcardTypeReference__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } - (rule__AndExpression__RightAssignment_1_2) - { after(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); } + '?' + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ImpliesExpression__Group__0 +rule__JvmWildcardTypeReference__Group__2 @init { int stackSize = keepStackSize(); } : - rule__ImpliesExpression__Group__0__Impl - rule__ImpliesExpression__Group__1 + rule__JvmWildcardTypeReference__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group__0__Impl +rule__JvmWildcardTypeReference__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } - ruleRelationalExpression - { after(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2()); } + (rule__JvmWildcardTypeReference__Alternatives_2)? + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group__1 + +rule__JvmWildcardTypeReference__Group_2_0__0 @init { int stackSize = keepStackSize(); } : - rule__ImpliesExpression__Group__1__Impl + rule__JvmWildcardTypeReference__Group_2_0__0__Impl + rule__JvmWildcardTypeReference__Group_2_0__1 ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group__1__Impl +rule__JvmWildcardTypeReference__Group_2_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } - (rule__ImpliesExpression__Group_1__0)* - { after(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0()); } + (rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0) + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ImpliesExpression__Group_1__0 +rule__JvmWildcardTypeReference__Group_2_0__1 @init { int stackSize = keepStackSize(); } : - rule__ImpliesExpression__Group_1__0__Impl - rule__ImpliesExpression__Group_1__1 + rule__JvmWildcardTypeReference__Group_2_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group_1__0__Impl +rule__JvmWildcardTypeReference__Group_2_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); } - () - { after(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1()); } + (rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1)* + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group_1__1 + +rule__JvmWildcardTypeReference__Group_2_1__0 @init { int stackSize = keepStackSize(); } : - rule__ImpliesExpression__Group_1__1__Impl - rule__ImpliesExpression__Group_1__2 + rule__JvmWildcardTypeReference__Group_2_1__0__Impl + rule__JvmWildcardTypeReference__Group_2_1__1 ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group_1__1__Impl +rule__JvmWildcardTypeReference__Group_2_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } - (rule__ImpliesExpression__OperatorAssignment_1_1) - { after(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0()); } + (rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0) + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group_1__2 +rule__JvmWildcardTypeReference__Group_2_1__1 @init { int stackSize = keepStackSize(); } : - rule__ImpliesExpression__Group_1__2__Impl + rule__JvmWildcardTypeReference__Group_2_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__Group_1__2__Impl +rule__JvmWildcardTypeReference__Group_2_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } - (rule__ImpliesExpression__RightAssignment_1_2) - { after(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1()); } + (rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1)* + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1()); } ) ; finally { @@ -7545,53 +24019,53 @@ finally { } -rule__RelationalExpression__Group__0 +rule__JvmUpperBound__Group__0 @init { int stackSize = keepStackSize(); } : - rule__RelationalExpression__Group__0__Impl - rule__RelationalExpression__Group__1 + rule__JvmUpperBound__Group__0__Impl + rule__JvmUpperBound__Group__1 ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group__0__Impl +rule__JvmUpperBound__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } - ruleAdditiveExpression - { after(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); } + 'extends' + { after(grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group__1 +rule__JvmUpperBound__Group__1 @init { int stackSize = keepStackSize(); } : - rule__RelationalExpression__Group__1__Impl + rule__JvmUpperBound__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group__1__Impl +rule__JvmUpperBound__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getGroup_1()); } - (rule__RelationalExpression__Group_1__0)* - { after(grammarAccess.getRelationalExpressionAccess().getGroup_1()); } + { before(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1()); } + (rule__JvmUpperBound__TypeReferenceAssignment_1) + { after(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1()); } ) ; finally { @@ -7599,4173 +24073,4546 @@ finally { } -rule__RelationalExpression__Group_1__0 +rule__JvmUpperBoundAnded__Group__0 @init { int stackSize = keepStackSize(); } : - rule__RelationalExpression__Group_1__0__Impl - rule__RelationalExpression__Group_1__1 + rule__JvmUpperBoundAnded__Group__0__Impl + rule__JvmUpperBoundAnded__Group__1 ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group_1__0__Impl +rule__JvmUpperBoundAnded__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); } - () - { after(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); } + { before(grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); } + '&' + { after(grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group_1__1 +rule__JvmUpperBoundAnded__Group__1 @init { int stackSize = keepStackSize(); } : - rule__RelationalExpression__Group_1__1__Impl - rule__RelationalExpression__Group_1__2 + rule__JvmUpperBoundAnded__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group_1__1__Impl +rule__JvmUpperBoundAnded__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } - (rule__RelationalExpression__OperatorAssignment_1_1) - { after(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } + { before(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1()); } + (rule__JvmUpperBoundAnded__TypeReferenceAssignment_1) + { after(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group_1__2 + +rule__JvmLowerBound__Group__0 @init { int stackSize = keepStackSize(); } : - rule__RelationalExpression__Group_1__2__Impl + rule__JvmLowerBound__Group__0__Impl + rule__JvmLowerBound__Group__1 ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__Group_1__2__Impl +rule__JvmLowerBound__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } - (rule__RelationalExpression__RightAssignment_1_2) - { after(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } + { before(grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); } + 'super' + { after(grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__AdditiveExpression__Group__0 +rule__JvmLowerBound__Group__1 @init { int stackSize = keepStackSize(); } : - rule__AdditiveExpression__Group__0__Impl - rule__AdditiveExpression__Group__1 + rule__JvmLowerBound__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group__0__Impl +rule__JvmLowerBound__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } - ruleMultiplicativeExpression - { after(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } + { before(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1()); } + (rule__JvmLowerBound__TypeReferenceAssignment_1) + { after(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group__1 + +rule__JvmLowerBoundAnded__Group__0 @init { int stackSize = keepStackSize(); } : - rule__AdditiveExpression__Group__1__Impl + rule__JvmLowerBoundAnded__Group__0__Impl + rule__JvmLowerBoundAnded__Group__1 ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group__1__Impl +rule__JvmLowerBoundAnded__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } - (rule__AdditiveExpression__Group_1__0)* - { after(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } + { before(grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); } + '&' + { after(grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__AdditiveExpression__Group_1__0 +rule__JvmLowerBoundAnded__Group__1 @init { int stackSize = keepStackSize(); } : - rule__AdditiveExpression__Group_1__0__Impl - rule__AdditiveExpression__Group_1__1 + rule__JvmLowerBoundAnded__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group_1__0__Impl +rule__JvmLowerBoundAnded__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); } - () - { after(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); } + { before(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1()); } + (rule__JvmLowerBoundAnded__TypeReferenceAssignment_1) + { after(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group_1__1 + +rule__QualifiedNameWithWildcard__Group__0 @init { int stackSize = keepStackSize(); } : - rule__AdditiveExpression__Group_1__1__Impl - rule__AdditiveExpression__Group_1__2 + rule__QualifiedNameWithWildcard__Group__0__Impl + rule__QualifiedNameWithWildcard__Group__1 ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group_1__1__Impl +rule__QualifiedNameWithWildcard__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } - (rule__AdditiveExpression__NameAssignment_1_1) - { after(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } + { before(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); } + ruleQualifiedName + { after(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group_1__2 +rule__QualifiedNameWithWildcard__Group__1 @init { int stackSize = keepStackSize(); } : - rule__AdditiveExpression__Group_1__2__Impl + rule__QualifiedNameWithWildcard__Group__1__Impl + rule__QualifiedNameWithWildcard__Group__2 ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__Group_1__2__Impl +rule__QualifiedNameWithWildcard__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } - (rule__AdditiveExpression__ParamsAssignment_1_2) - { after(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } + { before(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); } + '.' + { after(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__MultiplicativeExpression__Group__0 +rule__QualifiedNameWithWildcard__Group__2 @init { int stackSize = keepStackSize(); } : - rule__MultiplicativeExpression__Group__0__Impl - rule__MultiplicativeExpression__Group__1 + rule__QualifiedNameWithWildcard__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group__0__Impl +rule__QualifiedNameWithWildcard__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } - ruleUnaryOrInfixExpression - { after(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } + { before(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); } + '*' + { after(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group__1 + +rule__XImportDeclaration__Group__0 @init { int stackSize = keepStackSize(); } : - rule__MultiplicativeExpression__Group__1__Impl + rule__XImportDeclaration__Group__0__Impl + rule__XImportDeclaration__Group__1 ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group__1__Impl +rule__XImportDeclaration__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } - (rule__MultiplicativeExpression__Group_1__0)* - { after(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } + { before(grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); } + 'import' + { after(grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__MultiplicativeExpression__Group_1__0 +rule__XImportDeclaration__Group__1 @init { int stackSize = keepStackSize(); } : - rule__MultiplicativeExpression__Group_1__0__Impl - rule__MultiplicativeExpression__Group_1__1 + rule__XImportDeclaration__Group__1__Impl + rule__XImportDeclaration__Group__2 ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group_1__0__Impl +rule__XImportDeclaration__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); } - () - { after(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getAlternatives_1()); } + (rule__XImportDeclaration__Alternatives_1) + { after(grammarAccess.getXImportDeclarationAccess().getAlternatives_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group_1__1 +rule__XImportDeclaration__Group__2 @init { int stackSize = keepStackSize(); } : - rule__MultiplicativeExpression__Group_1__1__Impl - rule__MultiplicativeExpression__Group_1__2 + rule__XImportDeclaration__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group_1__1__Impl +rule__XImportDeclaration__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); } - (rule__MultiplicativeExpression__NameAssignment_1_1) - { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); } + { before(grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); } + (';')? + { after(grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group_1__2 + +rule__XImportDeclaration__Group_1_0__0 @init { int stackSize = keepStackSize(); } : - rule__MultiplicativeExpression__Group_1__2__Impl + rule__XImportDeclaration__Group_1_0__0__Impl + rule__XImportDeclaration__Group_1_0__1 ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__Group_1__2__Impl +rule__XImportDeclaration__Group_1_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); } - (rule__MultiplicativeExpression__ParamsAssignment_1_2) - { after(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); } + { before(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0()); } + (rule__XImportDeclaration__StaticAssignment_1_0_0) + { after(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__UnaryExpression__Group__0 +rule__XImportDeclaration__Group_1_0__1 @init { int stackSize = keepStackSize(); } : - rule__UnaryExpression__Group__0__Impl - rule__UnaryExpression__Group__1 + rule__XImportDeclaration__Group_1_0__1__Impl + rule__XImportDeclaration__Group_1_0__2 ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__Group__0__Impl +rule__XImportDeclaration__Group_1_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); } - (rule__UnaryExpression__NameAssignment_0) - { after(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1()); } + (rule__XImportDeclaration__ExtensionAssignment_1_0_1)? + { after(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__Group__1 +rule__XImportDeclaration__Group_1_0__2 @init { int stackSize = keepStackSize(); } : - rule__UnaryExpression__Group__1__Impl + rule__XImportDeclaration__Group_1_0__2__Impl + rule__XImportDeclaration__Group_1_0__3 ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__Group__1__Impl +rule__XImportDeclaration__Group_1_0__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); } - (rule__UnaryExpression__ParamsAssignment_1) - { after(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); } + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2()); } + (rule__XImportDeclaration__ImportedTypeAssignment_1_0_2) + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2()); } ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group__0 +rule__XImportDeclaration__Group_1_0__3 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group__0__Impl - rule__InfixExpression__Group__1 + rule__XImportDeclaration__Group_1_0__3__Impl ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group__0__Impl +rule__XImportDeclaration__Group_1_0__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); } - rulePrimaryExpression - { after(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3()); } + (rule__XImportDeclaration__Alternatives_1_0_3) + { after(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group__1 + +rule__QualifiedNameInStaticImport__Group__0 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group__1__Impl + rule__QualifiedNameInStaticImport__Group__0__Impl + rule__QualifiedNameInStaticImport__Group__1 ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group__1__Impl +rule__QualifiedNameInStaticImport__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); } - (rule__InfixExpression__Alternatives_1)* - { after(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); } + { before(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); } + ruleValidID + { after(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_0__0 +rule__QualifiedNameInStaticImport__Group__1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__0__Impl - rule__InfixExpression__Group_1_0__1 + rule__QualifiedNameInStaticImport__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__0__Impl +rule__QualifiedNameInStaticImport__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); } - () - { after(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); } + { before(grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); } + '.' + { after(grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__1 + +rule__ScopeModel__NameAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__1__Impl - rule__InfixExpression__Group_1_0__2 + ( + { before(grammarAccess.getScopeModelAccess().getNameDottedIDParserRuleCall_1_0()); } + ruleDottedID + { after(grammarAccess.getScopeModelAccess().getNameDottedIDParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__1__Impl +rule__ScopeModel__IncludedScopesAssignment_2_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); } - '.' - { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); } -) + ( + { before(grammarAccess.getScopeModelAccess().getIncludedScopesScopeModelCrossReference_2_1_0()); } + ( + { before(grammarAccess.getScopeModelAccess().getIncludedScopesScopeModelDottedIDParserRuleCall_2_1_0_1()); } + ruleDottedID + { after(grammarAccess.getScopeModelAccess().getIncludedScopesScopeModelDottedIDParserRuleCall_2_1_0_1()); } + ) + { after(grammarAccess.getScopeModelAccess().getIncludedScopesScopeModelCrossReference_2_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__2 +rule__ScopeModel__ImportsAssignment_3 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__2__Impl - rule__InfixExpression__Group_1_0__3 + ( + { before(grammarAccess.getScopeModelAccess().getImportsImportParserRuleCall_3_0()); } + ruleImport + { after(grammarAccess.getScopeModelAccess().getImportsImportParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__2__Impl +rule__ScopeModel__ExtensionsAssignment_4 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); } - (rule__InfixExpression__NameAssignment_1_0_2) - { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); } -) + ( + { before(grammarAccess.getScopeModelAccess().getExtensionsExtensionParserRuleCall_4_0()); } + ruleExtension + { after(grammarAccess.getScopeModelAccess().getExtensionsExtensionParserRuleCall_4_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__3 +rule__ScopeModel__InjectionsAssignment_5 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__3__Impl - rule__InfixExpression__Group_1_0__4 + ( + { before(grammarAccess.getScopeModelAccess().getInjectionsInjectionParserRuleCall_5_0()); } + ruleInjection + { after(grammarAccess.getScopeModelAccess().getInjectionsInjectionParserRuleCall_5_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__3__Impl +rule__ScopeModel__NamingAssignment_6 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); } - '(' - { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); } -) + ( + { before(grammarAccess.getScopeModelAccess().getNamingNamingSectionParserRuleCall_6_0()); } + ruleNamingSection + { after(grammarAccess.getScopeModelAccess().getNamingNamingSectionParserRuleCall_6_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__4 +rule__ScopeModel__ScopesAssignment_7 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__4__Impl - rule__InfixExpression__Group_1_0__5 + ( + { before(grammarAccess.getScopeModelAccess().getScopesScopeDefinitionParserRuleCall_7_0()); } + ruleScopeDefinition + { after(grammarAccess.getScopeModelAccess().getScopesScopeDefinitionParserRuleCall_7_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__4__Impl +rule__Import__PackageAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); } - (rule__InfixExpression__Group_1_0_4__0)? - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); } -) + ( + { before(grammarAccess.getImportAccess().getPackageEPackageCrossReference_1_0()); } + ( + { before(grammarAccess.getImportAccess().getPackageEPackageSTRINGTerminalRuleCall_1_0_1()); } + RULE_STRING + { after(grammarAccess.getImportAccess().getPackageEPackageSTRINGTerminalRuleCall_1_0_1()); } + ) + { after(grammarAccess.getImportAccess().getPackageEPackageCrossReference_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__5 +rule__Import__NameAssignment_2_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0__5__Impl + ( + { before(grammarAccess.getImportAccess().getNameIdentifierParserRuleCall_2_1_0()); } + ruleIdentifier + { after(grammarAccess.getImportAccess().getNameIdentifierParserRuleCall_2_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0__5__Impl +rule__Extension__ExtensionAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); } - ')' - { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); } -) + ( + { before(grammarAccess.getExtensionAccess().getExtensionQualifiedIDParserRuleCall_1_0()); } + ruleQualifiedID + { after(grammarAccess.getExtensionAccess().getExtensionQualifiedIDParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_0_4__0 +rule__Injection__TypeAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0_4__0__Impl - rule__InfixExpression__Group_1_0_4__1 + ( + { before(grammarAccess.getInjectionAccess().getTypeDottedIDParserRuleCall_1_0()); } + ruleDottedID + { after(grammarAccess.getInjectionAccess().getTypeDottedIDParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4__0__Impl +rule__Injection__NameAssignment_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); } - (rule__InfixExpression__ParamsAssignment_1_0_4_0) - { after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); } -) + ( + { before(grammarAccess.getInjectionAccess().getNameIdentifierParserRuleCall_3_0()); } + ruleIdentifier + { after(grammarAccess.getInjectionAccess().getNameIdentifierParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4__1 +rule__NamingSection__CasingAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0_4__1__Impl + ( + { before(grammarAccess.getNamingSectionAccess().getCasingCasingEnumRuleCall_1_1_0()); } + ruleCasing + { after(grammarAccess.getNamingSectionAccess().getCasingCasingEnumRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4__1__Impl +rule__NamingSection__NamingsAssignment_4 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); } - (rule__InfixExpression__Group_1_0_4_1__0)* - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); } -) + ( + { before(grammarAccess.getNamingSectionAccess().getNamingsNamingDefinitionParserRuleCall_4_0()); } + ruleNamingDefinition + { after(grammarAccess.getNamingSectionAccess().getNamingsNamingDefinitionParserRuleCall_4_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_0_4_1__0 +rule__NamingDefinition__TypeAssignment_0 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0_4_1__0__Impl - rule__InfixExpression__Group_1_0_4_1__1 + ( + { before(grammarAccess.getNamingDefinitionAccess().getTypeEClassCrossReference_0_0()); } + ( + { before(grammarAccess.getNamingDefinitionAccess().getTypeEClassQualifiedIDParserRuleCall_0_0_1()); } + ruleQualifiedID + { after(grammarAccess.getNamingDefinitionAccess().getTypeEClassQualifiedIDParserRuleCall_0_0_1()); } + ) + { after(grammarAccess.getNamingDefinitionAccess().getTypeEClassCrossReference_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4_1__0__Impl +rule__NamingDefinition__NamingAssignment_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); } - ',' - { after(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); } -) + ( + { before(grammarAccess.getNamingDefinitionAccess().getNamingNamingParserRuleCall_2_0()); } + ruleNaming + { after(grammarAccess.getNamingDefinitionAccess().getNamingNamingParserRuleCall_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4_1__1 +rule__ScopeDefinition__NameAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_0_4_1__1__Impl + ( + { before(grammarAccess.getScopeDefinitionAccess().getNameIdentifierParserRuleCall_1_1_0()); } + ruleIdentifier + { after(grammarAccess.getScopeDefinitionAccess().getNameIdentifierParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_0_4_1__1__Impl +rule__ScopeDefinition__TargetTypeAssignment_2_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); } - (rule__InfixExpression__ParamsAssignment_1_0_4_1_1) - { after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); } -) + ( + { before(grammarAccess.getScopeDefinitionAccess().getTargetTypeEClassCrossReference_2_0_0()); } + ( + { before(grammarAccess.getScopeDefinitionAccess().getTargetTypeEClassQualifiedIDParserRuleCall_2_0_0_1()); } + ruleQualifiedID + { after(grammarAccess.getScopeDefinitionAccess().getTargetTypeEClassQualifiedIDParserRuleCall_2_0_0_1()); } + ) + { after(grammarAccess.getScopeDefinitionAccess().getTargetTypeEClassCrossReference_2_0_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_1__0 +rule__ScopeDefinition__ContextTypeAssignment_2_1_0 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_1__0__Impl - rule__InfixExpression__Group_1_1__1 + ( + { before(grammarAccess.getScopeDefinitionAccess().getContextTypeEClassCrossReference_2_1_0_0()); } + ( + { before(grammarAccess.getScopeDefinitionAccess().getContextTypeEClassQualifiedIDParserRuleCall_2_1_0_0_1()); } + ruleQualifiedID + { after(grammarAccess.getScopeDefinitionAccess().getContextTypeEClassQualifiedIDParserRuleCall_2_1_0_0_1()); } + ) + { after(grammarAccess.getScopeDefinitionAccess().getContextTypeEClassCrossReference_2_1_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_1__0__Impl +rule__ScopeDefinition__ReferenceAssignment_2_1_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); } - () - { after(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); } -) + ( + { before(grammarAccess.getScopeDefinitionAccess().getReferenceEReferenceCrossReference_2_1_2_0()); } + ( + { before(grammarAccess.getScopeDefinitionAccess().getReferenceEReferenceIdentifierParserRuleCall_2_1_2_0_1()); } + ruleIdentifier + { after(grammarAccess.getScopeDefinitionAccess().getReferenceEReferenceIdentifierParserRuleCall_2_1_2_0_1()); } + ) + { after(grammarAccess.getScopeDefinitionAccess().getReferenceEReferenceCrossReference_2_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_1__1 +rule__ScopeDefinition__RulesAssignment_4 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_1__1__Impl - rule__InfixExpression__Group_1_1__2 + ( + { before(grammarAccess.getScopeDefinitionAccess().getRulesScopeRuleParserRuleCall_4_0()); } + ruleScopeRule + { after(grammarAccess.getScopeDefinitionAccess().getRulesScopeRuleParserRuleCall_4_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_1__1__Impl +rule__ScopeRule__ContextAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); } - '.' - { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); } -) + ( + { before(grammarAccess.getScopeRuleAccess().getContextScopeContextParserRuleCall_1_0()); } + ruleScopeContext + { after(grammarAccess.getScopeRuleAccess().getContextScopeContextParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_1__2 +rule__ScopeRule__ExprsAssignment_3 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_1__2__Impl + ( + { before(grammarAccess.getScopeRuleAccess().getExprsScopeExpressionParserRuleCall_3_0()); } + ruleScopeExpression + { after(grammarAccess.getScopeRuleAccess().getExprsScopeExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_1__2__Impl +rule__ScopeRule__ExprsAssignment_4_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); } - (rule__InfixExpression__TypeAssignment_1_1_2) - { after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); } -) + ( + { before(grammarAccess.getScopeRuleAccess().getExprsScopeExpressionParserRuleCall_4_1_0()); } + ruleScopeExpression + { after(grammarAccess.getScopeRuleAccess().getExprsScopeExpressionParserRuleCall_4_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_2__0 +rule__ScopeContext__GlobalAssignment_0_0 @init { int stackSize = keepStackSize(); } -: - rule__InfixExpression__Group_1_2__0__Impl - rule__InfixExpression__Group_1_2__1 +: + ( + { before(grammarAccess.getScopeContextAccess().getGlobalAsteriskKeyword_0_0_0()); } + ( + { before(grammarAccess.getScopeContextAccess().getGlobalAsteriskKeyword_0_0_0()); } + '*' + { after(grammarAccess.getScopeContextAccess().getGlobalAsteriskKeyword_0_0_0()); } + ) + { after(grammarAccess.getScopeContextAccess().getGlobalAsteriskKeyword_0_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__0__Impl +rule__ScopeContext__ContextTypeAssignment_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); } - () - { after(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); } -) + ( + { before(grammarAccess.getScopeContextAccess().getContextTypeEClassCrossReference_0_1_0()); } + ( + { before(grammarAccess.getScopeContextAccess().getContextTypeEClassQualifiedIDParserRuleCall_0_1_0_1()); } + ruleQualifiedID + { after(grammarAccess.getScopeContextAccess().getContextTypeEClassQualifiedIDParserRuleCall_0_1_0_1()); } + ) + { after(grammarAccess.getScopeContextAccess().getContextTypeEClassCrossReference_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__1 +rule__ScopeContext__GuardAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_2__1__Impl - rule__InfixExpression__Group_1_2__2 + ( + { before(grammarAccess.getScopeContextAccess().getGuardExpressionParserRuleCall_1_1_0()); } + ruleExpression + { after(grammarAccess.getScopeContextAccess().getGuardExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__1__Impl +rule__FactoryExpression__ExprAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); } - '.' - { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); } -) + ( + { before(grammarAccess.getFactoryExpressionAccess().getExprExpressionParserRuleCall_1_0()); } + ruleExpression + { after(grammarAccess.getFactoryExpressionAccess().getExprExpressionParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__2 +rule__ScopeDelegation__DelegateAssignment_2_0 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_2__2__Impl - rule__InfixExpression__Group_1_2__3 + ( + { before(grammarAccess.getScopeDelegationAccess().getDelegateExpressionParserRuleCall_2_0_0()); } + ruleExpression + { after(grammarAccess.getScopeDelegationAccess().getDelegateExpressionParserRuleCall_2_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__2__Impl +rule__ScopeDelegation__ExternalAssignment_2_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); } - (rule__InfixExpression__NameAssignment_1_2_2) - { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); } -) + ( + { before(grammarAccess.getScopeDelegationAccess().getExternalGlobalScopeExpressionParserRuleCall_2_1_0()); } + ruleGlobalScopeExpression + { after(grammarAccess.getScopeDelegationAccess().getExternalGlobalScopeExpressionParserRuleCall_2_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__3 +rule__ScopeDelegation__ScopeAssignment_3_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_2__3__Impl - rule__InfixExpression__Group_1_2__4 + ( + { before(grammarAccess.getScopeDelegationAccess().getScopeScopeDefinitionCrossReference_3_1_0()); } + ( + { before(grammarAccess.getScopeDelegationAccess().getScopeScopeDefinitionIdentifierParserRuleCall_3_1_0_1()); } + ruleIdentifier + { after(grammarAccess.getScopeDelegationAccess().getScopeScopeDefinitionIdentifierParserRuleCall_3_1_0_1()); } + ) + { after(grammarAccess.getScopeDelegationAccess().getScopeScopeDefinitionCrossReference_3_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__3__Impl +rule__NamedScopeExpression__CaseDefAssignment_1_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); } - '(' - { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); } -) + ( + { before(grammarAccess.getNamedScopeExpressionAccess().getCaseDefCaseKeyword_1_0_0()); } + ( + { before(grammarAccess.getNamedScopeExpressionAccess().getCaseDefCaseKeyword_1_0_0()); } + 'case' + { after(grammarAccess.getNamedScopeExpressionAccess().getCaseDefCaseKeyword_1_0_0()); } + ) + { after(grammarAccess.getNamedScopeExpressionAccess().getCaseDefCaseKeyword_1_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__4 +rule__NamedScopeExpression__CasingAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_2__4__Impl - rule__InfixExpression__Group_1_2__5 + ( + { before(grammarAccess.getNamedScopeExpressionAccess().getCasingCasingEnumRuleCall_1_1_0()); } + ruleCasing + { after(grammarAccess.getNamedScopeExpressionAccess().getCasingCasingEnumRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__4__Impl +rule__NamedScopeExpression__NamingAssignment_2_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); } - (rule__InfixExpression__TypeAssignment_1_2_4) - { after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); } -) + ( + { before(grammarAccess.getNamedScopeExpressionAccess().getNamingNamingParserRuleCall_2_1_0()); } + ruleNaming + { after(grammarAccess.getNamedScopeExpressionAccess().getNamingNamingParserRuleCall_2_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__5 +rule__GlobalScopeExpression__TypeAssignment_2 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_2__5__Impl + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getTypeEClassCrossReference_2_0()); } + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getTypeEClassQualifiedIDParserRuleCall_2_0_1()); } + ruleQualifiedID + { after(grammarAccess.getGlobalScopeExpressionAccess().getTypeEClassQualifiedIDParserRuleCall_2_0_1()); } + ) + { after(grammarAccess.getGlobalScopeExpressionAccess().getTypeEClassCrossReference_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_2__5__Impl +rule__GlobalScopeExpression__NameAssignment_3_0_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); } - ')' - { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); } -) + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getNameExpressionParserRuleCall_3_0_3_0()); } + ruleExpression + { after(grammarAccess.getGlobalScopeExpressionAccess().getNameExpressionParserRuleCall_3_0_3_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_3__0 +rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__0__Impl - rule__InfixExpression__Group_1_3__1 + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixRecursiveKeyword_3_1_1_0()); } + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixRecursiveKeyword_3_1_1_0()); } + 'recursive' + { after(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixRecursiveKeyword_3_1_1_0()); } + ) + { after(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixRecursiveKeyword_3_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__0__Impl +rule__GlobalScopeExpression__PrefixAssignment_3_1_4 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); } - () - { after(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); } -) + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getPrefixExpressionParserRuleCall_3_1_4_0()); } + ruleExpression + { after(grammarAccess.getGlobalScopeExpressionAccess().getPrefixExpressionParserRuleCall_3_1_4_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__1 +rule__GlobalScopeExpression__DataAssignment_4_4 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__1__Impl - rule__InfixExpression__Group_1_3__2 + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getDataDataExpressionParserRuleCall_4_4_0()); } + ruleDataExpression + { after(grammarAccess.getGlobalScopeExpressionAccess().getDataDataExpressionParserRuleCall_4_4_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__1__Impl +rule__GlobalScopeExpression__DataAssignment_4_5_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); } - '.' - { after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); } -) + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getDataDataExpressionParserRuleCall_4_5_1_0()); } + ruleDataExpression + { after(grammarAccess.getGlobalScopeExpressionAccess().getDataDataExpressionParserRuleCall_4_5_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__2 +rule__GlobalScopeExpression__DomainsAssignment_5_3_0 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__2__Impl - rule__InfixExpression__Group_1_3__3 + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAsteriskKeyword_5_3_0_0()); } + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAsteriskKeyword_5_3_0_0()); } + '*' + { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAsteriskKeyword_5_3_0_0()); } + ) + { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAsteriskKeyword_5_3_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__2__Impl +rule__GlobalScopeExpression__DomainsAssignment_5_3_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); } - (rule__InfixExpression__NameAssignment_1_3_2) - { after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); } -) + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_1_0()); } + ruleIdentifier + { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__3 +rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__3__Impl - rule__InfixExpression__Group_1_3__4 + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_2_1_0()); } + ruleIdentifier + { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_2_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__3__Impl +rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); } - '(' - { after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); } -) + ( + { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_2_2_1_0()); } + ruleIdentifier + { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_2_2_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__4 +rule__MatchDataExpression__KeyAssignment_0 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__4__Impl - rule__InfixExpression__Group_1_3__5 + ( + { before(grammarAccess.getMatchDataExpressionAccess().getKeyIdentifierParserRuleCall_0_0()); } + ruleIdentifier + { after(grammarAccess.getMatchDataExpressionAccess().getKeyIdentifierParserRuleCall_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__4__Impl +rule__MatchDataExpression__ValueAssignment_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); } - (rule__InfixExpression__Group_1_3_4__0)? - { after(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); } -) + ( + { before(grammarAccess.getMatchDataExpressionAccess().getValueExpressionParserRuleCall_2_0()); } + ruleExpression + { after(grammarAccess.getMatchDataExpressionAccess().getValueExpressionParserRuleCall_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__5 +rule__LambdaDataExpression__DescAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__5__Impl - rule__InfixExpression__Group_1_3__6 + ( + { before(grammarAccess.getLambdaDataExpressionAccess().getDescIdentifierParserRuleCall_1_0()); } + ruleIdentifier + { after(grammarAccess.getLambdaDataExpressionAccess().getDescIdentifierParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__5__Impl +rule__LambdaDataExpression__ValueAssignment_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); } - (rule__InfixExpression__ExpAssignment_1_3_5) - { after(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); } -) + ( + { before(grammarAccess.getLambdaDataExpressionAccess().getValueExpressionParserRuleCall_3_0()); } + ruleExpression + { after(grammarAccess.getLambdaDataExpressionAccess().getValueExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__6 +rule__SimpleScopeExpression__ExprAssignment @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3__6__Impl + ( + { before(grammarAccess.getSimpleScopeExpressionAccess().getExprExpressionParserRuleCall_0()); } + ruleExpression + { after(grammarAccess.getSimpleScopeExpressionAccess().getExprExpressionParserRuleCall_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3__6__Impl +rule__Naming__NamesAssignment_0_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); } - ')' - { after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); } -) + ( + { before(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_0_0_1_0()); } + ruleNamingExpression + { after(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__InfixExpression__Group_1_3_4__0 +rule__Naming__NamesAssignment_0_0_2_1 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3_4__0__Impl - rule__InfixExpression__Group_1_3_4__1 + ( + { before(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_0_0_2_1_0()); } + ruleNamingExpression + { after(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_0_0_2_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3_4__0__Impl +rule__Naming__NamesAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); } - (rule__InfixExpression__VarAssignment_1_3_4_0) - { after(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); } -) + ( + { before(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_1_0()); } + ruleNamingExpression + { after(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3_4__1 +rule__NamingExpression__ExportAssignment_0 @init { int stackSize = keepStackSize(); } : - rule__InfixExpression__Group_1_3_4__1__Impl + ( + { before(grammarAccess.getNamingExpressionAccess().getExportExportKeyword_0_0()); } + ( + { before(grammarAccess.getNamingExpressionAccess().getExportExportKeyword_0_0()); } + 'export' + { after(grammarAccess.getNamingExpressionAccess().getExportExportKeyword_0_0()); } + ) + { after(grammarAccess.getNamingExpressionAccess().getExportExportKeyword_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__Group_1_3_4__1__Impl +rule__NamingExpression__FactoryAssignment_1_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); } - '|' - { after(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); } -) + ( + { before(grammarAccess.getNamingExpressionAccess().getFactoryFactoryKeyword_1_0_0()); } + ( + { before(grammarAccess.getNamingExpressionAccess().getFactoryFactoryKeyword_1_0_0()); } + 'factory' + { after(grammarAccess.getNamingExpressionAccess().getFactoryFactoryKeyword_1_0_0()); } + ) + { after(grammarAccess.getNamingExpressionAccess().getFactoryFactoryKeyword_1_0_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__ParanthesizedExpression__Group__0 +rule__NamingExpression__ExpressionAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__ParanthesizedExpression__Group__0__Impl - rule__ParanthesizedExpression__Group__1 + ( + { before(grammarAccess.getNamingExpressionAccess().getExpressionExpressionParserRuleCall_1_1_0()); } + ruleExpression + { after(grammarAccess.getNamingExpressionAccess().getExpressionExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ParanthesizedExpression__Group__0__Impl +rule__LetExpression__IdentifierAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } - '(' - { after(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } -) + ( + { before(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); } + ruleIdentifier + { after(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ParanthesizedExpression__Group__1 +rule__LetExpression__VarExprAssignment_3 @init { int stackSize = keepStackSize(); } : - rule__ParanthesizedExpression__Group__1__Impl - rule__ParanthesizedExpression__Group__2 + ( + { before(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); } + ruleExpression + { after(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ParanthesizedExpression__Group__1__Impl +rule__LetExpression__TargetAssignment_5 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); } - ruleExpression - { after(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); } -) + ( + { before(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); } + ruleExpression + { after(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ParanthesizedExpression__Group__2 +rule__CastedExpression__TypeAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__ParanthesizedExpression__Group__2__Impl + ( + { before(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); } + ruleType + { after(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ParanthesizedExpression__Group__2__Impl +rule__CastedExpression__TargetAssignment_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); } - ')' - { after(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); } -) + ( + { before(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); } + ruleExpression + { after(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__GlobalVarExpression__Group__0 +rule__ChainExpression__NextAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__GlobalVarExpression__Group__0__Impl - rule__GlobalVarExpression__Group__1 + ( + { before(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); } + ruleChainedExpression + { after(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalVarExpression__Group__0__Impl +rule__IfExpressionTri__ThenPartAssignment_1_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); } - 'GLOBALVAR' - { after(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); } -) + ( + { before(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); } + ruleChainedExpression + { after(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalVarExpression__Group__1 +rule__IfExpressionTri__ElsePartAssignment_1_4 @init { int stackSize = keepStackSize(); } : - rule__GlobalVarExpression__Group__1__Impl + ( + { before(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); } + ruleChainedExpression + { after(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalVarExpression__Group__1__Impl +rule__IfExpressionKw__ConditionAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); } - (rule__GlobalVarExpression__NameAssignment_1) - { after(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); } -) + ( + { before(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); } + ruleChainedExpression + { after(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__OperationCall__Group__0 +rule__IfExpressionKw__ThenPartAssignment_3 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group__0__Impl - rule__OperationCall__Group__1 + ( + { before(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); } + ruleChainedExpression + { after(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__0__Impl +rule__IfExpressionKw__ElsePartAssignment_4_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getNameAssignment_0()); } - (rule__OperationCall__NameAssignment_0) - { after(grammarAccess.getOperationCallAccess().getNameAssignment_0()); } -) + ( + { before(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); } + ruleChainedExpression + { after(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__1 +rule__SwitchExpression__SwitchExprAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group__1__Impl - rule__OperationCall__Group__2 + ( + { before(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); } + ruleOrExpression + { after(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__1__Impl +rule__SwitchExpression__CaseAssignment_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); } - '(' - { after(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); } -) + ( + { before(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); } + ruleCase + { after(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__2 +rule__SwitchExpression__DefaultExprAssignment_6 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group__2__Impl - rule__OperationCall__Group__3 + ( + { before(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); } + ruleOrExpression + { after(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__2__Impl +rule__Case__ConditionAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getGroup_2()); } - (rule__OperationCall__Group_2__0)? - { after(grammarAccess.getOperationCallAccess().getGroup_2()); } -) + ( + { before(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); } + ruleOrExpression + { after(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__3 +rule__Case__ThenParAssignment_3 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group__3__Impl + ( + { before(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); } + ruleOrExpression + { after(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group__3__Impl +rule__OrExpression__OperatorAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); } - ')' - { after(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); } -) + ( + { before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } + ( + { before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } + '||' + { after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } + ) + { after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__OperationCall__Group_2__0 +rule__OrExpression__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group_2__0__Impl - rule__OperationCall__Group_2__1 + ( + { before(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); } + ruleAndExpression + { after(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2__0__Impl +rule__AndExpression__OperatorAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); } - (rule__OperationCall__ParamsAssignment_2_0) - { after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); } -) + ( + { before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } + ( + { before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } + '&&' + { after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } + ) + { after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2__1 +rule__AndExpression__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group_2__1__Impl + ( + { before(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); } + ruleImpliesExpression + { after(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2__1__Impl +rule__ImpliesExpression__OperatorAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getGroup_2_1()); } - (rule__OperationCall__Group_2_1__0)* - { after(grammarAccess.getOperationCallAccess().getGroup_2_1()); } -) + ( + { before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } + ( + { before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } + 'implies' + { after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } + ) + { after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__OperationCall__Group_2_1__0 +rule__ImpliesExpression__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group_2_1__0__Impl - rule__OperationCall__Group_2_1__1 + ( + { before(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); } + ruleRelationalExpression + { after(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2_1__0__Impl +rule__RelationalExpression__OperatorAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); } - ',' - { after(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); } -) + ( + { before(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); } + (rule__RelationalExpression__OperatorAlternatives_1_1_0) + { after(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2_1__1 +rule__RelationalExpression__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__OperationCall__Group_2_1__1__Impl + ( + { before(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); } + ruleAdditiveExpression + { after(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__Group_2_1__1__Impl +rule__AdditiveExpression__NameAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); } - (rule__OperationCall__ParamsAssignment_2_1_1) - { after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); } -) + ( + { before(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); } + (rule__AdditiveExpression__NameAlternatives_1_1_0) + { after(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__ListLiteral__Group__0 +rule__AdditiveExpression__ParamsAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group__0__Impl - rule__ListLiteral__Group__1 + ( + { before(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); } + ruleMultiplicativeExpression + { after(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__0__Impl +rule__MultiplicativeExpression__NameAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); } - () - { after(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); } -) + ( + { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); } + (rule__MultiplicativeExpression__NameAlternatives_1_1_0) + { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__1 +rule__MultiplicativeExpression__ParamsAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group__1__Impl - rule__ListLiteral__Group__2 + ( + { before(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); } + ruleUnaryOrInfixExpression + { after(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__1__Impl +rule__UnaryExpression__NameAssignment_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); } - '{' - { after(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); } -) + ( + { before(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); } + (rule__UnaryExpression__NameAlternatives_0_0) + { after(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__2 +rule__UnaryExpression__ParamsAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group__2__Impl - rule__ListLiteral__Group__3 + ( + { before(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); } + ruleInfixExpression + { after(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__2__Impl +rule__InfixExpression__NameAssignment_1_0_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getGroup_2()); } - (rule__ListLiteral__Group_2__0)? - { after(grammarAccess.getListLiteralAccess().getGroup_2()); } -) + ( + { before(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); } + ruleIdentifier + { after(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__3 +rule__InfixExpression__ParamsAssignment_1_0_4_0 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group__3__Impl + ( + { before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); } + ruleExpression + { after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group__3__Impl +rule__InfixExpression__ParamsAssignment_1_0_4_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); } - '}' - { after(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); } -) + ( + { before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); } + ruleExpression + { after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__ListLiteral__Group_2__0 +rule__InfixExpression__TypeAssignment_1_1_2 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group_2__0__Impl - rule__ListLiteral__Group_2__1 + ( + { before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); } + ruleType + { after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2__0__Impl +rule__InfixExpression__NameAssignment_1_2_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); } - (rule__ListLiteral__ElementsAssignment_2_0) - { after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); } -) + ( + { before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } + ( + { before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } + 'typeSelect' + { after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } + ) + { after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2__1 +rule__InfixExpression__TypeAssignment_1_2_4 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group_2__1__Impl + ( + { before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); } + ruleType + { after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2__1__Impl +rule__InfixExpression__NameAssignment_1_3_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getGroup_2_1()); } - (rule__ListLiteral__Group_2_1__0)* - { after(grammarAccess.getListLiteralAccess().getGroup_2_1()); } -) + ( + { before(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); } + (rule__InfixExpression__NameAlternatives_1_3_2_0) + { after(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfixExpression__VarAssignment_1_3_4_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); } + ruleIdentifier + { after(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__ListLiteral__Group_2_1__0 +rule__InfixExpression__ExpAssignment_1_3_5 @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group_2_1__0__Impl - rule__ListLiteral__Group_2_1__1 + ( + { before(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); } + ruleExpression + { after(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2_1__0__Impl +rule__BooleanLiteral__ValAssignment @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); } - ',' - { after(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); } -) + ( + { before(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); } + (rule__BooleanLiteral__ValAlternatives_0) + { after(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2_1__1 +rule__IntegerLiteral__ValAssignment @init { int stackSize = keepStackSize(); } : - rule__ListLiteral__Group_2_1__1__Impl + ( + { before(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); } + RULE_INT + { after(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__Group_2_1__1__Impl +rule__NullLiteral__ValAssignment @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); } - (rule__ListLiteral__ElementsAssignment_2_1_1) - { after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); } -) + ( + { before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } + ( + { before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } + 'null' + { after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } + ) + { after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__ConstructorCallExpression__Group__0 +rule__RealLiteral__ValAssignment @init { int stackSize = keepStackSize(); } : - rule__ConstructorCallExpression__Group__0__Impl - rule__ConstructorCallExpression__Group__1 + ( + { before(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); } + RULE_REAL + { after(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ConstructorCallExpression__Group__0__Impl +rule__StringLiteral__ValAssignment @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); } - 'new' - { after(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); } -) + ( + { before(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); } + RULE_STRING + { after(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ConstructorCallExpression__Group__1 +rule__GlobalVarExpression__NameAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__ConstructorCallExpression__Group__1__Impl + ( + { before(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); } + ruleIdentifier + { after(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__ConstructorCallExpression__Group__1__Impl +rule__FeatureCall__TypeAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); } - (rule__ConstructorCallExpression__TypeAssignment_1) - { after(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); } -) + ( + { before(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); } + ruleType + { after(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__TypeSelectExpression__Group__0 +rule__OperationCall__NameAssignment_0 @init { int stackSize = keepStackSize(); } : - rule__TypeSelectExpression__Group__0__Impl - rule__TypeSelectExpression__Group__1 + ( + { before(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); } + ruleIdentifier + { after(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__0__Impl +rule__OperationCall__ParamsAssignment_2_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); } - (rule__TypeSelectExpression__NameAssignment_0) - { after(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); } -) + ( + { before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); } + ruleExpression + { after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__1 +rule__OperationCall__ParamsAssignment_2_1_1 @init { int stackSize = keepStackSize(); } : - rule__TypeSelectExpression__Group__1__Impl - rule__TypeSelectExpression__Group__2 + ( + { before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); } + ruleExpression + { after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__1__Impl +rule__ListLiteral__ElementsAssignment_2_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); } - '(' - { after(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); } -) + ( + { before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); } + ruleExpression + { after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__2 +rule__ListLiteral__ElementsAssignment_2_1_1 @init { int stackSize = keepStackSize(); } : - rule__TypeSelectExpression__Group__2__Impl - rule__TypeSelectExpression__Group__3 + ( + { before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); } + ruleExpression + { after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__2__Impl +rule__ConstructorCallExpression__TypeAssignment_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); } - (rule__TypeSelectExpression__TypeAssignment_2) - { after(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); } -) + ( + { before(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); } + ruleSimpleType + { after(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__3 +rule__TypeSelectExpression__NameAssignment_0 @init { int stackSize = keepStackSize(); } : - rule__TypeSelectExpression__Group__3__Impl + ( + { before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } + ( + { before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } + 'typeSelect' + { after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } + ) + { after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__Group__3__Impl +rule__TypeSelectExpression__TypeAssignment_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); } - ')' - { after(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); } -) + ( + { before(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); } + ruleType + { after(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__CollectionExpression__Group__0 +rule__CollectionExpression__NameAssignment_0 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group__0__Impl - rule__CollectionExpression__Group__1 + ( + { before(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); } + (rule__CollectionExpression__NameAlternatives_0_0) + { after(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__0__Impl +rule__CollectionExpression__VarAssignment_2_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); } - (rule__CollectionExpression__NameAssignment_0) - { after(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); } -) + ( + { before(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); } + ruleIdentifier + { after(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__1 +rule__CollectionExpression__ExpAssignment_3 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group__1__Impl - rule__CollectionExpression__Group__2 + ( + { before(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); } + ruleExpression + { after(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__1__Impl +rule__CollectionType__ClAssignment_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); } - '(' - { after(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); } -) + ( + { before(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); } + (rule__CollectionType__ClAlternatives_0_0) + { after(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__2 +rule__CollectionType__Id1Assignment_2 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group__2__Impl - rule__CollectionExpression__Group__3 + ( + { before(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); } + ruleSimpleType + { after(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__2__Impl +rule__SimpleType__IdAssignment_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getGroup_2()); } - (rule__CollectionExpression__Group_2__0)? - { after(grammarAccess.getCollectionExpressionAccess().getGroup_2()); } -) + ( + { before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); } + ruleIdentifier + { after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__3 +rule__SimpleType__IdAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group__3__Impl - rule__CollectionExpression__Group__4 + ( + { before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); } + ruleIdentifier + { after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__3__Impl +rule__XAssignment__FeatureAssignment_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); } - (rule__CollectionExpression__ExpAssignment_3) - { after(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); } -) + ( + { before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); } + ( + { before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_0_1_0_1()); } + ruleFeatureCallID + { after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_0_1_0_1()); } + ) + { after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__4 +rule__XAssignment__ValueAssignment_0_3 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group__4__Impl + ( + { before(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); } + ruleXAssignment + { after(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group__4__Impl +rule__XAssignment__FeatureAssignment_1_1_0_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); } - ')' - { after(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); } -) + ( + { before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); } + ( + { before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementOpMultiAssignParserRuleCall_1_1_0_0_1_0_1()); } + ruleOpMultiAssign + { after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementOpMultiAssignParserRuleCall_1_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__CollectionExpression__Group_2__0 +rule__XAssignment__RightOperandAssignment_1_1_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group_2__0__Impl - rule__CollectionExpression__Group_2__1 + ( + { before(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); } + ruleXAssignment + { after(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group_2__0__Impl +rule__XOrExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); } - (rule__CollectionExpression__VarAssignment_2_0) - { after(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); } -) + ( + { before(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementOpOrParserRuleCall_1_0_0_1_0_1()); } + ruleOpOr + { after(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementOpOrParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group_2__1 +rule__XOrExpression__RightOperandAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionExpression__Group_2__1__Impl + ( + { before(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); } + ruleXAndExpression + { after(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__Group_2__1__Impl +rule__XAndExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); } - '|' - { after(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); } -) + ( + { before(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementOpAndParserRuleCall_1_0_0_1_0_1()); } + ruleOpAnd + { after(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementOpAndParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__CollectionType__Group__0 +rule__XAndExpression__RightOperandAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionType__Group__0__Impl - rule__CollectionType__Group__1 + ( + { before(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); } + ruleXEqualityExpression + { after(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__0__Impl +rule__XEqualityExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); } - (rule__CollectionType__ClAssignment_0) - { after(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); } -) + ( + { before(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementOpEqualityParserRuleCall_1_0_0_1_0_1()); } + ruleOpEquality + { after(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementOpEqualityParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__1 +rule__XEqualityExpression__RightOperandAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionType__Group__1__Impl - rule__CollectionType__Group__2 + ( + { before(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); } + ruleXRelationalExpression + { after(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__1__Impl +rule__XRelationalExpression__TypeAssignment_1_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); } - '[' - { after(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); } -) + ( + { before(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__2 +rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionType__Group__2__Impl - rule__CollectionType__Group__3 + ( + { before(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); } + ( + { before(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementOpCompareParserRuleCall_1_1_0_0_1_0_1()); } + ruleOpCompare + { after(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementOpCompareParserRuleCall_1_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__2__Impl +rule__XRelationalExpression__RightOperandAssignment_1_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); } - (rule__CollectionType__Id1Assignment_2) - { after(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); } -) + ( + { before(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); } + ruleXOtherOperatorExpression + { after(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__3 +rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : - rule__CollectionType__Group__3__Impl + ( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementOpOtherParserRuleCall_1_0_0_1_0_1()); } + ruleOpOther + { after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementOpOtherParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Group__3__Impl +rule__XOtherOperatorExpression__RightOperandAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); } - ']' - { after(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); } -) + ( + { before(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); } + ruleXAdditiveExpression + { after(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__SimpleType__Group__0 +rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : - rule__SimpleType__Group__0__Impl - rule__SimpleType__Group__1 + ( + { before(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementOpAddParserRuleCall_1_0_0_1_0_1()); } + ruleOpAdd + { after(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementOpAddParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group__0__Impl +rule__XAdditiveExpression__RightOperandAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); } - (rule__SimpleType__IdAssignment_0) - { after(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); } -) + ( + { before(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); } + ruleXMultiplicativeExpression + { after(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group__1 +rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 @init { int stackSize = keepStackSize(); } : - rule__SimpleType__Group__1__Impl + ( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementOpMultiParserRuleCall_1_0_0_1_0_1()); } + ruleOpMulti + { after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementOpMultiParserRuleCall_1_0_0_1_0_1()); } + ) + { after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group__1__Impl +rule__XMultiplicativeExpression__RightOperandAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getSimpleTypeAccess().getGroup_1()); } - (rule__SimpleType__Group_1__0)* - { after(grammarAccess.getSimpleTypeAccess().getGroup_1()); } -) + ( + { before(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); } + ruleXUnaryOperation + { after(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__SimpleType__Group_1__0 +rule__XUnaryOperation__FeatureAssignment_0_1 @init { int stackSize = keepStackSize(); } : - rule__SimpleType__Group_1__0__Impl - rule__SimpleType__Group_1__1 + ( + { before(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); } + ( + { before(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementOpUnaryParserRuleCall_0_1_0_1()); } + ruleOpUnary + { after(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementOpUnaryParserRuleCall_0_1_0_1()); } + ) + { after(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group_1__0__Impl +rule__XUnaryOperation__OperandAssignment_0_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); } - '::' - { after(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); } -) + ( + { before(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); } + ruleXUnaryOperation + { after(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group_1__1 +rule__XCastedExpression__TypeAssignment_1_1 @init { int stackSize = keepStackSize(); } : - rule__SimpleType__Group_1__1__Impl + ( + { before(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__Group_1__1__Impl +rule__XPostfixOperation__FeatureAssignment_1_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); } - (rule__SimpleType__IdAssignment_1_1) - { after(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); } -) + ( + { before(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); } + ( + { before(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementOpPostfixParserRuleCall_1_0_1_0_1()); } + ruleOpPostfix + { after(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementOpPostfixParserRuleCall_1_0_1_0_1()); } + ) + { after(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__ScopeModel__NameAssignment_1 +rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeModelAccess().getNameDottedIDParserRuleCall_1_0()); } - ruleDottedID - { after(grammarAccess.getScopeModelAccess().getNameDottedIDParserRuleCall_1_0()); } + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); } + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); } + '::' + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); } + ) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__IncludedScopesAssignment_2_1 +rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeModelAccess().getIncludedScopesScopeModelCrossReference_2_1_0()); } + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); } ( - { before(grammarAccess.getScopeModelAccess().getIncludedScopesScopeModelDottedIDParserRuleCall_2_1_0_1()); } - ruleDottedID - { after(grammarAccess.getScopeModelAccess().getIncludedScopesScopeModelDottedIDParserRuleCall_2_1_0_1()); } + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_1_0_0_0_2_0_1()); } + ruleFeatureCallID + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_1_0_0_0_2_0_1()); } ) - { after(grammarAccess.getScopeModelAccess().getIncludedScopesScopeModelCrossReference_2_1_0()); } + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__ImportsAssignment_3 +rule__XMemberFeatureCall__ValueAssignment_1_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeModelAccess().getImportsImportParserRuleCall_3_0()); } - ruleImport - { after(grammarAccess.getScopeModelAccess().getImportsImportParserRuleCall_3_0()); } + { before(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); } + ruleXAssignment + { after(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__ExtensionsAssignment_4 +rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeModelAccess().getExtensionsExtensionParserRuleCall_4_0()); } - ruleExtension - { after(grammarAccess.getScopeModelAccess().getExtensionsExtensionParserRuleCall_4_0()); } + { before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); } + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); } + '?.' + { after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); } + ) + { after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__InjectionsAssignment_5 +rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeModelAccess().getInjectionsInjectionParserRuleCall_5_0()); } - ruleInjection - { after(grammarAccess.getScopeModelAccess().getInjectionsInjectionParserRuleCall_5_0()); } + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); } + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); } + '::' + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); } + ) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__NamingAssignment_6 +rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeModelAccess().getNamingNamingSectionParserRuleCall_6_0()); } - ruleNamingSection - { after(grammarAccess.getScopeModelAccess().getNamingNamingSectionParserRuleCall_6_0()); } + { before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeModel__ScopesAssignment_7 +rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeModelAccess().getScopesScopeDefinitionParserRuleCall_7_0()); } - ruleScopeDefinition - { after(grammarAccess.getScopeModelAccess().getScopesScopeDefinitionParserRuleCall_7_0()); } + { before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Import__PackageAssignment_1 +rule__XMemberFeatureCall__FeatureAssignment_1_1_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImportAccess().getPackageEPackageCrossReference_1_0()); } + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); } ( - { before(grammarAccess.getImportAccess().getPackageEPackageSTRINGTerminalRuleCall_1_0_1()); } - RULE_STRING - { after(grammarAccess.getImportAccess().getPackageEPackageSTRINGTerminalRuleCall_1_0_1()); } + { before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_1_1_2_0_1()); } + ruleIdOrSuper + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_1_1_2_0_1()); } ) - { after(grammarAccess.getImportAccess().getPackageEPackageCrossReference_1_0()); } + { after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Import__NameAssignment_2_1 +rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImportAccess().getNameIdentifierParserRuleCall_2_1_0()); } - ruleIdentifier - { after(grammarAccess.getImportAccess().getNameIdentifierParserRuleCall_2_1_0()); } + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); } + ( + { before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); } + '(' + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); } + ) + { after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Extension__ExtensionAssignment_1 +rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExtensionAccess().getExtensionQualifiedIDParserRuleCall_1_0()); } - ruleQualifiedID - { after(grammarAccess.getExtensionAccess().getExtensionQualifiedIDParserRuleCall_1_0()); } + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); } + ruleXShortClosure + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Injection__TypeAssignment_1 +rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInjectionAccess().getTypeDottedIDParserRuleCall_1_0()); } - ruleDottedID - { after(grammarAccess.getInjectionAccess().getTypeDottedIDParserRuleCall_1_0()); } + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); } + ruleXExpression + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Injection__NameAssignment_3 +rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInjectionAccess().getNameIdentifierParserRuleCall_3_0()); } - ruleIdentifier - { after(grammarAccess.getInjectionAccess().getNameIdentifierParserRuleCall_3_0()); } + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingSection__CasingAssignment_1_1 +rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingSectionAccess().getCasingCasingEnumRuleCall_1_1_0()); } - ruleCasing - { after(grammarAccess.getNamingSectionAccess().getCasingCasingEnumRuleCall_1_1_0()); } + { before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); } + ruleXClosure + { after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingSection__NamingsAssignment_4 +rule__XSetLiteral__ElementsAssignment_3_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingSectionAccess().getNamingsNamingDefinitionParserRuleCall_4_0()); } - ruleNamingDefinition - { after(grammarAccess.getNamingSectionAccess().getNamingsNamingDefinitionParserRuleCall_4_0()); } + { before(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } + ruleXExpression + { after(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingDefinition__TypeAssignment_0 +rule__XSetLiteral__ElementsAssignment_3_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingDefinitionAccess().getTypeEClassCrossReference_0_0()); } - ( - { before(grammarAccess.getNamingDefinitionAccess().getTypeEClassQualifiedIDParserRuleCall_0_0_1()); } - ruleQualifiedID - { after(grammarAccess.getNamingDefinitionAccess().getTypeEClassQualifiedIDParserRuleCall_0_0_1()); } - ) - { after(grammarAccess.getNamingDefinitionAccess().getTypeEClassCrossReference_0_0()); } + { before(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XListLiteral__ElementsAssignment_3_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } + ruleXExpression + { after(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingDefinition__NamingAssignment_2 +rule__XListLiteral__ElementsAssignment_3_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingDefinitionAccess().getNamingNamingParserRuleCall_2_0()); } - ruleNaming - { after(grammarAccess.getNamingDefinitionAccess().getNamingNamingParserRuleCall_2_0()); } + { before(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__NameAssignment_1_1 +rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDefinitionAccess().getNameIdentifierParserRuleCall_1_1_0()); } - ruleIdentifier - { after(grammarAccess.getScopeDefinitionAccess().getNameIdentifierParserRuleCall_1_1_0()); } + { before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__TargetTypeAssignment_2_0 +rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDefinitionAccess().getTargetTypeEClassCrossReference_2_0_0()); } - ( - { before(grammarAccess.getScopeDefinitionAccess().getTargetTypeEClassQualifiedIDParserRuleCall_2_0_0_1()); } - ruleQualifiedID - { after(grammarAccess.getScopeDefinitionAccess().getTargetTypeEClassQualifiedIDParserRuleCall_2_0_0_1()); } - ) - { after(grammarAccess.getScopeDefinitionAccess().getTargetTypeEClassCrossReference_2_0_0()); } + { before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__ContextTypeAssignment_2_1_0 +rule__XClosure__ExplicitSyntaxAssignment_1_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDefinitionAccess().getContextTypeEClassCrossReference_2_1_0_0()); } + { before(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); } ( - { before(grammarAccess.getScopeDefinitionAccess().getContextTypeEClassQualifiedIDParserRuleCall_2_1_0_0_1()); } - ruleQualifiedID - { after(grammarAccess.getScopeDefinitionAccess().getContextTypeEClassQualifiedIDParserRuleCall_2_1_0_0_1()); } + { before(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); } + '|' + { after(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); } ) - { after(grammarAccess.getScopeDefinitionAccess().getContextTypeEClassCrossReference_2_1_0_0()); } + { after(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__ReferenceAssignment_2_1_2 +rule__XClosure__ExpressionAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDefinitionAccess().getReferenceEReferenceCrossReference_2_1_2_0()); } - ( - { before(grammarAccess.getScopeDefinitionAccess().getReferenceEReferenceIdentifierParserRuleCall_2_1_2_0_1()); } - ruleIdentifier - { after(grammarAccess.getScopeDefinitionAccess().getReferenceEReferenceIdentifierParserRuleCall_2_1_2_0_1()); } - ) - { after(grammarAccess.getScopeDefinitionAccess().getReferenceEReferenceCrossReference_2_1_2_0()); } + { before(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); } + ruleXExpressionInClosure + { after(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDefinition__RulesAssignment_4 +rule__XExpressionInClosure__ExpressionsAssignment_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDefinitionAccess().getRulesScopeRuleParserRuleCall_4_0()); } - ruleScopeRule - { after(grammarAccess.getScopeDefinitionAccess().getRulesScopeRuleParserRuleCall_4_0()); } + { before(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); } + ruleXExpressionOrVarDeclaration + { after(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeRule__ContextAssignment_1 +rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeRuleAccess().getContextScopeContextParserRuleCall_1_0()); } - ruleScopeContext - { after(grammarAccess.getScopeRuleAccess().getContextScopeContextParserRuleCall_1_0()); } + { before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeRule__ExprsAssignment_3 +rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeRuleAccess().getExprsScopeExpressionParserRuleCall_3_0()); } - ruleScopeExpression - { after(grammarAccess.getScopeRuleAccess().getExprsScopeExpressionParserRuleCall_3_0()); } + { before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeRule__ExprsAssignment_4_1 +rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeRuleAccess().getExprsScopeExpressionParserRuleCall_4_1_0()); } - ruleScopeExpression - { after(grammarAccess.getScopeRuleAccess().getExprsScopeExpressionParserRuleCall_4_1_0()); } + { before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); } + ( + { before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); } + '|' + { after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); } + ) + { after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeContext__GlobalAssignment_0_0 +rule__XShortClosure__ExpressionAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeContextAccess().getGlobalAsteriskKeyword_0_0_0()); } - ( - { before(grammarAccess.getScopeContextAccess().getGlobalAsteriskKeyword_0_0_0()); } - '*' - { after(grammarAccess.getScopeContextAccess().getGlobalAsteriskKeyword_0_0_0()); } - ) - { after(grammarAccess.getScopeContextAccess().getGlobalAsteriskKeyword_0_0_0()); } + { before(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); } + ruleXExpression + { after(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeContext__ContextTypeAssignment_0_1 +rule__XIfExpression__IfAssignment_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeContextAccess().getContextTypeEClassCrossReference_0_1_0()); } - ( - { before(grammarAccess.getScopeContextAccess().getContextTypeEClassQualifiedIDParserRuleCall_0_1_0_1()); } - ruleQualifiedID - { after(grammarAccess.getScopeContextAccess().getContextTypeEClassQualifiedIDParserRuleCall_0_1_0_1()); } - ) - { after(grammarAccess.getScopeContextAccess().getContextTypeEClassCrossReference_0_1_0()); } + { before(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); } + ruleXExpression + { after(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeContext__GuardAssignment_1_1 +rule__XIfExpression__ThenAssignment_5 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeContextAccess().getGuardExpressionParserRuleCall_1_1_0()); } - ruleExpression - { after(grammarAccess.getScopeContextAccess().getGuardExpressionParserRuleCall_1_1_0()); } + { before(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); } + ruleXExpression + { after(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__FactoryExpression__ExprAssignment_1 +rule__XIfExpression__ElseAssignment_6_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getFactoryExpressionAccess().getExprExpressionParserRuleCall_1_0()); } - ruleExpression - { after(grammarAccess.getFactoryExpressionAccess().getExprExpressionParserRuleCall_1_0()); } + { before(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); } + ruleXExpression + { after(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDelegation__DelegateAssignment_2_0 +rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDelegationAccess().getDelegateExpressionParserRuleCall_2_0_0()); } - ruleExpression - { after(grammarAccess.getScopeDelegationAccess().getDelegateExpressionParserRuleCall_2_0_0()); } + { before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDelegation__ExternalAssignment_2_1 +rule__XSwitchExpression__SwitchAssignment_2_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDelegationAccess().getExternalGlobalScopeExpressionParserRuleCall_2_1_0()); } - ruleGlobalScopeExpression - { after(grammarAccess.getScopeDelegationAccess().getExternalGlobalScopeExpressionParserRuleCall_2_1_0()); } + { before(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); } + ruleXExpression + { after(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ScopeDelegation__ScopeAssignment_3_1 +rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getScopeDelegationAccess().getScopeScopeDefinitionCrossReference_3_1_0()); } - ( - { before(grammarAccess.getScopeDelegationAccess().getScopeScopeDefinitionIdentifierParserRuleCall_3_1_0_1()); } - ruleIdentifier - { after(grammarAccess.getScopeDelegationAccess().getScopeScopeDefinitionIdentifierParserRuleCall_3_1_0_1()); } - ) - { after(grammarAccess.getScopeDelegationAccess().getScopeScopeDefinitionCrossReference_3_1_0()); } + { before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamedScopeExpression__CaseDefAssignment_1_0 +rule__XSwitchExpression__SwitchAssignment_2_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamedScopeExpressionAccess().getCaseDefCaseKeyword_1_0_0()); } - ( - { before(grammarAccess.getNamedScopeExpressionAccess().getCaseDefCaseKeyword_1_0_0()); } - 'case' - { after(grammarAccess.getNamedScopeExpressionAccess().getCaseDefCaseKeyword_1_0_0()); } - ) - { after(grammarAccess.getNamedScopeExpressionAccess().getCaseDefCaseKeyword_1_0_0()); } + { before(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamedScopeExpression__CasingAssignment_1_1 +rule__XSwitchExpression__CasesAssignment_4 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamedScopeExpressionAccess().getCasingCasingEnumRuleCall_1_1_0()); } - ruleCasing - { after(grammarAccess.getNamedScopeExpressionAccess().getCasingCasingEnumRuleCall_1_1_0()); } + { before(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); } + ruleXCasePart + { after(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamedScopeExpression__NamingAssignment_2_1 +rule__XSwitchExpression__DefaultAssignment_5_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamedScopeExpressionAccess().getNamingNamingParserRuleCall_2_1_0()); } - ruleNaming - { after(grammarAccess.getNamedScopeExpressionAccess().getNamingNamingParserRuleCall_2_1_0()); } + { before(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); } + ruleXExpression + { after(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__TypeAssignment_2 +rule__XCasePart__TypeGuardAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getTypeEClassCrossReference_2_0()); } - ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getTypeEClassQualifiedIDParserRuleCall_2_0_1()); } - ruleQualifiedID - { after(grammarAccess.getGlobalScopeExpressionAccess().getTypeEClassQualifiedIDParserRuleCall_2_0_1()); } - ) - { after(grammarAccess.getGlobalScopeExpressionAccess().getTypeEClassCrossReference_2_0()); } + { before(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__NameAssignment_3_0_3 +rule__XCasePart__CaseAssignment_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getNameExpressionParserRuleCall_3_0_3_0()); } - ruleExpression - { after(grammarAccess.getGlobalScopeExpressionAccess().getNameExpressionParserRuleCall_3_0_3_0()); } + { before(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); } + ruleXExpression + { after(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 +rule__XCasePart__ThenAssignment_3_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixRecursiveKeyword_3_1_1_0()); } - ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixRecursiveKeyword_3_1_1_0()); } - 'recursive' - { after(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixRecursiveKeyword_3_1_1_0()); } - ) - { after(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixRecursiveKeyword_3_1_1_0()); } + { before(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); } + ruleXExpression + { after(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__PrefixAssignment_3_1_4 +rule__XCasePart__FallThroughAssignment_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getPrefixExpressionParserRuleCall_3_1_4_0()); } - ruleExpression - { after(grammarAccess.getGlobalScopeExpressionAccess().getPrefixExpressionParserRuleCall_3_1_4_0()); } + { before(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); } + ( + { before(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); } + ',' + { after(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); } + ) + { after(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__DataAssignment_4_4 +rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getDataDataExpressionParserRuleCall_4_4_0()); } - ruleDataExpression - { after(grammarAccess.getGlobalScopeExpressionAccess().getDataDataExpressionParserRuleCall_4_4_0()); } + { before(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); } + ruleJvmFormalParameter + { after(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__DataAssignment_4_5_1 +rule__XForLoopExpression__ForExpressionAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getDataDataExpressionParserRuleCall_4_5_1_0()); } - ruleDataExpression - { after(grammarAccess.getGlobalScopeExpressionAccess().getDataDataExpressionParserRuleCall_4_5_1_0()); } + { before(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); } + ruleXExpression + { after(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__DomainsAssignment_5_3_0 +rule__XForLoopExpression__EachExpressionAssignment_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAsteriskKeyword_5_3_0_0()); } - ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAsteriskKeyword_5_3_0_0()); } - '*' - { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAsteriskKeyword_5_3_0_0()); } - ) - { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAsteriskKeyword_5_3_0_0()); } + { before(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); } + ruleXExpression + { after(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__DomainsAssignment_5_3_1 +rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_1_0()); } - ruleIdentifier - { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_1_0()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); } + ruleXExpressionOrVarDeclaration + { after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 +rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_2_1_0()); } - ruleIdentifier - { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_2_1_0()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); } + ruleXExpressionOrVarDeclaration + { after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 +rule__XBasicForLoopExpression__ExpressionAssignment_5 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_2_2_1_0()); } - ruleIdentifier - { after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_2_2_1_0()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); } + ruleXExpression + { after(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__MatchDataExpression__KeyAssignment_0 +rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMatchDataExpressionAccess().getKeyIdentifierParserRuleCall_0_0()); } - ruleIdentifier - { after(grammarAccess.getMatchDataExpressionAccess().getKeyIdentifierParserRuleCall_0_0()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); } + ruleXExpression + { after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__MatchDataExpression__ValueAssignment_2 +rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMatchDataExpressionAccess().getValueExpressionParserRuleCall_2_0()); } - ruleExpression - { after(grammarAccess.getMatchDataExpressionAccess().getValueExpressionParserRuleCall_2_0()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__LambdaDataExpression__DescAssignment_1 +rule__XBasicForLoopExpression__EachExpressionAssignment_9 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLambdaDataExpressionAccess().getDescIdentifierParserRuleCall_1_0()); } - ruleIdentifier - { after(grammarAccess.getLambdaDataExpressionAccess().getDescIdentifierParserRuleCall_1_0()); } + { before(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); } + ruleXExpression + { after(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__LambdaDataExpression__ValueAssignment_3 +rule__XWhileExpression__PredicateAssignment_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLambdaDataExpressionAccess().getValueExpressionParserRuleCall_3_0()); } - ruleExpression - { after(grammarAccess.getLambdaDataExpressionAccess().getValueExpressionParserRuleCall_3_0()); } + { before(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); } + ruleXExpression + { after(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SimpleScopeExpression__ExprAssignment +rule__XWhileExpression__BodyAssignment_5 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSimpleScopeExpressionAccess().getExprExpressionParserRuleCall_0()); } - ruleExpression - { after(grammarAccess.getSimpleScopeExpressionAccess().getExprExpressionParserRuleCall_0()); } + { before(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); } + ruleXExpression + { after(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Naming__NamesAssignment_0_0_1 +rule__XDoWhileExpression__BodyAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_0_0_1_0()); } - ruleNamingExpression - { after(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_0_0_1_0()); } + { before(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); } + ruleXExpression + { after(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Naming__NamesAssignment_0_0_2_1 +rule__XDoWhileExpression__PredicateAssignment_5 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_0_0_2_1_0()); } - ruleNamingExpression - { after(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_0_0_2_1_0()); } + { before(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); } + ruleXExpression + { after(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Naming__NamesAssignment_1 +rule__XBlockExpression__ExpressionsAssignment_2_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_1_0()); } - ruleNamingExpression - { after(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_1_0()); } + { before(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); } + ruleXExpressionOrVarDeclaration + { after(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingExpression__ExportAssignment_0 +rule__XVariableDeclaration__WriteableAssignment_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingExpressionAccess().getExportExportKeyword_0_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); } ( - { before(grammarAccess.getNamingExpressionAccess().getExportExportKeyword_0_0()); } - 'export' - { after(grammarAccess.getNamingExpressionAccess().getExportExportKeyword_0_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); } + 'var' + { after(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); } ) - { after(grammarAccess.getNamingExpressionAccess().getExportExportKeyword_0_0()); } + { after(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingExpression__FactoryAssignment_1_0 +rule__XVariableDeclaration__TypeAssignment_2_0_0_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingExpressionAccess().getFactoryFactoryKeyword_1_0_0()); } - ( - { before(grammarAccess.getNamingExpressionAccess().getFactoryFactoryKeyword_1_0_0()); } - 'factory' - { after(grammarAccess.getNamingExpressionAccess().getFactoryFactoryKeyword_1_0_0()); } - ) - { after(grammarAccess.getNamingExpressionAccess().getFactoryFactoryKeyword_1_0_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamingExpression__ExpressionAssignment_1_1 +rule__XVariableDeclaration__NameAssignment_2_0_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamingExpressionAccess().getExpressionExpressionParserRuleCall_1_1_0()); } - ruleExpression - { after(grammarAccess.getNamingExpressionAccess().getExpressionExpressionParserRuleCall_1_1_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); } + ruleValidID + { after(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__IdentifierAssignment_1 +rule__XVariableDeclaration__NameAssignment_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); } - ruleIdentifier - { after(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); } + ruleValidID + { after(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__VarExprAssignment_3 +rule__XVariableDeclaration__RightAssignment_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); } - ruleExpression - { after(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); } + { before(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); } + ruleXExpression + { after(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__LetExpression__TargetAssignment_5 +rule__JvmFormalParameter__ParameterTypeAssignment_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); } - ruleExpression - { after(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); } + { before(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__TypeAssignment_1 +rule__JvmFormalParameter__NameAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); } - ruleType - { after(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); } + { before(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } + ruleValidID + { after(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CastedExpression__TargetAssignment_3 +rule__FullJvmFormalParameter__ParameterTypeAssignment_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); } - ruleExpression - { after(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); } + { before(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } + ruleJvmTypeReference + { after(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ChainExpression__NextAssignment_1_2 +rule__FullJvmFormalParameter__NameAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); } - ruleChainedExpression - { after(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } + ruleValidID + { after(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__ThenPartAssignment_1_2 +rule__XFeatureCall__TypeArgumentsAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); } - ruleChainedExpression - { after(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionTri__ElsePartAssignment_1_4 +rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); } - ruleChainedExpression - { after(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); } + { before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__ConditionAssignment_1 +rule__XFeatureCall__FeatureAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); } - ruleChainedExpression - { after(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); } + ( + { before(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_2_0_1()); } + ruleIdOrSuper + { after(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_2_0_1()); } + ) + { after(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__ThenPartAssignment_3 +rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); } - ruleChainedExpression - { after(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); } + { before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); } + ( + { before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); } + '(' + { after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); } + ) + { after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IfExpressionKw__ElsePartAssignment_4_0_1 +rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); } - ruleChainedExpression - { after(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); } + ruleXShortClosure + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__SwitchExprAssignment_1_1 +rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); } - ruleOrExpression - { after(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); } + ruleXExpression + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__CaseAssignment_3 +rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); } - ruleCase - { after(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SwitchExpression__DefaultExprAssignment_6 +rule__XFeatureCall__FeatureCallArgumentsAssignment_4 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); } - ruleOrExpression - { after(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); } + { before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); } + ruleXClosure + { after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Case__ConditionAssignment_1 +rule__XConstructorCall__ConstructorAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); } - ruleOrExpression - { after(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); } + { before(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); } + ( + { before(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorQualifiedNameParserRuleCall_2_0_1()); } + ruleQualifiedName + { after(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorQualifiedNameParserRuleCall_2_0_1()); } + ) + { after(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Case__ThenParAssignment_3 +rule__XConstructorCall__TypeArgumentsAssignment_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); } - ruleOrExpression - { after(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); } + { before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OrExpression__OperatorAssignment_1_1 +rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } - ( - { before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } - '||' - { after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } - ) - { after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); } + { before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OrExpression__RightAssignment_1_2 +rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); } - ruleAndExpression - { after(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); } + ( + { before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); } + '(' + { after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); } + ) + { after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AndExpression__OperatorAssignment_1_1 +rule__XConstructorCall__ArgumentsAssignment_4_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } - ( - { before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } - '&&' - { after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } - ) - { after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); } + ruleXShortClosure + { after(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AndExpression__RightAssignment_1_2 +rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); } - ruleImpliesExpression - { after(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); } + ruleXExpression + { after(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__OperatorAssignment_1_1 +rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } - ( - { before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } - 'implies' - { after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } - ) - { after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ImpliesExpression__RightAssignment_1_2 +rule__XConstructorCall__ArgumentsAssignment_5 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); } - ruleRelationalExpression - { after(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); } + ruleXClosure + { after(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__OperatorAssignment_1_1 +rule__XBooleanLiteral__IsTrueAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); } - (rule__RelationalExpression__OperatorAlternatives_1_1_0) - { after(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); } + { before(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); } + ( + { before(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); } + 'true' + { after(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); } + ) + { after(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RelationalExpression__RightAssignment_1_2 +rule__XNumberLiteral__ValueAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); } - ruleAdditiveExpression - { after(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); } + ruleNumber + { after(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__NameAssignment_1_1 +rule__XStringLiteral__ValueAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); } - (rule__AdditiveExpression__NameAlternatives_1_1_0) - { after(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); } + { before(grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); } + RULE_STRING + { after(grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AdditiveExpression__ParamsAssignment_1_2 +rule__XTypeLiteral__TypeAssignment_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); } - ruleMultiplicativeExpression - { after(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); } + ( + { before(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeQualifiedNameParserRuleCall_3_0_1()); } + ruleQualifiedName + { after(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeQualifiedNameParserRuleCall_3_0_1()); } + ) + { after(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__NameAssignment_1_1 +rule__XTypeLiteral__ArrayDimensionsAssignment_4 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); } - (rule__MultiplicativeExpression__NameAlternatives_1_1_0) - { after(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); } + { before(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); } + ruleArrayBrackets + { after(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicativeExpression__ParamsAssignment_1_2 +rule__XThrowExpression__ExpressionAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); } - ruleUnaryOrInfixExpression - { after(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); } + { before(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } + ruleXExpression + { after(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__NameAssignment_0 +rule__XReturnExpression__ExpressionAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); } - (rule__UnaryExpression__NameAlternatives_0_0) - { after(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); } + { before(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } + ruleXExpression + { after(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__UnaryExpression__ParamsAssignment_1 +rule__XTryCatchFinallyExpression__ExpressionAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); } - ruleInfixExpression - { after(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } + ruleXExpression + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__NameAssignment_1_0_2 +rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); } - ruleIdentifier - { after(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); } + ruleXCatchClause + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__ParamsAssignment_1_0_4_0 +rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); } - ruleExpression - { after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__ParamsAssignment_1_0_4_1_1 +rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); } - ruleExpression - { after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); } + { before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); } + ruleXExpression + { after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__TypeAssignment_1_1_2 +rule__XSynchronizedExpression__ParamAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); } - ruleType - { after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); } + ruleXExpression + { after(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__NameAssignment_1_2_2 +rule__XSynchronizedExpression__ExpressionAssignment_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } - ( - { before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } - 'typeSelect' - { after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } - ) - { after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); } + { before(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); } + ruleXExpression + { after(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__TypeAssignment_1_2_4 +rule__XCatchClause__DeclaredParamAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); } - ruleType - { after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); } + { before(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); } + ruleFullJvmFormalParameter + { after(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__NameAssignment_1_3_2 +rule__XCatchClause__ExpressionAssignment_4 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); } - (rule__InfixExpression__NameAlternatives_1_3_2_0) - { after(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); } + { before(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); } + ruleXExpression + { after(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__VarAssignment_1_3_4_0 +rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); } - ruleIdentifier - { after(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__InfixExpression__ExpAssignment_1_3_5 +rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); } - ruleExpression - { after(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__BooleanLiteral__ValAssignment +rule__XFunctionTypeRef__ReturnTypeAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); } - (rule__BooleanLiteral__ValAlternatives_0) - { after(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); } + { before(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); } + ruleJvmTypeReference + { after(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IntegerLiteral__ValAssignment +rule__JvmParameterizedTypeReference__TypeAssignment_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); } - RULE_INT - { after(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); } + ( + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeQualifiedNameParserRuleCall_0_0_1()); } + ruleQualifiedName + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeQualifiedNameParserRuleCall_0_0_1()); } + ) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NullLiteral__ValAssignment +rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } - ( - { before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } - 'null' - { after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } - ) - { after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RealLiteral__ValAssignment +rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); } - RULE_REAL - { after(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__StringLiteral__ValAssignment +rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); } - RULE_STRING - { after(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); } + ( + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeValidIDParserRuleCall_1_4_1_0_1()); } + ruleValidID + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeValidIDParserRuleCall_1_4_1_0_1()); } + ) + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalVarExpression__NameAssignment_1 +rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); } - ruleIdentifier - { after(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__FeatureCall__TypeAssignment_1 +rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); } - ruleType - { after(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); } + { before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); } + ruleJvmArgumentTypeReference + { after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__NameAssignment_0 +rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); } - ruleIdentifier - { after(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); } + ruleJvmUpperBound + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__ParamsAssignment_2_0 +rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); } - ruleExpression - { after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); } + ruleJvmUpperBoundAnded + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__OperationCall__ParamsAssignment_2_1_1 +rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); } - ruleExpression - { after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); } + ruleJvmLowerBound + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__ElementsAssignment_2_0 +rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); } - ruleExpression - { after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); } + { before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); } + ruleJvmLowerBoundAnded + { after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ListLiteral__ElementsAssignment_2_1_1 +rule__JvmUpperBound__TypeReferenceAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); } - ruleExpression - { after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); } + { before(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ConstructorCallExpression__TypeAssignment_1 +rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); } - ruleSimpleType - { after(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); } + { before(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__NameAssignment_0 +rule__JvmLowerBound__TypeReferenceAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } - ( - { before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } - 'typeSelect' - { after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } - ) - { after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); } + { before(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__TypeSelectExpression__TypeAssignment_2 +rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); } - ruleType - { after(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); } + { before(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } + ruleJvmTypeReference + { after(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__NameAssignment_0 +rule__XImportDeclaration__StaticAssignment_1_0_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); } - (rule__CollectionExpression__NameAlternatives_0_0) - { after(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); } + ( + { before(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); } + 'static' + { after(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); } + ) + { after(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__VarAssignment_2_0 +rule__XImportDeclaration__ExtensionAssignment_1_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); } - ruleIdentifier - { after(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); } + ( + { before(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); } + 'extension' + { after(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); } + ) + { after(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CollectionExpression__ExpAssignment_3 +rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); } - ruleExpression - { after(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); } + ( + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameInStaticImportParserRuleCall_1_0_2_0_1()); } + ruleQualifiedNameInStaticImport + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameInStaticImportParserRuleCall_1_0_2_0_1()); } + ) + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__ClAssignment_0 +rule__XImportDeclaration__WildcardAssignment_1_0_3_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); } - (rule__CollectionType__ClAlternatives_0_0) - { after(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); } + ( + { before(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); } + '*' + { after(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); } + ) + { after(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CollectionType__Id1Assignment_2 +rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); } - ruleSimpleType - { after(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); } + ruleValidID + { after(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__IdAssignment_0 +rule__XImportDeclaration__ImportedTypeAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); } - ruleIdentifier - { after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); } + ( + { before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameParserRuleCall_1_1_0_1()); } + ruleQualifiedName + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameParserRuleCall_1_1_0_1()); } + ) + { after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__SimpleType__IdAssignment_1_1 +rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); } - ruleIdentifier - { after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); } + { before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); } + ruleQualifiedNameWithWildcard + { after(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); } ) ; finally { @@ -11774,11 +28621,15 @@ finally { RULE_REAL : ('0'..'9')* '.' ('0'..'9')*; -RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; +RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F'|'_')+ ('#' (('b'|'B') ('i'|'I')|('l'|'L')))?; + +RULE_INT : '0'..'9' ('0'..'9'|'_')*; + +RULE_DECIMAL : RULE_INT (('e'|'E') ('+'|'-')? RULE_INT)? (('b'|'B') ('i'|'I'|'d'|'D')|('l'|'L'|'d'|'D'|'f'|'F'))?; -RULE_INT : ('0'..'9')+; +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'$'|'_') ('a'..'z'|'A'..'Z'|'$'|'_'|'0'..'9')*; -RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\''); +RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'?|'\'' ('\\' .|~(('\\'|'\'')))* '\''?); RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; diff --git a/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/internal/InternalScope.tokens b/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/internal/InternalScope.tokens index 4a24a3f83c..3c99a99b7f 100644 --- a/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/internal/InternalScope.tokens +++ b/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/internal/InternalScope.tokens @@ -1,88 +1,145 @@ -'!'=22 -'!='=13 -'#'=53 -'&&'=83 -'('=51 -')'=52 -'*'=20 -'+'=18 -','=60 -'-'=19 -'->'=71 -'.'=68 -'/'=21 -':'=70 -'::'=67 -';'=49 -'<'=17 -'<='=15 -'='=48 -'=='=12 -'>'=16 -'>='=14 -'>>'=55 -'?'=72 -'Collection'=33 -'GLOBALVAR'=78 -'List'=34 -'Set'=35 -'['=56 -']'=57 -'as'=41 -'case'=47 -'collect'=23 -'context'=54 -'data'=64 -'default'=77 -'domains'=65 -'else'=75 -'exists'=27 -'export'=81 -'extension'=42 -'factory'=58 -'false'=32 -'find'=61 -'forAll'=30 -'if'=73 -'implies'=84 -'import'=40 -'inject'=43 -'insensitive'=37 -'key'=62 -'let'=69 -'naming'=44 -'new'=79 -'notExists'=28 -'null'=86 -'prefix'=63 -'recursive'=80 -'reject'=26 -'scope'=50 -'scopeof'=59 -'scoping'=38 -'select'=24 -'selectFirst'=25 -'sensitive'=36 -'sortBy'=29 -'switch'=76 -'then'=74 -'true'=31 -'typeSelect'=85 -'with'=39 -'{'=45 -'|'=66 -'||'=82 -'}'=46 -RULE_ANY_OTHER=11 +'!'=27 +'!='=18 +'!=='=47 +'#'=79 +'%'=55 +'%='=45 +'&&'=16 +'&'=116 +'('=77 +')'=78 +'*'=25 +'**'=54 +'*='=43 +'+'=23 +'++'=56 +'+='=41 +','=86 +'-'=24 +'--'=57 +'-='=42 +'->'=48 +'.'=58 +'..'=50 +'..<'=49 +'/'=26 +'/='=44 +':'=95 +'::'=93 +';'=75 +'<'=22 +'<='=20 +'<>'=52 +'='=14 +'=='=17 +'==='=46 +'=>'=51 +'>'=21 +'>='=19 +'>>'=81 +'?'=96 +'?.'=121 +'?:'=53 +'Collection'=38 +'GLOBALVAR'=102 +'List'=39 +'Set'=40 +'['=82 +']'=83 +'as'=69 +'case'=74 +'catch'=115 +'collect'=28 +'context'=80 +'data'=90 +'default'=101 +'do'=107 +'domains'=91 +'else'=99 +'exists'=32 +'export'=118 +'extends'=60 +'extension'=63 +'factory'=84 +'false'=37 +'finally'=113 +'find'=87 +'for'=105 +'forAll'=35 +'if'=97 +'implies'=119 +'import'=62 +'inject'=70 +'insensitive'=66 +'instanceof'=104 +'key'=88 +'let'=94 +'naming'=71 +'new'=103 +'notExists'=33 +'null'=108 +'prefix'=89 +'recursive'=117 +'reject'=31 +'return'=111 +'scope'=76 +'scopeof'=85 +'scoping'=67 +'select'=29 +'selectFirst'=30 +'sensitive'=65 +'sortBy'=34 +'static'=61 +'super'=64 +'switch'=100 +'synchronized'=114 +'then'=98 +'throw'=110 +'true'=36 +'try'=112 +'typeSelect'=120 +'typeof'=109 +'val'=59 +'var'=122 +'while'=106 +'with'=68 +'{'=72 +'|'=92 +'||'=15 +'}'=73 +RULE_ANY_OTHER=13 +RULE_DECIMAL=7 +RULE_HEX=5 RULE_ID=4 RULE_INT=6 -RULE_ML_COMMENT=8 -RULE_REAL=7 -RULE_SL_COMMENT=9 -RULE_STRING=5 -RULE_WS=10 -T__12=12 -T__13=13 +RULE_ML_COMMENT=10 +RULE_REAL=9 +RULE_SL_COMMENT=11 +RULE_STRING=8 +RULE_WS=12 +T__100=100 +T__101=101 +T__102=102 +T__103=103 +T__104=104 +T__105=105 +T__106=106 +T__107=107 +T__108=108 +T__109=109 +T__110=110 +T__111=111 +T__112=112 +T__113=113 +T__114=114 +T__115=115 +T__116=116 +T__117=117 +T__118=118 +T__119=119 +T__120=120 +T__121=121 +T__122=122 T__14=14 T__15=15 T__16=16 @@ -156,3 +213,16 @@ T__83=83 T__84=84 T__85=85 T__86=86 +T__87=87 +T__88=88 +T__89=89 +T__90=90 +T__91=91 +T__92=92 +T__93=93 +T__94=94 +T__95=95 +T__96=96 +T__97=97 +T__98=98 +T__99=99 diff --git a/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/internal/InternalScopeLexer.java b/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/internal/InternalScopeLexer.java index 0e64c818ed..0a4527d8fb 100644 --- a/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/internal/InternalScopeLexer.java +++ b/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/internal/InternalScopeLexer.java @@ -12,19 +12,12 @@ @SuppressWarnings("all") public class InternalScopeLexer extends Lexer { + public static final int RULE_HEX=5; public static final int T__50=50; - public static final int T__19=19; - public static final int T__15=15; public static final int T__59=59; - public static final int T__16=16; - public static final int T__17=17; - public static final int T__18=18; public static final int T__55=55; - public static final int T__12=12; public static final int T__56=56; - public static final int T__13=13; public static final int T__57=57; - public static final int T__14=14; public static final int T__58=58; public static final int T__51=51; public static final int T__52=52; @@ -33,56 +26,27 @@ public class InternalScopeLexer extends Lexer { public static final int T__60=60; public static final int T__61=61; public static final int RULE_ID=4; - public static final int RULE_REAL=7; - public static final int T__26=26; - public static final int T__27=27; - public static final int T__28=28; + public static final int RULE_REAL=9; public static final int RULE_INT=6; - public static final int T__29=29; - public static final int T__22=22; public static final int T__66=66; - public static final int RULE_ML_COMMENT=8; - public static final int T__23=23; + public static final int RULE_ML_COMMENT=10; public static final int T__67=67; - public static final int T__24=24; public static final int T__68=68; - public static final int T__25=25; public static final int T__69=69; public static final int T__62=62; public static final int T__63=63; - public static final int T__20=20; public static final int T__64=64; - public static final int T__21=21; public static final int T__65=65; - public static final int T__70=70; - public static final int T__71=71; - public static final int T__72=72; - public static final int RULE_STRING=5; - public static final int RULE_SL_COMMENT=9; public static final int T__37=37; public static final int T__38=38; public static final int T__39=39; public static final int T__33=33; - public static final int T__77=77; public static final int T__34=34; - public static final int T__78=78; public static final int T__35=35; - public static final int T__79=79; public static final int T__36=36; - public static final int T__73=73; - public static final int EOF=-1; public static final int T__30=30; - public static final int T__74=74; public static final int T__31=31; - public static final int T__75=75; public static final int T__32=32; - public static final int T__76=76; - public static final int T__80=80; - public static final int T__81=81; - public static final int T__82=82; - public static final int T__83=83; - public static final int RULE_WS=10; - public static final int RULE_ANY_OTHER=11; public static final int T__48=48; public static final int T__49=49; public static final int T__44=44; @@ -90,12 +54,84 @@ public class InternalScopeLexer extends Lexer { public static final int T__46=46; public static final int T__47=47; public static final int T__40=40; - public static final int T__84=84; public static final int T__41=41; - public static final int T__85=85; public static final int T__42=42; - public static final int T__86=86; public static final int T__43=43; + public static final int T__91=91; + public static final int T__100=100; + public static final int T__92=92; + public static final int T__93=93; + public static final int T__102=102; + public static final int T__94=94; + public static final int T__101=101; + public static final int T__90=90; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__99=99; + public static final int T__14=14; + public static final int T__95=95; + public static final int T__96=96; + public static final int T__97=97; + public static final int T__98=98; + public static final int RULE_DECIMAL=7; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int T__29=29; + public static final int T__22=22; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + public static final int T__122=122; + public static final int T__70=70; + public static final int T__121=121; + public static final int T__71=71; + public static final int T__72=72; + public static final int T__120=120; + public static final int RULE_STRING=8; + public static final int RULE_SL_COMMENT=11; + public static final int T__77=77; + public static final int T__119=119; + public static final int T__78=78; + public static final int T__118=118; + public static final int T__79=79; + public static final int T__73=73; + public static final int T__115=115; + public static final int EOF=-1; + public static final int T__74=74; + public static final int T__114=114; + public static final int T__75=75; + public static final int T__117=117; + public static final int T__76=76; + public static final int T__116=116; + public static final int T__80=80; + public static final int T__111=111; + public static final int T__81=81; + public static final int T__110=110; + public static final int T__82=82; + public static final int T__113=113; + public static final int T__83=83; + public static final int T__112=112; + public static final int RULE_WS=12; + public static final int RULE_ANY_OTHER=13; + public static final int T__88=88; + public static final int T__108=108; + public static final int T__89=89; + public static final int T__107=107; + public static final int T__109=109; + public static final int T__84=84; + public static final int T__104=104; + public static final int T__85=85; + public static final int T__103=103; + public static final int T__86=86; + public static final int T__106=106; + public static final int T__87=87; + public static final int T__105=105; // delegates // delegators @@ -110,58 +146,15 @@ public InternalScopeLexer(CharStream input, RecognizerSharedState state) { } public String getGrammarFileName() { return "InternalScope.g"; } - // $ANTLR start "T__12" - public final void mT__12() throws RecognitionException { - try { - int _type = T__12; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:11:7: ( '==' ) - // InternalScope.g:11:9: '==' - { - match("=="); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__12" - - // $ANTLR start "T__13" - public final void mT__13() throws RecognitionException { - try { - int _type = T__13; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:12:7: ( '!=' ) - // InternalScope.g:12:9: '!=' - { - match("!="); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__13" - // $ANTLR start "T__14" public final void mT__14() throws RecognitionException { try { int _type = T__14; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:13:7: ( '>=' ) - // InternalScope.g:13:9: '>=' + // InternalScope.g:11:7: ( '=' ) + // InternalScope.g:11:9: '=' { - match(">="); - + match('='); } @@ -178,10 +171,10 @@ public final void mT__15() throws RecognitionException { try { int _type = T__15; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:14:7: ( '<=' ) - // InternalScope.g:14:9: '<=' + // InternalScope.g:12:7: ( '||' ) + // InternalScope.g:12:9: '||' { - match("<="); + match("||"); } @@ -199,10 +192,11 @@ public final void mT__16() throws RecognitionException { try { int _type = T__16; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:15:7: ( '>' ) - // InternalScope.g:15:9: '>' + // InternalScope.g:13:7: ( '&&' ) + // InternalScope.g:13:9: '&&' { - match('>'); + match("&&"); + } @@ -219,10 +213,11 @@ public final void mT__17() throws RecognitionException { try { int _type = T__17; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:16:7: ( '<' ) - // InternalScope.g:16:9: '<' + // InternalScope.g:14:7: ( '==' ) + // InternalScope.g:14:9: '==' { - match('<'); + match("=="); + } @@ -239,10 +234,11 @@ public final void mT__18() throws RecognitionException { try { int _type = T__18; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:17:7: ( '+' ) - // InternalScope.g:17:9: '+' + // InternalScope.g:15:7: ( '!=' ) + // InternalScope.g:15:9: '!=' { - match('+'); + match("!="); + } @@ -259,10 +255,11 @@ public final void mT__19() throws RecognitionException { try { int _type = T__19; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:18:7: ( '-' ) - // InternalScope.g:18:9: '-' + // InternalScope.g:16:7: ( '>=' ) + // InternalScope.g:16:9: '>=' { - match('-'); + match(">="); + } @@ -279,10 +276,11 @@ public final void mT__20() throws RecognitionException { try { int _type = T__20; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:19:7: ( '*' ) - // InternalScope.g:19:9: '*' + // InternalScope.g:17:7: ( '<=' ) + // InternalScope.g:17:9: '<=' { - match('*'); + match("<="); + } @@ -299,10 +297,10 @@ public final void mT__21() throws RecognitionException { try { int _type = T__21; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:20:7: ( '/' ) - // InternalScope.g:20:9: '/' + // InternalScope.g:18:7: ( '>' ) + // InternalScope.g:18:9: '>' { - match('/'); + match('>'); } @@ -319,10 +317,10 @@ public final void mT__22() throws RecognitionException { try { int _type = T__22; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:21:7: ( '!' ) - // InternalScope.g:21:9: '!' + // InternalScope.g:19:7: ( '<' ) + // InternalScope.g:19:9: '<' { - match('!'); + match('<'); } @@ -339,11 +337,10 @@ public final void mT__23() throws RecognitionException { try { int _type = T__23; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:22:7: ( 'collect' ) - // InternalScope.g:22:9: 'collect' + // InternalScope.g:20:7: ( '+' ) + // InternalScope.g:20:9: '+' { - match("collect"); - + match('+'); } @@ -360,11 +357,10 @@ public final void mT__24() throws RecognitionException { try { int _type = T__24; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:23:7: ( 'select' ) - // InternalScope.g:23:9: 'select' + // InternalScope.g:21:7: ( '-' ) + // InternalScope.g:21:9: '-' { - match("select"); - + match('-'); } @@ -381,11 +377,10 @@ public final void mT__25() throws RecognitionException { try { int _type = T__25; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:24:7: ( 'selectFirst' ) - // InternalScope.g:24:9: 'selectFirst' + // InternalScope.g:22:7: ( '*' ) + // InternalScope.g:22:9: '*' { - match("selectFirst"); - + match('*'); } @@ -402,11 +397,10 @@ public final void mT__26() throws RecognitionException { try { int _type = T__26; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:25:7: ( 'reject' ) - // InternalScope.g:25:9: 'reject' + // InternalScope.g:23:7: ( '/' ) + // InternalScope.g:23:9: '/' { - match("reject"); - + match('/'); } @@ -423,11 +417,10 @@ public final void mT__27() throws RecognitionException { try { int _type = T__27; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:26:7: ( 'exists' ) - // InternalScope.g:26:9: 'exists' + // InternalScope.g:24:7: ( '!' ) + // InternalScope.g:24:9: '!' { - match("exists"); - + match('!'); } @@ -444,10 +437,10 @@ public final void mT__28() throws RecognitionException { try { int _type = T__28; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:27:7: ( 'notExists' ) - // InternalScope.g:27:9: 'notExists' + // InternalScope.g:25:7: ( 'collect' ) + // InternalScope.g:25:9: 'collect' { - match("notExists"); + match("collect"); } @@ -465,10 +458,10 @@ public final void mT__29() throws RecognitionException { try { int _type = T__29; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:28:7: ( 'sortBy' ) - // InternalScope.g:28:9: 'sortBy' + // InternalScope.g:26:7: ( 'select' ) + // InternalScope.g:26:9: 'select' { - match("sortBy"); + match("select"); } @@ -486,10 +479,10 @@ public final void mT__30() throws RecognitionException { try { int _type = T__30; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:29:7: ( 'forAll' ) - // InternalScope.g:29:9: 'forAll' + // InternalScope.g:27:7: ( 'selectFirst' ) + // InternalScope.g:27:9: 'selectFirst' { - match("forAll"); + match("selectFirst"); } @@ -507,10 +500,10 @@ public final void mT__31() throws RecognitionException { try { int _type = T__31; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:30:7: ( 'true' ) - // InternalScope.g:30:9: 'true' + // InternalScope.g:28:7: ( 'reject' ) + // InternalScope.g:28:9: 'reject' { - match("true"); + match("reject"); } @@ -528,10 +521,10 @@ public final void mT__32() throws RecognitionException { try { int _type = T__32; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:31:7: ( 'false' ) - // InternalScope.g:31:9: 'false' + // InternalScope.g:29:7: ( 'exists' ) + // InternalScope.g:29:9: 'exists' { - match("false"); + match("exists"); } @@ -549,10 +542,10 @@ public final void mT__33() throws RecognitionException { try { int _type = T__33; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:32:7: ( 'Collection' ) - // InternalScope.g:32:9: 'Collection' + // InternalScope.g:30:7: ( 'notExists' ) + // InternalScope.g:30:9: 'notExists' { - match("Collection"); + match("notExists"); } @@ -570,10 +563,10 @@ public final void mT__34() throws RecognitionException { try { int _type = T__34; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:33:7: ( 'List' ) - // InternalScope.g:33:9: 'List' + // InternalScope.g:31:7: ( 'sortBy' ) + // InternalScope.g:31:9: 'sortBy' { - match("List"); + match("sortBy"); } @@ -591,10 +584,10 @@ public final void mT__35() throws RecognitionException { try { int _type = T__35; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:34:7: ( 'Set' ) - // InternalScope.g:34:9: 'Set' + // InternalScope.g:32:7: ( 'forAll' ) + // InternalScope.g:32:9: 'forAll' { - match("Set"); + match("forAll"); } @@ -612,10 +605,10 @@ public final void mT__36() throws RecognitionException { try { int _type = T__36; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:35:7: ( 'sensitive' ) - // InternalScope.g:35:9: 'sensitive' + // InternalScope.g:33:7: ( 'true' ) + // InternalScope.g:33:9: 'true' { - match("sensitive"); + match("true"); } @@ -633,10 +626,10 @@ public final void mT__37() throws RecognitionException { try { int _type = T__37; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:36:7: ( 'insensitive' ) - // InternalScope.g:36:9: 'insensitive' + // InternalScope.g:34:7: ( 'false' ) + // InternalScope.g:34:9: 'false' { - match("insensitive"); + match("false"); } @@ -654,10 +647,10 @@ public final void mT__38() throws RecognitionException { try { int _type = T__38; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:37:7: ( 'scoping' ) - // InternalScope.g:37:9: 'scoping' + // InternalScope.g:35:7: ( 'Collection' ) + // InternalScope.g:35:9: 'Collection' { - match("scoping"); + match("Collection"); } @@ -675,10 +668,10 @@ public final void mT__39() throws RecognitionException { try { int _type = T__39; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:38:7: ( 'with' ) - // InternalScope.g:38:9: 'with' + // InternalScope.g:36:7: ( 'List' ) + // InternalScope.g:36:9: 'List' { - match("with"); + match("List"); } @@ -696,10 +689,10 @@ public final void mT__40() throws RecognitionException { try { int _type = T__40; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:39:7: ( 'import' ) - // InternalScope.g:39:9: 'import' + // InternalScope.g:37:7: ( 'Set' ) + // InternalScope.g:37:9: 'Set' { - match("import"); + match("Set"); } @@ -717,10 +710,10 @@ public final void mT__41() throws RecognitionException { try { int _type = T__41; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:40:7: ( 'as' ) - // InternalScope.g:40:9: 'as' + // InternalScope.g:38:7: ( '+=' ) + // InternalScope.g:38:9: '+=' { - match("as"); + match("+="); } @@ -738,10 +731,10 @@ public final void mT__42() throws RecognitionException { try { int _type = T__42; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:41:7: ( 'extension' ) - // InternalScope.g:41:9: 'extension' + // InternalScope.g:39:7: ( '-=' ) + // InternalScope.g:39:9: '-=' { - match("extension"); + match("-="); } @@ -759,10 +752,10 @@ public final void mT__43() throws RecognitionException { try { int _type = T__43; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:42:7: ( 'inject' ) - // InternalScope.g:42:9: 'inject' + // InternalScope.g:40:7: ( '*=' ) + // InternalScope.g:40:9: '*=' { - match("inject"); + match("*="); } @@ -780,10 +773,10 @@ public final void mT__44() throws RecognitionException { try { int _type = T__44; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:43:7: ( 'naming' ) - // InternalScope.g:43:9: 'naming' + // InternalScope.g:41:7: ( '/=' ) + // InternalScope.g:41:9: '/=' { - match("naming"); + match("/="); } @@ -801,10 +794,11 @@ public final void mT__45() throws RecognitionException { try { int _type = T__45; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:44:7: ( '{' ) - // InternalScope.g:44:9: '{' + // InternalScope.g:42:7: ( '%=' ) + // InternalScope.g:42:9: '%=' { - match('{'); + match("%="); + } @@ -821,10 +815,11 @@ public final void mT__46() throws RecognitionException { try { int _type = T__46; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:45:7: ( '}' ) - // InternalScope.g:45:9: '}' + // InternalScope.g:43:7: ( '===' ) + // InternalScope.g:43:9: '===' { - match('}'); + match("==="); + } @@ -841,10 +836,10 @@ public final void mT__47() throws RecognitionException { try { int _type = T__47; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:46:7: ( 'case' ) - // InternalScope.g:46:9: 'case' + // InternalScope.g:44:7: ( '!==' ) + // InternalScope.g:44:9: '!==' { - match("case"); + match("!=="); } @@ -862,10 +857,11 @@ public final void mT__48() throws RecognitionException { try { int _type = T__48; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:47:7: ( '=' ) - // InternalScope.g:47:9: '=' + // InternalScope.g:45:7: ( '->' ) + // InternalScope.g:45:9: '->' { - match('='); + match("->"); + } @@ -882,10 +878,11 @@ public final void mT__49() throws RecognitionException { try { int _type = T__49; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:48:7: ( ';' ) - // InternalScope.g:48:9: ';' + // InternalScope.g:46:7: ( '..<' ) + // InternalScope.g:46:9: '..<' { - match(';'); + match("..<"); + } @@ -902,10 +899,10 @@ public final void mT__50() throws RecognitionException { try { int _type = T__50; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:49:7: ( 'scope' ) - // InternalScope.g:49:9: 'scope' + // InternalScope.g:47:7: ( '..' ) + // InternalScope.g:47:9: '..' { - match("scope"); + match(".."); } @@ -923,10 +920,11 @@ public final void mT__51() throws RecognitionException { try { int _type = T__51; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:50:7: ( '(' ) - // InternalScope.g:50:9: '(' + // InternalScope.g:48:7: ( '=>' ) + // InternalScope.g:48:9: '=>' { - match('('); + match("=>"); + } @@ -943,10 +941,11 @@ public final void mT__52() throws RecognitionException { try { int _type = T__52; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:51:7: ( ')' ) - // InternalScope.g:51:9: ')' + // InternalScope.g:49:7: ( '<>' ) + // InternalScope.g:49:9: '<>' { - match(')'); + match("<>"); + } @@ -963,10 +962,11 @@ public final void mT__53() throws RecognitionException { try { int _type = T__53; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:52:7: ( '#' ) - // InternalScope.g:52:9: '#' + // InternalScope.g:50:7: ( '?:' ) + // InternalScope.g:50:9: '?:' { - match('#'); + match("?:"); + } @@ -983,10 +983,10 @@ public final void mT__54() throws RecognitionException { try { int _type = T__54; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:53:7: ( 'context' ) - // InternalScope.g:53:9: 'context' + // InternalScope.g:51:7: ( '**' ) + // InternalScope.g:51:9: '**' { - match("context"); + match("**"); } @@ -1004,11 +1004,10 @@ public final void mT__55() throws RecognitionException { try { int _type = T__55; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:54:7: ( '>>' ) - // InternalScope.g:54:9: '>>' + // InternalScope.g:52:7: ( '%' ) + // InternalScope.g:52:9: '%' { - match(">>"); - + match('%'); } @@ -1025,10 +1024,11 @@ public final void mT__56() throws RecognitionException { try { int _type = T__56; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:55:7: ( '[' ) - // InternalScope.g:55:9: '[' + // InternalScope.g:53:7: ( '++' ) + // InternalScope.g:53:9: '++' { - match('['); + match("++"); + } @@ -1045,10 +1045,11 @@ public final void mT__57() throws RecognitionException { try { int _type = T__57; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:56:7: ( ']' ) - // InternalScope.g:56:9: ']' + // InternalScope.g:54:7: ( '--' ) + // InternalScope.g:54:9: '--' { - match(']'); + match("--"); + } @@ -1065,11 +1066,10 @@ public final void mT__58() throws RecognitionException { try { int _type = T__58; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:57:7: ( 'factory' ) - // InternalScope.g:57:9: 'factory' + // InternalScope.g:55:7: ( '.' ) + // InternalScope.g:55:9: '.' { - match("factory"); - + match('.'); } @@ -1086,10 +1086,10 @@ public final void mT__59() throws RecognitionException { try { int _type = T__59; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:58:7: ( 'scopeof' ) - // InternalScope.g:58:9: 'scopeof' + // InternalScope.g:56:7: ( 'val' ) + // InternalScope.g:56:9: 'val' { - match("scopeof"); + match("val"); } @@ -1107,10 +1107,11 @@ public final void mT__60() throws RecognitionException { try { int _type = T__60; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:59:7: ( ',' ) - // InternalScope.g:59:9: ',' + // InternalScope.g:57:7: ( 'extends' ) + // InternalScope.g:57:9: 'extends' { - match(','); + match("extends"); + } @@ -1127,10 +1128,10 @@ public final void mT__61() throws RecognitionException { try { int _type = T__61; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:60:7: ( 'find' ) - // InternalScope.g:60:9: 'find' + // InternalScope.g:58:7: ( 'static' ) + // InternalScope.g:58:9: 'static' { - match("find"); + match("static"); } @@ -1148,10 +1149,10 @@ public final void mT__62() throws RecognitionException { try { int _type = T__62; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:61:7: ( 'key' ) - // InternalScope.g:61:9: 'key' + // InternalScope.g:59:7: ( 'import' ) + // InternalScope.g:59:9: 'import' { - match("key"); + match("import"); } @@ -1169,10 +1170,10 @@ public final void mT__63() throws RecognitionException { try { int _type = T__63; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:62:7: ( 'prefix' ) - // InternalScope.g:62:9: 'prefix' + // InternalScope.g:60:7: ( 'extension' ) + // InternalScope.g:60:9: 'extension' { - match("prefix"); + match("extension"); } @@ -1190,10 +1191,10 @@ public final void mT__64() throws RecognitionException { try { int _type = T__64; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:63:7: ( 'data' ) - // InternalScope.g:63:9: 'data' + // InternalScope.g:61:7: ( 'super' ) + // InternalScope.g:61:9: 'super' { - match("data"); + match("super"); } @@ -1211,10 +1212,10 @@ public final void mT__65() throws RecognitionException { try { int _type = T__65; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:64:7: ( 'domains' ) - // InternalScope.g:64:9: 'domains' + // InternalScope.g:62:7: ( 'sensitive' ) + // InternalScope.g:62:9: 'sensitive' { - match("domains"); + match("sensitive"); } @@ -1232,10 +1233,11 @@ public final void mT__66() throws RecognitionException { try { int _type = T__66; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:65:7: ( '|' ) - // InternalScope.g:65:9: '|' + // InternalScope.g:63:7: ( 'insensitive' ) + // InternalScope.g:63:9: 'insensitive' { - match('|'); + match("insensitive"); + } @@ -1252,10 +1254,10 @@ public final void mT__67() throws RecognitionException { try { int _type = T__67; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:66:7: ( '::' ) - // InternalScope.g:66:9: '::' + // InternalScope.g:64:7: ( 'scoping' ) + // InternalScope.g:64:9: 'scoping' { - match("::"); + match("scoping"); } @@ -1273,10 +1275,11 @@ public final void mT__68() throws RecognitionException { try { int _type = T__68; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:67:7: ( '.' ) - // InternalScope.g:67:9: '.' + // InternalScope.g:65:7: ( 'with' ) + // InternalScope.g:65:9: 'with' { - match('.'); + match("with"); + } @@ -1293,10 +1296,10 @@ public final void mT__69() throws RecognitionException { try { int _type = T__69; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:68:7: ( 'let' ) - // InternalScope.g:68:9: 'let' + // InternalScope.g:66:7: ( 'as' ) + // InternalScope.g:66:9: 'as' { - match("let"); + match("as"); } @@ -1314,10 +1317,11 @@ public final void mT__70() throws RecognitionException { try { int _type = T__70; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:69:7: ( ':' ) - // InternalScope.g:69:9: ':' + // InternalScope.g:67:7: ( 'inject' ) + // InternalScope.g:67:9: 'inject' { - match(':'); + match("inject"); + } @@ -1334,10 +1338,10 @@ public final void mT__71() throws RecognitionException { try { int _type = T__71; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:70:7: ( '->' ) - // InternalScope.g:70:9: '->' + // InternalScope.g:68:7: ( 'naming' ) + // InternalScope.g:68:9: 'naming' { - match("->"); + match("naming"); } @@ -1355,10 +1359,10 @@ public final void mT__72() throws RecognitionException { try { int _type = T__72; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:71:7: ( '?' ) - // InternalScope.g:71:9: '?' + // InternalScope.g:69:7: ( '{' ) + // InternalScope.g:69:9: '{' { - match('?'); + match('{'); } @@ -1375,11 +1379,10 @@ public final void mT__73() throws RecognitionException { try { int _type = T__73; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:72:7: ( 'if' ) - // InternalScope.g:72:9: 'if' + // InternalScope.g:70:7: ( '}' ) + // InternalScope.g:70:9: '}' { - match("if"); - + match('}'); } @@ -1396,10 +1399,10 @@ public final void mT__74() throws RecognitionException { try { int _type = T__74; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:73:7: ( 'then' ) - // InternalScope.g:73:9: 'then' + // InternalScope.g:71:7: ( 'case' ) + // InternalScope.g:71:9: 'case' { - match("then"); + match("case"); } @@ -1417,11 +1420,10 @@ public final void mT__75() throws RecognitionException { try { int _type = T__75; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:74:7: ( 'else' ) - // InternalScope.g:74:9: 'else' + // InternalScope.g:72:7: ( ';' ) + // InternalScope.g:72:9: ';' { - match("else"); - + match(';'); } @@ -1438,10 +1440,10 @@ public final void mT__76() throws RecognitionException { try { int _type = T__76; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:75:7: ( 'switch' ) - // InternalScope.g:75:9: 'switch' + // InternalScope.g:73:7: ( 'scope' ) + // InternalScope.g:73:9: 'scope' { - match("switch"); + match("scope"); } @@ -1459,11 +1461,10 @@ public final void mT__77() throws RecognitionException { try { int _type = T__77; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:76:7: ( 'default' ) - // InternalScope.g:76:9: 'default' + // InternalScope.g:74:7: ( '(' ) + // InternalScope.g:74:9: '(' { - match("default"); - + match('('); } @@ -1480,11 +1481,10 @@ public final void mT__78() throws RecognitionException { try { int _type = T__78; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:77:7: ( 'GLOBALVAR' ) - // InternalScope.g:77:9: 'GLOBALVAR' + // InternalScope.g:75:7: ( ')' ) + // InternalScope.g:75:9: ')' { - match("GLOBALVAR"); - + match(')'); } @@ -1501,11 +1501,10 @@ public final void mT__79() throws RecognitionException { try { int _type = T__79; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:78:7: ( 'new' ) - // InternalScope.g:78:9: 'new' + // InternalScope.g:76:7: ( '#' ) + // InternalScope.g:76:9: '#' { - match("new"); - + match('#'); } @@ -1522,10 +1521,10 @@ public final void mT__80() throws RecognitionException { try { int _type = T__80; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:79:7: ( 'recursive' ) - // InternalScope.g:79:9: 'recursive' + // InternalScope.g:77:7: ( 'context' ) + // InternalScope.g:77:9: 'context' { - match("recursive"); + match("context"); } @@ -1543,10 +1542,10 @@ public final void mT__81() throws RecognitionException { try { int _type = T__81; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:80:7: ( 'export' ) - // InternalScope.g:80:9: 'export' + // InternalScope.g:78:7: ( '>>' ) + // InternalScope.g:78:9: '>>' { - match("export"); + match(">>"); } @@ -1564,11 +1563,10 @@ public final void mT__82() throws RecognitionException { try { int _type = T__82; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:81:7: ( '||' ) - // InternalScope.g:81:9: '||' + // InternalScope.g:79:7: ( '[' ) + // InternalScope.g:79:9: '[' { - match("||"); - + match('['); } @@ -1585,11 +1583,10 @@ public final void mT__83() throws RecognitionException { try { int _type = T__83; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:82:7: ( '&&' ) - // InternalScope.g:82:9: '&&' + // InternalScope.g:80:7: ( ']' ) + // InternalScope.g:80:9: ']' { - match("&&"); - + match(']'); } @@ -1606,10 +1603,10 @@ public final void mT__84() throws RecognitionException { try { int _type = T__84; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:83:7: ( 'implies' ) - // InternalScope.g:83:9: 'implies' + // InternalScope.g:81:7: ( 'factory' ) + // InternalScope.g:81:9: 'factory' { - match("implies"); + match("factory"); } @@ -1627,10 +1624,10 @@ public final void mT__85() throws RecognitionException { try { int _type = T__85; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:84:7: ( 'typeSelect' ) - // InternalScope.g:84:9: 'typeSelect' + // InternalScope.g:82:7: ( 'scopeof' ) + // InternalScope.g:82:9: 'scopeof' { - match("typeSelect"); + match("scopeof"); } @@ -1648,10 +1645,698 @@ public final void mT__86() throws RecognitionException { try { int _type = T__86; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:85:7: ( 'null' ) - // InternalScope.g:85:9: 'null' + // InternalScope.g:83:7: ( ',' ) + // InternalScope.g:83:9: ',' { - match("null"); + match(','); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__86" + + // $ANTLR start "T__87" + public final void mT__87() throws RecognitionException { + try { + int _type = T__87; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:84:7: ( 'find' ) + // InternalScope.g:84:9: 'find' + { + match("find"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__87" + + // $ANTLR start "T__88" + public final void mT__88() throws RecognitionException { + try { + int _type = T__88; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:85:7: ( 'key' ) + // InternalScope.g:85:9: 'key' + { + match("key"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__88" + + // $ANTLR start "T__89" + public final void mT__89() throws RecognitionException { + try { + int _type = T__89; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:86:7: ( 'prefix' ) + // InternalScope.g:86:9: 'prefix' + { + match("prefix"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__89" + + // $ANTLR start "T__90" + public final void mT__90() throws RecognitionException { + try { + int _type = T__90; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:87:7: ( 'data' ) + // InternalScope.g:87:9: 'data' + { + match("data"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__90" + + // $ANTLR start "T__91" + public final void mT__91() throws RecognitionException { + try { + int _type = T__91; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:88:7: ( 'domains' ) + // InternalScope.g:88:9: 'domains' + { + match("domains"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__91" + + // $ANTLR start "T__92" + public final void mT__92() throws RecognitionException { + try { + int _type = T__92; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:89:7: ( '|' ) + // InternalScope.g:89:9: '|' + { + match('|'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__92" + + // $ANTLR start "T__93" + public final void mT__93() throws RecognitionException { + try { + int _type = T__93; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:90:7: ( '::' ) + // InternalScope.g:90:9: '::' + { + match("::"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__93" + + // $ANTLR start "T__94" + public final void mT__94() throws RecognitionException { + try { + int _type = T__94; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:91:7: ( 'let' ) + // InternalScope.g:91:9: 'let' + { + match("let"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__94" + + // $ANTLR start "T__95" + public final void mT__95() throws RecognitionException { + try { + int _type = T__95; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:92:7: ( ':' ) + // InternalScope.g:92:9: ':' + { + match(':'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__95" + + // $ANTLR start "T__96" + public final void mT__96() throws RecognitionException { + try { + int _type = T__96; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:93:7: ( '?' ) + // InternalScope.g:93:9: '?' + { + match('?'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__96" + + // $ANTLR start "T__97" + public final void mT__97() throws RecognitionException { + try { + int _type = T__97; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:94:7: ( 'if' ) + // InternalScope.g:94:9: 'if' + { + match("if"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__97" + + // $ANTLR start "T__98" + public final void mT__98() throws RecognitionException { + try { + int _type = T__98; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:95:7: ( 'then' ) + // InternalScope.g:95:9: 'then' + { + match("then"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__98" + + // $ANTLR start "T__99" + public final void mT__99() throws RecognitionException { + try { + int _type = T__99; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:96:7: ( 'else' ) + // InternalScope.g:96:9: 'else' + { + match("else"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__99" + + // $ANTLR start "T__100" + public final void mT__100() throws RecognitionException { + try { + int _type = T__100; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:97:8: ( 'switch' ) + // InternalScope.g:97:10: 'switch' + { + match("switch"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__100" + + // $ANTLR start "T__101" + public final void mT__101() throws RecognitionException { + try { + int _type = T__101; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:98:8: ( 'default' ) + // InternalScope.g:98:10: 'default' + { + match("default"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__101" + + // $ANTLR start "T__102" + public final void mT__102() throws RecognitionException { + try { + int _type = T__102; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:99:8: ( 'GLOBALVAR' ) + // InternalScope.g:99:10: 'GLOBALVAR' + { + match("GLOBALVAR"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__102" + + // $ANTLR start "T__103" + public final void mT__103() throws RecognitionException { + try { + int _type = T__103; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:100:8: ( 'new' ) + // InternalScope.g:100:10: 'new' + { + match("new"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__103" + + // $ANTLR start "T__104" + public final void mT__104() throws RecognitionException { + try { + int _type = T__104; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:101:8: ( 'instanceof' ) + // InternalScope.g:101:10: 'instanceof' + { + match("instanceof"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__104" + + // $ANTLR start "T__105" + public final void mT__105() throws RecognitionException { + try { + int _type = T__105; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:102:8: ( 'for' ) + // InternalScope.g:102:10: 'for' + { + match("for"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__105" + + // $ANTLR start "T__106" + public final void mT__106() throws RecognitionException { + try { + int _type = T__106; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:103:8: ( 'while' ) + // InternalScope.g:103:10: 'while' + { + match("while"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__106" + + // $ANTLR start "T__107" + public final void mT__107() throws RecognitionException { + try { + int _type = T__107; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:104:8: ( 'do' ) + // InternalScope.g:104:10: 'do' + { + match("do"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__107" + + // $ANTLR start "T__108" + public final void mT__108() throws RecognitionException { + try { + int _type = T__108; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:105:8: ( 'null' ) + // InternalScope.g:105:10: 'null' + { + match("null"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__108" + + // $ANTLR start "T__109" + public final void mT__109() throws RecognitionException { + try { + int _type = T__109; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:106:8: ( 'typeof' ) + // InternalScope.g:106:10: 'typeof' + { + match("typeof"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__109" + + // $ANTLR start "T__110" + public final void mT__110() throws RecognitionException { + try { + int _type = T__110; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:107:8: ( 'throw' ) + // InternalScope.g:107:10: 'throw' + { + match("throw"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__110" + + // $ANTLR start "T__111" + public final void mT__111() throws RecognitionException { + try { + int _type = T__111; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:108:8: ( 'return' ) + // InternalScope.g:108:10: 'return' + { + match("return"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__111" + + // $ANTLR start "T__112" + public final void mT__112() throws RecognitionException { + try { + int _type = T__112; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:109:8: ( 'try' ) + // InternalScope.g:109:10: 'try' + { + match("try"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__112" + + // $ANTLR start "T__113" + public final void mT__113() throws RecognitionException { + try { + int _type = T__113; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:110:8: ( 'finally' ) + // InternalScope.g:110:10: 'finally' + { + match("finally"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__113" + + // $ANTLR start "T__114" + public final void mT__114() throws RecognitionException { + try { + int _type = T__114; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:111:8: ( 'synchronized' ) + // InternalScope.g:111:10: 'synchronized' + { + match("synchronized"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__114" + + // $ANTLR start "T__115" + public final void mT__115() throws RecognitionException { + try { + int _type = T__115; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:112:8: ( 'catch' ) + // InternalScope.g:112:10: 'catch' + { + match("catch"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__115" + + // $ANTLR start "T__116" + public final void mT__116() throws RecognitionException { + try { + int _type = T__116; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:113:8: ( '&' ) + // InternalScope.g:113:10: '&' + { + match('&'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__116" + + // $ANTLR start "T__117" + public final void mT__117() throws RecognitionException { + try { + int _type = T__117; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:114:8: ( 'recursive' ) + // InternalScope.g:114:10: 'recursive' + { + match("recursive"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__117" + + // $ANTLR start "T__118" + public final void mT__118() throws RecognitionException { + try { + int _type = T__118; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:115:8: ( 'export' ) + // InternalScope.g:115:10: 'export' + { + match("export"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__118" + + // $ANTLR start "T__119" + public final void mT__119() throws RecognitionException { + try { + int _type = T__119; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:116:8: ( 'implies' ) + // InternalScope.g:116:10: 'implies' + { + match("implies"); } @@ -1662,17 +2347,80 @@ public final void mT__86() throws RecognitionException { finally { } } - // $ANTLR end "T__86" + // $ANTLR end "T__119" + + // $ANTLR start "T__120" + public final void mT__120() throws RecognitionException { + try { + int _type = T__120; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:117:8: ( 'typeSelect' ) + // InternalScope.g:117:10: 'typeSelect' + { + match("typeSelect"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__120" + + // $ANTLR start "T__121" + public final void mT__121() throws RecognitionException { + try { + int _type = T__121; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:118:8: ( '?.' ) + // InternalScope.g:118:10: '?.' + { + match("?."); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__121" + + // $ANTLR start "T__122" + public final void mT__122() throws RecognitionException { + try { + int _type = T__122; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:119:8: ( 'var' ) + // InternalScope.g:119:10: 'var' + { + match("var"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__122" // $ANTLR start "RULE_REAL" public final void mRULE_REAL() throws RecognitionException { try { int _type = RULE_REAL; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:11775:11: ( ( '0' .. '9' )* '.' ( '0' .. '9' )* ) - // InternalScope.g:11775:13: ( '0' .. '9' )* '.' ( '0' .. '9' )* + // InternalScope.g:28622:11: ( ( '0' .. '9' )* '.' ( '0' .. '9' )* ) + // InternalScope.g:28622:13: ( '0' .. '9' )* '.' ( '0' .. '9' )* { - // InternalScope.g:11775:13: ( '0' .. '9' )* + // InternalScope.g:28622:13: ( '0' .. '9' )* loop1: do { int alt1=2; @@ -1685,7 +2433,7 @@ public final void mRULE_REAL() throws RecognitionException { switch (alt1) { case 1 : - // InternalScope.g:11775:14: '0' .. '9' + // InternalScope.g:28622:14: '0' .. '9' { matchRange('0','9'); @@ -1698,7 +2446,7 @@ public final void mRULE_REAL() throws RecognitionException { } while (true); match('.'); - // InternalScope.g:11775:29: ( '0' .. '9' )* + // InternalScope.g:28622:29: ( '0' .. '9' )* loop2: do { int alt2=2; @@ -1711,7 +2459,7 @@ public final void mRULE_REAL() throws RecognitionException { switch (alt2) { case 1 : - // InternalScope.g:11775:30: '0' .. '9' + // InternalScope.g:28622:30: '0' .. '9' { matchRange('0','9'); @@ -1732,26 +2480,385 @@ public final void mRULE_REAL() throws RecognitionException { finally { } } - // $ANTLR end "RULE_REAL" + // $ANTLR end "RULE_REAL" + + // $ANTLR start "RULE_HEX" + public final void mRULE_HEX() throws RecognitionException { + try { + int _type = RULE_HEX; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:28624:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? ) + // InternalScope.g:28624:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? + { + // InternalScope.g:28624:12: ( '0x' | '0X' ) + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0=='0') ) { + int LA3_1 = input.LA(2); + + if ( (LA3_1=='x') ) { + alt3=1; + } + else if ( (LA3_1=='X') ) { + alt3=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 3, 1, input); + + throw nvae; + } + } + else { + NoViableAltException nvae = + new NoViableAltException("", 3, 0, input); + + throw nvae; + } + switch (alt3) { + case 1 : + // InternalScope.g:28624:13: '0x' + { + match("0x"); + + + } + break; + case 2 : + // InternalScope.g:28624:18: '0X' + { + match("0X"); + + + } + break; + + } + + // InternalScope.g:28624:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ + int cnt4=0; + loop4: + do { + int alt4=2; + int LA4_0 = input.LA(1); + + if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='f')) ) { + alt4=1; + } + + + switch (alt4) { + case 1 : + // InternalScope.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='f') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + if ( cnt4 >= 1 ) break loop4; + EarlyExitException eee = + new EarlyExitException(4, input); + throw eee; + } + cnt4++; + } while (true); + + // InternalScope.g:28624:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0=='#') ) { + alt6=1; + } + switch (alt6) { + case 1 : + // InternalScope.g:28624:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) + { + match('#'); + // InternalScope.g:28624:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0=='B'||LA5_0=='b') ) { + alt5=1; + } + else if ( (LA5_0=='L'||LA5_0=='l') ) { + alt5=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); + + throw nvae; + } + switch (alt5) { + case 1 : + // InternalScope.g:28624:64: ( 'b' | 'B' ) ( 'i' | 'I' ) + { + if ( input.LA(1)=='B'||input.LA(1)=='b' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + if ( input.LA(1)=='I'||input.LA(1)=='i' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // InternalScope.g:28624:84: ( 'l' | 'L' ) + { + if ( input.LA(1)=='L'||input.LA(1)=='l' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_HEX" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + int _type = RULE_INT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:28626:10: ( '0' .. '9' ( '0' .. '9' | '_' )* ) + // InternalScope.g:28626:12: '0' .. '9' ( '0' .. '9' | '_' )* + { + matchRange('0','9'); + // InternalScope.g:28626:21: ( '0' .. '9' | '_' )* + loop7: + do { + int alt7=2; + int LA7_0 = input.LA(1); + + if ( ((LA7_0>='0' && LA7_0<='9')||LA7_0=='_') ) { + alt7=1; + } + + + switch (alt7) { + case 1 : + // InternalScope.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||input.LA(1)=='_' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop7; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_INT" + + // $ANTLR start "RULE_DECIMAL" + public final void mRULE_DECIMAL() throws RecognitionException { + try { + int _type = RULE_DECIMAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:28628:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? ) + // InternalScope.g:28628:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? + { + mRULE_INT(); + // InternalScope.g:28628:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0=='E'||LA9_0=='e') ) { + alt9=1; + } + switch (alt9) { + case 1 : + // InternalScope.g:28628:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT + { + if ( input.LA(1)=='E'||input.LA(1)=='e' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // InternalScope.g:28628:36: ( '+' | '-' )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0=='+'||LA8_0=='-') ) { + alt8=1; + } + switch (alt8) { + case 1 : + // InternalScope.g: + { + if ( input.LA(1)=='+'||input.LA(1)=='-' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + mRULE_INT(); + + } + break; + + } + + // InternalScope.g:28628:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? + int alt10=3; + int LA10_0 = input.LA(1); + + if ( (LA10_0=='B'||LA10_0=='b') ) { + alt10=1; + } + else if ( (LA10_0=='D'||LA10_0=='F'||LA10_0=='L'||LA10_0=='d'||LA10_0=='f'||LA10_0=='l') ) { + alt10=2; + } + switch (alt10) { + case 1 : + // InternalScope.g:28628:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) + { + if ( input.LA(1)=='B'||input.LA(1)=='b' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + if ( input.LA(1)=='D'||input.LA(1)=='I'||input.LA(1)=='d'||input.LA(1)=='i' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // InternalScope.g:28628:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) + { + if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='L'||input.LA(1)=='d'||input.LA(1)=='f'||input.LA(1)=='l' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_DECIMAL" // $ANTLR start "RULE_ID" public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:11777:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalScope.g:11777:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalScope.g:28630:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* ) + // InternalScope.g:28630:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* { - // InternalScope.g:11777:11: ( '^' )? - int alt3=2; - int LA3_0 = input.LA(1); + // InternalScope.g:28630:11: ( '^' )? + int alt11=2; + int LA11_0 = input.LA(1); - if ( (LA3_0=='^') ) { - alt3=1; + if ( (LA11_0=='^') ) { + alt11=1; } - switch (alt3) { + switch (alt11) { case 1 : - // InternalScope.g:11777:11: '^' + // InternalScope.g:28630:11: '^' { match('^'); @@ -1760,7 +2867,7 @@ public final void mRULE_ID() throws RecognitionException { } - if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { input.consume(); } @@ -1769,22 +2876,22 @@ public final void mRULE_ID() throws RecognitionException { recover(mse); throw mse;} - // InternalScope.g:11777:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* - loop4: + // InternalScope.g:28630:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* + loop12: do { - int alt4=2; - int LA4_0 = input.LA(1); + int alt12=2; + int LA12_0 = input.LA(1); - if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) { - alt4=1; + if ( (LA12_0=='$'||(LA12_0>='0' && LA12_0<='9')||(LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='z')) ) { + alt12=1; } - switch (alt4) { + switch (alt12) { case 1 : // InternalScope.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') ) { + if ( input.LA(1)=='$'||(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(); } @@ -1798,7 +2905,7 @@ public final void mRULE_ID() throws RecognitionException { break; default : - break loop4; + break loop12; } } while (true); @@ -1813,101 +2920,52 @@ public final void mRULE_ID() throws RecognitionException { } // $ANTLR end "RULE_ID" - // $ANTLR start "RULE_INT" - public final void mRULE_INT() throws RecognitionException { - try { - int _type = RULE_INT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:11779:10: ( ( '0' .. '9' )+ ) - // InternalScope.g:11779:12: ( '0' .. '9' )+ - { - // InternalScope.g:11779:12: ( '0' .. '9' )+ - int cnt5=0; - loop5: - do { - int alt5=2; - int LA5_0 = input.LA(1); - - if ( ((LA5_0>='0' && LA5_0<='9')) ) { - alt5=1; - } - - - switch (alt5) { - case 1 : - // InternalScope.g:11779:13: '0' .. '9' - { - matchRange('0','9'); - - } - break; - - default : - if ( cnt5 >= 1 ) break loop5; - EarlyExitException eee = - new EarlyExitException(5, input); - throw eee; - } - cnt5++; - } while (true); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_INT" - // $ANTLR start "RULE_STRING" public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:11781:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) - // InternalScope.g:11781:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalScope.g:28632:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) ) + // InternalScope.g:28632:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) { - // InternalScope.g:11781:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) - int alt8=2; - int LA8_0 = input.LA(1); + // InternalScope.g:28632:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) + int alt17=2; + int LA17_0 = input.LA(1); - if ( (LA8_0=='\"') ) { - alt8=1; + if ( (LA17_0=='\"') ) { + alt17=1; } - else if ( (LA8_0=='\'') ) { - alt8=2; + else if ( (LA17_0=='\'') ) { + alt17=2; } else { NoViableAltException nvae = - new NoViableAltException("", 8, 0, input); + new NoViableAltException("", 17, 0, input); throw nvae; } - switch (alt8) { + switch (alt17) { case 1 : - // InternalScope.g:11781:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + // InternalScope.g:28632:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? { match('\"'); - // InternalScope.g:11781:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* - loop6: + // InternalScope.g:28632:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + loop13: do { - int alt6=3; - int LA6_0 = input.LA(1); + int alt13=3; + int LA13_0 = input.LA(1); - if ( (LA6_0=='\\') ) { - alt6=1; + if ( (LA13_0=='\\') ) { + alt13=1; } - else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) { - alt6=2; + else if ( ((LA13_0>='\u0000' && LA13_0<='!')||(LA13_0>='#' && LA13_0<='[')||(LA13_0>=']' && LA13_0<='\uFFFF')) ) { + alt13=2; } - switch (alt6) { + switch (alt13) { case 1 : - // InternalScope.g:11781:21: '\\\\' . + // InternalScope.g:28632:21: '\\\\' . { match('\\'); matchAny(); @@ -1915,7 +2973,7 @@ else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>= } break; case 2 : - // InternalScope.g:11781:28: ~ ( ( '\\\\' | '\"' ) ) + // InternalScope.g:28632:28: ~ ( ( '\\\\' | '\"' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1931,35 +2989,52 @@ else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>= break; default : - break loop6; + break loop13; } } while (true); - match('\"'); + // InternalScope.g:28632:44: ( '\"' )? + int alt14=2; + int LA14_0 = input.LA(1); + + if ( (LA14_0=='\"') ) { + alt14=1; + } + switch (alt14) { + case 1 : + // InternalScope.g:28632:44: '\"' + { + match('\"'); + + } + break; + + } + } break; case 2 : - // InternalScope.g:11781:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + // InternalScope.g:28632:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? { match('\''); - // InternalScope.g:11781:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* - loop7: + // InternalScope.g:28632:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + loop15: do { - int alt7=3; - int LA7_0 = input.LA(1); + int alt15=3; + int LA15_0 = input.LA(1); - if ( (LA7_0=='\\') ) { - alt7=1; + if ( (LA15_0=='\\') ) { + alt15=1; } - else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) { - alt7=2; + else if ( ((LA15_0>='\u0000' && LA15_0<='&')||(LA15_0>='(' && LA15_0<='[')||(LA15_0>=']' && LA15_0<='\uFFFF')) ) { + alt15=2; } - switch (alt7) { + switch (alt15) { case 1 : - // InternalScope.g:11781:54: '\\\\' . + // InternalScope.g:28632:55: '\\\\' . { match('\\'); matchAny(); @@ -1967,7 +3042,7 @@ else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>= } break; case 2 : - // InternalScope.g:11781:61: ~ ( ( '\\\\' | '\\'' ) ) + // InternalScope.g:28632:62: ~ ( ( '\\\\' | '\\'' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1983,11 +3058,28 @@ else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>= break; default : - break loop7; + break loop15; } } while (true); - match('\''); + // InternalScope.g:28632:79: ( '\\'' )? + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0=='\'') ) { + alt16=1; + } + switch (alt16) { + case 1 : + // InternalScope.g:28632:79: '\\'' + { + match('\''); + + } + break; + + } + } break; @@ -2010,37 +3102,37 @@ public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:11783:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalScope.g:11783:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalScope.g:28634:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalScope.g:28634:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalScope.g:11783:24: ( options {greedy=false; } : . )* - loop9: + // InternalScope.g:28634:24: ( options {greedy=false; } : . )* + loop18: do { - int alt9=2; - int LA9_0 = input.LA(1); + int alt18=2; + int LA18_0 = input.LA(1); - if ( (LA9_0=='*') ) { - int LA9_1 = input.LA(2); + if ( (LA18_0=='*') ) { + int LA18_1 = input.LA(2); - if ( (LA9_1=='/') ) { - alt9=2; + if ( (LA18_1=='/') ) { + alt18=2; } - else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) { - alt9=1; + else if ( ((LA18_1>='\u0000' && LA18_1<='.')||(LA18_1>='0' && LA18_1<='\uFFFF')) ) { + alt18=1; } } - else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) { - alt9=1; + else if ( ((LA18_0>='\u0000' && LA18_0<=')')||(LA18_0>='+' && LA18_0<='\uFFFF')) ) { + alt18=1; } - switch (alt9) { + switch (alt18) { case 1 : - // InternalScope.g:11783:52: . + // InternalScope.g:28634:52: . { matchAny(); @@ -2048,7 +3140,7 @@ else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) { break; default : - break loop9; + break loop18; } } while (true); @@ -2070,25 +3162,25 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:11785:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalScope.g:11785:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalScope.g:28636:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalScope.g:28636:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // InternalScope.g:11785:24: (~ ( ( '\\n' | '\\r' ) ) )* - loop10: + // InternalScope.g:28636:24: (~ ( ( '\\n' | '\\r' ) ) )* + loop19: do { - int alt10=2; - int LA10_0 = input.LA(1); + int alt19=2; + int LA19_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; + if ( ((LA19_0>='\u0000' && LA19_0<='\t')||(LA19_0>='\u000B' && LA19_0<='\f')||(LA19_0>='\u000E' && LA19_0<='\uFFFF')) ) { + alt19=1; } - switch (alt10) { + switch (alt19) { case 1 : - // InternalScope.g:11785:24: ~ ( ( '\\n' | '\\r' ) ) + // InternalScope.g:28636: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(); @@ -2104,31 +3196,31 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { break; default : - break loop10; + break loop19; } } while (true); - // InternalScope.g:11785:40: ( ( '\\r' )? '\\n' )? - int alt12=2; - int LA12_0 = input.LA(1); + // InternalScope.g:28636:40: ( ( '\\r' )? '\\n' )? + int alt21=2; + int LA21_0 = input.LA(1); - if ( (LA12_0=='\n'||LA12_0=='\r') ) { - alt12=1; + if ( (LA21_0=='\n'||LA21_0=='\r') ) { + alt21=1; } - switch (alt12) { + switch (alt21) { case 1 : - // InternalScope.g:11785:41: ( '\\r' )? '\\n' + // InternalScope.g:28636:41: ( '\\r' )? '\\n' { - // InternalScope.g:11785:41: ( '\\r' )? - int alt11=2; - int LA11_0 = input.LA(1); + // InternalScope.g:28636:41: ( '\\r' )? + int alt20=2; + int LA20_0 = input.LA(1); - if ( (LA11_0=='\r') ) { - alt11=1; + if ( (LA20_0=='\r') ) { + alt20=1; } - switch (alt11) { + switch (alt20) { case 1 : - // InternalScope.g:11785:41: '\\r' + // InternalScope.g:28636:41: '\\r' { match('\r'); @@ -2155,664 +3247,916 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } // $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; - // InternalScope.g:11787:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalScope.g:11787:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - { - // InternalScope.g:11787:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - int cnt13=0; - loop13: - do { - int alt13=2; - int LA13_0 = input.LA(1); + // $ANTLR start "RULE_WS" + public final void mRULE_WS() throws RecognitionException { + try { + int _type = RULE_WS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:28638:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalScope.g:28638:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + { + // InternalScope.g:28638:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt22=0; + loop22: + do { + int alt22=2; + int LA22_0 = input.LA(1); + + if ( ((LA22_0>='\t' && LA22_0<='\n')||LA22_0=='\r'||LA22_0==' ') ) { + alt22=1; + } + + + switch (alt22) { + case 1 : + // InternalScope.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 ( cnt22 >= 1 ) break loop22; + EarlyExitException eee = + new EarlyExitException(22, input); + throw eee; + } + cnt22++; + } 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; + // InternalScope.g:28640:16: ( . ) + // InternalScope.g:28640:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // InternalScope.g:1:8: ( T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | RULE_REAL | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt23=119; + alt23 = dfa23.predict(input); + switch (alt23) { + case 1 : + // InternalScope.g:1:10: T__14 + { + mT__14(); + + } + break; + case 2 : + // InternalScope.g:1:16: T__15 + { + mT__15(); + + } + break; + case 3 : + // InternalScope.g:1:22: T__16 + { + mT__16(); + + } + break; + case 4 : + // InternalScope.g:1:28: T__17 + { + mT__17(); + + } + break; + case 5 : + // InternalScope.g:1:34: T__18 + { + mT__18(); + + } + break; + case 6 : + // InternalScope.g:1:40: T__19 + { + mT__19(); + + } + break; + case 7 : + // InternalScope.g:1:46: T__20 + { + mT__20(); + + } + break; + case 8 : + // InternalScope.g:1:52: T__21 + { + mT__21(); + + } + break; + case 9 : + // InternalScope.g:1:58: T__22 + { + mT__22(); + + } + break; + case 10 : + // InternalScope.g:1:64: T__23 + { + mT__23(); + + } + break; + case 11 : + // InternalScope.g:1:70: T__24 + { + mT__24(); + + } + break; + case 12 : + // InternalScope.g:1:76: T__25 + { + mT__25(); + + } + break; + case 13 : + // InternalScope.g:1:82: T__26 + { + mT__26(); + + } + break; + case 14 : + // InternalScope.g:1:88: T__27 + { + mT__27(); + + } + break; + case 15 : + // InternalScope.g:1:94: T__28 + { + mT__28(); + + } + break; + case 16 : + // InternalScope.g:1:100: T__29 + { + mT__29(); + + } + break; + case 17 : + // InternalScope.g:1:106: T__30 + { + mT__30(); + + } + break; + case 18 : + // InternalScope.g:1:112: T__31 + { + mT__31(); + + } + break; + case 19 : + // InternalScope.g:1:118: T__32 + { + mT__32(); + + } + break; + case 20 : + // InternalScope.g:1:124: T__33 + { + mT__33(); + + } + break; + case 21 : + // InternalScope.g:1:130: T__34 + { + mT__34(); + + } + break; + case 22 : + // InternalScope.g:1:136: T__35 + { + mT__35(); - if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) { - alt13=1; } + break; + case 23 : + // InternalScope.g:1:142: T__36 + { + mT__36(); + } + break; + case 24 : + // InternalScope.g:1:148: T__37 + { + mT__37(); - switch (alt13) { - case 1 : - // InternalScope.g: - { - if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { - input.consume(); + } + break; + case 25 : + // InternalScope.g:1:154: T__38 + { + mT__38(); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} + } + break; + case 26 : + // InternalScope.g:1:160: T__39 + { + mT__39(); + } + break; + case 27 : + // InternalScope.g:1:166: T__40 + { + mT__40(); - } - break; + } + break; + case 28 : + // InternalScope.g:1:172: T__41 + { + mT__41(); - default : - if ( cnt13 >= 1 ) break loop13; - EarlyExitException eee = - new EarlyExitException(13, input); - throw eee; } - cnt13++; - } while (true); + break; + case 29 : + // InternalScope.g:1:178: T__42 + { + mT__42(); + } + break; + case 30 : + // InternalScope.g:1:184: T__43 + { + mT__43(); - } + } + break; + case 31 : + // InternalScope.g:1:190: T__44 + { + mT__44(); - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_WS" + } + break; + case 32 : + // InternalScope.g:1:196: T__45 + { + mT__45(); - // $ANTLR start "RULE_ANY_OTHER" - public final void mRULE_ANY_OTHER() throws RecognitionException { - try { - int _type = RULE_ANY_OTHER; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:11789:16: ( . ) - // InternalScope.g:11789:18: . - { - matchAny(); + } + break; + case 33 : + // InternalScope.g:1:202: T__46 + { + mT__46(); - } + } + break; + case 34 : + // InternalScope.g:1:208: T__47 + { + mT__47(); - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ANY_OTHER" + } + break; + case 35 : + // InternalScope.g:1:214: T__48 + { + mT__48(); - public void mTokens() throws RecognitionException { - // InternalScope.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 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | RULE_REAL | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) - int alt14=83; - alt14 = dfa14.predict(input); - switch (alt14) { - case 1 : - // InternalScope.g:1:10: T__12 + } + break; + case 36 : + // InternalScope.g:1:220: T__49 { - mT__12(); + mT__49(); } break; - case 2 : - // InternalScope.g:1:16: T__13 + case 37 : + // InternalScope.g:1:226: T__50 { - mT__13(); + mT__50(); } break; - case 3 : - // InternalScope.g:1:22: T__14 + case 38 : + // InternalScope.g:1:232: T__51 { - mT__14(); + mT__51(); } break; - case 4 : - // InternalScope.g:1:28: T__15 + case 39 : + // InternalScope.g:1:238: T__52 { - mT__15(); + mT__52(); } break; - case 5 : - // InternalScope.g:1:34: T__16 + case 40 : + // InternalScope.g:1:244: T__53 { - mT__16(); + mT__53(); } break; - case 6 : - // InternalScope.g:1:40: T__17 + case 41 : + // InternalScope.g:1:250: T__54 { - mT__17(); + mT__54(); } break; - case 7 : - // InternalScope.g:1:46: T__18 + case 42 : + // InternalScope.g:1:256: T__55 { - mT__18(); + mT__55(); } break; - case 8 : - // InternalScope.g:1:52: T__19 + case 43 : + // InternalScope.g:1:262: T__56 { - mT__19(); + mT__56(); } break; - case 9 : - // InternalScope.g:1:58: T__20 + case 44 : + // InternalScope.g:1:268: T__57 { - mT__20(); + mT__57(); } break; - case 10 : - // InternalScope.g:1:64: T__21 + case 45 : + // InternalScope.g:1:274: T__58 { - mT__21(); + mT__58(); } break; - case 11 : - // InternalScope.g:1:70: T__22 + case 46 : + // InternalScope.g:1:280: T__59 { - mT__22(); + mT__59(); } break; - case 12 : - // InternalScope.g:1:76: T__23 + case 47 : + // InternalScope.g:1:286: T__60 { - mT__23(); + mT__60(); } break; - case 13 : - // InternalScope.g:1:82: T__24 + case 48 : + // InternalScope.g:1:292: T__61 { - mT__24(); + mT__61(); } break; - case 14 : - // InternalScope.g:1:88: T__25 + case 49 : + // InternalScope.g:1:298: T__62 { - mT__25(); + mT__62(); } break; - case 15 : - // InternalScope.g:1:94: T__26 + case 50 : + // InternalScope.g:1:304: T__63 { - mT__26(); + mT__63(); } break; - case 16 : - // InternalScope.g:1:100: T__27 + case 51 : + // InternalScope.g:1:310: T__64 { - mT__27(); + mT__64(); } break; - case 17 : - // InternalScope.g:1:106: T__28 + case 52 : + // InternalScope.g:1:316: T__65 { - mT__28(); + mT__65(); } break; - case 18 : - // InternalScope.g:1:112: T__29 + case 53 : + // InternalScope.g:1:322: T__66 { - mT__29(); + mT__66(); } break; - case 19 : - // InternalScope.g:1:118: T__30 + case 54 : + // InternalScope.g:1:328: T__67 { - mT__30(); + mT__67(); } break; - case 20 : - // InternalScope.g:1:124: T__31 + case 55 : + // InternalScope.g:1:334: T__68 { - mT__31(); + mT__68(); } break; - case 21 : - // InternalScope.g:1:130: T__32 + case 56 : + // InternalScope.g:1:340: T__69 { - mT__32(); + mT__69(); } break; - case 22 : - // InternalScope.g:1:136: T__33 + case 57 : + // InternalScope.g:1:346: T__70 { - mT__33(); + mT__70(); } break; - case 23 : - // InternalScope.g:1:142: T__34 + case 58 : + // InternalScope.g:1:352: T__71 { - mT__34(); + mT__71(); } break; - case 24 : - // InternalScope.g:1:148: T__35 + case 59 : + // InternalScope.g:1:358: T__72 { - mT__35(); + mT__72(); } break; - case 25 : - // InternalScope.g:1:154: T__36 + case 60 : + // InternalScope.g:1:364: T__73 { - mT__36(); + mT__73(); } break; - case 26 : - // InternalScope.g:1:160: T__37 + case 61 : + // InternalScope.g:1:370: T__74 { - mT__37(); + mT__74(); } break; - case 27 : - // InternalScope.g:1:166: T__38 + case 62 : + // InternalScope.g:1:376: T__75 { - mT__38(); + mT__75(); } break; - case 28 : - // InternalScope.g:1:172: T__39 + case 63 : + // InternalScope.g:1:382: T__76 { - mT__39(); + mT__76(); } break; - case 29 : - // InternalScope.g:1:178: T__40 + case 64 : + // InternalScope.g:1:388: T__77 { - mT__40(); + mT__77(); } break; - case 30 : - // InternalScope.g:1:184: T__41 + case 65 : + // InternalScope.g:1:394: T__78 { - mT__41(); + mT__78(); } break; - case 31 : - // InternalScope.g:1:190: T__42 + case 66 : + // InternalScope.g:1:400: T__79 { - mT__42(); + mT__79(); } break; - case 32 : - // InternalScope.g:1:196: T__43 + case 67 : + // InternalScope.g:1:406: T__80 { - mT__43(); + mT__80(); } break; - case 33 : - // InternalScope.g:1:202: T__44 + case 68 : + // InternalScope.g:1:412: T__81 { - mT__44(); + mT__81(); } break; - case 34 : - // InternalScope.g:1:208: T__45 + case 69 : + // InternalScope.g:1:418: T__82 + { + mT__82(); + + } + break; + case 70 : + // InternalScope.g:1:424: T__83 { - mT__45(); + mT__83(); } break; - case 35 : - // InternalScope.g:1:214: T__46 + case 71 : + // InternalScope.g:1:430: T__84 { - mT__46(); + mT__84(); } break; - case 36 : - // InternalScope.g:1:220: T__47 + case 72 : + // InternalScope.g:1:436: T__85 { - mT__47(); + mT__85(); } break; - case 37 : - // InternalScope.g:1:226: T__48 + case 73 : + // InternalScope.g:1:442: T__86 { - mT__48(); + mT__86(); } break; - case 38 : - // InternalScope.g:1:232: T__49 + case 74 : + // InternalScope.g:1:448: T__87 { - mT__49(); + mT__87(); } break; - case 39 : - // InternalScope.g:1:238: T__50 + case 75 : + // InternalScope.g:1:454: T__88 { - mT__50(); + mT__88(); } break; - case 40 : - // InternalScope.g:1:244: T__51 + case 76 : + // InternalScope.g:1:460: T__89 { - mT__51(); + mT__89(); } break; - case 41 : - // InternalScope.g:1:250: T__52 + case 77 : + // InternalScope.g:1:466: T__90 { - mT__52(); + mT__90(); } break; - case 42 : - // InternalScope.g:1:256: T__53 + case 78 : + // InternalScope.g:1:472: T__91 { - mT__53(); + mT__91(); } break; - case 43 : - // InternalScope.g:1:262: T__54 + case 79 : + // InternalScope.g:1:478: T__92 { - mT__54(); + mT__92(); } break; - case 44 : - // InternalScope.g:1:268: T__55 + case 80 : + // InternalScope.g:1:484: T__93 { - mT__55(); + mT__93(); } break; - case 45 : - // InternalScope.g:1:274: T__56 + case 81 : + // InternalScope.g:1:490: T__94 { - mT__56(); + mT__94(); } break; - case 46 : - // InternalScope.g:1:280: T__57 + case 82 : + // InternalScope.g:1:496: T__95 { - mT__57(); + mT__95(); } break; - case 47 : - // InternalScope.g:1:286: T__58 + case 83 : + // InternalScope.g:1:502: T__96 { - mT__58(); + mT__96(); } break; - case 48 : - // InternalScope.g:1:292: T__59 + case 84 : + // InternalScope.g:1:508: T__97 { - mT__59(); + mT__97(); } break; - case 49 : - // InternalScope.g:1:298: T__60 + case 85 : + // InternalScope.g:1:514: T__98 { - mT__60(); + mT__98(); } break; - case 50 : - // InternalScope.g:1:304: T__61 + case 86 : + // InternalScope.g:1:520: T__99 { - mT__61(); + mT__99(); } break; - case 51 : - // InternalScope.g:1:310: T__62 + case 87 : + // InternalScope.g:1:526: T__100 { - mT__62(); + mT__100(); } break; - case 52 : - // InternalScope.g:1:316: T__63 + case 88 : + // InternalScope.g:1:533: T__101 { - mT__63(); + mT__101(); } break; - case 53 : - // InternalScope.g:1:322: T__64 + case 89 : + // InternalScope.g:1:540: T__102 { - mT__64(); + mT__102(); } break; - case 54 : - // InternalScope.g:1:328: T__65 + case 90 : + // InternalScope.g:1:547: T__103 { - mT__65(); + mT__103(); } break; - case 55 : - // InternalScope.g:1:334: T__66 + case 91 : + // InternalScope.g:1:554: T__104 { - mT__66(); + mT__104(); } break; - case 56 : - // InternalScope.g:1:340: T__67 + case 92 : + // InternalScope.g:1:561: T__105 { - mT__67(); + mT__105(); } break; - case 57 : - // InternalScope.g:1:346: T__68 + case 93 : + // InternalScope.g:1:568: T__106 { - mT__68(); + mT__106(); } break; - case 58 : - // InternalScope.g:1:352: T__69 + case 94 : + // InternalScope.g:1:575: T__107 { - mT__69(); + mT__107(); } break; - case 59 : - // InternalScope.g:1:358: T__70 + case 95 : + // InternalScope.g:1:582: T__108 { - mT__70(); + mT__108(); } break; - case 60 : - // InternalScope.g:1:364: T__71 + case 96 : + // InternalScope.g:1:589: T__109 { - mT__71(); + mT__109(); } break; - case 61 : - // InternalScope.g:1:370: T__72 + case 97 : + // InternalScope.g:1:596: T__110 { - mT__72(); + mT__110(); } break; - case 62 : - // InternalScope.g:1:376: T__73 + case 98 : + // InternalScope.g:1:603: T__111 { - mT__73(); + mT__111(); } break; - case 63 : - // InternalScope.g:1:382: T__74 + case 99 : + // InternalScope.g:1:610: T__112 { - mT__74(); + mT__112(); } break; - case 64 : - // InternalScope.g:1:388: T__75 + case 100 : + // InternalScope.g:1:617: T__113 { - mT__75(); + mT__113(); } break; - case 65 : - // InternalScope.g:1:394: T__76 + case 101 : + // InternalScope.g:1:624: T__114 { - mT__76(); + mT__114(); } break; - case 66 : - // InternalScope.g:1:400: T__77 + case 102 : + // InternalScope.g:1:631: T__115 { - mT__77(); + mT__115(); } break; - case 67 : - // InternalScope.g:1:406: T__78 + case 103 : + // InternalScope.g:1:638: T__116 { - mT__78(); + mT__116(); } break; - case 68 : - // InternalScope.g:1:412: T__79 + case 104 : + // InternalScope.g:1:645: T__117 { - mT__79(); + mT__117(); } break; - case 69 : - // InternalScope.g:1:418: T__80 + case 105 : + // InternalScope.g:1:652: T__118 { - mT__80(); + mT__118(); } break; - case 70 : - // InternalScope.g:1:424: T__81 + case 106 : + // InternalScope.g:1:659: T__119 { - mT__81(); + mT__119(); } break; - case 71 : - // InternalScope.g:1:430: T__82 + case 107 : + // InternalScope.g:1:666: T__120 { - mT__82(); + mT__120(); } break; - case 72 : - // InternalScope.g:1:436: T__83 + case 108 : + // InternalScope.g:1:673: T__121 { - mT__83(); + mT__121(); } break; - case 73 : - // InternalScope.g:1:442: T__84 + case 109 : + // InternalScope.g:1:680: T__122 { - mT__84(); + mT__122(); } break; - case 74 : - // InternalScope.g:1:448: T__85 + case 110 : + // InternalScope.g:1:687: RULE_REAL { - mT__85(); + mRULE_REAL(); } break; - case 75 : - // InternalScope.g:1:454: T__86 + case 111 : + // InternalScope.g:1:697: RULE_HEX { - mT__86(); + mRULE_HEX(); } break; - case 76 : - // InternalScope.g:1:460: RULE_REAL + case 112 : + // InternalScope.g:1:706: RULE_INT { - mRULE_REAL(); + mRULE_INT(); } break; - case 77 : - // InternalScope.g:1:470: RULE_ID + case 113 : + // InternalScope.g:1:715: RULE_DECIMAL { - mRULE_ID(); + mRULE_DECIMAL(); } break; - case 78 : - // InternalScope.g:1:478: RULE_INT + case 114 : + // InternalScope.g:1:728: RULE_ID { - mRULE_INT(); + mRULE_ID(); } break; - case 79 : - // InternalScope.g:1:487: RULE_STRING + case 115 : + // InternalScope.g:1:736: RULE_STRING { mRULE_STRING(); } break; - case 80 : - // InternalScope.g:1:499: RULE_ML_COMMENT + case 116 : + // InternalScope.g:1:748: RULE_ML_COMMENT { mRULE_ML_COMMENT(); } break; - case 81 : - // InternalScope.g:1:515: RULE_SL_COMMENT + case 117 : + // InternalScope.g:1:764: RULE_SL_COMMENT { mRULE_SL_COMMENT(); } break; - case 82 : - // InternalScope.g:1:531: RULE_WS + case 118 : + // InternalScope.g:1:780: RULE_WS { mRULE_WS(); } break; - case 83 : - // InternalScope.g:1:539: RULE_ANY_OTHER + case 119 : + // InternalScope.g:1:788: RULE_ANY_OTHER { mRULE_ANY_OTHER(); @@ -2824,112 +4168,86 @@ public void mTokens() throws RecognitionException { } - protected DFA14 dfa14 = new DFA14(this); - static final String DFA14_eotS = - "\1\uffff\1\61\1\63\1\66\1\70\1\uffff\1\73\1\uffff\1\77\15\102\11\uffff\3\102\1\153\1\155\1\156\1\102\1\uffff\1\102\1\57\1\164\1\57\1\uffff\2\57\22\uffff\2\102\1\uffff\26\102\1\u0097\1\102\1\u0099\11\uffff\5\102\6\uffff\1\102\1\uffff\1\102\2\uffff\1\164\2\uffff\20\102\1\u00b1\12\102\1\u00bc\3\102\1\uffff\1\102\1\uffff\1\u00c2\4\102\1\u00c7\3\102\1\u00cb\12\102\1\u00d7\2\102\1\uffff\1\u00da\3\102\1\u00de\1\u00df\1\u00e0\2\102\1\u00e3\1\uffff\4\102\1\u00e8\1\uffff\1\102\1\u00ea\2\102\1\uffff\3\102\1\uffff\4\102\1\u00f5\6\102\1\uffff\2\102\1\uffff\1\102\1\u00ff\1\102\3\uffff\2\102\1\uffff\4\102\1\uffff\1\102\1\uffff\5\102\1\u010e\1\102\1\u0110\2\102\1\uffff\1\u0113\1\u0114\1\102\1\u0116\1\102\1\u0118\1\102\1\u011a\1\u011b\1\uffff\4\102\1\u0120\1\u0121\1\102\1\u0123\3\102\1\u0127\1\u0128\1\102\1\uffff\1\102\1\uffff\1\u012b\1\u012c\2\uffff\1\102\1\uffff\1\102\1\uffff\1\102\2\uffff\1\u0130\3\102\2\uffff\1\u0134\1\uffff\1\u0135\1\u0136\1\102\2\uffff\2\102\2\uffff\3\102\1\uffff\3\102\3\uffff\2\102\1\u0142\1\u0143\1\u0144\1\u0145\3\102\1\u0149\1\102\4\uffff\1\u014b\1\u014c\1\102\1\uffff\1\u014e\2\uffff\1\u014f\2\uffff"; - static final String DFA14_eofS = - "\u0150\uffff"; - static final String DFA14_minS = - "\1\0\4\75\1\uffff\1\76\1\uffff\1\52\1\141\1\143\1\145\1\154\2\141\1\150\1\157\1\151\1\145\1\146\1\151\1\163\11\uffff\1\145\1\162\1\141\1\174\1\72\1\60\1\145\1\uffff\1\114\1\46\1\56\1\101\1\uffff\2\0\22\uffff\1\154\1\163\1\uffff\1\154\1\162\1\157\1\151\1\143\1\151\1\163\1\164\1\155\1\167\1\154\1\162\1\143\1\156\1\165\1\145\1\160\1\154\1\163\1\164\1\152\1\160\1\60\1\164\1\60\11\uffff\1\171\1\145\1\164\1\155\1\146\6\uffff\1\164\1\uffff\1\117\2\uffff\1\56\2\uffff\1\154\1\164\2\145\1\163\1\164\1\160\1\164\1\145\1\165\1\163\1\145\1\157\1\145\1\105\1\151\1\60\1\154\1\101\1\163\1\164\1\144\1\145\1\156\1\145\1\154\1\164\1\60\2\145\1\154\1\uffff\1\150\1\uffff\1\60\1\146\3\141\1\60\1\102\2\145\1\60\1\143\1\151\1\102\1\145\2\143\1\162\1\164\1\156\1\162\1\60\1\170\1\156\1\uffff\1\60\1\154\1\145\1\157\3\60\1\123\1\145\1\60\1\uffff\1\156\1\143\1\162\1\151\1\60\1\uffff\1\151\1\60\1\151\1\165\1\uffff\1\101\1\143\1\170\1\uffff\2\164\1\171\1\156\1\60\1\150\1\164\3\163\1\164\1\uffff\1\151\1\147\1\uffff\1\154\1\60\1\162\3\uffff\1\145\1\143\1\uffff\1\163\2\164\1\145\1\uffff\1\170\1\uffff\1\156\1\154\1\114\2\164\1\60\1\151\1\60\1\147\1\146\1\uffff\2\60\1\151\1\60\1\151\1\60\1\163\2\60\1\uffff\1\171\1\154\1\164\1\151\2\60\1\163\1\60\1\163\1\164\1\126\2\60\1\151\1\uffff\1\166\1\uffff\2\60\2\uffff\1\166\1\uffff\1\157\1\uffff\1\164\2\uffff\1\60\1\145\1\151\1\164\2\uffff\1\60\1\uffff\2\60\1\101\2\uffff\1\162\1\145\2\uffff\1\145\1\156\1\163\1\uffff\1\143\1\157\1\151\3\uffff\1\122\1\163\4\60\1\164\1\156\1\166\1\60\1\164\4\uffff\2\60\1\145\1\uffff\1\60\2\uffff\1\60\2\uffff"; - static final String DFA14_maxS = - "\1\uffff\2\75\1\76\1\75\1\uffff\1\76\1\uffff\1\57\1\157\1\167\1\145\1\170\1\165\1\157\1\171\1\157\1\151\1\145\1\156\1\151\1\163\11\uffff\1\145\1\162\1\157\1\174\1\72\1\71\1\145\1\uffff\1\114\1\46\1\71\1\172\1\uffff\2\uffff\22\uffff\1\156\1\163\1\uffff\1\156\1\162\1\157\1\151\1\152\1\164\1\163\1\164\1\155\1\167\1\154\1\162\1\154\1\156\1\165\1\145\1\160\1\154\1\163\1\164\1\163\1\160\1\172\1\164\1\172\11\uffff\1\171\1\145\1\164\1\155\1\146\6\uffff\1\164\1\uffff\1\117\2\uffff\1\71\2\uffff\1\154\1\164\2\145\1\163\1\164\1\160\1\164\1\145\1\165\1\163\1\145\1\157\1\145\1\105\1\151\1\172\1\154\1\101\1\163\1\164\1\144\1\145\1\156\1\145\1\154\1\164\1\172\2\145\1\157\1\uffff\1\150\1\uffff\1\172\1\146\3\141\1\172\1\102\2\145\1\172\1\143\1\151\1\102\1\151\2\143\1\162\1\164\1\156\1\162\1\172\1\170\1\156\1\uffff\1\172\1\154\1\145\1\157\3\172\1\123\1\145\1\172\1\uffff\1\156\1\143\1\162\1\151\1\172\1\uffff\1\151\1\172\1\151\1\165\1\uffff\1\101\1\143\1\170\1\uffff\2\164\1\171\1\156\1\172\1\150\1\164\3\163\1\164\1\uffff\1\151\1\147\1\uffff\1\154\1\172\1\162\3\uffff\1\145\1\143\1\uffff\1\163\2\164\1\145\1\uffff\1\170\1\uffff\1\156\1\154\1\114\2\164\1\172\1\151\1\172\1\147\1\146\1\uffff\2\172\1\151\1\172\1\151\1\172\1\163\2\172\1\uffff\1\171\1\154\1\164\1\151\2\172\1\163\1\172\1\163\1\164\1\126\2\172\1\151\1\uffff\1\166\1\uffff\2\172\2\uffff\1\166\1\uffff\1\157\1\uffff\1\164\2\uffff\1\172\1\145\1\151\1\164\2\uffff\1\172\1\uffff\2\172\1\101\2\uffff\1\162\1\145\2\uffff\1\145\1\156\1\163\1\uffff\1\143\1\157\1\151\3\uffff\1\122\1\163\4\172\1\164\1\156\1\166\1\172\1\164\4\uffff\2\172\1\145\1\uffff\1\172\2\uffff\1\172\2\uffff"; - static final String DFA14_acceptS = - "\5\uffff\1\7\1\uffff\1\11\16\uffff\1\42\1\43\1\46\1\50\1\51\1\52\1\55\1\56\1\61\7\uffff\1\75\4\uffff\1\115\2\uffff\1\122\1\123\1\1\1\45\1\2\1\13\1\3\1\54\1\5\1\4\1\6\1\7\1\74\1\10\1\11\1\120\1\121\1\12\2\uffff\1\115\31\uffff\1\42\1\43\1\46\1\50\1\51\1\52\1\55\1\56\1\61\5\uffff\1\107\1\67\1\70\1\73\1\71\1\114\1\uffff\1\75\1\uffff\1\110\1\116\1\uffff\1\117\1\122\37\uffff\1\76\1\uffff\1\36\27\uffff\1\104\12\uffff\1\30\5\uffff\1\63\4\uffff\1\72\3\uffff\1\44\13\uffff\1\100\2\uffff\1\113\3\uffff\1\62\1\24\1\77\2\uffff\1\27\4\uffff\1\34\1\uffff\1\65\12\uffff\1\47\11\uffff\1\25\16\uffff\1\15\1\uffff\1\22\2\uffff\1\101\1\17\1\uffff\1\20\1\uffff\1\106\1\uffff\1\41\1\23\4\uffff\1\40\1\35\1\uffff\1\64\3\uffff\1\14\1\53\2\uffff\1\33\1\60\3\uffff\1\57\3\uffff\1\111\1\66\1\102\13\uffff\1\31\1\105\1\37\1\21\3\uffff\1\103\1\uffff\1\112\1\26\1\uffff\1\16\1\32"; - static final String DFA14_specialS = - "\1\1\53\uffff\1\0\1\2\u0122\uffff}>"; - static final String[] DFA14_transitionS = { - "\11\57\2\56\2\57\1\56\22\57\1\56\1\2\1\54\1\33\2\57\1\50\1\55\1\31\1\32\1\7\1\5\1\36\1\6\1\44\1\10\12\51\1\43\1\30\1\4\1\1\1\3\1\46\1\57\2\53\1\20\3\53\1\47\4\53\1\21\6\53\1\22\7\53\1\34\1\57\1\35\1\52\1\53\1\57\1\25\1\53\1\11\1\41\1\14\1\16\2\53\1\23\1\53\1\37\1\45\1\53\1\15\1\53\1\40\1\53\1\13\1\12\1\17\2\53\1\24\3\53\1\26\1\42\1\27\uff82\57", - "\1\60", - "\1\62", - "\1\64\1\65", - "\1\67", - "", + protected DFA23 dfa23 = new DFA23(this); + static final String DFA23_eotS = + "\1\uffff\1\65\1\67\1\71\1\73\1\76\1\101\1\104\1\110\1\113\1\117\12\122\1\153\1\155\1\161\4\122\11\uffff\3\122\1\u0088\2\122\2\u008d\1\62\5\uffff\1\u0093\6\uffff\1\u0095\25\uffff\2\122\1\uffff\27\122\2\uffff\1\u00ba\5\uffff\3\122\1\u00c0\2\122\1\u00c3\11\uffff\3\122\1\u00c8\1\122\2\uffff\2\122\1\uffff\1\u008d\2\uffff\1\u008d\6\uffff\25\122\1\u00e1\1\122\1\u00e4\4\122\1\u00ea\5\122\1\u00f0\2\uffff\1\u00f1\1\u00f2\3\122\1\uffff\2\122\1\uffff\1\u00fa\3\122\1\uffff\1\122\1\u00ff\3\122\1\u0103\17\122\1\u0114\2\122\1\uffff\1\u0117\1\122\1\uffff\2\122\1\u011b\1\122\1\u011d\1\uffff\1\u011e\3\122\1\u0123\3\uffff\5\122\1\u0129\1\122\1\uffff\1\122\1\u012c\2\122\1\uffff\3\122\1\uffff\1\u0132\4\122\1\u0137\1\122\1\u013a\10\122\1\uffff\2\122\1\uffff\1\122\1\u0147\1\122\1\uffff\1\122\2\uffff\1\u014a\3\122\1\uffff\5\122\1\uffff\1\u0153\1\122\1\uffff\5\122\1\uffff\1\u015b\1\122\1\u015d\1\u015e\1\uffff\2\122\1\uffff\1\u0161\1\122\1\u0163\1\u0164\1\122\1\u0166\2\122\1\u0169\1\122\1\u016b\1\u016c\1\uffff\2\122\1\uffff\1\u016f\2\122\1\u0172\3\122\1\u0176\1\uffff\1\u0177\3\122\1\u017b\1\u017c\1\122\1\uffff\1\122\2\uffff\1\u017f\1\u0180\1\uffff\1\122\2\uffff\1\122\1\uffff\1\u0183\1\122\1\uffff\1\122\2\uffff\1\u0186\1\u0187\1\uffff\2\122\1\uffff\1\u018a\2\122\2\uffff\1\u018d\1\u018e\1\122\2\uffff\2\122\2\uffff\2\122\1\uffff\2\122\2\uffff\2\122\1\uffff\2\122\2\uffff\2\122\1\u019c\1\122\1\u019e\1\u019f\1\u01a0\4\122\1\u01a5\1\122\1\uffff\1\122\3\uffff\1\u01a8\1\u01a9\1\122\1\u01ab\1\uffff\1\u01ac\1\122\2\uffff\1\u01ae\2\uffff\1\u01af\2\uffff"; + static final String DFA23_eofS = + "\u01b0\uffff"; + static final String DFA23_minS = + "\1\0\1\75\1\174\1\46\3\75\1\53\1\55\2\52\1\141\1\143\1\145\1\154\2\141\1\150\1\157\1\151\1\145\1\75\2\56\1\141\1\146\1\150\1\163\11\uffff\1\145\1\162\1\141\1\72\1\145\1\114\2\56\1\44\5\uffff\1\75\6\uffff\1\75\25\uffff\1\154\1\163\1\uffff\1\154\1\162\1\141\1\160\1\157\1\151\1\156\1\143\1\151\1\163\1\164\1\155\1\167\1\154\1\162\1\143\1\156\1\165\1\145\1\160\1\154\1\163\1\164\2\uffff\1\74\5\uffff\1\154\1\160\1\152\1\44\1\164\1\151\1\44\11\uffff\1\171\1\145\1\164\1\44\1\146\2\uffff\1\164\1\117\1\uffff\1\56\2\uffff\1\60\6\uffff\1\154\1\164\1\145\1\143\1\145\1\163\2\164\1\145\1\160\1\164\1\143\1\145\2\165\1\163\1\145\1\157\1\145\1\105\1\151\1\44\1\154\1\44\1\163\1\164\1\141\1\145\1\44\1\156\1\157\1\145\1\154\1\164\1\44\2\uffff\2\44\1\154\2\145\1\uffff\1\150\1\154\1\uffff\1\44\1\146\2\141\1\uffff\1\141\1\44\1\102\2\145\1\44\1\150\1\143\1\151\1\102\1\151\1\162\1\145\1\143\1\150\1\143\2\162\1\164\1\156\1\162\1\44\1\170\1\156\1\uffff\1\44\1\154\1\uffff\1\145\1\157\1\44\1\154\1\44\1\uffff\1\44\1\167\1\123\1\145\1\44\3\uffff\1\162\1\151\1\156\1\141\1\143\1\44\1\145\1\uffff\1\151\1\44\1\151\1\165\1\uffff\1\101\1\143\1\170\1\uffff\1\44\2\164\1\171\1\143\1\44\1\156\1\44\1\150\1\162\1\164\1\156\2\163\1\144\1\164\1\uffff\1\151\1\147\1\uffff\1\154\1\44\1\162\1\uffff\1\154\2\uffff\1\44\1\146\1\145\1\143\1\uffff\1\164\1\145\1\163\1\156\1\164\1\uffff\1\44\1\170\1\uffff\1\156\1\154\1\114\2\164\1\uffff\1\44\1\151\2\44\1\uffff\1\147\1\146\1\uffff\1\44\1\157\2\44\1\151\1\44\1\163\1\151\1\44\1\163\2\44\1\uffff\2\171\1\uffff\1\44\1\154\1\164\1\44\1\163\1\151\1\143\1\44\1\uffff\1\44\1\163\1\164\1\126\2\44\1\151\1\uffff\1\166\2\uffff\2\44\1\uffff\1\156\2\uffff\1\166\1\uffff\1\44\1\157\1\uffff\1\164\2\uffff\2\44\1\uffff\1\145\1\151\1\uffff\1\44\1\164\1\145\2\uffff\2\44\1\101\2\uffff\1\162\1\145\2\uffff\1\151\1\145\1\uffff\1\156\1\163\2\uffff\1\143\1\157\1\uffff\1\151\1\157\2\uffff\1\122\1\163\1\44\1\172\3\44\1\164\1\156\1\166\1\146\1\44\1\164\1\uffff\1\145\3\uffff\2\44\1\145\1\44\1\uffff\1\44\1\144\2\uffff\1\44\2\uffff\1\44\2\uffff"; + static final String DFA23_maxS = + "\1\uffff\1\76\1\174\1\46\1\75\2\76\1\75\1\76\2\75\1\157\1\171\1\145\1\170\1\165\1\157\1\171\1\157\1\151\1\145\1\75\1\71\1\72\1\141\1\156\1\151\1\163\11\uffff\1\145\1\162\1\157\1\72\1\145\1\114\1\170\1\154\1\172\5\uffff\1\75\6\uffff\1\75\25\uffff\1\156\1\164\1\uffff\1\156\1\162\1\141\1\160\1\157\1\151\1\156\2\164\1\163\1\164\1\155\1\167\1\154\1\162\1\154\1\156\1\171\1\162\1\160\1\154\1\163\1\164\2\uffff\1\74\5\uffff\1\162\1\160\1\163\1\172\1\164\1\151\1\172\11\uffff\1\171\1\145\1\164\1\172\1\146\2\uffff\1\164\1\117\1\uffff\1\154\2\uffff\1\154\6\uffff\1\154\1\164\1\145\1\143\1\145\1\163\2\164\1\145\1\160\1\164\1\143\1\145\2\165\1\163\1\145\1\157\1\145\1\105\1\151\1\172\1\154\1\172\1\163\1\164\1\144\1\145\1\172\1\156\1\157\1\145\1\154\1\164\1\172\2\uffff\2\172\1\157\1\164\1\145\1\uffff\1\150\1\154\1\uffff\1\172\1\146\2\141\1\uffff\1\141\1\172\1\102\2\145\1\172\1\150\1\143\1\151\1\102\1\151\1\162\1\151\1\143\1\150\1\143\2\162\1\164\1\156\1\162\1\172\1\170\1\156\1\uffff\1\172\1\154\1\uffff\1\145\1\157\1\172\1\154\1\172\1\uffff\1\172\1\167\1\157\1\145\1\172\3\uffff\1\162\1\151\1\156\1\141\1\143\1\172\1\145\1\uffff\1\151\1\172\1\151\1\165\1\uffff\1\101\1\143\1\170\1\uffff\1\172\2\164\1\171\1\143\1\172\1\156\1\172\1\150\1\162\1\164\1\156\3\163\1\164\1\uffff\1\151\1\147\1\uffff\1\154\1\172\1\162\1\uffff\1\154\2\uffff\1\172\1\146\1\145\1\143\1\uffff\1\164\1\145\1\163\1\156\1\164\1\uffff\1\172\1\170\1\uffff\1\156\1\154\1\114\2\164\1\uffff\1\172\1\151\2\172\1\uffff\1\147\1\146\1\uffff\1\172\1\157\2\172\1\151\1\172\1\163\1\151\1\172\1\163\2\172\1\uffff\2\171\1\uffff\1\172\1\154\1\164\1\172\1\163\1\151\1\143\1\172\1\uffff\1\172\1\163\1\164\1\126\2\172\1\151\1\uffff\1\166\2\uffff\2\172\1\uffff\1\156\2\uffff\1\166\1\uffff\1\172\1\157\1\uffff\1\164\2\uffff\2\172\1\uffff\1\145\1\151\1\uffff\1\172\1\164\1\145\2\uffff\2\172\1\101\2\uffff\1\162\1\145\2\uffff\1\151\1\145\1\uffff\1\156\1\163\2\uffff\1\143\1\157\1\uffff\1\151\1\157\2\uffff\1\122\1\163\5\172\1\164\1\156\1\166\1\146\1\172\1\164\1\uffff\1\145\3\uffff\2\172\1\145\1\172\1\uffff\1\172\1\144\2\uffff\1\172\2\uffff\1\172\2\uffff"; + static final String DFA23_acceptS = + "\34\uffff\1\73\1\74\1\76\1\100\1\101\1\102\1\105\1\106\1\111\11\uffff\1\162\2\163\1\166\1\167\1\uffff\1\46\1\1\1\2\1\117\1\3\1\147\1\uffff\1\16\1\6\1\104\1\10\1\7\1\47\1\11\1\34\1\53\1\12\1\35\1\43\1\54\1\13\1\36\1\51\1\14\1\37\1\164\1\165\1\15\2\uffff\1\162\27\uffff\1\40\1\52\1\uffff\1\55\1\156\1\50\1\154\1\123\7\uffff\1\73\1\74\1\76\1\100\1\101\1\102\1\105\1\106\1\111\5\uffff\1\120\1\122\2\uffff\1\157\1\uffff\1\160\1\161\1\uffff\1\163\1\166\1\41\1\4\1\42\1\5\43\uffff\1\44\1\45\5\uffff\1\124\2\uffff\1\70\4\uffff\1\136\30\uffff\1\132\2\uffff\1\134\5\uffff\1\143\5\uffff\1\33\1\56\1\155\7\uffff\1\113\4\uffff\1\121\3\uffff\1\75\20\uffff\1\126\2\uffff\1\137\3\uffff\1\112\1\uffff\1\27\1\125\4\uffff\1\32\5\uffff\1\67\2\uffff\1\115\5\uffff\1\146\4\uffff\1\63\2\uffff\1\77\14\uffff\1\30\2\uffff\1\141\10\uffff\1\135\7\uffff\1\20\1\uffff\1\25\1\60\2\uffff\1\127\1\uffff\1\22\1\142\1\uffff\1\23\2\uffff\1\151\1\uffff\1\72\1\26\2\uffff\1\140\2\uffff\1\61\3\uffff\1\71\1\114\3\uffff\1\17\1\103\2\uffff\1\66\1\110\2\uffff\1\57\2\uffff\1\107\1\144\2\uffff\1\152\2\uffff\1\116\1\130\15\uffff\1\64\1\uffff\1\150\1\62\1\24\4\uffff\1\131\2\uffff\1\153\1\31\1\uffff\1\133\1\21\1\uffff\1\65\1\145"; + static final String DFA23_specialS = + "\1\0\u01af\uffff}>"; + static final String[] DFA23_transitionS = { + "\11\62\2\61\2\62\1\61\22\62\1\61\1\4\1\57\1\41\1\56\1\25\1\3\1\60\1\37\1\40\1\11\1\7\1\44\1\10\1\26\1\12\1\53\11\54\1\50\1\36\1\6\1\1\1\5\1\27\1\62\2\56\1\22\3\56\1\52\4\56\1\23\6\56\1\24\7\56\1\42\1\62\1\43\1\55\1\56\1\62\1\33\1\56\1\13\1\47\1\16\1\20\2\56\1\31\1\56\1\45\1\51\1\56\1\17\1\56\1\46\1\56\1\15\1\14\1\21\1\56\1\30\1\32\3\56\1\34\1\2\1\35\uff82\62", + "\1\63\1\64", + "\1\66", + "\1\70", "\1\72", - "", - "\1\75\4\uffff\1\76", - "\1\101\15\uffff\1\100", - "\1\105\1\uffff\1\103\11\uffff\1\104\7\uffff\1\106", - "\1\107", - "\1\111\13\uffff\1\110", - "\1\113\3\uffff\1\114\11\uffff\1\112\5\uffff\1\115", - "\1\117\7\uffff\1\120\5\uffff\1\116", - "\1\122\11\uffff\1\121\6\uffff\1\123", - "\1\124", - "\1\125", - "\1\126", - "\1\131\6\uffff\1\130\1\127", + "\1\74\1\75", + "\1\77\1\100", + "\1\103\21\uffff\1\102", + "\1\107\17\uffff\1\105\1\106", + "\1\112\22\uffff\1\111", + "\1\115\4\uffff\1\116\15\uffff\1\114", + "\1\121\15\uffff\1\120", + "\1\127\1\uffff\1\123\11\uffff\1\124\4\uffff\1\125\1\126\1\uffff\1\130\1\uffff\1\131", "\1\132", - "\1\133", - "", - "", - "", + "\1\134\13\uffff\1\133", + "\1\136\3\uffff\1\137\11\uffff\1\135\5\uffff\1\140", + "\1\142\7\uffff\1\143\5\uffff\1\141", + "\1\145\11\uffff\1\144\6\uffff\1\146", + "\1\147", + "\1\150", + "\1\151", + "\1\152", + "\1\154\1\uffff\12\156", + "\1\160\13\uffff\1\157", + "\1\162", + "\1\165\6\uffff\1\163\1\164", + "\1\167\1\166", + "\1\170", "", "", "", "", "", "", - "\1\145", - "\1\146", - "\1\147\3\uffff\1\151\11\uffff\1\150", - "\1\152", - "\1\154", - "\12\157", - "\1\160", "", - "\1\162", - "\1\163", - "\1\157\1\uffff\12\165", - "\32\102\4\uffff\1\102\1\uffff\32\102", "", - "\0\166", - "\0\166", "", + "\1\u0082", + "\1\u0083", + "\1\u0084\3\uffff\1\u0086\11\uffff\1\u0085", + "\1\u0087", + "\1\u0089", + "\1\u008a", + "\1\156\1\uffff\12\u008c\10\uffff\1\u008e\1\uffff\3\u008e\5\uffff\1\u008e\13\uffff\1\u008b\6\uffff\1\u008f\2\uffff\1\u008e\1\uffff\3\u008e\5\uffff\1\u008e\13\uffff\1\u008b", + "\1\156\1\uffff\12\u008c\10\uffff\1\u008e\1\uffff\3\u008e\5\uffff\1\u008e\22\uffff\1\u008f\2\uffff\1\u008e\1\uffff\3\u008e\5\uffff\1\u008e", + "\1\122\34\uffff\32\122\4\uffff\1\122\1\uffff\32\122", "", "", "", "", "", + "\1\u0092", "", "", "", "", "", "", + "\1\u0094", "", "", "", "", "", "", - "\1\170\1\uffff\1\171", - "\1\172", "", - "\1\173\1\uffff\1\174", - "\1\175", - "\1\176", - "\1\177", - "\1\u0081\6\uffff\1\u0080", - "\1\u0082\6\uffff\1\u0084\3\uffff\1\u0083", - "\1\u0085", - "\1\u0086", - "\1\u0087", - "\1\u0088", - "\1\u0089", - "\1\u008a", - "\1\u008c\10\uffff\1\u008b", - "\1\u008d", - "\1\u008e", - "\1\u008f", - "\1\u0090", - "\1\u0091", - "\1\u0092", - "\1\u0093", - "\1\u0095\10\uffff\1\u0094", - "\1\u0096", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\1\u0098", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", "", "", "", @@ -2939,402 +4257,510 @@ public void mTokens() throws RecognitionException { "", "", "", - "\1\u009a", - "\1\u009b", - "\1\u009c", - "\1\u009d", - "\1\u009e", "", "", "", "", "", + "\1\u0096\1\uffff\1\u0097", + "\1\u0098\1\u0099", "", + "\1\u009a\1\uffff\1\u009b", + "\1\u009c", + "\1\u009d", + "\1\u009e", "\1\u009f", - "", "\1\u00a0", - "", - "", - "\1\157\1\uffff\12\165", - "", - "", "\1\u00a1", - "\1\u00a2", - "\1\u00a3", - "\1\u00a4", - "\1\u00a5", - "\1\u00a6", - "\1\u00a7", + "\1\u00a4\6\uffff\1\u00a2\11\uffff\1\u00a3", + "\1\u00a5\6\uffff\1\u00a7\3\uffff\1\u00a6", "\1\u00a8", "\1\u00a9", "\1\u00aa", "\1\u00ab", "\1\u00ac", "\1\u00ad", - "\1\u00ae", - "\1\u00af", + "\1\u00af\10\uffff\1\u00ae", "\1\u00b0", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\1\u00b2", - "\1\u00b3", - "\1\u00b4", + "\1\u00b1\3\uffff\1\u00b2", + "\1\u00b3\14\uffff\1\u00b4", "\1\u00b5", "\1\u00b6", "\1\u00b7", "\1\u00b8", + "", + "", "\1\u00b9", - "\1\u00ba", - "\1\u00bb", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\1\u00bd", - "\1\u00be", - "\1\u00c0\2\uffff\1\u00bf", "", + "", + "", + "", + "", + "\1\u00bb\5\uffff\1\u00bc", + "\1\u00bd", + "\1\u00bf\10\uffff\1\u00be", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", "\1\u00c1", + "\1\u00c2", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "", + "", + "", + "", + "", + "", + "", + "", "", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\1\u00c3", "\1\u00c4", "\1\u00c5", "\1\u00c6", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\1\u00c8", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\14\122\1\u00c7\15\122", "\1\u00c9", + "", + "", "\1\u00ca", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", + "\1\u00cb", + "", + "\1\156\1\uffff\12\u008c\10\uffff\1\u008e\1\uffff\3\u008e\5\uffff\1\u008e\22\uffff\1\u008f\2\uffff\1\u008e\1\uffff\3\u008e\5\uffff\1\u008e", + "", + "", + "\12\u008f\10\uffff\1\u008e\1\uffff\3\u008e\5\uffff\1\u008e\22\uffff\1\u008f\2\uffff\1\u008e\1\uffff\3\u008e\5\uffff\1\u008e", + "", + "", + "", + "", + "", + "", "\1\u00cc", "\1\u00cd", "\1\u00ce", - "\1\u00d0\3\uffff\1\u00cf", + "\1\u00cf", + "\1\u00d0", "\1\u00d1", "\1\u00d2", "\1\u00d3", "\1\u00d4", "\1\u00d5", "\1\u00d6", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", + "\1\u00d7", "\1\u00d8", "\1\u00d9", - "", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", + "\1\u00da", "\1\u00db", "\1\u00dc", "\1\u00dd", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\1\u00e1", + "\1\u00de", + "\1\u00df", + "\1\u00e0", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", "\1\u00e2", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "", - "\1\u00e4", + "\1\122\13\uffff\12\122\7\uffff\1\u00e3\31\122\4\uffff\1\122\1\uffff\32\122", "\1\u00e5", "\1\u00e6", - "\1\u00e7", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "", + "\1\u00e8\2\uffff\1\u00e7", "\1\u00e9", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", "\1\u00eb", "\1\u00ec", - "", "\1\u00ed", "\1\u00ee", "\1\u00ef", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "", "", - "\1\u00f0", - "\1\u00f1", - "\1\u00f2", - "\1\u00f3", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\16\102\1\u00f4\13\102", - "\1\u00f6", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u00f4\2\uffff\1\u00f3", + "\1\u00f5\16\uffff\1\u00f6", "\1\u00f7", + "", "\1\u00f8", "\1\u00f9", - "\1\u00fa", - "\1\u00fb", "", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u00fb", "\1\u00fc", "\1\u00fd", "", "\1\u00fe", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", "\1\u0100", - "", - "", - "", "\1\u0101", "\1\u0102", - "", - "\1\u0103", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", "\1\u0104", "\1\u0105", "\1\u0106", - "", "\1\u0107", - "", "\1\u0108", "\1\u0109", - "\1\u010a", - "\1\u010b", + "\1\u010b\3\uffff\1\u010a", "\1\u010c", - "\12\102\7\uffff\5\102\1\u010d\24\102\4\uffff\1\102\1\uffff\32\102", + "\1\u010d", + "\1\u010e", "\1\u010f", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", + "\1\u0110", "\1\u0111", "\1\u0112", - "", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", + "\1\u0113", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", "\1\u0115", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\1\u0117", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\1\u0119", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", + "\1\u0116", + "", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u0118", "", + "\1\u0119", + "\1\u011a", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", "\1\u011c", - "\1\u011d", - "\1\u011e", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", "\1\u011f", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", + "\1\u0121\33\uffff\1\u0120", "\1\u0122", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "", + "", + "", "\1\u0124", "\1\u0125", "\1\u0126", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\1\u0129", - "", + "\1\u0127", + "\1\u0128", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", "\1\u012a", "", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "", - "", + "\1\u012b", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", "\1\u012d", - "", "\1\u012e", "", "\1\u012f", - "", - "", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", + "\1\u0130", "\1\u0131", - "\1\u0132", + "", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", "\1\u0133", + "\1\u0134", + "\1\u0135", + "\1\u0136", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u0138", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\16\122\1\u0139\13\122", + "\1\u013b", + "\1\u013c", + "\1\u013d", + "\1\u013e", + "\1\u013f", + "\1\u0140", + "\1\u0141\16\uffff\1\u0142", + "\1\u0143", "", + "\1\u0144", + "\1\u0145", "", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", + "\1\u0146", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u0148", "", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\1\u0137", + "\1\u0149", "", "", - "\1\u0138", - "\1\u0139", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u014b", + "\1\u014c", + "\1\u014d", "", + "\1\u014e", + "\1\u014f", + "\1\u0150", + "\1\u0151", + "\1\u0152", "", - "\1\u013a", - "\1\u013b", - "\1\u013c", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u0154", "", - "\1\u013d", - "\1\u013e", - "\1\u013f", + "\1\u0155", + "\1\u0156", + "\1\u0157", + "\1\u0158", + "\1\u0159", "", + "\1\122\13\uffff\12\122\7\uffff\5\122\1\u015a\24\122\4\uffff\1\122\1\uffff\32\122", + "\1\u015c", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", "", + "\1\u015f", + "\1\u0160", "", - "\1\u0140", - "\1\u0141", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\1\u0146", - "\1\u0147", - "\1\u0148", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\1\u014a", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u0162", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u0165", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u0167", + "\1\u0168", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u016a", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", "", + "\1\u016d", + "\1\u016e", "", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u0170", + "\1\u0171", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u0173", + "\1\u0174", + "\1\u0175", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", "", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u0178", + "\1\u0179", + "\1\u017a", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u017d", "", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", - "\1\u014d", + "\1\u017e", + "", + "", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "", + "\1\u0181", + "", + "", + "\1\u0182", + "", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u0184", "", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", + "\1\u0185", "", "", - "\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "", + "\1\u0188", + "\1\u0189", + "", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u018b", + "\1\u018c", + "", + "", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u018f", + "", + "", + "\1\u0190", + "\1\u0191", + "", + "", + "\1\u0192", + "\1\u0193", + "", + "\1\u0194", + "\1\u0195", + "", + "", + "\1\u0196", + "\1\u0197", + "", + "\1\u0198", + "\1\u0199", + "", + "", + "\1\u019a", + "\1\u019b", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u019d", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u01a1", + "\1\u01a2", + "\1\u01a3", + "\1\u01a4", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u01a6", + "", + "\1\u01a7", + "", + "", + "", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u01aa", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "\1\u01ad", + "", + "", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", + "", + "", + "\1\122\13\uffff\12\122\7\uffff\32\122\4\uffff\1\122\1\uffff\32\122", "", "" }; - 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 final short[] DFA23_eot = DFA.unpackEncodedString(DFA23_eotS); + static final short[] DFA23_eof = DFA.unpackEncodedString(DFA23_eofS); + static final char[] DFA23_min = DFA.unpackEncodedStringToUnsignedChars(DFA23_minS); + static final char[] DFA23_max = DFA.unpackEncodedStringToUnsignedChars(DFA23_maxS); + static final short[] DFA23_accept = DFA.unpackEncodedString(DFA23_acceptS); + static final short[] DFA23_special = DFA.unpackEncodedString(DFA23_specialS); + static final short[][] DFA23_transition; static { - int numStates = DFA14_transitionS.length; - DFA14_transition = new short[numStates][]; + int numStates = DFA23_transitionS.length; + DFA23_transition = new short[numStates][]; for (int i=0; i='\u0000' && LA14_44<='\uFFFF')) ) {s = 118;} - - else s = 47; - - if ( s>=0 ) return s; - break; - case 1 : - int LA14_0 = input.LA(1); + int LA23_0 = input.LA(1); s = -1; - if ( (LA14_0=='=') ) {s = 1;} + if ( (LA23_0=='=') ) {s = 1;} - else if ( (LA14_0=='!') ) {s = 2;} + else if ( (LA23_0=='|') ) {s = 2;} - else if ( (LA14_0=='>') ) {s = 3;} + else if ( (LA23_0=='&') ) {s = 3;} - else if ( (LA14_0=='<') ) {s = 4;} + else if ( (LA23_0=='!') ) {s = 4;} - else if ( (LA14_0=='+') ) {s = 5;} + else if ( (LA23_0=='>') ) {s = 5;} - else if ( (LA14_0=='-') ) {s = 6;} + else if ( (LA23_0=='<') ) {s = 6;} - else if ( (LA14_0=='*') ) {s = 7;} + else if ( (LA23_0=='+') ) {s = 7;} - else if ( (LA14_0=='/') ) {s = 8;} + else if ( (LA23_0=='-') ) {s = 8;} - else if ( (LA14_0=='c') ) {s = 9;} + else if ( (LA23_0=='*') ) {s = 9;} - else if ( (LA14_0=='s') ) {s = 10;} + else if ( (LA23_0=='/') ) {s = 10;} - else if ( (LA14_0=='r') ) {s = 11;} + else if ( (LA23_0=='c') ) {s = 11;} - else if ( (LA14_0=='e') ) {s = 12;} + else if ( (LA23_0=='s') ) {s = 12;} - else if ( (LA14_0=='n') ) {s = 13;} + else if ( (LA23_0=='r') ) {s = 13;} - else if ( (LA14_0=='f') ) {s = 14;} + else if ( (LA23_0=='e') ) {s = 14;} - else if ( (LA14_0=='t') ) {s = 15;} + else if ( (LA23_0=='n') ) {s = 15;} - else if ( (LA14_0=='C') ) {s = 16;} + else if ( (LA23_0=='f') ) {s = 16;} - else if ( (LA14_0=='L') ) {s = 17;} + else if ( (LA23_0=='t') ) {s = 17;} - else if ( (LA14_0=='S') ) {s = 18;} + else if ( (LA23_0=='C') ) {s = 18;} - else if ( (LA14_0=='i') ) {s = 19;} + else if ( (LA23_0=='L') ) {s = 19;} - else if ( (LA14_0=='w') ) {s = 20;} + else if ( (LA23_0=='S') ) {s = 20;} - else if ( (LA14_0=='a') ) {s = 21;} + else if ( (LA23_0=='%') ) {s = 21;} - else if ( (LA14_0=='{') ) {s = 22;} + else if ( (LA23_0=='.') ) {s = 22;} - else if ( (LA14_0=='}') ) {s = 23;} + else if ( (LA23_0=='?') ) {s = 23;} - else if ( (LA14_0==';') ) {s = 24;} + else if ( (LA23_0=='v') ) {s = 24;} - else if ( (LA14_0=='(') ) {s = 25;} + else if ( (LA23_0=='i') ) {s = 25;} - else if ( (LA14_0==')') ) {s = 26;} + else if ( (LA23_0=='w') ) {s = 26;} - else if ( (LA14_0=='#') ) {s = 27;} + else if ( (LA23_0=='a') ) {s = 27;} - else if ( (LA14_0=='[') ) {s = 28;} + else if ( (LA23_0=='{') ) {s = 28;} - else if ( (LA14_0==']') ) {s = 29;} + else if ( (LA23_0=='}') ) {s = 29;} - else if ( (LA14_0==',') ) {s = 30;} + else if ( (LA23_0==';') ) {s = 30;} - else if ( (LA14_0=='k') ) {s = 31;} + else if ( (LA23_0=='(') ) {s = 31;} - else if ( (LA14_0=='p') ) {s = 32;} + else if ( (LA23_0==')') ) {s = 32;} - else if ( (LA14_0=='d') ) {s = 33;} + else if ( (LA23_0=='#') ) {s = 33;} - else if ( (LA14_0=='|') ) {s = 34;} + else if ( (LA23_0=='[') ) {s = 34;} - else if ( (LA14_0==':') ) {s = 35;} + else if ( (LA23_0==']') ) {s = 35;} - else if ( (LA14_0=='.') ) {s = 36;} + else if ( (LA23_0==',') ) {s = 36;} - else if ( (LA14_0=='l') ) {s = 37;} + else if ( (LA23_0=='k') ) {s = 37;} - else if ( (LA14_0=='?') ) {s = 38;} + else if ( (LA23_0=='p') ) {s = 38;} - else if ( (LA14_0=='G') ) {s = 39;} + else if ( (LA23_0=='d') ) {s = 39;} - else if ( (LA14_0=='&') ) {s = 40;} + else if ( (LA23_0==':') ) {s = 40;} - else if ( ((LA14_0>='0' && LA14_0<='9')) ) {s = 41;} + else if ( (LA23_0=='l') ) {s = 41;} - else if ( (LA14_0=='^') ) {s = 42;} + else if ( (LA23_0=='G') ) {s = 42;} - else if ( ((LA14_0>='A' && LA14_0<='B')||(LA14_0>='D' && LA14_0<='F')||(LA14_0>='H' && LA14_0<='K')||(LA14_0>='M' && LA14_0<='R')||(LA14_0>='T' && LA14_0<='Z')||LA14_0=='_'||LA14_0=='b'||(LA14_0>='g' && LA14_0<='h')||LA14_0=='j'||LA14_0=='m'||LA14_0=='o'||LA14_0=='q'||(LA14_0>='u' && LA14_0<='v')||(LA14_0>='x' && LA14_0<='z')) ) {s = 43;} + else if ( (LA23_0=='0') ) {s = 43;} - else if ( (LA14_0=='\"') ) {s = 44;} + else if ( ((LA23_0>='1' && LA23_0<='9')) ) {s = 44;} - else if ( (LA14_0=='\'') ) {s = 45;} + else if ( (LA23_0=='^') ) {s = 45;} - else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 46;} + else if ( (LA23_0=='$'||(LA23_0>='A' && LA23_0<='B')||(LA23_0>='D' && LA23_0<='F')||(LA23_0>='H' && LA23_0<='K')||(LA23_0>='M' && LA23_0<='R')||(LA23_0>='T' && LA23_0<='Z')||LA23_0=='_'||LA23_0=='b'||(LA23_0>='g' && LA23_0<='h')||LA23_0=='j'||LA23_0=='m'||LA23_0=='o'||LA23_0=='q'||LA23_0=='u'||(LA23_0>='x' && LA23_0<='z')) ) {s = 46;} - 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<='\uFFFF')) ) {s = 47;} + else if ( (LA23_0=='\"') ) {s = 47;} - if ( s>=0 ) return s; - break; - case 2 : - int LA14_45 = input.LA(1); + else if ( (LA23_0=='\'') ) {s = 48;} - s = -1; - if ( ((LA14_45>='\u0000' && LA14_45<='\uFFFF')) ) {s = 118;} + else if ( ((LA23_0>='\t' && LA23_0<='\n')||LA23_0=='\r'||LA23_0==' ') ) {s = 49;} - else s = 47; + else if ( ((LA23_0>='\u0000' && LA23_0<='\b')||(LA23_0>='\u000B' && LA23_0<='\f')||(LA23_0>='\u000E' && LA23_0<='\u001F')||LA23_0=='@'||LA23_0=='\\'||LA23_0=='`'||(LA23_0>='~' && LA23_0<='\uFFFF')) ) {s = 50;} if ( s>=0 ) return s; break; } NoViableAltException nvae = - new NoViableAltException(getDescription(), 14, _s, input); + new NoViableAltException(getDescription(), 23, _s, input); error(nvae); throw nvae; } diff --git a/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/internal/InternalScopeParser.java b/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/internal/InternalScopeParser.java index 5d87d59fed..33c95c1a13 100644 --- a/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/internal/InternalScopeParser.java +++ b/com.avaloq.tools.ddk.xtext.scope.ide/src-gen/com/avaloq/tools/ddk/xtext/scope/ide/contentassist/antlr/internal/InternalScopeParser.java @@ -23,21 +23,14 @@ @SuppressWarnings("all") public class InternalScopeParser extends AbstractInternalContentAssistParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_REAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'+'", "'-'", "'*'", "'/'", "'!'", "'collect'", "'select'", "'selectFirst'", "'reject'", "'exists'", "'notExists'", "'sortBy'", "'forAll'", "'true'", "'false'", "'Collection'", "'List'", "'Set'", "'sensitive'", "'insensitive'", "'scoping'", "'with'", "'import'", "'as'", "'extension'", "'inject'", "'naming'", "'{'", "'}'", "'case'", "'='", "';'", "'scope'", "'('", "')'", "'#'", "'context'", "'>>'", "'['", "']'", "'factory'", "'scopeof'", "','", "'find'", "'key'", "'prefix'", "'data'", "'domains'", "'|'", "'::'", "'.'", "'let'", "':'", "'->'", "'?'", "'if'", "'then'", "'else'", "'switch'", "'default'", "'GLOBALVAR'", "'new'", "'recursive'", "'export'", "'||'", "'&&'", "'implies'", "'typeSelect'", "'null'" + "", "", "", "", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_STRING", "RULE_REAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'='", "'||'", "'&&'", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'+'", "'-'", "'*'", "'/'", "'!'", "'collect'", "'select'", "'selectFirst'", "'reject'", "'exists'", "'notExists'", "'sortBy'", "'forAll'", "'true'", "'false'", "'Collection'", "'List'", "'Set'", "'+='", "'-='", "'*='", "'/='", "'%='", "'==='", "'!=='", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'**'", "'%'", "'++'", "'--'", "'.'", "'val'", "'extends'", "'static'", "'import'", "'extension'", "'super'", "'sensitive'", "'insensitive'", "'scoping'", "'with'", "'as'", "'inject'", "'naming'", "'{'", "'}'", "'case'", "';'", "'scope'", "'('", "')'", "'#'", "'context'", "'>>'", "'['", "']'", "'factory'", "'scopeof'", "','", "'find'", "'key'", "'prefix'", "'data'", "'domains'", "'|'", "'::'", "'let'", "':'", "'?'", "'if'", "'then'", "'else'", "'switch'", "'default'", "'GLOBALVAR'", "'new'", "'instanceof'", "'for'", "'while'", "'do'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'&'", "'recursive'", "'export'", "'implies'", "'typeSelect'", "'?.'", "'var'" }; + public static final int RULE_HEX=5; public static final int T__50=50; - public static final int T__19=19; - public static final int T__15=15; public static final int T__59=59; - public static final int T__16=16; - public static final int T__17=17; - public static final int T__18=18; public static final int T__55=55; - public static final int T__12=12; public static final int T__56=56; - public static final int T__13=13; public static final int T__57=57; - public static final int T__14=14; public static final int T__58=58; public static final int T__51=51; public static final int T__52=52; @@ -46,56 +39,27 @@ public class InternalScopeParser extends AbstractInternalContentAssistParser { public static final int T__60=60; public static final int T__61=61; public static final int RULE_ID=4; - public static final int RULE_REAL=7; - public static final int T__26=26; - public static final int T__27=27; - public static final int T__28=28; + public static final int RULE_REAL=9; public static final int RULE_INT=6; - public static final int T__29=29; - public static final int T__22=22; public static final int T__66=66; - public static final int RULE_ML_COMMENT=8; - public static final int T__23=23; + public static final int RULE_ML_COMMENT=10; public static final int T__67=67; - public static final int T__24=24; public static final int T__68=68; - public static final int T__25=25; public static final int T__69=69; public static final int T__62=62; public static final int T__63=63; - public static final int T__20=20; public static final int T__64=64; - public static final int T__21=21; public static final int T__65=65; - public static final int T__70=70; - public static final int T__71=71; - public static final int T__72=72; - public static final int RULE_STRING=5; - public static final int RULE_SL_COMMENT=9; public static final int T__37=37; public static final int T__38=38; public static final int T__39=39; public static final int T__33=33; - public static final int T__77=77; public static final int T__34=34; - public static final int T__78=78; public static final int T__35=35; - public static final int T__79=79; public static final int T__36=36; - public static final int T__73=73; - public static final int EOF=-1; public static final int T__30=30; - public static final int T__74=74; public static final int T__31=31; - public static final int T__75=75; public static final int T__32=32; - public static final int T__76=76; - public static final int T__80=80; - public static final int T__81=81; - public static final int T__82=82; - public static final int T__83=83; - public static final int RULE_WS=10; - public static final int RULE_ANY_OTHER=11; public static final int T__48=48; public static final int T__49=49; public static final int T__44=44; @@ -103,12 +67,84 @@ public class InternalScopeParser extends AbstractInternalContentAssistParser { public static final int T__46=46; public static final int T__47=47; public static final int T__40=40; - public static final int T__84=84; public static final int T__41=41; - public static final int T__85=85; public static final int T__42=42; - public static final int T__86=86; public static final int T__43=43; + public static final int T__91=91; + public static final int T__100=100; + public static final int T__92=92; + public static final int T__93=93; + public static final int T__102=102; + public static final int T__94=94; + public static final int T__101=101; + public static final int T__90=90; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__99=99; + public static final int T__14=14; + public static final int T__95=95; + public static final int T__96=96; + public static final int T__97=97; + public static final int T__98=98; + public static final int RULE_DECIMAL=7; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int T__29=29; + public static final int T__22=22; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + public static final int T__122=122; + public static final int T__70=70; + public static final int T__121=121; + public static final int T__71=71; + public static final int T__72=72; + public static final int T__120=120; + public static final int RULE_STRING=8; + public static final int RULE_SL_COMMENT=11; + public static final int T__77=77; + public static final int T__119=119; + public static final int T__78=78; + public static final int T__118=118; + public static final int T__79=79; + public static final int T__73=73; + public static final int T__115=115; + public static final int EOF=-1; + public static final int T__74=74; + public static final int T__114=114; + public static final int T__75=75; + public static final int T__117=117; + public static final int T__76=76; + public static final int T__116=116; + public static final int T__80=80; + public static final int T__111=111; + public static final int T__81=81; + public static final int T__110=110; + public static final int T__82=82; + public static final int T__113=113; + public static final int T__83=83; + public static final int T__112=112; + public static final int RULE_WS=12; + public static final int RULE_ANY_OTHER=13; + public static final int T__88=88; + public static final int T__108=108; + public static final int T__89=89; + public static final int T__107=107; + public static final int T__109=109; + public static final int T__84=84; + public static final int T__104=104; + public static final int T__85=85; + public static final int T__103=103; + public static final int T__86=86; + public static final int T__106=106; + public static final int T__87=87; + public static final int T__105=105; // delegates // delegators @@ -5150,35 +5186,63 @@ public final void ruleIdentifier() throws RecognitionException { // $ANTLR end "ruleIdentifier" - // $ANTLR start "ruleCasing" - // InternalScope.g:1529:1: ruleCasing : ( ( rule__Casing__Alternatives ) ) ; - public final void ruleCasing() throws RecognitionException { + // $ANTLR start "entryRuleXExpression" + // InternalScope.g:1529:1: entryRuleXExpression : ruleXExpression EOF ; + public final void entryRuleXExpression() throws RecognitionException { + try { + // InternalScope.g:1530:1: ( ruleXExpression EOF ) + // InternalScope.g:1531:1: ruleXExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXExpression" + + + // $ANTLR start "ruleXExpression" + // InternalScope.g:1538:1: ruleXExpression : ( ruleXAssignment ) ; + public final void ruleXExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:1533:1: ( ( ( rule__Casing__Alternatives ) ) ) - // InternalScope.g:1534:2: ( ( rule__Casing__Alternatives ) ) + // InternalScope.g:1542:2: ( ( ruleXAssignment ) ) + // InternalScope.g:1543:2: ( ruleXAssignment ) { - // InternalScope.g:1534:2: ( ( rule__Casing__Alternatives ) ) - // InternalScope.g:1535:3: ( rule__Casing__Alternatives ) + // InternalScope.g:1543:2: ( ruleXAssignment ) + // InternalScope.g:1544:3: ruleXAssignment { if ( state.backtracking==0 ) { - before(grammarAccess.getCasingAccess().getAlternatives()); + before(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); } - // InternalScope.g:1536:3: ( rule__Casing__Alternatives ) - // InternalScope.g:1536:4: rule__Casing__Alternatives - { pushFollow(FOLLOW_2); - rule__Casing__Alternatives(); + ruleXAssignment(); state._fsp--; if (state.failed) return ; - - } - if ( state.backtracking==0 ) { - after(grammarAccess.getCasingAccess().getAlternatives()); + after(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); } } @@ -5198,80 +5262,79 @@ public final void ruleCasing() throws RecognitionException { } return ; } - // $ANTLR end "ruleCasing" - + // $ANTLR end "ruleXExpression" - // $ANTLR start "rule__ScopeDefinition__Alternatives_2" - // InternalScope.g:1544:1: rule__ScopeDefinition__Alternatives_2 : ( ( ( rule__ScopeDefinition__TargetTypeAssignment_2_0 ) ) | ( ( rule__ScopeDefinition__Group_2_1__0 ) ) ); - public final void rule__ScopeDefinition__Alternatives_2() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXAssignment" + // InternalScope.g:1554:1: entryRuleXAssignment : ruleXAssignment EOF ; + public final void entryRuleXAssignment() throws RecognitionException { try { - // InternalScope.g:1548:1: ( ( ( rule__ScopeDefinition__TargetTypeAssignment_2_0 ) ) | ( ( rule__ScopeDefinition__Group_2_1__0 ) ) ) - int alt1=2; - alt1 = dfa1.predict(input); - switch (alt1) { - case 1 : - // InternalScope.g:1549:2: ( ( rule__ScopeDefinition__TargetTypeAssignment_2_0 ) ) - { - // InternalScope.g:1549:2: ( ( rule__ScopeDefinition__TargetTypeAssignment_2_0 ) ) - // InternalScope.g:1550:3: ( rule__ScopeDefinition__TargetTypeAssignment_2_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getTargetTypeAssignment_2_0()); - } - // InternalScope.g:1551:3: ( rule__ScopeDefinition__TargetTypeAssignment_2_0 ) - // InternalScope.g:1551:4: rule__ScopeDefinition__TargetTypeAssignment_2_0 - { - pushFollow(FOLLOW_2); - rule__ScopeDefinition__TargetTypeAssignment_2_0(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:1555:1: ( ruleXAssignment EOF ) + // InternalScope.g:1556:1: ruleXAssignment EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentRule()); + } + pushFollow(FOLLOW_1); + ruleXAssignment(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getTargetTypeAssignment_2_0()); - } + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXAssignment" - } - break; - case 2 : - // InternalScope.g:1555:2: ( ( rule__ScopeDefinition__Group_2_1__0 ) ) - { - // InternalScope.g:1555:2: ( ( rule__ScopeDefinition__Group_2_1__0 ) ) - // InternalScope.g:1556:3: ( rule__ScopeDefinition__Group_2_1__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getGroup_2_1()); - } - // InternalScope.g:1557:3: ( rule__ScopeDefinition__Group_2_1__0 ) - // InternalScope.g:1557:4: rule__ScopeDefinition__Group_2_1__0 - { - pushFollow(FOLLOW_2); - rule__ScopeDefinition__Group_2_1__0(); + // $ANTLR start "ruleXAssignment" + // InternalScope.g:1563:1: ruleXAssignment : ( ( rule__XAssignment__Alternatives ) ) ; + public final void ruleXAssignment() throws RecognitionException { - state._fsp--; - if (state.failed) return ; + int stackSize = keepStackSize(); + + try { + // InternalScope.g:1567:2: ( ( ( rule__XAssignment__Alternatives ) ) ) + // InternalScope.g:1568:2: ( ( rule__XAssignment__Alternatives ) ) + { + // InternalScope.g:1568:2: ( ( rule__XAssignment__Alternatives ) ) + // InternalScope.g:1569:3: ( rule__XAssignment__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getAlternatives()); + } + // InternalScope.g:1570:3: ( rule__XAssignment__Alternatives ) + // InternalScope.g:1570:4: rule__XAssignment__Alternatives + { + pushFollow(FOLLOW_2); + rule__XAssignment__Alternatives(); - } + state._fsp--; + if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getGroup_2_1()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getAlternatives()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -5284,853 +5347,644 @@ public final void rule__ScopeDefinition__Alternatives_2() throws RecognitionExce } return ; } - // $ANTLR end "rule__ScopeDefinition__Alternatives_2" - + // $ANTLR end "ruleXAssignment" - // $ANTLR start "rule__ScopeContext__Alternatives_0" - // InternalScope.g:1565:1: rule__ScopeContext__Alternatives_0 : ( ( ( rule__ScopeContext__GlobalAssignment_0_0 ) ) | ( ( rule__ScopeContext__ContextTypeAssignment_0_1 ) ) ); - public final void rule__ScopeContext__Alternatives_0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleOpSingleAssign" + // InternalScope.g:1579:1: entryRuleOpSingleAssign : ruleOpSingleAssign EOF ; + public final void entryRuleOpSingleAssign() throws RecognitionException { try { - // InternalScope.g:1569:1: ( ( ( rule__ScopeContext__GlobalAssignment_0_0 ) ) | ( ( rule__ScopeContext__ContextTypeAssignment_0_1 ) ) ) - int alt2=2; - int LA2_0 = input.LA(1); - - if ( (LA2_0==20) ) { - alt2=1; + // InternalScope.g:1580:1: ( ruleOpSingleAssign EOF ) + // InternalScope.g:1581:1: ruleOpSingleAssign EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpSingleAssignRule()); } - else if ( (LA2_0==RULE_ID) ) { - alt2=2; + pushFollow(FOLLOW_1); + ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpSingleAssignRule()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 2, 0, input); + match(input,EOF,FOLLOW_2); if (state.failed) return ; - throw nvae; } - switch (alt2) { - case 1 : - // InternalScope.g:1570:2: ( ( rule__ScopeContext__GlobalAssignment_0_0 ) ) - { - // InternalScope.g:1570:2: ( ( rule__ScopeContext__GlobalAssignment_0_0 ) ) - // InternalScope.g:1571:3: ( rule__ScopeContext__GlobalAssignment_0_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeContextAccess().getGlobalAssignment_0_0()); - } - // InternalScope.g:1572:3: ( rule__ScopeContext__GlobalAssignment_0_0 ) - // InternalScope.g:1572:4: rule__ScopeContext__GlobalAssignment_0_0 - { - pushFollow(FOLLOW_2); - rule__ScopeContext__GlobalAssignment_0_0(); - state._fsp--; - if (state.failed) return ; + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpSingleAssign" - } - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeContextAccess().getGlobalAssignment_0_0()); - } + // $ANTLR start "ruleOpSingleAssign" + // InternalScope.g:1588:1: ruleOpSingleAssign : ( '=' ) ; + public final void ruleOpSingleAssign() throws RecognitionException { - } + int stackSize = keepStackSize(); + + try { + // InternalScope.g:1592:2: ( ( '=' ) ) + // InternalScope.g:1593:2: ( '=' ) + { + // InternalScope.g:1593:2: ( '=' ) + // InternalScope.g:1594:3: '=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); + } + match(input,14,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); + } + } - } - break; - case 2 : - // InternalScope.g:1576:2: ( ( rule__ScopeContext__ContextTypeAssignment_0_1 ) ) - { - // InternalScope.g:1576:2: ( ( rule__ScopeContext__ContextTypeAssignment_0_1 ) ) - // InternalScope.g:1577:3: ( rule__ScopeContext__ContextTypeAssignment_0_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeContextAccess().getContextTypeAssignment_0_1()); - } - // InternalScope.g:1578:3: ( rule__ScopeContext__ContextTypeAssignment_0_1 ) - // InternalScope.g:1578:4: rule__ScopeContext__ContextTypeAssignment_0_1 - { - pushFollow(FOLLOW_2); - rule__ScopeContext__ContextTypeAssignment_0_1(); - state._fsp--; - if (state.failed) return ; + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeContextAccess().getContextTypeAssignment_0_1()); - } + restoreStackSize(stackSize); - } + } + return ; + } + // $ANTLR end "ruleOpSingleAssign" - } - break; + // $ANTLR start "entryRuleOpMultiAssign" + // InternalScope.g:1604:1: entryRuleOpMultiAssign : ruleOpMultiAssign EOF ; + public final void entryRuleOpMultiAssign() throws RecognitionException { + try { + // InternalScope.g:1605:1: ( ruleOpMultiAssign EOF ) + // InternalScope.g:1606:1: ruleOpMultiAssign EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignRule()); + } + pushFollow(FOLLOW_1); + ruleOpMultiAssign(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeContext__Alternatives_0" + // $ANTLR end "entryRuleOpMultiAssign" - // $ANTLR start "rule__ScopeExpression__Alternatives" - // InternalScope.g:1586:1: rule__ScopeExpression__Alternatives : ( ( ruleScopeDelegation ) | ( ruleFactoryExpression ) | ( ruleNamedScopeExpression ) ); - public final void rule__ScopeExpression__Alternatives() throws RecognitionException { + // $ANTLR start "ruleOpMultiAssign" + // InternalScope.g:1613:1: ruleOpMultiAssign : ( ( rule__OpMultiAssign__Alternatives ) ) ; + public final void ruleOpMultiAssign() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:1590:1: ( ( ruleScopeDelegation ) | ( ruleFactoryExpression ) | ( ruleNamedScopeExpression ) ) - int alt3=3; - switch ( input.LA(1) ) { - case 59: - { - alt3=1; - } - break; - case 58: - { - alt3=2; - } - break; - case RULE_ID: - case RULE_STRING: - case RULE_INT: - case RULE_REAL: - case 19: - case 22: - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - case 31: - case 32: - case 33: - case 34: - case 35: - case 45: - case 51: - case 61: - case 69: - case 73: - case 76: - case 78: - case 79: - case 85: - case 86: - { - alt3=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 3, 0, input); - - throw nvae; + // InternalScope.g:1617:2: ( ( ( rule__OpMultiAssign__Alternatives ) ) ) + // InternalScope.g:1618:2: ( ( rule__OpMultiAssign__Alternatives ) ) + { + // InternalScope.g:1618:2: ( ( rule__OpMultiAssign__Alternatives ) ) + // InternalScope.g:1619:3: ( rule__OpMultiAssign__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getAlternatives()); } + // InternalScope.g:1620:3: ( rule__OpMultiAssign__Alternatives ) + // InternalScope.g:1620:4: rule__OpMultiAssign__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Alternatives(); - switch (alt3) { - case 1 : - // InternalScope.g:1591:2: ( ruleScopeDelegation ) - { - // InternalScope.g:1591:2: ( ruleScopeDelegation ) - // InternalScope.g:1592:3: ruleScopeDelegation - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeExpressionAccess().getScopeDelegationParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleScopeDelegation(); - - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeExpressionAccess().getScopeDelegationParserRuleCall_0()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getAlternatives()); + } - } - break; - case 2 : - // InternalScope.g:1597:2: ( ruleFactoryExpression ) - { - // InternalScope.g:1597:2: ( ruleFactoryExpression ) - // InternalScope.g:1598:3: ruleFactoryExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeExpressionAccess().getFactoryExpressionParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleFactoryExpression(); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeExpressionAccess().getFactoryExpressionParserRuleCall_1()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 3 : - // InternalScope.g:1603:2: ( ruleNamedScopeExpression ) - { - // InternalScope.g:1603:2: ( ruleNamedScopeExpression ) - // InternalScope.g:1604:3: ruleNamedScopeExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeExpressionAccess().getNamedScopeExpressionParserRuleCall_2()); - } - pushFollow(FOLLOW_2); - ruleNamedScopeExpression(); + restoreStackSize(stackSize); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeExpressionAccess().getNamedScopeExpressionParserRuleCall_2()); - } + } + return ; + } + // $ANTLR end "ruleOpMultiAssign" - } + // $ANTLR start "entryRuleXOrExpression" + // InternalScope.g:1629:1: entryRuleXOrExpression : ruleXOrExpression EOF ; + public final void entryRuleXOrExpression() throws RecognitionException { + try { + // InternalScope.g:1630:1: ( ruleXOrExpression EOF ) + // InternalScope.g:1631:1: ruleXOrExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXOrExpression(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeExpression__Alternatives" + // $ANTLR end "entryRuleXOrExpression" - // $ANTLR start "rule__ScopeDelegation__Alternatives_2" - // InternalScope.g:1613:1: rule__ScopeDelegation__Alternatives_2 : ( ( ( rule__ScopeDelegation__DelegateAssignment_2_0 ) ) | ( ( rule__ScopeDelegation__ExternalAssignment_2_1 ) ) ); - public final void rule__ScopeDelegation__Alternatives_2() throws RecognitionException { + // $ANTLR start "ruleXOrExpression" + // InternalScope.g:1638:1: ruleXOrExpression : ( ( rule__XOrExpression__Group__0 ) ) ; + public final void ruleXOrExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:1617:1: ( ( ( rule__ScopeDelegation__DelegateAssignment_2_0 ) ) | ( ( rule__ScopeDelegation__ExternalAssignment_2_1 ) ) ) - int alt4=2; - int LA4_0 = input.LA(1); - - if ( ((LA4_0>=RULE_ID && LA4_0<=RULE_REAL)||LA4_0==19||(LA4_0>=22 && LA4_0<=35)||LA4_0==45||LA4_0==51||LA4_0==69||LA4_0==73||LA4_0==76||(LA4_0>=78 && LA4_0<=79)||(LA4_0>=85 && LA4_0<=86)) ) { - alt4=1; - } - else if ( (LA4_0==61) ) { - alt4=2; - } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 4, 0, input); - - throw nvae; + // InternalScope.g:1642:2: ( ( ( rule__XOrExpression__Group__0 ) ) ) + // InternalScope.g:1643:2: ( ( rule__XOrExpression__Group__0 ) ) + { + // InternalScope.g:1643:2: ( ( rule__XOrExpression__Group__0 ) ) + // InternalScope.g:1644:3: ( rule__XOrExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getGroup()); } - switch (alt4) { - case 1 : - // InternalScope.g:1618:2: ( ( rule__ScopeDelegation__DelegateAssignment_2_0 ) ) - { - // InternalScope.g:1618:2: ( ( rule__ScopeDelegation__DelegateAssignment_2_0 ) ) - // InternalScope.g:1619:3: ( rule__ScopeDelegation__DelegateAssignment_2_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDelegationAccess().getDelegateAssignment_2_0()); - } - // InternalScope.g:1620:3: ( rule__ScopeDelegation__DelegateAssignment_2_0 ) - // InternalScope.g:1620:4: rule__ScopeDelegation__DelegateAssignment_2_0 - { - pushFollow(FOLLOW_2); - rule__ScopeDelegation__DelegateAssignment_2_0(); + // InternalScope.g:1645:3: ( rule__XOrExpression__Group__0 ) + // InternalScope.g:1645:4: rule__XOrExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group__0(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDelegationAccess().getDelegateAssignment_2_0()); - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getGroup()); + } - } + } - } - break; - case 2 : - // InternalScope.g:1624:2: ( ( rule__ScopeDelegation__ExternalAssignment_2_1 ) ) - { - // InternalScope.g:1624:2: ( ( rule__ScopeDelegation__ExternalAssignment_2_1 ) ) - // InternalScope.g:1625:3: ( rule__ScopeDelegation__ExternalAssignment_2_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDelegationAccess().getExternalAssignment_2_1()); - } - // InternalScope.g:1626:3: ( rule__ScopeDelegation__ExternalAssignment_2_1 ) - // InternalScope.g:1626:4: rule__ScopeDelegation__ExternalAssignment_2_1 - { - pushFollow(FOLLOW_2); - rule__ScopeDelegation__ExternalAssignment_2_1(); + } - state._fsp--; - if (state.failed) return ; + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDelegationAccess().getExternalAssignment_2_1()); - } + } + return ; + } + // $ANTLR end "ruleXOrExpression" - } + // $ANTLR start "entryRuleOpOr" + // InternalScope.g:1654:1: entryRuleOpOr : ruleOpOr EOF ; + public final void entryRuleOpOr() throws RecognitionException { + try { + // InternalScope.g:1655:1: ( ruleOpOr EOF ) + // InternalScope.g:1656:1: ruleOpOr EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOrRule()); + } + pushFollow(FOLLOW_1); + ruleOpOr(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOrRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeDelegation__Alternatives_2" + // $ANTLR end "entryRuleOpOr" - // $ANTLR start "rule__NamedScopeExpression__Alternatives_0" - // InternalScope.g:1634:1: rule__NamedScopeExpression__Alternatives_0 : ( ( ruleGlobalScopeExpression ) | ( ruleSimpleScopeExpression ) ); - public final void rule__NamedScopeExpression__Alternatives_0() throws RecognitionException { + // $ANTLR start "ruleOpOr" + // InternalScope.g:1663:1: ruleOpOr : ( '||' ) ; + public final void ruleOpOr() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:1638:1: ( ( ruleGlobalScopeExpression ) | ( ruleSimpleScopeExpression ) ) - int alt5=2; - int LA5_0 = input.LA(1); - - if ( (LA5_0==61) ) { - alt5=1; + // InternalScope.g:1667:2: ( ( '||' ) ) + // InternalScope.g:1668:2: ( '||' ) + { + // InternalScope.g:1668:2: ( '||' ) + // InternalScope.g:1669:3: '||' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); } - else if ( ((LA5_0>=RULE_ID && LA5_0<=RULE_REAL)||LA5_0==19||(LA5_0>=22 && LA5_0<=35)||LA5_0==45||LA5_0==51||LA5_0==69||LA5_0==73||LA5_0==76||(LA5_0>=78 && LA5_0<=79)||(LA5_0>=85 && LA5_0<=86)) ) { - alt5=2; + match(input,15,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 5, 0, input); - throw nvae; } - switch (alt5) { - case 1 : - // InternalScope.g:1639:2: ( ruleGlobalScopeExpression ) - { - // InternalScope.g:1639:2: ( ruleGlobalScopeExpression ) - // InternalScope.g:1640:3: ruleGlobalScopeExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamedScopeExpressionAccess().getGlobalScopeExpressionParserRuleCall_0_0()); - } - pushFollow(FOLLOW_2); - ruleGlobalScopeExpression(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getNamedScopeExpressionAccess().getGlobalScopeExpressionParserRuleCall_0_0()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 2 : - // InternalScope.g:1645:2: ( ruleSimpleScopeExpression ) - { - // InternalScope.g:1645:2: ( ruleSimpleScopeExpression ) - // InternalScope.g:1646:3: ruleSimpleScopeExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamedScopeExpressionAccess().getSimpleScopeExpressionParserRuleCall_0_1()); - } - pushFollow(FOLLOW_2); - ruleSimpleScopeExpression(); + restoreStackSize(stackSize); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getNamedScopeExpressionAccess().getSimpleScopeExpressionParserRuleCall_0_1()); - } + } + return ; + } + // $ANTLR end "ruleOpOr" - } + // $ANTLR start "entryRuleXAndExpression" + // InternalScope.g:1679:1: entryRuleXAndExpression : ruleXAndExpression EOF ; + public final void entryRuleXAndExpression() throws RecognitionException { + try { + // InternalScope.g:1680:1: ( ruleXAndExpression EOF ) + // InternalScope.g:1681:1: ruleXAndExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXAndExpression(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__NamedScopeExpression__Alternatives_0" + // $ANTLR end "entryRuleXAndExpression" - // $ANTLR start "rule__GlobalScopeExpression__Alternatives_3" - // InternalScope.g:1655:1: rule__GlobalScopeExpression__Alternatives_3 : ( ( ( rule__GlobalScopeExpression__Group_3_0__0 ) ) | ( ( rule__GlobalScopeExpression__Group_3_1__0 ) ) ); - public final void rule__GlobalScopeExpression__Alternatives_3() throws RecognitionException { + // $ANTLR start "ruleXAndExpression" + // InternalScope.g:1688:1: ruleXAndExpression : ( ( rule__XAndExpression__Group__0 ) ) ; + public final void ruleXAndExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:1659:1: ( ( ( rule__GlobalScopeExpression__Group_3_0__0 ) ) | ( ( rule__GlobalScopeExpression__Group_3_1__0 ) ) ) - int alt6=2; - int LA6_0 = input.LA(1); - - if ( (LA6_0==60) ) { - int LA6_1 = input.LA(2); + // InternalScope.g:1692:2: ( ( ( rule__XAndExpression__Group__0 ) ) ) + // InternalScope.g:1693:2: ( ( rule__XAndExpression__Group__0 ) ) + { + // InternalScope.g:1693:2: ( ( rule__XAndExpression__Group__0 ) ) + // InternalScope.g:1694:3: ( rule__XAndExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getGroup()); + } + // InternalScope.g:1695:3: ( rule__XAndExpression__Group__0 ) + // InternalScope.g:1695:4: rule__XAndExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group__0(); - if ( (LA6_1==63||LA6_1==80) ) { - alt6=2; - } - else if ( (LA6_1==62) ) { - alt6=1; - } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 6, 1, input); + state._fsp--; + if (state.failed) return ; - throw nvae; - } } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 6, 0, input); - throw nvae; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getGroup()); } - switch (alt6) { - case 1 : - // InternalScope.g:1660:2: ( ( rule__GlobalScopeExpression__Group_3_0__0 ) ) - { - // InternalScope.g:1660:2: ( ( rule__GlobalScopeExpression__Group_3_0__0 ) ) - // InternalScope.g:1661:3: ( rule__GlobalScopeExpression__Group_3_0__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_3_0()); - } - // InternalScope.g:1662:3: ( rule__GlobalScopeExpression__Group_3_0__0 ) - // InternalScope.g:1662:4: rule__GlobalScopeExpression__Group_3_0__0 - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_3_0__0(); - - state._fsp--; - if (state.failed) return ; - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_3_0()); - } - } + } - } - break; - case 2 : - // InternalScope.g:1666:2: ( ( rule__GlobalScopeExpression__Group_3_1__0 ) ) - { - // InternalScope.g:1666:2: ( ( rule__GlobalScopeExpression__Group_3_1__0 ) ) - // InternalScope.g:1667:3: ( rule__GlobalScopeExpression__Group_3_1__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_3_1()); - } - // InternalScope.g:1668:3: ( rule__GlobalScopeExpression__Group_3_1__0 ) - // InternalScope.g:1668:4: rule__GlobalScopeExpression__Group_3_1__0 - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_3_1__0(); + } - state._fsp--; - if (state.failed) return ; + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_3_1()); - } + } + return ; + } + // $ANTLR end "ruleXAndExpression" - } + // $ANTLR start "entryRuleOpAnd" + // InternalScope.g:1704:1: entryRuleOpAnd : ruleOpAnd EOF ; + public final void entryRuleOpAnd() throws RecognitionException { + try { + // InternalScope.g:1705:1: ( ruleOpAnd EOF ) + // InternalScope.g:1706:1: ruleOpAnd EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAndRule()); + } + pushFollow(FOLLOW_1); + ruleOpAnd(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAndRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Alternatives_3" + // $ANTLR end "entryRuleOpAnd" - // $ANTLR start "rule__GlobalScopeExpression__Alternatives_5_3" - // InternalScope.g:1676:1: rule__GlobalScopeExpression__Alternatives_5_3 : ( ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_0 ) ) | ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_1 ) ) | ( ( rule__GlobalScopeExpression__Group_5_3_2__0 ) ) ); - public final void rule__GlobalScopeExpression__Alternatives_5_3() throws RecognitionException { + // $ANTLR start "ruleOpAnd" + // InternalScope.g:1713:1: ruleOpAnd : ( '&&' ) ; + public final void ruleOpAnd() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:1680:1: ( ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_0 ) ) | ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_1 ) ) | ( ( rule__GlobalScopeExpression__Group_5_3_2__0 ) ) ) - int alt7=3; - switch ( input.LA(1) ) { - case 20: - { - alt7=1; - } - break; - case RULE_ID: - { - alt7=2; - } - break; - case 51: - { - alt7=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 7, 0, input); - - throw nvae; + // InternalScope.g:1717:2: ( ( '&&' ) ) + // InternalScope.g:1718:2: ( '&&' ) + { + // InternalScope.g:1718:2: ( '&&' ) + // InternalScope.g:1719:3: '&&' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); + } + match(input,16,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); } - switch (alt7) { - case 1 : - // InternalScope.g:1681:2: ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_0 ) ) - { - // InternalScope.g:1681:2: ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_0 ) ) - // InternalScope.g:1682:3: ( rule__GlobalScopeExpression__DomainsAssignment_5_3_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_0()); - } - // InternalScope.g:1683:3: ( rule__GlobalScopeExpression__DomainsAssignment_5_3_0 ) - // InternalScope.g:1683:4: rule__GlobalScopeExpression__DomainsAssignment_5_3_0 - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__DomainsAssignment_5_3_0(); - - state._fsp--; - if (state.failed) return ; - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_0()); - } - - } - - - } - break; - case 2 : - // InternalScope.g:1687:2: ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_1 ) ) - { - // InternalScope.g:1687:2: ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_1 ) ) - // InternalScope.g:1688:3: ( rule__GlobalScopeExpression__DomainsAssignment_5_3_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_1()); - } - // InternalScope.g:1689:3: ( rule__GlobalScopeExpression__DomainsAssignment_5_3_1 ) - // InternalScope.g:1689:4: rule__GlobalScopeExpression__DomainsAssignment_5_3_1 - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__DomainsAssignment_5_3_1(); - - state._fsp--; - if (state.failed) return ; - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_1()); - } - - } + } - } - break; - case 3 : - // InternalScope.g:1693:2: ( ( rule__GlobalScopeExpression__Group_5_3_2__0 ) ) - { - // InternalScope.g:1693:2: ( ( rule__GlobalScopeExpression__Group_5_3_2__0 ) ) - // InternalScope.g:1694:3: ( rule__GlobalScopeExpression__Group_5_3_2__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5_3_2()); - } - // InternalScope.g:1695:3: ( rule__GlobalScopeExpression__Group_5_3_2__0 ) - // InternalScope.g:1695:4: rule__GlobalScopeExpression__Group_5_3_2__0 - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_5_3_2__0(); + } - state._fsp--; - if (state.failed) return ; + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5_3_2()); - } + } + return ; + } + // $ANTLR end "ruleOpAnd" - } + // $ANTLR start "entryRuleXEqualityExpression" + // InternalScope.g:1729:1: entryRuleXEqualityExpression : ruleXEqualityExpression EOF ; + public final void entryRuleXEqualityExpression() throws RecognitionException { + try { + // InternalScope.g:1730:1: ( ruleXEqualityExpression EOF ) + // InternalScope.g:1731:1: ruleXEqualityExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXEqualityExpression(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Alternatives_5_3" + // $ANTLR end "entryRuleXEqualityExpression" - // $ANTLR start "rule__DataExpression__Alternatives" - // InternalScope.g:1703:1: rule__DataExpression__Alternatives : ( ( ruleMatchDataExpression ) | ( ruleLambdaDataExpression ) ); - public final void rule__DataExpression__Alternatives() throws RecognitionException { + // $ANTLR start "ruleXEqualityExpression" + // InternalScope.g:1738:1: ruleXEqualityExpression : ( ( rule__XEqualityExpression__Group__0 ) ) ; + public final void ruleXEqualityExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:1707:1: ( ( ruleMatchDataExpression ) | ( ruleLambdaDataExpression ) ) - int alt8=2; - int LA8_0 = input.LA(1); + // InternalScope.g:1742:2: ( ( ( rule__XEqualityExpression__Group__0 ) ) ) + // InternalScope.g:1743:2: ( ( rule__XEqualityExpression__Group__0 ) ) + { + // InternalScope.g:1743:2: ( ( rule__XEqualityExpression__Group__0 ) ) + // InternalScope.g:1744:3: ( rule__XEqualityExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getGroup()); + } + // InternalScope.g:1745:3: ( rule__XEqualityExpression__Group__0 ) + // InternalScope.g:1745:4: rule__XEqualityExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; - if ( (LA8_0==RULE_ID) ) { - alt8=1; } - else if ( (LA8_0==56) ) { - alt8=2; + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getGroup()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 8, 0, input); - throw nvae; } - switch (alt8) { - case 1 : - // InternalScope.g:1708:2: ( ruleMatchDataExpression ) - { - // InternalScope.g:1708:2: ( ruleMatchDataExpression ) - // InternalScope.g:1709:3: ruleMatchDataExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getDataExpressionAccess().getMatchDataExpressionParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleMatchDataExpression(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getDataExpressionAccess().getMatchDataExpressionParserRuleCall_0()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 2 : - // InternalScope.g:1714:2: ( ruleLambdaDataExpression ) - { - // InternalScope.g:1714:2: ( ruleLambdaDataExpression ) - // InternalScope.g:1715:3: ruleLambdaDataExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getDataExpressionAccess().getLambdaDataExpressionParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleLambdaDataExpression(); + restoreStackSize(stackSize); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getDataExpressionAccess().getLambdaDataExpressionParserRuleCall_1()); - } + } + return ; + } + // $ANTLR end "ruleXEqualityExpression" - } + // $ANTLR start "entryRuleOpEquality" + // InternalScope.g:1754:1: entryRuleOpEquality : ruleOpEquality EOF ; + public final void entryRuleOpEquality() throws RecognitionException { + try { + // InternalScope.g:1755:1: ( ruleOpEquality EOF ) + // InternalScope.g:1756:1: ruleOpEquality EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityRule()); + } + pushFollow(FOLLOW_1); + ruleOpEquality(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__DataExpression__Alternatives" + // $ANTLR end "entryRuleOpEquality" - // $ANTLR start "rule__Naming__Alternatives" - // InternalScope.g:1724:1: rule__Naming__Alternatives : ( ( ( rule__Naming__Group_0__0 ) ) | ( ( rule__Naming__NamesAssignment_1 ) ) ); - public final void rule__Naming__Alternatives() throws RecognitionException { + // $ANTLR start "ruleOpEquality" + // InternalScope.g:1763:1: ruleOpEquality : ( ( rule__OpEquality__Alternatives ) ) ; + public final void ruleOpEquality() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:1728:1: ( ( ( rule__Naming__Group_0__0 ) ) | ( ( rule__Naming__NamesAssignment_1 ) ) ) - int alt9=2; - alt9 = dfa9.predict(input); - switch (alt9) { - case 1 : - // InternalScope.g:1729:2: ( ( rule__Naming__Group_0__0 ) ) - { - // InternalScope.g:1729:2: ( ( rule__Naming__Group_0__0 ) ) - // InternalScope.g:1730:3: ( rule__Naming__Group_0__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamingAccess().getGroup_0()); - } - // InternalScope.g:1731:3: ( rule__Naming__Group_0__0 ) - // InternalScope.g:1731:4: rule__Naming__Group_0__0 - { - pushFollow(FOLLOW_2); - rule__Naming__Group_0__0(); - - state._fsp--; - if (state.failed) return ; - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getNamingAccess().getGroup_0()); - } - - } - - - } - break; - case 2 : - // InternalScope.g:1735:2: ( ( rule__Naming__NamesAssignment_1 ) ) - { - // InternalScope.g:1735:2: ( ( rule__Naming__NamesAssignment_1 ) ) - // InternalScope.g:1736:3: ( rule__Naming__NamesAssignment_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamingAccess().getNamesAssignment_1()); - } - // InternalScope.g:1737:3: ( rule__Naming__NamesAssignment_1 ) - // InternalScope.g:1737:4: rule__Naming__NamesAssignment_1 - { - pushFollow(FOLLOW_2); - rule__Naming__NamesAssignment_1(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:1767:2: ( ( ( rule__OpEquality__Alternatives ) ) ) + // InternalScope.g:1768:2: ( ( rule__OpEquality__Alternatives ) ) + { + // InternalScope.g:1768:2: ( ( rule__OpEquality__Alternatives ) ) + // InternalScope.g:1769:3: ( rule__OpEquality__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityAccess().getAlternatives()); + } + // InternalScope.g:1770:3: ( rule__OpEquality__Alternatives ) + // InternalScope.g:1770:4: rule__OpEquality__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpEquality__Alternatives(); - } + state._fsp--; + if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getNamingAccess().getNamesAssignment_1()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityAccess().getAlternatives()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -6143,94 +5997,79 @@ public final void rule__Naming__Alternatives() throws RecognitionException { } return ; } - // $ANTLR end "rule__Naming__Alternatives" + // $ANTLR end "ruleOpEquality" - // $ANTLR start "rule__NamingExpression__Alternatives" - // InternalScope.g:1745:1: rule__NamingExpression__Alternatives : ( ( ( rule__NamingExpression__ExportAssignment_0 ) ) | ( ( rule__NamingExpression__Group_1__0 ) ) ); - public final void rule__NamingExpression__Alternatives() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXRelationalExpression" + // InternalScope.g:1779:1: entryRuleXRelationalExpression : ruleXRelationalExpression EOF ; + public final void entryRuleXRelationalExpression() throws RecognitionException { try { - // InternalScope.g:1749:1: ( ( ( rule__NamingExpression__ExportAssignment_0 ) ) | ( ( rule__NamingExpression__Group_1__0 ) ) ) - int alt10=2; - int LA10_0 = input.LA(1); - - if ( (LA10_0==81) ) { - alt10=1; - } - else if ( ((LA10_0>=RULE_ID && LA10_0<=RULE_REAL)||LA10_0==19||(LA10_0>=22 && LA10_0<=35)||LA10_0==45||LA10_0==51||LA10_0==58||LA10_0==69||LA10_0==73||LA10_0==76||(LA10_0>=78 && LA10_0<=79)||(LA10_0>=85 && LA10_0<=86)) ) { - alt10=2; + // InternalScope.g:1780:1: ( ruleXRelationalExpression EOF ) + // InternalScope.g:1781:1: ruleXRelationalExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionRule()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 10, 0, input); + pushFollow(FOLLOW_1); + ruleXRelationalExpression(); - throw nvae; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionRule()); } - switch (alt10) { - case 1 : - // InternalScope.g:1750:2: ( ( rule__NamingExpression__ExportAssignment_0 ) ) - { - // InternalScope.g:1750:2: ( ( rule__NamingExpression__ExportAssignment_0 ) ) - // InternalScope.g:1751:3: ( rule__NamingExpression__ExportAssignment_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamingExpressionAccess().getExportAssignment_0()); - } - // InternalScope.g:1752:3: ( rule__NamingExpression__ExportAssignment_0 ) - // InternalScope.g:1752:4: rule__NamingExpression__ExportAssignment_0 - { - pushFollow(FOLLOW_2); - rule__NamingExpression__ExportAssignment_0(); - - state._fsp--; - if (state.failed) return ; - - } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getNamingExpressionAccess().getExportAssignment_0()); - } + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXRelationalExpression" - } - break; - case 2 : - // InternalScope.g:1756:2: ( ( rule__NamingExpression__Group_1__0 ) ) - { - // InternalScope.g:1756:2: ( ( rule__NamingExpression__Group_1__0 ) ) - // InternalScope.g:1757:3: ( rule__NamingExpression__Group_1__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamingExpressionAccess().getGroup_1()); - } - // InternalScope.g:1758:3: ( rule__NamingExpression__Group_1__0 ) - // InternalScope.g:1758:4: rule__NamingExpression__Group_1__0 - { - pushFollow(FOLLOW_2); - rule__NamingExpression__Group_1__0(); + // $ANTLR start "ruleXRelationalExpression" + // InternalScope.g:1788:1: ruleXRelationalExpression : ( ( rule__XRelationalExpression__Group__0 ) ) ; + public final void ruleXRelationalExpression() throws RecognitionException { - state._fsp--; - if (state.failed) return ; + int stackSize = keepStackSize(); + + try { + // InternalScope.g:1792:2: ( ( ( rule__XRelationalExpression__Group__0 ) ) ) + // InternalScope.g:1793:2: ( ( rule__XRelationalExpression__Group__0 ) ) + { + // InternalScope.g:1793:2: ( ( rule__XRelationalExpression__Group__0 ) ) + // InternalScope.g:1794:3: ( rule__XRelationalExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup()); + } + // InternalScope.g:1795:3: ( rule__XRelationalExpression__Group__0 ) + // InternalScope.g:1795:4: rule__XRelationalExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group__0(); - } + state._fsp--; + if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getNamingExpressionAccess().getGroup_1()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -6243,97 +6082,79 @@ else if ( ((LA10_0>=RULE_ID && LA10_0<=RULE_REAL)||LA10_0==19||(LA10_0>=22 && LA } return ; } - // $ANTLR end "rule__NamingExpression__Alternatives" - + // $ANTLR end "ruleXRelationalExpression" - // $ANTLR start "rule__Expression__Alternatives" - // InternalScope.g:1766:1: rule__Expression__Alternatives : ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) ); - public final void rule__Expression__Alternatives() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleOpCompare" + // InternalScope.g:1804:1: entryRuleOpCompare : ruleOpCompare EOF ; + public final void entryRuleOpCompare() throws RecognitionException { try { - // InternalScope.g:1770:1: ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) ) - int alt11=3; - alt11 = dfa11.predict(input); - switch (alt11) { - case 1 : - // InternalScope.g:1771:2: ( ruleLetExpression ) - { - // InternalScope.g:1771:2: ( ruleLetExpression ) - // InternalScope.g:1772:3: ruleLetExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleLetExpression(); - - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); - } - - } - + // InternalScope.g:1805:1: ( ruleOpCompare EOF ) + // InternalScope.g:1806:1: ruleOpCompare EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareRule()); + } + pushFollow(FOLLOW_1); + ruleOpCompare(); - } - break; - case 2 : - // InternalScope.g:1777:2: ( ( ruleCastedExpression ) ) - { - // InternalScope.g:1777:2: ( ( ruleCastedExpression ) ) - // InternalScope.g:1778:3: ( ruleCastedExpression ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); - } - // InternalScope.g:1779:3: ( ruleCastedExpression ) - // InternalScope.g:1779:4: ruleCastedExpression - { - pushFollow(FOLLOW_2); - ruleCastedExpression(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpCompare" - if ( state.backtracking==0 ) { - after(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); - } - } + // $ANTLR start "ruleOpCompare" + // InternalScope.g:1813:1: ruleOpCompare : ( ( rule__OpCompare__Alternatives ) ) ; + public final void ruleOpCompare() throws RecognitionException { + int stackSize = keepStackSize(); + + try { + // InternalScope.g:1817:2: ( ( ( rule__OpCompare__Alternatives ) ) ) + // InternalScope.g:1818:2: ( ( rule__OpCompare__Alternatives ) ) + { + // InternalScope.g:1818:2: ( ( rule__OpCompare__Alternatives ) ) + // InternalScope.g:1819:3: ( rule__OpCompare__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getAlternatives()); + } + // InternalScope.g:1820:3: ( rule__OpCompare__Alternatives ) + // InternalScope.g:1820:4: rule__OpCompare__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpCompare__Alternatives(); - } - break; - case 3 : - // InternalScope.g:1783:2: ( ruleChainExpression ) - { - // InternalScope.g:1783:2: ( ruleChainExpression ) - // InternalScope.g:1784:3: ruleChainExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); - } - pushFollow(FOLLOW_2); - ruleChainExpression(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getAlternatives()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -6346,138 +6167,79 @@ public final void rule__Expression__Alternatives() throws RecognitionException { } return ; } - // $ANTLR end "rule__Expression__Alternatives" + // $ANTLR end "ruleOpCompare" - // $ANTLR start "rule__ChainedExpression__Alternatives" - // InternalScope.g:1793:1: rule__ChainedExpression__Alternatives : ( ( ruleIfExpressionKw ) | ( ruleIfExpressionTri ) | ( ruleSwitchExpression ) ); - public final void rule__ChainedExpression__Alternatives() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXOtherOperatorExpression" + // InternalScope.g:1829:1: entryRuleXOtherOperatorExpression : ruleXOtherOperatorExpression EOF ; + public final void entryRuleXOtherOperatorExpression() throws RecognitionException { try { - // InternalScope.g:1797:1: ( ( ruleIfExpressionKw ) | ( ruleIfExpressionTri ) | ( ruleSwitchExpression ) ) - int alt12=3; - switch ( input.LA(1) ) { - case 73: - { - alt12=1; - } - break; - case RULE_ID: - case RULE_STRING: - case RULE_INT: - case RULE_REAL: - case 19: - case 22: - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - case 31: - case 32: - case 33: - case 34: - case 35: - case 45: - case 51: - case 78: - case 79: - case 85: - case 86: - { - alt12=2; - } - break; - case 76: - { - alt12=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 12, 0, input); - - throw nvae; + // InternalScope.g:1830:1: ( ruleXOtherOperatorExpression EOF ) + // InternalScope.g:1831:1: ruleXOtherOperatorExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionRule()); } + pushFollow(FOLLOW_1); + ruleXOtherOperatorExpression(); - switch (alt12) { - case 1 : - // InternalScope.g:1798:2: ( ruleIfExpressionKw ) - { - // InternalScope.g:1798:2: ( ruleIfExpressionKw ) - // InternalScope.g:1799:3: ruleIfExpressionKw - { - if ( state.backtracking==0 ) { - before(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleIfExpressionKw(); - - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); - } - - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + } - } - break; - case 2 : - // InternalScope.g:1804:2: ( ruleIfExpressionTri ) - { - // InternalScope.g:1804:2: ( ruleIfExpressionTri ) - // InternalScope.g:1805:3: ruleIfExpressionTri - { - if ( state.backtracking==0 ) { - before(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleIfExpressionTri(); + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXOtherOperatorExpression" - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); - } - } + // $ANTLR start "ruleXOtherOperatorExpression" + // InternalScope.g:1838:1: ruleXOtherOperatorExpression : ( ( rule__XOtherOperatorExpression__Group__0 ) ) ; + public final void ruleXOtherOperatorExpression() throws RecognitionException { + int stackSize = keepStackSize(); + + try { + // InternalScope.g:1842:2: ( ( ( rule__XOtherOperatorExpression__Group__0 ) ) ) + // InternalScope.g:1843:2: ( ( rule__XOtherOperatorExpression__Group__0 ) ) + { + // InternalScope.g:1843:2: ( ( rule__XOtherOperatorExpression__Group__0 ) ) + // InternalScope.g:1844:3: ( rule__XOtherOperatorExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); + } + // InternalScope.g:1845:3: ( rule__XOtherOperatorExpression__Group__0 ) + // InternalScope.g:1845:4: rule__XOtherOperatorExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group__0(); - } - break; - case 3 : - // InternalScope.g:1810:2: ( ruleSwitchExpression ) - { - // InternalScope.g:1810:2: ( ruleSwitchExpression ) - // InternalScope.g:1811:3: ruleSwitchExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); - } - pushFollow(FOLLOW_2); - ruleSwitchExpression(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -6490,334 +6252,249 @@ public final void rule__ChainedExpression__Alternatives() throws RecognitionExce } return ; } - // $ANTLR end "rule__ChainedExpression__Alternatives" - + // $ANTLR end "ruleXOtherOperatorExpression" - // $ANTLR start "rule__RelationalExpression__OperatorAlternatives_1_1_0" - // InternalScope.g:1820:1: rule__RelationalExpression__OperatorAlternatives_1_1_0 : ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ); - public final void rule__RelationalExpression__OperatorAlternatives_1_1_0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleOpOther" + // InternalScope.g:1854:1: entryRuleOpOther : ruleOpOther EOF ; + public final void entryRuleOpOther() throws RecognitionException { try { - // InternalScope.g:1824:1: ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ) - int alt13=6; - switch ( input.LA(1) ) { - case 12: - { - alt13=1; - } - break; - case 13: - { - alt13=2; - } - break; - case 14: - { - alt13=3; - } - break; - case 15: - { - alt13=4; - } - break; - case 16: - { - alt13=5; - } - break; - case 17: - { - alt13=6; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 13, 0, input); - - throw nvae; + // InternalScope.g:1855:1: ( ruleOpOther EOF ) + // InternalScope.g:1856:1: ruleOpOther EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherRule()); } + pushFollow(FOLLOW_1); + ruleOpOther(); - switch (alt13) { - case 1 : - // InternalScope.g:1825:2: ( '==' ) - { - // InternalScope.g:1825:2: ( '==' ) - // InternalScope.g:1826:3: '==' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); - } - match(input,12,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); - } - - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + } - } - break; - case 2 : - // InternalScope.g:1831:2: ( '!=' ) - { - // InternalScope.g:1831:2: ( '!=' ) - // InternalScope.g:1832:3: '!=' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); - } - match(input,13,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpOther" - } + // $ANTLR start "ruleOpOther" + // InternalScope.g:1863:1: ruleOpOther : ( ( rule__OpOther__Alternatives ) ) ; + public final void ruleOpOther() throws RecognitionException { - } - break; - case 3 : - // InternalScope.g:1837:2: ( '>=' ) - { - // InternalScope.g:1837:2: ( '>=' ) - // InternalScope.g:1838:3: '>=' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); - } - match(input,14,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); - } + int stackSize = keepStackSize(); + + try { + // InternalScope.g:1867:2: ( ( ( rule__OpOther__Alternatives ) ) ) + // InternalScope.g:1868:2: ( ( rule__OpOther__Alternatives ) ) + { + // InternalScope.g:1868:2: ( ( rule__OpOther__Alternatives ) ) + // InternalScope.g:1869:3: ( rule__OpOther__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getAlternatives()); + } + // InternalScope.g:1870:3: ( rule__OpOther__Alternatives ) + // InternalScope.g:1870:4: rule__OpOther__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpOther__Alternatives(); - } + state._fsp--; + if (state.failed) return ; + } - } - break; - case 4 : - // InternalScope.g:1843:2: ( '<=' ) - { - // InternalScope.g:1843:2: ( '<=' ) - // InternalScope.g:1844:3: '<=' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); - } - match(input,15,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); - } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getAlternatives()); + } - } + } - } - break; - case 5 : - // InternalScope.g:1849:2: ( '>' ) - { - // InternalScope.g:1849:2: ( '>' ) - // InternalScope.g:1850:3: '>' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); - } - match(input,16,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); - } + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + restoreStackSize(stackSize); - } - break; - case 6 : - // InternalScope.g:1855:2: ( '<' ) - { - // InternalScope.g:1855:2: ( '<' ) - // InternalScope.g:1856:3: '<' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); - } - match(input,17,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); - } + } + return ; + } + // $ANTLR end "ruleOpOther" - } + // $ANTLR start "entryRuleXAdditiveExpression" + // InternalScope.g:1879:1: entryRuleXAdditiveExpression : ruleXAdditiveExpression EOF ; + public final void entryRuleXAdditiveExpression() throws RecognitionException { + try { + // InternalScope.g:1880:1: ( ruleXAdditiveExpression EOF ) + // InternalScope.g:1881:1: ruleXAdditiveExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXAdditiveExpression(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__RelationalExpression__OperatorAlternatives_1_1_0" + // $ANTLR end "entryRuleXAdditiveExpression" - // $ANTLR start "rule__AdditiveExpression__NameAlternatives_1_1_0" - // InternalScope.g:1865:1: rule__AdditiveExpression__NameAlternatives_1_1_0 : ( ( '+' ) | ( '-' ) ); - public final void rule__AdditiveExpression__NameAlternatives_1_1_0() throws RecognitionException { + // $ANTLR start "ruleXAdditiveExpression" + // InternalScope.g:1888:1: ruleXAdditiveExpression : ( ( rule__XAdditiveExpression__Group__0 ) ) ; + public final void ruleXAdditiveExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:1869:1: ( ( '+' ) | ( '-' ) ) - int alt14=2; - int LA14_0 = input.LA(1); + // InternalScope.g:1892:2: ( ( ( rule__XAdditiveExpression__Group__0 ) ) ) + // InternalScope.g:1893:2: ( ( rule__XAdditiveExpression__Group__0 ) ) + { + // InternalScope.g:1893:2: ( ( rule__XAdditiveExpression__Group__0 ) ) + // InternalScope.g:1894:3: ( rule__XAdditiveExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getGroup()); + } + // InternalScope.g:1895:3: ( rule__XAdditiveExpression__Group__0 ) + // InternalScope.g:1895:4: rule__XAdditiveExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; - if ( (LA14_0==18) ) { - alt14=1; } - else if ( (LA14_0==19) ) { - alt14=2; + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getGroup()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 14, 0, input); - throw nvae; } - switch (alt14) { - case 1 : - // InternalScope.g:1870:2: ( '+' ) - { - // InternalScope.g:1870:2: ( '+' ) - // InternalScope.g:1871:3: '+' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); - } - match(input,18,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); - } - } + } - } - break; - case 2 : - // InternalScope.g:1876:2: ( '-' ) - { - // InternalScope.g:1876:2: ( '-' ) - // InternalScope.g:1877:3: '-' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); - } - match(input,19,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); + } + return ; + } + // $ANTLR end "ruleXAdditiveExpression" - } - break; + + // $ANTLR start "entryRuleOpAdd" + // InternalScope.g:1904:1: entryRuleOpAdd : ruleOpAdd EOF ; + public final void entryRuleOpAdd() throws RecognitionException { + try { + // InternalScope.g:1905:1: ( ruleOpAdd EOF ) + // InternalScope.g:1906:1: ruleOpAdd EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAddRule()); + } + pushFollow(FOLLOW_1); + ruleOpAdd(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAddRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__AdditiveExpression__NameAlternatives_1_1_0" + // $ANTLR end "entryRuleOpAdd" - // $ANTLR start "rule__MultiplicativeExpression__NameAlternatives_1_1_0" - // InternalScope.g:1886:1: rule__MultiplicativeExpression__NameAlternatives_1_1_0 : ( ( '*' ) | ( '/' ) ); - public final void rule__MultiplicativeExpression__NameAlternatives_1_1_0() throws RecognitionException { + // $ANTLR start "ruleOpAdd" + // InternalScope.g:1913:1: ruleOpAdd : ( ( rule__OpAdd__Alternatives ) ) ; + public final void ruleOpAdd() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:1890:1: ( ( '*' ) | ( '/' ) ) - int alt15=2; - int LA15_0 = input.LA(1); - - if ( (LA15_0==20) ) { - alt15=1; - } - else if ( (LA15_0==21) ) { - alt15=2; - } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 15, 0, input); - - throw nvae; + // InternalScope.g:1917:2: ( ( ( rule__OpAdd__Alternatives ) ) ) + // InternalScope.g:1918:2: ( ( rule__OpAdd__Alternatives ) ) + { + // InternalScope.g:1918:2: ( ( rule__OpAdd__Alternatives ) ) + // InternalScope.g:1919:3: ( rule__OpAdd__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAddAccess().getAlternatives()); } - switch (alt15) { - case 1 : - // InternalScope.g:1891:2: ( '*' ) - { - // InternalScope.g:1891:2: ( '*' ) - // InternalScope.g:1892:3: '*' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); - } - match(input,20,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); - } - - } + // InternalScope.g:1920:3: ( rule__OpAdd__Alternatives ) + // InternalScope.g:1920:4: rule__OpAdd__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpAdd__Alternatives(); + state._fsp--; + if (state.failed) return ; - } - break; - case 2 : - // InternalScope.g:1897:2: ( '/' ) - { - // InternalScope.g:1897:2: ( '/' ) - // InternalScope.g:1898:3: '/' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); - } - match(input,21,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAddAccess().getAlternatives()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -6830,817 +6507,589 @@ else if ( (LA15_0==21) ) { } return ; } - // $ANTLR end "rule__MultiplicativeExpression__NameAlternatives_1_1_0" + // $ANTLR end "ruleOpAdd" - // $ANTLR start "rule__UnaryOrInfixExpression__Alternatives" - // InternalScope.g:1907:1: rule__UnaryOrInfixExpression__Alternatives : ( ( ruleUnaryExpression ) | ( ruleInfixExpression ) ); - public final void rule__UnaryOrInfixExpression__Alternatives() throws RecognitionException { + // $ANTLR start "entryRuleXMultiplicativeExpression" + // InternalScope.g:1929:1: entryRuleXMultiplicativeExpression : ruleXMultiplicativeExpression EOF ; + public final void entryRuleXMultiplicativeExpression() throws RecognitionException { + try { + // InternalScope.g:1930:1: ( ruleXMultiplicativeExpression EOF ) + // InternalScope.g:1931:1: ruleXMultiplicativeExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXMultiplicativeExpression" + + + // $ANTLR start "ruleXMultiplicativeExpression" + // InternalScope.g:1938:1: ruleXMultiplicativeExpression : ( ( rule__XMultiplicativeExpression__Group__0 ) ) ; + public final void ruleXMultiplicativeExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:1911:1: ( ( ruleUnaryExpression ) | ( ruleInfixExpression ) ) - int alt16=2; - int LA16_0 = input.LA(1); + // InternalScope.g:1942:2: ( ( ( rule__XMultiplicativeExpression__Group__0 ) ) ) + // InternalScope.g:1943:2: ( ( rule__XMultiplicativeExpression__Group__0 ) ) + { + // InternalScope.g:1943:2: ( ( rule__XMultiplicativeExpression__Group__0 ) ) + // InternalScope.g:1944:3: ( rule__XMultiplicativeExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); + } + // InternalScope.g:1945:3: ( rule__XMultiplicativeExpression__Group__0 ) + // InternalScope.g:1945:4: rule__XMultiplicativeExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; - if ( (LA16_0==19||LA16_0==22) ) { - alt16=1; } - else if ( ((LA16_0>=RULE_ID && LA16_0<=RULE_REAL)||(LA16_0>=23 && LA16_0<=35)||LA16_0==45||LA16_0==51||(LA16_0>=78 && LA16_0<=79)||(LA16_0>=85 && LA16_0<=86)) ) { - alt16=2; + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 16, 0, input); - throw nvae; } - switch (alt16) { - case 1 : - // InternalScope.g:1912:2: ( ruleUnaryExpression ) - { - // InternalScope.g:1912:2: ( ruleUnaryExpression ) - // InternalScope.g:1913:3: ruleUnaryExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleUnaryExpression(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 2 : - // InternalScope.g:1918:2: ( ruleInfixExpression ) - { - // InternalScope.g:1918:2: ( ruleInfixExpression ) - // InternalScope.g:1919:3: ruleInfixExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleInfixExpression(); + restoreStackSize(stackSize); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); - } + } + return ; + } + // $ANTLR end "ruleXMultiplicativeExpression" - } + // $ANTLR start "entryRuleOpMulti" + // InternalScope.g:1954:1: entryRuleOpMulti : ruleOpMulti EOF ; + public final void entryRuleOpMulti() throws RecognitionException { + try { + // InternalScope.g:1955:1: ( ruleOpMulti EOF ) + // InternalScope.g:1956:1: ruleOpMulti EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiRule()); + } + pushFollow(FOLLOW_1); + ruleOpMulti(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__UnaryOrInfixExpression__Alternatives" + // $ANTLR end "entryRuleOpMulti" - // $ANTLR start "rule__UnaryExpression__NameAlternatives_0_0" - // InternalScope.g:1928:1: rule__UnaryExpression__NameAlternatives_0_0 : ( ( '!' ) | ( '-' ) ); - public final void rule__UnaryExpression__NameAlternatives_0_0() throws RecognitionException { + // $ANTLR start "ruleOpMulti" + // InternalScope.g:1963:1: ruleOpMulti : ( ( rule__OpMulti__Alternatives ) ) ; + public final void ruleOpMulti() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:1932:1: ( ( '!' ) | ( '-' ) ) - int alt17=2; - int LA17_0 = input.LA(1); + // InternalScope.g:1967:2: ( ( ( rule__OpMulti__Alternatives ) ) ) + // InternalScope.g:1968:2: ( ( rule__OpMulti__Alternatives ) ) + { + // InternalScope.g:1968:2: ( ( rule__OpMulti__Alternatives ) ) + // InternalScope.g:1969:3: ( rule__OpMulti__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAccess().getAlternatives()); + } + // InternalScope.g:1970:3: ( rule__OpMulti__Alternatives ) + // InternalScope.g:1970:4: rule__OpMulti__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpMulti__Alternatives(); + + state._fsp--; + if (state.failed) return ; - if ( (LA17_0==22) ) { - alt17=1; } - else if ( (LA17_0==19) ) { - alt17=2; + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAccess().getAlternatives()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 17, 0, input); - throw nvae; } - switch (alt17) { - case 1 : - // InternalScope.g:1933:2: ( '!' ) - { - // InternalScope.g:1933:2: ( '!' ) - // InternalScope.g:1934:3: '!' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); - } - match(input,22,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); - } - } + } - } - break; - case 2 : - // InternalScope.g:1939:2: ( '-' ) - { - // InternalScope.g:1939:2: ( '-' ) - // InternalScope.g:1940:3: '-' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); - } - match(input,19,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleOpMulti" - } - break; + // $ANTLR start "entryRuleXUnaryOperation" + // InternalScope.g:1979:1: entryRuleXUnaryOperation : ruleXUnaryOperation EOF ; + public final void entryRuleXUnaryOperation() throws RecognitionException { + try { + // InternalScope.g:1980:1: ( ruleXUnaryOperation EOF ) + // InternalScope.g:1981:1: ruleXUnaryOperation EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationRule()); + } + pushFollow(FOLLOW_1); + ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__UnaryExpression__NameAlternatives_0_0" + // $ANTLR end "entryRuleXUnaryOperation" - // $ANTLR start "rule__InfixExpression__Alternatives_1" - // InternalScope.g:1949:1: rule__InfixExpression__Alternatives_1 : ( ( ( rule__InfixExpression__Group_1_0__0 ) ) | ( ( rule__InfixExpression__Group_1_1__0 ) ) | ( ( rule__InfixExpression__Group_1_2__0 ) ) | ( ( rule__InfixExpression__Group_1_3__0 ) ) ); - public final void rule__InfixExpression__Alternatives_1() throws RecognitionException { + // $ANTLR start "ruleXUnaryOperation" + // InternalScope.g:1988:1: ruleXUnaryOperation : ( ( rule__XUnaryOperation__Alternatives ) ) ; + public final void ruleXUnaryOperation() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:1953:1: ( ( ( rule__InfixExpression__Group_1_0__0 ) ) | ( ( rule__InfixExpression__Group_1_1__0 ) ) | ( ( rule__InfixExpression__Group_1_2__0 ) ) | ( ( rule__InfixExpression__Group_1_3__0 ) ) ) - int alt18=4; - int LA18_0 = input.LA(1); - - if ( (LA18_0==68) ) { - switch ( input.LA(2) ) { - case RULE_ID: - { - int LA18_2 = input.LA(3); - - if ( (LA18_2==51) ) { - alt18=1; - } - else if ( (LA18_2==EOF||(LA18_2>=12 && LA18_2<=21)||LA18_2==41||(LA18_2>=46 && LA18_2<=47)||LA18_2==49||LA18_2==52||LA18_2==55||LA18_2==57||LA18_2==60||(LA18_2>=67 && LA18_2<=68)||(LA18_2>=70 && LA18_2<=72)||(LA18_2>=74 && LA18_2<=75)||LA18_2==77||(LA18_2>=82 && LA18_2<=84)) ) { - alt18=2; - } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 18, 2, input); + // InternalScope.g:1992:2: ( ( ( rule__XUnaryOperation__Alternatives ) ) ) + // InternalScope.g:1993:2: ( ( rule__XUnaryOperation__Alternatives ) ) + { + // InternalScope.g:1993:2: ( ( rule__XUnaryOperation__Alternatives ) ) + // InternalScope.g:1994:3: ( rule__XUnaryOperation__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getAlternatives()); + } + // InternalScope.g:1995:3: ( rule__XUnaryOperation__Alternatives ) + // InternalScope.g:1995:4: rule__XUnaryOperation__Alternatives + { + pushFollow(FOLLOW_2); + rule__XUnaryOperation__Alternatives(); - throw nvae; - } - } - break; - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - { - alt18=4; - } - break; - case 33: - case 34: - case 35: - { - alt18=2; - } - break; - case 85: - { - alt18=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 18, 1, input); + state._fsp--; + if (state.failed) return ; - throw nvae; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getAlternatives()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 18, 0, input); - throw nvae; } - switch (alt18) { - case 1 : - // InternalScope.g:1954:2: ( ( rule__InfixExpression__Group_1_0__0 ) ) - { - // InternalScope.g:1954:2: ( ( rule__InfixExpression__Group_1_0__0 ) ) - // InternalScope.g:1955:3: ( rule__InfixExpression__Group_1_0__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); - } - // InternalScope.g:1956:3: ( rule__InfixExpression__Group_1_0__0 ) - // InternalScope.g:1956:4: rule__InfixExpression__Group_1_0__0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__0(); - state._fsp--; - if (state.failed) return ; - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); + } + return ; + } + // $ANTLR end "ruleXUnaryOperation" - } - break; - case 2 : - // InternalScope.g:1960:2: ( ( rule__InfixExpression__Group_1_1__0 ) ) - { - // InternalScope.g:1960:2: ( ( rule__InfixExpression__Group_1_1__0 ) ) - // InternalScope.g:1961:3: ( rule__InfixExpression__Group_1_1__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); - } - // InternalScope.g:1962:3: ( rule__InfixExpression__Group_1_1__0 ) - // InternalScope.g:1962:4: rule__InfixExpression__Group_1_1__0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_1__0(); - state._fsp--; - if (state.failed) return ; + // $ANTLR start "entryRuleOpUnary" + // InternalScope.g:2004:1: entryRuleOpUnary : ruleOpUnary EOF ; + public final void entryRuleOpUnary() throws RecognitionException { + try { + // InternalScope.g:2005:1: ( ruleOpUnary EOF ) + // InternalScope.g:2006:1: ruleOpUnary EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpUnaryRule()); + } + pushFollow(FOLLOW_1); + ruleOpUnary(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpUnaryRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); - } + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpUnary" - } - break; - case 3 : - // InternalScope.g:1966:2: ( ( rule__InfixExpression__Group_1_2__0 ) ) - { - // InternalScope.g:1966:2: ( ( rule__InfixExpression__Group_1_2__0 ) ) - // InternalScope.g:1967:3: ( rule__InfixExpression__Group_1_2__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); - } - // InternalScope.g:1968:3: ( rule__InfixExpression__Group_1_2__0 ) - // InternalScope.g:1968:4: rule__InfixExpression__Group_1_2__0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__0(); + // $ANTLR start "ruleOpUnary" + // InternalScope.g:2013:1: ruleOpUnary : ( ( rule__OpUnary__Alternatives ) ) ; + public final void ruleOpUnary() throws RecognitionException { - state._fsp--; - if (state.failed) return ; + int stackSize = keepStackSize(); + + try { + // InternalScope.g:2017:2: ( ( ( rule__OpUnary__Alternatives ) ) ) + // InternalScope.g:2018:2: ( ( rule__OpUnary__Alternatives ) ) + { + // InternalScope.g:2018:2: ( ( rule__OpUnary__Alternatives ) ) + // InternalScope.g:2019:3: ( rule__OpUnary__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpUnaryAccess().getAlternatives()); + } + // InternalScope.g:2020:3: ( rule__OpUnary__Alternatives ) + // InternalScope.g:2020:4: rule__OpUnary__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpUnary__Alternatives(); - } + state._fsp--; + if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpUnaryAccess().getAlternatives()); + } + } - } - break; - case 4 : - // InternalScope.g:1972:2: ( ( rule__InfixExpression__Group_1_3__0 ) ) - { - // InternalScope.g:1972:2: ( ( rule__InfixExpression__Group_1_3__0 ) ) - // InternalScope.g:1973:3: ( rule__InfixExpression__Group_1_3__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); - } - // InternalScope.g:1974:3: ( rule__InfixExpression__Group_1_3__0 ) - // InternalScope.g:1974:4: rule__InfixExpression__Group_1_3__0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__0(); - state._fsp--; - if (state.failed) return ; + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); - } + restoreStackSize(stackSize); - } + } + return ; + } + // $ANTLR end "ruleOpUnary" - } - break; + // $ANTLR start "entryRuleXCastedExpression" + // InternalScope.g:2029:1: entryRuleXCastedExpression : ruleXCastedExpression EOF ; + public final void entryRuleXCastedExpression() throws RecognitionException { + try { + // InternalScope.g:2030:1: ( ruleXCastedExpression EOF ) + // InternalScope.g:2031:1: ruleXCastedExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXCastedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__InfixExpression__Alternatives_1" + // $ANTLR end "entryRuleXCastedExpression" - // $ANTLR start "rule__InfixExpression__NameAlternatives_1_3_2_0" - // InternalScope.g:1982:1: rule__InfixExpression__NameAlternatives_1_3_2_0 : ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ); - public final void rule__InfixExpression__NameAlternatives_1_3_2_0() throws RecognitionException { + // $ANTLR start "ruleXCastedExpression" + // InternalScope.g:2038:1: ruleXCastedExpression : ( ( rule__XCastedExpression__Group__0 ) ) ; + public final void ruleXCastedExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:1986:1: ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) - int alt19=8; - switch ( input.LA(1) ) { - case 23: - { - alt19=1; - } - break; - case 24: - { - alt19=2; - } - break; - case 25: - { - alt19=3; - } - break; - case 26: - { - alt19=4; - } - break; - case 27: - { - alt19=5; - } - break; - case 28: - { - alt19=6; - } - break; - case 29: - { - alt19=7; - } - break; - case 30: - { - alt19=8; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 19, 0, input); - - throw nvae; + // InternalScope.g:2042:2: ( ( ( rule__XCastedExpression__Group__0 ) ) ) + // InternalScope.g:2043:2: ( ( rule__XCastedExpression__Group__0 ) ) + { + // InternalScope.g:2043:2: ( ( rule__XCastedExpression__Group__0 ) ) + // InternalScope.g:2044:3: ( rule__XCastedExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getGroup()); } + // InternalScope.g:2045:3: ( rule__XCastedExpression__Group__0 ) + // InternalScope.g:2045:4: rule__XCastedExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group__0(); - switch (alt19) { - case 1 : - // InternalScope.g:1987:2: ( 'collect' ) - { - // InternalScope.g:1987:2: ( 'collect' ) - // InternalScope.g:1988:3: 'collect' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); - } - match(input,23,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getGroup()); + } - } - break; - case 2 : - // InternalScope.g:1993:2: ( 'select' ) - { - // InternalScope.g:1993:2: ( 'select' ) - // InternalScope.g:1994:3: 'select' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); - } - match(input,24,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); - } + } - } + } - } - break; - case 3 : - // InternalScope.g:1999:2: ( 'selectFirst' ) - { - // InternalScope.g:1999:2: ( 'selectFirst' ) - // InternalScope.g:2000:3: 'selectFirst' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); - } - match(input,25,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); + } + return ; + } + // $ANTLR end "ruleXCastedExpression" - } - break; - case 4 : - // InternalScope.g:2005:2: ( 'reject' ) - { - // InternalScope.g:2005:2: ( 'reject' ) - // InternalScope.g:2006:3: 'reject' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); - } - match(input,26,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); - } - } + // $ANTLR start "entryRuleXPostfixOperation" + // InternalScope.g:2054:1: entryRuleXPostfixOperation : ruleXPostfixOperation EOF ; + public final void entryRuleXPostfixOperation() throws RecognitionException { + try { + // InternalScope.g:2055:1: ( ruleXPostfixOperation EOF ) + // InternalScope.g:2056:1: ruleXPostfixOperation EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationRule()); + } + pushFollow(FOLLOW_1); + ruleXPostfixOperation(); - - } - break; - case 5 : - // InternalScope.g:2011:2: ( 'exists' ) - { - // InternalScope.g:2011:2: ( 'exists' ) - // InternalScope.g:2012:3: 'exists' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); - } - match(input,27,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); - } - - } - - - } - break; - case 6 : - // InternalScope.g:2017:2: ( 'notExists' ) - { - // InternalScope.g:2017:2: ( 'notExists' ) - // InternalScope.g:2018:3: 'notExists' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); - } - match(input,28,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); - } - - } - - - } - break; - case 7 : - // InternalScope.g:2023:2: ( 'sortBy' ) - { - // InternalScope.g:2023:2: ( 'sortBy' ) - // InternalScope.g:2024:3: 'sortBy' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); - } - match(input,29,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); - } - - } - - - } - break; - case 8 : - // InternalScope.g:2029:2: ( 'forAll' ) - { - // InternalScope.g:2029:2: ( 'forAll' ) - // InternalScope.g:2030:3: 'forAll' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); - } - match(input,30,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); - } - - } - - - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__InfixExpression__NameAlternatives_1_3_2_0" + // $ANTLR end "entryRuleXPostfixOperation" - // $ANTLR start "rule__PrimaryExpression__Alternatives" - // InternalScope.g:2039:1: rule__PrimaryExpression__Alternatives : ( ( ruleLiteral ) | ( ruleFeatureCall ) | ( ruleListLiteral ) | ( ruleConstructorCallExpression ) | ( ruleGlobalVarExpression ) | ( ruleParanthesizedExpression ) ); - public final void rule__PrimaryExpression__Alternatives() throws RecognitionException { + // $ANTLR start "ruleXPostfixOperation" + // InternalScope.g:2063:1: ruleXPostfixOperation : ( ( rule__XPostfixOperation__Group__0 ) ) ; + public final void ruleXPostfixOperation() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2043:1: ( ( ruleLiteral ) | ( ruleFeatureCall ) | ( ruleListLiteral ) | ( ruleConstructorCallExpression ) | ( ruleGlobalVarExpression ) | ( ruleParanthesizedExpression ) ) - int alt20=6; - switch ( input.LA(1) ) { - case RULE_STRING: - case RULE_INT: - case RULE_REAL: - case 31: - case 32: - case 86: - { - alt20=1; - } - break; - case RULE_ID: - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - case 33: - case 34: - case 35: - case 85: - { - alt20=2; - } - break; - case 45: - { - alt20=3; - } - break; - case 79: - { - alt20=4; - } - break; - case 78: - { - alt20=5; - } - break; - case 51: - { - alt20=6; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 20, 0, input); - - throw nvae; + // InternalScope.g:2067:2: ( ( ( rule__XPostfixOperation__Group__0 ) ) ) + // InternalScope.g:2068:2: ( ( rule__XPostfixOperation__Group__0 ) ) + { + // InternalScope.g:2068:2: ( ( rule__XPostfixOperation__Group__0 ) ) + // InternalScope.g:2069:3: ( rule__XPostfixOperation__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getGroup()); } + // InternalScope.g:2070:3: ( rule__XPostfixOperation__Group__0 ) + // InternalScope.g:2070:4: rule__XPostfixOperation__Group__0 + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group__0(); - switch (alt20) { - case 1 : - // InternalScope.g:2044:2: ( ruleLiteral ) - { - // InternalScope.g:2044:2: ( ruleLiteral ) - // InternalScope.g:2045:3: ruleLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleLiteral(); - - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); - } - - } - + state._fsp--; + if (state.failed) return ; - } - break; - case 2 : - // InternalScope.g:2050:2: ( ruleFeatureCall ) - { - // InternalScope.g:2050:2: ( ruleFeatureCall ) - // InternalScope.g:2051:3: ruleFeatureCall - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleFeatureCall(); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getGroup()); + } - } + } - } - break; - case 3 : - // InternalScope.g:2056:2: ( ruleListLiteral ) - { - // InternalScope.g:2056:2: ( ruleListLiteral ) - // InternalScope.g:2057:3: ruleListLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); - } - pushFollow(FOLLOW_2); - ruleListLiteral(); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); + } + return ; + } + // $ANTLR end "ruleXPostfixOperation" - } - break; - case 4 : - // InternalScope.g:2062:2: ( ruleConstructorCallExpression ) - { - // InternalScope.g:2062:2: ( ruleConstructorCallExpression ) - // InternalScope.g:2063:3: ruleConstructorCallExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); - } - pushFollow(FOLLOW_2); - ruleConstructorCallExpression(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); - } + // $ANTLR start "entryRuleOpPostfix" + // InternalScope.g:2079:1: entryRuleOpPostfix : ruleOpPostfix EOF ; + public final void entryRuleOpPostfix() throws RecognitionException { + try { + // InternalScope.g:2080:1: ( ruleOpPostfix EOF ) + // InternalScope.g:2081:1: ruleOpPostfix EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpPostfixRule()); + } + pushFollow(FOLLOW_1); + ruleOpPostfix(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpPostfixRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + } - } - break; - case 5 : - // InternalScope.g:2068:2: ( ruleGlobalVarExpression ) - { - // InternalScope.g:2068:2: ( ruleGlobalVarExpression ) - // InternalScope.g:2069:3: ruleGlobalVarExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); - } - pushFollow(FOLLOW_2); - ruleGlobalVarExpression(); + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOpPostfix" - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); - } - } + // $ANTLR start "ruleOpPostfix" + // InternalScope.g:2088:1: ruleOpPostfix : ( ( rule__OpPostfix__Alternatives ) ) ; + public final void ruleOpPostfix() throws RecognitionException { + int stackSize = keepStackSize(); + + try { + // InternalScope.g:2092:2: ( ( ( rule__OpPostfix__Alternatives ) ) ) + // InternalScope.g:2093:2: ( ( rule__OpPostfix__Alternatives ) ) + { + // InternalScope.g:2093:2: ( ( rule__OpPostfix__Alternatives ) ) + // InternalScope.g:2094:3: ( rule__OpPostfix__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpPostfixAccess().getAlternatives()); + } + // InternalScope.g:2095:3: ( rule__OpPostfix__Alternatives ) + // InternalScope.g:2095:4: rule__OpPostfix__Alternatives + { + pushFollow(FOLLOW_2); + rule__OpPostfix__Alternatives(); - } - break; - case 6 : - // InternalScope.g:2074:2: ( ruleParanthesizedExpression ) - { - // InternalScope.g:2074:2: ( ruleParanthesizedExpression ) - // InternalScope.g:2075:3: ruleParanthesizedExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); - } - pushFollow(FOLLOW_2); - ruleParanthesizedExpression(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpPostfixAccess().getAlternatives()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -7653,251 +7102,164 @@ public final void rule__PrimaryExpression__Alternatives() throws RecognitionExce } return ; } - // $ANTLR end "rule__PrimaryExpression__Alternatives" - + // $ANTLR end "ruleOpPostfix" - // $ANTLR start "rule__Literal__Alternatives" - // InternalScope.g:2084:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleIntegerLiteral ) | ( ruleNullLiteral ) | ( ruleRealLiteral ) | ( ruleStringLiteral ) ); - public final void rule__Literal__Alternatives() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXMemberFeatureCall" + // InternalScope.g:2104:1: entryRuleXMemberFeatureCall : ruleXMemberFeatureCall EOF ; + public final void entryRuleXMemberFeatureCall() throws RecognitionException { try { - // InternalScope.g:2088:1: ( ( ruleBooleanLiteral ) | ( ruleIntegerLiteral ) | ( ruleNullLiteral ) | ( ruleRealLiteral ) | ( ruleStringLiteral ) ) - int alt21=5; - switch ( input.LA(1) ) { - case 31: - case 32: - { - alt21=1; - } - break; - case RULE_INT: - { - alt21=2; - } - break; - case 86: - { - alt21=3; - } - break; - case RULE_REAL: - { - alt21=4; - } - break; - case RULE_STRING: - { - alt21=5; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 21, 0, input); - - throw nvae; + // InternalScope.g:2105:1: ( ruleXMemberFeatureCall EOF ) + // InternalScope.g:2106:1: ruleXMemberFeatureCall EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallRule()); } + pushFollow(FOLLOW_1); + ruleXMemberFeatureCall(); - switch (alt21) { - case 1 : - // InternalScope.g:2089:2: ( ruleBooleanLiteral ) - { - // InternalScope.g:2089:2: ( ruleBooleanLiteral ) - // InternalScope.g:2090:3: ruleBooleanLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleBooleanLiteral(); - - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); - } - - } - + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - } - break; - case 2 : - // InternalScope.g:2095:2: ( ruleIntegerLiteral ) - { - // InternalScope.g:2095:2: ( ruleIntegerLiteral ) - // InternalScope.g:2096:3: ruleIntegerLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleIntegerLiteral(); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXMemberFeatureCall" - } + // $ANTLR start "ruleXMemberFeatureCall" + // InternalScope.g:2113:1: ruleXMemberFeatureCall : ( ( rule__XMemberFeatureCall__Group__0 ) ) ; + public final void ruleXMemberFeatureCall() throws RecognitionException { - } - break; - case 3 : - // InternalScope.g:2101:2: ( ruleNullLiteral ) - { - // InternalScope.g:2101:2: ( ruleNullLiteral ) - // InternalScope.g:2102:3: ruleNullLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); - } - pushFollow(FOLLOW_2); - ruleNullLiteral(); + int stackSize = keepStackSize(); + + try { + // InternalScope.g:2117:2: ( ( ( rule__XMemberFeatureCall__Group__0 ) ) ) + // InternalScope.g:2118:2: ( ( rule__XMemberFeatureCall__Group__0 ) ) + { + // InternalScope.g:2118:2: ( ( rule__XMemberFeatureCall__Group__0 ) ) + // InternalScope.g:2119:3: ( rule__XMemberFeatureCall__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup()); + } + // InternalScope.g:2120:3: ( rule__XMemberFeatureCall__Group__0 ) + // InternalScope.g:2120:4: rule__XMemberFeatureCall__Group__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group__0(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup()); + } - } - break; - case 4 : - // InternalScope.g:2107:2: ( ruleRealLiteral ) - { - // InternalScope.g:2107:2: ( ruleRealLiteral ) - // InternalScope.g:2108:3: ruleRealLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); - } - pushFollow(FOLLOW_2); - ruleRealLiteral(); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 5 : - // InternalScope.g:2113:2: ( ruleStringLiteral ) - { - // InternalScope.g:2113:2: ( ruleStringLiteral ) - // InternalScope.g:2114:3: ruleStringLiteral - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); - } - pushFollow(FOLLOW_2); - ruleStringLiteral(); + restoreStackSize(stackSize); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); - } + } + return ; + } + // $ANTLR end "ruleXMemberFeatureCall" - } + // $ANTLR start "entryRuleXPrimaryExpression" + // InternalScope.g:2129:1: entryRuleXPrimaryExpression : ruleXPrimaryExpression EOF ; + public final void entryRuleXPrimaryExpression() throws RecognitionException { + try { + // InternalScope.g:2130:1: ( ruleXPrimaryExpression EOF ) + // InternalScope.g:2131:1: ruleXPrimaryExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXPrimaryExpression(); - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Literal__Alternatives" + // $ANTLR end "entryRuleXPrimaryExpression" - // $ANTLR start "rule__BooleanLiteral__ValAlternatives_0" - // InternalScope.g:2123:1: rule__BooleanLiteral__ValAlternatives_0 : ( ( 'true' ) | ( 'false' ) ); - public final void rule__BooleanLiteral__ValAlternatives_0() throws RecognitionException { + // $ANTLR start "ruleXPrimaryExpression" + // InternalScope.g:2138:1: ruleXPrimaryExpression : ( ( rule__XPrimaryExpression__Alternatives ) ) ; + public final void ruleXPrimaryExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2127:1: ( ( 'true' ) | ( 'false' ) ) - int alt22=2; - int LA22_0 = input.LA(1); - - if ( (LA22_0==31) ) { - alt22=1; - } - else if ( (LA22_0==32) ) { - alt22=2; - } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 22, 0, input); - - throw nvae; + // InternalScope.g:2142:2: ( ( ( rule__XPrimaryExpression__Alternatives ) ) ) + // InternalScope.g:2143:2: ( ( rule__XPrimaryExpression__Alternatives ) ) + { + // InternalScope.g:2143:2: ( ( rule__XPrimaryExpression__Alternatives ) ) + // InternalScope.g:2144:3: ( rule__XPrimaryExpression__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); } - switch (alt22) { - case 1 : - // InternalScope.g:2128:2: ( 'true' ) - { - // InternalScope.g:2128:2: ( 'true' ) - // InternalScope.g:2129:3: 'true' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); - } - match(input,31,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); - } - - } + // InternalScope.g:2145:3: ( rule__XPrimaryExpression__Alternatives ) + // InternalScope.g:2145:4: rule__XPrimaryExpression__Alternatives + { + pushFollow(FOLLOW_2); + rule__XPrimaryExpression__Alternatives(); + state._fsp--; + if (state.failed) return ; - } - break; - case 2 : - // InternalScope.g:2134:2: ( 'false' ) - { - // InternalScope.g:2134:2: ( 'false' ) - // InternalScope.g:2135:3: 'false' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); - } - match(input,32,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -7910,171 +7272,164 @@ else if ( (LA22_0==32) ) { } return ; } - // $ANTLR end "rule__BooleanLiteral__ValAlternatives_0" + // $ANTLR end "ruleXPrimaryExpression" - // $ANTLR start "rule__FeatureCall__Alternatives" - // InternalScope.g:2144:1: rule__FeatureCall__Alternatives : ( ( ruleOperationCall ) | ( ( rule__FeatureCall__TypeAssignment_1 ) ) | ( ruleCollectionExpression ) | ( ruleTypeSelectExpression ) ); - public final void rule__FeatureCall__Alternatives() throws RecognitionException { + // $ANTLR start "entryRuleXLiteral" + // InternalScope.g:2154:1: entryRuleXLiteral : ruleXLiteral EOF ; + public final void entryRuleXLiteral() throws RecognitionException { + try { + // InternalScope.g:2155:1: ( ruleXLiteral EOF ) + // InternalScope.g:2156:1: ruleXLiteral EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXLiteral" + + + // $ANTLR start "ruleXLiteral" + // InternalScope.g:2163:1: ruleXLiteral : ( ( rule__XLiteral__Alternatives ) ) ; + public final void ruleXLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2148:1: ( ( ruleOperationCall ) | ( ( rule__FeatureCall__TypeAssignment_1 ) ) | ( ruleCollectionExpression ) | ( ruleTypeSelectExpression ) ) - int alt23=4; - switch ( input.LA(1) ) { - case RULE_ID: - { - int LA23_1 = input.LA(2); + // InternalScope.g:2167:2: ( ( ( rule__XLiteral__Alternatives ) ) ) + // InternalScope.g:2168:2: ( ( rule__XLiteral__Alternatives ) ) + { + // InternalScope.g:2168:2: ( ( rule__XLiteral__Alternatives ) ) + // InternalScope.g:2169:3: ( rule__XLiteral__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getAlternatives()); + } + // InternalScope.g:2170:3: ( rule__XLiteral__Alternatives ) + // InternalScope.g:2170:4: rule__XLiteral__Alternatives + { + pushFollow(FOLLOW_2); + rule__XLiteral__Alternatives(); - if ( (LA23_1==EOF||(LA23_1>=12 && LA23_1<=21)||LA23_1==41||(LA23_1>=46 && LA23_1<=47)||LA23_1==49||LA23_1==52||LA23_1==55||LA23_1==57||LA23_1==60||(LA23_1>=67 && LA23_1<=68)||(LA23_1>=70 && LA23_1<=72)||(LA23_1>=74 && LA23_1<=75)||LA23_1==77||(LA23_1>=82 && LA23_1<=84)) ) { - alt23=2; - } - else if ( (LA23_1==51) ) { - alt23=1; - } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 23, 1, input); + state._fsp--; + if (state.failed) return ; - throw nvae; - } - } - break; - case 33: - case 34: - case 35: - { - alt23=2; - } - break; - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - { - alt23=3; - } - break; - case 85: - { - alt23=4; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 23, 0, input); + } - throw nvae; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getAlternatives()); } - switch (alt23) { - case 1 : - // InternalScope.g:2149:2: ( ruleOperationCall ) - { - // InternalScope.g:2149:2: ( ruleOperationCall ) - // InternalScope.g:2150:3: ruleOperationCall - { - if ( state.backtracking==0 ) { - before(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleOperationCall(); + } - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 2 : - // InternalScope.g:2155:2: ( ( rule__FeatureCall__TypeAssignment_1 ) ) - { - // InternalScope.g:2155:2: ( ( rule__FeatureCall__TypeAssignment_1 ) ) - // InternalScope.g:2156:3: ( rule__FeatureCall__TypeAssignment_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); - } - // InternalScope.g:2157:3: ( rule__FeatureCall__TypeAssignment_1 ) - // InternalScope.g:2157:4: rule__FeatureCall__TypeAssignment_1 - { - pushFollow(FOLLOW_2); - rule__FeatureCall__TypeAssignment_1(); + restoreStackSize(stackSize); - state._fsp--; - if (state.failed) return ; + } + return ; + } + // $ANTLR end "ruleXLiteral" - } - if ( state.backtracking==0 ) { - after(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); - } + // $ANTLR start "entryRuleXCollectionLiteral" + // InternalScope.g:2179:1: entryRuleXCollectionLiteral : ruleXCollectionLiteral EOF ; + public final void entryRuleXCollectionLiteral() throws RecognitionException { + try { + // InternalScope.g:2180:1: ( ruleXCollectionLiteral EOF ) + // InternalScope.g:2181:1: ruleXCollectionLiteral EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCollectionLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXCollectionLiteral(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCollectionLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + } - } - break; - case 3 : - // InternalScope.g:2161:2: ( ruleCollectionExpression ) - { - // InternalScope.g:2161:2: ( ruleCollectionExpression ) - // InternalScope.g:2162:3: ruleCollectionExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); - } - pushFollow(FOLLOW_2); - ruleCollectionExpression(); + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXCollectionLiteral" - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); - } - } + // $ANTLR start "ruleXCollectionLiteral" + // InternalScope.g:2188:1: ruleXCollectionLiteral : ( ( rule__XCollectionLiteral__Alternatives ) ) ; + public final void ruleXCollectionLiteral() throws RecognitionException { + int stackSize = keepStackSize(); + + try { + // InternalScope.g:2192:2: ( ( ( rule__XCollectionLiteral__Alternatives ) ) ) + // InternalScope.g:2193:2: ( ( rule__XCollectionLiteral__Alternatives ) ) + { + // InternalScope.g:2193:2: ( ( rule__XCollectionLiteral__Alternatives ) ) + // InternalScope.g:2194:3: ( rule__XCollectionLiteral__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); + } + // InternalScope.g:2195:3: ( rule__XCollectionLiteral__Alternatives ) + // InternalScope.g:2195:4: rule__XCollectionLiteral__Alternatives + { + pushFollow(FOLLOW_2); + rule__XCollectionLiteral__Alternatives(); - } - break; - case 4 : - // InternalScope.g:2167:2: ( ruleTypeSelectExpression ) - { - // InternalScope.g:2167:2: ( ruleTypeSelectExpression ) - // InternalScope.g:2168:3: ruleTypeSelectExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); - } - pushFollow(FOLLOW_2); - ruleTypeSelectExpression(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -8087,222 +7442,164 @@ else if ( (LA23_1==51) ) { } return ; } - // $ANTLR end "rule__FeatureCall__Alternatives" - + // $ANTLR end "ruleXCollectionLiteral" - // $ANTLR start "rule__CollectionExpression__NameAlternatives_0_0" - // InternalScope.g:2177:1: rule__CollectionExpression__NameAlternatives_0_0 : ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ); - public final void rule__CollectionExpression__NameAlternatives_0_0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXSetLiteral" + // InternalScope.g:2204:1: entryRuleXSetLiteral : ruleXSetLiteral EOF ; + public final void entryRuleXSetLiteral() throws RecognitionException { try { - // InternalScope.g:2181:1: ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) - int alt24=8; - switch ( input.LA(1) ) { - case 23: - { - alt24=1; - } - break; - case 24: - { - alt24=2; - } - break; - case 25: - { - alt24=3; - } - break; - case 26: - { - alt24=4; - } - break; - case 27: - { - alt24=5; - } - break; - case 28: - { - alt24=6; - } - break; - case 29: - { - alt24=7; - } - break; - case 30: - { - alt24=8; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 24, 0, input); + // InternalScope.g:2205:1: ( ruleXSetLiteral EOF ) + // InternalScope.g:2206:1: ruleXSetLiteral EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXSetLiteral(); - throw nvae; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralRule()); } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - switch (alt24) { - case 1 : - // InternalScope.g:2182:2: ( 'collect' ) - { - // InternalScope.g:2182:2: ( 'collect' ) - // InternalScope.g:2183:3: 'collect' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); - } - match(input,23,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); - } + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXSetLiteral" - } - break; - case 2 : - // InternalScope.g:2188:2: ( 'select' ) - { - // InternalScope.g:2188:2: ( 'select' ) - // InternalScope.g:2189:3: 'select' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); - } - match(input,24,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); - } + // $ANTLR start "ruleXSetLiteral" + // InternalScope.g:2213:1: ruleXSetLiteral : ( ( rule__XSetLiteral__Group__0 ) ) ; + public final void ruleXSetLiteral() throws RecognitionException { - } + int stackSize = keepStackSize(); + + try { + // InternalScope.g:2217:2: ( ( ( rule__XSetLiteral__Group__0 ) ) ) + // InternalScope.g:2218:2: ( ( rule__XSetLiteral__Group__0 ) ) + { + // InternalScope.g:2218:2: ( ( rule__XSetLiteral__Group__0 ) ) + // InternalScope.g:2219:3: ( rule__XSetLiteral__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getGroup()); + } + // InternalScope.g:2220:3: ( rule__XSetLiteral__Group__0 ) + // InternalScope.g:2220:4: rule__XSetLiteral__Group__0 + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group__0(); + state._fsp--; + if (state.failed) return ; - } - break; - case 3 : - // InternalScope.g:2194:2: ( 'selectFirst' ) - { - // InternalScope.g:2194:2: ( 'selectFirst' ) - // InternalScope.g:2195:3: 'selectFirst' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); - } - match(input,25,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getGroup()); + } + } - } - break; - case 4 : - // InternalScope.g:2200:2: ( 'reject' ) - { - // InternalScope.g:2200:2: ( 'reject' ) - // InternalScope.g:2201:3: 'reject' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); - } - match(input,26,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); - } - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 5 : - // InternalScope.g:2206:2: ( 'exists' ) - { - // InternalScope.g:2206:2: ( 'exists' ) - // InternalScope.g:2207:3: 'exists' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); - } - match(input,27,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); - } + restoreStackSize(stackSize); - } + } + return ; + } + // $ANTLR end "ruleXSetLiteral" - } - break; - case 6 : - // InternalScope.g:2212:2: ( 'notExists' ) - { - // InternalScope.g:2212:2: ( 'notExists' ) - // InternalScope.g:2213:3: 'notExists' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); - } - match(input,28,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); - } + // $ANTLR start "entryRuleXListLiteral" + // InternalScope.g:2229:1: entryRuleXListLiteral : ruleXListLiteral EOF ; + public final void entryRuleXListLiteral() throws RecognitionException { + try { + // InternalScope.g:2230:1: ( ruleXListLiteral EOF ) + // InternalScope.g:2231:1: ruleXListLiteral EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXListLiteral(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + } - } - break; - case 7 : - // InternalScope.g:2218:2: ( 'sortBy' ) - { - // InternalScope.g:2218:2: ( 'sortBy' ) - // InternalScope.g:2219:3: 'sortBy' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); - } - match(input,29,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXListLiteral" - } + // $ANTLR start "ruleXListLiteral" + // InternalScope.g:2238:1: ruleXListLiteral : ( ( rule__XListLiteral__Group__0 ) ) ; + public final void ruleXListLiteral() throws RecognitionException { - } - break; - case 8 : - // InternalScope.g:2224:2: ( 'forAll' ) - { - // InternalScope.g:2224:2: ( 'forAll' ) - // InternalScope.g:2225:3: 'forAll' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); - } - match(input,30,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); - } + int stackSize = keepStackSize(); + + try { + // InternalScope.g:2242:2: ( ( ( rule__XListLiteral__Group__0 ) ) ) + // InternalScope.g:2243:2: ( ( rule__XListLiteral__Group__0 ) ) + { + // InternalScope.g:2243:2: ( ( rule__XListLiteral__Group__0 ) ) + // InternalScope.g:2244:3: ( rule__XListLiteral__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getGroup()); + } + // InternalScope.g:2245:3: ( rule__XListLiteral__Group__0 ) + // InternalScope.g:2245:4: rule__XListLiteral__Group__0 + { + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__0(); - } + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getGroup()); + } + + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -8315,82 +7612,79 @@ public final void rule__CollectionExpression__NameAlternatives_0_0() throws Reco } return ; } - // $ANTLR end "rule__CollectionExpression__NameAlternatives_0_0" - + // $ANTLR end "ruleXListLiteral" - // $ANTLR start "rule__Type__Alternatives" - // InternalScope.g:2234:1: rule__Type__Alternatives : ( ( ruleCollectionType ) | ( ruleSimpleType ) ); - public final void rule__Type__Alternatives() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXClosure" + // InternalScope.g:2254:1: entryRuleXClosure : ruleXClosure EOF ; + public final void entryRuleXClosure() throws RecognitionException { try { - // InternalScope.g:2238:1: ( ( ruleCollectionType ) | ( ruleSimpleType ) ) - int alt25=2; - int LA25_0 = input.LA(1); - - if ( ((LA25_0>=33 && LA25_0<=35)) ) { - alt25=1; + // InternalScope.g:2255:1: ( ruleXClosure EOF ) + // InternalScope.g:2256:1: ruleXClosure EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureRule()); } - else if ( (LA25_0==RULE_ID) ) { - alt25=2; + pushFollow(FOLLOW_1); + ruleXClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureRule()); } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 25, 0, input); + match(input,EOF,FOLLOW_2); if (state.failed) return ; - throw nvae; } - switch (alt25) { - case 1 : - // InternalScope.g:2239:2: ( ruleCollectionType ) - { - // InternalScope.g:2239:2: ( ruleCollectionType ) - // InternalScope.g:2240:3: ruleCollectionType - { - if ( state.backtracking==0 ) { - before(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); - } - pushFollow(FOLLOW_2); - ruleCollectionType(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXClosure" - } + // $ANTLR start "ruleXClosure" + // InternalScope.g:2263:1: ruleXClosure : ( ( rule__XClosure__Group__0 ) ) ; + public final void ruleXClosure() throws RecognitionException { - } - break; - case 2 : - // InternalScope.g:2245:2: ( ruleSimpleType ) - { - // InternalScope.g:2245:2: ( ruleSimpleType ) - // InternalScope.g:2246:3: ruleSimpleType - { - if ( state.backtracking==0 ) { - before(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); - } - pushFollow(FOLLOW_2); - ruleSimpleType(); + int stackSize = keepStackSize(); + + try { + // InternalScope.g:2267:2: ( ( ( rule__XClosure__Group__0 ) ) ) + // InternalScope.g:2268:2: ( ( rule__XClosure__Group__0 ) ) + { + // InternalScope.g:2268:2: ( ( rule__XClosure__Group__0 ) ) + // InternalScope.g:2269:3: ( rule__XClosure__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup()); + } + // InternalScope.g:2270:3: ( rule__XClosure__Group__0 ) + // InternalScope.g:2270:4: rule__XClosure__Group__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group__0(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); - } + state._fsp--; + if (state.failed) return ; - } + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -8403,194 +7697,79 @@ else if ( (LA25_0==RULE_ID) ) { } return ; } - // $ANTLR end "rule__Type__Alternatives" + // $ANTLR end "ruleXClosure" - // $ANTLR start "rule__CollectionType__ClAlternatives_0_0" - // InternalScope.g:2255:1: rule__CollectionType__ClAlternatives_0_0 : ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ); - public final void rule__CollectionType__ClAlternatives_0_0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXExpressionInClosure" + // InternalScope.g:2279:1: entryRuleXExpressionInClosure : ruleXExpressionInClosure EOF ; + public final void entryRuleXExpressionInClosure() throws RecognitionException { try { - // InternalScope.g:2259:1: ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) - int alt26=3; - switch ( input.LA(1) ) { - case 33: - { - alt26=1; - } - break; - case 34: - { - alt26=2; - } - break; - case 35: - { - alt26=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 26, 0, input); - - throw nvae; + // InternalScope.g:2280:1: ( ruleXExpressionInClosure EOF ) + // InternalScope.g:2281:1: ruleXExpressionInClosure EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureRule()); } + pushFollow(FOLLOW_1); + ruleXExpressionInClosure(); - switch (alt26) { - case 1 : - // InternalScope.g:2260:2: ( 'Collection' ) - { - // InternalScope.g:2260:2: ( 'Collection' ) - // InternalScope.g:2261:3: 'Collection' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); - } - match(input,33,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); - } - - } - - - } - break; - case 2 : - // InternalScope.g:2266:2: ( 'List' ) - { - // InternalScope.g:2266:2: ( 'List' ) - // InternalScope.g:2267:3: 'List' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); - } - match(input,34,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); - } - - } - - - } - break; - case 3 : - // InternalScope.g:2272:2: ( 'Set' ) - { - // InternalScope.g:2272:2: ( 'Set' ) - // InternalScope.g:2273:3: 'Set' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); - } - match(input,35,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); - } - - } - - - } - break; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__CollectionType__ClAlternatives_0_0" + // $ANTLR end "entryRuleXExpressionInClosure" - // $ANTLR start "rule__Casing__Alternatives" - // InternalScope.g:2282:1: rule__Casing__Alternatives : ( ( ( 'sensitive' ) ) | ( ( 'insensitive' ) ) ); - public final void rule__Casing__Alternatives() throws RecognitionException { + // $ANTLR start "ruleXExpressionInClosure" + // InternalScope.g:2288:1: ruleXExpressionInClosure : ( ( rule__XExpressionInClosure__Group__0 ) ) ; + public final void ruleXExpressionInClosure() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2286:1: ( ( ( 'sensitive' ) ) | ( ( 'insensitive' ) ) ) - int alt27=2; - int LA27_0 = input.LA(1); - - if ( (LA27_0==36) ) { - alt27=1; - } - else if ( (LA27_0==37) ) { - alt27=2; - } - else { - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 27, 0, input); - - throw nvae; + // InternalScope.g:2292:2: ( ( ( rule__XExpressionInClosure__Group__0 ) ) ) + // InternalScope.g:2293:2: ( ( rule__XExpressionInClosure__Group__0 ) ) + { + // InternalScope.g:2293:2: ( ( rule__XExpressionInClosure__Group__0 ) ) + // InternalScope.g:2294:3: ( rule__XExpressionInClosure__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureAccess().getGroup()); } - switch (alt27) { - case 1 : - // InternalScope.g:2287:2: ( ( 'sensitive' ) ) - { - // InternalScope.g:2287:2: ( ( 'sensitive' ) ) - // InternalScope.g:2288:3: ( 'sensitive' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCasingAccess().getSENSITIVEEnumLiteralDeclaration_0()); - } - // InternalScope.g:2289:3: ( 'sensitive' ) - // InternalScope.g:2289:4: 'sensitive' - { - match(input,36,FOLLOW_2); if (state.failed) return ; - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getCasingAccess().getSENSITIVEEnumLiteralDeclaration_0()); - } - - } - - - } - break; - case 2 : - // InternalScope.g:2293:2: ( ( 'insensitive' ) ) - { - // InternalScope.g:2293:2: ( ( 'insensitive' ) ) - // InternalScope.g:2294:3: ( 'insensitive' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCasingAccess().getINSENSITIVEEnumLiteralDeclaration_1()); - } - // InternalScope.g:2295:3: ( 'insensitive' ) - // InternalScope.g:2295:4: 'insensitive' - { - match(input,37,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:2295:3: ( rule__XExpressionInClosure__Group__0 ) + // InternalScope.g:2295:4: rule__XExpressionInClosure__Group__0 + { + pushFollow(FOLLOW_2); + rule__XExpressionInClosure__Group__0(); - } + state._fsp--; + if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCasingAccess().getINSENSITIVEEnumLiteralDeclaration_1()); - } + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureAccess().getGroup()); + } + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -8603,29 +7782,28 @@ else if ( (LA27_0==37) ) { } return ; } - // $ANTLR end "rule__Casing__Alternatives" + // $ANTLR end "ruleXExpressionInClosure" - // $ANTLR start "rule__ScopeModel__Group__0" - // InternalScope.g:2303:1: rule__ScopeModel__Group__0 : rule__ScopeModel__Group__0__Impl rule__ScopeModel__Group__1 ; - public final void rule__ScopeModel__Group__0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXShortClosure" + // InternalScope.g:2304:1: entryRuleXShortClosure : ruleXShortClosure EOF ; + public final void entryRuleXShortClosure() throws RecognitionException { try { - // InternalScope.g:2307:1: ( rule__ScopeModel__Group__0__Impl rule__ScopeModel__Group__1 ) - // InternalScope.g:2308:2: rule__ScopeModel__Group__0__Impl rule__ScopeModel__Group__1 + // InternalScope.g:2305:1: ( ruleXShortClosure EOF ) + // InternalScope.g:2306:1: ruleXShortClosure EOF { - pushFollow(FOLLOW_3); - rule__ScopeModel__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeModel__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureRule()); + } + pushFollow(FOLLOW_1); + ruleXShortClosure(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8635,34 +7813,41 @@ public final void rule__ScopeModel__Group__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeModel__Group__0" + // $ANTLR end "entryRuleXShortClosure" - // $ANTLR start "rule__ScopeModel__Group__0__Impl" - // InternalScope.g:2315:1: rule__ScopeModel__Group__0__Impl : ( 'scoping' ) ; - public final void rule__ScopeModel__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXShortClosure" + // InternalScope.g:2313:1: ruleXShortClosure : ( ( rule__XShortClosure__Group__0 ) ) ; + public final void ruleXShortClosure() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2319:1: ( ( 'scoping' ) ) - // InternalScope.g:2320:1: ( 'scoping' ) + // InternalScope.g:2317:2: ( ( ( rule__XShortClosure__Group__0 ) ) ) + // InternalScope.g:2318:2: ( ( rule__XShortClosure__Group__0 ) ) { - // InternalScope.g:2320:1: ( 'scoping' ) - // InternalScope.g:2321:2: 'scoping' + // InternalScope.g:2318:2: ( ( rule__XShortClosure__Group__0 ) ) + // InternalScope.g:2319:3: ( rule__XShortClosure__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getScopingKeyword_0()); + before(grammarAccess.getXShortClosureAccess().getGroup()); + } + // InternalScope.g:2320:3: ( rule__XShortClosure__Group__0 ) + // InternalScope.g:2320:4: rule__XShortClosure__Group__0 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,38,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getScopingKeyword_0()); + after(grammarAccess.getXShortClosureAccess().getGroup()); } } @@ -8682,29 +7867,28 @@ public final void rule__ScopeModel__Group__0__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__ScopeModel__Group__0__Impl" - + // $ANTLR end "ruleXShortClosure" - // $ANTLR start "rule__ScopeModel__Group__1" - // InternalScope.g:2330:1: rule__ScopeModel__Group__1 : rule__ScopeModel__Group__1__Impl rule__ScopeModel__Group__2 ; - public final void rule__ScopeModel__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXParenthesizedExpression" + // InternalScope.g:2329:1: entryRuleXParenthesizedExpression : ruleXParenthesizedExpression EOF ; + public final void entryRuleXParenthesizedExpression() throws RecognitionException { try { - // InternalScope.g:2334:1: ( rule__ScopeModel__Group__1__Impl rule__ScopeModel__Group__2 ) - // InternalScope.g:2335:2: rule__ScopeModel__Group__1__Impl rule__ScopeModel__Group__2 + // InternalScope.g:2330:1: ( ruleXParenthesizedExpression EOF ) + // InternalScope.g:2331:1: ruleXParenthesizedExpression EOF { - pushFollow(FOLLOW_4); - rule__ScopeModel__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeModel__Group__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXParenthesizedExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXParenthesizedExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXParenthesizedExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8714,36 +7898,33 @@ public final void rule__ScopeModel__Group__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeModel__Group__1" + // $ANTLR end "entryRuleXParenthesizedExpression" - // $ANTLR start "rule__ScopeModel__Group__1__Impl" - // InternalScope.g:2342:1: rule__ScopeModel__Group__1__Impl : ( ( rule__ScopeModel__NameAssignment_1 ) ) ; - public final void rule__ScopeModel__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXParenthesizedExpression" + // InternalScope.g:2338:1: ruleXParenthesizedExpression : ( ( rule__XParenthesizedExpression__Group__0 ) ) ; + public final void ruleXParenthesizedExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2346:1: ( ( ( rule__ScopeModel__NameAssignment_1 ) ) ) - // InternalScope.g:2347:1: ( ( rule__ScopeModel__NameAssignment_1 ) ) + // InternalScope.g:2342:2: ( ( ( rule__XParenthesizedExpression__Group__0 ) ) ) + // InternalScope.g:2343:2: ( ( rule__XParenthesizedExpression__Group__0 ) ) { - // InternalScope.g:2347:1: ( ( rule__ScopeModel__NameAssignment_1 ) ) - // InternalScope.g:2348:2: ( rule__ScopeModel__NameAssignment_1 ) + // InternalScope.g:2343:2: ( ( rule__XParenthesizedExpression__Group__0 ) ) + // InternalScope.g:2344:3: ( rule__XParenthesizedExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getNameAssignment_1()); + before(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); } - // InternalScope.g:2349:2: ( rule__ScopeModel__NameAssignment_1 ) - // InternalScope.g:2349:3: rule__ScopeModel__NameAssignment_1 + // InternalScope.g:2345:3: ( rule__XParenthesizedExpression__Group__0 ) + // InternalScope.g:2345:4: rule__XParenthesizedExpression__Group__0 { pushFollow(FOLLOW_2); - rule__ScopeModel__NameAssignment_1(); + rule__XParenthesizedExpression__Group__0(); state._fsp--; if (state.failed) return ; @@ -8751,7 +7932,7 @@ public final void rule__ScopeModel__Group__1__Impl() throws RecognitionException } if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getNameAssignment_1()); + after(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); } } @@ -8771,29 +7952,28 @@ public final void rule__ScopeModel__Group__1__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__ScopeModel__Group__1__Impl" - + // $ANTLR end "ruleXParenthesizedExpression" - // $ANTLR start "rule__ScopeModel__Group__2" - // InternalScope.g:2357:1: rule__ScopeModel__Group__2 : rule__ScopeModel__Group__2__Impl rule__ScopeModel__Group__3 ; - public final void rule__ScopeModel__Group__2() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXIfExpression" + // InternalScope.g:2354:1: entryRuleXIfExpression : ruleXIfExpression EOF ; + public final void entryRuleXIfExpression() throws RecognitionException { try { - // InternalScope.g:2361:1: ( rule__ScopeModel__Group__2__Impl rule__ScopeModel__Group__3 ) - // InternalScope.g:2362:2: rule__ScopeModel__Group__2__Impl rule__ScopeModel__Group__3 + // InternalScope.g:2355:1: ( ruleXIfExpression EOF ) + // InternalScope.g:2356:1: ruleXIfExpression EOF { - pushFollow(FOLLOW_4); - rule__ScopeModel__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeModel__Group__3(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXIfExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8803,55 +7983,41 @@ public final void rule__ScopeModel__Group__2() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeModel__Group__2" + // $ANTLR end "entryRuleXIfExpression" - // $ANTLR start "rule__ScopeModel__Group__2__Impl" - // InternalScope.g:2369:1: rule__ScopeModel__Group__2__Impl : ( ( rule__ScopeModel__Group_2__0 )? ) ; - public final void rule__ScopeModel__Group__2__Impl() throws RecognitionException { + // $ANTLR start "ruleXIfExpression" + // InternalScope.g:2363:1: ruleXIfExpression : ( ( rule__XIfExpression__Group__0 ) ) ; + public final void ruleXIfExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2373:1: ( ( ( rule__ScopeModel__Group_2__0 )? ) ) - // InternalScope.g:2374:1: ( ( rule__ScopeModel__Group_2__0 )? ) + // InternalScope.g:2367:2: ( ( ( rule__XIfExpression__Group__0 ) ) ) + // InternalScope.g:2368:2: ( ( rule__XIfExpression__Group__0 ) ) { - // InternalScope.g:2374:1: ( ( rule__ScopeModel__Group_2__0 )? ) - // InternalScope.g:2375:2: ( rule__ScopeModel__Group_2__0 )? + // InternalScope.g:2368:2: ( ( rule__XIfExpression__Group__0 ) ) + // InternalScope.g:2369:3: ( rule__XIfExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getGroup_2()); + before(grammarAccess.getXIfExpressionAccess().getGroup()); } - // InternalScope.g:2376:2: ( rule__ScopeModel__Group_2__0 )? - int alt28=2; - int LA28_0 = input.LA(1); - - if ( (LA28_0==39) ) { - alt28=1; - } - switch (alt28) { - case 1 : - // InternalScope.g:2376:3: rule__ScopeModel__Group_2__0 - { - pushFollow(FOLLOW_2); - rule__ScopeModel__Group_2__0(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:2370:3: ( rule__XIfExpression__Group__0 ) + // InternalScope.g:2370:4: rule__XIfExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getGroup_2()); + after(grammarAccess.getXIfExpressionAccess().getGroup()); } } @@ -8871,29 +8037,28 @@ public final void rule__ScopeModel__Group__2__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__ScopeModel__Group__2__Impl" - + // $ANTLR end "ruleXIfExpression" - // $ANTLR start "rule__ScopeModel__Group__3" - // InternalScope.g:2384:1: rule__ScopeModel__Group__3 : rule__ScopeModel__Group__3__Impl rule__ScopeModel__Group__4 ; - public final void rule__ScopeModel__Group__3() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXSwitchExpression" + // InternalScope.g:2379:1: entryRuleXSwitchExpression : ruleXSwitchExpression EOF ; + public final void entryRuleXSwitchExpression() throws RecognitionException { try { - // InternalScope.g:2388:1: ( rule__ScopeModel__Group__3__Impl rule__ScopeModel__Group__4 ) - // InternalScope.g:2389:2: rule__ScopeModel__Group__3__Impl rule__ScopeModel__Group__4 + // InternalScope.g:2380:1: ( ruleXSwitchExpression EOF ) + // InternalScope.g:2381:1: ruleXSwitchExpression EOF { - pushFollow(FOLLOW_4); - rule__ScopeModel__Group__3__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeModel__Group__4(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXSwitchExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -8903,62 +8068,41 @@ public final void rule__ScopeModel__Group__3() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeModel__Group__3" + // $ANTLR end "entryRuleXSwitchExpression" - // $ANTLR start "rule__ScopeModel__Group__3__Impl" - // InternalScope.g:2396:1: rule__ScopeModel__Group__3__Impl : ( ( rule__ScopeModel__ImportsAssignment_3 )* ) ; - public final void rule__ScopeModel__Group__3__Impl() throws RecognitionException { + // $ANTLR start "ruleXSwitchExpression" + // InternalScope.g:2388:1: ruleXSwitchExpression : ( ( rule__XSwitchExpression__Group__0 ) ) ; + public final void ruleXSwitchExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2400:1: ( ( ( rule__ScopeModel__ImportsAssignment_3 )* ) ) - // InternalScope.g:2401:1: ( ( rule__ScopeModel__ImportsAssignment_3 )* ) + // InternalScope.g:2392:2: ( ( ( rule__XSwitchExpression__Group__0 ) ) ) + // InternalScope.g:2393:2: ( ( rule__XSwitchExpression__Group__0 ) ) { - // InternalScope.g:2401:1: ( ( rule__ScopeModel__ImportsAssignment_3 )* ) - // InternalScope.g:2402:2: ( rule__ScopeModel__ImportsAssignment_3 )* + // InternalScope.g:2393:2: ( ( rule__XSwitchExpression__Group__0 ) ) + // InternalScope.g:2394:3: ( rule__XSwitchExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getImportsAssignment_3()); + before(grammarAccess.getXSwitchExpressionAccess().getGroup()); } - // InternalScope.g:2403:2: ( rule__ScopeModel__ImportsAssignment_3 )* - loop29: - do { - int alt29=2; - int LA29_0 = input.LA(1); - - if ( (LA29_0==40) ) { - alt29=1; - } - - - switch (alt29) { - case 1 : - // InternalScope.g:2403:3: rule__ScopeModel__ImportsAssignment_3 - { - pushFollow(FOLLOW_5); - rule__ScopeModel__ImportsAssignment_3(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:2395:3: ( rule__XSwitchExpression__Group__0 ) + // InternalScope.g:2395:4: rule__XSwitchExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop29; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getImportsAssignment_3()); + after(grammarAccess.getXSwitchExpressionAccess().getGroup()); } } @@ -8978,29 +8122,28 @@ public final void rule__ScopeModel__Group__3__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__ScopeModel__Group__3__Impl" - + // $ANTLR end "ruleXSwitchExpression" - // $ANTLR start "rule__ScopeModel__Group__4" - // InternalScope.g:2411:1: rule__ScopeModel__Group__4 : rule__ScopeModel__Group__4__Impl rule__ScopeModel__Group__5 ; - public final void rule__ScopeModel__Group__4() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXCasePart" + // InternalScope.g:2404:1: entryRuleXCasePart : ruleXCasePart EOF ; + public final void entryRuleXCasePart() throws RecognitionException { try { - // InternalScope.g:2415:1: ( rule__ScopeModel__Group__4__Impl rule__ScopeModel__Group__5 ) - // InternalScope.g:2416:2: rule__ScopeModel__Group__4__Impl rule__ScopeModel__Group__5 + // InternalScope.g:2405:1: ( ruleXCasePart EOF ) + // InternalScope.g:2406:1: ruleXCasePart EOF { - pushFollow(FOLLOW_4); - rule__ScopeModel__Group__4__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeModel__Group__5(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartRule()); + } + pushFollow(FOLLOW_1); + ruleXCasePart(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9010,62 +8153,41 @@ public final void rule__ScopeModel__Group__4() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeModel__Group__4" + // $ANTLR end "entryRuleXCasePart" - // $ANTLR start "rule__ScopeModel__Group__4__Impl" - // InternalScope.g:2423:1: rule__ScopeModel__Group__4__Impl : ( ( rule__ScopeModel__ExtensionsAssignment_4 )* ) ; - public final void rule__ScopeModel__Group__4__Impl() throws RecognitionException { + // $ANTLR start "ruleXCasePart" + // InternalScope.g:2413:1: ruleXCasePart : ( ( rule__XCasePart__Group__0 ) ) ; + public final void ruleXCasePart() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2427:1: ( ( ( rule__ScopeModel__ExtensionsAssignment_4 )* ) ) - // InternalScope.g:2428:1: ( ( rule__ScopeModel__ExtensionsAssignment_4 )* ) + // InternalScope.g:2417:2: ( ( ( rule__XCasePart__Group__0 ) ) ) + // InternalScope.g:2418:2: ( ( rule__XCasePart__Group__0 ) ) { - // InternalScope.g:2428:1: ( ( rule__ScopeModel__ExtensionsAssignment_4 )* ) - // InternalScope.g:2429:2: ( rule__ScopeModel__ExtensionsAssignment_4 )* + // InternalScope.g:2418:2: ( ( rule__XCasePart__Group__0 ) ) + // InternalScope.g:2419:3: ( rule__XCasePart__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getExtensionsAssignment_4()); + before(grammarAccess.getXCasePartAccess().getGroup()); } - // InternalScope.g:2430:2: ( rule__ScopeModel__ExtensionsAssignment_4 )* - loop30: - do { - int alt30=2; - int LA30_0 = input.LA(1); - - if ( (LA30_0==42) ) { - alt30=1; - } - - - switch (alt30) { - case 1 : - // InternalScope.g:2430:3: rule__ScopeModel__ExtensionsAssignment_4 - { - pushFollow(FOLLOW_6); - rule__ScopeModel__ExtensionsAssignment_4(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:2420:3: ( rule__XCasePart__Group__0 ) + // InternalScope.g:2420:4: rule__XCasePart__Group__0 + { + pushFollow(FOLLOW_2); + rule__XCasePart__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop30; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getExtensionsAssignment_4()); + after(grammarAccess.getXCasePartAccess().getGroup()); } } @@ -9085,29 +8207,28 @@ public final void rule__ScopeModel__Group__4__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__ScopeModel__Group__4__Impl" + // $ANTLR end "ruleXCasePart" - // $ANTLR start "rule__ScopeModel__Group__5" - // InternalScope.g:2438:1: rule__ScopeModel__Group__5 : rule__ScopeModel__Group__5__Impl rule__ScopeModel__Group__6 ; - public final void rule__ScopeModel__Group__5() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXForLoopExpression" + // InternalScope.g:2429:1: entryRuleXForLoopExpression : ruleXForLoopExpression EOF ; + public final void entryRuleXForLoopExpression() throws RecognitionException { try { - // InternalScope.g:2442:1: ( rule__ScopeModel__Group__5__Impl rule__ScopeModel__Group__6 ) - // InternalScope.g:2443:2: rule__ScopeModel__Group__5__Impl rule__ScopeModel__Group__6 + // InternalScope.g:2430:1: ( ruleXForLoopExpression EOF ) + // InternalScope.g:2431:1: ruleXForLoopExpression EOF { - pushFollow(FOLLOW_4); - rule__ScopeModel__Group__5__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeModel__Group__6(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXForLoopExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9117,62 +8238,41 @@ public final void rule__ScopeModel__Group__5() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeModel__Group__5" + // $ANTLR end "entryRuleXForLoopExpression" - // $ANTLR start "rule__ScopeModel__Group__5__Impl" - // InternalScope.g:2450:1: rule__ScopeModel__Group__5__Impl : ( ( rule__ScopeModel__InjectionsAssignment_5 )* ) ; - public final void rule__ScopeModel__Group__5__Impl() throws RecognitionException { + // $ANTLR start "ruleXForLoopExpression" + // InternalScope.g:2438:1: ruleXForLoopExpression : ( ( rule__XForLoopExpression__Group__0 ) ) ; + public final void ruleXForLoopExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2454:1: ( ( ( rule__ScopeModel__InjectionsAssignment_5 )* ) ) - // InternalScope.g:2455:1: ( ( rule__ScopeModel__InjectionsAssignment_5 )* ) + // InternalScope.g:2442:2: ( ( ( rule__XForLoopExpression__Group__0 ) ) ) + // InternalScope.g:2443:2: ( ( rule__XForLoopExpression__Group__0 ) ) { - // InternalScope.g:2455:1: ( ( rule__ScopeModel__InjectionsAssignment_5 )* ) - // InternalScope.g:2456:2: ( rule__ScopeModel__InjectionsAssignment_5 )* + // InternalScope.g:2443:2: ( ( rule__XForLoopExpression__Group__0 ) ) + // InternalScope.g:2444:3: ( rule__XForLoopExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getInjectionsAssignment_5()); + before(grammarAccess.getXForLoopExpressionAccess().getGroup()); } - // InternalScope.g:2457:2: ( rule__ScopeModel__InjectionsAssignment_5 )* - loop31: - do { - int alt31=2; - int LA31_0 = input.LA(1); - - if ( (LA31_0==43) ) { - alt31=1; - } - - - switch (alt31) { - case 1 : - // InternalScope.g:2457:3: rule__ScopeModel__InjectionsAssignment_5 - { - pushFollow(FOLLOW_7); - rule__ScopeModel__InjectionsAssignment_5(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:2445:3: ( rule__XForLoopExpression__Group__0 ) + // InternalScope.g:2445:4: rule__XForLoopExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop31; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getInjectionsAssignment_5()); + after(grammarAccess.getXForLoopExpressionAccess().getGroup()); } } @@ -9192,29 +8292,28 @@ public final void rule__ScopeModel__Group__5__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__ScopeModel__Group__5__Impl" - + // $ANTLR end "ruleXForLoopExpression" - // $ANTLR start "rule__ScopeModel__Group__6" - // InternalScope.g:2465:1: rule__ScopeModel__Group__6 : rule__ScopeModel__Group__6__Impl rule__ScopeModel__Group__7 ; - public final void rule__ScopeModel__Group__6() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXBasicForLoopExpression" + // InternalScope.g:2454:1: entryRuleXBasicForLoopExpression : ruleXBasicForLoopExpression EOF ; + public final void entryRuleXBasicForLoopExpression() throws RecognitionException { try { - // InternalScope.g:2469:1: ( rule__ScopeModel__Group__6__Impl rule__ScopeModel__Group__7 ) - // InternalScope.g:2470:2: rule__ScopeModel__Group__6__Impl rule__ScopeModel__Group__7 + // InternalScope.g:2455:1: ( ruleXBasicForLoopExpression EOF ) + // InternalScope.g:2456:1: ruleXBasicForLoopExpression EOF { - pushFollow(FOLLOW_4); - rule__ScopeModel__Group__6__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeModel__Group__7(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXBasicForLoopExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9224,55 +8323,41 @@ public final void rule__ScopeModel__Group__6() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeModel__Group__6" + // $ANTLR end "entryRuleXBasicForLoopExpression" - // $ANTLR start "rule__ScopeModel__Group__6__Impl" - // InternalScope.g:2477:1: rule__ScopeModel__Group__6__Impl : ( ( rule__ScopeModel__NamingAssignment_6 )? ) ; - public final void rule__ScopeModel__Group__6__Impl() throws RecognitionException { + // $ANTLR start "ruleXBasicForLoopExpression" + // InternalScope.g:2463:1: ruleXBasicForLoopExpression : ( ( rule__XBasicForLoopExpression__Group__0 ) ) ; + public final void ruleXBasicForLoopExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2481:1: ( ( ( rule__ScopeModel__NamingAssignment_6 )? ) ) - // InternalScope.g:2482:1: ( ( rule__ScopeModel__NamingAssignment_6 )? ) + // InternalScope.g:2467:2: ( ( ( rule__XBasicForLoopExpression__Group__0 ) ) ) + // InternalScope.g:2468:2: ( ( rule__XBasicForLoopExpression__Group__0 ) ) { - // InternalScope.g:2482:1: ( ( rule__ScopeModel__NamingAssignment_6 )? ) - // InternalScope.g:2483:2: ( rule__ScopeModel__NamingAssignment_6 )? + // InternalScope.g:2468:2: ( ( rule__XBasicForLoopExpression__Group__0 ) ) + // InternalScope.g:2469:3: ( rule__XBasicForLoopExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getNamingAssignment_6()); - } - // InternalScope.g:2484:2: ( rule__ScopeModel__NamingAssignment_6 )? - int alt32=2; - int LA32_0 = input.LA(1); - - if ( (LA32_0==44||LA32_0==47) ) { - alt32=1; + before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); } - switch (alt32) { - case 1 : - // InternalScope.g:2484:3: rule__ScopeModel__NamingAssignment_6 - { - pushFollow(FOLLOW_2); - rule__ScopeModel__NamingAssignment_6(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:2470:3: ( rule__XBasicForLoopExpression__Group__0 ) + // InternalScope.g:2470:4: rule__XBasicForLoopExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getNamingAssignment_6()); + after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); } } @@ -9292,24 +8377,28 @@ public final void rule__ScopeModel__Group__6__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__ScopeModel__Group__6__Impl" - + // $ANTLR end "ruleXBasicForLoopExpression" - // $ANTLR start "rule__ScopeModel__Group__7" - // InternalScope.g:2492:1: rule__ScopeModel__Group__7 : rule__ScopeModel__Group__7__Impl ; - public final void rule__ScopeModel__Group__7() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXWhileExpression" + // InternalScope.g:2479:1: entryRuleXWhileExpression : ruleXWhileExpression EOF ; + public final void entryRuleXWhileExpression() throws RecognitionException { try { - // InternalScope.g:2496:1: ( rule__ScopeModel__Group__7__Impl ) - // InternalScope.g:2497:2: rule__ScopeModel__Group__7__Impl + // InternalScope.g:2480:1: ( ruleXWhileExpression EOF ) + // InternalScope.g:2481:1: ruleXWhileExpression EOF { - pushFollow(FOLLOW_2); - rule__ScopeModel__Group__7__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXWhileExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9319,62 +8408,41 @@ public final void rule__ScopeModel__Group__7() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeModel__Group__7" + // $ANTLR end "entryRuleXWhileExpression" - // $ANTLR start "rule__ScopeModel__Group__7__Impl" - // InternalScope.g:2503:1: rule__ScopeModel__Group__7__Impl : ( ( rule__ScopeModel__ScopesAssignment_7 )* ) ; - public final void rule__ScopeModel__Group__7__Impl() throws RecognitionException { + // $ANTLR start "ruleXWhileExpression" + // InternalScope.g:2488:1: ruleXWhileExpression : ( ( rule__XWhileExpression__Group__0 ) ) ; + public final void ruleXWhileExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2507:1: ( ( ( rule__ScopeModel__ScopesAssignment_7 )* ) ) - // InternalScope.g:2508:1: ( ( rule__ScopeModel__ScopesAssignment_7 )* ) + // InternalScope.g:2492:2: ( ( ( rule__XWhileExpression__Group__0 ) ) ) + // InternalScope.g:2493:2: ( ( rule__XWhileExpression__Group__0 ) ) { - // InternalScope.g:2508:1: ( ( rule__ScopeModel__ScopesAssignment_7 )* ) - // InternalScope.g:2509:2: ( rule__ScopeModel__ScopesAssignment_7 )* + // InternalScope.g:2493:2: ( ( rule__XWhileExpression__Group__0 ) ) + // InternalScope.g:2494:3: ( rule__XWhileExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getScopesAssignment_7()); + before(grammarAccess.getXWhileExpressionAccess().getGroup()); } - // InternalScope.g:2510:2: ( rule__ScopeModel__ScopesAssignment_7 )* - loop33: - do { - int alt33=2; - int LA33_0 = input.LA(1); - - if ( (LA33_0==50) ) { - alt33=1; - } - - - switch (alt33) { - case 1 : - // InternalScope.g:2510:3: rule__ScopeModel__ScopesAssignment_7 - { - pushFollow(FOLLOW_8); - rule__ScopeModel__ScopesAssignment_7(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:2495:3: ( rule__XWhileExpression__Group__0 ) + // InternalScope.g:2495:4: rule__XWhileExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop33; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getScopesAssignment_7()); + after(grammarAccess.getXWhileExpressionAccess().getGroup()); } } @@ -9394,29 +8462,28 @@ public final void rule__ScopeModel__Group__7__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__ScopeModel__Group__7__Impl" - + // $ANTLR end "ruleXWhileExpression" - // $ANTLR start "rule__ScopeModel__Group_2__0" - // InternalScope.g:2519:1: rule__ScopeModel__Group_2__0 : rule__ScopeModel__Group_2__0__Impl rule__ScopeModel__Group_2__1 ; - public final void rule__ScopeModel__Group_2__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXDoWhileExpression" + // InternalScope.g:2504:1: entryRuleXDoWhileExpression : ruleXDoWhileExpression EOF ; + public final void entryRuleXDoWhileExpression() throws RecognitionException { try { - // InternalScope.g:2523:1: ( rule__ScopeModel__Group_2__0__Impl rule__ScopeModel__Group_2__1 ) - // InternalScope.g:2524:2: rule__ScopeModel__Group_2__0__Impl rule__ScopeModel__Group_2__1 + // InternalScope.g:2505:1: ( ruleXDoWhileExpression EOF ) + // InternalScope.g:2506:1: ruleXDoWhileExpression EOF { - pushFollow(FOLLOW_3); - rule__ScopeModel__Group_2__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeModel__Group_2__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXDoWhileExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9426,34 +8493,41 @@ public final void rule__ScopeModel__Group_2__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeModel__Group_2__0" + // $ANTLR end "entryRuleXDoWhileExpression" - // $ANTLR start "rule__ScopeModel__Group_2__0__Impl" - // InternalScope.g:2531:1: rule__ScopeModel__Group_2__0__Impl : ( 'with' ) ; - public final void rule__ScopeModel__Group_2__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXDoWhileExpression" + // InternalScope.g:2513:1: ruleXDoWhileExpression : ( ( rule__XDoWhileExpression__Group__0 ) ) ; + public final void ruleXDoWhileExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2535:1: ( ( 'with' ) ) - // InternalScope.g:2536:1: ( 'with' ) + // InternalScope.g:2517:2: ( ( ( rule__XDoWhileExpression__Group__0 ) ) ) + // InternalScope.g:2518:2: ( ( rule__XDoWhileExpression__Group__0 ) ) { - // InternalScope.g:2536:1: ( 'with' ) - // InternalScope.g:2537:2: 'with' + // InternalScope.g:2518:2: ( ( rule__XDoWhileExpression__Group__0 ) ) + // InternalScope.g:2519:3: ( rule__XDoWhileExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getWithKeyword_2_0()); + before(grammarAccess.getXDoWhileExpressionAccess().getGroup()); } - match(input,39,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getWithKeyword_2_0()); + // InternalScope.g:2520:3: ( rule__XDoWhileExpression__Group__0 ) + // InternalScope.g:2520:4: rule__XDoWhileExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getGroup()); } } @@ -9473,24 +8547,28 @@ public final void rule__ScopeModel__Group_2__0__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__ScopeModel__Group_2__0__Impl" + // $ANTLR end "ruleXDoWhileExpression" - // $ANTLR start "rule__ScopeModel__Group_2__1" - // InternalScope.g:2546:1: rule__ScopeModel__Group_2__1 : rule__ScopeModel__Group_2__1__Impl ; - public final void rule__ScopeModel__Group_2__1() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXBlockExpression" + // InternalScope.g:2529:1: entryRuleXBlockExpression : ruleXBlockExpression EOF ; + public final void entryRuleXBlockExpression() throws RecognitionException { try { - // InternalScope.g:2550:1: ( rule__ScopeModel__Group_2__1__Impl ) - // InternalScope.g:2551:2: rule__ScopeModel__Group_2__1__Impl + // InternalScope.g:2530:1: ( ruleXBlockExpression EOF ) + // InternalScope.g:2531:1: ruleXBlockExpression EOF { - pushFollow(FOLLOW_2); - rule__ScopeModel__Group_2__1__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXBlockExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9500,36 +8578,33 @@ public final void rule__ScopeModel__Group_2__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeModel__Group_2__1" + // $ANTLR end "entryRuleXBlockExpression" - // $ANTLR start "rule__ScopeModel__Group_2__1__Impl" - // InternalScope.g:2557:1: rule__ScopeModel__Group_2__1__Impl : ( ( rule__ScopeModel__IncludedScopesAssignment_2_1 ) ) ; - public final void rule__ScopeModel__Group_2__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXBlockExpression" + // InternalScope.g:2538:1: ruleXBlockExpression : ( ( rule__XBlockExpression__Group__0 ) ) ; + public final void ruleXBlockExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2561:1: ( ( ( rule__ScopeModel__IncludedScopesAssignment_2_1 ) ) ) - // InternalScope.g:2562:1: ( ( rule__ScopeModel__IncludedScopesAssignment_2_1 ) ) + // InternalScope.g:2542:2: ( ( ( rule__XBlockExpression__Group__0 ) ) ) + // InternalScope.g:2543:2: ( ( rule__XBlockExpression__Group__0 ) ) { - // InternalScope.g:2562:1: ( ( rule__ScopeModel__IncludedScopesAssignment_2_1 ) ) - // InternalScope.g:2563:2: ( rule__ScopeModel__IncludedScopesAssignment_2_1 ) + // InternalScope.g:2543:2: ( ( rule__XBlockExpression__Group__0 ) ) + // InternalScope.g:2544:3: ( rule__XBlockExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getIncludedScopesAssignment_2_1()); + before(grammarAccess.getXBlockExpressionAccess().getGroup()); } - // InternalScope.g:2564:2: ( rule__ScopeModel__IncludedScopesAssignment_2_1 ) - // InternalScope.g:2564:3: rule__ScopeModel__IncludedScopesAssignment_2_1 + // InternalScope.g:2545:3: ( rule__XBlockExpression__Group__0 ) + // InternalScope.g:2545:4: rule__XBlockExpression__Group__0 { pushFollow(FOLLOW_2); - rule__ScopeModel__IncludedScopesAssignment_2_1(); + rule__XBlockExpression__Group__0(); state._fsp--; if (state.failed) return ; @@ -9537,7 +8612,7 @@ public final void rule__ScopeModel__Group_2__1__Impl() throws RecognitionExcepti } if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getIncludedScopesAssignment_2_1()); + after(grammarAccess.getXBlockExpressionAccess().getGroup()); } } @@ -9557,29 +8632,28 @@ public final void rule__ScopeModel__Group_2__1__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__ScopeModel__Group_2__1__Impl" - + // $ANTLR end "ruleXBlockExpression" - // $ANTLR start "rule__Import__Group__0" - // InternalScope.g:2573: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(); - + // $ANTLR start "entryRuleXExpressionOrVarDeclaration" + // InternalScope.g:2554:1: entryRuleXExpressionOrVarDeclaration : ruleXExpressionOrVarDeclaration EOF ; + public final void entryRuleXExpressionOrVarDeclaration() throws RecognitionException { try { - // InternalScope.g:2577:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 ) - // InternalScope.g:2578:2: rule__Import__Group__0__Impl rule__Import__Group__1 + // InternalScope.g:2555:1: ( ruleXExpressionOrVarDeclaration EOF ) + // InternalScope.g:2556:1: ruleXExpressionOrVarDeclaration EOF { - pushFollow(FOLLOW_9); - rule__Import__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Import__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionOrVarDeclarationRule()); + } + pushFollow(FOLLOW_1); + ruleXExpressionOrVarDeclaration(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionOrVarDeclarationRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9589,34 +8663,41 @@ public final void rule__Import__Group__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Import__Group__0" + // $ANTLR end "entryRuleXExpressionOrVarDeclaration" - // $ANTLR start "rule__Import__Group__0__Impl" - // InternalScope.g:2585:1: rule__Import__Group__0__Impl : ( 'import' ) ; - public final void rule__Import__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXExpressionOrVarDeclaration" + // InternalScope.g:2563:1: ruleXExpressionOrVarDeclaration : ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) ; + public final void ruleXExpressionOrVarDeclaration() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2589:1: ( ( 'import' ) ) - // InternalScope.g:2590:1: ( 'import' ) + // InternalScope.g:2567:2: ( ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) ) + // InternalScope.g:2568:2: ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) { - // InternalScope.g:2590:1: ( 'import' ) - // InternalScope.g:2591:2: 'import' + // InternalScope.g:2568:2: ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) + // InternalScope.g:2569:3: ( rule__XExpressionOrVarDeclaration__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getImportAccess().getImportKeyword_0()); + before(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); + } + // InternalScope.g:2570:3: ( rule__XExpressionOrVarDeclaration__Alternatives ) + // InternalScope.g:2570:4: rule__XExpressionOrVarDeclaration__Alternatives + { + pushFollow(FOLLOW_2); + rule__XExpressionOrVarDeclaration__Alternatives(); + + state._fsp--; + if (state.failed) return ; + } - match(input,40,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getImportAccess().getImportKeyword_0()); + after(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); } } @@ -9636,29 +8717,28 @@ public final void rule__Import__Group__0__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Import__Group__0__Impl" - + // $ANTLR end "ruleXExpressionOrVarDeclaration" - // $ANTLR start "rule__Import__Group__1" - // InternalScope.g:2600:1: rule__Import__Group__1 : rule__Import__Group__1__Impl rule__Import__Group__2 ; - public final void rule__Import__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXVariableDeclaration" + // InternalScope.g:2579:1: entryRuleXVariableDeclaration : ruleXVariableDeclaration EOF ; + public final void entryRuleXVariableDeclaration() throws RecognitionException { try { - // InternalScope.g:2604:1: ( rule__Import__Group__1__Impl rule__Import__Group__2 ) - // InternalScope.g:2605:2: rule__Import__Group__1__Impl rule__Import__Group__2 + // InternalScope.g:2580:1: ( ruleXVariableDeclaration EOF ) + // InternalScope.g:2581:1: ruleXVariableDeclaration EOF { - pushFollow(FOLLOW_10); - rule__Import__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Import__Group__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationRule()); + } + pushFollow(FOLLOW_1); + ruleXVariableDeclaration(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9668,36 +8748,33 @@ public final void rule__Import__Group__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Import__Group__1" + // $ANTLR end "entryRuleXVariableDeclaration" - // $ANTLR start "rule__Import__Group__1__Impl" - // InternalScope.g:2612:1: rule__Import__Group__1__Impl : ( ( rule__Import__PackageAssignment_1 ) ) ; - public final void rule__Import__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXVariableDeclaration" + // InternalScope.g:2588:1: ruleXVariableDeclaration : ( ( rule__XVariableDeclaration__Group__0 ) ) ; + public final void ruleXVariableDeclaration() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2616:1: ( ( ( rule__Import__PackageAssignment_1 ) ) ) - // InternalScope.g:2617:1: ( ( rule__Import__PackageAssignment_1 ) ) + // InternalScope.g:2592:2: ( ( ( rule__XVariableDeclaration__Group__0 ) ) ) + // InternalScope.g:2593:2: ( ( rule__XVariableDeclaration__Group__0 ) ) { - // InternalScope.g:2617:1: ( ( rule__Import__PackageAssignment_1 ) ) - // InternalScope.g:2618:2: ( rule__Import__PackageAssignment_1 ) + // InternalScope.g:2593:2: ( ( rule__XVariableDeclaration__Group__0 ) ) + // InternalScope.g:2594:3: ( rule__XVariableDeclaration__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getImportAccess().getPackageAssignment_1()); + before(grammarAccess.getXVariableDeclarationAccess().getGroup()); } - // InternalScope.g:2619:2: ( rule__Import__PackageAssignment_1 ) - // InternalScope.g:2619:3: rule__Import__PackageAssignment_1 + // InternalScope.g:2595:3: ( rule__XVariableDeclaration__Group__0 ) + // InternalScope.g:2595:4: rule__XVariableDeclaration__Group__0 { pushFollow(FOLLOW_2); - rule__Import__PackageAssignment_1(); + rule__XVariableDeclaration__Group__0(); state._fsp--; if (state.failed) return ; @@ -9705,7 +8782,7 @@ public final void rule__Import__Group__1__Impl() throws RecognitionException { } if ( state.backtracking==0 ) { - after(grammarAccess.getImportAccess().getPackageAssignment_1()); + after(grammarAccess.getXVariableDeclarationAccess().getGroup()); } } @@ -9725,24 +8802,28 @@ public final void rule__Import__Group__1__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Import__Group__1__Impl" - + // $ANTLR end "ruleXVariableDeclaration" - // $ANTLR start "rule__Import__Group__2" - // InternalScope.g:2627:1: rule__Import__Group__2 : rule__Import__Group__2__Impl ; - public final void rule__Import__Group__2() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmFormalParameter" + // InternalScope.g:2604:1: entryRuleJvmFormalParameter : ruleJvmFormalParameter EOF ; + public final void entryRuleJvmFormalParameter() throws RecognitionException { try { - // InternalScope.g:2631:1: ( rule__Import__Group__2__Impl ) - // InternalScope.g:2632:2: rule__Import__Group__2__Impl + // InternalScope.g:2605:1: ( ruleJvmFormalParameter EOF ) + // InternalScope.g:2606:1: ruleJvmFormalParameter EOF { - pushFollow(FOLLOW_2); - rule__Import__Group__2__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmFormalParameterRule()); + } + pushFollow(FOLLOW_1); + ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmFormalParameterRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9752,55 +8833,41 @@ public final void rule__Import__Group__2() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Import__Group__2" + // $ANTLR end "entryRuleJvmFormalParameter" - // $ANTLR start "rule__Import__Group__2__Impl" - // InternalScope.g:2638:1: rule__Import__Group__2__Impl : ( ( rule__Import__Group_2__0 )? ) ; - public final void rule__Import__Group__2__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmFormalParameter" + // InternalScope.g:2613:1: ruleJvmFormalParameter : ( ( rule__JvmFormalParameter__Group__0 ) ) ; + public final void ruleJvmFormalParameter() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2642:1: ( ( ( rule__Import__Group_2__0 )? ) ) - // InternalScope.g:2643:1: ( ( rule__Import__Group_2__0 )? ) + // InternalScope.g:2617:2: ( ( ( rule__JvmFormalParameter__Group__0 ) ) ) + // InternalScope.g:2618:2: ( ( rule__JvmFormalParameter__Group__0 ) ) { - // InternalScope.g:2643:1: ( ( rule__Import__Group_2__0 )? ) - // InternalScope.g:2644:2: ( rule__Import__Group_2__0 )? + // InternalScope.g:2618:2: ( ( rule__JvmFormalParameter__Group__0 ) ) + // InternalScope.g:2619:3: ( rule__JvmFormalParameter__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getImportAccess().getGroup_2()); - } - // InternalScope.g:2645:2: ( rule__Import__Group_2__0 )? - int alt34=2; - int LA34_0 = input.LA(1); - - if ( (LA34_0==41) ) { - alt34=1; + before(grammarAccess.getJvmFormalParameterAccess().getGroup()); } - switch (alt34) { - case 1 : - // InternalScope.g:2645:3: rule__Import__Group_2__0 - { - pushFollow(FOLLOW_2); - rule__Import__Group_2__0(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:2620:3: ( rule__JvmFormalParameter__Group__0 ) + // InternalScope.g:2620:4: rule__JvmFormalParameter__Group__0 + { + pushFollow(FOLLOW_2); + rule__JvmFormalParameter__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getImportAccess().getGroup_2()); + after(grammarAccess.getJvmFormalParameterAccess().getGroup()); } } @@ -9820,29 +8887,28 @@ public final void rule__Import__Group__2__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Import__Group__2__Impl" - + // $ANTLR end "ruleJvmFormalParameter" - // $ANTLR start "rule__Import__Group_2__0" - // InternalScope.g:2654:1: rule__Import__Group_2__0 : rule__Import__Group_2__0__Impl rule__Import__Group_2__1 ; - public final void rule__Import__Group_2__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleFullJvmFormalParameter" + // InternalScope.g:2629:1: entryRuleFullJvmFormalParameter : ruleFullJvmFormalParameter EOF ; + public final void entryRuleFullJvmFormalParameter() throws RecognitionException { try { - // InternalScope.g:2658:1: ( rule__Import__Group_2__0__Impl rule__Import__Group_2__1 ) - // InternalScope.g:2659:2: rule__Import__Group_2__0__Impl rule__Import__Group_2__1 + // InternalScope.g:2630:1: ( ruleFullJvmFormalParameter EOF ) + // InternalScope.g:2631:1: ruleFullJvmFormalParameter EOF { - pushFollow(FOLLOW_3); - rule__Import__Group_2__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Import__Group_2__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getFullJvmFormalParameterRule()); + } + pushFollow(FOLLOW_1); + ruleFullJvmFormalParameter(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFullJvmFormalParameterRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9852,34 +8918,41 @@ public final void rule__Import__Group_2__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Import__Group_2__0" + // $ANTLR end "entryRuleFullJvmFormalParameter" - // $ANTLR start "rule__Import__Group_2__0__Impl" - // InternalScope.g:2666:1: rule__Import__Group_2__0__Impl : ( 'as' ) ; - public final void rule__Import__Group_2__0__Impl() throws RecognitionException { + // $ANTLR start "ruleFullJvmFormalParameter" + // InternalScope.g:2638:1: ruleFullJvmFormalParameter : ( ( rule__FullJvmFormalParameter__Group__0 ) ) ; + public final void ruleFullJvmFormalParameter() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2670:1: ( ( 'as' ) ) - // InternalScope.g:2671:1: ( 'as' ) + // InternalScope.g:2642:2: ( ( ( rule__FullJvmFormalParameter__Group__0 ) ) ) + // InternalScope.g:2643:2: ( ( rule__FullJvmFormalParameter__Group__0 ) ) { - // InternalScope.g:2671:1: ( 'as' ) - // InternalScope.g:2672:2: 'as' + // InternalScope.g:2643:2: ( ( rule__FullJvmFormalParameter__Group__0 ) ) + // InternalScope.g:2644:3: ( rule__FullJvmFormalParameter__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getImportAccess().getAsKeyword_2_0()); + before(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); } - match(input,41,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:2645:3: ( rule__FullJvmFormalParameter__Group__0 ) + // InternalScope.g:2645:4: rule__FullJvmFormalParameter__Group__0 + { + pushFollow(FOLLOW_2); + rule__FullJvmFormalParameter__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getImportAccess().getAsKeyword_2_0()); + after(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); } } @@ -9899,24 +8972,28 @@ public final void rule__Import__Group_2__0__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Import__Group_2__0__Impl" + // $ANTLR end "ruleFullJvmFormalParameter" - // $ANTLR start "rule__Import__Group_2__1" - // InternalScope.g:2681:1: rule__Import__Group_2__1 : rule__Import__Group_2__1__Impl ; - public final void rule__Import__Group_2__1() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXFeatureCall" + // InternalScope.g:2654:1: entryRuleXFeatureCall : ruleXFeatureCall EOF ; + public final void entryRuleXFeatureCall() throws RecognitionException { try { - // InternalScope.g:2685:1: ( rule__Import__Group_2__1__Impl ) - // InternalScope.g:2686:2: rule__Import__Group_2__1__Impl + // InternalScope.g:2655:1: ( ruleXFeatureCall EOF ) + // InternalScope.g:2656:1: ruleXFeatureCall EOF { - pushFollow(FOLLOW_2); - rule__Import__Group_2__1__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallRule()); + } + pushFollow(FOLLOW_1); + ruleXFeatureCall(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -9926,36 +9003,33 @@ public final void rule__Import__Group_2__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Import__Group_2__1" + // $ANTLR end "entryRuleXFeatureCall" - // $ANTLR start "rule__Import__Group_2__1__Impl" - // InternalScope.g:2692:1: rule__Import__Group_2__1__Impl : ( ( rule__Import__NameAssignment_2_1 ) ) ; - public final void rule__Import__Group_2__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXFeatureCall" + // InternalScope.g:2663:1: ruleXFeatureCall : ( ( rule__XFeatureCall__Group__0 ) ) ; + public final void ruleXFeatureCall() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2696:1: ( ( ( rule__Import__NameAssignment_2_1 ) ) ) - // InternalScope.g:2697:1: ( ( rule__Import__NameAssignment_2_1 ) ) + // InternalScope.g:2667:2: ( ( ( rule__XFeatureCall__Group__0 ) ) ) + // InternalScope.g:2668:2: ( ( rule__XFeatureCall__Group__0 ) ) { - // InternalScope.g:2697:1: ( ( rule__Import__NameAssignment_2_1 ) ) - // InternalScope.g:2698:2: ( rule__Import__NameAssignment_2_1 ) + // InternalScope.g:2668:2: ( ( rule__XFeatureCall__Group__0 ) ) + // InternalScope.g:2669:3: ( rule__XFeatureCall__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getImportAccess().getNameAssignment_2_1()); + before(grammarAccess.getXFeatureCallAccess().getGroup()); } - // InternalScope.g:2699:2: ( rule__Import__NameAssignment_2_1 ) - // InternalScope.g:2699:3: rule__Import__NameAssignment_2_1 + // InternalScope.g:2670:3: ( rule__XFeatureCall__Group__0 ) + // InternalScope.g:2670:4: rule__XFeatureCall__Group__0 { pushFollow(FOLLOW_2); - rule__Import__NameAssignment_2_1(); + rule__XFeatureCall__Group__0(); state._fsp--; if (state.failed) return ; @@ -9963,7 +9037,7 @@ public final void rule__Import__Group_2__1__Impl() throws RecognitionException { } if ( state.backtracking==0 ) { - after(grammarAccess.getImportAccess().getNameAssignment_2_1()); + after(grammarAccess.getXFeatureCallAccess().getGroup()); } } @@ -9983,29 +9057,28 @@ public final void rule__Import__Group_2__1__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Import__Group_2__1__Impl" - + // $ANTLR end "ruleXFeatureCall" - // $ANTLR start "rule__Extension__Group__0" - // InternalScope.g:2708:1: rule__Extension__Group__0 : rule__Extension__Group__0__Impl rule__Extension__Group__1 ; - public final void rule__Extension__Group__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleFeatureCallID" + // InternalScope.g:2679:1: entryRuleFeatureCallID : ruleFeatureCallID EOF ; + public final void entryRuleFeatureCallID() throws RecognitionException { try { - // InternalScope.g:2712:1: ( rule__Extension__Group__0__Impl rule__Extension__Group__1 ) - // InternalScope.g:2713:2: rule__Extension__Group__0__Impl rule__Extension__Group__1 + // InternalScope.g:2680:1: ( ruleFeatureCallID EOF ) + // InternalScope.g:2681:1: ruleFeatureCallID EOF { - pushFollow(FOLLOW_3); - rule__Extension__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Extension__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDRule()); + } + pushFollow(FOLLOW_1); + ruleFeatureCallID(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10015,34 +9088,41 @@ public final void rule__Extension__Group__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Extension__Group__0" + // $ANTLR end "entryRuleFeatureCallID" - // $ANTLR start "rule__Extension__Group__0__Impl" - // InternalScope.g:2720:1: rule__Extension__Group__0__Impl : ( 'extension' ) ; - public final void rule__Extension__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleFeatureCallID" + // InternalScope.g:2688:1: ruleFeatureCallID : ( ( rule__FeatureCallID__Alternatives ) ) ; + public final void ruleFeatureCallID() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2724:1: ( ( 'extension' ) ) - // InternalScope.g:2725:1: ( 'extension' ) + // InternalScope.g:2692:2: ( ( ( rule__FeatureCallID__Alternatives ) ) ) + // InternalScope.g:2693:2: ( ( rule__FeatureCallID__Alternatives ) ) { - // InternalScope.g:2725:1: ( 'extension' ) - // InternalScope.g:2726:2: 'extension' + // InternalScope.g:2693:2: ( ( rule__FeatureCallID__Alternatives ) ) + // InternalScope.g:2694:3: ( rule__FeatureCallID__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExtensionAccess().getExtensionKeyword_0()); + before(grammarAccess.getFeatureCallIDAccess().getAlternatives()); + } + // InternalScope.g:2695:3: ( rule__FeatureCallID__Alternatives ) + // InternalScope.g:2695:4: rule__FeatureCallID__Alternatives + { + pushFollow(FOLLOW_2); + rule__FeatureCallID__Alternatives(); + + state._fsp--; + if (state.failed) return ; + } - match(input,42,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getExtensionAccess().getExtensionKeyword_0()); + after(grammarAccess.getFeatureCallIDAccess().getAlternatives()); } } @@ -10062,24 +9142,28 @@ public final void rule__Extension__Group__0__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Extension__Group__0__Impl" + // $ANTLR end "ruleFeatureCallID" - // $ANTLR start "rule__Extension__Group__1" - // InternalScope.g:2735:1: rule__Extension__Group__1 : rule__Extension__Group__1__Impl ; - public final void rule__Extension__Group__1() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleIdOrSuper" + // InternalScope.g:2704:1: entryRuleIdOrSuper : ruleIdOrSuper EOF ; + public final void entryRuleIdOrSuper() throws RecognitionException { try { - // InternalScope.g:2739:1: ( rule__Extension__Group__1__Impl ) - // InternalScope.g:2740:2: rule__Extension__Group__1__Impl + // InternalScope.g:2705:1: ( ruleIdOrSuper EOF ) + // InternalScope.g:2706:1: ruleIdOrSuper EOF { - pushFollow(FOLLOW_2); - rule__Extension__Group__1__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getIdOrSuperRule()); + } + pushFollow(FOLLOW_1); + ruleIdOrSuper(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdOrSuperRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10089,36 +9173,33 @@ public final void rule__Extension__Group__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Extension__Group__1" + // $ANTLR end "entryRuleIdOrSuper" - // $ANTLR start "rule__Extension__Group__1__Impl" - // InternalScope.g:2746:1: rule__Extension__Group__1__Impl : ( ( rule__Extension__ExtensionAssignment_1 ) ) ; - public final void rule__Extension__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleIdOrSuper" + // InternalScope.g:2713:1: ruleIdOrSuper : ( ( rule__IdOrSuper__Alternatives ) ) ; + public final void ruleIdOrSuper() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2750:1: ( ( ( rule__Extension__ExtensionAssignment_1 ) ) ) - // InternalScope.g:2751:1: ( ( rule__Extension__ExtensionAssignment_1 ) ) + // InternalScope.g:2717:2: ( ( ( rule__IdOrSuper__Alternatives ) ) ) + // InternalScope.g:2718:2: ( ( rule__IdOrSuper__Alternatives ) ) { - // InternalScope.g:2751:1: ( ( rule__Extension__ExtensionAssignment_1 ) ) - // InternalScope.g:2752:2: ( rule__Extension__ExtensionAssignment_1 ) + // InternalScope.g:2718:2: ( ( rule__IdOrSuper__Alternatives ) ) + // InternalScope.g:2719:3: ( rule__IdOrSuper__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getExtensionAccess().getExtensionAssignment_1()); + before(grammarAccess.getIdOrSuperAccess().getAlternatives()); } - // InternalScope.g:2753:2: ( rule__Extension__ExtensionAssignment_1 ) - // InternalScope.g:2753:3: rule__Extension__ExtensionAssignment_1 + // InternalScope.g:2720:3: ( rule__IdOrSuper__Alternatives ) + // InternalScope.g:2720:4: rule__IdOrSuper__Alternatives { pushFollow(FOLLOW_2); - rule__Extension__ExtensionAssignment_1(); + rule__IdOrSuper__Alternatives(); state._fsp--; if (state.failed) return ; @@ -10126,7 +9207,7 @@ public final void rule__Extension__Group__1__Impl() throws RecognitionException } if ( state.backtracking==0 ) { - after(grammarAccess.getExtensionAccess().getExtensionAssignment_1()); + after(grammarAccess.getIdOrSuperAccess().getAlternatives()); } } @@ -10146,29 +9227,28 @@ public final void rule__Extension__Group__1__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Extension__Group__1__Impl" - + // $ANTLR end "ruleIdOrSuper" - // $ANTLR start "rule__Injection__Group__0" - // InternalScope.g:2762:1: rule__Injection__Group__0 : rule__Injection__Group__0__Impl rule__Injection__Group__1 ; - public final void rule__Injection__Group__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXConstructorCall" + // InternalScope.g:2729:1: entryRuleXConstructorCall : ruleXConstructorCall EOF ; + public final void entryRuleXConstructorCall() throws RecognitionException { try { - // InternalScope.g:2766:1: ( rule__Injection__Group__0__Impl rule__Injection__Group__1 ) - // InternalScope.g:2767:2: rule__Injection__Group__0__Impl rule__Injection__Group__1 + // InternalScope.g:2730:1: ( ruleXConstructorCall EOF ) + // InternalScope.g:2731:1: ruleXConstructorCall EOF { - pushFollow(FOLLOW_3); - rule__Injection__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Injection__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallRule()); + } + pushFollow(FOLLOW_1); + ruleXConstructorCall(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10178,34 +9258,41 @@ public final void rule__Injection__Group__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Injection__Group__0" + // $ANTLR end "entryRuleXConstructorCall" - // $ANTLR start "rule__Injection__Group__0__Impl" - // InternalScope.g:2774:1: rule__Injection__Group__0__Impl : ( 'inject' ) ; - public final void rule__Injection__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXConstructorCall" + // InternalScope.g:2738:1: ruleXConstructorCall : ( ( rule__XConstructorCall__Group__0 ) ) ; + public final void ruleXConstructorCall() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2778:1: ( ( 'inject' ) ) - // InternalScope.g:2779:1: ( 'inject' ) + // InternalScope.g:2742:2: ( ( ( rule__XConstructorCall__Group__0 ) ) ) + // InternalScope.g:2743:2: ( ( rule__XConstructorCall__Group__0 ) ) { - // InternalScope.g:2779:1: ( 'inject' ) - // InternalScope.g:2780:2: 'inject' + // InternalScope.g:2743:2: ( ( rule__XConstructorCall__Group__0 ) ) + // InternalScope.g:2744:3: ( rule__XConstructorCall__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInjectionAccess().getInjectKeyword_0()); + before(grammarAccess.getXConstructorCallAccess().getGroup()); + } + // InternalScope.g:2745:3: ( rule__XConstructorCall__Group__0 ) + // InternalScope.g:2745:4: rule__XConstructorCall__Group__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,43,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getInjectionAccess().getInjectKeyword_0()); + after(grammarAccess.getXConstructorCallAccess().getGroup()); } } @@ -10225,29 +9312,28 @@ public final void rule__Injection__Group__0__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Injection__Group__0__Impl" + // $ANTLR end "ruleXConstructorCall" - // $ANTLR start "rule__Injection__Group__1" - // InternalScope.g:2789:1: rule__Injection__Group__1 : rule__Injection__Group__1__Impl rule__Injection__Group__2 ; - public final void rule__Injection__Group__1() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXBooleanLiteral" + // InternalScope.g:2754:1: entryRuleXBooleanLiteral : ruleXBooleanLiteral EOF ; + public final void entryRuleXBooleanLiteral() throws RecognitionException { try { - // InternalScope.g:2793:1: ( rule__Injection__Group__1__Impl rule__Injection__Group__2 ) - // InternalScope.g:2794:2: rule__Injection__Group__1__Impl rule__Injection__Group__2 + // InternalScope.g:2755:1: ( ruleXBooleanLiteral EOF ) + // InternalScope.g:2756:1: ruleXBooleanLiteral EOF { - pushFollow(FOLLOW_10); - rule__Injection__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Injection__Group__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXBooleanLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10257,36 +9343,33 @@ public final void rule__Injection__Group__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Injection__Group__1" + // $ANTLR end "entryRuleXBooleanLiteral" - // $ANTLR start "rule__Injection__Group__1__Impl" - // InternalScope.g:2801:1: rule__Injection__Group__1__Impl : ( ( rule__Injection__TypeAssignment_1 ) ) ; - public final void rule__Injection__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXBooleanLiteral" + // InternalScope.g:2763:1: ruleXBooleanLiteral : ( ( rule__XBooleanLiteral__Group__0 ) ) ; + public final void ruleXBooleanLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2805:1: ( ( ( rule__Injection__TypeAssignment_1 ) ) ) - // InternalScope.g:2806:1: ( ( rule__Injection__TypeAssignment_1 ) ) + // InternalScope.g:2767:2: ( ( ( rule__XBooleanLiteral__Group__0 ) ) ) + // InternalScope.g:2768:2: ( ( rule__XBooleanLiteral__Group__0 ) ) { - // InternalScope.g:2806:1: ( ( rule__Injection__TypeAssignment_1 ) ) - // InternalScope.g:2807:2: ( rule__Injection__TypeAssignment_1 ) + // InternalScope.g:2768:2: ( ( rule__XBooleanLiteral__Group__0 ) ) + // InternalScope.g:2769:3: ( rule__XBooleanLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInjectionAccess().getTypeAssignment_1()); + before(grammarAccess.getXBooleanLiteralAccess().getGroup()); } - // InternalScope.g:2808:2: ( rule__Injection__TypeAssignment_1 ) - // InternalScope.g:2808:3: rule__Injection__TypeAssignment_1 + // InternalScope.g:2770:3: ( rule__XBooleanLiteral__Group__0 ) + // InternalScope.g:2770:4: rule__XBooleanLiteral__Group__0 { pushFollow(FOLLOW_2); - rule__Injection__TypeAssignment_1(); + rule__XBooleanLiteral__Group__0(); state._fsp--; if (state.failed) return ; @@ -10294,7 +9377,7 @@ public final void rule__Injection__Group__1__Impl() throws RecognitionException } if ( state.backtracking==0 ) { - after(grammarAccess.getInjectionAccess().getTypeAssignment_1()); + after(grammarAccess.getXBooleanLiteralAccess().getGroup()); } } @@ -10314,29 +9397,28 @@ public final void rule__Injection__Group__1__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Injection__Group__1__Impl" + // $ANTLR end "ruleXBooleanLiteral" - // $ANTLR start "rule__Injection__Group__2" - // InternalScope.g:2816:1: rule__Injection__Group__2 : rule__Injection__Group__2__Impl rule__Injection__Group__3 ; - public final void rule__Injection__Group__2() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXNullLiteral" + // InternalScope.g:2779:1: entryRuleXNullLiteral : ruleXNullLiteral EOF ; + public final void entryRuleXNullLiteral() throws RecognitionException { try { - // InternalScope.g:2820:1: ( rule__Injection__Group__2__Impl rule__Injection__Group__3 ) - // InternalScope.g:2821:2: rule__Injection__Group__2__Impl rule__Injection__Group__3 + // InternalScope.g:2780:1: ( ruleXNullLiteral EOF ) + // InternalScope.g:2781:1: ruleXNullLiteral EOF { - pushFollow(FOLLOW_3); - rule__Injection__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__Injection__Group__3(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXNullLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXNullLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXNullLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10346,34 +9428,41 @@ public final void rule__Injection__Group__2() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Injection__Group__2" + // $ANTLR end "entryRuleXNullLiteral" - // $ANTLR start "rule__Injection__Group__2__Impl" - // InternalScope.g:2828:1: rule__Injection__Group__2__Impl : ( 'as' ) ; - public final void rule__Injection__Group__2__Impl() throws RecognitionException { + // $ANTLR start "ruleXNullLiteral" + // InternalScope.g:2788:1: ruleXNullLiteral : ( ( rule__XNullLiteral__Group__0 ) ) ; + public final void ruleXNullLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2832:1: ( ( 'as' ) ) - // InternalScope.g:2833:1: ( 'as' ) + // InternalScope.g:2792:2: ( ( ( rule__XNullLiteral__Group__0 ) ) ) + // InternalScope.g:2793:2: ( ( rule__XNullLiteral__Group__0 ) ) { - // InternalScope.g:2833:1: ( 'as' ) - // InternalScope.g:2834:2: 'as' + // InternalScope.g:2793:2: ( ( rule__XNullLiteral__Group__0 ) ) + // InternalScope.g:2794:3: ( rule__XNullLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInjectionAccess().getAsKeyword_2()); + before(grammarAccess.getXNullLiteralAccess().getGroup()); + } + // InternalScope.g:2795:3: ( rule__XNullLiteral__Group__0 ) + // InternalScope.g:2795:4: rule__XNullLiteral__Group__0 + { + pushFollow(FOLLOW_2); + rule__XNullLiteral__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,41,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getInjectionAccess().getAsKeyword_2()); + after(grammarAccess.getXNullLiteralAccess().getGroup()); } } @@ -10393,24 +9482,28 @@ public final void rule__Injection__Group__2__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Injection__Group__2__Impl" - + // $ANTLR end "ruleXNullLiteral" - // $ANTLR start "rule__Injection__Group__3" - // InternalScope.g:2843:1: rule__Injection__Group__3 : rule__Injection__Group__3__Impl ; - public final void rule__Injection__Group__3() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXNumberLiteral" + // InternalScope.g:2804:1: entryRuleXNumberLiteral : ruleXNumberLiteral EOF ; + public final void entryRuleXNumberLiteral() throws RecognitionException { try { - // InternalScope.g:2847:1: ( rule__Injection__Group__3__Impl ) - // InternalScope.g:2848:2: rule__Injection__Group__3__Impl + // InternalScope.g:2805:1: ( ruleXNumberLiteral EOF ) + // InternalScope.g:2806:1: ruleXNumberLiteral EOF { - pushFollow(FOLLOW_2); - rule__Injection__Group__3__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXNumberLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXNumberLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXNumberLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10420,36 +9513,33 @@ public final void rule__Injection__Group__3() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__Injection__Group__3" + // $ANTLR end "entryRuleXNumberLiteral" - // $ANTLR start "rule__Injection__Group__3__Impl" - // InternalScope.g:2854:1: rule__Injection__Group__3__Impl : ( ( rule__Injection__NameAssignment_3 ) ) ; - public final void rule__Injection__Group__3__Impl() throws RecognitionException { + // $ANTLR start "ruleXNumberLiteral" + // InternalScope.g:2813:1: ruleXNumberLiteral : ( ( rule__XNumberLiteral__Group__0 ) ) ; + public final void ruleXNumberLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2858:1: ( ( ( rule__Injection__NameAssignment_3 ) ) ) - // InternalScope.g:2859:1: ( ( rule__Injection__NameAssignment_3 ) ) + // InternalScope.g:2817:2: ( ( ( rule__XNumberLiteral__Group__0 ) ) ) + // InternalScope.g:2818:2: ( ( rule__XNumberLiteral__Group__0 ) ) { - // InternalScope.g:2859:1: ( ( rule__Injection__NameAssignment_3 ) ) - // InternalScope.g:2860:2: ( rule__Injection__NameAssignment_3 ) + // InternalScope.g:2818:2: ( ( rule__XNumberLiteral__Group__0 ) ) + // InternalScope.g:2819:3: ( rule__XNumberLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInjectionAccess().getNameAssignment_3()); + before(grammarAccess.getXNumberLiteralAccess().getGroup()); } - // InternalScope.g:2861:2: ( rule__Injection__NameAssignment_3 ) - // InternalScope.g:2861:3: rule__Injection__NameAssignment_3 + // InternalScope.g:2820:3: ( rule__XNumberLiteral__Group__0 ) + // InternalScope.g:2820:4: rule__XNumberLiteral__Group__0 { pushFollow(FOLLOW_2); - rule__Injection__NameAssignment_3(); + rule__XNumberLiteral__Group__0(); state._fsp--; if (state.failed) return ; @@ -10457,7 +9547,7 @@ public final void rule__Injection__Group__3__Impl() throws RecognitionException } if ( state.backtracking==0 ) { - after(grammarAccess.getInjectionAccess().getNameAssignment_3()); + after(grammarAccess.getXNumberLiteralAccess().getGroup()); } } @@ -10477,29 +9567,28 @@ public final void rule__Injection__Group__3__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Injection__Group__3__Impl" + // $ANTLR end "ruleXNumberLiteral" - // $ANTLR start "rule__NamingSection__Group__0" - // InternalScope.g:2870:1: rule__NamingSection__Group__0 : rule__NamingSection__Group__0__Impl rule__NamingSection__Group__1 ; - public final void rule__NamingSection__Group__0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXStringLiteral" + // InternalScope.g:2829:1: entryRuleXStringLiteral : ruleXStringLiteral EOF ; + public final void entryRuleXStringLiteral() throws RecognitionException { try { - // InternalScope.g:2874:1: ( rule__NamingSection__Group__0__Impl rule__NamingSection__Group__1 ) - // InternalScope.g:2875:2: rule__NamingSection__Group__0__Impl rule__NamingSection__Group__1 + // InternalScope.g:2830:1: ( ruleXStringLiteral EOF ) + // InternalScope.g:2831:1: ruleXStringLiteral EOF { - pushFollow(FOLLOW_11); - rule__NamingSection__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__NamingSection__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXStringLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXStringLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXStringLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10509,38 +9598,41 @@ public final void rule__NamingSection__Group__0() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__NamingSection__Group__0" + // $ANTLR end "entryRuleXStringLiteral" - // $ANTLR start "rule__NamingSection__Group__0__Impl" - // InternalScope.g:2882:1: rule__NamingSection__Group__0__Impl : ( () ) ; - public final void rule__NamingSection__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXStringLiteral" + // InternalScope.g:2838:1: ruleXStringLiteral : ( ( rule__XStringLiteral__Group__0 ) ) ; + public final void ruleXStringLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2886:1: ( ( () ) ) - // InternalScope.g:2887:1: ( () ) + // InternalScope.g:2842:2: ( ( ( rule__XStringLiteral__Group__0 ) ) ) + // InternalScope.g:2843:2: ( ( rule__XStringLiteral__Group__0 ) ) { - // InternalScope.g:2887:1: ( () ) - // InternalScope.g:2888:2: () + // InternalScope.g:2843:2: ( ( rule__XStringLiteral__Group__0 ) ) + // InternalScope.g:2844:3: ( rule__XStringLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingSectionAccess().getNamingSectionAction_0()); + before(grammarAccess.getXStringLiteralAccess().getGroup()); } - // InternalScope.g:2889:2: () - // InternalScope.g:2889:3: + // InternalScope.g:2845:3: ( rule__XStringLiteral__Group__0 ) + // InternalScope.g:2845:4: rule__XStringLiteral__Group__0 { + pushFollow(FOLLOW_2); + rule__XStringLiteral__Group__0(); + + state._fsp--; + if (state.failed) return ; + } if ( state.backtracking==0 ) { - after(grammarAccess.getNamingSectionAccess().getNamingSectionAction_0()); + after(grammarAccess.getXStringLiteralAccess().getGroup()); } } @@ -10549,6 +9641,10 @@ public final void rule__NamingSection__Group__0__Impl() throws RecognitionExcept } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -10556,29 +9652,28 @@ public final void rule__NamingSection__Group__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__NamingSection__Group__0__Impl" + // $ANTLR end "ruleXStringLiteral" - // $ANTLR start "rule__NamingSection__Group__1" - // InternalScope.g:2897:1: rule__NamingSection__Group__1 : rule__NamingSection__Group__1__Impl rule__NamingSection__Group__2 ; - public final void rule__NamingSection__Group__1() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXTypeLiteral" + // InternalScope.g:2854:1: entryRuleXTypeLiteral : ruleXTypeLiteral EOF ; + public final void entryRuleXTypeLiteral() throws RecognitionException { try { - // InternalScope.g:2901:1: ( rule__NamingSection__Group__1__Impl rule__NamingSection__Group__2 ) - // InternalScope.g:2902:2: rule__NamingSection__Group__1__Impl rule__NamingSection__Group__2 + // InternalScope.g:2855:1: ( ruleXTypeLiteral EOF ) + // InternalScope.g:2856:1: ruleXTypeLiteral EOF { - pushFollow(FOLLOW_11); - rule__NamingSection__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__NamingSection__Group__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralRule()); + } + pushFollow(FOLLOW_1); + ruleXTypeLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10588,55 +9683,41 @@ public final void rule__NamingSection__Group__1() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__NamingSection__Group__1" + // $ANTLR end "entryRuleXTypeLiteral" - // $ANTLR start "rule__NamingSection__Group__1__Impl" - // InternalScope.g:2909:1: rule__NamingSection__Group__1__Impl : ( ( rule__NamingSection__Group_1__0 )? ) ; - public final void rule__NamingSection__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleXTypeLiteral" + // InternalScope.g:2863:1: ruleXTypeLiteral : ( ( rule__XTypeLiteral__Group__0 ) ) ; + public final void ruleXTypeLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2913:1: ( ( ( rule__NamingSection__Group_1__0 )? ) ) - // InternalScope.g:2914:1: ( ( rule__NamingSection__Group_1__0 )? ) + // InternalScope.g:2867:2: ( ( ( rule__XTypeLiteral__Group__0 ) ) ) + // InternalScope.g:2868:2: ( ( rule__XTypeLiteral__Group__0 ) ) { - // InternalScope.g:2914:1: ( ( rule__NamingSection__Group_1__0 )? ) - // InternalScope.g:2915:2: ( rule__NamingSection__Group_1__0 )? + // InternalScope.g:2868:2: ( ( rule__XTypeLiteral__Group__0 ) ) + // InternalScope.g:2869:3: ( rule__XTypeLiteral__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingSectionAccess().getGroup_1()); - } - // InternalScope.g:2916:2: ( rule__NamingSection__Group_1__0 )? - int alt35=2; - int LA35_0 = input.LA(1); - - if ( (LA35_0==47) ) { - alt35=1; + before(grammarAccess.getXTypeLiteralAccess().getGroup()); } - switch (alt35) { - case 1 : - // InternalScope.g:2916:3: rule__NamingSection__Group_1__0 - { - pushFollow(FOLLOW_2); - rule__NamingSection__Group_1__0(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:2870:3: ( rule__XTypeLiteral__Group__0 ) + // InternalScope.g:2870:4: rule__XTypeLiteral__Group__0 + { + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getNamingSectionAccess().getGroup_1()); + after(grammarAccess.getXTypeLiteralAccess().getGroup()); } } @@ -10656,29 +9737,28 @@ public final void rule__NamingSection__Group__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__NamingSection__Group__1__Impl" + // $ANTLR end "ruleXTypeLiteral" - // $ANTLR start "rule__NamingSection__Group__2" - // InternalScope.g:2924:1: rule__NamingSection__Group__2 : rule__NamingSection__Group__2__Impl rule__NamingSection__Group__3 ; - public final void rule__NamingSection__Group__2() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXThrowExpression" + // InternalScope.g:2879:1: entryRuleXThrowExpression : ruleXThrowExpression EOF ; + public final void entryRuleXThrowExpression() throws RecognitionException { try { - // InternalScope.g:2928:1: ( rule__NamingSection__Group__2__Impl rule__NamingSection__Group__3 ) - // InternalScope.g:2929:2: rule__NamingSection__Group__2__Impl rule__NamingSection__Group__3 + // InternalScope.g:2880:1: ( ruleXThrowExpression EOF ) + // InternalScope.g:2881:1: ruleXThrowExpression EOF { - pushFollow(FOLLOW_12); - rule__NamingSection__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__NamingSection__Group__3(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXThrowExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXThrowExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXThrowExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10688,34 +9768,41 @@ public final void rule__NamingSection__Group__2() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__NamingSection__Group__2" + // $ANTLR end "entryRuleXThrowExpression" - // $ANTLR start "rule__NamingSection__Group__2__Impl" - // InternalScope.g:2936:1: rule__NamingSection__Group__2__Impl : ( 'naming' ) ; - public final void rule__NamingSection__Group__2__Impl() throws RecognitionException { + // $ANTLR start "ruleXThrowExpression" + // InternalScope.g:2888:1: ruleXThrowExpression : ( ( rule__XThrowExpression__Group__0 ) ) ; + public final void ruleXThrowExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2940:1: ( ( 'naming' ) ) - // InternalScope.g:2941:1: ( 'naming' ) + // InternalScope.g:2892:2: ( ( ( rule__XThrowExpression__Group__0 ) ) ) + // InternalScope.g:2893:2: ( ( rule__XThrowExpression__Group__0 ) ) { - // InternalScope.g:2941:1: ( 'naming' ) - // InternalScope.g:2942:2: 'naming' + // InternalScope.g:2893:2: ( ( rule__XThrowExpression__Group__0 ) ) + // InternalScope.g:2894:3: ( rule__XThrowExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingSectionAccess().getNamingKeyword_2()); + before(grammarAccess.getXThrowExpressionAccess().getGroup()); + } + // InternalScope.g:2895:3: ( rule__XThrowExpression__Group__0 ) + // InternalScope.g:2895:4: rule__XThrowExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XThrowExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,44,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getNamingSectionAccess().getNamingKeyword_2()); + after(grammarAccess.getXThrowExpressionAccess().getGroup()); } } @@ -10735,29 +9822,28 @@ public final void rule__NamingSection__Group__2__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__NamingSection__Group__2__Impl" - + // $ANTLR end "ruleXThrowExpression" - // $ANTLR start "rule__NamingSection__Group__3" - // InternalScope.g:2951:1: rule__NamingSection__Group__3 : rule__NamingSection__Group__3__Impl rule__NamingSection__Group__4 ; - public final void rule__NamingSection__Group__3() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXReturnExpression" + // InternalScope.g:2904:1: entryRuleXReturnExpression : ruleXReturnExpression EOF ; + public final void entryRuleXReturnExpression() throws RecognitionException { try { - // InternalScope.g:2955:1: ( rule__NamingSection__Group__3__Impl rule__NamingSection__Group__4 ) - // InternalScope.g:2956:2: rule__NamingSection__Group__3__Impl rule__NamingSection__Group__4 + // InternalScope.g:2905:1: ( ruleXReturnExpression EOF ) + // InternalScope.g:2906:1: ruleXReturnExpression EOF { - pushFollow(FOLLOW_13); - rule__NamingSection__Group__3__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__NamingSection__Group__4(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXReturnExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXReturnExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXReturnExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10767,34 +9853,41 @@ public final void rule__NamingSection__Group__3() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__NamingSection__Group__3" + // $ANTLR end "entryRuleXReturnExpression" - // $ANTLR start "rule__NamingSection__Group__3__Impl" - // InternalScope.g:2963:1: rule__NamingSection__Group__3__Impl : ( '{' ) ; - public final void rule__NamingSection__Group__3__Impl() throws RecognitionException { + // $ANTLR start "ruleXReturnExpression" + // InternalScope.g:2913:1: ruleXReturnExpression : ( ( rule__XReturnExpression__Group__0 ) ) ; + public final void ruleXReturnExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2967:1: ( ( '{' ) ) - // InternalScope.g:2968:1: ( '{' ) + // InternalScope.g:2917:2: ( ( ( rule__XReturnExpression__Group__0 ) ) ) + // InternalScope.g:2918:2: ( ( rule__XReturnExpression__Group__0 ) ) { - // InternalScope.g:2968:1: ( '{' ) - // InternalScope.g:2969:2: '{' + // InternalScope.g:2918:2: ( ( rule__XReturnExpression__Group__0 ) ) + // InternalScope.g:2919:3: ( rule__XReturnExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingSectionAccess().getLeftCurlyBracketKeyword_3()); + before(grammarAccess.getXReturnExpressionAccess().getGroup()); } - match(input,45,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:2920:3: ( rule__XReturnExpression__Group__0 ) + // InternalScope.g:2920:4: rule__XReturnExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XReturnExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getNamingSectionAccess().getLeftCurlyBracketKeyword_3()); + after(grammarAccess.getXReturnExpressionAccess().getGroup()); } } @@ -10814,29 +9907,28 @@ public final void rule__NamingSection__Group__3__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__NamingSection__Group__3__Impl" + // $ANTLR end "ruleXReturnExpression" - // $ANTLR start "rule__NamingSection__Group__4" - // InternalScope.g:2978:1: rule__NamingSection__Group__4 : rule__NamingSection__Group__4__Impl rule__NamingSection__Group__5 ; - public final void rule__NamingSection__Group__4() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXTryCatchFinallyExpression" + // InternalScope.g:2929:1: entryRuleXTryCatchFinallyExpression : ruleXTryCatchFinallyExpression EOF ; + public final void entryRuleXTryCatchFinallyExpression() throws RecognitionException { try { - // InternalScope.g:2982:1: ( rule__NamingSection__Group__4__Impl rule__NamingSection__Group__5 ) - // InternalScope.g:2983:2: rule__NamingSection__Group__4__Impl rule__NamingSection__Group__5 + // InternalScope.g:2930:1: ( ruleXTryCatchFinallyExpression EOF ) + // InternalScope.g:2931:1: ruleXTryCatchFinallyExpression EOF { - pushFollow(FOLLOW_13); - rule__NamingSection__Group__4__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__NamingSection__Group__5(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXTryCatchFinallyExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10846,62 +9938,41 @@ public final void rule__NamingSection__Group__4() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__NamingSection__Group__4" + // $ANTLR end "entryRuleXTryCatchFinallyExpression" - // $ANTLR start "rule__NamingSection__Group__4__Impl" - // InternalScope.g:2990:1: rule__NamingSection__Group__4__Impl : ( ( rule__NamingSection__NamingsAssignment_4 )* ) ; - public final void rule__NamingSection__Group__4__Impl() throws RecognitionException { + // $ANTLR start "ruleXTryCatchFinallyExpression" + // InternalScope.g:2938:1: ruleXTryCatchFinallyExpression : ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) ; + public final void ruleXTryCatchFinallyExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:2994:1: ( ( ( rule__NamingSection__NamingsAssignment_4 )* ) ) - // InternalScope.g:2995:1: ( ( rule__NamingSection__NamingsAssignment_4 )* ) + // InternalScope.g:2942:2: ( ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) ) + // InternalScope.g:2943:2: ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) { - // InternalScope.g:2995:1: ( ( rule__NamingSection__NamingsAssignment_4 )* ) - // InternalScope.g:2996:2: ( rule__NamingSection__NamingsAssignment_4 )* + // InternalScope.g:2943:2: ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) + // InternalScope.g:2944:3: ( rule__XTryCatchFinallyExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingSectionAccess().getNamingsAssignment_4()); + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); } - // InternalScope.g:2997:2: ( rule__NamingSection__NamingsAssignment_4 )* - loop36: - do { - int alt36=2; - int LA36_0 = input.LA(1); - - if ( (LA36_0==RULE_ID) ) { - alt36=1; - } - - - switch (alt36) { - case 1 : - // InternalScope.g:2997:3: rule__NamingSection__NamingsAssignment_4 - { - pushFollow(FOLLOW_14); - rule__NamingSection__NamingsAssignment_4(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:2945:3: ( rule__XTryCatchFinallyExpression__Group__0 ) + // InternalScope.g:2945:4: rule__XTryCatchFinallyExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group__0(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop36; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getNamingSectionAccess().getNamingsAssignment_4()); + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); } } @@ -10921,24 +9992,28 @@ public final void rule__NamingSection__Group__4__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__NamingSection__Group__4__Impl" + // $ANTLR end "ruleXTryCatchFinallyExpression" - // $ANTLR start "rule__NamingSection__Group__5" - // InternalScope.g:3005:1: rule__NamingSection__Group__5 : rule__NamingSection__Group__5__Impl ; - public final void rule__NamingSection__Group__5() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXSynchronizedExpression" + // InternalScope.g:2954:1: entryRuleXSynchronizedExpression : ruleXSynchronizedExpression EOF ; + public final void entryRuleXSynchronizedExpression() throws RecognitionException { try { - // InternalScope.g:3009:1: ( rule__NamingSection__Group__5__Impl ) - // InternalScope.g:3010:2: rule__NamingSection__Group__5__Impl + // InternalScope.g:2955:1: ( ruleXSynchronizedExpression EOF ) + // InternalScope.g:2956:1: ruleXSynchronizedExpression EOF { - pushFollow(FOLLOW_2); - rule__NamingSection__Group__5__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionRule()); + } + pushFollow(FOLLOW_1); + ruleXSynchronizedExpression(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -10948,34 +10023,41 @@ public final void rule__NamingSection__Group__5() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__NamingSection__Group__5" + // $ANTLR end "entryRuleXSynchronizedExpression" - // $ANTLR start "rule__NamingSection__Group__5__Impl" - // InternalScope.g:3016:1: rule__NamingSection__Group__5__Impl : ( '}' ) ; - public final void rule__NamingSection__Group__5__Impl() throws RecognitionException { + // $ANTLR start "ruleXSynchronizedExpression" + // InternalScope.g:2963:1: ruleXSynchronizedExpression : ( ( rule__XSynchronizedExpression__Group__0 ) ) ; + public final void ruleXSynchronizedExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3020:1: ( ( '}' ) ) - // InternalScope.g:3021:1: ( '}' ) + // InternalScope.g:2967:2: ( ( ( rule__XSynchronizedExpression__Group__0 ) ) ) + // InternalScope.g:2968:2: ( ( rule__XSynchronizedExpression__Group__0 ) ) { - // InternalScope.g:3021:1: ( '}' ) - // InternalScope.g:3022:2: '}' + // InternalScope.g:2968:2: ( ( rule__XSynchronizedExpression__Group__0 ) ) + // InternalScope.g:2969:3: ( rule__XSynchronizedExpression__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingSectionAccess().getRightCurlyBracketKeyword_5()); + before(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); + } + // InternalScope.g:2970:3: ( rule__XSynchronizedExpression__Group__0 ) + // InternalScope.g:2970:4: rule__XSynchronizedExpression__Group__0 + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,46,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getNamingSectionAccess().getRightCurlyBracketKeyword_5()); + after(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); } } @@ -10995,29 +10077,28 @@ public final void rule__NamingSection__Group__5__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__NamingSection__Group__5__Impl" + // $ANTLR end "ruleXSynchronizedExpression" - // $ANTLR start "rule__NamingSection__Group_1__0" - // InternalScope.g:3032:1: rule__NamingSection__Group_1__0 : rule__NamingSection__Group_1__0__Impl rule__NamingSection__Group_1__1 ; - public final void rule__NamingSection__Group_1__0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXCatchClause" + // InternalScope.g:2979:1: entryRuleXCatchClause : ruleXCatchClause EOF ; + public final void entryRuleXCatchClause() throws RecognitionException { try { - // InternalScope.g:3036:1: ( rule__NamingSection__Group_1__0__Impl rule__NamingSection__Group_1__1 ) - // InternalScope.g:3037:2: rule__NamingSection__Group_1__0__Impl rule__NamingSection__Group_1__1 + // InternalScope.g:2980:1: ( ruleXCatchClause EOF ) + // InternalScope.g:2981:1: ruleXCatchClause EOF { - pushFollow(FOLLOW_15); - rule__NamingSection__Group_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__NamingSection__Group_1__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseRule()); + } + pushFollow(FOLLOW_1); + ruleXCatchClause(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11027,34 +10108,41 @@ public final void rule__NamingSection__Group_1__0() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__NamingSection__Group_1__0" + // $ANTLR end "entryRuleXCatchClause" - // $ANTLR start "rule__NamingSection__Group_1__0__Impl" - // InternalScope.g:3044:1: rule__NamingSection__Group_1__0__Impl : ( 'case' ) ; - public final void rule__NamingSection__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXCatchClause" + // InternalScope.g:2988:1: ruleXCatchClause : ( ( rule__XCatchClause__Group__0 ) ) ; + public final void ruleXCatchClause() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3048:1: ( ( 'case' ) ) - // InternalScope.g:3049:1: ( 'case' ) + // InternalScope.g:2992:2: ( ( ( rule__XCatchClause__Group__0 ) ) ) + // InternalScope.g:2993:2: ( ( rule__XCatchClause__Group__0 ) ) { - // InternalScope.g:3049:1: ( 'case' ) - // InternalScope.g:3050:2: 'case' + // InternalScope.g:2993:2: ( ( rule__XCatchClause__Group__0 ) ) + // InternalScope.g:2994:3: ( rule__XCatchClause__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingSectionAccess().getCaseKeyword_1_0()); + before(grammarAccess.getXCatchClauseAccess().getGroup()); + } + // InternalScope.g:2995:3: ( rule__XCatchClause__Group__0 ) + // InternalScope.g:2995:4: rule__XCatchClause__Group__0 + { + pushFollow(FOLLOW_2); + rule__XCatchClause__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,47,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getNamingSectionAccess().getCaseKeyword_1_0()); + after(grammarAccess.getXCatchClauseAccess().getGroup()); } } @@ -11074,24 +10162,28 @@ public final void rule__NamingSection__Group_1__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__NamingSection__Group_1__0__Impl" - + // $ANTLR end "ruleXCatchClause" - // $ANTLR start "rule__NamingSection__Group_1__1" - // InternalScope.g:3059:1: rule__NamingSection__Group_1__1 : rule__NamingSection__Group_1__1__Impl ; - public final void rule__NamingSection__Group_1__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleQualifiedName" + // InternalScope.g:3004:1: entryRuleQualifiedName : ruleQualifiedName EOF ; + public final void entryRuleQualifiedName() throws RecognitionException { try { - // InternalScope.g:3063:1: ( rule__NamingSection__Group_1__1__Impl ) - // InternalScope.g:3064:2: rule__NamingSection__Group_1__1__Impl + // InternalScope.g:3005:1: ( ruleQualifiedName EOF ) + // InternalScope.g:3006:1: ruleQualifiedName EOF { - pushFollow(FOLLOW_2); - rule__NamingSection__Group_1__1__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameRule()); + } + pushFollow(FOLLOW_1); + ruleQualifiedName(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11101,36 +10193,33 @@ public final void rule__NamingSection__Group_1__1() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__NamingSection__Group_1__1" + // $ANTLR end "entryRuleQualifiedName" - // $ANTLR start "rule__NamingSection__Group_1__1__Impl" - // InternalScope.g:3070:1: rule__NamingSection__Group_1__1__Impl : ( ( rule__NamingSection__CasingAssignment_1_1 ) ) ; - public final void rule__NamingSection__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "ruleQualifiedName" + // InternalScope.g:3013:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ; + public final void ruleQualifiedName() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3074:1: ( ( ( rule__NamingSection__CasingAssignment_1_1 ) ) ) - // InternalScope.g:3075:1: ( ( rule__NamingSection__CasingAssignment_1_1 ) ) + // InternalScope.g:3017:2: ( ( ( rule__QualifiedName__Group__0 ) ) ) + // InternalScope.g:3018:2: ( ( rule__QualifiedName__Group__0 ) ) { - // InternalScope.g:3075:1: ( ( rule__NamingSection__CasingAssignment_1_1 ) ) - // InternalScope.g:3076:2: ( rule__NamingSection__CasingAssignment_1_1 ) + // InternalScope.g:3018:2: ( ( rule__QualifiedName__Group__0 ) ) + // InternalScope.g:3019:3: ( rule__QualifiedName__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingSectionAccess().getCasingAssignment_1_1()); + before(grammarAccess.getQualifiedNameAccess().getGroup()); } - // InternalScope.g:3077:2: ( rule__NamingSection__CasingAssignment_1_1 ) - // InternalScope.g:3077:3: rule__NamingSection__CasingAssignment_1_1 + // InternalScope.g:3020:3: ( rule__QualifiedName__Group__0 ) + // InternalScope.g:3020:4: rule__QualifiedName__Group__0 { pushFollow(FOLLOW_2); - rule__NamingSection__CasingAssignment_1_1(); + rule__QualifiedName__Group__0(); state._fsp--; if (state.failed) return ; @@ -11138,7 +10227,7 @@ public final void rule__NamingSection__Group_1__1__Impl() throws RecognitionExce } if ( state.backtracking==0 ) { - after(grammarAccess.getNamingSectionAccess().getCasingAssignment_1_1()); + after(grammarAccess.getQualifiedNameAccess().getGroup()); } } @@ -11158,29 +10247,31 @@ public final void rule__NamingSection__Group_1__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__NamingSection__Group_1__1__Impl" + // $ANTLR end "ruleQualifiedName" - // $ANTLR start "rule__NamingDefinition__Group__0" - // InternalScope.g:3086:1: rule__NamingDefinition__Group__0 : rule__NamingDefinition__Group__0__Impl rule__NamingDefinition__Group__1 ; - public final void rule__NamingDefinition__Group__0() throws RecognitionException { + // $ANTLR start "entryRuleNumber" + // InternalScope.g:3029:1: entryRuleNumber : ruleNumber EOF ; + public final void entryRuleNumber() throws RecognitionException { + + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); - int stackSize = keepStackSize(); - try { - // InternalScope.g:3090:1: ( rule__NamingDefinition__Group__0__Impl rule__NamingDefinition__Group__1 ) - // InternalScope.g:3091:2: rule__NamingDefinition__Group__0__Impl rule__NamingDefinition__Group__1 + // InternalScope.g:3033:1: ( ruleNumber EOF ) + // InternalScope.g:3034:1: ruleNumber EOF { - pushFollow(FOLLOW_16); - rule__NamingDefinition__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__NamingDefinition__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberRule()); + } + pushFollow(FOLLOW_1); + ruleNumber(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11191,35 +10282,36 @@ public final void rule__NamingDefinition__Group__0() throws RecognitionException } finally { - restoreStackSize(stackSize); + myHiddenTokenState.restore(); } return ; } - // $ANTLR end "rule__NamingDefinition__Group__0" + // $ANTLR end "entryRuleNumber" - // $ANTLR start "rule__NamingDefinition__Group__0__Impl" - // InternalScope.g:3098:1: rule__NamingDefinition__Group__0__Impl : ( ( rule__NamingDefinition__TypeAssignment_0 ) ) ; - public final void rule__NamingDefinition__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleNumber" + // InternalScope.g:3044:1: ruleNumber : ( ( rule__Number__Alternatives ) ) ; + public final void ruleNumber() throws RecognitionException { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); int stackSize = keepStackSize(); try { - // InternalScope.g:3102:1: ( ( ( rule__NamingDefinition__TypeAssignment_0 ) ) ) - // InternalScope.g:3103:1: ( ( rule__NamingDefinition__TypeAssignment_0 ) ) + // InternalScope.g:3049:2: ( ( ( rule__Number__Alternatives ) ) ) + // InternalScope.g:3050:2: ( ( rule__Number__Alternatives ) ) { - // InternalScope.g:3103:1: ( ( rule__NamingDefinition__TypeAssignment_0 ) ) - // InternalScope.g:3104:2: ( rule__NamingDefinition__TypeAssignment_0 ) + // InternalScope.g:3050:2: ( ( rule__Number__Alternatives ) ) + // InternalScope.g:3051:3: ( rule__Number__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingDefinitionAccess().getTypeAssignment_0()); + before(grammarAccess.getNumberAccess().getAlternatives()); } - // InternalScope.g:3105:2: ( rule__NamingDefinition__TypeAssignment_0 ) - // InternalScope.g:3105:3: rule__NamingDefinition__TypeAssignment_0 + // InternalScope.g:3052:3: ( rule__Number__Alternatives ) + // InternalScope.g:3052:4: rule__Number__Alternatives { pushFollow(FOLLOW_2); - rule__NamingDefinition__TypeAssignment_0(); + rule__Number__Alternatives(); state._fsp--; if (state.failed) return ; @@ -11227,7 +10319,7 @@ public final void rule__NamingDefinition__Group__0__Impl() throws RecognitionExc } if ( state.backtracking==0 ) { - after(grammarAccess.getNamingDefinitionAccess().getTypeAssignment_0()); + after(grammarAccess.getNumberAccess().getAlternatives()); } } @@ -11243,33 +10335,33 @@ public final void rule__NamingDefinition__Group__0__Impl() throws RecognitionExc finally { restoreStackSize(stackSize); + myHiddenTokenState.restore(); } return ; } - // $ANTLR end "rule__NamingDefinition__Group__0__Impl" - + // $ANTLR end "ruleNumber" - // $ANTLR start "rule__NamingDefinition__Group__1" - // InternalScope.g:3113:1: rule__NamingDefinition__Group__1 : rule__NamingDefinition__Group__1__Impl rule__NamingDefinition__Group__2 ; - public final void rule__NamingDefinition__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmTypeReference" + // InternalScope.g:3062:1: entryRuleJvmTypeReference : ruleJvmTypeReference EOF ; + public final void entryRuleJvmTypeReference() throws RecognitionException { try { - // InternalScope.g:3117:1: ( rule__NamingDefinition__Group__1__Impl rule__NamingDefinition__Group__2 ) - // InternalScope.g:3118:2: rule__NamingDefinition__Group__1__Impl rule__NamingDefinition__Group__2 + // InternalScope.g:3063:1: ( ruleJvmTypeReference EOF ) + // InternalScope.g:3064:1: ruleJvmTypeReference EOF { - pushFollow(FOLLOW_17); - rule__NamingDefinition__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__NamingDefinition__Group__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + ruleJvmTypeReference(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11279,34 +10371,41 @@ public final void rule__NamingDefinition__Group__1() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__NamingDefinition__Group__1" + // $ANTLR end "entryRuleJvmTypeReference" - // $ANTLR start "rule__NamingDefinition__Group__1__Impl" - // InternalScope.g:3125:1: rule__NamingDefinition__Group__1__Impl : ( '=' ) ; - public final void rule__NamingDefinition__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmTypeReference" + // InternalScope.g:3071:1: ruleJvmTypeReference : ( ( rule__JvmTypeReference__Alternatives ) ) ; + public final void ruleJvmTypeReference() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3129:1: ( ( '=' ) ) - // InternalScope.g:3130:1: ( '=' ) + // InternalScope.g:3075:2: ( ( ( rule__JvmTypeReference__Alternatives ) ) ) + // InternalScope.g:3076:2: ( ( rule__JvmTypeReference__Alternatives ) ) { - // InternalScope.g:3130:1: ( '=' ) - // InternalScope.g:3131:2: '=' + // InternalScope.g:3076:2: ( ( rule__JvmTypeReference__Alternatives ) ) + // InternalScope.g:3077:3: ( rule__JvmTypeReference__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingDefinitionAccess().getEqualsSignKeyword_1()); + before(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); } - match(input,48,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:3078:3: ( rule__JvmTypeReference__Alternatives ) + // InternalScope.g:3078:4: rule__JvmTypeReference__Alternatives + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getNamingDefinitionAccess().getEqualsSignKeyword_1()); + after(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); } } @@ -11326,29 +10425,28 @@ public final void rule__NamingDefinition__Group__1__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__NamingDefinition__Group__1__Impl" - + // $ANTLR end "ruleJvmTypeReference" - // $ANTLR start "rule__NamingDefinition__Group__2" - // InternalScope.g:3140:1: rule__NamingDefinition__Group__2 : rule__NamingDefinition__Group__2__Impl rule__NamingDefinition__Group__3 ; - public final void rule__NamingDefinition__Group__2() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleArrayBrackets" + // InternalScope.g:3087:1: entryRuleArrayBrackets : ruleArrayBrackets EOF ; + public final void entryRuleArrayBrackets() throws RecognitionException { try { - // InternalScope.g:3144:1: ( rule__NamingDefinition__Group__2__Impl rule__NamingDefinition__Group__3 ) - // InternalScope.g:3145:2: rule__NamingDefinition__Group__2__Impl rule__NamingDefinition__Group__3 + // InternalScope.g:3088:1: ( ruleArrayBrackets EOF ) + // InternalScope.g:3089:1: ruleArrayBrackets EOF { - pushFollow(FOLLOW_18); - rule__NamingDefinition__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__NamingDefinition__Group__3(); + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayBracketsRule()); + } + pushFollow(FOLLOW_1); + ruleArrayBrackets(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayBracketsRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11358,36 +10456,33 @@ public final void rule__NamingDefinition__Group__2() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__NamingDefinition__Group__2" + // $ANTLR end "entryRuleArrayBrackets" - // $ANTLR start "rule__NamingDefinition__Group__2__Impl" - // InternalScope.g:3152:1: rule__NamingDefinition__Group__2__Impl : ( ( rule__NamingDefinition__NamingAssignment_2 ) ) ; - public final void rule__NamingDefinition__Group__2__Impl() throws RecognitionException { + // $ANTLR start "ruleArrayBrackets" + // InternalScope.g:3096:1: ruleArrayBrackets : ( ( rule__ArrayBrackets__Group__0 ) ) ; + public final void ruleArrayBrackets() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3156:1: ( ( ( rule__NamingDefinition__NamingAssignment_2 ) ) ) - // InternalScope.g:3157:1: ( ( rule__NamingDefinition__NamingAssignment_2 ) ) + // InternalScope.g:3100:2: ( ( ( rule__ArrayBrackets__Group__0 ) ) ) + // InternalScope.g:3101:2: ( ( rule__ArrayBrackets__Group__0 ) ) { - // InternalScope.g:3157:1: ( ( rule__NamingDefinition__NamingAssignment_2 ) ) - // InternalScope.g:3158:2: ( rule__NamingDefinition__NamingAssignment_2 ) + // InternalScope.g:3101:2: ( ( rule__ArrayBrackets__Group__0 ) ) + // InternalScope.g:3102:3: ( rule__ArrayBrackets__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingDefinitionAccess().getNamingAssignment_2()); + before(grammarAccess.getArrayBracketsAccess().getGroup()); } - // InternalScope.g:3159:2: ( rule__NamingDefinition__NamingAssignment_2 ) - // InternalScope.g:3159:3: rule__NamingDefinition__NamingAssignment_2 + // InternalScope.g:3103:3: ( rule__ArrayBrackets__Group__0 ) + // InternalScope.g:3103:4: rule__ArrayBrackets__Group__0 { pushFollow(FOLLOW_2); - rule__NamingDefinition__NamingAssignment_2(); + rule__ArrayBrackets__Group__0(); state._fsp--; if (state.failed) return ; @@ -11395,7 +10490,7 @@ public final void rule__NamingDefinition__Group__2__Impl() throws RecognitionExc } if ( state.backtracking==0 ) { - after(grammarAccess.getNamingDefinitionAccess().getNamingAssignment_2()); + after(grammarAccess.getArrayBracketsAccess().getGroup()); } } @@ -11415,24 +10510,28 @@ public final void rule__NamingDefinition__Group__2__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__NamingDefinition__Group__2__Impl" - + // $ANTLR end "ruleArrayBrackets" - // $ANTLR start "rule__NamingDefinition__Group__3" - // InternalScope.g:3167:1: rule__NamingDefinition__Group__3 : rule__NamingDefinition__Group__3__Impl ; - public final void rule__NamingDefinition__Group__3() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXFunctionTypeRef" + // InternalScope.g:3112:1: entryRuleXFunctionTypeRef : ruleXFunctionTypeRef EOF ; + public final void entryRuleXFunctionTypeRef() throws RecognitionException { try { - // InternalScope.g:3171:1: ( rule__NamingDefinition__Group__3__Impl ) - // InternalScope.g:3172:2: rule__NamingDefinition__Group__3__Impl + // InternalScope.g:3113:1: ( ruleXFunctionTypeRef EOF ) + // InternalScope.g:3114:1: ruleXFunctionTypeRef EOF { - pushFollow(FOLLOW_2); - rule__NamingDefinition__Group__3__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefRule()); + } + pushFollow(FOLLOW_1); + ruleXFunctionTypeRef(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11442,34 +10541,41 @@ public final void rule__NamingDefinition__Group__3() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__NamingDefinition__Group__3" + // $ANTLR end "entryRuleXFunctionTypeRef" - // $ANTLR start "rule__NamingDefinition__Group__3__Impl" - // InternalScope.g:3178:1: rule__NamingDefinition__Group__3__Impl : ( ';' ) ; - public final void rule__NamingDefinition__Group__3__Impl() throws RecognitionException { + // $ANTLR start "ruleXFunctionTypeRef" + // InternalScope.g:3121:1: ruleXFunctionTypeRef : ( ( rule__XFunctionTypeRef__Group__0 ) ) ; + public final void ruleXFunctionTypeRef() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3182:1: ( ( ';' ) ) - // InternalScope.g:3183:1: ( ';' ) + // InternalScope.g:3125:2: ( ( ( rule__XFunctionTypeRef__Group__0 ) ) ) + // InternalScope.g:3126:2: ( ( rule__XFunctionTypeRef__Group__0 ) ) { - // InternalScope.g:3183:1: ( ';' ) - // InternalScope.g:3184:2: ';' + // InternalScope.g:3126:2: ( ( rule__XFunctionTypeRef__Group__0 ) ) + // InternalScope.g:3127:3: ( rule__XFunctionTypeRef__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingDefinitionAccess().getSemicolonKeyword_3()); + before(grammarAccess.getXFunctionTypeRefAccess().getGroup()); + } + // InternalScope.g:3128:3: ( rule__XFunctionTypeRef__Group__0 ) + // InternalScope.g:3128:4: rule__XFunctionTypeRef__Group__0 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,49,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getNamingDefinitionAccess().getSemicolonKeyword_3()); + after(grammarAccess.getXFunctionTypeRefAccess().getGroup()); } } @@ -11489,29 +10595,28 @@ public final void rule__NamingDefinition__Group__3__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__NamingDefinition__Group__3__Impl" - + // $ANTLR end "ruleXFunctionTypeRef" - // $ANTLR start "rule__ScopeDefinition__Group__0" - // InternalScope.g:3194:1: rule__ScopeDefinition__Group__0 : rule__ScopeDefinition__Group__0__Impl rule__ScopeDefinition__Group__1 ; - public final void rule__ScopeDefinition__Group__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmParameterizedTypeReference" + // InternalScope.g:3137:1: entryRuleJvmParameterizedTypeReference : ruleJvmParameterizedTypeReference EOF ; + public final void entryRuleJvmParameterizedTypeReference() throws RecognitionException { try { - // InternalScope.g:3198:1: ( rule__ScopeDefinition__Group__0__Impl rule__ScopeDefinition__Group__1 ) - // InternalScope.g:3199:2: rule__ScopeDefinition__Group__0__Impl rule__ScopeDefinition__Group__1 + // InternalScope.g:3138:1: ( ruleJvmParameterizedTypeReference EOF ) + // InternalScope.g:3139:1: ruleJvmParameterizedTypeReference EOF { - pushFollow(FOLLOW_19); - rule__ScopeDefinition__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeDefinition__Group__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11521,34 +10626,41 @@ public final void rule__ScopeDefinition__Group__0() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeDefinition__Group__0" + // $ANTLR end "entryRuleJvmParameterizedTypeReference" - // $ANTLR start "rule__ScopeDefinition__Group__0__Impl" - // InternalScope.g:3206:1: rule__ScopeDefinition__Group__0__Impl : ( 'scope' ) ; - public final void rule__ScopeDefinition__Group__0__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmParameterizedTypeReference" + // InternalScope.g:3146:1: ruleJvmParameterizedTypeReference : ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) ; + public final void ruleJvmParameterizedTypeReference() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3210:1: ( ( 'scope' ) ) - // InternalScope.g:3211:1: ( 'scope' ) + // InternalScope.g:3150:2: ( ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) ) + // InternalScope.g:3151:2: ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) { - // InternalScope.g:3211:1: ( 'scope' ) - // InternalScope.g:3212:2: 'scope' + // InternalScope.g:3151:2: ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) + // InternalScope.g:3152:3: ( rule__JvmParameterizedTypeReference__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getScopeKeyword_0()); + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); } - match(input,50,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:3153:3: ( rule__JvmParameterizedTypeReference__Group__0 ) + // InternalScope.g:3153:4: rule__JvmParameterizedTypeReference__Group__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getScopeKeyword_0()); + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); } } @@ -11568,29 +10680,28 @@ public final void rule__ScopeDefinition__Group__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ScopeDefinition__Group__0__Impl" - + // $ANTLR end "ruleJvmParameterizedTypeReference" - // $ANTLR start "rule__ScopeDefinition__Group__1" - // InternalScope.g:3221:1: rule__ScopeDefinition__Group__1 : rule__ScopeDefinition__Group__1__Impl rule__ScopeDefinition__Group__2 ; - public final void rule__ScopeDefinition__Group__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmArgumentTypeReference" + // InternalScope.g:3162:1: entryRuleJvmArgumentTypeReference : ruleJvmArgumentTypeReference EOF ; + public final void entryRuleJvmArgumentTypeReference() throws RecognitionException { try { - // InternalScope.g:3225:1: ( rule__ScopeDefinition__Group__1__Impl rule__ScopeDefinition__Group__2 ) - // InternalScope.g:3226:2: rule__ScopeDefinition__Group__1__Impl rule__ScopeDefinition__Group__2 + // InternalScope.g:3163:1: ( ruleJvmArgumentTypeReference EOF ) + // InternalScope.g:3164:1: ruleJvmArgumentTypeReference EOF { - pushFollow(FOLLOW_19); - rule__ScopeDefinition__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeDefinition__Group__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmArgumentTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmArgumentTypeReferenceRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11600,55 +10711,41 @@ public final void rule__ScopeDefinition__Group__1() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeDefinition__Group__1" + // $ANTLR end "entryRuleJvmArgumentTypeReference" - // $ANTLR start "rule__ScopeDefinition__Group__1__Impl" - // InternalScope.g:3233:1: rule__ScopeDefinition__Group__1__Impl : ( ( rule__ScopeDefinition__Group_1__0 )? ) ; - public final void rule__ScopeDefinition__Group__1__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmArgumentTypeReference" + // InternalScope.g:3171:1: ruleJvmArgumentTypeReference : ( ( rule__JvmArgumentTypeReference__Alternatives ) ) ; + public final void ruleJvmArgumentTypeReference() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3237:1: ( ( ( rule__ScopeDefinition__Group_1__0 )? ) ) - // InternalScope.g:3238:1: ( ( rule__ScopeDefinition__Group_1__0 )? ) + // InternalScope.g:3175:2: ( ( ( rule__JvmArgumentTypeReference__Alternatives ) ) ) + // InternalScope.g:3176:2: ( ( rule__JvmArgumentTypeReference__Alternatives ) ) { - // InternalScope.g:3238:1: ( ( rule__ScopeDefinition__Group_1__0 )? ) - // InternalScope.g:3239:2: ( rule__ScopeDefinition__Group_1__0 )? + // InternalScope.g:3176:2: ( ( rule__JvmArgumentTypeReference__Alternatives ) ) + // InternalScope.g:3177:3: ( rule__JvmArgumentTypeReference__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getGroup_1()); - } - // InternalScope.g:3240:2: ( rule__ScopeDefinition__Group_1__0 )? - int alt37=2; - int LA37_0 = input.LA(1); - - if ( (LA37_0==51) ) { - alt37=1; + before(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); } - switch (alt37) { - case 1 : - // InternalScope.g:3240:3: rule__ScopeDefinition__Group_1__0 - { - pushFollow(FOLLOW_2); - rule__ScopeDefinition__Group_1__0(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:3178:3: ( rule__JvmArgumentTypeReference__Alternatives ) + // InternalScope.g:3178:4: rule__JvmArgumentTypeReference__Alternatives + { + pushFollow(FOLLOW_2); + rule__JvmArgumentTypeReference__Alternatives(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getGroup_1()); + after(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); } } @@ -11668,29 +10765,28 @@ public final void rule__ScopeDefinition__Group__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ScopeDefinition__Group__1__Impl" - + // $ANTLR end "ruleJvmArgumentTypeReference" - // $ANTLR start "rule__ScopeDefinition__Group__2" - // InternalScope.g:3248:1: rule__ScopeDefinition__Group__2 : rule__ScopeDefinition__Group__2__Impl rule__ScopeDefinition__Group__3 ; - public final void rule__ScopeDefinition__Group__2() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmWildcardTypeReference" + // InternalScope.g:3187:1: entryRuleJvmWildcardTypeReference : ruleJvmWildcardTypeReference EOF ; + public final void entryRuleJvmWildcardTypeReference() throws RecognitionException { try { - // InternalScope.g:3252:1: ( rule__ScopeDefinition__Group__2__Impl rule__ScopeDefinition__Group__3 ) - // InternalScope.g:3253:2: rule__ScopeDefinition__Group__2__Impl rule__ScopeDefinition__Group__3 + // InternalScope.g:3188:1: ( ruleJvmWildcardTypeReference EOF ) + // InternalScope.g:3189:1: ruleJvmWildcardTypeReference EOF { - pushFollow(FOLLOW_12); - rule__ScopeDefinition__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeDefinition__Group__3(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + ruleJvmWildcardTypeReference(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11700,36 +10796,33 @@ public final void rule__ScopeDefinition__Group__2() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeDefinition__Group__2" + // $ANTLR end "entryRuleJvmWildcardTypeReference" - // $ANTLR start "rule__ScopeDefinition__Group__2__Impl" - // InternalScope.g:3260:1: rule__ScopeDefinition__Group__2__Impl : ( ( rule__ScopeDefinition__Alternatives_2 ) ) ; - public final void rule__ScopeDefinition__Group__2__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmWildcardTypeReference" + // InternalScope.g:3196:1: ruleJvmWildcardTypeReference : ( ( rule__JvmWildcardTypeReference__Group__0 ) ) ; + public final void ruleJvmWildcardTypeReference() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3264:1: ( ( ( rule__ScopeDefinition__Alternatives_2 ) ) ) - // InternalScope.g:3265:1: ( ( rule__ScopeDefinition__Alternatives_2 ) ) + // InternalScope.g:3200:2: ( ( ( rule__JvmWildcardTypeReference__Group__0 ) ) ) + // InternalScope.g:3201:2: ( ( rule__JvmWildcardTypeReference__Group__0 ) ) { - // InternalScope.g:3265:1: ( ( rule__ScopeDefinition__Alternatives_2 ) ) - // InternalScope.g:3266:2: ( rule__ScopeDefinition__Alternatives_2 ) + // InternalScope.g:3201:2: ( ( rule__JvmWildcardTypeReference__Group__0 ) ) + // InternalScope.g:3202:3: ( rule__JvmWildcardTypeReference__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getAlternatives_2()); + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); } - // InternalScope.g:3267:2: ( rule__ScopeDefinition__Alternatives_2 ) - // InternalScope.g:3267:3: rule__ScopeDefinition__Alternatives_2 + // InternalScope.g:3203:3: ( rule__JvmWildcardTypeReference__Group__0 ) + // InternalScope.g:3203:4: rule__JvmWildcardTypeReference__Group__0 { pushFollow(FOLLOW_2); - rule__ScopeDefinition__Alternatives_2(); + rule__JvmWildcardTypeReference__Group__0(); state._fsp--; if (state.failed) return ; @@ -11737,7 +10830,7 @@ public final void rule__ScopeDefinition__Group__2__Impl() throws RecognitionExce } if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getAlternatives_2()); + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); } } @@ -11757,29 +10850,28 @@ public final void rule__ScopeDefinition__Group__2__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ScopeDefinition__Group__2__Impl" - + // $ANTLR end "ruleJvmWildcardTypeReference" - // $ANTLR start "rule__ScopeDefinition__Group__3" - // InternalScope.g:3275:1: rule__ScopeDefinition__Group__3 : rule__ScopeDefinition__Group__3__Impl rule__ScopeDefinition__Group__4 ; - public final void rule__ScopeDefinition__Group__3() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmUpperBound" + // InternalScope.g:3212:1: entryRuleJvmUpperBound : ruleJvmUpperBound EOF ; + public final void entryRuleJvmUpperBound() throws RecognitionException { try { - // InternalScope.g:3279:1: ( rule__ScopeDefinition__Group__3__Impl rule__ScopeDefinition__Group__4 ) - // InternalScope.g:3280:2: rule__ScopeDefinition__Group__3__Impl rule__ScopeDefinition__Group__4 + // InternalScope.g:3213:1: ( ruleJvmUpperBound EOF ) + // InternalScope.g:3214:1: ruleJvmUpperBound EOF { - pushFollow(FOLLOW_20); - rule__ScopeDefinition__Group__3__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeDefinition__Group__4(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundRule()); + } + pushFollow(FOLLOW_1); + ruleJvmUpperBound(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11789,34 +10881,41 @@ public final void rule__ScopeDefinition__Group__3() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeDefinition__Group__3" + // $ANTLR end "entryRuleJvmUpperBound" - // $ANTLR start "rule__ScopeDefinition__Group__3__Impl" - // InternalScope.g:3287:1: rule__ScopeDefinition__Group__3__Impl : ( '{' ) ; - public final void rule__ScopeDefinition__Group__3__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmUpperBound" + // InternalScope.g:3221:1: ruleJvmUpperBound : ( ( rule__JvmUpperBound__Group__0 ) ) ; + public final void ruleJvmUpperBound() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3291:1: ( ( '{' ) ) - // InternalScope.g:3292:1: ( '{' ) + // InternalScope.g:3225:2: ( ( ( rule__JvmUpperBound__Group__0 ) ) ) + // InternalScope.g:3226:2: ( ( rule__JvmUpperBound__Group__0 ) ) { - // InternalScope.g:3292:1: ( '{' ) - // InternalScope.g:3293:2: '{' + // InternalScope.g:3226:2: ( ( rule__JvmUpperBound__Group__0 ) ) + // InternalScope.g:3227:3: ( rule__JvmUpperBound__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getLeftCurlyBracketKeyword_3()); + before(grammarAccess.getJvmUpperBoundAccess().getGroup()); + } + // InternalScope.g:3228:3: ( rule__JvmUpperBound__Group__0 ) + // InternalScope.g:3228:4: rule__JvmUpperBound__Group__0 + { + pushFollow(FOLLOW_2); + rule__JvmUpperBound__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,45,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getLeftCurlyBracketKeyword_3()); + after(grammarAccess.getJvmUpperBoundAccess().getGroup()); } } @@ -11836,29 +10935,28 @@ public final void rule__ScopeDefinition__Group__3__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ScopeDefinition__Group__3__Impl" + // $ANTLR end "ruleJvmUpperBound" - // $ANTLR start "rule__ScopeDefinition__Group__4" - // InternalScope.g:3302:1: rule__ScopeDefinition__Group__4 : rule__ScopeDefinition__Group__4__Impl rule__ScopeDefinition__Group__5 ; - public final void rule__ScopeDefinition__Group__4() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmUpperBoundAnded" + // InternalScope.g:3237:1: entryRuleJvmUpperBoundAnded : ruleJvmUpperBoundAnded EOF ; + public final void entryRuleJvmUpperBoundAnded() throws RecognitionException { try { - // InternalScope.g:3306:1: ( rule__ScopeDefinition__Group__4__Impl rule__ScopeDefinition__Group__5 ) - // InternalScope.g:3307:2: rule__ScopeDefinition__Group__4__Impl rule__ScopeDefinition__Group__5 + // InternalScope.g:3238:1: ( ruleJvmUpperBoundAnded EOF ) + // InternalScope.g:3239:1: ruleJvmUpperBoundAnded EOF { - pushFollow(FOLLOW_21); - rule__ScopeDefinition__Group__4__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeDefinition__Group__5(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAndedRule()); + } + pushFollow(FOLLOW_1); + ruleJvmUpperBoundAnded(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAndedRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11868,39 +10966,33 @@ public final void rule__ScopeDefinition__Group__4() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeDefinition__Group__4" + // $ANTLR end "entryRuleJvmUpperBoundAnded" - // $ANTLR start "rule__ScopeDefinition__Group__4__Impl" - // InternalScope.g:3314:1: rule__ScopeDefinition__Group__4__Impl : ( ( ( rule__ScopeDefinition__RulesAssignment_4 ) ) ( ( rule__ScopeDefinition__RulesAssignment_4 )* ) ) ; - public final void rule__ScopeDefinition__Group__4__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmUpperBoundAnded" + // InternalScope.g:3246:1: ruleJvmUpperBoundAnded : ( ( rule__JvmUpperBoundAnded__Group__0 ) ) ; + public final void ruleJvmUpperBoundAnded() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3318:1: ( ( ( ( rule__ScopeDefinition__RulesAssignment_4 ) ) ( ( rule__ScopeDefinition__RulesAssignment_4 )* ) ) ) - // InternalScope.g:3319:1: ( ( ( rule__ScopeDefinition__RulesAssignment_4 ) ) ( ( rule__ScopeDefinition__RulesAssignment_4 )* ) ) + // InternalScope.g:3250:2: ( ( ( rule__JvmUpperBoundAnded__Group__0 ) ) ) + // InternalScope.g:3251:2: ( ( rule__JvmUpperBoundAnded__Group__0 ) ) { - // InternalScope.g:3319:1: ( ( ( rule__ScopeDefinition__RulesAssignment_4 ) ) ( ( rule__ScopeDefinition__RulesAssignment_4 )* ) ) - // InternalScope.g:3320:2: ( ( rule__ScopeDefinition__RulesAssignment_4 ) ) ( ( rule__ScopeDefinition__RulesAssignment_4 )* ) - { - // InternalScope.g:3320:2: ( ( rule__ScopeDefinition__RulesAssignment_4 ) ) - // InternalScope.g:3321:3: ( rule__ScopeDefinition__RulesAssignment_4 ) + // InternalScope.g:3251:2: ( ( rule__JvmUpperBoundAnded__Group__0 ) ) + // InternalScope.g:3252:3: ( rule__JvmUpperBoundAnded__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getRulesAssignment_4()); + before(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); } - // InternalScope.g:3322:3: ( rule__ScopeDefinition__RulesAssignment_4 ) - // InternalScope.g:3322:4: rule__ScopeDefinition__RulesAssignment_4 + // InternalScope.g:3253:3: ( rule__JvmUpperBoundAnded__Group__0 ) + // InternalScope.g:3253:4: rule__JvmUpperBoundAnded__Group__0 { - pushFollow(FOLLOW_22); - rule__ScopeDefinition__RulesAssignment_4(); + pushFollow(FOLLOW_2); + rule__JvmUpperBoundAnded__Group__0(); state._fsp--; if (state.failed) return ; @@ -11908,48 +11000,7 @@ public final void rule__ScopeDefinition__Group__4__Impl() throws RecognitionExce } if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getRulesAssignment_4()); - } - - } - - // InternalScope.g:3325:2: ( ( rule__ScopeDefinition__RulesAssignment_4 )* ) - // InternalScope.g:3326:3: ( rule__ScopeDefinition__RulesAssignment_4 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getRulesAssignment_4()); - } - // InternalScope.g:3327:3: ( rule__ScopeDefinition__RulesAssignment_4 )* - loop38: - do { - int alt38=2; - int LA38_0 = input.LA(1); - - if ( (LA38_0==54) ) { - alt38=1; - } - - - switch (alt38) { - case 1 : - // InternalScope.g:3327:4: rule__ScopeDefinition__RulesAssignment_4 - { - pushFollow(FOLLOW_22); - rule__ScopeDefinition__RulesAssignment_4(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop38; - } - } while (true); - - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getRulesAssignment_4()); + after(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); } } @@ -11957,9 +11008,6 @@ public final void rule__ScopeDefinition__Group__4__Impl() throws RecognitionExce } - - } - } catch (RecognitionException re) { reportError(re); @@ -11972,24 +11020,28 @@ public final void rule__ScopeDefinition__Group__4__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ScopeDefinition__Group__4__Impl" + // $ANTLR end "ruleJvmUpperBoundAnded" - // $ANTLR start "rule__ScopeDefinition__Group__5" - // InternalScope.g:3336:1: rule__ScopeDefinition__Group__5 : rule__ScopeDefinition__Group__5__Impl ; - public final void rule__ScopeDefinition__Group__5() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmLowerBound" + // InternalScope.g:3262:1: entryRuleJvmLowerBound : ruleJvmLowerBound EOF ; + public final void entryRuleJvmLowerBound() throws RecognitionException { try { - // InternalScope.g:3340:1: ( rule__ScopeDefinition__Group__5__Impl ) - // InternalScope.g:3341:2: rule__ScopeDefinition__Group__5__Impl + // InternalScope.g:3263:1: ( ruleJvmLowerBound EOF ) + // InternalScope.g:3264:1: ruleJvmLowerBound EOF { - pushFollow(FOLLOW_2); - rule__ScopeDefinition__Group__5__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundRule()); + } + pushFollow(FOLLOW_1); + ruleJvmLowerBound(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -11999,34 +11051,41 @@ public final void rule__ScopeDefinition__Group__5() throws RecognitionException recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeDefinition__Group__5" + // $ANTLR end "entryRuleJvmLowerBound" - // $ANTLR start "rule__ScopeDefinition__Group__5__Impl" - // InternalScope.g:3347:1: rule__ScopeDefinition__Group__5__Impl : ( '}' ) ; - public final void rule__ScopeDefinition__Group__5__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmLowerBound" + // InternalScope.g:3271:1: ruleJvmLowerBound : ( ( rule__JvmLowerBound__Group__0 ) ) ; + public final void ruleJvmLowerBound() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3351:1: ( ( '}' ) ) - // InternalScope.g:3352:1: ( '}' ) + // InternalScope.g:3275:2: ( ( ( rule__JvmLowerBound__Group__0 ) ) ) + // InternalScope.g:3276:2: ( ( rule__JvmLowerBound__Group__0 ) ) { - // InternalScope.g:3352:1: ( '}' ) - // InternalScope.g:3353:2: '}' + // InternalScope.g:3276:2: ( ( rule__JvmLowerBound__Group__0 ) ) + // InternalScope.g:3277:3: ( rule__JvmLowerBound__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getRightCurlyBracketKeyword_5()); + before(grammarAccess.getJvmLowerBoundAccess().getGroup()); + } + // InternalScope.g:3278:3: ( rule__JvmLowerBound__Group__0 ) + // InternalScope.g:3278:4: rule__JvmLowerBound__Group__0 + { + pushFollow(FOLLOW_2); + rule__JvmLowerBound__Group__0(); + + state._fsp--; + if (state.failed) return ; + } - match(input,46,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getRightCurlyBracketKeyword_5()); + after(grammarAccess.getJvmLowerBoundAccess().getGroup()); } } @@ -12046,29 +11105,28 @@ public final void rule__ScopeDefinition__Group__5__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ScopeDefinition__Group__5__Impl" + // $ANTLR end "ruleJvmLowerBound" - // $ANTLR start "rule__ScopeDefinition__Group_1__0" - // InternalScope.g:3363:1: rule__ScopeDefinition__Group_1__0 : rule__ScopeDefinition__Group_1__0__Impl rule__ScopeDefinition__Group_1__1 ; - public final void rule__ScopeDefinition__Group_1__0() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleJvmLowerBoundAnded" + // InternalScope.g:3287:1: entryRuleJvmLowerBoundAnded : ruleJvmLowerBoundAnded EOF ; + public final void entryRuleJvmLowerBoundAnded() throws RecognitionException { try { - // InternalScope.g:3367:1: ( rule__ScopeDefinition__Group_1__0__Impl rule__ScopeDefinition__Group_1__1 ) - // InternalScope.g:3368:2: rule__ScopeDefinition__Group_1__0__Impl rule__ScopeDefinition__Group_1__1 + // InternalScope.g:3288:1: ( ruleJvmLowerBoundAnded EOF ) + // InternalScope.g:3289:1: ruleJvmLowerBoundAnded EOF { - pushFollow(FOLLOW_3); - rule__ScopeDefinition__Group_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeDefinition__Group_1__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAndedRule()); + } + pushFollow(FOLLOW_1); + ruleJvmLowerBoundAnded(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAndedRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -12078,34 +11136,41 @@ public final void rule__ScopeDefinition__Group_1__0() throws RecognitionExceptio recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeDefinition__Group_1__0" + // $ANTLR end "entryRuleJvmLowerBoundAnded" - // $ANTLR start "rule__ScopeDefinition__Group_1__0__Impl" - // InternalScope.g:3375:1: rule__ScopeDefinition__Group_1__0__Impl : ( '(' ) ; - public final void rule__ScopeDefinition__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "ruleJvmLowerBoundAnded" + // InternalScope.g:3296:1: ruleJvmLowerBoundAnded : ( ( rule__JvmLowerBoundAnded__Group__0 ) ) ; + public final void ruleJvmLowerBoundAnded() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3379:1: ( ( '(' ) ) - // InternalScope.g:3380:1: ( '(' ) + // InternalScope.g:3300:2: ( ( ( rule__JvmLowerBoundAnded__Group__0 ) ) ) + // InternalScope.g:3301:2: ( ( rule__JvmLowerBoundAnded__Group__0 ) ) { - // InternalScope.g:3380:1: ( '(' ) - // InternalScope.g:3381:2: '(' + // InternalScope.g:3301:2: ( ( rule__JvmLowerBoundAnded__Group__0 ) ) + // InternalScope.g:3302:3: ( rule__JvmLowerBoundAnded__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getLeftParenthesisKeyword_1_0()); + before(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:3303:3: ( rule__JvmLowerBoundAnded__Group__0 ) + // InternalScope.g:3303:4: rule__JvmLowerBoundAnded__Group__0 + { + pushFollow(FOLLOW_2); + rule__JvmLowerBoundAnded__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getLeftParenthesisKeyword_1_0()); + after(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); } } @@ -12125,29 +11190,28 @@ public final void rule__ScopeDefinition__Group_1__0__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ScopeDefinition__Group_1__0__Impl" + // $ANTLR end "ruleJvmLowerBoundAnded" - // $ANTLR start "rule__ScopeDefinition__Group_1__1" - // InternalScope.g:3390:1: rule__ScopeDefinition__Group_1__1 : rule__ScopeDefinition__Group_1__1__Impl rule__ScopeDefinition__Group_1__2 ; - public final void rule__ScopeDefinition__Group_1__1() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleQualifiedNameWithWildcard" + // InternalScope.g:3312:1: entryRuleQualifiedNameWithWildcard : ruleQualifiedNameWithWildcard EOF ; + public final void entryRuleQualifiedNameWithWildcard() throws RecognitionException { try { - // InternalScope.g:3394:1: ( rule__ScopeDefinition__Group_1__1__Impl rule__ScopeDefinition__Group_1__2 ) - // InternalScope.g:3395:2: rule__ScopeDefinition__Group_1__1__Impl rule__ScopeDefinition__Group_1__2 + // InternalScope.g:3313:1: ( ruleQualifiedNameWithWildcard EOF ) + // InternalScope.g:3314:1: ruleQualifiedNameWithWildcard EOF { - pushFollow(FOLLOW_23); - rule__ScopeDefinition__Group_1__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeDefinition__Group_1__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameWithWildcardRule()); + } + pushFollow(FOLLOW_1); + ruleQualifiedNameWithWildcard(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameWithWildcardRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -12157,36 +11221,33 @@ public final void rule__ScopeDefinition__Group_1__1() throws RecognitionExceptio recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeDefinition__Group_1__1" + // $ANTLR end "entryRuleQualifiedNameWithWildcard" - // $ANTLR start "rule__ScopeDefinition__Group_1__1__Impl" - // InternalScope.g:3402:1: rule__ScopeDefinition__Group_1__1__Impl : ( ( rule__ScopeDefinition__NameAssignment_1_1 ) ) ; - public final void rule__ScopeDefinition__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "ruleQualifiedNameWithWildcard" + // InternalScope.g:3321:1: ruleQualifiedNameWithWildcard : ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) ; + public final void ruleQualifiedNameWithWildcard() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3406:1: ( ( ( rule__ScopeDefinition__NameAssignment_1_1 ) ) ) - // InternalScope.g:3407:1: ( ( rule__ScopeDefinition__NameAssignment_1_1 ) ) + // InternalScope.g:3325:2: ( ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) ) + // InternalScope.g:3326:2: ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) { - // InternalScope.g:3407:1: ( ( rule__ScopeDefinition__NameAssignment_1_1 ) ) - // InternalScope.g:3408:2: ( rule__ScopeDefinition__NameAssignment_1_1 ) + // InternalScope.g:3326:2: ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) + // InternalScope.g:3327:3: ( rule__QualifiedNameWithWildcard__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getNameAssignment_1_1()); + before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); } - // InternalScope.g:3409:2: ( rule__ScopeDefinition__NameAssignment_1_1 ) - // InternalScope.g:3409:3: rule__ScopeDefinition__NameAssignment_1_1 + // InternalScope.g:3328:3: ( rule__QualifiedNameWithWildcard__Group__0 ) + // InternalScope.g:3328:4: rule__QualifiedNameWithWildcard__Group__0 { pushFollow(FOLLOW_2); - rule__ScopeDefinition__NameAssignment_1_1(); + rule__QualifiedNameWithWildcard__Group__0(); state._fsp--; if (state.failed) return ; @@ -12194,7 +11255,7 @@ public final void rule__ScopeDefinition__Group_1__1__Impl() throws RecognitionEx } if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getNameAssignment_1_1()); + after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); } } @@ -12214,24 +11275,28 @@ public final void rule__ScopeDefinition__Group_1__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ScopeDefinition__Group_1__1__Impl" + // $ANTLR end "ruleQualifiedNameWithWildcard" - // $ANTLR start "rule__ScopeDefinition__Group_1__2" - // InternalScope.g:3417:1: rule__ScopeDefinition__Group_1__2 : rule__ScopeDefinition__Group_1__2__Impl ; - public final void rule__ScopeDefinition__Group_1__2() throws RecognitionException { - - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleValidID" + // InternalScope.g:3337:1: entryRuleValidID : ruleValidID EOF ; + public final void entryRuleValidID() throws RecognitionException { try { - // InternalScope.g:3421:1: ( rule__ScopeDefinition__Group_1__2__Impl ) - // InternalScope.g:3422:2: rule__ScopeDefinition__Group_1__2__Impl + // InternalScope.g:3338:1: ( ruleValidID EOF ) + // InternalScope.g:3339:1: ruleValidID EOF { - pushFollow(FOLLOW_2); - rule__ScopeDefinition__Group_1__2__Impl(); + if ( state.backtracking==0 ) { + before(grammarAccess.getValidIDRule()); + } + pushFollow(FOLLOW_1); + ruleValidID(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getValidIDRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -12241,34 +11306,31 @@ public final void rule__ScopeDefinition__Group_1__2() throws RecognitionExceptio recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeDefinition__Group_1__2" + // $ANTLR end "entryRuleValidID" - // $ANTLR start "rule__ScopeDefinition__Group_1__2__Impl" - // InternalScope.g:3428:1: rule__ScopeDefinition__Group_1__2__Impl : ( ')' ) ; - public final void rule__ScopeDefinition__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "ruleValidID" + // InternalScope.g:3346:1: ruleValidID : ( RULE_ID ) ; + public final void ruleValidID() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3432:1: ( ( ')' ) ) - // InternalScope.g:3433:1: ( ')' ) + // InternalScope.g:3350:2: ( ( RULE_ID ) ) + // InternalScope.g:3351:2: ( RULE_ID ) { - // InternalScope.g:3433:1: ( ')' ) - // InternalScope.g:3434:2: ')' + // InternalScope.g:3351:2: ( RULE_ID ) + // InternalScope.g:3352:3: RULE_ID { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getRightParenthesisKeyword_1_2()); + before(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); } - match(input,52,FOLLOW_2); if (state.failed) return ; + match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getRightParenthesisKeyword_1_2()); + after(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); } } @@ -12288,29 +11350,28 @@ public final void rule__ScopeDefinition__Group_1__2__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ScopeDefinition__Group_1__2__Impl" - + // $ANTLR end "ruleValidID" - // $ANTLR start "rule__ScopeDefinition__Group_2_1__0" - // InternalScope.g:3444:1: rule__ScopeDefinition__Group_2_1__0 : rule__ScopeDefinition__Group_2_1__0__Impl rule__ScopeDefinition__Group_2_1__1 ; - public final void rule__ScopeDefinition__Group_2_1__0() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleXImportDeclaration" + // InternalScope.g:3362:1: entryRuleXImportDeclaration : ruleXImportDeclaration EOF ; + public final void entryRuleXImportDeclaration() throws RecognitionException { try { - // InternalScope.g:3448:1: ( rule__ScopeDefinition__Group_2_1__0__Impl rule__ScopeDefinition__Group_2_1__1 ) - // InternalScope.g:3449:2: rule__ScopeDefinition__Group_2_1__0__Impl rule__ScopeDefinition__Group_2_1__1 + // InternalScope.g:3363:1: ( ruleXImportDeclaration EOF ) + // InternalScope.g:3364:1: ruleXImportDeclaration EOF { - pushFollow(FOLLOW_24); - rule__ScopeDefinition__Group_2_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeDefinition__Group_2_1__1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationRule()); + } + pushFollow(FOLLOW_1); + ruleXImportDeclaration(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -12320,36 +11381,33 @@ public final void rule__ScopeDefinition__Group_2_1__0() throws RecognitionExcept recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeDefinition__Group_2_1__0" + // $ANTLR end "entryRuleXImportDeclaration" - // $ANTLR start "rule__ScopeDefinition__Group_2_1__0__Impl" - // InternalScope.g:3456:1: rule__ScopeDefinition__Group_2_1__0__Impl : ( ( rule__ScopeDefinition__ContextTypeAssignment_2_1_0 ) ) ; - public final void rule__ScopeDefinition__Group_2_1__0__Impl() throws RecognitionException { + // $ANTLR start "ruleXImportDeclaration" + // InternalScope.g:3371:1: ruleXImportDeclaration : ( ( rule__XImportDeclaration__Group__0 ) ) ; + public final void ruleXImportDeclaration() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3460:1: ( ( ( rule__ScopeDefinition__ContextTypeAssignment_2_1_0 ) ) ) - // InternalScope.g:3461:1: ( ( rule__ScopeDefinition__ContextTypeAssignment_2_1_0 ) ) + // InternalScope.g:3375:2: ( ( ( rule__XImportDeclaration__Group__0 ) ) ) + // InternalScope.g:3376:2: ( ( rule__XImportDeclaration__Group__0 ) ) { - // InternalScope.g:3461:1: ( ( rule__ScopeDefinition__ContextTypeAssignment_2_1_0 ) ) - // InternalScope.g:3462:2: ( rule__ScopeDefinition__ContextTypeAssignment_2_1_0 ) + // InternalScope.g:3376:2: ( ( rule__XImportDeclaration__Group__0 ) ) + // InternalScope.g:3377:3: ( rule__XImportDeclaration__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getContextTypeAssignment_2_1_0()); + before(grammarAccess.getXImportDeclarationAccess().getGroup()); } - // InternalScope.g:3463:2: ( rule__ScopeDefinition__ContextTypeAssignment_2_1_0 ) - // InternalScope.g:3463:3: rule__ScopeDefinition__ContextTypeAssignment_2_1_0 + // InternalScope.g:3378:3: ( rule__XImportDeclaration__Group__0 ) + // InternalScope.g:3378:4: rule__XImportDeclaration__Group__0 { pushFollow(FOLLOW_2); - rule__ScopeDefinition__ContextTypeAssignment_2_1_0(); + rule__XImportDeclaration__Group__0(); state._fsp--; if (state.failed) return ; @@ -12357,7 +11415,7 @@ public final void rule__ScopeDefinition__Group_2_1__0__Impl() throws Recognition } if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getContextTypeAssignment_2_1_0()); + after(grammarAccess.getXImportDeclarationAccess().getGroup()); } } @@ -12377,29 +11435,28 @@ public final void rule__ScopeDefinition__Group_2_1__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__ScopeDefinition__Group_2_1__0__Impl" - + // $ANTLR end "ruleXImportDeclaration" - // $ANTLR start "rule__ScopeDefinition__Group_2_1__1" - // InternalScope.g:3471:1: rule__ScopeDefinition__Group_2_1__1 : rule__ScopeDefinition__Group_2_1__1__Impl rule__ScopeDefinition__Group_2_1__2 ; - public final void rule__ScopeDefinition__Group_2_1__1() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleQualifiedNameInStaticImport" + // InternalScope.g:3387:1: entryRuleQualifiedNameInStaticImport : ruleQualifiedNameInStaticImport EOF ; + public final void entryRuleQualifiedNameInStaticImport() throws RecognitionException { try { - // InternalScope.g:3475:1: ( rule__ScopeDefinition__Group_2_1__1__Impl rule__ScopeDefinition__Group_2_1__2 ) - // InternalScope.g:3476:2: rule__ScopeDefinition__Group_2_1__1__Impl rule__ScopeDefinition__Group_2_1__2 + // InternalScope.g:3388:1: ( ruleQualifiedNameInStaticImport EOF ) + // InternalScope.g:3389:1: ruleQualifiedNameInStaticImport EOF { - pushFollow(FOLLOW_3); - rule__ScopeDefinition__Group_2_1__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeDefinition__Group_2_1__2(); + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameInStaticImportRule()); + } + pushFollow(FOLLOW_1); + ruleQualifiedNameInStaticImport(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameInStaticImportRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -12409,71 +11466,98 @@ public final void rule__ScopeDefinition__Group_2_1__1() throws RecognitionExcept recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__ScopeDefinition__Group_2_1__1" + // $ANTLR end "entryRuleQualifiedNameInStaticImport" - // $ANTLR start "rule__ScopeDefinition__Group_2_1__1__Impl" - // InternalScope.g:3483:1: rule__ScopeDefinition__Group_2_1__1__Impl : ( '#' ) ; - public final void rule__ScopeDefinition__Group_2_1__1__Impl() throws RecognitionException { + // $ANTLR start "ruleQualifiedNameInStaticImport" + // InternalScope.g:3396:1: ruleQualifiedNameInStaticImport : ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) ; + public final void ruleQualifiedNameInStaticImport() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3487:1: ( ( '#' ) ) - // InternalScope.g:3488:1: ( '#' ) + // InternalScope.g:3400:2: ( ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) ) + // InternalScope.g:3401:2: ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) + { + // InternalScope.g:3401:2: ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) + // InternalScope.g:3402:3: ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) { - // InternalScope.g:3488:1: ( '#' ) - // InternalScope.g:3489:2: '#' + // InternalScope.g:3402:3: ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) + // InternalScope.g:3403:4: ( rule__QualifiedNameInStaticImport__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getNumberSignKeyword_2_1_1()); + before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } - match(input,53,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getNumberSignKeyword_2_1_1()); + // InternalScope.g:3404:4: ( rule__QualifiedNameInStaticImport__Group__0 ) + // InternalScope.g:3404:5: rule__QualifiedNameInStaticImport__Group__0 + { + pushFollow(FOLLOW_3); + rule__QualifiedNameInStaticImport__Group__0(); + + state._fsp--; + if (state.failed) return ; + } + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } + } + // InternalScope.g:3407:3: ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) + // InternalScope.g:3408:4: ( rule__QualifiedNameInStaticImport__Group__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); } + // InternalScope.g:3409:4: ( rule__QualifiedNameInStaticImport__Group__0 )* + loop1: + do { + int alt1=2; + int LA1_0 = input.LA(1); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( (LA1_0==RULE_ID) ) { + int LA1_2 = input.LA(2); - restoreStackSize(stackSize); + if ( (LA1_2==58) ) { + alt1=1; + } - } - return ; - } - // $ANTLR end "rule__ScopeDefinition__Group_2_1__1__Impl" + } - // $ANTLR start "rule__ScopeDefinition__Group_2_1__2" - // InternalScope.g:3498:1: rule__ScopeDefinition__Group_2_1__2 : rule__ScopeDefinition__Group_2_1__2__Impl ; - public final void rule__ScopeDefinition__Group_2_1__2() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalScope.g:3502:1: ( rule__ScopeDefinition__Group_2_1__2__Impl ) - // InternalScope.g:3503:2: rule__ScopeDefinition__Group_2_1__2__Impl - { - pushFollow(FOLLOW_2); - rule__ScopeDefinition__Group_2_1__2__Impl(); + switch (alt1) { + case 1 : + // InternalScope.g:3409:5: rule__QualifiedNameInStaticImport__Group__0 + { + pushFollow(FOLLOW_3); + rule__QualifiedNameInStaticImport__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop1; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); + } + + } + + + } - state._fsp--; - if (state.failed) return ; } @@ -12489,30 +11573,30 @@ public final void rule__ScopeDefinition__Group_2_1__2() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ScopeDefinition__Group_2_1__2" + // $ANTLR end "ruleQualifiedNameInStaticImport" - // $ANTLR start "rule__ScopeDefinition__Group_2_1__2__Impl" - // InternalScope.g:3509:1: rule__ScopeDefinition__Group_2_1__2__Impl : ( ( rule__ScopeDefinition__ReferenceAssignment_2_1_2 ) ) ; - public final void rule__ScopeDefinition__Group_2_1__2__Impl() throws RecognitionException { + // $ANTLR start "ruleCasing" + // InternalScope.g:3419:1: ruleCasing : ( ( rule__Casing__Alternatives ) ) ; + public final void ruleCasing() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3513:1: ( ( ( rule__ScopeDefinition__ReferenceAssignment_2_1_2 ) ) ) - // InternalScope.g:3514:1: ( ( rule__ScopeDefinition__ReferenceAssignment_2_1_2 ) ) + // InternalScope.g:3423:1: ( ( ( rule__Casing__Alternatives ) ) ) + // InternalScope.g:3424:2: ( ( rule__Casing__Alternatives ) ) { - // InternalScope.g:3514:1: ( ( rule__ScopeDefinition__ReferenceAssignment_2_1_2 ) ) - // InternalScope.g:3515:2: ( rule__ScopeDefinition__ReferenceAssignment_2_1_2 ) + // InternalScope.g:3424:2: ( ( rule__Casing__Alternatives ) ) + // InternalScope.g:3425:3: ( rule__Casing__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getReferenceAssignment_2_1_2()); + before(grammarAccess.getCasingAccess().getAlternatives()); } - // InternalScope.g:3516:2: ( rule__ScopeDefinition__ReferenceAssignment_2_1_2 ) - // InternalScope.g:3516:3: rule__ScopeDefinition__ReferenceAssignment_2_1_2 + // InternalScope.g:3426:3: ( rule__Casing__Alternatives ) + // InternalScope.g:3426:4: rule__Casing__Alternatives { pushFollow(FOLLOW_2); - rule__ScopeDefinition__ReferenceAssignment_2_1_2(); + rule__Casing__Alternatives(); state._fsp--; if (state.failed) return ; @@ -12520,7 +11604,7 @@ public final void rule__ScopeDefinition__Group_2_1__2__Impl() throws Recognition } if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getReferenceAssignment_2_1_2()); + after(grammarAccess.getCasingAccess().getAlternatives()); } } @@ -12540,73 +11624,80 @@ public final void rule__ScopeDefinition__Group_2_1__2__Impl() throws Recognition } return ; } - // $ANTLR end "rule__ScopeDefinition__Group_2_1__2__Impl" + // $ANTLR end "ruleCasing" - // $ANTLR start "rule__ScopeRule__Group__0" - // InternalScope.g:3525:1: rule__ScopeRule__Group__0 : rule__ScopeRule__Group__0__Impl rule__ScopeRule__Group__1 ; - public final void rule__ScopeRule__Group__0() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Alternatives_2" + // InternalScope.g:3434:1: rule__ScopeDefinition__Alternatives_2 : ( ( ( rule__ScopeDefinition__TargetTypeAssignment_2_0 ) ) | ( ( rule__ScopeDefinition__Group_2_1__0 ) ) ); + public final void rule__ScopeDefinition__Alternatives_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3529:1: ( rule__ScopeRule__Group__0__Impl rule__ScopeRule__Group__1 ) - // InternalScope.g:3530:2: rule__ScopeRule__Group__0__Impl rule__ScopeRule__Group__1 - { - pushFollow(FOLLOW_25); - rule__ScopeRule__Group__0__Impl(); + // InternalScope.g:3438:1: ( ( ( rule__ScopeDefinition__TargetTypeAssignment_2_0 ) ) | ( ( rule__ScopeDefinition__Group_2_1__0 ) ) ) + int alt2=2; + alt2 = dfa2.predict(input); + switch (alt2) { + case 1 : + // InternalScope.g:3439:2: ( ( rule__ScopeDefinition__TargetTypeAssignment_2_0 ) ) + { + // InternalScope.g:3439:2: ( ( rule__ScopeDefinition__TargetTypeAssignment_2_0 ) ) + // InternalScope.g:3440:3: ( rule__ScopeDefinition__TargetTypeAssignment_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDefinitionAccess().getTargetTypeAssignment_2_0()); + } + // InternalScope.g:3441:3: ( rule__ScopeDefinition__TargetTypeAssignment_2_0 ) + // InternalScope.g:3441:4: rule__ScopeDefinition__TargetTypeAssignment_2_0 + { + pushFollow(FOLLOW_2); + rule__ScopeDefinition__TargetTypeAssignment_2_0(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeRule__Group__1(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDefinitionAccess().getTargetTypeAssignment_2_0()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__ScopeRule__Group__0" + } + break; + case 2 : + // InternalScope.g:3445:2: ( ( rule__ScopeDefinition__Group_2_1__0 ) ) + { + // InternalScope.g:3445:2: ( ( rule__ScopeDefinition__Group_2_1__0 ) ) + // InternalScope.g:3446:3: ( rule__ScopeDefinition__Group_2_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDefinitionAccess().getGroup_2_1()); + } + // InternalScope.g:3447:3: ( rule__ScopeDefinition__Group_2_1__0 ) + // InternalScope.g:3447:4: rule__ScopeDefinition__Group_2_1__0 + { + pushFollow(FOLLOW_2); + rule__ScopeDefinition__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__ScopeRule__Group__0__Impl" - // InternalScope.g:3537:1: rule__ScopeRule__Group__0__Impl : ( 'context' ) ; - public final void rule__ScopeRule__Group__0__Impl() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDefinitionAccess().getGroup_2_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:3541:1: ( ( 'context' ) ) - // InternalScope.g:3542:1: ( 'context' ) - { - // InternalScope.g:3542:1: ( 'context' ) - // InternalScope.g:3543:2: 'context' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeRuleAccess().getContextKeyword_0()); - } - match(input,54,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeRuleAccess().getContextKeyword_0()); - } + } - } + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -12619,83 +11710,94 @@ public final void rule__ScopeRule__Group__0__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__ScopeRule__Group__0__Impl" + // $ANTLR end "rule__ScopeDefinition__Alternatives_2" - // $ANTLR start "rule__ScopeRule__Group__1" - // InternalScope.g:3552:1: rule__ScopeRule__Group__1 : rule__ScopeRule__Group__1__Impl rule__ScopeRule__Group__2 ; - public final void rule__ScopeRule__Group__1() throws RecognitionException { + // $ANTLR start "rule__ScopeContext__Alternatives_0" + // InternalScope.g:3455:1: rule__ScopeContext__Alternatives_0 : ( ( ( rule__ScopeContext__GlobalAssignment_0_0 ) ) | ( ( rule__ScopeContext__ContextTypeAssignment_0_1 ) ) ); + public final void rule__ScopeContext__Alternatives_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3556:1: ( rule__ScopeRule__Group__1__Impl rule__ScopeRule__Group__2 ) - // InternalScope.g:3557:2: rule__ScopeRule__Group__1__Impl rule__ScopeRule__Group__2 - { - pushFollow(FOLLOW_16); - rule__ScopeRule__Group__1__Impl(); + // InternalScope.g:3459:1: ( ( ( rule__ScopeContext__GlobalAssignment_0_0 ) ) | ( ( rule__ScopeContext__ContextTypeAssignment_0_1 ) ) ) + int alt3=2; + int LA3_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeRule__Group__2(); - - state._fsp--; - if (state.failed) return ; + if ( (LA3_0==25) ) { + alt3=1; + } + else if ( (LA3_0==RULE_ID) ) { + alt3=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 3, 0, input); + throw nvae; } + switch (alt3) { + case 1 : + // InternalScope.g:3460:2: ( ( rule__ScopeContext__GlobalAssignment_0_0 ) ) + { + // InternalScope.g:3460:2: ( ( rule__ScopeContext__GlobalAssignment_0_0 ) ) + // InternalScope.g:3461:3: ( rule__ScopeContext__GlobalAssignment_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeContextAccess().getGlobalAssignment_0_0()); + } + // InternalScope.g:3462:3: ( rule__ScopeContext__GlobalAssignment_0_0 ) + // InternalScope.g:3462:4: rule__ScopeContext__GlobalAssignment_0_0 + { + pushFollow(FOLLOW_2); + rule__ScopeContext__GlobalAssignment_0_0(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__ScopeRule__Group__1" + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeContextAccess().getGlobalAssignment_0_0()); + } + } - // $ANTLR start "rule__ScopeRule__Group__1__Impl" - // InternalScope.g:3564:1: rule__ScopeRule__Group__1__Impl : ( ( rule__ScopeRule__ContextAssignment_1 ) ) ; - public final void rule__ScopeRule__Group__1__Impl() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalScope.g:3568:1: ( ( ( rule__ScopeRule__ContextAssignment_1 ) ) ) - // InternalScope.g:3569:1: ( ( rule__ScopeRule__ContextAssignment_1 ) ) - { - // InternalScope.g:3569:1: ( ( rule__ScopeRule__ContextAssignment_1 ) ) - // InternalScope.g:3570:2: ( rule__ScopeRule__ContextAssignment_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeRuleAccess().getContextAssignment_1()); - } - // InternalScope.g:3571:2: ( rule__ScopeRule__ContextAssignment_1 ) - // InternalScope.g:3571:3: rule__ScopeRule__ContextAssignment_1 - { - pushFollow(FOLLOW_2); - rule__ScopeRule__ContextAssignment_1(); + } + break; + case 2 : + // InternalScope.g:3466:2: ( ( rule__ScopeContext__ContextTypeAssignment_0_1 ) ) + { + // InternalScope.g:3466:2: ( ( rule__ScopeContext__ContextTypeAssignment_0_1 ) ) + // InternalScope.g:3467:3: ( rule__ScopeContext__ContextTypeAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeContextAccess().getContextTypeAssignment_0_1()); + } + // InternalScope.g:3468:3: ( rule__ScopeContext__ContextTypeAssignment_0_1 ) + // InternalScope.g:3468:4: rule__ScopeContext__ContextTypeAssignment_0_1 + { + pushFollow(FOLLOW_2); + rule__ScopeContext__ContextTypeAssignment_0_1(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeRuleAccess().getContextAssignment_1()); - } + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeContextAccess().getContextTypeAssignment_0_1()); + } - } + } - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -12708,73 +11810,142 @@ public final void rule__ScopeRule__Group__1__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__ScopeRule__Group__1__Impl" + // $ANTLR end "rule__ScopeContext__Alternatives_0" - // $ANTLR start "rule__ScopeRule__Group__2" - // InternalScope.g:3579:1: rule__ScopeRule__Group__2 : rule__ScopeRule__Group__2__Impl rule__ScopeRule__Group__3 ; - public final void rule__ScopeRule__Group__2() throws RecognitionException { + // $ANTLR start "rule__ScopeExpression__Alternatives" + // InternalScope.g:3476:1: rule__ScopeExpression__Alternatives : ( ( ruleScopeDelegation ) | ( ruleFactoryExpression ) | ( ruleNamedScopeExpression ) ); + public final void rule__ScopeExpression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3583:1: ( rule__ScopeRule__Group__2__Impl rule__ScopeRule__Group__3 ) - // InternalScope.g:3584:2: rule__ScopeRule__Group__2__Impl rule__ScopeRule__Group__3 - { - pushFollow(FOLLOW_26); - rule__ScopeRule__Group__2__Impl(); + // InternalScope.g:3480:1: ( ( ruleScopeDelegation ) | ( ruleFactoryExpression ) | ( ruleNamedScopeExpression ) ) + int alt4=3; + switch ( input.LA(1) ) { + case 85: + { + alt4=1; + } + break; + case 84: + { + alt4=2; + } + break; + case RULE_ID: + case RULE_INT: + case RULE_STRING: + case RULE_REAL: + case 24: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + case 39: + case 40: + case 72: + case 77: + case 87: + case 94: + case 97: + case 100: + case 102: + case 103: + case 108: + case 120: + { + alt4=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 4, 0, input); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeRule__Group__3(); + throw nvae; + } - state._fsp--; - if (state.failed) return ; + switch (alt4) { + case 1 : + // InternalScope.g:3481:2: ( ruleScopeDelegation ) + { + // InternalScope.g:3481:2: ( ruleScopeDelegation ) + // InternalScope.g:3482:3: ruleScopeDelegation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeExpressionAccess().getScopeDelegationParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleScopeDelegation(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeExpressionAccess().getScopeDelegationParserRuleCall_0()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__ScopeRule__Group__2" + } + break; + case 2 : + // InternalScope.g:3487:2: ( ruleFactoryExpression ) + { + // InternalScope.g:3487:2: ( ruleFactoryExpression ) + // InternalScope.g:3488:3: ruleFactoryExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeExpressionAccess().getFactoryExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleFactoryExpression(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeExpressionAccess().getFactoryExpressionParserRuleCall_1()); + } - // $ANTLR start "rule__ScopeRule__Group__2__Impl" - // InternalScope.g:3591:1: rule__ScopeRule__Group__2__Impl : ( '=' ) ; - public final void rule__ScopeRule__Group__2__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:3595:1: ( ( '=' ) ) - // InternalScope.g:3596:1: ( '=' ) - { - // InternalScope.g:3596:1: ( '=' ) - // InternalScope.g:3597:2: '=' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeRuleAccess().getEqualsSignKeyword_2()); - } - match(input,48,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeRuleAccess().getEqualsSignKeyword_2()); - } - } + } + break; + case 3 : + // InternalScope.g:3493:2: ( ruleNamedScopeExpression ) + { + // InternalScope.g:3493:2: ( ruleNamedScopeExpression ) + // InternalScope.g:3494:3: ruleNamedScopeExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeExpressionAccess().getNamedScopeExpressionParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleNamedScopeExpression(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeExpressionAccess().getNamedScopeExpressionParserRuleCall_2()); + } - } + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -12787,83 +11958,94 @@ public final void rule__ScopeRule__Group__2__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__ScopeRule__Group__2__Impl" + // $ANTLR end "rule__ScopeExpression__Alternatives" - // $ANTLR start "rule__ScopeRule__Group__3" - // InternalScope.g:3606:1: rule__ScopeRule__Group__3 : rule__ScopeRule__Group__3__Impl rule__ScopeRule__Group__4 ; - public final void rule__ScopeRule__Group__3() throws RecognitionException { + // $ANTLR start "rule__ScopeDelegation__Alternatives_2" + // InternalScope.g:3503:1: rule__ScopeDelegation__Alternatives_2 : ( ( ( rule__ScopeDelegation__DelegateAssignment_2_0 ) ) | ( ( rule__ScopeDelegation__ExternalAssignment_2_1 ) ) ); + public final void rule__ScopeDelegation__Alternatives_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3610:1: ( rule__ScopeRule__Group__3__Impl rule__ScopeRule__Group__4 ) - // InternalScope.g:3611:2: rule__ScopeRule__Group__3__Impl rule__ScopeRule__Group__4 - { - pushFollow(FOLLOW_27); - rule__ScopeRule__Group__3__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeRule__Group__4(); + // InternalScope.g:3507:1: ( ( ( rule__ScopeDelegation__DelegateAssignment_2_0 ) ) | ( ( rule__ScopeDelegation__ExternalAssignment_2_1 ) ) ) + int alt5=2; + int LA5_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA5_0==RULE_ID||LA5_0==RULE_INT||(LA5_0>=RULE_STRING && LA5_0<=RULE_REAL)||LA5_0==24||(LA5_0>=27 && LA5_0<=40)||LA5_0==72||LA5_0==77||LA5_0==94||LA5_0==97||LA5_0==100||(LA5_0>=102 && LA5_0<=103)||LA5_0==108||LA5_0==120) ) { + alt5=1; + } + else if ( (LA5_0==87) ) { + alt5=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); + throw nvae; } + switch (alt5) { + case 1 : + // InternalScope.g:3508:2: ( ( rule__ScopeDelegation__DelegateAssignment_2_0 ) ) + { + // InternalScope.g:3508:2: ( ( rule__ScopeDelegation__DelegateAssignment_2_0 ) ) + // InternalScope.g:3509:3: ( rule__ScopeDelegation__DelegateAssignment_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDelegationAccess().getDelegateAssignment_2_0()); + } + // InternalScope.g:3510:3: ( rule__ScopeDelegation__DelegateAssignment_2_0 ) + // InternalScope.g:3510:4: rule__ScopeDelegation__DelegateAssignment_2_0 + { + pushFollow(FOLLOW_2); + rule__ScopeDelegation__DelegateAssignment_2_0(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__ScopeRule__Group__3" + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDelegationAccess().getDelegateAssignment_2_0()); + } + } - // $ANTLR start "rule__ScopeRule__Group__3__Impl" - // InternalScope.g:3618:1: rule__ScopeRule__Group__3__Impl : ( ( rule__ScopeRule__ExprsAssignment_3 ) ) ; - public final void rule__ScopeRule__Group__3__Impl() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalScope.g:3622:1: ( ( ( rule__ScopeRule__ExprsAssignment_3 ) ) ) - // InternalScope.g:3623:1: ( ( rule__ScopeRule__ExprsAssignment_3 ) ) - { - // InternalScope.g:3623:1: ( ( rule__ScopeRule__ExprsAssignment_3 ) ) - // InternalScope.g:3624:2: ( rule__ScopeRule__ExprsAssignment_3 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeRuleAccess().getExprsAssignment_3()); - } - // InternalScope.g:3625:2: ( rule__ScopeRule__ExprsAssignment_3 ) - // InternalScope.g:3625:3: rule__ScopeRule__ExprsAssignment_3 - { - pushFollow(FOLLOW_2); - rule__ScopeRule__ExprsAssignment_3(); + } + break; + case 2 : + // InternalScope.g:3514:2: ( ( rule__ScopeDelegation__ExternalAssignment_2_1 ) ) + { + // InternalScope.g:3514:2: ( ( rule__ScopeDelegation__ExternalAssignment_2_1 ) ) + // InternalScope.g:3515:3: ( rule__ScopeDelegation__ExternalAssignment_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDelegationAccess().getExternalAssignment_2_1()); + } + // InternalScope.g:3516:3: ( rule__ScopeDelegation__ExternalAssignment_2_1 ) + // InternalScope.g:3516:4: rule__ScopeDelegation__ExternalAssignment_2_1 + { + pushFollow(FOLLOW_2); + rule__ScopeDelegation__ExternalAssignment_2_1(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeRuleAccess().getExprsAssignment_3()); - } + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDelegationAccess().getExternalAssignment_2_1()); + } - } + } - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -12876,32 +12058,82 @@ public final void rule__ScopeRule__Group__3__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__ScopeRule__Group__3__Impl" + // $ANTLR end "rule__ScopeDelegation__Alternatives_2" - // $ANTLR start "rule__ScopeRule__Group__4" - // InternalScope.g:3633:1: rule__ScopeRule__Group__4 : rule__ScopeRule__Group__4__Impl rule__ScopeRule__Group__5 ; - public final void rule__ScopeRule__Group__4() throws RecognitionException { + // $ANTLR start "rule__NamedScopeExpression__Alternatives_0" + // InternalScope.g:3524:1: rule__NamedScopeExpression__Alternatives_0 : ( ( ruleGlobalScopeExpression ) | ( ruleSimpleScopeExpression ) ); + public final void rule__NamedScopeExpression__Alternatives_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3637:1: ( rule__ScopeRule__Group__4__Impl rule__ScopeRule__Group__5 ) - // InternalScope.g:3638:2: rule__ScopeRule__Group__4__Impl rule__ScopeRule__Group__5 - { - pushFollow(FOLLOW_27); - rule__ScopeRule__Group__4__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeRule__Group__5(); + // InternalScope.g:3528:1: ( ( ruleGlobalScopeExpression ) | ( ruleSimpleScopeExpression ) ) + int alt6=2; + int LA6_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA6_0==87) ) { + alt6=1; + } + else if ( (LA6_0==RULE_ID||LA6_0==RULE_INT||(LA6_0>=RULE_STRING && LA6_0<=RULE_REAL)||LA6_0==24||(LA6_0>=27 && LA6_0<=40)||LA6_0==72||LA6_0==77||LA6_0==94||LA6_0==97||LA6_0==100||(LA6_0>=102 && LA6_0<=103)||LA6_0==108||LA6_0==120) ) { + alt6=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 6, 0, input); + throw nvae; } + switch (alt6) { + case 1 : + // InternalScope.g:3529:2: ( ruleGlobalScopeExpression ) + { + // InternalScope.g:3529:2: ( ruleGlobalScopeExpression ) + // InternalScope.g:3530:3: ruleGlobalScopeExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamedScopeExpressionAccess().getGlobalScopeExpressionParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleGlobalScopeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNamedScopeExpressionAccess().getGlobalScopeExpressionParserRuleCall_0_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:3535:2: ( ruleSimpleScopeExpression ) + { + // InternalScope.g:3535:2: ( ruleSimpleScopeExpression ) + // InternalScope.g:3536:3: ruleSimpleScopeExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamedScopeExpressionAccess().getSimpleScopeExpressionParserRuleCall_0_1()); + } + pushFollow(FOLLOW_2); + ruleSimpleScopeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNamedScopeExpressionAccess().getSimpleScopeExpressionParserRuleCall_0_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -12914,63 +12146,105 @@ public final void rule__ScopeRule__Group__4() throws RecognitionException { } return ; } - // $ANTLR end "rule__ScopeRule__Group__4" + // $ANTLR end "rule__NamedScopeExpression__Alternatives_0" - // $ANTLR start "rule__ScopeRule__Group__4__Impl" - // InternalScope.g:3645:1: rule__ScopeRule__Group__4__Impl : ( ( rule__ScopeRule__Group_4__0 )* ) ; - public final void rule__ScopeRule__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Alternatives_3" + // InternalScope.g:3545:1: rule__GlobalScopeExpression__Alternatives_3 : ( ( ( rule__GlobalScopeExpression__Group_3_0__0 ) ) | ( ( rule__GlobalScopeExpression__Group_3_1__0 ) ) ); + public final void rule__GlobalScopeExpression__Alternatives_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3649:1: ( ( ( rule__ScopeRule__Group_4__0 )* ) ) - // InternalScope.g:3650:1: ( ( rule__ScopeRule__Group_4__0 )* ) - { - // InternalScope.g:3650:1: ( ( rule__ScopeRule__Group_4__0 )* ) - // InternalScope.g:3651:2: ( rule__ScopeRule__Group_4__0 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeRuleAccess().getGroup_4()); - } - // InternalScope.g:3652:2: ( rule__ScopeRule__Group_4__0 )* - loop39: - do { - int alt39=2; - int LA39_0 = input.LA(1); + // InternalScope.g:3549:1: ( ( ( rule__GlobalScopeExpression__Group_3_0__0 ) ) | ( ( rule__GlobalScopeExpression__Group_3_1__0 ) ) ) + int alt7=2; + int LA7_0 = input.LA(1); - if ( (LA39_0==55) ) { - alt39=1; + if ( (LA7_0==86) ) { + int LA7_1 = input.LA(2); + + if ( (LA7_1==89||LA7_1==117) ) { + alt7=2; + } + else if ( (LA7_1==88) ) { + alt7=1; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 7, 1, input); + throw nvae; + } + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 7, 0, input); - switch (alt39) { - case 1 : - // InternalScope.g:3652:3: rule__ScopeRule__Group_4__0 - { - pushFollow(FOLLOW_28); - rule__ScopeRule__Group_4__0(); + throw nvae; + } + switch (alt7) { + case 1 : + // InternalScope.g:3550:2: ( ( rule__GlobalScopeExpression__Group_3_0__0 ) ) + { + // InternalScope.g:3550:2: ( ( rule__GlobalScopeExpression__Group_3_0__0 ) ) + // InternalScope.g:3551:3: ( rule__GlobalScopeExpression__Group_3_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_3_0()); + } + // InternalScope.g:3552:3: ( rule__GlobalScopeExpression__Group_3_0__0 ) + // InternalScope.g:3552:4: rule__GlobalScopeExpression__Group_3_0__0 + { + pushFollow(FOLLOW_2); + rule__GlobalScopeExpression__Group_3_0__0(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; - } - break; + } - default : - break loop39; - } - } while (true); + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_3_0()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeRuleAccess().getGroup_4()); - } + } - } + } + break; + case 2 : + // InternalScope.g:3556:2: ( ( rule__GlobalScopeExpression__Group_3_1__0 ) ) + { + // InternalScope.g:3556:2: ( ( rule__GlobalScopeExpression__Group_3_1__0 ) ) + // InternalScope.g:3557:3: ( rule__GlobalScopeExpression__Group_3_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_3_1()); + } + // InternalScope.g:3558:3: ( rule__GlobalScopeExpression__Group_3_1__0 ) + // InternalScope.g:3558:4: rule__GlobalScopeExpression__Group_3_1__0 + { + pushFollow(FOLLOW_2); + rule__GlobalScopeExpression__Group_3_1__0(); - } + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_3_1()); + } + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -12983,106 +12257,132 @@ public final void rule__ScopeRule__Group__4__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__ScopeRule__Group__4__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Alternatives_3" - // $ANTLR start "rule__ScopeRule__Group__5" - // InternalScope.g:3660:1: rule__ScopeRule__Group__5 : rule__ScopeRule__Group__5__Impl ; - public final void rule__ScopeRule__Group__5() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Alternatives_5_3" + // InternalScope.g:3566:1: rule__GlobalScopeExpression__Alternatives_5_3 : ( ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_0 ) ) | ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_1 ) ) | ( ( rule__GlobalScopeExpression__Group_5_3_2__0 ) ) ); + public final void rule__GlobalScopeExpression__Alternatives_5_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3664:1: ( rule__ScopeRule__Group__5__Impl ) - // InternalScope.g:3665:2: rule__ScopeRule__Group__5__Impl - { - pushFollow(FOLLOW_2); - rule__ScopeRule__Group__5__Impl(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:3570:1: ( ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_0 ) ) | ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_1 ) ) | ( ( rule__GlobalScopeExpression__Group_5_3_2__0 ) ) ) + int alt8=3; + switch ( input.LA(1) ) { + case 25: + { + alt8=1; + } + break; + case RULE_ID: + { + alt8=2; + } + break; + case 77: + { + alt8=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 8, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + switch (alt8) { + case 1 : + // InternalScope.g:3571:2: ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_0 ) ) + { + // InternalScope.g:3571:2: ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_0 ) ) + // InternalScope.g:3572:3: ( rule__GlobalScopeExpression__DomainsAssignment_5_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_0()); + } + // InternalScope.g:3573:3: ( rule__GlobalScopeExpression__DomainsAssignment_5_3_0 ) + // InternalScope.g:3573:4: rule__GlobalScopeExpression__DomainsAssignment_5_3_0 + { + pushFollow(FOLLOW_2); + rule__GlobalScopeExpression__DomainsAssignment_5_3_0(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; - } - return ; - } - // $ANTLR end "rule__ScopeRule__Group__5" + } + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_0()); + } - // $ANTLR start "rule__ScopeRule__Group__5__Impl" - // InternalScope.g:3671:1: rule__ScopeRule__Group__5__Impl : ( ';' ) ; - public final void rule__ScopeRule__Group__5__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:3675:1: ( ( ';' ) ) - // InternalScope.g:3676:1: ( ';' ) - { - // InternalScope.g:3676:1: ( ';' ) - // InternalScope.g:3677:2: ';' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeRuleAccess().getSemicolonKeyword_5()); - } - match(input,49,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeRuleAccess().getSemicolonKeyword_5()); - } - } + } + break; + case 2 : + // InternalScope.g:3577:2: ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_1 ) ) + { + // InternalScope.g:3577:2: ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_1 ) ) + // InternalScope.g:3578:3: ( rule__GlobalScopeExpression__DomainsAssignment_5_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_1()); + } + // InternalScope.g:3579:3: ( rule__GlobalScopeExpression__DomainsAssignment_5_3_1 ) + // InternalScope.g:3579:4: rule__GlobalScopeExpression__DomainsAssignment_5_3_1 + { + pushFollow(FOLLOW_2); + rule__GlobalScopeExpression__DomainsAssignment_5_3_1(); + state._fsp--; + if (state.failed) return ; - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_1()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__ScopeRule__Group__5__Impl" + } + break; + case 3 : + // InternalScope.g:3583:2: ( ( rule__GlobalScopeExpression__Group_5_3_2__0 ) ) + { + // InternalScope.g:3583:2: ( ( rule__GlobalScopeExpression__Group_5_3_2__0 ) ) + // InternalScope.g:3584:3: ( rule__GlobalScopeExpression__Group_5_3_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5_3_2()); + } + // InternalScope.g:3585:3: ( rule__GlobalScopeExpression__Group_5_3_2__0 ) + // InternalScope.g:3585:4: rule__GlobalScopeExpression__Group_5_3_2__0 + { + pushFollow(FOLLOW_2); + rule__GlobalScopeExpression__Group_5_3_2__0(); + + state._fsp--; + if (state.failed) return ; - // $ANTLR start "rule__ScopeRule__Group_4__0" - // InternalScope.g:3687:1: rule__ScopeRule__Group_4__0 : rule__ScopeRule__Group_4__0__Impl rule__ScopeRule__Group_4__1 ; - public final void rule__ScopeRule__Group_4__0() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:3691:1: ( rule__ScopeRule__Group_4__0__Impl rule__ScopeRule__Group_4__1 ) - // InternalScope.g:3692:2: rule__ScopeRule__Group_4__0__Impl rule__ScopeRule__Group_4__1 - { - pushFollow(FOLLOW_26); - rule__ScopeRule__Group_4__0__Impl(); + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5_3_2()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeRule__Group_4__1(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -13095,35 +12395,82 @@ public final void rule__ScopeRule__Group_4__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__ScopeRule__Group_4__0" + // $ANTLR end "rule__GlobalScopeExpression__Alternatives_5_3" - // $ANTLR start "rule__ScopeRule__Group_4__0__Impl" - // InternalScope.g:3699:1: rule__ScopeRule__Group_4__0__Impl : ( '>>' ) ; - public final void rule__ScopeRule__Group_4__0__Impl() throws RecognitionException { + // $ANTLR start "rule__DataExpression__Alternatives" + // InternalScope.g:3593:1: rule__DataExpression__Alternatives : ( ( ruleMatchDataExpression ) | ( ruleLambdaDataExpression ) ); + public final void rule__DataExpression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3703:1: ( ( '>>' ) ) - // InternalScope.g:3704:1: ( '>>' ) - { - // InternalScope.g:3704:1: ( '>>' ) - // InternalScope.g:3705:2: '>>' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeRuleAccess().getGreaterThanSignGreaterThanSignKeyword_4_0()); + // InternalScope.g:3597:1: ( ( ruleMatchDataExpression ) | ( ruleLambdaDataExpression ) ) + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0==RULE_ID) ) { + alt9=1; } - match(input,55,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeRuleAccess().getGreaterThanSignGreaterThanSignKeyword_4_0()); + else if ( (LA9_0==82) ) { + alt9=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 9, 0, input); + throw nvae; } + switch (alt9) { + case 1 : + // InternalScope.g:3598:2: ( ruleMatchDataExpression ) + { + // InternalScope.g:3598:2: ( ruleMatchDataExpression ) + // InternalScope.g:3599:3: ruleMatchDataExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDataExpressionAccess().getMatchDataExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleMatchDataExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDataExpressionAccess().getMatchDataExpressionParserRuleCall_0()); + } + } - } + } + break; + case 2 : + // InternalScope.g:3604:2: ( ruleLambdaDataExpression ) + { + // InternalScope.g:3604:2: ( ruleLambdaDataExpression ) + // InternalScope.g:3605:3: ruleLambdaDataExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDataExpressionAccess().getLambdaDataExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleLambdaDataExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDataExpressionAccess().getLambdaDataExpressionParserRuleCall_1()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -13136,27 +12483,80 @@ public final void rule__ScopeRule__Group_4__0__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ScopeRule__Group_4__0__Impl" + // $ANTLR end "rule__DataExpression__Alternatives" - // $ANTLR start "rule__ScopeRule__Group_4__1" - // InternalScope.g:3714:1: rule__ScopeRule__Group_4__1 : rule__ScopeRule__Group_4__1__Impl ; - public final void rule__ScopeRule__Group_4__1() throws RecognitionException { + // $ANTLR start "rule__Naming__Alternatives" + // InternalScope.g:3614:1: rule__Naming__Alternatives : ( ( ( rule__Naming__Group_0__0 ) ) | ( ( rule__Naming__NamesAssignment_1 ) ) ); + public final void rule__Naming__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3718:1: ( rule__ScopeRule__Group_4__1__Impl ) - // InternalScope.g:3719:2: rule__ScopeRule__Group_4__1__Impl - { - pushFollow(FOLLOW_2); - rule__ScopeRule__Group_4__1__Impl(); + // InternalScope.g:3618:1: ( ( ( rule__Naming__Group_0__0 ) ) | ( ( rule__Naming__NamesAssignment_1 ) ) ) + int alt10=2; + alt10 = dfa10.predict(input); + switch (alt10) { + case 1 : + // InternalScope.g:3619:2: ( ( rule__Naming__Group_0__0 ) ) + { + // InternalScope.g:3619:2: ( ( rule__Naming__Group_0__0 ) ) + // InternalScope.g:3620:3: ( rule__Naming__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingAccess().getGroup_0()); + } + // InternalScope.g:3621:3: ( rule__Naming__Group_0__0 ) + // InternalScope.g:3621:4: rule__Naming__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__Naming__Group_0__0(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; - } + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNamingAccess().getGroup_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:3625:2: ( ( rule__Naming__NamesAssignment_1 ) ) + { + // InternalScope.g:3625:2: ( ( rule__Naming__NamesAssignment_1 ) ) + // InternalScope.g:3626:3: ( rule__Naming__NamesAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingAccess().getNamesAssignment_1()); + } + // InternalScope.g:3627:3: ( rule__Naming__NamesAssignment_1 ) + // InternalScope.g:3627:4: rule__Naming__NamesAssignment_1 + { + pushFollow(FOLLOW_2); + rule__Naming__NamesAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNamingAccess().getNamesAssignment_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -13169,83 +12569,94 @@ public final void rule__ScopeRule__Group_4__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__ScopeRule__Group_4__1" + // $ANTLR end "rule__Naming__Alternatives" - // $ANTLR start "rule__ScopeRule__Group_4__1__Impl" - // InternalScope.g:3725:1: rule__ScopeRule__Group_4__1__Impl : ( ( rule__ScopeRule__ExprsAssignment_4_1 ) ) ; - public final void rule__ScopeRule__Group_4__1__Impl() throws RecognitionException { + // $ANTLR start "rule__NamingExpression__Alternatives" + // InternalScope.g:3635:1: rule__NamingExpression__Alternatives : ( ( ( rule__NamingExpression__ExportAssignment_0 ) ) | ( ( rule__NamingExpression__Group_1__0 ) ) ); + public final void rule__NamingExpression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3729:1: ( ( ( rule__ScopeRule__ExprsAssignment_4_1 ) ) ) - // InternalScope.g:3730:1: ( ( rule__ScopeRule__ExprsAssignment_4_1 ) ) - { - // InternalScope.g:3730:1: ( ( rule__ScopeRule__ExprsAssignment_4_1 ) ) - // InternalScope.g:3731:2: ( rule__ScopeRule__ExprsAssignment_4_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeRuleAccess().getExprsAssignment_4_1()); + // InternalScope.g:3639:1: ( ( ( rule__NamingExpression__ExportAssignment_0 ) ) | ( ( rule__NamingExpression__Group_1__0 ) ) ) + int alt11=2; + int LA11_0 = input.LA(1); + + if ( (LA11_0==118) ) { + alt11=1; } - // InternalScope.g:3732:2: ( rule__ScopeRule__ExprsAssignment_4_1 ) - // InternalScope.g:3732:3: rule__ScopeRule__ExprsAssignment_4_1 - { - pushFollow(FOLLOW_2); - rule__ScopeRule__ExprsAssignment_4_1(); - - state._fsp--; - if (state.failed) return ; - + else if ( (LA11_0==RULE_ID||LA11_0==RULE_INT||(LA11_0>=RULE_STRING && LA11_0<=RULE_REAL)||LA11_0==24||(LA11_0>=27 && LA11_0<=40)||LA11_0==72||LA11_0==77||LA11_0==84||LA11_0==94||LA11_0==97||LA11_0==100||(LA11_0>=102 && LA11_0<=103)||LA11_0==108||LA11_0==120) ) { + alt11=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 11, 0, input); - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeRuleAccess().getExprsAssignment_4_1()); + throw nvae; } + switch (alt11) { + case 1 : + // InternalScope.g:3640:2: ( ( rule__NamingExpression__ExportAssignment_0 ) ) + { + // InternalScope.g:3640:2: ( ( rule__NamingExpression__ExportAssignment_0 ) ) + // InternalScope.g:3641:3: ( rule__NamingExpression__ExportAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingExpressionAccess().getExportAssignment_0()); + } + // InternalScope.g:3642:3: ( rule__NamingExpression__ExportAssignment_0 ) + // InternalScope.g:3642:4: rule__NamingExpression__ExportAssignment_0 + { + pushFollow(FOLLOW_2); + rule__NamingExpression__ExportAssignment_0(); - } + state._fsp--; + if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getNamingExpressionAccess().getExportAssignment_0()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__ScopeRule__Group_4__1__Impl" + } + break; + case 2 : + // InternalScope.g:3646:2: ( ( rule__NamingExpression__Group_1__0 ) ) + { + // InternalScope.g:3646:2: ( ( rule__NamingExpression__Group_1__0 ) ) + // InternalScope.g:3647:3: ( rule__NamingExpression__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingExpressionAccess().getGroup_1()); + } + // InternalScope.g:3648:3: ( rule__NamingExpression__Group_1__0 ) + // InternalScope.g:3648:4: rule__NamingExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__NamingExpression__Group_1__0(); + state._fsp--; + if (state.failed) return ; - // $ANTLR start "rule__ScopeContext__Group__0" - // InternalScope.g:3741:1: rule__ScopeContext__Group__0 : rule__ScopeContext__Group__0__Impl rule__ScopeContext__Group__1 ; - public final void rule__ScopeContext__Group__0() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:3745:1: ( rule__ScopeContext__Group__0__Impl rule__ScopeContext__Group__1 ) - // InternalScope.g:3746:2: rule__ScopeContext__Group__0__Impl rule__ScopeContext__Group__1 - { - pushFollow(FOLLOW_29); - rule__ScopeContext__Group__0__Impl(); + if ( state.backtracking==0 ) { + after(grammarAccess.getNamingExpressionAccess().getGroup_1()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeContext__Group__1(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -13258,78 +12669,97 @@ public final void rule__ScopeContext__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__ScopeContext__Group__0" + // $ANTLR end "rule__NamingExpression__Alternatives" - // $ANTLR start "rule__ScopeContext__Group__0__Impl" - // InternalScope.g:3753:1: rule__ScopeContext__Group__0__Impl : ( ( rule__ScopeContext__Alternatives_0 ) ) ; - public final void rule__ScopeContext__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Expression__Alternatives" + // InternalScope.g:3656:1: rule__Expression__Alternatives : ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) ); + public final void rule__Expression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3757:1: ( ( ( rule__ScopeContext__Alternatives_0 ) ) ) - // InternalScope.g:3758:1: ( ( rule__ScopeContext__Alternatives_0 ) ) - { - // InternalScope.g:3758:1: ( ( rule__ScopeContext__Alternatives_0 ) ) - // InternalScope.g:3759:2: ( rule__ScopeContext__Alternatives_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeContextAccess().getAlternatives_0()); - } - // InternalScope.g:3760:2: ( rule__ScopeContext__Alternatives_0 ) - // InternalScope.g:3760:3: rule__ScopeContext__Alternatives_0 - { - pushFollow(FOLLOW_2); - rule__ScopeContext__Alternatives_0(); + // InternalScope.g:3660:1: ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) ) + int alt12=3; + alt12 = dfa12.predict(input); + switch (alt12) { + case 1 : + // InternalScope.g:3661:2: ( ruleLetExpression ) + { + // InternalScope.g:3661:2: ( ruleLetExpression ) + // InternalScope.g:3662:3: ruleLetExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleLetExpression(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); + } - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeContextAccess().getAlternatives_0()); - } - } + } + break; + case 2 : + // InternalScope.g:3667:2: ( ( ruleCastedExpression ) ) + { + // InternalScope.g:3667:2: ( ( ruleCastedExpression ) ) + // InternalScope.g:3668:3: ( ruleCastedExpression ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); + } + // InternalScope.g:3669:3: ( ruleCastedExpression ) + // InternalScope.g:3669:4: ruleCastedExpression + { + pushFollow(FOLLOW_2); + ruleCastedExpression(); + state._fsp--; + if (state.failed) return ; - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__ScopeContext__Group__0__Impl" + } + break; + case 3 : + // InternalScope.g:3673:2: ( ruleChainExpression ) + { + // InternalScope.g:3673:2: ( ruleChainExpression ) + // InternalScope.g:3674:3: ruleChainExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleChainExpression(); - // $ANTLR start "rule__ScopeContext__Group__1" - // InternalScope.g:3768:1: rule__ScopeContext__Group__1 : rule__ScopeContext__Group__1__Impl ; - public final void rule__ScopeContext__Group__1() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionAccess().getChainExpressionParserRuleCall_2()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:3772:1: ( rule__ScopeContext__Group__1__Impl ) - // InternalScope.g:3773:2: rule__ScopeContext__Group__1__Impl - { - pushFollow(FOLLOW_2); - rule__ScopeContext__Group__1__Impl(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -13342,56 +12772,138 @@ public final void rule__ScopeContext__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__ScopeContext__Group__1" + // $ANTLR end "rule__Expression__Alternatives" - // $ANTLR start "rule__ScopeContext__Group__1__Impl" - // InternalScope.g:3779:1: rule__ScopeContext__Group__1__Impl : ( ( rule__ScopeContext__Group_1__0 )? ) ; - public final void rule__ScopeContext__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ChainedExpression__Alternatives" + // InternalScope.g:3683:1: rule__ChainedExpression__Alternatives : ( ( ruleIfExpressionKw ) | ( ruleIfExpressionTri ) | ( ruleSwitchExpression ) ); + public final void rule__ChainedExpression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3783:1: ( ( ( rule__ScopeContext__Group_1__0 )? ) ) - // InternalScope.g:3784:1: ( ( rule__ScopeContext__Group_1__0 )? ) - { - // InternalScope.g:3784:1: ( ( rule__ScopeContext__Group_1__0 )? ) - // InternalScope.g:3785:2: ( rule__ScopeContext__Group_1__0 )? - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeContextAccess().getGroup_1()); - } - // InternalScope.g:3786:2: ( rule__ScopeContext__Group_1__0 )? - int alt40=2; - int LA40_0 = input.LA(1); + // InternalScope.g:3687:1: ( ( ruleIfExpressionKw ) | ( ruleIfExpressionTri ) | ( ruleSwitchExpression ) ) + int alt13=3; + switch ( input.LA(1) ) { + case 97: + { + alt13=1; + } + break; + case RULE_ID: + case RULE_INT: + case RULE_STRING: + case RULE_REAL: + case 24: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + case 39: + case 40: + case 72: + case 77: + case 102: + case 103: + case 108: + case 120: + { + alt13=2; + } + break; + case 100: + { + alt13=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 13, 0, input); - if ( (LA40_0==56) ) { - alt40=1; + throw nvae; } - switch (alt40) { + + switch (alt13) { case 1 : - // InternalScope.g:3786:3: rule__ScopeContext__Group_1__0 + // InternalScope.g:3688:2: ( ruleIfExpressionKw ) { + // InternalScope.g:3688:2: ( ruleIfExpressionKw ) + // InternalScope.g:3689:3: ruleIfExpressionKw + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); + } pushFollow(FOLLOW_2); - rule__ScopeContext__Group_1__0(); + ruleIfExpressionKw(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChainedExpressionAccess().getIfExpressionKwParserRuleCall_0()); + } + + } + } break; + case 2 : + // InternalScope.g:3694:2: ( ruleIfExpressionTri ) + { + // InternalScope.g:3694:2: ( ruleIfExpressionTri ) + // InternalScope.g:3695:3: ruleIfExpressionTri + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleIfExpressionTri(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChainedExpressionAccess().getIfExpressionTriParserRuleCall_1()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeContextAccess().getGroup_1()); - } + } - } + } + break; + case 3 : + // InternalScope.g:3700:2: ( ruleSwitchExpression ) + { + // InternalScope.g:3700:2: ( ruleSwitchExpression ) + // InternalScope.g:3701:3: ruleSwitchExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleSwitchExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChainedExpressionAccess().getSwitchExpressionParserRuleCall_2()); + } - } + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -13404,73 +12916,174 @@ public final void rule__ScopeContext__Group__1__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__ScopeContext__Group__1__Impl" + // $ANTLR end "rule__ChainedExpression__Alternatives" - // $ANTLR start "rule__ScopeContext__Group_1__0" - // InternalScope.g:3795:1: rule__ScopeContext__Group_1__0 : rule__ScopeContext__Group_1__0__Impl rule__ScopeContext__Group_1__1 ; - public final void rule__ScopeContext__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__OperatorAlternatives_1_1_0" + // InternalScope.g:3710:1: rule__RelationalExpression__OperatorAlternatives_1_1_0 : ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ); + public final void rule__RelationalExpression__OperatorAlternatives_1_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3799:1: ( rule__ScopeContext__Group_1__0__Impl rule__ScopeContext__Group_1__1 ) - // InternalScope.g:3800:2: rule__ScopeContext__Group_1__0__Impl rule__ScopeContext__Group_1__1 - { - pushFollow(FOLLOW_17); - rule__ScopeContext__Group_1__0__Impl(); + // InternalScope.g:3714:1: ( ( '==' ) | ( '!=' ) | ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) ) + int alt14=6; + switch ( input.LA(1) ) { + case 17: + { + alt14=1; + } + break; + case 18: + { + alt14=2; + } + break; + case 19: + { + alt14=3; + } + break; + case 20: + { + alt14=4; + } + break; + case 21: + { + alt14=5; + } + break; + case 22: + { + alt14=6; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 14, 0, input); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeContext__Group_1__1(); + throw nvae; + } - state._fsp--; - if (state.failed) return ; + switch (alt14) { + case 1 : + // InternalScope.g:3715:2: ( '==' ) + { + // InternalScope.g:3715:2: ( '==' ) + // InternalScope.g:3716:3: '==' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); + } + match(input,17,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalScope.g:3721:2: ( '!=' ) + { + // InternalScope.g:3721:2: ( '!=' ) + // InternalScope.g:3722:3: '!=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); + } + match(input,18,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); + } - } - return ; - } - // $ANTLR end "rule__ScopeContext__Group_1__0" + } - // $ANTLR start "rule__ScopeContext__Group_1__0__Impl" - // InternalScope.g:3807:1: rule__ScopeContext__Group_1__0__Impl : ( '[' ) ; - public final void rule__ScopeContext__Group_1__0__Impl() throws RecognitionException { + } + break; + case 3 : + // InternalScope.g:3727:2: ( '>=' ) + { + // InternalScope.g:3727:2: ( '>=' ) + // InternalScope.g:3728:3: '>=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); + } + match(input,19,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:3811:1: ( ( '[' ) ) - // InternalScope.g:3812:1: ( '[' ) - { - // InternalScope.g:3812:1: ( '[' ) - // InternalScope.g:3813:2: '[' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeContextAccess().getLeftSquareBracketKeyword_1_0()); - } - match(input,56,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeContextAccess().getLeftSquareBracketKeyword_1_0()); - } + } - } + + } + break; + case 4 : + // InternalScope.g:3733:2: ( '<=' ) + { + // InternalScope.g:3733:2: ( '<=' ) + // InternalScope.g:3734:3: '<=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); + } + match(input,20,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); + } + + } - } + } + break; + case 5 : + // InternalScope.g:3739:2: ( '>' ) + { + // InternalScope.g:3739:2: ( '>' ) + // InternalScope.g:3740:3: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); + } + } + + + } + break; + case 6 : + // InternalScope.g:3745:2: ( '<' ) + { + // InternalScope.g:3745:2: ( '<' ) + // InternalScope.g:3746:3: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -13483,32 +13096,74 @@ public final void rule__ScopeContext__Group_1__0__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__ScopeContext__Group_1__0__Impl" + // $ANTLR end "rule__RelationalExpression__OperatorAlternatives_1_1_0" - // $ANTLR start "rule__ScopeContext__Group_1__1" - // InternalScope.g:3822:1: rule__ScopeContext__Group_1__1 : rule__ScopeContext__Group_1__1__Impl rule__ScopeContext__Group_1__2 ; - public final void rule__ScopeContext__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__NameAlternatives_1_1_0" + // InternalScope.g:3755:1: rule__AdditiveExpression__NameAlternatives_1_1_0 : ( ( '+' ) | ( '-' ) ); + public final void rule__AdditiveExpression__NameAlternatives_1_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3826:1: ( rule__ScopeContext__Group_1__1__Impl rule__ScopeContext__Group_1__2 ) - // InternalScope.g:3827:2: rule__ScopeContext__Group_1__1__Impl rule__ScopeContext__Group_1__2 - { - pushFollow(FOLLOW_30); - rule__ScopeContext__Group_1__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeContext__Group_1__2(); + // InternalScope.g:3759:1: ( ( '+' ) | ( '-' ) ) + int alt15=2; + int LA15_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA15_0==23) ) { + alt15=1; + } + else if ( (LA15_0==24) ) { + alt15=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 15, 0, input); + throw nvae; } + switch (alt15) { + case 1 : + // InternalScope.g:3760:2: ( '+' ) + { + // InternalScope.g:3760:2: ( '+' ) + // InternalScope.g:3761:3: '+' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); + } + match(input,23,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); + } + + } + + } + break; + case 2 : + // InternalScope.g:3766:2: ( '-' ) + { + // InternalScope.g:3766:2: ( '-' ) + // InternalScope.g:3767:3: '-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); + } + match(input,24,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -13521,78 +13176,74 @@ public final void rule__ScopeContext__Group_1__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__ScopeContext__Group_1__1" + // $ANTLR end "rule__AdditiveExpression__NameAlternatives_1_1_0" - // $ANTLR start "rule__ScopeContext__Group_1__1__Impl" - // InternalScope.g:3834:1: rule__ScopeContext__Group_1__1__Impl : ( ( rule__ScopeContext__GuardAssignment_1_1 ) ) ; - public final void rule__ScopeContext__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__NameAlternatives_1_1_0" + // InternalScope.g:3776:1: rule__MultiplicativeExpression__NameAlternatives_1_1_0 : ( ( '*' ) | ( '/' ) ); + public final void rule__MultiplicativeExpression__NameAlternatives_1_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3838:1: ( ( ( rule__ScopeContext__GuardAssignment_1_1 ) ) ) - // InternalScope.g:3839:1: ( ( rule__ScopeContext__GuardAssignment_1_1 ) ) - { - // InternalScope.g:3839:1: ( ( rule__ScopeContext__GuardAssignment_1_1 ) ) - // InternalScope.g:3840:2: ( rule__ScopeContext__GuardAssignment_1_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeContextAccess().getGuardAssignment_1_1()); - } - // InternalScope.g:3841:2: ( rule__ScopeContext__GuardAssignment_1_1 ) - // InternalScope.g:3841:3: rule__ScopeContext__GuardAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__ScopeContext__GuardAssignment_1_1(); - - state._fsp--; - if (state.failed) return ; - - } + // InternalScope.g:3780:1: ( ( '*' ) | ( '/' ) ) + int alt16=2; + int LA16_0 = input.LA(1); - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeContextAccess().getGuardAssignment_1_1()); + if ( (LA16_0==25) ) { + alt16=1; } - + else if ( (LA16_0==26) ) { + alt16=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 16, 0, input); - + throw nvae; } + switch (alt16) { + case 1 : + // InternalScope.g:3781:2: ( '*' ) + { + // InternalScope.g:3781:2: ( '*' ) + // InternalScope.g:3782:3: '*' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); + } + match(input,25,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__ScopeContext__Group_1__1__Impl" + } + break; + case 2 : + // InternalScope.g:3787:2: ( '/' ) + { + // InternalScope.g:3787:2: ( '/' ) + // InternalScope.g:3788:3: '/' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); + } + match(input,26,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); + } - // $ANTLR start "rule__ScopeContext__Group_1__2" - // InternalScope.g:3849:1: rule__ScopeContext__Group_1__2 : rule__ScopeContext__Group_1__2__Impl ; - public final void rule__ScopeContext__Group_1__2() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:3853:1: ( rule__ScopeContext__Group_1__2__Impl ) - // InternalScope.g:3854:2: rule__ScopeContext__Group_1__2__Impl - { - pushFollow(FOLLOW_2); - rule__ScopeContext__Group_1__2__Impl(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -13605,73 +13256,82 @@ public final void rule__ScopeContext__Group_1__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__ScopeContext__Group_1__2" + // $ANTLR end "rule__MultiplicativeExpression__NameAlternatives_1_1_0" - // $ANTLR start "rule__ScopeContext__Group_1__2__Impl" - // InternalScope.g:3860:1: rule__ScopeContext__Group_1__2__Impl : ( ']' ) ; - public final void rule__ScopeContext__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__UnaryOrInfixExpression__Alternatives" + // InternalScope.g:3797:1: rule__UnaryOrInfixExpression__Alternatives : ( ( ruleUnaryExpression ) | ( ruleInfixExpression ) ); + public final void rule__UnaryOrInfixExpression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3864:1: ( ( ']' ) ) - // InternalScope.g:3865:1: ( ']' ) - { - // InternalScope.g:3865:1: ( ']' ) - // InternalScope.g:3866:2: ']' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeContextAccess().getRightSquareBracketKeyword_1_2()); - } - match(input,57,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeContextAccess().getRightSquareBracketKeyword_1_2()); - } + // InternalScope.g:3801:1: ( ( ruleUnaryExpression ) | ( ruleInfixExpression ) ) + int alt17=2; + int LA17_0 = input.LA(1); + if ( (LA17_0==24||LA17_0==27) ) { + alt17=1; } + else if ( (LA17_0==RULE_ID||LA17_0==RULE_INT||(LA17_0>=RULE_STRING && LA17_0<=RULE_REAL)||(LA17_0>=28 && LA17_0<=40)||LA17_0==72||LA17_0==77||(LA17_0>=102 && LA17_0<=103)||LA17_0==108||LA17_0==120) ) { + alt17=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 17, 0, input); - + throw nvae; } + switch (alt17) { + case 1 : + // InternalScope.g:3802:2: ( ruleUnaryExpression ) + { + // InternalScope.g:3802:2: ( ruleUnaryExpression ) + // InternalScope.g:3803:3: ruleUnaryExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleUnaryExpression(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryOrInfixExpressionAccess().getUnaryExpressionParserRuleCall_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__ScopeContext__Group_1__2__Impl" + } + break; + case 2 : + // InternalScope.g:3808:2: ( ruleInfixExpression ) + { + // InternalScope.g:3808:2: ( ruleInfixExpression ) + // InternalScope.g:3809:3: ruleInfixExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleInfixExpression(); - // $ANTLR start "rule__FactoryExpression__Group__0" - // InternalScope.g:3876:1: rule__FactoryExpression__Group__0 : rule__FactoryExpression__Group__0__Impl rule__FactoryExpression__Group__1 ; - public final void rule__FactoryExpression__Group__0() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryOrInfixExpressionAccess().getInfixExpressionParserRuleCall_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:3880:1: ( rule__FactoryExpression__Group__0__Impl rule__FactoryExpression__Group__1 ) - // InternalScope.g:3881:2: rule__FactoryExpression__Group__0__Impl rule__FactoryExpression__Group__1 - { - pushFollow(FOLLOW_17); - rule__FactoryExpression__Group__0__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__FactoryExpression__Group__1(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -13684,68 +13344,74 @@ public final void rule__FactoryExpression__Group__0() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__FactoryExpression__Group__0" + // $ANTLR end "rule__UnaryOrInfixExpression__Alternatives" - // $ANTLR start "rule__FactoryExpression__Group__0__Impl" - // InternalScope.g:3888:1: rule__FactoryExpression__Group__0__Impl : ( 'factory' ) ; - public final void rule__FactoryExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__UnaryExpression__NameAlternatives_0_0" + // InternalScope.g:3818:1: rule__UnaryExpression__NameAlternatives_0_0 : ( ( '!' ) | ( '-' ) ); + public final void rule__UnaryExpression__NameAlternatives_0_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3892:1: ( ( 'factory' ) ) - // InternalScope.g:3893:1: ( 'factory' ) - { - // InternalScope.g:3893:1: ( 'factory' ) - // InternalScope.g:3894:2: 'factory' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getFactoryExpressionAccess().getFactoryKeyword_0()); - } - match(input,58,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getFactoryExpressionAccess().getFactoryKeyword_0()); - } + // InternalScope.g:3822:1: ( ( '!' ) | ( '-' ) ) + int alt18=2; + int LA18_0 = input.LA(1); + if ( (LA18_0==27) ) { + alt18=1; } - - + else if ( (LA18_0==24) ) { + alt18=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 18, 0, input); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + throw nvae; + } + switch (alt18) { + case 1 : + // InternalScope.g:3823:2: ( '!' ) + { + // InternalScope.g:3823:2: ( '!' ) + // InternalScope.g:3824:3: '!' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); + } + match(input,27,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__FactoryExpression__Group__0__Impl" + } + break; + case 2 : + // InternalScope.g:3829:2: ( '-' ) + { + // InternalScope.g:3829:2: ( '-' ) + // InternalScope.g:3830:3: '-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); + } + match(input,24,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); + } - // $ANTLR start "rule__FactoryExpression__Group__1" - // InternalScope.g:3903:1: rule__FactoryExpression__Group__1 : rule__FactoryExpression__Group__1__Impl ; - public final void rule__FactoryExpression__Group__1() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:3907:1: ( rule__FactoryExpression__Group__1__Impl ) - // InternalScope.g:3908:2: rule__FactoryExpression__Group__1__Impl - { - pushFollow(FOLLOW_2); - rule__FactoryExpression__Group__1__Impl(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -13758,162 +13424,200 @@ public final void rule__FactoryExpression__Group__1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__FactoryExpression__Group__1" + // $ANTLR end "rule__UnaryExpression__NameAlternatives_0_0" - // $ANTLR start "rule__FactoryExpression__Group__1__Impl" - // InternalScope.g:3914:1: rule__FactoryExpression__Group__1__Impl : ( ( rule__FactoryExpression__ExprAssignment_1 ) ) ; - public final void rule__FactoryExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Alternatives_1" + // InternalScope.g:3839:1: rule__InfixExpression__Alternatives_1 : ( ( ( rule__InfixExpression__Group_1_0__0 ) ) | ( ( rule__InfixExpression__Group_1_1__0 ) ) | ( ( rule__InfixExpression__Group_1_2__0 ) ) | ( ( rule__InfixExpression__Group_1_3__0 ) ) ); + public final void rule__InfixExpression__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3918:1: ( ( ( rule__FactoryExpression__ExprAssignment_1 ) ) ) - // InternalScope.g:3919:1: ( ( rule__FactoryExpression__ExprAssignment_1 ) ) - { - // InternalScope.g:3919:1: ( ( rule__FactoryExpression__ExprAssignment_1 ) ) - // InternalScope.g:3920:2: ( rule__FactoryExpression__ExprAssignment_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getFactoryExpressionAccess().getExprAssignment_1()); - } - // InternalScope.g:3921:2: ( rule__FactoryExpression__ExprAssignment_1 ) - // InternalScope.g:3921:3: rule__FactoryExpression__ExprAssignment_1 - { - pushFollow(FOLLOW_2); - rule__FactoryExpression__ExprAssignment_1(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:3843:1: ( ( ( rule__InfixExpression__Group_1_0__0 ) ) | ( ( rule__InfixExpression__Group_1_1__0 ) ) | ( ( rule__InfixExpression__Group_1_2__0 ) ) | ( ( rule__InfixExpression__Group_1_3__0 ) ) ) + int alt19=4; + int LA19_0 = input.LA(1); - } + if ( (LA19_0==58) ) { + switch ( input.LA(2) ) { + case 38: + case 39: + case 40: + { + alt19=2; + } + break; + case RULE_ID: + { + int LA19_3 = input.LA(3); - if ( state.backtracking==0 ) { - after(grammarAccess.getFactoryExpressionAccess().getExprAssignment_1()); - } + if ( (LA19_3==EOF||(LA19_3>=15 && LA19_3<=26)||LA19_3==48||LA19_3==58||LA19_3==69||(LA19_3>=73 && LA19_3<=75)||LA19_3==78||LA19_3==81||LA19_3==83||LA19_3==86||LA19_3==93||(LA19_3>=95 && LA19_3<=96)||(LA19_3>=98 && LA19_3<=99)||LA19_3==101||LA19_3==119) ) { + alt19=2; + } + else if ( (LA19_3==77) ) { + alt19=1; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 19, 3, input); - } + throw nvae; + } + } + break; + case 120: + { + alt19=3; + } + break; + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + { + alt19=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 19, 1, input); + throw nvae; + } } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 19, 0, input); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); + throw nvae; + } + switch (alt19) { + case 1 : + // InternalScope.g:3844:2: ( ( rule__InfixExpression__Group_1_0__0 ) ) + { + // InternalScope.g:3844:2: ( ( rule__InfixExpression__Group_1_0__0 ) ) + // InternalScope.g:3845:3: ( rule__InfixExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); + } + // InternalScope.g:3846:3: ( rule__InfixExpression__Group_1_0__0 ) + // InternalScope.g:3846:4: rule__InfixExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__0(); - } - return ; - } - // $ANTLR end "rule__FactoryExpression__Group__1__Impl" + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__ScopeDelegation__Group__0" - // InternalScope.g:3930:1: rule__ScopeDelegation__Group__0 : rule__ScopeDelegation__Group__0__Impl rule__ScopeDelegation__Group__1 ; - public final void rule__ScopeDelegation__Group__0() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_0()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:3934:1: ( rule__ScopeDelegation__Group__0__Impl rule__ScopeDelegation__Group__1 ) - // InternalScope.g:3935:2: rule__ScopeDelegation__Group__0__Impl rule__ScopeDelegation__Group__1 - { - pushFollow(FOLLOW_31); - rule__ScopeDelegation__Group__0__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeDelegation__Group__1(); - state._fsp--; - if (state.failed) return ; + } + break; + case 2 : + // InternalScope.g:3850:2: ( ( rule__InfixExpression__Group_1_1__0 ) ) + { + // InternalScope.g:3850:2: ( ( rule__InfixExpression__Group_1_1__0 ) ) + // InternalScope.g:3851:3: ( rule__InfixExpression__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); + } + // InternalScope.g:3852:3: ( rule__InfixExpression__Group_1_1__0 ) + // InternalScope.g:3852:4: rule__InfixExpression__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_1__0(); - } + state._fsp--; + if (state.failed) return ; - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_1()); + } - } - return ; - } - // $ANTLR end "rule__ScopeDelegation__Group__0" + } - // $ANTLR start "rule__ScopeDelegation__Group__0__Impl" - // InternalScope.g:3942:1: rule__ScopeDelegation__Group__0__Impl : ( 'scopeof' ) ; - public final void rule__ScopeDelegation__Group__0__Impl() throws RecognitionException { + } + break; + case 3 : + // InternalScope.g:3856:2: ( ( rule__InfixExpression__Group_1_2__0 ) ) + { + // InternalScope.g:3856:2: ( ( rule__InfixExpression__Group_1_2__0 ) ) + // InternalScope.g:3857:3: ( rule__InfixExpression__Group_1_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); + } + // InternalScope.g:3858:3: ( rule__InfixExpression__Group_1_2__0 ) + // InternalScope.g:3858:4: rule__InfixExpression__Group_1_2__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__0(); - int stackSize = keepStackSize(); - - try { - // InternalScope.g:3946:1: ( ( 'scopeof' ) ) - // InternalScope.g:3947:1: ( 'scopeof' ) - { - // InternalScope.g:3947:1: ( 'scopeof' ) - // InternalScope.g:3948:2: 'scopeof' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDelegationAccess().getScopeofKeyword_0()); - } - match(input,59,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDelegationAccess().getScopeofKeyword_0()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_2()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 4 : + // InternalScope.g:3862:2: ( ( rule__InfixExpression__Group_1_3__0 ) ) + { + // InternalScope.g:3862:2: ( ( rule__InfixExpression__Group_1_3__0 ) ) + // InternalScope.g:3863:3: ( rule__InfixExpression__Group_1_3__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); + } + // InternalScope.g:3864:3: ( rule__InfixExpression__Group_1_3__0 ) + // InternalScope.g:3864:4: rule__InfixExpression__Group_1_3__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__0(); - } - return ; - } - // $ANTLR end "rule__ScopeDelegation__Group__0__Impl" + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__ScopeDelegation__Group__1" - // InternalScope.g:3957:1: rule__ScopeDelegation__Group__1 : rule__ScopeDelegation__Group__1__Impl rule__ScopeDelegation__Group__2 ; - public final void rule__ScopeDelegation__Group__1() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getGroup_1_3()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:3961:1: ( rule__ScopeDelegation__Group__1__Impl rule__ScopeDelegation__Group__2 ) - // InternalScope.g:3962:2: rule__ScopeDelegation__Group__1__Impl rule__ScopeDelegation__Group__2 - { - pushFollow(FOLLOW_32); - rule__ScopeDelegation__Group__1__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeDelegation__Group__2(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -13926,124 +13630,222 @@ public final void rule__ScopeDelegation__Group__1() throws RecognitionException } return ; } - // $ANTLR end "rule__ScopeDelegation__Group__1" + // $ANTLR end "rule__InfixExpression__Alternatives_1" - // $ANTLR start "rule__ScopeDelegation__Group__1__Impl" - // InternalScope.g:3969:1: rule__ScopeDelegation__Group__1__Impl : ( '(' ) ; - public final void rule__ScopeDelegation__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__NameAlternatives_1_3_2_0" + // InternalScope.g:3872:1: rule__InfixExpression__NameAlternatives_1_3_2_0 : ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ); + public final void rule__InfixExpression__NameAlternatives_1_3_2_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:3973:1: ( ( '(' ) ) - // InternalScope.g:3974:1: ( '(' ) - { - // InternalScope.g:3974:1: ( '(' ) - // InternalScope.g:3975:2: '(' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDelegationAccess().getLeftParenthesisKeyword_1()); - } - match(input,51,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDelegationAccess().getLeftParenthesisKeyword_1()); - } + // InternalScope.g:3876:1: ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) + int alt20=8; + switch ( input.LA(1) ) { + case 28: + { + alt20=1; + } + break; + case 29: + { + alt20=2; + } + break; + case 30: + { + alt20=3; + } + break; + case 31: + { + alt20=4; + } + break; + case 32: + { + alt20=5; + } + break; + case 33: + { + alt20=6; + } + break; + case 34: + { + alt20=7; + } + break; + case 35: + { + alt20=8; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 20, 0, input); + throw nvae; } + switch (alt20) { + case 1 : + // InternalScope.g:3877:2: ( 'collect' ) + { + // InternalScope.g:3877:2: ( 'collect' ) + // InternalScope.g:3878:3: 'collect' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); + } + match(input,28,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalScope.g:3883:2: ( 'select' ) + { + // InternalScope.g:3883:2: ( 'select' ) + // InternalScope.g:3884:3: 'select' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); + } + match(input,29,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); + } - } - return ; - } - // $ANTLR end "rule__ScopeDelegation__Group__1__Impl" + } - // $ANTLR start "rule__ScopeDelegation__Group__2" - // InternalScope.g:3984:1: rule__ScopeDelegation__Group__2 : rule__ScopeDelegation__Group__2__Impl rule__ScopeDelegation__Group__3 ; - public final void rule__ScopeDelegation__Group__2() throws RecognitionException { + } + break; + case 3 : + // InternalScope.g:3889:2: ( 'selectFirst' ) + { + // InternalScope.g:3889:2: ( 'selectFirst' ) + // InternalScope.g:3890:3: 'selectFirst' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); + } + match(input,30,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:3988:1: ( rule__ScopeDelegation__Group__2__Impl rule__ScopeDelegation__Group__3 ) - // InternalScope.g:3989:2: rule__ScopeDelegation__Group__2__Impl rule__ScopeDelegation__Group__3 - { - pushFollow(FOLLOW_33); - rule__ScopeDelegation__Group__2__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeDelegation__Group__3(); - state._fsp--; - if (state.failed) return ; + } + break; + case 4 : + // InternalScope.g:3895:2: ( 'reject' ) + { + // InternalScope.g:3895:2: ( 'reject' ) + // InternalScope.g:3896:3: 'reject' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); + } + match(input,31,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 5 : + // InternalScope.g:3901:2: ( 'exists' ) + { + // InternalScope.g:3901:2: ( 'exists' ) + // InternalScope.g:3902:3: 'exists' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); + } + match(input,32,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); + } - } - return ; - } - // $ANTLR end "rule__ScopeDelegation__Group__2" + } - // $ANTLR start "rule__ScopeDelegation__Group__2__Impl" - // InternalScope.g:3996:1: rule__ScopeDelegation__Group__2__Impl : ( ( rule__ScopeDelegation__Alternatives_2 ) ) ; - public final void rule__ScopeDelegation__Group__2__Impl() throws RecognitionException { + } + break; + case 6 : + // InternalScope.g:3907:2: ( 'notExists' ) + { + // InternalScope.g:3907:2: ( 'notExists' ) + // InternalScope.g:3908:3: 'notExists' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); + } + match(input,33,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4000:1: ( ( ( rule__ScopeDelegation__Alternatives_2 ) ) ) - // InternalScope.g:4001:1: ( ( rule__ScopeDelegation__Alternatives_2 ) ) - { - // InternalScope.g:4001:1: ( ( rule__ScopeDelegation__Alternatives_2 ) ) - // InternalScope.g:4002:2: ( rule__ScopeDelegation__Alternatives_2 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDelegationAccess().getAlternatives_2()); - } - // InternalScope.g:4003:2: ( rule__ScopeDelegation__Alternatives_2 ) - // InternalScope.g:4003:3: rule__ScopeDelegation__Alternatives_2 - { - pushFollow(FOLLOW_2); - rule__ScopeDelegation__Alternatives_2(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + case 7 : + // InternalScope.g:3913:2: ( 'sortBy' ) + { + // InternalScope.g:3913:2: ( 'sortBy' ) + // InternalScope.g:3914:3: 'sortBy' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); + } + match(input,34,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDelegationAccess().getAlternatives_2()); - } + } - } + + } + break; + case 8 : + // InternalScope.g:3919:2: ( 'forAll' ) + { + // InternalScope.g:3919:2: ( 'forAll' ) + // InternalScope.g:3920:3: 'forAll' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); + } + match(input,35,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); + } + + } - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -14056,127 +13858,215 @@ public final void rule__ScopeDelegation__Group__2__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ScopeDelegation__Group__2__Impl" + // $ANTLR end "rule__InfixExpression__NameAlternatives_1_3_2_0" - // $ANTLR start "rule__ScopeDelegation__Group__3" - // InternalScope.g:4011:1: rule__ScopeDelegation__Group__3 : rule__ScopeDelegation__Group__3__Impl rule__ScopeDelegation__Group__4 ; - public final void rule__ScopeDelegation__Group__3() throws RecognitionException { + // $ANTLR start "rule__PrimaryExpression__Alternatives" + // InternalScope.g:3929:1: rule__PrimaryExpression__Alternatives : ( ( ruleLiteral ) | ( ruleFeatureCall ) | ( ruleListLiteral ) | ( ruleConstructorCallExpression ) | ( ruleGlobalVarExpression ) | ( ruleParanthesizedExpression ) ); + public final void rule__PrimaryExpression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4015:1: ( rule__ScopeDelegation__Group__3__Impl rule__ScopeDelegation__Group__4 ) - // InternalScope.g:4016:2: rule__ScopeDelegation__Group__3__Impl rule__ScopeDelegation__Group__4 - { - pushFollow(FOLLOW_33); - rule__ScopeDelegation__Group__3__Impl(); + // InternalScope.g:3933:1: ( ( ruleLiteral ) | ( ruleFeatureCall ) | ( ruleListLiteral ) | ( ruleConstructorCallExpression ) | ( ruleGlobalVarExpression ) | ( ruleParanthesizedExpression ) ) + int alt21=6; + switch ( input.LA(1) ) { + case RULE_INT: + case RULE_STRING: + case RULE_REAL: + case 36: + case 37: + case 108: + { + alt21=1; + } + break; + case RULE_ID: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 38: + case 39: + case 40: + case 120: + { + alt21=2; + } + break; + case 72: + { + alt21=3; + } + break; + case 103: + { + alt21=4; + } + break; + case 102: + { + alt21=5; + } + break; + case 77: + { + alt21=6; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 21, 0, input); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeDelegation__Group__4(); + throw nvae; + } - state._fsp--; - if (state.failed) return ; + switch (alt21) { + case 1 : + // InternalScope.g:3934:2: ( ruleLiteral ) + { + // InternalScope.g:3934:2: ( ruleLiteral ) + // InternalScope.g:3935:3: ruleLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleLiteral(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__ScopeDelegation__Group__3" + } + break; + case 2 : + // InternalScope.g:3940:2: ( ruleFeatureCall ) + { + // InternalScope.g:3940:2: ( ruleFeatureCall ) + // InternalScope.g:3941:3: ruleFeatureCall + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleFeatureCall(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); + } - // $ANTLR start "rule__ScopeDelegation__Group__3__Impl" - // InternalScope.g:4023:1: rule__ScopeDelegation__Group__3__Impl : ( ( rule__ScopeDelegation__Group_3__0 )? ) ; - public final void rule__ScopeDelegation__Group__3__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4027:1: ( ( ( rule__ScopeDelegation__Group_3__0 )? ) ) - // InternalScope.g:4028:1: ( ( rule__ScopeDelegation__Group_3__0 )? ) - { - // InternalScope.g:4028:1: ( ( rule__ScopeDelegation__Group_3__0 )? ) - // InternalScope.g:4029:2: ( rule__ScopeDelegation__Group_3__0 )? - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDelegationAccess().getGroup_3()); - } - // InternalScope.g:4030:2: ( rule__ScopeDelegation__Group_3__0 )? - int alt41=2; - int LA41_0 = input.LA(1); - if ( (LA41_0==60) ) { - alt41=1; - } - switch (alt41) { - case 1 : - // InternalScope.g:4030:3: rule__ScopeDelegation__Group_3__0 + } + break; + case 3 : + // InternalScope.g:3946:2: ( ruleListLiteral ) { + // InternalScope.g:3946:2: ( ruleListLiteral ) + // InternalScope.g:3947:3: ruleListLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); + } pushFollow(FOLLOW_2); - rule__ScopeDelegation__Group_3__0(); + ruleListLiteral(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getListLiteralParserRuleCall_2()); + } + + } + } break; + case 4 : + // InternalScope.g:3952:2: ( ruleConstructorCallExpression ) + { + // InternalScope.g:3952:2: ( ruleConstructorCallExpression ) + // InternalScope.g:3953:3: ruleConstructorCallExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); + } + pushFollow(FOLLOW_2); + ruleConstructorCallExpression(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getConstructorCallExpressionParserRuleCall_3()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDelegationAccess().getGroup_3()); - } + } - } + } + break; + case 5 : + // InternalScope.g:3958:2: ( ruleGlobalVarExpression ) + { + // InternalScope.g:3958:2: ( ruleGlobalVarExpression ) + // InternalScope.g:3959:3: ruleGlobalVarExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); + } + pushFollow(FOLLOW_2); + ruleGlobalVarExpression(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getGlobalVarExpressionParserRuleCall_4()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__ScopeDelegation__Group__3__Impl" + } + break; + case 6 : + // InternalScope.g:3964:2: ( ruleParanthesizedExpression ) + { + // InternalScope.g:3964:2: ( ruleParanthesizedExpression ) + // InternalScope.g:3965:3: ruleParanthesizedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); + } + pushFollow(FOLLOW_2); + ruleParanthesizedExpression(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPrimaryExpressionAccess().getParanthesizedExpressionParserRuleCall_5()); + } - // $ANTLR start "rule__ScopeDelegation__Group__4" - // InternalScope.g:4038:1: rule__ScopeDelegation__Group__4 : rule__ScopeDelegation__Group__4__Impl ; - public final void rule__ScopeDelegation__Group__4() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4042:1: ( rule__ScopeDelegation__Group__4__Impl ) - // InternalScope.g:4043:2: rule__ScopeDelegation__Group__4__Impl - { - pushFollow(FOLLOW_2); - rule__ScopeDelegation__Group__4__Impl(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -14189,35 +14079,171 @@ public final void rule__ScopeDelegation__Group__4() throws RecognitionException } return ; } - // $ANTLR end "rule__ScopeDelegation__Group__4" + // $ANTLR end "rule__PrimaryExpression__Alternatives" - // $ANTLR start "rule__ScopeDelegation__Group__4__Impl" - // InternalScope.g:4049:1: rule__ScopeDelegation__Group__4__Impl : ( ')' ) ; - public final void rule__ScopeDelegation__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__Literal__Alternatives" + // InternalScope.g:3974:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleIntegerLiteral ) | ( ruleNullLiteral ) | ( ruleRealLiteral ) | ( ruleStringLiteral ) ); + public final void rule__Literal__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4053:1: ( ( ')' ) ) - // InternalScope.g:4054:1: ( ')' ) - { - // InternalScope.g:4054:1: ( ')' ) - // InternalScope.g:4055:2: ')' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDelegationAccess().getRightParenthesisKeyword_4()); - } - match(input,52,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDelegationAccess().getRightParenthesisKeyword_4()); - } + // InternalScope.g:3978:1: ( ( ruleBooleanLiteral ) | ( ruleIntegerLiteral ) | ( ruleNullLiteral ) | ( ruleRealLiteral ) | ( ruleStringLiteral ) ) + int alt22=5; + switch ( input.LA(1) ) { + case 36: + case 37: + { + alt22=1; + } + break; + case RULE_INT: + { + alt22=2; + } + break; + case 108: + { + alt22=3; + } + break; + case RULE_REAL: + { + alt22=4; + } + break; + case RULE_STRING: + { + alt22=5; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 22, 0, input); + throw nvae; } + switch (alt22) { + case 1 : + // InternalScope.g:3979:2: ( ruleBooleanLiteral ) + { + // InternalScope.g:3979:2: ( ruleBooleanLiteral ) + // InternalScope.g:3980:3: ruleBooleanLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleBooleanLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:3985:2: ( ruleIntegerLiteral ) + { + // InternalScope.g:3985:2: ( ruleIntegerLiteral ) + // InternalScope.g:3986:3: ruleIntegerLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleIntegerLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getIntegerLiteralParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalScope.g:3991:2: ( ruleNullLiteral ) + { + // InternalScope.g:3991:2: ( ruleNullLiteral ) + // InternalScope.g:3992:3: ruleNullLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleNullLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getNullLiteralParserRuleCall_2()); + } + + } + + + } + break; + case 4 : + // InternalScope.g:3997:2: ( ruleRealLiteral ) + { + // InternalScope.g:3997:2: ( ruleRealLiteral ) + // InternalScope.g:3998:3: ruleRealLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); + } + pushFollow(FOLLOW_2); + ruleRealLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_3()); + } + + } + + + } + break; + case 5 : + // InternalScope.g:4003:2: ( ruleStringLiteral ) + { + // InternalScope.g:4003:2: ( ruleStringLiteral ) + // InternalScope.g:4004:3: ruleStringLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); + } + pushFollow(FOLLOW_2); + ruleStringLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); + } + + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -14230,32 +14256,74 @@ public final void rule__ScopeDelegation__Group__4__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ScopeDelegation__Group__4__Impl" + // $ANTLR end "rule__Literal__Alternatives" - // $ANTLR start "rule__ScopeDelegation__Group_3__0" - // InternalScope.g:4065:1: rule__ScopeDelegation__Group_3__0 : rule__ScopeDelegation__Group_3__0__Impl rule__ScopeDelegation__Group_3__1 ; - public final void rule__ScopeDelegation__Group_3__0() throws RecognitionException { + // $ANTLR start "rule__BooleanLiteral__ValAlternatives_0" + // InternalScope.g:4013:1: rule__BooleanLiteral__ValAlternatives_0 : ( ( 'true' ) | ( 'false' ) ); + public final void rule__BooleanLiteral__ValAlternatives_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4069:1: ( rule__ScopeDelegation__Group_3__0__Impl rule__ScopeDelegation__Group_3__1 ) - // InternalScope.g:4070:2: rule__ScopeDelegation__Group_3__0__Impl rule__ScopeDelegation__Group_3__1 - { - pushFollow(FOLLOW_3); - rule__ScopeDelegation__Group_3__0__Impl(); + // InternalScope.g:4017:1: ( ( 'true' ) | ( 'false' ) ) + int alt23=2; + int LA23_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__ScopeDelegation__Group_3__1(); - - state._fsp--; - if (state.failed) return ; + if ( (LA23_0==36) ) { + alt23=1; + } + else if ( (LA23_0==37) ) { + alt23=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 23, 0, input); + throw nvae; } + switch (alt23) { + case 1 : + // InternalScope.g:4018:2: ( 'true' ) + { + // InternalScope.g:4018:2: ( 'true' ) + // InternalScope.g:4019:3: 'true' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); + } + match(input,36,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:4024:2: ( 'false' ) + { + // InternalScope.g:4024:2: ( 'false' ) + // InternalScope.g:4025:3: 'false' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); + } + match(input,37,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -14268,119 +14336,171 @@ public final void rule__ScopeDelegation__Group_3__0() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ScopeDelegation__Group_3__0" + // $ANTLR end "rule__BooleanLiteral__ValAlternatives_0" - // $ANTLR start "rule__ScopeDelegation__Group_3__0__Impl" - // InternalScope.g:4077:1: rule__ScopeDelegation__Group_3__0__Impl : ( ',' ) ; - public final void rule__ScopeDelegation__Group_3__0__Impl() throws RecognitionException { + // $ANTLR start "rule__FeatureCall__Alternatives" + // InternalScope.g:4034:1: rule__FeatureCall__Alternatives : ( ( ruleOperationCall ) | ( ( rule__FeatureCall__TypeAssignment_1 ) ) | ( ruleCollectionExpression ) | ( ruleTypeSelectExpression ) ); + public final void rule__FeatureCall__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4081:1: ( ( ',' ) ) - // InternalScope.g:4082:1: ( ',' ) - { - // InternalScope.g:4082:1: ( ',' ) - // InternalScope.g:4083:2: ',' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDelegationAccess().getCommaKeyword_3_0()); - } - match(input,60,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDelegationAccess().getCommaKeyword_3_0()); - } + // InternalScope.g:4038:1: ( ( ruleOperationCall ) | ( ( rule__FeatureCall__TypeAssignment_1 ) ) | ( ruleCollectionExpression ) | ( ruleTypeSelectExpression ) ) + int alt24=4; + switch ( input.LA(1) ) { + case RULE_ID: + { + int LA24_1 = input.LA(2); - } + if ( (LA24_1==77) ) { + alt24=1; + } + else if ( (LA24_1==EOF||(LA24_1>=15 && LA24_1<=26)||LA24_1==48||LA24_1==58||LA24_1==69||(LA24_1>=73 && LA24_1<=75)||LA24_1==78||LA24_1==81||LA24_1==83||LA24_1==86||LA24_1==93||(LA24_1>=95 && LA24_1<=96)||(LA24_1>=98 && LA24_1<=99)||LA24_1==101||LA24_1==119) ) { + alt24=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 24, 1, input); + throw nvae; + } + } + break; + case 38: + case 39: + case 40: + { + alt24=2; + } + break; + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + { + alt24=3; + } + break; + case 120: + { + alt24=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 24, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + switch (alt24) { + case 1 : + // InternalScope.g:4039:2: ( ruleOperationCall ) + { + // InternalScope.g:4039:2: ( ruleOperationCall ) + // InternalScope.g:4040:3: ruleOperationCall + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleOperationCall(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallAccess().getOperationCallParserRuleCall_0()); + } - } - return ; - } - // $ANTLR end "rule__ScopeDelegation__Group_3__0__Impl" + } - // $ANTLR start "rule__ScopeDelegation__Group_3__1" - // InternalScope.g:4092:1: rule__ScopeDelegation__Group_3__1 : rule__ScopeDelegation__Group_3__1__Impl ; - public final void rule__ScopeDelegation__Group_3__1() throws RecognitionException { + } + break; + case 2 : + // InternalScope.g:4045:2: ( ( rule__FeatureCall__TypeAssignment_1 ) ) + { + // InternalScope.g:4045:2: ( ( rule__FeatureCall__TypeAssignment_1 ) ) + // InternalScope.g:4046:3: ( rule__FeatureCall__TypeAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); + } + // InternalScope.g:4047:3: ( rule__FeatureCall__TypeAssignment_1 ) + // InternalScope.g:4047:4: rule__FeatureCall__TypeAssignment_1 + { + pushFollow(FOLLOW_2); + rule__FeatureCall__TypeAssignment_1(); - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4096:1: ( rule__ScopeDelegation__Group_3__1__Impl ) - // InternalScope.g:4097:2: rule__ScopeDelegation__Group_3__1__Impl - { - pushFollow(FOLLOW_2); - rule__ScopeDelegation__Group_3__1__Impl(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallAccess().getTypeAssignment_1()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__ScopeDelegation__Group_3__1" + } + break; + case 3 : + // InternalScope.g:4051:2: ( ruleCollectionExpression ) + { + // InternalScope.g:4051:2: ( ruleCollectionExpression ) + // InternalScope.g:4052:3: ruleCollectionExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleCollectionExpression(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallAccess().getCollectionExpressionParserRuleCall_2()); + } - // $ANTLR start "rule__ScopeDelegation__Group_3__1__Impl" - // InternalScope.g:4103:1: rule__ScopeDelegation__Group_3__1__Impl : ( ( rule__ScopeDelegation__ScopeAssignment_3_1 ) ) ; - public final void rule__ScopeDelegation__Group_3__1__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4107:1: ( ( ( rule__ScopeDelegation__ScopeAssignment_3_1 ) ) ) - // InternalScope.g:4108:1: ( ( rule__ScopeDelegation__ScopeAssignment_3_1 ) ) - { - // InternalScope.g:4108:1: ( ( rule__ScopeDelegation__ScopeAssignment_3_1 ) ) - // InternalScope.g:4109:2: ( rule__ScopeDelegation__ScopeAssignment_3_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDelegationAccess().getScopeAssignment_3_1()); - } - // InternalScope.g:4110:2: ( rule__ScopeDelegation__ScopeAssignment_3_1 ) - // InternalScope.g:4110:3: rule__ScopeDelegation__ScopeAssignment_3_1 - { - pushFollow(FOLLOW_2); - rule__ScopeDelegation__ScopeAssignment_3_1(); - state._fsp--; - if (state.failed) return ; + } + break; + case 4 : + // InternalScope.g:4057:2: ( ruleTypeSelectExpression ) + { + // InternalScope.g:4057:2: ( ruleTypeSelectExpression ) + // InternalScope.g:4058:3: ruleTypeSelectExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); + } + pushFollow(FOLLOW_2); + ruleTypeSelectExpression(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallAccess().getTypeSelectExpressionParserRuleCall_3()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDelegationAccess().getScopeAssignment_3_1()); - } + } - } + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -14393,121 +14513,222 @@ public final void rule__ScopeDelegation__Group_3__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ScopeDelegation__Group_3__1__Impl" + // $ANTLR end "rule__FeatureCall__Alternatives" - // $ANTLR start "rule__NamedScopeExpression__Group__0" - // InternalScope.g:4119:1: rule__NamedScopeExpression__Group__0 : rule__NamedScopeExpression__Group__0__Impl rule__NamedScopeExpression__Group__1 ; - public final void rule__NamedScopeExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__CollectionExpression__NameAlternatives_0_0" + // InternalScope.g:4067:1: rule__CollectionExpression__NameAlternatives_0_0 : ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ); + public final void rule__CollectionExpression__NameAlternatives_0_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4123:1: ( rule__NamedScopeExpression__Group__0__Impl rule__NamedScopeExpression__Group__1 ) - // InternalScope.g:4124:2: rule__NamedScopeExpression__Group__0__Impl rule__NamedScopeExpression__Group__1 - { - pushFollow(FOLLOW_34); - rule__NamedScopeExpression__Group__0__Impl(); + // InternalScope.g:4071:1: ( ( 'collect' ) | ( 'select' ) | ( 'selectFirst' ) | ( 'reject' ) | ( 'exists' ) | ( 'notExists' ) | ( 'sortBy' ) | ( 'forAll' ) ) + int alt25=8; + switch ( input.LA(1) ) { + case 28: + { + alt25=1; + } + break; + case 29: + { + alt25=2; + } + break; + case 30: + { + alt25=3; + } + break; + case 31: + { + alt25=4; + } + break; + case 32: + { + alt25=5; + } + break; + case 33: + { + alt25=6; + } + break; + case 34: + { + alt25=7; + } + break; + case 35: + { + alt25=8; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 25, 0, input); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__NamedScopeExpression__Group__1(); + throw nvae; + } - state._fsp--; - if (state.failed) return ; + switch (alt25) { + case 1 : + // InternalScope.g:4072:2: ( 'collect' ) + { + // InternalScope.g:4072:2: ( 'collect' ) + // InternalScope.g:4073:3: 'collect' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); + } + match(input,28,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalScope.g:4078:2: ( 'select' ) + { + // InternalScope.g:4078:2: ( 'select' ) + // InternalScope.g:4079:3: 'select' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); + } + match(input,29,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); + } - } - return ; - } - // $ANTLR end "rule__NamedScopeExpression__Group__0" + } - // $ANTLR start "rule__NamedScopeExpression__Group__0__Impl" - // InternalScope.g:4131:1: rule__NamedScopeExpression__Group__0__Impl : ( ( rule__NamedScopeExpression__Alternatives_0 ) ) ; - public final void rule__NamedScopeExpression__Group__0__Impl() throws RecognitionException { + } + break; + case 3 : + // InternalScope.g:4084:2: ( 'selectFirst' ) + { + // InternalScope.g:4084:2: ( 'selectFirst' ) + // InternalScope.g:4085:3: 'selectFirst' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); + } + match(input,30,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4135:1: ( ( ( rule__NamedScopeExpression__Alternatives_0 ) ) ) - // InternalScope.g:4136:1: ( ( rule__NamedScopeExpression__Alternatives_0 ) ) - { - // InternalScope.g:4136:1: ( ( rule__NamedScopeExpression__Alternatives_0 ) ) - // InternalScope.g:4137:2: ( rule__NamedScopeExpression__Alternatives_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamedScopeExpressionAccess().getAlternatives_0()); - } - // InternalScope.g:4138:2: ( rule__NamedScopeExpression__Alternatives_0 ) - // InternalScope.g:4138:3: rule__NamedScopeExpression__Alternatives_0 - { - pushFollow(FOLLOW_2); - rule__NamedScopeExpression__Alternatives_0(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + case 4 : + // InternalScope.g:4090:2: ( 'reject' ) + { + // InternalScope.g:4090:2: ( 'reject' ) + // InternalScope.g:4091:3: 'reject' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); + } + match(input,31,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getNamedScopeExpressionAccess().getAlternatives_0()); - } + } - } + } + break; + case 5 : + // InternalScope.g:4096:2: ( 'exists' ) + { + // InternalScope.g:4096:2: ( 'exists' ) + // InternalScope.g:4097:3: 'exists' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); + } + match(input,32,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 6 : + // InternalScope.g:4102:2: ( 'notExists' ) + { + // InternalScope.g:4102:2: ( 'notExists' ) + // InternalScope.g:4103:3: 'notExists' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); + } + match(input,33,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); + } - } - return ; - } - // $ANTLR end "rule__NamedScopeExpression__Group__0__Impl" + } - // $ANTLR start "rule__NamedScopeExpression__Group__1" - // InternalScope.g:4146:1: rule__NamedScopeExpression__Group__1 : rule__NamedScopeExpression__Group__1__Impl rule__NamedScopeExpression__Group__2 ; - public final void rule__NamedScopeExpression__Group__1() throws RecognitionException { + } + break; + case 7 : + // InternalScope.g:4108:2: ( 'sortBy' ) + { + // InternalScope.g:4108:2: ( 'sortBy' ) + // InternalScope.g:4109:3: 'sortBy' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); + } + match(input,34,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4150:1: ( rule__NamedScopeExpression__Group__1__Impl rule__NamedScopeExpression__Group__2 ) - // InternalScope.g:4151:2: rule__NamedScopeExpression__Group__1__Impl rule__NamedScopeExpression__Group__2 - { - pushFollow(FOLLOW_34); - rule__NamedScopeExpression__Group__1__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__NamedScopeExpression__Group__2(); - state._fsp--; - if (state.failed) return ; + } + break; + case 8 : + // InternalScope.g:4114:2: ( 'forAll' ) + { + // InternalScope.g:4114:2: ( 'forAll' ) + // InternalScope.g:4115:3: 'forAll' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); + } + match(input,35,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); + } - } + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -14520,56 +14741,82 @@ public final void rule__NamedScopeExpression__Group__1() throws RecognitionExcep } return ; } - // $ANTLR end "rule__NamedScopeExpression__Group__1" + // $ANTLR end "rule__CollectionExpression__NameAlternatives_0_0" - // $ANTLR start "rule__NamedScopeExpression__Group__1__Impl" - // InternalScope.g:4158:1: rule__NamedScopeExpression__Group__1__Impl : ( ( rule__NamedScopeExpression__Group_1__0 )? ) ; - public final void rule__NamedScopeExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Type__Alternatives" + // InternalScope.g:4124:1: rule__Type__Alternatives : ( ( ruleCollectionType ) | ( ruleSimpleType ) ); + public final void rule__Type__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4162:1: ( ( ( rule__NamedScopeExpression__Group_1__0 )? ) ) - // InternalScope.g:4163:1: ( ( rule__NamedScopeExpression__Group_1__0 )? ) - { - // InternalScope.g:4163:1: ( ( rule__NamedScopeExpression__Group_1__0 )? ) - // InternalScope.g:4164:2: ( rule__NamedScopeExpression__Group_1__0 )? - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamedScopeExpressionAccess().getGroup_1()); + // InternalScope.g:4128:1: ( ( ruleCollectionType ) | ( ruleSimpleType ) ) + int alt26=2; + int LA26_0 = input.LA(1); + + if ( ((LA26_0>=38 && LA26_0<=40)) ) { + alt26=1; } - // InternalScope.g:4165:2: ( rule__NamedScopeExpression__Group_1__0 )? - int alt42=2; - int LA42_0 = input.LA(1); + else if ( (LA26_0==RULE_ID) ) { + alt26=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 26, 0, input); - if ( (LA42_0==47) ) { - alt42=1; + throw nvae; } - switch (alt42) { + switch (alt26) { case 1 : - // InternalScope.g:4165:3: rule__NamedScopeExpression__Group_1__0 + // InternalScope.g:4129:2: ( ruleCollectionType ) + { + // InternalScope.g:4129:2: ( ruleCollectionType ) + // InternalScope.g:4130:3: ruleCollectionType { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); + } pushFollow(FOLLOW_2); - rule__NamedScopeExpression__Group_1__0(); + ruleCollectionType(); state._fsp--; if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeAccess().getCollectionTypeParserRuleCall_0()); + } + + } + } break; + case 2 : + // InternalScope.g:4135:2: ( ruleSimpleType ) + { + // InternalScope.g:4135:2: ( ruleSimpleType ) + // InternalScope.g:4136:3: ruleSimpleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleSimpleType(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeAccess().getSimpleTypeParserRuleCall_1()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getNamedScopeExpressionAccess().getGroup_1()); - } + } - } + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -14582,27 +14829,102 @@ public final void rule__NamedScopeExpression__Group__1__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__NamedScopeExpression__Group__1__Impl" + // $ANTLR end "rule__Type__Alternatives" - // $ANTLR start "rule__NamedScopeExpression__Group__2" - // InternalScope.g:4173:1: rule__NamedScopeExpression__Group__2 : rule__NamedScopeExpression__Group__2__Impl ; - public final void rule__NamedScopeExpression__Group__2() throws RecognitionException { + // $ANTLR start "rule__CollectionType__ClAlternatives_0_0" + // InternalScope.g:4145:1: rule__CollectionType__ClAlternatives_0_0 : ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ); + public final void rule__CollectionType__ClAlternatives_0_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4177:1: ( rule__NamedScopeExpression__Group__2__Impl ) - // InternalScope.g:4178:2: rule__NamedScopeExpression__Group__2__Impl - { - pushFollow(FOLLOW_2); - rule__NamedScopeExpression__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:4149:1: ( ( 'Collection' ) | ( 'List' ) | ( 'Set' ) ) + int alt27=3; + switch ( input.LA(1) ) { + case 38: + { + alt27=1; + } + break; + case 39: + { + alt27=2; + } + break; + case 40: + { + alt27=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 27, 0, input); + throw nvae; } + switch (alt27) { + case 1 : + // InternalScope.g:4150:2: ( 'Collection' ) + { + // InternalScope.g:4150:2: ( 'Collection' ) + // InternalScope.g:4151:3: 'Collection' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); + } + match(input,38,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:4156:2: ( 'List' ) + { + // InternalScope.g:4156:2: ( 'List' ) + // InternalScope.g:4157:3: 'List' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); + } + match(input,39,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); + } + + } + + + } + break; + case 3 : + // InternalScope.g:4162:2: ( 'Set' ) + { + // InternalScope.g:4162:2: ( 'Set' ) + // InternalScope.g:4163:3: 'Set' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); + } + match(input,40,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -14615,94 +14937,214 @@ public final void rule__NamedScopeExpression__Group__2() throws RecognitionExcep } return ; } - // $ANTLR end "rule__NamedScopeExpression__Group__2" + // $ANTLR end "rule__CollectionType__ClAlternatives_0_0" - // $ANTLR start "rule__NamedScopeExpression__Group__2__Impl" - // InternalScope.g:4184:1: rule__NamedScopeExpression__Group__2__Impl : ( ( rule__NamedScopeExpression__Group_2__0 )? ) ; - public final void rule__NamedScopeExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__XAssignment__Alternatives" + // InternalScope.g:4172:1: rule__XAssignment__Alternatives : ( ( ( rule__XAssignment__Group_0__0 ) ) | ( ( rule__XAssignment__Group_1__0 ) ) ); + public final void rule__XAssignment__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4188:1: ( ( ( rule__NamedScopeExpression__Group_2__0 )? ) ) - // InternalScope.g:4189:1: ( ( rule__NamedScopeExpression__Group_2__0 )? ) - { - // InternalScope.g:4189:1: ( ( rule__NamedScopeExpression__Group_2__0 )? ) - // InternalScope.g:4190:2: ( rule__NamedScopeExpression__Group_2__0 )? - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamedScopeExpressionAccess().getGroup_2()); - } - // InternalScope.g:4191:2: ( rule__NamedScopeExpression__Group_2__0 )? - int alt43=2; - int LA43_0 = input.LA(1); + // InternalScope.g:4176:1: ( ( ( rule__XAssignment__Group_0__0 ) ) | ( ( rule__XAssignment__Group_1__0 ) ) ) + int alt28=2; + switch ( input.LA(1) ) { + case RULE_ID: + { + int LA28_1 = input.LA(2); - if ( (LA43_0==41) ) { - alt43=1; + if ( (LA28_1==14) ) { + alt28=1; + } + else if ( (LA28_1==EOF||(LA28_1>=RULE_ID && LA28_1<=RULE_STRING)||(LA28_1>=15 && LA28_1<=19)||(LA28_1>=21 && LA28_1<=27)||(LA28_1>=36 && LA28_1<=37)||(LA28_1>=41 && LA28_1<=64)||LA28_1==69||(LA28_1>=72 && LA28_1<=75)||(LA28_1>=77 && LA28_1<=79)||(LA28_1>=82 && LA28_1<=83)||LA28_1==86||LA28_1==93||LA28_1==95||LA28_1==97||(LA28_1>=99 && LA28_1<=101)||(LA28_1>=103 && LA28_1<=115)||(LA28_1>=121 && LA28_1<=122)) ) { + alt28=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 28, 1, input); + + throw nvae; + } + } + break; + case 60: + { + int LA28_2 = input.LA(2); + + if ( (LA28_2==14) ) { + alt28=1; + } + else if ( (LA28_2==EOF||(LA28_2>=RULE_ID && LA28_2<=RULE_STRING)||(LA28_2>=15 && LA28_2<=19)||(LA28_2>=21 && LA28_2<=27)||(LA28_2>=36 && LA28_2<=37)||(LA28_2>=41 && LA28_2<=64)||LA28_2==69||(LA28_2>=72 && LA28_2<=75)||(LA28_2>=77 && LA28_2<=79)||(LA28_2>=82 && LA28_2<=83)||LA28_2==86||LA28_2==93||LA28_2==95||LA28_2==97||(LA28_2>=99 && LA28_2<=101)||(LA28_2>=103 && LA28_2<=115)||(LA28_2>=121 && LA28_2<=122)) ) { + alt28=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 28, 2, input); + + throw nvae; + } + } + break; + case 61: + { + int LA28_3 = input.LA(2); + + if ( (LA28_3==EOF||(LA28_3>=RULE_ID && LA28_3<=RULE_STRING)||(LA28_3>=15 && LA28_3<=19)||(LA28_3>=21 && LA28_3<=27)||(LA28_3>=36 && LA28_3<=37)||(LA28_3>=41 && LA28_3<=64)||LA28_3==69||(LA28_3>=72 && LA28_3<=75)||(LA28_3>=77 && LA28_3<=79)||(LA28_3>=82 && LA28_3<=83)||LA28_3==86||LA28_3==93||LA28_3==95||LA28_3==97||(LA28_3>=99 && LA28_3<=101)||(LA28_3>=103 && LA28_3<=115)||(LA28_3>=121 && LA28_3<=122)) ) { + alt28=2; + } + else if ( (LA28_3==14) ) { + alt28=1; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 28, 3, input); + + throw nvae; + } + } + break; + case 62: + { + int LA28_4 = input.LA(2); + + if ( (LA28_4==14) ) { + alt28=1; + } + else if ( (LA28_4==EOF||(LA28_4>=RULE_ID && LA28_4<=RULE_STRING)||(LA28_4>=15 && LA28_4<=19)||(LA28_4>=21 && LA28_4<=27)||(LA28_4>=36 && LA28_4<=37)||(LA28_4>=41 && LA28_4<=64)||LA28_4==69||(LA28_4>=72 && LA28_4<=75)||(LA28_4>=77 && LA28_4<=79)||(LA28_4>=82 && LA28_4<=83)||LA28_4==86||LA28_4==93||LA28_4==95||LA28_4==97||(LA28_4>=99 && LA28_4<=101)||(LA28_4>=103 && LA28_4<=115)||(LA28_4>=121 && LA28_4<=122)) ) { + alt28=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 28, 4, input); + + throw nvae; + } + } + break; + case 63: + { + int LA28_5 = input.LA(2); + + if ( (LA28_5==EOF||(LA28_5>=RULE_ID && LA28_5<=RULE_STRING)||(LA28_5>=15 && LA28_5<=19)||(LA28_5>=21 && LA28_5<=27)||(LA28_5>=36 && LA28_5<=37)||(LA28_5>=41 && LA28_5<=64)||LA28_5==69||(LA28_5>=72 && LA28_5<=75)||(LA28_5>=77 && LA28_5<=79)||(LA28_5>=82 && LA28_5<=83)||LA28_5==86||LA28_5==93||LA28_5==95||LA28_5==97||(LA28_5>=99 && LA28_5<=101)||(LA28_5>=103 && LA28_5<=115)||(LA28_5>=121 && LA28_5<=122)) ) { + alt28=2; + } + else if ( (LA28_5==14) ) { + alt28=1; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 28, 5, input); + + throw nvae; + } + } + break; + case RULE_HEX: + case RULE_INT: + case RULE_DECIMAL: + case RULE_STRING: + case 22: + case 23: + case 24: + case 27: + case 36: + case 37: + case 64: + case 72: + case 77: + case 79: + case 82: + case 97: + case 100: + case 103: + case 105: + case 106: + case 107: + case 108: + case 109: + case 110: + case 111: + case 112: + case 114: + { + alt28=2; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 28, 0, input); + + throw nvae; } - switch (alt43) { + + switch (alt28) { case 1 : - // InternalScope.g:4191:3: rule__NamedScopeExpression__Group_2__0 + // InternalScope.g:4177:2: ( ( rule__XAssignment__Group_0__0 ) ) + { + // InternalScope.g:4177:2: ( ( rule__XAssignment__Group_0__0 ) ) + // InternalScope.g:4178:3: ( rule__XAssignment__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getGroup_0()); + } + // InternalScope.g:4179:3: ( rule__XAssignment__Group_0__0 ) + // InternalScope.g:4179:4: rule__XAssignment__Group_0__0 { pushFollow(FOLLOW_2); - rule__NamedScopeExpression__Group_2__0(); + rule__XAssignment__Group_0__0(); state._fsp--; if (state.failed) return ; } - break; - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getNamedScopeExpressionAccess().getGroup_2()); - } - - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getGroup_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalScope.g:4183:2: ( ( rule__XAssignment__Group_1__0 ) ) + { + // InternalScope.g:4183:2: ( ( rule__XAssignment__Group_1__0 ) ) + // InternalScope.g:4184:3: ( rule__XAssignment__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getGroup_1()); + } + // InternalScope.g:4185:3: ( rule__XAssignment__Group_1__0 ) + // InternalScope.g:4185:4: rule__XAssignment__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1__0(); - } - return ; - } - // $ANTLR end "rule__NamedScopeExpression__Group__2__Impl" + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__NamedScopeExpression__Group_1__0" - // InternalScope.g:4200:1: rule__NamedScopeExpression__Group_1__0 : rule__NamedScopeExpression__Group_1__0__Impl rule__NamedScopeExpression__Group_1__1 ; - public final void rule__NamedScopeExpression__Group_1__0() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getGroup_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4204:1: ( rule__NamedScopeExpression__Group_1__0__Impl rule__NamedScopeExpression__Group_1__1 ) - // InternalScope.g:4205:2: rule__NamedScopeExpression__Group_1__0__Impl rule__NamedScopeExpression__Group_1__1 - { - pushFollow(FOLLOW_15); - rule__NamedScopeExpression__Group_1__0__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__NamedScopeExpression__Group_1__1(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -14715,129 +15157,218 @@ public final void rule__NamedScopeExpression__Group_1__0() throws RecognitionExc } return ; } - // $ANTLR end "rule__NamedScopeExpression__Group_1__0" + // $ANTLR end "rule__XAssignment__Alternatives" - // $ANTLR start "rule__NamedScopeExpression__Group_1__0__Impl" - // InternalScope.g:4212:1: rule__NamedScopeExpression__Group_1__0__Impl : ( ( rule__NamedScopeExpression__CaseDefAssignment_1_0 ) ) ; - public final void rule__NamedScopeExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__OpMultiAssign__Alternatives" + // InternalScope.g:4193:1: rule__OpMultiAssign__Alternatives : ( ( '+=' ) | ( '-=' ) | ( '*=' ) | ( '/=' ) | ( '%=' ) | ( ( rule__OpMultiAssign__Group_5__0 ) ) | ( ( rule__OpMultiAssign__Group_6__0 ) ) ); + public final void rule__OpMultiAssign__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4216:1: ( ( ( rule__NamedScopeExpression__CaseDefAssignment_1_0 ) ) ) - // InternalScope.g:4217:1: ( ( rule__NamedScopeExpression__CaseDefAssignment_1_0 ) ) - { - // InternalScope.g:4217:1: ( ( rule__NamedScopeExpression__CaseDefAssignment_1_0 ) ) - // InternalScope.g:4218:2: ( rule__NamedScopeExpression__CaseDefAssignment_1_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamedScopeExpressionAccess().getCaseDefAssignment_1_0()); + // InternalScope.g:4197:1: ( ( '+=' ) | ( '-=' ) | ( '*=' ) | ( '/=' ) | ( '%=' ) | ( ( rule__OpMultiAssign__Group_5__0 ) ) | ( ( rule__OpMultiAssign__Group_6__0 ) ) ) + int alt29=7; + switch ( input.LA(1) ) { + case 41: + { + alt29=1; + } + break; + case 42: + { + alt29=2; + } + break; + case 43: + { + alt29=3; + } + break; + case 44: + { + alt29=4; + } + break; + case 45: + { + alt29=5; + } + break; + case 22: + { + alt29=6; + } + break; + case 21: + { + alt29=7; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 29, 0, input); + + throw nvae; } - // InternalScope.g:4219:2: ( rule__NamedScopeExpression__CaseDefAssignment_1_0 ) - // InternalScope.g:4219:3: rule__NamedScopeExpression__CaseDefAssignment_1_0 - { - pushFollow(FOLLOW_2); - rule__NamedScopeExpression__CaseDefAssignment_1_0(); - state._fsp--; - if (state.failed) return ; + switch (alt29) { + case 1 : + // InternalScope.g:4198:2: ( '+=' ) + { + // InternalScope.g:4198:2: ( '+=' ) + // InternalScope.g:4199:3: '+=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); + } + match(input,41,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); + } - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getNamedScopeExpressionAccess().getCaseDefAssignment_1_0()); - } - } + } + break; + case 2 : + // InternalScope.g:4204:2: ( '-=' ) + { + // InternalScope.g:4204:2: ( '-=' ) + // InternalScope.g:4205:3: '-=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); + } + match(input,42,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); + } + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 3 : + // InternalScope.g:4210:2: ( '*=' ) + { + // InternalScope.g:4210:2: ( '*=' ) + // InternalScope.g:4211:3: '*=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); + } + match(input,43,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__NamedScopeExpression__Group_1__0__Impl" + } + break; + case 4 : + // InternalScope.g:4216:2: ( '/=' ) + { + // InternalScope.g:4216:2: ( '/=' ) + // InternalScope.g:4217:3: '/=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); + } + match(input,44,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); + } - // $ANTLR start "rule__NamedScopeExpression__Group_1__1" - // InternalScope.g:4227:1: rule__NamedScopeExpression__Group_1__1 : rule__NamedScopeExpression__Group_1__1__Impl ; - public final void rule__NamedScopeExpression__Group_1__1() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4231:1: ( rule__NamedScopeExpression__Group_1__1__Impl ) - // InternalScope.g:4232:2: rule__NamedScopeExpression__Group_1__1__Impl - { - pushFollow(FOLLOW_2); - rule__NamedScopeExpression__Group_1__1__Impl(); - state._fsp--; - if (state.failed) return ; + } + break; + case 5 : + // InternalScope.g:4222:2: ( '%=' ) + { + // InternalScope.g:4222:2: ( '%=' ) + // InternalScope.g:4223:3: '%=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); + } + match(input,45,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 6 : + // InternalScope.g:4228:2: ( ( rule__OpMultiAssign__Group_5__0 ) ) + { + // InternalScope.g:4228:2: ( ( rule__OpMultiAssign__Group_5__0 ) ) + // InternalScope.g:4229:3: ( rule__OpMultiAssign__Group_5__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getGroup_5()); + } + // InternalScope.g:4230:3: ( rule__OpMultiAssign__Group_5__0 ) + // InternalScope.g:4230:4: rule__OpMultiAssign__Group_5__0 + { + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_5__0(); - } - return ; - } - // $ANTLR end "rule__NamedScopeExpression__Group_1__1" + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__NamedScopeExpression__Group_1__1__Impl" - // InternalScope.g:4238:1: rule__NamedScopeExpression__Group_1__1__Impl : ( ( rule__NamedScopeExpression__CasingAssignment_1_1 ) ) ; - public final void rule__NamedScopeExpression__Group_1__1__Impl() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getGroup_5()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4242:1: ( ( ( rule__NamedScopeExpression__CasingAssignment_1_1 ) ) ) - // InternalScope.g:4243:1: ( ( rule__NamedScopeExpression__CasingAssignment_1_1 ) ) - { - // InternalScope.g:4243:1: ( ( rule__NamedScopeExpression__CasingAssignment_1_1 ) ) - // InternalScope.g:4244:2: ( rule__NamedScopeExpression__CasingAssignment_1_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamedScopeExpressionAccess().getCasingAssignment_1_1()); - } - // InternalScope.g:4245:2: ( rule__NamedScopeExpression__CasingAssignment_1_1 ) - // InternalScope.g:4245:3: rule__NamedScopeExpression__CasingAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__NamedScopeExpression__CasingAssignment_1_1(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + case 7 : + // InternalScope.g:4234:2: ( ( rule__OpMultiAssign__Group_6__0 ) ) + { + // InternalScope.g:4234:2: ( ( rule__OpMultiAssign__Group_6__0 ) ) + // InternalScope.g:4235:3: ( rule__OpMultiAssign__Group_6__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getGroup_6()); + } + // InternalScope.g:4236:3: ( rule__OpMultiAssign__Group_6__0 ) + // InternalScope.g:4236:4: rule__OpMultiAssign__Group_6__0 + { + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_6__0(); - if ( state.backtracking==0 ) { - after(grammarAccess.getNamedScopeExpressionAccess().getCasingAssignment_1_1()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getGroup_6()); + } - } + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -14850,73 +15381,126 @@ public final void rule__NamedScopeExpression__Group_1__1__Impl() throws Recognit } return ; } - // $ANTLR end "rule__NamedScopeExpression__Group_1__1__Impl" + // $ANTLR end "rule__OpMultiAssign__Alternatives" - // $ANTLR start "rule__NamedScopeExpression__Group_2__0" - // InternalScope.g:4254:1: rule__NamedScopeExpression__Group_2__0 : rule__NamedScopeExpression__Group_2__0__Impl rule__NamedScopeExpression__Group_2__1 ; - public final void rule__NamedScopeExpression__Group_2__0() throws RecognitionException { + // $ANTLR start "rule__OpEquality__Alternatives" + // InternalScope.g:4244:1: rule__OpEquality__Alternatives : ( ( '==' ) | ( '!=' ) | ( '===' ) | ( '!==' ) ); + public final void rule__OpEquality__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4258:1: ( rule__NamedScopeExpression__Group_2__0__Impl rule__NamedScopeExpression__Group_2__1 ) - // InternalScope.g:4259:2: rule__NamedScopeExpression__Group_2__0__Impl rule__NamedScopeExpression__Group_2__1 - { - pushFollow(FOLLOW_17); - rule__NamedScopeExpression__Group_2__0__Impl(); + // InternalScope.g:4248:1: ( ( '==' ) | ( '!=' ) | ( '===' ) | ( '!==' ) ) + int alt30=4; + switch ( input.LA(1) ) { + case 17: + { + alt30=1; + } + break; + case 18: + { + alt30=2; + } + break; + case 46: + { + alt30=3; + } + break; + case 47: + { + alt30=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 30, 0, input); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__NamedScopeExpression__Group_2__1(); + throw nvae; + } - state._fsp--; - if (state.failed) return ; + switch (alt30) { + case 1 : + // InternalScope.g:4249:2: ( '==' ) + { + // InternalScope.g:4249:2: ( '==' ) + // InternalScope.g:4250:3: '==' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); + } + match(input,17,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalScope.g:4255:2: ( '!=' ) + { + // InternalScope.g:4255:2: ( '!=' ) + // InternalScope.g:4256:3: '!=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); + } + match(input,18,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); + } - } - return ; - } - // $ANTLR end "rule__NamedScopeExpression__Group_2__0" + } - // $ANTLR start "rule__NamedScopeExpression__Group_2__0__Impl" - // InternalScope.g:4266:1: rule__NamedScopeExpression__Group_2__0__Impl : ( 'as' ) ; - public final void rule__NamedScopeExpression__Group_2__0__Impl() throws RecognitionException { + } + break; + case 3 : + // InternalScope.g:4261:2: ( '===' ) + { + // InternalScope.g:4261:2: ( '===' ) + // InternalScope.g:4262:3: '===' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); + } + match(input,46,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4270:1: ( ( 'as' ) ) - // InternalScope.g:4271:1: ( 'as' ) - { - // InternalScope.g:4271:1: ( 'as' ) - // InternalScope.g:4272:2: 'as' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamedScopeExpressionAccess().getAsKeyword_2_0()); - } - match(input,41,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getNamedScopeExpressionAccess().getAsKeyword_2_0()); - } + } - } + + } + break; + case 4 : + // InternalScope.g:4267:2: ( '!==' ) + { + // InternalScope.g:4267:2: ( '!==' ) + // InternalScope.g:4268:3: '!==' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); + } + match(input,47,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); + } + + } - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -14929,78 +15513,94 @@ public final void rule__NamedScopeExpression__Group_2__0__Impl() throws Recognit } return ; } - // $ANTLR end "rule__NamedScopeExpression__Group_2__0__Impl" + // $ANTLR end "rule__OpEquality__Alternatives" - // $ANTLR start "rule__NamedScopeExpression__Group_2__1" - // InternalScope.g:4281:1: rule__NamedScopeExpression__Group_2__1 : rule__NamedScopeExpression__Group_2__1__Impl ; - public final void rule__NamedScopeExpression__Group_2__1() throws RecognitionException { + // $ANTLR start "rule__XRelationalExpression__Alternatives_1" + // InternalScope.g:4277:1: rule__XRelationalExpression__Alternatives_1 : ( ( ( rule__XRelationalExpression__Group_1_0__0 ) ) | ( ( rule__XRelationalExpression__Group_1_1__0 ) ) ); + public final void rule__XRelationalExpression__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4285:1: ( rule__NamedScopeExpression__Group_2__1__Impl ) - // InternalScope.g:4286:2: rule__NamedScopeExpression__Group_2__1__Impl - { - pushFollow(FOLLOW_2); - rule__NamedScopeExpression__Group_2__1__Impl(); + // InternalScope.g:4281:1: ( ( ( rule__XRelationalExpression__Group_1_0__0 ) ) | ( ( rule__XRelationalExpression__Group_1_1__0 ) ) ) + int alt31=2; + int LA31_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA31_0==104) ) { + alt31=1; + } + else if ( (LA31_0==19||(LA31_0>=21 && LA31_0<=22)) ) { + alt31=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 31, 0, input); + throw nvae; } + switch (alt31) { + case 1 : + // InternalScope.g:4282:2: ( ( rule__XRelationalExpression__Group_1_0__0 ) ) + { + // InternalScope.g:4282:2: ( ( rule__XRelationalExpression__Group_1_0__0 ) ) + // InternalScope.g:4283:3: ( rule__XRelationalExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); + } + // InternalScope.g:4284:3: ( rule__XRelationalExpression__Group_1_0__0 ) + // InternalScope.g:4284:4: rule__XRelationalExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0__0(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__NamedScopeExpression__Group_2__1" + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); + } + } - // $ANTLR start "rule__NamedScopeExpression__Group_2__1__Impl" - // InternalScope.g:4292:1: rule__NamedScopeExpression__Group_2__1__Impl : ( ( rule__NamedScopeExpression__NamingAssignment_2_1 ) ) ; - public final void rule__NamedScopeExpression__Group_2__1__Impl() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4296:1: ( ( ( rule__NamedScopeExpression__NamingAssignment_2_1 ) ) ) - // InternalScope.g:4297:1: ( ( rule__NamedScopeExpression__NamingAssignment_2_1 ) ) - { - // InternalScope.g:4297:1: ( ( rule__NamedScopeExpression__NamingAssignment_2_1 ) ) - // InternalScope.g:4298:2: ( rule__NamedScopeExpression__NamingAssignment_2_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamedScopeExpressionAccess().getNamingAssignment_2_1()); - } - // InternalScope.g:4299:2: ( rule__NamedScopeExpression__NamingAssignment_2_1 ) - // InternalScope.g:4299:3: rule__NamedScopeExpression__NamingAssignment_2_1 - { - pushFollow(FOLLOW_2); - rule__NamedScopeExpression__NamingAssignment_2_1(); + } + break; + case 2 : + // InternalScope.g:4288:2: ( ( rule__XRelationalExpression__Group_1_1__0 ) ) + { + // InternalScope.g:4288:2: ( ( rule__XRelationalExpression__Group_1_1__0 ) ) + // InternalScope.g:4289:3: ( rule__XRelationalExpression__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); + } + // InternalScope.g:4290:3: ( rule__XRelationalExpression__Group_1_1__0 ) + // InternalScope.g:4290:4: rule__XRelationalExpression__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1__0(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getNamedScopeExpressionAccess().getNamingAssignment_2_1()); - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); + } - } + } - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -15013,111 +15613,145 @@ public final void rule__NamedScopeExpression__Group_2__1__Impl() throws Recognit } return ; } - // $ANTLR end "rule__NamedScopeExpression__Group_2__1__Impl" + // $ANTLR end "rule__XRelationalExpression__Alternatives_1" - // $ANTLR start "rule__GlobalScopeExpression__Group__0" - // InternalScope.g:4308:1: rule__GlobalScopeExpression__Group__0 : rule__GlobalScopeExpression__Group__0__Impl rule__GlobalScopeExpression__Group__1 ; - public final void rule__GlobalScopeExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__OpCompare__Alternatives" + // InternalScope.g:4298:1: rule__OpCompare__Alternatives : ( ( '>=' ) | ( ( rule__OpCompare__Group_1__0 ) ) | ( '>' ) | ( '<' ) ); + public final void rule__OpCompare__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4312:1: ( rule__GlobalScopeExpression__Group__0__Impl rule__GlobalScopeExpression__Group__1 ) - // InternalScope.g:4313:2: rule__GlobalScopeExpression__Group__0__Impl rule__GlobalScopeExpression__Group__1 - { - pushFollow(FOLLOW_31); - rule__GlobalScopeExpression__Group__0__Impl(); + // InternalScope.g:4302:1: ( ( '>=' ) | ( ( rule__OpCompare__Group_1__0 ) ) | ( '>' ) | ( '<' ) ) + int alt32=4; + switch ( input.LA(1) ) { + case 19: + { + alt32=1; + } + break; + case 22: + { + int LA32_2 = input.LA(2); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group__1(); + if ( (LA32_2==EOF||(LA32_2>=RULE_ID && LA32_2<=RULE_STRING)||(LA32_2>=22 && LA32_2<=24)||LA32_2==27||(LA32_2>=36 && LA32_2<=37)||(LA32_2>=60 && LA32_2<=64)||LA32_2==72||LA32_2==77||LA32_2==79||LA32_2==82||LA32_2==97||LA32_2==100||LA32_2==103||(LA32_2>=105 && LA32_2<=112)||LA32_2==114) ) { + alt32=4; + } + else if ( (LA32_2==14) ) { + alt32=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 32, 2, input); - state._fsp--; - if (state.failed) return ; + throw nvae; + } + } + break; + case 21: + { + alt32=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 32, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); + switch (alt32) { + case 1 : + // InternalScope.g:4303:2: ( '>=' ) + { + // InternalScope.g:4303:2: ( '>=' ) + // InternalScope.g:4304:3: '>=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); + } + match(input,19,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); + } - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group__0" + } - // $ANTLR start "rule__GlobalScopeExpression__Group__0__Impl" - // InternalScope.g:4320:1: rule__GlobalScopeExpression__Group__0__Impl : ( 'find' ) ; - public final void rule__GlobalScopeExpression__Group__0__Impl() throws RecognitionException { + } + break; + case 2 : + // InternalScope.g:4309:2: ( ( rule__OpCompare__Group_1__0 ) ) + { + // InternalScope.g:4309:2: ( ( rule__OpCompare__Group_1__0 ) ) + // InternalScope.g:4310:3: ( rule__OpCompare__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getGroup_1()); + } + // InternalScope.g:4311:3: ( rule__OpCompare__Group_1__0 ) + // InternalScope.g:4311:4: rule__OpCompare__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__OpCompare__Group_1__0(); - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4324:1: ( ( 'find' ) ) - // InternalScope.g:4325:1: ( 'find' ) - { - // InternalScope.g:4325:1: ( 'find' ) - // InternalScope.g:4326:2: 'find' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getFindKeyword_0()); - } - match(input,61,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getFindKeyword_0()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getGroup_1()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 3 : + // InternalScope.g:4315:2: ( '>' ) + { + // InternalScope.g:4315:2: ( '>' ) + // InternalScope.g:4316:3: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); + } - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group__0__Impl" + } - // $ANTLR start "rule__GlobalScopeExpression__Group__1" - // InternalScope.g:4335:1: rule__GlobalScopeExpression__Group__1 : rule__GlobalScopeExpression__Group__1__Impl rule__GlobalScopeExpression__Group__2 ; - public final void rule__GlobalScopeExpression__Group__1() throws RecognitionException { + } + break; + case 4 : + // InternalScope.g:4321:2: ( '<' ) + { + // InternalScope.g:4321:2: ( '<' ) + // InternalScope.g:4322:3: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4339:1: ( rule__GlobalScopeExpression__Group__1__Impl rule__GlobalScopeExpression__Group__2 ) - // InternalScope.g:4340:2: rule__GlobalScopeExpression__Group__1__Impl rule__GlobalScopeExpression__Group__2 - { - pushFollow(FOLLOW_3); - rule__GlobalScopeExpression__Group__1__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group__2(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -15130,162 +15764,223 @@ public final void rule__GlobalScopeExpression__Group__1() throws RecognitionExce } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group__1" + // $ANTLR end "rule__OpCompare__Alternatives" - // $ANTLR start "rule__GlobalScopeExpression__Group__1__Impl" - // InternalScope.g:4347:1: rule__GlobalScopeExpression__Group__1__Impl : ( '(' ) ; - public final void rule__GlobalScopeExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__OpOther__Alternatives" + // InternalScope.g:4331:1: rule__OpOther__Alternatives : ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) ); + public final void rule__OpOther__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4351:1: ( ( '(' ) ) - // InternalScope.g:4352:1: ( '(' ) - { - // InternalScope.g:4352:1: ( '(' ) - // InternalScope.g:4353:2: '(' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_1()); - } - match(input,51,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_1()); - } + // InternalScope.g:4335:1: ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) ) + int alt33=9; + alt33 = dfa33.predict(input); + switch (alt33) { + case 1 : + // InternalScope.g:4336:2: ( '->' ) + { + // InternalScope.g:4336:2: ( '->' ) + // InternalScope.g:4337:3: '->' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); + } + match(input,48,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); + } - } + } - } + } + break; + case 2 : + // InternalScope.g:4342:2: ( '..<' ) + { + // InternalScope.g:4342:2: ( '..<' ) + // InternalScope.g:4343:3: '..<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); + } + match(input,49,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group__1__Impl" + } + break; + case 3 : + // InternalScope.g:4348:2: ( ( rule__OpOther__Group_2__0 ) ) + { + // InternalScope.g:4348:2: ( ( rule__OpOther__Group_2__0 ) ) + // InternalScope.g:4349:3: ( rule__OpOther__Group_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_2()); + } + // InternalScope.g:4350:3: ( rule__OpOther__Group_2__0 ) + // InternalScope.g:4350:4: rule__OpOther__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_2__0(); + state._fsp--; + if (state.failed) return ; - // $ANTLR start "rule__GlobalScopeExpression__Group__2" - // InternalScope.g:4362:1: rule__GlobalScopeExpression__Group__2 : rule__GlobalScopeExpression__Group__2__Impl rule__GlobalScopeExpression__Group__3 ; - public final void rule__GlobalScopeExpression__Group__2() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4366:1: ( rule__GlobalScopeExpression__Group__2__Impl rule__GlobalScopeExpression__Group__3 ) - // InternalScope.g:4367:2: rule__GlobalScopeExpression__Group__2__Impl rule__GlobalScopeExpression__Group__3 - { - pushFollow(FOLLOW_33); - rule__GlobalScopeExpression__Group__2__Impl(); + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_2()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group__3(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + case 4 : + // InternalScope.g:4354:2: ( '..' ) + { + // InternalScope.g:4354:2: ( '..' ) + // InternalScope.g:4355:3: '..' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); + } + match(input,50,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group__2" + } + break; + case 5 : + // InternalScope.g:4360:2: ( '=>' ) + { + // InternalScope.g:4360:2: ( '=>' ) + // InternalScope.g:4361:3: '=>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); + } + match(input,51,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); + } + } - // $ANTLR start "rule__GlobalScopeExpression__Group__2__Impl" - // InternalScope.g:4374:1: rule__GlobalScopeExpression__Group__2__Impl : ( ( rule__GlobalScopeExpression__TypeAssignment_2 ) ) ; - public final void rule__GlobalScopeExpression__Group__2__Impl() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4378:1: ( ( ( rule__GlobalScopeExpression__TypeAssignment_2 ) ) ) - // InternalScope.g:4379:1: ( ( rule__GlobalScopeExpression__TypeAssignment_2 ) ) - { - // InternalScope.g:4379:1: ( ( rule__GlobalScopeExpression__TypeAssignment_2 ) ) - // InternalScope.g:4380:2: ( rule__GlobalScopeExpression__TypeAssignment_2 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getTypeAssignment_2()); - } - // InternalScope.g:4381:2: ( rule__GlobalScopeExpression__TypeAssignment_2 ) - // InternalScope.g:4381:3: rule__GlobalScopeExpression__TypeAssignment_2 - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__TypeAssignment_2(); + } + break; + case 6 : + // InternalScope.g:4366:2: ( ( rule__OpOther__Group_5__0 ) ) + { + // InternalScope.g:4366:2: ( ( rule__OpOther__Group_5__0 ) ) + // InternalScope.g:4367:3: ( rule__OpOther__Group_5__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_5()); + } + // InternalScope.g:4368:3: ( rule__OpOther__Group_5__0 ) + // InternalScope.g:4368:4: rule__OpOther__Group_5__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_5__0(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getTypeAssignment_2()); - } + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_5()); + } - } + } - } + } + break; + case 7 : + // InternalScope.g:4372:2: ( ( rule__OpOther__Group_6__0 ) ) + { + // InternalScope.g:4372:2: ( ( rule__OpOther__Group_6__0 ) ) + // InternalScope.g:4373:3: ( rule__OpOther__Group_6__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_6()); + } + // InternalScope.g:4374:3: ( rule__OpOther__Group_6__0 ) + // InternalScope.g:4374:4: rule__OpOther__Group_6__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6__0(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group__2__Impl" + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_6()); + } + } - // $ANTLR start "rule__GlobalScopeExpression__Group__3" - // InternalScope.g:4389:1: rule__GlobalScopeExpression__Group__3 : rule__GlobalScopeExpression__Group__3__Impl rule__GlobalScopeExpression__Group__4 ; - public final void rule__GlobalScopeExpression__Group__3() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4393:1: ( rule__GlobalScopeExpression__Group__3__Impl rule__GlobalScopeExpression__Group__4 ) - // InternalScope.g:4394:2: rule__GlobalScopeExpression__Group__3__Impl rule__GlobalScopeExpression__Group__4 - { - pushFollow(FOLLOW_33); - rule__GlobalScopeExpression__Group__3__Impl(); + } + break; + case 8 : + // InternalScope.g:4378:2: ( '<>' ) + { + // InternalScope.g:4378:2: ( '<>' ) + // InternalScope.g:4379:3: '<>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); + } + match(input,52,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group__4(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + case 9 : + // InternalScope.g:4384:2: ( '?:' ) + { + // InternalScope.g:4384:2: ( '?:' ) + // InternalScope.g:4385:3: '?:' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); + } + match(input,53,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); + } + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -15298,98 +15993,95 @@ public final void rule__GlobalScopeExpression__Group__3() throws RecognitionExce } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group__3" + // $ANTLR end "rule__OpOther__Alternatives" - // $ANTLR start "rule__GlobalScopeExpression__Group__3__Impl" - // InternalScope.g:4401:1: rule__GlobalScopeExpression__Group__3__Impl : ( ( rule__GlobalScopeExpression__Alternatives_3 )? ) ; - public final void rule__GlobalScopeExpression__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__OpOther__Alternatives_5_1" + // InternalScope.g:4394:1: rule__OpOther__Alternatives_5_1 : ( ( ( rule__OpOther__Group_5_1_0__0 ) ) | ( '>' ) ); + public final void rule__OpOther__Alternatives_5_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4405:1: ( ( ( rule__GlobalScopeExpression__Alternatives_3 )? ) ) - // InternalScope.g:4406:1: ( ( rule__GlobalScopeExpression__Alternatives_3 )? ) - { - // InternalScope.g:4406:1: ( ( rule__GlobalScopeExpression__Alternatives_3 )? ) - // InternalScope.g:4407:2: ( rule__GlobalScopeExpression__Alternatives_3 )? - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getAlternatives_3()); - } - // InternalScope.g:4408:2: ( rule__GlobalScopeExpression__Alternatives_3 )? - int alt44=2; - int LA44_0 = input.LA(1); + // InternalScope.g:4398:1: ( ( ( rule__OpOther__Group_5_1_0__0 ) ) | ( '>' ) ) + int alt34=2; + int LA34_0 = input.LA(1); - if ( (LA44_0==60) ) { - int LA44_1 = input.LA(2); + if ( (LA34_0==21) ) { + int LA34_1 = input.LA(2); + + if ( (LA34_1==EOF||(LA34_1>=RULE_ID && LA34_1<=RULE_STRING)||(LA34_1>=22 && LA34_1<=24)||LA34_1==27||(LA34_1>=36 && LA34_1<=37)||(LA34_1>=60 && LA34_1<=64)||LA34_1==72||LA34_1==77||LA34_1==79||LA34_1==82||LA34_1==97||LA34_1==100||LA34_1==103||(LA34_1>=105 && LA34_1<=112)||LA34_1==114) ) { + alt34=2; + } + else if ( (LA34_1==21) ) { + alt34=1; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 34, 1, input); - if ( ((LA44_1>=62 && LA44_1<=63)||LA44_1==80) ) { - alt44=1; + throw nvae; } } - switch (alt44) { + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 34, 0, input); + + throw nvae; + } + switch (alt34) { case 1 : - // InternalScope.g:4408:3: rule__GlobalScopeExpression__Alternatives_3 + // InternalScope.g:4399:2: ( ( rule__OpOther__Group_5_1_0__0 ) ) + { + // InternalScope.g:4399:2: ( ( rule__OpOther__Group_5_1_0__0 ) ) + // InternalScope.g:4400:3: ( rule__OpOther__Group_5_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); + } + // InternalScope.g:4401:3: ( rule__OpOther__Group_5_1_0__0 ) + // InternalScope.g:4401:4: rule__OpOther__Group_5_1_0__0 { pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Alternatives_3(); + rule__OpOther__Group_5_1_0__0(); state._fsp--; if (state.failed) return ; } - break; - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getAlternatives_3()); - } - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); + } - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group__3__Impl" + } - // $ANTLR start "rule__GlobalScopeExpression__Group__4" - // InternalScope.g:4416:1: rule__GlobalScopeExpression__Group__4 : rule__GlobalScopeExpression__Group__4__Impl rule__GlobalScopeExpression__Group__5 ; - public final void rule__GlobalScopeExpression__Group__4() throws RecognitionException { + } + break; + case 2 : + // InternalScope.g:4405:2: ( '>' ) + { + // InternalScope.g:4405:2: ( '>' ) + // InternalScope.g:4406:3: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4420:1: ( rule__GlobalScopeExpression__Group__4__Impl rule__GlobalScopeExpression__Group__5 ) - // InternalScope.g:4421:2: rule__GlobalScopeExpression__Group__4__Impl rule__GlobalScopeExpression__Group__5 - { - pushFollow(FOLLOW_33); - rule__GlobalScopeExpression__Group__4__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group__5(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -15402,60 +16094,117 @@ public final void rule__GlobalScopeExpression__Group__4() throws RecognitionExce } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group__4" + // $ANTLR end "rule__OpOther__Alternatives_5_1" - // $ANTLR start "rule__GlobalScopeExpression__Group__4__Impl" - // InternalScope.g:4428:1: rule__GlobalScopeExpression__Group__4__Impl : ( ( rule__GlobalScopeExpression__Group_4__0 )? ) ; - public final void rule__GlobalScopeExpression__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__OpOther__Alternatives_6_1" + // InternalScope.g:4415:1: rule__OpOther__Alternatives_6_1 : ( ( ( rule__OpOther__Group_6_1_0__0 ) ) | ( '<' ) | ( '=>' ) ); + public final void rule__OpOther__Alternatives_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4432:1: ( ( ( rule__GlobalScopeExpression__Group_4__0 )? ) ) - // InternalScope.g:4433:1: ( ( rule__GlobalScopeExpression__Group_4__0 )? ) - { - // InternalScope.g:4433:1: ( ( rule__GlobalScopeExpression__Group_4__0 )? ) - // InternalScope.g:4434:2: ( rule__GlobalScopeExpression__Group_4__0 )? - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_4()); - } - // InternalScope.g:4435:2: ( rule__GlobalScopeExpression__Group_4__0 )? - int alt45=2; - int LA45_0 = input.LA(1); + // InternalScope.g:4419:1: ( ( ( rule__OpOther__Group_6_1_0__0 ) ) | ( '<' ) | ( '=>' ) ) + int alt35=3; + int LA35_0 = input.LA(1); - if ( (LA45_0==60) ) { - int LA45_1 = input.LA(2); + if ( (LA35_0==22) ) { + int LA35_1 = input.LA(2); - if ( (LA45_1==64) ) { - alt45=1; + if ( (synpred83_InternalScope()) ) { + alt35=1; } - } - switch (alt45) { + else if ( (synpred84_InternalScope()) ) { + alt35=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 35, 1, input); + + throw nvae; + } + } + else if ( (LA35_0==51) ) { + alt35=3; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 35, 0, input); + + throw nvae; + } + switch (alt35) { case 1 : - // InternalScope.g:4435:3: rule__GlobalScopeExpression__Group_4__0 + // InternalScope.g:4420:2: ( ( rule__OpOther__Group_6_1_0__0 ) ) + { + // InternalScope.g:4420:2: ( ( rule__OpOther__Group_6_1_0__0 ) ) + // InternalScope.g:4421:3: ( rule__OpOther__Group_6_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); + } + // InternalScope.g:4422:3: ( rule__OpOther__Group_6_1_0__0 ) + // InternalScope.g:4422:4: rule__OpOther__Group_6_1_0__0 { pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_4__0(); + rule__OpOther__Group_6_1_0__0(); state._fsp--; if (state.failed) return ; + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); + } + + } + + } break; + case 2 : + // InternalScope.g:4426:2: ( '<' ) + { + // InternalScope.g:4426:2: ( '<' ) + // InternalScope.g:4427:3: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); + } - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_4()); - } - } + } + break; + case 3 : + // InternalScope.g:4432:2: ( '=>' ) + { + // InternalScope.g:4432:2: ( '=>' ) + // InternalScope.g:4433:3: '=>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); + } + match(input,51,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); + } + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -15468,32 +16217,74 @@ public final void rule__GlobalScopeExpression__Group__4__Impl() throws Recogniti } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group__4__Impl" + // $ANTLR end "rule__OpOther__Alternatives_6_1" - // $ANTLR start "rule__GlobalScopeExpression__Group__5" - // InternalScope.g:4443:1: rule__GlobalScopeExpression__Group__5 : rule__GlobalScopeExpression__Group__5__Impl rule__GlobalScopeExpression__Group__6 ; - public final void rule__GlobalScopeExpression__Group__5() throws RecognitionException { + // $ANTLR start "rule__OpAdd__Alternatives" + // InternalScope.g:4442:1: rule__OpAdd__Alternatives : ( ( '+' ) | ( '-' ) ); + public final void rule__OpAdd__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4447:1: ( rule__GlobalScopeExpression__Group__5__Impl rule__GlobalScopeExpression__Group__6 ) - // InternalScope.g:4448:2: rule__GlobalScopeExpression__Group__5__Impl rule__GlobalScopeExpression__Group__6 - { - pushFollow(FOLLOW_33); - rule__GlobalScopeExpression__Group__5__Impl(); + // InternalScope.g:4446:1: ( ( '+' ) | ( '-' ) ) + int alt36=2; + int LA36_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group__6(); - - state._fsp--; - if (state.failed) return ; + if ( (LA36_0==23) ) { + alt36=1; + } + else if ( (LA36_0==24) ) { + alt36=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 36, 0, input); + throw nvae; } + switch (alt36) { + case 1 : + // InternalScope.g:4447:2: ( '+' ) + { + // InternalScope.g:4447:2: ( '+' ) + // InternalScope.g:4448:3: '+' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); + } + match(input,23,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:4453:2: ( '-' ) + { + // InternalScope.g:4453:2: ( '-' ) + // InternalScope.g:4454:3: '-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); + } + match(input,24,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -15506,56 +16297,126 @@ public final void rule__GlobalScopeExpression__Group__5() throws RecognitionExce } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group__5" + // $ANTLR end "rule__OpAdd__Alternatives" - // $ANTLR start "rule__GlobalScopeExpression__Group__5__Impl" - // InternalScope.g:4455:1: rule__GlobalScopeExpression__Group__5__Impl : ( ( rule__GlobalScopeExpression__Group_5__0 )? ) ; - public final void rule__GlobalScopeExpression__Group__5__Impl() throws RecognitionException { + // $ANTLR start "rule__OpMulti__Alternatives" + // InternalScope.g:4463:1: rule__OpMulti__Alternatives : ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) ); + public final void rule__OpMulti__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4459:1: ( ( ( rule__GlobalScopeExpression__Group_5__0 )? ) ) - // InternalScope.g:4460:1: ( ( rule__GlobalScopeExpression__Group_5__0 )? ) - { - // InternalScope.g:4460:1: ( ( rule__GlobalScopeExpression__Group_5__0 )? ) - // InternalScope.g:4461:2: ( rule__GlobalScopeExpression__Group_5__0 )? - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5()); - } - // InternalScope.g:4462:2: ( rule__GlobalScopeExpression__Group_5__0 )? - int alt46=2; - int LA46_0 = input.LA(1); + // InternalScope.g:4467:1: ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) ) + int alt37=4; + switch ( input.LA(1) ) { + case 25: + { + alt37=1; + } + break; + case 54: + { + alt37=2; + } + break; + case 26: + { + alt37=3; + } + break; + case 55: + { + alt37=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 37, 0, input); - if ( (LA46_0==60) ) { - alt46=1; + throw nvae; } - switch (alt46) { + + switch (alt37) { case 1 : - // InternalScope.g:4462:3: rule__GlobalScopeExpression__Group_5__0 + // InternalScope.g:4468:2: ( '*' ) { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_5__0(); + // InternalScope.g:4468:2: ( '*' ) + // InternalScope.g:4469:3: '*' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); + } + match(input,25,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); + } + + } - state._fsp--; - if (state.failed) return ; } break; + case 2 : + // InternalScope.g:4474:2: ( '**' ) + { + // InternalScope.g:4474:2: ( '**' ) + // InternalScope.g:4475:3: '**' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); + } + match(input,54,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); + } - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5()); - } - } + } + break; + case 3 : + // InternalScope.g:4480:2: ( '/' ) + { + // InternalScope.g:4480:2: ( '/' ) + // InternalScope.g:4481:3: '/' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); + } + match(input,26,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); + } + + } - } + } + break; + case 4 : + // InternalScope.g:4486:2: ( '%' ) + { + // InternalScope.g:4486:2: ( '%' ) + // InternalScope.g:4487:3: '%' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); + } + match(input,55,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -15568,27 +16429,88 @@ public final void rule__GlobalScopeExpression__Group__5__Impl() throws Recogniti } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group__5__Impl" + // $ANTLR end "rule__OpMulti__Alternatives" - // $ANTLR start "rule__GlobalScopeExpression__Group__6" - // InternalScope.g:4470:1: rule__GlobalScopeExpression__Group__6 : rule__GlobalScopeExpression__Group__6__Impl ; - public final void rule__GlobalScopeExpression__Group__6() throws RecognitionException { + // $ANTLR start "rule__XUnaryOperation__Alternatives" + // InternalScope.g:4496:1: rule__XUnaryOperation__Alternatives : ( ( ( rule__XUnaryOperation__Group_0__0 ) ) | ( ruleXCastedExpression ) ); + public final void rule__XUnaryOperation__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4474:1: ( rule__GlobalScopeExpression__Group__6__Impl ) - // InternalScope.g:4475:2: rule__GlobalScopeExpression__Group__6__Impl - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group__6__Impl(); + // InternalScope.g:4500:1: ( ( ( rule__XUnaryOperation__Group_0__0 ) ) | ( ruleXCastedExpression ) ) + int alt38=2; + int LA38_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( ((LA38_0>=23 && LA38_0<=24)||LA38_0==27) ) { + alt38=1; + } + else if ( ((LA38_0>=RULE_ID && LA38_0<=RULE_STRING)||LA38_0==22||(LA38_0>=36 && LA38_0<=37)||(LA38_0>=60 && LA38_0<=64)||LA38_0==72||LA38_0==77||LA38_0==79||LA38_0==82||LA38_0==97||LA38_0==100||LA38_0==103||(LA38_0>=105 && LA38_0<=112)||LA38_0==114) ) { + alt38=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 38, 0, input); + throw nvae; } + switch (alt38) { + case 1 : + // InternalScope.g:4501:2: ( ( rule__XUnaryOperation__Group_0__0 ) ) + { + // InternalScope.g:4501:2: ( ( rule__XUnaryOperation__Group_0__0 ) ) + // InternalScope.g:4502:3: ( rule__XUnaryOperation__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getGroup_0()); + } + // InternalScope.g:4503:3: ( rule__XUnaryOperation__Group_0__0 ) + // InternalScope.g:4503:4: rule__XUnaryOperation__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XUnaryOperation__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getGroup_0()); + } + + } + + } + break; + case 2 : + // InternalScope.g:4507:2: ( ruleXCastedExpression ) + { + // InternalScope.g:4507:2: ( ruleXCastedExpression ) + // InternalScope.g:4508:3: ruleXCastedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXCastedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -15601,73 +16523,102 @@ public final void rule__GlobalScopeExpression__Group__6() throws RecognitionExce } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group__6" + // $ANTLR end "rule__XUnaryOperation__Alternatives" - // $ANTLR start "rule__GlobalScopeExpression__Group__6__Impl" - // InternalScope.g:4481:1: rule__GlobalScopeExpression__Group__6__Impl : ( ')' ) ; - public final void rule__GlobalScopeExpression__Group__6__Impl() throws RecognitionException { + // $ANTLR start "rule__OpUnary__Alternatives" + // InternalScope.g:4517:1: rule__OpUnary__Alternatives : ( ( '!' ) | ( '-' ) | ( '+' ) ); + public final void rule__OpUnary__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4485:1: ( ( ')' ) ) - // InternalScope.g:4486:1: ( ')' ) - { - // InternalScope.g:4486:1: ( ')' ) - // InternalScope.g:4487:2: ')' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_6()); - } - match(input,52,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_6()); - } + // InternalScope.g:4521:1: ( ( '!' ) | ( '-' ) | ( '+' ) ) + int alt39=3; + switch ( input.LA(1) ) { + case 27: + { + alt39=1; + } + break; + case 24: + { + alt39=2; + } + break; + case 23: + { + alt39=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 39, 0, input); + throw nvae; } + switch (alt39) { + case 1 : + // InternalScope.g:4522:2: ( '!' ) + { + // InternalScope.g:4522:2: ( '!' ) + // InternalScope.g:4523:3: '!' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); + } + match(input,27,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalScope.g:4528:2: ( '-' ) + { + // InternalScope.g:4528:2: ( '-' ) + // InternalScope.g:4529:3: '-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); + } + match(input,24,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); + } - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group__6__Impl" + } - // $ANTLR start "rule__GlobalScopeExpression__Group_3_0__0" - // InternalScope.g:4497:1: rule__GlobalScopeExpression__Group_3_0__0 : rule__GlobalScopeExpression__Group_3_0__0__Impl rule__GlobalScopeExpression__Group_3_0__1 ; - public final void rule__GlobalScopeExpression__Group_3_0__0() throws RecognitionException { + } + break; + case 3 : + // InternalScope.g:4534:2: ( '+' ) + { + // InternalScope.g:4534:2: ( '+' ) + // InternalScope.g:4535:3: '+' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); + } + match(input,23,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4501:1: ( rule__GlobalScopeExpression__Group_3_0__0__Impl rule__GlobalScopeExpression__Group_3_0__1 ) - // InternalScope.g:4502:2: rule__GlobalScopeExpression__Group_3_0__0__Impl rule__GlobalScopeExpression__Group_3_0__1 - { - pushFollow(FOLLOW_35); - rule__GlobalScopeExpression__Group_3_0__0__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_3_0__1(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -15680,35 +16631,74 @@ public final void rule__GlobalScopeExpression__Group_3_0__0() throws Recognition } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_0__0" + // $ANTLR end "rule__OpUnary__Alternatives" - // $ANTLR start "rule__GlobalScopeExpression__Group_3_0__0__Impl" - // InternalScope.g:4509:1: rule__GlobalScopeExpression__Group_3_0__0__Impl : ( ',' ) ; - public final void rule__GlobalScopeExpression__Group_3_0__0__Impl() throws RecognitionException { + // $ANTLR start "rule__OpPostfix__Alternatives" + // InternalScope.g:4544:1: rule__OpPostfix__Alternatives : ( ( '++' ) | ( '--' ) ); + public final void rule__OpPostfix__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4513:1: ( ( ',' ) ) - // InternalScope.g:4514:1: ( ',' ) - { - // InternalScope.g:4514:1: ( ',' ) - // InternalScope.g:4515:2: ',' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_0_0()); + // InternalScope.g:4548:1: ( ( '++' ) | ( '--' ) ) + int alt40=2; + int LA40_0 = input.LA(1); + + if ( (LA40_0==56) ) { + alt40=1; } - match(input,60,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_0_0()); + else if ( (LA40_0==57) ) { + alt40=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 40, 0, input); + throw nvae; } + switch (alt40) { + case 1 : + // InternalScope.g:4549:2: ( '++' ) + { + // InternalScope.g:4549:2: ( '++' ) + // InternalScope.g:4550:3: '++' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); + } + match(input,56,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); + } + } - } + } + break; + case 2 : + // InternalScope.g:4555:2: ( '--' ) + { + // InternalScope.g:4555:2: ( '--' ) + // InternalScope.g:4556:3: '--' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); + } + match(input,57,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -15721,32 +16711,80 @@ public final void rule__GlobalScopeExpression__Group_3_0__0__Impl() throws Recog } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_0__0__Impl" + // $ANTLR end "rule__OpPostfix__Alternatives" - // $ANTLR start "rule__GlobalScopeExpression__Group_3_0__1" - // InternalScope.g:4524:1: rule__GlobalScopeExpression__Group_3_0__1 : rule__GlobalScopeExpression__Group_3_0__1__Impl rule__GlobalScopeExpression__Group_3_0__2 ; - public final void rule__GlobalScopeExpression__Group_3_0__1() throws RecognitionException { + // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1" + // InternalScope.g:4565:1: rule__XMemberFeatureCall__Alternatives_1 : ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) ); + public final void rule__XMemberFeatureCall__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4528:1: ( rule__GlobalScopeExpression__Group_3_0__1__Impl rule__GlobalScopeExpression__Group_3_0__2 ) - // InternalScope.g:4529:2: rule__GlobalScopeExpression__Group_3_0__1__Impl rule__GlobalScopeExpression__Group_3_0__2 - { - pushFollow(FOLLOW_16); - rule__GlobalScopeExpression__Group_3_0__1__Impl(); + // InternalScope.g:4569:1: ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) ) + int alt41=2; + alt41 = dfa41.predict(input); + switch (alt41) { + case 1 : + // InternalScope.g:4570:2: ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) + { + // InternalScope.g:4570:2: ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) + // InternalScope.g:4571:3: ( rule__XMemberFeatureCall__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); + } + // InternalScope.g:4572:3: ( rule__XMemberFeatureCall__Group_1_0__0 ) + // InternalScope.g:4572:4: rule__XMemberFeatureCall__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0__0(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_3_0__2(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:4576:2: ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) + { + // InternalScope.g:4576:2: ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) + // InternalScope.g:4577:3: ( rule__XMemberFeatureCall__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); + } + // InternalScope.g:4578:3: ( rule__XMemberFeatureCall__Group_1_1__0 ) + // InternalScope.g:4578:4: rule__XMemberFeatureCall__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -15759,73 +16797,84 @@ public final void rule__GlobalScopeExpression__Group_3_0__1() throws Recognition } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_0__1" + // $ANTLR end "rule__XMemberFeatureCall__Alternatives_1" - // $ANTLR start "rule__GlobalScopeExpression__Group_3_0__1__Impl" - // InternalScope.g:4536:1: rule__GlobalScopeExpression__Group_3_0__1__Impl : ( 'key' ) ; - public final void rule__GlobalScopeExpression__Group_3_0__1__Impl() throws RecognitionException { + // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1_0_0_0_1" + // InternalScope.g:4586:1: rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 : ( ( '.' ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) ); + public final void rule__XMemberFeatureCall__Alternatives_1_0_0_0_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4540:1: ( ( 'key' ) ) - // InternalScope.g:4541:1: ( 'key' ) - { - // InternalScope.g:4541:1: ( 'key' ) - // InternalScope.g:4542:2: 'key' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getKeyKeyword_3_0_1()); + // InternalScope.g:4590:1: ( ( '.' ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) ) + int alt42=2; + int LA42_0 = input.LA(1); + + if ( (LA42_0==58) ) { + alt42=1; } - match(input,62,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getKeyKeyword_3_0_1()); + else if ( (LA42_0==93) ) { + alt42=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 42, 0, input); + throw nvae; } + switch (alt42) { + case 1 : + // InternalScope.g:4591:2: ( '.' ) + { + // InternalScope.g:4591:2: ( '.' ) + // InternalScope.g:4592:3: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); + } + } - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalScope.g:4597:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) + { + // InternalScope.g:4597:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) + // InternalScope.g:4598:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); + } + // InternalScope.g:4599:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) + // InternalScope.g:4599:4: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1(); - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_0__1__Impl" + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__GlobalScopeExpression__Group_3_0__2" - // InternalScope.g:4551:1: rule__GlobalScopeExpression__Group_3_0__2 : rule__GlobalScopeExpression__Group_3_0__2__Impl rule__GlobalScopeExpression__Group_3_0__3 ; - public final void rule__GlobalScopeExpression__Group_3_0__2() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4555:1: ( rule__GlobalScopeExpression__Group_3_0__2__Impl rule__GlobalScopeExpression__Group_3_0__3 ) - // InternalScope.g:4556:2: rule__GlobalScopeExpression__Group_3_0__2__Impl rule__GlobalScopeExpression__Group_3_0__3 - { - pushFollow(FOLLOW_17); - rule__GlobalScopeExpression__Group_3_0__2__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_3_0__3(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -15838,68 +16887,122 @@ public final void rule__GlobalScopeExpression__Group_3_0__2() throws Recognition } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_0__2" + // $ANTLR end "rule__XMemberFeatureCall__Alternatives_1_0_0_0_1" - // $ANTLR start "rule__GlobalScopeExpression__Group_3_0__2__Impl" - // InternalScope.g:4563:1: rule__GlobalScopeExpression__Group_3_0__2__Impl : ( '=' ) ; - public final void rule__GlobalScopeExpression__Group_3_0__2__Impl() throws RecognitionException { + // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1_1_0_0_1" + // InternalScope.g:4607:1: rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 : ( ( '.' ) | ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) ); + public final void rule__XMemberFeatureCall__Alternatives_1_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4567:1: ( ( '=' ) ) - // InternalScope.g:4568:1: ( '=' ) - { - // InternalScope.g:4568:1: ( '=' ) - // InternalScope.g:4569:2: '=' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_0_2()); - } - match(input,48,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_0_2()); - } + // InternalScope.g:4611:1: ( ( '.' ) | ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) ) + int alt43=3; + switch ( input.LA(1) ) { + case 58: + { + alt43=1; + } + break; + case 121: + { + alt43=2; + } + break; + case 93: + { + alt43=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 43, 0, input); + throw nvae; } + switch (alt43) { + case 1 : + // InternalScope.g:4612:2: ( '.' ) + { + // InternalScope.g:4612:2: ( '.' ) + // InternalScope.g:4613:3: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalScope.g:4618:2: ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) + { + // InternalScope.g:4618:2: ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) + // InternalScope.g:4619:3: ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); + } + // InternalScope.g:4620:3: ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) + // InternalScope.g:4620:4: rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1(); - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_0__2__Impl" + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__GlobalScopeExpression__Group_3_0__3" - // InternalScope.g:4578:1: rule__GlobalScopeExpression__Group_3_0__3 : rule__GlobalScopeExpression__Group_3_0__3__Impl ; - public final void rule__GlobalScopeExpression__Group_3_0__3() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4582:1: ( rule__GlobalScopeExpression__Group_3_0__3__Impl ) - // InternalScope.g:4583:2: rule__GlobalScopeExpression__Group_3_0__3__Impl - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_3_0__3__Impl(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + case 3 : + // InternalScope.g:4624:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) + { + // InternalScope.g:4624:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) + // InternalScope.g:4625:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); + } + // InternalScope.g:4626:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) + // InternalScope.g:4626:4: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -15912,45 +17015,80 @@ public final void rule__GlobalScopeExpression__Group_3_0__3() throws Recognition } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_0__3" + // $ANTLR end "rule__XMemberFeatureCall__Alternatives_1_1_0_0_1" - // $ANTLR start "rule__GlobalScopeExpression__Group_3_0__3__Impl" - // InternalScope.g:4589:1: rule__GlobalScopeExpression__Group_3_0__3__Impl : ( ( rule__GlobalScopeExpression__NameAssignment_3_0_3 ) ) ; - public final void rule__GlobalScopeExpression__Group_3_0__3__Impl() throws RecognitionException { + // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1_1_3_1" + // InternalScope.g:4634:1: rule__XMemberFeatureCall__Alternatives_1_1_3_1 : ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) ); + public final void rule__XMemberFeatureCall__Alternatives_1_1_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4593:1: ( ( ( rule__GlobalScopeExpression__NameAssignment_3_0_3 ) ) ) - // InternalScope.g:4594:1: ( ( rule__GlobalScopeExpression__NameAssignment_3_0_3 ) ) - { - // InternalScope.g:4594:1: ( ( rule__GlobalScopeExpression__NameAssignment_3_0_3 ) ) - // InternalScope.g:4595:2: ( rule__GlobalScopeExpression__NameAssignment_3_0_3 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getNameAssignment_3_0_3()); - } - // InternalScope.g:4596:2: ( rule__GlobalScopeExpression__NameAssignment_3_0_3 ) - // InternalScope.g:4596:3: rule__GlobalScopeExpression__NameAssignment_3_0_3 - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__NameAssignment_3_0_3(); + // InternalScope.g:4638:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) ) + int alt44=2; + alt44 = dfa44.predict(input); + switch (alt44) { + case 1 : + // InternalScope.g:4639:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) + { + // InternalScope.g:4639:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) + // InternalScope.g:4640:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); + } + // InternalScope.g:4641:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) + // InternalScope.g:4641:4: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; - } + } - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getNameAssignment_3_0_3()); - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); + } - } + } - } + } + break; + case 2 : + // InternalScope.g:4645:2: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) + { + // InternalScope.g:4645:2: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) + // InternalScope.g:4646:3: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); + } + // InternalScope.g:4647:3: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) + // InternalScope.g:4647:4: rule__XMemberFeatureCall__Group_1_1_3_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); + } + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -15963,252 +17101,379 @@ public final void rule__GlobalScopeExpression__Group_3_0__3__Impl() throws Recog } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_0__3__Impl" + // $ANTLR end "rule__XMemberFeatureCall__Alternatives_1_1_3_1" - // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__0" - // InternalScope.g:4605:1: rule__GlobalScopeExpression__Group_3_1__0 : rule__GlobalScopeExpression__Group_3_1__0__Impl rule__GlobalScopeExpression__Group_3_1__1 ; - public final void rule__GlobalScopeExpression__Group_3_1__0() throws RecognitionException { + // $ANTLR start "rule__XPrimaryExpression__Alternatives" + // InternalScope.g:4655:1: rule__XPrimaryExpression__Alternatives : ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) ); + public final void rule__XPrimaryExpression__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4609:1: ( rule__GlobalScopeExpression__Group_3_1__0__Impl rule__GlobalScopeExpression__Group_3_1__1 ) - // InternalScope.g:4610:2: rule__GlobalScopeExpression__Group_3_1__0__Impl rule__GlobalScopeExpression__Group_3_1__1 - { - pushFollow(FOLLOW_36); - rule__GlobalScopeExpression__Group_3_1__0__Impl(); + // InternalScope.g:4659:1: ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) ) + int alt45=15; + alt45 = dfa45.predict(input); + switch (alt45) { + case 1 : + // InternalScope.g:4660:2: ( ruleXConstructorCall ) + { + // InternalScope.g:4660:2: ( ruleXConstructorCall ) + // InternalScope.g:4661:3: ruleXConstructorCall + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXConstructorCall(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_3_1__1(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); + } - state._fsp--; - if (state.failed) return ; + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 2 : + // InternalScope.g:4666:2: ( ruleXBlockExpression ) + { + // InternalScope.g:4666:2: ( ruleXBlockExpression ) + // InternalScope.g:4667:3: ruleXBlockExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXBlockExpression(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); + } - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__0" + } - // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__0__Impl" - // InternalScope.g:4617:1: rule__GlobalScopeExpression__Group_3_1__0__Impl : ( ',' ) ; - public final void rule__GlobalScopeExpression__Group_3_1__0__Impl() throws RecognitionException { + } + break; + case 3 : + // InternalScope.g:4672:2: ( ruleXSwitchExpression ) + { + // InternalScope.g:4672:2: ( ruleXSwitchExpression ) + // InternalScope.g:4673:3: ruleXSwitchExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleXSwitchExpression(); - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4621:1: ( ( ',' ) ) - // InternalScope.g:4622:1: ( ',' ) - { - // InternalScope.g:4622:1: ( ',' ) - // InternalScope.g:4623:2: ',' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_1_0()); - } - match(input,60,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_1_0()); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); + } - } + } - } + } + break; + case 4 : + // InternalScope.g:4678:2: ( ( ruleXSynchronizedExpression ) ) + { + // InternalScope.g:4678:2: ( ( ruleXSynchronizedExpression ) ) + // InternalScope.g:4679:3: ( ruleXSynchronizedExpression ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); + } + // InternalScope.g:4680:3: ( ruleXSynchronizedExpression ) + // InternalScope.g:4680:4: ruleXSynchronizedExpression + { + pushFollow(FOLLOW_2); + ruleXSynchronizedExpression(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__0__Impl" + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); + } + } - // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__1" - // InternalScope.g:4632:1: rule__GlobalScopeExpression__Group_3_1__1 : rule__GlobalScopeExpression__Group_3_1__1__Impl rule__GlobalScopeExpression__Group_3_1__2 ; - public final void rule__GlobalScopeExpression__Group_3_1__1() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4636:1: ( rule__GlobalScopeExpression__Group_3_1__1__Impl rule__GlobalScopeExpression__Group_3_1__2 ) - // InternalScope.g:4637:2: rule__GlobalScopeExpression__Group_3_1__1__Impl rule__GlobalScopeExpression__Group_3_1__2 - { - pushFollow(FOLLOW_36); - rule__GlobalScopeExpression__Group_3_1__1__Impl(); + } + break; + case 5 : + // InternalScope.g:4684:2: ( ruleXFeatureCall ) + { + // InternalScope.g:4684:2: ( ruleXFeatureCall ) + // InternalScope.g:4685:3: ruleXFeatureCall + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); + } + pushFollow(FOLLOW_2); + ruleXFeatureCall(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_3_1__2(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); + } - state._fsp--; - if (state.failed) return ; + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 6 : + // InternalScope.g:4690:2: ( ruleXLiteral ) + { + // InternalScope.g:4690:2: ( ruleXLiteral ) + // InternalScope.g:4691:3: ruleXLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); + } + pushFollow(FOLLOW_2); + ruleXLiteral(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); + } - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__1" + } - // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__1__Impl" - // InternalScope.g:4644:1: rule__GlobalScopeExpression__Group_3_1__1__Impl : ( ( rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 )? ) ; - public final void rule__GlobalScopeExpression__Group_3_1__1__Impl() throws RecognitionException { + } + break; + case 7 : + // InternalScope.g:4696:2: ( ruleXIfExpression ) + { + // InternalScope.g:4696:2: ( ruleXIfExpression ) + // InternalScope.g:4697:3: ruleXIfExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); + } + pushFollow(FOLLOW_2); + ruleXIfExpression(); - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4648:1: ( ( ( rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 )? ) ) - // InternalScope.g:4649:1: ( ( rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 )? ) - { - // InternalScope.g:4649:1: ( ( rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 )? ) - // InternalScope.g:4650:2: ( rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 )? - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixAssignment_3_1_1()); - } - // InternalScope.g:4651:2: ( rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 )? - int alt47=2; - int LA47_0 = input.LA(1); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); + } - if ( (LA47_0==80) ) { - alt47=1; - } - switch (alt47) { - case 1 : - // InternalScope.g:4651:3: rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 + } + + + } + break; + case 8 : + // InternalScope.g:4702:2: ( ( ruleXForLoopExpression ) ) + { + // InternalScope.g:4702:2: ( ( ruleXForLoopExpression ) ) + // InternalScope.g:4703:3: ( ruleXForLoopExpression ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); + } + // InternalScope.g:4704:3: ( ruleXForLoopExpression ) + // InternalScope.g:4704:4: ruleXForLoopExpression { pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1(); + ruleXForLoopExpression(); state._fsp--; if (state.failed) return ; + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); + } + + } + + } break; + case 9 : + // InternalScope.g:4708:2: ( ruleXBasicForLoopExpression ) + { + // InternalScope.g:4708:2: ( ruleXBasicForLoopExpression ) + // InternalScope.g:4709:3: ruleXBasicForLoopExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); + } + pushFollow(FOLLOW_2); + ruleXBasicForLoopExpression(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixAssignment_3_1_1()); - } + } - } + } + break; + case 10 : + // InternalScope.g:4714:2: ( ruleXWhileExpression ) + { + // InternalScope.g:4714:2: ( ruleXWhileExpression ) + // InternalScope.g:4715:3: ruleXWhileExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); + } + pushFollow(FOLLOW_2); + ruleXWhileExpression(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__1__Impl" + } + break; + case 11 : + // InternalScope.g:4720:2: ( ruleXDoWhileExpression ) + { + // InternalScope.g:4720:2: ( ruleXDoWhileExpression ) + // InternalScope.g:4721:3: ruleXDoWhileExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); + } + pushFollow(FOLLOW_2); + ruleXDoWhileExpression(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); + } - // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__2" - // InternalScope.g:4659:1: rule__GlobalScopeExpression__Group_3_1__2 : rule__GlobalScopeExpression__Group_3_1__2__Impl rule__GlobalScopeExpression__Group_3_1__3 ; - public final void rule__GlobalScopeExpression__Group_3_1__2() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4663:1: ( rule__GlobalScopeExpression__Group_3_1__2__Impl rule__GlobalScopeExpression__Group_3_1__3 ) - // InternalScope.g:4664:2: rule__GlobalScopeExpression__Group_3_1__2__Impl rule__GlobalScopeExpression__Group_3_1__3 - { - pushFollow(FOLLOW_16); - rule__GlobalScopeExpression__Group_3_1__2__Impl(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_3_1__3(); + } + break; + case 12 : + // InternalScope.g:4726:2: ( ruleXThrowExpression ) + { + // InternalScope.g:4726:2: ( ruleXThrowExpression ) + // InternalScope.g:4727:3: ruleXThrowExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); + } + pushFollow(FOLLOW_2); + ruleXThrowExpression(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 13 : + // InternalScope.g:4732:2: ( ruleXReturnExpression ) + { + // InternalScope.g:4732:2: ( ruleXReturnExpression ) + // InternalScope.g:4733:3: ruleXReturnExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); + } + pushFollow(FOLLOW_2); + ruleXReturnExpression(); - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__2" + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); + } + } - // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__2__Impl" - // InternalScope.g:4671:1: rule__GlobalScopeExpression__Group_3_1__2__Impl : ( 'prefix' ) ; - public final void rule__GlobalScopeExpression__Group_3_1__2__Impl() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4675:1: ( ( 'prefix' ) ) - // InternalScope.g:4676:1: ( 'prefix' ) - { - // InternalScope.g:4676:1: ( 'prefix' ) - // InternalScope.g:4677:2: 'prefix' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getPrefixKeyword_3_1_2()); - } - match(input,63,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getPrefixKeyword_3_1_2()); - } + } + break; + case 14 : + // InternalScope.g:4738:2: ( ruleXTryCatchFinallyExpression ) + { + // InternalScope.g:4738:2: ( ruleXTryCatchFinallyExpression ) + // InternalScope.g:4739:3: ruleXTryCatchFinallyExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); + } + pushFollow(FOLLOW_2); + ruleXTryCatchFinallyExpression(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); + } + } - } + } + break; + case 15 : + // InternalScope.g:4744:2: ( ruleXParenthesizedExpression ) + { + // InternalScope.g:4744:2: ( ruleXParenthesizedExpression ) + // InternalScope.g:4745:3: ruleXParenthesizedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); + } + pushFollow(FOLLOW_2); + ruleXParenthesizedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -16221,106 +17486,235 @@ public final void rule__GlobalScopeExpression__Group_3_1__2__Impl() throws Recog } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__2__Impl" + // $ANTLR end "rule__XPrimaryExpression__Alternatives" - // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__3" - // InternalScope.g:4686:1: rule__GlobalScopeExpression__Group_3_1__3 : rule__GlobalScopeExpression__Group_3_1__3__Impl rule__GlobalScopeExpression__Group_3_1__4 ; - public final void rule__GlobalScopeExpression__Group_3_1__3() throws RecognitionException { + // $ANTLR start "rule__XLiteral__Alternatives" + // InternalScope.g:4754:1: rule__XLiteral__Alternatives : ( ( ruleXCollectionLiteral ) | ( ( ruleXClosure ) ) | ( ruleXBooleanLiteral ) | ( ruleXNumberLiteral ) | ( ruleXNullLiteral ) | ( ruleXStringLiteral ) | ( ruleXTypeLiteral ) ); + public final void rule__XLiteral__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4690:1: ( rule__GlobalScopeExpression__Group_3_1__3__Impl rule__GlobalScopeExpression__Group_3_1__4 ) - // InternalScope.g:4691:2: rule__GlobalScopeExpression__Group_3_1__3__Impl rule__GlobalScopeExpression__Group_3_1__4 - { - pushFollow(FOLLOW_17); - rule__GlobalScopeExpression__Group_3_1__3__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_3_1__4(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:4758:1: ( ( ruleXCollectionLiteral ) | ( ( ruleXClosure ) ) | ( ruleXBooleanLiteral ) | ( ruleXNumberLiteral ) | ( ruleXNullLiteral ) | ( ruleXStringLiteral ) | ( ruleXTypeLiteral ) ) + int alt46=7; + switch ( input.LA(1) ) { + case 79: + { + alt46=1; + } + break; + case 82: + { + alt46=2; + } + break; + case 36: + case 37: + { + alt46=3; + } + break; + case RULE_HEX: + case RULE_INT: + case RULE_DECIMAL: + { + alt46=4; + } + break; + case 108: + { + alt46=5; + } + break; + case RULE_STRING: + { + alt46=6; + } + break; + case 109: + { + alt46=7; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 46, 0, input); + throw nvae; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + switch (alt46) { + case 1 : + // InternalScope.g:4759:2: ( ruleXCollectionLiteral ) + { + // InternalScope.g:4759:2: ( ruleXCollectionLiteral ) + // InternalScope.g:4760:3: ruleXCollectionLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXCollectionLiteral(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); + } - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__3" + } - // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__3__Impl" - // InternalScope.g:4698:1: rule__GlobalScopeExpression__Group_3_1__3__Impl : ( '=' ) ; - public final void rule__GlobalScopeExpression__Group_3_1__3__Impl() throws RecognitionException { + } + break; + case 2 : + // InternalScope.g:4765:2: ( ( ruleXClosure ) ) + { + // InternalScope.g:4765:2: ( ( ruleXClosure ) ) + // InternalScope.g:4766:3: ( ruleXClosure ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); + } + // InternalScope.g:4767:3: ( ruleXClosure ) + // InternalScope.g:4767:4: ruleXClosure + { + pushFollow(FOLLOW_2); + ruleXClosure(); - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4702:1: ( ( '=' ) ) - // InternalScope.g:4703:1: ( '=' ) - { - // InternalScope.g:4703:1: ( '=' ) - // InternalScope.g:4704:2: '=' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_1_3()); - } - match(input,48,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_1_3()); - } + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); + } - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 3 : + // InternalScope.g:4771:2: ( ruleXBooleanLiteral ) + { + // InternalScope.g:4771:2: ( ruleXBooleanLiteral ) + // InternalScope.g:4772:3: ruleXBooleanLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleXBooleanLiteral(); - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__3__Impl" + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); + } + } - // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__4" - // InternalScope.g:4713:1: rule__GlobalScopeExpression__Group_3_1__4 : rule__GlobalScopeExpression__Group_3_1__4__Impl ; - public final void rule__GlobalScopeExpression__Group_3_1__4() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4717:1: ( rule__GlobalScopeExpression__Group_3_1__4__Impl ) - // InternalScope.g:4718:2: rule__GlobalScopeExpression__Group_3_1__4__Impl - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_3_1__4__Impl(); + } + break; + case 4 : + // InternalScope.g:4777:2: ( ruleXNumberLiteral ) + { + // InternalScope.g:4777:2: ( ruleXNumberLiteral ) + // InternalScope.g:4778:3: ruleXNumberLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); + } + pushFollow(FOLLOW_2); + ruleXNumberLiteral(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); + } + + } + + + } + break; + case 5 : + // InternalScope.g:4783:2: ( ruleXNullLiteral ) + { + // InternalScope.g:4783:2: ( ruleXNullLiteral ) + // InternalScope.g:4784:3: ruleXNullLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); + } + pushFollow(FOLLOW_2); + ruleXNullLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); + } + + } + + + } + break; + case 6 : + // InternalScope.g:4789:2: ( ruleXStringLiteral ) + { + // InternalScope.g:4789:2: ( ruleXStringLiteral ) + // InternalScope.g:4790:3: ruleXStringLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); + } + pushFollow(FOLLOW_2); + ruleXStringLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); + } + + } + + + } + break; + case 7 : + // InternalScope.g:4795:2: ( ruleXTypeLiteral ) + { + // InternalScope.g:4795:2: ( ruleXTypeLiteral ) + // InternalScope.g:4796:3: ruleXTypeLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); + } + pushFollow(FOLLOW_2); + ruleXTypeLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); + } + + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -16333,45 +17727,93 @@ public final void rule__GlobalScopeExpression__Group_3_1__4() throws Recognition } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__4" + // $ANTLR end "rule__XLiteral__Alternatives" - // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__4__Impl" - // InternalScope.g:4724:1: rule__GlobalScopeExpression__Group_3_1__4__Impl : ( ( rule__GlobalScopeExpression__PrefixAssignment_3_1_4 ) ) ; - public final void rule__GlobalScopeExpression__Group_3_1__4__Impl() throws RecognitionException { + // $ANTLR start "rule__XCollectionLiteral__Alternatives" + // InternalScope.g:4805:1: rule__XCollectionLiteral__Alternatives : ( ( ruleXSetLiteral ) | ( ruleXListLiteral ) ); + public final void rule__XCollectionLiteral__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4728:1: ( ( ( rule__GlobalScopeExpression__PrefixAssignment_3_1_4 ) ) ) - // InternalScope.g:4729:1: ( ( rule__GlobalScopeExpression__PrefixAssignment_3_1_4 ) ) - { - // InternalScope.g:4729:1: ( ( rule__GlobalScopeExpression__PrefixAssignment_3_1_4 ) ) - // InternalScope.g:4730:2: ( rule__GlobalScopeExpression__PrefixAssignment_3_1_4 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getPrefixAssignment_3_1_4()); - } - // InternalScope.g:4731:2: ( rule__GlobalScopeExpression__PrefixAssignment_3_1_4 ) - // InternalScope.g:4731:3: rule__GlobalScopeExpression__PrefixAssignment_3_1_4 - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__PrefixAssignment_3_1_4(); + // InternalScope.g:4809:1: ( ( ruleXSetLiteral ) | ( ruleXListLiteral ) ) + int alt47=2; + int LA47_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA47_0==79) ) { + int LA47_1 = input.LA(2); - } + if ( (LA47_1==72) ) { + alt47=1; + } + else if ( (LA47_1==82) ) { + alt47=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 47, 1, input); - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getPrefixAssignment_3_1_4()); + throw nvae; + } } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 47, 0, input); + throw nvae; } + switch (alt47) { + case 1 : + // InternalScope.g:4810:2: ( ruleXSetLiteral ) + { + // InternalScope.g:4810:2: ( ruleXSetLiteral ) + // InternalScope.g:4811:3: ruleXSetLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXSetLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); + } + + } - } + } + break; + case 2 : + // InternalScope.g:4816:2: ( ruleXListLiteral ) + { + // InternalScope.g:4816:2: ( ruleXListLiteral ) + // InternalScope.g:4817:3: ruleXListLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXListLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -16384,32 +17826,80 @@ public final void rule__GlobalScopeExpression__Group_3_1__4__Impl() throws Recog } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__4__Impl" + // $ANTLR end "rule__XCollectionLiteral__Alternatives" - // $ANTLR start "rule__GlobalScopeExpression__Group_4__0" - // InternalScope.g:4740:1: rule__GlobalScopeExpression__Group_4__0 : rule__GlobalScopeExpression__Group_4__0__Impl rule__GlobalScopeExpression__Group_4__1 ; - public final void rule__GlobalScopeExpression__Group_4__0() throws RecognitionException { + // $ANTLR start "rule__XSwitchExpression__Alternatives_2" + // InternalScope.g:4826:1: rule__XSwitchExpression__Alternatives_2 : ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) ); + public final void rule__XSwitchExpression__Alternatives_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4744:1: ( rule__GlobalScopeExpression__Group_4__0__Impl rule__GlobalScopeExpression__Group_4__1 ) - // InternalScope.g:4745:2: rule__GlobalScopeExpression__Group_4__0__Impl rule__GlobalScopeExpression__Group_4__1 - { - pushFollow(FOLLOW_37); - rule__GlobalScopeExpression__Group_4__0__Impl(); + // InternalScope.g:4830:1: ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) ) + int alt48=2; + alt48 = dfa48.predict(input); + switch (alt48) { + case 1 : + // InternalScope.g:4831:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) ) + { + // InternalScope.g:4831:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) ) + // InternalScope.g:4832:3: ( rule__XSwitchExpression__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); + } + // InternalScope.g:4833:3: ( rule__XSwitchExpression__Group_2_0__0 ) + // InternalScope.g:4833:4: rule__XSwitchExpression__Group_2_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0__0(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_4__1(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:4837:2: ( ( rule__XSwitchExpression__Group_2_1__0 ) ) + { + // InternalScope.g:4837:2: ( ( rule__XSwitchExpression__Group_2_1__0 ) ) + // InternalScope.g:4838:3: ( rule__XSwitchExpression__Group_2_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); + } + // InternalScope.g:4839:3: ( rule__XSwitchExpression__Group_2_1__0 ) + // InternalScope.g:4839:4: rule__XSwitchExpression__Group_2_1__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -16422,73 +17912,94 @@ public final void rule__GlobalScopeExpression__Group_4__0() throws RecognitionEx } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_4__0" + // $ANTLR end "rule__XSwitchExpression__Alternatives_2" - // $ANTLR start "rule__GlobalScopeExpression__Group_4__0__Impl" - // InternalScope.g:4752:1: rule__GlobalScopeExpression__Group_4__0__Impl : ( ',' ) ; - public final void rule__GlobalScopeExpression__Group_4__0__Impl() throws RecognitionException { + // $ANTLR start "rule__XCasePart__Alternatives_3" + // InternalScope.g:4847:1: rule__XCasePart__Alternatives_3 : ( ( ( rule__XCasePart__Group_3_0__0 ) ) | ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) ); + public final void rule__XCasePart__Alternatives_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4756:1: ( ( ',' ) ) - // InternalScope.g:4757:1: ( ',' ) - { - // InternalScope.g:4757:1: ( ',' ) - // InternalScope.g:4758:2: ',' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_0()); + // InternalScope.g:4851:1: ( ( ( rule__XCasePart__Group_3_0__0 ) ) | ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) ) + int alt49=2; + int LA49_0 = input.LA(1); + + if ( (LA49_0==95) ) { + alt49=1; } - match(input,60,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_0()); + else if ( (LA49_0==86) ) { + alt49=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 49, 0, input); + throw nvae; } + switch (alt49) { + case 1 : + // InternalScope.g:4852:2: ( ( rule__XCasePart__Group_3_0__0 ) ) + { + // InternalScope.g:4852:2: ( ( rule__XCasePart__Group_3_0__0 ) ) + // InternalScope.g:4853:3: ( rule__XCasePart__Group_3_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getGroup_3_0()); + } + // InternalScope.g:4854:3: ( rule__XCasePart__Group_3_0__0 ) + // InternalScope.g:4854:4: rule__XCasePart__Group_3_0__0 + { + pushFollow(FOLLOW_2); + rule__XCasePart__Group_3_0__0(); + state._fsp--; + if (state.failed) return ; - } + } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getGroup_3_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group_4__0__Impl" + } + break; + case 2 : + // InternalScope.g:4858:2: ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) + { + // InternalScope.g:4858:2: ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) + // InternalScope.g:4859:3: ( rule__XCasePart__FallThroughAssignment_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); + } + // InternalScope.g:4860:3: ( rule__XCasePart__FallThroughAssignment_3_1 ) + // InternalScope.g:4860:4: rule__XCasePart__FallThroughAssignment_3_1 + { + pushFollow(FOLLOW_2); + rule__XCasePart__FallThroughAssignment_3_1(); + + state._fsp--; + if (state.failed) return ; - // $ANTLR start "rule__GlobalScopeExpression__Group_4__1" - // InternalScope.g:4767:1: rule__GlobalScopeExpression__Group_4__1 : rule__GlobalScopeExpression__Group_4__1__Impl rule__GlobalScopeExpression__Group_4__2 ; - public final void rule__GlobalScopeExpression__Group_4__1() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4771:1: ( rule__GlobalScopeExpression__Group_4__1__Impl rule__GlobalScopeExpression__Group_4__2 ) - // InternalScope.g:4772:2: rule__GlobalScopeExpression__Group_4__1__Impl rule__GlobalScopeExpression__Group_4__2 - { - pushFollow(FOLLOW_16); - rule__GlobalScopeExpression__Group_4__1__Impl(); + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_4__2(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -16501,73 +18012,82 @@ public final void rule__GlobalScopeExpression__Group_4__1() throws RecognitionEx } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_4__1" + // $ANTLR end "rule__XCasePart__Alternatives_3" - // $ANTLR start "rule__GlobalScopeExpression__Group_4__1__Impl" - // InternalScope.g:4779:1: rule__GlobalScopeExpression__Group_4__1__Impl : ( 'data' ) ; - public final void rule__GlobalScopeExpression__Group_4__1__Impl() throws RecognitionException { + // $ANTLR start "rule__XExpressionOrVarDeclaration__Alternatives" + // InternalScope.g:4868:1: rule__XExpressionOrVarDeclaration__Alternatives : ( ( ruleXVariableDeclaration ) | ( ruleXExpression ) ); + public final void rule__XExpressionOrVarDeclaration__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4783:1: ( ( 'data' ) ) - // InternalScope.g:4784:1: ( 'data' ) - { - // InternalScope.g:4784:1: ( 'data' ) - // InternalScope.g:4785:2: 'data' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getDataKeyword_4_1()); - } - match(input,64,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getDataKeyword_4_1()); - } + // InternalScope.g:4872:1: ( ( ruleXVariableDeclaration ) | ( ruleXExpression ) ) + int alt50=2; + int LA50_0 = input.LA(1); + if ( (LA50_0==59||LA50_0==122) ) { + alt50=1; } + else if ( ((LA50_0>=RULE_ID && LA50_0<=RULE_STRING)||(LA50_0>=22 && LA50_0<=24)||LA50_0==27||(LA50_0>=36 && LA50_0<=37)||(LA50_0>=60 && LA50_0<=64)||LA50_0==72||LA50_0==77||LA50_0==79||LA50_0==82||LA50_0==97||LA50_0==100||LA50_0==103||(LA50_0>=105 && LA50_0<=112)||LA50_0==114) ) { + alt50=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 50, 0, input); - + throw nvae; } + switch (alt50) { + case 1 : + // InternalScope.g:4873:2: ( ruleXVariableDeclaration ) + { + // InternalScope.g:4873:2: ( ruleXVariableDeclaration ) + // InternalScope.g:4874:3: ruleXVariableDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXVariableDeclaration(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group_4__1__Impl" + } + break; + case 2 : + // InternalScope.g:4879:2: ( ruleXExpression ) + { + // InternalScope.g:4879:2: ( ruleXExpression ) + // InternalScope.g:4880:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); - // $ANTLR start "rule__GlobalScopeExpression__Group_4__2" - // InternalScope.g:4794:1: rule__GlobalScopeExpression__Group_4__2 : rule__GlobalScopeExpression__Group_4__2__Impl rule__GlobalScopeExpression__Group_4__3 ; - public final void rule__GlobalScopeExpression__Group_4__2() throws RecognitionException { + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4798:1: ( rule__GlobalScopeExpression__Group_4__2__Impl rule__GlobalScopeExpression__Group_4__3 ) - // InternalScope.g:4799:2: rule__GlobalScopeExpression__Group_4__2__Impl rule__GlobalScopeExpression__Group_4__3 - { - pushFollow(FOLLOW_31); - rule__GlobalScopeExpression__Group_4__2__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_4__3(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -16580,35 +18100,84 @@ public final void rule__GlobalScopeExpression__Group_4__2() throws RecognitionEx } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_4__2" + // $ANTLR end "rule__XExpressionOrVarDeclaration__Alternatives" - // $ANTLR start "rule__GlobalScopeExpression__Group_4__2__Impl" - // InternalScope.g:4806:1: rule__GlobalScopeExpression__Group_4__2__Impl : ( '=' ) ; - public final void rule__GlobalScopeExpression__Group_4__2__Impl() throws RecognitionException { + // $ANTLR start "rule__XVariableDeclaration__Alternatives_1" + // InternalScope.g:4889:1: rule__XVariableDeclaration__Alternatives_1 : ( ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) | ( 'val' ) ); + public final void rule__XVariableDeclaration__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4810:1: ( ( '=' ) ) - // InternalScope.g:4811:1: ( '=' ) - { - // InternalScope.g:4811:1: ( '=' ) - // InternalScope.g:4812:2: '=' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_4_2()); + // InternalScope.g:4893:1: ( ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) | ( 'val' ) ) + int alt51=2; + int LA51_0 = input.LA(1); + + if ( (LA51_0==122) ) { + alt51=1; } - match(input,48,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_4_2()); + else if ( (LA51_0==59) ) { + alt51=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 51, 0, input); + throw nvae; } + switch (alt51) { + case 1 : + // InternalScope.g:4894:2: ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) + { + // InternalScope.g:4894:2: ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) + // InternalScope.g:4895:3: ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); + } + // InternalScope.g:4896:3: ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) + // InternalScope.g:4896:4: rule__XVariableDeclaration__WriteableAssignment_1_0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__WriteableAssignment_1_0(); + + state._fsp--; + if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:4900:2: ( 'val' ) + { + // InternalScope.g:4900:2: ( 'val' ) + // InternalScope.g:4901:3: 'val' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); + } + match(input,59,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -16621,73 +18190,108 @@ public final void rule__GlobalScopeExpression__Group_4__2__Impl() throws Recogni } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_4__2__Impl" + // $ANTLR end "rule__XVariableDeclaration__Alternatives_1" - // $ANTLR start "rule__GlobalScopeExpression__Group_4__3" - // InternalScope.g:4821:1: rule__GlobalScopeExpression__Group_4__3 : rule__GlobalScopeExpression__Group_4__3__Impl rule__GlobalScopeExpression__Group_4__4 ; - public final void rule__GlobalScopeExpression__Group_4__3() throws RecognitionException { + // $ANTLR start "rule__XVariableDeclaration__Alternatives_2" + // InternalScope.g:4910:1: rule__XVariableDeclaration__Alternatives_2 : ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) | ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) ); + public final void rule__XVariableDeclaration__Alternatives_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4825:1: ( rule__GlobalScopeExpression__Group_4__3__Impl rule__GlobalScopeExpression__Group_4__4 ) - // InternalScope.g:4826:2: rule__GlobalScopeExpression__Group_4__3__Impl rule__GlobalScopeExpression__Group_4__4 - { - pushFollow(FOLLOW_38); - rule__GlobalScopeExpression__Group_4__3__Impl(); + // InternalScope.g:4914:1: ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) | ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) ) + int alt52=2; + int LA52_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_4__4(); + if ( (LA52_0==RULE_ID) ) { + int LA52_1 = input.LA(2); - state._fsp--; - if (state.failed) return ; + if ( (synpred123_InternalScope()) ) { + alt52=1; + } + else if ( (true) ) { + alt52=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 52, 1, input); + throw nvae; + } } + else if ( (LA52_0==51||LA52_0==77) ) { + alt52=1; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 52, 0, input); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + throw nvae; + } + switch (alt52) { + case 1 : + // InternalScope.g:4915:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) + { + // InternalScope.g:4915:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) + // InternalScope.g:4916:3: ( rule__XVariableDeclaration__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); + } + // InternalScope.g:4917:3: ( rule__XVariableDeclaration__Group_2_0__0 ) + // InternalScope.g:4917:4: rule__XVariableDeclaration__Group_2_0__0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0__0(); - restoreStackSize(stackSize); + state._fsp--; + if (state.failed) return ; - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group_4__3" + } + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); + } - // $ANTLR start "rule__GlobalScopeExpression__Group_4__3__Impl" - // InternalScope.g:4833:1: rule__GlobalScopeExpression__Group_4__3__Impl : ( '(' ) ; - public final void rule__GlobalScopeExpression__Group_4__3__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4837:1: ( ( '(' ) ) - // InternalScope.g:4838:1: ( '(' ) - { - // InternalScope.g:4838:1: ( '(' ) - // InternalScope.g:4839:2: '(' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_4_3()); - } - match(input,51,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_4_3()); - } - } + } + break; + case 2 : + // InternalScope.g:4921:2: ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) + { + // InternalScope.g:4921:2: ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) + // InternalScope.g:4922:3: ( rule__XVariableDeclaration__NameAssignment_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); + } + // InternalScope.g:4923:3: ( rule__XVariableDeclaration__NameAssignment_2_1 ) + // InternalScope.g:4923:4: rule__XVariableDeclaration__NameAssignment_2_1 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__NameAssignment_2_1(); + state._fsp--; + if (state.failed) return ; - } + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -16700,32 +18304,80 @@ public final void rule__GlobalScopeExpression__Group_4__3__Impl() throws Recogni } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_4__3__Impl" + // $ANTLR end "rule__XVariableDeclaration__Alternatives_2" - // $ANTLR start "rule__GlobalScopeExpression__Group_4__4" - // InternalScope.g:4848:1: rule__GlobalScopeExpression__Group_4__4 : rule__GlobalScopeExpression__Group_4__4__Impl rule__GlobalScopeExpression__Group_4__5 ; - public final void rule__GlobalScopeExpression__Group_4__4() throws RecognitionException { + // $ANTLR start "rule__XFeatureCall__Alternatives_3_1" + // InternalScope.g:4931:1: rule__XFeatureCall__Alternatives_3_1 : ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) ); + public final void rule__XFeatureCall__Alternatives_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4852:1: ( rule__GlobalScopeExpression__Group_4__4__Impl rule__GlobalScopeExpression__Group_4__5 ) - // InternalScope.g:4853:2: rule__GlobalScopeExpression__Group_4__4__Impl rule__GlobalScopeExpression__Group_4__5 - { - pushFollow(FOLLOW_33); - rule__GlobalScopeExpression__Group_4__4__Impl(); + // InternalScope.g:4935:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) ) + int alt53=2; + alt53 = dfa53.predict(input); + switch (alt53) { + case 1 : + // InternalScope.g:4936:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) + { + // InternalScope.g:4936:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) + // InternalScope.g:4937:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); + } + // InternalScope.g:4938:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) + // InternalScope.g:4938:4: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_4__5(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:4942:2: ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) + { + // InternalScope.g:4942:2: ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) + // InternalScope.g:4943:3: ( rule__XFeatureCall__Group_3_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); + } + // InternalScope.g:4944:3: ( rule__XFeatureCall__Group_3_1_1__0 ) + // InternalScope.g:4944:4: rule__XFeatureCall__Group_3_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); + } + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -16738,83 +18390,154 @@ public final void rule__GlobalScopeExpression__Group_4__4() throws RecognitionEx } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_4__4" + // $ANTLR end "rule__XFeatureCall__Alternatives_3_1" - // $ANTLR start "rule__GlobalScopeExpression__Group_4__4__Impl" - // InternalScope.g:4860:1: rule__GlobalScopeExpression__Group_4__4__Impl : ( ( rule__GlobalScopeExpression__DataAssignment_4_4 ) ) ; - public final void rule__GlobalScopeExpression__Group_4__4__Impl() throws RecognitionException { + // $ANTLR start "rule__FeatureCallID__Alternatives" + // InternalScope.g:4952:1: rule__FeatureCallID__Alternatives : ( ( ruleValidID ) | ( 'extends' ) | ( 'static' ) | ( 'import' ) | ( 'extension' ) ); + public final void rule__FeatureCallID__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4864:1: ( ( ( rule__GlobalScopeExpression__DataAssignment_4_4 ) ) ) - // InternalScope.g:4865:1: ( ( rule__GlobalScopeExpression__DataAssignment_4_4 ) ) - { - // InternalScope.g:4865:1: ( ( rule__GlobalScopeExpression__DataAssignment_4_4 ) ) - // InternalScope.g:4866:2: ( rule__GlobalScopeExpression__DataAssignment_4_4 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getDataAssignment_4_4()); + // InternalScope.g:4956:1: ( ( ruleValidID ) | ( 'extends' ) | ( 'static' ) | ( 'import' ) | ( 'extension' ) ) + int alt54=5; + switch ( input.LA(1) ) { + case RULE_ID: + { + alt54=1; + } + break; + case 60: + { + alt54=2; + } + break; + case 61: + { + alt54=3; + } + break; + case 62: + { + alt54=4; + } + break; + case 63: + { + alt54=5; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 54, 0, input); + + throw nvae; } - // InternalScope.g:4867:2: ( rule__GlobalScopeExpression__DataAssignment_4_4 ) - // InternalScope.g:4867:3: rule__GlobalScopeExpression__DataAssignment_4_4 - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__DataAssignment_4_4(); - state._fsp--; - if (state.failed) return ; + switch (alt54) { + case 1 : + // InternalScope.g:4957:2: ( ruleValidID ) + { + // InternalScope.g:4957:2: ( ruleValidID ) + // InternalScope.g:4958:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getDataAssignment_4_4()); - } + } - } + } + break; + case 2 : + // InternalScope.g:4963:2: ( 'extends' ) + { + // InternalScope.g:4963:2: ( 'extends' ) + // InternalScope.g:4964:3: 'extends' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); + } + match(input,60,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); + } + + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + break; + case 3 : + // InternalScope.g:4969:2: ( 'static' ) + { + // InternalScope.g:4969:2: ( 'static' ) + // InternalScope.g:4970:3: 'static' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); + } + match(input,61,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); + } - restoreStackSize(stackSize); + } - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group_4__4__Impl" + } + break; + case 4 : + // InternalScope.g:4975:2: ( 'import' ) + { + // InternalScope.g:4975:2: ( 'import' ) + // InternalScope.g:4976:3: 'import' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); + } + match(input,62,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); + } + + } - // $ANTLR start "rule__GlobalScopeExpression__Group_4__5" - // InternalScope.g:4875:1: rule__GlobalScopeExpression__Group_4__5 : rule__GlobalScopeExpression__Group_4__5__Impl rule__GlobalScopeExpression__Group_4__6 ; - public final void rule__GlobalScopeExpression__Group_4__5() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4879:1: ( rule__GlobalScopeExpression__Group_4__5__Impl rule__GlobalScopeExpression__Group_4__6 ) - // InternalScope.g:4880:2: rule__GlobalScopeExpression__Group_4__5__Impl rule__GlobalScopeExpression__Group_4__6 - { - pushFollow(FOLLOW_33); - rule__GlobalScopeExpression__Group_4__5__Impl(); + } + break; + case 5 : + // InternalScope.g:4981:2: ( 'extension' ) + { + // InternalScope.g:4981:2: ( 'extension' ) + // InternalScope.g:4982:3: 'extension' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); + } + match(input,63,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_4__6(); + } - state._fsp--; - if (state.failed) return ; - } + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -16827,63 +18550,78 @@ public final void rule__GlobalScopeExpression__Group_4__5() throws RecognitionEx } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_4__5" + // $ANTLR end "rule__FeatureCallID__Alternatives" - // $ANTLR start "rule__GlobalScopeExpression__Group_4__5__Impl" - // InternalScope.g:4887:1: rule__GlobalScopeExpression__Group_4__5__Impl : ( ( rule__GlobalScopeExpression__Group_4_5__0 )* ) ; - public final void rule__GlobalScopeExpression__Group_4__5__Impl() throws RecognitionException { + // $ANTLR start "rule__IdOrSuper__Alternatives" + // InternalScope.g:4991:1: rule__IdOrSuper__Alternatives : ( ( ruleFeatureCallID ) | ( 'super' ) ); + public final void rule__IdOrSuper__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4891:1: ( ( ( rule__GlobalScopeExpression__Group_4_5__0 )* ) ) - // InternalScope.g:4892:1: ( ( rule__GlobalScopeExpression__Group_4_5__0 )* ) - { - // InternalScope.g:4892:1: ( ( rule__GlobalScopeExpression__Group_4_5__0 )* ) - // InternalScope.g:4893:2: ( rule__GlobalScopeExpression__Group_4_5__0 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_4_5()); - } - // InternalScope.g:4894:2: ( rule__GlobalScopeExpression__Group_4_5__0 )* - loop48: - do { - int alt48=2; - int LA48_0 = input.LA(1); + // InternalScope.g:4995:1: ( ( ruleFeatureCallID ) | ( 'super' ) ) + int alt55=2; + int LA55_0 = input.LA(1); - if ( (LA48_0==60) ) { - alt48=1; - } + if ( (LA55_0==RULE_ID||(LA55_0>=60 && LA55_0<=63)) ) { + alt55=1; + } + else if ( (LA55_0==64) ) { + alt55=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 55, 0, input); + throw nvae; + } + switch (alt55) { + case 1 : + // InternalScope.g:4996:2: ( ruleFeatureCallID ) + { + // InternalScope.g:4996:2: ( ruleFeatureCallID ) + // InternalScope.g:4997:3: ruleFeatureCallID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleFeatureCallID(); - switch (alt48) { - case 1 : - // InternalScope.g:4894:3: rule__GlobalScopeExpression__Group_4_5__0 - { - pushFollow(FOLLOW_39); - rule__GlobalScopeExpression__Group_4_5__0(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); + } - state._fsp--; - if (state.failed) return ; + } - } - break; - default : - break loop48; - } - } while (true); + } + break; + case 2 : + // InternalScope.g:5002:2: ( 'super' ) + { + // InternalScope.g:5002:2: ( 'super' ) + // InternalScope.g:5003:3: 'super' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); + } + match(input,64,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); + } - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_4_5()); - } + } - } + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -16896,27 +18634,80 @@ public final void rule__GlobalScopeExpression__Group_4__5__Impl() throws Recogni } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_4__5__Impl" + // $ANTLR end "rule__IdOrSuper__Alternatives" - // $ANTLR start "rule__GlobalScopeExpression__Group_4__6" - // InternalScope.g:4902:1: rule__GlobalScopeExpression__Group_4__6 : rule__GlobalScopeExpression__Group_4__6__Impl ; - public final void rule__GlobalScopeExpression__Group_4__6() throws RecognitionException { + // $ANTLR start "rule__XConstructorCall__Alternatives_4_1" + // InternalScope.g:5012:1: rule__XConstructorCall__Alternatives_4_1 : ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) ); + public final void rule__XConstructorCall__Alternatives_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4906:1: ( rule__GlobalScopeExpression__Group_4__6__Impl ) - // InternalScope.g:4907:2: rule__GlobalScopeExpression__Group_4__6__Impl - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_4__6__Impl(); + // InternalScope.g:5016:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) ) + int alt56=2; + alt56 = dfa56.predict(input); + switch (alt56) { + case 1 : + // InternalScope.g:5017:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) + { + // InternalScope.g:5017:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) + // InternalScope.g:5018:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); + } + // InternalScope.g:5019:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) + // InternalScope.g:5019:4: rule__XConstructorCall__ArgumentsAssignment_4_1_0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_4_1_0(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; - } + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:5023:2: ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) + { + // InternalScope.g:5023:2: ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) + // InternalScope.g:5024:3: ( rule__XConstructorCall__Group_4_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); + } + // InternalScope.g:5025:3: ( rule__XConstructorCall__Group_4_1_1__0 ) + // InternalScope.g:5025:4: rule__XConstructorCall__Group_4_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -16929,73 +18720,84 @@ public final void rule__GlobalScopeExpression__Group_4__6() throws RecognitionEx } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_4__6" + // $ANTLR end "rule__XConstructorCall__Alternatives_4_1" - // $ANTLR start "rule__GlobalScopeExpression__Group_4__6__Impl" - // InternalScope.g:4913:1: rule__GlobalScopeExpression__Group_4__6__Impl : ( ')' ) ; - public final void rule__GlobalScopeExpression__Group_4__6__Impl() throws RecognitionException { + // $ANTLR start "rule__XBooleanLiteral__Alternatives_1" + // InternalScope.g:5033:1: rule__XBooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) ); + public final void rule__XBooleanLiteral__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4917:1: ( ( ')' ) ) - // InternalScope.g:4918:1: ( ')' ) - { - // InternalScope.g:4918:1: ( ')' ) - // InternalScope.g:4919:2: ')' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_4_6()); + // InternalScope.g:5037:1: ( ( 'false' ) | ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) ) + int alt57=2; + int LA57_0 = input.LA(1); + + if ( (LA57_0==37) ) { + alt57=1; } - match(input,52,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_4_6()); + else if ( (LA57_0==36) ) { + alt57=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 57, 0, input); + throw nvae; } + switch (alt57) { + case 1 : + // InternalScope.g:5038:2: ( 'false' ) + { + // InternalScope.g:5038:2: ( 'false' ) + // InternalScope.g:5039:3: 'false' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); + } + match(input,37,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); + } + } - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - restoreStackSize(stackSize); + } + break; + case 2 : + // InternalScope.g:5044:2: ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) + { + // InternalScope.g:5044:2: ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) + // InternalScope.g:5045:3: ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); + } + // InternalScope.g:5046:3: ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) + // InternalScope.g:5046:4: rule__XBooleanLiteral__IsTrueAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XBooleanLiteral__IsTrueAssignment_1_1(); - } - return ; - } - // $ANTLR end "rule__GlobalScopeExpression__Group_4__6__Impl" + state._fsp--; + if (state.failed) return ; + } - // $ANTLR start "rule__GlobalScopeExpression__Group_4_5__0" - // InternalScope.g:4929:1: rule__GlobalScopeExpression__Group_4_5__0 : rule__GlobalScopeExpression__Group_4_5__0__Impl rule__GlobalScopeExpression__Group_4_5__1 ; - public final void rule__GlobalScopeExpression__Group_4_5__0() throws RecognitionException { + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); + } - int stackSize = keepStackSize(); - - try { - // InternalScope.g:4933:1: ( rule__GlobalScopeExpression__Group_4_5__0__Impl rule__GlobalScopeExpression__Group_4_5__1 ) - // InternalScope.g:4934:2: rule__GlobalScopeExpression__Group_4_5__0__Impl rule__GlobalScopeExpression__Group_4_5__1 - { - pushFollow(FOLLOW_38); - rule__GlobalScopeExpression__Group_4_5__0__Impl(); + } - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_4_5__1(); - state._fsp--; - if (state.failed) return ; + } + break; } - } catch (RecognitionException re) { reportError(re); @@ -17008,35 +18810,94 @@ public final void rule__GlobalScopeExpression__Group_4_5__0() throws Recognition } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_4_5__0" + // $ANTLR end "rule__XBooleanLiteral__Alternatives_1" - // $ANTLR start "rule__GlobalScopeExpression__Group_4_5__0__Impl" - // InternalScope.g:4941:1: rule__GlobalScopeExpression__Group_4_5__0__Impl : ( ',' ) ; - public final void rule__GlobalScopeExpression__Group_4_5__0__Impl() throws RecognitionException { + // $ANTLR start "rule__XTryCatchFinallyExpression__Alternatives_3" + // InternalScope.g:5054:1: rule__XTryCatchFinallyExpression__Alternatives_3 : ( ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) | ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) ); + public final void rule__XTryCatchFinallyExpression__Alternatives_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4945:1: ( ( ',' ) ) - // InternalScope.g:4946:1: ( ',' ) - { - // InternalScope.g:4946:1: ( ',' ) - // InternalScope.g:4947:2: ',' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_5_0()); + // InternalScope.g:5058:1: ( ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) | ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) ) + int alt58=2; + int LA58_0 = input.LA(1); + + if ( (LA58_0==115) ) { + alt58=1; } - match(input,60,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_5_0()); + else if ( (LA58_0==113) ) { + alt58=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 58, 0, input); + throw nvae; } + switch (alt58) { + case 1 : + // InternalScope.g:5059:2: ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) + { + // InternalScope.g:5059:2: ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) + // InternalScope.g:5060:3: ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); + } + // InternalScope.g:5061:3: ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) + // InternalScope.g:5061:4: rule__XTryCatchFinallyExpression__Group_3_0__0 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0__0(); + state._fsp--; + if (state.failed) return ; - } + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:5065:2: ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) + { + // InternalScope.g:5065:2: ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) + // InternalScope.g:5066:3: ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); + } + // InternalScope.g:5067:3: ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) + // InternalScope.g:5067:4: rule__XTryCatchFinallyExpression__Group_3_1__0 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -17049,27 +18910,84 @@ public final void rule__GlobalScopeExpression__Group_4_5__0__Impl() throws Recog } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_4_5__0__Impl" + // $ANTLR end "rule__XTryCatchFinallyExpression__Alternatives_3" - // $ANTLR start "rule__GlobalScopeExpression__Group_4_5__1" - // InternalScope.g:4956:1: rule__GlobalScopeExpression__Group_4_5__1 : rule__GlobalScopeExpression__Group_4_5__1__Impl ; - public final void rule__GlobalScopeExpression__Group_4_5__1() throws RecognitionException { + // $ANTLR start "rule__Number__Alternatives" + // InternalScope.g:5075:1: rule__Number__Alternatives : ( ( RULE_HEX ) | ( ( rule__Number__Group_1__0 ) ) ); + public final void rule__Number__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4960:1: ( rule__GlobalScopeExpression__Group_4_5__1__Impl ) - // InternalScope.g:4961:2: rule__GlobalScopeExpression__Group_4_5__1__Impl - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_4_5__1__Impl(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:5079:1: ( ( RULE_HEX ) | ( ( rule__Number__Group_1__0 ) ) ) + int alt59=2; + int LA59_0 = input.LA(1); + if ( (LA59_0==RULE_HEX) ) { + alt59=1; } + else if ( ((LA59_0>=RULE_INT && LA59_0<=RULE_DECIMAL)) ) { + alt59=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 59, 0, input); + throw nvae; + } + switch (alt59) { + case 1 : + // InternalScope.g:5080:2: ( RULE_HEX ) + { + // InternalScope.g:5080:2: ( RULE_HEX ) + // InternalScope.g:5081:3: RULE_HEX + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); + } + match(input,RULE_HEX,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:5086:2: ( ( rule__Number__Group_1__0 ) ) + { + // InternalScope.g:5086:2: ( ( rule__Number__Group_1__0 ) ) + // InternalScope.g:5087:3: ( rule__Number__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getGroup_1()); + } + // InternalScope.g:5088:3: ( rule__Number__Group_1__0 ) + // InternalScope.g:5088:4: rule__Number__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__Number__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getGroup_1()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -17082,45 +19000,74 @@ public final void rule__GlobalScopeExpression__Group_4_5__1() throws Recognition } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_4_5__1" + // $ANTLR end "rule__Number__Alternatives" - // $ANTLR start "rule__GlobalScopeExpression__Group_4_5__1__Impl" - // InternalScope.g:4967:1: rule__GlobalScopeExpression__Group_4_5__1__Impl : ( ( rule__GlobalScopeExpression__DataAssignment_4_5_1 ) ) ; - public final void rule__GlobalScopeExpression__Group_4_5__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Number__Alternatives_1_0" + // InternalScope.g:5096:1: rule__Number__Alternatives_1_0 : ( ( RULE_INT ) | ( RULE_DECIMAL ) ); + public final void rule__Number__Alternatives_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4971:1: ( ( ( rule__GlobalScopeExpression__DataAssignment_4_5_1 ) ) ) - // InternalScope.g:4972:1: ( ( rule__GlobalScopeExpression__DataAssignment_4_5_1 ) ) - { - // InternalScope.g:4972:1: ( ( rule__GlobalScopeExpression__DataAssignment_4_5_1 ) ) - // InternalScope.g:4973:2: ( rule__GlobalScopeExpression__DataAssignment_4_5_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getDataAssignment_4_5_1()); - } - // InternalScope.g:4974:2: ( rule__GlobalScopeExpression__DataAssignment_4_5_1 ) - // InternalScope.g:4974:3: rule__GlobalScopeExpression__DataAssignment_4_5_1 - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__DataAssignment_4_5_1(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:5100:1: ( ( RULE_INT ) | ( RULE_DECIMAL ) ) + int alt60=2; + int LA60_0 = input.LA(1); + if ( (LA60_0==RULE_INT) ) { + alt60=1; } - - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getDataAssignment_4_5_1()); + else if ( (LA60_0==RULE_DECIMAL) ) { + alt60=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 60, 0, input); + throw nvae; } + switch (alt60) { + case 1 : + // InternalScope.g:5101:2: ( RULE_INT ) + { + // InternalScope.g:5101:2: ( RULE_INT ) + // InternalScope.g:5102:3: RULE_INT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); + } + } - } + } + break; + case 2 : + // InternalScope.g:5107:2: ( RULE_DECIMAL ) + { + // InternalScope.g:5107:2: ( RULE_DECIMAL ) + // InternalScope.g:5108:3: RULE_DECIMAL + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); + } + match(input,RULE_DECIMAL,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -17133,32 +19080,74 @@ public final void rule__GlobalScopeExpression__Group_4_5__1__Impl() throws Recog } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_4_5__1__Impl" + // $ANTLR end "rule__Number__Alternatives_1_0" - // $ANTLR start "rule__GlobalScopeExpression__Group_5__0" - // InternalScope.g:4983:1: rule__GlobalScopeExpression__Group_5__0 : rule__GlobalScopeExpression__Group_5__0__Impl rule__GlobalScopeExpression__Group_5__1 ; - public final void rule__GlobalScopeExpression__Group_5__0() throws RecognitionException { + // $ANTLR start "rule__Number__Alternatives_1_1_1" + // InternalScope.g:5117:1: rule__Number__Alternatives_1_1_1 : ( ( RULE_INT ) | ( RULE_DECIMAL ) ); + public final void rule__Number__Alternatives_1_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4987:1: ( rule__GlobalScopeExpression__Group_5__0__Impl rule__GlobalScopeExpression__Group_5__1 ) - // InternalScope.g:4988:2: rule__GlobalScopeExpression__Group_5__0__Impl rule__GlobalScopeExpression__Group_5__1 - { - pushFollow(FOLLOW_40); - rule__GlobalScopeExpression__Group_5__0__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_5__1(); + // InternalScope.g:5121:1: ( ( RULE_INT ) | ( RULE_DECIMAL ) ) + int alt61=2; + int LA61_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA61_0==RULE_INT) ) { + alt61=1; + } + else if ( (LA61_0==RULE_DECIMAL) ) { + alt61=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 61, 0, input); + throw nvae; } + switch (alt61) { + case 1 : + // InternalScope.g:5122:2: ( RULE_INT ) + { + // InternalScope.g:5122:2: ( RULE_INT ) + // InternalScope.g:5123:3: RULE_INT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:5128:2: ( RULE_DECIMAL ) + { + // InternalScope.g:5128:2: ( RULE_DECIMAL ) + // InternalScope.g:5129:3: RULE_DECIMAL + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); + } + match(input,RULE_DECIMAL,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -17171,35 +19160,88 @@ public final void rule__GlobalScopeExpression__Group_5__0() throws RecognitionEx } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5__0" + // $ANTLR end "rule__Number__Alternatives_1_1_1" - // $ANTLR start "rule__GlobalScopeExpression__Group_5__0__Impl" - // InternalScope.g:4995:1: rule__GlobalScopeExpression__Group_5__0__Impl : ( ',' ) ; - public final void rule__GlobalScopeExpression__Group_5__0__Impl() throws RecognitionException { + // $ANTLR start "rule__JvmTypeReference__Alternatives" + // InternalScope.g:5138:1: rule__JvmTypeReference__Alternatives : ( ( ( rule__JvmTypeReference__Group_0__0 ) ) | ( ruleXFunctionTypeRef ) ); + public final void rule__JvmTypeReference__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:4999:1: ( ( ',' ) ) - // InternalScope.g:5000:1: ( ',' ) - { - // InternalScope.g:5000:1: ( ',' ) - // InternalScope.g:5001:2: ',' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_0()); + // InternalScope.g:5142:1: ( ( ( rule__JvmTypeReference__Group_0__0 ) ) | ( ruleXFunctionTypeRef ) ) + int alt62=2; + int LA62_0 = input.LA(1); + + if ( (LA62_0==RULE_ID) ) { + alt62=1; } - match(input,60,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_0()); + else if ( (LA62_0==51||LA62_0==77) ) { + alt62=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 62, 0, input); + throw nvae; } + switch (alt62) { + case 1 : + // InternalScope.g:5143:2: ( ( rule__JvmTypeReference__Group_0__0 ) ) + { + // InternalScope.g:5143:2: ( ( rule__JvmTypeReference__Group_0__0 ) ) + // InternalScope.g:5144:3: ( rule__JvmTypeReference__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); + } + // InternalScope.g:5145:3: ( rule__JvmTypeReference__Group_0__0 ) + // InternalScope.g:5145:4: rule__JvmTypeReference__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0__0(); + state._fsp--; + if (state.failed) return ; - } + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); + } + } + + + } + break; + case 2 : + // InternalScope.g:5149:2: ( ruleXFunctionTypeRef ) + { + // InternalScope.g:5149:2: ( ruleXFunctionTypeRef ) + // InternalScope.g:5150:3: ruleXFunctionTypeRef + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXFunctionTypeRef(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); + } + + } + + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -17212,32 +19254,82 @@ public final void rule__GlobalScopeExpression__Group_5__0__Impl() throws Recogni } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5__0__Impl" + // $ANTLR end "rule__JvmTypeReference__Alternatives" - // $ANTLR start "rule__GlobalScopeExpression__Group_5__1" - // InternalScope.g:5010:1: rule__GlobalScopeExpression__Group_5__1 : rule__GlobalScopeExpression__Group_5__1__Impl rule__GlobalScopeExpression__Group_5__2 ; - public final void rule__GlobalScopeExpression__Group_5__1() throws RecognitionException { + // $ANTLR start "rule__JvmArgumentTypeReference__Alternatives" + // InternalScope.g:5159:1: rule__JvmArgumentTypeReference__Alternatives : ( ( ruleJvmTypeReference ) | ( ruleJvmWildcardTypeReference ) ); + public final void rule__JvmArgumentTypeReference__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5014:1: ( rule__GlobalScopeExpression__Group_5__1__Impl rule__GlobalScopeExpression__Group_5__2 ) - // InternalScope.g:5015:2: rule__GlobalScopeExpression__Group_5__1__Impl rule__GlobalScopeExpression__Group_5__2 - { - pushFollow(FOLLOW_16); - rule__GlobalScopeExpression__Group_5__1__Impl(); - - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_5__2(); + // InternalScope.g:5163:1: ( ( ruleJvmTypeReference ) | ( ruleJvmWildcardTypeReference ) ) + int alt63=2; + int LA63_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA63_0==RULE_ID||LA63_0==51||LA63_0==77) ) { + alt63=1; + } + else if ( (LA63_0==96) ) { + alt63=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 63, 0, input); + throw nvae; } + switch (alt63) { + case 1 : + // InternalScope.g:5164:2: ( ruleJvmTypeReference ) + { + // InternalScope.g:5164:2: ( ruleJvmTypeReference ) + // InternalScope.g:5165:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:5170:2: ( ruleJvmWildcardTypeReference ) + { + // InternalScope.g:5170:2: ( ruleJvmWildcardTypeReference ) + // InternalScope.g:5171:3: ruleJvmWildcardTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleJvmWildcardTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -17250,35 +19342,94 @@ public final void rule__GlobalScopeExpression__Group_5__1() throws RecognitionEx } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5__1" + // $ANTLR end "rule__JvmArgumentTypeReference__Alternatives" - // $ANTLR start "rule__GlobalScopeExpression__Group_5__1__Impl" - // InternalScope.g:5022:1: rule__GlobalScopeExpression__Group_5__1__Impl : ( 'domains' ) ; - public final void rule__GlobalScopeExpression__Group_5__1__Impl() throws RecognitionException { + // $ANTLR start "rule__JvmWildcardTypeReference__Alternatives_2" + // InternalScope.g:5180:1: rule__JvmWildcardTypeReference__Alternatives_2 : ( ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) | ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) ); + public final void rule__JvmWildcardTypeReference__Alternatives_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5026:1: ( ( 'domains' ) ) - // InternalScope.g:5027:1: ( 'domains' ) - { - // InternalScope.g:5027:1: ( 'domains' ) - // InternalScope.g:5028:2: 'domains' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsKeyword_5_1()); + // InternalScope.g:5184:1: ( ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) | ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) ) + int alt64=2; + int LA64_0 = input.LA(1); + + if ( (LA64_0==60) ) { + alt64=1; } - match(input,65,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsKeyword_5_1()); + else if ( (LA64_0==64) ) { + alt64=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 64, 0, input); + throw nvae; } + switch (alt64) { + case 1 : + // InternalScope.g:5185:2: ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) + { + // InternalScope.g:5185:2: ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) + // InternalScope.g:5186:3: ( rule__JvmWildcardTypeReference__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); + } + // InternalScope.g:5187:3: ( rule__JvmWildcardTypeReference__Group_2_0__0 ) + // InternalScope.g:5187:4: rule__JvmWildcardTypeReference__Group_2_0__0 + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_0__0(); + + state._fsp--; + if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:5191:2: ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) + { + // InternalScope.g:5191:2: ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) + // InternalScope.g:5192:3: ( rule__JvmWildcardTypeReference__Group_2_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); + } + // InternalScope.g:5193:3: ( rule__JvmWildcardTypeReference__Group_2_1__0 ) + // InternalScope.g:5193:4: rule__JvmWildcardTypeReference__Group_2_1__0 + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); + } + + } + + + } + break; + } } catch (RecognitionException re) { reportError(re); @@ -17291,32 +19442,109 @@ public final void rule__GlobalScopeExpression__Group_5__1__Impl() throws Recogni } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5__1__Impl" + // $ANTLR end "rule__JvmWildcardTypeReference__Alternatives_2" - // $ANTLR start "rule__GlobalScopeExpression__Group_5__2" - // InternalScope.g:5037:1: rule__GlobalScopeExpression__Group_5__2 : rule__GlobalScopeExpression__Group_5__2__Impl rule__GlobalScopeExpression__Group_5__3 ; - public final void rule__GlobalScopeExpression__Group_5__2() throws RecognitionException { + // $ANTLR start "rule__XImportDeclaration__Alternatives_1" + // InternalScope.g:5201:1: rule__XImportDeclaration__Alternatives_1 : ( ( ( rule__XImportDeclaration__Group_1_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) ) ); + public final void rule__XImportDeclaration__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5041:1: ( rule__GlobalScopeExpression__Group_5__2__Impl rule__GlobalScopeExpression__Group_5__3 ) - // InternalScope.g:5042:2: rule__GlobalScopeExpression__Group_5__2__Impl rule__GlobalScopeExpression__Group_5__3 - { - pushFollow(FOLLOW_41); - rule__GlobalScopeExpression__Group_5__2__Impl(); + // InternalScope.g:5205:1: ( ( ( rule__XImportDeclaration__Group_1_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) ) ) + int alt65=3; + alt65 = dfa65.predict(input); + switch (alt65) { + case 1 : + // InternalScope.g:5206:2: ( ( rule__XImportDeclaration__Group_1_0__0 ) ) + { + // InternalScope.g:5206:2: ( ( rule__XImportDeclaration__Group_1_0__0 ) ) + // InternalScope.g:5207:3: ( rule__XImportDeclaration__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); + } + // InternalScope.g:5208:3: ( rule__XImportDeclaration__Group_1_0__0 ) + // InternalScope.g:5208:4: rule__XImportDeclaration__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group_1_0__0(); - state._fsp--; - if (state.failed) return ; - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_5__3(); + state._fsp--; + if (state.failed) return ; - state._fsp--; - if (state.failed) return ; + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:5212:2: ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) ) + { + // InternalScope.g:5212:2: ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) ) + // InternalScope.g:5213:3: ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); + } + // InternalScope.g:5214:3: ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) + // InternalScope.g:5214:4: rule__XImportDeclaration__ImportedTypeAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__ImportedTypeAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); + } + + } + + + } + break; + case 3 : + // InternalScope.g:5218:2: ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) ) + { + // InternalScope.g:5218:2: ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) ) + // InternalScope.g:5219:3: ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); + } + // InternalScope.g:5220:3: ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) + // InternalScope.g:5220:4: rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__ImportedNamespaceAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); + } + + } - } + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -17329,35 +19557,94 @@ public final void rule__GlobalScopeExpression__Group_5__2() throws RecognitionEx } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5__2" + // $ANTLR end "rule__XImportDeclaration__Alternatives_1" - // $ANTLR start "rule__GlobalScopeExpression__Group_5__2__Impl" - // InternalScope.g:5049:1: rule__GlobalScopeExpression__Group_5__2__Impl : ( '=' ) ; - public final void rule__GlobalScopeExpression__Group_5__2__Impl() throws RecognitionException { + // $ANTLR start "rule__XImportDeclaration__Alternatives_1_0_3" + // InternalScope.g:5228:1: rule__XImportDeclaration__Alternatives_1_0_3 : ( ( ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) ) | ( ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) ) ); + public final void rule__XImportDeclaration__Alternatives_1_0_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5053:1: ( ( '=' ) ) - // InternalScope.g:5054:1: ( '=' ) - { - // InternalScope.g:5054:1: ( '=' ) - // InternalScope.g:5055:2: '=' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_5_2()); + // InternalScope.g:5232:1: ( ( ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) ) | ( ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) ) ) + int alt66=2; + int LA66_0 = input.LA(1); + + if ( (LA66_0==25) ) { + alt66=1; } - match(input,48,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_5_2()); + else if ( (LA66_0==RULE_ID) ) { + alt66=2; } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 66, 0, input); + throw nvae; } + switch (alt66) { + case 1 : + // InternalScope.g:5233:2: ( ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) ) + { + // InternalScope.g:5233:2: ( ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) ) + // InternalScope.g:5234:3: ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); + } + // InternalScope.g:5235:3: ( rule__XImportDeclaration__WildcardAssignment_1_0_3_0 ) + // InternalScope.g:5235:4: rule__XImportDeclaration__WildcardAssignment_1_0_3_0 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__WildcardAssignment_1_0_3_0(); + + state._fsp--; + if (state.failed) return ; + } - } + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:5239:2: ( ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) ) + { + // InternalScope.g:5239:2: ( ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) ) + // InternalScope.g:5240:3: ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); + } + // InternalScope.g:5241:3: ( rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 ) + // InternalScope.g:5241:4: rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__MemberNameAssignment_1_0_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -17370,27 +19657,86 @@ public final void rule__GlobalScopeExpression__Group_5__2__Impl() throws Recogni } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5__2__Impl" + // $ANTLR end "rule__XImportDeclaration__Alternatives_1_0_3" - // $ANTLR start "rule__GlobalScopeExpression__Group_5__3" - // InternalScope.g:5064:1: rule__GlobalScopeExpression__Group_5__3 : rule__GlobalScopeExpression__Group_5__3__Impl ; - public final void rule__GlobalScopeExpression__Group_5__3() throws RecognitionException { + // $ANTLR start "rule__Casing__Alternatives" + // InternalScope.g:5249:1: rule__Casing__Alternatives : ( ( ( 'sensitive' ) ) | ( ( 'insensitive' ) ) ); + public final void rule__Casing__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5068:1: ( rule__GlobalScopeExpression__Group_5__3__Impl ) - // InternalScope.g:5069:2: rule__GlobalScopeExpression__Group_5__3__Impl - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_5__3__Impl(); + // InternalScope.g:5253:1: ( ( ( 'sensitive' ) ) | ( ( 'insensitive' ) ) ) + int alt67=2; + int LA67_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA67_0==65) ) { + alt67=1; + } + else if ( (LA67_0==66) ) { + alt67=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 67, 0, input); + throw nvae; } + switch (alt67) { + case 1 : + // InternalScope.g:5254:2: ( ( 'sensitive' ) ) + { + // InternalScope.g:5254:2: ( ( 'sensitive' ) ) + // InternalScope.g:5255:3: ( 'sensitive' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCasingAccess().getSENSITIVEEnumLiteralDeclaration_0()); + } + // InternalScope.g:5256:3: ( 'sensitive' ) + // InternalScope.g:5256:4: 'sensitive' + { + match(input,65,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCasingAccess().getSENSITIVEEnumLiteralDeclaration_0()); + } + + } + + + } + break; + case 2 : + // InternalScope.g:5260:2: ( ( 'insensitive' ) ) + { + // InternalScope.g:5260:2: ( ( 'insensitive' ) ) + // InternalScope.g:5261:3: ( 'insensitive' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCasingAccess().getINSENSITIVEEnumLiteralDeclaration_1()); + } + // InternalScope.g:5262:3: ( 'insensitive' ) + // InternalScope.g:5262:4: 'insensitive' + { + match(input,66,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCasingAccess().getINSENSITIVEEnumLiteralDeclaration_1()); + } + + } + + } + break; + + } } catch (RecognitionException re) { reportError(re); @@ -17403,42 +19749,29 @@ public final void rule__GlobalScopeExpression__Group_5__3() throws RecognitionEx } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5__3" + // $ANTLR end "rule__Casing__Alternatives" - // $ANTLR start "rule__GlobalScopeExpression__Group_5__3__Impl" - // InternalScope.g:5075:1: rule__GlobalScopeExpression__Group_5__3__Impl : ( ( rule__GlobalScopeExpression__Alternatives_5_3 ) ) ; - public final void rule__GlobalScopeExpression__Group_5__3__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group__0" + // InternalScope.g:5270:1: rule__ScopeModel__Group__0 : rule__ScopeModel__Group__0__Impl rule__ScopeModel__Group__1 ; + public final void rule__ScopeModel__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5079:1: ( ( ( rule__GlobalScopeExpression__Alternatives_5_3 ) ) ) - // InternalScope.g:5080:1: ( ( rule__GlobalScopeExpression__Alternatives_5_3 ) ) - { - // InternalScope.g:5080:1: ( ( rule__GlobalScopeExpression__Alternatives_5_3 ) ) - // InternalScope.g:5081:2: ( rule__GlobalScopeExpression__Alternatives_5_3 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getAlternatives_5_3()); - } - // InternalScope.g:5082:2: ( rule__GlobalScopeExpression__Alternatives_5_3 ) - // InternalScope.g:5082:3: rule__GlobalScopeExpression__Alternatives_5_3 + // InternalScope.g:5274:1: ( rule__ScopeModel__Group__0__Impl rule__ScopeModel__Group__1 ) + // InternalScope.g:5275:2: rule__ScopeModel__Group__0__Impl rule__ScopeModel__Group__1 { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Alternatives_5_3(); + pushFollow(FOLLOW_4); + rule__ScopeModel__Group__0__Impl(); state._fsp--; if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ScopeModel__Group__1(); - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getAlternatives_5_3()); - } - - } - + state._fsp--; + if (state.failed) return ; } @@ -17454,26 +19787,67 @@ public final void rule__GlobalScopeExpression__Group_5__3__Impl() throws Recogni } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5__3__Impl" + // $ANTLR end "rule__ScopeModel__Group__0" - // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2__0" - // InternalScope.g:5091:1: rule__GlobalScopeExpression__Group_5_3_2__0 : rule__GlobalScopeExpression__Group_5_3_2__0__Impl rule__GlobalScopeExpression__Group_5_3_2__1 ; - public final void rule__GlobalScopeExpression__Group_5_3_2__0() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group__0__Impl" + // InternalScope.g:5282:1: rule__ScopeModel__Group__0__Impl : ( 'scoping' ) ; + public final void rule__ScopeModel__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5095:1: ( rule__GlobalScopeExpression__Group_5_3_2__0__Impl rule__GlobalScopeExpression__Group_5_3_2__1 ) - // InternalScope.g:5096:2: rule__GlobalScopeExpression__Group_5_3_2__0__Impl rule__GlobalScopeExpression__Group_5_3_2__1 + // InternalScope.g:5286:1: ( ( 'scoping' ) ) + // InternalScope.g:5287:1: ( 'scoping' ) { - pushFollow(FOLLOW_3); - rule__GlobalScopeExpression__Group_5_3_2__0__Impl(); + // InternalScope.g:5287:1: ( 'scoping' ) + // InternalScope.g:5288:2: 'scoping' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeModelAccess().getScopingKeyword_0()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeModelAccess().getScopingKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeModel__Group__0__Impl" + + + // $ANTLR start "rule__ScopeModel__Group__1" + // InternalScope.g:5297:1: rule__ScopeModel__Group__1 : rule__ScopeModel__Group__1__Impl rule__ScopeModel__Group__2 ; + public final void rule__ScopeModel__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:5301:1: ( rule__ScopeModel__Group__1__Impl rule__ScopeModel__Group__2 ) + // InternalScope.g:5302:2: rule__ScopeModel__Group__1__Impl rule__ScopeModel__Group__2 + { + pushFollow(FOLLOW_5); + rule__ScopeModel__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_5_3_2__1(); + rule__ScopeModel__Group__2(); state._fsp--; if (state.failed) return ; @@ -17492,28 +19866,38 @@ public final void rule__GlobalScopeExpression__Group_5_3_2__0() throws Recogniti } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2__0" + // $ANTLR end "rule__ScopeModel__Group__1" - // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2__0__Impl" - // InternalScope.g:5103:1: rule__GlobalScopeExpression__Group_5_3_2__0__Impl : ( '(' ) ; - public final void rule__GlobalScopeExpression__Group_5_3_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group__1__Impl" + // InternalScope.g:5309:1: rule__ScopeModel__Group__1__Impl : ( ( rule__ScopeModel__NameAssignment_1 ) ) ; + public final void rule__ScopeModel__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5107:1: ( ( '(' ) ) - // InternalScope.g:5108:1: ( '(' ) + // InternalScope.g:5313:1: ( ( ( rule__ScopeModel__NameAssignment_1 ) ) ) + // InternalScope.g:5314:1: ( ( rule__ScopeModel__NameAssignment_1 ) ) { - // InternalScope.g:5108:1: ( '(' ) - // InternalScope.g:5109:2: '(' + // InternalScope.g:5314:1: ( ( rule__ScopeModel__NameAssignment_1 ) ) + // InternalScope.g:5315:2: ( rule__ScopeModel__NameAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_5_3_2_0()); + before(grammarAccess.getScopeModelAccess().getNameAssignment_1()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:5316:2: ( rule__ScopeModel__NameAssignment_1 ) + // InternalScope.g:5316:3: rule__ScopeModel__NameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__ScopeModel__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_5_3_2_0()); + after(grammarAccess.getScopeModelAccess().getNameAssignment_1()); } } @@ -17533,26 +19917,26 @@ public final void rule__GlobalScopeExpression__Group_5_3_2__0__Impl() throws Rec } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2__0__Impl" + // $ANTLR end "rule__ScopeModel__Group__1__Impl" - // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2__1" - // InternalScope.g:5118:1: rule__GlobalScopeExpression__Group_5_3_2__1 : rule__GlobalScopeExpression__Group_5_3_2__1__Impl rule__GlobalScopeExpression__Group_5_3_2__2 ; - public final void rule__GlobalScopeExpression__Group_5_3_2__1() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group__2" + // InternalScope.g:5324:1: rule__ScopeModel__Group__2 : rule__ScopeModel__Group__2__Impl rule__ScopeModel__Group__3 ; + public final void rule__ScopeModel__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5122:1: ( rule__GlobalScopeExpression__Group_5_3_2__1__Impl rule__GlobalScopeExpression__Group_5_3_2__2 ) - // InternalScope.g:5123:2: rule__GlobalScopeExpression__Group_5_3_2__1__Impl rule__GlobalScopeExpression__Group_5_3_2__2 + // InternalScope.g:5328:1: ( rule__ScopeModel__Group__2__Impl rule__ScopeModel__Group__3 ) + // InternalScope.g:5329:2: rule__ScopeModel__Group__2__Impl rule__ScopeModel__Group__3 { - pushFollow(FOLLOW_33); - rule__GlobalScopeExpression__Group_5_3_2__1__Impl(); + pushFollow(FOLLOW_5); + rule__ScopeModel__Group__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_5_3_2__2(); + rule__ScopeModel__Group__3(); state._fsp--; if (state.failed) return ; @@ -17571,38 +19955,49 @@ public final void rule__GlobalScopeExpression__Group_5_3_2__1() throws Recogniti } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2__1" + // $ANTLR end "rule__ScopeModel__Group__2" - // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2__1__Impl" - // InternalScope.g:5130:1: rule__GlobalScopeExpression__Group_5_3_2__1__Impl : ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 ) ) ; - public final void rule__GlobalScopeExpression__Group_5_3_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group__2__Impl" + // InternalScope.g:5336:1: rule__ScopeModel__Group__2__Impl : ( ( rule__ScopeModel__Group_2__0 )? ) ; + public final void rule__ScopeModel__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5134:1: ( ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 ) ) ) - // InternalScope.g:5135:1: ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 ) ) + // InternalScope.g:5340:1: ( ( ( rule__ScopeModel__Group_2__0 )? ) ) + // InternalScope.g:5341:1: ( ( rule__ScopeModel__Group_2__0 )? ) { - // InternalScope.g:5135:1: ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 ) ) - // InternalScope.g:5136:2: ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 ) + // InternalScope.g:5341:1: ( ( rule__ScopeModel__Group_2__0 )? ) + // InternalScope.g:5342:2: ( rule__ScopeModel__Group_2__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_2_1()); + before(grammarAccess.getScopeModelAccess().getGroup_2()); } - // InternalScope.g:5137:2: ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 ) - // InternalScope.g:5137:3: rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1(); + // InternalScope.g:5343:2: ( rule__ScopeModel__Group_2__0 )? + int alt68=2; + int LA68_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA68_0==68) ) { + alt68=1; + } + switch (alt68) { + case 1 : + // InternalScope.g:5343:3: rule__ScopeModel__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__ScopeModel__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; } if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_2_1()); + after(grammarAccess.getScopeModelAccess().getGroup_2()); } } @@ -17622,26 +20017,26 @@ public final void rule__GlobalScopeExpression__Group_5_3_2__1__Impl() throws Rec } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2__1__Impl" + // $ANTLR end "rule__ScopeModel__Group__2__Impl" - // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2__2" - // InternalScope.g:5145:1: rule__GlobalScopeExpression__Group_5_3_2__2 : rule__GlobalScopeExpression__Group_5_3_2__2__Impl rule__GlobalScopeExpression__Group_5_3_2__3 ; - public final void rule__GlobalScopeExpression__Group_5_3_2__2() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group__3" + // InternalScope.g:5351:1: rule__ScopeModel__Group__3 : rule__ScopeModel__Group__3__Impl rule__ScopeModel__Group__4 ; + public final void rule__ScopeModel__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5149:1: ( rule__GlobalScopeExpression__Group_5_3_2__2__Impl rule__GlobalScopeExpression__Group_5_3_2__3 ) - // InternalScope.g:5150:2: rule__GlobalScopeExpression__Group_5_3_2__2__Impl rule__GlobalScopeExpression__Group_5_3_2__3 + // InternalScope.g:5355:1: ( rule__ScopeModel__Group__3__Impl rule__ScopeModel__Group__4 ) + // InternalScope.g:5356:2: rule__ScopeModel__Group__3__Impl rule__ScopeModel__Group__4 { - pushFollow(FOLLOW_33); - rule__GlobalScopeExpression__Group_5_3_2__2__Impl(); + pushFollow(FOLLOW_5); + rule__ScopeModel__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_5_3_2__3(); + rule__ScopeModel__Group__4(); state._fsp--; if (state.failed) return ; @@ -17660,42 +20055,42 @@ public final void rule__GlobalScopeExpression__Group_5_3_2__2() throws Recogniti } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2__2" + // $ANTLR end "rule__ScopeModel__Group__3" - // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2__2__Impl" - // InternalScope.g:5157:1: rule__GlobalScopeExpression__Group_5_3_2__2__Impl : ( ( rule__GlobalScopeExpression__Group_5_3_2_2__0 )* ) ; - public final void rule__GlobalScopeExpression__Group_5_3_2__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group__3__Impl" + // InternalScope.g:5363:1: rule__ScopeModel__Group__3__Impl : ( ( rule__ScopeModel__ImportsAssignment_3 )* ) ; + public final void rule__ScopeModel__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5161:1: ( ( ( rule__GlobalScopeExpression__Group_5_3_2_2__0 )* ) ) - // InternalScope.g:5162:1: ( ( rule__GlobalScopeExpression__Group_5_3_2_2__0 )* ) + // InternalScope.g:5367:1: ( ( ( rule__ScopeModel__ImportsAssignment_3 )* ) ) + // InternalScope.g:5368:1: ( ( rule__ScopeModel__ImportsAssignment_3 )* ) { - // InternalScope.g:5162:1: ( ( rule__GlobalScopeExpression__Group_5_3_2_2__0 )* ) - // InternalScope.g:5163:2: ( rule__GlobalScopeExpression__Group_5_3_2_2__0 )* + // InternalScope.g:5368:1: ( ( rule__ScopeModel__ImportsAssignment_3 )* ) + // InternalScope.g:5369:2: ( rule__ScopeModel__ImportsAssignment_3 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5_3_2_2()); + before(grammarAccess.getScopeModelAccess().getImportsAssignment_3()); } - // InternalScope.g:5164:2: ( rule__GlobalScopeExpression__Group_5_3_2_2__0 )* - loop49: + // InternalScope.g:5370:2: ( rule__ScopeModel__ImportsAssignment_3 )* + loop69: do { - int alt49=2; - int LA49_0 = input.LA(1); + int alt69=2; + int LA69_0 = input.LA(1); - if ( (LA49_0==60) ) { - alt49=1; + if ( (LA69_0==62) ) { + alt69=1; } - switch (alt49) { + switch (alt69) { case 1 : - // InternalScope.g:5164:3: rule__GlobalScopeExpression__Group_5_3_2_2__0 + // InternalScope.g:5370:3: rule__ScopeModel__ImportsAssignment_3 { - pushFollow(FOLLOW_39); - rule__GlobalScopeExpression__Group_5_3_2_2__0(); + pushFollow(FOLLOW_6); + rule__ScopeModel__ImportsAssignment_3(); state._fsp--; if (state.failed) return ; @@ -17704,12 +20099,12 @@ public final void rule__GlobalScopeExpression__Group_5_3_2__2__Impl() throws Rec break; default : - break loop49; + break loop69; } } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5_3_2_2()); + after(grammarAccess.getScopeModelAccess().getImportsAssignment_3()); } } @@ -17729,21 +20124,26 @@ public final void rule__GlobalScopeExpression__Group_5_3_2__2__Impl() throws Rec } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2__2__Impl" + // $ANTLR end "rule__ScopeModel__Group__3__Impl" - // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2__3" - // InternalScope.g:5172:1: rule__GlobalScopeExpression__Group_5_3_2__3 : rule__GlobalScopeExpression__Group_5_3_2__3__Impl ; - public final void rule__GlobalScopeExpression__Group_5_3_2__3() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group__4" + // InternalScope.g:5378:1: rule__ScopeModel__Group__4 : rule__ScopeModel__Group__4__Impl rule__ScopeModel__Group__5 ; + public final void rule__ScopeModel__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5176:1: ( rule__GlobalScopeExpression__Group_5_3_2__3__Impl ) - // InternalScope.g:5177:2: rule__GlobalScopeExpression__Group_5_3_2__3__Impl + // InternalScope.g:5382:1: ( rule__ScopeModel__Group__4__Impl rule__ScopeModel__Group__5 ) + // InternalScope.g:5383:2: rule__ScopeModel__Group__4__Impl rule__ScopeModel__Group__5 { + pushFollow(FOLLOW_5); + rule__ScopeModel__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_5_3_2__3__Impl(); + rule__ScopeModel__Group__5(); state._fsp--; if (state.failed) return ; @@ -17762,28 +20162,56 @@ public final void rule__GlobalScopeExpression__Group_5_3_2__3() throws Recogniti } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2__3" + // $ANTLR end "rule__ScopeModel__Group__4" - // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2__3__Impl" - // InternalScope.g:5183:1: rule__GlobalScopeExpression__Group_5_3_2__3__Impl : ( ')' ) ; - public final void rule__GlobalScopeExpression__Group_5_3_2__3__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group__4__Impl" + // InternalScope.g:5390:1: rule__ScopeModel__Group__4__Impl : ( ( rule__ScopeModel__ExtensionsAssignment_4 )* ) ; + public final void rule__ScopeModel__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5187:1: ( ( ')' ) ) - // InternalScope.g:5188:1: ( ')' ) + // InternalScope.g:5394:1: ( ( ( rule__ScopeModel__ExtensionsAssignment_4 )* ) ) + // InternalScope.g:5395:1: ( ( rule__ScopeModel__ExtensionsAssignment_4 )* ) { - // InternalScope.g:5188:1: ( ')' ) - // InternalScope.g:5189:2: ')' + // InternalScope.g:5395:1: ( ( rule__ScopeModel__ExtensionsAssignment_4 )* ) + // InternalScope.g:5396:2: ( rule__ScopeModel__ExtensionsAssignment_4 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_5_3_2_3()); + before(grammarAccess.getScopeModelAccess().getExtensionsAssignment_4()); } - match(input,52,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:5397:2: ( rule__ScopeModel__ExtensionsAssignment_4 )* + loop70: + do { + int alt70=2; + int LA70_0 = input.LA(1); + + if ( (LA70_0==63) ) { + alt70=1; + } + + + switch (alt70) { + case 1 : + // InternalScope.g:5397:3: rule__ScopeModel__ExtensionsAssignment_4 + { + pushFollow(FOLLOW_7); + rule__ScopeModel__ExtensionsAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop70; + } + } while (true); + if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_5_3_2_3()); + after(grammarAccess.getScopeModelAccess().getExtensionsAssignment_4()); } } @@ -17803,26 +20231,26 @@ public final void rule__GlobalScopeExpression__Group_5_3_2__3__Impl() throws Rec } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2__3__Impl" + // $ANTLR end "rule__ScopeModel__Group__4__Impl" - // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2_2__0" - // InternalScope.g:5199:1: rule__GlobalScopeExpression__Group_5_3_2_2__0 : rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl rule__GlobalScopeExpression__Group_5_3_2_2__1 ; - public final void rule__GlobalScopeExpression__Group_5_3_2_2__0() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group__5" + // InternalScope.g:5405:1: rule__ScopeModel__Group__5 : rule__ScopeModel__Group__5__Impl rule__ScopeModel__Group__6 ; + public final void rule__ScopeModel__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5203:1: ( rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl rule__GlobalScopeExpression__Group_5_3_2_2__1 ) - // InternalScope.g:5204:2: rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl rule__GlobalScopeExpression__Group_5_3_2_2__1 + // InternalScope.g:5409:1: ( rule__ScopeModel__Group__5__Impl rule__ScopeModel__Group__6 ) + // InternalScope.g:5410:2: rule__ScopeModel__Group__5__Impl rule__ScopeModel__Group__6 { - pushFollow(FOLLOW_3); - rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl(); + pushFollow(FOLLOW_5); + rule__ScopeModel__Group__5__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_5_3_2_2__1(); + rule__ScopeModel__Group__6(); state._fsp--; if (state.failed) return ; @@ -17841,28 +20269,56 @@ public final void rule__GlobalScopeExpression__Group_5_3_2_2__0() throws Recogni } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2_2__0" + // $ANTLR end "rule__ScopeModel__Group__5" - // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl" - // InternalScope.g:5211:1: rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl : ( ',' ) ; - public final void rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group__5__Impl" + // InternalScope.g:5417:1: rule__ScopeModel__Group__5__Impl : ( ( rule__ScopeModel__InjectionsAssignment_5 )* ) ; + public final void rule__ScopeModel__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5215:1: ( ( ',' ) ) - // InternalScope.g:5216:1: ( ',' ) + // InternalScope.g:5421:1: ( ( ( rule__ScopeModel__InjectionsAssignment_5 )* ) ) + // InternalScope.g:5422:1: ( ( rule__ScopeModel__InjectionsAssignment_5 )* ) { - // InternalScope.g:5216:1: ( ',' ) - // InternalScope.g:5217:2: ',' + // InternalScope.g:5422:1: ( ( rule__ScopeModel__InjectionsAssignment_5 )* ) + // InternalScope.g:5423:2: ( rule__ScopeModel__InjectionsAssignment_5 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_3_2_2_0()); + before(grammarAccess.getScopeModelAccess().getInjectionsAssignment_5()); } - match(input,60,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:5424:2: ( rule__ScopeModel__InjectionsAssignment_5 )* + loop71: + do { + int alt71=2; + int LA71_0 = input.LA(1); + + if ( (LA71_0==70) ) { + alt71=1; + } + + + switch (alt71) { + case 1 : + // InternalScope.g:5424:3: rule__ScopeModel__InjectionsAssignment_5 + { + pushFollow(FOLLOW_8); + rule__ScopeModel__InjectionsAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop71; + } + } while (true); + if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_3_2_2_0()); + after(grammarAccess.getScopeModelAccess().getInjectionsAssignment_5()); } } @@ -17882,21 +20338,26 @@ public final void rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl() throws R } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl" + // $ANTLR end "rule__ScopeModel__Group__5__Impl" - // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2_2__1" - // InternalScope.g:5226:1: rule__GlobalScopeExpression__Group_5_3_2_2__1 : rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl ; - public final void rule__GlobalScopeExpression__Group_5_3_2_2__1() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group__6" + // InternalScope.g:5432:1: rule__ScopeModel__Group__6 : rule__ScopeModel__Group__6__Impl rule__ScopeModel__Group__7 ; + public final void rule__ScopeModel__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5230:1: ( rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl ) - // InternalScope.g:5231:2: rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl + // InternalScope.g:5436:1: ( rule__ScopeModel__Group__6__Impl rule__ScopeModel__Group__7 ) + // InternalScope.g:5437:2: rule__ScopeModel__Group__6__Impl rule__ScopeModel__Group__7 { + pushFollow(FOLLOW_5); + rule__ScopeModel__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl(); + rule__ScopeModel__Group__7(); state._fsp--; if (state.failed) return ; @@ -17915,38 +20376,49 @@ public final void rule__GlobalScopeExpression__Group_5_3_2_2__1() throws Recogni } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2_2__1" + // $ANTLR end "rule__ScopeModel__Group__6" - // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl" - // InternalScope.g:5237:1: rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl : ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 ) ) ; - public final void rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group__6__Impl" + // InternalScope.g:5444:1: rule__ScopeModel__Group__6__Impl : ( ( rule__ScopeModel__NamingAssignment_6 )? ) ; + public final void rule__ScopeModel__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5241:1: ( ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 ) ) ) - // InternalScope.g:5242:1: ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 ) ) + // InternalScope.g:5448:1: ( ( ( rule__ScopeModel__NamingAssignment_6 )? ) ) + // InternalScope.g:5449:1: ( ( rule__ScopeModel__NamingAssignment_6 )? ) { - // InternalScope.g:5242:1: ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 ) ) - // InternalScope.g:5243:2: ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 ) + // InternalScope.g:5449:1: ( ( rule__ScopeModel__NamingAssignment_6 )? ) + // InternalScope.g:5450:2: ( rule__ScopeModel__NamingAssignment_6 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_2_2_1()); + before(grammarAccess.getScopeModelAccess().getNamingAssignment_6()); } - // InternalScope.g:5244:2: ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 ) - // InternalScope.g:5244:3: rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 - { - pushFollow(FOLLOW_2); - rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1(); + // InternalScope.g:5451:2: ( rule__ScopeModel__NamingAssignment_6 )? + int alt72=2; + int LA72_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA72_0==71||LA72_0==74) ) { + alt72=1; + } + switch (alt72) { + case 1 : + // InternalScope.g:5451:3: rule__ScopeModel__NamingAssignment_6 + { + pushFollow(FOLLOW_2); + rule__ScopeModel__NamingAssignment_6(); + + state._fsp--; + if (state.failed) return ; + + } + break; } if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_2_2_1()); + after(grammarAccess.getScopeModelAccess().getNamingAssignment_6()); } } @@ -17966,26 +20438,21 @@ public final void rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl() throws R } return ; } - // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl" + // $ANTLR end "rule__ScopeModel__Group__6__Impl" - // $ANTLR start "rule__MatchDataExpression__Group__0" - // InternalScope.g:5253:1: rule__MatchDataExpression__Group__0 : rule__MatchDataExpression__Group__0__Impl rule__MatchDataExpression__Group__1 ; - public final void rule__MatchDataExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group__7" + // InternalScope.g:5459:1: rule__ScopeModel__Group__7 : rule__ScopeModel__Group__7__Impl ; + public final void rule__ScopeModel__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5257:1: ( rule__MatchDataExpression__Group__0__Impl rule__MatchDataExpression__Group__1 ) - // InternalScope.g:5258:2: rule__MatchDataExpression__Group__0__Impl rule__MatchDataExpression__Group__1 + // InternalScope.g:5463:1: ( rule__ScopeModel__Group__7__Impl ) + // InternalScope.g:5464:2: rule__ScopeModel__Group__7__Impl { - pushFollow(FOLLOW_16); - rule__MatchDataExpression__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__MatchDataExpression__Group__1(); + rule__ScopeModel__Group__7__Impl(); state._fsp--; if (state.failed) return ; @@ -18004,38 +20471,56 @@ public final void rule__MatchDataExpression__Group__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__MatchDataExpression__Group__0" + // $ANTLR end "rule__ScopeModel__Group__7" - // $ANTLR start "rule__MatchDataExpression__Group__0__Impl" - // InternalScope.g:5265:1: rule__MatchDataExpression__Group__0__Impl : ( ( rule__MatchDataExpression__KeyAssignment_0 ) ) ; - public final void rule__MatchDataExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group__7__Impl" + // InternalScope.g:5470:1: rule__ScopeModel__Group__7__Impl : ( ( rule__ScopeModel__ScopesAssignment_7 )* ) ; + public final void rule__ScopeModel__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5269:1: ( ( ( rule__MatchDataExpression__KeyAssignment_0 ) ) ) - // InternalScope.g:5270:1: ( ( rule__MatchDataExpression__KeyAssignment_0 ) ) + // InternalScope.g:5474:1: ( ( ( rule__ScopeModel__ScopesAssignment_7 )* ) ) + // InternalScope.g:5475:1: ( ( rule__ScopeModel__ScopesAssignment_7 )* ) { - // InternalScope.g:5270:1: ( ( rule__MatchDataExpression__KeyAssignment_0 ) ) - // InternalScope.g:5271:2: ( rule__MatchDataExpression__KeyAssignment_0 ) + // InternalScope.g:5475:1: ( ( rule__ScopeModel__ScopesAssignment_7 )* ) + // InternalScope.g:5476:2: ( rule__ScopeModel__ScopesAssignment_7 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getMatchDataExpressionAccess().getKeyAssignment_0()); + before(grammarAccess.getScopeModelAccess().getScopesAssignment_7()); } - // InternalScope.g:5272:2: ( rule__MatchDataExpression__KeyAssignment_0 ) - // InternalScope.g:5272:3: rule__MatchDataExpression__KeyAssignment_0 - { - pushFollow(FOLLOW_2); - rule__MatchDataExpression__KeyAssignment_0(); + // InternalScope.g:5477:2: ( rule__ScopeModel__ScopesAssignment_7 )* + loop73: + do { + int alt73=2; + int LA73_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA73_0==76) ) { + alt73=1; + } - } + + switch (alt73) { + case 1 : + // InternalScope.g:5477:3: rule__ScopeModel__ScopesAssignment_7 + { + pushFollow(FOLLOW_9); + rule__ScopeModel__ScopesAssignment_7(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop73; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getMatchDataExpressionAccess().getKeyAssignment_0()); + after(grammarAccess.getScopeModelAccess().getScopesAssignment_7()); } } @@ -18055,26 +20540,26 @@ public final void rule__MatchDataExpression__Group__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__MatchDataExpression__Group__0__Impl" + // $ANTLR end "rule__ScopeModel__Group__7__Impl" - // $ANTLR start "rule__MatchDataExpression__Group__1" - // InternalScope.g:5280:1: rule__MatchDataExpression__Group__1 : rule__MatchDataExpression__Group__1__Impl rule__MatchDataExpression__Group__2 ; - public final void rule__MatchDataExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group_2__0" + // InternalScope.g:5486:1: rule__ScopeModel__Group_2__0 : rule__ScopeModel__Group_2__0__Impl rule__ScopeModel__Group_2__1 ; + public final void rule__ScopeModel__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5284:1: ( rule__MatchDataExpression__Group__1__Impl rule__MatchDataExpression__Group__2 ) - // InternalScope.g:5285:2: rule__MatchDataExpression__Group__1__Impl rule__MatchDataExpression__Group__2 + // InternalScope.g:5490:1: ( rule__ScopeModel__Group_2__0__Impl rule__ScopeModel__Group_2__1 ) + // InternalScope.g:5491:2: rule__ScopeModel__Group_2__0__Impl rule__ScopeModel__Group_2__1 { - pushFollow(FOLLOW_17); - rule__MatchDataExpression__Group__1__Impl(); + pushFollow(FOLLOW_4); + rule__ScopeModel__Group_2__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__MatchDataExpression__Group__2(); + rule__ScopeModel__Group_2__1(); state._fsp--; if (state.failed) return ; @@ -18093,28 +20578,28 @@ public final void rule__MatchDataExpression__Group__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__MatchDataExpression__Group__1" + // $ANTLR end "rule__ScopeModel__Group_2__0" - // $ANTLR start "rule__MatchDataExpression__Group__1__Impl" - // InternalScope.g:5292:1: rule__MatchDataExpression__Group__1__Impl : ( '=' ) ; - public final void rule__MatchDataExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group_2__0__Impl" + // InternalScope.g:5498:1: rule__ScopeModel__Group_2__0__Impl : ( 'with' ) ; + public final void rule__ScopeModel__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5296:1: ( ( '=' ) ) - // InternalScope.g:5297:1: ( '=' ) + // InternalScope.g:5502:1: ( ( 'with' ) ) + // InternalScope.g:5503:1: ( 'with' ) { - // InternalScope.g:5297:1: ( '=' ) - // InternalScope.g:5298:2: '=' + // InternalScope.g:5503:1: ( 'with' ) + // InternalScope.g:5504:2: 'with' { if ( state.backtracking==0 ) { - before(grammarAccess.getMatchDataExpressionAccess().getEqualsSignKeyword_1()); + before(grammarAccess.getScopeModelAccess().getWithKeyword_2_0()); } - match(input,48,FOLLOW_2); if (state.failed) return ; + match(input,68,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getMatchDataExpressionAccess().getEqualsSignKeyword_1()); + after(grammarAccess.getScopeModelAccess().getWithKeyword_2_0()); } } @@ -18134,21 +20619,21 @@ public final void rule__MatchDataExpression__Group__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__MatchDataExpression__Group__1__Impl" + // $ANTLR end "rule__ScopeModel__Group_2__0__Impl" - // $ANTLR start "rule__MatchDataExpression__Group__2" - // InternalScope.g:5307:1: rule__MatchDataExpression__Group__2 : rule__MatchDataExpression__Group__2__Impl ; - public final void rule__MatchDataExpression__Group__2() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group_2__1" + // InternalScope.g:5513:1: rule__ScopeModel__Group_2__1 : rule__ScopeModel__Group_2__1__Impl ; + public final void rule__ScopeModel__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5311:1: ( rule__MatchDataExpression__Group__2__Impl ) - // InternalScope.g:5312:2: rule__MatchDataExpression__Group__2__Impl + // InternalScope.g:5517:1: ( rule__ScopeModel__Group_2__1__Impl ) + // InternalScope.g:5518:2: rule__ScopeModel__Group_2__1__Impl { pushFollow(FOLLOW_2); - rule__MatchDataExpression__Group__2__Impl(); + rule__ScopeModel__Group_2__1__Impl(); state._fsp--; if (state.failed) return ; @@ -18167,30 +20652,30 @@ public final void rule__MatchDataExpression__Group__2() throws RecognitionExcept } return ; } - // $ANTLR end "rule__MatchDataExpression__Group__2" + // $ANTLR end "rule__ScopeModel__Group_2__1" - // $ANTLR start "rule__MatchDataExpression__Group__2__Impl" - // InternalScope.g:5318:1: rule__MatchDataExpression__Group__2__Impl : ( ( rule__MatchDataExpression__ValueAssignment_2 ) ) ; - public final void rule__MatchDataExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeModel__Group_2__1__Impl" + // InternalScope.g:5524:1: rule__ScopeModel__Group_2__1__Impl : ( ( rule__ScopeModel__IncludedScopesAssignment_2_1 ) ) ; + public final void rule__ScopeModel__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5322:1: ( ( ( rule__MatchDataExpression__ValueAssignment_2 ) ) ) - // InternalScope.g:5323:1: ( ( rule__MatchDataExpression__ValueAssignment_2 ) ) + // InternalScope.g:5528:1: ( ( ( rule__ScopeModel__IncludedScopesAssignment_2_1 ) ) ) + // InternalScope.g:5529:1: ( ( rule__ScopeModel__IncludedScopesAssignment_2_1 ) ) { - // InternalScope.g:5323:1: ( ( rule__MatchDataExpression__ValueAssignment_2 ) ) - // InternalScope.g:5324:2: ( rule__MatchDataExpression__ValueAssignment_2 ) + // InternalScope.g:5529:1: ( ( rule__ScopeModel__IncludedScopesAssignment_2_1 ) ) + // InternalScope.g:5530:2: ( rule__ScopeModel__IncludedScopesAssignment_2_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getMatchDataExpressionAccess().getValueAssignment_2()); + before(grammarAccess.getScopeModelAccess().getIncludedScopesAssignment_2_1()); } - // InternalScope.g:5325:2: ( rule__MatchDataExpression__ValueAssignment_2 ) - // InternalScope.g:5325:3: rule__MatchDataExpression__ValueAssignment_2 + // InternalScope.g:5531:2: ( rule__ScopeModel__IncludedScopesAssignment_2_1 ) + // InternalScope.g:5531:3: rule__ScopeModel__IncludedScopesAssignment_2_1 { pushFollow(FOLLOW_2); - rule__MatchDataExpression__ValueAssignment_2(); + rule__ScopeModel__IncludedScopesAssignment_2_1(); state._fsp--; if (state.failed) return ; @@ -18198,7 +20683,7 @@ public final void rule__MatchDataExpression__Group__2__Impl() throws Recognition } if ( state.backtracking==0 ) { - after(grammarAccess.getMatchDataExpressionAccess().getValueAssignment_2()); + after(grammarAccess.getScopeModelAccess().getIncludedScopesAssignment_2_1()); } } @@ -18218,26 +20703,26 @@ public final void rule__MatchDataExpression__Group__2__Impl() throws Recognition } return ; } - // $ANTLR end "rule__MatchDataExpression__Group__2__Impl" + // $ANTLR end "rule__ScopeModel__Group_2__1__Impl" - // $ANTLR start "rule__LambdaDataExpression__Group__0" - // InternalScope.g:5334:1: rule__LambdaDataExpression__Group__0 : rule__LambdaDataExpression__Group__0__Impl rule__LambdaDataExpression__Group__1 ; - public final void rule__LambdaDataExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__Import__Group__0" + // InternalScope.g:5540: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 { - // InternalScope.g:5338:1: ( rule__LambdaDataExpression__Group__0__Impl rule__LambdaDataExpression__Group__1 ) - // InternalScope.g:5339:2: rule__LambdaDataExpression__Group__0__Impl rule__LambdaDataExpression__Group__1 + // InternalScope.g:5544:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 ) + // InternalScope.g:5545:2: rule__Import__Group__0__Impl rule__Import__Group__1 { - pushFollow(FOLLOW_3); - rule__LambdaDataExpression__Group__0__Impl(); + pushFollow(FOLLOW_10); + rule__Import__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__LambdaDataExpression__Group__1(); + rule__Import__Group__1(); state._fsp--; if (state.failed) return ; @@ -18256,28 +20741,28 @@ public final void rule__LambdaDataExpression__Group__0() throws RecognitionExcep } return ; } - // $ANTLR end "rule__LambdaDataExpression__Group__0" + // $ANTLR end "rule__Import__Group__0" - // $ANTLR start "rule__LambdaDataExpression__Group__0__Impl" - // InternalScope.g:5346:1: rule__LambdaDataExpression__Group__0__Impl : ( '[' ) ; - public final void rule__LambdaDataExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Import__Group__0__Impl" + // InternalScope.g:5552:1: rule__Import__Group__0__Impl : ( 'import' ) ; + public final void rule__Import__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5350:1: ( ( '[' ) ) - // InternalScope.g:5351:1: ( '[' ) + // InternalScope.g:5556:1: ( ( 'import' ) ) + // InternalScope.g:5557:1: ( 'import' ) { - // InternalScope.g:5351:1: ( '[' ) - // InternalScope.g:5352:2: '[' + // InternalScope.g:5557:1: ( 'import' ) + // InternalScope.g:5558:2: 'import' { if ( state.backtracking==0 ) { - before(grammarAccess.getLambdaDataExpressionAccess().getLeftSquareBracketKeyword_0()); + before(grammarAccess.getImportAccess().getImportKeyword_0()); } - match(input,56,FOLLOW_2); if (state.failed) return ; + match(input,62,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getLambdaDataExpressionAccess().getLeftSquareBracketKeyword_0()); + after(grammarAccess.getImportAccess().getImportKeyword_0()); } } @@ -18297,26 +20782,26 @@ public final void rule__LambdaDataExpression__Group__0__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__LambdaDataExpression__Group__0__Impl" + // $ANTLR end "rule__Import__Group__0__Impl" - // $ANTLR start "rule__LambdaDataExpression__Group__1" - // InternalScope.g:5361:1: rule__LambdaDataExpression__Group__1 : rule__LambdaDataExpression__Group__1__Impl rule__LambdaDataExpression__Group__2 ; - public final void rule__LambdaDataExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__Import__Group__1" + // InternalScope.g:5567:1: rule__Import__Group__1 : rule__Import__Group__1__Impl rule__Import__Group__2 ; + public final void rule__Import__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5365:1: ( rule__LambdaDataExpression__Group__1__Impl rule__LambdaDataExpression__Group__2 ) - // InternalScope.g:5366:2: rule__LambdaDataExpression__Group__1__Impl rule__LambdaDataExpression__Group__2 + // InternalScope.g:5571:1: ( rule__Import__Group__1__Impl rule__Import__Group__2 ) + // InternalScope.g:5572:2: rule__Import__Group__1__Impl rule__Import__Group__2 { - pushFollow(FOLLOW_42); - rule__LambdaDataExpression__Group__1__Impl(); + pushFollow(FOLLOW_11); + rule__Import__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__LambdaDataExpression__Group__2(); + rule__Import__Group__2(); state._fsp--; if (state.failed) return ; @@ -18335,30 +20820,30 @@ public final void rule__LambdaDataExpression__Group__1() throws RecognitionExcep } return ; } - // $ANTLR end "rule__LambdaDataExpression__Group__1" + // $ANTLR end "rule__Import__Group__1" - // $ANTLR start "rule__LambdaDataExpression__Group__1__Impl" - // InternalScope.g:5373:1: rule__LambdaDataExpression__Group__1__Impl : ( ( rule__LambdaDataExpression__DescAssignment_1 ) ) ; - public final void rule__LambdaDataExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Import__Group__1__Impl" + // InternalScope.g:5579:1: rule__Import__Group__1__Impl : ( ( rule__Import__PackageAssignment_1 ) ) ; + public final void rule__Import__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5377:1: ( ( ( rule__LambdaDataExpression__DescAssignment_1 ) ) ) - // InternalScope.g:5378:1: ( ( rule__LambdaDataExpression__DescAssignment_1 ) ) + // InternalScope.g:5583:1: ( ( ( rule__Import__PackageAssignment_1 ) ) ) + // InternalScope.g:5584:1: ( ( rule__Import__PackageAssignment_1 ) ) { - // InternalScope.g:5378:1: ( ( rule__LambdaDataExpression__DescAssignment_1 ) ) - // InternalScope.g:5379:2: ( rule__LambdaDataExpression__DescAssignment_1 ) + // InternalScope.g:5584:1: ( ( rule__Import__PackageAssignment_1 ) ) + // InternalScope.g:5585:2: ( rule__Import__PackageAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getLambdaDataExpressionAccess().getDescAssignment_1()); + before(grammarAccess.getImportAccess().getPackageAssignment_1()); } - // InternalScope.g:5380:2: ( rule__LambdaDataExpression__DescAssignment_1 ) - // InternalScope.g:5380:3: rule__LambdaDataExpression__DescAssignment_1 + // InternalScope.g:5586:2: ( rule__Import__PackageAssignment_1 ) + // InternalScope.g:5586:3: rule__Import__PackageAssignment_1 { pushFollow(FOLLOW_2); - rule__LambdaDataExpression__DescAssignment_1(); + rule__Import__PackageAssignment_1(); state._fsp--; if (state.failed) return ; @@ -18366,7 +20851,7 @@ public final void rule__LambdaDataExpression__Group__1__Impl() throws Recognitio } if ( state.backtracking==0 ) { - after(grammarAccess.getLambdaDataExpressionAccess().getDescAssignment_1()); + after(grammarAccess.getImportAccess().getPackageAssignment_1()); } } @@ -18386,26 +20871,21 @@ public final void rule__LambdaDataExpression__Group__1__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__LambdaDataExpression__Group__1__Impl" + // $ANTLR end "rule__Import__Group__1__Impl" - // $ANTLR start "rule__LambdaDataExpression__Group__2" - // InternalScope.g:5388:1: rule__LambdaDataExpression__Group__2 : rule__LambdaDataExpression__Group__2__Impl rule__LambdaDataExpression__Group__3 ; - public final void rule__LambdaDataExpression__Group__2() throws RecognitionException { + // $ANTLR start "rule__Import__Group__2" + // InternalScope.g:5594:1: rule__Import__Group__2 : rule__Import__Group__2__Impl ; + public final void rule__Import__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5392:1: ( rule__LambdaDataExpression__Group__2__Impl rule__LambdaDataExpression__Group__3 ) - // InternalScope.g:5393:2: rule__LambdaDataExpression__Group__2__Impl rule__LambdaDataExpression__Group__3 + // InternalScope.g:5598:1: ( rule__Import__Group__2__Impl ) + // InternalScope.g:5599:2: rule__Import__Group__2__Impl { - pushFollow(FOLLOW_17); - rule__LambdaDataExpression__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__LambdaDataExpression__Group__3(); + rule__Import__Group__2__Impl(); state._fsp--; if (state.failed) return ; @@ -18424,28 +20904,49 @@ public final void rule__LambdaDataExpression__Group__2() throws RecognitionExcep } return ; } - // $ANTLR end "rule__LambdaDataExpression__Group__2" + // $ANTLR end "rule__Import__Group__2" - // $ANTLR start "rule__LambdaDataExpression__Group__2__Impl" - // InternalScope.g:5400:1: rule__LambdaDataExpression__Group__2__Impl : ( '|' ) ; - public final void rule__LambdaDataExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__Import__Group__2__Impl" + // InternalScope.g:5605:1: rule__Import__Group__2__Impl : ( ( rule__Import__Group_2__0 )? ) ; + public final void rule__Import__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5404:1: ( ( '|' ) ) - // InternalScope.g:5405:1: ( '|' ) + // InternalScope.g:5609:1: ( ( ( rule__Import__Group_2__0 )? ) ) + // InternalScope.g:5610:1: ( ( rule__Import__Group_2__0 )? ) { - // InternalScope.g:5405:1: ( '|' ) - // InternalScope.g:5406:2: '|' + // InternalScope.g:5610:1: ( ( rule__Import__Group_2__0 )? ) + // InternalScope.g:5611:2: ( rule__Import__Group_2__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getLambdaDataExpressionAccess().getVerticalLineKeyword_2()); + before(grammarAccess.getImportAccess().getGroup_2()); + } + // InternalScope.g:5612:2: ( rule__Import__Group_2__0 )? + int alt74=2; + int LA74_0 = input.LA(1); + + if ( (LA74_0==69) ) { + alt74=1; + } + switch (alt74) { + case 1 : + // InternalScope.g:5612:3: rule__Import__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__Import__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + } - match(input,66,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getLambdaDataExpressionAccess().getVerticalLineKeyword_2()); + after(grammarAccess.getImportAccess().getGroup_2()); } } @@ -18465,26 +20966,26 @@ public final void rule__LambdaDataExpression__Group__2__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__LambdaDataExpression__Group__2__Impl" + // $ANTLR end "rule__Import__Group__2__Impl" - // $ANTLR start "rule__LambdaDataExpression__Group__3" - // InternalScope.g:5415:1: rule__LambdaDataExpression__Group__3 : rule__LambdaDataExpression__Group__3__Impl rule__LambdaDataExpression__Group__4 ; - public final void rule__LambdaDataExpression__Group__3() throws RecognitionException { + // $ANTLR start "rule__Import__Group_2__0" + // InternalScope.g:5621:1: rule__Import__Group_2__0 : rule__Import__Group_2__0__Impl rule__Import__Group_2__1 ; + public final void rule__Import__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5419:1: ( rule__LambdaDataExpression__Group__3__Impl rule__LambdaDataExpression__Group__4 ) - // InternalScope.g:5420:2: rule__LambdaDataExpression__Group__3__Impl rule__LambdaDataExpression__Group__4 + // InternalScope.g:5625:1: ( rule__Import__Group_2__0__Impl rule__Import__Group_2__1 ) + // InternalScope.g:5626:2: rule__Import__Group_2__0__Impl rule__Import__Group_2__1 { - pushFollow(FOLLOW_30); - rule__LambdaDataExpression__Group__3__Impl(); + pushFollow(FOLLOW_4); + rule__Import__Group_2__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__LambdaDataExpression__Group__4(); + rule__Import__Group_2__1(); state._fsp--; if (state.failed) return ; @@ -18503,38 +21004,28 @@ public final void rule__LambdaDataExpression__Group__3() throws RecognitionExcep } return ; } - // $ANTLR end "rule__LambdaDataExpression__Group__3" + // $ANTLR end "rule__Import__Group_2__0" - // $ANTLR start "rule__LambdaDataExpression__Group__3__Impl" - // InternalScope.g:5427:1: rule__LambdaDataExpression__Group__3__Impl : ( ( rule__LambdaDataExpression__ValueAssignment_3 ) ) ; - public final void rule__LambdaDataExpression__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__Import__Group_2__0__Impl" + // InternalScope.g:5633:1: rule__Import__Group_2__0__Impl : ( 'as' ) ; + public final void rule__Import__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5431:1: ( ( ( rule__LambdaDataExpression__ValueAssignment_3 ) ) ) - // InternalScope.g:5432:1: ( ( rule__LambdaDataExpression__ValueAssignment_3 ) ) + // InternalScope.g:5637:1: ( ( 'as' ) ) + // InternalScope.g:5638:1: ( 'as' ) { - // InternalScope.g:5432:1: ( ( rule__LambdaDataExpression__ValueAssignment_3 ) ) - // InternalScope.g:5433:2: ( rule__LambdaDataExpression__ValueAssignment_3 ) + // InternalScope.g:5638:1: ( 'as' ) + // InternalScope.g:5639:2: 'as' { if ( state.backtracking==0 ) { - before(grammarAccess.getLambdaDataExpressionAccess().getValueAssignment_3()); - } - // InternalScope.g:5434:2: ( rule__LambdaDataExpression__ValueAssignment_3 ) - // InternalScope.g:5434:3: rule__LambdaDataExpression__ValueAssignment_3 - { - pushFollow(FOLLOW_2); - rule__LambdaDataExpression__ValueAssignment_3(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getImportAccess().getAsKeyword_2_0()); } - + match(input,69,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getLambdaDataExpressionAccess().getValueAssignment_3()); + after(grammarAccess.getImportAccess().getAsKeyword_2_0()); } } @@ -18554,21 +21045,21 @@ public final void rule__LambdaDataExpression__Group__3__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__LambdaDataExpression__Group__3__Impl" + // $ANTLR end "rule__Import__Group_2__0__Impl" - // $ANTLR start "rule__LambdaDataExpression__Group__4" - // InternalScope.g:5442:1: rule__LambdaDataExpression__Group__4 : rule__LambdaDataExpression__Group__4__Impl ; - public final void rule__LambdaDataExpression__Group__4() throws RecognitionException { + // $ANTLR start "rule__Import__Group_2__1" + // InternalScope.g:5648:1: rule__Import__Group_2__1 : rule__Import__Group_2__1__Impl ; + public final void rule__Import__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5446:1: ( rule__LambdaDataExpression__Group__4__Impl ) - // InternalScope.g:5447:2: rule__LambdaDataExpression__Group__4__Impl + // InternalScope.g:5652:1: ( rule__Import__Group_2__1__Impl ) + // InternalScope.g:5653:2: rule__Import__Group_2__1__Impl { pushFollow(FOLLOW_2); - rule__LambdaDataExpression__Group__4__Impl(); + rule__Import__Group_2__1__Impl(); state._fsp--; if (state.failed) return ; @@ -18587,28 +21078,38 @@ public final void rule__LambdaDataExpression__Group__4() throws RecognitionExcep } return ; } - // $ANTLR end "rule__LambdaDataExpression__Group__4" + // $ANTLR end "rule__Import__Group_2__1" - // $ANTLR start "rule__LambdaDataExpression__Group__4__Impl" - // InternalScope.g:5453:1: rule__LambdaDataExpression__Group__4__Impl : ( ']' ) ; - public final void rule__LambdaDataExpression__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__Import__Group_2__1__Impl" + // InternalScope.g:5659:1: rule__Import__Group_2__1__Impl : ( ( rule__Import__NameAssignment_2_1 ) ) ; + public final void rule__Import__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5457:1: ( ( ']' ) ) - // InternalScope.g:5458:1: ( ']' ) + // InternalScope.g:5663:1: ( ( ( rule__Import__NameAssignment_2_1 ) ) ) + // InternalScope.g:5664:1: ( ( rule__Import__NameAssignment_2_1 ) ) { - // InternalScope.g:5458:1: ( ']' ) - // InternalScope.g:5459:2: ']' + // InternalScope.g:5664:1: ( ( rule__Import__NameAssignment_2_1 ) ) + // InternalScope.g:5665:2: ( rule__Import__NameAssignment_2_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getLambdaDataExpressionAccess().getRightSquareBracketKeyword_4()); + before(grammarAccess.getImportAccess().getNameAssignment_2_1()); + } + // InternalScope.g:5666:2: ( rule__Import__NameAssignment_2_1 ) + // InternalScope.g:5666:3: rule__Import__NameAssignment_2_1 + { + pushFollow(FOLLOW_2); + rule__Import__NameAssignment_2_1(); + + state._fsp--; + if (state.failed) return ; + } - match(input,57,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getLambdaDataExpressionAccess().getRightSquareBracketKeyword_4()); + after(grammarAccess.getImportAccess().getNameAssignment_2_1()); } } @@ -18628,21 +21129,26 @@ public final void rule__LambdaDataExpression__Group__4__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__LambdaDataExpression__Group__4__Impl" + // $ANTLR end "rule__Import__Group_2__1__Impl" - // $ANTLR start "rule__Naming__Group_0__0" - // InternalScope.g:5469:1: rule__Naming__Group_0__0 : rule__Naming__Group_0__0__Impl ; - public final void rule__Naming__Group_0__0() throws RecognitionException { + // $ANTLR start "rule__Extension__Group__0" + // InternalScope.g:5675:1: rule__Extension__Group__0 : rule__Extension__Group__0__Impl rule__Extension__Group__1 ; + public final void rule__Extension__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5473:1: ( rule__Naming__Group_0__0__Impl ) - // InternalScope.g:5474:2: rule__Naming__Group_0__0__Impl + // InternalScope.g:5679:1: ( rule__Extension__Group__0__Impl rule__Extension__Group__1 ) + // InternalScope.g:5680:2: rule__Extension__Group__0__Impl rule__Extension__Group__1 { + pushFollow(FOLLOW_4); + rule__Extension__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Naming__Group_0__0__Impl(); + rule__Extension__Group__1(); state._fsp--; if (state.failed) return ; @@ -18661,38 +21167,28 @@ public final void rule__Naming__Group_0__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__Naming__Group_0__0" + // $ANTLR end "rule__Extension__Group__0" - // $ANTLR start "rule__Naming__Group_0__0__Impl" - // InternalScope.g:5480:1: rule__Naming__Group_0__0__Impl : ( ( rule__Naming__Group_0_0__0 ) ) ; - public final void rule__Naming__Group_0__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Extension__Group__0__Impl" + // InternalScope.g:5687:1: rule__Extension__Group__0__Impl : ( 'extension' ) ; + public final void rule__Extension__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5484:1: ( ( ( rule__Naming__Group_0_0__0 ) ) ) - // InternalScope.g:5485:1: ( ( rule__Naming__Group_0_0__0 ) ) + // InternalScope.g:5691:1: ( ( 'extension' ) ) + // InternalScope.g:5692:1: ( 'extension' ) { - // InternalScope.g:5485:1: ( ( rule__Naming__Group_0_0__0 ) ) - // InternalScope.g:5486:2: ( rule__Naming__Group_0_0__0 ) + // InternalScope.g:5692:1: ( 'extension' ) + // InternalScope.g:5693:2: 'extension' { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingAccess().getGroup_0_0()); - } - // InternalScope.g:5487:2: ( rule__Naming__Group_0_0__0 ) - // InternalScope.g:5487:3: rule__Naming__Group_0_0__0 - { - pushFollow(FOLLOW_2); - rule__Naming__Group_0_0__0(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getExtensionAccess().getExtensionKeyword_0()); } - + match(input,63,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getNamingAccess().getGroup_0_0()); + after(grammarAccess.getExtensionAccess().getExtensionKeyword_0()); } } @@ -18712,26 +21208,21 @@ public final void rule__Naming__Group_0__0__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Naming__Group_0__0__Impl" + // $ANTLR end "rule__Extension__Group__0__Impl" - // $ANTLR start "rule__Naming__Group_0_0__0" - // InternalScope.g:5496:1: rule__Naming__Group_0_0__0 : rule__Naming__Group_0_0__0__Impl rule__Naming__Group_0_0__1 ; - public final void rule__Naming__Group_0_0__0() throws RecognitionException { + // $ANTLR start "rule__Extension__Group__1" + // InternalScope.g:5702:1: rule__Extension__Group__1 : rule__Extension__Group__1__Impl ; + public final void rule__Extension__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5500:1: ( rule__Naming__Group_0_0__0__Impl rule__Naming__Group_0_0__1 ) - // InternalScope.g:5501:2: rule__Naming__Group_0_0__0__Impl rule__Naming__Group_0_0__1 + // InternalScope.g:5706:1: ( rule__Extension__Group__1__Impl ) + // InternalScope.g:5707:2: rule__Extension__Group__1__Impl { - pushFollow(FOLLOW_17); - rule__Naming__Group_0_0__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Naming__Group_0_0__1(); + rule__Extension__Group__1__Impl(); state._fsp--; if (state.failed) return ; @@ -18750,28 +21241,38 @@ public final void rule__Naming__Group_0_0__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__Naming__Group_0_0__0" + // $ANTLR end "rule__Extension__Group__1" - // $ANTLR start "rule__Naming__Group_0_0__0__Impl" - // InternalScope.g:5508:1: rule__Naming__Group_0_0__0__Impl : ( '(' ) ; - public final void rule__Naming__Group_0_0__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Extension__Group__1__Impl" + // InternalScope.g:5713:1: rule__Extension__Group__1__Impl : ( ( rule__Extension__ExtensionAssignment_1 ) ) ; + public final void rule__Extension__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5512:1: ( ( '(' ) ) - // InternalScope.g:5513:1: ( '(' ) + // InternalScope.g:5717:1: ( ( ( rule__Extension__ExtensionAssignment_1 ) ) ) + // InternalScope.g:5718:1: ( ( rule__Extension__ExtensionAssignment_1 ) ) { - // InternalScope.g:5513:1: ( '(' ) - // InternalScope.g:5514:2: '(' + // InternalScope.g:5718:1: ( ( rule__Extension__ExtensionAssignment_1 ) ) + // InternalScope.g:5719:2: ( rule__Extension__ExtensionAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingAccess().getLeftParenthesisKeyword_0_0_0()); + before(grammarAccess.getExtensionAccess().getExtensionAssignment_1()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:5720:2: ( rule__Extension__ExtensionAssignment_1 ) + // InternalScope.g:5720:3: rule__Extension__ExtensionAssignment_1 + { + pushFollow(FOLLOW_2); + rule__Extension__ExtensionAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getNamingAccess().getLeftParenthesisKeyword_0_0_0()); + after(grammarAccess.getExtensionAccess().getExtensionAssignment_1()); } } @@ -18791,26 +21292,26 @@ public final void rule__Naming__Group_0_0__0__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Naming__Group_0_0__0__Impl" + // $ANTLR end "rule__Extension__Group__1__Impl" - // $ANTLR start "rule__Naming__Group_0_0__1" - // InternalScope.g:5523:1: rule__Naming__Group_0_0__1 : rule__Naming__Group_0_0__1__Impl rule__Naming__Group_0_0__2 ; - public final void rule__Naming__Group_0_0__1() throws RecognitionException { + // $ANTLR start "rule__Injection__Group__0" + // InternalScope.g:5729:1: rule__Injection__Group__0 : rule__Injection__Group__0__Impl rule__Injection__Group__1 ; + public final void rule__Injection__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5527:1: ( rule__Naming__Group_0_0__1__Impl rule__Naming__Group_0_0__2 ) - // InternalScope.g:5528:2: rule__Naming__Group_0_0__1__Impl rule__Naming__Group_0_0__2 + // InternalScope.g:5733:1: ( rule__Injection__Group__0__Impl rule__Injection__Group__1 ) + // InternalScope.g:5734:2: rule__Injection__Group__0__Impl rule__Injection__Group__1 { - pushFollow(FOLLOW_33); - rule__Naming__Group_0_0__1__Impl(); + pushFollow(FOLLOW_4); + rule__Injection__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Naming__Group_0_0__2(); + rule__Injection__Group__1(); state._fsp--; if (state.failed) return ; @@ -18829,38 +21330,28 @@ public final void rule__Naming__Group_0_0__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__Naming__Group_0_0__1" + // $ANTLR end "rule__Injection__Group__0" - // $ANTLR start "rule__Naming__Group_0_0__1__Impl" - // InternalScope.g:5535:1: rule__Naming__Group_0_0__1__Impl : ( ( rule__Naming__NamesAssignment_0_0_1 ) ) ; - public final void rule__Naming__Group_0_0__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Injection__Group__0__Impl" + // InternalScope.g:5741:1: rule__Injection__Group__0__Impl : ( 'inject' ) ; + public final void rule__Injection__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5539:1: ( ( ( rule__Naming__NamesAssignment_0_0_1 ) ) ) - // InternalScope.g:5540:1: ( ( rule__Naming__NamesAssignment_0_0_1 ) ) + // InternalScope.g:5745:1: ( ( 'inject' ) ) + // InternalScope.g:5746:1: ( 'inject' ) { - // InternalScope.g:5540:1: ( ( rule__Naming__NamesAssignment_0_0_1 ) ) - // InternalScope.g:5541:2: ( rule__Naming__NamesAssignment_0_0_1 ) + // InternalScope.g:5746:1: ( 'inject' ) + // InternalScope.g:5747:2: 'inject' { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingAccess().getNamesAssignment_0_0_1()); - } - // InternalScope.g:5542:2: ( rule__Naming__NamesAssignment_0_0_1 ) - // InternalScope.g:5542:3: rule__Naming__NamesAssignment_0_0_1 - { - pushFollow(FOLLOW_2); - rule__Naming__NamesAssignment_0_0_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getInjectionAccess().getInjectKeyword_0()); } - + match(input,70,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getNamingAccess().getNamesAssignment_0_0_1()); + after(grammarAccess.getInjectionAccess().getInjectKeyword_0()); } } @@ -18880,26 +21371,26 @@ public final void rule__Naming__Group_0_0__1__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Naming__Group_0_0__1__Impl" + // $ANTLR end "rule__Injection__Group__0__Impl" - // $ANTLR start "rule__Naming__Group_0_0__2" - // InternalScope.g:5550:1: rule__Naming__Group_0_0__2 : rule__Naming__Group_0_0__2__Impl rule__Naming__Group_0_0__3 ; - public final void rule__Naming__Group_0_0__2() throws RecognitionException { + // $ANTLR start "rule__Injection__Group__1" + // InternalScope.g:5756:1: rule__Injection__Group__1 : rule__Injection__Group__1__Impl rule__Injection__Group__2 ; + public final void rule__Injection__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5554:1: ( rule__Naming__Group_0_0__2__Impl rule__Naming__Group_0_0__3 ) - // InternalScope.g:5555:2: rule__Naming__Group_0_0__2__Impl rule__Naming__Group_0_0__3 + // InternalScope.g:5760:1: ( rule__Injection__Group__1__Impl rule__Injection__Group__2 ) + // InternalScope.g:5761:2: rule__Injection__Group__1__Impl rule__Injection__Group__2 { - pushFollow(FOLLOW_33); - rule__Naming__Group_0_0__2__Impl(); + pushFollow(FOLLOW_11); + rule__Injection__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Naming__Group_0_0__3(); + rule__Injection__Group__2(); state._fsp--; if (state.failed) return ; @@ -18918,56 +21409,38 @@ public final void rule__Naming__Group_0_0__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__Naming__Group_0_0__2" + // $ANTLR end "rule__Injection__Group__1" - // $ANTLR start "rule__Naming__Group_0_0__2__Impl" - // InternalScope.g:5562:1: rule__Naming__Group_0_0__2__Impl : ( ( rule__Naming__Group_0_0_2__0 )* ) ; - public final void rule__Naming__Group_0_0__2__Impl() throws RecognitionException { + // $ANTLR start "rule__Injection__Group__1__Impl" + // InternalScope.g:5768:1: rule__Injection__Group__1__Impl : ( ( rule__Injection__TypeAssignment_1 ) ) ; + public final void rule__Injection__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5566:1: ( ( ( rule__Naming__Group_0_0_2__0 )* ) ) - // InternalScope.g:5567:1: ( ( rule__Naming__Group_0_0_2__0 )* ) + // InternalScope.g:5772:1: ( ( ( rule__Injection__TypeAssignment_1 ) ) ) + // InternalScope.g:5773:1: ( ( rule__Injection__TypeAssignment_1 ) ) { - // InternalScope.g:5567:1: ( ( rule__Naming__Group_0_0_2__0 )* ) - // InternalScope.g:5568:2: ( rule__Naming__Group_0_0_2__0 )* + // InternalScope.g:5773:1: ( ( rule__Injection__TypeAssignment_1 ) ) + // InternalScope.g:5774:2: ( rule__Injection__TypeAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingAccess().getGroup_0_0_2()); + before(grammarAccess.getInjectionAccess().getTypeAssignment_1()); } - // InternalScope.g:5569:2: ( rule__Naming__Group_0_0_2__0 )* - loop50: - do { - int alt50=2; - int LA50_0 = input.LA(1); - - if ( (LA50_0==60) ) { - alt50=1; - } - - - switch (alt50) { - case 1 : - // InternalScope.g:5569:3: rule__Naming__Group_0_0_2__0 - { - pushFollow(FOLLOW_39); - rule__Naming__Group_0_0_2__0(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:5775:2: ( rule__Injection__TypeAssignment_1 ) + // InternalScope.g:5775:3: rule__Injection__TypeAssignment_1 + { + pushFollow(FOLLOW_2); + rule__Injection__TypeAssignment_1(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop50; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getNamingAccess().getGroup_0_0_2()); + after(grammarAccess.getInjectionAccess().getTypeAssignment_1()); } } @@ -18987,21 +21460,26 @@ public final void rule__Naming__Group_0_0__2__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Naming__Group_0_0__2__Impl" + // $ANTLR end "rule__Injection__Group__1__Impl" - // $ANTLR start "rule__Naming__Group_0_0__3" - // InternalScope.g:5577:1: rule__Naming__Group_0_0__3 : rule__Naming__Group_0_0__3__Impl ; - public final void rule__Naming__Group_0_0__3() throws RecognitionException { + // $ANTLR start "rule__Injection__Group__2" + // InternalScope.g:5783:1: rule__Injection__Group__2 : rule__Injection__Group__2__Impl rule__Injection__Group__3 ; + public final void rule__Injection__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5581:1: ( rule__Naming__Group_0_0__3__Impl ) - // InternalScope.g:5582:2: rule__Naming__Group_0_0__3__Impl + // InternalScope.g:5787:1: ( rule__Injection__Group__2__Impl rule__Injection__Group__3 ) + // InternalScope.g:5788:2: rule__Injection__Group__2__Impl rule__Injection__Group__3 { + pushFollow(FOLLOW_4); + rule__Injection__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Naming__Group_0_0__3__Impl(); + rule__Injection__Group__3(); state._fsp--; if (state.failed) return ; @@ -19020,28 +21498,28 @@ public final void rule__Naming__Group_0_0__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__Naming__Group_0_0__3" + // $ANTLR end "rule__Injection__Group__2" - // $ANTLR start "rule__Naming__Group_0_0__3__Impl" - // InternalScope.g:5588:1: rule__Naming__Group_0_0__3__Impl : ( ')' ) ; - public final void rule__Naming__Group_0_0__3__Impl() throws RecognitionException { + // $ANTLR start "rule__Injection__Group__2__Impl" + // InternalScope.g:5795:1: rule__Injection__Group__2__Impl : ( 'as' ) ; + public final void rule__Injection__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5592:1: ( ( ')' ) ) - // InternalScope.g:5593:1: ( ')' ) + // InternalScope.g:5799:1: ( ( 'as' ) ) + // InternalScope.g:5800:1: ( 'as' ) { - // InternalScope.g:5593:1: ( ')' ) - // InternalScope.g:5594:2: ')' + // InternalScope.g:5800:1: ( 'as' ) + // InternalScope.g:5801:2: 'as' { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingAccess().getRightParenthesisKeyword_0_0_3()); + before(grammarAccess.getInjectionAccess().getAsKeyword_2()); } - match(input,52,FOLLOW_2); if (state.failed) return ; + match(input,69,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getNamingAccess().getRightParenthesisKeyword_0_0_3()); + after(grammarAccess.getInjectionAccess().getAsKeyword_2()); } } @@ -19061,26 +21539,21 @@ public final void rule__Naming__Group_0_0__3__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__Naming__Group_0_0__3__Impl" + // $ANTLR end "rule__Injection__Group__2__Impl" - // $ANTLR start "rule__Naming__Group_0_0_2__0" - // InternalScope.g:5604:1: rule__Naming__Group_0_0_2__0 : rule__Naming__Group_0_0_2__0__Impl rule__Naming__Group_0_0_2__1 ; - public final void rule__Naming__Group_0_0_2__0() throws RecognitionException { + // $ANTLR start "rule__Injection__Group__3" + // InternalScope.g:5810:1: rule__Injection__Group__3 : rule__Injection__Group__3__Impl ; + public final void rule__Injection__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5608:1: ( rule__Naming__Group_0_0_2__0__Impl rule__Naming__Group_0_0_2__1 ) - // InternalScope.g:5609:2: rule__Naming__Group_0_0_2__0__Impl rule__Naming__Group_0_0_2__1 + // InternalScope.g:5814:1: ( rule__Injection__Group__3__Impl ) + // InternalScope.g:5815:2: rule__Injection__Group__3__Impl { - pushFollow(FOLLOW_17); - rule__Naming__Group_0_0_2__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Naming__Group_0_0_2__1(); + rule__Injection__Group__3__Impl(); state._fsp--; if (state.failed) return ; @@ -19099,28 +21572,38 @@ public final void rule__Naming__Group_0_0_2__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__Naming__Group_0_0_2__0" + // $ANTLR end "rule__Injection__Group__3" - // $ANTLR start "rule__Naming__Group_0_0_2__0__Impl" - // InternalScope.g:5616:1: rule__Naming__Group_0_0_2__0__Impl : ( ',' ) ; - public final void rule__Naming__Group_0_0_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Injection__Group__3__Impl" + // InternalScope.g:5821:1: rule__Injection__Group__3__Impl : ( ( rule__Injection__NameAssignment_3 ) ) ; + public final void rule__Injection__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5620:1: ( ( ',' ) ) - // InternalScope.g:5621:1: ( ',' ) + // InternalScope.g:5825:1: ( ( ( rule__Injection__NameAssignment_3 ) ) ) + // InternalScope.g:5826:1: ( ( rule__Injection__NameAssignment_3 ) ) { - // InternalScope.g:5621:1: ( ',' ) - // InternalScope.g:5622:2: ',' + // InternalScope.g:5826:1: ( ( rule__Injection__NameAssignment_3 ) ) + // InternalScope.g:5827:2: ( rule__Injection__NameAssignment_3 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingAccess().getCommaKeyword_0_0_2_0()); + before(grammarAccess.getInjectionAccess().getNameAssignment_3()); } - match(input,60,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:5828:2: ( rule__Injection__NameAssignment_3 ) + // InternalScope.g:5828:3: rule__Injection__NameAssignment_3 + { + pushFollow(FOLLOW_2); + rule__Injection__NameAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getNamingAccess().getCommaKeyword_0_0_2_0()); + after(grammarAccess.getInjectionAccess().getNameAssignment_3()); } } @@ -19140,21 +21623,26 @@ public final void rule__Naming__Group_0_0_2__0__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__Naming__Group_0_0_2__0__Impl" + // $ANTLR end "rule__Injection__Group__3__Impl" - // $ANTLR start "rule__Naming__Group_0_0_2__1" - // InternalScope.g:5631:1: rule__Naming__Group_0_0_2__1 : rule__Naming__Group_0_0_2__1__Impl ; - public final void rule__Naming__Group_0_0_2__1() throws RecognitionException { + // $ANTLR start "rule__NamingSection__Group__0" + // InternalScope.g:5837:1: rule__NamingSection__Group__0 : rule__NamingSection__Group__0__Impl rule__NamingSection__Group__1 ; + public final void rule__NamingSection__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5635:1: ( rule__Naming__Group_0_0_2__1__Impl ) - // InternalScope.g:5636:2: rule__Naming__Group_0_0_2__1__Impl + // InternalScope.g:5841:1: ( rule__NamingSection__Group__0__Impl rule__NamingSection__Group__1 ) + // InternalScope.g:5842:2: rule__NamingSection__Group__0__Impl rule__NamingSection__Group__1 { + pushFollow(FOLLOW_12); + rule__NamingSection__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Naming__Group_0_0_2__1__Impl(); + rule__NamingSection__Group__1(); state._fsp--; if (state.failed) return ; @@ -19173,38 +21661,32 @@ public final void rule__Naming__Group_0_0_2__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__Naming__Group_0_0_2__1" + // $ANTLR end "rule__NamingSection__Group__0" - // $ANTLR start "rule__Naming__Group_0_0_2__1__Impl" - // InternalScope.g:5642:1: rule__Naming__Group_0_0_2__1__Impl : ( ( rule__Naming__NamesAssignment_0_0_2_1 ) ) ; - public final void rule__Naming__Group_0_0_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__NamingSection__Group__0__Impl" + // InternalScope.g:5849:1: rule__NamingSection__Group__0__Impl : ( () ) ; + public final void rule__NamingSection__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5646:1: ( ( ( rule__Naming__NamesAssignment_0_0_2_1 ) ) ) - // InternalScope.g:5647:1: ( ( rule__Naming__NamesAssignment_0_0_2_1 ) ) + // InternalScope.g:5853:1: ( ( () ) ) + // InternalScope.g:5854:1: ( () ) { - // InternalScope.g:5647:1: ( ( rule__Naming__NamesAssignment_0_0_2_1 ) ) - // InternalScope.g:5648:2: ( rule__Naming__NamesAssignment_0_0_2_1 ) + // InternalScope.g:5854:1: ( () ) + // InternalScope.g:5855:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingAccess().getNamesAssignment_0_0_2_1()); + before(grammarAccess.getNamingSectionAccess().getNamingSectionAction_0()); } - // InternalScope.g:5649:2: ( rule__Naming__NamesAssignment_0_0_2_1 ) - // InternalScope.g:5649:3: rule__Naming__NamesAssignment_0_0_2_1 + // InternalScope.g:5856:2: () + // InternalScope.g:5856:3: { - pushFollow(FOLLOW_2); - rule__Naming__NamesAssignment_0_0_2_1(); - - state._fsp--; - if (state.failed) return ; - } if ( state.backtracking==0 ) { - after(grammarAccess.getNamingAccess().getNamesAssignment_0_0_2_1()); + after(grammarAccess.getNamingSectionAccess().getNamingSectionAction_0()); } } @@ -19213,10 +21695,6 @@ public final void rule__Naming__Group_0_0_2__1__Impl() throws RecognitionExcepti } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -19224,26 +21702,26 @@ public final void rule__Naming__Group_0_0_2__1__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__Naming__Group_0_0_2__1__Impl" + // $ANTLR end "rule__NamingSection__Group__0__Impl" - // $ANTLR start "rule__NamingExpression__Group_1__0" - // InternalScope.g:5658:1: rule__NamingExpression__Group_1__0 : rule__NamingExpression__Group_1__0__Impl rule__NamingExpression__Group_1__1 ; - public final void rule__NamingExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__NamingSection__Group__1" + // InternalScope.g:5864:1: rule__NamingSection__Group__1 : rule__NamingSection__Group__1__Impl rule__NamingSection__Group__2 ; + public final void rule__NamingSection__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5662:1: ( rule__NamingExpression__Group_1__0__Impl rule__NamingExpression__Group_1__1 ) - // InternalScope.g:5663:2: rule__NamingExpression__Group_1__0__Impl rule__NamingExpression__Group_1__1 + // InternalScope.g:5868:1: ( rule__NamingSection__Group__1__Impl rule__NamingSection__Group__2 ) + // InternalScope.g:5869:2: rule__NamingSection__Group__1__Impl rule__NamingSection__Group__2 { - pushFollow(FOLLOW_17); - rule__NamingExpression__Group_1__0__Impl(); + pushFollow(FOLLOW_12); + rule__NamingSection__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__NamingExpression__Group_1__1(); + rule__NamingSection__Group__2(); state._fsp--; if (state.failed) return ; @@ -19262,38 +21740,38 @@ public final void rule__NamingExpression__Group_1__0() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__NamingExpression__Group_1__0" + // $ANTLR end "rule__NamingSection__Group__1" - // $ANTLR start "rule__NamingExpression__Group_1__0__Impl" - // InternalScope.g:5670:1: rule__NamingExpression__Group_1__0__Impl : ( ( rule__NamingExpression__FactoryAssignment_1_0 )? ) ; - public final void rule__NamingExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__NamingSection__Group__1__Impl" + // InternalScope.g:5876:1: rule__NamingSection__Group__1__Impl : ( ( rule__NamingSection__Group_1__0 )? ) ; + public final void rule__NamingSection__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5674:1: ( ( ( rule__NamingExpression__FactoryAssignment_1_0 )? ) ) - // InternalScope.g:5675:1: ( ( rule__NamingExpression__FactoryAssignment_1_0 )? ) + // InternalScope.g:5880:1: ( ( ( rule__NamingSection__Group_1__0 )? ) ) + // InternalScope.g:5881:1: ( ( rule__NamingSection__Group_1__0 )? ) { - // InternalScope.g:5675:1: ( ( rule__NamingExpression__FactoryAssignment_1_0 )? ) - // InternalScope.g:5676:2: ( rule__NamingExpression__FactoryAssignment_1_0 )? + // InternalScope.g:5881:1: ( ( rule__NamingSection__Group_1__0 )? ) + // InternalScope.g:5882:2: ( rule__NamingSection__Group_1__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingExpressionAccess().getFactoryAssignment_1_0()); + before(grammarAccess.getNamingSectionAccess().getGroup_1()); } - // InternalScope.g:5677:2: ( rule__NamingExpression__FactoryAssignment_1_0 )? - int alt51=2; - int LA51_0 = input.LA(1); + // InternalScope.g:5883:2: ( rule__NamingSection__Group_1__0 )? + int alt75=2; + int LA75_0 = input.LA(1); - if ( (LA51_0==58) ) { - alt51=1; + if ( (LA75_0==74) ) { + alt75=1; } - switch (alt51) { + switch (alt75) { case 1 : - // InternalScope.g:5677:3: rule__NamingExpression__FactoryAssignment_1_0 + // InternalScope.g:5883:3: rule__NamingSection__Group_1__0 { pushFollow(FOLLOW_2); - rule__NamingExpression__FactoryAssignment_1_0(); + rule__NamingSection__Group_1__0(); state._fsp--; if (state.failed) return ; @@ -19304,7 +21782,7 @@ public final void rule__NamingExpression__Group_1__0__Impl() throws RecognitionE } if ( state.backtracking==0 ) { - after(grammarAccess.getNamingExpressionAccess().getFactoryAssignment_1_0()); + after(grammarAccess.getNamingSectionAccess().getGroup_1()); } } @@ -19324,21 +21802,26 @@ public final void rule__NamingExpression__Group_1__0__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__NamingExpression__Group_1__0__Impl" + // $ANTLR end "rule__NamingSection__Group__1__Impl" - // $ANTLR start "rule__NamingExpression__Group_1__1" - // InternalScope.g:5685:1: rule__NamingExpression__Group_1__1 : rule__NamingExpression__Group_1__1__Impl ; - public final void rule__NamingExpression__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__NamingSection__Group__2" + // InternalScope.g:5891:1: rule__NamingSection__Group__2 : rule__NamingSection__Group__2__Impl rule__NamingSection__Group__3 ; + public final void rule__NamingSection__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5689:1: ( rule__NamingExpression__Group_1__1__Impl ) - // InternalScope.g:5690:2: rule__NamingExpression__Group_1__1__Impl + // InternalScope.g:5895:1: ( rule__NamingSection__Group__2__Impl rule__NamingSection__Group__3 ) + // InternalScope.g:5896:2: rule__NamingSection__Group__2__Impl rule__NamingSection__Group__3 { + pushFollow(FOLLOW_13); + rule__NamingSection__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__NamingExpression__Group_1__1__Impl(); + rule__NamingSection__Group__3(); state._fsp--; if (state.failed) return ; @@ -19357,38 +21840,28 @@ public final void rule__NamingExpression__Group_1__1() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__NamingExpression__Group_1__1" + // $ANTLR end "rule__NamingSection__Group__2" - // $ANTLR start "rule__NamingExpression__Group_1__1__Impl" - // InternalScope.g:5696:1: rule__NamingExpression__Group_1__1__Impl : ( ( rule__NamingExpression__ExpressionAssignment_1_1 ) ) ; - public final void rule__NamingExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__NamingSection__Group__2__Impl" + // InternalScope.g:5903:1: rule__NamingSection__Group__2__Impl : ( 'naming' ) ; + public final void rule__NamingSection__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5700:1: ( ( ( rule__NamingExpression__ExpressionAssignment_1_1 ) ) ) - // InternalScope.g:5701:1: ( ( rule__NamingExpression__ExpressionAssignment_1_1 ) ) + // InternalScope.g:5907:1: ( ( 'naming' ) ) + // InternalScope.g:5908:1: ( 'naming' ) { - // InternalScope.g:5701:1: ( ( rule__NamingExpression__ExpressionAssignment_1_1 ) ) - // InternalScope.g:5702:2: ( rule__NamingExpression__ExpressionAssignment_1_1 ) + // InternalScope.g:5908:1: ( 'naming' ) + // InternalScope.g:5909:2: 'naming' { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingExpressionAccess().getExpressionAssignment_1_1()); - } - // InternalScope.g:5703:2: ( rule__NamingExpression__ExpressionAssignment_1_1 ) - // InternalScope.g:5703:3: rule__NamingExpression__ExpressionAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__NamingExpression__ExpressionAssignment_1_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getNamingSectionAccess().getNamingKeyword_2()); } - + match(input,71,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getNamingExpressionAccess().getExpressionAssignment_1_1()); + after(grammarAccess.getNamingSectionAccess().getNamingKeyword_2()); } } @@ -19408,26 +21881,26 @@ public final void rule__NamingExpression__Group_1__1__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__NamingExpression__Group_1__1__Impl" + // $ANTLR end "rule__NamingSection__Group__2__Impl" - // $ANTLR start "rule__QualifiedID__Group__0" - // InternalScope.g:5712:1: rule__QualifiedID__Group__0 : rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 ; - public final void rule__QualifiedID__Group__0() throws RecognitionException { + // $ANTLR start "rule__NamingSection__Group__3" + // InternalScope.g:5918:1: rule__NamingSection__Group__3 : rule__NamingSection__Group__3__Impl rule__NamingSection__Group__4 ; + public final void rule__NamingSection__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5716:1: ( rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 ) - // InternalScope.g:5717:2: rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 + // InternalScope.g:5922:1: ( rule__NamingSection__Group__3__Impl rule__NamingSection__Group__4 ) + // InternalScope.g:5923:2: rule__NamingSection__Group__3__Impl rule__NamingSection__Group__4 { - pushFollow(FOLLOW_43); - rule__QualifiedID__Group__0__Impl(); + pushFollow(FOLLOW_14); + rule__NamingSection__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__QualifiedID__Group__1(); + rule__NamingSection__Group__4(); state._fsp--; if (state.failed) return ; @@ -19446,32 +21919,28 @@ public final void rule__QualifiedID__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__QualifiedID__Group__0" + // $ANTLR end "rule__NamingSection__Group__3" - // $ANTLR start "rule__QualifiedID__Group__0__Impl" - // InternalScope.g:5724:1: rule__QualifiedID__Group__0__Impl : ( ruleIdentifier ) ; - public final void rule__QualifiedID__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__NamingSection__Group__3__Impl" + // InternalScope.g:5930:1: rule__NamingSection__Group__3__Impl : ( '{' ) ; + public final void rule__NamingSection__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5728:1: ( ( ruleIdentifier ) ) - // InternalScope.g:5729:1: ( ruleIdentifier ) + // InternalScope.g:5934:1: ( ( '{' ) ) + // InternalScope.g:5935:1: ( '{' ) { - // InternalScope.g:5729:1: ( ruleIdentifier ) - // InternalScope.g:5730:2: ruleIdentifier + // InternalScope.g:5935:1: ( '{' ) + // InternalScope.g:5936:2: '{' { if ( state.backtracking==0 ) { - before(grammarAccess.getQualifiedIDAccess().getIdentifierParserRuleCall_0()); + before(grammarAccess.getNamingSectionAccess().getLeftCurlyBracketKeyword_3()); } - pushFollow(FOLLOW_2); - ruleIdentifier(); - - state._fsp--; - if (state.failed) return ; + match(input,72,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getQualifiedIDAccess().getIdentifierParserRuleCall_0()); + after(grammarAccess.getNamingSectionAccess().getLeftCurlyBracketKeyword_3()); } } @@ -19491,21 +21960,26 @@ public final void rule__QualifiedID__Group__0__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__QualifiedID__Group__0__Impl" + // $ANTLR end "rule__NamingSection__Group__3__Impl" - // $ANTLR start "rule__QualifiedID__Group__1" - // InternalScope.g:5739:1: rule__QualifiedID__Group__1 : rule__QualifiedID__Group__1__Impl ; - public final void rule__QualifiedID__Group__1() throws RecognitionException { + // $ANTLR start "rule__NamingSection__Group__4" + // InternalScope.g:5945:1: rule__NamingSection__Group__4 : rule__NamingSection__Group__4__Impl rule__NamingSection__Group__5 ; + public final void rule__NamingSection__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5743:1: ( rule__QualifiedID__Group__1__Impl ) - // InternalScope.g:5744:2: rule__QualifiedID__Group__1__Impl + // InternalScope.g:5949:1: ( rule__NamingSection__Group__4__Impl rule__NamingSection__Group__5 ) + // InternalScope.g:5950:2: rule__NamingSection__Group__4__Impl rule__NamingSection__Group__5 { + pushFollow(FOLLOW_14); + rule__NamingSection__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__QualifiedID__Group__1__Impl(); + rule__NamingSection__Group__5(); state._fsp--; if (state.failed) return ; @@ -19524,42 +21998,42 @@ public final void rule__QualifiedID__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__QualifiedID__Group__1" + // $ANTLR end "rule__NamingSection__Group__4" - // $ANTLR start "rule__QualifiedID__Group__1__Impl" - // InternalScope.g:5750:1: rule__QualifiedID__Group__1__Impl : ( ( rule__QualifiedID__Group_1__0 )* ) ; - public final void rule__QualifiedID__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__NamingSection__Group__4__Impl" + // InternalScope.g:5957:1: rule__NamingSection__Group__4__Impl : ( ( rule__NamingSection__NamingsAssignment_4 )* ) ; + public final void rule__NamingSection__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5754:1: ( ( ( rule__QualifiedID__Group_1__0 )* ) ) - // InternalScope.g:5755:1: ( ( rule__QualifiedID__Group_1__0 )* ) + // InternalScope.g:5961:1: ( ( ( rule__NamingSection__NamingsAssignment_4 )* ) ) + // InternalScope.g:5962:1: ( ( rule__NamingSection__NamingsAssignment_4 )* ) { - // InternalScope.g:5755:1: ( ( rule__QualifiedID__Group_1__0 )* ) - // InternalScope.g:5756:2: ( rule__QualifiedID__Group_1__0 )* + // InternalScope.g:5962:1: ( ( rule__NamingSection__NamingsAssignment_4 )* ) + // InternalScope.g:5963:2: ( rule__NamingSection__NamingsAssignment_4 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getQualifiedIDAccess().getGroup_1()); + before(grammarAccess.getNamingSectionAccess().getNamingsAssignment_4()); } - // InternalScope.g:5757:2: ( rule__QualifiedID__Group_1__0 )* - loop52: + // InternalScope.g:5964:2: ( rule__NamingSection__NamingsAssignment_4 )* + loop76: do { - int alt52=2; - int LA52_0 = input.LA(1); + int alt76=2; + int LA76_0 = input.LA(1); - if ( (LA52_0==67) ) { - alt52=1; + if ( (LA76_0==RULE_ID) ) { + alt76=1; } - switch (alt52) { + switch (alt76) { case 1 : - // InternalScope.g:5757:3: rule__QualifiedID__Group_1__0 + // InternalScope.g:5964:3: rule__NamingSection__NamingsAssignment_4 { - pushFollow(FOLLOW_44); - rule__QualifiedID__Group_1__0(); + pushFollow(FOLLOW_3); + rule__NamingSection__NamingsAssignment_4(); state._fsp--; if (state.failed) return ; @@ -19568,12 +22042,12 @@ public final void rule__QualifiedID__Group__1__Impl() throws RecognitionExceptio break; default : - break loop52; + break loop76; } } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getQualifiedIDAccess().getGroup_1()); + after(grammarAccess.getNamingSectionAccess().getNamingsAssignment_4()); } } @@ -19593,26 +22067,21 @@ public final void rule__QualifiedID__Group__1__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__QualifiedID__Group__1__Impl" + // $ANTLR end "rule__NamingSection__Group__4__Impl" - // $ANTLR start "rule__QualifiedID__Group_1__0" - // InternalScope.g:5766:1: rule__QualifiedID__Group_1__0 : rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 ; - public final void rule__QualifiedID__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__NamingSection__Group__5" + // InternalScope.g:5972:1: rule__NamingSection__Group__5 : rule__NamingSection__Group__5__Impl ; + public final void rule__NamingSection__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5770:1: ( rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 ) - // InternalScope.g:5771:2: rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 + // InternalScope.g:5976:1: ( rule__NamingSection__Group__5__Impl ) + // InternalScope.g:5977:2: rule__NamingSection__Group__5__Impl { - pushFollow(FOLLOW_3); - rule__QualifiedID__Group_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__QualifiedID__Group_1__1(); + rule__NamingSection__Group__5__Impl(); state._fsp--; if (state.failed) return ; @@ -19631,28 +22100,28 @@ public final void rule__QualifiedID__Group_1__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__QualifiedID__Group_1__0" + // $ANTLR end "rule__NamingSection__Group__5" - // $ANTLR start "rule__QualifiedID__Group_1__0__Impl" - // InternalScope.g:5778:1: rule__QualifiedID__Group_1__0__Impl : ( '::' ) ; - public final void rule__QualifiedID__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__NamingSection__Group__5__Impl" + // InternalScope.g:5983:1: rule__NamingSection__Group__5__Impl : ( '}' ) ; + public final void rule__NamingSection__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5782:1: ( ( '::' ) ) - // InternalScope.g:5783:1: ( '::' ) + // InternalScope.g:5987:1: ( ( '}' ) ) + // InternalScope.g:5988:1: ( '}' ) { - // InternalScope.g:5783:1: ( '::' ) - // InternalScope.g:5784:2: '::' + // InternalScope.g:5988:1: ( '}' ) + // InternalScope.g:5989:2: '}' { if ( state.backtracking==0 ) { - before(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); + before(grammarAccess.getNamingSectionAccess().getRightCurlyBracketKeyword_5()); } - match(input,67,FOLLOW_2); if (state.failed) return ; + match(input,73,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); + after(grammarAccess.getNamingSectionAccess().getRightCurlyBracketKeyword_5()); } } @@ -19672,21 +22141,26 @@ public final void rule__QualifiedID__Group_1__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__QualifiedID__Group_1__0__Impl" + // $ANTLR end "rule__NamingSection__Group__5__Impl" - // $ANTLR start "rule__QualifiedID__Group_1__1" - // InternalScope.g:5793:1: rule__QualifiedID__Group_1__1 : rule__QualifiedID__Group_1__1__Impl ; - public final void rule__QualifiedID__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__NamingSection__Group_1__0" + // InternalScope.g:5999:1: rule__NamingSection__Group_1__0 : rule__NamingSection__Group_1__0__Impl rule__NamingSection__Group_1__1 ; + public final void rule__NamingSection__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5797:1: ( rule__QualifiedID__Group_1__1__Impl ) - // InternalScope.g:5798:2: rule__QualifiedID__Group_1__1__Impl + // InternalScope.g:6003:1: ( rule__NamingSection__Group_1__0__Impl rule__NamingSection__Group_1__1 ) + // InternalScope.g:6004:2: rule__NamingSection__Group_1__0__Impl rule__NamingSection__Group_1__1 { + pushFollow(FOLLOW_15); + rule__NamingSection__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__QualifiedID__Group_1__1__Impl(); + rule__NamingSection__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -19705,32 +22179,28 @@ public final void rule__QualifiedID__Group_1__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__QualifiedID__Group_1__1" + // $ANTLR end "rule__NamingSection__Group_1__0" - // $ANTLR start "rule__QualifiedID__Group_1__1__Impl" - // InternalScope.g:5804:1: rule__QualifiedID__Group_1__1__Impl : ( ruleIdentifier ) ; - public final void rule__QualifiedID__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__NamingSection__Group_1__0__Impl" + // InternalScope.g:6011:1: rule__NamingSection__Group_1__0__Impl : ( 'case' ) ; + public final void rule__NamingSection__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5808:1: ( ( ruleIdentifier ) ) - // InternalScope.g:5809:1: ( ruleIdentifier ) + // InternalScope.g:6015:1: ( ( 'case' ) ) + // InternalScope.g:6016:1: ( 'case' ) { - // InternalScope.g:5809:1: ( ruleIdentifier ) - // InternalScope.g:5810:2: ruleIdentifier + // InternalScope.g:6016:1: ( 'case' ) + // InternalScope.g:6017:2: 'case' { if ( state.backtracking==0 ) { - before(grammarAccess.getQualifiedIDAccess().getIdentifierParserRuleCall_1_1()); + before(grammarAccess.getNamingSectionAccess().getCaseKeyword_1_0()); } - pushFollow(FOLLOW_2); - ruleIdentifier(); - - state._fsp--; - if (state.failed) return ; + match(input,74,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getQualifiedIDAccess().getIdentifierParserRuleCall_1_1()); + after(grammarAccess.getNamingSectionAccess().getCaseKeyword_1_0()); } } @@ -19750,26 +22220,21 @@ public final void rule__QualifiedID__Group_1__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__QualifiedID__Group_1__1__Impl" + // $ANTLR end "rule__NamingSection__Group_1__0__Impl" - // $ANTLR start "rule__DottedID__Group__0" - // InternalScope.g:5820:1: rule__DottedID__Group__0 : rule__DottedID__Group__0__Impl rule__DottedID__Group__1 ; - public final void rule__DottedID__Group__0() throws RecognitionException { + // $ANTLR start "rule__NamingSection__Group_1__1" + // InternalScope.g:6026:1: rule__NamingSection__Group_1__1 : rule__NamingSection__Group_1__1__Impl ; + public final void rule__NamingSection__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5824:1: ( rule__DottedID__Group__0__Impl rule__DottedID__Group__1 ) - // InternalScope.g:5825:2: rule__DottedID__Group__0__Impl rule__DottedID__Group__1 + // InternalScope.g:6030:1: ( rule__NamingSection__Group_1__1__Impl ) + // InternalScope.g:6031:2: rule__NamingSection__Group_1__1__Impl { - pushFollow(FOLLOW_45); - rule__DottedID__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__DottedID__Group__1(); + rule__NamingSection__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; @@ -19788,32 +22253,38 @@ public final void rule__DottedID__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__DottedID__Group__0" + // $ANTLR end "rule__NamingSection__Group_1__1" - // $ANTLR start "rule__DottedID__Group__0__Impl" - // InternalScope.g:5832:1: rule__DottedID__Group__0__Impl : ( ruleIdentifier ) ; - public final void rule__DottedID__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__NamingSection__Group_1__1__Impl" + // InternalScope.g:6037:1: rule__NamingSection__Group_1__1__Impl : ( ( rule__NamingSection__CasingAssignment_1_1 ) ) ; + public final void rule__NamingSection__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5836:1: ( ( ruleIdentifier ) ) - // InternalScope.g:5837:1: ( ruleIdentifier ) + // InternalScope.g:6041:1: ( ( ( rule__NamingSection__CasingAssignment_1_1 ) ) ) + // InternalScope.g:6042:1: ( ( rule__NamingSection__CasingAssignment_1_1 ) ) { - // InternalScope.g:5837:1: ( ruleIdentifier ) - // InternalScope.g:5838:2: ruleIdentifier + // InternalScope.g:6042:1: ( ( rule__NamingSection__CasingAssignment_1_1 ) ) + // InternalScope.g:6043:2: ( rule__NamingSection__CasingAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getDottedIDAccess().getIdentifierParserRuleCall_0()); + before(grammarAccess.getNamingSectionAccess().getCasingAssignment_1_1()); } + // InternalScope.g:6044:2: ( rule__NamingSection__CasingAssignment_1_1 ) + // InternalScope.g:6044:3: rule__NamingSection__CasingAssignment_1_1 + { pushFollow(FOLLOW_2); - ruleIdentifier(); + rule__NamingSection__CasingAssignment_1_1(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getDottedIDAccess().getIdentifierParserRuleCall_0()); + after(grammarAccess.getNamingSectionAccess().getCasingAssignment_1_1()); } } @@ -19833,21 +22304,26 @@ public final void rule__DottedID__Group__0__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__DottedID__Group__0__Impl" + // $ANTLR end "rule__NamingSection__Group_1__1__Impl" - // $ANTLR start "rule__DottedID__Group__1" - // InternalScope.g:5847:1: rule__DottedID__Group__1 : rule__DottedID__Group__1__Impl ; - public final void rule__DottedID__Group__1() throws RecognitionException { + // $ANTLR start "rule__NamingDefinition__Group__0" + // InternalScope.g:6053:1: rule__NamingDefinition__Group__0 : rule__NamingDefinition__Group__0__Impl rule__NamingDefinition__Group__1 ; + public final void rule__NamingDefinition__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5851:1: ( rule__DottedID__Group__1__Impl ) - // InternalScope.g:5852:2: rule__DottedID__Group__1__Impl + // InternalScope.g:6057:1: ( rule__NamingDefinition__Group__0__Impl rule__NamingDefinition__Group__1 ) + // InternalScope.g:6058:2: rule__NamingDefinition__Group__0__Impl rule__NamingDefinition__Group__1 { + pushFollow(FOLLOW_16); + rule__NamingDefinition__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__DottedID__Group__1__Impl(); + rule__NamingDefinition__Group__1(); state._fsp--; if (state.failed) return ; @@ -19866,56 +22342,38 @@ public final void rule__DottedID__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__DottedID__Group__1" + // $ANTLR end "rule__NamingDefinition__Group__0" - // $ANTLR start "rule__DottedID__Group__1__Impl" - // InternalScope.g:5858:1: rule__DottedID__Group__1__Impl : ( ( rule__DottedID__Group_1__0 )* ) ; - public final void rule__DottedID__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__NamingDefinition__Group__0__Impl" + // InternalScope.g:6065:1: rule__NamingDefinition__Group__0__Impl : ( ( rule__NamingDefinition__TypeAssignment_0 ) ) ; + public final void rule__NamingDefinition__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5862:1: ( ( ( rule__DottedID__Group_1__0 )* ) ) - // InternalScope.g:5863:1: ( ( rule__DottedID__Group_1__0 )* ) + // InternalScope.g:6069:1: ( ( ( rule__NamingDefinition__TypeAssignment_0 ) ) ) + // InternalScope.g:6070:1: ( ( rule__NamingDefinition__TypeAssignment_0 ) ) { - // InternalScope.g:5863:1: ( ( rule__DottedID__Group_1__0 )* ) - // InternalScope.g:5864:2: ( rule__DottedID__Group_1__0 )* + // InternalScope.g:6070:1: ( ( rule__NamingDefinition__TypeAssignment_0 ) ) + // InternalScope.g:6071:2: ( rule__NamingDefinition__TypeAssignment_0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getDottedIDAccess().getGroup_1()); + before(grammarAccess.getNamingDefinitionAccess().getTypeAssignment_0()); } - // InternalScope.g:5865:2: ( rule__DottedID__Group_1__0 )* - loop53: - do { - int alt53=2; - int LA53_0 = input.LA(1); - - if ( (LA53_0==68) ) { - alt53=1; - } - - - switch (alt53) { - case 1 : - // InternalScope.g:5865:3: rule__DottedID__Group_1__0 - { - pushFollow(FOLLOW_46); - rule__DottedID__Group_1__0(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:6072:2: ( rule__NamingDefinition__TypeAssignment_0 ) + // InternalScope.g:6072:3: rule__NamingDefinition__TypeAssignment_0 + { + pushFollow(FOLLOW_2); + rule__NamingDefinition__TypeAssignment_0(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop53; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getDottedIDAccess().getGroup_1()); + after(grammarAccess.getNamingDefinitionAccess().getTypeAssignment_0()); } } @@ -19935,26 +22393,26 @@ public final void rule__DottedID__Group__1__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__DottedID__Group__1__Impl" + // $ANTLR end "rule__NamingDefinition__Group__0__Impl" - // $ANTLR start "rule__DottedID__Group_1__0" - // InternalScope.g:5874:1: rule__DottedID__Group_1__0 : rule__DottedID__Group_1__0__Impl rule__DottedID__Group_1__1 ; - public final void rule__DottedID__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__NamingDefinition__Group__1" + // InternalScope.g:6080:1: rule__NamingDefinition__Group__1 : rule__NamingDefinition__Group__1__Impl rule__NamingDefinition__Group__2 ; + public final void rule__NamingDefinition__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5878:1: ( rule__DottedID__Group_1__0__Impl rule__DottedID__Group_1__1 ) - // InternalScope.g:5879:2: rule__DottedID__Group_1__0__Impl rule__DottedID__Group_1__1 + // InternalScope.g:6084:1: ( rule__NamingDefinition__Group__1__Impl rule__NamingDefinition__Group__2 ) + // InternalScope.g:6085:2: rule__NamingDefinition__Group__1__Impl rule__NamingDefinition__Group__2 { - pushFollow(FOLLOW_3); - rule__DottedID__Group_1__0__Impl(); + pushFollow(FOLLOW_17); + rule__NamingDefinition__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__DottedID__Group_1__1(); + rule__NamingDefinition__Group__2(); state._fsp--; if (state.failed) return ; @@ -19973,28 +22431,28 @@ public final void rule__DottedID__Group_1__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__DottedID__Group_1__0" + // $ANTLR end "rule__NamingDefinition__Group__1" - // $ANTLR start "rule__DottedID__Group_1__0__Impl" - // InternalScope.g:5886:1: rule__DottedID__Group_1__0__Impl : ( '.' ) ; - public final void rule__DottedID__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__NamingDefinition__Group__1__Impl" + // InternalScope.g:6092:1: rule__NamingDefinition__Group__1__Impl : ( '=' ) ; + public final void rule__NamingDefinition__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5890:1: ( ( '.' ) ) - // InternalScope.g:5891:1: ( '.' ) + // InternalScope.g:6096:1: ( ( '=' ) ) + // InternalScope.g:6097:1: ( '=' ) { - // InternalScope.g:5891:1: ( '.' ) - // InternalScope.g:5892:2: '.' + // InternalScope.g:6097:1: ( '=' ) + // InternalScope.g:6098:2: '=' { if ( state.backtracking==0 ) { - before(grammarAccess.getDottedIDAccess().getFullStopKeyword_1_0()); + before(grammarAccess.getNamingDefinitionAccess().getEqualsSignKeyword_1()); } - match(input,68,FOLLOW_2); if (state.failed) return ; + match(input,14,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getDottedIDAccess().getFullStopKeyword_1_0()); + after(grammarAccess.getNamingDefinitionAccess().getEqualsSignKeyword_1()); } } @@ -20014,21 +22472,26 @@ public final void rule__DottedID__Group_1__0__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__DottedID__Group_1__0__Impl" + // $ANTLR end "rule__NamingDefinition__Group__1__Impl" - // $ANTLR start "rule__DottedID__Group_1__1" - // InternalScope.g:5901:1: rule__DottedID__Group_1__1 : rule__DottedID__Group_1__1__Impl ; - public final void rule__DottedID__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__NamingDefinition__Group__2" + // InternalScope.g:6107:1: rule__NamingDefinition__Group__2 : rule__NamingDefinition__Group__2__Impl rule__NamingDefinition__Group__3 ; + public final void rule__NamingDefinition__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5905:1: ( rule__DottedID__Group_1__1__Impl ) - // InternalScope.g:5906:2: rule__DottedID__Group_1__1__Impl + // InternalScope.g:6111:1: ( rule__NamingDefinition__Group__2__Impl rule__NamingDefinition__Group__3 ) + // InternalScope.g:6112:2: rule__NamingDefinition__Group__2__Impl rule__NamingDefinition__Group__3 { + pushFollow(FOLLOW_18); + rule__NamingDefinition__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__DottedID__Group_1__1__Impl(); + rule__NamingDefinition__Group__3(); state._fsp--; if (state.failed) return ; @@ -20047,32 +22510,38 @@ public final void rule__DottedID__Group_1__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__DottedID__Group_1__1" + // $ANTLR end "rule__NamingDefinition__Group__2" - // $ANTLR start "rule__DottedID__Group_1__1__Impl" - // InternalScope.g:5912:1: rule__DottedID__Group_1__1__Impl : ( ruleIdentifier ) ; - public final void rule__DottedID__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__NamingDefinition__Group__2__Impl" + // InternalScope.g:6119:1: rule__NamingDefinition__Group__2__Impl : ( ( rule__NamingDefinition__NamingAssignment_2 ) ) ; + public final void rule__NamingDefinition__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5916:1: ( ( ruleIdentifier ) ) - // InternalScope.g:5917:1: ( ruleIdentifier ) + // InternalScope.g:6123:1: ( ( ( rule__NamingDefinition__NamingAssignment_2 ) ) ) + // InternalScope.g:6124:1: ( ( rule__NamingDefinition__NamingAssignment_2 ) ) { - // InternalScope.g:5917:1: ( ruleIdentifier ) - // InternalScope.g:5918:2: ruleIdentifier + // InternalScope.g:6124:1: ( ( rule__NamingDefinition__NamingAssignment_2 ) ) + // InternalScope.g:6125:2: ( rule__NamingDefinition__NamingAssignment_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getDottedIDAccess().getIdentifierParserRuleCall_1_1()); + before(grammarAccess.getNamingDefinitionAccess().getNamingAssignment_2()); } + // InternalScope.g:6126:2: ( rule__NamingDefinition__NamingAssignment_2 ) + // InternalScope.g:6126:3: rule__NamingDefinition__NamingAssignment_2 + { pushFollow(FOLLOW_2); - ruleIdentifier(); + rule__NamingDefinition__NamingAssignment_2(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getDottedIDAccess().getIdentifierParserRuleCall_1_1()); + after(grammarAccess.getNamingDefinitionAccess().getNamingAssignment_2()); } } @@ -20092,26 +22561,21 @@ public final void rule__DottedID__Group_1__1__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__DottedID__Group_1__1__Impl" + // $ANTLR end "rule__NamingDefinition__Group__2__Impl" - // $ANTLR start "rule__LetExpression__Group__0" - // InternalScope.g:5928:1: rule__LetExpression__Group__0 : rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 ; - public final void rule__LetExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__NamingDefinition__Group__3" + // InternalScope.g:6134:1: rule__NamingDefinition__Group__3 : rule__NamingDefinition__Group__3__Impl ; + public final void rule__NamingDefinition__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5932:1: ( rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 ) - // InternalScope.g:5933:2: rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 + // InternalScope.g:6138:1: ( rule__NamingDefinition__Group__3__Impl ) + // InternalScope.g:6139:2: rule__NamingDefinition__Group__3__Impl { - pushFollow(FOLLOW_3); - rule__LetExpression__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__LetExpression__Group__1(); + rule__NamingDefinition__Group__3__Impl(); state._fsp--; if (state.failed) return ; @@ -20130,28 +22594,28 @@ public final void rule__LetExpression__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__LetExpression__Group__0" + // $ANTLR end "rule__NamingDefinition__Group__3" - // $ANTLR start "rule__LetExpression__Group__0__Impl" - // InternalScope.g:5940:1: rule__LetExpression__Group__0__Impl : ( 'let' ) ; - public final void rule__LetExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__NamingDefinition__Group__3__Impl" + // InternalScope.g:6145:1: rule__NamingDefinition__Group__3__Impl : ( ';' ) ; + public final void rule__NamingDefinition__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5944:1: ( ( 'let' ) ) - // InternalScope.g:5945:1: ( 'let' ) + // InternalScope.g:6149:1: ( ( ';' ) ) + // InternalScope.g:6150:1: ( ';' ) { - // InternalScope.g:5945:1: ( 'let' ) - // InternalScope.g:5946:2: 'let' + // InternalScope.g:6150:1: ( ';' ) + // InternalScope.g:6151:2: ';' { if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); + before(grammarAccess.getNamingDefinitionAccess().getSemicolonKeyword_3()); } - match(input,69,FOLLOW_2); if (state.failed) return ; + match(input,75,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); + after(grammarAccess.getNamingDefinitionAccess().getSemicolonKeyword_3()); } } @@ -20171,26 +22635,26 @@ public final void rule__LetExpression__Group__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__LetExpression__Group__0__Impl" + // $ANTLR end "rule__NamingDefinition__Group__3__Impl" - // $ANTLR start "rule__LetExpression__Group__1" - // InternalScope.g:5955:1: rule__LetExpression__Group__1 : rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 ; - public final void rule__LetExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group__0" + // InternalScope.g:6161:1: rule__ScopeDefinition__Group__0 : rule__ScopeDefinition__Group__0__Impl rule__ScopeDefinition__Group__1 ; + public final void rule__ScopeDefinition__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5959:1: ( rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 ) - // InternalScope.g:5960:2: rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 + // InternalScope.g:6165:1: ( rule__ScopeDefinition__Group__0__Impl rule__ScopeDefinition__Group__1 ) + // InternalScope.g:6166:2: rule__ScopeDefinition__Group__0__Impl rule__ScopeDefinition__Group__1 { - pushFollow(FOLLOW_16); - rule__LetExpression__Group__1__Impl(); + pushFollow(FOLLOW_19); + rule__ScopeDefinition__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__LetExpression__Group__2(); + rule__ScopeDefinition__Group__1(); state._fsp--; if (state.failed) return ; @@ -20209,38 +22673,28 @@ public final void rule__LetExpression__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__LetExpression__Group__1" + // $ANTLR end "rule__ScopeDefinition__Group__0" - // $ANTLR start "rule__LetExpression__Group__1__Impl" - // InternalScope.g:5967:1: rule__LetExpression__Group__1__Impl : ( ( rule__LetExpression__IdentifierAssignment_1 ) ) ; - public final void rule__LetExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group__0__Impl" + // InternalScope.g:6173:1: rule__ScopeDefinition__Group__0__Impl : ( 'scope' ) ; + public final void rule__ScopeDefinition__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5971:1: ( ( ( rule__LetExpression__IdentifierAssignment_1 ) ) ) - // InternalScope.g:5972:1: ( ( rule__LetExpression__IdentifierAssignment_1 ) ) + // InternalScope.g:6177:1: ( ( 'scope' ) ) + // InternalScope.g:6178:1: ( 'scope' ) { - // InternalScope.g:5972:1: ( ( rule__LetExpression__IdentifierAssignment_1 ) ) - // InternalScope.g:5973:2: ( rule__LetExpression__IdentifierAssignment_1 ) + // InternalScope.g:6178:1: ( 'scope' ) + // InternalScope.g:6179:2: 'scope' { if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); - } - // InternalScope.g:5974:2: ( rule__LetExpression__IdentifierAssignment_1 ) - // InternalScope.g:5974:3: rule__LetExpression__IdentifierAssignment_1 - { - pushFollow(FOLLOW_2); - rule__LetExpression__IdentifierAssignment_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getScopeDefinitionAccess().getScopeKeyword_0()); } - + match(input,76,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); + after(grammarAccess.getScopeDefinitionAccess().getScopeKeyword_0()); } } @@ -20260,26 +22714,26 @@ public final void rule__LetExpression__Group__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__LetExpression__Group__1__Impl" + // $ANTLR end "rule__ScopeDefinition__Group__0__Impl" - // $ANTLR start "rule__LetExpression__Group__2" - // InternalScope.g:5982:1: rule__LetExpression__Group__2 : rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 ; - public final void rule__LetExpression__Group__2() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group__1" + // InternalScope.g:6188:1: rule__ScopeDefinition__Group__1 : rule__ScopeDefinition__Group__1__Impl rule__ScopeDefinition__Group__2 ; + public final void rule__ScopeDefinition__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5986:1: ( rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 ) - // InternalScope.g:5987:2: rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 + // InternalScope.g:6192:1: ( rule__ScopeDefinition__Group__1__Impl rule__ScopeDefinition__Group__2 ) + // InternalScope.g:6193:2: rule__ScopeDefinition__Group__1__Impl rule__ScopeDefinition__Group__2 { - pushFollow(FOLLOW_17); - rule__LetExpression__Group__2__Impl(); + pushFollow(FOLLOW_19); + rule__ScopeDefinition__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__LetExpression__Group__3(); + rule__ScopeDefinition__Group__2(); state._fsp--; if (state.failed) return ; @@ -20298,28 +22752,49 @@ public final void rule__LetExpression__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__LetExpression__Group__2" + // $ANTLR end "rule__ScopeDefinition__Group__1" - // $ANTLR start "rule__LetExpression__Group__2__Impl" - // InternalScope.g:5994:1: rule__LetExpression__Group__2__Impl : ( '=' ) ; - public final void rule__LetExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group__1__Impl" + // InternalScope.g:6200:1: rule__ScopeDefinition__Group__1__Impl : ( ( rule__ScopeDefinition__Group_1__0 )? ) ; + public final void rule__ScopeDefinition__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:5998:1: ( ( '=' ) ) - // InternalScope.g:5999:1: ( '=' ) + // InternalScope.g:6204:1: ( ( ( rule__ScopeDefinition__Group_1__0 )? ) ) + // InternalScope.g:6205:1: ( ( rule__ScopeDefinition__Group_1__0 )? ) { - // InternalScope.g:5999:1: ( '=' ) - // InternalScope.g:6000:2: '=' + // InternalScope.g:6205:1: ( ( rule__ScopeDefinition__Group_1__0 )? ) + // InternalScope.g:6206:2: ( rule__ScopeDefinition__Group_1__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); + before(grammarAccess.getScopeDefinitionAccess().getGroup_1()); } - match(input,48,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:6207:2: ( rule__ScopeDefinition__Group_1__0 )? + int alt77=2; + int LA77_0 = input.LA(1); + + if ( (LA77_0==77) ) { + alt77=1; + } + switch (alt77) { + case 1 : + // InternalScope.g:6207:3: rule__ScopeDefinition__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__ScopeDefinition__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); + after(grammarAccess.getScopeDefinitionAccess().getGroup_1()); } } @@ -20339,26 +22814,26 @@ public final void rule__LetExpression__Group__2__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__LetExpression__Group__2__Impl" + // $ANTLR end "rule__ScopeDefinition__Group__1__Impl" - // $ANTLR start "rule__LetExpression__Group__3" - // InternalScope.g:6009:1: rule__LetExpression__Group__3 : rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 ; - public final void rule__LetExpression__Group__3() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group__2" + // InternalScope.g:6215:1: rule__ScopeDefinition__Group__2 : rule__ScopeDefinition__Group__2__Impl rule__ScopeDefinition__Group__3 ; + public final void rule__ScopeDefinition__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6013:1: ( rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 ) - // InternalScope.g:6014:2: rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 + // InternalScope.g:6219:1: ( rule__ScopeDefinition__Group__2__Impl rule__ScopeDefinition__Group__3 ) + // InternalScope.g:6220:2: rule__ScopeDefinition__Group__2__Impl rule__ScopeDefinition__Group__3 { - pushFollow(FOLLOW_47); - rule__LetExpression__Group__3__Impl(); + pushFollow(FOLLOW_13); + rule__ScopeDefinition__Group__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__LetExpression__Group__4(); + rule__ScopeDefinition__Group__3(); state._fsp--; if (state.failed) return ; @@ -20377,30 +22852,30 @@ public final void rule__LetExpression__Group__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__LetExpression__Group__3" + // $ANTLR end "rule__ScopeDefinition__Group__2" - // $ANTLR start "rule__LetExpression__Group__3__Impl" - // InternalScope.g:6021:1: rule__LetExpression__Group__3__Impl : ( ( rule__LetExpression__VarExprAssignment_3 ) ) ; - public final void rule__LetExpression__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group__2__Impl" + // InternalScope.g:6227:1: rule__ScopeDefinition__Group__2__Impl : ( ( rule__ScopeDefinition__Alternatives_2 ) ) ; + public final void rule__ScopeDefinition__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6025:1: ( ( ( rule__LetExpression__VarExprAssignment_3 ) ) ) - // InternalScope.g:6026:1: ( ( rule__LetExpression__VarExprAssignment_3 ) ) + // InternalScope.g:6231:1: ( ( ( rule__ScopeDefinition__Alternatives_2 ) ) ) + // InternalScope.g:6232:1: ( ( rule__ScopeDefinition__Alternatives_2 ) ) { - // InternalScope.g:6026:1: ( ( rule__LetExpression__VarExprAssignment_3 ) ) - // InternalScope.g:6027:2: ( rule__LetExpression__VarExprAssignment_3 ) + // InternalScope.g:6232:1: ( ( rule__ScopeDefinition__Alternatives_2 ) ) + // InternalScope.g:6233:2: ( rule__ScopeDefinition__Alternatives_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); + before(grammarAccess.getScopeDefinitionAccess().getAlternatives_2()); } - // InternalScope.g:6028:2: ( rule__LetExpression__VarExprAssignment_3 ) - // InternalScope.g:6028:3: rule__LetExpression__VarExprAssignment_3 + // InternalScope.g:6234:2: ( rule__ScopeDefinition__Alternatives_2 ) + // InternalScope.g:6234:3: rule__ScopeDefinition__Alternatives_2 { pushFollow(FOLLOW_2); - rule__LetExpression__VarExprAssignment_3(); + rule__ScopeDefinition__Alternatives_2(); state._fsp--; if (state.failed) return ; @@ -20408,7 +22883,7 @@ public final void rule__LetExpression__Group__3__Impl() throws RecognitionExcept } if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); + after(grammarAccess.getScopeDefinitionAccess().getAlternatives_2()); } } @@ -20428,26 +22903,26 @@ public final void rule__LetExpression__Group__3__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__LetExpression__Group__3__Impl" + // $ANTLR end "rule__ScopeDefinition__Group__2__Impl" - // $ANTLR start "rule__LetExpression__Group__4" - // InternalScope.g:6036:1: rule__LetExpression__Group__4 : rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 ; - public final void rule__LetExpression__Group__4() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group__3" + // InternalScope.g:6242:1: rule__ScopeDefinition__Group__3 : rule__ScopeDefinition__Group__3__Impl rule__ScopeDefinition__Group__4 ; + public final void rule__ScopeDefinition__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6040:1: ( rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 ) - // InternalScope.g:6041:2: rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 + // InternalScope.g:6246:1: ( rule__ScopeDefinition__Group__3__Impl rule__ScopeDefinition__Group__4 ) + // InternalScope.g:6247:2: rule__ScopeDefinition__Group__3__Impl rule__ScopeDefinition__Group__4 { - pushFollow(FOLLOW_17); - rule__LetExpression__Group__4__Impl(); + pushFollow(FOLLOW_20); + rule__ScopeDefinition__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__LetExpression__Group__5(); + rule__ScopeDefinition__Group__4(); state._fsp--; if (state.failed) return ; @@ -20466,28 +22941,28 @@ public final void rule__LetExpression__Group__4() throws RecognitionException { } return ; } - // $ANTLR end "rule__LetExpression__Group__4" + // $ANTLR end "rule__ScopeDefinition__Group__3" - // $ANTLR start "rule__LetExpression__Group__4__Impl" - // InternalScope.g:6048:1: rule__LetExpression__Group__4__Impl : ( ':' ) ; - public final void rule__LetExpression__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group__3__Impl" + // InternalScope.g:6254:1: rule__ScopeDefinition__Group__3__Impl : ( '{' ) ; + public final void rule__ScopeDefinition__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6052:1: ( ( ':' ) ) - // InternalScope.g:6053:1: ( ':' ) + // InternalScope.g:6258:1: ( ( '{' ) ) + // InternalScope.g:6259:1: ( '{' ) { - // InternalScope.g:6053:1: ( ':' ) - // InternalScope.g:6054:2: ':' + // InternalScope.g:6259:1: ( '{' ) + // InternalScope.g:6260:2: '{' { if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); + before(grammarAccess.getScopeDefinitionAccess().getLeftCurlyBracketKeyword_3()); } - match(input,70,FOLLOW_2); if (state.failed) return ; + match(input,72,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); + after(grammarAccess.getScopeDefinitionAccess().getLeftCurlyBracketKeyword_3()); } } @@ -20507,21 +22982,26 @@ public final void rule__LetExpression__Group__4__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__LetExpression__Group__4__Impl" + // $ANTLR end "rule__ScopeDefinition__Group__3__Impl" - // $ANTLR start "rule__LetExpression__Group__5" - // InternalScope.g:6063:1: rule__LetExpression__Group__5 : rule__LetExpression__Group__5__Impl ; - public final void rule__LetExpression__Group__5() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group__4" + // InternalScope.g:6269:1: rule__ScopeDefinition__Group__4 : rule__ScopeDefinition__Group__4__Impl rule__ScopeDefinition__Group__5 ; + public final void rule__ScopeDefinition__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6067:1: ( rule__LetExpression__Group__5__Impl ) - // InternalScope.g:6068:2: rule__LetExpression__Group__5__Impl + // InternalScope.g:6273:1: ( rule__ScopeDefinition__Group__4__Impl rule__ScopeDefinition__Group__5 ) + // InternalScope.g:6274:2: rule__ScopeDefinition__Group__4__Impl rule__ScopeDefinition__Group__5 { + pushFollow(FOLLOW_21); + rule__ScopeDefinition__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__LetExpression__Group__5__Impl(); + rule__ScopeDefinition__Group__5(); state._fsp--; if (state.failed) return ; @@ -20540,30 +23020,33 @@ public final void rule__LetExpression__Group__5() throws RecognitionException { } return ; } - // $ANTLR end "rule__LetExpression__Group__5" + // $ANTLR end "rule__ScopeDefinition__Group__4" - // $ANTLR start "rule__LetExpression__Group__5__Impl" - // InternalScope.g:6074:1: rule__LetExpression__Group__5__Impl : ( ( rule__LetExpression__TargetAssignment_5 ) ) ; - public final void rule__LetExpression__Group__5__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group__4__Impl" + // InternalScope.g:6281:1: rule__ScopeDefinition__Group__4__Impl : ( ( ( rule__ScopeDefinition__RulesAssignment_4 ) ) ( ( rule__ScopeDefinition__RulesAssignment_4 )* ) ) ; + public final void rule__ScopeDefinition__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6078:1: ( ( ( rule__LetExpression__TargetAssignment_5 ) ) ) - // InternalScope.g:6079:1: ( ( rule__LetExpression__TargetAssignment_5 ) ) + // InternalScope.g:6285:1: ( ( ( ( rule__ScopeDefinition__RulesAssignment_4 ) ) ( ( rule__ScopeDefinition__RulesAssignment_4 )* ) ) ) + // InternalScope.g:6286:1: ( ( ( rule__ScopeDefinition__RulesAssignment_4 ) ) ( ( rule__ScopeDefinition__RulesAssignment_4 )* ) ) + { + // InternalScope.g:6286:1: ( ( ( rule__ScopeDefinition__RulesAssignment_4 ) ) ( ( rule__ScopeDefinition__RulesAssignment_4 )* ) ) + // InternalScope.g:6287:2: ( ( rule__ScopeDefinition__RulesAssignment_4 ) ) ( ( rule__ScopeDefinition__RulesAssignment_4 )* ) { - // InternalScope.g:6079:1: ( ( rule__LetExpression__TargetAssignment_5 ) ) - // InternalScope.g:6080:2: ( rule__LetExpression__TargetAssignment_5 ) + // InternalScope.g:6287:2: ( ( rule__ScopeDefinition__RulesAssignment_4 ) ) + // InternalScope.g:6288:3: ( rule__ScopeDefinition__RulesAssignment_4 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); + before(grammarAccess.getScopeDefinitionAccess().getRulesAssignment_4()); } - // InternalScope.g:6081:2: ( rule__LetExpression__TargetAssignment_5 ) - // InternalScope.g:6081:3: rule__LetExpression__TargetAssignment_5 + // InternalScope.g:6289:3: ( rule__ScopeDefinition__RulesAssignment_4 ) + // InternalScope.g:6289:4: rule__ScopeDefinition__RulesAssignment_4 { - pushFollow(FOLLOW_2); - rule__LetExpression__TargetAssignment_5(); + pushFollow(FOLLOW_22); + rule__ScopeDefinition__RulesAssignment_4(); state._fsp--; if (state.failed) return ; @@ -20571,9 +23054,53 @@ public final void rule__LetExpression__Group__5__Impl() throws RecognitionExcept } if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); + after(grammarAccess.getScopeDefinitionAccess().getRulesAssignment_4()); + } + + } + + // InternalScope.g:6292:2: ( ( rule__ScopeDefinition__RulesAssignment_4 )* ) + // InternalScope.g:6293:3: ( rule__ScopeDefinition__RulesAssignment_4 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDefinitionAccess().getRulesAssignment_4()); + } + // InternalScope.g:6294:3: ( rule__ScopeDefinition__RulesAssignment_4 )* + loop78: + do { + int alt78=2; + int LA78_0 = input.LA(1); + + if ( (LA78_0==80) ) { + alt78=1; + } + + + switch (alt78) { + case 1 : + // InternalScope.g:6294:4: rule__ScopeDefinition__RulesAssignment_4 + { + pushFollow(FOLLOW_22); + rule__ScopeDefinition__RulesAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop78; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDefinitionAccess().getRulesAssignment_4()); + } + } + } @@ -20591,26 +23118,21 @@ public final void rule__LetExpression__Group__5__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__LetExpression__Group__5__Impl" + // $ANTLR end "rule__ScopeDefinition__Group__4__Impl" - // $ANTLR start "rule__CastedExpression__Group__0" - // InternalScope.g:6090:1: rule__CastedExpression__Group__0 : rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 ; - public final void rule__CastedExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group__5" + // InternalScope.g:6303:1: rule__ScopeDefinition__Group__5 : rule__ScopeDefinition__Group__5__Impl ; + public final void rule__ScopeDefinition__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6094:1: ( rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 ) - // InternalScope.g:6095:2: rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 + // InternalScope.g:6307:1: ( rule__ScopeDefinition__Group__5__Impl ) + // InternalScope.g:6308:2: rule__ScopeDefinition__Group__5__Impl { - pushFollow(FOLLOW_48); - rule__CastedExpression__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CastedExpression__Group__1(); + rule__ScopeDefinition__Group__5__Impl(); state._fsp--; if (state.failed) return ; @@ -20629,28 +23151,28 @@ public final void rule__CastedExpression__Group__0() throws RecognitionException } return ; } - // $ANTLR end "rule__CastedExpression__Group__0" + // $ANTLR end "rule__ScopeDefinition__Group__5" - // $ANTLR start "rule__CastedExpression__Group__0__Impl" - // InternalScope.g:6102:1: rule__CastedExpression__Group__0__Impl : ( '(' ) ; - public final void rule__CastedExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group__5__Impl" + // InternalScope.g:6314:1: rule__ScopeDefinition__Group__5__Impl : ( '}' ) ; + public final void rule__ScopeDefinition__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6106:1: ( ( '(' ) ) - // InternalScope.g:6107:1: ( '(' ) + // InternalScope.g:6318:1: ( ( '}' ) ) + // InternalScope.g:6319:1: ( '}' ) { - // InternalScope.g:6107:1: ( '(' ) - // InternalScope.g:6108:2: '(' + // InternalScope.g:6319:1: ( '}' ) + // InternalScope.g:6320:2: '}' { if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); + before(grammarAccess.getScopeDefinitionAccess().getRightCurlyBracketKeyword_5()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + match(input,73,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); + after(grammarAccess.getScopeDefinitionAccess().getRightCurlyBracketKeyword_5()); } } @@ -20670,26 +23192,26 @@ public final void rule__CastedExpression__Group__0__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__CastedExpression__Group__0__Impl" + // $ANTLR end "rule__ScopeDefinition__Group__5__Impl" - // $ANTLR start "rule__CastedExpression__Group__1" - // InternalScope.g:6117:1: rule__CastedExpression__Group__1 : rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 ; - public final void rule__CastedExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group_1__0" + // InternalScope.g:6330:1: rule__ScopeDefinition__Group_1__0 : rule__ScopeDefinition__Group_1__0__Impl rule__ScopeDefinition__Group_1__1 ; + public final void rule__ScopeDefinition__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6121:1: ( rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 ) - // InternalScope.g:6122:2: rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 + // InternalScope.g:6334:1: ( rule__ScopeDefinition__Group_1__0__Impl rule__ScopeDefinition__Group_1__1 ) + // InternalScope.g:6335:2: rule__ScopeDefinition__Group_1__0__Impl rule__ScopeDefinition__Group_1__1 { - pushFollow(FOLLOW_23); - rule__CastedExpression__Group__1__Impl(); + pushFollow(FOLLOW_4); + rule__ScopeDefinition__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CastedExpression__Group__2(); + rule__ScopeDefinition__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -20708,38 +23230,28 @@ public final void rule__CastedExpression__Group__1() throws RecognitionException } return ; } - // $ANTLR end "rule__CastedExpression__Group__1" + // $ANTLR end "rule__ScopeDefinition__Group_1__0" - // $ANTLR start "rule__CastedExpression__Group__1__Impl" - // InternalScope.g:6129:1: rule__CastedExpression__Group__1__Impl : ( ( rule__CastedExpression__TypeAssignment_1 ) ) ; - public final void rule__CastedExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group_1__0__Impl" + // InternalScope.g:6342:1: rule__ScopeDefinition__Group_1__0__Impl : ( '(' ) ; + public final void rule__ScopeDefinition__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6133:1: ( ( ( rule__CastedExpression__TypeAssignment_1 ) ) ) - // InternalScope.g:6134:1: ( ( rule__CastedExpression__TypeAssignment_1 ) ) + // InternalScope.g:6346:1: ( ( '(' ) ) + // InternalScope.g:6347:1: ( '(' ) { - // InternalScope.g:6134:1: ( ( rule__CastedExpression__TypeAssignment_1 ) ) - // InternalScope.g:6135:2: ( rule__CastedExpression__TypeAssignment_1 ) + // InternalScope.g:6347:1: ( '(' ) + // InternalScope.g:6348:2: '(' { if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); - } - // InternalScope.g:6136:2: ( rule__CastedExpression__TypeAssignment_1 ) - // InternalScope.g:6136:3: rule__CastedExpression__TypeAssignment_1 - { - pushFollow(FOLLOW_2); - rule__CastedExpression__TypeAssignment_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getScopeDefinitionAccess().getLeftParenthesisKeyword_1_0()); } - + match(input,77,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); + after(grammarAccess.getScopeDefinitionAccess().getLeftParenthesisKeyword_1_0()); } } @@ -20759,26 +23271,26 @@ public final void rule__CastedExpression__Group__1__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__CastedExpression__Group__1__Impl" + // $ANTLR end "rule__ScopeDefinition__Group_1__0__Impl" - // $ANTLR start "rule__CastedExpression__Group__2" - // InternalScope.g:6144:1: rule__CastedExpression__Group__2 : rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 ; - public final void rule__CastedExpression__Group__2() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group_1__1" + // InternalScope.g:6357:1: rule__ScopeDefinition__Group_1__1 : rule__ScopeDefinition__Group_1__1__Impl rule__ScopeDefinition__Group_1__2 ; + public final void rule__ScopeDefinition__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6148:1: ( rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 ) - // InternalScope.g:6149:2: rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 + // InternalScope.g:6361:1: ( rule__ScopeDefinition__Group_1__1__Impl rule__ScopeDefinition__Group_1__2 ) + // InternalScope.g:6362:2: rule__ScopeDefinition__Group_1__1__Impl rule__ScopeDefinition__Group_1__2 { - pushFollow(FOLLOW_17); - rule__CastedExpression__Group__2__Impl(); + pushFollow(FOLLOW_23); + rule__ScopeDefinition__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CastedExpression__Group__3(); + rule__ScopeDefinition__Group_1__2(); state._fsp--; if (state.failed) return ; @@ -20797,28 +23309,38 @@ public final void rule__CastedExpression__Group__2() throws RecognitionException } return ; } - // $ANTLR end "rule__CastedExpression__Group__2" + // $ANTLR end "rule__ScopeDefinition__Group_1__1" - // $ANTLR start "rule__CastedExpression__Group__2__Impl" - // InternalScope.g:6156:1: rule__CastedExpression__Group__2__Impl : ( ')' ) ; - public final void rule__CastedExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group_1__1__Impl" + // InternalScope.g:6369:1: rule__ScopeDefinition__Group_1__1__Impl : ( ( rule__ScopeDefinition__NameAssignment_1_1 ) ) ; + public final void rule__ScopeDefinition__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6160:1: ( ( ')' ) ) - // InternalScope.g:6161:1: ( ')' ) + // InternalScope.g:6373:1: ( ( ( rule__ScopeDefinition__NameAssignment_1_1 ) ) ) + // InternalScope.g:6374:1: ( ( rule__ScopeDefinition__NameAssignment_1_1 ) ) { - // InternalScope.g:6161:1: ( ')' ) - // InternalScope.g:6162:2: ')' + // InternalScope.g:6374:1: ( ( rule__ScopeDefinition__NameAssignment_1_1 ) ) + // InternalScope.g:6375:2: ( rule__ScopeDefinition__NameAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); + before(grammarAccess.getScopeDefinitionAccess().getNameAssignment_1_1()); + } + // InternalScope.g:6376:2: ( rule__ScopeDefinition__NameAssignment_1_1 ) + // InternalScope.g:6376:3: rule__ScopeDefinition__NameAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__ScopeDefinition__NameAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + } - match(input,52,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); + after(grammarAccess.getScopeDefinitionAccess().getNameAssignment_1_1()); } } @@ -20838,21 +23360,21 @@ public final void rule__CastedExpression__Group__2__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__CastedExpression__Group__2__Impl" + // $ANTLR end "rule__ScopeDefinition__Group_1__1__Impl" - // $ANTLR start "rule__CastedExpression__Group__3" - // InternalScope.g:6171:1: rule__CastedExpression__Group__3 : rule__CastedExpression__Group__3__Impl ; - public final void rule__CastedExpression__Group__3() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group_1__2" + // InternalScope.g:6384:1: rule__ScopeDefinition__Group_1__2 : rule__ScopeDefinition__Group_1__2__Impl ; + public final void rule__ScopeDefinition__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6175:1: ( rule__CastedExpression__Group__3__Impl ) - // InternalScope.g:6176:2: rule__CastedExpression__Group__3__Impl + // InternalScope.g:6388:1: ( rule__ScopeDefinition__Group_1__2__Impl ) + // InternalScope.g:6389:2: rule__ScopeDefinition__Group_1__2__Impl { pushFollow(FOLLOW_2); - rule__CastedExpression__Group__3__Impl(); + rule__ScopeDefinition__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; @@ -20871,38 +23393,28 @@ public final void rule__CastedExpression__Group__3() throws RecognitionException } return ; } - // $ANTLR end "rule__CastedExpression__Group__3" + // $ANTLR end "rule__ScopeDefinition__Group_1__2" - // $ANTLR start "rule__CastedExpression__Group__3__Impl" - // InternalScope.g:6182:1: rule__CastedExpression__Group__3__Impl : ( ( rule__CastedExpression__TargetAssignment_3 ) ) ; - public final void rule__CastedExpression__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group_1__2__Impl" + // InternalScope.g:6395:1: rule__ScopeDefinition__Group_1__2__Impl : ( ')' ) ; + public final void rule__ScopeDefinition__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6186:1: ( ( ( rule__CastedExpression__TargetAssignment_3 ) ) ) - // InternalScope.g:6187:1: ( ( rule__CastedExpression__TargetAssignment_3 ) ) + // InternalScope.g:6399:1: ( ( ')' ) ) + // InternalScope.g:6400:1: ( ')' ) { - // InternalScope.g:6187:1: ( ( rule__CastedExpression__TargetAssignment_3 ) ) - // InternalScope.g:6188:2: ( rule__CastedExpression__TargetAssignment_3 ) + // InternalScope.g:6400:1: ( ')' ) + // InternalScope.g:6401:2: ')' { if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); - } - // InternalScope.g:6189:2: ( rule__CastedExpression__TargetAssignment_3 ) - // InternalScope.g:6189:3: rule__CastedExpression__TargetAssignment_3 - { - pushFollow(FOLLOW_2); - rule__CastedExpression__TargetAssignment_3(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getScopeDefinitionAccess().getRightParenthesisKeyword_1_2()); } - + match(input,78,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); + after(grammarAccess.getScopeDefinitionAccess().getRightParenthesisKeyword_1_2()); } } @@ -20922,26 +23434,26 @@ public final void rule__CastedExpression__Group__3__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__CastedExpression__Group__3__Impl" + // $ANTLR end "rule__ScopeDefinition__Group_1__2__Impl" - // $ANTLR start "rule__ChainExpression__Group__0" - // InternalScope.g:6198:1: rule__ChainExpression__Group__0 : rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 ; - public final void rule__ChainExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group_2_1__0" + // InternalScope.g:6411:1: rule__ScopeDefinition__Group_2_1__0 : rule__ScopeDefinition__Group_2_1__0__Impl rule__ScopeDefinition__Group_2_1__1 ; + public final void rule__ScopeDefinition__Group_2_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6202:1: ( rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 ) - // InternalScope.g:6203:2: rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 + // InternalScope.g:6415:1: ( rule__ScopeDefinition__Group_2_1__0__Impl rule__ScopeDefinition__Group_2_1__1 ) + // InternalScope.g:6416:2: rule__ScopeDefinition__Group_2_1__0__Impl rule__ScopeDefinition__Group_2_1__1 { - pushFollow(FOLLOW_49); - rule__ChainExpression__Group__0__Impl(); + pushFollow(FOLLOW_24); + rule__ScopeDefinition__Group_2_1__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ChainExpression__Group__1(); + rule__ScopeDefinition__Group_2_1__1(); state._fsp--; if (state.failed) return ; @@ -20960,32 +23472,38 @@ public final void rule__ChainExpression__Group__0() throws RecognitionException } return ; } - // $ANTLR end "rule__ChainExpression__Group__0" + // $ANTLR end "rule__ScopeDefinition__Group_2_1__0" - // $ANTLR start "rule__ChainExpression__Group__0__Impl" - // InternalScope.g:6210:1: rule__ChainExpression__Group__0__Impl : ( ruleChainedExpression ) ; - public final void rule__ChainExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group_2_1__0__Impl" + // InternalScope.g:6423:1: rule__ScopeDefinition__Group_2_1__0__Impl : ( ( rule__ScopeDefinition__ContextTypeAssignment_2_1_0 ) ) ; + public final void rule__ScopeDefinition__Group_2_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6214:1: ( ( ruleChainedExpression ) ) - // InternalScope.g:6215:1: ( ruleChainedExpression ) + // InternalScope.g:6427:1: ( ( ( rule__ScopeDefinition__ContextTypeAssignment_2_1_0 ) ) ) + // InternalScope.g:6428:1: ( ( rule__ScopeDefinition__ContextTypeAssignment_2_1_0 ) ) { - // InternalScope.g:6215:1: ( ruleChainedExpression ) - // InternalScope.g:6216:2: ruleChainedExpression + // InternalScope.g:6428:1: ( ( rule__ScopeDefinition__ContextTypeAssignment_2_1_0 ) ) + // InternalScope.g:6429:2: ( rule__ScopeDefinition__ContextTypeAssignment_2_1_0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); + before(grammarAccess.getScopeDefinitionAccess().getContextTypeAssignment_2_1_0()); } + // InternalScope.g:6430:2: ( rule__ScopeDefinition__ContextTypeAssignment_2_1_0 ) + // InternalScope.g:6430:3: rule__ScopeDefinition__ContextTypeAssignment_2_1_0 + { pushFollow(FOLLOW_2); - ruleChainedExpression(); + rule__ScopeDefinition__ContextTypeAssignment_2_1_0(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); + after(grammarAccess.getScopeDefinitionAccess().getContextTypeAssignment_2_1_0()); } } @@ -21005,21 +23523,26 @@ public final void rule__ChainExpression__Group__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ChainExpression__Group__0__Impl" + // $ANTLR end "rule__ScopeDefinition__Group_2_1__0__Impl" - // $ANTLR start "rule__ChainExpression__Group__1" - // InternalScope.g:6225:1: rule__ChainExpression__Group__1 : rule__ChainExpression__Group__1__Impl ; - public final void rule__ChainExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group_2_1__1" + // InternalScope.g:6438:1: rule__ScopeDefinition__Group_2_1__1 : rule__ScopeDefinition__Group_2_1__1__Impl rule__ScopeDefinition__Group_2_1__2 ; + public final void rule__ScopeDefinition__Group_2_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6229:1: ( rule__ChainExpression__Group__1__Impl ) - // InternalScope.g:6230:2: rule__ChainExpression__Group__1__Impl + // InternalScope.g:6442:1: ( rule__ScopeDefinition__Group_2_1__1__Impl rule__ScopeDefinition__Group_2_1__2 ) + // InternalScope.g:6443:2: rule__ScopeDefinition__Group_2_1__1__Impl rule__ScopeDefinition__Group_2_1__2 { + pushFollow(FOLLOW_4); + rule__ScopeDefinition__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ChainExpression__Group__1__Impl(); + rule__ScopeDefinition__Group_2_1__2(); state._fsp--; if (state.failed) return ; @@ -21038,56 +23561,28 @@ public final void rule__ChainExpression__Group__1() throws RecognitionException } return ; } - // $ANTLR end "rule__ChainExpression__Group__1" + // $ANTLR end "rule__ScopeDefinition__Group_2_1__1" - // $ANTLR start "rule__ChainExpression__Group__1__Impl" - // InternalScope.g:6236:1: rule__ChainExpression__Group__1__Impl : ( ( rule__ChainExpression__Group_1__0 )* ) ; - public final void rule__ChainExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group_2_1__1__Impl" + // InternalScope.g:6450:1: rule__ScopeDefinition__Group_2_1__1__Impl : ( '#' ) ; + public final void rule__ScopeDefinition__Group_2_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6240:1: ( ( ( rule__ChainExpression__Group_1__0 )* ) ) - // InternalScope.g:6241:1: ( ( rule__ChainExpression__Group_1__0 )* ) + // InternalScope.g:6454:1: ( ( '#' ) ) + // InternalScope.g:6455:1: ( '#' ) { - // InternalScope.g:6241:1: ( ( rule__ChainExpression__Group_1__0 )* ) - // InternalScope.g:6242:2: ( rule__ChainExpression__Group_1__0 )* + // InternalScope.g:6455:1: ( '#' ) + // InternalScope.g:6456:2: '#' { if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getGroup_1()); + before(grammarAccess.getScopeDefinitionAccess().getNumberSignKeyword_2_1_1()); } - // InternalScope.g:6243:2: ( rule__ChainExpression__Group_1__0 )* - loop54: - do { - int alt54=2; - int LA54_0 = input.LA(1); - - if ( (LA54_0==71) ) { - alt54=1; - } - - - switch (alt54) { - case 1 : - // InternalScope.g:6243:3: rule__ChainExpression__Group_1__0 - { - pushFollow(FOLLOW_50); - rule__ChainExpression__Group_1__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop54; - } - } while (true); - + match(input,79,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getGroup_1()); + after(grammarAccess.getScopeDefinitionAccess().getNumberSignKeyword_2_1_1()); } } @@ -21107,26 +23602,21 @@ public final void rule__ChainExpression__Group__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ChainExpression__Group__1__Impl" + // $ANTLR end "rule__ScopeDefinition__Group_2_1__1__Impl" - // $ANTLR start "rule__ChainExpression__Group_1__0" - // InternalScope.g:6252:1: rule__ChainExpression__Group_1__0 : rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 ; - public final void rule__ChainExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group_2_1__2" + // InternalScope.g:6465:1: rule__ScopeDefinition__Group_2_1__2 : rule__ScopeDefinition__Group_2_1__2__Impl ; + public final void rule__ScopeDefinition__Group_2_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6256:1: ( rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 ) - // InternalScope.g:6257:2: rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 + // InternalScope.g:6469:1: ( rule__ScopeDefinition__Group_2_1__2__Impl ) + // InternalScope.g:6470:2: rule__ScopeDefinition__Group_2_1__2__Impl { - pushFollow(FOLLOW_49); - rule__ChainExpression__Group_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ChainExpression__Group_1__1(); + rule__ScopeDefinition__Group_2_1__2__Impl(); state._fsp--; if (state.failed) return ; @@ -21145,32 +23635,38 @@ public final void rule__ChainExpression__Group_1__0() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ChainExpression__Group_1__0" + // $ANTLR end "rule__ScopeDefinition__Group_2_1__2" - // $ANTLR start "rule__ChainExpression__Group_1__0__Impl" - // InternalScope.g:6264:1: rule__ChainExpression__Group_1__0__Impl : ( () ) ; - public final void rule__ChainExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDefinition__Group_2_1__2__Impl" + // InternalScope.g:6476:1: rule__ScopeDefinition__Group_2_1__2__Impl : ( ( rule__ScopeDefinition__ReferenceAssignment_2_1_2 ) ) ; + public final void rule__ScopeDefinition__Group_2_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6268:1: ( ( () ) ) - // InternalScope.g:6269:1: ( () ) + // InternalScope.g:6480:1: ( ( ( rule__ScopeDefinition__ReferenceAssignment_2_1_2 ) ) ) + // InternalScope.g:6481:1: ( ( rule__ScopeDefinition__ReferenceAssignment_2_1_2 ) ) { - // InternalScope.g:6269:1: ( () ) - // InternalScope.g:6270:2: () + // InternalScope.g:6481:1: ( ( rule__ScopeDefinition__ReferenceAssignment_2_1_2 ) ) + // InternalScope.g:6482:2: ( rule__ScopeDefinition__ReferenceAssignment_2_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); + before(grammarAccess.getScopeDefinitionAccess().getReferenceAssignment_2_1_2()); } - // InternalScope.g:6271:2: () - // InternalScope.g:6271:3: + // InternalScope.g:6483:2: ( rule__ScopeDefinition__ReferenceAssignment_2_1_2 ) + // InternalScope.g:6483:3: rule__ScopeDefinition__ReferenceAssignment_2_1_2 { + pushFollow(FOLLOW_2); + rule__ScopeDefinition__ReferenceAssignment_2_1_2(); + + state._fsp--; + if (state.failed) return ; + } if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); + after(grammarAccess.getScopeDefinitionAccess().getReferenceAssignment_2_1_2()); } } @@ -21179,6 +23675,10 @@ public final void rule__ChainExpression__Group_1__0__Impl() throws RecognitionEx } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -21186,26 +23686,26 @@ public final void rule__ChainExpression__Group_1__0__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ChainExpression__Group_1__0__Impl" + // $ANTLR end "rule__ScopeDefinition__Group_2_1__2__Impl" - // $ANTLR start "rule__ChainExpression__Group_1__1" - // InternalScope.g:6279:1: rule__ChainExpression__Group_1__1 : rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 ; - public final void rule__ChainExpression__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__ScopeRule__Group__0" + // InternalScope.g:6492:1: rule__ScopeRule__Group__0 : rule__ScopeRule__Group__0__Impl rule__ScopeRule__Group__1 ; + public final void rule__ScopeRule__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6283:1: ( rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 ) - // InternalScope.g:6284:2: rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 + // InternalScope.g:6496:1: ( rule__ScopeRule__Group__0__Impl rule__ScopeRule__Group__1 ) + // InternalScope.g:6497:2: rule__ScopeRule__Group__0__Impl rule__ScopeRule__Group__1 { - pushFollow(FOLLOW_17); - rule__ChainExpression__Group_1__1__Impl(); + pushFollow(FOLLOW_25); + rule__ScopeRule__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ChainExpression__Group_1__2(); + rule__ScopeRule__Group__1(); state._fsp--; if (state.failed) return ; @@ -21224,28 +23724,28 @@ public final void rule__ChainExpression__Group_1__1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ChainExpression__Group_1__1" + // $ANTLR end "rule__ScopeRule__Group__0" - // $ANTLR start "rule__ChainExpression__Group_1__1__Impl" - // InternalScope.g:6291:1: rule__ChainExpression__Group_1__1__Impl : ( '->' ) ; - public final void rule__ChainExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeRule__Group__0__Impl" + // InternalScope.g:6504:1: rule__ScopeRule__Group__0__Impl : ( 'context' ) ; + public final void rule__ScopeRule__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6295:1: ( ( '->' ) ) - // InternalScope.g:6296:1: ( '->' ) + // InternalScope.g:6508:1: ( ( 'context' ) ) + // InternalScope.g:6509:1: ( 'context' ) { - // InternalScope.g:6296:1: ( '->' ) - // InternalScope.g:6297:2: '->' + // InternalScope.g:6509:1: ( 'context' ) + // InternalScope.g:6510:2: 'context' { if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); + before(grammarAccess.getScopeRuleAccess().getContextKeyword_0()); } - match(input,71,FOLLOW_2); if (state.failed) return ; + match(input,80,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); + after(grammarAccess.getScopeRuleAccess().getContextKeyword_0()); } } @@ -21265,21 +23765,26 @@ public final void rule__ChainExpression__Group_1__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ChainExpression__Group_1__1__Impl" + // $ANTLR end "rule__ScopeRule__Group__0__Impl" - // $ANTLR start "rule__ChainExpression__Group_1__2" - // InternalScope.g:6306:1: rule__ChainExpression__Group_1__2 : rule__ChainExpression__Group_1__2__Impl ; - public final void rule__ChainExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__ScopeRule__Group__1" + // InternalScope.g:6519:1: rule__ScopeRule__Group__1 : rule__ScopeRule__Group__1__Impl rule__ScopeRule__Group__2 ; + public final void rule__ScopeRule__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6310:1: ( rule__ChainExpression__Group_1__2__Impl ) - // InternalScope.g:6311:2: rule__ChainExpression__Group_1__2__Impl + // InternalScope.g:6523:1: ( rule__ScopeRule__Group__1__Impl rule__ScopeRule__Group__2 ) + // InternalScope.g:6524:2: rule__ScopeRule__Group__1__Impl rule__ScopeRule__Group__2 { + pushFollow(FOLLOW_16); + rule__ScopeRule__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ChainExpression__Group_1__2__Impl(); + rule__ScopeRule__Group__2(); state._fsp--; if (state.failed) return ; @@ -21298,30 +23803,30 @@ public final void rule__ChainExpression__Group_1__2() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ChainExpression__Group_1__2" + // $ANTLR end "rule__ScopeRule__Group__1" - // $ANTLR start "rule__ChainExpression__Group_1__2__Impl" - // InternalScope.g:6317:1: rule__ChainExpression__Group_1__2__Impl : ( ( rule__ChainExpression__NextAssignment_1_2 ) ) ; - public final void rule__ChainExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeRule__Group__1__Impl" + // InternalScope.g:6531:1: rule__ScopeRule__Group__1__Impl : ( ( rule__ScopeRule__ContextAssignment_1 ) ) ; + public final void rule__ScopeRule__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6321:1: ( ( ( rule__ChainExpression__NextAssignment_1_2 ) ) ) - // InternalScope.g:6322:1: ( ( rule__ChainExpression__NextAssignment_1_2 ) ) + // InternalScope.g:6535:1: ( ( ( rule__ScopeRule__ContextAssignment_1 ) ) ) + // InternalScope.g:6536:1: ( ( rule__ScopeRule__ContextAssignment_1 ) ) { - // InternalScope.g:6322:1: ( ( rule__ChainExpression__NextAssignment_1_2 ) ) - // InternalScope.g:6323:2: ( rule__ChainExpression__NextAssignment_1_2 ) + // InternalScope.g:6536:1: ( ( rule__ScopeRule__ContextAssignment_1 ) ) + // InternalScope.g:6537:2: ( rule__ScopeRule__ContextAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); + before(grammarAccess.getScopeRuleAccess().getContextAssignment_1()); } - // InternalScope.g:6324:2: ( rule__ChainExpression__NextAssignment_1_2 ) - // InternalScope.g:6324:3: rule__ChainExpression__NextAssignment_1_2 + // InternalScope.g:6538:2: ( rule__ScopeRule__ContextAssignment_1 ) + // InternalScope.g:6538:3: rule__ScopeRule__ContextAssignment_1 { pushFollow(FOLLOW_2); - rule__ChainExpression__NextAssignment_1_2(); + rule__ScopeRule__ContextAssignment_1(); state._fsp--; if (state.failed) return ; @@ -21329,7 +23834,7 @@ public final void rule__ChainExpression__Group_1__2__Impl() throws RecognitionEx } if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); + after(grammarAccess.getScopeRuleAccess().getContextAssignment_1()); } } @@ -21349,26 +23854,26 @@ public final void rule__ChainExpression__Group_1__2__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ChainExpression__Group_1__2__Impl" + // $ANTLR end "rule__ScopeRule__Group__1__Impl" - // $ANTLR start "rule__IfExpressionTri__Group__0" - // InternalScope.g:6333:1: rule__IfExpressionTri__Group__0 : rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 ; - public final void rule__IfExpressionTri__Group__0() throws RecognitionException { + // $ANTLR start "rule__ScopeRule__Group__2" + // InternalScope.g:6546:1: rule__ScopeRule__Group__2 : rule__ScopeRule__Group__2__Impl rule__ScopeRule__Group__3 ; + public final void rule__ScopeRule__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6337:1: ( rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 ) - // InternalScope.g:6338:2: rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 + // InternalScope.g:6550:1: ( rule__ScopeRule__Group__2__Impl rule__ScopeRule__Group__3 ) + // InternalScope.g:6551:2: rule__ScopeRule__Group__2__Impl rule__ScopeRule__Group__3 { - pushFollow(FOLLOW_51); - rule__IfExpressionTri__Group__0__Impl(); + pushFollow(FOLLOW_26); + rule__ScopeRule__Group__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group__1(); + rule__ScopeRule__Group__3(); state._fsp--; if (state.failed) return ; @@ -21387,32 +23892,28 @@ public final void rule__IfExpressionTri__Group__0() throws RecognitionException } return ; } - // $ANTLR end "rule__IfExpressionTri__Group__0" + // $ANTLR end "rule__ScopeRule__Group__2" - // $ANTLR start "rule__IfExpressionTri__Group__0__Impl" - // InternalScope.g:6345:1: rule__IfExpressionTri__Group__0__Impl : ( ruleOrExpression ) ; - public final void rule__IfExpressionTri__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeRule__Group__2__Impl" + // InternalScope.g:6558:1: rule__ScopeRule__Group__2__Impl : ( '=' ) ; + public final void rule__ScopeRule__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6349:1: ( ( ruleOrExpression ) ) - // InternalScope.g:6350:1: ( ruleOrExpression ) + // InternalScope.g:6562:1: ( ( '=' ) ) + // InternalScope.g:6563:1: ( '=' ) { - // InternalScope.g:6350:1: ( ruleOrExpression ) - // InternalScope.g:6351:2: ruleOrExpression + // InternalScope.g:6563:1: ( '=' ) + // InternalScope.g:6564:2: '=' { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); + before(grammarAccess.getScopeRuleAccess().getEqualsSignKeyword_2()); } - pushFollow(FOLLOW_2); - ruleOrExpression(); - - state._fsp--; - if (state.failed) return ; + match(input,14,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); + after(grammarAccess.getScopeRuleAccess().getEqualsSignKeyword_2()); } } @@ -21432,21 +23933,26 @@ public final void rule__IfExpressionTri__Group__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__IfExpressionTri__Group__0__Impl" + // $ANTLR end "rule__ScopeRule__Group__2__Impl" - // $ANTLR start "rule__IfExpressionTri__Group__1" - // InternalScope.g:6360:1: rule__IfExpressionTri__Group__1 : rule__IfExpressionTri__Group__1__Impl ; - public final void rule__IfExpressionTri__Group__1() throws RecognitionException { + // $ANTLR start "rule__ScopeRule__Group__3" + // InternalScope.g:6573:1: rule__ScopeRule__Group__3 : rule__ScopeRule__Group__3__Impl rule__ScopeRule__Group__4 ; + public final void rule__ScopeRule__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6364:1: ( rule__IfExpressionTri__Group__1__Impl ) - // InternalScope.g:6365:2: rule__IfExpressionTri__Group__1__Impl + // InternalScope.g:6577:1: ( rule__ScopeRule__Group__3__Impl rule__ScopeRule__Group__4 ) + // InternalScope.g:6578:2: rule__ScopeRule__Group__3__Impl rule__ScopeRule__Group__4 { + pushFollow(FOLLOW_27); + rule__ScopeRule__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group__1__Impl(); + rule__ScopeRule__Group__4(); state._fsp--; if (state.failed) return ; @@ -21465,49 +23971,38 @@ public final void rule__IfExpressionTri__Group__1() throws RecognitionException } return ; } - // $ANTLR end "rule__IfExpressionTri__Group__1" + // $ANTLR end "rule__ScopeRule__Group__3" - // $ANTLR start "rule__IfExpressionTri__Group__1__Impl" - // InternalScope.g:6371:1: rule__IfExpressionTri__Group__1__Impl : ( ( rule__IfExpressionTri__Group_1__0 )? ) ; - public final void rule__IfExpressionTri__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeRule__Group__3__Impl" + // InternalScope.g:6585:1: rule__ScopeRule__Group__3__Impl : ( ( rule__ScopeRule__ExprsAssignment_3 ) ) ; + public final void rule__ScopeRule__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6375:1: ( ( ( rule__IfExpressionTri__Group_1__0 )? ) ) - // InternalScope.g:6376:1: ( ( rule__IfExpressionTri__Group_1__0 )? ) + // InternalScope.g:6589:1: ( ( ( rule__ScopeRule__ExprsAssignment_3 ) ) ) + // InternalScope.g:6590:1: ( ( rule__ScopeRule__ExprsAssignment_3 ) ) { - // InternalScope.g:6376:1: ( ( rule__IfExpressionTri__Group_1__0 )? ) - // InternalScope.g:6377:2: ( rule__IfExpressionTri__Group_1__0 )? + // InternalScope.g:6590:1: ( ( rule__ScopeRule__ExprsAssignment_3 ) ) + // InternalScope.g:6591:2: ( rule__ScopeRule__ExprsAssignment_3 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getGroup_1()); - } - // InternalScope.g:6378:2: ( rule__IfExpressionTri__Group_1__0 )? - int alt55=2; - int LA55_0 = input.LA(1); - - if ( (LA55_0==72) ) { - alt55=1; + before(grammarAccess.getScopeRuleAccess().getExprsAssignment_3()); } - switch (alt55) { - case 1 : - // InternalScope.g:6378:3: rule__IfExpressionTri__Group_1__0 - { - pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__0(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:6592:2: ( rule__ScopeRule__ExprsAssignment_3 ) + // InternalScope.g:6592:3: rule__ScopeRule__ExprsAssignment_3 + { + pushFollow(FOLLOW_2); + rule__ScopeRule__ExprsAssignment_3(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getGroup_1()); + after(grammarAccess.getScopeRuleAccess().getExprsAssignment_3()); } } @@ -21527,26 +24022,26 @@ public final void rule__IfExpressionTri__Group__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__IfExpressionTri__Group__1__Impl" + // $ANTLR end "rule__ScopeRule__Group__3__Impl" - // $ANTLR start "rule__IfExpressionTri__Group_1__0" - // InternalScope.g:6387:1: rule__IfExpressionTri__Group_1__0 : rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 ; - public final void rule__IfExpressionTri__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__ScopeRule__Group__4" + // InternalScope.g:6600:1: rule__ScopeRule__Group__4 : rule__ScopeRule__Group__4__Impl rule__ScopeRule__Group__5 ; + public final void rule__ScopeRule__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6391:1: ( rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 ) - // InternalScope.g:6392:2: rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 + // InternalScope.g:6604:1: ( rule__ScopeRule__Group__4__Impl rule__ScopeRule__Group__5 ) + // InternalScope.g:6605:2: rule__ScopeRule__Group__4__Impl rule__ScopeRule__Group__5 { - pushFollow(FOLLOW_51); - rule__IfExpressionTri__Group_1__0__Impl(); + pushFollow(FOLLOW_27); + rule__ScopeRule__Group__4__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__1(); + rule__ScopeRule__Group__5(); state._fsp--; if (state.failed) return ; @@ -21565,32 +24060,56 @@ public final void rule__IfExpressionTri__Group_1__0() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__0" + // $ANTLR end "rule__ScopeRule__Group__4" - // $ANTLR start "rule__IfExpressionTri__Group_1__0__Impl" - // InternalScope.g:6399:1: rule__IfExpressionTri__Group_1__0__Impl : ( () ) ; - public final void rule__IfExpressionTri__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeRule__Group__4__Impl" + // InternalScope.g:6612:1: rule__ScopeRule__Group__4__Impl : ( ( rule__ScopeRule__Group_4__0 )* ) ; + public final void rule__ScopeRule__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6403:1: ( ( () ) ) - // InternalScope.g:6404:1: ( () ) + // InternalScope.g:6616:1: ( ( ( rule__ScopeRule__Group_4__0 )* ) ) + // InternalScope.g:6617:1: ( ( rule__ScopeRule__Group_4__0 )* ) { - // InternalScope.g:6404:1: ( () ) - // InternalScope.g:6405:2: () + // InternalScope.g:6617:1: ( ( rule__ScopeRule__Group_4__0 )* ) + // InternalScope.g:6618:2: ( rule__ScopeRule__Group_4__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); - } - // InternalScope.g:6406:2: () - // InternalScope.g:6406:3: - { + before(grammarAccess.getScopeRuleAccess().getGroup_4()); } + // InternalScope.g:6619:2: ( rule__ScopeRule__Group_4__0 )* + loop79: + do { + int alt79=2; + int LA79_0 = input.LA(1); + + if ( (LA79_0==81) ) { + alt79=1; + } + + + switch (alt79) { + case 1 : + // InternalScope.g:6619:3: rule__ScopeRule__Group_4__0 + { + pushFollow(FOLLOW_28); + rule__ScopeRule__Group_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop79; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); + after(grammarAccess.getScopeRuleAccess().getGroup_4()); } } @@ -21599,6 +24118,10 @@ public final void rule__IfExpressionTri__Group_1__0__Impl() throws RecognitionEx } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -21606,26 +24129,21 @@ public final void rule__IfExpressionTri__Group_1__0__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__0__Impl" + // $ANTLR end "rule__ScopeRule__Group__4__Impl" - // $ANTLR start "rule__IfExpressionTri__Group_1__1" - // InternalScope.g:6414:1: rule__IfExpressionTri__Group_1__1 : rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 ; - public final void rule__IfExpressionTri__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__ScopeRule__Group__5" + // InternalScope.g:6627:1: rule__ScopeRule__Group__5 : rule__ScopeRule__Group__5__Impl ; + public final void rule__ScopeRule__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6418:1: ( rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 ) - // InternalScope.g:6419:2: rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 + // InternalScope.g:6631:1: ( rule__ScopeRule__Group__5__Impl ) + // InternalScope.g:6632:2: rule__ScopeRule__Group__5__Impl { - pushFollow(FOLLOW_17); - rule__IfExpressionTri__Group_1__1__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__2(); + rule__ScopeRule__Group__5__Impl(); state._fsp--; if (state.failed) return ; @@ -21644,28 +24162,28 @@ public final void rule__IfExpressionTri__Group_1__1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__1" + // $ANTLR end "rule__ScopeRule__Group__5" - // $ANTLR start "rule__IfExpressionTri__Group_1__1__Impl" - // InternalScope.g:6426:1: rule__IfExpressionTri__Group_1__1__Impl : ( '?' ) ; - public final void rule__IfExpressionTri__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeRule__Group__5__Impl" + // InternalScope.g:6638:1: rule__ScopeRule__Group__5__Impl : ( ';' ) ; + public final void rule__ScopeRule__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6430:1: ( ( '?' ) ) - // InternalScope.g:6431:1: ( '?' ) + // InternalScope.g:6642:1: ( ( ';' ) ) + // InternalScope.g:6643:1: ( ';' ) { - // InternalScope.g:6431:1: ( '?' ) - // InternalScope.g:6432:2: '?' + // InternalScope.g:6643:1: ( ';' ) + // InternalScope.g:6644:2: ';' { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); + before(grammarAccess.getScopeRuleAccess().getSemicolonKeyword_5()); } - match(input,72,FOLLOW_2); if (state.failed) return ; + match(input,75,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); + after(grammarAccess.getScopeRuleAccess().getSemicolonKeyword_5()); } } @@ -21685,26 +24203,26 @@ public final void rule__IfExpressionTri__Group_1__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__1__Impl" + // $ANTLR end "rule__ScopeRule__Group__5__Impl" - // $ANTLR start "rule__IfExpressionTri__Group_1__2" - // InternalScope.g:6441:1: rule__IfExpressionTri__Group_1__2 : rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 ; - public final void rule__IfExpressionTri__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__ScopeRule__Group_4__0" + // InternalScope.g:6654:1: rule__ScopeRule__Group_4__0 : rule__ScopeRule__Group_4__0__Impl rule__ScopeRule__Group_4__1 ; + public final void rule__ScopeRule__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6445:1: ( rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 ) - // InternalScope.g:6446:2: rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 + // InternalScope.g:6658:1: ( rule__ScopeRule__Group_4__0__Impl rule__ScopeRule__Group_4__1 ) + // InternalScope.g:6659:2: rule__ScopeRule__Group_4__0__Impl rule__ScopeRule__Group_4__1 { - pushFollow(FOLLOW_47); - rule__IfExpressionTri__Group_1__2__Impl(); + pushFollow(FOLLOW_26); + rule__ScopeRule__Group_4__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__3(); + rule__ScopeRule__Group_4__1(); state._fsp--; if (state.failed) return ; @@ -21723,38 +24241,28 @@ public final void rule__IfExpressionTri__Group_1__2() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__2" + // $ANTLR end "rule__ScopeRule__Group_4__0" - // $ANTLR start "rule__IfExpressionTri__Group_1__2__Impl" - // InternalScope.g:6453:1: rule__IfExpressionTri__Group_1__2__Impl : ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) ; - public final void rule__IfExpressionTri__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeRule__Group_4__0__Impl" + // InternalScope.g:6666:1: rule__ScopeRule__Group_4__0__Impl : ( '>>' ) ; + public final void rule__ScopeRule__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6457:1: ( ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) ) - // InternalScope.g:6458:1: ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) + // InternalScope.g:6670:1: ( ( '>>' ) ) + // InternalScope.g:6671:1: ( '>>' ) { - // InternalScope.g:6458:1: ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) - // InternalScope.g:6459:2: ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) + // InternalScope.g:6671:1: ( '>>' ) + // InternalScope.g:6672:2: '>>' { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); - } - // InternalScope.g:6460:2: ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) - // InternalScope.g:6460:3: rule__IfExpressionTri__ThenPartAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__IfExpressionTri__ThenPartAssignment_1_2(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getScopeRuleAccess().getGreaterThanSignGreaterThanSignKeyword_4_0()); } - + match(input,81,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); + after(grammarAccess.getScopeRuleAccess().getGreaterThanSignGreaterThanSignKeyword_4_0()); } } @@ -21774,26 +24282,21 @@ public final void rule__IfExpressionTri__Group_1__2__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__2__Impl" + // $ANTLR end "rule__ScopeRule__Group_4__0__Impl" - // $ANTLR start "rule__IfExpressionTri__Group_1__3" - // InternalScope.g:6468:1: rule__IfExpressionTri__Group_1__3 : rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 ; - public final void rule__IfExpressionTri__Group_1__3() throws RecognitionException { + // $ANTLR start "rule__ScopeRule__Group_4__1" + // InternalScope.g:6681:1: rule__ScopeRule__Group_4__1 : rule__ScopeRule__Group_4__1__Impl ; + public final void rule__ScopeRule__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6472:1: ( rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 ) - // InternalScope.g:6473:2: rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 + // InternalScope.g:6685:1: ( rule__ScopeRule__Group_4__1__Impl ) + // InternalScope.g:6686:2: rule__ScopeRule__Group_4__1__Impl { - pushFollow(FOLLOW_17); - rule__IfExpressionTri__Group_1__3__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__4(); + rule__ScopeRule__Group_4__1__Impl(); state._fsp--; if (state.failed) return ; @@ -21812,28 +24315,38 @@ public final void rule__IfExpressionTri__Group_1__3() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__3" + // $ANTLR end "rule__ScopeRule__Group_4__1" - // $ANTLR start "rule__IfExpressionTri__Group_1__3__Impl" - // InternalScope.g:6480:1: rule__IfExpressionTri__Group_1__3__Impl : ( ':' ) ; - public final void rule__IfExpressionTri__Group_1__3__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeRule__Group_4__1__Impl" + // InternalScope.g:6692:1: rule__ScopeRule__Group_4__1__Impl : ( ( rule__ScopeRule__ExprsAssignment_4_1 ) ) ; + public final void rule__ScopeRule__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6484:1: ( ( ':' ) ) - // InternalScope.g:6485:1: ( ':' ) + // InternalScope.g:6696:1: ( ( ( rule__ScopeRule__ExprsAssignment_4_1 ) ) ) + // InternalScope.g:6697:1: ( ( rule__ScopeRule__ExprsAssignment_4_1 ) ) { - // InternalScope.g:6485:1: ( ':' ) - // InternalScope.g:6486:2: ':' + // InternalScope.g:6697:1: ( ( rule__ScopeRule__ExprsAssignment_4_1 ) ) + // InternalScope.g:6698:2: ( rule__ScopeRule__ExprsAssignment_4_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); + before(grammarAccess.getScopeRuleAccess().getExprsAssignment_4_1()); } - match(input,70,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:6699:2: ( rule__ScopeRule__ExprsAssignment_4_1 ) + // InternalScope.g:6699:3: rule__ScopeRule__ExprsAssignment_4_1 + { + pushFollow(FOLLOW_2); + rule__ScopeRule__ExprsAssignment_4_1(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); + after(grammarAccess.getScopeRuleAccess().getExprsAssignment_4_1()); } } @@ -21853,21 +24366,26 @@ public final void rule__IfExpressionTri__Group_1__3__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__3__Impl" + // $ANTLR end "rule__ScopeRule__Group_4__1__Impl" - // $ANTLR start "rule__IfExpressionTri__Group_1__4" - // InternalScope.g:6495:1: rule__IfExpressionTri__Group_1__4 : rule__IfExpressionTri__Group_1__4__Impl ; - public final void rule__IfExpressionTri__Group_1__4() throws RecognitionException { + // $ANTLR start "rule__ScopeContext__Group__0" + // InternalScope.g:6708:1: rule__ScopeContext__Group__0 : rule__ScopeContext__Group__0__Impl rule__ScopeContext__Group__1 ; + public final void rule__ScopeContext__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6499:1: ( rule__IfExpressionTri__Group_1__4__Impl ) - // InternalScope.g:6500:2: rule__IfExpressionTri__Group_1__4__Impl + // InternalScope.g:6712:1: ( rule__ScopeContext__Group__0__Impl rule__ScopeContext__Group__1 ) + // InternalScope.g:6713:2: rule__ScopeContext__Group__0__Impl rule__ScopeContext__Group__1 { + pushFollow(FOLLOW_29); + rule__ScopeContext__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionTri__Group_1__4__Impl(); + rule__ScopeContext__Group__1(); state._fsp--; if (state.failed) return ; @@ -21886,30 +24404,30 @@ public final void rule__IfExpressionTri__Group_1__4() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__4" + // $ANTLR end "rule__ScopeContext__Group__0" - // $ANTLR start "rule__IfExpressionTri__Group_1__4__Impl" - // InternalScope.g:6506:1: rule__IfExpressionTri__Group_1__4__Impl : ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) ; - public final void rule__IfExpressionTri__Group_1__4__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeContext__Group__0__Impl" + // InternalScope.g:6720:1: rule__ScopeContext__Group__0__Impl : ( ( rule__ScopeContext__Alternatives_0 ) ) ; + public final void rule__ScopeContext__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6510:1: ( ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) ) - // InternalScope.g:6511:1: ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) + // InternalScope.g:6724:1: ( ( ( rule__ScopeContext__Alternatives_0 ) ) ) + // InternalScope.g:6725:1: ( ( rule__ScopeContext__Alternatives_0 ) ) { - // InternalScope.g:6511:1: ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) - // InternalScope.g:6512:2: ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) + // InternalScope.g:6725:1: ( ( rule__ScopeContext__Alternatives_0 ) ) + // InternalScope.g:6726:2: ( rule__ScopeContext__Alternatives_0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); + before(grammarAccess.getScopeContextAccess().getAlternatives_0()); } - // InternalScope.g:6513:2: ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) - // InternalScope.g:6513:3: rule__IfExpressionTri__ElsePartAssignment_1_4 + // InternalScope.g:6727:2: ( rule__ScopeContext__Alternatives_0 ) + // InternalScope.g:6727:3: rule__ScopeContext__Alternatives_0 { pushFollow(FOLLOW_2); - rule__IfExpressionTri__ElsePartAssignment_1_4(); + rule__ScopeContext__Alternatives_0(); state._fsp--; if (state.failed) return ; @@ -21917,7 +24435,7 @@ public final void rule__IfExpressionTri__Group_1__4__Impl() throws RecognitionEx } if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); + after(grammarAccess.getScopeContextAccess().getAlternatives_0()); } } @@ -21937,26 +24455,21 @@ public final void rule__IfExpressionTri__Group_1__4__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__IfExpressionTri__Group_1__4__Impl" + // $ANTLR end "rule__ScopeContext__Group__0__Impl" - // $ANTLR start "rule__IfExpressionKw__Group__0" - // InternalScope.g:6522:1: rule__IfExpressionKw__Group__0 : rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 ; - public final void rule__IfExpressionKw__Group__0() throws RecognitionException { + // $ANTLR start "rule__ScopeContext__Group__1" + // InternalScope.g:6735:1: rule__ScopeContext__Group__1 : rule__ScopeContext__Group__1__Impl ; + public final void rule__ScopeContext__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6526:1: ( rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 ) - // InternalScope.g:6527:2: rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 + // InternalScope.g:6739:1: ( rule__ScopeContext__Group__1__Impl ) + // InternalScope.g:6740:2: rule__ScopeContext__Group__1__Impl { - pushFollow(FOLLOW_17); - rule__IfExpressionKw__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group__1(); + rule__ScopeContext__Group__1__Impl(); state._fsp--; if (state.failed) return ; @@ -21975,28 +24488,49 @@ public final void rule__IfExpressionKw__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__0" + // $ANTLR end "rule__ScopeContext__Group__1" - // $ANTLR start "rule__IfExpressionKw__Group__0__Impl" - // InternalScope.g:6534:1: rule__IfExpressionKw__Group__0__Impl : ( 'if' ) ; - public final void rule__IfExpressionKw__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeContext__Group__1__Impl" + // InternalScope.g:6746:1: rule__ScopeContext__Group__1__Impl : ( ( rule__ScopeContext__Group_1__0 )? ) ; + public final void rule__ScopeContext__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6538:1: ( ( 'if' ) ) - // InternalScope.g:6539:1: ( 'if' ) + // InternalScope.g:6750:1: ( ( ( rule__ScopeContext__Group_1__0 )? ) ) + // InternalScope.g:6751:1: ( ( rule__ScopeContext__Group_1__0 )? ) { - // InternalScope.g:6539:1: ( 'if' ) - // InternalScope.g:6540:2: 'if' + // InternalScope.g:6751:1: ( ( rule__ScopeContext__Group_1__0 )? ) + // InternalScope.g:6752:2: ( rule__ScopeContext__Group_1__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); + before(grammarAccess.getScopeContextAccess().getGroup_1()); } - match(input,73,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:6753:2: ( rule__ScopeContext__Group_1__0 )? + int alt80=2; + int LA80_0 = input.LA(1); + + if ( (LA80_0==82) ) { + alt80=1; + } + switch (alt80) { + case 1 : + // InternalScope.g:6753:3: rule__ScopeContext__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__ScopeContext__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); + after(grammarAccess.getScopeContextAccess().getGroup_1()); } } @@ -22016,26 +24550,26 @@ public final void rule__IfExpressionKw__Group__0__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__0__Impl" + // $ANTLR end "rule__ScopeContext__Group__1__Impl" - // $ANTLR start "rule__IfExpressionKw__Group__1" - // InternalScope.g:6549:1: rule__IfExpressionKw__Group__1 : rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 ; - public final void rule__IfExpressionKw__Group__1() throws RecognitionException { + // $ANTLR start "rule__ScopeContext__Group_1__0" + // InternalScope.g:6762:1: rule__ScopeContext__Group_1__0 : rule__ScopeContext__Group_1__0__Impl rule__ScopeContext__Group_1__1 ; + public final void rule__ScopeContext__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6553:1: ( rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 ) - // InternalScope.g:6554:2: rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 + // InternalScope.g:6766:1: ( rule__ScopeContext__Group_1__0__Impl rule__ScopeContext__Group_1__1 ) + // InternalScope.g:6767:2: rule__ScopeContext__Group_1__0__Impl rule__ScopeContext__Group_1__1 { - pushFollow(FOLLOW_52); - rule__IfExpressionKw__Group__1__Impl(); + pushFollow(FOLLOW_17); + rule__ScopeContext__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group__2(); + rule__ScopeContext__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -22054,38 +24588,28 @@ public final void rule__IfExpressionKw__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__1" + // $ANTLR end "rule__ScopeContext__Group_1__0" - // $ANTLR start "rule__IfExpressionKw__Group__1__Impl" - // InternalScope.g:6561:1: rule__IfExpressionKw__Group__1__Impl : ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) ; - public final void rule__IfExpressionKw__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeContext__Group_1__0__Impl" + // InternalScope.g:6774:1: rule__ScopeContext__Group_1__0__Impl : ( '[' ) ; + public final void rule__ScopeContext__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6565:1: ( ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) ) - // InternalScope.g:6566:1: ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) + // InternalScope.g:6778:1: ( ( '[' ) ) + // InternalScope.g:6779:1: ( '[' ) { - // InternalScope.g:6566:1: ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) - // InternalScope.g:6567:2: ( rule__IfExpressionKw__ConditionAssignment_1 ) + // InternalScope.g:6779:1: ( '[' ) + // InternalScope.g:6780:2: '[' { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); - } - // InternalScope.g:6568:2: ( rule__IfExpressionKw__ConditionAssignment_1 ) - // InternalScope.g:6568:3: rule__IfExpressionKw__ConditionAssignment_1 - { - pushFollow(FOLLOW_2); - rule__IfExpressionKw__ConditionAssignment_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getScopeContextAccess().getLeftSquareBracketKeyword_1_0()); } - + match(input,82,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); + after(grammarAccess.getScopeContextAccess().getLeftSquareBracketKeyword_1_0()); } } @@ -22105,26 +24629,26 @@ public final void rule__IfExpressionKw__Group__1__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__1__Impl" + // $ANTLR end "rule__ScopeContext__Group_1__0__Impl" - // $ANTLR start "rule__IfExpressionKw__Group__2" - // InternalScope.g:6576:1: rule__IfExpressionKw__Group__2 : rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 ; - public final void rule__IfExpressionKw__Group__2() throws RecognitionException { + // $ANTLR start "rule__ScopeContext__Group_1__1" + // InternalScope.g:6789:1: rule__ScopeContext__Group_1__1 : rule__ScopeContext__Group_1__1__Impl rule__ScopeContext__Group_1__2 ; + public final void rule__ScopeContext__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6580:1: ( rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 ) - // InternalScope.g:6581:2: rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 + // InternalScope.g:6793:1: ( rule__ScopeContext__Group_1__1__Impl rule__ScopeContext__Group_1__2 ) + // InternalScope.g:6794:2: rule__ScopeContext__Group_1__1__Impl rule__ScopeContext__Group_1__2 { - pushFollow(FOLLOW_17); - rule__IfExpressionKw__Group__2__Impl(); + pushFollow(FOLLOW_30); + rule__ScopeContext__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group__3(); + rule__ScopeContext__Group_1__2(); state._fsp--; if (state.failed) return ; @@ -22143,28 +24667,38 @@ public final void rule__IfExpressionKw__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__2" + // $ANTLR end "rule__ScopeContext__Group_1__1" - // $ANTLR start "rule__IfExpressionKw__Group__2__Impl" - // InternalScope.g:6588:1: rule__IfExpressionKw__Group__2__Impl : ( 'then' ) ; - public final void rule__IfExpressionKw__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeContext__Group_1__1__Impl" + // InternalScope.g:6801:1: rule__ScopeContext__Group_1__1__Impl : ( ( rule__ScopeContext__GuardAssignment_1_1 ) ) ; + public final void rule__ScopeContext__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6592:1: ( ( 'then' ) ) - // InternalScope.g:6593:1: ( 'then' ) + // InternalScope.g:6805:1: ( ( ( rule__ScopeContext__GuardAssignment_1_1 ) ) ) + // InternalScope.g:6806:1: ( ( rule__ScopeContext__GuardAssignment_1_1 ) ) { - // InternalScope.g:6593:1: ( 'then' ) - // InternalScope.g:6594:2: 'then' + // InternalScope.g:6806:1: ( ( rule__ScopeContext__GuardAssignment_1_1 ) ) + // InternalScope.g:6807:2: ( rule__ScopeContext__GuardAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); + before(grammarAccess.getScopeContextAccess().getGuardAssignment_1_1()); } - match(input,74,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:6808:2: ( rule__ScopeContext__GuardAssignment_1_1 ) + // InternalScope.g:6808:3: rule__ScopeContext__GuardAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__ScopeContext__GuardAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); + after(grammarAccess.getScopeContextAccess().getGuardAssignment_1_1()); } } @@ -22184,26 +24718,21 @@ public final void rule__IfExpressionKw__Group__2__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__2__Impl" + // $ANTLR end "rule__ScopeContext__Group_1__1__Impl" - // $ANTLR start "rule__IfExpressionKw__Group__3" - // InternalScope.g:6603:1: rule__IfExpressionKw__Group__3 : rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 ; - public final void rule__IfExpressionKw__Group__3() throws RecognitionException { + // $ANTLR start "rule__ScopeContext__Group_1__2" + // InternalScope.g:6816:1: rule__ScopeContext__Group_1__2 : rule__ScopeContext__Group_1__2__Impl ; + public final void rule__ScopeContext__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6607:1: ( rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 ) - // InternalScope.g:6608:2: rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 + // InternalScope.g:6820:1: ( rule__ScopeContext__Group_1__2__Impl ) + // InternalScope.g:6821:2: rule__ScopeContext__Group_1__2__Impl { - pushFollow(FOLLOW_53); - rule__IfExpressionKw__Group__3__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group__4(); + rule__ScopeContext__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; @@ -22222,38 +24751,28 @@ public final void rule__IfExpressionKw__Group__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__3" + // $ANTLR end "rule__ScopeContext__Group_1__2" - // $ANTLR start "rule__IfExpressionKw__Group__3__Impl" - // InternalScope.g:6615:1: rule__IfExpressionKw__Group__3__Impl : ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) ; - public final void rule__IfExpressionKw__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeContext__Group_1__2__Impl" + // InternalScope.g:6827:1: rule__ScopeContext__Group_1__2__Impl : ( ']' ) ; + public final void rule__ScopeContext__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6619:1: ( ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) ) - // InternalScope.g:6620:1: ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) + // InternalScope.g:6831:1: ( ( ']' ) ) + // InternalScope.g:6832:1: ( ']' ) { - // InternalScope.g:6620:1: ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) - // InternalScope.g:6621:2: ( rule__IfExpressionKw__ThenPartAssignment_3 ) + // InternalScope.g:6832:1: ( ']' ) + // InternalScope.g:6833:2: ']' { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); - } - // InternalScope.g:6622:2: ( rule__IfExpressionKw__ThenPartAssignment_3 ) - // InternalScope.g:6622:3: rule__IfExpressionKw__ThenPartAssignment_3 - { - pushFollow(FOLLOW_2); - rule__IfExpressionKw__ThenPartAssignment_3(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getScopeContextAccess().getRightSquareBracketKeyword_1_2()); } - + match(input,83,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); + after(grammarAccess.getScopeContextAccess().getRightSquareBracketKeyword_1_2()); } } @@ -22273,21 +24792,26 @@ public final void rule__IfExpressionKw__Group__3__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__3__Impl" + // $ANTLR end "rule__ScopeContext__Group_1__2__Impl" - // $ANTLR start "rule__IfExpressionKw__Group__4" - // InternalScope.g:6630:1: rule__IfExpressionKw__Group__4 : rule__IfExpressionKw__Group__4__Impl ; - public final void rule__IfExpressionKw__Group__4() throws RecognitionException { + // $ANTLR start "rule__FactoryExpression__Group__0" + // InternalScope.g:6843:1: rule__FactoryExpression__Group__0 : rule__FactoryExpression__Group__0__Impl rule__FactoryExpression__Group__1 ; + public final void rule__FactoryExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6634:1: ( rule__IfExpressionKw__Group__4__Impl ) - // InternalScope.g:6635:2: rule__IfExpressionKw__Group__4__Impl + // InternalScope.g:6847:1: ( rule__FactoryExpression__Group__0__Impl rule__FactoryExpression__Group__1 ) + // InternalScope.g:6848:2: rule__FactoryExpression__Group__0__Impl rule__FactoryExpression__Group__1 { + pushFollow(FOLLOW_17); + rule__FactoryExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group__4__Impl(); + rule__FactoryExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -22306,53 +24830,28 @@ public final void rule__IfExpressionKw__Group__4() throws RecognitionException { } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__4" + // $ANTLR end "rule__FactoryExpression__Group__0" - // $ANTLR start "rule__IfExpressionKw__Group__4__Impl" - // InternalScope.g:6641:1: rule__IfExpressionKw__Group__4__Impl : ( ( rule__IfExpressionKw__Group_4__0 )? ) ; - public final void rule__IfExpressionKw__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__FactoryExpression__Group__0__Impl" + // InternalScope.g:6855:1: rule__FactoryExpression__Group__0__Impl : ( 'factory' ) ; + public final void rule__FactoryExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6645:1: ( ( ( rule__IfExpressionKw__Group_4__0 )? ) ) - // InternalScope.g:6646:1: ( ( rule__IfExpressionKw__Group_4__0 )? ) + // InternalScope.g:6859:1: ( ( 'factory' ) ) + // InternalScope.g:6860:1: ( 'factory' ) { - // InternalScope.g:6646:1: ( ( rule__IfExpressionKw__Group_4__0 )? ) - // InternalScope.g:6647:2: ( rule__IfExpressionKw__Group_4__0 )? + // InternalScope.g:6860:1: ( 'factory' ) + // InternalScope.g:6861:2: 'factory' { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getGroup_4()); - } - // InternalScope.g:6648:2: ( rule__IfExpressionKw__Group_4__0 )? - int alt56=2; - int LA56_0 = input.LA(1); - - if ( (LA56_0==75) ) { - int LA56_1 = input.LA(2); - - if ( (synpred88_InternalScope()) ) { - alt56=1; - } - } - switch (alt56) { - case 1 : - // InternalScope.g:6648:3: rule__IfExpressionKw__Group_4__0 - { - pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - + before(grammarAccess.getFactoryExpressionAccess().getFactoryKeyword_0()); } - + match(input,84,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getGroup_4()); + after(grammarAccess.getFactoryExpressionAccess().getFactoryKeyword_0()); } } @@ -22372,21 +24871,21 @@ public final void rule__IfExpressionKw__Group__4__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__IfExpressionKw__Group__4__Impl" + // $ANTLR end "rule__FactoryExpression__Group__0__Impl" - // $ANTLR start "rule__IfExpressionKw__Group_4__0" - // InternalScope.g:6657:1: rule__IfExpressionKw__Group_4__0 : rule__IfExpressionKw__Group_4__0__Impl ; - public final void rule__IfExpressionKw__Group_4__0() throws RecognitionException { + // $ANTLR start "rule__FactoryExpression__Group__1" + // InternalScope.g:6870:1: rule__FactoryExpression__Group__1 : rule__FactoryExpression__Group__1__Impl ; + public final void rule__FactoryExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6661:1: ( rule__IfExpressionKw__Group_4__0__Impl ) - // InternalScope.g:6662:2: rule__IfExpressionKw__Group_4__0__Impl + // InternalScope.g:6874:1: ( rule__FactoryExpression__Group__1__Impl ) + // InternalScope.g:6875:2: rule__FactoryExpression__Group__1__Impl { pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4__0__Impl(); + rule__FactoryExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; @@ -22405,30 +24904,30 @@ public final void rule__IfExpressionKw__Group_4__0() throws RecognitionException } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4__0" + // $ANTLR end "rule__FactoryExpression__Group__1" - // $ANTLR start "rule__IfExpressionKw__Group_4__0__Impl" - // InternalScope.g:6668:1: rule__IfExpressionKw__Group_4__0__Impl : ( ( rule__IfExpressionKw__Group_4_0__0 ) ) ; - public final void rule__IfExpressionKw__Group_4__0__Impl() throws RecognitionException { + // $ANTLR start "rule__FactoryExpression__Group__1__Impl" + // InternalScope.g:6881:1: rule__FactoryExpression__Group__1__Impl : ( ( rule__FactoryExpression__ExprAssignment_1 ) ) ; + public final void rule__FactoryExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6672:1: ( ( ( rule__IfExpressionKw__Group_4_0__0 ) ) ) - // InternalScope.g:6673:1: ( ( rule__IfExpressionKw__Group_4_0__0 ) ) + // InternalScope.g:6885:1: ( ( ( rule__FactoryExpression__ExprAssignment_1 ) ) ) + // InternalScope.g:6886:1: ( ( rule__FactoryExpression__ExprAssignment_1 ) ) { - // InternalScope.g:6673:1: ( ( rule__IfExpressionKw__Group_4_0__0 ) ) - // InternalScope.g:6674:2: ( rule__IfExpressionKw__Group_4_0__0 ) + // InternalScope.g:6886:1: ( ( rule__FactoryExpression__ExprAssignment_1 ) ) + // InternalScope.g:6887:2: ( rule__FactoryExpression__ExprAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); + before(grammarAccess.getFactoryExpressionAccess().getExprAssignment_1()); } - // InternalScope.g:6675:2: ( rule__IfExpressionKw__Group_4_0__0 ) - // InternalScope.g:6675:3: rule__IfExpressionKw__Group_4_0__0 + // InternalScope.g:6888:2: ( rule__FactoryExpression__ExprAssignment_1 ) + // InternalScope.g:6888:3: rule__FactoryExpression__ExprAssignment_1 { pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4_0__0(); + rule__FactoryExpression__ExprAssignment_1(); state._fsp--; if (state.failed) return ; @@ -22436,7 +24935,7 @@ public final void rule__IfExpressionKw__Group_4__0__Impl() throws RecognitionExc } if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); + after(grammarAccess.getFactoryExpressionAccess().getExprAssignment_1()); } } @@ -22456,26 +24955,26 @@ public final void rule__IfExpressionKw__Group_4__0__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4__0__Impl" + // $ANTLR end "rule__FactoryExpression__Group__1__Impl" - // $ANTLR start "rule__IfExpressionKw__Group_4_0__0" - // InternalScope.g:6684:1: rule__IfExpressionKw__Group_4_0__0 : rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 ; - public final void rule__IfExpressionKw__Group_4_0__0() throws RecognitionException { + // $ANTLR start "rule__ScopeDelegation__Group__0" + // InternalScope.g:6897:1: rule__ScopeDelegation__Group__0 : rule__ScopeDelegation__Group__0__Impl rule__ScopeDelegation__Group__1 ; + public final void rule__ScopeDelegation__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6688:1: ( rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 ) - // InternalScope.g:6689:2: rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 + // InternalScope.g:6901:1: ( rule__ScopeDelegation__Group__0__Impl rule__ScopeDelegation__Group__1 ) + // InternalScope.g:6902:2: rule__ScopeDelegation__Group__0__Impl rule__ScopeDelegation__Group__1 { - pushFollow(FOLLOW_17); - rule__IfExpressionKw__Group_4_0__0__Impl(); + pushFollow(FOLLOW_31); + rule__ScopeDelegation__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4_0__1(); + rule__ScopeDelegation__Group__1(); state._fsp--; if (state.failed) return ; @@ -22494,28 +24993,28 @@ public final void rule__IfExpressionKw__Group_4_0__0() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4_0__0" + // $ANTLR end "rule__ScopeDelegation__Group__0" - // $ANTLR start "rule__IfExpressionKw__Group_4_0__0__Impl" - // InternalScope.g:6696:1: rule__IfExpressionKw__Group_4_0__0__Impl : ( 'else' ) ; - public final void rule__IfExpressionKw__Group_4_0__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDelegation__Group__0__Impl" + // InternalScope.g:6909:1: rule__ScopeDelegation__Group__0__Impl : ( 'scopeof' ) ; + public final void rule__ScopeDelegation__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6700:1: ( ( 'else' ) ) - // InternalScope.g:6701:1: ( 'else' ) + // InternalScope.g:6913:1: ( ( 'scopeof' ) ) + // InternalScope.g:6914:1: ( 'scopeof' ) { - // InternalScope.g:6701:1: ( 'else' ) - // InternalScope.g:6702:2: 'else' + // InternalScope.g:6914:1: ( 'scopeof' ) + // InternalScope.g:6915:2: 'scopeof' { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); + before(grammarAccess.getScopeDelegationAccess().getScopeofKeyword_0()); } - match(input,75,FOLLOW_2); if (state.failed) return ; + match(input,85,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); + after(grammarAccess.getScopeDelegationAccess().getScopeofKeyword_0()); } } @@ -22535,21 +25034,26 @@ public final void rule__IfExpressionKw__Group_4_0__0__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4_0__0__Impl" + // $ANTLR end "rule__ScopeDelegation__Group__0__Impl" - // $ANTLR start "rule__IfExpressionKw__Group_4_0__1" - // InternalScope.g:6711:1: rule__IfExpressionKw__Group_4_0__1 : rule__IfExpressionKw__Group_4_0__1__Impl ; - public final void rule__IfExpressionKw__Group_4_0__1() throws RecognitionException { + // $ANTLR start "rule__ScopeDelegation__Group__1" + // InternalScope.g:6924:1: rule__ScopeDelegation__Group__1 : rule__ScopeDelegation__Group__1__Impl rule__ScopeDelegation__Group__2 ; + public final void rule__ScopeDelegation__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6715:1: ( rule__IfExpressionKw__Group_4_0__1__Impl ) - // InternalScope.g:6716:2: rule__IfExpressionKw__Group_4_0__1__Impl + // InternalScope.g:6928:1: ( rule__ScopeDelegation__Group__1__Impl rule__ScopeDelegation__Group__2 ) + // InternalScope.g:6929:2: rule__ScopeDelegation__Group__1__Impl rule__ScopeDelegation__Group__2 { + pushFollow(FOLLOW_32); + rule__ScopeDelegation__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4_0__1__Impl(); + rule__ScopeDelegation__Group__2(); state._fsp--; if (state.failed) return ; @@ -22568,38 +25072,28 @@ public final void rule__IfExpressionKw__Group_4_0__1() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4_0__1" + // $ANTLR end "rule__ScopeDelegation__Group__1" - // $ANTLR start "rule__IfExpressionKw__Group_4_0__1__Impl" - // InternalScope.g:6722:1: rule__IfExpressionKw__Group_4_0__1__Impl : ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) ; - public final void rule__IfExpressionKw__Group_4_0__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDelegation__Group__1__Impl" + // InternalScope.g:6936:1: rule__ScopeDelegation__Group__1__Impl : ( '(' ) ; + public final void rule__ScopeDelegation__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6726:1: ( ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) ) - // InternalScope.g:6727:1: ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) + // InternalScope.g:6940:1: ( ( '(' ) ) + // InternalScope.g:6941:1: ( '(' ) { - // InternalScope.g:6727:1: ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) - // InternalScope.g:6728:2: ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) + // InternalScope.g:6941:1: ( '(' ) + // InternalScope.g:6942:2: '(' { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); - } - // InternalScope.g:6729:2: ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) - // InternalScope.g:6729:3: rule__IfExpressionKw__ElsePartAssignment_4_0_1 - { - pushFollow(FOLLOW_2); - rule__IfExpressionKw__ElsePartAssignment_4_0_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getScopeDelegationAccess().getLeftParenthesisKeyword_1()); } - + match(input,77,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); + after(grammarAccess.getScopeDelegationAccess().getLeftParenthesisKeyword_1()); } } @@ -22619,26 +25113,26 @@ public final void rule__IfExpressionKw__Group_4_0__1__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__IfExpressionKw__Group_4_0__1__Impl" + // $ANTLR end "rule__ScopeDelegation__Group__1__Impl" - // $ANTLR start "rule__SwitchExpression__Group__0" - // InternalScope.g:6738:1: rule__SwitchExpression__Group__0 : rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 ; - public final void rule__SwitchExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__ScopeDelegation__Group__2" + // InternalScope.g:6951:1: rule__ScopeDelegation__Group__2 : rule__ScopeDelegation__Group__2__Impl rule__ScopeDelegation__Group__3 ; + public final void rule__ScopeDelegation__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6742:1: ( rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 ) - // InternalScope.g:6743:2: rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 + // InternalScope.g:6955:1: ( rule__ScopeDelegation__Group__2__Impl rule__ScopeDelegation__Group__3 ) + // InternalScope.g:6956:2: rule__ScopeDelegation__Group__2__Impl rule__ScopeDelegation__Group__3 { - pushFollow(FOLLOW_54); - rule__SwitchExpression__Group__0__Impl(); + pushFollow(FOLLOW_33); + rule__ScopeDelegation__Group__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__1(); + rule__ScopeDelegation__Group__3(); state._fsp--; if (state.failed) return ; @@ -22657,28 +25151,38 @@ public final void rule__SwitchExpression__Group__0() throws RecognitionException } return ; } - // $ANTLR end "rule__SwitchExpression__Group__0" + // $ANTLR end "rule__ScopeDelegation__Group__2" - // $ANTLR start "rule__SwitchExpression__Group__0__Impl" - // InternalScope.g:6750:1: rule__SwitchExpression__Group__0__Impl : ( 'switch' ) ; - public final void rule__SwitchExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDelegation__Group__2__Impl" + // InternalScope.g:6963:1: rule__ScopeDelegation__Group__2__Impl : ( ( rule__ScopeDelegation__Alternatives_2 ) ) ; + public final void rule__ScopeDelegation__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6754:1: ( ( 'switch' ) ) - // InternalScope.g:6755:1: ( 'switch' ) + // InternalScope.g:6967:1: ( ( ( rule__ScopeDelegation__Alternatives_2 ) ) ) + // InternalScope.g:6968:1: ( ( rule__ScopeDelegation__Alternatives_2 ) ) { - // InternalScope.g:6755:1: ( 'switch' ) - // InternalScope.g:6756:2: 'switch' + // InternalScope.g:6968:1: ( ( rule__ScopeDelegation__Alternatives_2 ) ) + // InternalScope.g:6969:2: ( rule__ScopeDelegation__Alternatives_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); + before(grammarAccess.getScopeDelegationAccess().getAlternatives_2()); } - match(input,76,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:6970:2: ( rule__ScopeDelegation__Alternatives_2 ) + // InternalScope.g:6970:3: rule__ScopeDelegation__Alternatives_2 + { + pushFollow(FOLLOW_2); + rule__ScopeDelegation__Alternatives_2(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); + after(grammarAccess.getScopeDelegationAccess().getAlternatives_2()); } } @@ -22698,26 +25202,26 @@ public final void rule__SwitchExpression__Group__0__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__0__Impl" + // $ANTLR end "rule__ScopeDelegation__Group__2__Impl" - // $ANTLR start "rule__SwitchExpression__Group__1" - // InternalScope.g:6765:1: rule__SwitchExpression__Group__1 : rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 ; - public final void rule__SwitchExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__ScopeDelegation__Group__3" + // InternalScope.g:6978:1: rule__ScopeDelegation__Group__3 : rule__ScopeDelegation__Group__3__Impl rule__ScopeDelegation__Group__4 ; + public final void rule__ScopeDelegation__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6769:1: ( rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 ) - // InternalScope.g:6770:2: rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 + // InternalScope.g:6982:1: ( rule__ScopeDelegation__Group__3__Impl rule__ScopeDelegation__Group__4 ) + // InternalScope.g:6983:2: rule__ScopeDelegation__Group__3__Impl rule__ScopeDelegation__Group__4 { - pushFollow(FOLLOW_54); - rule__SwitchExpression__Group__1__Impl(); + pushFollow(FOLLOW_33); + rule__ScopeDelegation__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__2(); + rule__ScopeDelegation__Group__4(); state._fsp--; if (state.failed) return ; @@ -22736,38 +25240,38 @@ public final void rule__SwitchExpression__Group__1() throws RecognitionException } return ; } - // $ANTLR end "rule__SwitchExpression__Group__1" + // $ANTLR end "rule__ScopeDelegation__Group__3" - // $ANTLR start "rule__SwitchExpression__Group__1__Impl" - // InternalScope.g:6777:1: rule__SwitchExpression__Group__1__Impl : ( ( rule__SwitchExpression__Group_1__0 )? ) ; - public final void rule__SwitchExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDelegation__Group__3__Impl" + // InternalScope.g:6990:1: rule__ScopeDelegation__Group__3__Impl : ( ( rule__ScopeDelegation__Group_3__0 )? ) ; + public final void rule__ScopeDelegation__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6781:1: ( ( ( rule__SwitchExpression__Group_1__0 )? ) ) - // InternalScope.g:6782:1: ( ( rule__SwitchExpression__Group_1__0 )? ) + // InternalScope.g:6994:1: ( ( ( rule__ScopeDelegation__Group_3__0 )? ) ) + // InternalScope.g:6995:1: ( ( rule__ScopeDelegation__Group_3__0 )? ) { - // InternalScope.g:6782:1: ( ( rule__SwitchExpression__Group_1__0 )? ) - // InternalScope.g:6783:2: ( rule__SwitchExpression__Group_1__0 )? + // InternalScope.g:6995:1: ( ( rule__ScopeDelegation__Group_3__0 )? ) + // InternalScope.g:6996:2: ( rule__ScopeDelegation__Group_3__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getGroup_1()); + before(grammarAccess.getScopeDelegationAccess().getGroup_3()); } - // InternalScope.g:6784:2: ( rule__SwitchExpression__Group_1__0 )? - int alt57=2; - int LA57_0 = input.LA(1); + // InternalScope.g:6997:2: ( rule__ScopeDelegation__Group_3__0 )? + int alt81=2; + int LA81_0 = input.LA(1); - if ( (LA57_0==51) ) { - alt57=1; + if ( (LA81_0==86) ) { + alt81=1; } - switch (alt57) { + switch (alt81) { case 1 : - // InternalScope.g:6784:3: rule__SwitchExpression__Group_1__0 + // InternalScope.g:6997:3: rule__ScopeDelegation__Group_3__0 { pushFollow(FOLLOW_2); - rule__SwitchExpression__Group_1__0(); + rule__ScopeDelegation__Group_3__0(); state._fsp--; if (state.failed) return ; @@ -22778,7 +25282,7 @@ public final void rule__SwitchExpression__Group__1__Impl() throws RecognitionExc } if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getGroup_1()); + after(grammarAccess.getScopeDelegationAccess().getGroup_3()); } } @@ -22798,26 +25302,21 @@ public final void rule__SwitchExpression__Group__1__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__1__Impl" - + // $ANTLR end "rule__ScopeDelegation__Group__3__Impl" - // $ANTLR start "rule__SwitchExpression__Group__2" - // InternalScope.g:6792:1: rule__SwitchExpression__Group__2 : rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 ; - public final void rule__SwitchExpression__Group__2() throws RecognitionException { + + // $ANTLR start "rule__ScopeDelegation__Group__4" + // InternalScope.g:7005:1: rule__ScopeDelegation__Group__4 : rule__ScopeDelegation__Group__4__Impl ; + public final void rule__ScopeDelegation__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6796:1: ( rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 ) - // InternalScope.g:6797:2: rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 + // InternalScope.g:7009:1: ( rule__ScopeDelegation__Group__4__Impl ) + // InternalScope.g:7010:2: rule__ScopeDelegation__Group__4__Impl { - pushFollow(FOLLOW_55); - rule__SwitchExpression__Group__2__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__3(); + rule__ScopeDelegation__Group__4__Impl(); state._fsp--; if (state.failed) return ; @@ -22836,28 +25335,28 @@ public final void rule__SwitchExpression__Group__2() throws RecognitionException } return ; } - // $ANTLR end "rule__SwitchExpression__Group__2" + // $ANTLR end "rule__ScopeDelegation__Group__4" - // $ANTLR start "rule__SwitchExpression__Group__2__Impl" - // InternalScope.g:6804:1: rule__SwitchExpression__Group__2__Impl : ( '{' ) ; - public final void rule__SwitchExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDelegation__Group__4__Impl" + // InternalScope.g:7016:1: rule__ScopeDelegation__Group__4__Impl : ( ')' ) ; + public final void rule__ScopeDelegation__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6808:1: ( ( '{' ) ) - // InternalScope.g:6809:1: ( '{' ) + // InternalScope.g:7020:1: ( ( ')' ) ) + // InternalScope.g:7021:1: ( ')' ) { - // InternalScope.g:6809:1: ( '{' ) - // InternalScope.g:6810:2: '{' + // InternalScope.g:7021:1: ( ')' ) + // InternalScope.g:7022:2: ')' { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); + before(grammarAccess.getScopeDelegationAccess().getRightParenthesisKeyword_4()); } - match(input,45,FOLLOW_2); if (state.failed) return ; + match(input,78,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); + after(grammarAccess.getScopeDelegationAccess().getRightParenthesisKeyword_4()); } } @@ -22877,26 +25376,26 @@ public final void rule__SwitchExpression__Group__2__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__2__Impl" + // $ANTLR end "rule__ScopeDelegation__Group__4__Impl" - // $ANTLR start "rule__SwitchExpression__Group__3" - // InternalScope.g:6819:1: rule__SwitchExpression__Group__3 : rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 ; - public final void rule__SwitchExpression__Group__3() throws RecognitionException { + // $ANTLR start "rule__ScopeDelegation__Group_3__0" + // InternalScope.g:7032:1: rule__ScopeDelegation__Group_3__0 : rule__ScopeDelegation__Group_3__0__Impl rule__ScopeDelegation__Group_3__1 ; + public final void rule__ScopeDelegation__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6823:1: ( rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 ) - // InternalScope.g:6824:2: rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 + // InternalScope.g:7036:1: ( rule__ScopeDelegation__Group_3__0__Impl rule__ScopeDelegation__Group_3__1 ) + // InternalScope.g:7037:2: rule__ScopeDelegation__Group_3__0__Impl rule__ScopeDelegation__Group_3__1 { - pushFollow(FOLLOW_55); - rule__SwitchExpression__Group__3__Impl(); + pushFollow(FOLLOW_4); + rule__ScopeDelegation__Group_3__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__4(); + rule__ScopeDelegation__Group_3__1(); state._fsp--; if (state.failed) return ; @@ -22915,56 +25414,28 @@ public final void rule__SwitchExpression__Group__3() throws RecognitionException } return ; } - // $ANTLR end "rule__SwitchExpression__Group__3" + // $ANTLR end "rule__ScopeDelegation__Group_3__0" - // $ANTLR start "rule__SwitchExpression__Group__3__Impl" - // InternalScope.g:6831:1: rule__SwitchExpression__Group__3__Impl : ( ( rule__SwitchExpression__CaseAssignment_3 )* ) ; - public final void rule__SwitchExpression__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDelegation__Group_3__0__Impl" + // InternalScope.g:7044:1: rule__ScopeDelegation__Group_3__0__Impl : ( ',' ) ; + public final void rule__ScopeDelegation__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6835:1: ( ( ( rule__SwitchExpression__CaseAssignment_3 )* ) ) - // InternalScope.g:6836:1: ( ( rule__SwitchExpression__CaseAssignment_3 )* ) + // InternalScope.g:7048:1: ( ( ',' ) ) + // InternalScope.g:7049:1: ( ',' ) { - // InternalScope.g:6836:1: ( ( rule__SwitchExpression__CaseAssignment_3 )* ) - // InternalScope.g:6837:2: ( rule__SwitchExpression__CaseAssignment_3 )* + // InternalScope.g:7049:1: ( ',' ) + // InternalScope.g:7050:2: ',' { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); + before(grammarAccess.getScopeDelegationAccess().getCommaKeyword_3_0()); } - // InternalScope.g:6838:2: ( rule__SwitchExpression__CaseAssignment_3 )* - loop58: - do { - int alt58=2; - int LA58_0 = input.LA(1); - - if ( (LA58_0==47) ) { - alt58=1; - } - - - switch (alt58) { - case 1 : - // InternalScope.g:6838:3: rule__SwitchExpression__CaseAssignment_3 - { - pushFollow(FOLLOW_56); - rule__SwitchExpression__CaseAssignment_3(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop58; - } - } while (true); - + match(input,86,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); + after(grammarAccess.getScopeDelegationAccess().getCommaKeyword_3_0()); } } @@ -22984,26 +25455,21 @@ public final void rule__SwitchExpression__Group__3__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__3__Impl" + // $ANTLR end "rule__ScopeDelegation__Group_3__0__Impl" - // $ANTLR start "rule__SwitchExpression__Group__4" - // InternalScope.g:6846:1: rule__SwitchExpression__Group__4 : rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 ; - public final void rule__SwitchExpression__Group__4() throws RecognitionException { + // $ANTLR start "rule__ScopeDelegation__Group_3__1" + // InternalScope.g:7059:1: rule__ScopeDelegation__Group_3__1 : rule__ScopeDelegation__Group_3__1__Impl ; + public final void rule__ScopeDelegation__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6850:1: ( rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 ) - // InternalScope.g:6851:2: rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 + // InternalScope.g:7063:1: ( rule__ScopeDelegation__Group_3__1__Impl ) + // InternalScope.g:7064:2: rule__ScopeDelegation__Group_3__1__Impl { - pushFollow(FOLLOW_47); - rule__SwitchExpression__Group__4__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__5(); + rule__ScopeDelegation__Group_3__1__Impl(); state._fsp--; if (state.failed) return ; @@ -23022,28 +25488,38 @@ public final void rule__SwitchExpression__Group__4() throws RecognitionException } return ; } - // $ANTLR end "rule__SwitchExpression__Group__4" + // $ANTLR end "rule__ScopeDelegation__Group_3__1" - // $ANTLR start "rule__SwitchExpression__Group__4__Impl" - // InternalScope.g:6858:1: rule__SwitchExpression__Group__4__Impl : ( 'default' ) ; - public final void rule__SwitchExpression__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__ScopeDelegation__Group_3__1__Impl" + // InternalScope.g:7070:1: rule__ScopeDelegation__Group_3__1__Impl : ( ( rule__ScopeDelegation__ScopeAssignment_3_1 ) ) ; + public final void rule__ScopeDelegation__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6862:1: ( ( 'default' ) ) - // InternalScope.g:6863:1: ( 'default' ) + // InternalScope.g:7074:1: ( ( ( rule__ScopeDelegation__ScopeAssignment_3_1 ) ) ) + // InternalScope.g:7075:1: ( ( rule__ScopeDelegation__ScopeAssignment_3_1 ) ) { - // InternalScope.g:6863:1: ( 'default' ) - // InternalScope.g:6864:2: 'default' + // InternalScope.g:7075:1: ( ( rule__ScopeDelegation__ScopeAssignment_3_1 ) ) + // InternalScope.g:7076:2: ( rule__ScopeDelegation__ScopeAssignment_3_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); + before(grammarAccess.getScopeDelegationAccess().getScopeAssignment_3_1()); } - match(input,77,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:7077:2: ( rule__ScopeDelegation__ScopeAssignment_3_1 ) + // InternalScope.g:7077:3: rule__ScopeDelegation__ScopeAssignment_3_1 + { + pushFollow(FOLLOW_2); + rule__ScopeDelegation__ScopeAssignment_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); + after(grammarAccess.getScopeDelegationAccess().getScopeAssignment_3_1()); } } @@ -23063,26 +25539,26 @@ public final void rule__SwitchExpression__Group__4__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__4__Impl" + // $ANTLR end "rule__ScopeDelegation__Group_3__1__Impl" - // $ANTLR start "rule__SwitchExpression__Group__5" - // InternalScope.g:6873:1: rule__SwitchExpression__Group__5 : rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 ; - public final void rule__SwitchExpression__Group__5() throws RecognitionException { + // $ANTLR start "rule__NamedScopeExpression__Group__0" + // InternalScope.g:7086:1: rule__NamedScopeExpression__Group__0 : rule__NamedScopeExpression__Group__0__Impl rule__NamedScopeExpression__Group__1 ; + public final void rule__NamedScopeExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6877:1: ( rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 ) - // InternalScope.g:6878:2: rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 + // InternalScope.g:7090:1: ( rule__NamedScopeExpression__Group__0__Impl rule__NamedScopeExpression__Group__1 ) + // InternalScope.g:7091:2: rule__NamedScopeExpression__Group__0__Impl rule__NamedScopeExpression__Group__1 { - pushFollow(FOLLOW_57); - rule__SwitchExpression__Group__5__Impl(); + pushFollow(FOLLOW_34); + rule__NamedScopeExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__6(); + rule__NamedScopeExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -23101,28 +25577,38 @@ public final void rule__SwitchExpression__Group__5() throws RecognitionException } return ; } - // $ANTLR end "rule__SwitchExpression__Group__5" + // $ANTLR end "rule__NamedScopeExpression__Group__0" - // $ANTLR start "rule__SwitchExpression__Group__5__Impl" - // InternalScope.g:6885:1: rule__SwitchExpression__Group__5__Impl : ( ':' ) ; - public final void rule__SwitchExpression__Group__5__Impl() throws RecognitionException { + // $ANTLR start "rule__NamedScopeExpression__Group__0__Impl" + // InternalScope.g:7098:1: rule__NamedScopeExpression__Group__0__Impl : ( ( rule__NamedScopeExpression__Alternatives_0 ) ) ; + public final void rule__NamedScopeExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6889:1: ( ( ':' ) ) - // InternalScope.g:6890:1: ( ':' ) + // InternalScope.g:7102:1: ( ( ( rule__NamedScopeExpression__Alternatives_0 ) ) ) + // InternalScope.g:7103:1: ( ( rule__NamedScopeExpression__Alternatives_0 ) ) { - // InternalScope.g:6890:1: ( ':' ) - // InternalScope.g:6891:2: ':' + // InternalScope.g:7103:1: ( ( rule__NamedScopeExpression__Alternatives_0 ) ) + // InternalScope.g:7104:2: ( rule__NamedScopeExpression__Alternatives_0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); + before(grammarAccess.getNamedScopeExpressionAccess().getAlternatives_0()); } - match(input,70,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:7105:2: ( rule__NamedScopeExpression__Alternatives_0 ) + // InternalScope.g:7105:3: rule__NamedScopeExpression__Alternatives_0 + { + pushFollow(FOLLOW_2); + rule__NamedScopeExpression__Alternatives_0(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); + after(grammarAccess.getNamedScopeExpressionAccess().getAlternatives_0()); } } @@ -23142,26 +25628,26 @@ public final void rule__SwitchExpression__Group__5__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__5__Impl" + // $ANTLR end "rule__NamedScopeExpression__Group__0__Impl" - // $ANTLR start "rule__SwitchExpression__Group__6" - // InternalScope.g:6900:1: rule__SwitchExpression__Group__6 : rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 ; - public final void rule__SwitchExpression__Group__6() throws RecognitionException { + // $ANTLR start "rule__NamedScopeExpression__Group__1" + // InternalScope.g:7113:1: rule__NamedScopeExpression__Group__1 : rule__NamedScopeExpression__Group__1__Impl rule__NamedScopeExpression__Group__2 ; + public final void rule__NamedScopeExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6904:1: ( rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 ) - // InternalScope.g:6905:2: rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 + // InternalScope.g:7117:1: ( rule__NamedScopeExpression__Group__1__Impl rule__NamedScopeExpression__Group__2 ) + // InternalScope.g:7118:2: rule__NamedScopeExpression__Group__1__Impl rule__NamedScopeExpression__Group__2 { - pushFollow(FOLLOW_21); - rule__SwitchExpression__Group__6__Impl(); + pushFollow(FOLLOW_34); + rule__NamedScopeExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__7(); + rule__NamedScopeExpression__Group__2(); state._fsp--; if (state.failed) return ; @@ -23180,38 +25666,49 @@ public final void rule__SwitchExpression__Group__6() throws RecognitionException } return ; } - // $ANTLR end "rule__SwitchExpression__Group__6" + // $ANTLR end "rule__NamedScopeExpression__Group__1" - // $ANTLR start "rule__SwitchExpression__Group__6__Impl" - // InternalScope.g:6912:1: rule__SwitchExpression__Group__6__Impl : ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) ; - public final void rule__SwitchExpression__Group__6__Impl() throws RecognitionException { + // $ANTLR start "rule__NamedScopeExpression__Group__1__Impl" + // InternalScope.g:7125:1: rule__NamedScopeExpression__Group__1__Impl : ( ( rule__NamedScopeExpression__Group_1__0 )? ) ; + public final void rule__NamedScopeExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6916:1: ( ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) ) - // InternalScope.g:6917:1: ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) + // InternalScope.g:7129:1: ( ( ( rule__NamedScopeExpression__Group_1__0 )? ) ) + // InternalScope.g:7130:1: ( ( rule__NamedScopeExpression__Group_1__0 )? ) { - // InternalScope.g:6917:1: ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) - // InternalScope.g:6918:2: ( rule__SwitchExpression__DefaultExprAssignment_6 ) + // InternalScope.g:7130:1: ( ( rule__NamedScopeExpression__Group_1__0 )? ) + // InternalScope.g:7131:2: ( rule__NamedScopeExpression__Group_1__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); + before(grammarAccess.getNamedScopeExpressionAccess().getGroup_1()); } - // InternalScope.g:6919:2: ( rule__SwitchExpression__DefaultExprAssignment_6 ) - // InternalScope.g:6919:3: rule__SwitchExpression__DefaultExprAssignment_6 - { - pushFollow(FOLLOW_2); - rule__SwitchExpression__DefaultExprAssignment_6(); + // InternalScope.g:7132:2: ( rule__NamedScopeExpression__Group_1__0 )? + int alt82=2; + int LA82_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA82_0==74) ) { + alt82=1; + } + switch (alt82) { + case 1 : + // InternalScope.g:7132:3: rule__NamedScopeExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__NamedScopeExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; } if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); + after(grammarAccess.getNamedScopeExpressionAccess().getGroup_1()); } } @@ -23231,21 +25728,21 @@ public final void rule__SwitchExpression__Group__6__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__6__Impl" + // $ANTLR end "rule__NamedScopeExpression__Group__1__Impl" - // $ANTLR start "rule__SwitchExpression__Group__7" - // InternalScope.g:6927:1: rule__SwitchExpression__Group__7 : rule__SwitchExpression__Group__7__Impl ; - public final void rule__SwitchExpression__Group__7() throws RecognitionException { + // $ANTLR start "rule__NamedScopeExpression__Group__2" + // InternalScope.g:7140:1: rule__NamedScopeExpression__Group__2 : rule__NamedScopeExpression__Group__2__Impl ; + public final void rule__NamedScopeExpression__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6931:1: ( rule__SwitchExpression__Group__7__Impl ) - // InternalScope.g:6932:2: rule__SwitchExpression__Group__7__Impl + // InternalScope.g:7144:1: ( rule__NamedScopeExpression__Group__2__Impl ) + // InternalScope.g:7145:2: rule__NamedScopeExpression__Group__2__Impl { pushFollow(FOLLOW_2); - rule__SwitchExpression__Group__7__Impl(); + rule__NamedScopeExpression__Group__2__Impl(); state._fsp--; if (state.failed) return ; @@ -23264,28 +25761,49 @@ public final void rule__SwitchExpression__Group__7() throws RecognitionException } return ; } - // $ANTLR end "rule__SwitchExpression__Group__7" + // $ANTLR end "rule__NamedScopeExpression__Group__2" - // $ANTLR start "rule__SwitchExpression__Group__7__Impl" - // InternalScope.g:6938:1: rule__SwitchExpression__Group__7__Impl : ( '}' ) ; - public final void rule__SwitchExpression__Group__7__Impl() throws RecognitionException { + // $ANTLR start "rule__NamedScopeExpression__Group__2__Impl" + // InternalScope.g:7151:1: rule__NamedScopeExpression__Group__2__Impl : ( ( rule__NamedScopeExpression__Group_2__0 )? ) ; + public final void rule__NamedScopeExpression__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6942:1: ( ( '}' ) ) - // InternalScope.g:6943:1: ( '}' ) + // InternalScope.g:7155:1: ( ( ( rule__NamedScopeExpression__Group_2__0 )? ) ) + // InternalScope.g:7156:1: ( ( rule__NamedScopeExpression__Group_2__0 )? ) { - // InternalScope.g:6943:1: ( '}' ) - // InternalScope.g:6944:2: '}' + // InternalScope.g:7156:1: ( ( rule__NamedScopeExpression__Group_2__0 )? ) + // InternalScope.g:7157:2: ( rule__NamedScopeExpression__Group_2__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); + before(grammarAccess.getNamedScopeExpressionAccess().getGroup_2()); + } + // InternalScope.g:7158:2: ( rule__NamedScopeExpression__Group_2__0 )? + int alt83=2; + int LA83_0 = input.LA(1); + + if ( (LA83_0==69) ) { + alt83=1; + } + switch (alt83) { + case 1 : + // InternalScope.g:7158:3: rule__NamedScopeExpression__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__NamedScopeExpression__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + } - match(input,46,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); + after(grammarAccess.getNamedScopeExpressionAccess().getGroup_2()); } } @@ -23305,26 +25823,26 @@ public final void rule__SwitchExpression__Group__7__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__SwitchExpression__Group__7__Impl" + // $ANTLR end "rule__NamedScopeExpression__Group__2__Impl" - // $ANTLR start "rule__SwitchExpression__Group_1__0" - // InternalScope.g:6954:1: rule__SwitchExpression__Group_1__0 : rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 ; - public final void rule__SwitchExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__NamedScopeExpression__Group_1__0" + // InternalScope.g:7167:1: rule__NamedScopeExpression__Group_1__0 : rule__NamedScopeExpression__Group_1__0__Impl rule__NamedScopeExpression__Group_1__1 ; + public final void rule__NamedScopeExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6958:1: ( rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 ) - // InternalScope.g:6959:2: rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 + // InternalScope.g:7171:1: ( rule__NamedScopeExpression__Group_1__0__Impl rule__NamedScopeExpression__Group_1__1 ) + // InternalScope.g:7172:2: rule__NamedScopeExpression__Group_1__0__Impl rule__NamedScopeExpression__Group_1__1 { - pushFollow(FOLLOW_57); - rule__SwitchExpression__Group_1__0__Impl(); + pushFollow(FOLLOW_15); + rule__NamedScopeExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group_1__1(); + rule__NamedScopeExpression__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -23343,28 +25861,38 @@ public final void rule__SwitchExpression__Group_1__0() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__0" + // $ANTLR end "rule__NamedScopeExpression__Group_1__0" - // $ANTLR start "rule__SwitchExpression__Group_1__0__Impl" - // InternalScope.g:6966:1: rule__SwitchExpression__Group_1__0__Impl : ( '(' ) ; - public final void rule__SwitchExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__NamedScopeExpression__Group_1__0__Impl" + // InternalScope.g:7179:1: rule__NamedScopeExpression__Group_1__0__Impl : ( ( rule__NamedScopeExpression__CaseDefAssignment_1_0 ) ) ; + public final void rule__NamedScopeExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6970:1: ( ( '(' ) ) - // InternalScope.g:6971:1: ( '(' ) + // InternalScope.g:7183:1: ( ( ( rule__NamedScopeExpression__CaseDefAssignment_1_0 ) ) ) + // InternalScope.g:7184:1: ( ( rule__NamedScopeExpression__CaseDefAssignment_1_0 ) ) { - // InternalScope.g:6971:1: ( '(' ) - // InternalScope.g:6972:2: '(' + // InternalScope.g:7184:1: ( ( rule__NamedScopeExpression__CaseDefAssignment_1_0 ) ) + // InternalScope.g:7185:2: ( rule__NamedScopeExpression__CaseDefAssignment_1_0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); + before(grammarAccess.getNamedScopeExpressionAccess().getCaseDefAssignment_1_0()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:7186:2: ( rule__NamedScopeExpression__CaseDefAssignment_1_0 ) + // InternalScope.g:7186:3: rule__NamedScopeExpression__CaseDefAssignment_1_0 + { + pushFollow(FOLLOW_2); + rule__NamedScopeExpression__CaseDefAssignment_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); + after(grammarAccess.getNamedScopeExpressionAccess().getCaseDefAssignment_1_0()); } } @@ -23384,26 +25912,21 @@ public final void rule__SwitchExpression__Group_1__0__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__0__Impl" + // $ANTLR end "rule__NamedScopeExpression__Group_1__0__Impl" - // $ANTLR start "rule__SwitchExpression__Group_1__1" - // InternalScope.g:6981:1: rule__SwitchExpression__Group_1__1 : rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 ; - public final void rule__SwitchExpression__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__NamedScopeExpression__Group_1__1" + // InternalScope.g:7194:1: rule__NamedScopeExpression__Group_1__1 : rule__NamedScopeExpression__Group_1__1__Impl ; + public final void rule__NamedScopeExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6985:1: ( rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 ) - // InternalScope.g:6986:2: rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 + // InternalScope.g:7198:1: ( rule__NamedScopeExpression__Group_1__1__Impl ) + // InternalScope.g:7199:2: rule__NamedScopeExpression__Group_1__1__Impl { - pushFollow(FOLLOW_23); - rule__SwitchExpression__Group_1__1__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group_1__2(); + rule__NamedScopeExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; @@ -23422,30 +25945,30 @@ public final void rule__SwitchExpression__Group_1__1() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__1" + // $ANTLR end "rule__NamedScopeExpression__Group_1__1" - // $ANTLR start "rule__SwitchExpression__Group_1__1__Impl" - // InternalScope.g:6993:1: rule__SwitchExpression__Group_1__1__Impl : ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) ; - public final void rule__SwitchExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__NamedScopeExpression__Group_1__1__Impl" + // InternalScope.g:7205:1: rule__NamedScopeExpression__Group_1__1__Impl : ( ( rule__NamedScopeExpression__CasingAssignment_1_1 ) ) ; + public final void rule__NamedScopeExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:6997:1: ( ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) ) - // InternalScope.g:6998:1: ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) + // InternalScope.g:7209:1: ( ( ( rule__NamedScopeExpression__CasingAssignment_1_1 ) ) ) + // InternalScope.g:7210:1: ( ( rule__NamedScopeExpression__CasingAssignment_1_1 ) ) { - // InternalScope.g:6998:1: ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) - // InternalScope.g:6999:2: ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) + // InternalScope.g:7210:1: ( ( rule__NamedScopeExpression__CasingAssignment_1_1 ) ) + // InternalScope.g:7211:2: ( rule__NamedScopeExpression__CasingAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); + before(grammarAccess.getNamedScopeExpressionAccess().getCasingAssignment_1_1()); } - // InternalScope.g:7000:2: ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) - // InternalScope.g:7000:3: rule__SwitchExpression__SwitchExprAssignment_1_1 + // InternalScope.g:7212:2: ( rule__NamedScopeExpression__CasingAssignment_1_1 ) + // InternalScope.g:7212:3: rule__NamedScopeExpression__CasingAssignment_1_1 { pushFollow(FOLLOW_2); - rule__SwitchExpression__SwitchExprAssignment_1_1(); + rule__NamedScopeExpression__CasingAssignment_1_1(); state._fsp--; if (state.failed) return ; @@ -23453,7 +25976,7 @@ public final void rule__SwitchExpression__Group_1__1__Impl() throws RecognitionE } if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); + after(grammarAccess.getNamedScopeExpressionAccess().getCasingAssignment_1_1()); } } @@ -23473,21 +25996,26 @@ public final void rule__SwitchExpression__Group_1__1__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__1__Impl" + // $ANTLR end "rule__NamedScopeExpression__Group_1__1__Impl" - // $ANTLR start "rule__SwitchExpression__Group_1__2" - // InternalScope.g:7008:1: rule__SwitchExpression__Group_1__2 : rule__SwitchExpression__Group_1__2__Impl ; - public final void rule__SwitchExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__NamedScopeExpression__Group_2__0" + // InternalScope.g:7221:1: rule__NamedScopeExpression__Group_2__0 : rule__NamedScopeExpression__Group_2__0__Impl rule__NamedScopeExpression__Group_2__1 ; + public final void rule__NamedScopeExpression__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7012:1: ( rule__SwitchExpression__Group_1__2__Impl ) - // InternalScope.g:7013:2: rule__SwitchExpression__Group_1__2__Impl + // InternalScope.g:7225:1: ( rule__NamedScopeExpression__Group_2__0__Impl rule__NamedScopeExpression__Group_2__1 ) + // InternalScope.g:7226:2: rule__NamedScopeExpression__Group_2__0__Impl rule__NamedScopeExpression__Group_2__1 { + pushFollow(FOLLOW_17); + rule__NamedScopeExpression__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SwitchExpression__Group_1__2__Impl(); + rule__NamedScopeExpression__Group_2__1(); state._fsp--; if (state.failed) return ; @@ -23506,28 +26034,28 @@ public final void rule__SwitchExpression__Group_1__2() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__2" + // $ANTLR end "rule__NamedScopeExpression__Group_2__0" - // $ANTLR start "rule__SwitchExpression__Group_1__2__Impl" - // InternalScope.g:7019:1: rule__SwitchExpression__Group_1__2__Impl : ( ')' ) ; - public final void rule__SwitchExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__NamedScopeExpression__Group_2__0__Impl" + // InternalScope.g:7233:1: rule__NamedScopeExpression__Group_2__0__Impl : ( 'as' ) ; + public final void rule__NamedScopeExpression__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7023:1: ( ( ')' ) ) - // InternalScope.g:7024:1: ( ')' ) + // InternalScope.g:7237:1: ( ( 'as' ) ) + // InternalScope.g:7238:1: ( 'as' ) { - // InternalScope.g:7024:1: ( ')' ) - // InternalScope.g:7025:2: ')' + // InternalScope.g:7238:1: ( 'as' ) + // InternalScope.g:7239:2: 'as' { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); + before(grammarAccess.getNamedScopeExpressionAccess().getAsKeyword_2_0()); } - match(input,52,FOLLOW_2); if (state.failed) return ; + match(input,69,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); + after(grammarAccess.getNamedScopeExpressionAccess().getAsKeyword_2_0()); } } @@ -23547,26 +26075,21 @@ public final void rule__SwitchExpression__Group_1__2__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__SwitchExpression__Group_1__2__Impl" + // $ANTLR end "rule__NamedScopeExpression__Group_2__0__Impl" - // $ANTLR start "rule__Case__Group__0" - // InternalScope.g:7035:1: rule__Case__Group__0 : rule__Case__Group__0__Impl rule__Case__Group__1 ; - public final void rule__Case__Group__0() throws RecognitionException { + // $ANTLR start "rule__NamedScopeExpression__Group_2__1" + // InternalScope.g:7248:1: rule__NamedScopeExpression__Group_2__1 : rule__NamedScopeExpression__Group_2__1__Impl ; + public final void rule__NamedScopeExpression__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7039:1: ( rule__Case__Group__0__Impl rule__Case__Group__1 ) - // InternalScope.g:7040:2: rule__Case__Group__0__Impl rule__Case__Group__1 + // InternalScope.g:7252:1: ( rule__NamedScopeExpression__Group_2__1__Impl ) + // InternalScope.g:7253:2: rule__NamedScopeExpression__Group_2__1__Impl { - pushFollow(FOLLOW_57); - rule__Case__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Case__Group__1(); + rule__NamedScopeExpression__Group_2__1__Impl(); state._fsp--; if (state.failed) return ; @@ -23585,28 +26108,38 @@ public final void rule__Case__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__0" + // $ANTLR end "rule__NamedScopeExpression__Group_2__1" - // $ANTLR start "rule__Case__Group__0__Impl" - // InternalScope.g:7047:1: rule__Case__Group__0__Impl : ( 'case' ) ; - public final void rule__Case__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__NamedScopeExpression__Group_2__1__Impl" + // InternalScope.g:7259:1: rule__NamedScopeExpression__Group_2__1__Impl : ( ( rule__NamedScopeExpression__NamingAssignment_2_1 ) ) ; + public final void rule__NamedScopeExpression__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7051:1: ( ( 'case' ) ) - // InternalScope.g:7052:1: ( 'case' ) + // InternalScope.g:7263:1: ( ( ( rule__NamedScopeExpression__NamingAssignment_2_1 ) ) ) + // InternalScope.g:7264:1: ( ( rule__NamedScopeExpression__NamingAssignment_2_1 ) ) { - // InternalScope.g:7052:1: ( 'case' ) - // InternalScope.g:7053:2: 'case' + // InternalScope.g:7264:1: ( ( rule__NamedScopeExpression__NamingAssignment_2_1 ) ) + // InternalScope.g:7265:2: ( rule__NamedScopeExpression__NamingAssignment_2_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getCaseKeyword_0()); + before(grammarAccess.getNamedScopeExpressionAccess().getNamingAssignment_2_1()); + } + // InternalScope.g:7266:2: ( rule__NamedScopeExpression__NamingAssignment_2_1 ) + // InternalScope.g:7266:3: rule__NamedScopeExpression__NamingAssignment_2_1 + { + pushFollow(FOLLOW_2); + rule__NamedScopeExpression__NamingAssignment_2_1(); + + state._fsp--; + if (state.failed) return ; + } - match(input,47,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getCaseKeyword_0()); + after(grammarAccess.getNamedScopeExpressionAccess().getNamingAssignment_2_1()); } } @@ -23626,26 +26159,26 @@ public final void rule__Case__Group__0__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__0__Impl" + // $ANTLR end "rule__NamedScopeExpression__Group_2__1__Impl" - // $ANTLR start "rule__Case__Group__1" - // InternalScope.g:7062:1: rule__Case__Group__1 : rule__Case__Group__1__Impl rule__Case__Group__2 ; - public final void rule__Case__Group__1() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group__0" + // InternalScope.g:7275:1: rule__GlobalScopeExpression__Group__0 : rule__GlobalScopeExpression__Group__0__Impl rule__GlobalScopeExpression__Group__1 ; + public final void rule__GlobalScopeExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7066:1: ( rule__Case__Group__1__Impl rule__Case__Group__2 ) - // InternalScope.g:7067:2: rule__Case__Group__1__Impl rule__Case__Group__2 + // InternalScope.g:7279:1: ( rule__GlobalScopeExpression__Group__0__Impl rule__GlobalScopeExpression__Group__1 ) + // InternalScope.g:7280:2: rule__GlobalScopeExpression__Group__0__Impl rule__GlobalScopeExpression__Group__1 { - pushFollow(FOLLOW_47); - rule__Case__Group__1__Impl(); + pushFollow(FOLLOW_31); + rule__GlobalScopeExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Case__Group__2(); + rule__GlobalScopeExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -23664,38 +26197,28 @@ public final void rule__Case__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__1" + // $ANTLR end "rule__GlobalScopeExpression__Group__0" - // $ANTLR start "rule__Case__Group__1__Impl" - // InternalScope.g:7074:1: rule__Case__Group__1__Impl : ( ( rule__Case__ConditionAssignment_1 ) ) ; - public final void rule__Case__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group__0__Impl" + // InternalScope.g:7287:1: rule__GlobalScopeExpression__Group__0__Impl : ( 'find' ) ; + public final void rule__GlobalScopeExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7078:1: ( ( ( rule__Case__ConditionAssignment_1 ) ) ) - // InternalScope.g:7079:1: ( ( rule__Case__ConditionAssignment_1 ) ) + // InternalScope.g:7291:1: ( ( 'find' ) ) + // InternalScope.g:7292:1: ( 'find' ) { - // InternalScope.g:7079:1: ( ( rule__Case__ConditionAssignment_1 ) ) - // InternalScope.g:7080:2: ( rule__Case__ConditionAssignment_1 ) + // InternalScope.g:7292:1: ( 'find' ) + // InternalScope.g:7293:2: 'find' { if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getConditionAssignment_1()); - } - // InternalScope.g:7081:2: ( rule__Case__ConditionAssignment_1 ) - // InternalScope.g:7081:3: rule__Case__ConditionAssignment_1 - { - pushFollow(FOLLOW_2); - rule__Case__ConditionAssignment_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getGlobalScopeExpressionAccess().getFindKeyword_0()); } - + match(input,87,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getConditionAssignment_1()); + after(grammarAccess.getGlobalScopeExpressionAccess().getFindKeyword_0()); } } @@ -23715,26 +26238,26 @@ public final void rule__Case__Group__1__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__1__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group__0__Impl" - // $ANTLR start "rule__Case__Group__2" - // InternalScope.g:7089:1: rule__Case__Group__2 : rule__Case__Group__2__Impl rule__Case__Group__3 ; - public final void rule__Case__Group__2() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group__1" + // InternalScope.g:7302:1: rule__GlobalScopeExpression__Group__1 : rule__GlobalScopeExpression__Group__1__Impl rule__GlobalScopeExpression__Group__2 ; + public final void rule__GlobalScopeExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7093:1: ( rule__Case__Group__2__Impl rule__Case__Group__3 ) - // InternalScope.g:7094:2: rule__Case__Group__2__Impl rule__Case__Group__3 + // InternalScope.g:7306:1: ( rule__GlobalScopeExpression__Group__1__Impl rule__GlobalScopeExpression__Group__2 ) + // InternalScope.g:7307:2: rule__GlobalScopeExpression__Group__1__Impl rule__GlobalScopeExpression__Group__2 { - pushFollow(FOLLOW_57); - rule__Case__Group__2__Impl(); + pushFollow(FOLLOW_4); + rule__GlobalScopeExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Case__Group__3(); + rule__GlobalScopeExpression__Group__2(); state._fsp--; if (state.failed) return ; @@ -23753,28 +26276,28 @@ public final void rule__Case__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__2" + // $ANTLR end "rule__GlobalScopeExpression__Group__1" - // $ANTLR start "rule__Case__Group__2__Impl" - // InternalScope.g:7101:1: rule__Case__Group__2__Impl : ( ':' ) ; - public final void rule__Case__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group__1__Impl" + // InternalScope.g:7314:1: rule__GlobalScopeExpression__Group__1__Impl : ( '(' ) ; + public final void rule__GlobalScopeExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7105:1: ( ( ':' ) ) - // InternalScope.g:7106:1: ( ':' ) + // InternalScope.g:7318:1: ( ( '(' ) ) + // InternalScope.g:7319:1: ( '(' ) { - // InternalScope.g:7106:1: ( ':' ) - // InternalScope.g:7107:2: ':' + // InternalScope.g:7319:1: ( '(' ) + // InternalScope.g:7320:2: '(' { if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getColonKeyword_2()); + before(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_1()); } - match(input,70,FOLLOW_2); if (state.failed) return ; + match(input,77,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getColonKeyword_2()); + after(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_1()); } } @@ -23794,21 +26317,26 @@ public final void rule__Case__Group__2__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__2__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group__1__Impl" - // $ANTLR start "rule__Case__Group__3" - // InternalScope.g:7116:1: rule__Case__Group__3 : rule__Case__Group__3__Impl ; - public final void rule__Case__Group__3() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group__2" + // InternalScope.g:7329:1: rule__GlobalScopeExpression__Group__2 : rule__GlobalScopeExpression__Group__2__Impl rule__GlobalScopeExpression__Group__3 ; + public final void rule__GlobalScopeExpression__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7120:1: ( rule__Case__Group__3__Impl ) - // InternalScope.g:7121:2: rule__Case__Group__3__Impl + // InternalScope.g:7333:1: ( rule__GlobalScopeExpression__Group__2__Impl rule__GlobalScopeExpression__Group__3 ) + // InternalScope.g:7334:2: rule__GlobalScopeExpression__Group__2__Impl rule__GlobalScopeExpression__Group__3 { + pushFollow(FOLLOW_33); + rule__GlobalScopeExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Case__Group__3__Impl(); + rule__GlobalScopeExpression__Group__3(); state._fsp--; if (state.failed) return ; @@ -23827,30 +26355,30 @@ public final void rule__Case__Group__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__3" + // $ANTLR end "rule__GlobalScopeExpression__Group__2" - // $ANTLR start "rule__Case__Group__3__Impl" - // InternalScope.g:7127:1: rule__Case__Group__3__Impl : ( ( rule__Case__ThenParAssignment_3 ) ) ; - public final void rule__Case__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group__2__Impl" + // InternalScope.g:7341:1: rule__GlobalScopeExpression__Group__2__Impl : ( ( rule__GlobalScopeExpression__TypeAssignment_2 ) ) ; + public final void rule__GlobalScopeExpression__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7131:1: ( ( ( rule__Case__ThenParAssignment_3 ) ) ) - // InternalScope.g:7132:1: ( ( rule__Case__ThenParAssignment_3 ) ) + // InternalScope.g:7345:1: ( ( ( rule__GlobalScopeExpression__TypeAssignment_2 ) ) ) + // InternalScope.g:7346:1: ( ( rule__GlobalScopeExpression__TypeAssignment_2 ) ) { - // InternalScope.g:7132:1: ( ( rule__Case__ThenParAssignment_3 ) ) - // InternalScope.g:7133:2: ( rule__Case__ThenParAssignment_3 ) + // InternalScope.g:7346:1: ( ( rule__GlobalScopeExpression__TypeAssignment_2 ) ) + // InternalScope.g:7347:2: ( rule__GlobalScopeExpression__TypeAssignment_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getThenParAssignment_3()); + before(grammarAccess.getGlobalScopeExpressionAccess().getTypeAssignment_2()); } - // InternalScope.g:7134:2: ( rule__Case__ThenParAssignment_3 ) - // InternalScope.g:7134:3: rule__Case__ThenParAssignment_3 + // InternalScope.g:7348:2: ( rule__GlobalScopeExpression__TypeAssignment_2 ) + // InternalScope.g:7348:3: rule__GlobalScopeExpression__TypeAssignment_2 { pushFollow(FOLLOW_2); - rule__Case__ThenParAssignment_3(); + rule__GlobalScopeExpression__TypeAssignment_2(); state._fsp--; if (state.failed) return ; @@ -23858,7 +26386,7 @@ public final void rule__Case__Group__3__Impl() throws RecognitionException { } if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getThenParAssignment_3()); + after(grammarAccess.getGlobalScopeExpressionAccess().getTypeAssignment_2()); } } @@ -23878,26 +26406,26 @@ public final void rule__Case__Group__3__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__Case__Group__3__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group__2__Impl" - // $ANTLR start "rule__OrExpression__Group__0" - // InternalScope.g:7143:1: rule__OrExpression__Group__0 : rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 ; - public final void rule__OrExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group__3" + // InternalScope.g:7356:1: rule__GlobalScopeExpression__Group__3 : rule__GlobalScopeExpression__Group__3__Impl rule__GlobalScopeExpression__Group__4 ; + public final void rule__GlobalScopeExpression__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7147:1: ( rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 ) - // InternalScope.g:7148:2: rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 + // InternalScope.g:7360:1: ( rule__GlobalScopeExpression__Group__3__Impl rule__GlobalScopeExpression__Group__4 ) + // InternalScope.g:7361:2: rule__GlobalScopeExpression__Group__3__Impl rule__GlobalScopeExpression__Group__4 { - pushFollow(FOLLOW_58); - rule__OrExpression__Group__0__Impl(); + pushFollow(FOLLOW_33); + rule__GlobalScopeExpression__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OrExpression__Group__1(); + rule__GlobalScopeExpression__Group__4(); state._fsp--; if (state.failed) return ; @@ -23916,32 +26444,53 @@ public final void rule__OrExpression__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__OrExpression__Group__0" + // $ANTLR end "rule__GlobalScopeExpression__Group__3" - // $ANTLR start "rule__OrExpression__Group__0__Impl" - // InternalScope.g:7155:1: rule__OrExpression__Group__0__Impl : ( ruleAndExpression ) ; - public final void rule__OrExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group__3__Impl" + // InternalScope.g:7368:1: rule__GlobalScopeExpression__Group__3__Impl : ( ( rule__GlobalScopeExpression__Alternatives_3 )? ) ; + public final void rule__GlobalScopeExpression__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7159:1: ( ( ruleAndExpression ) ) - // InternalScope.g:7160:1: ( ruleAndExpression ) + // InternalScope.g:7372:1: ( ( ( rule__GlobalScopeExpression__Alternatives_3 )? ) ) + // InternalScope.g:7373:1: ( ( rule__GlobalScopeExpression__Alternatives_3 )? ) { - // InternalScope.g:7160:1: ( ruleAndExpression ) - // InternalScope.g:7161:2: ruleAndExpression + // InternalScope.g:7373:1: ( ( rule__GlobalScopeExpression__Alternatives_3 )? ) + // InternalScope.g:7374:2: ( rule__GlobalScopeExpression__Alternatives_3 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); + before(grammarAccess.getGlobalScopeExpressionAccess().getAlternatives_3()); + } + // InternalScope.g:7375:2: ( rule__GlobalScopeExpression__Alternatives_3 )? + int alt84=2; + int LA84_0 = input.LA(1); + + if ( (LA84_0==86) ) { + int LA84_1 = input.LA(2); + + if ( ((LA84_1>=88 && LA84_1<=89)||LA84_1==117) ) { + alt84=1; + } + } + switch (alt84) { + case 1 : + // InternalScope.g:7375:3: rule__GlobalScopeExpression__Alternatives_3 + { + pushFollow(FOLLOW_2); + rule__GlobalScopeExpression__Alternatives_3(); + + state._fsp--; + if (state.failed) return ; + + } + break; + } - pushFollow(FOLLOW_2); - ruleAndExpression(); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); + after(grammarAccess.getGlobalScopeExpressionAccess().getAlternatives_3()); } } @@ -23961,21 +26510,26 @@ public final void rule__OrExpression__Group__0__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__OrExpression__Group__0__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group__3__Impl" - // $ANTLR start "rule__OrExpression__Group__1" - // InternalScope.g:7170:1: rule__OrExpression__Group__1 : rule__OrExpression__Group__1__Impl ; - public final void rule__OrExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group__4" + // InternalScope.g:7383:1: rule__GlobalScopeExpression__Group__4 : rule__GlobalScopeExpression__Group__4__Impl rule__GlobalScopeExpression__Group__5 ; + public final void rule__GlobalScopeExpression__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7174:1: ( rule__OrExpression__Group__1__Impl ) - // InternalScope.g:7175:2: rule__OrExpression__Group__1__Impl + // InternalScope.g:7387:1: ( rule__GlobalScopeExpression__Group__4__Impl rule__GlobalScopeExpression__Group__5 ) + // InternalScope.g:7388:2: rule__GlobalScopeExpression__Group__4__Impl rule__GlobalScopeExpression__Group__5 { + pushFollow(FOLLOW_33); + rule__GlobalScopeExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OrExpression__Group__1__Impl(); + rule__GlobalScopeExpression__Group__5(); state._fsp--; if (state.failed) return ; @@ -23994,56 +26548,53 @@ public final void rule__OrExpression__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__OrExpression__Group__1" + // $ANTLR end "rule__GlobalScopeExpression__Group__4" - // $ANTLR start "rule__OrExpression__Group__1__Impl" - // InternalScope.g:7181:1: rule__OrExpression__Group__1__Impl : ( ( rule__OrExpression__Group_1__0 )* ) ; - public final void rule__OrExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group__4__Impl" + // InternalScope.g:7395:1: rule__GlobalScopeExpression__Group__4__Impl : ( ( rule__GlobalScopeExpression__Group_4__0 )? ) ; + public final void rule__GlobalScopeExpression__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7185:1: ( ( ( rule__OrExpression__Group_1__0 )* ) ) - // InternalScope.g:7186:1: ( ( rule__OrExpression__Group_1__0 )* ) + // InternalScope.g:7399:1: ( ( ( rule__GlobalScopeExpression__Group_4__0 )? ) ) + // InternalScope.g:7400:1: ( ( rule__GlobalScopeExpression__Group_4__0 )? ) { - // InternalScope.g:7186:1: ( ( rule__OrExpression__Group_1__0 )* ) - // InternalScope.g:7187:2: ( rule__OrExpression__Group_1__0 )* + // InternalScope.g:7400:1: ( ( rule__GlobalScopeExpression__Group_4__0 )? ) + // InternalScope.g:7401:2: ( rule__GlobalScopeExpression__Group_4__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getGroup_1()); + before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_4()); } - // InternalScope.g:7188:2: ( rule__OrExpression__Group_1__0 )* - loop59: - do { - int alt59=2; - int LA59_0 = input.LA(1); - - if ( (LA59_0==82) ) { - alt59=1; - } + // InternalScope.g:7402:2: ( rule__GlobalScopeExpression__Group_4__0 )? + int alt85=2; + int LA85_0 = input.LA(1); + if ( (LA85_0==86) ) { + int LA85_1 = input.LA(2); - switch (alt59) { - case 1 : - // InternalScope.g:7188:3: rule__OrExpression__Group_1__0 - { - pushFollow(FOLLOW_59); - rule__OrExpression__Group_1__0(); + if ( (LA85_1==90) ) { + alt85=1; + } + } + switch (alt85) { + case 1 : + // InternalScope.g:7402:3: rule__GlobalScopeExpression__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__GlobalScopeExpression__Group_4__0(); - state._fsp--; - if (state.failed) return ; + state._fsp--; + if (state.failed) return ; - } - break; + } + break; - default : - break loop59; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getGroup_1()); + after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_4()); } } @@ -24063,26 +26614,26 @@ public final void rule__OrExpression__Group__1__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__OrExpression__Group__1__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group__4__Impl" - // $ANTLR start "rule__OrExpression__Group_1__0" - // InternalScope.g:7197:1: rule__OrExpression__Group_1__0 : rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 ; - public final void rule__OrExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group__5" + // InternalScope.g:7410:1: rule__GlobalScopeExpression__Group__5 : rule__GlobalScopeExpression__Group__5__Impl rule__GlobalScopeExpression__Group__6 ; + public final void rule__GlobalScopeExpression__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7201:1: ( rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 ) - // InternalScope.g:7202:2: rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 + // InternalScope.g:7414:1: ( rule__GlobalScopeExpression__Group__5__Impl rule__GlobalScopeExpression__Group__6 ) + // InternalScope.g:7415:2: rule__GlobalScopeExpression__Group__5__Impl rule__GlobalScopeExpression__Group__6 { - pushFollow(FOLLOW_58); - rule__OrExpression__Group_1__0__Impl(); + pushFollow(FOLLOW_33); + rule__GlobalScopeExpression__Group__5__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OrExpression__Group_1__1(); + rule__GlobalScopeExpression__Group__6(); state._fsp--; if (state.failed) return ; @@ -24101,40 +26652,61 @@ public final void rule__OrExpression__Group_1__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__OrExpression__Group_1__0" + // $ANTLR end "rule__GlobalScopeExpression__Group__5" - // $ANTLR start "rule__OrExpression__Group_1__0__Impl" - // InternalScope.g:7209:1: rule__OrExpression__Group_1__0__Impl : ( () ) ; - public final void rule__OrExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group__5__Impl" + // InternalScope.g:7422:1: rule__GlobalScopeExpression__Group__5__Impl : ( ( rule__GlobalScopeExpression__Group_5__0 )? ) ; + public final void rule__GlobalScopeExpression__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7213:1: ( ( () ) ) - // InternalScope.g:7214:1: ( () ) + // InternalScope.g:7426:1: ( ( ( rule__GlobalScopeExpression__Group_5__0 )? ) ) + // InternalScope.g:7427:1: ( ( rule__GlobalScopeExpression__Group_5__0 )? ) { - // InternalScope.g:7214:1: ( () ) - // InternalScope.g:7215:2: () + // InternalScope.g:7427:1: ( ( rule__GlobalScopeExpression__Group_5__0 )? ) + // InternalScope.g:7428:2: ( rule__GlobalScopeExpression__Group_5__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); - } - // InternalScope.g:7216:2: () - // InternalScope.g:7216:3: - { + before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5()); } + // InternalScope.g:7429:2: ( rule__GlobalScopeExpression__Group_5__0 )? + int alt86=2; + int LA86_0 = input.LA(1); - if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); + if ( (LA86_0==86) ) { + alt86=1; } + switch (alt86) { + case 1 : + // InternalScope.g:7429:3: rule__GlobalScopeExpression__Group_5__0 + { + pushFollow(FOLLOW_2); + rule__GlobalScopeExpression__Group_5__0(); - } + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5()); + } + + } } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -24142,26 +26714,21 @@ public final void rule__OrExpression__Group_1__0__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__OrExpression__Group_1__0__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group__5__Impl" - // $ANTLR start "rule__OrExpression__Group_1__1" - // InternalScope.g:7224:1: rule__OrExpression__Group_1__1 : rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 ; - public final void rule__OrExpression__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group__6" + // InternalScope.g:7437:1: rule__GlobalScopeExpression__Group__6 : rule__GlobalScopeExpression__Group__6__Impl ; + public final void rule__GlobalScopeExpression__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7228:1: ( rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 ) - // InternalScope.g:7229:2: rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 + // InternalScope.g:7441:1: ( rule__GlobalScopeExpression__Group__6__Impl ) + // InternalScope.g:7442:2: rule__GlobalScopeExpression__Group__6__Impl { - pushFollow(FOLLOW_57); - rule__OrExpression__Group_1__1__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OrExpression__Group_1__2(); + rule__GlobalScopeExpression__Group__6__Impl(); state._fsp--; if (state.failed) return ; @@ -24180,38 +26747,28 @@ public final void rule__OrExpression__Group_1__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__OrExpression__Group_1__1" + // $ANTLR end "rule__GlobalScopeExpression__Group__6" - // $ANTLR start "rule__OrExpression__Group_1__1__Impl" - // InternalScope.g:7236:1: rule__OrExpression__Group_1__1__Impl : ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) ; - public final void rule__OrExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group__6__Impl" + // InternalScope.g:7448:1: rule__GlobalScopeExpression__Group__6__Impl : ( ')' ) ; + public final void rule__GlobalScopeExpression__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7240:1: ( ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) ) - // InternalScope.g:7241:1: ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) + // InternalScope.g:7452:1: ( ( ')' ) ) + // InternalScope.g:7453:1: ( ')' ) { - // InternalScope.g:7241:1: ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) - // InternalScope.g:7242:2: ( rule__OrExpression__OperatorAssignment_1_1 ) + // InternalScope.g:7453:1: ( ')' ) + // InternalScope.g:7454:2: ')' { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); - } - // InternalScope.g:7243:2: ( rule__OrExpression__OperatorAssignment_1_1 ) - // InternalScope.g:7243:3: rule__OrExpression__OperatorAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__OrExpression__OperatorAssignment_1_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_6()); } - + match(input,78,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); + after(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_6()); } } @@ -24231,21 +26788,26 @@ public final void rule__OrExpression__Group_1__1__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__OrExpression__Group_1__1__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group__6__Impl" - // $ANTLR start "rule__OrExpression__Group_1__2" - // InternalScope.g:7251:1: rule__OrExpression__Group_1__2 : rule__OrExpression__Group_1__2__Impl ; - public final void rule__OrExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_0__0" + // InternalScope.g:7464:1: rule__GlobalScopeExpression__Group_3_0__0 : rule__GlobalScopeExpression__Group_3_0__0__Impl rule__GlobalScopeExpression__Group_3_0__1 ; + public final void rule__GlobalScopeExpression__Group_3_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7255:1: ( rule__OrExpression__Group_1__2__Impl ) - // InternalScope.g:7256:2: rule__OrExpression__Group_1__2__Impl + // InternalScope.g:7468:1: ( rule__GlobalScopeExpression__Group_3_0__0__Impl rule__GlobalScopeExpression__Group_3_0__1 ) + // InternalScope.g:7469:2: rule__GlobalScopeExpression__Group_3_0__0__Impl rule__GlobalScopeExpression__Group_3_0__1 { + pushFollow(FOLLOW_35); + rule__GlobalScopeExpression__Group_3_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OrExpression__Group_1__2__Impl(); + rule__GlobalScopeExpression__Group_3_0__1(); state._fsp--; if (state.failed) return ; @@ -24264,38 +26826,28 @@ public final void rule__OrExpression__Group_1__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__OrExpression__Group_1__2" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_0__0" - // $ANTLR start "rule__OrExpression__Group_1__2__Impl" - // InternalScope.g:7262:1: rule__OrExpression__Group_1__2__Impl : ( ( rule__OrExpression__RightAssignment_1_2 ) ) ; - public final void rule__OrExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_0__0__Impl" + // InternalScope.g:7476:1: rule__GlobalScopeExpression__Group_3_0__0__Impl : ( ',' ) ; + public final void rule__GlobalScopeExpression__Group_3_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7266:1: ( ( ( rule__OrExpression__RightAssignment_1_2 ) ) ) - // InternalScope.g:7267:1: ( ( rule__OrExpression__RightAssignment_1_2 ) ) + // InternalScope.g:7480:1: ( ( ',' ) ) + // InternalScope.g:7481:1: ( ',' ) { - // InternalScope.g:7267:1: ( ( rule__OrExpression__RightAssignment_1_2 ) ) - // InternalScope.g:7268:2: ( rule__OrExpression__RightAssignment_1_2 ) + // InternalScope.g:7481:1: ( ',' ) + // InternalScope.g:7482:2: ',' { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); - } - // InternalScope.g:7269:2: ( rule__OrExpression__RightAssignment_1_2 ) - // InternalScope.g:7269:3: rule__OrExpression__RightAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__OrExpression__RightAssignment_1_2(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_0_0()); } - + match(input,86,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); + after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_0_0()); } } @@ -24315,26 +26867,26 @@ public final void rule__OrExpression__Group_1__2__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__OrExpression__Group_1__2__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_0__0__Impl" - // $ANTLR start "rule__AndExpression__Group__0" - // InternalScope.g:7278:1: rule__AndExpression__Group__0 : rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 ; - public final void rule__AndExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_0__1" + // InternalScope.g:7491:1: rule__GlobalScopeExpression__Group_3_0__1 : rule__GlobalScopeExpression__Group_3_0__1__Impl rule__GlobalScopeExpression__Group_3_0__2 ; + public final void rule__GlobalScopeExpression__Group_3_0__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7282:1: ( rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 ) - // InternalScope.g:7283:2: rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 + // InternalScope.g:7495:1: ( rule__GlobalScopeExpression__Group_3_0__1__Impl rule__GlobalScopeExpression__Group_3_0__2 ) + // InternalScope.g:7496:2: rule__GlobalScopeExpression__Group_3_0__1__Impl rule__GlobalScopeExpression__Group_3_0__2 { - pushFollow(FOLLOW_60); - rule__AndExpression__Group__0__Impl(); + pushFollow(FOLLOW_16); + rule__GlobalScopeExpression__Group_3_0__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AndExpression__Group__1(); + rule__GlobalScopeExpression__Group_3_0__2(); state._fsp--; if (state.failed) return ; @@ -24353,32 +26905,28 @@ public final void rule__AndExpression__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__AndExpression__Group__0" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_0__1" - // $ANTLR start "rule__AndExpression__Group__0__Impl" - // InternalScope.g:7290:1: rule__AndExpression__Group__0__Impl : ( ruleImpliesExpression ) ; - public final void rule__AndExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_0__1__Impl" + // InternalScope.g:7503:1: rule__GlobalScopeExpression__Group_3_0__1__Impl : ( 'key' ) ; + public final void rule__GlobalScopeExpression__Group_3_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7294:1: ( ( ruleImpliesExpression ) ) - // InternalScope.g:7295:1: ( ruleImpliesExpression ) + // InternalScope.g:7507:1: ( ( 'key' ) ) + // InternalScope.g:7508:1: ( 'key' ) { - // InternalScope.g:7295:1: ( ruleImpliesExpression ) - // InternalScope.g:7296:2: ruleImpliesExpression + // InternalScope.g:7508:1: ( 'key' ) + // InternalScope.g:7509:2: 'key' { if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); + before(grammarAccess.getGlobalScopeExpressionAccess().getKeyKeyword_3_0_1()); } - pushFollow(FOLLOW_2); - ruleImpliesExpression(); - - state._fsp--; - if (state.failed) return ; + match(input,88,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); + after(grammarAccess.getGlobalScopeExpressionAccess().getKeyKeyword_3_0_1()); } } @@ -24398,21 +26946,26 @@ public final void rule__AndExpression__Group__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__AndExpression__Group__0__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_0__1__Impl" - // $ANTLR start "rule__AndExpression__Group__1" - // InternalScope.g:7305:1: rule__AndExpression__Group__1 : rule__AndExpression__Group__1__Impl ; - public final void rule__AndExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_0__2" + // InternalScope.g:7518:1: rule__GlobalScopeExpression__Group_3_0__2 : rule__GlobalScopeExpression__Group_3_0__2__Impl rule__GlobalScopeExpression__Group_3_0__3 ; + public final void rule__GlobalScopeExpression__Group_3_0__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7309:1: ( rule__AndExpression__Group__1__Impl ) - // InternalScope.g:7310:2: rule__AndExpression__Group__1__Impl + // InternalScope.g:7522:1: ( rule__GlobalScopeExpression__Group_3_0__2__Impl rule__GlobalScopeExpression__Group_3_0__3 ) + // InternalScope.g:7523:2: rule__GlobalScopeExpression__Group_3_0__2__Impl rule__GlobalScopeExpression__Group_3_0__3 { + pushFollow(FOLLOW_17); + rule__GlobalScopeExpression__Group_3_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AndExpression__Group__1__Impl(); + rule__GlobalScopeExpression__Group_3_0__3(); state._fsp--; if (state.failed) return ; @@ -24431,56 +26984,28 @@ public final void rule__AndExpression__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__AndExpression__Group__1" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_0__2" - // $ANTLR start "rule__AndExpression__Group__1__Impl" - // InternalScope.g:7316:1: rule__AndExpression__Group__1__Impl : ( ( rule__AndExpression__Group_1__0 )* ) ; - public final void rule__AndExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_0__2__Impl" + // InternalScope.g:7530:1: rule__GlobalScopeExpression__Group_3_0__2__Impl : ( '=' ) ; + public final void rule__GlobalScopeExpression__Group_3_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7320:1: ( ( ( rule__AndExpression__Group_1__0 )* ) ) - // InternalScope.g:7321:1: ( ( rule__AndExpression__Group_1__0 )* ) + // InternalScope.g:7534:1: ( ( '=' ) ) + // InternalScope.g:7535:1: ( '=' ) { - // InternalScope.g:7321:1: ( ( rule__AndExpression__Group_1__0 )* ) - // InternalScope.g:7322:2: ( rule__AndExpression__Group_1__0 )* + // InternalScope.g:7535:1: ( '=' ) + // InternalScope.g:7536:2: '=' { if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getGroup_1()); + before(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_0_2()); } - // InternalScope.g:7323:2: ( rule__AndExpression__Group_1__0 )* - loop60: - do { - int alt60=2; - int LA60_0 = input.LA(1); - - if ( (LA60_0==83) ) { - alt60=1; - } - - - switch (alt60) { - case 1 : - // InternalScope.g:7323:3: rule__AndExpression__Group_1__0 - { - pushFollow(FOLLOW_61); - rule__AndExpression__Group_1__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop60; - } - } while (true); - + match(input,14,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getGroup_1()); + after(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_0_2()); } } @@ -24500,26 +27025,21 @@ public final void rule__AndExpression__Group__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__AndExpression__Group__1__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_0__2__Impl" - // $ANTLR start "rule__AndExpression__Group_1__0" - // InternalScope.g:7332:1: rule__AndExpression__Group_1__0 : rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 ; - public final void rule__AndExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_0__3" + // InternalScope.g:7545:1: rule__GlobalScopeExpression__Group_3_0__3 : rule__GlobalScopeExpression__Group_3_0__3__Impl ; + public final void rule__GlobalScopeExpression__Group_3_0__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7336:1: ( rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 ) - // InternalScope.g:7337:2: rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 + // InternalScope.g:7549:1: ( rule__GlobalScopeExpression__Group_3_0__3__Impl ) + // InternalScope.g:7550:2: rule__GlobalScopeExpression__Group_3_0__3__Impl { - pushFollow(FOLLOW_60); - rule__AndExpression__Group_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AndExpression__Group_1__1(); + rule__GlobalScopeExpression__Group_3_0__3__Impl(); state._fsp--; if (state.failed) return ; @@ -24538,32 +27058,38 @@ public final void rule__AndExpression__Group_1__0() throws RecognitionException } return ; } - // $ANTLR end "rule__AndExpression__Group_1__0" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_0__3" - // $ANTLR start "rule__AndExpression__Group_1__0__Impl" - // InternalScope.g:7344:1: rule__AndExpression__Group_1__0__Impl : ( () ) ; - public final void rule__AndExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_0__3__Impl" + // InternalScope.g:7556:1: rule__GlobalScopeExpression__Group_3_0__3__Impl : ( ( rule__GlobalScopeExpression__NameAssignment_3_0_3 ) ) ; + public final void rule__GlobalScopeExpression__Group_3_0__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7348:1: ( ( () ) ) - // InternalScope.g:7349:1: ( () ) + // InternalScope.g:7560:1: ( ( ( rule__GlobalScopeExpression__NameAssignment_3_0_3 ) ) ) + // InternalScope.g:7561:1: ( ( rule__GlobalScopeExpression__NameAssignment_3_0_3 ) ) { - // InternalScope.g:7349:1: ( () ) - // InternalScope.g:7350:2: () + // InternalScope.g:7561:1: ( ( rule__GlobalScopeExpression__NameAssignment_3_0_3 ) ) + // InternalScope.g:7562:2: ( rule__GlobalScopeExpression__NameAssignment_3_0_3 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); + before(grammarAccess.getGlobalScopeExpressionAccess().getNameAssignment_3_0_3()); } - // InternalScope.g:7351:2: () - // InternalScope.g:7351:3: + // InternalScope.g:7563:2: ( rule__GlobalScopeExpression__NameAssignment_3_0_3 ) + // InternalScope.g:7563:3: rule__GlobalScopeExpression__NameAssignment_3_0_3 { + pushFollow(FOLLOW_2); + rule__GlobalScopeExpression__NameAssignment_3_0_3(); + + state._fsp--; + if (state.failed) return ; + } if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); + after(grammarAccess.getGlobalScopeExpressionAccess().getNameAssignment_3_0_3()); } } @@ -24572,6 +27098,10 @@ public final void rule__AndExpression__Group_1__0__Impl() throws RecognitionExce } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -24579,26 +27109,26 @@ public final void rule__AndExpression__Group_1__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__AndExpression__Group_1__0__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_0__3__Impl" - // $ANTLR start "rule__AndExpression__Group_1__1" - // InternalScope.g:7359:1: rule__AndExpression__Group_1__1 : rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 ; - public final void rule__AndExpression__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__0" + // InternalScope.g:7572:1: rule__GlobalScopeExpression__Group_3_1__0 : rule__GlobalScopeExpression__Group_3_1__0__Impl rule__GlobalScopeExpression__Group_3_1__1 ; + public final void rule__GlobalScopeExpression__Group_3_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7363:1: ( rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 ) - // InternalScope.g:7364:2: rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 + // InternalScope.g:7576:1: ( rule__GlobalScopeExpression__Group_3_1__0__Impl rule__GlobalScopeExpression__Group_3_1__1 ) + // InternalScope.g:7577:2: rule__GlobalScopeExpression__Group_3_1__0__Impl rule__GlobalScopeExpression__Group_3_1__1 { - pushFollow(FOLLOW_57); - rule__AndExpression__Group_1__1__Impl(); + pushFollow(FOLLOW_36); + rule__GlobalScopeExpression__Group_3_1__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AndExpression__Group_1__2(); + rule__GlobalScopeExpression__Group_3_1__1(); state._fsp--; if (state.failed) return ; @@ -24617,38 +27147,28 @@ public final void rule__AndExpression__Group_1__1() throws RecognitionException } return ; } - // $ANTLR end "rule__AndExpression__Group_1__1" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__0" - // $ANTLR start "rule__AndExpression__Group_1__1__Impl" - // InternalScope.g:7371:1: rule__AndExpression__Group_1__1__Impl : ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) ; - public final void rule__AndExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__0__Impl" + // InternalScope.g:7584:1: rule__GlobalScopeExpression__Group_3_1__0__Impl : ( ',' ) ; + public final void rule__GlobalScopeExpression__Group_3_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7375:1: ( ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) ) - // InternalScope.g:7376:1: ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) + // InternalScope.g:7588:1: ( ( ',' ) ) + // InternalScope.g:7589:1: ( ',' ) { - // InternalScope.g:7376:1: ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) - // InternalScope.g:7377:2: ( rule__AndExpression__OperatorAssignment_1_1 ) + // InternalScope.g:7589:1: ( ',' ) + // InternalScope.g:7590:2: ',' { if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); - } - // InternalScope.g:7378:2: ( rule__AndExpression__OperatorAssignment_1_1 ) - // InternalScope.g:7378:3: rule__AndExpression__OperatorAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__AndExpression__OperatorAssignment_1_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_1_0()); } - + match(input,86,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); + after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_1_0()); } } @@ -24668,21 +27188,26 @@ public final void rule__AndExpression__Group_1__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__AndExpression__Group_1__1__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__0__Impl" - // $ANTLR start "rule__AndExpression__Group_1__2" - // InternalScope.g:7386:1: rule__AndExpression__Group_1__2 : rule__AndExpression__Group_1__2__Impl ; - public final void rule__AndExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__1" + // InternalScope.g:7599:1: rule__GlobalScopeExpression__Group_3_1__1 : rule__GlobalScopeExpression__Group_3_1__1__Impl rule__GlobalScopeExpression__Group_3_1__2 ; + public final void rule__GlobalScopeExpression__Group_3_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7390:1: ( rule__AndExpression__Group_1__2__Impl ) - // InternalScope.g:7391:2: rule__AndExpression__Group_1__2__Impl + // InternalScope.g:7603:1: ( rule__GlobalScopeExpression__Group_3_1__1__Impl rule__GlobalScopeExpression__Group_3_1__2 ) + // InternalScope.g:7604:2: rule__GlobalScopeExpression__Group_3_1__1__Impl rule__GlobalScopeExpression__Group_3_1__2 { + pushFollow(FOLLOW_36); + rule__GlobalScopeExpression__Group_3_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AndExpression__Group_1__2__Impl(); + rule__GlobalScopeExpression__Group_3_1__2(); state._fsp--; if (state.failed) return ; @@ -24701,38 +27226,49 @@ public final void rule__AndExpression__Group_1__2() throws RecognitionException } return ; } - // $ANTLR end "rule__AndExpression__Group_1__2" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__1" - // $ANTLR start "rule__AndExpression__Group_1__2__Impl" - // InternalScope.g:7397:1: rule__AndExpression__Group_1__2__Impl : ( ( rule__AndExpression__RightAssignment_1_2 ) ) ; - public final void rule__AndExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__1__Impl" + // InternalScope.g:7611:1: rule__GlobalScopeExpression__Group_3_1__1__Impl : ( ( rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 )? ) ; + public final void rule__GlobalScopeExpression__Group_3_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7401:1: ( ( ( rule__AndExpression__RightAssignment_1_2 ) ) ) - // InternalScope.g:7402:1: ( ( rule__AndExpression__RightAssignment_1_2 ) ) + // InternalScope.g:7615:1: ( ( ( rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 )? ) ) + // InternalScope.g:7616:1: ( ( rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 )? ) { - // InternalScope.g:7402:1: ( ( rule__AndExpression__RightAssignment_1_2 ) ) - // InternalScope.g:7403:2: ( rule__AndExpression__RightAssignment_1_2 ) + // InternalScope.g:7616:1: ( ( rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 )? ) + // InternalScope.g:7617:2: ( rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); + before(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixAssignment_3_1_1()); } - // InternalScope.g:7404:2: ( rule__AndExpression__RightAssignment_1_2 ) - // InternalScope.g:7404:3: rule__AndExpression__RightAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__AndExpression__RightAssignment_1_2(); + // InternalScope.g:7618:2: ( rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 )? + int alt87=2; + int LA87_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA87_0==117) ) { + alt87=1; + } + switch (alt87) { + case 1 : + // InternalScope.g:7618:3: rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 + { + pushFollow(FOLLOW_2); + rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; } if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); + after(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixAssignment_3_1_1()); } } @@ -24752,26 +27288,26 @@ public final void rule__AndExpression__Group_1__2__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__AndExpression__Group_1__2__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__1__Impl" - // $ANTLR start "rule__ImpliesExpression__Group__0" - // InternalScope.g:7413:1: rule__ImpliesExpression__Group__0 : rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 ; - public final void rule__ImpliesExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__2" + // InternalScope.g:7626:1: rule__GlobalScopeExpression__Group_3_1__2 : rule__GlobalScopeExpression__Group_3_1__2__Impl rule__GlobalScopeExpression__Group_3_1__3 ; + public final void rule__GlobalScopeExpression__Group_3_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7417:1: ( rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 ) - // InternalScope.g:7418:2: rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 + // InternalScope.g:7630:1: ( rule__GlobalScopeExpression__Group_3_1__2__Impl rule__GlobalScopeExpression__Group_3_1__3 ) + // InternalScope.g:7631:2: rule__GlobalScopeExpression__Group_3_1__2__Impl rule__GlobalScopeExpression__Group_3_1__3 { - pushFollow(FOLLOW_62); - rule__ImpliesExpression__Group__0__Impl(); + pushFollow(FOLLOW_16); + rule__GlobalScopeExpression__Group_3_1__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ImpliesExpression__Group__1(); + rule__GlobalScopeExpression__Group_3_1__3(); state._fsp--; if (state.failed) return ; @@ -24790,32 +27326,28 @@ public final void rule__ImpliesExpression__Group__0() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ImpliesExpression__Group__0" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__2" - // $ANTLR start "rule__ImpliesExpression__Group__0__Impl" - // InternalScope.g:7425:1: rule__ImpliesExpression__Group__0__Impl : ( ruleRelationalExpression ) ; - public final void rule__ImpliesExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__2__Impl" + // InternalScope.g:7638:1: rule__GlobalScopeExpression__Group_3_1__2__Impl : ( 'prefix' ) ; + public final void rule__GlobalScopeExpression__Group_3_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7429:1: ( ( ruleRelationalExpression ) ) - // InternalScope.g:7430:1: ( ruleRelationalExpression ) + // InternalScope.g:7642:1: ( ( 'prefix' ) ) + // InternalScope.g:7643:1: ( 'prefix' ) { - // InternalScope.g:7430:1: ( ruleRelationalExpression ) - // InternalScope.g:7431:2: ruleRelationalExpression + // InternalScope.g:7643:1: ( 'prefix' ) + // InternalScope.g:7644:2: 'prefix' { if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); + before(grammarAccess.getGlobalScopeExpressionAccess().getPrefixKeyword_3_1_2()); } - pushFollow(FOLLOW_2); - ruleRelationalExpression(); - - state._fsp--; - if (state.failed) return ; + match(input,89,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); + after(grammarAccess.getGlobalScopeExpressionAccess().getPrefixKeyword_3_1_2()); } } @@ -24835,21 +27367,26 @@ public final void rule__ImpliesExpression__Group__0__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ImpliesExpression__Group__0__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__2__Impl" - // $ANTLR start "rule__ImpliesExpression__Group__1" - // InternalScope.g:7440:1: rule__ImpliesExpression__Group__1 : rule__ImpliesExpression__Group__1__Impl ; - public final void rule__ImpliesExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__3" + // InternalScope.g:7653:1: rule__GlobalScopeExpression__Group_3_1__3 : rule__GlobalScopeExpression__Group_3_1__3__Impl rule__GlobalScopeExpression__Group_3_1__4 ; + public final void rule__GlobalScopeExpression__Group_3_1__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7444:1: ( rule__ImpliesExpression__Group__1__Impl ) - // InternalScope.g:7445:2: rule__ImpliesExpression__Group__1__Impl + // InternalScope.g:7657:1: ( rule__GlobalScopeExpression__Group_3_1__3__Impl rule__GlobalScopeExpression__Group_3_1__4 ) + // InternalScope.g:7658:2: rule__GlobalScopeExpression__Group_3_1__3__Impl rule__GlobalScopeExpression__Group_3_1__4 { + pushFollow(FOLLOW_17); + rule__GlobalScopeExpression__Group_3_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ImpliesExpression__Group__1__Impl(); + rule__GlobalScopeExpression__Group_3_1__4(); state._fsp--; if (state.failed) return ; @@ -24868,56 +27405,28 @@ public final void rule__ImpliesExpression__Group__1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ImpliesExpression__Group__1" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__3" - // $ANTLR start "rule__ImpliesExpression__Group__1__Impl" - // InternalScope.g:7451:1: rule__ImpliesExpression__Group__1__Impl : ( ( rule__ImpliesExpression__Group_1__0 )* ) ; - public final void rule__ImpliesExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__3__Impl" + // InternalScope.g:7665:1: rule__GlobalScopeExpression__Group_3_1__3__Impl : ( '=' ) ; + public final void rule__GlobalScopeExpression__Group_3_1__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7455:1: ( ( ( rule__ImpliesExpression__Group_1__0 )* ) ) - // InternalScope.g:7456:1: ( ( rule__ImpliesExpression__Group_1__0 )* ) + // InternalScope.g:7669:1: ( ( '=' ) ) + // InternalScope.g:7670:1: ( '=' ) { - // InternalScope.g:7456:1: ( ( rule__ImpliesExpression__Group_1__0 )* ) - // InternalScope.g:7457:2: ( rule__ImpliesExpression__Group_1__0 )* + // InternalScope.g:7670:1: ( '=' ) + // InternalScope.g:7671:2: '=' { if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getGroup_1()); + before(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_1_3()); } - // InternalScope.g:7458:2: ( rule__ImpliesExpression__Group_1__0 )* - loop61: - do { - int alt61=2; - int LA61_0 = input.LA(1); - - if ( (LA61_0==84) ) { - alt61=1; - } - - - switch (alt61) { - case 1 : - // InternalScope.g:7458:3: rule__ImpliesExpression__Group_1__0 - { - pushFollow(FOLLOW_63); - rule__ImpliesExpression__Group_1__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop61; - } - } while (true); - + match(input,14,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getGroup_1()); + after(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_1_3()); } } @@ -24937,26 +27446,21 @@ public final void rule__ImpliesExpression__Group__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ImpliesExpression__Group__1__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__3__Impl" - // $ANTLR start "rule__ImpliesExpression__Group_1__0" - // InternalScope.g:7467:1: rule__ImpliesExpression__Group_1__0 : rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 ; - public final void rule__ImpliesExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__4" + // InternalScope.g:7680:1: rule__GlobalScopeExpression__Group_3_1__4 : rule__GlobalScopeExpression__Group_3_1__4__Impl ; + public final void rule__GlobalScopeExpression__Group_3_1__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7471:1: ( rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 ) - // InternalScope.g:7472:2: rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 + // InternalScope.g:7684:1: ( rule__GlobalScopeExpression__Group_3_1__4__Impl ) + // InternalScope.g:7685:2: rule__GlobalScopeExpression__Group_3_1__4__Impl { - pushFollow(FOLLOW_62); - rule__ImpliesExpression__Group_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ImpliesExpression__Group_1__1(); + rule__GlobalScopeExpression__Group_3_1__4__Impl(); state._fsp--; if (state.failed) return ; @@ -24975,32 +27479,38 @@ public final void rule__ImpliesExpression__Group_1__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ImpliesExpression__Group_1__0" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__4" - // $ANTLR start "rule__ImpliesExpression__Group_1__0__Impl" - // InternalScope.g:7479:1: rule__ImpliesExpression__Group_1__0__Impl : ( () ) ; - public final void rule__ImpliesExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_3_1__4__Impl" + // InternalScope.g:7691:1: rule__GlobalScopeExpression__Group_3_1__4__Impl : ( ( rule__GlobalScopeExpression__PrefixAssignment_3_1_4 ) ) ; + public final void rule__GlobalScopeExpression__Group_3_1__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7483:1: ( ( () ) ) - // InternalScope.g:7484:1: ( () ) + // InternalScope.g:7695:1: ( ( ( rule__GlobalScopeExpression__PrefixAssignment_3_1_4 ) ) ) + // InternalScope.g:7696:1: ( ( rule__GlobalScopeExpression__PrefixAssignment_3_1_4 ) ) { - // InternalScope.g:7484:1: ( () ) - // InternalScope.g:7485:2: () + // InternalScope.g:7696:1: ( ( rule__GlobalScopeExpression__PrefixAssignment_3_1_4 ) ) + // InternalScope.g:7697:2: ( rule__GlobalScopeExpression__PrefixAssignment_3_1_4 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); + before(grammarAccess.getGlobalScopeExpressionAccess().getPrefixAssignment_3_1_4()); } - // InternalScope.g:7486:2: () - // InternalScope.g:7486:3: + // InternalScope.g:7698:2: ( rule__GlobalScopeExpression__PrefixAssignment_3_1_4 ) + // InternalScope.g:7698:3: rule__GlobalScopeExpression__PrefixAssignment_3_1_4 { + pushFollow(FOLLOW_2); + rule__GlobalScopeExpression__PrefixAssignment_3_1_4(); + + state._fsp--; + if (state.failed) return ; + } if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); + after(grammarAccess.getGlobalScopeExpressionAccess().getPrefixAssignment_3_1_4()); } } @@ -25009,6 +27519,10 @@ public final void rule__ImpliesExpression__Group_1__0__Impl() throws Recognition } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -25016,26 +27530,26 @@ public final void rule__ImpliesExpression__Group_1__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__ImpliesExpression__Group_1__0__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_3_1__4__Impl" - // $ANTLR start "rule__ImpliesExpression__Group_1__1" - // InternalScope.g:7494:1: rule__ImpliesExpression__Group_1__1 : rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 ; - public final void rule__ImpliesExpression__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_4__0" + // InternalScope.g:7707:1: rule__GlobalScopeExpression__Group_4__0 : rule__GlobalScopeExpression__Group_4__0__Impl rule__GlobalScopeExpression__Group_4__1 ; + public final void rule__GlobalScopeExpression__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7498:1: ( rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 ) - // InternalScope.g:7499:2: rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 + // InternalScope.g:7711:1: ( rule__GlobalScopeExpression__Group_4__0__Impl rule__GlobalScopeExpression__Group_4__1 ) + // InternalScope.g:7712:2: rule__GlobalScopeExpression__Group_4__0__Impl rule__GlobalScopeExpression__Group_4__1 { - pushFollow(FOLLOW_57); - rule__ImpliesExpression__Group_1__1__Impl(); + pushFollow(FOLLOW_37); + rule__GlobalScopeExpression__Group_4__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ImpliesExpression__Group_1__2(); + rule__GlobalScopeExpression__Group_4__1(); state._fsp--; if (state.failed) return ; @@ -25054,38 +27568,28 @@ public final void rule__ImpliesExpression__Group_1__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ImpliesExpression__Group_1__1" + // $ANTLR end "rule__GlobalScopeExpression__Group_4__0" - // $ANTLR start "rule__ImpliesExpression__Group_1__1__Impl" - // InternalScope.g:7506:1: rule__ImpliesExpression__Group_1__1__Impl : ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) ; - public final void rule__ImpliesExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_4__0__Impl" + // InternalScope.g:7719:1: rule__GlobalScopeExpression__Group_4__0__Impl : ( ',' ) ; + public final void rule__GlobalScopeExpression__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7510:1: ( ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) ) - // InternalScope.g:7511:1: ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) + // InternalScope.g:7723:1: ( ( ',' ) ) + // InternalScope.g:7724:1: ( ',' ) { - // InternalScope.g:7511:1: ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) - // InternalScope.g:7512:2: ( rule__ImpliesExpression__OperatorAssignment_1_1 ) + // InternalScope.g:7724:1: ( ',' ) + // InternalScope.g:7725:2: ',' { if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); - } - // InternalScope.g:7513:2: ( rule__ImpliesExpression__OperatorAssignment_1_1 ) - // InternalScope.g:7513:3: rule__ImpliesExpression__OperatorAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__ImpliesExpression__OperatorAssignment_1_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_0()); } - + match(input,86,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); + after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_0()); } } @@ -25105,21 +27609,26 @@ public final void rule__ImpliesExpression__Group_1__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__ImpliesExpression__Group_1__1__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_4__0__Impl" - // $ANTLR start "rule__ImpliesExpression__Group_1__2" - // InternalScope.g:7521:1: rule__ImpliesExpression__Group_1__2 : rule__ImpliesExpression__Group_1__2__Impl ; - public final void rule__ImpliesExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_4__1" + // InternalScope.g:7734:1: rule__GlobalScopeExpression__Group_4__1 : rule__GlobalScopeExpression__Group_4__1__Impl rule__GlobalScopeExpression__Group_4__2 ; + public final void rule__GlobalScopeExpression__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7525:1: ( rule__ImpliesExpression__Group_1__2__Impl ) - // InternalScope.g:7526:2: rule__ImpliesExpression__Group_1__2__Impl + // InternalScope.g:7738:1: ( rule__GlobalScopeExpression__Group_4__1__Impl rule__GlobalScopeExpression__Group_4__2 ) + // InternalScope.g:7739:2: rule__GlobalScopeExpression__Group_4__1__Impl rule__GlobalScopeExpression__Group_4__2 { + pushFollow(FOLLOW_16); + rule__GlobalScopeExpression__Group_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ImpliesExpression__Group_1__2__Impl(); + rule__GlobalScopeExpression__Group_4__2(); state._fsp--; if (state.failed) return ; @@ -25138,38 +27647,28 @@ public final void rule__ImpliesExpression__Group_1__2() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ImpliesExpression__Group_1__2" + // $ANTLR end "rule__GlobalScopeExpression__Group_4__1" - // $ANTLR start "rule__ImpliesExpression__Group_1__2__Impl" - // InternalScope.g:7532:1: rule__ImpliesExpression__Group_1__2__Impl : ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) ; - public final void rule__ImpliesExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_4__1__Impl" + // InternalScope.g:7746:1: rule__GlobalScopeExpression__Group_4__1__Impl : ( 'data' ) ; + public final void rule__GlobalScopeExpression__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7536:1: ( ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) ) - // InternalScope.g:7537:1: ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) + // InternalScope.g:7750:1: ( ( 'data' ) ) + // InternalScope.g:7751:1: ( 'data' ) { - // InternalScope.g:7537:1: ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) - // InternalScope.g:7538:2: ( rule__ImpliesExpression__RightAssignment_1_2 ) + // InternalScope.g:7751:1: ( 'data' ) + // InternalScope.g:7752:2: 'data' { if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); - } - // InternalScope.g:7539:2: ( rule__ImpliesExpression__RightAssignment_1_2 ) - // InternalScope.g:7539:3: rule__ImpliesExpression__RightAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__ImpliesExpression__RightAssignment_1_2(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getGlobalScopeExpressionAccess().getDataKeyword_4_1()); } - + match(input,90,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); + after(grammarAccess.getGlobalScopeExpressionAccess().getDataKeyword_4_1()); } } @@ -25189,26 +27688,26 @@ public final void rule__ImpliesExpression__Group_1__2__Impl() throws Recognition } return ; } - // $ANTLR end "rule__ImpliesExpression__Group_1__2__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_4__1__Impl" - // $ANTLR start "rule__RelationalExpression__Group__0" - // InternalScope.g:7548:1: rule__RelationalExpression__Group__0 : rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 ; - public final void rule__RelationalExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_4__2" + // InternalScope.g:7761:1: rule__GlobalScopeExpression__Group_4__2 : rule__GlobalScopeExpression__Group_4__2__Impl rule__GlobalScopeExpression__Group_4__3 ; + public final void rule__GlobalScopeExpression__Group_4__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7552:1: ( rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 ) - // InternalScope.g:7553:2: rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 + // InternalScope.g:7765:1: ( rule__GlobalScopeExpression__Group_4__2__Impl rule__GlobalScopeExpression__Group_4__3 ) + // InternalScope.g:7766:2: rule__GlobalScopeExpression__Group_4__2__Impl rule__GlobalScopeExpression__Group_4__3 { - pushFollow(FOLLOW_64); - rule__RelationalExpression__Group__0__Impl(); + pushFollow(FOLLOW_31); + rule__GlobalScopeExpression__Group_4__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__RelationalExpression__Group__1(); + rule__GlobalScopeExpression__Group_4__3(); state._fsp--; if (state.failed) return ; @@ -25227,32 +27726,28 @@ public final void rule__RelationalExpression__Group__0() throws RecognitionExcep } return ; } - // $ANTLR end "rule__RelationalExpression__Group__0" + // $ANTLR end "rule__GlobalScopeExpression__Group_4__2" - // $ANTLR start "rule__RelationalExpression__Group__0__Impl" - // InternalScope.g:7560:1: rule__RelationalExpression__Group__0__Impl : ( ruleAdditiveExpression ) ; - public final void rule__RelationalExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_4__2__Impl" + // InternalScope.g:7773:1: rule__GlobalScopeExpression__Group_4__2__Impl : ( '=' ) ; + public final void rule__GlobalScopeExpression__Group_4__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7564:1: ( ( ruleAdditiveExpression ) ) - // InternalScope.g:7565:1: ( ruleAdditiveExpression ) + // InternalScope.g:7777:1: ( ( '=' ) ) + // InternalScope.g:7778:1: ( '=' ) { - // InternalScope.g:7565:1: ( ruleAdditiveExpression ) - // InternalScope.g:7566:2: ruleAdditiveExpression + // InternalScope.g:7778:1: ( '=' ) + // InternalScope.g:7779:2: '=' { if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); + before(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_4_2()); } - pushFollow(FOLLOW_2); - ruleAdditiveExpression(); - - state._fsp--; - if (state.failed) return ; + match(input,14,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); + after(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_4_2()); } } @@ -25272,21 +27767,26 @@ public final void rule__RelationalExpression__Group__0__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__RelationalExpression__Group__0__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_4__2__Impl" - // $ANTLR start "rule__RelationalExpression__Group__1" - // InternalScope.g:7575:1: rule__RelationalExpression__Group__1 : rule__RelationalExpression__Group__1__Impl ; - public final void rule__RelationalExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_4__3" + // InternalScope.g:7788:1: rule__GlobalScopeExpression__Group_4__3 : rule__GlobalScopeExpression__Group_4__3__Impl rule__GlobalScopeExpression__Group_4__4 ; + public final void rule__GlobalScopeExpression__Group_4__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7579:1: ( rule__RelationalExpression__Group__1__Impl ) - // InternalScope.g:7580:2: rule__RelationalExpression__Group__1__Impl + // InternalScope.g:7792:1: ( rule__GlobalScopeExpression__Group_4__3__Impl rule__GlobalScopeExpression__Group_4__4 ) + // InternalScope.g:7793:2: rule__GlobalScopeExpression__Group_4__3__Impl rule__GlobalScopeExpression__Group_4__4 { + pushFollow(FOLLOW_38); + rule__GlobalScopeExpression__Group_4__3__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__RelationalExpression__Group__1__Impl(); + rule__GlobalScopeExpression__Group_4__4(); state._fsp--; if (state.failed) return ; @@ -25305,56 +27805,28 @@ public final void rule__RelationalExpression__Group__1() throws RecognitionExcep } return ; } - // $ANTLR end "rule__RelationalExpression__Group__1" + // $ANTLR end "rule__GlobalScopeExpression__Group_4__3" - // $ANTLR start "rule__RelationalExpression__Group__1__Impl" - // InternalScope.g:7586:1: rule__RelationalExpression__Group__1__Impl : ( ( rule__RelationalExpression__Group_1__0 )* ) ; - public final void rule__RelationalExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_4__3__Impl" + // InternalScope.g:7800:1: rule__GlobalScopeExpression__Group_4__3__Impl : ( '(' ) ; + public final void rule__GlobalScopeExpression__Group_4__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7590:1: ( ( ( rule__RelationalExpression__Group_1__0 )* ) ) - // InternalScope.g:7591:1: ( ( rule__RelationalExpression__Group_1__0 )* ) + // InternalScope.g:7804:1: ( ( '(' ) ) + // InternalScope.g:7805:1: ( '(' ) { - // InternalScope.g:7591:1: ( ( rule__RelationalExpression__Group_1__0 )* ) - // InternalScope.g:7592:2: ( rule__RelationalExpression__Group_1__0 )* + // InternalScope.g:7805:1: ( '(' ) + // InternalScope.g:7806:2: '(' { if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getGroup_1()); + before(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_4_3()); } - // InternalScope.g:7593:2: ( rule__RelationalExpression__Group_1__0 )* - loop62: - do { - int alt62=2; - int LA62_0 = input.LA(1); - - if ( ((LA62_0>=12 && LA62_0<=17)) ) { - alt62=1; - } - - - switch (alt62) { - case 1 : - // InternalScope.g:7593:3: rule__RelationalExpression__Group_1__0 - { - pushFollow(FOLLOW_65); - rule__RelationalExpression__Group_1__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop62; - } - } while (true); - + match(input,77,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getGroup_1()); + after(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_4_3()); } } @@ -25374,26 +27846,26 @@ public final void rule__RelationalExpression__Group__1__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__RelationalExpression__Group__1__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_4__3__Impl" - // $ANTLR start "rule__RelationalExpression__Group_1__0" - // InternalScope.g:7602:1: rule__RelationalExpression__Group_1__0 : rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 ; - public final void rule__RelationalExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_4__4" + // InternalScope.g:7815:1: rule__GlobalScopeExpression__Group_4__4 : rule__GlobalScopeExpression__Group_4__4__Impl rule__GlobalScopeExpression__Group_4__5 ; + public final void rule__GlobalScopeExpression__Group_4__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7606:1: ( rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 ) - // InternalScope.g:7607:2: rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 + // InternalScope.g:7819:1: ( rule__GlobalScopeExpression__Group_4__4__Impl rule__GlobalScopeExpression__Group_4__5 ) + // InternalScope.g:7820:2: rule__GlobalScopeExpression__Group_4__4__Impl rule__GlobalScopeExpression__Group_4__5 { - pushFollow(FOLLOW_64); - rule__RelationalExpression__Group_1__0__Impl(); + pushFollow(FOLLOW_33); + rule__GlobalScopeExpression__Group_4__4__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__RelationalExpression__Group_1__1(); + rule__GlobalScopeExpression__Group_4__5(); state._fsp--; if (state.failed) return ; @@ -25412,32 +27884,38 @@ public final void rule__RelationalExpression__Group_1__0() throws RecognitionExc } return ; } - // $ANTLR end "rule__RelationalExpression__Group_1__0" - + // $ANTLR end "rule__GlobalScopeExpression__Group_4__4" - // $ANTLR start "rule__RelationalExpression__Group_1__0__Impl" - // InternalScope.g:7614:1: rule__RelationalExpression__Group_1__0__Impl : ( () ) ; - public final void rule__RelationalExpression__Group_1__0__Impl() throws RecognitionException { + + // $ANTLR start "rule__GlobalScopeExpression__Group_4__4__Impl" + // InternalScope.g:7827:1: rule__GlobalScopeExpression__Group_4__4__Impl : ( ( rule__GlobalScopeExpression__DataAssignment_4_4 ) ) ; + public final void rule__GlobalScopeExpression__Group_4__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7618:1: ( ( () ) ) - // InternalScope.g:7619:1: ( () ) + // InternalScope.g:7831:1: ( ( ( rule__GlobalScopeExpression__DataAssignment_4_4 ) ) ) + // InternalScope.g:7832:1: ( ( rule__GlobalScopeExpression__DataAssignment_4_4 ) ) { - // InternalScope.g:7619:1: ( () ) - // InternalScope.g:7620:2: () + // InternalScope.g:7832:1: ( ( rule__GlobalScopeExpression__DataAssignment_4_4 ) ) + // InternalScope.g:7833:2: ( rule__GlobalScopeExpression__DataAssignment_4_4 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); + before(grammarAccess.getGlobalScopeExpressionAccess().getDataAssignment_4_4()); } - // InternalScope.g:7621:2: () - // InternalScope.g:7621:3: + // InternalScope.g:7834:2: ( rule__GlobalScopeExpression__DataAssignment_4_4 ) + // InternalScope.g:7834:3: rule__GlobalScopeExpression__DataAssignment_4_4 { + pushFollow(FOLLOW_2); + rule__GlobalScopeExpression__DataAssignment_4_4(); + + state._fsp--; + if (state.failed) return ; + } if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); + after(grammarAccess.getGlobalScopeExpressionAccess().getDataAssignment_4_4()); } } @@ -25446,6 +27924,10 @@ public final void rule__RelationalExpression__Group_1__0__Impl() throws Recognit } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -25453,26 +27935,26 @@ public final void rule__RelationalExpression__Group_1__0__Impl() throws Recognit } return ; } - // $ANTLR end "rule__RelationalExpression__Group_1__0__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_4__4__Impl" - // $ANTLR start "rule__RelationalExpression__Group_1__1" - // InternalScope.g:7629:1: rule__RelationalExpression__Group_1__1 : rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 ; - public final void rule__RelationalExpression__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_4__5" + // InternalScope.g:7842:1: rule__GlobalScopeExpression__Group_4__5 : rule__GlobalScopeExpression__Group_4__5__Impl rule__GlobalScopeExpression__Group_4__6 ; + public final void rule__GlobalScopeExpression__Group_4__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7633:1: ( rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 ) - // InternalScope.g:7634:2: rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 + // InternalScope.g:7846:1: ( rule__GlobalScopeExpression__Group_4__5__Impl rule__GlobalScopeExpression__Group_4__6 ) + // InternalScope.g:7847:2: rule__GlobalScopeExpression__Group_4__5__Impl rule__GlobalScopeExpression__Group_4__6 { - pushFollow(FOLLOW_57); - rule__RelationalExpression__Group_1__1__Impl(); + pushFollow(FOLLOW_33); + rule__GlobalScopeExpression__Group_4__5__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__RelationalExpression__Group_1__2(); + rule__GlobalScopeExpression__Group_4__6(); state._fsp--; if (state.failed) return ; @@ -25491,38 +27973,56 @@ public final void rule__RelationalExpression__Group_1__1() throws RecognitionExc } return ; } - // $ANTLR end "rule__RelationalExpression__Group_1__1" + // $ANTLR end "rule__GlobalScopeExpression__Group_4__5" - // $ANTLR start "rule__RelationalExpression__Group_1__1__Impl" - // InternalScope.g:7641:1: rule__RelationalExpression__Group_1__1__Impl : ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) ; - public final void rule__RelationalExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_4__5__Impl" + // InternalScope.g:7854:1: rule__GlobalScopeExpression__Group_4__5__Impl : ( ( rule__GlobalScopeExpression__Group_4_5__0 )* ) ; + public final void rule__GlobalScopeExpression__Group_4__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7645:1: ( ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) ) - // InternalScope.g:7646:1: ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) + // InternalScope.g:7858:1: ( ( ( rule__GlobalScopeExpression__Group_4_5__0 )* ) ) + // InternalScope.g:7859:1: ( ( rule__GlobalScopeExpression__Group_4_5__0 )* ) { - // InternalScope.g:7646:1: ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) - // InternalScope.g:7647:2: ( rule__RelationalExpression__OperatorAssignment_1_1 ) + // InternalScope.g:7859:1: ( ( rule__GlobalScopeExpression__Group_4_5__0 )* ) + // InternalScope.g:7860:2: ( rule__GlobalScopeExpression__Group_4_5__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); + before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_4_5()); } - // InternalScope.g:7648:2: ( rule__RelationalExpression__OperatorAssignment_1_1 ) - // InternalScope.g:7648:3: rule__RelationalExpression__OperatorAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__RelationalExpression__OperatorAssignment_1_1(); + // InternalScope.g:7861:2: ( rule__GlobalScopeExpression__Group_4_5__0 )* + loop88: + do { + int alt88=2; + int LA88_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA88_0==86) ) { + alt88=1; + } - } + + switch (alt88) { + case 1 : + // InternalScope.g:7861:3: rule__GlobalScopeExpression__Group_4_5__0 + { + pushFollow(FOLLOW_39); + rule__GlobalScopeExpression__Group_4_5__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop88; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); + after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_4_5()); } } @@ -25542,21 +28042,21 @@ public final void rule__RelationalExpression__Group_1__1__Impl() throws Recognit } return ; } - // $ANTLR end "rule__RelationalExpression__Group_1__1__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_4__5__Impl" - // $ANTLR start "rule__RelationalExpression__Group_1__2" - // InternalScope.g:7656:1: rule__RelationalExpression__Group_1__2 : rule__RelationalExpression__Group_1__2__Impl ; - public final void rule__RelationalExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_4__6" + // InternalScope.g:7869:1: rule__GlobalScopeExpression__Group_4__6 : rule__GlobalScopeExpression__Group_4__6__Impl ; + public final void rule__GlobalScopeExpression__Group_4__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7660:1: ( rule__RelationalExpression__Group_1__2__Impl ) - // InternalScope.g:7661:2: rule__RelationalExpression__Group_1__2__Impl + // InternalScope.g:7873:1: ( rule__GlobalScopeExpression__Group_4__6__Impl ) + // InternalScope.g:7874:2: rule__GlobalScopeExpression__Group_4__6__Impl { pushFollow(FOLLOW_2); - rule__RelationalExpression__Group_1__2__Impl(); + rule__GlobalScopeExpression__Group_4__6__Impl(); state._fsp--; if (state.failed) return ; @@ -25575,38 +28075,28 @@ public final void rule__RelationalExpression__Group_1__2() throws RecognitionExc } return ; } - // $ANTLR end "rule__RelationalExpression__Group_1__2" + // $ANTLR end "rule__GlobalScopeExpression__Group_4__6" - // $ANTLR start "rule__RelationalExpression__Group_1__2__Impl" - // InternalScope.g:7667:1: rule__RelationalExpression__Group_1__2__Impl : ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) ; - public final void rule__RelationalExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_4__6__Impl" + // InternalScope.g:7880:1: rule__GlobalScopeExpression__Group_4__6__Impl : ( ')' ) ; + public final void rule__GlobalScopeExpression__Group_4__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7671:1: ( ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) ) - // InternalScope.g:7672:1: ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) + // InternalScope.g:7884:1: ( ( ')' ) ) + // InternalScope.g:7885:1: ( ')' ) { - // InternalScope.g:7672:1: ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) - // InternalScope.g:7673:2: ( rule__RelationalExpression__RightAssignment_1_2 ) + // InternalScope.g:7885:1: ( ')' ) + // InternalScope.g:7886:2: ')' { if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); - } - // InternalScope.g:7674:2: ( rule__RelationalExpression__RightAssignment_1_2 ) - // InternalScope.g:7674:3: rule__RelationalExpression__RightAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__RelationalExpression__RightAssignment_1_2(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_4_6()); } - + match(input,78,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); + after(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_4_6()); } } @@ -25626,26 +28116,26 @@ public final void rule__RelationalExpression__Group_1__2__Impl() throws Recognit } return ; } - // $ANTLR end "rule__RelationalExpression__Group_1__2__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_4__6__Impl" - // $ANTLR start "rule__AdditiveExpression__Group__0" - // InternalScope.g:7683:1: rule__AdditiveExpression__Group__0 : rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ; - public final void rule__AdditiveExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_4_5__0" + // InternalScope.g:7896:1: rule__GlobalScopeExpression__Group_4_5__0 : rule__GlobalScopeExpression__Group_4_5__0__Impl rule__GlobalScopeExpression__Group_4_5__1 ; + public final void rule__GlobalScopeExpression__Group_4_5__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7687:1: ( rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ) - // InternalScope.g:7688:2: rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 + // InternalScope.g:7900:1: ( rule__GlobalScopeExpression__Group_4_5__0__Impl rule__GlobalScopeExpression__Group_4_5__1 ) + // InternalScope.g:7901:2: rule__GlobalScopeExpression__Group_4_5__0__Impl rule__GlobalScopeExpression__Group_4_5__1 { - pushFollow(FOLLOW_66); - rule__AdditiveExpression__Group__0__Impl(); + pushFollow(FOLLOW_38); + rule__GlobalScopeExpression__Group_4_5__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AdditiveExpression__Group__1(); + rule__GlobalScopeExpression__Group_4_5__1(); state._fsp--; if (state.failed) return ; @@ -25664,32 +28154,28 @@ public final void rule__AdditiveExpression__Group__0() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__AdditiveExpression__Group__0" + // $ANTLR end "rule__GlobalScopeExpression__Group_4_5__0" - // $ANTLR start "rule__AdditiveExpression__Group__0__Impl" - // InternalScope.g:7695:1: rule__AdditiveExpression__Group__0__Impl : ( ruleMultiplicativeExpression ) ; - public final void rule__AdditiveExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_4_5__0__Impl" + // InternalScope.g:7908:1: rule__GlobalScopeExpression__Group_4_5__0__Impl : ( ',' ) ; + public final void rule__GlobalScopeExpression__Group_4_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7699:1: ( ( ruleMultiplicativeExpression ) ) - // InternalScope.g:7700:1: ( ruleMultiplicativeExpression ) + // InternalScope.g:7912:1: ( ( ',' ) ) + // InternalScope.g:7913:1: ( ',' ) { - // InternalScope.g:7700:1: ( ruleMultiplicativeExpression ) - // InternalScope.g:7701:2: ruleMultiplicativeExpression + // InternalScope.g:7913:1: ( ',' ) + // InternalScope.g:7914:2: ',' { if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); + before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_5_0()); } - pushFollow(FOLLOW_2); - ruleMultiplicativeExpression(); - - state._fsp--; - if (state.failed) return ; + match(input,86,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); + after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_5_0()); } } @@ -25709,21 +28195,21 @@ public final void rule__AdditiveExpression__Group__0__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__AdditiveExpression__Group__0__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_4_5__0__Impl" - // $ANTLR start "rule__AdditiveExpression__Group__1" - // InternalScope.g:7710:1: rule__AdditiveExpression__Group__1 : rule__AdditiveExpression__Group__1__Impl ; - public final void rule__AdditiveExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_4_5__1" + // InternalScope.g:7923:1: rule__GlobalScopeExpression__Group_4_5__1 : rule__GlobalScopeExpression__Group_4_5__1__Impl ; + public final void rule__GlobalScopeExpression__Group_4_5__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7714:1: ( rule__AdditiveExpression__Group__1__Impl ) - // InternalScope.g:7715:2: rule__AdditiveExpression__Group__1__Impl + // InternalScope.g:7927:1: ( rule__GlobalScopeExpression__Group_4_5__1__Impl ) + // InternalScope.g:7928:2: rule__GlobalScopeExpression__Group_4_5__1__Impl { pushFollow(FOLLOW_2); - rule__AdditiveExpression__Group__1__Impl(); + rule__GlobalScopeExpression__Group_4_5__1__Impl(); state._fsp--; if (state.failed) return ; @@ -25742,56 +28228,38 @@ public final void rule__AdditiveExpression__Group__1() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__AdditiveExpression__Group__1" + // $ANTLR end "rule__GlobalScopeExpression__Group_4_5__1" - // $ANTLR start "rule__AdditiveExpression__Group__1__Impl" - // InternalScope.g:7721:1: rule__AdditiveExpression__Group__1__Impl : ( ( rule__AdditiveExpression__Group_1__0 )* ) ; - public final void rule__AdditiveExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_4_5__1__Impl" + // InternalScope.g:7934:1: rule__GlobalScopeExpression__Group_4_5__1__Impl : ( ( rule__GlobalScopeExpression__DataAssignment_4_5_1 ) ) ; + public final void rule__GlobalScopeExpression__Group_4_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7725:1: ( ( ( rule__AdditiveExpression__Group_1__0 )* ) ) - // InternalScope.g:7726:1: ( ( rule__AdditiveExpression__Group_1__0 )* ) + // InternalScope.g:7938:1: ( ( ( rule__GlobalScopeExpression__DataAssignment_4_5_1 ) ) ) + // InternalScope.g:7939:1: ( ( rule__GlobalScopeExpression__DataAssignment_4_5_1 ) ) { - // InternalScope.g:7726:1: ( ( rule__AdditiveExpression__Group_1__0 )* ) - // InternalScope.g:7727:2: ( rule__AdditiveExpression__Group_1__0 )* + // InternalScope.g:7939:1: ( ( rule__GlobalScopeExpression__DataAssignment_4_5_1 ) ) + // InternalScope.g:7940:2: ( rule__GlobalScopeExpression__DataAssignment_4_5_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); + before(grammarAccess.getGlobalScopeExpressionAccess().getDataAssignment_4_5_1()); } - // InternalScope.g:7728:2: ( rule__AdditiveExpression__Group_1__0 )* - loop63: - do { - int alt63=2; - int LA63_0 = input.LA(1); - - if ( ((LA63_0>=18 && LA63_0<=19)) ) { - alt63=1; - } - - - switch (alt63) { - case 1 : - // InternalScope.g:7728:3: rule__AdditiveExpression__Group_1__0 - { - pushFollow(FOLLOW_67); - rule__AdditiveExpression__Group_1__0(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:7941:2: ( rule__GlobalScopeExpression__DataAssignment_4_5_1 ) + // InternalScope.g:7941:3: rule__GlobalScopeExpression__DataAssignment_4_5_1 + { + pushFollow(FOLLOW_2); + rule__GlobalScopeExpression__DataAssignment_4_5_1(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop63; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); + after(grammarAccess.getGlobalScopeExpressionAccess().getDataAssignment_4_5_1()); } } @@ -25811,26 +28279,26 @@ public final void rule__AdditiveExpression__Group__1__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__AdditiveExpression__Group__1__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_4_5__1__Impl" - // $ANTLR start "rule__AdditiveExpression__Group_1__0" - // InternalScope.g:7737:1: rule__AdditiveExpression__Group_1__0 : rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ; - public final void rule__AdditiveExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5__0" + // InternalScope.g:7950:1: rule__GlobalScopeExpression__Group_5__0 : rule__GlobalScopeExpression__Group_5__0__Impl rule__GlobalScopeExpression__Group_5__1 ; + public final void rule__GlobalScopeExpression__Group_5__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7741:1: ( rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ) - // InternalScope.g:7742:2: rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 + // InternalScope.g:7954:1: ( rule__GlobalScopeExpression__Group_5__0__Impl rule__GlobalScopeExpression__Group_5__1 ) + // InternalScope.g:7955:2: rule__GlobalScopeExpression__Group_5__0__Impl rule__GlobalScopeExpression__Group_5__1 { - pushFollow(FOLLOW_66); - rule__AdditiveExpression__Group_1__0__Impl(); + pushFollow(FOLLOW_40); + rule__GlobalScopeExpression__Group_5__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AdditiveExpression__Group_1__1(); + rule__GlobalScopeExpression__Group_5__1(); state._fsp--; if (state.failed) return ; @@ -25849,32 +28317,28 @@ public final void rule__AdditiveExpression__Group_1__0() throws RecognitionExcep } return ; } - // $ANTLR end "rule__AdditiveExpression__Group_1__0" + // $ANTLR end "rule__GlobalScopeExpression__Group_5__0" - // $ANTLR start "rule__AdditiveExpression__Group_1__0__Impl" - // InternalScope.g:7749:1: rule__AdditiveExpression__Group_1__0__Impl : ( () ) ; - public final void rule__AdditiveExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5__0__Impl" + // InternalScope.g:7962:1: rule__GlobalScopeExpression__Group_5__0__Impl : ( ',' ) ; + public final void rule__GlobalScopeExpression__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7753:1: ( ( () ) ) - // InternalScope.g:7754:1: ( () ) + // InternalScope.g:7966:1: ( ( ',' ) ) + // InternalScope.g:7967:1: ( ',' ) { - // InternalScope.g:7754:1: ( () ) - // InternalScope.g:7755:2: () + // InternalScope.g:7967:1: ( ',' ) + // InternalScope.g:7968:2: ',' { if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); - } - // InternalScope.g:7756:2: () - // InternalScope.g:7756:3: - { + before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_0()); } - + match(input,86,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); + after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_0()); } } @@ -25883,6 +28347,10 @@ public final void rule__AdditiveExpression__Group_1__0__Impl() throws Recognitio } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -25890,26 +28358,26 @@ public final void rule__AdditiveExpression__Group_1__0__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__AdditiveExpression__Group_1__0__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_5__0__Impl" - // $ANTLR start "rule__AdditiveExpression__Group_1__1" - // InternalScope.g:7764:1: rule__AdditiveExpression__Group_1__1 : rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ; - public final void rule__AdditiveExpression__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5__1" + // InternalScope.g:7977:1: rule__GlobalScopeExpression__Group_5__1 : rule__GlobalScopeExpression__Group_5__1__Impl rule__GlobalScopeExpression__Group_5__2 ; + public final void rule__GlobalScopeExpression__Group_5__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7768:1: ( rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ) - // InternalScope.g:7769:2: rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 + // InternalScope.g:7981:1: ( rule__GlobalScopeExpression__Group_5__1__Impl rule__GlobalScopeExpression__Group_5__2 ) + // InternalScope.g:7982:2: rule__GlobalScopeExpression__Group_5__1__Impl rule__GlobalScopeExpression__Group_5__2 { - pushFollow(FOLLOW_57); - rule__AdditiveExpression__Group_1__1__Impl(); + pushFollow(FOLLOW_16); + rule__GlobalScopeExpression__Group_5__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AdditiveExpression__Group_1__2(); + rule__GlobalScopeExpression__Group_5__2(); state._fsp--; if (state.failed) return ; @@ -25928,38 +28396,28 @@ public final void rule__AdditiveExpression__Group_1__1() throws RecognitionExcep } return ; } - // $ANTLR end "rule__AdditiveExpression__Group_1__1" + // $ANTLR end "rule__GlobalScopeExpression__Group_5__1" - // $ANTLR start "rule__AdditiveExpression__Group_1__1__Impl" - // InternalScope.g:7776:1: rule__AdditiveExpression__Group_1__1__Impl : ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) ; - public final void rule__AdditiveExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5__1__Impl" + // InternalScope.g:7989:1: rule__GlobalScopeExpression__Group_5__1__Impl : ( 'domains' ) ; + public final void rule__GlobalScopeExpression__Group_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7780:1: ( ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) ) - // InternalScope.g:7781:1: ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) + // InternalScope.g:7993:1: ( ( 'domains' ) ) + // InternalScope.g:7994:1: ( 'domains' ) { - // InternalScope.g:7781:1: ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) - // InternalScope.g:7782:2: ( rule__AdditiveExpression__NameAssignment_1_1 ) + // InternalScope.g:7994:1: ( 'domains' ) + // InternalScope.g:7995:2: 'domains' { if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); - } - // InternalScope.g:7783:2: ( rule__AdditiveExpression__NameAssignment_1_1 ) - // InternalScope.g:7783:3: rule__AdditiveExpression__NameAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__AdditiveExpression__NameAssignment_1_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsKeyword_5_1()); } - + match(input,91,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); + after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsKeyword_5_1()); } } @@ -25979,21 +28437,26 @@ public final void rule__AdditiveExpression__Group_1__1__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__AdditiveExpression__Group_1__1__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_5__1__Impl" - // $ANTLR start "rule__AdditiveExpression__Group_1__2" - // InternalScope.g:7791:1: rule__AdditiveExpression__Group_1__2 : rule__AdditiveExpression__Group_1__2__Impl ; - public final void rule__AdditiveExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5__2" + // InternalScope.g:8004:1: rule__GlobalScopeExpression__Group_5__2 : rule__GlobalScopeExpression__Group_5__2__Impl rule__GlobalScopeExpression__Group_5__3 ; + public final void rule__GlobalScopeExpression__Group_5__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7795:1: ( rule__AdditiveExpression__Group_1__2__Impl ) - // InternalScope.g:7796:2: rule__AdditiveExpression__Group_1__2__Impl + // InternalScope.g:8008:1: ( rule__GlobalScopeExpression__Group_5__2__Impl rule__GlobalScopeExpression__Group_5__3 ) + // InternalScope.g:8009:2: rule__GlobalScopeExpression__Group_5__2__Impl rule__GlobalScopeExpression__Group_5__3 { + pushFollow(FOLLOW_41); + rule__GlobalScopeExpression__Group_5__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AdditiveExpression__Group_1__2__Impl(); + rule__GlobalScopeExpression__Group_5__3(); state._fsp--; if (state.failed) return ; @@ -26012,38 +28475,28 @@ public final void rule__AdditiveExpression__Group_1__2() throws RecognitionExcep } return ; } - // $ANTLR end "rule__AdditiveExpression__Group_1__2" + // $ANTLR end "rule__GlobalScopeExpression__Group_5__2" - // $ANTLR start "rule__AdditiveExpression__Group_1__2__Impl" - // InternalScope.g:7802:1: rule__AdditiveExpression__Group_1__2__Impl : ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) ; - public final void rule__AdditiveExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5__2__Impl" + // InternalScope.g:8016:1: rule__GlobalScopeExpression__Group_5__2__Impl : ( '=' ) ; + public final void rule__GlobalScopeExpression__Group_5__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7806:1: ( ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) ) - // InternalScope.g:7807:1: ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) + // InternalScope.g:8020:1: ( ( '=' ) ) + // InternalScope.g:8021:1: ( '=' ) { - // InternalScope.g:7807:1: ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) - // InternalScope.g:7808:2: ( rule__AdditiveExpression__ParamsAssignment_1_2 ) + // InternalScope.g:8021:1: ( '=' ) + // InternalScope.g:8022:2: '=' { if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); - } - // InternalScope.g:7809:2: ( rule__AdditiveExpression__ParamsAssignment_1_2 ) - // InternalScope.g:7809:3: rule__AdditiveExpression__ParamsAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__AdditiveExpression__ParamsAssignment_1_2(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_5_2()); } - + match(input,14,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); + after(grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_5_2()); } } @@ -26063,26 +28516,21 @@ public final void rule__AdditiveExpression__Group_1__2__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__AdditiveExpression__Group_1__2__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_5__2__Impl" - // $ANTLR start "rule__MultiplicativeExpression__Group__0" - // InternalScope.g:7818:1: rule__MultiplicativeExpression__Group__0 : rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ; - public final void rule__MultiplicativeExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5__3" + // InternalScope.g:8031:1: rule__GlobalScopeExpression__Group_5__3 : rule__GlobalScopeExpression__Group_5__3__Impl ; + public final void rule__GlobalScopeExpression__Group_5__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7822:1: ( rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ) - // InternalScope.g:7823:2: rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 + // InternalScope.g:8035:1: ( rule__GlobalScopeExpression__Group_5__3__Impl ) + // InternalScope.g:8036:2: rule__GlobalScopeExpression__Group_5__3__Impl { - pushFollow(FOLLOW_68); - rule__MultiplicativeExpression__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__Group__1(); + rule__GlobalScopeExpression__Group_5__3__Impl(); state._fsp--; if (state.failed) return ; @@ -26101,32 +28549,38 @@ public final void rule__MultiplicativeExpression__Group__0() throws RecognitionE } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group__0" + // $ANTLR end "rule__GlobalScopeExpression__Group_5__3" - // $ANTLR start "rule__MultiplicativeExpression__Group__0__Impl" - // InternalScope.g:7830:1: rule__MultiplicativeExpression__Group__0__Impl : ( ruleUnaryOrInfixExpression ) ; - public final void rule__MultiplicativeExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5__3__Impl" + // InternalScope.g:8042:1: rule__GlobalScopeExpression__Group_5__3__Impl : ( ( rule__GlobalScopeExpression__Alternatives_5_3 ) ) ; + public final void rule__GlobalScopeExpression__Group_5__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7834:1: ( ( ruleUnaryOrInfixExpression ) ) - // InternalScope.g:7835:1: ( ruleUnaryOrInfixExpression ) + // InternalScope.g:8046:1: ( ( ( rule__GlobalScopeExpression__Alternatives_5_3 ) ) ) + // InternalScope.g:8047:1: ( ( rule__GlobalScopeExpression__Alternatives_5_3 ) ) { - // InternalScope.g:7835:1: ( ruleUnaryOrInfixExpression ) - // InternalScope.g:7836:2: ruleUnaryOrInfixExpression + // InternalScope.g:8047:1: ( ( rule__GlobalScopeExpression__Alternatives_5_3 ) ) + // InternalScope.g:8048:2: ( rule__GlobalScopeExpression__Alternatives_5_3 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); + before(grammarAccess.getGlobalScopeExpressionAccess().getAlternatives_5_3()); } + // InternalScope.g:8049:2: ( rule__GlobalScopeExpression__Alternatives_5_3 ) + // InternalScope.g:8049:3: rule__GlobalScopeExpression__Alternatives_5_3 + { pushFollow(FOLLOW_2); - ruleUnaryOrInfixExpression(); + rule__GlobalScopeExpression__Alternatives_5_3(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); + after(grammarAccess.getGlobalScopeExpressionAccess().getAlternatives_5_3()); } } @@ -26146,21 +28600,26 @@ public final void rule__MultiplicativeExpression__Group__0__Impl() throws Recogn } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group__0__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_5__3__Impl" - // $ANTLR start "rule__MultiplicativeExpression__Group__1" - // InternalScope.g:7845:1: rule__MultiplicativeExpression__Group__1 : rule__MultiplicativeExpression__Group__1__Impl ; - public final void rule__MultiplicativeExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2__0" + // InternalScope.g:8058:1: rule__GlobalScopeExpression__Group_5_3_2__0 : rule__GlobalScopeExpression__Group_5_3_2__0__Impl rule__GlobalScopeExpression__Group_5_3_2__1 ; + public final void rule__GlobalScopeExpression__Group_5_3_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7849:1: ( rule__MultiplicativeExpression__Group__1__Impl ) - // InternalScope.g:7850:2: rule__MultiplicativeExpression__Group__1__Impl + // InternalScope.g:8062:1: ( rule__GlobalScopeExpression__Group_5_3_2__0__Impl rule__GlobalScopeExpression__Group_5_3_2__1 ) + // InternalScope.g:8063:2: rule__GlobalScopeExpression__Group_5_3_2__0__Impl rule__GlobalScopeExpression__Group_5_3_2__1 { + pushFollow(FOLLOW_4); + rule__GlobalScopeExpression__Group_5_3_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__Group__1__Impl(); + rule__GlobalScopeExpression__Group_5_3_2__1(); state._fsp--; if (state.failed) return ; @@ -26179,56 +28638,28 @@ public final void rule__MultiplicativeExpression__Group__1() throws RecognitionE } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group__1" + // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2__0" - // $ANTLR start "rule__MultiplicativeExpression__Group__1__Impl" - // InternalScope.g:7856:1: rule__MultiplicativeExpression__Group__1__Impl : ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ; - public final void rule__MultiplicativeExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2__0__Impl" + // InternalScope.g:8070:1: rule__GlobalScopeExpression__Group_5_3_2__0__Impl : ( '(' ) ; + public final void rule__GlobalScopeExpression__Group_5_3_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7860:1: ( ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ) - // InternalScope.g:7861:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* ) + // InternalScope.g:8074:1: ( ( '(' ) ) + // InternalScope.g:8075:1: ( '(' ) { - // InternalScope.g:7861:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* ) - // InternalScope.g:7862:2: ( rule__MultiplicativeExpression__Group_1__0 )* + // InternalScope.g:8075:1: ( '(' ) + // InternalScope.g:8076:2: '(' { if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); + before(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_5_3_2_0()); } - // InternalScope.g:7863:2: ( rule__MultiplicativeExpression__Group_1__0 )* - loop64: - do { - int alt64=2; - int LA64_0 = input.LA(1); - - if ( ((LA64_0>=20 && LA64_0<=21)) ) { - alt64=1; - } - - - switch (alt64) { - case 1 : - // InternalScope.g:7863:3: rule__MultiplicativeExpression__Group_1__0 - { - pushFollow(FOLLOW_69); - rule__MultiplicativeExpression__Group_1__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop64; - } - } while (true); - + match(input,77,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); + after(grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_5_3_2_0()); } } @@ -26248,26 +28679,26 @@ public final void rule__MultiplicativeExpression__Group__1__Impl() throws Recogn } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group__1__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2__0__Impl" - // $ANTLR start "rule__MultiplicativeExpression__Group_1__0" - // InternalScope.g:7872:1: rule__MultiplicativeExpression__Group_1__0 : rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ; - public final void rule__MultiplicativeExpression__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2__1" + // InternalScope.g:8085:1: rule__GlobalScopeExpression__Group_5_3_2__1 : rule__GlobalScopeExpression__Group_5_3_2__1__Impl rule__GlobalScopeExpression__Group_5_3_2__2 ; + public final void rule__GlobalScopeExpression__Group_5_3_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7876:1: ( rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ) - // InternalScope.g:7877:2: rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 + // InternalScope.g:8089:1: ( rule__GlobalScopeExpression__Group_5_3_2__1__Impl rule__GlobalScopeExpression__Group_5_3_2__2 ) + // InternalScope.g:8090:2: rule__GlobalScopeExpression__Group_5_3_2__1__Impl rule__GlobalScopeExpression__Group_5_3_2__2 { - pushFollow(FOLLOW_68); - rule__MultiplicativeExpression__Group_1__0__Impl(); + pushFollow(FOLLOW_33); + rule__GlobalScopeExpression__Group_5_3_2__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__Group_1__1(); + rule__GlobalScopeExpression__Group_5_3_2__2(); state._fsp--; if (state.failed) return ; @@ -26286,32 +28717,38 @@ public final void rule__MultiplicativeExpression__Group_1__0() throws Recognitio } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__0" + // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2__1" - // $ANTLR start "rule__MultiplicativeExpression__Group_1__0__Impl" - // InternalScope.g:7884:1: rule__MultiplicativeExpression__Group_1__0__Impl : ( () ) ; - public final void rule__MultiplicativeExpression__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2__1__Impl" + // InternalScope.g:8097:1: rule__GlobalScopeExpression__Group_5_3_2__1__Impl : ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 ) ) ; + public final void rule__GlobalScopeExpression__Group_5_3_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7888:1: ( ( () ) ) - // InternalScope.g:7889:1: ( () ) + // InternalScope.g:8101:1: ( ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 ) ) ) + // InternalScope.g:8102:1: ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 ) ) { - // InternalScope.g:7889:1: ( () ) - // InternalScope.g:7890:2: () + // InternalScope.g:8102:1: ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 ) ) + // InternalScope.g:8103:2: ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); + before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_2_1()); } - // InternalScope.g:7891:2: () - // InternalScope.g:7891:3: + // InternalScope.g:8104:2: ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 ) + // InternalScope.g:8104:3: rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 { + pushFollow(FOLLOW_2); + rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1(); + + state._fsp--; + if (state.failed) return ; + } if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); + after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_2_1()); } } @@ -26320,6 +28757,10 @@ public final void rule__MultiplicativeExpression__Group_1__0__Impl() throws Reco } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -26327,26 +28768,26 @@ public final void rule__MultiplicativeExpression__Group_1__0__Impl() throws Reco } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__0__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2__1__Impl" - // $ANTLR start "rule__MultiplicativeExpression__Group_1__1" - // InternalScope.g:7899:1: rule__MultiplicativeExpression__Group_1__1 : rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ; - public final void rule__MultiplicativeExpression__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2__2" + // InternalScope.g:8112:1: rule__GlobalScopeExpression__Group_5_3_2__2 : rule__GlobalScopeExpression__Group_5_3_2__2__Impl rule__GlobalScopeExpression__Group_5_3_2__3 ; + public final void rule__GlobalScopeExpression__Group_5_3_2__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7903:1: ( rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ) - // InternalScope.g:7904:2: rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 + // InternalScope.g:8116:1: ( rule__GlobalScopeExpression__Group_5_3_2__2__Impl rule__GlobalScopeExpression__Group_5_3_2__3 ) + // InternalScope.g:8117:2: rule__GlobalScopeExpression__Group_5_3_2__2__Impl rule__GlobalScopeExpression__Group_5_3_2__3 { - pushFollow(FOLLOW_57); - rule__MultiplicativeExpression__Group_1__1__Impl(); + pushFollow(FOLLOW_33); + rule__GlobalScopeExpression__Group_5_3_2__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__Group_1__2(); + rule__GlobalScopeExpression__Group_5_3_2__3(); state._fsp--; if (state.failed) return ; @@ -26365,38 +28806,56 @@ public final void rule__MultiplicativeExpression__Group_1__1() throws Recognitio } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__1" + // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2__2" - // $ANTLR start "rule__MultiplicativeExpression__Group_1__1__Impl" - // InternalScope.g:7911:1: rule__MultiplicativeExpression__Group_1__1__Impl : ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) ; - public final void rule__MultiplicativeExpression__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2__2__Impl" + // InternalScope.g:8124:1: rule__GlobalScopeExpression__Group_5_3_2__2__Impl : ( ( rule__GlobalScopeExpression__Group_5_3_2_2__0 )* ) ; + public final void rule__GlobalScopeExpression__Group_5_3_2__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7915:1: ( ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) ) - // InternalScope.g:7916:1: ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) + // InternalScope.g:8128:1: ( ( ( rule__GlobalScopeExpression__Group_5_3_2_2__0 )* ) ) + // InternalScope.g:8129:1: ( ( rule__GlobalScopeExpression__Group_5_3_2_2__0 )* ) { - // InternalScope.g:7916:1: ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) - // InternalScope.g:7917:2: ( rule__MultiplicativeExpression__NameAssignment_1_1 ) + // InternalScope.g:8129:1: ( ( rule__GlobalScopeExpression__Group_5_3_2_2__0 )* ) + // InternalScope.g:8130:2: ( rule__GlobalScopeExpression__Group_5_3_2_2__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); + before(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5_3_2_2()); } - // InternalScope.g:7918:2: ( rule__MultiplicativeExpression__NameAssignment_1_1 ) - // InternalScope.g:7918:3: rule__MultiplicativeExpression__NameAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__NameAssignment_1_1(); + // InternalScope.g:8131:2: ( rule__GlobalScopeExpression__Group_5_3_2_2__0 )* + loop89: + do { + int alt89=2; + int LA89_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA89_0==86) ) { + alt89=1; + } - } + + switch (alt89) { + case 1 : + // InternalScope.g:8131:3: rule__GlobalScopeExpression__Group_5_3_2_2__0 + { + pushFollow(FOLLOW_39); + rule__GlobalScopeExpression__Group_5_3_2_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop89; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); + after(grammarAccess.getGlobalScopeExpressionAccess().getGroup_5_3_2_2()); } } @@ -26416,21 +28875,21 @@ public final void rule__MultiplicativeExpression__Group_1__1__Impl() throws Reco } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__1__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2__2__Impl" - // $ANTLR start "rule__MultiplicativeExpression__Group_1__2" - // InternalScope.g:7926:1: rule__MultiplicativeExpression__Group_1__2 : rule__MultiplicativeExpression__Group_1__2__Impl ; - public final void rule__MultiplicativeExpression__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2__3" + // InternalScope.g:8139:1: rule__GlobalScopeExpression__Group_5_3_2__3 : rule__GlobalScopeExpression__Group_5_3_2__3__Impl ; + public final void rule__GlobalScopeExpression__Group_5_3_2__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7930:1: ( rule__MultiplicativeExpression__Group_1__2__Impl ) - // InternalScope.g:7931:2: rule__MultiplicativeExpression__Group_1__2__Impl + // InternalScope.g:8143:1: ( rule__GlobalScopeExpression__Group_5_3_2__3__Impl ) + // InternalScope.g:8144:2: rule__GlobalScopeExpression__Group_5_3_2__3__Impl { pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__Group_1__2__Impl(); + rule__GlobalScopeExpression__Group_5_3_2__3__Impl(); state._fsp--; if (state.failed) return ; @@ -26449,38 +28908,28 @@ public final void rule__MultiplicativeExpression__Group_1__2() throws Recognitio } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__2" + // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2__3" - // $ANTLR start "rule__MultiplicativeExpression__Group_1__2__Impl" - // InternalScope.g:7937:1: rule__MultiplicativeExpression__Group_1__2__Impl : ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) ; - public final void rule__MultiplicativeExpression__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2__3__Impl" + // InternalScope.g:8150:1: rule__GlobalScopeExpression__Group_5_3_2__3__Impl : ( ')' ) ; + public final void rule__GlobalScopeExpression__Group_5_3_2__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7941:1: ( ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) ) - // InternalScope.g:7942:1: ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) + // InternalScope.g:8154:1: ( ( ')' ) ) + // InternalScope.g:8155:1: ( ')' ) { - // InternalScope.g:7942:1: ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) - // InternalScope.g:7943:2: ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) + // InternalScope.g:8155:1: ( ')' ) + // InternalScope.g:8156:2: ')' { if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); - } - // InternalScope.g:7944:2: ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) - // InternalScope.g:7944:3: rule__MultiplicativeExpression__ParamsAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__ParamsAssignment_1_2(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_5_3_2_3()); } - + match(input,78,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); + after(grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_5_3_2_3()); } } @@ -26500,26 +28949,26 @@ public final void rule__MultiplicativeExpression__Group_1__2__Impl() throws Reco } return ; } - // $ANTLR end "rule__MultiplicativeExpression__Group_1__2__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2__3__Impl" - // $ANTLR start "rule__UnaryExpression__Group__0" - // InternalScope.g:7953:1: rule__UnaryExpression__Group__0 : rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 ; - public final void rule__UnaryExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2_2__0" + // InternalScope.g:8166:1: rule__GlobalScopeExpression__Group_5_3_2_2__0 : rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl rule__GlobalScopeExpression__Group_5_3_2_2__1 ; + public final void rule__GlobalScopeExpression__Group_5_3_2_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7957:1: ( rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 ) - // InternalScope.g:7958:2: rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 + // InternalScope.g:8170:1: ( rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl rule__GlobalScopeExpression__Group_5_3_2_2__1 ) + // InternalScope.g:8171:2: rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl rule__GlobalScopeExpression__Group_5_3_2_2__1 { - pushFollow(FOLLOW_57); - rule__UnaryExpression__Group__0__Impl(); + pushFollow(FOLLOW_4); + rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__UnaryExpression__Group__1(); + rule__GlobalScopeExpression__Group_5_3_2_2__1(); state._fsp--; if (state.failed) return ; @@ -26538,38 +28987,28 @@ public final void rule__UnaryExpression__Group__0() throws RecognitionException } return ; } - // $ANTLR end "rule__UnaryExpression__Group__0" + // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2_2__0" - // $ANTLR start "rule__UnaryExpression__Group__0__Impl" - // InternalScope.g:7965:1: rule__UnaryExpression__Group__0__Impl : ( ( rule__UnaryExpression__NameAssignment_0 ) ) ; - public final void rule__UnaryExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl" + // InternalScope.g:8178:1: rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl : ( ',' ) ; + public final void rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7969:1: ( ( ( rule__UnaryExpression__NameAssignment_0 ) ) ) - // InternalScope.g:7970:1: ( ( rule__UnaryExpression__NameAssignment_0 ) ) + // InternalScope.g:8182:1: ( ( ',' ) ) + // InternalScope.g:8183:1: ( ',' ) { - // InternalScope.g:7970:1: ( ( rule__UnaryExpression__NameAssignment_0 ) ) - // InternalScope.g:7971:2: ( rule__UnaryExpression__NameAssignment_0 ) + // InternalScope.g:8183:1: ( ',' ) + // InternalScope.g:8184:2: ',' { if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); - } - // InternalScope.g:7972:2: ( rule__UnaryExpression__NameAssignment_0 ) - // InternalScope.g:7972:3: rule__UnaryExpression__NameAssignment_0 - { - pushFollow(FOLLOW_2); - rule__UnaryExpression__NameAssignment_0(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_3_2_2_0()); } - + match(input,86,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); + after(grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_3_2_2_0()); } } @@ -26589,21 +29028,21 @@ public final void rule__UnaryExpression__Group__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__UnaryExpression__Group__0__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2_2__0__Impl" - // $ANTLR start "rule__UnaryExpression__Group__1" - // InternalScope.g:7980:1: rule__UnaryExpression__Group__1 : rule__UnaryExpression__Group__1__Impl ; - public final void rule__UnaryExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2_2__1" + // InternalScope.g:8193:1: rule__GlobalScopeExpression__Group_5_3_2_2__1 : rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl ; + public final void rule__GlobalScopeExpression__Group_5_3_2_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7984:1: ( rule__UnaryExpression__Group__1__Impl ) - // InternalScope.g:7985:2: rule__UnaryExpression__Group__1__Impl + // InternalScope.g:8197:1: ( rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl ) + // InternalScope.g:8198:2: rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl { pushFollow(FOLLOW_2); - rule__UnaryExpression__Group__1__Impl(); + rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl(); state._fsp--; if (state.failed) return ; @@ -26622,30 +29061,30 @@ public final void rule__UnaryExpression__Group__1() throws RecognitionException } return ; } - // $ANTLR end "rule__UnaryExpression__Group__1" + // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2_2__1" - // $ANTLR start "rule__UnaryExpression__Group__1__Impl" - // InternalScope.g:7991:1: rule__UnaryExpression__Group__1__Impl : ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) ; - public final void rule__UnaryExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl" + // InternalScope.g:8204:1: rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl : ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 ) ) ; + public final void rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:7995:1: ( ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) ) - // InternalScope.g:7996:1: ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) + // InternalScope.g:8208:1: ( ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 ) ) ) + // InternalScope.g:8209:1: ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 ) ) { - // InternalScope.g:7996:1: ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) - // InternalScope.g:7997:2: ( rule__UnaryExpression__ParamsAssignment_1 ) + // InternalScope.g:8209:1: ( ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 ) ) + // InternalScope.g:8210:2: ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); + before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_2_2_1()); } - // InternalScope.g:7998:2: ( rule__UnaryExpression__ParamsAssignment_1 ) - // InternalScope.g:7998:3: rule__UnaryExpression__ParamsAssignment_1 + // InternalScope.g:8211:2: ( rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 ) + // InternalScope.g:8211:3: rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 { pushFollow(FOLLOW_2); - rule__UnaryExpression__ParamsAssignment_1(); + rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1(); state._fsp--; if (state.failed) return ; @@ -26653,7 +29092,7 @@ public final void rule__UnaryExpression__Group__1__Impl() throws RecognitionExce } if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); + after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAssignment_5_3_2_2_1()); } } @@ -26673,26 +29112,26 @@ public final void rule__UnaryExpression__Group__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__UnaryExpression__Group__1__Impl" + // $ANTLR end "rule__GlobalScopeExpression__Group_5_3_2_2__1__Impl" - // $ANTLR start "rule__InfixExpression__Group__0" - // InternalScope.g:8007:1: rule__InfixExpression__Group__0 : rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 ; - public final void rule__InfixExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__MatchDataExpression__Group__0" + // InternalScope.g:8220:1: rule__MatchDataExpression__Group__0 : rule__MatchDataExpression__Group__0__Impl rule__MatchDataExpression__Group__1 ; + public final void rule__MatchDataExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8011:1: ( rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 ) - // InternalScope.g:8012:2: rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 + // InternalScope.g:8224:1: ( rule__MatchDataExpression__Group__0__Impl rule__MatchDataExpression__Group__1 ) + // InternalScope.g:8225:2: rule__MatchDataExpression__Group__0__Impl rule__MatchDataExpression__Group__1 { - pushFollow(FOLLOW_45); - rule__InfixExpression__Group__0__Impl(); + pushFollow(FOLLOW_16); + rule__MatchDataExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group__1(); + rule__MatchDataExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -26711,32 +29150,38 @@ public final void rule__InfixExpression__Group__0() throws RecognitionException } return ; } - // $ANTLR end "rule__InfixExpression__Group__0" + // $ANTLR end "rule__MatchDataExpression__Group__0" - // $ANTLR start "rule__InfixExpression__Group__0__Impl" - // InternalScope.g:8019:1: rule__InfixExpression__Group__0__Impl : ( rulePrimaryExpression ) ; - public final void rule__InfixExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__MatchDataExpression__Group__0__Impl" + // InternalScope.g:8232:1: rule__MatchDataExpression__Group__0__Impl : ( ( rule__MatchDataExpression__KeyAssignment_0 ) ) ; + public final void rule__MatchDataExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8023:1: ( ( rulePrimaryExpression ) ) - // InternalScope.g:8024:1: ( rulePrimaryExpression ) + // InternalScope.g:8236:1: ( ( ( rule__MatchDataExpression__KeyAssignment_0 ) ) ) + // InternalScope.g:8237:1: ( ( rule__MatchDataExpression__KeyAssignment_0 ) ) { - // InternalScope.g:8024:1: ( rulePrimaryExpression ) - // InternalScope.g:8025:2: rulePrimaryExpression + // InternalScope.g:8237:1: ( ( rule__MatchDataExpression__KeyAssignment_0 ) ) + // InternalScope.g:8238:2: ( rule__MatchDataExpression__KeyAssignment_0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); + before(grammarAccess.getMatchDataExpressionAccess().getKeyAssignment_0()); } + // InternalScope.g:8239:2: ( rule__MatchDataExpression__KeyAssignment_0 ) + // InternalScope.g:8239:3: rule__MatchDataExpression__KeyAssignment_0 + { pushFollow(FOLLOW_2); - rulePrimaryExpression(); + rule__MatchDataExpression__KeyAssignment_0(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); + after(grammarAccess.getMatchDataExpressionAccess().getKeyAssignment_0()); } } @@ -26756,21 +29201,26 @@ public final void rule__InfixExpression__Group__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__InfixExpression__Group__0__Impl" + // $ANTLR end "rule__MatchDataExpression__Group__0__Impl" - // $ANTLR start "rule__InfixExpression__Group__1" - // InternalScope.g:8034:1: rule__InfixExpression__Group__1 : rule__InfixExpression__Group__1__Impl ; - public final void rule__InfixExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__MatchDataExpression__Group__1" + // InternalScope.g:8247:1: rule__MatchDataExpression__Group__1 : rule__MatchDataExpression__Group__1__Impl rule__MatchDataExpression__Group__2 ; + public final void rule__MatchDataExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8038:1: ( rule__InfixExpression__Group__1__Impl ) - // InternalScope.g:8039:2: rule__InfixExpression__Group__1__Impl + // InternalScope.g:8251:1: ( rule__MatchDataExpression__Group__1__Impl rule__MatchDataExpression__Group__2 ) + // InternalScope.g:8252:2: rule__MatchDataExpression__Group__1__Impl rule__MatchDataExpression__Group__2 { + pushFollow(FOLLOW_17); + rule__MatchDataExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group__1__Impl(); + rule__MatchDataExpression__Group__2(); state._fsp--; if (state.failed) return ; @@ -26789,56 +29239,28 @@ public final void rule__InfixExpression__Group__1() throws RecognitionException } return ; } - // $ANTLR end "rule__InfixExpression__Group__1" + // $ANTLR end "rule__MatchDataExpression__Group__1" - // $ANTLR start "rule__InfixExpression__Group__1__Impl" - // InternalScope.g:8045:1: rule__InfixExpression__Group__1__Impl : ( ( rule__InfixExpression__Alternatives_1 )* ) ; - public final void rule__InfixExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__MatchDataExpression__Group__1__Impl" + // InternalScope.g:8259:1: rule__MatchDataExpression__Group__1__Impl : ( '=' ) ; + public final void rule__MatchDataExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8049:1: ( ( ( rule__InfixExpression__Alternatives_1 )* ) ) - // InternalScope.g:8050:1: ( ( rule__InfixExpression__Alternatives_1 )* ) + // InternalScope.g:8263:1: ( ( '=' ) ) + // InternalScope.g:8264:1: ( '=' ) { - // InternalScope.g:8050:1: ( ( rule__InfixExpression__Alternatives_1 )* ) - // InternalScope.g:8051:2: ( rule__InfixExpression__Alternatives_1 )* + // InternalScope.g:8264:1: ( '=' ) + // InternalScope.g:8265:2: '=' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); + before(grammarAccess.getMatchDataExpressionAccess().getEqualsSignKeyword_1()); } - // InternalScope.g:8052:2: ( rule__InfixExpression__Alternatives_1 )* - loop65: - do { - int alt65=2; - int LA65_0 = input.LA(1); - - if ( (LA65_0==68) ) { - alt65=1; - } - - - switch (alt65) { - case 1 : - // InternalScope.g:8052:3: rule__InfixExpression__Alternatives_1 - { - pushFollow(FOLLOW_46); - rule__InfixExpression__Alternatives_1(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop65; - } - } while (true); - + match(input,14,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); + after(grammarAccess.getMatchDataExpressionAccess().getEqualsSignKeyword_1()); } } @@ -26858,26 +29280,21 @@ public final void rule__InfixExpression__Group__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__InfixExpression__Group__1__Impl" + // $ANTLR end "rule__MatchDataExpression__Group__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0__0" - // InternalScope.g:8061:1: rule__InfixExpression__Group_1_0__0 : rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 ; - public final void rule__InfixExpression__Group_1_0__0() throws RecognitionException { + // $ANTLR start "rule__MatchDataExpression__Group__2" + // InternalScope.g:8274:1: rule__MatchDataExpression__Group__2 : rule__MatchDataExpression__Group__2__Impl ; + public final void rule__MatchDataExpression__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8065:1: ( rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 ) - // InternalScope.g:8066:2: rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 + // InternalScope.g:8278:1: ( rule__MatchDataExpression__Group__2__Impl ) + // InternalScope.g:8279:2: rule__MatchDataExpression__Group__2__Impl { - pushFollow(FOLLOW_45); - rule__InfixExpression__Group_1_0__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__1(); + rule__MatchDataExpression__Group__2__Impl(); state._fsp--; if (state.failed) return ; @@ -26896,32 +29313,38 @@ public final void rule__InfixExpression__Group_1_0__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__0" + // $ANTLR end "rule__MatchDataExpression__Group__2" - // $ANTLR start "rule__InfixExpression__Group_1_0__0__Impl" - // InternalScope.g:8073:1: rule__InfixExpression__Group_1_0__0__Impl : ( () ) ; - public final void rule__InfixExpression__Group_1_0__0__Impl() throws RecognitionException { + // $ANTLR start "rule__MatchDataExpression__Group__2__Impl" + // InternalScope.g:8285:1: rule__MatchDataExpression__Group__2__Impl : ( ( rule__MatchDataExpression__ValueAssignment_2 ) ) ; + public final void rule__MatchDataExpression__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8077:1: ( ( () ) ) - // InternalScope.g:8078:1: ( () ) + // InternalScope.g:8289:1: ( ( ( rule__MatchDataExpression__ValueAssignment_2 ) ) ) + // InternalScope.g:8290:1: ( ( rule__MatchDataExpression__ValueAssignment_2 ) ) { - // InternalScope.g:8078:1: ( () ) - // InternalScope.g:8079:2: () + // InternalScope.g:8290:1: ( ( rule__MatchDataExpression__ValueAssignment_2 ) ) + // InternalScope.g:8291:2: ( rule__MatchDataExpression__ValueAssignment_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); + before(grammarAccess.getMatchDataExpressionAccess().getValueAssignment_2()); } - // InternalScope.g:8080:2: () - // InternalScope.g:8080:3: + // InternalScope.g:8292:2: ( rule__MatchDataExpression__ValueAssignment_2 ) + // InternalScope.g:8292:3: rule__MatchDataExpression__ValueAssignment_2 { + pushFollow(FOLLOW_2); + rule__MatchDataExpression__ValueAssignment_2(); + + state._fsp--; + if (state.failed) return ; + } if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); + after(grammarAccess.getMatchDataExpressionAccess().getValueAssignment_2()); } } @@ -26930,6 +29353,10 @@ public final void rule__InfixExpression__Group_1_0__0__Impl() throws Recognition } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -26937,26 +29364,26 @@ public final void rule__InfixExpression__Group_1_0__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__0__Impl" + // $ANTLR end "rule__MatchDataExpression__Group__2__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0__1" - // InternalScope.g:8088:1: rule__InfixExpression__Group_1_0__1 : rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 ; - public final void rule__InfixExpression__Group_1_0__1() throws RecognitionException { + // $ANTLR start "rule__LambdaDataExpression__Group__0" + // InternalScope.g:8301:1: rule__LambdaDataExpression__Group__0 : rule__LambdaDataExpression__Group__0__Impl rule__LambdaDataExpression__Group__1 ; + public final void rule__LambdaDataExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8092:1: ( rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 ) - // InternalScope.g:8093:2: rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 + // InternalScope.g:8305:1: ( rule__LambdaDataExpression__Group__0__Impl rule__LambdaDataExpression__Group__1 ) + // InternalScope.g:8306:2: rule__LambdaDataExpression__Group__0__Impl rule__LambdaDataExpression__Group__1 { - pushFollow(FOLLOW_3); - rule__InfixExpression__Group_1_0__1__Impl(); + pushFollow(FOLLOW_4); + rule__LambdaDataExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__2(); + rule__LambdaDataExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -26975,28 +29402,28 @@ public final void rule__InfixExpression__Group_1_0__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__1" + // $ANTLR end "rule__LambdaDataExpression__Group__0" - // $ANTLR start "rule__InfixExpression__Group_1_0__1__Impl" - // InternalScope.g:8100:1: rule__InfixExpression__Group_1_0__1__Impl : ( '.' ) ; - public final void rule__InfixExpression__Group_1_0__1__Impl() throws RecognitionException { + // $ANTLR start "rule__LambdaDataExpression__Group__0__Impl" + // InternalScope.g:8313:1: rule__LambdaDataExpression__Group__0__Impl : ( '[' ) ; + public final void rule__LambdaDataExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8104:1: ( ( '.' ) ) - // InternalScope.g:8105:1: ( '.' ) + // InternalScope.g:8317:1: ( ( '[' ) ) + // InternalScope.g:8318:1: ( '[' ) { - // InternalScope.g:8105:1: ( '.' ) - // InternalScope.g:8106:2: '.' + // InternalScope.g:8318:1: ( '[' ) + // InternalScope.g:8319:2: '[' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); + before(grammarAccess.getLambdaDataExpressionAccess().getLeftSquareBracketKeyword_0()); } - match(input,68,FOLLOW_2); if (state.failed) return ; + match(input,82,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); + after(grammarAccess.getLambdaDataExpressionAccess().getLeftSquareBracketKeyword_0()); } } @@ -27016,26 +29443,26 @@ public final void rule__InfixExpression__Group_1_0__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__1__Impl" + // $ANTLR end "rule__LambdaDataExpression__Group__0__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0__2" - // InternalScope.g:8115:1: rule__InfixExpression__Group_1_0__2 : rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 ; - public final void rule__InfixExpression__Group_1_0__2() throws RecognitionException { + // $ANTLR start "rule__LambdaDataExpression__Group__1" + // InternalScope.g:8328:1: rule__LambdaDataExpression__Group__1 : rule__LambdaDataExpression__Group__1__Impl rule__LambdaDataExpression__Group__2 ; + public final void rule__LambdaDataExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8119:1: ( rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 ) - // InternalScope.g:8120:2: rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 + // InternalScope.g:8332:1: ( rule__LambdaDataExpression__Group__1__Impl rule__LambdaDataExpression__Group__2 ) + // InternalScope.g:8333:2: rule__LambdaDataExpression__Group__1__Impl rule__LambdaDataExpression__Group__2 { - pushFollow(FOLLOW_31); - rule__InfixExpression__Group_1_0__2__Impl(); + pushFollow(FOLLOW_42); + rule__LambdaDataExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__3(); + rule__LambdaDataExpression__Group__2(); state._fsp--; if (state.failed) return ; @@ -27054,30 +29481,30 @@ public final void rule__InfixExpression__Group_1_0__2() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__2" + // $ANTLR end "rule__LambdaDataExpression__Group__1" - // $ANTLR start "rule__InfixExpression__Group_1_0__2__Impl" - // InternalScope.g:8127:1: rule__InfixExpression__Group_1_0__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) ; - public final void rule__InfixExpression__Group_1_0__2__Impl() throws RecognitionException { + // $ANTLR start "rule__LambdaDataExpression__Group__1__Impl" + // InternalScope.g:8340:1: rule__LambdaDataExpression__Group__1__Impl : ( ( rule__LambdaDataExpression__DescAssignment_1 ) ) ; + public final void rule__LambdaDataExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8131:1: ( ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) ) - // InternalScope.g:8132:1: ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) + // InternalScope.g:8344:1: ( ( ( rule__LambdaDataExpression__DescAssignment_1 ) ) ) + // InternalScope.g:8345:1: ( ( rule__LambdaDataExpression__DescAssignment_1 ) ) { - // InternalScope.g:8132:1: ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) - // InternalScope.g:8133:2: ( rule__InfixExpression__NameAssignment_1_0_2 ) + // InternalScope.g:8345:1: ( ( rule__LambdaDataExpression__DescAssignment_1 ) ) + // InternalScope.g:8346:2: ( rule__LambdaDataExpression__DescAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); + before(grammarAccess.getLambdaDataExpressionAccess().getDescAssignment_1()); } - // InternalScope.g:8134:2: ( rule__InfixExpression__NameAssignment_1_0_2 ) - // InternalScope.g:8134:3: rule__InfixExpression__NameAssignment_1_0_2 + // InternalScope.g:8347:2: ( rule__LambdaDataExpression__DescAssignment_1 ) + // InternalScope.g:8347:3: rule__LambdaDataExpression__DescAssignment_1 { pushFollow(FOLLOW_2); - rule__InfixExpression__NameAssignment_1_0_2(); + rule__LambdaDataExpression__DescAssignment_1(); state._fsp--; if (state.failed) return ; @@ -27085,7 +29512,7 @@ public final void rule__InfixExpression__Group_1_0__2__Impl() throws Recognition } if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); + after(grammarAccess.getLambdaDataExpressionAccess().getDescAssignment_1()); } } @@ -27105,26 +29532,26 @@ public final void rule__InfixExpression__Group_1_0__2__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__2__Impl" + // $ANTLR end "rule__LambdaDataExpression__Group__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0__3" - // InternalScope.g:8142:1: rule__InfixExpression__Group_1_0__3 : rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 ; - public final void rule__InfixExpression__Group_1_0__3() throws RecognitionException { + // $ANTLR start "rule__LambdaDataExpression__Group__2" + // InternalScope.g:8355:1: rule__LambdaDataExpression__Group__2 : rule__LambdaDataExpression__Group__2__Impl rule__LambdaDataExpression__Group__3 ; + public final void rule__LambdaDataExpression__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8146:1: ( rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 ) - // InternalScope.g:8147:2: rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 + // InternalScope.g:8359:1: ( rule__LambdaDataExpression__Group__2__Impl rule__LambdaDataExpression__Group__3 ) + // InternalScope.g:8360:2: rule__LambdaDataExpression__Group__2__Impl rule__LambdaDataExpression__Group__3 { - pushFollow(FOLLOW_70); - rule__InfixExpression__Group_1_0__3__Impl(); + pushFollow(FOLLOW_17); + rule__LambdaDataExpression__Group__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__4(); + rule__LambdaDataExpression__Group__3(); state._fsp--; if (state.failed) return ; @@ -27143,28 +29570,28 @@ public final void rule__InfixExpression__Group_1_0__3() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__3" + // $ANTLR end "rule__LambdaDataExpression__Group__2" - // $ANTLR start "rule__InfixExpression__Group_1_0__3__Impl" - // InternalScope.g:8154:1: rule__InfixExpression__Group_1_0__3__Impl : ( '(' ) ; - public final void rule__InfixExpression__Group_1_0__3__Impl() throws RecognitionException { + // $ANTLR start "rule__LambdaDataExpression__Group__2__Impl" + // InternalScope.g:8367:1: rule__LambdaDataExpression__Group__2__Impl : ( '|' ) ; + public final void rule__LambdaDataExpression__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8158:1: ( ( '(' ) ) - // InternalScope.g:8159:1: ( '(' ) + // InternalScope.g:8371:1: ( ( '|' ) ) + // InternalScope.g:8372:1: ( '|' ) { - // InternalScope.g:8159:1: ( '(' ) - // InternalScope.g:8160:2: '(' + // InternalScope.g:8372:1: ( '|' ) + // InternalScope.g:8373:2: '|' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); + before(grammarAccess.getLambdaDataExpressionAccess().getVerticalLineKeyword_2()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + match(input,92,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); + after(grammarAccess.getLambdaDataExpressionAccess().getVerticalLineKeyword_2()); } } @@ -27184,26 +29611,26 @@ public final void rule__InfixExpression__Group_1_0__3__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__3__Impl" + // $ANTLR end "rule__LambdaDataExpression__Group__2__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0__4" - // InternalScope.g:8169:1: rule__InfixExpression__Group_1_0__4 : rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 ; - public final void rule__InfixExpression__Group_1_0__4() throws RecognitionException { + // $ANTLR start "rule__LambdaDataExpression__Group__3" + // InternalScope.g:8382:1: rule__LambdaDataExpression__Group__3 : rule__LambdaDataExpression__Group__3__Impl rule__LambdaDataExpression__Group__4 ; + public final void rule__LambdaDataExpression__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8173:1: ( rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 ) - // InternalScope.g:8174:2: rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 + // InternalScope.g:8386:1: ( rule__LambdaDataExpression__Group__3__Impl rule__LambdaDataExpression__Group__4 ) + // InternalScope.g:8387:2: rule__LambdaDataExpression__Group__3__Impl rule__LambdaDataExpression__Group__4 { - pushFollow(FOLLOW_70); - rule__InfixExpression__Group_1_0__4__Impl(); + pushFollow(FOLLOW_30); + rule__LambdaDataExpression__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__5(); + rule__LambdaDataExpression__Group__4(); state._fsp--; if (state.failed) return ; @@ -27222,49 +29649,38 @@ public final void rule__InfixExpression__Group_1_0__4() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__4" + // $ANTLR end "rule__LambdaDataExpression__Group__3" - // $ANTLR start "rule__InfixExpression__Group_1_0__4__Impl" - // InternalScope.g:8181:1: rule__InfixExpression__Group_1_0__4__Impl : ( ( rule__InfixExpression__Group_1_0_4__0 )? ) ; - public final void rule__InfixExpression__Group_1_0__4__Impl() throws RecognitionException { + // $ANTLR start "rule__LambdaDataExpression__Group__3__Impl" + // InternalScope.g:8394:1: rule__LambdaDataExpression__Group__3__Impl : ( ( rule__LambdaDataExpression__ValueAssignment_3 ) ) ; + public final void rule__LambdaDataExpression__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8185:1: ( ( ( rule__InfixExpression__Group_1_0_4__0 )? ) ) - // InternalScope.g:8186:1: ( ( rule__InfixExpression__Group_1_0_4__0 )? ) + // InternalScope.g:8398:1: ( ( ( rule__LambdaDataExpression__ValueAssignment_3 ) ) ) + // InternalScope.g:8399:1: ( ( rule__LambdaDataExpression__ValueAssignment_3 ) ) { - // InternalScope.g:8186:1: ( ( rule__InfixExpression__Group_1_0_4__0 )? ) - // InternalScope.g:8187:2: ( rule__InfixExpression__Group_1_0_4__0 )? + // InternalScope.g:8399:1: ( ( rule__LambdaDataExpression__ValueAssignment_3 ) ) + // InternalScope.g:8400:2: ( rule__LambdaDataExpression__ValueAssignment_3 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); - } - // InternalScope.g:8188:2: ( rule__InfixExpression__Group_1_0_4__0 )? - int alt66=2; - int LA66_0 = input.LA(1); - - if ( ((LA66_0>=RULE_ID && LA66_0<=RULE_REAL)||LA66_0==19||(LA66_0>=22 && LA66_0<=35)||LA66_0==45||LA66_0==51||LA66_0==69||LA66_0==73||LA66_0==76||(LA66_0>=78 && LA66_0<=79)||(LA66_0>=85 && LA66_0<=86)) ) { - alt66=1; + before(grammarAccess.getLambdaDataExpressionAccess().getValueAssignment_3()); } - switch (alt66) { - case 1 : - // InternalScope.g:8188:3: rule__InfixExpression__Group_1_0_4__0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0_4__0(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:8401:2: ( rule__LambdaDataExpression__ValueAssignment_3 ) + // InternalScope.g:8401:3: rule__LambdaDataExpression__ValueAssignment_3 + { + pushFollow(FOLLOW_2); + rule__LambdaDataExpression__ValueAssignment_3(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); + after(grammarAccess.getLambdaDataExpressionAccess().getValueAssignment_3()); } } @@ -27284,21 +29700,21 @@ public final void rule__InfixExpression__Group_1_0__4__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__4__Impl" + // $ANTLR end "rule__LambdaDataExpression__Group__3__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0__5" - // InternalScope.g:8196:1: rule__InfixExpression__Group_1_0__5 : rule__InfixExpression__Group_1_0__5__Impl ; - public final void rule__InfixExpression__Group_1_0__5() throws RecognitionException { + // $ANTLR start "rule__LambdaDataExpression__Group__4" + // InternalScope.g:8409:1: rule__LambdaDataExpression__Group__4 : rule__LambdaDataExpression__Group__4__Impl ; + public final void rule__LambdaDataExpression__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8200:1: ( rule__InfixExpression__Group_1_0__5__Impl ) - // InternalScope.g:8201:2: rule__InfixExpression__Group_1_0__5__Impl + // InternalScope.g:8413:1: ( rule__LambdaDataExpression__Group__4__Impl ) + // InternalScope.g:8414:2: rule__LambdaDataExpression__Group__4__Impl { pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0__5__Impl(); + rule__LambdaDataExpression__Group__4__Impl(); state._fsp--; if (state.failed) return ; @@ -27317,28 +29733,28 @@ public final void rule__InfixExpression__Group_1_0__5() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__5" + // $ANTLR end "rule__LambdaDataExpression__Group__4" - // $ANTLR start "rule__InfixExpression__Group_1_0__5__Impl" - // InternalScope.g:8207:1: rule__InfixExpression__Group_1_0__5__Impl : ( ')' ) ; - public final void rule__InfixExpression__Group_1_0__5__Impl() throws RecognitionException { + // $ANTLR start "rule__LambdaDataExpression__Group__4__Impl" + // InternalScope.g:8420:1: rule__LambdaDataExpression__Group__4__Impl : ( ']' ) ; + public final void rule__LambdaDataExpression__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8211:1: ( ( ')' ) ) - // InternalScope.g:8212:1: ( ')' ) + // InternalScope.g:8424:1: ( ( ']' ) ) + // InternalScope.g:8425:1: ( ']' ) { - // InternalScope.g:8212:1: ( ')' ) - // InternalScope.g:8213:2: ')' + // InternalScope.g:8425:1: ( ']' ) + // InternalScope.g:8426:2: ']' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); + before(grammarAccess.getLambdaDataExpressionAccess().getRightSquareBracketKeyword_4()); } - match(input,52,FOLLOW_2); if (state.failed) return ; + match(input,83,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); + after(grammarAccess.getLambdaDataExpressionAccess().getRightSquareBracketKeyword_4()); } } @@ -27358,26 +29774,21 @@ public final void rule__InfixExpression__Group_1_0__5__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0__5__Impl" + // $ANTLR end "rule__LambdaDataExpression__Group__4__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0_4__0" - // InternalScope.g:8223:1: rule__InfixExpression__Group_1_0_4__0 : rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 ; - public final void rule__InfixExpression__Group_1_0_4__0() throws RecognitionException { + // $ANTLR start "rule__Naming__Group_0__0" + // InternalScope.g:8436:1: rule__Naming__Group_0__0 : rule__Naming__Group_0__0__Impl ; + public final void rule__Naming__Group_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8227:1: ( rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 ) - // InternalScope.g:8228:2: rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 + // InternalScope.g:8440:1: ( rule__Naming__Group_0__0__Impl ) + // InternalScope.g:8441:2: rule__Naming__Group_0__0__Impl { - pushFollow(FOLLOW_71); - rule__InfixExpression__Group_1_0_4__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0_4__1(); + rule__Naming__Group_0__0__Impl(); state._fsp--; if (state.failed) return ; @@ -27396,30 +29807,30 @@ public final void rule__InfixExpression__Group_1_0_4__0() throws RecognitionExce } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0_4__0" + // $ANTLR end "rule__Naming__Group_0__0" - // $ANTLR start "rule__InfixExpression__Group_1_0_4__0__Impl" - // InternalScope.g:8235:1: rule__InfixExpression__Group_1_0_4__0__Impl : ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) ; - public final void rule__InfixExpression__Group_1_0_4__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Naming__Group_0__0__Impl" + // InternalScope.g:8447:1: rule__Naming__Group_0__0__Impl : ( ( rule__Naming__Group_0_0__0 ) ) ; + public final void rule__Naming__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8239:1: ( ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) ) - // InternalScope.g:8240:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) + // InternalScope.g:8451:1: ( ( ( rule__Naming__Group_0_0__0 ) ) ) + // InternalScope.g:8452:1: ( ( rule__Naming__Group_0_0__0 ) ) { - // InternalScope.g:8240:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) - // InternalScope.g:8241:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) + // InternalScope.g:8452:1: ( ( rule__Naming__Group_0_0__0 ) ) + // InternalScope.g:8453:2: ( rule__Naming__Group_0_0__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); + before(grammarAccess.getNamingAccess().getGroup_0_0()); } - // InternalScope.g:8242:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) - // InternalScope.g:8242:3: rule__InfixExpression__ParamsAssignment_1_0_4_0 + // InternalScope.g:8454:2: ( rule__Naming__Group_0_0__0 ) + // InternalScope.g:8454:3: rule__Naming__Group_0_0__0 { pushFollow(FOLLOW_2); - rule__InfixExpression__ParamsAssignment_1_0_4_0(); + rule__Naming__Group_0_0__0(); state._fsp--; if (state.failed) return ; @@ -27427,7 +29838,7 @@ public final void rule__InfixExpression__Group_1_0_4__0__Impl() throws Recogniti } if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); + after(grammarAccess.getNamingAccess().getGroup_0_0()); } } @@ -27447,21 +29858,26 @@ public final void rule__InfixExpression__Group_1_0_4__0__Impl() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0_4__0__Impl" + // $ANTLR end "rule__Naming__Group_0__0__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0_4__1" - // InternalScope.g:8250:1: rule__InfixExpression__Group_1_0_4__1 : rule__InfixExpression__Group_1_0_4__1__Impl ; - public final void rule__InfixExpression__Group_1_0_4__1() throws RecognitionException { + // $ANTLR start "rule__Naming__Group_0_0__0" + // InternalScope.g:8463:1: rule__Naming__Group_0_0__0 : rule__Naming__Group_0_0__0__Impl rule__Naming__Group_0_0__1 ; + public final void rule__Naming__Group_0_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8254:1: ( rule__InfixExpression__Group_1_0_4__1__Impl ) - // InternalScope.g:8255:2: rule__InfixExpression__Group_1_0_4__1__Impl + // InternalScope.g:8467:1: ( rule__Naming__Group_0_0__0__Impl rule__Naming__Group_0_0__1 ) + // InternalScope.g:8468:2: rule__Naming__Group_0_0__0__Impl rule__Naming__Group_0_0__1 { + pushFollow(FOLLOW_17); + rule__Naming__Group_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0_4__1__Impl(); + rule__Naming__Group_0_0__1(); state._fsp--; if (state.failed) return ; @@ -27480,56 +29896,28 @@ public final void rule__InfixExpression__Group_1_0_4__1() throws RecognitionExce } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0_4__1" + // $ANTLR end "rule__Naming__Group_0_0__0" - // $ANTLR start "rule__InfixExpression__Group_1_0_4__1__Impl" - // InternalScope.g:8261:1: rule__InfixExpression__Group_1_0_4__1__Impl : ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) ; - public final void rule__InfixExpression__Group_1_0_4__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Naming__Group_0_0__0__Impl" + // InternalScope.g:8475:1: rule__Naming__Group_0_0__0__Impl : ( '(' ) ; + public final void rule__Naming__Group_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8265:1: ( ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) ) - // InternalScope.g:8266:1: ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) + // InternalScope.g:8479:1: ( ( '(' ) ) + // InternalScope.g:8480:1: ( '(' ) { - // InternalScope.g:8266:1: ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) - // InternalScope.g:8267:2: ( rule__InfixExpression__Group_1_0_4_1__0 )* + // InternalScope.g:8480:1: ( '(' ) + // InternalScope.g:8481:2: '(' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); + before(grammarAccess.getNamingAccess().getLeftParenthesisKeyword_0_0_0()); } - // InternalScope.g:8268:2: ( rule__InfixExpression__Group_1_0_4_1__0 )* - loop67: - do { - int alt67=2; - int LA67_0 = input.LA(1); - - if ( (LA67_0==60) ) { - alt67=1; - } - - - switch (alt67) { - case 1 : - // InternalScope.g:8268:3: rule__InfixExpression__Group_1_0_4_1__0 - { - pushFollow(FOLLOW_39); - rule__InfixExpression__Group_1_0_4_1__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop67; - } - } while (true); - + match(input,77,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); + after(grammarAccess.getNamingAccess().getLeftParenthesisKeyword_0_0_0()); } } @@ -27549,26 +29937,26 @@ public final void rule__InfixExpression__Group_1_0_4__1__Impl() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0_4__1__Impl" + // $ANTLR end "rule__Naming__Group_0_0__0__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__0" - // InternalScope.g:8277:1: rule__InfixExpression__Group_1_0_4_1__0 : rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 ; - public final void rule__InfixExpression__Group_1_0_4_1__0() throws RecognitionException { + // $ANTLR start "rule__Naming__Group_0_0__1" + // InternalScope.g:8490:1: rule__Naming__Group_0_0__1 : rule__Naming__Group_0_0__1__Impl rule__Naming__Group_0_0__2 ; + public final void rule__Naming__Group_0_0__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8281:1: ( rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 ) - // InternalScope.g:8282:2: rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 + // InternalScope.g:8494:1: ( rule__Naming__Group_0_0__1__Impl rule__Naming__Group_0_0__2 ) + // InternalScope.g:8495:2: rule__Naming__Group_0_0__1__Impl rule__Naming__Group_0_0__2 { - pushFollow(FOLLOW_17); - rule__InfixExpression__Group_1_0_4_1__0__Impl(); + pushFollow(FOLLOW_33); + rule__Naming__Group_0_0__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0_4_1__1(); + rule__Naming__Group_0_0__2(); state._fsp--; if (state.failed) return ; @@ -27587,28 +29975,38 @@ public final void rule__InfixExpression__Group_1_0_4_1__0() throws RecognitionEx } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__0" + // $ANTLR end "rule__Naming__Group_0_0__1" - // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__0__Impl" - // InternalScope.g:8289:1: rule__InfixExpression__Group_1_0_4_1__0__Impl : ( ',' ) ; - public final void rule__InfixExpression__Group_1_0_4_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Naming__Group_0_0__1__Impl" + // InternalScope.g:8502:1: rule__Naming__Group_0_0__1__Impl : ( ( rule__Naming__NamesAssignment_0_0_1 ) ) ; + public final void rule__Naming__Group_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8293:1: ( ( ',' ) ) - // InternalScope.g:8294:1: ( ',' ) + // InternalScope.g:8506:1: ( ( ( rule__Naming__NamesAssignment_0_0_1 ) ) ) + // InternalScope.g:8507:1: ( ( rule__Naming__NamesAssignment_0_0_1 ) ) { - // InternalScope.g:8294:1: ( ',' ) - // InternalScope.g:8295:2: ',' + // InternalScope.g:8507:1: ( ( rule__Naming__NamesAssignment_0_0_1 ) ) + // InternalScope.g:8508:2: ( rule__Naming__NamesAssignment_0_0_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); + before(grammarAccess.getNamingAccess().getNamesAssignment_0_0_1()); } - match(input,60,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:8509:2: ( rule__Naming__NamesAssignment_0_0_1 ) + // InternalScope.g:8509:3: rule__Naming__NamesAssignment_0_0_1 + { + pushFollow(FOLLOW_2); + rule__Naming__NamesAssignment_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); + after(grammarAccess.getNamingAccess().getNamesAssignment_0_0_1()); } } @@ -27628,21 +30026,26 @@ public final void rule__InfixExpression__Group_1_0_4_1__0__Impl() throws Recogni } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__0__Impl" + // $ANTLR end "rule__Naming__Group_0_0__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__1" - // InternalScope.g:8304:1: rule__InfixExpression__Group_1_0_4_1__1 : rule__InfixExpression__Group_1_0_4_1__1__Impl ; - public final void rule__InfixExpression__Group_1_0_4_1__1() throws RecognitionException { + // $ANTLR start "rule__Naming__Group_0_0__2" + // InternalScope.g:8517:1: rule__Naming__Group_0_0__2 : rule__Naming__Group_0_0__2__Impl rule__Naming__Group_0_0__3 ; + public final void rule__Naming__Group_0_0__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8308:1: ( rule__InfixExpression__Group_1_0_4_1__1__Impl ) - // InternalScope.g:8309:2: rule__InfixExpression__Group_1_0_4_1__1__Impl + // InternalScope.g:8521:1: ( rule__Naming__Group_0_0__2__Impl rule__Naming__Group_0_0__3 ) + // InternalScope.g:8522:2: rule__Naming__Group_0_0__2__Impl rule__Naming__Group_0_0__3 { + pushFollow(FOLLOW_33); + rule__Naming__Group_0_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_0_4_1__1__Impl(); + rule__Naming__Group_0_0__3(); state._fsp--; if (state.failed) return ; @@ -27661,38 +30064,56 @@ public final void rule__InfixExpression__Group_1_0_4_1__1() throws RecognitionEx } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__1" + // $ANTLR end "rule__Naming__Group_0_0__2" - // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__1__Impl" - // InternalScope.g:8315:1: rule__InfixExpression__Group_1_0_4_1__1__Impl : ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) ; - public final void rule__InfixExpression__Group_1_0_4_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Naming__Group_0_0__2__Impl" + // InternalScope.g:8529:1: rule__Naming__Group_0_0__2__Impl : ( ( rule__Naming__Group_0_0_2__0 )* ) ; + public final void rule__Naming__Group_0_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8319:1: ( ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) ) - // InternalScope.g:8320:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) + // InternalScope.g:8533:1: ( ( ( rule__Naming__Group_0_0_2__0 )* ) ) + // InternalScope.g:8534:1: ( ( rule__Naming__Group_0_0_2__0 )* ) { - // InternalScope.g:8320:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) - // InternalScope.g:8321:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) + // InternalScope.g:8534:1: ( ( rule__Naming__Group_0_0_2__0 )* ) + // InternalScope.g:8535:2: ( rule__Naming__Group_0_0_2__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); + before(grammarAccess.getNamingAccess().getGroup_0_0_2()); } - // InternalScope.g:8322:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) - // InternalScope.g:8322:3: rule__InfixExpression__ParamsAssignment_1_0_4_1_1 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__ParamsAssignment_1_0_4_1_1(); + // InternalScope.g:8536:2: ( rule__Naming__Group_0_0_2__0 )* + loop90: + do { + int alt90=2; + int LA90_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA90_0==86) ) { + alt90=1; + } - } + + switch (alt90) { + case 1 : + // InternalScope.g:8536:3: rule__Naming__Group_0_0_2__0 + { + pushFollow(FOLLOW_39); + rule__Naming__Group_0_0_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop90; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); + after(grammarAccess.getNamingAccess().getGroup_0_0_2()); } } @@ -27712,26 +30133,21 @@ public final void rule__InfixExpression__Group_1_0_4_1__1__Impl() throws Recogni } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__1__Impl" + // $ANTLR end "rule__Naming__Group_0_0__2__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_1__0" - // InternalScope.g:8331:1: rule__InfixExpression__Group_1_1__0 : rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 ; - public final void rule__InfixExpression__Group_1_1__0() throws RecognitionException { + // $ANTLR start "rule__Naming__Group_0_0__3" + // InternalScope.g:8544:1: rule__Naming__Group_0_0__3 : rule__Naming__Group_0_0__3__Impl ; + public final void rule__Naming__Group_0_0__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8335:1: ( rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 ) - // InternalScope.g:8336:2: rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 + // InternalScope.g:8548:1: ( rule__Naming__Group_0_0__3__Impl ) + // InternalScope.g:8549:2: rule__Naming__Group_0_0__3__Impl { - pushFollow(FOLLOW_45); - rule__InfixExpression__Group_1_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_1__1(); + rule__Naming__Group_0_0__3__Impl(); state._fsp--; if (state.failed) return ; @@ -27750,32 +30166,28 @@ public final void rule__InfixExpression__Group_1_1__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_1__0" + // $ANTLR end "rule__Naming__Group_0_0__3" - // $ANTLR start "rule__InfixExpression__Group_1_1__0__Impl" - // InternalScope.g:8343:1: rule__InfixExpression__Group_1_1__0__Impl : ( () ) ; - public final void rule__InfixExpression__Group_1_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Naming__Group_0_0__3__Impl" + // InternalScope.g:8555:1: rule__Naming__Group_0_0__3__Impl : ( ')' ) ; + public final void rule__Naming__Group_0_0__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8347:1: ( ( () ) ) - // InternalScope.g:8348:1: ( () ) + // InternalScope.g:8559:1: ( ( ')' ) ) + // InternalScope.g:8560:1: ( ')' ) { - // InternalScope.g:8348:1: ( () ) - // InternalScope.g:8349:2: () + // InternalScope.g:8560:1: ( ')' ) + // InternalScope.g:8561:2: ')' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); - } - // InternalScope.g:8350:2: () - // InternalScope.g:8350:3: - { + before(grammarAccess.getNamingAccess().getRightParenthesisKeyword_0_0_3()); } - + match(input,78,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); + after(grammarAccess.getNamingAccess().getRightParenthesisKeyword_0_0_3()); } } @@ -27784,6 +30196,10 @@ public final void rule__InfixExpression__Group_1_1__0__Impl() throws Recognition } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -27791,26 +30207,26 @@ public final void rule__InfixExpression__Group_1_1__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_1__0__Impl" + // $ANTLR end "rule__Naming__Group_0_0__3__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_1__1" - // InternalScope.g:8358:1: rule__InfixExpression__Group_1_1__1 : rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 ; - public final void rule__InfixExpression__Group_1_1__1() throws RecognitionException { + // $ANTLR start "rule__Naming__Group_0_0_2__0" + // InternalScope.g:8571:1: rule__Naming__Group_0_0_2__0 : rule__Naming__Group_0_0_2__0__Impl rule__Naming__Group_0_0_2__1 ; + public final void rule__Naming__Group_0_0_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8362:1: ( rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 ) - // InternalScope.g:8363:2: rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 + // InternalScope.g:8575:1: ( rule__Naming__Group_0_0_2__0__Impl rule__Naming__Group_0_0_2__1 ) + // InternalScope.g:8576:2: rule__Naming__Group_0_0_2__0__Impl rule__Naming__Group_0_0_2__1 { - pushFollow(FOLLOW_48); - rule__InfixExpression__Group_1_1__1__Impl(); + pushFollow(FOLLOW_17); + rule__Naming__Group_0_0_2__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_1__2(); + rule__Naming__Group_0_0_2__1(); state._fsp--; if (state.failed) return ; @@ -27829,28 +30245,28 @@ public final void rule__InfixExpression__Group_1_1__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_1__1" + // $ANTLR end "rule__Naming__Group_0_0_2__0" - // $ANTLR start "rule__InfixExpression__Group_1_1__1__Impl" - // InternalScope.g:8370:1: rule__InfixExpression__Group_1_1__1__Impl : ( '.' ) ; - public final void rule__InfixExpression__Group_1_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Naming__Group_0_0_2__0__Impl" + // InternalScope.g:8583:1: rule__Naming__Group_0_0_2__0__Impl : ( ',' ) ; + public final void rule__Naming__Group_0_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8374:1: ( ( '.' ) ) - // InternalScope.g:8375:1: ( '.' ) + // InternalScope.g:8587:1: ( ( ',' ) ) + // InternalScope.g:8588:1: ( ',' ) { - // InternalScope.g:8375:1: ( '.' ) - // InternalScope.g:8376:2: '.' + // InternalScope.g:8588:1: ( ',' ) + // InternalScope.g:8589:2: ',' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); + before(grammarAccess.getNamingAccess().getCommaKeyword_0_0_2_0()); } - match(input,68,FOLLOW_2); if (state.failed) return ; + match(input,86,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); + after(grammarAccess.getNamingAccess().getCommaKeyword_0_0_2_0()); } } @@ -27870,21 +30286,21 @@ public final void rule__InfixExpression__Group_1_1__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_1__1__Impl" + // $ANTLR end "rule__Naming__Group_0_0_2__0__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_1__2" - // InternalScope.g:8385:1: rule__InfixExpression__Group_1_1__2 : rule__InfixExpression__Group_1_1__2__Impl ; - public final void rule__InfixExpression__Group_1_1__2() throws RecognitionException { + // $ANTLR start "rule__Naming__Group_0_0_2__1" + // InternalScope.g:8598:1: rule__Naming__Group_0_0_2__1 : rule__Naming__Group_0_0_2__1__Impl ; + public final void rule__Naming__Group_0_0_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8389:1: ( rule__InfixExpression__Group_1_1__2__Impl ) - // InternalScope.g:8390:2: rule__InfixExpression__Group_1_1__2__Impl + // InternalScope.g:8602:1: ( rule__Naming__Group_0_0_2__1__Impl ) + // InternalScope.g:8603:2: rule__Naming__Group_0_0_2__1__Impl { pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_1__2__Impl(); + rule__Naming__Group_0_0_2__1__Impl(); state._fsp--; if (state.failed) return ; @@ -27903,30 +30319,30 @@ public final void rule__InfixExpression__Group_1_1__2() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_1__2" + // $ANTLR end "rule__Naming__Group_0_0_2__1" - // $ANTLR start "rule__InfixExpression__Group_1_1__2__Impl" - // InternalScope.g:8396:1: rule__InfixExpression__Group_1_1__2__Impl : ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) ; - public final void rule__InfixExpression__Group_1_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__Naming__Group_0_0_2__1__Impl" + // InternalScope.g:8609:1: rule__Naming__Group_0_0_2__1__Impl : ( ( rule__Naming__NamesAssignment_0_0_2_1 ) ) ; + public final void rule__Naming__Group_0_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8400:1: ( ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) ) - // InternalScope.g:8401:1: ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) + // InternalScope.g:8613:1: ( ( ( rule__Naming__NamesAssignment_0_0_2_1 ) ) ) + // InternalScope.g:8614:1: ( ( rule__Naming__NamesAssignment_0_0_2_1 ) ) { - // InternalScope.g:8401:1: ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) - // InternalScope.g:8402:2: ( rule__InfixExpression__TypeAssignment_1_1_2 ) + // InternalScope.g:8614:1: ( ( rule__Naming__NamesAssignment_0_0_2_1 ) ) + // InternalScope.g:8615:2: ( rule__Naming__NamesAssignment_0_0_2_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); + before(grammarAccess.getNamingAccess().getNamesAssignment_0_0_2_1()); } - // InternalScope.g:8403:2: ( rule__InfixExpression__TypeAssignment_1_1_2 ) - // InternalScope.g:8403:3: rule__InfixExpression__TypeAssignment_1_1_2 + // InternalScope.g:8616:2: ( rule__Naming__NamesAssignment_0_0_2_1 ) + // InternalScope.g:8616:3: rule__Naming__NamesAssignment_0_0_2_1 { pushFollow(FOLLOW_2); - rule__InfixExpression__TypeAssignment_1_1_2(); + rule__Naming__NamesAssignment_0_0_2_1(); state._fsp--; if (state.failed) return ; @@ -27934,7 +30350,7 @@ public final void rule__InfixExpression__Group_1_1__2__Impl() throws Recognition } if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); + after(grammarAccess.getNamingAccess().getNamesAssignment_0_0_2_1()); } } @@ -27954,26 +30370,26 @@ public final void rule__InfixExpression__Group_1_1__2__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_1__2__Impl" + // $ANTLR end "rule__Naming__Group_0_0_2__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_2__0" - // InternalScope.g:8412:1: rule__InfixExpression__Group_1_2__0 : rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 ; - public final void rule__InfixExpression__Group_1_2__0() throws RecognitionException { + // $ANTLR start "rule__NamingExpression__Group_1__0" + // InternalScope.g:8625:1: rule__NamingExpression__Group_1__0 : rule__NamingExpression__Group_1__0__Impl rule__NamingExpression__Group_1__1 ; + public final void rule__NamingExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8416:1: ( rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 ) - // InternalScope.g:8417:2: rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 + // InternalScope.g:8629:1: ( rule__NamingExpression__Group_1__0__Impl rule__NamingExpression__Group_1__1 ) + // InternalScope.g:8630:2: rule__NamingExpression__Group_1__0__Impl rule__NamingExpression__Group_1__1 { - pushFollow(FOLLOW_45); - rule__InfixExpression__Group_1_2__0__Impl(); + pushFollow(FOLLOW_17); + rule__NamingExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__1(); + rule__NamingExpression__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -27992,32 +30408,49 @@ public final void rule__InfixExpression__Group_1_2__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__0" + // $ANTLR end "rule__NamingExpression__Group_1__0" - // $ANTLR start "rule__InfixExpression__Group_1_2__0__Impl" - // InternalScope.g:8424:1: rule__InfixExpression__Group_1_2__0__Impl : ( () ) ; - public final void rule__InfixExpression__Group_1_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__NamingExpression__Group_1__0__Impl" + // InternalScope.g:8637:1: rule__NamingExpression__Group_1__0__Impl : ( ( rule__NamingExpression__FactoryAssignment_1_0 )? ) ; + public final void rule__NamingExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8428:1: ( ( () ) ) - // InternalScope.g:8429:1: ( () ) + // InternalScope.g:8641:1: ( ( ( rule__NamingExpression__FactoryAssignment_1_0 )? ) ) + // InternalScope.g:8642:1: ( ( rule__NamingExpression__FactoryAssignment_1_0 )? ) { - // InternalScope.g:8429:1: ( () ) - // InternalScope.g:8430:2: () + // InternalScope.g:8642:1: ( ( rule__NamingExpression__FactoryAssignment_1_0 )? ) + // InternalScope.g:8643:2: ( rule__NamingExpression__FactoryAssignment_1_0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); + before(grammarAccess.getNamingExpressionAccess().getFactoryAssignment_1_0()); } - // InternalScope.g:8431:2: () - // InternalScope.g:8431:3: - { + // InternalScope.g:8644:2: ( rule__NamingExpression__FactoryAssignment_1_0 )? + int alt91=2; + int LA91_0 = input.LA(1); + + if ( (LA91_0==84) ) { + alt91=1; + } + switch (alt91) { + case 1 : + // InternalScope.g:8644:3: rule__NamingExpression__FactoryAssignment_1_0 + { + pushFollow(FOLLOW_2); + rule__NamingExpression__FactoryAssignment_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + } if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); + after(grammarAccess.getNamingExpressionAccess().getFactoryAssignment_1_0()); } } @@ -28026,6 +30459,10 @@ public final void rule__InfixExpression__Group_1_2__0__Impl() throws Recognition } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -28033,26 +30470,21 @@ public final void rule__InfixExpression__Group_1_2__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__0__Impl" + // $ANTLR end "rule__NamingExpression__Group_1__0__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_2__1" - // InternalScope.g:8439:1: rule__InfixExpression__Group_1_2__1 : rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 ; - public final void rule__InfixExpression__Group_1_2__1() throws RecognitionException { + // $ANTLR start "rule__NamingExpression__Group_1__1" + // InternalScope.g:8652:1: rule__NamingExpression__Group_1__1 : rule__NamingExpression__Group_1__1__Impl ; + public final void rule__NamingExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8443:1: ( rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 ) - // InternalScope.g:8444:2: rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 + // InternalScope.g:8656:1: ( rule__NamingExpression__Group_1__1__Impl ) + // InternalScope.g:8657:2: rule__NamingExpression__Group_1__1__Impl { - pushFollow(FOLLOW_72); - rule__InfixExpression__Group_1_2__1__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__2(); + rule__NamingExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; @@ -28071,28 +30503,38 @@ public final void rule__InfixExpression__Group_1_2__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__1" + // $ANTLR end "rule__NamingExpression__Group_1__1" - // $ANTLR start "rule__InfixExpression__Group_1_2__1__Impl" - // InternalScope.g:8451:1: rule__InfixExpression__Group_1_2__1__Impl : ( '.' ) ; - public final void rule__InfixExpression__Group_1_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__NamingExpression__Group_1__1__Impl" + // InternalScope.g:8663:1: rule__NamingExpression__Group_1__1__Impl : ( ( rule__NamingExpression__ExpressionAssignment_1_1 ) ) ; + public final void rule__NamingExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8455:1: ( ( '.' ) ) - // InternalScope.g:8456:1: ( '.' ) + // InternalScope.g:8667:1: ( ( ( rule__NamingExpression__ExpressionAssignment_1_1 ) ) ) + // InternalScope.g:8668:1: ( ( rule__NamingExpression__ExpressionAssignment_1_1 ) ) { - // InternalScope.g:8456:1: ( '.' ) - // InternalScope.g:8457:2: '.' + // InternalScope.g:8668:1: ( ( rule__NamingExpression__ExpressionAssignment_1_1 ) ) + // InternalScope.g:8669:2: ( rule__NamingExpression__ExpressionAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); + before(grammarAccess.getNamingExpressionAccess().getExpressionAssignment_1_1()); } - match(input,68,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:8670:2: ( rule__NamingExpression__ExpressionAssignment_1_1 ) + // InternalScope.g:8670:3: rule__NamingExpression__ExpressionAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__NamingExpression__ExpressionAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); + after(grammarAccess.getNamingExpressionAccess().getExpressionAssignment_1_1()); } } @@ -28112,26 +30554,26 @@ public final void rule__InfixExpression__Group_1_2__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__1__Impl" + // $ANTLR end "rule__NamingExpression__Group_1__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_2__2" - // InternalScope.g:8466:1: rule__InfixExpression__Group_1_2__2 : rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 ; - public final void rule__InfixExpression__Group_1_2__2() throws RecognitionException { + // $ANTLR start "rule__QualifiedID__Group__0" + // InternalScope.g:8679:1: rule__QualifiedID__Group__0 : rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 ; + public final void rule__QualifiedID__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8470:1: ( rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 ) - // InternalScope.g:8471:2: rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 + // InternalScope.g:8683:1: ( rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 ) + // InternalScope.g:8684:2: rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 { - pushFollow(FOLLOW_31); - rule__InfixExpression__Group_1_2__2__Impl(); + pushFollow(FOLLOW_43); + rule__QualifiedID__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__3(); + rule__QualifiedID__Group__1(); state._fsp--; if (state.failed) return ; @@ -28150,38 +30592,32 @@ public final void rule__InfixExpression__Group_1_2__2() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__2" + // $ANTLR end "rule__QualifiedID__Group__0" - // $ANTLR start "rule__InfixExpression__Group_1_2__2__Impl" - // InternalScope.g:8478:1: rule__InfixExpression__Group_1_2__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) ; - public final void rule__InfixExpression__Group_1_2__2__Impl() throws RecognitionException { + // $ANTLR start "rule__QualifiedID__Group__0__Impl" + // InternalScope.g:8691:1: rule__QualifiedID__Group__0__Impl : ( ruleIdentifier ) ; + public final void rule__QualifiedID__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8482:1: ( ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) ) - // InternalScope.g:8483:1: ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) + // InternalScope.g:8695:1: ( ( ruleIdentifier ) ) + // InternalScope.g:8696:1: ( ruleIdentifier ) { - // InternalScope.g:8483:1: ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) - // InternalScope.g:8484:2: ( rule__InfixExpression__NameAssignment_1_2_2 ) + // InternalScope.g:8696:1: ( ruleIdentifier ) + // InternalScope.g:8697:2: ruleIdentifier { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); + before(grammarAccess.getQualifiedIDAccess().getIdentifierParserRuleCall_0()); } - // InternalScope.g:8485:2: ( rule__InfixExpression__NameAssignment_1_2_2 ) - // InternalScope.g:8485:3: rule__InfixExpression__NameAssignment_1_2_2 - { pushFollow(FOLLOW_2); - rule__InfixExpression__NameAssignment_1_2_2(); + ruleIdentifier(); state._fsp--; if (state.failed) return ; - - } - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); + after(grammarAccess.getQualifiedIDAccess().getIdentifierParserRuleCall_0()); } } @@ -28201,26 +30637,21 @@ public final void rule__InfixExpression__Group_1_2__2__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__2__Impl" + // $ANTLR end "rule__QualifiedID__Group__0__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_2__3" - // InternalScope.g:8493:1: rule__InfixExpression__Group_1_2__3 : rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 ; - public final void rule__InfixExpression__Group_1_2__3() throws RecognitionException { + // $ANTLR start "rule__QualifiedID__Group__1" + // InternalScope.g:8706:1: rule__QualifiedID__Group__1 : rule__QualifiedID__Group__1__Impl ; + public final void rule__QualifiedID__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8497:1: ( rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 ) - // InternalScope.g:8498:2: rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 + // InternalScope.g:8710:1: ( rule__QualifiedID__Group__1__Impl ) + // InternalScope.g:8711:2: rule__QualifiedID__Group__1__Impl { - pushFollow(FOLLOW_48); - rule__InfixExpression__Group_1_2__3__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__4(); + rule__QualifiedID__Group__1__Impl(); state._fsp--; if (state.failed) return ; @@ -28239,28 +30670,56 @@ public final void rule__InfixExpression__Group_1_2__3() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__3" + // $ANTLR end "rule__QualifiedID__Group__1" - // $ANTLR start "rule__InfixExpression__Group_1_2__3__Impl" - // InternalScope.g:8505:1: rule__InfixExpression__Group_1_2__3__Impl : ( '(' ) ; - public final void rule__InfixExpression__Group_1_2__3__Impl() throws RecognitionException { + // $ANTLR start "rule__QualifiedID__Group__1__Impl" + // InternalScope.g:8717:1: rule__QualifiedID__Group__1__Impl : ( ( rule__QualifiedID__Group_1__0 )* ) ; + public final void rule__QualifiedID__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8509:1: ( ( '(' ) ) - // InternalScope.g:8510:1: ( '(' ) + // InternalScope.g:8721:1: ( ( ( rule__QualifiedID__Group_1__0 )* ) ) + // InternalScope.g:8722:1: ( ( rule__QualifiedID__Group_1__0 )* ) { - // InternalScope.g:8510:1: ( '(' ) - // InternalScope.g:8511:2: '(' + // InternalScope.g:8722:1: ( ( rule__QualifiedID__Group_1__0 )* ) + // InternalScope.g:8723:2: ( rule__QualifiedID__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); + before(grammarAccess.getQualifiedIDAccess().getGroup_1()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:8724:2: ( rule__QualifiedID__Group_1__0 )* + loop92: + do { + int alt92=2; + int LA92_0 = input.LA(1); + + if ( (LA92_0==93) ) { + alt92=1; + } + + + switch (alt92) { + case 1 : + // InternalScope.g:8724:3: rule__QualifiedID__Group_1__0 + { + pushFollow(FOLLOW_44); + rule__QualifiedID__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop92; + } + } while (true); + if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); + after(grammarAccess.getQualifiedIDAccess().getGroup_1()); } } @@ -28280,26 +30739,26 @@ public final void rule__InfixExpression__Group_1_2__3__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__3__Impl" + // $ANTLR end "rule__QualifiedID__Group__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_2__4" - // InternalScope.g:8520:1: rule__InfixExpression__Group_1_2__4 : rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 ; - public final void rule__InfixExpression__Group_1_2__4() throws RecognitionException { + // $ANTLR start "rule__QualifiedID__Group_1__0" + // InternalScope.g:8733:1: rule__QualifiedID__Group_1__0 : rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 ; + public final void rule__QualifiedID__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8524:1: ( rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 ) - // InternalScope.g:8525:2: rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 + // InternalScope.g:8737:1: ( rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 ) + // InternalScope.g:8738:2: rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 { - pushFollow(FOLLOW_23); - rule__InfixExpression__Group_1_2__4__Impl(); + pushFollow(FOLLOW_4); + rule__QualifiedID__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__5(); + rule__QualifiedID__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -28318,38 +30777,28 @@ public final void rule__InfixExpression__Group_1_2__4() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__4" + // $ANTLR end "rule__QualifiedID__Group_1__0" - // $ANTLR start "rule__InfixExpression__Group_1_2__4__Impl" - // InternalScope.g:8532:1: rule__InfixExpression__Group_1_2__4__Impl : ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) ; - public final void rule__InfixExpression__Group_1_2__4__Impl() throws RecognitionException { + // $ANTLR start "rule__QualifiedID__Group_1__0__Impl" + // InternalScope.g:8745:1: rule__QualifiedID__Group_1__0__Impl : ( '::' ) ; + public final void rule__QualifiedID__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8536:1: ( ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) ) - // InternalScope.g:8537:1: ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) + // InternalScope.g:8749:1: ( ( '::' ) ) + // InternalScope.g:8750:1: ( '::' ) { - // InternalScope.g:8537:1: ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) - // InternalScope.g:8538:2: ( rule__InfixExpression__TypeAssignment_1_2_4 ) + // InternalScope.g:8750:1: ( '::' ) + // InternalScope.g:8751:2: '::' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); - } - // InternalScope.g:8539:2: ( rule__InfixExpression__TypeAssignment_1_2_4 ) - // InternalScope.g:8539:3: rule__InfixExpression__TypeAssignment_1_2_4 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__TypeAssignment_1_2_4(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); } - + match(input,93,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); + after(grammarAccess.getQualifiedIDAccess().getColonColonKeyword_1_0()); } } @@ -28369,21 +30818,21 @@ public final void rule__InfixExpression__Group_1_2__4__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__4__Impl" + // $ANTLR end "rule__QualifiedID__Group_1__0__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_2__5" - // InternalScope.g:8547:1: rule__InfixExpression__Group_1_2__5 : rule__InfixExpression__Group_1_2__5__Impl ; - public final void rule__InfixExpression__Group_1_2__5() throws RecognitionException { + // $ANTLR start "rule__QualifiedID__Group_1__1" + // InternalScope.g:8760:1: rule__QualifiedID__Group_1__1 : rule__QualifiedID__Group_1__1__Impl ; + public final void rule__QualifiedID__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8551:1: ( rule__InfixExpression__Group_1_2__5__Impl ) - // InternalScope.g:8552:2: rule__InfixExpression__Group_1_2__5__Impl + // InternalScope.g:8764:1: ( rule__QualifiedID__Group_1__1__Impl ) + // InternalScope.g:8765:2: rule__QualifiedID__Group_1__1__Impl { pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_2__5__Impl(); + rule__QualifiedID__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; @@ -28402,28 +30851,32 @@ public final void rule__InfixExpression__Group_1_2__5() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__5" + // $ANTLR end "rule__QualifiedID__Group_1__1" - // $ANTLR start "rule__InfixExpression__Group_1_2__5__Impl" - // InternalScope.g:8558:1: rule__InfixExpression__Group_1_2__5__Impl : ( ')' ) ; - public final void rule__InfixExpression__Group_1_2__5__Impl() throws RecognitionException { + // $ANTLR start "rule__QualifiedID__Group_1__1__Impl" + // InternalScope.g:8771:1: rule__QualifiedID__Group_1__1__Impl : ( ruleIdentifier ) ; + public final void rule__QualifiedID__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8562:1: ( ( ')' ) ) - // InternalScope.g:8563:1: ( ')' ) + // InternalScope.g:8775:1: ( ( ruleIdentifier ) ) + // InternalScope.g:8776:1: ( ruleIdentifier ) { - // InternalScope.g:8563:1: ( ')' ) - // InternalScope.g:8564:2: ')' + // InternalScope.g:8776:1: ( ruleIdentifier ) + // InternalScope.g:8777:2: ruleIdentifier { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); + before(grammarAccess.getQualifiedIDAccess().getIdentifierParserRuleCall_1_1()); } - match(input,52,FOLLOW_2); if (state.failed) return ; + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); + after(grammarAccess.getQualifiedIDAccess().getIdentifierParserRuleCall_1_1()); } } @@ -28443,26 +30896,26 @@ public final void rule__InfixExpression__Group_1_2__5__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_2__5__Impl" + // $ANTLR end "rule__QualifiedID__Group_1__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3__0" - // InternalScope.g:8574:1: rule__InfixExpression__Group_1_3__0 : rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 ; - public final void rule__InfixExpression__Group_1_3__0() throws RecognitionException { + // $ANTLR start "rule__DottedID__Group__0" + // InternalScope.g:8787:1: rule__DottedID__Group__0 : rule__DottedID__Group__0__Impl rule__DottedID__Group__1 ; + public final void rule__DottedID__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8578:1: ( rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 ) - // InternalScope.g:8579:2: rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 + // InternalScope.g:8791:1: ( rule__DottedID__Group__0__Impl rule__DottedID__Group__1 ) + // InternalScope.g:8792:2: rule__DottedID__Group__0__Impl rule__DottedID__Group__1 { pushFollow(FOLLOW_45); - rule__InfixExpression__Group_1_3__0__Impl(); + rule__DottedID__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__1(); + rule__DottedID__Group__1(); state._fsp--; if (state.failed) return ; @@ -28481,32 +30934,32 @@ public final void rule__InfixExpression__Group_1_3__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__0" + // $ANTLR end "rule__DottedID__Group__0" - // $ANTLR start "rule__InfixExpression__Group_1_3__0__Impl" - // InternalScope.g:8586:1: rule__InfixExpression__Group_1_3__0__Impl : ( () ) ; - public final void rule__InfixExpression__Group_1_3__0__Impl() throws RecognitionException { + // $ANTLR start "rule__DottedID__Group__0__Impl" + // InternalScope.g:8799:1: rule__DottedID__Group__0__Impl : ( ruleIdentifier ) ; + public final void rule__DottedID__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8590:1: ( ( () ) ) - // InternalScope.g:8591:1: ( () ) + // InternalScope.g:8803:1: ( ( ruleIdentifier ) ) + // InternalScope.g:8804:1: ( ruleIdentifier ) { - // InternalScope.g:8591:1: ( () ) - // InternalScope.g:8592:2: () + // InternalScope.g:8804:1: ( ruleIdentifier ) + // InternalScope.g:8805:2: ruleIdentifier { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); - } - // InternalScope.g:8593:2: () - // InternalScope.g:8593:3: - { + before(grammarAccess.getDottedIDAccess().getIdentifierParserRuleCall_0()); } + pushFollow(FOLLOW_2); + ruleIdentifier(); + state._fsp--; + if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); + after(grammarAccess.getDottedIDAccess().getIdentifierParserRuleCall_0()); } } @@ -28515,6 +30968,10 @@ public final void rule__InfixExpression__Group_1_3__0__Impl() throws Recognition } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -28522,26 +30979,21 @@ public final void rule__InfixExpression__Group_1_3__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__0__Impl" + // $ANTLR end "rule__DottedID__Group__0__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3__1" - // InternalScope.g:8601:1: rule__InfixExpression__Group_1_3__1 : rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 ; - public final void rule__InfixExpression__Group_1_3__1() throws RecognitionException { + // $ANTLR start "rule__DottedID__Group__1" + // InternalScope.g:8814:1: rule__DottedID__Group__1 : rule__DottedID__Group__1__Impl ; + public final void rule__DottedID__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8605:1: ( rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 ) - // InternalScope.g:8606:2: rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 + // InternalScope.g:8818:1: ( rule__DottedID__Group__1__Impl ) + // InternalScope.g:8819:2: rule__DottedID__Group__1__Impl { - pushFollow(FOLLOW_73); - rule__InfixExpression__Group_1_3__1__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__2(); + rule__DottedID__Group__1__Impl(); state._fsp--; if (state.failed) return ; @@ -28560,28 +31012,56 @@ public final void rule__InfixExpression__Group_1_3__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__1" + // $ANTLR end "rule__DottedID__Group__1" - // $ANTLR start "rule__InfixExpression__Group_1_3__1__Impl" - // InternalScope.g:8613:1: rule__InfixExpression__Group_1_3__1__Impl : ( '.' ) ; - public final void rule__InfixExpression__Group_1_3__1__Impl() throws RecognitionException { + // $ANTLR start "rule__DottedID__Group__1__Impl" + // InternalScope.g:8825:1: rule__DottedID__Group__1__Impl : ( ( rule__DottedID__Group_1__0 )* ) ; + public final void rule__DottedID__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8617:1: ( ( '.' ) ) - // InternalScope.g:8618:1: ( '.' ) + // InternalScope.g:8829:1: ( ( ( rule__DottedID__Group_1__0 )* ) ) + // InternalScope.g:8830:1: ( ( rule__DottedID__Group_1__0 )* ) { - // InternalScope.g:8618:1: ( '.' ) - // InternalScope.g:8619:2: '.' + // InternalScope.g:8830:1: ( ( rule__DottedID__Group_1__0 )* ) + // InternalScope.g:8831:2: ( rule__DottedID__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); + before(grammarAccess.getDottedIDAccess().getGroup_1()); } - match(input,68,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:8832:2: ( rule__DottedID__Group_1__0 )* + loop93: + do { + int alt93=2; + int LA93_0 = input.LA(1); + + if ( (LA93_0==58) ) { + alt93=1; + } + + + switch (alt93) { + case 1 : + // InternalScope.g:8832:3: rule__DottedID__Group_1__0 + { + pushFollow(FOLLOW_46); + rule__DottedID__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop93; + } + } while (true); + if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); + after(grammarAccess.getDottedIDAccess().getGroup_1()); } } @@ -28601,26 +31081,26 @@ public final void rule__InfixExpression__Group_1_3__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__1__Impl" + // $ANTLR end "rule__DottedID__Group__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3__2" - // InternalScope.g:8628:1: rule__InfixExpression__Group_1_3__2 : rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 ; - public final void rule__InfixExpression__Group_1_3__2() throws RecognitionException { + // $ANTLR start "rule__DottedID__Group_1__0" + // InternalScope.g:8841:1: rule__DottedID__Group_1__0 : rule__DottedID__Group_1__0__Impl rule__DottedID__Group_1__1 ; + public final void rule__DottedID__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8632:1: ( rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 ) - // InternalScope.g:8633:2: rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 + // InternalScope.g:8845:1: ( rule__DottedID__Group_1__0__Impl rule__DottedID__Group_1__1 ) + // InternalScope.g:8846:2: rule__DottedID__Group_1__0__Impl rule__DottedID__Group_1__1 { - pushFollow(FOLLOW_31); - rule__InfixExpression__Group_1_3__2__Impl(); + pushFollow(FOLLOW_4); + rule__DottedID__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__3(); + rule__DottedID__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -28639,38 +31119,28 @@ public final void rule__InfixExpression__Group_1_3__2() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__2" + // $ANTLR end "rule__DottedID__Group_1__0" - // $ANTLR start "rule__InfixExpression__Group_1_3__2__Impl" - // InternalScope.g:8640:1: rule__InfixExpression__Group_1_3__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) ; - public final void rule__InfixExpression__Group_1_3__2__Impl() throws RecognitionException { + // $ANTLR start "rule__DottedID__Group_1__0__Impl" + // InternalScope.g:8853:1: rule__DottedID__Group_1__0__Impl : ( '.' ) ; + public final void rule__DottedID__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8644:1: ( ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) ) - // InternalScope.g:8645:1: ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) + // InternalScope.g:8857:1: ( ( '.' ) ) + // InternalScope.g:8858:1: ( '.' ) { - // InternalScope.g:8645:1: ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) - // InternalScope.g:8646:2: ( rule__InfixExpression__NameAssignment_1_3_2 ) + // InternalScope.g:8858:1: ( '.' ) + // InternalScope.g:8859:2: '.' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); - } - // InternalScope.g:8647:2: ( rule__InfixExpression__NameAssignment_1_3_2 ) - // InternalScope.g:8647:3: rule__InfixExpression__NameAssignment_1_3_2 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__NameAssignment_1_3_2(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getDottedIDAccess().getFullStopKeyword_1_0()); } - + match(input,58,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); + after(grammarAccess.getDottedIDAccess().getFullStopKeyword_1_0()); } } @@ -28690,26 +31160,21 @@ public final void rule__InfixExpression__Group_1_3__2__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__2__Impl" + // $ANTLR end "rule__DottedID__Group_1__0__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3__3" - // InternalScope.g:8655:1: rule__InfixExpression__Group_1_3__3 : rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 ; - public final void rule__InfixExpression__Group_1_3__3() throws RecognitionException { + // $ANTLR start "rule__DottedID__Group_1__1" + // InternalScope.g:8868:1: rule__DottedID__Group_1__1 : rule__DottedID__Group_1__1__Impl ; + public final void rule__DottedID__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8659:1: ( rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 ) - // InternalScope.g:8660:2: rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 + // InternalScope.g:8872:1: ( rule__DottedID__Group_1__1__Impl ) + // InternalScope.g:8873:2: rule__DottedID__Group_1__1__Impl { - pushFollow(FOLLOW_17); - rule__InfixExpression__Group_1_3__3__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__4(); + rule__DottedID__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; @@ -28728,28 +31193,32 @@ public final void rule__InfixExpression__Group_1_3__3() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__3" + // $ANTLR end "rule__DottedID__Group_1__1" - // $ANTLR start "rule__InfixExpression__Group_1_3__3__Impl" - // InternalScope.g:8667:1: rule__InfixExpression__Group_1_3__3__Impl : ( '(' ) ; - public final void rule__InfixExpression__Group_1_3__3__Impl() throws RecognitionException { + // $ANTLR start "rule__DottedID__Group_1__1__Impl" + // InternalScope.g:8879:1: rule__DottedID__Group_1__1__Impl : ( ruleIdentifier ) ; + public final void rule__DottedID__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8671:1: ( ( '(' ) ) - // InternalScope.g:8672:1: ( '(' ) + // InternalScope.g:8883:1: ( ( ruleIdentifier ) ) + // InternalScope.g:8884:1: ( ruleIdentifier ) { - // InternalScope.g:8672:1: ( '(' ) - // InternalScope.g:8673:2: '(' + // InternalScope.g:8884:1: ( ruleIdentifier ) + // InternalScope.g:8885:2: ruleIdentifier { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); + before(grammarAccess.getDottedIDAccess().getIdentifierParserRuleCall_1_1()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); + after(grammarAccess.getDottedIDAccess().getIdentifierParserRuleCall_1_1()); } } @@ -28769,26 +31238,26 @@ public final void rule__InfixExpression__Group_1_3__3__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__3__Impl" + // $ANTLR end "rule__DottedID__Group_1__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3__4" - // InternalScope.g:8682:1: rule__InfixExpression__Group_1_3__4 : rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 ; - public final void rule__InfixExpression__Group_1_3__4() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__0" + // InternalScope.g:8895:1: rule__LetExpression__Group__0 : rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 ; + public final void rule__LetExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8686:1: ( rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 ) - // InternalScope.g:8687:2: rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 + // InternalScope.g:8899:1: ( rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 ) + // InternalScope.g:8900:2: rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 { - pushFollow(FOLLOW_17); - rule__InfixExpression__Group_1_3__4__Impl(); + pushFollow(FOLLOW_4); + rule__LetExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__5(); + rule__LetExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -28807,53 +31276,28 @@ public final void rule__InfixExpression__Group_1_3__4() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__4" + // $ANTLR end "rule__LetExpression__Group__0" - // $ANTLR start "rule__InfixExpression__Group_1_3__4__Impl" - // InternalScope.g:8694:1: rule__InfixExpression__Group_1_3__4__Impl : ( ( rule__InfixExpression__Group_1_3_4__0 )? ) ; - public final void rule__InfixExpression__Group_1_3__4__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__0__Impl" + // InternalScope.g:8907:1: rule__LetExpression__Group__0__Impl : ( 'let' ) ; + public final void rule__LetExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8698:1: ( ( ( rule__InfixExpression__Group_1_3_4__0 )? ) ) - // InternalScope.g:8699:1: ( ( rule__InfixExpression__Group_1_3_4__0 )? ) + // InternalScope.g:8911:1: ( ( 'let' ) ) + // InternalScope.g:8912:1: ( 'let' ) { - // InternalScope.g:8699:1: ( ( rule__InfixExpression__Group_1_3_4__0 )? ) - // InternalScope.g:8700:2: ( rule__InfixExpression__Group_1_3_4__0 )? + // InternalScope.g:8912:1: ( 'let' ) + // InternalScope.g:8913:2: 'let' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); - } - // InternalScope.g:8701:2: ( rule__InfixExpression__Group_1_3_4__0 )? - int alt68=2; - int LA68_0 = input.LA(1); - - if ( (LA68_0==RULE_ID) ) { - int LA68_1 = input.LA(2); - - if ( (LA68_1==66) ) { - alt68=1; - } - } - switch (alt68) { - case 1 : - // InternalScope.g:8701:3: rule__InfixExpression__Group_1_3_4__0 - { - pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3_4__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - + before(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } - + match(input,94,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); + after(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } } @@ -28873,26 +31317,26 @@ public final void rule__InfixExpression__Group_1_3__4__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__4__Impl" + // $ANTLR end "rule__LetExpression__Group__0__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3__5" - // InternalScope.g:8709:1: rule__InfixExpression__Group_1_3__5 : rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 ; - public final void rule__InfixExpression__Group_1_3__5() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__1" + // InternalScope.g:8922:1: rule__LetExpression__Group__1 : rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 ; + public final void rule__LetExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8713:1: ( rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 ) - // InternalScope.g:8714:2: rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 + // InternalScope.g:8926:1: ( rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 ) + // InternalScope.g:8927:2: rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 { - pushFollow(FOLLOW_23); - rule__InfixExpression__Group_1_3__5__Impl(); + pushFollow(FOLLOW_16); + rule__LetExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__6(); + rule__LetExpression__Group__2(); state._fsp--; if (state.failed) return ; @@ -28911,30 +31355,30 @@ public final void rule__InfixExpression__Group_1_3__5() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__5" + // $ANTLR end "rule__LetExpression__Group__1" - // $ANTLR start "rule__InfixExpression__Group_1_3__5__Impl" - // InternalScope.g:8721:1: rule__InfixExpression__Group_1_3__5__Impl : ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) ; - public final void rule__InfixExpression__Group_1_3__5__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__1__Impl" + // InternalScope.g:8934:1: rule__LetExpression__Group__1__Impl : ( ( rule__LetExpression__IdentifierAssignment_1 ) ) ; + public final void rule__LetExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8725:1: ( ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) ) - // InternalScope.g:8726:1: ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) + // InternalScope.g:8938:1: ( ( ( rule__LetExpression__IdentifierAssignment_1 ) ) ) + // InternalScope.g:8939:1: ( ( rule__LetExpression__IdentifierAssignment_1 ) ) { - // InternalScope.g:8726:1: ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) - // InternalScope.g:8727:2: ( rule__InfixExpression__ExpAssignment_1_3_5 ) + // InternalScope.g:8939:1: ( ( rule__LetExpression__IdentifierAssignment_1 ) ) + // InternalScope.g:8940:2: ( rule__LetExpression__IdentifierAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); + before(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); } - // InternalScope.g:8728:2: ( rule__InfixExpression__ExpAssignment_1_3_5 ) - // InternalScope.g:8728:3: rule__InfixExpression__ExpAssignment_1_3_5 + // InternalScope.g:8941:2: ( rule__LetExpression__IdentifierAssignment_1 ) + // InternalScope.g:8941:3: rule__LetExpression__IdentifierAssignment_1 { pushFollow(FOLLOW_2); - rule__InfixExpression__ExpAssignment_1_3_5(); + rule__LetExpression__IdentifierAssignment_1(); state._fsp--; if (state.failed) return ; @@ -28942,7 +31386,7 @@ public final void rule__InfixExpression__Group_1_3__5__Impl() throws Recognition } if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); + after(grammarAccess.getLetExpressionAccess().getIdentifierAssignment_1()); } } @@ -28962,21 +31406,26 @@ public final void rule__InfixExpression__Group_1_3__5__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__5__Impl" + // $ANTLR end "rule__LetExpression__Group__1__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3__6" - // InternalScope.g:8736:1: rule__InfixExpression__Group_1_3__6 : rule__InfixExpression__Group_1_3__6__Impl ; - public final void rule__InfixExpression__Group_1_3__6() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__2" + // InternalScope.g:8949:1: rule__LetExpression__Group__2 : rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 ; + public final void rule__LetExpression__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8740:1: ( rule__InfixExpression__Group_1_3__6__Impl ) - // InternalScope.g:8741:2: rule__InfixExpression__Group_1_3__6__Impl + // InternalScope.g:8953:1: ( rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 ) + // InternalScope.g:8954:2: rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 { + pushFollow(FOLLOW_17); + rule__LetExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3__6__Impl(); + rule__LetExpression__Group__3(); state._fsp--; if (state.failed) return ; @@ -28995,28 +31444,28 @@ public final void rule__InfixExpression__Group_1_3__6() throws RecognitionExcept } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__6" + // $ANTLR end "rule__LetExpression__Group__2" - // $ANTLR start "rule__InfixExpression__Group_1_3__6__Impl" - // InternalScope.g:8747:1: rule__InfixExpression__Group_1_3__6__Impl : ( ')' ) ; - public final void rule__InfixExpression__Group_1_3__6__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__2__Impl" + // InternalScope.g:8961:1: rule__LetExpression__Group__2__Impl : ( '=' ) ; + public final void rule__LetExpression__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8751:1: ( ( ')' ) ) - // InternalScope.g:8752:1: ( ')' ) + // InternalScope.g:8965:1: ( ( '=' ) ) + // InternalScope.g:8966:1: ( '=' ) { - // InternalScope.g:8752:1: ( ')' ) - // InternalScope.g:8753:2: ')' + // InternalScope.g:8966:1: ( '=' ) + // InternalScope.g:8967:2: '=' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); + before(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } - match(input,52,FOLLOW_2); if (state.failed) return ; + match(input,14,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); + after(grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); } } @@ -29036,26 +31485,26 @@ public final void rule__InfixExpression__Group_1_3__6__Impl() throws Recognition } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3__6__Impl" + // $ANTLR end "rule__LetExpression__Group__2__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3_4__0" - // InternalScope.g:8763:1: rule__InfixExpression__Group_1_3_4__0 : rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 ; - public final void rule__InfixExpression__Group_1_3_4__0() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__3" + // InternalScope.g:8976:1: rule__LetExpression__Group__3 : rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 ; + public final void rule__LetExpression__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8767:1: ( rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 ) - // InternalScope.g:8768:2: rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 + // InternalScope.g:8980:1: ( rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 ) + // InternalScope.g:8981:2: rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 { - pushFollow(FOLLOW_42); - rule__InfixExpression__Group_1_3_4__0__Impl(); + pushFollow(FOLLOW_47); + rule__LetExpression__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3_4__1(); + rule__LetExpression__Group__4(); state._fsp--; if (state.failed) return ; @@ -29074,30 +31523,30 @@ public final void rule__InfixExpression__Group_1_3_4__0() throws RecognitionExce } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3_4__0" + // $ANTLR end "rule__LetExpression__Group__3" - // $ANTLR start "rule__InfixExpression__Group_1_3_4__0__Impl" - // InternalScope.g:8775:1: rule__InfixExpression__Group_1_3_4__0__Impl : ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) ; - public final void rule__InfixExpression__Group_1_3_4__0__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__3__Impl" + // InternalScope.g:8988:1: rule__LetExpression__Group__3__Impl : ( ( rule__LetExpression__VarExprAssignment_3 ) ) ; + public final void rule__LetExpression__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8779:1: ( ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) ) - // InternalScope.g:8780:1: ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) + // InternalScope.g:8992:1: ( ( ( rule__LetExpression__VarExprAssignment_3 ) ) ) + // InternalScope.g:8993:1: ( ( rule__LetExpression__VarExprAssignment_3 ) ) { - // InternalScope.g:8780:1: ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) - // InternalScope.g:8781:2: ( rule__InfixExpression__VarAssignment_1_3_4_0 ) + // InternalScope.g:8993:1: ( ( rule__LetExpression__VarExprAssignment_3 ) ) + // InternalScope.g:8994:2: ( rule__LetExpression__VarExprAssignment_3 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); + before(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); } - // InternalScope.g:8782:2: ( rule__InfixExpression__VarAssignment_1_3_4_0 ) - // InternalScope.g:8782:3: rule__InfixExpression__VarAssignment_1_3_4_0 + // InternalScope.g:8995:2: ( rule__LetExpression__VarExprAssignment_3 ) + // InternalScope.g:8995:3: rule__LetExpression__VarExprAssignment_3 { pushFollow(FOLLOW_2); - rule__InfixExpression__VarAssignment_1_3_4_0(); + rule__LetExpression__VarExprAssignment_3(); state._fsp--; if (state.failed) return ; @@ -29105,7 +31554,7 @@ public final void rule__InfixExpression__Group_1_3_4__0__Impl() throws Recogniti } if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); + after(grammarAccess.getLetExpressionAccess().getVarExprAssignment_3()); } } @@ -29125,21 +31574,26 @@ public final void rule__InfixExpression__Group_1_3_4__0__Impl() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3_4__0__Impl" + // $ANTLR end "rule__LetExpression__Group__3__Impl" - // $ANTLR start "rule__InfixExpression__Group_1_3_4__1" - // InternalScope.g:8790:1: rule__InfixExpression__Group_1_3_4__1 : rule__InfixExpression__Group_1_3_4__1__Impl ; - public final void rule__InfixExpression__Group_1_3_4__1() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__4" + // InternalScope.g:9003:1: rule__LetExpression__Group__4 : rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 ; + public final void rule__LetExpression__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8794:1: ( rule__InfixExpression__Group_1_3_4__1__Impl ) - // InternalScope.g:8795:2: rule__InfixExpression__Group_1_3_4__1__Impl + // InternalScope.g:9007:1: ( rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 ) + // InternalScope.g:9008:2: rule__LetExpression__Group__4__Impl rule__LetExpression__Group__5 { + pushFollow(FOLLOW_17); + rule__LetExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__InfixExpression__Group_1_3_4__1__Impl(); + rule__LetExpression__Group__5(); state._fsp--; if (state.failed) return ; @@ -29158,28 +31612,28 @@ public final void rule__InfixExpression__Group_1_3_4__1() throws RecognitionExce } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3_4__1" + // $ANTLR end "rule__LetExpression__Group__4" - // $ANTLR start "rule__InfixExpression__Group_1_3_4__1__Impl" - // InternalScope.g:8801:1: rule__InfixExpression__Group_1_3_4__1__Impl : ( '|' ) ; - public final void rule__InfixExpression__Group_1_3_4__1__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__4__Impl" + // InternalScope.g:9015:1: rule__LetExpression__Group__4__Impl : ( ':' ) ; + public final void rule__LetExpression__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8805:1: ( ( '|' ) ) - // InternalScope.g:8806:1: ( '|' ) + // InternalScope.g:9019:1: ( ( ':' ) ) + // InternalScope.g:9020:1: ( ':' ) { - // InternalScope.g:8806:1: ( '|' ) - // InternalScope.g:8807:2: '|' + // InternalScope.g:9020:1: ( ':' ) + // InternalScope.g:9021:2: ':' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); + before(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } - match(input,66,FOLLOW_2); if (state.failed) return ; + match(input,95,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); + after(grammarAccess.getLetExpressionAccess().getColonKeyword_4()); } } @@ -29199,26 +31653,21 @@ public final void rule__InfixExpression__Group_1_3_4__1__Impl() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__Group_1_3_4__1__Impl" + // $ANTLR end "rule__LetExpression__Group__4__Impl" - // $ANTLR start "rule__ParanthesizedExpression__Group__0" - // InternalScope.g:8817:1: rule__ParanthesizedExpression__Group__0 : rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 ; - public final void rule__ParanthesizedExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__5" + // InternalScope.g:9030:1: rule__LetExpression__Group__5 : rule__LetExpression__Group__5__Impl ; + public final void rule__LetExpression__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8821:1: ( rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 ) - // InternalScope.g:8822:2: rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 + // InternalScope.g:9034:1: ( rule__LetExpression__Group__5__Impl ) + // InternalScope.g:9035:2: rule__LetExpression__Group__5__Impl { - pushFollow(FOLLOW_17); - rule__ParanthesizedExpression__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ParanthesizedExpression__Group__1(); + rule__LetExpression__Group__5__Impl(); state._fsp--; if (state.failed) return ; @@ -29237,28 +31686,38 @@ public final void rule__ParanthesizedExpression__Group__0() throws RecognitionEx } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__0" + // $ANTLR end "rule__LetExpression__Group__5" - // $ANTLR start "rule__ParanthesizedExpression__Group__0__Impl" - // InternalScope.g:8829:1: rule__ParanthesizedExpression__Group__0__Impl : ( '(' ) ; - public final void rule__ParanthesizedExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__LetExpression__Group__5__Impl" + // InternalScope.g:9041:1: rule__LetExpression__Group__5__Impl : ( ( rule__LetExpression__TargetAssignment_5 ) ) ; + public final void rule__LetExpression__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8833:1: ( ( '(' ) ) - // InternalScope.g:8834:1: ( '(' ) + // InternalScope.g:9045:1: ( ( ( rule__LetExpression__TargetAssignment_5 ) ) ) + // InternalScope.g:9046:1: ( ( rule__LetExpression__TargetAssignment_5 ) ) { - // InternalScope.g:8834:1: ( '(' ) - // InternalScope.g:8835:2: '(' + // InternalScope.g:9046:1: ( ( rule__LetExpression__TargetAssignment_5 ) ) + // InternalScope.g:9047:2: ( rule__LetExpression__TargetAssignment_5 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + before(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:9048:2: ( rule__LetExpression__TargetAssignment_5 ) + // InternalScope.g:9048:3: rule__LetExpression__TargetAssignment_5 + { + pushFollow(FOLLOW_2); + rule__LetExpression__TargetAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + after(grammarAccess.getLetExpressionAccess().getTargetAssignment_5()); } } @@ -29278,26 +31737,26 @@ public final void rule__ParanthesizedExpression__Group__0__Impl() throws Recogni } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__0__Impl" + // $ANTLR end "rule__LetExpression__Group__5__Impl" - // $ANTLR start "rule__ParanthesizedExpression__Group__1" - // InternalScope.g:8844:1: rule__ParanthesizedExpression__Group__1 : rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 ; - public final void rule__ParanthesizedExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__0" + // InternalScope.g:9057:1: rule__CastedExpression__Group__0 : rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 ; + public final void rule__CastedExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8848:1: ( rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 ) - // InternalScope.g:8849:2: rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 + // InternalScope.g:9061:1: ( rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 ) + // InternalScope.g:9062:2: rule__CastedExpression__Group__0__Impl rule__CastedExpression__Group__1 { - pushFollow(FOLLOW_23); - rule__ParanthesizedExpression__Group__1__Impl(); + pushFollow(FOLLOW_48); + rule__CastedExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ParanthesizedExpression__Group__2(); + rule__CastedExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -29316,32 +31775,28 @@ public final void rule__ParanthesizedExpression__Group__1() throws RecognitionEx } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__1" + // $ANTLR end "rule__CastedExpression__Group__0" - // $ANTLR start "rule__ParanthesizedExpression__Group__1__Impl" - // InternalScope.g:8856:1: rule__ParanthesizedExpression__Group__1__Impl : ( ruleExpression ) ; - public final void rule__ParanthesizedExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__0__Impl" + // InternalScope.g:9069:1: rule__CastedExpression__Group__0__Impl : ( '(' ) ; + public final void rule__CastedExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8860:1: ( ( ruleExpression ) ) - // InternalScope.g:8861:1: ( ruleExpression ) + // InternalScope.g:9073:1: ( ( '(' ) ) + // InternalScope.g:9074:1: ( '(' ) { - // InternalScope.g:8861:1: ( ruleExpression ) - // InternalScope.g:8862:2: ruleExpression + // InternalScope.g:9074:1: ( '(' ) + // InternalScope.g:9075:2: '(' { if ( state.backtracking==0 ) { - before(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); + before(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } - pushFollow(FOLLOW_2); - ruleExpression(); - - state._fsp--; - if (state.failed) return ; + match(input,77,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); + after(grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); } } @@ -29361,21 +31816,26 @@ public final void rule__ParanthesizedExpression__Group__1__Impl() throws Recogni } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__1__Impl" + // $ANTLR end "rule__CastedExpression__Group__0__Impl" - // $ANTLR start "rule__ParanthesizedExpression__Group__2" - // InternalScope.g:8871:1: rule__ParanthesizedExpression__Group__2 : rule__ParanthesizedExpression__Group__2__Impl ; - public final void rule__ParanthesizedExpression__Group__2() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__1" + // InternalScope.g:9084:1: rule__CastedExpression__Group__1 : rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 ; + public final void rule__CastedExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8875:1: ( rule__ParanthesizedExpression__Group__2__Impl ) - // InternalScope.g:8876:2: rule__ParanthesizedExpression__Group__2__Impl + // InternalScope.g:9088:1: ( rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 ) + // InternalScope.g:9089:2: rule__CastedExpression__Group__1__Impl rule__CastedExpression__Group__2 { + pushFollow(FOLLOW_23); + rule__CastedExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ParanthesizedExpression__Group__2__Impl(); + rule__CastedExpression__Group__2(); state._fsp--; if (state.failed) return ; @@ -29394,28 +31854,38 @@ public final void rule__ParanthesizedExpression__Group__2() throws RecognitionEx } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__2" + // $ANTLR end "rule__CastedExpression__Group__1" - // $ANTLR start "rule__ParanthesizedExpression__Group__2__Impl" - // InternalScope.g:8882:1: rule__ParanthesizedExpression__Group__2__Impl : ( ')' ) ; - public final void rule__ParanthesizedExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__1__Impl" + // InternalScope.g:9096:1: rule__CastedExpression__Group__1__Impl : ( ( rule__CastedExpression__TypeAssignment_1 ) ) ; + public final void rule__CastedExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8886:1: ( ( ')' ) ) - // InternalScope.g:8887:1: ( ')' ) + // InternalScope.g:9100:1: ( ( ( rule__CastedExpression__TypeAssignment_1 ) ) ) + // InternalScope.g:9101:1: ( ( rule__CastedExpression__TypeAssignment_1 ) ) { - // InternalScope.g:8887:1: ( ')' ) - // InternalScope.g:8888:2: ')' + // InternalScope.g:9101:1: ( ( rule__CastedExpression__TypeAssignment_1 ) ) + // InternalScope.g:9102:2: ( rule__CastedExpression__TypeAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); + before(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); + } + // InternalScope.g:9103:2: ( rule__CastedExpression__TypeAssignment_1 ) + // InternalScope.g:9103:3: rule__CastedExpression__TypeAssignment_1 + { + pushFollow(FOLLOW_2); + rule__CastedExpression__TypeAssignment_1(); + + state._fsp--; + if (state.failed) return ; + } - match(input,52,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); + after(grammarAccess.getCastedExpressionAccess().getTypeAssignment_1()); } } @@ -29435,26 +31905,26 @@ public final void rule__ParanthesizedExpression__Group__2__Impl() throws Recogni } return ; } - // $ANTLR end "rule__ParanthesizedExpression__Group__2__Impl" + // $ANTLR end "rule__CastedExpression__Group__1__Impl" - // $ANTLR start "rule__GlobalVarExpression__Group__0" - // InternalScope.g:8898:1: rule__GlobalVarExpression__Group__0 : rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 ; - public final void rule__GlobalVarExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__2" + // InternalScope.g:9111:1: rule__CastedExpression__Group__2 : rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 ; + public final void rule__CastedExpression__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8902:1: ( rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 ) - // InternalScope.g:8903:2: rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 + // InternalScope.g:9115:1: ( rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 ) + // InternalScope.g:9116:2: rule__CastedExpression__Group__2__Impl rule__CastedExpression__Group__3 { - pushFollow(FOLLOW_3); - rule__GlobalVarExpression__Group__0__Impl(); + pushFollow(FOLLOW_17); + rule__CastedExpression__Group__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__GlobalVarExpression__Group__1(); + rule__CastedExpression__Group__3(); state._fsp--; if (state.failed) return ; @@ -29473,28 +31943,28 @@ public final void rule__GlobalVarExpression__Group__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__GlobalVarExpression__Group__0" + // $ANTLR end "rule__CastedExpression__Group__2" - // $ANTLR start "rule__GlobalVarExpression__Group__0__Impl" - // InternalScope.g:8910:1: rule__GlobalVarExpression__Group__0__Impl : ( 'GLOBALVAR' ) ; - public final void rule__GlobalVarExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__2__Impl" + // InternalScope.g:9123:1: rule__CastedExpression__Group__2__Impl : ( ')' ) ; + public final void rule__CastedExpression__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8914:1: ( ( 'GLOBALVAR' ) ) - // InternalScope.g:8915:1: ( 'GLOBALVAR' ) + // InternalScope.g:9127:1: ( ( ')' ) ) + // InternalScope.g:9128:1: ( ')' ) { - // InternalScope.g:8915:1: ( 'GLOBALVAR' ) - // InternalScope.g:8916:2: 'GLOBALVAR' + // InternalScope.g:9128:1: ( ')' ) + // InternalScope.g:9129:2: ')' { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); + before(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); } match(input,78,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); + after(grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); } } @@ -29514,21 +31984,21 @@ public final void rule__GlobalVarExpression__Group__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__GlobalVarExpression__Group__0__Impl" + // $ANTLR end "rule__CastedExpression__Group__2__Impl" - // $ANTLR start "rule__GlobalVarExpression__Group__1" - // InternalScope.g:8925:1: rule__GlobalVarExpression__Group__1 : rule__GlobalVarExpression__Group__1__Impl ; - public final void rule__GlobalVarExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__3" + // InternalScope.g:9138:1: rule__CastedExpression__Group__3 : rule__CastedExpression__Group__3__Impl ; + public final void rule__CastedExpression__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8929:1: ( rule__GlobalVarExpression__Group__1__Impl ) - // InternalScope.g:8930:2: rule__GlobalVarExpression__Group__1__Impl + // InternalScope.g:9142:1: ( rule__CastedExpression__Group__3__Impl ) + // InternalScope.g:9143:2: rule__CastedExpression__Group__3__Impl { pushFollow(FOLLOW_2); - rule__GlobalVarExpression__Group__1__Impl(); + rule__CastedExpression__Group__3__Impl(); state._fsp--; if (state.failed) return ; @@ -29547,30 +32017,30 @@ public final void rule__GlobalVarExpression__Group__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__GlobalVarExpression__Group__1" + // $ANTLR end "rule__CastedExpression__Group__3" - // $ANTLR start "rule__GlobalVarExpression__Group__1__Impl" - // InternalScope.g:8936:1: rule__GlobalVarExpression__Group__1__Impl : ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) ; - public final void rule__GlobalVarExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__CastedExpression__Group__3__Impl" + // InternalScope.g:9149:1: rule__CastedExpression__Group__3__Impl : ( ( rule__CastedExpression__TargetAssignment_3 ) ) ; + public final void rule__CastedExpression__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8940:1: ( ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) ) - // InternalScope.g:8941:1: ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) + // InternalScope.g:9153:1: ( ( ( rule__CastedExpression__TargetAssignment_3 ) ) ) + // InternalScope.g:9154:1: ( ( rule__CastedExpression__TargetAssignment_3 ) ) { - // InternalScope.g:8941:1: ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) - // InternalScope.g:8942:2: ( rule__GlobalVarExpression__NameAssignment_1 ) + // InternalScope.g:9154:1: ( ( rule__CastedExpression__TargetAssignment_3 ) ) + // InternalScope.g:9155:2: ( rule__CastedExpression__TargetAssignment_3 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); + before(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); } - // InternalScope.g:8943:2: ( rule__GlobalVarExpression__NameAssignment_1 ) - // InternalScope.g:8943:3: rule__GlobalVarExpression__NameAssignment_1 + // InternalScope.g:9156:2: ( rule__CastedExpression__TargetAssignment_3 ) + // InternalScope.g:9156:3: rule__CastedExpression__TargetAssignment_3 { pushFollow(FOLLOW_2); - rule__GlobalVarExpression__NameAssignment_1(); + rule__CastedExpression__TargetAssignment_3(); state._fsp--; if (state.failed) return ; @@ -29578,7 +32048,7 @@ public final void rule__GlobalVarExpression__Group__1__Impl() throws Recognition } if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); + after(grammarAccess.getCastedExpressionAccess().getTargetAssignment_3()); } } @@ -29598,26 +32068,26 @@ public final void rule__GlobalVarExpression__Group__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__GlobalVarExpression__Group__1__Impl" + // $ANTLR end "rule__CastedExpression__Group__3__Impl" - // $ANTLR start "rule__OperationCall__Group__0" - // InternalScope.g:8952:1: rule__OperationCall__Group__0 : rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 ; - public final void rule__OperationCall__Group__0() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group__0" + // InternalScope.g:9165:1: rule__ChainExpression__Group__0 : rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 ; + public final void rule__ChainExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8956:1: ( rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 ) - // InternalScope.g:8957:2: rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 + // InternalScope.g:9169:1: ( rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 ) + // InternalScope.g:9170:2: rule__ChainExpression__Group__0__Impl rule__ChainExpression__Group__1 { - pushFollow(FOLLOW_31); - rule__OperationCall__Group__0__Impl(); + pushFollow(FOLLOW_49); + rule__ChainExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group__1(); + rule__ChainExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -29636,38 +32106,32 @@ public final void rule__OperationCall__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__OperationCall__Group__0" + // $ANTLR end "rule__ChainExpression__Group__0" - // $ANTLR start "rule__OperationCall__Group__0__Impl" - // InternalScope.g:8964:1: rule__OperationCall__Group__0__Impl : ( ( rule__OperationCall__NameAssignment_0 ) ) ; - public final void rule__OperationCall__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group__0__Impl" + // InternalScope.g:9177:1: rule__ChainExpression__Group__0__Impl : ( ruleChainedExpression ) ; + public final void rule__ChainExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8968:1: ( ( ( rule__OperationCall__NameAssignment_0 ) ) ) - // InternalScope.g:8969:1: ( ( rule__OperationCall__NameAssignment_0 ) ) + // InternalScope.g:9181:1: ( ( ruleChainedExpression ) ) + // InternalScope.g:9182:1: ( ruleChainedExpression ) { - // InternalScope.g:8969:1: ( ( rule__OperationCall__NameAssignment_0 ) ) - // InternalScope.g:8970:2: ( rule__OperationCall__NameAssignment_0 ) + // InternalScope.g:9182:1: ( ruleChainedExpression ) + // InternalScope.g:9183:2: ruleChainedExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getNameAssignment_0()); + before(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } - // InternalScope.g:8971:2: ( rule__OperationCall__NameAssignment_0 ) - // InternalScope.g:8971:3: rule__OperationCall__NameAssignment_0 - { pushFollow(FOLLOW_2); - rule__OperationCall__NameAssignment_0(); + ruleChainedExpression(); state._fsp--; if (state.failed) return ; - - } - if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getNameAssignment_0()); + after(grammarAccess.getChainExpressionAccess().getChainedExpressionParserRuleCall_0()); } } @@ -29687,26 +32151,21 @@ public final void rule__OperationCall__Group__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__OperationCall__Group__0__Impl" + // $ANTLR end "rule__ChainExpression__Group__0__Impl" - // $ANTLR start "rule__OperationCall__Group__1" - // InternalScope.g:8979:1: rule__OperationCall__Group__1 : rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 ; - public final void rule__OperationCall__Group__1() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group__1" + // InternalScope.g:9192:1: rule__ChainExpression__Group__1 : rule__ChainExpression__Group__1__Impl ; + public final void rule__ChainExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8983:1: ( rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 ) - // InternalScope.g:8984:2: rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 + // InternalScope.g:9196:1: ( rule__ChainExpression__Group__1__Impl ) + // InternalScope.g:9197:2: rule__ChainExpression__Group__1__Impl { - pushFollow(FOLLOW_70); - rule__OperationCall__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group__2(); + rule__ChainExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; @@ -29725,28 +32184,56 @@ public final void rule__OperationCall__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__OperationCall__Group__1" + // $ANTLR end "rule__ChainExpression__Group__1" - // $ANTLR start "rule__OperationCall__Group__1__Impl" - // InternalScope.g:8991:1: rule__OperationCall__Group__1__Impl : ( '(' ) ; - public final void rule__OperationCall__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group__1__Impl" + // InternalScope.g:9203:1: rule__ChainExpression__Group__1__Impl : ( ( rule__ChainExpression__Group_1__0 )* ) ; + public final void rule__ChainExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:8995:1: ( ( '(' ) ) - // InternalScope.g:8996:1: ( '(' ) + // InternalScope.g:9207:1: ( ( ( rule__ChainExpression__Group_1__0 )* ) ) + // InternalScope.g:9208:1: ( ( rule__ChainExpression__Group_1__0 )* ) { - // InternalScope.g:8996:1: ( '(' ) - // InternalScope.g:8997:2: '(' + // InternalScope.g:9208:1: ( ( rule__ChainExpression__Group_1__0 )* ) + // InternalScope.g:9209:2: ( rule__ChainExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); + before(grammarAccess.getChainExpressionAccess().getGroup_1()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:9210:2: ( rule__ChainExpression__Group_1__0 )* + loop94: + do { + int alt94=2; + int LA94_0 = input.LA(1); + + if ( (LA94_0==48) ) { + alt94=1; + } + + + switch (alt94) { + case 1 : + // InternalScope.g:9210:3: rule__ChainExpression__Group_1__0 + { + pushFollow(FOLLOW_50); + rule__ChainExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop94; + } + } while (true); + if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); + after(grammarAccess.getChainExpressionAccess().getGroup_1()); } } @@ -29766,26 +32253,26 @@ public final void rule__OperationCall__Group__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__OperationCall__Group__1__Impl" + // $ANTLR end "rule__ChainExpression__Group__1__Impl" - // $ANTLR start "rule__OperationCall__Group__2" - // InternalScope.g:9006:1: rule__OperationCall__Group__2 : rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 ; - public final void rule__OperationCall__Group__2() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__0" + // InternalScope.g:9219:1: rule__ChainExpression__Group_1__0 : rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 ; + public final void rule__ChainExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9010:1: ( rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 ) - // InternalScope.g:9011:2: rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 + // InternalScope.g:9223:1: ( rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 ) + // InternalScope.g:9224:2: rule__ChainExpression__Group_1__0__Impl rule__ChainExpression__Group_1__1 { - pushFollow(FOLLOW_70); - rule__OperationCall__Group__2__Impl(); + pushFollow(FOLLOW_49); + rule__ChainExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group__3(); + rule__ChainExpression__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -29804,49 +32291,32 @@ public final void rule__OperationCall__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__OperationCall__Group__2" + // $ANTLR end "rule__ChainExpression__Group_1__0" - // $ANTLR start "rule__OperationCall__Group__2__Impl" - // InternalScope.g:9018:1: rule__OperationCall__Group__2__Impl : ( ( rule__OperationCall__Group_2__0 )? ) ; - public final void rule__OperationCall__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__0__Impl" + // InternalScope.g:9231:1: rule__ChainExpression__Group_1__0__Impl : ( () ) ; + public final void rule__ChainExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9022:1: ( ( ( rule__OperationCall__Group_2__0 )? ) ) - // InternalScope.g:9023:1: ( ( rule__OperationCall__Group_2__0 )? ) + // InternalScope.g:9235:1: ( ( () ) ) + // InternalScope.g:9236:1: ( () ) { - // InternalScope.g:9023:1: ( ( rule__OperationCall__Group_2__0 )? ) - // InternalScope.g:9024:2: ( rule__OperationCall__Group_2__0 )? + // InternalScope.g:9236:1: ( () ) + // InternalScope.g:9237:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getGroup_2()); - } - // InternalScope.g:9025:2: ( rule__OperationCall__Group_2__0 )? - int alt69=2; - int LA69_0 = input.LA(1); - - if ( ((LA69_0>=RULE_ID && LA69_0<=RULE_REAL)||LA69_0==19||(LA69_0>=22 && LA69_0<=35)||LA69_0==45||LA69_0==51||LA69_0==69||LA69_0==73||LA69_0==76||(LA69_0>=78 && LA69_0<=79)||(LA69_0>=85 && LA69_0<=86)) ) { - alt69=1; + before(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); } - switch (alt69) { - case 1 : - // InternalScope.g:9025:3: rule__OperationCall__Group_2__0 - { - pushFollow(FOLLOW_2); - rule__OperationCall__Group_2__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - + // InternalScope.g:9238:2: () + // InternalScope.g:9238:3: + { } if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getGroup_2()); + after(grammarAccess.getChainExpressionAccess().getChainExpressionFirstAction_1_0()); } } @@ -29855,10 +32325,6 @@ public final void rule__OperationCall__Group__2__Impl() throws RecognitionExcept } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -29866,21 +32332,26 @@ public final void rule__OperationCall__Group__2__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__OperationCall__Group__2__Impl" + // $ANTLR end "rule__ChainExpression__Group_1__0__Impl" - // $ANTLR start "rule__OperationCall__Group__3" - // InternalScope.g:9033:1: rule__OperationCall__Group__3 : rule__OperationCall__Group__3__Impl ; - public final void rule__OperationCall__Group__3() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__1" + // InternalScope.g:9246:1: rule__ChainExpression__Group_1__1 : rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 ; + public final void rule__ChainExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9037:1: ( rule__OperationCall__Group__3__Impl ) - // InternalScope.g:9038:2: rule__OperationCall__Group__3__Impl + // InternalScope.g:9250:1: ( rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 ) + // InternalScope.g:9251:2: rule__ChainExpression__Group_1__1__Impl rule__ChainExpression__Group_1__2 { + pushFollow(FOLLOW_17); + rule__ChainExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group__3__Impl(); + rule__ChainExpression__Group_1__2(); state._fsp--; if (state.failed) return ; @@ -29899,28 +32370,28 @@ public final void rule__OperationCall__Group__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__OperationCall__Group__3" + // $ANTLR end "rule__ChainExpression__Group_1__1" - // $ANTLR start "rule__OperationCall__Group__3__Impl" - // InternalScope.g:9044:1: rule__OperationCall__Group__3__Impl : ( ')' ) ; - public final void rule__OperationCall__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__1__Impl" + // InternalScope.g:9258:1: rule__ChainExpression__Group_1__1__Impl : ( '->' ) ; + public final void rule__ChainExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9048:1: ( ( ')' ) ) - // InternalScope.g:9049:1: ( ')' ) + // InternalScope.g:9262:1: ( ( '->' ) ) + // InternalScope.g:9263:1: ( '->' ) { - // InternalScope.g:9049:1: ( ')' ) - // InternalScope.g:9050:2: ')' + // InternalScope.g:9263:1: ( '->' ) + // InternalScope.g:9264:2: '->' { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); + before(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } - match(input,52,FOLLOW_2); if (state.failed) return ; + match(input,48,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); + after(grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); } } @@ -29940,26 +32411,21 @@ public final void rule__OperationCall__Group__3__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__OperationCall__Group__3__Impl" + // $ANTLR end "rule__ChainExpression__Group_1__1__Impl" - // $ANTLR start "rule__OperationCall__Group_2__0" - // InternalScope.g:9060:1: rule__OperationCall__Group_2__0 : rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 ; - public final void rule__OperationCall__Group_2__0() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__2" + // InternalScope.g:9273:1: rule__ChainExpression__Group_1__2 : rule__ChainExpression__Group_1__2__Impl ; + public final void rule__ChainExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9064:1: ( rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 ) - // InternalScope.g:9065:2: rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 + // InternalScope.g:9277:1: ( rule__ChainExpression__Group_1__2__Impl ) + // InternalScope.g:9278:2: rule__ChainExpression__Group_1__2__Impl { - pushFollow(FOLLOW_71); - rule__OperationCall__Group_2__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group_2__1(); + rule__ChainExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; @@ -29978,30 +32444,30 @@ public final void rule__OperationCall__Group_2__0() throws RecognitionException } return ; } - // $ANTLR end "rule__OperationCall__Group_2__0" + // $ANTLR end "rule__ChainExpression__Group_1__2" - // $ANTLR start "rule__OperationCall__Group_2__0__Impl" - // InternalScope.g:9072:1: rule__OperationCall__Group_2__0__Impl : ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) ; - public final void rule__OperationCall__Group_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ChainExpression__Group_1__2__Impl" + // InternalScope.g:9284:1: rule__ChainExpression__Group_1__2__Impl : ( ( rule__ChainExpression__NextAssignment_1_2 ) ) ; + public final void rule__ChainExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9076:1: ( ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) ) - // InternalScope.g:9077:1: ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) + // InternalScope.g:9288:1: ( ( ( rule__ChainExpression__NextAssignment_1_2 ) ) ) + // InternalScope.g:9289:1: ( ( rule__ChainExpression__NextAssignment_1_2 ) ) { - // InternalScope.g:9077:1: ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) - // InternalScope.g:9078:2: ( rule__OperationCall__ParamsAssignment_2_0 ) + // InternalScope.g:9289:1: ( ( rule__ChainExpression__NextAssignment_1_2 ) ) + // InternalScope.g:9290:2: ( rule__ChainExpression__NextAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); + before(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } - // InternalScope.g:9079:2: ( rule__OperationCall__ParamsAssignment_2_0 ) - // InternalScope.g:9079:3: rule__OperationCall__ParamsAssignment_2_0 + // InternalScope.g:9291:2: ( rule__ChainExpression__NextAssignment_1_2 ) + // InternalScope.g:9291:3: rule__ChainExpression__NextAssignment_1_2 { pushFollow(FOLLOW_2); - rule__OperationCall__ParamsAssignment_2_0(); + rule__ChainExpression__NextAssignment_1_2(); state._fsp--; if (state.failed) return ; @@ -30009,7 +32475,7 @@ public final void rule__OperationCall__Group_2__0__Impl() throws RecognitionExce } if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); + after(grammarAccess.getChainExpressionAccess().getNextAssignment_1_2()); } } @@ -30029,21 +32495,26 @@ public final void rule__OperationCall__Group_2__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__OperationCall__Group_2__0__Impl" + // $ANTLR end "rule__ChainExpression__Group_1__2__Impl" - // $ANTLR start "rule__OperationCall__Group_2__1" - // InternalScope.g:9087:1: rule__OperationCall__Group_2__1 : rule__OperationCall__Group_2__1__Impl ; - public final void rule__OperationCall__Group_2__1() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group__0" + // InternalScope.g:9300:1: rule__IfExpressionTri__Group__0 : rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 ; + public final void rule__IfExpressionTri__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9091:1: ( rule__OperationCall__Group_2__1__Impl ) - // InternalScope.g:9092:2: rule__OperationCall__Group_2__1__Impl + // InternalScope.g:9304:1: ( rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 ) + // InternalScope.g:9305:2: rule__IfExpressionTri__Group__0__Impl rule__IfExpressionTri__Group__1 { + pushFollow(FOLLOW_51); + rule__IfExpressionTri__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group_2__1__Impl(); + rule__IfExpressionTri__Group__1(); state._fsp--; if (state.failed) return ; @@ -30062,56 +32533,32 @@ public final void rule__OperationCall__Group_2__1() throws RecognitionException } return ; } - // $ANTLR end "rule__OperationCall__Group_2__1" + // $ANTLR end "rule__IfExpressionTri__Group__0" - // $ANTLR start "rule__OperationCall__Group_2__1__Impl" - // InternalScope.g:9098:1: rule__OperationCall__Group_2__1__Impl : ( ( rule__OperationCall__Group_2_1__0 )* ) ; - public final void rule__OperationCall__Group_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group__0__Impl" + // InternalScope.g:9312:1: rule__IfExpressionTri__Group__0__Impl : ( ruleOrExpression ) ; + public final void rule__IfExpressionTri__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9102:1: ( ( ( rule__OperationCall__Group_2_1__0 )* ) ) - // InternalScope.g:9103:1: ( ( rule__OperationCall__Group_2_1__0 )* ) + // InternalScope.g:9316:1: ( ( ruleOrExpression ) ) + // InternalScope.g:9317:1: ( ruleOrExpression ) { - // InternalScope.g:9103:1: ( ( rule__OperationCall__Group_2_1__0 )* ) - // InternalScope.g:9104:2: ( rule__OperationCall__Group_2_1__0 )* + // InternalScope.g:9317:1: ( ruleOrExpression ) + // InternalScope.g:9318:2: ruleOrExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getGroup_2_1()); + before(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } - // InternalScope.g:9105:2: ( rule__OperationCall__Group_2_1__0 )* - loop70: - do { - int alt70=2; - int LA70_0 = input.LA(1); - - if ( (LA70_0==60) ) { - alt70=1; - } - - - switch (alt70) { - case 1 : - // InternalScope.g:9105:3: rule__OperationCall__Group_2_1__0 - { - pushFollow(FOLLOW_39); - rule__OperationCall__Group_2_1__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop70; - } - } while (true); + pushFollow(FOLLOW_2); + ruleOrExpression(); + state._fsp--; + if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getGroup_2_1()); + after(grammarAccess.getIfExpressionTriAccess().getOrExpressionParserRuleCall_0()); } } @@ -30131,26 +32578,21 @@ public final void rule__OperationCall__Group_2__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__OperationCall__Group_2__1__Impl" + // $ANTLR end "rule__IfExpressionTri__Group__0__Impl" - // $ANTLR start "rule__OperationCall__Group_2_1__0" - // InternalScope.g:9114:1: rule__OperationCall__Group_2_1__0 : rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 ; - public final void rule__OperationCall__Group_2_1__0() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group__1" + // InternalScope.g:9327:1: rule__IfExpressionTri__Group__1 : rule__IfExpressionTri__Group__1__Impl ; + public final void rule__IfExpressionTri__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9118:1: ( rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 ) - // InternalScope.g:9119:2: rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 + // InternalScope.g:9331:1: ( rule__IfExpressionTri__Group__1__Impl ) + // InternalScope.g:9332:2: rule__IfExpressionTri__Group__1__Impl { - pushFollow(FOLLOW_17); - rule__OperationCall__Group_2_1__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group_2_1__1(); + rule__IfExpressionTri__Group__1__Impl(); state._fsp--; if (state.failed) return ; @@ -30169,28 +32611,49 @@ public final void rule__OperationCall__Group_2_1__0() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__OperationCall__Group_2_1__0" + // $ANTLR end "rule__IfExpressionTri__Group__1" - // $ANTLR start "rule__OperationCall__Group_2_1__0__Impl" - // InternalScope.g:9126:1: rule__OperationCall__Group_2_1__0__Impl : ( ',' ) ; - public final void rule__OperationCall__Group_2_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group__1__Impl" + // InternalScope.g:9338:1: rule__IfExpressionTri__Group__1__Impl : ( ( rule__IfExpressionTri__Group_1__0 )? ) ; + public final void rule__IfExpressionTri__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9130:1: ( ( ',' ) ) - // InternalScope.g:9131:1: ( ',' ) + // InternalScope.g:9342:1: ( ( ( rule__IfExpressionTri__Group_1__0 )? ) ) + // InternalScope.g:9343:1: ( ( rule__IfExpressionTri__Group_1__0 )? ) { - // InternalScope.g:9131:1: ( ',' ) - // InternalScope.g:9132:2: ',' + // InternalScope.g:9343:1: ( ( rule__IfExpressionTri__Group_1__0 )? ) + // InternalScope.g:9344:2: ( rule__IfExpressionTri__Group_1__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); + before(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } - match(input,60,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:9345:2: ( rule__IfExpressionTri__Group_1__0 )? + int alt95=2; + int LA95_0 = input.LA(1); + + if ( (LA95_0==96) ) { + alt95=1; + } + switch (alt95) { + case 1 : + // InternalScope.g:9345:3: rule__IfExpressionTri__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__IfExpressionTri__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); + after(grammarAccess.getIfExpressionTriAccess().getGroup_1()); } } @@ -30210,21 +32673,26 @@ public final void rule__OperationCall__Group_2_1__0__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__OperationCall__Group_2_1__0__Impl" + // $ANTLR end "rule__IfExpressionTri__Group__1__Impl" - // $ANTLR start "rule__OperationCall__Group_2_1__1" - // InternalScope.g:9141:1: rule__OperationCall__Group_2_1__1 : rule__OperationCall__Group_2_1__1__Impl ; - public final void rule__OperationCall__Group_2_1__1() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__0" + // InternalScope.g:9354:1: rule__IfExpressionTri__Group_1__0 : rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 ; + public final void rule__IfExpressionTri__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9145:1: ( rule__OperationCall__Group_2_1__1__Impl ) - // InternalScope.g:9146:2: rule__OperationCall__Group_2_1__1__Impl + // InternalScope.g:9358:1: ( rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 ) + // InternalScope.g:9359:2: rule__IfExpressionTri__Group_1__0__Impl rule__IfExpressionTri__Group_1__1 { + pushFollow(FOLLOW_51); + rule__IfExpressionTri__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__OperationCall__Group_2_1__1__Impl(); + rule__IfExpressionTri__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -30243,38 +32711,32 @@ public final void rule__OperationCall__Group_2_1__1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__OperationCall__Group_2_1__1" + // $ANTLR end "rule__IfExpressionTri__Group_1__0" - // $ANTLR start "rule__OperationCall__Group_2_1__1__Impl" - // InternalScope.g:9152:1: rule__OperationCall__Group_2_1__1__Impl : ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) ; - public final void rule__OperationCall__Group_2_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__0__Impl" + // InternalScope.g:9366:1: rule__IfExpressionTri__Group_1__0__Impl : ( () ) ; + public final void rule__IfExpressionTri__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9156:1: ( ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) ) - // InternalScope.g:9157:1: ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) + // InternalScope.g:9370:1: ( ( () ) ) + // InternalScope.g:9371:1: ( () ) { - // InternalScope.g:9157:1: ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) - // InternalScope.g:9158:2: ( rule__OperationCall__ParamsAssignment_2_1_1 ) + // InternalScope.g:9371:1: ( () ) + // InternalScope.g:9372:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); + before(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } - // InternalScope.g:9159:2: ( rule__OperationCall__ParamsAssignment_2_1_1 ) - // InternalScope.g:9159:3: rule__OperationCall__ParamsAssignment_2_1_1 + // InternalScope.g:9373:2: () + // InternalScope.g:9373:3: { - pushFollow(FOLLOW_2); - rule__OperationCall__ParamsAssignment_2_1_1(); - - state._fsp--; - if (state.failed) return ; - } if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); + after(grammarAccess.getIfExpressionTriAccess().getIfExpressionConditionAction_1_0()); } } @@ -30283,10 +32745,6 @@ public final void rule__OperationCall__Group_2_1__1__Impl() throws RecognitionEx } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -30294,26 +32752,26 @@ public final void rule__OperationCall__Group_2_1__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__OperationCall__Group_2_1__1__Impl" + // $ANTLR end "rule__IfExpressionTri__Group_1__0__Impl" - // $ANTLR start "rule__ListLiteral__Group__0" - // InternalScope.g:9168:1: rule__ListLiteral__Group__0 : rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 ; - public final void rule__ListLiteral__Group__0() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__1" + // InternalScope.g:9381:1: rule__IfExpressionTri__Group_1__1 : rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 ; + public final void rule__IfExpressionTri__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9172:1: ( rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 ) - // InternalScope.g:9173:2: rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 + // InternalScope.g:9385:1: ( rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 ) + // InternalScope.g:9386:2: rule__IfExpressionTri__Group_1__1__Impl rule__IfExpressionTri__Group_1__2 { - pushFollow(FOLLOW_12); - rule__ListLiteral__Group__0__Impl(); + pushFollow(FOLLOW_17); + rule__IfExpressionTri__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group__1(); + rule__IfExpressionTri__Group_1__2(); state._fsp--; if (state.failed) return ; @@ -30332,32 +32790,28 @@ public final void rule__ListLiteral__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group__0" + // $ANTLR end "rule__IfExpressionTri__Group_1__1" - // $ANTLR start "rule__ListLiteral__Group__0__Impl" - // InternalScope.g:9180:1: rule__ListLiteral__Group__0__Impl : ( () ) ; - public final void rule__ListLiteral__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__1__Impl" + // InternalScope.g:9393:1: rule__IfExpressionTri__Group_1__1__Impl : ( '?' ) ; + public final void rule__IfExpressionTri__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9184:1: ( ( () ) ) - // InternalScope.g:9185:1: ( () ) + // InternalScope.g:9397:1: ( ( '?' ) ) + // InternalScope.g:9398:1: ( '?' ) { - // InternalScope.g:9185:1: ( () ) - // InternalScope.g:9186:2: () + // InternalScope.g:9398:1: ( '?' ) + // InternalScope.g:9399:2: '?' { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); - } - // InternalScope.g:9187:2: () - // InternalScope.g:9187:3: - { + before(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } - + match(input,96,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); + after(grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); } } @@ -30366,6 +32820,10 @@ public final void rule__ListLiteral__Group__0__Impl() throws RecognitionExceptio } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -30373,26 +32831,26 @@ public final void rule__ListLiteral__Group__0__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ListLiteral__Group__0__Impl" + // $ANTLR end "rule__IfExpressionTri__Group_1__1__Impl" - // $ANTLR start "rule__ListLiteral__Group__1" - // InternalScope.g:9195:1: rule__ListLiteral__Group__1 : rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 ; - public final void rule__ListLiteral__Group__1() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__2" + // InternalScope.g:9408:1: rule__IfExpressionTri__Group_1__2 : rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 ; + public final void rule__IfExpressionTri__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9199:1: ( rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 ) - // InternalScope.g:9200:2: rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 + // InternalScope.g:9412:1: ( rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 ) + // InternalScope.g:9413:2: rule__IfExpressionTri__Group_1__2__Impl rule__IfExpressionTri__Group_1__3 { - pushFollow(FOLLOW_74); - rule__ListLiteral__Group__1__Impl(); + pushFollow(FOLLOW_47); + rule__IfExpressionTri__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group__2(); + rule__IfExpressionTri__Group_1__3(); state._fsp--; if (state.failed) return ; @@ -30411,28 +32869,38 @@ public final void rule__ListLiteral__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group__1" + // $ANTLR end "rule__IfExpressionTri__Group_1__2" - // $ANTLR start "rule__ListLiteral__Group__1__Impl" - // InternalScope.g:9207:1: rule__ListLiteral__Group__1__Impl : ( '{' ) ; - public final void rule__ListLiteral__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__2__Impl" + // InternalScope.g:9420:1: rule__IfExpressionTri__Group_1__2__Impl : ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) ; + public final void rule__IfExpressionTri__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9211:1: ( ( '{' ) ) - // InternalScope.g:9212:1: ( '{' ) + // InternalScope.g:9424:1: ( ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) ) + // InternalScope.g:9425:1: ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) { - // InternalScope.g:9212:1: ( '{' ) - // InternalScope.g:9213:2: '{' + // InternalScope.g:9425:1: ( ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) ) + // InternalScope.g:9426:2: ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); + before(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); + } + // InternalScope.g:9427:2: ( rule__IfExpressionTri__ThenPartAssignment_1_2 ) + // InternalScope.g:9427:3: rule__IfExpressionTri__ThenPartAssignment_1_2 + { + pushFollow(FOLLOW_2); + rule__IfExpressionTri__ThenPartAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + } - match(input,45,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); + after(grammarAccess.getIfExpressionTriAccess().getThenPartAssignment_1_2()); } } @@ -30452,26 +32920,26 @@ public final void rule__ListLiteral__Group__1__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ListLiteral__Group__1__Impl" + // $ANTLR end "rule__IfExpressionTri__Group_1__2__Impl" - // $ANTLR start "rule__ListLiteral__Group__2" - // InternalScope.g:9222:1: rule__ListLiteral__Group__2 : rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 ; - public final void rule__ListLiteral__Group__2() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__3" + // InternalScope.g:9435:1: rule__IfExpressionTri__Group_1__3 : rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 ; + public final void rule__IfExpressionTri__Group_1__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9226:1: ( rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 ) - // InternalScope.g:9227:2: rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 + // InternalScope.g:9439:1: ( rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 ) + // InternalScope.g:9440:2: rule__IfExpressionTri__Group_1__3__Impl rule__IfExpressionTri__Group_1__4 { - pushFollow(FOLLOW_74); - rule__ListLiteral__Group__2__Impl(); + pushFollow(FOLLOW_17); + rule__IfExpressionTri__Group_1__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group__3(); + rule__IfExpressionTri__Group_1__4(); state._fsp--; if (state.failed) return ; @@ -30490,49 +32958,28 @@ public final void rule__ListLiteral__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group__2" + // $ANTLR end "rule__IfExpressionTri__Group_1__3" - // $ANTLR start "rule__ListLiteral__Group__2__Impl" - // InternalScope.g:9234:1: rule__ListLiteral__Group__2__Impl : ( ( rule__ListLiteral__Group_2__0 )? ) ; - public final void rule__ListLiteral__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__3__Impl" + // InternalScope.g:9447:1: rule__IfExpressionTri__Group_1__3__Impl : ( ':' ) ; + public final void rule__IfExpressionTri__Group_1__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9238:1: ( ( ( rule__ListLiteral__Group_2__0 )? ) ) - // InternalScope.g:9239:1: ( ( rule__ListLiteral__Group_2__0 )? ) + // InternalScope.g:9451:1: ( ( ':' ) ) + // InternalScope.g:9452:1: ( ':' ) { - // InternalScope.g:9239:1: ( ( rule__ListLiteral__Group_2__0 )? ) - // InternalScope.g:9240:2: ( rule__ListLiteral__Group_2__0 )? + // InternalScope.g:9452:1: ( ':' ) + // InternalScope.g:9453:2: ':' { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getGroup_2()); - } - // InternalScope.g:9241:2: ( rule__ListLiteral__Group_2__0 )? - int alt71=2; - int LA71_0 = input.LA(1); - - if ( ((LA71_0>=RULE_ID && LA71_0<=RULE_REAL)||LA71_0==19||(LA71_0>=22 && LA71_0<=35)||LA71_0==45||LA71_0==51||LA71_0==69||LA71_0==73||LA71_0==76||(LA71_0>=78 && LA71_0<=79)||(LA71_0>=85 && LA71_0<=86)) ) { - alt71=1; - } - switch (alt71) { - case 1 : - // InternalScope.g:9241:3: rule__ListLiteral__Group_2__0 - { - pushFollow(FOLLOW_2); - rule__ListLiteral__Group_2__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - + before(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } - + match(input,95,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getGroup_2()); + after(grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); } } @@ -30552,21 +32999,21 @@ public final void rule__ListLiteral__Group__2__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ListLiteral__Group__2__Impl" + // $ANTLR end "rule__IfExpressionTri__Group_1__3__Impl" - // $ANTLR start "rule__ListLiteral__Group__3" - // InternalScope.g:9249:1: rule__ListLiteral__Group__3 : rule__ListLiteral__Group__3__Impl ; - public final void rule__ListLiteral__Group__3() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__4" + // InternalScope.g:9462:1: rule__IfExpressionTri__Group_1__4 : rule__IfExpressionTri__Group_1__4__Impl ; + public final void rule__IfExpressionTri__Group_1__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9253:1: ( rule__ListLiteral__Group__3__Impl ) - // InternalScope.g:9254:2: rule__ListLiteral__Group__3__Impl + // InternalScope.g:9466:1: ( rule__IfExpressionTri__Group_1__4__Impl ) + // InternalScope.g:9467:2: rule__IfExpressionTri__Group_1__4__Impl { pushFollow(FOLLOW_2); - rule__ListLiteral__Group__3__Impl(); + rule__IfExpressionTri__Group_1__4__Impl(); state._fsp--; if (state.failed) return ; @@ -30585,28 +33032,38 @@ public final void rule__ListLiteral__Group__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group__3" + // $ANTLR end "rule__IfExpressionTri__Group_1__4" - // $ANTLR start "rule__ListLiteral__Group__3__Impl" - // InternalScope.g:9260:1: rule__ListLiteral__Group__3__Impl : ( '}' ) ; - public final void rule__ListLiteral__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionTri__Group_1__4__Impl" + // InternalScope.g:9473:1: rule__IfExpressionTri__Group_1__4__Impl : ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) ; + public final void rule__IfExpressionTri__Group_1__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9264:1: ( ( '}' ) ) - // InternalScope.g:9265:1: ( '}' ) + // InternalScope.g:9477:1: ( ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) ) + // InternalScope.g:9478:1: ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) { - // InternalScope.g:9265:1: ( '}' ) - // InternalScope.g:9266:2: '}' + // InternalScope.g:9478:1: ( ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) ) + // InternalScope.g:9479:2: ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); + before(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); + } + // InternalScope.g:9480:2: ( rule__IfExpressionTri__ElsePartAssignment_1_4 ) + // InternalScope.g:9480:3: rule__IfExpressionTri__ElsePartAssignment_1_4 + { + pushFollow(FOLLOW_2); + rule__IfExpressionTri__ElsePartAssignment_1_4(); + + state._fsp--; + if (state.failed) return ; + } - match(input,46,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); + after(grammarAccess.getIfExpressionTriAccess().getElsePartAssignment_1_4()); } } @@ -30626,26 +33083,26 @@ public final void rule__ListLiteral__Group__3__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ListLiteral__Group__3__Impl" + // $ANTLR end "rule__IfExpressionTri__Group_1__4__Impl" - // $ANTLR start "rule__ListLiteral__Group_2__0" - // InternalScope.g:9276:1: rule__ListLiteral__Group_2__0 : rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 ; - public final void rule__ListLiteral__Group_2__0() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__0" + // InternalScope.g:9489:1: rule__IfExpressionKw__Group__0 : rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 ; + public final void rule__IfExpressionKw__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9280:1: ( rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 ) - // InternalScope.g:9281:2: rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 + // InternalScope.g:9493:1: ( rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 ) + // InternalScope.g:9494:2: rule__IfExpressionKw__Group__0__Impl rule__IfExpressionKw__Group__1 { - pushFollow(FOLLOW_71); - rule__ListLiteral__Group_2__0__Impl(); + pushFollow(FOLLOW_17); + rule__IfExpressionKw__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group_2__1(); + rule__IfExpressionKw__Group__1(); state._fsp--; if (state.failed) return ; @@ -30664,38 +33121,28 @@ public final void rule__ListLiteral__Group_2__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group_2__0" + // $ANTLR end "rule__IfExpressionKw__Group__0" - // $ANTLR start "rule__ListLiteral__Group_2__0__Impl" - // InternalScope.g:9288:1: rule__ListLiteral__Group_2__0__Impl : ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) ; - public final void rule__ListLiteral__Group_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__0__Impl" + // InternalScope.g:9501:1: rule__IfExpressionKw__Group__0__Impl : ( 'if' ) ; + public final void rule__IfExpressionKw__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9292:1: ( ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) ) - // InternalScope.g:9293:1: ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) + // InternalScope.g:9505:1: ( ( 'if' ) ) + // InternalScope.g:9506:1: ( 'if' ) { - // InternalScope.g:9293:1: ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) - // InternalScope.g:9294:2: ( rule__ListLiteral__ElementsAssignment_2_0 ) + // InternalScope.g:9506:1: ( 'if' ) + // InternalScope.g:9507:2: 'if' { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); - } - // InternalScope.g:9295:2: ( rule__ListLiteral__ElementsAssignment_2_0 ) - // InternalScope.g:9295:3: rule__ListLiteral__ElementsAssignment_2_0 - { - pushFollow(FOLLOW_2); - rule__ListLiteral__ElementsAssignment_2_0(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); } - + match(input,97,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); + after(grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); } } @@ -30715,21 +33162,26 @@ public final void rule__ListLiteral__Group_2__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ListLiteral__Group_2__0__Impl" + // $ANTLR end "rule__IfExpressionKw__Group__0__Impl" - // $ANTLR start "rule__ListLiteral__Group_2__1" - // InternalScope.g:9303:1: rule__ListLiteral__Group_2__1 : rule__ListLiteral__Group_2__1__Impl ; - public final void rule__ListLiteral__Group_2__1() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__1" + // InternalScope.g:9516:1: rule__IfExpressionKw__Group__1 : rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 ; + public final void rule__IfExpressionKw__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9307:1: ( rule__ListLiteral__Group_2__1__Impl ) - // InternalScope.g:9308:2: rule__ListLiteral__Group_2__1__Impl + // InternalScope.g:9520:1: ( rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 ) + // InternalScope.g:9521:2: rule__IfExpressionKw__Group__1__Impl rule__IfExpressionKw__Group__2 { + pushFollow(FOLLOW_52); + rule__IfExpressionKw__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group_2__1__Impl(); + rule__IfExpressionKw__Group__2(); state._fsp--; if (state.failed) return ; @@ -30748,56 +33200,38 @@ public final void rule__ListLiteral__Group_2__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__ListLiteral__Group_2__1" + // $ANTLR end "rule__IfExpressionKw__Group__1" - // $ANTLR start "rule__ListLiteral__Group_2__1__Impl" - // InternalScope.g:9314:1: rule__ListLiteral__Group_2__1__Impl : ( ( rule__ListLiteral__Group_2_1__0 )* ) ; - public final void rule__ListLiteral__Group_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__1__Impl" + // InternalScope.g:9528:1: rule__IfExpressionKw__Group__1__Impl : ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) ; + public final void rule__IfExpressionKw__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9318:1: ( ( ( rule__ListLiteral__Group_2_1__0 )* ) ) - // InternalScope.g:9319:1: ( ( rule__ListLiteral__Group_2_1__0 )* ) + // InternalScope.g:9532:1: ( ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) ) + // InternalScope.g:9533:1: ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) { - // InternalScope.g:9319:1: ( ( rule__ListLiteral__Group_2_1__0 )* ) - // InternalScope.g:9320:2: ( rule__ListLiteral__Group_2_1__0 )* + // InternalScope.g:9533:1: ( ( rule__IfExpressionKw__ConditionAssignment_1 ) ) + // InternalScope.g:9534:2: ( rule__IfExpressionKw__ConditionAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getGroup_2_1()); + before(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } - // InternalScope.g:9321:2: ( rule__ListLiteral__Group_2_1__0 )* - loop72: - do { - int alt72=2; - int LA72_0 = input.LA(1); - - if ( (LA72_0==60) ) { - alt72=1; - } - - - switch (alt72) { - case 1 : - // InternalScope.g:9321:3: rule__ListLiteral__Group_2_1__0 - { - pushFollow(FOLLOW_39); - rule__ListLiteral__Group_2_1__0(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:9535:2: ( rule__IfExpressionKw__ConditionAssignment_1 ) + // InternalScope.g:9535:3: rule__IfExpressionKw__ConditionAssignment_1 + { + pushFollow(FOLLOW_2); + rule__IfExpressionKw__ConditionAssignment_1(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop72; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getGroup_2_1()); + after(grammarAccess.getIfExpressionKwAccess().getConditionAssignment_1()); } } @@ -30817,26 +33251,26 @@ public final void rule__ListLiteral__Group_2__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ListLiteral__Group_2__1__Impl" + // $ANTLR end "rule__IfExpressionKw__Group__1__Impl" - // $ANTLR start "rule__ListLiteral__Group_2_1__0" - // InternalScope.g:9330:1: rule__ListLiteral__Group_2_1__0 : rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 ; - public final void rule__ListLiteral__Group_2_1__0() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__2" + // InternalScope.g:9543:1: rule__IfExpressionKw__Group__2 : rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 ; + public final void rule__IfExpressionKw__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9334:1: ( rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 ) - // InternalScope.g:9335:2: rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 + // InternalScope.g:9547:1: ( rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 ) + // InternalScope.g:9548:2: rule__IfExpressionKw__Group__2__Impl rule__IfExpressionKw__Group__3 { pushFollow(FOLLOW_17); - rule__ListLiteral__Group_2_1__0__Impl(); + rule__IfExpressionKw__Group__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group_2_1__1(); + rule__IfExpressionKw__Group__3(); state._fsp--; if (state.failed) return ; @@ -30855,28 +33289,28 @@ public final void rule__ListLiteral__Group_2_1__0() throws RecognitionException } return ; } - // $ANTLR end "rule__ListLiteral__Group_2_1__0" + // $ANTLR end "rule__IfExpressionKw__Group__2" - // $ANTLR start "rule__ListLiteral__Group_2_1__0__Impl" - // InternalScope.g:9342:1: rule__ListLiteral__Group_2_1__0__Impl : ( ',' ) ; - public final void rule__ListLiteral__Group_2_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__2__Impl" + // InternalScope.g:9555:1: rule__IfExpressionKw__Group__2__Impl : ( 'then' ) ; + public final void rule__IfExpressionKw__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9346:1: ( ( ',' ) ) - // InternalScope.g:9347:1: ( ',' ) + // InternalScope.g:9559:1: ( ( 'then' ) ) + // InternalScope.g:9560:1: ( 'then' ) { - // InternalScope.g:9347:1: ( ',' ) - // InternalScope.g:9348:2: ',' + // InternalScope.g:9560:1: ( 'then' ) + // InternalScope.g:9561:2: 'then' { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); + before(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } - match(input,60,FOLLOW_2); if (state.failed) return ; + match(input,98,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); + after(grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); } } @@ -30896,21 +33330,26 @@ public final void rule__ListLiteral__Group_2_1__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ListLiteral__Group_2_1__0__Impl" + // $ANTLR end "rule__IfExpressionKw__Group__2__Impl" - // $ANTLR start "rule__ListLiteral__Group_2_1__1" - // InternalScope.g:9357:1: rule__ListLiteral__Group_2_1__1 : rule__ListLiteral__Group_2_1__1__Impl ; - public final void rule__ListLiteral__Group_2_1__1() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__3" + // InternalScope.g:9570:1: rule__IfExpressionKw__Group__3 : rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 ; + public final void rule__IfExpressionKw__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9361:1: ( rule__ListLiteral__Group_2_1__1__Impl ) - // InternalScope.g:9362:2: rule__ListLiteral__Group_2_1__1__Impl + // InternalScope.g:9574:1: ( rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 ) + // InternalScope.g:9575:2: rule__IfExpressionKw__Group__3__Impl rule__IfExpressionKw__Group__4 { + pushFollow(FOLLOW_53); + rule__IfExpressionKw__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ListLiteral__Group_2_1__1__Impl(); + rule__IfExpressionKw__Group__4(); state._fsp--; if (state.failed) return ; @@ -30929,30 +33368,30 @@ public final void rule__ListLiteral__Group_2_1__1() throws RecognitionException } return ; } - // $ANTLR end "rule__ListLiteral__Group_2_1__1" + // $ANTLR end "rule__IfExpressionKw__Group__3" - // $ANTLR start "rule__ListLiteral__Group_2_1__1__Impl" - // InternalScope.g:9368:1: rule__ListLiteral__Group_2_1__1__Impl : ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) ; - public final void rule__ListLiteral__Group_2_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__3__Impl" + // InternalScope.g:9582:1: rule__IfExpressionKw__Group__3__Impl : ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) ; + public final void rule__IfExpressionKw__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9372:1: ( ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) ) - // InternalScope.g:9373:1: ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) + // InternalScope.g:9586:1: ( ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) ) + // InternalScope.g:9587:1: ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) { - // InternalScope.g:9373:1: ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) - // InternalScope.g:9374:2: ( rule__ListLiteral__ElementsAssignment_2_1_1 ) + // InternalScope.g:9587:1: ( ( rule__IfExpressionKw__ThenPartAssignment_3 ) ) + // InternalScope.g:9588:2: ( rule__IfExpressionKw__ThenPartAssignment_3 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); + before(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); } - // InternalScope.g:9375:2: ( rule__ListLiteral__ElementsAssignment_2_1_1 ) - // InternalScope.g:9375:3: rule__ListLiteral__ElementsAssignment_2_1_1 + // InternalScope.g:9589:2: ( rule__IfExpressionKw__ThenPartAssignment_3 ) + // InternalScope.g:9589:3: rule__IfExpressionKw__ThenPartAssignment_3 { pushFollow(FOLLOW_2); - rule__ListLiteral__ElementsAssignment_2_1_1(); + rule__IfExpressionKw__ThenPartAssignment_3(); state._fsp--; if (state.failed) return ; @@ -30960,7 +33399,7 @@ public final void rule__ListLiteral__Group_2_1__1__Impl() throws RecognitionExce } if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); + after(grammarAccess.getIfExpressionKwAccess().getThenPartAssignment_3()); } } @@ -30980,26 +33419,21 @@ public final void rule__ListLiteral__Group_2_1__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__ListLiteral__Group_2_1__1__Impl" + // $ANTLR end "rule__IfExpressionKw__Group__3__Impl" - // $ANTLR start "rule__ConstructorCallExpression__Group__0" - // InternalScope.g:9384:1: rule__ConstructorCallExpression__Group__0 : rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 ; - public final void rule__ConstructorCallExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__4" + // InternalScope.g:9597:1: rule__IfExpressionKw__Group__4 : rule__IfExpressionKw__Group__4__Impl ; + public final void rule__IfExpressionKw__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9388:1: ( rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 ) - // InternalScope.g:9389:2: rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 + // InternalScope.g:9601:1: ( rule__IfExpressionKw__Group__4__Impl ) + // InternalScope.g:9602:2: rule__IfExpressionKw__Group__4__Impl { - pushFollow(FOLLOW_48); - rule__ConstructorCallExpression__Group__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ConstructorCallExpression__Group__1(); + rule__IfExpressionKw__Group__4__Impl(); state._fsp--; if (state.failed) return ; @@ -31018,28 +33452,53 @@ public final void rule__ConstructorCallExpression__Group__0() throws Recognition } return ; } - // $ANTLR end "rule__ConstructorCallExpression__Group__0" + // $ANTLR end "rule__IfExpressionKw__Group__4" - // $ANTLR start "rule__ConstructorCallExpression__Group__0__Impl" - // InternalScope.g:9396:1: rule__ConstructorCallExpression__Group__0__Impl : ( 'new' ) ; - public final void rule__ConstructorCallExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group__4__Impl" + // InternalScope.g:9608:1: rule__IfExpressionKw__Group__4__Impl : ( ( rule__IfExpressionKw__Group_4__0 )? ) ; + public final void rule__IfExpressionKw__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9400:1: ( ( 'new' ) ) - // InternalScope.g:9401:1: ( 'new' ) + // InternalScope.g:9612:1: ( ( ( rule__IfExpressionKw__Group_4__0 )? ) ) + // InternalScope.g:9613:1: ( ( rule__IfExpressionKw__Group_4__0 )? ) { - // InternalScope.g:9401:1: ( 'new' ) - // InternalScope.g:9402:2: 'new' + // InternalScope.g:9613:1: ( ( rule__IfExpressionKw__Group_4__0 )? ) + // InternalScope.g:9614:2: ( rule__IfExpressionKw__Group_4__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); + before(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } - match(input,79,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:9615:2: ( rule__IfExpressionKw__Group_4__0 )? + int alt96=2; + int LA96_0 = input.LA(1); + + if ( (LA96_0==99) ) { + int LA96_1 = input.LA(2); + + if ( (synpred171_InternalScope()) ) { + alt96=1; + } + } + switch (alt96) { + case 1 : + // InternalScope.g:9615:3: rule__IfExpressionKw__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__IfExpressionKw__Group_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); + after(grammarAccess.getIfExpressionKwAccess().getGroup_4()); } } @@ -31059,21 +33518,21 @@ public final void rule__ConstructorCallExpression__Group__0__Impl() throws Recog } return ; } - // $ANTLR end "rule__ConstructorCallExpression__Group__0__Impl" + // $ANTLR end "rule__IfExpressionKw__Group__4__Impl" - // $ANTLR start "rule__ConstructorCallExpression__Group__1" - // InternalScope.g:9411:1: rule__ConstructorCallExpression__Group__1 : rule__ConstructorCallExpression__Group__1__Impl ; - public final void rule__ConstructorCallExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4__0" + // InternalScope.g:9624:1: rule__IfExpressionKw__Group_4__0 : rule__IfExpressionKw__Group_4__0__Impl ; + public final void rule__IfExpressionKw__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9415:1: ( rule__ConstructorCallExpression__Group__1__Impl ) - // InternalScope.g:9416:2: rule__ConstructorCallExpression__Group__1__Impl + // InternalScope.g:9628:1: ( rule__IfExpressionKw__Group_4__0__Impl ) + // InternalScope.g:9629:2: rule__IfExpressionKw__Group_4__0__Impl { pushFollow(FOLLOW_2); - rule__ConstructorCallExpression__Group__1__Impl(); + rule__IfExpressionKw__Group_4__0__Impl(); state._fsp--; if (state.failed) return ; @@ -31092,30 +33551,30 @@ public final void rule__ConstructorCallExpression__Group__1() throws Recognition } return ; } - // $ANTLR end "rule__ConstructorCallExpression__Group__1" + // $ANTLR end "rule__IfExpressionKw__Group_4__0" - // $ANTLR start "rule__ConstructorCallExpression__Group__1__Impl" - // InternalScope.g:9422:1: rule__ConstructorCallExpression__Group__1__Impl : ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) ; - public final void rule__ConstructorCallExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4__0__Impl" + // InternalScope.g:9635:1: rule__IfExpressionKw__Group_4__0__Impl : ( ( rule__IfExpressionKw__Group_4_0__0 ) ) ; + public final void rule__IfExpressionKw__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9426:1: ( ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) ) - // InternalScope.g:9427:1: ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) + // InternalScope.g:9639:1: ( ( ( rule__IfExpressionKw__Group_4_0__0 ) ) ) + // InternalScope.g:9640:1: ( ( rule__IfExpressionKw__Group_4_0__0 ) ) { - // InternalScope.g:9427:1: ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) - // InternalScope.g:9428:2: ( rule__ConstructorCallExpression__TypeAssignment_1 ) + // InternalScope.g:9640:1: ( ( rule__IfExpressionKw__Group_4_0__0 ) ) + // InternalScope.g:9641:2: ( rule__IfExpressionKw__Group_4_0__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); + before(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); } - // InternalScope.g:9429:2: ( rule__ConstructorCallExpression__TypeAssignment_1 ) - // InternalScope.g:9429:3: rule__ConstructorCallExpression__TypeAssignment_1 + // InternalScope.g:9642:2: ( rule__IfExpressionKw__Group_4_0__0 ) + // InternalScope.g:9642:3: rule__IfExpressionKw__Group_4_0__0 { pushFollow(FOLLOW_2); - rule__ConstructorCallExpression__TypeAssignment_1(); + rule__IfExpressionKw__Group_4_0__0(); state._fsp--; if (state.failed) return ; @@ -31123,7 +33582,7 @@ public final void rule__ConstructorCallExpression__Group__1__Impl() throws Recog } if ( state.backtracking==0 ) { - after(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); + after(grammarAccess.getIfExpressionKwAccess().getGroup_4_0()); } } @@ -31143,26 +33602,26 @@ public final void rule__ConstructorCallExpression__Group__1__Impl() throws Recog } return ; } - // $ANTLR end "rule__ConstructorCallExpression__Group__1__Impl" + // $ANTLR end "rule__IfExpressionKw__Group_4__0__Impl" - // $ANTLR start "rule__TypeSelectExpression__Group__0" - // InternalScope.g:9438:1: rule__TypeSelectExpression__Group__0 : rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 ; - public final void rule__TypeSelectExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4_0__0" + // InternalScope.g:9651:1: rule__IfExpressionKw__Group_4_0__0 : rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 ; + public final void rule__IfExpressionKw__Group_4_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9442:1: ( rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 ) - // InternalScope.g:9443:2: rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 + // InternalScope.g:9655:1: ( rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 ) + // InternalScope.g:9656:2: rule__IfExpressionKw__Group_4_0__0__Impl rule__IfExpressionKw__Group_4_0__1 { - pushFollow(FOLLOW_31); - rule__TypeSelectExpression__Group__0__Impl(); + pushFollow(FOLLOW_17); + rule__IfExpressionKw__Group_4_0__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__TypeSelectExpression__Group__1(); + rule__IfExpressionKw__Group_4_0__1(); state._fsp--; if (state.failed) return ; @@ -31181,38 +33640,28 @@ public final void rule__TypeSelectExpression__Group__0() throws RecognitionExcep } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__0" + // $ANTLR end "rule__IfExpressionKw__Group_4_0__0" - // $ANTLR start "rule__TypeSelectExpression__Group__0__Impl" - // InternalScope.g:9450:1: rule__TypeSelectExpression__Group__0__Impl : ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) ; - public final void rule__TypeSelectExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4_0__0__Impl" + // InternalScope.g:9663:1: rule__IfExpressionKw__Group_4_0__0__Impl : ( 'else' ) ; + public final void rule__IfExpressionKw__Group_4_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9454:1: ( ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) ) - // InternalScope.g:9455:1: ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) + // InternalScope.g:9667:1: ( ( 'else' ) ) + // InternalScope.g:9668:1: ( 'else' ) { - // InternalScope.g:9455:1: ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) - // InternalScope.g:9456:2: ( rule__TypeSelectExpression__NameAssignment_0 ) + // InternalScope.g:9668:1: ( 'else' ) + // InternalScope.g:9669:2: 'else' { if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); - } - // InternalScope.g:9457:2: ( rule__TypeSelectExpression__NameAssignment_0 ) - // InternalScope.g:9457:3: rule__TypeSelectExpression__NameAssignment_0 - { - pushFollow(FOLLOW_2); - rule__TypeSelectExpression__NameAssignment_0(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } - + match(input,99,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); + after(grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); } } @@ -31232,26 +33681,21 @@ public final void rule__TypeSelectExpression__Group__0__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__0__Impl" + // $ANTLR end "rule__IfExpressionKw__Group_4_0__0__Impl" - // $ANTLR start "rule__TypeSelectExpression__Group__1" - // InternalScope.g:9465:1: rule__TypeSelectExpression__Group__1 : rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 ; - public final void rule__TypeSelectExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4_0__1" + // InternalScope.g:9678:1: rule__IfExpressionKw__Group_4_0__1 : rule__IfExpressionKw__Group_4_0__1__Impl ; + public final void rule__IfExpressionKw__Group_4_0__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9469:1: ( rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 ) - // InternalScope.g:9470:2: rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 + // InternalScope.g:9682:1: ( rule__IfExpressionKw__Group_4_0__1__Impl ) + // InternalScope.g:9683:2: rule__IfExpressionKw__Group_4_0__1__Impl { - pushFollow(FOLLOW_48); - rule__TypeSelectExpression__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__TypeSelectExpression__Group__2(); + rule__IfExpressionKw__Group_4_0__1__Impl(); state._fsp--; if (state.failed) return ; @@ -31270,28 +33714,38 @@ public final void rule__TypeSelectExpression__Group__1() throws RecognitionExcep } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__1" + // $ANTLR end "rule__IfExpressionKw__Group_4_0__1" - // $ANTLR start "rule__TypeSelectExpression__Group__1__Impl" - // InternalScope.g:9477:1: rule__TypeSelectExpression__Group__1__Impl : ( '(' ) ; - public final void rule__TypeSelectExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__IfExpressionKw__Group_4_0__1__Impl" + // InternalScope.g:9689:1: rule__IfExpressionKw__Group_4_0__1__Impl : ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) ; + public final void rule__IfExpressionKw__Group_4_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9481:1: ( ( '(' ) ) - // InternalScope.g:9482:1: ( '(' ) + // InternalScope.g:9693:1: ( ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) ) + // InternalScope.g:9694:1: ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) { - // InternalScope.g:9482:1: ( '(' ) - // InternalScope.g:9483:2: '(' + // InternalScope.g:9694:1: ( ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) ) + // InternalScope.g:9695:2: ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); + before(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:9696:2: ( rule__IfExpressionKw__ElsePartAssignment_4_0_1 ) + // InternalScope.g:9696:3: rule__IfExpressionKw__ElsePartAssignment_4_0_1 + { + pushFollow(FOLLOW_2); + rule__IfExpressionKw__ElsePartAssignment_4_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); + after(grammarAccess.getIfExpressionKwAccess().getElsePartAssignment_4_0_1()); } } @@ -31311,26 +33765,26 @@ public final void rule__TypeSelectExpression__Group__1__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__1__Impl" + // $ANTLR end "rule__IfExpressionKw__Group_4_0__1__Impl" - // $ANTLR start "rule__TypeSelectExpression__Group__2" - // InternalScope.g:9492:1: rule__TypeSelectExpression__Group__2 : rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 ; - public final void rule__TypeSelectExpression__Group__2() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__0" + // InternalScope.g:9705:1: rule__SwitchExpression__Group__0 : rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 ; + public final void rule__SwitchExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9496:1: ( rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 ) - // InternalScope.g:9497:2: rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 + // InternalScope.g:9709:1: ( rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 ) + // InternalScope.g:9710:2: rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 { - pushFollow(FOLLOW_23); - rule__TypeSelectExpression__Group__2__Impl(); + pushFollow(FOLLOW_54); + rule__SwitchExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__TypeSelectExpression__Group__3(); + rule__SwitchExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -31349,38 +33803,28 @@ public final void rule__TypeSelectExpression__Group__2() throws RecognitionExcep } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__2" + // $ANTLR end "rule__SwitchExpression__Group__0" - // $ANTLR start "rule__TypeSelectExpression__Group__2__Impl" - // InternalScope.g:9504:1: rule__TypeSelectExpression__Group__2__Impl : ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) ; - public final void rule__TypeSelectExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__0__Impl" + // InternalScope.g:9717:1: rule__SwitchExpression__Group__0__Impl : ( 'switch' ) ; + public final void rule__SwitchExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9508:1: ( ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) ) - // InternalScope.g:9509:1: ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) + // InternalScope.g:9721:1: ( ( 'switch' ) ) + // InternalScope.g:9722:1: ( 'switch' ) { - // InternalScope.g:9509:1: ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) - // InternalScope.g:9510:2: ( rule__TypeSelectExpression__TypeAssignment_2 ) + // InternalScope.g:9722:1: ( 'switch' ) + // InternalScope.g:9723:2: 'switch' { if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); - } - // InternalScope.g:9511:2: ( rule__TypeSelectExpression__TypeAssignment_2 ) - // InternalScope.g:9511:3: rule__TypeSelectExpression__TypeAssignment_2 - { - pushFollow(FOLLOW_2); - rule__TypeSelectExpression__TypeAssignment_2(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } - + match(input,100,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); + after(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); } } @@ -31400,21 +33844,26 @@ public final void rule__TypeSelectExpression__Group__2__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__2__Impl" + // $ANTLR end "rule__SwitchExpression__Group__0__Impl" - // $ANTLR start "rule__TypeSelectExpression__Group__3" - // InternalScope.g:9519:1: rule__TypeSelectExpression__Group__3 : rule__TypeSelectExpression__Group__3__Impl ; - public final void rule__TypeSelectExpression__Group__3() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__1" + // InternalScope.g:9732:1: rule__SwitchExpression__Group__1 : rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 ; + public final void rule__SwitchExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9523:1: ( rule__TypeSelectExpression__Group__3__Impl ) - // InternalScope.g:9524:2: rule__TypeSelectExpression__Group__3__Impl + // InternalScope.g:9736:1: ( rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 ) + // InternalScope.g:9737:2: rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 { + pushFollow(FOLLOW_54); + rule__SwitchExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__TypeSelectExpression__Group__3__Impl(); + rule__SwitchExpression__Group__2(); state._fsp--; if (state.failed) return ; @@ -31433,28 +33882,49 @@ public final void rule__TypeSelectExpression__Group__3() throws RecognitionExcep } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__3" + // $ANTLR end "rule__SwitchExpression__Group__1" - // $ANTLR start "rule__TypeSelectExpression__Group__3__Impl" - // InternalScope.g:9530:1: rule__TypeSelectExpression__Group__3__Impl : ( ')' ) ; - public final void rule__TypeSelectExpression__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__1__Impl" + // InternalScope.g:9744:1: rule__SwitchExpression__Group__1__Impl : ( ( rule__SwitchExpression__Group_1__0 )? ) ; + public final void rule__SwitchExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9534:1: ( ( ')' ) ) - // InternalScope.g:9535:1: ( ')' ) + // InternalScope.g:9748:1: ( ( ( rule__SwitchExpression__Group_1__0 )? ) ) + // InternalScope.g:9749:1: ( ( rule__SwitchExpression__Group_1__0 )? ) { - // InternalScope.g:9535:1: ( ')' ) - // InternalScope.g:9536:2: ')' + // InternalScope.g:9749:1: ( ( rule__SwitchExpression__Group_1__0 )? ) + // InternalScope.g:9750:2: ( rule__SwitchExpression__Group_1__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); + before(grammarAccess.getSwitchExpressionAccess().getGroup_1()); + } + // InternalScope.g:9751:2: ( rule__SwitchExpression__Group_1__0 )? + int alt97=2; + int LA97_0 = input.LA(1); + + if ( (LA97_0==77) ) { + alt97=1; } - match(input,52,FOLLOW_2); if (state.failed) return ; + switch (alt97) { + case 1 : + // InternalScope.g:9751:3: rule__SwitchExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__SwitchExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); + after(grammarAccess.getSwitchExpressionAccess().getGroup_1()); } } @@ -31474,26 +33944,26 @@ public final void rule__TypeSelectExpression__Group__3__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__TypeSelectExpression__Group__3__Impl" + // $ANTLR end "rule__SwitchExpression__Group__1__Impl" - // $ANTLR start "rule__CollectionExpression__Group__0" - // InternalScope.g:9546:1: rule__CollectionExpression__Group__0 : rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 ; - public final void rule__CollectionExpression__Group__0() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__2" + // InternalScope.g:9759:1: rule__SwitchExpression__Group__2 : rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 ; + public final void rule__SwitchExpression__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9550:1: ( rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 ) - // InternalScope.g:9551:2: rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 + // InternalScope.g:9763:1: ( rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 ) + // InternalScope.g:9764:2: rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 { - pushFollow(FOLLOW_31); - rule__CollectionExpression__Group__0__Impl(); + pushFollow(FOLLOW_55); + rule__SwitchExpression__Group__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group__1(); + rule__SwitchExpression__Group__3(); state._fsp--; if (state.failed) return ; @@ -31512,38 +33982,28 @@ public final void rule__CollectionExpression__Group__0() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionExpression__Group__0" + // $ANTLR end "rule__SwitchExpression__Group__2" - // $ANTLR start "rule__CollectionExpression__Group__0__Impl" - // InternalScope.g:9558:1: rule__CollectionExpression__Group__0__Impl : ( ( rule__CollectionExpression__NameAssignment_0 ) ) ; - public final void rule__CollectionExpression__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__2__Impl" + // InternalScope.g:9771:1: rule__SwitchExpression__Group__2__Impl : ( '{' ) ; + public final void rule__SwitchExpression__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9562:1: ( ( ( rule__CollectionExpression__NameAssignment_0 ) ) ) - // InternalScope.g:9563:1: ( ( rule__CollectionExpression__NameAssignment_0 ) ) + // InternalScope.g:9775:1: ( ( '{' ) ) + // InternalScope.g:9776:1: ( '{' ) { - // InternalScope.g:9563:1: ( ( rule__CollectionExpression__NameAssignment_0 ) ) - // InternalScope.g:9564:2: ( rule__CollectionExpression__NameAssignment_0 ) + // InternalScope.g:9776:1: ( '{' ) + // InternalScope.g:9777:2: '{' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); - } - // InternalScope.g:9565:2: ( rule__CollectionExpression__NameAssignment_0 ) - // InternalScope.g:9565:3: rule__CollectionExpression__NameAssignment_0 - { - pushFollow(FOLLOW_2); - rule__CollectionExpression__NameAssignment_0(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } - + match(input,72,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); + after(grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); } } @@ -31563,26 +34023,26 @@ public final void rule__CollectionExpression__Group__0__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__CollectionExpression__Group__0__Impl" + // $ANTLR end "rule__SwitchExpression__Group__2__Impl" - // $ANTLR start "rule__CollectionExpression__Group__1" - // InternalScope.g:9573:1: rule__CollectionExpression__Group__1 : rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 ; - public final void rule__CollectionExpression__Group__1() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__3" + // InternalScope.g:9786:1: rule__SwitchExpression__Group__3 : rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 ; + public final void rule__SwitchExpression__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9577:1: ( rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 ) - // InternalScope.g:9578:2: rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 + // InternalScope.g:9790:1: ( rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 ) + // InternalScope.g:9791:2: rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 { - pushFollow(FOLLOW_17); - rule__CollectionExpression__Group__1__Impl(); + pushFollow(FOLLOW_55); + rule__SwitchExpression__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group__2(); + rule__SwitchExpression__Group__4(); state._fsp--; if (state.failed) return ; @@ -31601,28 +34061,56 @@ public final void rule__CollectionExpression__Group__1() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionExpression__Group__1" + // $ANTLR end "rule__SwitchExpression__Group__3" - // $ANTLR start "rule__CollectionExpression__Group__1__Impl" - // InternalScope.g:9585:1: rule__CollectionExpression__Group__1__Impl : ( '(' ) ; - public final void rule__CollectionExpression__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__3__Impl" + // InternalScope.g:9798:1: rule__SwitchExpression__Group__3__Impl : ( ( rule__SwitchExpression__CaseAssignment_3 )* ) ; + public final void rule__SwitchExpression__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9589:1: ( ( '(' ) ) - // InternalScope.g:9590:1: ( '(' ) + // InternalScope.g:9802:1: ( ( ( rule__SwitchExpression__CaseAssignment_3 )* ) ) + // InternalScope.g:9803:1: ( ( rule__SwitchExpression__CaseAssignment_3 )* ) { - // InternalScope.g:9590:1: ( '(' ) - // InternalScope.g:9591:2: '(' + // InternalScope.g:9803:1: ( ( rule__SwitchExpression__CaseAssignment_3 )* ) + // InternalScope.g:9804:2: ( rule__SwitchExpression__CaseAssignment_3 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); + before(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } - match(input,51,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:9805:2: ( rule__SwitchExpression__CaseAssignment_3 )* + loop98: + do { + int alt98=2; + int LA98_0 = input.LA(1); + + if ( (LA98_0==74) ) { + alt98=1; + } + + + switch (alt98) { + case 1 : + // InternalScope.g:9805:3: rule__SwitchExpression__CaseAssignment_3 + { + pushFollow(FOLLOW_56); + rule__SwitchExpression__CaseAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop98; + } + } while (true); + if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); + after(grammarAccess.getSwitchExpressionAccess().getCaseAssignment_3()); } } @@ -31642,26 +34130,26 @@ public final void rule__CollectionExpression__Group__1__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__CollectionExpression__Group__1__Impl" + // $ANTLR end "rule__SwitchExpression__Group__3__Impl" - // $ANTLR start "rule__CollectionExpression__Group__2" - // InternalScope.g:9600:1: rule__CollectionExpression__Group__2 : rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 ; - public final void rule__CollectionExpression__Group__2() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__4" + // InternalScope.g:9813:1: rule__SwitchExpression__Group__4 : rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 ; + public final void rule__SwitchExpression__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9604:1: ( rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 ) - // InternalScope.g:9605:2: rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 + // InternalScope.g:9817:1: ( rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 ) + // InternalScope.g:9818:2: rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 { - pushFollow(FOLLOW_17); - rule__CollectionExpression__Group__2__Impl(); + pushFollow(FOLLOW_47); + rule__SwitchExpression__Group__4__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group__3(); + rule__SwitchExpression__Group__5(); state._fsp--; if (state.failed) return ; @@ -31680,53 +34168,28 @@ public final void rule__CollectionExpression__Group__2() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionExpression__Group__2" + // $ANTLR end "rule__SwitchExpression__Group__4" - // $ANTLR start "rule__CollectionExpression__Group__2__Impl" - // InternalScope.g:9612:1: rule__CollectionExpression__Group__2__Impl : ( ( rule__CollectionExpression__Group_2__0 )? ) ; - public final void rule__CollectionExpression__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__4__Impl" + // InternalScope.g:9825:1: rule__SwitchExpression__Group__4__Impl : ( 'default' ) ; + public final void rule__SwitchExpression__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9616:1: ( ( ( rule__CollectionExpression__Group_2__0 )? ) ) - // InternalScope.g:9617:1: ( ( rule__CollectionExpression__Group_2__0 )? ) + // InternalScope.g:9829:1: ( ( 'default' ) ) + // InternalScope.g:9830:1: ( 'default' ) { - // InternalScope.g:9617:1: ( ( rule__CollectionExpression__Group_2__0 )? ) - // InternalScope.g:9618:2: ( rule__CollectionExpression__Group_2__0 )? + // InternalScope.g:9830:1: ( 'default' ) + // InternalScope.g:9831:2: 'default' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getGroup_2()); - } - // InternalScope.g:9619:2: ( rule__CollectionExpression__Group_2__0 )? - int alt73=2; - int LA73_0 = input.LA(1); - - if ( (LA73_0==RULE_ID) ) { - int LA73_1 = input.LA(2); - - if ( (LA73_1==66) ) { - alt73=1; - } - } - switch (alt73) { - case 1 : - // InternalScope.g:9619:3: rule__CollectionExpression__Group_2__0 - { - pushFollow(FOLLOW_2); - rule__CollectionExpression__Group_2__0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - + before(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } - + match(input,101,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getGroup_2()); + after(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } } @@ -31746,26 +34209,26 @@ public final void rule__CollectionExpression__Group__2__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__CollectionExpression__Group__2__Impl" + // $ANTLR end "rule__SwitchExpression__Group__4__Impl" - // $ANTLR start "rule__CollectionExpression__Group__3" - // InternalScope.g:9627:1: rule__CollectionExpression__Group__3 : rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 ; - public final void rule__CollectionExpression__Group__3() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__5" + // InternalScope.g:9840:1: rule__SwitchExpression__Group__5 : rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 ; + public final void rule__SwitchExpression__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9631:1: ( rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 ) - // InternalScope.g:9632:2: rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 + // InternalScope.g:9844:1: ( rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 ) + // InternalScope.g:9845:2: rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 { - pushFollow(FOLLOW_23); - rule__CollectionExpression__Group__3__Impl(); + pushFollow(FOLLOW_57); + rule__SwitchExpression__Group__5__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group__4(); + rule__SwitchExpression__Group__6(); state._fsp--; if (state.failed) return ; @@ -31784,38 +34247,28 @@ public final void rule__CollectionExpression__Group__3() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionExpression__Group__3" + // $ANTLR end "rule__SwitchExpression__Group__5" - // $ANTLR start "rule__CollectionExpression__Group__3__Impl" - // InternalScope.g:9639:1: rule__CollectionExpression__Group__3__Impl : ( ( rule__CollectionExpression__ExpAssignment_3 ) ) ; - public final void rule__CollectionExpression__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__5__Impl" + // InternalScope.g:9852:1: rule__SwitchExpression__Group__5__Impl : ( ':' ) ; + public final void rule__SwitchExpression__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9643:1: ( ( ( rule__CollectionExpression__ExpAssignment_3 ) ) ) - // InternalScope.g:9644:1: ( ( rule__CollectionExpression__ExpAssignment_3 ) ) + // InternalScope.g:9856:1: ( ( ':' ) ) + // InternalScope.g:9857:1: ( ':' ) { - // InternalScope.g:9644:1: ( ( rule__CollectionExpression__ExpAssignment_3 ) ) - // InternalScope.g:9645:2: ( rule__CollectionExpression__ExpAssignment_3 ) + // InternalScope.g:9857:1: ( ':' ) + // InternalScope.g:9858:2: ':' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); - } - // InternalScope.g:9646:2: ( rule__CollectionExpression__ExpAssignment_3 ) - // InternalScope.g:9646:3: rule__CollectionExpression__ExpAssignment_3 - { - pushFollow(FOLLOW_2); - rule__CollectionExpression__ExpAssignment_3(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } - + match(input,95,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); + after(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); } } @@ -31835,21 +34288,26 @@ public final void rule__CollectionExpression__Group__3__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__CollectionExpression__Group__3__Impl" + // $ANTLR end "rule__SwitchExpression__Group__5__Impl" - // $ANTLR start "rule__CollectionExpression__Group__4" - // InternalScope.g:9654:1: rule__CollectionExpression__Group__4 : rule__CollectionExpression__Group__4__Impl ; - public final void rule__CollectionExpression__Group__4() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__6" + // InternalScope.g:9867:1: rule__SwitchExpression__Group__6 : rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 ; + public final void rule__SwitchExpression__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9658:1: ( rule__CollectionExpression__Group__4__Impl ) - // InternalScope.g:9659:2: rule__CollectionExpression__Group__4__Impl + // InternalScope.g:9871:1: ( rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 ) + // InternalScope.g:9872:2: rule__SwitchExpression__Group__6__Impl rule__SwitchExpression__Group__7 { + pushFollow(FOLLOW_21); + rule__SwitchExpression__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group__4__Impl(); + rule__SwitchExpression__Group__7(); state._fsp--; if (state.failed) return ; @@ -31868,28 +34326,38 @@ public final void rule__CollectionExpression__Group__4() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionExpression__Group__4" + // $ANTLR end "rule__SwitchExpression__Group__6" - // $ANTLR start "rule__CollectionExpression__Group__4__Impl" - // InternalScope.g:9665:1: rule__CollectionExpression__Group__4__Impl : ( ')' ) ; - public final void rule__CollectionExpression__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__6__Impl" + // InternalScope.g:9879:1: rule__SwitchExpression__Group__6__Impl : ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) ; + public final void rule__SwitchExpression__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9669:1: ( ( ')' ) ) - // InternalScope.g:9670:1: ( ')' ) + // InternalScope.g:9883:1: ( ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) ) + // InternalScope.g:9884:1: ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) { - // InternalScope.g:9670:1: ( ')' ) - // InternalScope.g:9671:2: ')' + // InternalScope.g:9884:1: ( ( rule__SwitchExpression__DefaultExprAssignment_6 ) ) + // InternalScope.g:9885:2: ( rule__SwitchExpression__DefaultExprAssignment_6 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); + before(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); + } + // InternalScope.g:9886:2: ( rule__SwitchExpression__DefaultExprAssignment_6 ) + // InternalScope.g:9886:3: rule__SwitchExpression__DefaultExprAssignment_6 + { + pushFollow(FOLLOW_2); + rule__SwitchExpression__DefaultExprAssignment_6(); + + state._fsp--; + if (state.failed) return ; + } - match(input,52,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); + after(grammarAccess.getSwitchExpressionAccess().getDefaultExprAssignment_6()); } } @@ -31909,26 +34377,21 @@ public final void rule__CollectionExpression__Group__4__Impl() throws Recognitio } return ; } - // $ANTLR end "rule__CollectionExpression__Group__4__Impl" + // $ANTLR end "rule__SwitchExpression__Group__6__Impl" - // $ANTLR start "rule__CollectionExpression__Group_2__0" - // InternalScope.g:9681:1: rule__CollectionExpression__Group_2__0 : rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 ; - public final void rule__CollectionExpression__Group_2__0() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__7" + // InternalScope.g:9894:1: rule__SwitchExpression__Group__7 : rule__SwitchExpression__Group__7__Impl ; + public final void rule__SwitchExpression__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9685:1: ( rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 ) - // InternalScope.g:9686:2: rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 + // InternalScope.g:9898:1: ( rule__SwitchExpression__Group__7__Impl ) + // InternalScope.g:9899:2: rule__SwitchExpression__Group__7__Impl { - pushFollow(FOLLOW_42); - rule__CollectionExpression__Group_2__0__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group_2__1(); + rule__SwitchExpression__Group__7__Impl(); state._fsp--; if (state.failed) return ; @@ -31947,38 +34410,28 @@ public final void rule__CollectionExpression__Group_2__0() throws RecognitionExc } return ; } - // $ANTLR end "rule__CollectionExpression__Group_2__0" + // $ANTLR end "rule__SwitchExpression__Group__7" - // $ANTLR start "rule__CollectionExpression__Group_2__0__Impl" - // InternalScope.g:9693:1: rule__CollectionExpression__Group_2__0__Impl : ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) ; - public final void rule__CollectionExpression__Group_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group__7__Impl" + // InternalScope.g:9905:1: rule__SwitchExpression__Group__7__Impl : ( '}' ) ; + public final void rule__SwitchExpression__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9697:1: ( ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) ) - // InternalScope.g:9698:1: ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) + // InternalScope.g:9909:1: ( ( '}' ) ) + // InternalScope.g:9910:1: ( '}' ) { - // InternalScope.g:9698:1: ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) - // InternalScope.g:9699:2: ( rule__CollectionExpression__VarAssignment_2_0 ) + // InternalScope.g:9910:1: ( '}' ) + // InternalScope.g:9911:2: '}' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); - } - // InternalScope.g:9700:2: ( rule__CollectionExpression__VarAssignment_2_0 ) - // InternalScope.g:9700:3: rule__CollectionExpression__VarAssignment_2_0 - { - pushFollow(FOLLOW_2); - rule__CollectionExpression__VarAssignment_2_0(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } - + match(input,73,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); + after(grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); } } @@ -31998,21 +34451,26 @@ public final void rule__CollectionExpression__Group_2__0__Impl() throws Recognit } return ; } - // $ANTLR end "rule__CollectionExpression__Group_2__0__Impl" + // $ANTLR end "rule__SwitchExpression__Group__7__Impl" - // $ANTLR start "rule__CollectionExpression__Group_2__1" - // InternalScope.g:9708:1: rule__CollectionExpression__Group_2__1 : rule__CollectionExpression__Group_2__1__Impl ; - public final void rule__CollectionExpression__Group_2__1() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__0" + // InternalScope.g:9921:1: rule__SwitchExpression__Group_1__0 : rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 ; + public final void rule__SwitchExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9712:1: ( rule__CollectionExpression__Group_2__1__Impl ) - // InternalScope.g:9713:2: rule__CollectionExpression__Group_2__1__Impl + // InternalScope.g:9925:1: ( rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 ) + // InternalScope.g:9926:2: rule__SwitchExpression__Group_1__0__Impl rule__SwitchExpression__Group_1__1 { + pushFollow(FOLLOW_57); + rule__SwitchExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__Group_2__1__Impl(); + rule__SwitchExpression__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -32031,28 +34489,28 @@ public final void rule__CollectionExpression__Group_2__1() throws RecognitionExc } return ; } - // $ANTLR end "rule__CollectionExpression__Group_2__1" + // $ANTLR end "rule__SwitchExpression__Group_1__0" - // $ANTLR start "rule__CollectionExpression__Group_2__1__Impl" - // InternalScope.g:9719:1: rule__CollectionExpression__Group_2__1__Impl : ( '|' ) ; - public final void rule__CollectionExpression__Group_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__0__Impl" + // InternalScope.g:9933:1: rule__SwitchExpression__Group_1__0__Impl : ( '(' ) ; + public final void rule__SwitchExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9723:1: ( ( '|' ) ) - // InternalScope.g:9724:1: ( '|' ) + // InternalScope.g:9937:1: ( ( '(' ) ) + // InternalScope.g:9938:1: ( '(' ) { - // InternalScope.g:9724:1: ( '|' ) - // InternalScope.g:9725:2: '|' + // InternalScope.g:9938:1: ( '(' ) + // InternalScope.g:9939:2: '(' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); + before(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } - match(input,66,FOLLOW_2); if (state.failed) return ; + match(input,77,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); + after(grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); } } @@ -32072,26 +34530,26 @@ public final void rule__CollectionExpression__Group_2__1__Impl() throws Recognit } return ; } - // $ANTLR end "rule__CollectionExpression__Group_2__1__Impl" + // $ANTLR end "rule__SwitchExpression__Group_1__0__Impl" - // $ANTLR start "rule__CollectionType__Group__0" - // InternalScope.g:9735:1: rule__CollectionType__Group__0 : rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 ; - public final void rule__CollectionType__Group__0() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__1" + // InternalScope.g:9948:1: rule__SwitchExpression__Group_1__1 : rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 ; + public final void rule__SwitchExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9739:1: ( rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 ) - // InternalScope.g:9740:2: rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 + // InternalScope.g:9952:1: ( rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 ) + // InternalScope.g:9953:2: rule__SwitchExpression__Group_1__1__Impl rule__SwitchExpression__Group_1__2 { - pushFollow(FOLLOW_29); - rule__CollectionType__Group__0__Impl(); + pushFollow(FOLLOW_23); + rule__SwitchExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionType__Group__1(); + rule__SwitchExpression__Group_1__2(); state._fsp--; if (state.failed) return ; @@ -32110,30 +34568,30 @@ public final void rule__CollectionType__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__CollectionType__Group__0" + // $ANTLR end "rule__SwitchExpression__Group_1__1" - // $ANTLR start "rule__CollectionType__Group__0__Impl" - // InternalScope.g:9747:1: rule__CollectionType__Group__0__Impl : ( ( rule__CollectionType__ClAssignment_0 ) ) ; - public final void rule__CollectionType__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__1__Impl" + // InternalScope.g:9960:1: rule__SwitchExpression__Group_1__1__Impl : ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) ; + public final void rule__SwitchExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9751:1: ( ( ( rule__CollectionType__ClAssignment_0 ) ) ) - // InternalScope.g:9752:1: ( ( rule__CollectionType__ClAssignment_0 ) ) + // InternalScope.g:9964:1: ( ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) ) + // InternalScope.g:9965:1: ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) { - // InternalScope.g:9752:1: ( ( rule__CollectionType__ClAssignment_0 ) ) - // InternalScope.g:9753:2: ( rule__CollectionType__ClAssignment_0 ) + // InternalScope.g:9965:1: ( ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) ) + // InternalScope.g:9966:2: ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); + before(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } - // InternalScope.g:9754:2: ( rule__CollectionType__ClAssignment_0 ) - // InternalScope.g:9754:3: rule__CollectionType__ClAssignment_0 + // InternalScope.g:9967:2: ( rule__SwitchExpression__SwitchExprAssignment_1_1 ) + // InternalScope.g:9967:3: rule__SwitchExpression__SwitchExprAssignment_1_1 { pushFollow(FOLLOW_2); - rule__CollectionType__ClAssignment_0(); + rule__SwitchExpression__SwitchExprAssignment_1_1(); state._fsp--; if (state.failed) return ; @@ -32141,7 +34599,7 @@ public final void rule__CollectionType__Group__0__Impl() throws RecognitionExcep } if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); + after(grammarAccess.getSwitchExpressionAccess().getSwitchExprAssignment_1_1()); } } @@ -32161,26 +34619,21 @@ public final void rule__CollectionType__Group__0__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionType__Group__0__Impl" + // $ANTLR end "rule__SwitchExpression__Group_1__1__Impl" - // $ANTLR start "rule__CollectionType__Group__1" - // InternalScope.g:9762:1: rule__CollectionType__Group__1 : rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 ; - public final void rule__CollectionType__Group__1() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__2" + // InternalScope.g:9975:1: rule__SwitchExpression__Group_1__2 : rule__SwitchExpression__Group_1__2__Impl ; + public final void rule__SwitchExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9766:1: ( rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 ) - // InternalScope.g:9767:2: rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 + // InternalScope.g:9979:1: ( rule__SwitchExpression__Group_1__2__Impl ) + // InternalScope.g:9980:2: rule__SwitchExpression__Group_1__2__Impl { - pushFollow(FOLLOW_48); - rule__CollectionType__Group__1__Impl(); - - state._fsp--; - if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionType__Group__2(); + rule__SwitchExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; @@ -32199,28 +34652,28 @@ public final void rule__CollectionType__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__CollectionType__Group__1" + // $ANTLR end "rule__SwitchExpression__Group_1__2" - // $ANTLR start "rule__CollectionType__Group__1__Impl" - // InternalScope.g:9774:1: rule__CollectionType__Group__1__Impl : ( '[' ) ; - public final void rule__CollectionType__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__SwitchExpression__Group_1__2__Impl" + // InternalScope.g:9986:1: rule__SwitchExpression__Group_1__2__Impl : ( ')' ) ; + public final void rule__SwitchExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9778:1: ( ( '[' ) ) - // InternalScope.g:9779:1: ( '[' ) + // InternalScope.g:9990:1: ( ( ')' ) ) + // InternalScope.g:9991:1: ( ')' ) { - // InternalScope.g:9779:1: ( '[' ) - // InternalScope.g:9780:2: '[' + // InternalScope.g:9991:1: ( ')' ) + // InternalScope.g:9992:2: ')' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); + before(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } - match(input,56,FOLLOW_2); if (state.failed) return ; + match(input,78,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); + after(grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); } } @@ -32240,26 +34693,26 @@ public final void rule__CollectionType__Group__1__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionType__Group__1__Impl" + // $ANTLR end "rule__SwitchExpression__Group_1__2__Impl" - // $ANTLR start "rule__CollectionType__Group__2" - // InternalScope.g:9789:1: rule__CollectionType__Group__2 : rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 ; - public final void rule__CollectionType__Group__2() throws RecognitionException { + // $ANTLR start "rule__Case__Group__0" + // InternalScope.g:10002:1: rule__Case__Group__0 : rule__Case__Group__0__Impl rule__Case__Group__1 ; + public final void rule__Case__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9793:1: ( rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 ) - // InternalScope.g:9794:2: rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 + // InternalScope.g:10006:1: ( rule__Case__Group__0__Impl rule__Case__Group__1 ) + // InternalScope.g:10007:2: rule__Case__Group__0__Impl rule__Case__Group__1 { - pushFollow(FOLLOW_30); - rule__CollectionType__Group__2__Impl(); + pushFollow(FOLLOW_57); + rule__Case__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionType__Group__3(); + rule__Case__Group__1(); state._fsp--; if (state.failed) return ; @@ -32278,38 +34731,28 @@ public final void rule__CollectionType__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__CollectionType__Group__2" + // $ANTLR end "rule__Case__Group__0" - // $ANTLR start "rule__CollectionType__Group__2__Impl" - // InternalScope.g:9801:1: rule__CollectionType__Group__2__Impl : ( ( rule__CollectionType__Id1Assignment_2 ) ) ; - public final void rule__CollectionType__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__Case__Group__0__Impl" + // InternalScope.g:10014:1: rule__Case__Group__0__Impl : ( 'case' ) ; + public final void rule__Case__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9805:1: ( ( ( rule__CollectionType__Id1Assignment_2 ) ) ) - // InternalScope.g:9806:1: ( ( rule__CollectionType__Id1Assignment_2 ) ) + // InternalScope.g:10018:1: ( ( 'case' ) ) + // InternalScope.g:10019:1: ( 'case' ) { - // InternalScope.g:9806:1: ( ( rule__CollectionType__Id1Assignment_2 ) ) - // InternalScope.g:9807:2: ( rule__CollectionType__Id1Assignment_2 ) + // InternalScope.g:10019:1: ( 'case' ) + // InternalScope.g:10020:2: 'case' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); - } - // InternalScope.g:9808:2: ( rule__CollectionType__Id1Assignment_2 ) - // InternalScope.g:9808:3: rule__CollectionType__Id1Assignment_2 - { - pushFollow(FOLLOW_2); - rule__CollectionType__Id1Assignment_2(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getCaseAccess().getCaseKeyword_0()); } - + match(input,74,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); + after(grammarAccess.getCaseAccess().getCaseKeyword_0()); } } @@ -32329,21 +34772,26 @@ public final void rule__CollectionType__Group__2__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionType__Group__2__Impl" + // $ANTLR end "rule__Case__Group__0__Impl" - // $ANTLR start "rule__CollectionType__Group__3" - // InternalScope.g:9816:1: rule__CollectionType__Group__3 : rule__CollectionType__Group__3__Impl ; - public final void rule__CollectionType__Group__3() throws RecognitionException { + // $ANTLR start "rule__Case__Group__1" + // InternalScope.g:10029:1: rule__Case__Group__1 : rule__Case__Group__1__Impl rule__Case__Group__2 ; + public final void rule__Case__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9820:1: ( rule__CollectionType__Group__3__Impl ) - // InternalScope.g:9821:2: rule__CollectionType__Group__3__Impl + // InternalScope.g:10033:1: ( rule__Case__Group__1__Impl rule__Case__Group__2 ) + // InternalScope.g:10034:2: rule__Case__Group__1__Impl rule__Case__Group__2 { + pushFollow(FOLLOW_47); + rule__Case__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionType__Group__3__Impl(); + rule__Case__Group__2(); state._fsp--; if (state.failed) return ; @@ -32362,28 +34810,38 @@ public final void rule__CollectionType__Group__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__CollectionType__Group__3" + // $ANTLR end "rule__Case__Group__1" - // $ANTLR start "rule__CollectionType__Group__3__Impl" - // InternalScope.g:9827:1: rule__CollectionType__Group__3__Impl : ( ']' ) ; - public final void rule__CollectionType__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__Case__Group__1__Impl" + // InternalScope.g:10041:1: rule__Case__Group__1__Impl : ( ( rule__Case__ConditionAssignment_1 ) ) ; + public final void rule__Case__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9831:1: ( ( ']' ) ) - // InternalScope.g:9832:1: ( ']' ) + // InternalScope.g:10045:1: ( ( ( rule__Case__ConditionAssignment_1 ) ) ) + // InternalScope.g:10046:1: ( ( rule__Case__ConditionAssignment_1 ) ) { - // InternalScope.g:9832:1: ( ']' ) - // InternalScope.g:9833:2: ']' + // InternalScope.g:10046:1: ( ( rule__Case__ConditionAssignment_1 ) ) + // InternalScope.g:10047:2: ( rule__Case__ConditionAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); + before(grammarAccess.getCaseAccess().getConditionAssignment_1()); + } + // InternalScope.g:10048:2: ( rule__Case__ConditionAssignment_1 ) + // InternalScope.g:10048:3: rule__Case__ConditionAssignment_1 + { + pushFollow(FOLLOW_2); + rule__Case__ConditionAssignment_1(); + + state._fsp--; + if (state.failed) return ; + } - match(input,57,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); + after(grammarAccess.getCaseAccess().getConditionAssignment_1()); } } @@ -32403,26 +34861,26 @@ public final void rule__CollectionType__Group__3__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__CollectionType__Group__3__Impl" + // $ANTLR end "rule__Case__Group__1__Impl" - // $ANTLR start "rule__SimpleType__Group__0" - // InternalScope.g:9843:1: rule__SimpleType__Group__0 : rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 ; - public final void rule__SimpleType__Group__0() throws RecognitionException { + // $ANTLR start "rule__Case__Group__2" + // InternalScope.g:10056:1: rule__Case__Group__2 : rule__Case__Group__2__Impl rule__Case__Group__3 ; + public final void rule__Case__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9847:1: ( rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 ) - // InternalScope.g:9848:2: rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 + // InternalScope.g:10060:1: ( rule__Case__Group__2__Impl rule__Case__Group__3 ) + // InternalScope.g:10061:2: rule__Case__Group__2__Impl rule__Case__Group__3 { - pushFollow(FOLLOW_43); - rule__SimpleType__Group__0__Impl(); + pushFollow(FOLLOW_57); + rule__Case__Group__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SimpleType__Group__1(); + rule__Case__Group__3(); state._fsp--; if (state.failed) return ; @@ -32441,38 +34899,28 @@ public final void rule__SimpleType__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__SimpleType__Group__0" + // $ANTLR end "rule__Case__Group__2" - // $ANTLR start "rule__SimpleType__Group__0__Impl" - // InternalScope.g:9855:1: rule__SimpleType__Group__0__Impl : ( ( rule__SimpleType__IdAssignment_0 ) ) ; - public final void rule__SimpleType__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Case__Group__2__Impl" + // InternalScope.g:10068:1: rule__Case__Group__2__Impl : ( ':' ) ; + public final void rule__Case__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9859:1: ( ( ( rule__SimpleType__IdAssignment_0 ) ) ) - // InternalScope.g:9860:1: ( ( rule__SimpleType__IdAssignment_0 ) ) + // InternalScope.g:10072:1: ( ( ':' ) ) + // InternalScope.g:10073:1: ( ':' ) { - // InternalScope.g:9860:1: ( ( rule__SimpleType__IdAssignment_0 ) ) - // InternalScope.g:9861:2: ( rule__SimpleType__IdAssignment_0 ) + // InternalScope.g:10073:1: ( ':' ) + // InternalScope.g:10074:2: ':' { if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); - } - // InternalScope.g:9862:2: ( rule__SimpleType__IdAssignment_0 ) - // InternalScope.g:9862:3: rule__SimpleType__IdAssignment_0 - { - pushFollow(FOLLOW_2); - rule__SimpleType__IdAssignment_0(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getCaseAccess().getColonKeyword_2()); } - + match(input,95,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); + after(grammarAccess.getCaseAccess().getColonKeyword_2()); } } @@ -32492,21 +34940,21 @@ public final void rule__SimpleType__Group__0__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__SimpleType__Group__0__Impl" + // $ANTLR end "rule__Case__Group__2__Impl" - // $ANTLR start "rule__SimpleType__Group__1" - // InternalScope.g:9870:1: rule__SimpleType__Group__1 : rule__SimpleType__Group__1__Impl ; - public final void rule__SimpleType__Group__1() throws RecognitionException { + // $ANTLR start "rule__Case__Group__3" + // InternalScope.g:10083:1: rule__Case__Group__3 : rule__Case__Group__3__Impl ; + public final void rule__Case__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9874:1: ( rule__SimpleType__Group__1__Impl ) - // InternalScope.g:9875:2: rule__SimpleType__Group__1__Impl + // InternalScope.g:10087:1: ( rule__Case__Group__3__Impl ) + // InternalScope.g:10088:2: rule__Case__Group__3__Impl { pushFollow(FOLLOW_2); - rule__SimpleType__Group__1__Impl(); + rule__Case__Group__3__Impl(); state._fsp--; if (state.failed) return ; @@ -32525,56 +34973,38 @@ public final void rule__SimpleType__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__SimpleType__Group__1" + // $ANTLR end "rule__Case__Group__3" - // $ANTLR start "rule__SimpleType__Group__1__Impl" - // InternalScope.g:9881:1: rule__SimpleType__Group__1__Impl : ( ( rule__SimpleType__Group_1__0 )* ) ; - public final void rule__SimpleType__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Case__Group__3__Impl" + // InternalScope.g:10094:1: rule__Case__Group__3__Impl : ( ( rule__Case__ThenParAssignment_3 ) ) ; + public final void rule__Case__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9885:1: ( ( ( rule__SimpleType__Group_1__0 )* ) ) - // InternalScope.g:9886:1: ( ( rule__SimpleType__Group_1__0 )* ) + // InternalScope.g:10098:1: ( ( ( rule__Case__ThenParAssignment_3 ) ) ) + // InternalScope.g:10099:1: ( ( rule__Case__ThenParAssignment_3 ) ) { - // InternalScope.g:9886:1: ( ( rule__SimpleType__Group_1__0 )* ) - // InternalScope.g:9887:2: ( rule__SimpleType__Group_1__0 )* + // InternalScope.g:10099:1: ( ( rule__Case__ThenParAssignment_3 ) ) + // InternalScope.g:10100:2: ( rule__Case__ThenParAssignment_3 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getGroup_1()); + before(grammarAccess.getCaseAccess().getThenParAssignment_3()); } - // InternalScope.g:9888:2: ( rule__SimpleType__Group_1__0 )* - loop74: - do { - int alt74=2; - int LA74_0 = input.LA(1); - - if ( (LA74_0==67) ) { - alt74=1; - } - - - switch (alt74) { - case 1 : - // InternalScope.g:9888:3: rule__SimpleType__Group_1__0 - { - pushFollow(FOLLOW_44); - rule__SimpleType__Group_1__0(); - - state._fsp--; - if (state.failed) return ; + // InternalScope.g:10101:2: ( rule__Case__ThenParAssignment_3 ) + // InternalScope.g:10101:3: rule__Case__ThenParAssignment_3 + { + pushFollow(FOLLOW_2); + rule__Case__ThenParAssignment_3(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop74; - } - } while (true); + } if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getGroup_1()); + after(grammarAccess.getCaseAccess().getThenParAssignment_3()); } } @@ -32594,26 +35024,26 @@ public final void rule__SimpleType__Group__1__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__SimpleType__Group__1__Impl" + // $ANTLR end "rule__Case__Group__3__Impl" - // $ANTLR start "rule__SimpleType__Group_1__0" - // InternalScope.g:9897:1: rule__SimpleType__Group_1__0 : rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 ; - public final void rule__SimpleType__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group__0" + // InternalScope.g:10110:1: rule__OrExpression__Group__0 : rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 ; + public final void rule__OrExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9901:1: ( rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 ) - // InternalScope.g:9902:2: rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 + // InternalScope.g:10114:1: ( rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 ) + // InternalScope.g:10115:2: rule__OrExpression__Group__0__Impl rule__OrExpression__Group__1 { - pushFollow(FOLLOW_3); - rule__SimpleType__Group_1__0__Impl(); + pushFollow(FOLLOW_58); + rule__OrExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__SimpleType__Group_1__1(); + rule__OrExpression__Group__1(); state._fsp--; if (state.failed) return ; @@ -32632,28 +35062,32 @@ public final void rule__SimpleType__Group_1__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__SimpleType__Group_1__0" + // $ANTLR end "rule__OrExpression__Group__0" - // $ANTLR start "rule__SimpleType__Group_1__0__Impl" - // InternalScope.g:9909:1: rule__SimpleType__Group_1__0__Impl : ( '::' ) ; - public final void rule__SimpleType__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group__0__Impl" + // InternalScope.g:10122:1: rule__OrExpression__Group__0__Impl : ( ruleAndExpression ) ; + public final void rule__OrExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9913:1: ( ( '::' ) ) - // InternalScope.g:9914:1: ( '::' ) + // InternalScope.g:10126:1: ( ( ruleAndExpression ) ) + // InternalScope.g:10127:1: ( ruleAndExpression ) { - // InternalScope.g:9914:1: ( '::' ) - // InternalScope.g:9915:2: '::' + // InternalScope.g:10127:1: ( ruleAndExpression ) + // InternalScope.g:10128:2: ruleAndExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); + before(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } - match(input,67,FOLLOW_2); if (state.failed) return ; + pushFollow(FOLLOW_2); + ruleAndExpression(); + + state._fsp--; + if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); + after(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); } } @@ -32673,21 +35107,21 @@ public final void rule__SimpleType__Group_1__0__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__SimpleType__Group_1__0__Impl" + // $ANTLR end "rule__OrExpression__Group__0__Impl" - // $ANTLR start "rule__SimpleType__Group_1__1" - // InternalScope.g:9924:1: rule__SimpleType__Group_1__1 : rule__SimpleType__Group_1__1__Impl ; - public final void rule__SimpleType__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group__1" + // InternalScope.g:10137:1: rule__OrExpression__Group__1 : rule__OrExpression__Group__1__Impl ; + public final void rule__OrExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9928:1: ( rule__SimpleType__Group_1__1__Impl ) - // InternalScope.g:9929:2: rule__SimpleType__Group_1__1__Impl + // InternalScope.g:10141:1: ( rule__OrExpression__Group__1__Impl ) + // InternalScope.g:10142:2: rule__OrExpression__Group__1__Impl { pushFollow(FOLLOW_2); - rule__SimpleType__Group_1__1__Impl(); + rule__OrExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; @@ -32706,38 +35140,56 @@ public final void rule__SimpleType__Group_1__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__SimpleType__Group_1__1" + // $ANTLR end "rule__OrExpression__Group__1" - // $ANTLR start "rule__SimpleType__Group_1__1__Impl" - // InternalScope.g:9935:1: rule__SimpleType__Group_1__1__Impl : ( ( rule__SimpleType__IdAssignment_1_1 ) ) ; - public final void rule__SimpleType__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group__1__Impl" + // InternalScope.g:10148:1: rule__OrExpression__Group__1__Impl : ( ( rule__OrExpression__Group_1__0 )* ) ; + public final void rule__OrExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9939:1: ( ( ( rule__SimpleType__IdAssignment_1_1 ) ) ) - // InternalScope.g:9940:1: ( ( rule__SimpleType__IdAssignment_1_1 ) ) + // InternalScope.g:10152:1: ( ( ( rule__OrExpression__Group_1__0 )* ) ) + // InternalScope.g:10153:1: ( ( rule__OrExpression__Group_1__0 )* ) { - // InternalScope.g:9940:1: ( ( rule__SimpleType__IdAssignment_1_1 ) ) - // InternalScope.g:9941:2: ( rule__SimpleType__IdAssignment_1_1 ) + // InternalScope.g:10153:1: ( ( rule__OrExpression__Group_1__0 )* ) + // InternalScope.g:10154:2: ( rule__OrExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); + before(grammarAccess.getOrExpressionAccess().getGroup_1()); } - // InternalScope.g:9942:2: ( rule__SimpleType__IdAssignment_1_1 ) - // InternalScope.g:9942:3: rule__SimpleType__IdAssignment_1_1 - { - pushFollow(FOLLOW_2); - rule__SimpleType__IdAssignment_1_1(); + // InternalScope.g:10155:2: ( rule__OrExpression__Group_1__0 )* + loop99: + do { + int alt99=2; + int LA99_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA99_0==15) ) { + alt99=1; + } - } + + switch (alt99) { + case 1 : + // InternalScope.g:10155:3: rule__OrExpression__Group_1__0 + { + pushFollow(FOLLOW_59); + rule__OrExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop99; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); + after(grammarAccess.getOrExpressionAccess().getGroup_1()); } } @@ -32757,36 +35209,29 @@ public final void rule__SimpleType__Group_1__1__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__SimpleType__Group_1__1__Impl" + // $ANTLR end "rule__OrExpression__Group__1__Impl" - // $ANTLR start "rule__ScopeModel__NameAssignment_1" - // InternalScope.g:9951:1: rule__ScopeModel__NameAssignment_1 : ( ruleDottedID ) ; - public final void rule__ScopeModel__NameAssignment_1() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__0" + // InternalScope.g:10164:1: rule__OrExpression__Group_1__0 : rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 ; + public final void rule__OrExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9955:1: ( ( ruleDottedID ) ) - // InternalScope.g:9956:2: ( ruleDottedID ) - { - // InternalScope.g:9956:2: ( ruleDottedID ) - // InternalScope.g:9957:3: ruleDottedID + // InternalScope.g:10168:1: ( rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 ) + // InternalScope.g:10169:2: rule__OrExpression__Group_1__0__Impl rule__OrExpression__Group_1__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getNameDottedIDParserRuleCall_1_0()); - } - pushFollow(FOLLOW_2); - ruleDottedID(); + pushFollow(FOLLOW_58); + rule__OrExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getNameDottedIDParserRuleCall_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__OrExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -32802,44 +35247,32 @@ public final void rule__ScopeModel__NameAssignment_1() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__ScopeModel__NameAssignment_1" + // $ANTLR end "rule__OrExpression__Group_1__0" - // $ANTLR start "rule__ScopeModel__IncludedScopesAssignment_2_1" - // InternalScope.g:9966:1: rule__ScopeModel__IncludedScopesAssignment_2_1 : ( ( ruleDottedID ) ) ; - public final void rule__ScopeModel__IncludedScopesAssignment_2_1() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__0__Impl" + // InternalScope.g:10176:1: rule__OrExpression__Group_1__0__Impl : ( () ) ; + public final void rule__OrExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9970:1: ( ( ( ruleDottedID ) ) ) - // InternalScope.g:9971:2: ( ( ruleDottedID ) ) + // InternalScope.g:10180:1: ( ( () ) ) + // InternalScope.g:10181:1: ( () ) { - // InternalScope.g:9971:2: ( ( ruleDottedID ) ) - // InternalScope.g:9972:3: ( ruleDottedID ) + // InternalScope.g:10181:1: ( () ) + // InternalScope.g:10182:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getIncludedScopesScopeModelCrossReference_2_1_0()); + before(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); } - // InternalScope.g:9973:3: ( ruleDottedID ) - // InternalScope.g:9974:4: ruleDottedID + // InternalScope.g:10183:2: () + // InternalScope.g:10183:3: { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getIncludedScopesScopeModelDottedIDParserRuleCall_2_1_0_1()); - } - pushFollow(FOLLOW_2); - ruleDottedID(); - - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getIncludedScopesScopeModelDottedIDParserRuleCall_2_1_0_1()); - } - } if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getIncludedScopesScopeModelCrossReference_2_1_0()); + after(grammarAccess.getOrExpressionAccess().getBooleanOperationLeftAction_1_0()); } } @@ -32848,10 +35281,6 @@ public final void rule__ScopeModel__IncludedScopesAssignment_2_1() throws Recogn } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -32859,36 +35288,29 @@ public final void rule__ScopeModel__IncludedScopesAssignment_2_1() throws Recogn } return ; } - // $ANTLR end "rule__ScopeModel__IncludedScopesAssignment_2_1" + // $ANTLR end "rule__OrExpression__Group_1__0__Impl" - // $ANTLR start "rule__ScopeModel__ImportsAssignment_3" - // InternalScope.g:9985:1: rule__ScopeModel__ImportsAssignment_3 : ( ruleImport ) ; - public final void rule__ScopeModel__ImportsAssignment_3() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__1" + // InternalScope.g:10191:1: rule__OrExpression__Group_1__1 : rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 ; + public final void rule__OrExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:9989:1: ( ( ruleImport ) ) - // InternalScope.g:9990:2: ( ruleImport ) + // InternalScope.g:10195:1: ( rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 ) + // InternalScope.g:10196:2: rule__OrExpression__Group_1__1__Impl rule__OrExpression__Group_1__2 { - // InternalScope.g:9990:2: ( ruleImport ) - // InternalScope.g:9991:3: ruleImport - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getImportsImportParserRuleCall_3_0()); - } - pushFollow(FOLLOW_2); - ruleImport(); + pushFollow(FOLLOW_57); + rule__OrExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getImportsImportParserRuleCall_3_0()); - } - - } + pushFollow(FOLLOW_2); + rule__OrExpression__Group_1__2(); + state._fsp--; + if (state.failed) return ; } @@ -32904,32 +35326,38 @@ public final void rule__ScopeModel__ImportsAssignment_3() throws RecognitionExce } return ; } - // $ANTLR end "rule__ScopeModel__ImportsAssignment_3" + // $ANTLR end "rule__OrExpression__Group_1__1" - // $ANTLR start "rule__ScopeModel__ExtensionsAssignment_4" - // InternalScope.g:10000:1: rule__ScopeModel__ExtensionsAssignment_4 : ( ruleExtension ) ; - public final void rule__ScopeModel__ExtensionsAssignment_4() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__1__Impl" + // InternalScope.g:10203:1: rule__OrExpression__Group_1__1__Impl : ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) ; + public final void rule__OrExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10004:1: ( ( ruleExtension ) ) - // InternalScope.g:10005:2: ( ruleExtension ) + // InternalScope.g:10207:1: ( ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) ) + // InternalScope.g:10208:1: ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) { - // InternalScope.g:10005:2: ( ruleExtension ) - // InternalScope.g:10006:3: ruleExtension + // InternalScope.g:10208:1: ( ( rule__OrExpression__OperatorAssignment_1_1 ) ) + // InternalScope.g:10209:2: ( rule__OrExpression__OperatorAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getExtensionsExtensionParserRuleCall_4_0()); + before(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } + // InternalScope.g:10210:2: ( rule__OrExpression__OperatorAssignment_1_1 ) + // InternalScope.g:10210:3: rule__OrExpression__OperatorAssignment_1_1 + { pushFollow(FOLLOW_2); - ruleExtension(); + rule__OrExpression__OperatorAssignment_1_1(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getExtensionsExtensionParserRuleCall_4_0()); + after(grammarAccess.getOrExpressionAccess().getOperatorAssignment_1_1()); } } @@ -32949,36 +35377,24 @@ public final void rule__ScopeModel__ExtensionsAssignment_4() throws RecognitionE } return ; } - // $ANTLR end "rule__ScopeModel__ExtensionsAssignment_4" + // $ANTLR end "rule__OrExpression__Group_1__1__Impl" - // $ANTLR start "rule__ScopeModel__InjectionsAssignment_5" - // InternalScope.g:10015:1: rule__ScopeModel__InjectionsAssignment_5 : ( ruleInjection ) ; - public final void rule__ScopeModel__InjectionsAssignment_5() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__2" + // InternalScope.g:10218:1: rule__OrExpression__Group_1__2 : rule__OrExpression__Group_1__2__Impl ; + public final void rule__OrExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10019:1: ( ( ruleInjection ) ) - // InternalScope.g:10020:2: ( ruleInjection ) - { - // InternalScope.g:10020:2: ( ruleInjection ) - // InternalScope.g:10021:3: ruleInjection + // InternalScope.g:10222:1: ( rule__OrExpression__Group_1__2__Impl ) + // InternalScope.g:10223:2: rule__OrExpression__Group_1__2__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getInjectionsInjectionParserRuleCall_5_0()); - } pushFollow(FOLLOW_2); - ruleInjection(); + rule__OrExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getInjectionsInjectionParserRuleCall_5_0()); - } - - } - } @@ -32994,32 +35410,38 @@ public final void rule__ScopeModel__InjectionsAssignment_5() throws RecognitionE } return ; } - // $ANTLR end "rule__ScopeModel__InjectionsAssignment_5" + // $ANTLR end "rule__OrExpression__Group_1__2" - // $ANTLR start "rule__ScopeModel__NamingAssignment_6" - // InternalScope.g:10030:1: rule__ScopeModel__NamingAssignment_6 : ( ruleNamingSection ) ; - public final void rule__ScopeModel__NamingAssignment_6() throws RecognitionException { + // $ANTLR start "rule__OrExpression__Group_1__2__Impl" + // InternalScope.g:10229:1: rule__OrExpression__Group_1__2__Impl : ( ( rule__OrExpression__RightAssignment_1_2 ) ) ; + public final void rule__OrExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10034:1: ( ( ruleNamingSection ) ) - // InternalScope.g:10035:2: ( ruleNamingSection ) + // InternalScope.g:10233:1: ( ( ( rule__OrExpression__RightAssignment_1_2 ) ) ) + // InternalScope.g:10234:1: ( ( rule__OrExpression__RightAssignment_1_2 ) ) { - // InternalScope.g:10035:2: ( ruleNamingSection ) - // InternalScope.g:10036:3: ruleNamingSection + // InternalScope.g:10234:1: ( ( rule__OrExpression__RightAssignment_1_2 ) ) + // InternalScope.g:10235:2: ( rule__OrExpression__RightAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getNamingNamingSectionParserRuleCall_6_0()); + before(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } + // InternalScope.g:10236:2: ( rule__OrExpression__RightAssignment_1_2 ) + // InternalScope.g:10236:3: rule__OrExpression__RightAssignment_1_2 + { pushFollow(FOLLOW_2); - ruleNamingSection(); + rule__OrExpression__RightAssignment_1_2(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getNamingNamingSectionParserRuleCall_6_0()); + after(grammarAccess.getOrExpressionAccess().getRightAssignment_1_2()); } } @@ -33039,36 +35461,29 @@ public final void rule__ScopeModel__NamingAssignment_6() throws RecognitionExcep } return ; } - // $ANTLR end "rule__ScopeModel__NamingAssignment_6" + // $ANTLR end "rule__OrExpression__Group_1__2__Impl" - // $ANTLR start "rule__ScopeModel__ScopesAssignment_7" - // InternalScope.g:10045:1: rule__ScopeModel__ScopesAssignment_7 : ( ruleScopeDefinition ) ; - public final void rule__ScopeModel__ScopesAssignment_7() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group__0" + // InternalScope.g:10245:1: rule__AndExpression__Group__0 : rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 ; + public final void rule__AndExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10049:1: ( ( ruleScopeDefinition ) ) - // InternalScope.g:10050:2: ( ruleScopeDefinition ) - { - // InternalScope.g:10050:2: ( ruleScopeDefinition ) - // InternalScope.g:10051:3: ruleScopeDefinition + // InternalScope.g:10249:1: ( rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 ) + // InternalScope.g:10250:2: rule__AndExpression__Group__0__Impl rule__AndExpression__Group__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeModelAccess().getScopesScopeDefinitionParserRuleCall_7_0()); - } - pushFollow(FOLLOW_2); - ruleScopeDefinition(); + pushFollow(FOLLOW_60); + rule__AndExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeModelAccess().getScopesScopeDefinitionParserRuleCall_7_0()); - } - - } + pushFollow(FOLLOW_2); + rule__AndExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -33084,40 +35499,32 @@ public final void rule__ScopeModel__ScopesAssignment_7() throws RecognitionExcep } return ; } - // $ANTLR end "rule__ScopeModel__ScopesAssignment_7" + // $ANTLR end "rule__AndExpression__Group__0" - // $ANTLR start "rule__Import__PackageAssignment_1" - // InternalScope.g:10060:1: rule__Import__PackageAssignment_1 : ( ( RULE_STRING ) ) ; - public final void rule__Import__PackageAssignment_1() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group__0__Impl" + // InternalScope.g:10257:1: rule__AndExpression__Group__0__Impl : ( ruleImpliesExpression ) ; + public final void rule__AndExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10064:1: ( ( ( RULE_STRING ) ) ) - // InternalScope.g:10065:2: ( ( RULE_STRING ) ) + // InternalScope.g:10261:1: ( ( ruleImpliesExpression ) ) + // InternalScope.g:10262:1: ( ruleImpliesExpression ) { - // InternalScope.g:10065:2: ( ( RULE_STRING ) ) - // InternalScope.g:10066:3: ( RULE_STRING ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getImportAccess().getPackageEPackageCrossReference_1_0()); - } - // InternalScope.g:10067:3: ( RULE_STRING ) - // InternalScope.g:10068:4: RULE_STRING + // InternalScope.g:10262:1: ( ruleImpliesExpression ) + // InternalScope.g:10263:2: ruleImpliesExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getImportAccess().getPackageEPackageSTRINGTerminalRuleCall_1_0_1()); - } - match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getImportAccess().getPackageEPackageSTRINGTerminalRuleCall_1_0_1()); - } - + before(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } + pushFollow(FOLLOW_2); + ruleImpliesExpression(); + state._fsp--; + if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getImportAccess().getPackageEPackageCrossReference_1_0()); + after(grammarAccess.getAndExpressionAccess().getImpliesExpressionParserRuleCall_0()); } } @@ -33137,36 +35544,24 @@ public final void rule__Import__PackageAssignment_1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__Import__PackageAssignment_1" + // $ANTLR end "rule__AndExpression__Group__0__Impl" - // $ANTLR start "rule__Import__NameAssignment_2_1" - // InternalScope.g:10079:1: rule__Import__NameAssignment_2_1 : ( ruleIdentifier ) ; - public final void rule__Import__NameAssignment_2_1() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group__1" + // InternalScope.g:10272:1: rule__AndExpression__Group__1 : rule__AndExpression__Group__1__Impl ; + public final void rule__AndExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10083:1: ( ( ruleIdentifier ) ) - // InternalScope.g:10084:2: ( ruleIdentifier ) + // InternalScope.g:10276:1: ( rule__AndExpression__Group__1__Impl ) + // InternalScope.g:10277:2: rule__AndExpression__Group__1__Impl { - // InternalScope.g:10084:2: ( ruleIdentifier ) - // InternalScope.g:10085:3: ruleIdentifier - { - if ( state.backtracking==0 ) { - before(grammarAccess.getImportAccess().getNameIdentifierParserRuleCall_2_1_0()); - } pushFollow(FOLLOW_2); - ruleIdentifier(); + rule__AndExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getImportAccess().getNameIdentifierParserRuleCall_2_1_0()); - } - - } - } @@ -33182,32 +35577,56 @@ public final void rule__Import__NameAssignment_2_1() throws RecognitionException } return ; } - // $ANTLR end "rule__Import__NameAssignment_2_1" + // $ANTLR end "rule__AndExpression__Group__1" - // $ANTLR start "rule__Extension__ExtensionAssignment_1" - // InternalScope.g:10094:1: rule__Extension__ExtensionAssignment_1 : ( ruleQualifiedID ) ; - public final void rule__Extension__ExtensionAssignment_1() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group__1__Impl" + // InternalScope.g:10283:1: rule__AndExpression__Group__1__Impl : ( ( rule__AndExpression__Group_1__0 )* ) ; + public final void rule__AndExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10098:1: ( ( ruleQualifiedID ) ) - // InternalScope.g:10099:2: ( ruleQualifiedID ) + // InternalScope.g:10287:1: ( ( ( rule__AndExpression__Group_1__0 )* ) ) + // InternalScope.g:10288:1: ( ( rule__AndExpression__Group_1__0 )* ) { - // InternalScope.g:10099:2: ( ruleQualifiedID ) - // InternalScope.g:10100:3: ruleQualifiedID + // InternalScope.g:10288:1: ( ( rule__AndExpression__Group_1__0 )* ) + // InternalScope.g:10289:2: ( rule__AndExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getExtensionAccess().getExtensionQualifiedIDParserRuleCall_1_0()); + before(grammarAccess.getAndExpressionAccess().getGroup_1()); } - pushFollow(FOLLOW_2); - ruleQualifiedID(); + // InternalScope.g:10290:2: ( rule__AndExpression__Group_1__0 )* + loop100: + do { + int alt100=2; + int LA100_0 = input.LA(1); + + if ( (LA100_0==16) ) { + alt100=1; + } + + + switch (alt100) { + case 1 : + // InternalScope.g:10290:3: rule__AndExpression__Group_1__0 + { + pushFollow(FOLLOW_61); + rule__AndExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop100; + } + } while (true); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getExtensionAccess().getExtensionQualifiedIDParserRuleCall_1_0()); + after(grammarAccess.getAndExpressionAccess().getGroup_1()); } } @@ -33227,36 +35646,29 @@ public final void rule__Extension__ExtensionAssignment_1() throws RecognitionExc } return ; } - // $ANTLR end "rule__Extension__ExtensionAssignment_1" + // $ANTLR end "rule__AndExpression__Group__1__Impl" - // $ANTLR start "rule__Injection__TypeAssignment_1" - // InternalScope.g:10109:1: rule__Injection__TypeAssignment_1 : ( ruleDottedID ) ; - public final void rule__Injection__TypeAssignment_1() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__0" + // InternalScope.g:10299:1: rule__AndExpression__Group_1__0 : rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 ; + public final void rule__AndExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10113:1: ( ( ruleDottedID ) ) - // InternalScope.g:10114:2: ( ruleDottedID ) - { - // InternalScope.g:10114:2: ( ruleDottedID ) - // InternalScope.g:10115:3: ruleDottedID + // InternalScope.g:10303:1: ( rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 ) + // InternalScope.g:10304:2: rule__AndExpression__Group_1__0__Impl rule__AndExpression__Group_1__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getInjectionAccess().getTypeDottedIDParserRuleCall_1_0()); - } - pushFollow(FOLLOW_2); - ruleDottedID(); + pushFollow(FOLLOW_60); + rule__AndExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInjectionAccess().getTypeDottedIDParserRuleCall_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__AndExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -33272,32 +35684,32 @@ public final void rule__Injection__TypeAssignment_1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__Injection__TypeAssignment_1" + // $ANTLR end "rule__AndExpression__Group_1__0" - // $ANTLR start "rule__Injection__NameAssignment_3" - // InternalScope.g:10124:1: rule__Injection__NameAssignment_3 : ( ruleIdentifier ) ; - public final void rule__Injection__NameAssignment_3() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__0__Impl" + // InternalScope.g:10311:1: rule__AndExpression__Group_1__0__Impl : ( () ) ; + public final void rule__AndExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10128:1: ( ( ruleIdentifier ) ) - // InternalScope.g:10129:2: ( ruleIdentifier ) + // InternalScope.g:10315:1: ( ( () ) ) + // InternalScope.g:10316:1: ( () ) { - // InternalScope.g:10129:2: ( ruleIdentifier ) - // InternalScope.g:10130:3: ruleIdentifier + // InternalScope.g:10316:1: ( () ) + // InternalScope.g:10317:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getInjectionAccess().getNameIdentifierParserRuleCall_3_0()); + before(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); + } + // InternalScope.g:10318:2: () + // InternalScope.g:10318:3: + { } - pushFollow(FOLLOW_2); - ruleIdentifier(); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInjectionAccess().getNameIdentifierParserRuleCall_3_0()); + after(grammarAccess.getAndExpressionAccess().getBooleanOperationLeftAction_1_0()); } } @@ -33306,10 +35718,6 @@ public final void rule__Injection__NameAssignment_3() throws RecognitionExceptio } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -33317,36 +35725,29 @@ public final void rule__Injection__NameAssignment_3() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__Injection__NameAssignment_3" + // $ANTLR end "rule__AndExpression__Group_1__0__Impl" - // $ANTLR start "rule__NamingSection__CasingAssignment_1_1" - // InternalScope.g:10139:1: rule__NamingSection__CasingAssignment_1_1 : ( ruleCasing ) ; - public final void rule__NamingSection__CasingAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__1" + // InternalScope.g:10326:1: rule__AndExpression__Group_1__1 : rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 ; + public final void rule__AndExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10143:1: ( ( ruleCasing ) ) - // InternalScope.g:10144:2: ( ruleCasing ) + // InternalScope.g:10330:1: ( rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 ) + // InternalScope.g:10331:2: rule__AndExpression__Group_1__1__Impl rule__AndExpression__Group_1__2 { - // InternalScope.g:10144:2: ( ruleCasing ) - // InternalScope.g:10145:3: ruleCasing - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamingSectionAccess().getCasingCasingEnumRuleCall_1_1_0()); - } - pushFollow(FOLLOW_2); - ruleCasing(); + pushFollow(FOLLOW_57); + rule__AndExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getNamingSectionAccess().getCasingCasingEnumRuleCall_1_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__AndExpression__Group_1__2(); + state._fsp--; + if (state.failed) return ; } @@ -33362,32 +35763,38 @@ public final void rule__NamingSection__CasingAssignment_1_1() throws Recognition } return ; } - // $ANTLR end "rule__NamingSection__CasingAssignment_1_1" + // $ANTLR end "rule__AndExpression__Group_1__1" - // $ANTLR start "rule__NamingSection__NamingsAssignment_4" - // InternalScope.g:10154:1: rule__NamingSection__NamingsAssignment_4 : ( ruleNamingDefinition ) ; - public final void rule__NamingSection__NamingsAssignment_4() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__1__Impl" + // InternalScope.g:10338:1: rule__AndExpression__Group_1__1__Impl : ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) ; + public final void rule__AndExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10158:1: ( ( ruleNamingDefinition ) ) - // InternalScope.g:10159:2: ( ruleNamingDefinition ) + // InternalScope.g:10342:1: ( ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) ) + // InternalScope.g:10343:1: ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) { - // InternalScope.g:10159:2: ( ruleNamingDefinition ) - // InternalScope.g:10160:3: ruleNamingDefinition + // InternalScope.g:10343:1: ( ( rule__AndExpression__OperatorAssignment_1_1 ) ) + // InternalScope.g:10344:2: ( rule__AndExpression__OperatorAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingSectionAccess().getNamingsNamingDefinitionParserRuleCall_4_0()); + before(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } + // InternalScope.g:10345:2: ( rule__AndExpression__OperatorAssignment_1_1 ) + // InternalScope.g:10345:3: rule__AndExpression__OperatorAssignment_1_1 + { pushFollow(FOLLOW_2); - ruleNamingDefinition(); + rule__AndExpression__OperatorAssignment_1_1(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getNamingSectionAccess().getNamingsNamingDefinitionParserRuleCall_4_0()); + after(grammarAccess.getAndExpressionAccess().getOperatorAssignment_1_1()); } } @@ -33407,48 +35814,24 @@ public final void rule__NamingSection__NamingsAssignment_4() throws RecognitionE } return ; } - // $ANTLR end "rule__NamingSection__NamingsAssignment_4" + // $ANTLR end "rule__AndExpression__Group_1__1__Impl" - // $ANTLR start "rule__NamingDefinition__TypeAssignment_0" - // InternalScope.g:10169:1: rule__NamingDefinition__TypeAssignment_0 : ( ( ruleQualifiedID ) ) ; - public final void rule__NamingDefinition__TypeAssignment_0() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__2" + // InternalScope.g:10353:1: rule__AndExpression__Group_1__2 : rule__AndExpression__Group_1__2__Impl ; + public final void rule__AndExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10173:1: ( ( ( ruleQualifiedID ) ) ) - // InternalScope.g:10174:2: ( ( ruleQualifiedID ) ) - { - // InternalScope.g:10174:2: ( ( ruleQualifiedID ) ) - // InternalScope.g:10175:3: ( ruleQualifiedID ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamingDefinitionAccess().getTypeEClassCrossReference_0_0()); - } - // InternalScope.g:10176:3: ( ruleQualifiedID ) - // InternalScope.g:10177:4: ruleQualifiedID + // InternalScope.g:10357:1: ( rule__AndExpression__Group_1__2__Impl ) + // InternalScope.g:10358:2: rule__AndExpression__Group_1__2__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamingDefinitionAccess().getTypeEClassQualifiedIDParserRuleCall_0_0_1()); - } pushFollow(FOLLOW_2); - ruleQualifiedID(); + rule__AndExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getNamingDefinitionAccess().getTypeEClassQualifiedIDParserRuleCall_0_0_1()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getNamingDefinitionAccess().getTypeEClassCrossReference_0_0()); - } - - } - } @@ -33464,32 +35847,38 @@ public final void rule__NamingDefinition__TypeAssignment_0() throws RecognitionE } return ; } - // $ANTLR end "rule__NamingDefinition__TypeAssignment_0" + // $ANTLR end "rule__AndExpression__Group_1__2" - // $ANTLR start "rule__NamingDefinition__NamingAssignment_2" - // InternalScope.g:10188:1: rule__NamingDefinition__NamingAssignment_2 : ( ruleNaming ) ; - public final void rule__NamingDefinition__NamingAssignment_2() throws RecognitionException { + // $ANTLR start "rule__AndExpression__Group_1__2__Impl" + // InternalScope.g:10364:1: rule__AndExpression__Group_1__2__Impl : ( ( rule__AndExpression__RightAssignment_1_2 ) ) ; + public final void rule__AndExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10192:1: ( ( ruleNaming ) ) - // InternalScope.g:10193:2: ( ruleNaming ) + // InternalScope.g:10368:1: ( ( ( rule__AndExpression__RightAssignment_1_2 ) ) ) + // InternalScope.g:10369:1: ( ( rule__AndExpression__RightAssignment_1_2 ) ) { - // InternalScope.g:10193:2: ( ruleNaming ) - // InternalScope.g:10194:3: ruleNaming + // InternalScope.g:10369:1: ( ( rule__AndExpression__RightAssignment_1_2 ) ) + // InternalScope.g:10370:2: ( rule__AndExpression__RightAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingDefinitionAccess().getNamingNamingParserRuleCall_2_0()); + before(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } + // InternalScope.g:10371:2: ( rule__AndExpression__RightAssignment_1_2 ) + // InternalScope.g:10371:3: rule__AndExpression__RightAssignment_1_2 + { pushFollow(FOLLOW_2); - ruleNaming(); + rule__AndExpression__RightAssignment_1_2(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getNamingDefinitionAccess().getNamingNamingParserRuleCall_2_0()); + after(grammarAccess.getAndExpressionAccess().getRightAssignment_1_2()); } } @@ -33509,36 +35898,29 @@ public final void rule__NamingDefinition__NamingAssignment_2() throws Recognitio } return ; } - // $ANTLR end "rule__NamingDefinition__NamingAssignment_2" + // $ANTLR end "rule__AndExpression__Group_1__2__Impl" - // $ANTLR start "rule__ScopeDefinition__NameAssignment_1_1" - // InternalScope.g:10203:1: rule__ScopeDefinition__NameAssignment_1_1 : ( ruleIdentifier ) ; - public final void rule__ScopeDefinition__NameAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group__0" + // InternalScope.g:10380:1: rule__ImpliesExpression__Group__0 : rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 ; + public final void rule__ImpliesExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10207:1: ( ( ruleIdentifier ) ) - // InternalScope.g:10208:2: ( ruleIdentifier ) - { - // InternalScope.g:10208:2: ( ruleIdentifier ) - // InternalScope.g:10209:3: ruleIdentifier + // InternalScope.g:10384:1: ( rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 ) + // InternalScope.g:10385:2: rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getNameIdentifierParserRuleCall_1_1_0()); - } - pushFollow(FOLLOW_2); - ruleIdentifier(); + pushFollow(FOLLOW_62); + rule__ImpliesExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getNameIdentifierParserRuleCall_1_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__ImpliesExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -33554,44 +35936,32 @@ public final void rule__ScopeDefinition__NameAssignment_1_1() throws Recognition } return ; } - // $ANTLR end "rule__ScopeDefinition__NameAssignment_1_1" + // $ANTLR end "rule__ImpliesExpression__Group__0" - // $ANTLR start "rule__ScopeDefinition__TargetTypeAssignment_2_0" - // InternalScope.g:10218:1: rule__ScopeDefinition__TargetTypeAssignment_2_0 : ( ( ruleQualifiedID ) ) ; - public final void rule__ScopeDefinition__TargetTypeAssignment_2_0() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group__0__Impl" + // InternalScope.g:10392:1: rule__ImpliesExpression__Group__0__Impl : ( ruleRelationalExpression ) ; + public final void rule__ImpliesExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10222:1: ( ( ( ruleQualifiedID ) ) ) - // InternalScope.g:10223:2: ( ( ruleQualifiedID ) ) + // InternalScope.g:10396:1: ( ( ruleRelationalExpression ) ) + // InternalScope.g:10397:1: ( ruleRelationalExpression ) { - // InternalScope.g:10223:2: ( ( ruleQualifiedID ) ) - // InternalScope.g:10224:3: ( ruleQualifiedID ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getTargetTypeEClassCrossReference_2_0_0()); - } - // InternalScope.g:10225:3: ( ruleQualifiedID ) - // InternalScope.g:10226:4: ruleQualifiedID + // InternalScope.g:10397:1: ( ruleRelationalExpression ) + // InternalScope.g:10398:2: ruleRelationalExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getTargetTypeEClassQualifiedIDParserRuleCall_2_0_0_1()); + before(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } pushFollow(FOLLOW_2); - ruleQualifiedID(); + ruleRelationalExpression(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getTargetTypeEClassQualifiedIDParserRuleCall_2_0_0_1()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getTargetTypeEClassCrossReference_2_0_0()); + after(grammarAccess.getImpliesExpressionAccess().getRelationalExpressionParserRuleCall_0()); } } @@ -33611,48 +35981,24 @@ public final void rule__ScopeDefinition__TargetTypeAssignment_2_0() throws Recog } return ; } - // $ANTLR end "rule__ScopeDefinition__TargetTypeAssignment_2_0" + // $ANTLR end "rule__ImpliesExpression__Group__0__Impl" - // $ANTLR start "rule__ScopeDefinition__ContextTypeAssignment_2_1_0" - // InternalScope.g:10237:1: rule__ScopeDefinition__ContextTypeAssignment_2_1_0 : ( ( ruleQualifiedID ) ) ; - public final void rule__ScopeDefinition__ContextTypeAssignment_2_1_0() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group__1" + // InternalScope.g:10407:1: rule__ImpliesExpression__Group__1 : rule__ImpliesExpression__Group__1__Impl ; + public final void rule__ImpliesExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10241:1: ( ( ( ruleQualifiedID ) ) ) - // InternalScope.g:10242:2: ( ( ruleQualifiedID ) ) - { - // InternalScope.g:10242:2: ( ( ruleQualifiedID ) ) - // InternalScope.g:10243:3: ( ruleQualifiedID ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getContextTypeEClassCrossReference_2_1_0_0()); - } - // InternalScope.g:10244:3: ( ruleQualifiedID ) - // InternalScope.g:10245:4: ruleQualifiedID + // InternalScope.g:10411:1: ( rule__ImpliesExpression__Group__1__Impl ) + // InternalScope.g:10412:2: rule__ImpliesExpression__Group__1__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getContextTypeEClassQualifiedIDParserRuleCall_2_1_0_0_1()); - } pushFollow(FOLLOW_2); - ruleQualifiedID(); + rule__ImpliesExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getContextTypeEClassQualifiedIDParserRuleCall_2_1_0_0_1()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getContextTypeEClassCrossReference_2_1_0_0()); - } - - } - } @@ -33668,44 +36014,56 @@ public final void rule__ScopeDefinition__ContextTypeAssignment_2_1_0() throws Re } return ; } - // $ANTLR end "rule__ScopeDefinition__ContextTypeAssignment_2_1_0" + // $ANTLR end "rule__ImpliesExpression__Group__1" - // $ANTLR start "rule__ScopeDefinition__ReferenceAssignment_2_1_2" - // InternalScope.g:10256:1: rule__ScopeDefinition__ReferenceAssignment_2_1_2 : ( ( ruleIdentifier ) ) ; - public final void rule__ScopeDefinition__ReferenceAssignment_2_1_2() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group__1__Impl" + // InternalScope.g:10418:1: rule__ImpliesExpression__Group__1__Impl : ( ( rule__ImpliesExpression__Group_1__0 )* ) ; + public final void rule__ImpliesExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10260:1: ( ( ( ruleIdentifier ) ) ) - // InternalScope.g:10261:2: ( ( ruleIdentifier ) ) + // InternalScope.g:10422:1: ( ( ( rule__ImpliesExpression__Group_1__0 )* ) ) + // InternalScope.g:10423:1: ( ( rule__ImpliesExpression__Group_1__0 )* ) { - // InternalScope.g:10261:2: ( ( ruleIdentifier ) ) - // InternalScope.g:10262:3: ( ruleIdentifier ) + // InternalScope.g:10423:1: ( ( rule__ImpliesExpression__Group_1__0 )* ) + // InternalScope.g:10424:2: ( rule__ImpliesExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getReferenceEReferenceCrossReference_2_1_2_0()); - } - // InternalScope.g:10263:3: ( ruleIdentifier ) - // InternalScope.g:10264:4: ruleIdentifier - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getReferenceEReferenceIdentifierParserRuleCall_2_1_2_0_1()); + before(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } - pushFollow(FOLLOW_2); - ruleIdentifier(); + // InternalScope.g:10425:2: ( rule__ImpliesExpression__Group_1__0 )* + loop101: + do { + int alt101=2; + int LA101_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getReferenceEReferenceIdentifierParserRuleCall_2_1_2_0_1()); - } + if ( (LA101_0==119) ) { + alt101=1; + } - } + + switch (alt101) { + case 1 : + // InternalScope.g:10425:3: rule__ImpliesExpression__Group_1__0 + { + pushFollow(FOLLOW_63); + rule__ImpliesExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop101; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getReferenceEReferenceCrossReference_2_1_2_0()); + after(grammarAccess.getImpliesExpressionAccess().getGroup_1()); } } @@ -33725,36 +36083,29 @@ public final void rule__ScopeDefinition__ReferenceAssignment_2_1_2() throws Reco } return ; } - // $ANTLR end "rule__ScopeDefinition__ReferenceAssignment_2_1_2" + // $ANTLR end "rule__ImpliesExpression__Group__1__Impl" - // $ANTLR start "rule__ScopeDefinition__RulesAssignment_4" - // InternalScope.g:10275:1: rule__ScopeDefinition__RulesAssignment_4 : ( ruleScopeRule ) ; - public final void rule__ScopeDefinition__RulesAssignment_4() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__0" + // InternalScope.g:10434:1: rule__ImpliesExpression__Group_1__0 : rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 ; + public final void rule__ImpliesExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10279:1: ( ( ruleScopeRule ) ) - // InternalScope.g:10280:2: ( ruleScopeRule ) - { - // InternalScope.g:10280:2: ( ruleScopeRule ) - // InternalScope.g:10281:3: ruleScopeRule + // InternalScope.g:10438:1: ( rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 ) + // InternalScope.g:10439:2: rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDefinitionAccess().getRulesScopeRuleParserRuleCall_4_0()); - } - pushFollow(FOLLOW_2); - ruleScopeRule(); + pushFollow(FOLLOW_62); + rule__ImpliesExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDefinitionAccess().getRulesScopeRuleParserRuleCall_4_0()); - } - - } + pushFollow(FOLLOW_2); + rule__ImpliesExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -33770,32 +36121,32 @@ public final void rule__ScopeDefinition__RulesAssignment_4() throws RecognitionE } return ; } - // $ANTLR end "rule__ScopeDefinition__RulesAssignment_4" + // $ANTLR end "rule__ImpliesExpression__Group_1__0" - // $ANTLR start "rule__ScopeRule__ContextAssignment_1" - // InternalScope.g:10290:1: rule__ScopeRule__ContextAssignment_1 : ( ruleScopeContext ) ; - public final void rule__ScopeRule__ContextAssignment_1() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__0__Impl" + // InternalScope.g:10446:1: rule__ImpliesExpression__Group_1__0__Impl : ( () ) ; + public final void rule__ImpliesExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10294:1: ( ( ruleScopeContext ) ) - // InternalScope.g:10295:2: ( ruleScopeContext ) + // InternalScope.g:10450:1: ( ( () ) ) + // InternalScope.g:10451:1: ( () ) { - // InternalScope.g:10295:2: ( ruleScopeContext ) - // InternalScope.g:10296:3: ruleScopeContext + // InternalScope.g:10451:1: ( () ) + // InternalScope.g:10452:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeRuleAccess().getContextScopeContextParserRuleCall_1_0()); + before(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); + } + // InternalScope.g:10453:2: () + // InternalScope.g:10453:3: + { } - pushFollow(FOLLOW_2); - ruleScopeContext(); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getScopeRuleAccess().getContextScopeContextParserRuleCall_1_0()); + after(grammarAccess.getImpliesExpressionAccess().getBooleanOperationLeftAction_1_0()); } } @@ -33804,10 +36155,6 @@ public final void rule__ScopeRule__ContextAssignment_1() throws RecognitionExcep } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -33815,36 +36162,29 @@ public final void rule__ScopeRule__ContextAssignment_1() throws RecognitionExcep } return ; } - // $ANTLR end "rule__ScopeRule__ContextAssignment_1" + // $ANTLR end "rule__ImpliesExpression__Group_1__0__Impl" - // $ANTLR start "rule__ScopeRule__ExprsAssignment_3" - // InternalScope.g:10305:1: rule__ScopeRule__ExprsAssignment_3 : ( ruleScopeExpression ) ; - public final void rule__ScopeRule__ExprsAssignment_3() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__1" + // InternalScope.g:10461:1: rule__ImpliesExpression__Group_1__1 : rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 ; + public final void rule__ImpliesExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10309:1: ( ( ruleScopeExpression ) ) - // InternalScope.g:10310:2: ( ruleScopeExpression ) + // InternalScope.g:10465:1: ( rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 ) + // InternalScope.g:10466:2: rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 { - // InternalScope.g:10310:2: ( ruleScopeExpression ) - // InternalScope.g:10311:3: ruleScopeExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeRuleAccess().getExprsScopeExpressionParserRuleCall_3_0()); - } - pushFollow(FOLLOW_2); - ruleScopeExpression(); + pushFollow(FOLLOW_57); + rule__ImpliesExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeRuleAccess().getExprsScopeExpressionParserRuleCall_3_0()); - } - - } + pushFollow(FOLLOW_2); + rule__ImpliesExpression__Group_1__2(); + state._fsp--; + if (state.failed) return ; } @@ -33860,32 +36200,38 @@ public final void rule__ScopeRule__ExprsAssignment_3() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__ScopeRule__ExprsAssignment_3" + // $ANTLR end "rule__ImpliesExpression__Group_1__1" - // $ANTLR start "rule__ScopeRule__ExprsAssignment_4_1" - // InternalScope.g:10320:1: rule__ScopeRule__ExprsAssignment_4_1 : ( ruleScopeExpression ) ; - public final void rule__ScopeRule__ExprsAssignment_4_1() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__1__Impl" + // InternalScope.g:10473:1: rule__ImpliesExpression__Group_1__1__Impl : ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) ; + public final void rule__ImpliesExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10324:1: ( ( ruleScopeExpression ) ) - // InternalScope.g:10325:2: ( ruleScopeExpression ) + // InternalScope.g:10477:1: ( ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) ) + // InternalScope.g:10478:1: ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) { - // InternalScope.g:10325:2: ( ruleScopeExpression ) - // InternalScope.g:10326:3: ruleScopeExpression + // InternalScope.g:10478:1: ( ( rule__ImpliesExpression__OperatorAssignment_1_1 ) ) + // InternalScope.g:10479:2: ( rule__ImpliesExpression__OperatorAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeRuleAccess().getExprsScopeExpressionParserRuleCall_4_1_0()); + before(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } + // InternalScope.g:10480:2: ( rule__ImpliesExpression__OperatorAssignment_1_1 ) + // InternalScope.g:10480:3: rule__ImpliesExpression__OperatorAssignment_1_1 + { pushFollow(FOLLOW_2); - ruleScopeExpression(); + rule__ImpliesExpression__OperatorAssignment_1_1(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getScopeRuleAccess().getExprsScopeExpressionParserRuleCall_4_1_0()); + after(grammarAccess.getImpliesExpressionAccess().getOperatorAssignment_1_1()); } } @@ -33905,44 +36251,24 @@ public final void rule__ScopeRule__ExprsAssignment_4_1() throws RecognitionExcep } return ; } - // $ANTLR end "rule__ScopeRule__ExprsAssignment_4_1" + // $ANTLR end "rule__ImpliesExpression__Group_1__1__Impl" - // $ANTLR start "rule__ScopeContext__GlobalAssignment_0_0" - // InternalScope.g:10335:1: rule__ScopeContext__GlobalAssignment_0_0 : ( ( '*' ) ) ; - public final void rule__ScopeContext__GlobalAssignment_0_0() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__2" + // InternalScope.g:10488:1: rule__ImpliesExpression__Group_1__2 : rule__ImpliesExpression__Group_1__2__Impl ; + public final void rule__ImpliesExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10339:1: ( ( ( '*' ) ) ) - // InternalScope.g:10340:2: ( ( '*' ) ) - { - // InternalScope.g:10340:2: ( ( '*' ) ) - // InternalScope.g:10341:3: ( '*' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeContextAccess().getGlobalAsteriskKeyword_0_0_0()); - } - // InternalScope.g:10342:3: ( '*' ) - // InternalScope.g:10343:4: '*' + // InternalScope.g:10492:1: ( rule__ImpliesExpression__Group_1__2__Impl ) + // InternalScope.g:10493:2: rule__ImpliesExpression__Group_1__2__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeContextAccess().getGlobalAsteriskKeyword_0_0_0()); - } - match(input,20,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeContextAccess().getGlobalAsteriskKeyword_0_0_0()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeContextAccess().getGlobalAsteriskKeyword_0_0_0()); - } - - } + pushFollow(FOLLOW_2); + rule__ImpliesExpression__Group_1__2__Impl(); + state._fsp--; + if (state.failed) return ; } @@ -33958,44 +36284,38 @@ public final void rule__ScopeContext__GlobalAssignment_0_0() throws RecognitionE } return ; } - // $ANTLR end "rule__ScopeContext__GlobalAssignment_0_0" + // $ANTLR end "rule__ImpliesExpression__Group_1__2" - // $ANTLR start "rule__ScopeContext__ContextTypeAssignment_0_1" - // InternalScope.g:10354:1: rule__ScopeContext__ContextTypeAssignment_0_1 : ( ( ruleQualifiedID ) ) ; - public final void rule__ScopeContext__ContextTypeAssignment_0_1() throws RecognitionException { + // $ANTLR start "rule__ImpliesExpression__Group_1__2__Impl" + // InternalScope.g:10499:1: rule__ImpliesExpression__Group_1__2__Impl : ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) ; + public final void rule__ImpliesExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10358:1: ( ( ( ruleQualifiedID ) ) ) - // InternalScope.g:10359:2: ( ( ruleQualifiedID ) ) + // InternalScope.g:10503:1: ( ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) ) + // InternalScope.g:10504:1: ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) { - // InternalScope.g:10359:2: ( ( ruleQualifiedID ) ) - // InternalScope.g:10360:3: ( ruleQualifiedID ) + // InternalScope.g:10504:1: ( ( rule__ImpliesExpression__RightAssignment_1_2 ) ) + // InternalScope.g:10505:2: ( rule__ImpliesExpression__RightAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeContextAccess().getContextTypeEClassCrossReference_0_1_0()); + before(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } - // InternalScope.g:10361:3: ( ruleQualifiedID ) - // InternalScope.g:10362:4: ruleQualifiedID + // InternalScope.g:10506:2: ( rule__ImpliesExpression__RightAssignment_1_2 ) + // InternalScope.g:10506:3: rule__ImpliesExpression__RightAssignment_1_2 { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeContextAccess().getContextTypeEClassQualifiedIDParserRuleCall_0_1_0_1()); - } pushFollow(FOLLOW_2); - ruleQualifiedID(); + rule__ImpliesExpression__RightAssignment_1_2(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeContextAccess().getContextTypeEClassQualifiedIDParserRuleCall_0_1_0_1()); - } } if ( state.backtracking==0 ) { - after(grammarAccess.getScopeContextAccess().getContextTypeEClassCrossReference_0_1_0()); + after(grammarAccess.getImpliesExpressionAccess().getRightAssignment_1_2()); } } @@ -34015,36 +36335,29 @@ public final void rule__ScopeContext__ContextTypeAssignment_0_1() throws Recogni } return ; } - // $ANTLR end "rule__ScopeContext__ContextTypeAssignment_0_1" + // $ANTLR end "rule__ImpliesExpression__Group_1__2__Impl" - // $ANTLR start "rule__ScopeContext__GuardAssignment_1_1" - // InternalScope.g:10373:1: rule__ScopeContext__GuardAssignment_1_1 : ( ruleExpression ) ; - public final void rule__ScopeContext__GuardAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group__0" + // InternalScope.g:10515:1: rule__RelationalExpression__Group__0 : rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 ; + public final void rule__RelationalExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10377:1: ( ( ruleExpression ) ) - // InternalScope.g:10378:2: ( ruleExpression ) + // InternalScope.g:10519:1: ( rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 ) + // InternalScope.g:10520:2: rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 { - // InternalScope.g:10378:2: ( ruleExpression ) - // InternalScope.g:10379:3: ruleExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeContextAccess().getGuardExpressionParserRuleCall_1_1_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); + pushFollow(FOLLOW_64); + rule__RelationalExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeContextAccess().getGuardExpressionParserRuleCall_1_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__RelationalExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -34060,32 +36373,32 @@ public final void rule__ScopeContext__GuardAssignment_1_1() throws RecognitionEx } return ; } - // $ANTLR end "rule__ScopeContext__GuardAssignment_1_1" + // $ANTLR end "rule__RelationalExpression__Group__0" - // $ANTLR start "rule__FactoryExpression__ExprAssignment_1" - // InternalScope.g:10388:1: rule__FactoryExpression__ExprAssignment_1 : ( ruleExpression ) ; - public final void rule__FactoryExpression__ExprAssignment_1() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group__0__Impl" + // InternalScope.g:10527:1: rule__RelationalExpression__Group__0__Impl : ( ruleAdditiveExpression ) ; + public final void rule__RelationalExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10392:1: ( ( ruleExpression ) ) - // InternalScope.g:10393:2: ( ruleExpression ) + // InternalScope.g:10531:1: ( ( ruleAdditiveExpression ) ) + // InternalScope.g:10532:1: ( ruleAdditiveExpression ) { - // InternalScope.g:10393:2: ( ruleExpression ) - // InternalScope.g:10394:3: ruleExpression + // InternalScope.g:10532:1: ( ruleAdditiveExpression ) + // InternalScope.g:10533:2: ruleAdditiveExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getFactoryExpressionAccess().getExprExpressionParserRuleCall_1_0()); + before(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } pushFollow(FOLLOW_2); - ruleExpression(); + ruleAdditiveExpression(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getFactoryExpressionAccess().getExprExpressionParserRuleCall_1_0()); + after(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } } @@ -34105,36 +36418,24 @@ public final void rule__FactoryExpression__ExprAssignment_1() throws Recognition } return ; } - // $ANTLR end "rule__FactoryExpression__ExprAssignment_1" + // $ANTLR end "rule__RelationalExpression__Group__0__Impl" - // $ANTLR start "rule__ScopeDelegation__DelegateAssignment_2_0" - // InternalScope.g:10403:1: rule__ScopeDelegation__DelegateAssignment_2_0 : ( ruleExpression ) ; - public final void rule__ScopeDelegation__DelegateAssignment_2_0() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group__1" + // InternalScope.g:10542:1: rule__RelationalExpression__Group__1 : rule__RelationalExpression__Group__1__Impl ; + public final void rule__RelationalExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10407:1: ( ( ruleExpression ) ) - // InternalScope.g:10408:2: ( ruleExpression ) - { - // InternalScope.g:10408:2: ( ruleExpression ) - // InternalScope.g:10409:3: ruleExpression + // InternalScope.g:10546:1: ( rule__RelationalExpression__Group__1__Impl ) + // InternalScope.g:10547:2: rule__RelationalExpression__Group__1__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDelegationAccess().getDelegateExpressionParserRuleCall_2_0_0()); - } pushFollow(FOLLOW_2); - ruleExpression(); + rule__RelationalExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDelegationAccess().getDelegateExpressionParserRuleCall_2_0_0()); - } - - } - } @@ -34150,32 +36451,56 @@ public final void rule__ScopeDelegation__DelegateAssignment_2_0() throws Recogni } return ; } - // $ANTLR end "rule__ScopeDelegation__DelegateAssignment_2_0" + // $ANTLR end "rule__RelationalExpression__Group__1" - // $ANTLR start "rule__ScopeDelegation__ExternalAssignment_2_1" - // InternalScope.g:10418:1: rule__ScopeDelegation__ExternalAssignment_2_1 : ( ruleGlobalScopeExpression ) ; - public final void rule__ScopeDelegation__ExternalAssignment_2_1() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group__1__Impl" + // InternalScope.g:10553:1: rule__RelationalExpression__Group__1__Impl : ( ( rule__RelationalExpression__Group_1__0 )* ) ; + public final void rule__RelationalExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10422:1: ( ( ruleGlobalScopeExpression ) ) - // InternalScope.g:10423:2: ( ruleGlobalScopeExpression ) + // InternalScope.g:10557:1: ( ( ( rule__RelationalExpression__Group_1__0 )* ) ) + // InternalScope.g:10558:1: ( ( rule__RelationalExpression__Group_1__0 )* ) { - // InternalScope.g:10423:2: ( ruleGlobalScopeExpression ) - // InternalScope.g:10424:3: ruleGlobalScopeExpression + // InternalScope.g:10558:1: ( ( rule__RelationalExpression__Group_1__0 )* ) + // InternalScope.g:10559:2: ( rule__RelationalExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDelegationAccess().getExternalGlobalScopeExpressionParserRuleCall_2_1_0()); + before(grammarAccess.getRelationalExpressionAccess().getGroup_1()); } - pushFollow(FOLLOW_2); - ruleGlobalScopeExpression(); + // InternalScope.g:10560:2: ( rule__RelationalExpression__Group_1__0 )* + loop102: + do { + int alt102=2; + int LA102_0 = input.LA(1); + + if ( ((LA102_0>=17 && LA102_0<=22)) ) { + alt102=1; + } + + + switch (alt102) { + case 1 : + // InternalScope.g:10560:3: rule__RelationalExpression__Group_1__0 + { + pushFollow(FOLLOW_65); + rule__RelationalExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop102; + } + } while (true); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDelegationAccess().getExternalGlobalScopeExpressionParserRuleCall_2_1_0()); + after(grammarAccess.getRelationalExpressionAccess().getGroup_1()); } } @@ -34195,48 +36520,29 @@ public final void rule__ScopeDelegation__ExternalAssignment_2_1() throws Recogni } return ; } - // $ANTLR end "rule__ScopeDelegation__ExternalAssignment_2_1" + // $ANTLR end "rule__RelationalExpression__Group__1__Impl" - // $ANTLR start "rule__ScopeDelegation__ScopeAssignment_3_1" - // InternalScope.g:10433:1: rule__ScopeDelegation__ScopeAssignment_3_1 : ( ( ruleIdentifier ) ) ; - public final void rule__ScopeDelegation__ScopeAssignment_3_1() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group_1__0" + // InternalScope.g:10569:1: rule__RelationalExpression__Group_1__0 : rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 ; + public final void rule__RelationalExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10437:1: ( ( ( ruleIdentifier ) ) ) - // InternalScope.g:10438:2: ( ( ruleIdentifier ) ) - { - // InternalScope.g:10438:2: ( ( ruleIdentifier ) ) - // InternalScope.g:10439:3: ( ruleIdentifier ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDelegationAccess().getScopeScopeDefinitionCrossReference_3_1_0()); - } - // InternalScope.g:10440:3: ( ruleIdentifier ) - // InternalScope.g:10441:4: ruleIdentifier + // InternalScope.g:10573:1: ( rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 ) + // InternalScope.g:10574:2: rule__RelationalExpression__Group_1__0__Impl rule__RelationalExpression__Group_1__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getScopeDelegationAccess().getScopeScopeDefinitionIdentifierParserRuleCall_3_1_0_1()); - } - pushFollow(FOLLOW_2); - ruleIdentifier(); + pushFollow(FOLLOW_64); + rule__RelationalExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDelegationAccess().getScopeScopeDefinitionIdentifierParserRuleCall_3_1_0_1()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getScopeDelegationAccess().getScopeScopeDefinitionCrossReference_3_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__RelationalExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -34252,44 +36558,70 @@ public final void rule__ScopeDelegation__ScopeAssignment_3_1() throws Recognitio } return ; } - // $ANTLR end "rule__ScopeDelegation__ScopeAssignment_3_1" + // $ANTLR end "rule__RelationalExpression__Group_1__0" - // $ANTLR start "rule__NamedScopeExpression__CaseDefAssignment_1_0" - // InternalScope.g:10452:1: rule__NamedScopeExpression__CaseDefAssignment_1_0 : ( ( 'case' ) ) ; - public final void rule__NamedScopeExpression__CaseDefAssignment_1_0() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group_1__0__Impl" + // InternalScope.g:10581:1: rule__RelationalExpression__Group_1__0__Impl : ( () ) ; + public final void rule__RelationalExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10456:1: ( ( ( 'case' ) ) ) - // InternalScope.g:10457:2: ( ( 'case' ) ) + // InternalScope.g:10585:1: ( ( () ) ) + // InternalScope.g:10586:1: ( () ) { - // InternalScope.g:10457:2: ( ( 'case' ) ) - // InternalScope.g:10458:3: ( 'case' ) + // InternalScope.g:10586:1: ( () ) + // InternalScope.g:10587:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getNamedScopeExpressionAccess().getCaseDefCaseKeyword_1_0_0()); + before(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); } - // InternalScope.g:10459:3: ( 'case' ) - // InternalScope.g:10460:4: 'case' + // InternalScope.g:10588:2: () + // InternalScope.g:10588:3: { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamedScopeExpressionAccess().getCaseDefCaseKeyword_1_0_0()); } - match(input,47,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { - after(grammarAccess.getNamedScopeExpressionAccess().getCaseDefCaseKeyword_1_0_0()); + after(grammarAccess.getRelationalExpressionAccess().getBooleanOperationLeftAction_1_0()); } } - if ( state.backtracking==0 ) { - after(grammarAccess.getNamedScopeExpressionAccess().getCaseDefCaseKeyword_1_0_0()); - } } + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RelationalExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__RelationalExpression__Group_1__1" + // InternalScope.g:10596:1: rule__RelationalExpression__Group_1__1 : rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 ; + public final void rule__RelationalExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:10600:1: ( rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 ) + // InternalScope.g:10601:2: rule__RelationalExpression__Group_1__1__Impl rule__RelationalExpression__Group_1__2 + { + pushFollow(FOLLOW_57); + rule__RelationalExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__RelationalExpression__Group_1__2(); + + state._fsp--; + if (state.failed) return ; } @@ -34305,32 +36637,38 @@ public final void rule__NamedScopeExpression__CaseDefAssignment_1_0() throws Rec } return ; } - // $ANTLR end "rule__NamedScopeExpression__CaseDefAssignment_1_0" + // $ANTLR end "rule__RelationalExpression__Group_1__1" - // $ANTLR start "rule__NamedScopeExpression__CasingAssignment_1_1" - // InternalScope.g:10471:1: rule__NamedScopeExpression__CasingAssignment_1_1 : ( ruleCasing ) ; - public final void rule__NamedScopeExpression__CasingAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group_1__1__Impl" + // InternalScope.g:10608:1: rule__RelationalExpression__Group_1__1__Impl : ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) ; + public final void rule__RelationalExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10475:1: ( ( ruleCasing ) ) - // InternalScope.g:10476:2: ( ruleCasing ) + // InternalScope.g:10612:1: ( ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) ) + // InternalScope.g:10613:1: ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) { - // InternalScope.g:10476:2: ( ruleCasing ) - // InternalScope.g:10477:3: ruleCasing + // InternalScope.g:10613:1: ( ( rule__RelationalExpression__OperatorAssignment_1_1 ) ) + // InternalScope.g:10614:2: ( rule__RelationalExpression__OperatorAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamedScopeExpressionAccess().getCasingCasingEnumRuleCall_1_1_0()); + before(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } + // InternalScope.g:10615:2: ( rule__RelationalExpression__OperatorAssignment_1_1 ) + // InternalScope.g:10615:3: rule__RelationalExpression__OperatorAssignment_1_1 + { pushFollow(FOLLOW_2); - ruleCasing(); + rule__RelationalExpression__OperatorAssignment_1_1(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getNamedScopeExpressionAccess().getCasingCasingEnumRuleCall_1_1_0()); + after(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_1()); } } @@ -34350,36 +36688,24 @@ public final void rule__NamedScopeExpression__CasingAssignment_1_1() throws Reco } return ; } - // $ANTLR end "rule__NamedScopeExpression__CasingAssignment_1_1" + // $ANTLR end "rule__RelationalExpression__Group_1__1__Impl" - // $ANTLR start "rule__NamedScopeExpression__NamingAssignment_2_1" - // InternalScope.g:10486:1: rule__NamedScopeExpression__NamingAssignment_2_1 : ( ruleNaming ) ; - public final void rule__NamedScopeExpression__NamingAssignment_2_1() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group_1__2" + // InternalScope.g:10623:1: rule__RelationalExpression__Group_1__2 : rule__RelationalExpression__Group_1__2__Impl ; + public final void rule__RelationalExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10490:1: ( ( ruleNaming ) ) - // InternalScope.g:10491:2: ( ruleNaming ) - { - // InternalScope.g:10491:2: ( ruleNaming ) - // InternalScope.g:10492:3: ruleNaming + // InternalScope.g:10627:1: ( rule__RelationalExpression__Group_1__2__Impl ) + // InternalScope.g:10628:2: rule__RelationalExpression__Group_1__2__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamedScopeExpressionAccess().getNamingNamingParserRuleCall_2_1_0()); - } pushFollow(FOLLOW_2); - ruleNaming(); + rule__RelationalExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getNamedScopeExpressionAccess().getNamingNamingParserRuleCall_2_1_0()); - } - - } - } @@ -34395,44 +36721,38 @@ public final void rule__NamedScopeExpression__NamingAssignment_2_1() throws Reco } return ; } - // $ANTLR end "rule__NamedScopeExpression__NamingAssignment_2_1" + // $ANTLR end "rule__RelationalExpression__Group_1__2" - // $ANTLR start "rule__GlobalScopeExpression__TypeAssignment_2" - // InternalScope.g:10501:1: rule__GlobalScopeExpression__TypeAssignment_2 : ( ( ruleQualifiedID ) ) ; - public final void rule__GlobalScopeExpression__TypeAssignment_2() throws RecognitionException { + // $ANTLR start "rule__RelationalExpression__Group_1__2__Impl" + // InternalScope.g:10634:1: rule__RelationalExpression__Group_1__2__Impl : ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) ; + public final void rule__RelationalExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10505:1: ( ( ( ruleQualifiedID ) ) ) - // InternalScope.g:10506:2: ( ( ruleQualifiedID ) ) + // InternalScope.g:10638:1: ( ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) ) + // InternalScope.g:10639:1: ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) { - // InternalScope.g:10506:2: ( ( ruleQualifiedID ) ) - // InternalScope.g:10507:3: ( ruleQualifiedID ) + // InternalScope.g:10639:1: ( ( rule__RelationalExpression__RightAssignment_1_2 ) ) + // InternalScope.g:10640:2: ( rule__RelationalExpression__RightAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getTypeEClassCrossReference_2_0()); + before(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } - // InternalScope.g:10508:3: ( ruleQualifiedID ) - // InternalScope.g:10509:4: ruleQualifiedID + // InternalScope.g:10641:2: ( rule__RelationalExpression__RightAssignment_1_2 ) + // InternalScope.g:10641:3: rule__RelationalExpression__RightAssignment_1_2 { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getTypeEClassQualifiedIDParserRuleCall_2_0_1()); - } pushFollow(FOLLOW_2); - ruleQualifiedID(); + rule__RelationalExpression__RightAssignment_1_2(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getTypeEClassQualifiedIDParserRuleCall_2_0_1()); - } } if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getTypeEClassCrossReference_2_0()); + after(grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_2()); } } @@ -34452,36 +36772,29 @@ public final void rule__GlobalScopeExpression__TypeAssignment_2() throws Recogni } return ; } - // $ANTLR end "rule__GlobalScopeExpression__TypeAssignment_2" + // $ANTLR end "rule__RelationalExpression__Group_1__2__Impl" - // $ANTLR start "rule__GlobalScopeExpression__NameAssignment_3_0_3" - // InternalScope.g:10520:1: rule__GlobalScopeExpression__NameAssignment_3_0_3 : ( ruleExpression ) ; - public final void rule__GlobalScopeExpression__NameAssignment_3_0_3() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group__0" + // InternalScope.g:10650:1: rule__AdditiveExpression__Group__0 : rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ; + public final void rule__AdditiveExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10524:1: ( ( ruleExpression ) ) - // InternalScope.g:10525:2: ( ruleExpression ) - { - // InternalScope.g:10525:2: ( ruleExpression ) - // InternalScope.g:10526:3: ruleExpression + // InternalScope.g:10654:1: ( rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ) + // InternalScope.g:10655:2: rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getNameExpressionParserRuleCall_3_0_3_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); + pushFollow(FOLLOW_66); + rule__AdditiveExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getNameExpressionParserRuleCall_3_0_3_0()); - } - - } + pushFollow(FOLLOW_2); + rule__AdditiveExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -34497,40 +36810,32 @@ public final void rule__GlobalScopeExpression__NameAssignment_3_0_3() throws Rec } return ; } - // $ANTLR end "rule__GlobalScopeExpression__NameAssignment_3_0_3" + // $ANTLR end "rule__AdditiveExpression__Group__0" - // $ANTLR start "rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1" - // InternalScope.g:10535:1: rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 : ( ( 'recursive' ) ) ; - public final void rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group__0__Impl" + // InternalScope.g:10662:1: rule__AdditiveExpression__Group__0__Impl : ( ruleMultiplicativeExpression ) ; + public final void rule__AdditiveExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10539:1: ( ( ( 'recursive' ) ) ) - // InternalScope.g:10540:2: ( ( 'recursive' ) ) + // InternalScope.g:10666:1: ( ( ruleMultiplicativeExpression ) ) + // InternalScope.g:10667:1: ( ruleMultiplicativeExpression ) { - // InternalScope.g:10540:2: ( ( 'recursive' ) ) - // InternalScope.g:10541:3: ( 'recursive' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixRecursiveKeyword_3_1_1_0()); - } - // InternalScope.g:10542:3: ( 'recursive' ) - // InternalScope.g:10543:4: 'recursive' + // InternalScope.g:10667:1: ( ruleMultiplicativeExpression ) + // InternalScope.g:10668:2: ruleMultiplicativeExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixRecursiveKeyword_3_1_1_0()); - } - match(input,80,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixRecursiveKeyword_3_1_1_0()); - } - + before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } + pushFollow(FOLLOW_2); + ruleMultiplicativeExpression(); + state._fsp--; + if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixRecursiveKeyword_3_1_1_0()); + after(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } } @@ -34550,36 +36855,24 @@ public final void rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1() } return ; } - // $ANTLR end "rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1" + // $ANTLR end "rule__AdditiveExpression__Group__0__Impl" - // $ANTLR start "rule__GlobalScopeExpression__PrefixAssignment_3_1_4" - // InternalScope.g:10554:1: rule__GlobalScopeExpression__PrefixAssignment_3_1_4 : ( ruleExpression ) ; - public final void rule__GlobalScopeExpression__PrefixAssignment_3_1_4() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group__1" + // InternalScope.g:10677:1: rule__AdditiveExpression__Group__1 : rule__AdditiveExpression__Group__1__Impl ; + public final void rule__AdditiveExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10558:1: ( ( ruleExpression ) ) - // InternalScope.g:10559:2: ( ruleExpression ) + // InternalScope.g:10681:1: ( rule__AdditiveExpression__Group__1__Impl ) + // InternalScope.g:10682:2: rule__AdditiveExpression__Group__1__Impl { - // InternalScope.g:10559:2: ( ruleExpression ) - // InternalScope.g:10560:3: ruleExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getPrefixExpressionParserRuleCall_3_1_4_0()); - } pushFollow(FOLLOW_2); - ruleExpression(); + rule__AdditiveExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getPrefixExpressionParserRuleCall_3_1_4_0()); - } - - } - } @@ -34595,32 +36888,56 @@ public final void rule__GlobalScopeExpression__PrefixAssignment_3_1_4() throws R } return ; } - // $ANTLR end "rule__GlobalScopeExpression__PrefixAssignment_3_1_4" + // $ANTLR end "rule__AdditiveExpression__Group__1" - // $ANTLR start "rule__GlobalScopeExpression__DataAssignment_4_4" - // InternalScope.g:10569:1: rule__GlobalScopeExpression__DataAssignment_4_4 : ( ruleDataExpression ) ; - public final void rule__GlobalScopeExpression__DataAssignment_4_4() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group__1__Impl" + // InternalScope.g:10688:1: rule__AdditiveExpression__Group__1__Impl : ( ( rule__AdditiveExpression__Group_1__0 )* ) ; + public final void rule__AdditiveExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10573:1: ( ( ruleDataExpression ) ) - // InternalScope.g:10574:2: ( ruleDataExpression ) + // InternalScope.g:10692:1: ( ( ( rule__AdditiveExpression__Group_1__0 )* ) ) + // InternalScope.g:10693:1: ( ( rule__AdditiveExpression__Group_1__0 )* ) { - // InternalScope.g:10574:2: ( ruleDataExpression ) - // InternalScope.g:10575:3: ruleDataExpression + // InternalScope.g:10693:1: ( ( rule__AdditiveExpression__Group_1__0 )* ) + // InternalScope.g:10694:2: ( rule__AdditiveExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getDataDataExpressionParserRuleCall_4_4_0()); + before(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } - pushFollow(FOLLOW_2); - ruleDataExpression(); + // InternalScope.g:10695:2: ( rule__AdditiveExpression__Group_1__0 )* + loop103: + do { + int alt103=2; + int LA103_0 = input.LA(1); + + if ( ((LA103_0>=23 && LA103_0<=24)) ) { + alt103=1; + } + + + switch (alt103) { + case 1 : + // InternalScope.g:10695:3: rule__AdditiveExpression__Group_1__0 + { + pushFollow(FOLLOW_67); + rule__AdditiveExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop103; + } + } while (true); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getDataDataExpressionParserRuleCall_4_4_0()); + after(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } } @@ -34640,36 +36957,29 @@ public final void rule__GlobalScopeExpression__DataAssignment_4_4() throws Recog } return ; } - // $ANTLR end "rule__GlobalScopeExpression__DataAssignment_4_4" + // $ANTLR end "rule__AdditiveExpression__Group__1__Impl" - // $ANTLR start "rule__GlobalScopeExpression__DataAssignment_4_5_1" - // InternalScope.g:10584:1: rule__GlobalScopeExpression__DataAssignment_4_5_1 : ( ruleDataExpression ) ; - public final void rule__GlobalScopeExpression__DataAssignment_4_5_1() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group_1__0" + // InternalScope.g:10704:1: rule__AdditiveExpression__Group_1__0 : rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ; + public final void rule__AdditiveExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10588:1: ( ( ruleDataExpression ) ) - // InternalScope.g:10589:2: ( ruleDataExpression ) - { - // InternalScope.g:10589:2: ( ruleDataExpression ) - // InternalScope.g:10590:3: ruleDataExpression + // InternalScope.g:10708:1: ( rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ) + // InternalScope.g:10709:2: rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getDataDataExpressionParserRuleCall_4_5_1_0()); - } - pushFollow(FOLLOW_2); - ruleDataExpression(); + pushFollow(FOLLOW_66); + rule__AdditiveExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getDataDataExpressionParserRuleCall_4_5_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__AdditiveExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -34685,40 +36995,32 @@ public final void rule__GlobalScopeExpression__DataAssignment_4_5_1() throws Rec } return ; } - // $ANTLR end "rule__GlobalScopeExpression__DataAssignment_4_5_1" + // $ANTLR end "rule__AdditiveExpression__Group_1__0" - // $ANTLR start "rule__GlobalScopeExpression__DomainsAssignment_5_3_0" - // InternalScope.g:10599:1: rule__GlobalScopeExpression__DomainsAssignment_5_3_0 : ( ( '*' ) ) ; - public final void rule__GlobalScopeExpression__DomainsAssignment_5_3_0() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group_1__0__Impl" + // InternalScope.g:10716:1: rule__AdditiveExpression__Group_1__0__Impl : ( () ) ; + public final void rule__AdditiveExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10603:1: ( ( ( '*' ) ) ) - // InternalScope.g:10604:2: ( ( '*' ) ) + // InternalScope.g:10720:1: ( ( () ) ) + // InternalScope.g:10721:1: ( () ) { - // InternalScope.g:10604:2: ( ( '*' ) ) - // InternalScope.g:10605:3: ( '*' ) + // InternalScope.g:10721:1: ( () ) + // InternalScope.g:10722:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAsteriskKeyword_5_3_0_0()); + before(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); } - // InternalScope.g:10606:3: ( '*' ) - // InternalScope.g:10607:4: '*' + // InternalScope.g:10723:2: () + // InternalScope.g:10723:3: { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAsteriskKeyword_5_3_0_0()); - } - match(input,20,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAsteriskKeyword_5_3_0_0()); - } - } if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAsteriskKeyword_5_3_0_0()); + after(grammarAccess.getAdditiveExpressionAccess().getOperationCallParamsAction_1_0()); } } @@ -34727,10 +37029,6 @@ public final void rule__GlobalScopeExpression__DomainsAssignment_5_3_0() throws } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -34738,36 +37036,29 @@ public final void rule__GlobalScopeExpression__DomainsAssignment_5_3_0() throws } return ; } - // $ANTLR end "rule__GlobalScopeExpression__DomainsAssignment_5_3_0" + // $ANTLR end "rule__AdditiveExpression__Group_1__0__Impl" - // $ANTLR start "rule__GlobalScopeExpression__DomainsAssignment_5_3_1" - // InternalScope.g:10618:1: rule__GlobalScopeExpression__DomainsAssignment_5_3_1 : ( ruleIdentifier ) ; - public final void rule__GlobalScopeExpression__DomainsAssignment_5_3_1() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group_1__1" + // InternalScope.g:10731:1: rule__AdditiveExpression__Group_1__1 : rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ; + public final void rule__AdditiveExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10622:1: ( ( ruleIdentifier ) ) - // InternalScope.g:10623:2: ( ruleIdentifier ) - { - // InternalScope.g:10623:2: ( ruleIdentifier ) - // InternalScope.g:10624:3: ruleIdentifier + // InternalScope.g:10735:1: ( rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ) + // InternalScope.g:10736:2: rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_1_0()); - } - pushFollow(FOLLOW_2); - ruleIdentifier(); + pushFollow(FOLLOW_57); + rule__AdditiveExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__AdditiveExpression__Group_1__2(); + state._fsp--; + if (state.failed) return ; } @@ -34783,32 +37074,38 @@ public final void rule__GlobalScopeExpression__DomainsAssignment_5_3_1() throws } return ; } - // $ANTLR end "rule__GlobalScopeExpression__DomainsAssignment_5_3_1" + // $ANTLR end "rule__AdditiveExpression__Group_1__1" - // $ANTLR start "rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1" - // InternalScope.g:10633:1: rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 : ( ruleIdentifier ) ; - public final void rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group_1__1__Impl" + // InternalScope.g:10743:1: rule__AdditiveExpression__Group_1__1__Impl : ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) ; + public final void rule__AdditiveExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10637:1: ( ( ruleIdentifier ) ) - // InternalScope.g:10638:2: ( ruleIdentifier ) + // InternalScope.g:10747:1: ( ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) ) + // InternalScope.g:10748:1: ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) { - // InternalScope.g:10638:2: ( ruleIdentifier ) - // InternalScope.g:10639:3: ruleIdentifier + // InternalScope.g:10748:1: ( ( rule__AdditiveExpression__NameAssignment_1_1 ) ) + // InternalScope.g:10749:2: ( rule__AdditiveExpression__NameAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_2_1_0()); + before(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } + // InternalScope.g:10750:2: ( rule__AdditiveExpression__NameAssignment_1_1 ) + // InternalScope.g:10750:3: rule__AdditiveExpression__NameAssignment_1_1 + { pushFollow(FOLLOW_2); - ruleIdentifier(); + rule__AdditiveExpression__NameAssignment_1_1(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_2_1_0()); + after(grammarAccess.getAdditiveExpressionAccess().getNameAssignment_1_1()); } } @@ -34828,36 +37125,24 @@ public final void rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1() throw } return ; } - // $ANTLR end "rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1" + // $ANTLR end "rule__AdditiveExpression__Group_1__1__Impl" - // $ANTLR start "rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1" - // InternalScope.g:10648:1: rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 : ( ruleIdentifier ) ; - public final void rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group_1__2" + // InternalScope.g:10758:1: rule__AdditiveExpression__Group_1__2 : rule__AdditiveExpression__Group_1__2__Impl ; + public final void rule__AdditiveExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10652:1: ( ( ruleIdentifier ) ) - // InternalScope.g:10653:2: ( ruleIdentifier ) + // InternalScope.g:10762:1: ( rule__AdditiveExpression__Group_1__2__Impl ) + // InternalScope.g:10763:2: rule__AdditiveExpression__Group_1__2__Impl { - // InternalScope.g:10653:2: ( ruleIdentifier ) - // InternalScope.g:10654:3: ruleIdentifier - { - if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_2_2_1_0()); - } pushFollow(FOLLOW_2); - ruleIdentifier(); + rule__AdditiveExpression__Group_1__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_2_2_1_0()); - } - - } - } @@ -34873,32 +37158,38 @@ public final void rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1() thr } return ; } - // $ANTLR end "rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1" + // $ANTLR end "rule__AdditiveExpression__Group_1__2" - // $ANTLR start "rule__MatchDataExpression__KeyAssignment_0" - // InternalScope.g:10663:1: rule__MatchDataExpression__KeyAssignment_0 : ( ruleIdentifier ) ; - public final void rule__MatchDataExpression__KeyAssignment_0() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__Group_1__2__Impl" + // InternalScope.g:10769:1: rule__AdditiveExpression__Group_1__2__Impl : ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) ; + public final void rule__AdditiveExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10667:1: ( ( ruleIdentifier ) ) - // InternalScope.g:10668:2: ( ruleIdentifier ) + // InternalScope.g:10773:1: ( ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) ) + // InternalScope.g:10774:1: ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) { - // InternalScope.g:10668:2: ( ruleIdentifier ) - // InternalScope.g:10669:3: ruleIdentifier + // InternalScope.g:10774:1: ( ( rule__AdditiveExpression__ParamsAssignment_1_2 ) ) + // InternalScope.g:10775:2: ( rule__AdditiveExpression__ParamsAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getMatchDataExpressionAccess().getKeyIdentifierParserRuleCall_0_0()); + before(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } + // InternalScope.g:10776:2: ( rule__AdditiveExpression__ParamsAssignment_1_2 ) + // InternalScope.g:10776:3: rule__AdditiveExpression__ParamsAssignment_1_2 + { pushFollow(FOLLOW_2); - ruleIdentifier(); + rule__AdditiveExpression__ParamsAssignment_1_2(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getMatchDataExpressionAccess().getKeyIdentifierParserRuleCall_0_0()); + after(grammarAccess.getAdditiveExpressionAccess().getParamsAssignment_1_2()); } } @@ -34918,36 +37209,29 @@ public final void rule__MatchDataExpression__KeyAssignment_0() throws Recognitio } return ; } - // $ANTLR end "rule__MatchDataExpression__KeyAssignment_0" + // $ANTLR end "rule__AdditiveExpression__Group_1__2__Impl" - // $ANTLR start "rule__MatchDataExpression__ValueAssignment_2" - // InternalScope.g:10678:1: rule__MatchDataExpression__ValueAssignment_2 : ( ruleExpression ) ; - public final void rule__MatchDataExpression__ValueAssignment_2() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group__0" + // InternalScope.g:10785:1: rule__MultiplicativeExpression__Group__0 : rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ; + public final void rule__MultiplicativeExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10682:1: ( ( ruleExpression ) ) - // InternalScope.g:10683:2: ( ruleExpression ) + // InternalScope.g:10789:1: ( rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ) + // InternalScope.g:10790:2: rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 { - // InternalScope.g:10683:2: ( ruleExpression ) - // InternalScope.g:10684:3: ruleExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getMatchDataExpressionAccess().getValueExpressionParserRuleCall_2_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); + pushFollow(FOLLOW_68); + rule__MultiplicativeExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getMatchDataExpressionAccess().getValueExpressionParserRuleCall_2_0()); - } - - } + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -34963,32 +37247,32 @@ public final void rule__MatchDataExpression__ValueAssignment_2() throws Recognit } return ; } - // $ANTLR end "rule__MatchDataExpression__ValueAssignment_2" + // $ANTLR end "rule__MultiplicativeExpression__Group__0" - // $ANTLR start "rule__LambdaDataExpression__DescAssignment_1" - // InternalScope.g:10693:1: rule__LambdaDataExpression__DescAssignment_1 : ( ruleIdentifier ) ; - public final void rule__LambdaDataExpression__DescAssignment_1() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group__0__Impl" + // InternalScope.g:10797:1: rule__MultiplicativeExpression__Group__0__Impl : ( ruleUnaryOrInfixExpression ) ; + public final void rule__MultiplicativeExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10697:1: ( ( ruleIdentifier ) ) - // InternalScope.g:10698:2: ( ruleIdentifier ) + // InternalScope.g:10801:1: ( ( ruleUnaryOrInfixExpression ) ) + // InternalScope.g:10802:1: ( ruleUnaryOrInfixExpression ) { - // InternalScope.g:10698:2: ( ruleIdentifier ) - // InternalScope.g:10699:3: ruleIdentifier + // InternalScope.g:10802:1: ( ruleUnaryOrInfixExpression ) + // InternalScope.g:10803:2: ruleUnaryOrInfixExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getLambdaDataExpressionAccess().getDescIdentifierParserRuleCall_1_0()); + before(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } pushFollow(FOLLOW_2); - ruleIdentifier(); + ruleUnaryOrInfixExpression(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getLambdaDataExpressionAccess().getDescIdentifierParserRuleCall_1_0()); + after(grammarAccess.getMultiplicativeExpressionAccess().getUnaryOrInfixExpressionParserRuleCall_0()); } } @@ -35008,36 +37292,24 @@ public final void rule__LambdaDataExpression__DescAssignment_1() throws Recognit } return ; } - // $ANTLR end "rule__LambdaDataExpression__DescAssignment_1" + // $ANTLR end "rule__MultiplicativeExpression__Group__0__Impl" - // $ANTLR start "rule__LambdaDataExpression__ValueAssignment_3" - // InternalScope.g:10708:1: rule__LambdaDataExpression__ValueAssignment_3 : ( ruleExpression ) ; - public final void rule__LambdaDataExpression__ValueAssignment_3() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group__1" + // InternalScope.g:10812:1: rule__MultiplicativeExpression__Group__1 : rule__MultiplicativeExpression__Group__1__Impl ; + public final void rule__MultiplicativeExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10712:1: ( ( ruleExpression ) ) - // InternalScope.g:10713:2: ( ruleExpression ) - { - // InternalScope.g:10713:2: ( ruleExpression ) - // InternalScope.g:10714:3: ruleExpression + // InternalScope.g:10816:1: ( rule__MultiplicativeExpression__Group__1__Impl ) + // InternalScope.g:10817:2: rule__MultiplicativeExpression__Group__1__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getLambdaDataExpressionAccess().getValueExpressionParserRuleCall_3_0()); - } pushFollow(FOLLOW_2); - ruleExpression(); + rule__MultiplicativeExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLambdaDataExpressionAccess().getValueExpressionParserRuleCall_3_0()); - } - - } - } @@ -35053,32 +37325,56 @@ public final void rule__LambdaDataExpression__ValueAssignment_3() throws Recogni } return ; } - // $ANTLR end "rule__LambdaDataExpression__ValueAssignment_3" + // $ANTLR end "rule__MultiplicativeExpression__Group__1" - // $ANTLR start "rule__SimpleScopeExpression__ExprAssignment" - // InternalScope.g:10723:1: rule__SimpleScopeExpression__ExprAssignment : ( ruleExpression ) ; - public final void rule__SimpleScopeExpression__ExprAssignment() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group__1__Impl" + // InternalScope.g:10823:1: rule__MultiplicativeExpression__Group__1__Impl : ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ; + public final void rule__MultiplicativeExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10727:1: ( ( ruleExpression ) ) - // InternalScope.g:10728:2: ( ruleExpression ) + // InternalScope.g:10827:1: ( ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ) + // InternalScope.g:10828:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* ) { - // InternalScope.g:10728:2: ( ruleExpression ) - // InternalScope.g:10729:3: ruleExpression + // InternalScope.g:10828:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* ) + // InternalScope.g:10829:2: ( rule__MultiplicativeExpression__Group_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleScopeExpressionAccess().getExprExpressionParserRuleCall_0()); + before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } - pushFollow(FOLLOW_2); - ruleExpression(); + // InternalScope.g:10830:2: ( rule__MultiplicativeExpression__Group_1__0 )* + loop104: + do { + int alt104=2; + int LA104_0 = input.LA(1); + + if ( ((LA104_0>=25 && LA104_0<=26)) ) { + alt104=1; + } + + + switch (alt104) { + case 1 : + // InternalScope.g:10830:3: rule__MultiplicativeExpression__Group_1__0 + { + pushFollow(FOLLOW_69); + rule__MultiplicativeExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop104; + } + } while (true); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleScopeExpressionAccess().getExprExpressionParserRuleCall_0()); + after(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } } @@ -35098,36 +37394,29 @@ public final void rule__SimpleScopeExpression__ExprAssignment() throws Recogniti } return ; } - // $ANTLR end "rule__SimpleScopeExpression__ExprAssignment" + // $ANTLR end "rule__MultiplicativeExpression__Group__1__Impl" - // $ANTLR start "rule__Naming__NamesAssignment_0_0_1" - // InternalScope.g:10738:1: rule__Naming__NamesAssignment_0_0_1 : ( ruleNamingExpression ) ; - public final void rule__Naming__NamesAssignment_0_0_1() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group_1__0" + // InternalScope.g:10839:1: rule__MultiplicativeExpression__Group_1__0 : rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ; + public final void rule__MultiplicativeExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10742:1: ( ( ruleNamingExpression ) ) - // InternalScope.g:10743:2: ( ruleNamingExpression ) + // InternalScope.g:10843:1: ( rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ) + // InternalScope.g:10844:2: rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 { - // InternalScope.g:10743:2: ( ruleNamingExpression ) - // InternalScope.g:10744:3: ruleNamingExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_0_0_1_0()); - } - pushFollow(FOLLOW_2); - ruleNamingExpression(); + pushFollow(FOLLOW_68); + rule__MultiplicativeExpression__Group_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_0_0_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__Group_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -35143,32 +37432,32 @@ public final void rule__Naming__NamesAssignment_0_0_1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__Naming__NamesAssignment_0_0_1" + // $ANTLR end "rule__MultiplicativeExpression__Group_1__0" - // $ANTLR start "rule__Naming__NamesAssignment_0_0_2_1" - // InternalScope.g:10753:1: rule__Naming__NamesAssignment_0_0_2_1 : ( ruleNamingExpression ) ; - public final void rule__Naming__NamesAssignment_0_0_2_1() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group_1__0__Impl" + // InternalScope.g:10851:1: rule__MultiplicativeExpression__Group_1__0__Impl : ( () ) ; + public final void rule__MultiplicativeExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10757:1: ( ( ruleNamingExpression ) ) - // InternalScope.g:10758:2: ( ruleNamingExpression ) + // InternalScope.g:10855:1: ( ( () ) ) + // InternalScope.g:10856:1: ( () ) { - // InternalScope.g:10758:2: ( ruleNamingExpression ) - // InternalScope.g:10759:3: ruleNamingExpression + // InternalScope.g:10856:1: ( () ) + // InternalScope.g:10857:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_0_0_2_1_0()); + before(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); + } + // InternalScope.g:10858:2: () + // InternalScope.g:10858:3: + { } - pushFollow(FOLLOW_2); - ruleNamingExpression(); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_0_0_2_1_0()); + after(grammarAccess.getMultiplicativeExpressionAccess().getOperationCallParamsAction_1_0()); } } @@ -35177,10 +37466,6 @@ public final void rule__Naming__NamesAssignment_0_0_2_1() throws RecognitionExce } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -35188,36 +37473,29 @@ public final void rule__Naming__NamesAssignment_0_0_2_1() throws RecognitionExce } return ; } - // $ANTLR end "rule__Naming__NamesAssignment_0_0_2_1" + // $ANTLR end "rule__MultiplicativeExpression__Group_1__0__Impl" - // $ANTLR start "rule__Naming__NamesAssignment_1" - // InternalScope.g:10768:1: rule__Naming__NamesAssignment_1 : ( ruleNamingExpression ) ; - public final void rule__Naming__NamesAssignment_1() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group_1__1" + // InternalScope.g:10866:1: rule__MultiplicativeExpression__Group_1__1 : rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ; + public final void rule__MultiplicativeExpression__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10772:1: ( ( ruleNamingExpression ) ) - // InternalScope.g:10773:2: ( ruleNamingExpression ) - { - // InternalScope.g:10773:2: ( ruleNamingExpression ) - // InternalScope.g:10774:3: ruleNamingExpression + // InternalScope.g:10870:1: ( rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ) + // InternalScope.g:10871:2: rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_1_0()); - } - pushFollow(FOLLOW_2); - ruleNamingExpression(); + pushFollow(FOLLOW_57); + rule__MultiplicativeExpression__Group_1__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__Group_1__2(); + state._fsp--; + if (state.failed) return ; } @@ -35233,40 +37511,38 @@ public final void rule__Naming__NamesAssignment_1() throws RecognitionException } return ; } - // $ANTLR end "rule__Naming__NamesAssignment_1" + // $ANTLR end "rule__MultiplicativeExpression__Group_1__1" - // $ANTLR start "rule__NamingExpression__ExportAssignment_0" - // InternalScope.g:10783:1: rule__NamingExpression__ExportAssignment_0 : ( ( 'export' ) ) ; - public final void rule__NamingExpression__ExportAssignment_0() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group_1__1__Impl" + // InternalScope.g:10878:1: rule__MultiplicativeExpression__Group_1__1__Impl : ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) ; + public final void rule__MultiplicativeExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10787:1: ( ( ( 'export' ) ) ) - // InternalScope.g:10788:2: ( ( 'export' ) ) + // InternalScope.g:10882:1: ( ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) ) + // InternalScope.g:10883:1: ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) { - // InternalScope.g:10788:2: ( ( 'export' ) ) - // InternalScope.g:10789:3: ( 'export' ) + // InternalScope.g:10883:1: ( ( rule__MultiplicativeExpression__NameAssignment_1_1 ) ) + // InternalScope.g:10884:2: ( rule__MultiplicativeExpression__NameAssignment_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingExpressionAccess().getExportExportKeyword_0_0()); + before(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); } - // InternalScope.g:10790:3: ( 'export' ) - // InternalScope.g:10791:4: 'export' + // InternalScope.g:10885:2: ( rule__MultiplicativeExpression__NameAssignment_1_1 ) + // InternalScope.g:10885:3: rule__MultiplicativeExpression__NameAssignment_1_1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamingExpressionAccess().getExportExportKeyword_0_0()); - } - match(input,81,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getNamingExpressionAccess().getExportExportKeyword_0_0()); - } + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__NameAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getNamingExpressionAccess().getExportExportKeyword_0_0()); + after(grammarAccess.getMultiplicativeExpressionAccess().getNameAssignment_1_1()); } } @@ -35286,44 +37562,24 @@ public final void rule__NamingExpression__ExportAssignment_0() throws Recognitio } return ; } - // $ANTLR end "rule__NamingExpression__ExportAssignment_0" + // $ANTLR end "rule__MultiplicativeExpression__Group_1__1__Impl" - // $ANTLR start "rule__NamingExpression__FactoryAssignment_1_0" - // InternalScope.g:10802:1: rule__NamingExpression__FactoryAssignment_1_0 : ( ( 'factory' ) ) ; - public final void rule__NamingExpression__FactoryAssignment_1_0() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group_1__2" + // InternalScope.g:10893:1: rule__MultiplicativeExpression__Group_1__2 : rule__MultiplicativeExpression__Group_1__2__Impl ; + public final void rule__MultiplicativeExpression__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10806:1: ( ( ( 'factory' ) ) ) - // InternalScope.g:10807:2: ( ( 'factory' ) ) - { - // InternalScope.g:10807:2: ( ( 'factory' ) ) - // InternalScope.g:10808:3: ( 'factory' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamingExpressionAccess().getFactoryFactoryKeyword_1_0_0()); - } - // InternalScope.g:10809:3: ( 'factory' ) - // InternalScope.g:10810:4: 'factory' + // InternalScope.g:10897:1: ( rule__MultiplicativeExpression__Group_1__2__Impl ) + // InternalScope.g:10898:2: rule__MultiplicativeExpression__Group_1__2__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamingExpressionAccess().getFactoryFactoryKeyword_1_0_0()); - } - match(input,58,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getNamingExpressionAccess().getFactoryFactoryKeyword_1_0_0()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getNamingExpressionAccess().getFactoryFactoryKeyword_1_0_0()); - } - - } + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__Group_1__2__Impl(); + state._fsp--; + if (state.failed) return ; } @@ -35339,32 +37595,38 @@ public final void rule__NamingExpression__FactoryAssignment_1_0() throws Recogni } return ; } - // $ANTLR end "rule__NamingExpression__FactoryAssignment_1_0" + // $ANTLR end "rule__MultiplicativeExpression__Group_1__2" - // $ANTLR start "rule__NamingExpression__ExpressionAssignment_1_1" - // InternalScope.g:10821:1: rule__NamingExpression__ExpressionAssignment_1_1 : ( ruleExpression ) ; - public final void rule__NamingExpression__ExpressionAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group_1__2__Impl" + // InternalScope.g:10904:1: rule__MultiplicativeExpression__Group_1__2__Impl : ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) ; + public final void rule__MultiplicativeExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10825:1: ( ( ruleExpression ) ) - // InternalScope.g:10826:2: ( ruleExpression ) + // InternalScope.g:10908:1: ( ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) ) + // InternalScope.g:10909:1: ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) { - // InternalScope.g:10826:2: ( ruleExpression ) - // InternalScope.g:10827:3: ruleExpression + // InternalScope.g:10909:1: ( ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) ) + // InternalScope.g:10910:2: ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getNamingExpressionAccess().getExpressionExpressionParserRuleCall_1_1_0()); + before(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); } + // InternalScope.g:10911:2: ( rule__MultiplicativeExpression__ParamsAssignment_1_2 ) + // InternalScope.g:10911:3: rule__MultiplicativeExpression__ParamsAssignment_1_2 + { pushFollow(FOLLOW_2); - ruleExpression(); + rule__MultiplicativeExpression__ParamsAssignment_1_2(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getNamingExpressionAccess().getExpressionExpressionParserRuleCall_1_1_0()); + after(grammarAccess.getMultiplicativeExpressionAccess().getParamsAssignment_1_2()); } } @@ -35384,36 +37646,29 @@ public final void rule__NamingExpression__ExpressionAssignment_1_1() throws Reco } return ; } - // $ANTLR end "rule__NamingExpression__ExpressionAssignment_1_1" + // $ANTLR end "rule__MultiplicativeExpression__Group_1__2__Impl" - // $ANTLR start "rule__LetExpression__IdentifierAssignment_1" - // InternalScope.g:10836:1: rule__LetExpression__IdentifierAssignment_1 : ( ruleIdentifier ) ; - public final void rule__LetExpression__IdentifierAssignment_1() throws RecognitionException { + // $ANTLR start "rule__UnaryExpression__Group__0" + // InternalScope.g:10920:1: rule__UnaryExpression__Group__0 : rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 ; + public final void rule__UnaryExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10840:1: ( ( ruleIdentifier ) ) - // InternalScope.g:10841:2: ( ruleIdentifier ) + // InternalScope.g:10924:1: ( rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 ) + // InternalScope.g:10925:2: rule__UnaryExpression__Group__0__Impl rule__UnaryExpression__Group__1 { - // InternalScope.g:10841:2: ( ruleIdentifier ) - // InternalScope.g:10842:3: ruleIdentifier - { - if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); - } - pushFollow(FOLLOW_2); - ruleIdentifier(); + pushFollow(FOLLOW_57); + rule__UnaryExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__UnaryExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -35429,32 +37684,38 @@ public final void rule__LetExpression__IdentifierAssignment_1() throws Recogniti } return ; } - // $ANTLR end "rule__LetExpression__IdentifierAssignment_1" + // $ANTLR end "rule__UnaryExpression__Group__0" - // $ANTLR start "rule__LetExpression__VarExprAssignment_3" - // InternalScope.g:10851:1: rule__LetExpression__VarExprAssignment_3 : ( ruleExpression ) ; - public final void rule__LetExpression__VarExprAssignment_3() throws RecognitionException { + // $ANTLR start "rule__UnaryExpression__Group__0__Impl" + // InternalScope.g:10932:1: rule__UnaryExpression__Group__0__Impl : ( ( rule__UnaryExpression__NameAssignment_0 ) ) ; + public final void rule__UnaryExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10855:1: ( ( ruleExpression ) ) - // InternalScope.g:10856:2: ( ruleExpression ) + // InternalScope.g:10936:1: ( ( ( rule__UnaryExpression__NameAssignment_0 ) ) ) + // InternalScope.g:10937:1: ( ( rule__UnaryExpression__NameAssignment_0 ) ) { - // InternalScope.g:10856:2: ( ruleExpression ) - // InternalScope.g:10857:3: ruleExpression + // InternalScope.g:10937:1: ( ( rule__UnaryExpression__NameAssignment_0 ) ) + // InternalScope.g:10938:2: ( rule__UnaryExpression__NameAssignment_0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); + before(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); } + // InternalScope.g:10939:2: ( rule__UnaryExpression__NameAssignment_0 ) + // InternalScope.g:10939:3: rule__UnaryExpression__NameAssignment_0 + { pushFollow(FOLLOW_2); - ruleExpression(); + rule__UnaryExpression__NameAssignment_0(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); + after(grammarAccess.getUnaryExpressionAccess().getNameAssignment_0()); } } @@ -35474,36 +37735,24 @@ public final void rule__LetExpression__VarExprAssignment_3() throws RecognitionE } return ; } - // $ANTLR end "rule__LetExpression__VarExprAssignment_3" + // $ANTLR end "rule__UnaryExpression__Group__0__Impl" - // $ANTLR start "rule__LetExpression__TargetAssignment_5" - // InternalScope.g:10866:1: rule__LetExpression__TargetAssignment_5 : ( ruleExpression ) ; - public final void rule__LetExpression__TargetAssignment_5() throws RecognitionException { + // $ANTLR start "rule__UnaryExpression__Group__1" + // InternalScope.g:10947:1: rule__UnaryExpression__Group__1 : rule__UnaryExpression__Group__1__Impl ; + public final void rule__UnaryExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10870:1: ( ( ruleExpression ) ) - // InternalScope.g:10871:2: ( ruleExpression ) - { - // InternalScope.g:10871:2: ( ruleExpression ) - // InternalScope.g:10872:3: ruleExpression + // InternalScope.g:10951:1: ( rule__UnaryExpression__Group__1__Impl ) + // InternalScope.g:10952:2: rule__UnaryExpression__Group__1__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); - } pushFollow(FOLLOW_2); - ruleExpression(); + rule__UnaryExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); - } - - } - } @@ -35519,32 +37768,38 @@ public final void rule__LetExpression__TargetAssignment_5() throws RecognitionEx } return ; } - // $ANTLR end "rule__LetExpression__TargetAssignment_5" + // $ANTLR end "rule__UnaryExpression__Group__1" - // $ANTLR start "rule__CastedExpression__TypeAssignment_1" - // InternalScope.g:10881:1: rule__CastedExpression__TypeAssignment_1 : ( ruleType ) ; - public final void rule__CastedExpression__TypeAssignment_1() throws RecognitionException { + // $ANTLR start "rule__UnaryExpression__Group__1__Impl" + // InternalScope.g:10958:1: rule__UnaryExpression__Group__1__Impl : ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) ; + public final void rule__UnaryExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10885:1: ( ( ruleType ) ) - // InternalScope.g:10886:2: ( ruleType ) + // InternalScope.g:10962:1: ( ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) ) + // InternalScope.g:10963:1: ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) { - // InternalScope.g:10886:2: ( ruleType ) - // InternalScope.g:10887:3: ruleType + // InternalScope.g:10963:1: ( ( rule__UnaryExpression__ParamsAssignment_1 ) ) + // InternalScope.g:10964:2: ( rule__UnaryExpression__ParamsAssignment_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); + before(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); } + // InternalScope.g:10965:2: ( rule__UnaryExpression__ParamsAssignment_1 ) + // InternalScope.g:10965:3: rule__UnaryExpression__ParamsAssignment_1 + { pushFollow(FOLLOW_2); - ruleType(); + rule__UnaryExpression__ParamsAssignment_1(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); + after(grammarAccess.getUnaryExpressionAccess().getParamsAssignment_1()); } } @@ -35564,36 +37819,29 @@ public final void rule__CastedExpression__TypeAssignment_1() throws RecognitionE } return ; } - // $ANTLR end "rule__CastedExpression__TypeAssignment_1" + // $ANTLR end "rule__UnaryExpression__Group__1__Impl" - // $ANTLR start "rule__CastedExpression__TargetAssignment_3" - // InternalScope.g:10896:1: rule__CastedExpression__TargetAssignment_3 : ( ruleExpression ) ; - public final void rule__CastedExpression__TargetAssignment_3() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group__0" + // InternalScope.g:10974:1: rule__InfixExpression__Group__0 : rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 ; + public final void rule__InfixExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10900:1: ( ( ruleExpression ) ) - // InternalScope.g:10901:2: ( ruleExpression ) - { - // InternalScope.g:10901:2: ( ruleExpression ) - // InternalScope.g:10902:3: ruleExpression + // InternalScope.g:10978:1: ( rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 ) + // InternalScope.g:10979:2: rule__InfixExpression__Group__0__Impl rule__InfixExpression__Group__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); + pushFollow(FOLLOW_45); + rule__InfixExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); - } - - } + pushFollow(FOLLOW_2); + rule__InfixExpression__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -35609,32 +37857,32 @@ public final void rule__CastedExpression__TargetAssignment_3() throws Recognitio } return ; } - // $ANTLR end "rule__CastedExpression__TargetAssignment_3" + // $ANTLR end "rule__InfixExpression__Group__0" - // $ANTLR start "rule__ChainExpression__NextAssignment_1_2" - // InternalScope.g:10911:1: rule__ChainExpression__NextAssignment_1_2 : ( ruleChainedExpression ) ; - public final void rule__ChainExpression__NextAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group__0__Impl" + // InternalScope.g:10986:1: rule__InfixExpression__Group__0__Impl : ( rulePrimaryExpression ) ; + public final void rule__InfixExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10915:1: ( ( ruleChainedExpression ) ) - // InternalScope.g:10916:2: ( ruleChainedExpression ) + // InternalScope.g:10990:1: ( ( rulePrimaryExpression ) ) + // InternalScope.g:10991:1: ( rulePrimaryExpression ) { - // InternalScope.g:10916:2: ( ruleChainedExpression ) - // InternalScope.g:10917:3: ruleChainedExpression + // InternalScope.g:10991:1: ( rulePrimaryExpression ) + // InternalScope.g:10992:2: rulePrimaryExpression { if ( state.backtracking==0 ) { - before(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); + before(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); } pushFollow(FOLLOW_2); - ruleChainedExpression(); + rulePrimaryExpression(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); + after(grammarAccess.getInfixExpressionAccess().getPrimaryExpressionParserRuleCall_0()); } } @@ -35654,36 +37902,24 @@ public final void rule__ChainExpression__NextAssignment_1_2() throws Recognition } return ; } - // $ANTLR end "rule__ChainExpression__NextAssignment_1_2" + // $ANTLR end "rule__InfixExpression__Group__0__Impl" - // $ANTLR start "rule__IfExpressionTri__ThenPartAssignment_1_2" - // InternalScope.g:10926:1: rule__IfExpressionTri__ThenPartAssignment_1_2 : ( ruleChainedExpression ) ; - public final void rule__IfExpressionTri__ThenPartAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group__1" + // InternalScope.g:11001:1: rule__InfixExpression__Group__1 : rule__InfixExpression__Group__1__Impl ; + public final void rule__InfixExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10930:1: ( ( ruleChainedExpression ) ) - // InternalScope.g:10931:2: ( ruleChainedExpression ) + // InternalScope.g:11005:1: ( rule__InfixExpression__Group__1__Impl ) + // InternalScope.g:11006:2: rule__InfixExpression__Group__1__Impl { - // InternalScope.g:10931:2: ( ruleChainedExpression ) - // InternalScope.g:10932:3: ruleChainedExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); - } pushFollow(FOLLOW_2); - ruleChainedExpression(); + rule__InfixExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); - } - - } - } @@ -35699,77 +37935,56 @@ public final void rule__IfExpressionTri__ThenPartAssignment_1_2() throws Recogni } return ; } - // $ANTLR end "rule__IfExpressionTri__ThenPartAssignment_1_2" + // $ANTLR end "rule__InfixExpression__Group__1" - // $ANTLR start "rule__IfExpressionTri__ElsePartAssignment_1_4" - // InternalScope.g:10941:1: rule__IfExpressionTri__ElsePartAssignment_1_4 : ( ruleChainedExpression ) ; - public final void rule__IfExpressionTri__ElsePartAssignment_1_4() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group__1__Impl" + // InternalScope.g:11012:1: rule__InfixExpression__Group__1__Impl : ( ( rule__InfixExpression__Alternatives_1 )* ) ; + public final void rule__InfixExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10945:1: ( ( ruleChainedExpression ) ) - // InternalScope.g:10946:2: ( ruleChainedExpression ) + // InternalScope.g:11016:1: ( ( ( rule__InfixExpression__Alternatives_1 )* ) ) + // InternalScope.g:11017:1: ( ( rule__InfixExpression__Alternatives_1 )* ) { - // InternalScope.g:10946:2: ( ruleChainedExpression ) - // InternalScope.g:10947:3: ruleChainedExpression + // InternalScope.g:11017:1: ( ( rule__InfixExpression__Alternatives_1 )* ) + // InternalScope.g:11018:2: ( rule__InfixExpression__Alternatives_1 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); - } - pushFollow(FOLLOW_2); - ruleChainedExpression(); - - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); - } - - } - - + before(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); } + // InternalScope.g:11019:2: ( rule__InfixExpression__Alternatives_1 )* + loop105: + do { + int alt105=2; + int LA105_0 = input.LA(1); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + if ( (LA105_0==58) ) { + alt105=1; + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__IfExpressionTri__ElsePartAssignment_1_4" + switch (alt105) { + case 1 : + // InternalScope.g:11019:3: rule__InfixExpression__Alternatives_1 + { + pushFollow(FOLLOW_46); + rule__InfixExpression__Alternatives_1(); + state._fsp--; + if (state.failed) return ; - // $ANTLR start "rule__IfExpressionKw__ConditionAssignment_1" - // InternalScope.g:10956:1: rule__IfExpressionKw__ConditionAssignment_1 : ( ruleChainedExpression ) ; - public final void rule__IfExpressionKw__ConditionAssignment_1() throws RecognitionException { + } + break; - int stackSize = keepStackSize(); - - try { - // InternalScope.g:10960:1: ( ( ruleChainedExpression ) ) - // InternalScope.g:10961:2: ( ruleChainedExpression ) - { - // InternalScope.g:10961:2: ( ruleChainedExpression ) - // InternalScope.g:10962:3: ruleChainedExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); - } - pushFollow(FOLLOW_2); - ruleChainedExpression(); + default : + break loop105; + } + } while (true); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); + after(grammarAccess.getInfixExpressionAccess().getAlternatives_1()); } } @@ -35789,36 +38004,29 @@ public final void rule__IfExpressionKw__ConditionAssignment_1() throws Recogniti } return ; } - // $ANTLR end "rule__IfExpressionKw__ConditionAssignment_1" + // $ANTLR end "rule__InfixExpression__Group__1__Impl" - // $ANTLR start "rule__IfExpressionKw__ThenPartAssignment_3" - // InternalScope.g:10971:1: rule__IfExpressionKw__ThenPartAssignment_3 : ( ruleChainedExpression ) ; - public final void rule__IfExpressionKw__ThenPartAssignment_3() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0__0" + // InternalScope.g:11028:1: rule__InfixExpression__Group_1_0__0 : rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 ; + public final void rule__InfixExpression__Group_1_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10975:1: ( ( ruleChainedExpression ) ) - // InternalScope.g:10976:2: ( ruleChainedExpression ) - { - // InternalScope.g:10976:2: ( ruleChainedExpression ) - // InternalScope.g:10977:3: ruleChainedExpression + // InternalScope.g:11032:1: ( rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 ) + // InternalScope.g:11033:2: rule__InfixExpression__Group_1_0__0__Impl rule__InfixExpression__Group_1_0__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); - } - pushFollow(FOLLOW_2); - ruleChainedExpression(); + pushFollow(FOLLOW_45); + rule__InfixExpression__Group_1_0__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); - } - - } + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__1(); + state._fsp--; + if (state.failed) return ; } @@ -35834,32 +38042,32 @@ public final void rule__IfExpressionKw__ThenPartAssignment_3() throws Recognitio } return ; } - // $ANTLR end "rule__IfExpressionKw__ThenPartAssignment_3" + // $ANTLR end "rule__InfixExpression__Group_1_0__0" - // $ANTLR start "rule__IfExpressionKw__ElsePartAssignment_4_0_1" - // InternalScope.g:10986:1: rule__IfExpressionKw__ElsePartAssignment_4_0_1 : ( ruleChainedExpression ) ; - public final void rule__IfExpressionKw__ElsePartAssignment_4_0_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0__0__Impl" + // InternalScope.g:11040:1: rule__InfixExpression__Group_1_0__0__Impl : ( () ) ; + public final void rule__InfixExpression__Group_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:10990:1: ( ( ruleChainedExpression ) ) - // InternalScope.g:10991:2: ( ruleChainedExpression ) + // InternalScope.g:11044:1: ( ( () ) ) + // InternalScope.g:11045:1: ( () ) { - // InternalScope.g:10991:2: ( ruleChainedExpression ) - // InternalScope.g:10992:3: ruleChainedExpression + // InternalScope.g:11045:1: ( () ) + // InternalScope.g:11046:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); + before(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); + } + // InternalScope.g:11047:2: () + // InternalScope.g:11047:3: + { } - pushFollow(FOLLOW_2); - ruleChainedExpression(); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); + after(grammarAccess.getInfixExpressionAccess().getOperationCallTargetAction_1_0_0()); } } @@ -35868,10 +38076,6 @@ public final void rule__IfExpressionKw__ElsePartAssignment_4_0_1() throws Recogn } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -35879,36 +38083,29 @@ public final void rule__IfExpressionKw__ElsePartAssignment_4_0_1() throws Recogn } return ; } - // $ANTLR end "rule__IfExpressionKw__ElsePartAssignment_4_0_1" + // $ANTLR end "rule__InfixExpression__Group_1_0__0__Impl" - // $ANTLR start "rule__SwitchExpression__SwitchExprAssignment_1_1" - // InternalScope.g:11001:1: rule__SwitchExpression__SwitchExprAssignment_1_1 : ( ruleOrExpression ) ; - public final void rule__SwitchExpression__SwitchExprAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0__1" + // InternalScope.g:11055:1: rule__InfixExpression__Group_1_0__1 : rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 ; + public final void rule__InfixExpression__Group_1_0__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11005:1: ( ( ruleOrExpression ) ) - // InternalScope.g:11006:2: ( ruleOrExpression ) + // InternalScope.g:11059:1: ( rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 ) + // InternalScope.g:11060:2: rule__InfixExpression__Group_1_0__1__Impl rule__InfixExpression__Group_1_0__2 { - // InternalScope.g:11006:2: ( ruleOrExpression ) - // InternalScope.g:11007:3: ruleOrExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); - } - pushFollow(FOLLOW_2); - ruleOrExpression(); + pushFollow(FOLLOW_4); + rule__InfixExpression__Group_1_0__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__2(); + state._fsp--; + if (state.failed) return ; } @@ -35924,32 +38121,28 @@ public final void rule__SwitchExpression__SwitchExprAssignment_1_1() throws Reco } return ; } - // $ANTLR end "rule__SwitchExpression__SwitchExprAssignment_1_1" + // $ANTLR end "rule__InfixExpression__Group_1_0__1" - // $ANTLR start "rule__SwitchExpression__CaseAssignment_3" - // InternalScope.g:11016:1: rule__SwitchExpression__CaseAssignment_3 : ( ruleCase ) ; - public final void rule__SwitchExpression__CaseAssignment_3() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0__1__Impl" + // InternalScope.g:11067:1: rule__InfixExpression__Group_1_0__1__Impl : ( '.' ) ; + public final void rule__InfixExpression__Group_1_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11020:1: ( ( ruleCase ) ) - // InternalScope.g:11021:2: ( ruleCase ) + // InternalScope.g:11071:1: ( ( '.' ) ) + // InternalScope.g:11072:1: ( '.' ) { - // InternalScope.g:11021:2: ( ruleCase ) - // InternalScope.g:11022:3: ruleCase + // InternalScope.g:11072:1: ( '.' ) + // InternalScope.g:11073:2: '.' { if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); + before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); } - pushFollow(FOLLOW_2); - ruleCase(); - - state._fsp--; - if (state.failed) return ; + match(input,58,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); + after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); } } @@ -35969,36 +38162,29 @@ public final void rule__SwitchExpression__CaseAssignment_3() throws RecognitionE } return ; } - // $ANTLR end "rule__SwitchExpression__CaseAssignment_3" + // $ANTLR end "rule__InfixExpression__Group_1_0__1__Impl" - // $ANTLR start "rule__SwitchExpression__DefaultExprAssignment_6" - // InternalScope.g:11031:1: rule__SwitchExpression__DefaultExprAssignment_6 : ( ruleOrExpression ) ; - public final void rule__SwitchExpression__DefaultExprAssignment_6() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0__2" + // InternalScope.g:11082:1: rule__InfixExpression__Group_1_0__2 : rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 ; + public final void rule__InfixExpression__Group_1_0__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11035:1: ( ( ruleOrExpression ) ) - // InternalScope.g:11036:2: ( ruleOrExpression ) - { - // InternalScope.g:11036:2: ( ruleOrExpression ) - // InternalScope.g:11037:3: ruleOrExpression + // InternalScope.g:11086:1: ( rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 ) + // InternalScope.g:11087:2: rule__InfixExpression__Group_1_0__2__Impl rule__InfixExpression__Group_1_0__3 { - if ( state.backtracking==0 ) { - before(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); - } - pushFollow(FOLLOW_2); - ruleOrExpression(); + pushFollow(FOLLOW_31); + rule__InfixExpression__Group_1_0__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); - } - - } + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__3(); + state._fsp--; + if (state.failed) return ; } @@ -36014,32 +38200,38 @@ public final void rule__SwitchExpression__DefaultExprAssignment_6() throws Recog } return ; } - // $ANTLR end "rule__SwitchExpression__DefaultExprAssignment_6" + // $ANTLR end "rule__InfixExpression__Group_1_0__2" - // $ANTLR start "rule__Case__ConditionAssignment_1" - // InternalScope.g:11046:1: rule__Case__ConditionAssignment_1 : ( ruleOrExpression ) ; - public final void rule__Case__ConditionAssignment_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0__2__Impl" + // InternalScope.g:11094:1: rule__InfixExpression__Group_1_0__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) ; + public final void rule__InfixExpression__Group_1_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11050:1: ( ( ruleOrExpression ) ) - // InternalScope.g:11051:2: ( ruleOrExpression ) + // InternalScope.g:11098:1: ( ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) ) + // InternalScope.g:11099:1: ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) { - // InternalScope.g:11051:2: ( ruleOrExpression ) - // InternalScope.g:11052:3: ruleOrExpression + // InternalScope.g:11099:1: ( ( rule__InfixExpression__NameAssignment_1_0_2 ) ) + // InternalScope.g:11100:2: ( rule__InfixExpression__NameAssignment_1_0_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); + before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); } + // InternalScope.g:11101:2: ( rule__InfixExpression__NameAssignment_1_0_2 ) + // InternalScope.g:11101:3: rule__InfixExpression__NameAssignment_1_0_2 + { pushFollow(FOLLOW_2); - ruleOrExpression(); + rule__InfixExpression__NameAssignment_1_0_2(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); + after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_0_2()); } } @@ -36059,36 +38251,29 @@ public final void rule__Case__ConditionAssignment_1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__Case__ConditionAssignment_1" + // $ANTLR end "rule__InfixExpression__Group_1_0__2__Impl" - // $ANTLR start "rule__Case__ThenParAssignment_3" - // InternalScope.g:11061:1: rule__Case__ThenParAssignment_3 : ( ruleOrExpression ) ; - public final void rule__Case__ThenParAssignment_3() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0__3" + // InternalScope.g:11109:1: rule__InfixExpression__Group_1_0__3 : rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 ; + public final void rule__InfixExpression__Group_1_0__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11065:1: ( ( ruleOrExpression ) ) - // InternalScope.g:11066:2: ( ruleOrExpression ) + // InternalScope.g:11113:1: ( rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 ) + // InternalScope.g:11114:2: rule__InfixExpression__Group_1_0__3__Impl rule__InfixExpression__Group_1_0__4 { - // InternalScope.g:11066:2: ( ruleOrExpression ) - // InternalScope.g:11067:3: ruleOrExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); - } - pushFollow(FOLLOW_2); - ruleOrExpression(); + pushFollow(FOLLOW_70); + rule__InfixExpression__Group_1_0__3__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); - } - - } + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__4(); + state._fsp--; + if (state.failed) return ; } @@ -36104,40 +38289,28 @@ public final void rule__Case__ThenParAssignment_3() throws RecognitionException } return ; } - // $ANTLR end "rule__Case__ThenParAssignment_3" + // $ANTLR end "rule__InfixExpression__Group_1_0__3" - // $ANTLR start "rule__OrExpression__OperatorAssignment_1_1" - // InternalScope.g:11076:1: rule__OrExpression__OperatorAssignment_1_1 : ( ( '||' ) ) ; - public final void rule__OrExpression__OperatorAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0__3__Impl" + // InternalScope.g:11121:1: rule__InfixExpression__Group_1_0__3__Impl : ( '(' ) ; + public final void rule__InfixExpression__Group_1_0__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11080:1: ( ( ( '||' ) ) ) - // InternalScope.g:11081:2: ( ( '||' ) ) - { - // InternalScope.g:11081:2: ( ( '||' ) ) - // InternalScope.g:11082:3: ( '||' ) + // InternalScope.g:11125:1: ( ( '(' ) ) + // InternalScope.g:11126:1: ( '(' ) { - if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); - } - // InternalScope.g:11083:3: ( '||' ) - // InternalScope.g:11084:4: '||' + // InternalScope.g:11126:1: ( '(' ) + // InternalScope.g:11127:2: '(' { if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); - } - match(input,82,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); - } - + before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); } - + match(input,77,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); + after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); } } @@ -36157,36 +38330,29 @@ public final void rule__OrExpression__OperatorAssignment_1_1() throws Recognitio } return ; } - // $ANTLR end "rule__OrExpression__OperatorAssignment_1_1" + // $ANTLR end "rule__InfixExpression__Group_1_0__3__Impl" - // $ANTLR start "rule__OrExpression__RightAssignment_1_2" - // InternalScope.g:11095:1: rule__OrExpression__RightAssignment_1_2 : ( ruleAndExpression ) ; - public final void rule__OrExpression__RightAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0__4" + // InternalScope.g:11136:1: rule__InfixExpression__Group_1_0__4 : rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 ; + public final void rule__InfixExpression__Group_1_0__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11099:1: ( ( ruleAndExpression ) ) - // InternalScope.g:11100:2: ( ruleAndExpression ) - { - // InternalScope.g:11100:2: ( ruleAndExpression ) - // InternalScope.g:11101:3: ruleAndExpression + // InternalScope.g:11140:1: ( rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 ) + // InternalScope.g:11141:2: rule__InfixExpression__Group_1_0__4__Impl rule__InfixExpression__Group_1_0__5 { - if ( state.backtracking==0 ) { - before(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); - } - pushFollow(FOLLOW_2); - ruleAndExpression(); + pushFollow(FOLLOW_70); + rule__InfixExpression__Group_1_0__4__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); - } - - } + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0__5(); + state._fsp--; + if (state.failed) return ; } @@ -36202,40 +38368,49 @@ public final void rule__OrExpression__RightAssignment_1_2() throws RecognitionEx } return ; } - // $ANTLR end "rule__OrExpression__RightAssignment_1_2" + // $ANTLR end "rule__InfixExpression__Group_1_0__4" - // $ANTLR start "rule__AndExpression__OperatorAssignment_1_1" - // InternalScope.g:11110:1: rule__AndExpression__OperatorAssignment_1_1 : ( ( '&&' ) ) ; - public final void rule__AndExpression__OperatorAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0__4__Impl" + // InternalScope.g:11148:1: rule__InfixExpression__Group_1_0__4__Impl : ( ( rule__InfixExpression__Group_1_0_4__0 )? ) ; + public final void rule__InfixExpression__Group_1_0__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11114:1: ( ( ( '&&' ) ) ) - // InternalScope.g:11115:2: ( ( '&&' ) ) + // InternalScope.g:11152:1: ( ( ( rule__InfixExpression__Group_1_0_4__0 )? ) ) + // InternalScope.g:11153:1: ( ( rule__InfixExpression__Group_1_0_4__0 )? ) { - // InternalScope.g:11115:2: ( ( '&&' ) ) - // InternalScope.g:11116:3: ( '&&' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); - } - // InternalScope.g:11117:3: ( '&&' ) - // InternalScope.g:11118:4: '&&' + // InternalScope.g:11153:1: ( ( rule__InfixExpression__Group_1_0_4__0 )? ) + // InternalScope.g:11154:2: ( rule__InfixExpression__Group_1_0_4__0 )? { if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); } - match(input,83,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + // InternalScope.g:11155:2: ( rule__InfixExpression__Group_1_0_4__0 )? + int alt106=2; + int LA106_0 = input.LA(1); + + if ( (LA106_0==RULE_ID||LA106_0==RULE_INT||(LA106_0>=RULE_STRING && LA106_0<=RULE_REAL)||LA106_0==24||(LA106_0>=27 && LA106_0<=40)||LA106_0==72||LA106_0==77||LA106_0==94||LA106_0==97||LA106_0==100||(LA106_0>=102 && LA106_0<=103)||LA106_0==108||LA106_0==120) ) { + alt106=1; } + switch (alt106) { + case 1 : + // InternalScope.g:11155:3: rule__InfixExpression__Group_1_0_4__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; } if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4()); } } @@ -36255,36 +38430,24 @@ public final void rule__AndExpression__OperatorAssignment_1_1() throws Recogniti } return ; } - // $ANTLR end "rule__AndExpression__OperatorAssignment_1_1" + // $ANTLR end "rule__InfixExpression__Group_1_0__4__Impl" - // $ANTLR start "rule__AndExpression__RightAssignment_1_2" - // InternalScope.g:11129:1: rule__AndExpression__RightAssignment_1_2 : ( ruleImpliesExpression ) ; - public final void rule__AndExpression__RightAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0__5" + // InternalScope.g:11163:1: rule__InfixExpression__Group_1_0__5 : rule__InfixExpression__Group_1_0__5__Impl ; + public final void rule__InfixExpression__Group_1_0__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11133:1: ( ( ruleImpliesExpression ) ) - // InternalScope.g:11134:2: ( ruleImpliesExpression ) + // InternalScope.g:11167:1: ( rule__InfixExpression__Group_1_0__5__Impl ) + // InternalScope.g:11168:2: rule__InfixExpression__Group_1_0__5__Impl { - // InternalScope.g:11134:2: ( ruleImpliesExpression ) - // InternalScope.g:11135:3: ruleImpliesExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); - } pushFollow(FOLLOW_2); - ruleImpliesExpression(); + rule__InfixExpression__Group_1_0__5__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); - } - - } - } @@ -36300,40 +38463,28 @@ public final void rule__AndExpression__RightAssignment_1_2() throws RecognitionE } return ; } - // $ANTLR end "rule__AndExpression__RightAssignment_1_2" + // $ANTLR end "rule__InfixExpression__Group_1_0__5" - // $ANTLR start "rule__ImpliesExpression__OperatorAssignment_1_1" - // InternalScope.g:11144:1: rule__ImpliesExpression__OperatorAssignment_1_1 : ( ( 'implies' ) ) ; - public final void rule__ImpliesExpression__OperatorAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0__5__Impl" + // InternalScope.g:11174:1: rule__InfixExpression__Group_1_0__5__Impl : ( ')' ) ; + public final void rule__InfixExpression__Group_1_0__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11148:1: ( ( ( 'implies' ) ) ) - // InternalScope.g:11149:2: ( ( 'implies' ) ) + // InternalScope.g:11178:1: ( ( ')' ) ) + // InternalScope.g:11179:1: ( ')' ) { - // InternalScope.g:11149:2: ( ( 'implies' ) ) - // InternalScope.g:11150:3: ( 'implies' ) + // InternalScope.g:11179:1: ( ')' ) + // InternalScope.g:11180:2: ')' { if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); - } - // InternalScope.g:11151:3: ( 'implies' ) - // InternalScope.g:11152:4: 'implies' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); - } - match(input,84,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); - } - + before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); } - + match(input,78,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); + after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); } } @@ -36353,36 +38504,29 @@ public final void rule__ImpliesExpression__OperatorAssignment_1_1() throws Recog } return ; } - // $ANTLR end "rule__ImpliesExpression__OperatorAssignment_1_1" + // $ANTLR end "rule__InfixExpression__Group_1_0__5__Impl" - // $ANTLR start "rule__ImpliesExpression__RightAssignment_1_2" - // InternalScope.g:11163:1: rule__ImpliesExpression__RightAssignment_1_2 : ( ruleRelationalExpression ) ; - public final void rule__ImpliesExpression__RightAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0_4__0" + // InternalScope.g:11190:1: rule__InfixExpression__Group_1_0_4__0 : rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 ; + public final void rule__InfixExpression__Group_1_0_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11167:1: ( ( ruleRelationalExpression ) ) - // InternalScope.g:11168:2: ( ruleRelationalExpression ) + // InternalScope.g:11194:1: ( rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 ) + // InternalScope.g:11195:2: rule__InfixExpression__Group_1_0_4__0__Impl rule__InfixExpression__Group_1_0_4__1 { - // InternalScope.g:11168:2: ( ruleRelationalExpression ) - // InternalScope.g:11169:3: ruleRelationalExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); - } - pushFollow(FOLLOW_2); - ruleRelationalExpression(); + pushFollow(FOLLOW_71); + rule__InfixExpression__Group_1_0_4__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); - } - - } + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0_4__1(); + state._fsp--; + if (state.failed) return ; } @@ -36398,30 +38542,30 @@ public final void rule__ImpliesExpression__RightAssignment_1_2() throws Recognit } return ; } - // $ANTLR end "rule__ImpliesExpression__RightAssignment_1_2" + // $ANTLR end "rule__InfixExpression__Group_1_0_4__0" - // $ANTLR start "rule__RelationalExpression__OperatorAssignment_1_1" - // InternalScope.g:11178:1: rule__RelationalExpression__OperatorAssignment_1_1 : ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) ; - public final void rule__RelationalExpression__OperatorAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0_4__0__Impl" + // InternalScope.g:11202:1: rule__InfixExpression__Group_1_0_4__0__Impl : ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) ; + public final void rule__InfixExpression__Group_1_0_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11182:1: ( ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) ) - // InternalScope.g:11183:2: ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) + // InternalScope.g:11206:1: ( ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) ) + // InternalScope.g:11207:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) { - // InternalScope.g:11183:2: ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) - // InternalScope.g:11184:3: ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) + // InternalScope.g:11207:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) ) + // InternalScope.g:11208:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); + before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); } - // InternalScope.g:11185:3: ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) - // InternalScope.g:11185:4: rule__RelationalExpression__OperatorAlternatives_1_1_0 + // InternalScope.g:11209:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_0 ) + // InternalScope.g:11209:3: rule__InfixExpression__ParamsAssignment_1_0_4_0 { pushFollow(FOLLOW_2); - rule__RelationalExpression__OperatorAlternatives_1_1_0(); + rule__InfixExpression__ParamsAssignment_1_0_4_0(); state._fsp--; if (state.failed) return ; @@ -36429,7 +38573,7 @@ public final void rule__RelationalExpression__OperatorAssignment_1_1() throws Re } if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); + after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_0()); } } @@ -36449,36 +38593,24 @@ public final void rule__RelationalExpression__OperatorAssignment_1_1() throws Re } return ; } - // $ANTLR end "rule__RelationalExpression__OperatorAssignment_1_1" + // $ANTLR end "rule__InfixExpression__Group_1_0_4__0__Impl" - // $ANTLR start "rule__RelationalExpression__RightAssignment_1_2" - // InternalScope.g:11193:1: rule__RelationalExpression__RightAssignment_1_2 : ( ruleAdditiveExpression ) ; - public final void rule__RelationalExpression__RightAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0_4__1" + // InternalScope.g:11217:1: rule__InfixExpression__Group_1_0_4__1 : rule__InfixExpression__Group_1_0_4__1__Impl ; + public final void rule__InfixExpression__Group_1_0_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11197:1: ( ( ruleAdditiveExpression ) ) - // InternalScope.g:11198:2: ( ruleAdditiveExpression ) - { - // InternalScope.g:11198:2: ( ruleAdditiveExpression ) - // InternalScope.g:11199:3: ruleAdditiveExpression + // InternalScope.g:11221:1: ( rule__InfixExpression__Group_1_0_4__1__Impl ) + // InternalScope.g:11222:2: rule__InfixExpression__Group_1_0_4__1__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); - } pushFollow(FOLLOW_2); - ruleAdditiveExpression(); + rule__InfixExpression__Group_1_0_4__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); - } - - } - } @@ -36494,38 +38626,56 @@ public final void rule__RelationalExpression__RightAssignment_1_2() throws Recog } return ; } - // $ANTLR end "rule__RelationalExpression__RightAssignment_1_2" + // $ANTLR end "rule__InfixExpression__Group_1_0_4__1" - // $ANTLR start "rule__AdditiveExpression__NameAssignment_1_1" - // InternalScope.g:11208:1: rule__AdditiveExpression__NameAssignment_1_1 : ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) ; - public final void rule__AdditiveExpression__NameAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0_4__1__Impl" + // InternalScope.g:11228:1: rule__InfixExpression__Group_1_0_4__1__Impl : ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) ; + public final void rule__InfixExpression__Group_1_0_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11212:1: ( ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) ) - // InternalScope.g:11213:2: ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) + // InternalScope.g:11232:1: ( ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) ) + // InternalScope.g:11233:1: ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) { - // InternalScope.g:11213:2: ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) - // InternalScope.g:11214:3: ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) + // InternalScope.g:11233:1: ( ( rule__InfixExpression__Group_1_0_4_1__0 )* ) + // InternalScope.g:11234:2: ( rule__InfixExpression__Group_1_0_4_1__0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); + before(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); } - // InternalScope.g:11215:3: ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) - // InternalScope.g:11215:4: rule__AdditiveExpression__NameAlternatives_1_1_0 - { - pushFollow(FOLLOW_2); - rule__AdditiveExpression__NameAlternatives_1_1_0(); + // InternalScope.g:11235:2: ( rule__InfixExpression__Group_1_0_4_1__0 )* + loop107: + do { + int alt107=2; + int LA107_0 = input.LA(1); - state._fsp--; - if (state.failed) return ; + if ( (LA107_0==86) ) { + alt107=1; + } - } + + switch (alt107) { + case 1 : + // InternalScope.g:11235:3: rule__InfixExpression__Group_1_0_4_1__0 + { + pushFollow(FOLLOW_39); + rule__InfixExpression__Group_1_0_4_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop107; + } + } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); + after(grammarAccess.getInfixExpressionAccess().getGroup_1_0_4_1()); } } @@ -36545,36 +38695,29 @@ public final void rule__AdditiveExpression__NameAssignment_1_1() throws Recognit } return ; } - // $ANTLR end "rule__AdditiveExpression__NameAssignment_1_1" + // $ANTLR end "rule__InfixExpression__Group_1_0_4__1__Impl" - // $ANTLR start "rule__AdditiveExpression__ParamsAssignment_1_2" - // InternalScope.g:11223:1: rule__AdditiveExpression__ParamsAssignment_1_2 : ( ruleMultiplicativeExpression ) ; - public final void rule__AdditiveExpression__ParamsAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__0" + // InternalScope.g:11244:1: rule__InfixExpression__Group_1_0_4_1__0 : rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 ; + public final void rule__InfixExpression__Group_1_0_4_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11227:1: ( ( ruleMultiplicativeExpression ) ) - // InternalScope.g:11228:2: ( ruleMultiplicativeExpression ) + // InternalScope.g:11248:1: ( rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 ) + // InternalScope.g:11249:2: rule__InfixExpression__Group_1_0_4_1__0__Impl rule__InfixExpression__Group_1_0_4_1__1 { - // InternalScope.g:11228:2: ( ruleMultiplicativeExpression ) - // InternalScope.g:11229:3: ruleMultiplicativeExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); - } - pushFollow(FOLLOW_2); - ruleMultiplicativeExpression(); + pushFollow(FOLLOW_17); + rule__InfixExpression__Group_1_0_4_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); - } - - } + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_0_4_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -36590,38 +38733,28 @@ public final void rule__AdditiveExpression__ParamsAssignment_1_2() throws Recogn } return ; } - // $ANTLR end "rule__AdditiveExpression__ParamsAssignment_1_2" + // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__0" - // $ANTLR start "rule__MultiplicativeExpression__NameAssignment_1_1" - // InternalScope.g:11238:1: rule__MultiplicativeExpression__NameAssignment_1_1 : ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) ; - public final void rule__MultiplicativeExpression__NameAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__0__Impl" + // InternalScope.g:11256:1: rule__InfixExpression__Group_1_0_4_1__0__Impl : ( ',' ) ; + public final void rule__InfixExpression__Group_1_0_4_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11242:1: ( ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) ) - // InternalScope.g:11243:2: ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) + // InternalScope.g:11260:1: ( ( ',' ) ) + // InternalScope.g:11261:1: ( ',' ) { - // InternalScope.g:11243:2: ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) - // InternalScope.g:11244:3: ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) + // InternalScope.g:11261:1: ( ',' ) + // InternalScope.g:11262:2: ',' { if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); - } - // InternalScope.g:11245:3: ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) - // InternalScope.g:11245:4: rule__MultiplicativeExpression__NameAlternatives_1_1_0 - { - pushFollow(FOLLOW_2); - rule__MultiplicativeExpression__NameAlternatives_1_1_0(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); } - + match(input,86,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); + after(grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); } } @@ -36641,36 +38774,24 @@ public final void rule__MultiplicativeExpression__NameAssignment_1_1() throws Re } return ; } - // $ANTLR end "rule__MultiplicativeExpression__NameAssignment_1_1" + // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__0__Impl" - // $ANTLR start "rule__MultiplicativeExpression__ParamsAssignment_1_2" - // InternalScope.g:11253:1: rule__MultiplicativeExpression__ParamsAssignment_1_2 : ( ruleUnaryOrInfixExpression ) ; - public final void rule__MultiplicativeExpression__ParamsAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__1" + // InternalScope.g:11271:1: rule__InfixExpression__Group_1_0_4_1__1 : rule__InfixExpression__Group_1_0_4_1__1__Impl ; + public final void rule__InfixExpression__Group_1_0_4_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11257:1: ( ( ruleUnaryOrInfixExpression ) ) - // InternalScope.g:11258:2: ( ruleUnaryOrInfixExpression ) - { - // InternalScope.g:11258:2: ( ruleUnaryOrInfixExpression ) - // InternalScope.g:11259:3: ruleUnaryOrInfixExpression + // InternalScope.g:11275:1: ( rule__InfixExpression__Group_1_0_4_1__1__Impl ) + // InternalScope.g:11276:2: rule__InfixExpression__Group_1_0_4_1__1__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); - } pushFollow(FOLLOW_2); - ruleUnaryOrInfixExpression(); + rule__InfixExpression__Group_1_0_4_1__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); - } - - } - } @@ -36686,30 +38807,30 @@ public final void rule__MultiplicativeExpression__ParamsAssignment_1_2() throws } return ; } - // $ANTLR end "rule__MultiplicativeExpression__ParamsAssignment_1_2" + // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__1" - // $ANTLR start "rule__UnaryExpression__NameAssignment_0" - // InternalScope.g:11268:1: rule__UnaryExpression__NameAssignment_0 : ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) ; - public final void rule__UnaryExpression__NameAssignment_0() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_0_4_1__1__Impl" + // InternalScope.g:11282:1: rule__InfixExpression__Group_1_0_4_1__1__Impl : ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) ; + public final void rule__InfixExpression__Group_1_0_4_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11272:1: ( ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) ) - // InternalScope.g:11273:2: ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) + // InternalScope.g:11286:1: ( ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) ) + // InternalScope.g:11287:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) { - // InternalScope.g:11273:2: ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) - // InternalScope.g:11274:3: ( rule__UnaryExpression__NameAlternatives_0_0 ) + // InternalScope.g:11287:1: ( ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) ) + // InternalScope.g:11288:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); + before(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); } - // InternalScope.g:11275:3: ( rule__UnaryExpression__NameAlternatives_0_0 ) - // InternalScope.g:11275:4: rule__UnaryExpression__NameAlternatives_0_0 + // InternalScope.g:11289:2: ( rule__InfixExpression__ParamsAssignment_1_0_4_1_1 ) + // InternalScope.g:11289:3: rule__InfixExpression__ParamsAssignment_1_0_4_1_1 { pushFollow(FOLLOW_2); - rule__UnaryExpression__NameAlternatives_0_0(); + rule__InfixExpression__ParamsAssignment_1_0_4_1_1(); state._fsp--; if (state.failed) return ; @@ -36717,7 +38838,7 @@ public final void rule__UnaryExpression__NameAssignment_0() throws RecognitionEx } if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); + after(grammarAccess.getInfixExpressionAccess().getParamsAssignment_1_0_4_1_1()); } } @@ -36737,36 +38858,29 @@ public final void rule__UnaryExpression__NameAssignment_0() throws RecognitionEx } return ; } - // $ANTLR end "rule__UnaryExpression__NameAssignment_0" + // $ANTLR end "rule__InfixExpression__Group_1_0_4_1__1__Impl" - // $ANTLR start "rule__UnaryExpression__ParamsAssignment_1" - // InternalScope.g:11283:1: rule__UnaryExpression__ParamsAssignment_1 : ( ruleInfixExpression ) ; - public final void rule__UnaryExpression__ParamsAssignment_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_1__0" + // InternalScope.g:11298:1: rule__InfixExpression__Group_1_1__0 : rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 ; + public final void rule__InfixExpression__Group_1_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11287:1: ( ( ruleInfixExpression ) ) - // InternalScope.g:11288:2: ( ruleInfixExpression ) - { - // InternalScope.g:11288:2: ( ruleInfixExpression ) - // InternalScope.g:11289:3: ruleInfixExpression + // InternalScope.g:11302:1: ( rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 ) + // InternalScope.g:11303:2: rule__InfixExpression__Group_1_1__0__Impl rule__InfixExpression__Group_1_1__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); - } - pushFollow(FOLLOW_2); - ruleInfixExpression(); + pushFollow(FOLLOW_45); + rule__InfixExpression__Group_1_1__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_1__1(); + state._fsp--; + if (state.failed) return ; } @@ -36782,32 +38896,32 @@ public final void rule__UnaryExpression__ParamsAssignment_1() throws Recognition } return ; } - // $ANTLR end "rule__UnaryExpression__ParamsAssignment_1" + // $ANTLR end "rule__InfixExpression__Group_1_1__0" - // $ANTLR start "rule__InfixExpression__NameAssignment_1_0_2" - // InternalScope.g:11298:1: rule__InfixExpression__NameAssignment_1_0_2 : ( ruleIdentifier ) ; - public final void rule__InfixExpression__NameAssignment_1_0_2() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_1__0__Impl" + // InternalScope.g:11310:1: rule__InfixExpression__Group_1_1__0__Impl : ( () ) ; + public final void rule__InfixExpression__Group_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11302:1: ( ( ruleIdentifier ) ) - // InternalScope.g:11303:2: ( ruleIdentifier ) + // InternalScope.g:11314:1: ( ( () ) ) + // InternalScope.g:11315:1: ( () ) { - // InternalScope.g:11303:2: ( ruleIdentifier ) - // InternalScope.g:11304:3: ruleIdentifier + // InternalScope.g:11315:1: ( () ) + // InternalScope.g:11316:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); + before(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); + } + // InternalScope.g:11317:2: () + // InternalScope.g:11317:3: + { } - pushFollow(FOLLOW_2); - ruleIdentifier(); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); + after(grammarAccess.getInfixExpressionAccess().getFeatureCallTargetAction_1_1_0()); } } @@ -36816,10 +38930,6 @@ public final void rule__InfixExpression__NameAssignment_1_0_2() throws Recogniti } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -36827,36 +38937,29 @@ public final void rule__InfixExpression__NameAssignment_1_0_2() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__NameAssignment_1_0_2" + // $ANTLR end "rule__InfixExpression__Group_1_1__0__Impl" - // $ANTLR start "rule__InfixExpression__ParamsAssignment_1_0_4_0" - // InternalScope.g:11313:1: rule__InfixExpression__ParamsAssignment_1_0_4_0 : ( ruleExpression ) ; - public final void rule__InfixExpression__ParamsAssignment_1_0_4_0() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_1__1" + // InternalScope.g:11325:1: rule__InfixExpression__Group_1_1__1 : rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 ; + public final void rule__InfixExpression__Group_1_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11317:1: ( ( ruleExpression ) ) - // InternalScope.g:11318:2: ( ruleExpression ) + // InternalScope.g:11329:1: ( rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 ) + // InternalScope.g:11330:2: rule__InfixExpression__Group_1_1__1__Impl rule__InfixExpression__Group_1_1__2 { - // InternalScope.g:11318:2: ( ruleExpression ) - // InternalScope.g:11319:3: ruleExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); + pushFollow(FOLLOW_48); + rule__InfixExpression__Group_1_1__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); - } - - } + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_1__2(); + state._fsp--; + if (state.failed) return ; } @@ -36872,32 +38975,28 @@ public final void rule__InfixExpression__ParamsAssignment_1_0_4_0() throws Recog } return ; } - // $ANTLR end "rule__InfixExpression__ParamsAssignment_1_0_4_0" + // $ANTLR end "rule__InfixExpression__Group_1_1__1" - // $ANTLR start "rule__InfixExpression__ParamsAssignment_1_0_4_1_1" - // InternalScope.g:11328:1: rule__InfixExpression__ParamsAssignment_1_0_4_1_1 : ( ruleExpression ) ; - public final void rule__InfixExpression__ParamsAssignment_1_0_4_1_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_1__1__Impl" + // InternalScope.g:11337:1: rule__InfixExpression__Group_1_1__1__Impl : ( '.' ) ; + public final void rule__InfixExpression__Group_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11332:1: ( ( ruleExpression ) ) - // InternalScope.g:11333:2: ( ruleExpression ) + // InternalScope.g:11341:1: ( ( '.' ) ) + // InternalScope.g:11342:1: ( '.' ) { - // InternalScope.g:11333:2: ( ruleExpression ) - // InternalScope.g:11334:3: ruleExpression + // InternalScope.g:11342:1: ( '.' ) + // InternalScope.g:11343:2: '.' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); + before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); } - pushFollow(FOLLOW_2); - ruleExpression(); - - state._fsp--; - if (state.failed) return ; + match(input,58,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); + after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); } } @@ -36917,36 +39016,24 @@ public final void rule__InfixExpression__ParamsAssignment_1_0_4_1_1() throws Rec } return ; } - // $ANTLR end "rule__InfixExpression__ParamsAssignment_1_0_4_1_1" + // $ANTLR end "rule__InfixExpression__Group_1_1__1__Impl" - // $ANTLR start "rule__InfixExpression__TypeAssignment_1_1_2" - // InternalScope.g:11343:1: rule__InfixExpression__TypeAssignment_1_1_2 : ( ruleType ) ; - public final void rule__InfixExpression__TypeAssignment_1_1_2() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_1__2" + // InternalScope.g:11352:1: rule__InfixExpression__Group_1_1__2 : rule__InfixExpression__Group_1_1__2__Impl ; + public final void rule__InfixExpression__Group_1_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11347:1: ( ( ruleType ) ) - // InternalScope.g:11348:2: ( ruleType ) - { - // InternalScope.g:11348:2: ( ruleType ) - // InternalScope.g:11349:3: ruleType + // InternalScope.g:11356:1: ( rule__InfixExpression__Group_1_1__2__Impl ) + // InternalScope.g:11357:2: rule__InfixExpression__Group_1_1__2__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); - } pushFollow(FOLLOW_2); - ruleType(); + rule__InfixExpression__Group_1_1__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); - } - - } - } @@ -36962,40 +39049,38 @@ public final void rule__InfixExpression__TypeAssignment_1_1_2() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__TypeAssignment_1_1_2" + // $ANTLR end "rule__InfixExpression__Group_1_1__2" - // $ANTLR start "rule__InfixExpression__NameAssignment_1_2_2" - // InternalScope.g:11358:1: rule__InfixExpression__NameAssignment_1_2_2 : ( ( 'typeSelect' ) ) ; - public final void rule__InfixExpression__NameAssignment_1_2_2() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_1__2__Impl" + // InternalScope.g:11363:1: rule__InfixExpression__Group_1_1__2__Impl : ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) ; + public final void rule__InfixExpression__Group_1_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11362:1: ( ( ( 'typeSelect' ) ) ) - // InternalScope.g:11363:2: ( ( 'typeSelect' ) ) + // InternalScope.g:11367:1: ( ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) ) + // InternalScope.g:11368:1: ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) { - // InternalScope.g:11363:2: ( ( 'typeSelect' ) ) - // InternalScope.g:11364:3: ( 'typeSelect' ) + // InternalScope.g:11368:1: ( ( rule__InfixExpression__TypeAssignment_1_1_2 ) ) + // InternalScope.g:11369:2: ( rule__InfixExpression__TypeAssignment_1_1_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); + before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); } - // InternalScope.g:11365:3: ( 'typeSelect' ) - // InternalScope.g:11366:4: 'typeSelect' + // InternalScope.g:11370:2: ( rule__InfixExpression__TypeAssignment_1_1_2 ) + // InternalScope.g:11370:3: rule__InfixExpression__TypeAssignment_1_1_2 { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); - } - match(input,85,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); - } + pushFollow(FOLLOW_2); + rule__InfixExpression__TypeAssignment_1_1_2(); + + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); + after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_1_2()); } } @@ -37015,36 +39100,29 @@ public final void rule__InfixExpression__NameAssignment_1_2_2() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__NameAssignment_1_2_2" + // $ANTLR end "rule__InfixExpression__Group_1_1__2__Impl" - // $ANTLR start "rule__InfixExpression__TypeAssignment_1_2_4" - // InternalScope.g:11377:1: rule__InfixExpression__TypeAssignment_1_2_4 : ( ruleType ) ; - public final void rule__InfixExpression__TypeAssignment_1_2_4() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_2__0" + // InternalScope.g:11379:1: rule__InfixExpression__Group_1_2__0 : rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 ; + public final void rule__InfixExpression__Group_1_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11381:1: ( ( ruleType ) ) - // InternalScope.g:11382:2: ( ruleType ) - { - // InternalScope.g:11382:2: ( ruleType ) - // InternalScope.g:11383:3: ruleType + // InternalScope.g:11383:1: ( rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 ) + // InternalScope.g:11384:2: rule__InfixExpression__Group_1_2__0__Impl rule__InfixExpression__Group_1_2__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); - } - pushFollow(FOLLOW_2); - ruleType(); + pushFollow(FOLLOW_45); + rule__InfixExpression__Group_1_2__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); - } - - } + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__1(); + state._fsp--; + if (state.failed) return ; } @@ -37060,38 +39138,32 @@ public final void rule__InfixExpression__TypeAssignment_1_2_4() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__TypeAssignment_1_2_4" + // $ANTLR end "rule__InfixExpression__Group_1_2__0" - // $ANTLR start "rule__InfixExpression__NameAssignment_1_3_2" - // InternalScope.g:11392:1: rule__InfixExpression__NameAssignment_1_3_2 : ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) ; - public final void rule__InfixExpression__NameAssignment_1_3_2() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_2__0__Impl" + // InternalScope.g:11391:1: rule__InfixExpression__Group_1_2__0__Impl : ( () ) ; + public final void rule__InfixExpression__Group_1_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11396:1: ( ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) ) - // InternalScope.g:11397:2: ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) + // InternalScope.g:11395:1: ( ( () ) ) + // InternalScope.g:11396:1: ( () ) { - // InternalScope.g:11397:2: ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) - // InternalScope.g:11398:3: ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) + // InternalScope.g:11396:1: ( () ) + // InternalScope.g:11397:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); + before(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); } - // InternalScope.g:11399:3: ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) - // InternalScope.g:11399:4: rule__InfixExpression__NameAlternatives_1_3_2_0 + // InternalScope.g:11398:2: () + // InternalScope.g:11398:3: { - pushFollow(FOLLOW_2); - rule__InfixExpression__NameAlternatives_1_3_2_0(); - - state._fsp--; - if (state.failed) return ; - } if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); + after(grammarAccess.getInfixExpressionAccess().getTypeSelectExpressionTargetAction_1_2_0()); } } @@ -37100,10 +39172,6 @@ public final void rule__InfixExpression__NameAssignment_1_3_2() throws Recogniti } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -37111,36 +39179,29 @@ public final void rule__InfixExpression__NameAssignment_1_3_2() throws Recogniti } return ; } - // $ANTLR end "rule__InfixExpression__NameAssignment_1_3_2" + // $ANTLR end "rule__InfixExpression__Group_1_2__0__Impl" - // $ANTLR start "rule__InfixExpression__VarAssignment_1_3_4_0" - // InternalScope.g:11407:1: rule__InfixExpression__VarAssignment_1_3_4_0 : ( ruleIdentifier ) ; - public final void rule__InfixExpression__VarAssignment_1_3_4_0() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_2__1" + // InternalScope.g:11406:1: rule__InfixExpression__Group_1_2__1 : rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 ; + public final void rule__InfixExpression__Group_1_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11411:1: ( ( ruleIdentifier ) ) - // InternalScope.g:11412:2: ( ruleIdentifier ) + // InternalScope.g:11410:1: ( rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 ) + // InternalScope.g:11411:2: rule__InfixExpression__Group_1_2__1__Impl rule__InfixExpression__Group_1_2__2 { - // InternalScope.g:11412:2: ( ruleIdentifier ) - // InternalScope.g:11413:3: ruleIdentifier - { - if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); - } - pushFollow(FOLLOW_2); - ruleIdentifier(); + pushFollow(FOLLOW_72); + rule__InfixExpression__Group_1_2__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); - } - - } + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__2(); + state._fsp--; + if (state.failed) return ; } @@ -37156,32 +39217,28 @@ public final void rule__InfixExpression__VarAssignment_1_3_4_0() throws Recognit } return ; } - // $ANTLR end "rule__InfixExpression__VarAssignment_1_3_4_0" + // $ANTLR end "rule__InfixExpression__Group_1_2__1" - // $ANTLR start "rule__InfixExpression__ExpAssignment_1_3_5" - // InternalScope.g:11422:1: rule__InfixExpression__ExpAssignment_1_3_5 : ( ruleExpression ) ; - public final void rule__InfixExpression__ExpAssignment_1_3_5() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_2__1__Impl" + // InternalScope.g:11418:1: rule__InfixExpression__Group_1_2__1__Impl : ( '.' ) ; + public final void rule__InfixExpression__Group_1_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11426:1: ( ( ruleExpression ) ) - // InternalScope.g:11427:2: ( ruleExpression ) + // InternalScope.g:11422:1: ( ( '.' ) ) + // InternalScope.g:11423:1: ( '.' ) { - // InternalScope.g:11427:2: ( ruleExpression ) - // InternalScope.g:11428:3: ruleExpression + // InternalScope.g:11423:1: ( '.' ) + // InternalScope.g:11424:2: '.' { if ( state.backtracking==0 ) { - before(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); + before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); } - pushFollow(FOLLOW_2); - ruleExpression(); - - state._fsp--; - if (state.failed) return ; + match(input,58,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); + after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); } } @@ -37201,42 +39258,29 @@ public final void rule__InfixExpression__ExpAssignment_1_3_5() throws Recognitio } return ; } - // $ANTLR end "rule__InfixExpression__ExpAssignment_1_3_5" + // $ANTLR end "rule__InfixExpression__Group_1_2__1__Impl" - // $ANTLR start "rule__BooleanLiteral__ValAssignment" - // InternalScope.g:11437:1: rule__BooleanLiteral__ValAssignment : ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) ; - public final void rule__BooleanLiteral__ValAssignment() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_2__2" + // InternalScope.g:11433:1: rule__InfixExpression__Group_1_2__2 : rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 ; + public final void rule__InfixExpression__Group_1_2__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11441:1: ( ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) ) - // InternalScope.g:11442:2: ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) - { - // InternalScope.g:11442:2: ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) - // InternalScope.g:11443:3: ( rule__BooleanLiteral__ValAlternatives_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); - } - // InternalScope.g:11444:3: ( rule__BooleanLiteral__ValAlternatives_0 ) - // InternalScope.g:11444:4: rule__BooleanLiteral__ValAlternatives_0 + // InternalScope.g:11437:1: ( rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 ) + // InternalScope.g:11438:2: rule__InfixExpression__Group_1_2__2__Impl rule__InfixExpression__Group_1_2__3 { - pushFollow(FOLLOW_2); - rule__BooleanLiteral__ValAlternatives_0(); + pushFollow(FOLLOW_31); + rule__InfixExpression__Group_1_2__2__Impl(); state._fsp--; if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__3(); - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); - } - - } - + state._fsp--; + if (state.failed) return ; } @@ -37252,28 +39296,38 @@ public final void rule__BooleanLiteral__ValAssignment() throws RecognitionExcept } return ; } - // $ANTLR end "rule__BooleanLiteral__ValAssignment" + // $ANTLR end "rule__InfixExpression__Group_1_2__2" - // $ANTLR start "rule__IntegerLiteral__ValAssignment" - // InternalScope.g:11452:1: rule__IntegerLiteral__ValAssignment : ( RULE_INT ) ; - public final void rule__IntegerLiteral__ValAssignment() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_2__2__Impl" + // InternalScope.g:11445:1: rule__InfixExpression__Group_1_2__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) ; + public final void rule__InfixExpression__Group_1_2__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11456:1: ( ( RULE_INT ) ) - // InternalScope.g:11457:2: ( RULE_INT ) + // InternalScope.g:11449:1: ( ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) ) + // InternalScope.g:11450:1: ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) { - // InternalScope.g:11457:2: ( RULE_INT ) - // InternalScope.g:11458:3: RULE_INT + // InternalScope.g:11450:1: ( ( rule__InfixExpression__NameAssignment_1_2_2 ) ) + // InternalScope.g:11451:2: ( rule__InfixExpression__NameAssignment_1_2_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); + before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); } - match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + // InternalScope.g:11452:2: ( rule__InfixExpression__NameAssignment_1_2_2 ) + // InternalScope.g:11452:3: rule__InfixExpression__NameAssignment_1_2_2 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__NameAssignment_1_2_2(); + + state._fsp--; + if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); + after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_2_2()); } } @@ -37293,44 +39347,29 @@ public final void rule__IntegerLiteral__ValAssignment() throws RecognitionExcept } return ; } - // $ANTLR end "rule__IntegerLiteral__ValAssignment" + // $ANTLR end "rule__InfixExpression__Group_1_2__2__Impl" - // $ANTLR start "rule__NullLiteral__ValAssignment" - // InternalScope.g:11467:1: rule__NullLiteral__ValAssignment : ( ( 'null' ) ) ; - public final void rule__NullLiteral__ValAssignment() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_2__3" + // InternalScope.g:11460:1: rule__InfixExpression__Group_1_2__3 : rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 ; + public final void rule__InfixExpression__Group_1_2__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11471:1: ( ( ( 'null' ) ) ) - // InternalScope.g:11472:2: ( ( 'null' ) ) + // InternalScope.g:11464:1: ( rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 ) + // InternalScope.g:11465:2: rule__InfixExpression__Group_1_2__3__Impl rule__InfixExpression__Group_1_2__4 { - // InternalScope.g:11472:2: ( ( 'null' ) ) - // InternalScope.g:11473:3: ( 'null' ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); - } - // InternalScope.g:11474:3: ( 'null' ) - // InternalScope.g:11475:4: 'null' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); - } - match(input,86,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); - } - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); - } + pushFollow(FOLLOW_48); + rule__InfixExpression__Group_1_2__3__Impl(); - } + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__4(); + state._fsp--; + if (state.failed) return ; } @@ -37346,28 +39385,28 @@ public final void rule__NullLiteral__ValAssignment() throws RecognitionException } return ; } - // $ANTLR end "rule__NullLiteral__ValAssignment" + // $ANTLR end "rule__InfixExpression__Group_1_2__3" - // $ANTLR start "rule__RealLiteral__ValAssignment" - // InternalScope.g:11486:1: rule__RealLiteral__ValAssignment : ( RULE_REAL ) ; - public final void rule__RealLiteral__ValAssignment() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_2__3__Impl" + // InternalScope.g:11472:1: rule__InfixExpression__Group_1_2__3__Impl : ( '(' ) ; + public final void rule__InfixExpression__Group_1_2__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11490:1: ( ( RULE_REAL ) ) - // InternalScope.g:11491:2: ( RULE_REAL ) + // InternalScope.g:11476:1: ( ( '(' ) ) + // InternalScope.g:11477:1: ( '(' ) { - // InternalScope.g:11491:2: ( RULE_REAL ) - // InternalScope.g:11492:3: RULE_REAL + // InternalScope.g:11477:1: ( '(' ) + // InternalScope.g:11478:2: '(' { if ( state.backtracking==0 ) { - before(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); + before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); } - match(input,RULE_REAL,FOLLOW_2); if (state.failed) return ; + match(input,77,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); + after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); } } @@ -37387,32 +39426,29 @@ public final void rule__RealLiteral__ValAssignment() throws RecognitionException } return ; } - // $ANTLR end "rule__RealLiteral__ValAssignment" + // $ANTLR end "rule__InfixExpression__Group_1_2__3__Impl" - // $ANTLR start "rule__StringLiteral__ValAssignment" - // InternalScope.g:11501:1: rule__StringLiteral__ValAssignment : ( RULE_STRING ) ; - public final void rule__StringLiteral__ValAssignment() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_2__4" + // InternalScope.g:11487:1: rule__InfixExpression__Group_1_2__4 : rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 ; + public final void rule__InfixExpression__Group_1_2__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11505:1: ( ( RULE_STRING ) ) - // InternalScope.g:11506:2: ( RULE_STRING ) - { - // InternalScope.g:11506:2: ( RULE_STRING ) - // InternalScope.g:11507:3: RULE_STRING + // InternalScope.g:11491:1: ( rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 ) + // InternalScope.g:11492:2: rule__InfixExpression__Group_1_2__4__Impl rule__InfixExpression__Group_1_2__5 { - if ( state.backtracking==0 ) { - before(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); - } - match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); - } + pushFollow(FOLLOW_23); + rule__InfixExpression__Group_1_2__4__Impl(); - } + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_2__5(); + state._fsp--; + if (state.failed) return ; } @@ -37428,32 +39464,38 @@ public final void rule__StringLiteral__ValAssignment() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__StringLiteral__ValAssignment" + // $ANTLR end "rule__InfixExpression__Group_1_2__4" - // $ANTLR start "rule__GlobalVarExpression__NameAssignment_1" - // InternalScope.g:11516:1: rule__GlobalVarExpression__NameAssignment_1 : ( ruleIdentifier ) ; - public final void rule__GlobalVarExpression__NameAssignment_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_2__4__Impl" + // InternalScope.g:11499:1: rule__InfixExpression__Group_1_2__4__Impl : ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) ; + public final void rule__InfixExpression__Group_1_2__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11520:1: ( ( ruleIdentifier ) ) - // InternalScope.g:11521:2: ( ruleIdentifier ) + // InternalScope.g:11503:1: ( ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) ) + // InternalScope.g:11504:1: ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) { - // InternalScope.g:11521:2: ( ruleIdentifier ) - // InternalScope.g:11522:3: ruleIdentifier + // InternalScope.g:11504:1: ( ( rule__InfixExpression__TypeAssignment_1_2_4 ) ) + // InternalScope.g:11505:2: ( rule__InfixExpression__TypeAssignment_1_2_4 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); + before(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); } + // InternalScope.g:11506:2: ( rule__InfixExpression__TypeAssignment_1_2_4 ) + // InternalScope.g:11506:3: rule__InfixExpression__TypeAssignment_1_2_4 + { pushFollow(FOLLOW_2); - ruleIdentifier(); + rule__InfixExpression__TypeAssignment_1_2_4(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); + after(grammarAccess.getInfixExpressionAccess().getTypeAssignment_1_2_4()); } } @@ -37473,36 +39515,24 @@ public final void rule__GlobalVarExpression__NameAssignment_1() throws Recogniti } return ; } - // $ANTLR end "rule__GlobalVarExpression__NameAssignment_1" + // $ANTLR end "rule__InfixExpression__Group_1_2__4__Impl" - // $ANTLR start "rule__FeatureCall__TypeAssignment_1" - // InternalScope.g:11531:1: rule__FeatureCall__TypeAssignment_1 : ( ruleType ) ; - public final void rule__FeatureCall__TypeAssignment_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_2__5" + // InternalScope.g:11514:1: rule__InfixExpression__Group_1_2__5 : rule__InfixExpression__Group_1_2__5__Impl ; + public final void rule__InfixExpression__Group_1_2__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11535:1: ( ( ruleType ) ) - // InternalScope.g:11536:2: ( ruleType ) + // InternalScope.g:11518:1: ( rule__InfixExpression__Group_1_2__5__Impl ) + // InternalScope.g:11519:2: rule__InfixExpression__Group_1_2__5__Impl { - // InternalScope.g:11536:2: ( ruleType ) - // InternalScope.g:11537:3: ruleType - { - if ( state.backtracking==0 ) { - before(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); - } pushFollow(FOLLOW_2); - ruleType(); + rule__InfixExpression__Group_1_2__5__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); - } - - } - } @@ -37518,32 +39548,28 @@ public final void rule__FeatureCall__TypeAssignment_1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__FeatureCall__TypeAssignment_1" + // $ANTLR end "rule__InfixExpression__Group_1_2__5" - // $ANTLR start "rule__OperationCall__NameAssignment_0" - // InternalScope.g:11546:1: rule__OperationCall__NameAssignment_0 : ( ruleIdentifier ) ; - public final void rule__OperationCall__NameAssignment_0() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_2__5__Impl" + // InternalScope.g:11525:1: rule__InfixExpression__Group_1_2__5__Impl : ( ')' ) ; + public final void rule__InfixExpression__Group_1_2__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11550:1: ( ( ruleIdentifier ) ) - // InternalScope.g:11551:2: ( ruleIdentifier ) + // InternalScope.g:11529:1: ( ( ')' ) ) + // InternalScope.g:11530:1: ( ')' ) { - // InternalScope.g:11551:2: ( ruleIdentifier ) - // InternalScope.g:11552:3: ruleIdentifier + // InternalScope.g:11530:1: ( ')' ) + // InternalScope.g:11531:2: ')' { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); + before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); } - pushFollow(FOLLOW_2); - ruleIdentifier(); - - state._fsp--; - if (state.failed) return ; + match(input,78,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); + after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); } } @@ -37563,36 +39589,29 @@ public final void rule__OperationCall__NameAssignment_0() throws RecognitionExce } return ; } - // $ANTLR end "rule__OperationCall__NameAssignment_0" + // $ANTLR end "rule__InfixExpression__Group_1_2__5__Impl" - // $ANTLR start "rule__OperationCall__ParamsAssignment_2_0" - // InternalScope.g:11561:1: rule__OperationCall__ParamsAssignment_2_0 : ( ruleExpression ) ; - public final void rule__OperationCall__ParamsAssignment_2_0() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_3__0" + // InternalScope.g:11541:1: rule__InfixExpression__Group_1_3__0 : rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 ; + public final void rule__InfixExpression__Group_1_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11565:1: ( ( ruleExpression ) ) - // InternalScope.g:11566:2: ( ruleExpression ) + // InternalScope.g:11545:1: ( rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 ) + // InternalScope.g:11546:2: rule__InfixExpression__Group_1_3__0__Impl rule__InfixExpression__Group_1_3__1 { - // InternalScope.g:11566:2: ( ruleExpression ) - // InternalScope.g:11567:3: ruleExpression - { - if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); + pushFollow(FOLLOW_45); + rule__InfixExpression__Group_1_3__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); - } - - } + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__1(); + state._fsp--; + if (state.failed) return ; } @@ -37608,32 +39627,32 @@ public final void rule__OperationCall__ParamsAssignment_2_0() throws Recognition } return ; } - // $ANTLR end "rule__OperationCall__ParamsAssignment_2_0" + // $ANTLR end "rule__InfixExpression__Group_1_3__0" - // $ANTLR start "rule__OperationCall__ParamsAssignment_2_1_1" - // InternalScope.g:11576:1: rule__OperationCall__ParamsAssignment_2_1_1 : ( ruleExpression ) ; - public final void rule__OperationCall__ParamsAssignment_2_1_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_3__0__Impl" + // InternalScope.g:11553:1: rule__InfixExpression__Group_1_3__0__Impl : ( () ) ; + public final void rule__InfixExpression__Group_1_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11580:1: ( ( ruleExpression ) ) - // InternalScope.g:11581:2: ( ruleExpression ) + // InternalScope.g:11557:1: ( ( () ) ) + // InternalScope.g:11558:1: ( () ) { - // InternalScope.g:11581:2: ( ruleExpression ) - // InternalScope.g:11582:3: ruleExpression + // InternalScope.g:11558:1: ( () ) + // InternalScope.g:11559:2: () { if ( state.backtracking==0 ) { - before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); + before(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); + } + // InternalScope.g:11560:2: () + // InternalScope.g:11560:3: + { } - pushFollow(FOLLOW_2); - ruleExpression(); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); + after(grammarAccess.getInfixExpressionAccess().getCollectionExpressionTargetAction_1_3_0()); } } @@ -37642,10 +39661,6 @@ public final void rule__OperationCall__ParamsAssignment_2_1_1() throws Recogniti } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -37653,36 +39668,29 @@ public final void rule__OperationCall__ParamsAssignment_2_1_1() throws Recogniti } return ; } - // $ANTLR end "rule__OperationCall__ParamsAssignment_2_1_1" + // $ANTLR end "rule__InfixExpression__Group_1_3__0__Impl" - // $ANTLR start "rule__ListLiteral__ElementsAssignment_2_0" - // InternalScope.g:11591:1: rule__ListLiteral__ElementsAssignment_2_0 : ( ruleExpression ) ; - public final void rule__ListLiteral__ElementsAssignment_2_0() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_3__1" + // InternalScope.g:11568:1: rule__InfixExpression__Group_1_3__1 : rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 ; + public final void rule__InfixExpression__Group_1_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11595:1: ( ( ruleExpression ) ) - // InternalScope.g:11596:2: ( ruleExpression ) - { - // InternalScope.g:11596:2: ( ruleExpression ) - // InternalScope.g:11597:3: ruleExpression + // InternalScope.g:11572:1: ( rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 ) + // InternalScope.g:11573:2: rule__InfixExpression__Group_1_3__1__Impl rule__InfixExpression__Group_1_3__2 { - if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); - } - pushFollow(FOLLOW_2); - ruleExpression(); + pushFollow(FOLLOW_73); + rule__InfixExpression__Group_1_3__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); - } - - } + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__2(); + state._fsp--; + if (state.failed) return ; } @@ -37698,32 +39706,28 @@ public final void rule__ListLiteral__ElementsAssignment_2_0() throws Recognition } return ; } - // $ANTLR end "rule__ListLiteral__ElementsAssignment_2_0" + // $ANTLR end "rule__InfixExpression__Group_1_3__1" - // $ANTLR start "rule__ListLiteral__ElementsAssignment_2_1_1" - // InternalScope.g:11606:1: rule__ListLiteral__ElementsAssignment_2_1_1 : ( ruleExpression ) ; - public final void rule__ListLiteral__ElementsAssignment_2_1_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_3__1__Impl" + // InternalScope.g:11580:1: rule__InfixExpression__Group_1_3__1__Impl : ( '.' ) ; + public final void rule__InfixExpression__Group_1_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11610:1: ( ( ruleExpression ) ) - // InternalScope.g:11611:2: ( ruleExpression ) + // InternalScope.g:11584:1: ( ( '.' ) ) + // InternalScope.g:11585:1: ( '.' ) { - // InternalScope.g:11611:2: ( ruleExpression ) - // InternalScope.g:11612:3: ruleExpression + // InternalScope.g:11585:1: ( '.' ) + // InternalScope.g:11586:2: '.' { if ( state.backtracking==0 ) { - before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); + before(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); } - pushFollow(FOLLOW_2); - ruleExpression(); - - state._fsp--; - if (state.failed) return ; + match(input,58,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); + after(grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); } } @@ -37743,36 +39747,29 @@ public final void rule__ListLiteral__ElementsAssignment_2_1_1() throws Recogniti } return ; } - // $ANTLR end "rule__ListLiteral__ElementsAssignment_2_1_1" + // $ANTLR end "rule__InfixExpression__Group_1_3__1__Impl" - // $ANTLR start "rule__ConstructorCallExpression__TypeAssignment_1" - // InternalScope.g:11621:1: rule__ConstructorCallExpression__TypeAssignment_1 : ( ruleSimpleType ) ; - public final void rule__ConstructorCallExpression__TypeAssignment_1() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_3__2" + // InternalScope.g:11595:1: rule__InfixExpression__Group_1_3__2 : rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 ; + public final void rule__InfixExpression__Group_1_3__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11625:1: ( ( ruleSimpleType ) ) - // InternalScope.g:11626:2: ( ruleSimpleType ) + // InternalScope.g:11599:1: ( rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 ) + // InternalScope.g:11600:2: rule__InfixExpression__Group_1_3__2__Impl rule__InfixExpression__Group_1_3__3 { - // InternalScope.g:11626:2: ( ruleSimpleType ) - // InternalScope.g:11627:3: ruleSimpleType - { - if ( state.backtracking==0 ) { - before(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); - } - pushFollow(FOLLOW_2); - ruleSimpleType(); + pushFollow(FOLLOW_31); + rule__InfixExpression__Group_1_3__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__3(); + state._fsp--; + if (state.failed) return ; } @@ -37788,40 +39785,38 @@ public final void rule__ConstructorCallExpression__TypeAssignment_1() throws Rec } return ; } - // $ANTLR end "rule__ConstructorCallExpression__TypeAssignment_1" + // $ANTLR end "rule__InfixExpression__Group_1_3__2" - // $ANTLR start "rule__TypeSelectExpression__NameAssignment_0" - // InternalScope.g:11636:1: rule__TypeSelectExpression__NameAssignment_0 : ( ( 'typeSelect' ) ) ; - public final void rule__TypeSelectExpression__NameAssignment_0() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_3__2__Impl" + // InternalScope.g:11607:1: rule__InfixExpression__Group_1_3__2__Impl : ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) ; + public final void rule__InfixExpression__Group_1_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11640:1: ( ( ( 'typeSelect' ) ) ) - // InternalScope.g:11641:2: ( ( 'typeSelect' ) ) + // InternalScope.g:11611:1: ( ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) ) + // InternalScope.g:11612:1: ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) { - // InternalScope.g:11641:2: ( ( 'typeSelect' ) ) - // InternalScope.g:11642:3: ( 'typeSelect' ) + // InternalScope.g:11612:1: ( ( rule__InfixExpression__NameAssignment_1_3_2 ) ) + // InternalScope.g:11613:2: ( rule__InfixExpression__NameAssignment_1_3_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + before(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); } - // InternalScope.g:11643:3: ( 'typeSelect' ) - // InternalScope.g:11644:4: 'typeSelect' + // InternalScope.g:11614:2: ( rule__InfixExpression__NameAssignment_1_3_2 ) + // InternalScope.g:11614:3: rule__InfixExpression__NameAssignment_1_3_2 { - if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); - } - match(input,85,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); - } + pushFollow(FOLLOW_2); + rule__InfixExpression__NameAssignment_1_3_2(); + + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + after(grammarAccess.getInfixExpressionAccess().getNameAssignment_1_3_2()); } } @@ -37841,36 +39836,29 @@ public final void rule__TypeSelectExpression__NameAssignment_0() throws Recognit } return ; } - // $ANTLR end "rule__TypeSelectExpression__NameAssignment_0" + // $ANTLR end "rule__InfixExpression__Group_1_3__2__Impl" - // $ANTLR start "rule__TypeSelectExpression__TypeAssignment_2" - // InternalScope.g:11655:1: rule__TypeSelectExpression__TypeAssignment_2 : ( ruleType ) ; - public final void rule__TypeSelectExpression__TypeAssignment_2() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_3__3" + // InternalScope.g:11622:1: rule__InfixExpression__Group_1_3__3 : rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 ; + public final void rule__InfixExpression__Group_1_3__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11659:1: ( ( ruleType ) ) - // InternalScope.g:11660:2: ( ruleType ) - { - // InternalScope.g:11660:2: ( ruleType ) - // InternalScope.g:11661:3: ruleType + // InternalScope.g:11626:1: ( rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 ) + // InternalScope.g:11627:2: rule__InfixExpression__Group_1_3__3__Impl rule__InfixExpression__Group_1_3__4 { - if ( state.backtracking==0 ) { - before(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); - } - pushFollow(FOLLOW_2); - ruleType(); + pushFollow(FOLLOW_17); + rule__InfixExpression__Group_1_3__3__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); - } - - } + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__4(); + state._fsp--; + if (state.failed) return ; } @@ -37886,38 +39874,132 @@ public final void rule__TypeSelectExpression__TypeAssignment_2() throws Recognit } return ; } - // $ANTLR end "rule__TypeSelectExpression__TypeAssignment_2" + // $ANTLR end "rule__InfixExpression__Group_1_3__3" - // $ANTLR start "rule__CollectionExpression__NameAssignment_0" - // InternalScope.g:11670:1: rule__CollectionExpression__NameAssignment_0 : ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) ; - public final void rule__CollectionExpression__NameAssignment_0() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_3__3__Impl" + // InternalScope.g:11634:1: rule__InfixExpression__Group_1_3__3__Impl : ( '(' ) ; + public final void rule__InfixExpression__Group_1_3__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11674:1: ( ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) ) - // InternalScope.g:11675:2: ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) + // InternalScope.g:11638:1: ( ( '(' ) ) + // InternalScope.g:11639:1: ( '(' ) { - // InternalScope.g:11675:2: ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) - // InternalScope.g:11676:3: ( rule__CollectionExpression__NameAlternatives_0_0 ) + // InternalScope.g:11639:1: ( '(' ) + // InternalScope.g:11640:2: '(' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); + before(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); + } + } - // InternalScope.g:11677:3: ( rule__CollectionExpression__NameAlternatives_0_0 ) - // InternalScope.g:11677:4: rule__CollectionExpression__NameAlternatives_0_0 + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__3__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__4" + // InternalScope.g:11649:1: rule__InfixExpression__Group_1_3__4 : rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 ; + public final void rule__InfixExpression__Group_1_3__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11653:1: ( rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 ) + // InternalScope.g:11654:2: rule__InfixExpression__Group_1_3__4__Impl rule__InfixExpression__Group_1_3__5 { + pushFollow(FOLLOW_17); + rule__InfixExpression__Group_1_3__4__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__CollectionExpression__NameAlternatives_0_0(); + rule__InfixExpression__Group_1_3__5(); state._fsp--; if (state.failed) return ; } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__4" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__4__Impl" + // InternalScope.g:11661:1: rule__InfixExpression__Group_1_3__4__Impl : ( ( rule__InfixExpression__Group_1_3_4__0 )? ) ; + public final void rule__InfixExpression__Group_1_3__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11665:1: ( ( ( rule__InfixExpression__Group_1_3_4__0 )? ) ) + // InternalScope.g:11666:1: ( ( rule__InfixExpression__Group_1_3_4__0 )? ) + { + // InternalScope.g:11666:1: ( ( rule__InfixExpression__Group_1_3_4__0 )? ) + // InternalScope.g:11667:2: ( rule__InfixExpression__Group_1_3_4__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); + } + // InternalScope.g:11668:2: ( rule__InfixExpression__Group_1_3_4__0 )? + int alt108=2; + int LA108_0 = input.LA(1); + + if ( (LA108_0==RULE_ID) ) { + int LA108_1 = input.LA(2); + + if ( (LA108_1==92) ) { + alt108=1; + } + } + switch (alt108) { + case 1 : + // InternalScope.g:11668:3: rule__InfixExpression__Group_1_3_4__0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); + after(grammarAccess.getInfixExpressionAccess().getGroup_1_3_4()); } } @@ -37937,32 +40019,76 @@ public final void rule__CollectionExpression__NameAssignment_0() throws Recognit } return ; } - // $ANTLR end "rule__CollectionExpression__NameAssignment_0" + // $ANTLR end "rule__InfixExpression__Group_1_3__4__Impl" - // $ANTLR start "rule__CollectionExpression__VarAssignment_2_0" - // InternalScope.g:11685:1: rule__CollectionExpression__VarAssignment_2_0 : ( ruleIdentifier ) ; - public final void rule__CollectionExpression__VarAssignment_2_0() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_3__5" + // InternalScope.g:11676:1: rule__InfixExpression__Group_1_3__5 : rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 ; + public final void rule__InfixExpression__Group_1_3__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11680:1: ( rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 ) + // InternalScope.g:11681:2: rule__InfixExpression__Group_1_3__5__Impl rule__InfixExpression__Group_1_3__6 + { + pushFollow(FOLLOW_23); + rule__InfixExpression__Group_1_3__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__5" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__5__Impl" + // InternalScope.g:11688:1: rule__InfixExpression__Group_1_3__5__Impl : ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) ; + public final void rule__InfixExpression__Group_1_3__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11689:1: ( ( ruleIdentifier ) ) - // InternalScope.g:11690:2: ( ruleIdentifier ) + // InternalScope.g:11692:1: ( ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) ) + // InternalScope.g:11693:1: ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) { - // InternalScope.g:11690:2: ( ruleIdentifier ) - // InternalScope.g:11691:3: ruleIdentifier + // InternalScope.g:11693:1: ( ( rule__InfixExpression__ExpAssignment_1_3_5 ) ) + // InternalScope.g:11694:2: ( rule__InfixExpression__ExpAssignment_1_3_5 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); + before(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); } + // InternalScope.g:11695:2: ( rule__InfixExpression__ExpAssignment_1_3_5 ) + // InternalScope.g:11695:3: rule__InfixExpression__ExpAssignment_1_3_5 + { pushFollow(FOLLOW_2); - ruleIdentifier(); + rule__InfixExpression__ExpAssignment_1_3_5(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); + after(grammarAccess.getInfixExpressionAccess().getExpAssignment_1_3_5()); } } @@ -37982,408 +40108,56779 @@ public final void rule__CollectionExpression__VarAssignment_2_0() throws Recogni } return ; } - // $ANTLR end "rule__CollectionExpression__VarAssignment_2_0" + // $ANTLR end "rule__InfixExpression__Group_1_3__5__Impl" - // $ANTLR start "rule__CollectionExpression__ExpAssignment_3" - // InternalScope.g:11700:1: rule__CollectionExpression__ExpAssignment_3 : ( ruleExpression ) ; - public final void rule__CollectionExpression__ExpAssignment_3() throws RecognitionException { + // $ANTLR start "rule__InfixExpression__Group_1_3__6" + // InternalScope.g:11703:1: rule__InfixExpression__Group_1_3__6 : rule__InfixExpression__Group_1_3__6__Impl ; + public final void rule__InfixExpression__Group_1_3__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11707:1: ( rule__InfixExpression__Group_1_3__6__Impl ) + // InternalScope.g:11708:2: rule__InfixExpression__Group_1_3__6__Impl + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3__6__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__6" + + + // $ANTLR start "rule__InfixExpression__Group_1_3__6__Impl" + // InternalScope.g:11714:1: rule__InfixExpression__Group_1_3__6__Impl : ( ')' ) ; + public final void rule__InfixExpression__Group_1_3__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalScope.g:11704:1: ( ( ruleExpression ) ) - // InternalScope.g:11705:2: ( ruleExpression ) + // InternalScope.g:11718:1: ( ( ')' ) ) + // InternalScope.g:11719:1: ( ')' ) { - // InternalScope.g:11705:2: ( ruleExpression ) - // InternalScope.g:11706:3: ruleExpression + // InternalScope.g:11719:1: ( ')' ) + // InternalScope.g:11720:2: ')' { if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); + before(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3__6__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3_4__0" + // InternalScope.g:11730:1: rule__InfixExpression__Group_1_3_4__0 : rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 ; + public final void rule__InfixExpression__Group_1_3_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11734:1: ( rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 ) + // InternalScope.g:11735:2: rule__InfixExpression__Group_1_3_4__0__Impl rule__InfixExpression__Group_1_3_4__1 + { + pushFollow(FOLLOW_42); + rule__InfixExpression__Group_1_3_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3_4__0" + + + // $ANTLR start "rule__InfixExpression__Group_1_3_4__0__Impl" + // InternalScope.g:11742:1: rule__InfixExpression__Group_1_3_4__0__Impl : ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) ; + public final void rule__InfixExpression__Group_1_3_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11746:1: ( ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) ) + // InternalScope.g:11747:1: ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) + { + // InternalScope.g:11747:1: ( ( rule__InfixExpression__VarAssignment_1_3_4_0 ) ) + // InternalScope.g:11748:2: ( rule__InfixExpression__VarAssignment_1_3_4_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); + } + // InternalScope.g:11749:2: ( rule__InfixExpression__VarAssignment_1_3_4_0 ) + // InternalScope.g:11749:3: rule__InfixExpression__VarAssignment_1_3_4_0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__VarAssignment_1_3_4_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getVarAssignment_1_3_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3_4__0__Impl" + + + // $ANTLR start "rule__InfixExpression__Group_1_3_4__1" + // InternalScope.g:11757:1: rule__InfixExpression__Group_1_3_4__1 : rule__InfixExpression__Group_1_3_4__1__Impl ; + public final void rule__InfixExpression__Group_1_3_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11761:1: ( rule__InfixExpression__Group_1_3_4__1__Impl ) + // InternalScope.g:11762:2: rule__InfixExpression__Group_1_3_4__1__Impl + { + pushFollow(FOLLOW_2); + rule__InfixExpression__Group_1_3_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3_4__1" + + + // $ANTLR start "rule__InfixExpression__Group_1_3_4__1__Impl" + // InternalScope.g:11768:1: rule__InfixExpression__Group_1_3_4__1__Impl : ( '|' ) ; + public final void rule__InfixExpression__Group_1_3_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11772:1: ( ( '|' ) ) + // InternalScope.g:11773:1: ( '|' ) + { + // InternalScope.g:11773:1: ( '|' ) + // InternalScope.g:11774:2: '|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); + } + match(input,92,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__Group_1_3_4__1__Impl" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__0" + // InternalScope.g:11784:1: rule__ParanthesizedExpression__Group__0 : rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 ; + public final void rule__ParanthesizedExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11788:1: ( rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 ) + // InternalScope.g:11789:2: rule__ParanthesizedExpression__Group__0__Impl rule__ParanthesizedExpression__Group__1 + { + pushFollow(FOLLOW_17); + rule__ParanthesizedExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ParanthesizedExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__0" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__0__Impl" + // InternalScope.g:11796:1: rule__ParanthesizedExpression__Group__0__Impl : ( '(' ) ; + public final void rule__ParanthesizedExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11800:1: ( ( '(' ) ) + // InternalScope.g:11801:1: ( '(' ) + { + // InternalScope.g:11801:1: ( '(' ) + // InternalScope.g:11802:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__0__Impl" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__1" + // InternalScope.g:11811:1: rule__ParanthesizedExpression__Group__1 : rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 ; + public final void rule__ParanthesizedExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11815:1: ( rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 ) + // InternalScope.g:11816:2: rule__ParanthesizedExpression__Group__1__Impl rule__ParanthesizedExpression__Group__2 + { + pushFollow(FOLLOW_23); + rule__ParanthesizedExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ParanthesizedExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__1" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__1__Impl" + // InternalScope.g:11823:1: rule__ParanthesizedExpression__Group__1__Impl : ( ruleExpression ) ; + public final void rule__ParanthesizedExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11827:1: ( ( ruleExpression ) ) + // InternalScope.g:11828:1: ( ruleExpression ) + { + // InternalScope.g:11828:1: ( ruleExpression ) + // InternalScope.g:11829:2: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); } pushFollow(FOLLOW_2); ruleExpression(); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); - } + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParanthesizedExpressionAccess().getExpressionParserRuleCall_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__1__Impl" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__2" + // InternalScope.g:11838:1: rule__ParanthesizedExpression__Group__2 : rule__ParanthesizedExpression__Group__2__Impl ; + public final void rule__ParanthesizedExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11842:1: ( rule__ParanthesizedExpression__Group__2__Impl ) + // InternalScope.g:11843:2: rule__ParanthesizedExpression__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__ParanthesizedExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__2" + + + // $ANTLR start "rule__ParanthesizedExpression__Group__2__Impl" + // InternalScope.g:11849:1: rule__ParanthesizedExpression__Group__2__Impl : ( ')' ) ; + public final void rule__ParanthesizedExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11853:1: ( ( ')' ) ) + // InternalScope.g:11854:1: ( ')' ) + { + // InternalScope.g:11854:1: ( ')' ) + // InternalScope.g:11855:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesizedExpression__Group__2__Impl" + + + // $ANTLR start "rule__GlobalVarExpression__Group__0" + // InternalScope.g:11865:1: rule__GlobalVarExpression__Group__0 : rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 ; + public final void rule__GlobalVarExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11869:1: ( rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 ) + // InternalScope.g:11870:2: rule__GlobalVarExpression__Group__0__Impl rule__GlobalVarExpression__Group__1 + { + pushFollow(FOLLOW_4); + rule__GlobalVarExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__GlobalVarExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalVarExpression__Group__0" + + + // $ANTLR start "rule__GlobalVarExpression__Group__0__Impl" + // InternalScope.g:11877:1: rule__GlobalVarExpression__Group__0__Impl : ( 'GLOBALVAR' ) ; + public final void rule__GlobalVarExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11881:1: ( ( 'GLOBALVAR' ) ) + // InternalScope.g:11882:1: ( 'GLOBALVAR' ) + { + // InternalScope.g:11882:1: ( 'GLOBALVAR' ) + // InternalScope.g:11883:2: 'GLOBALVAR' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); + } + match(input,102,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalVarExpression__Group__0__Impl" + + + // $ANTLR start "rule__GlobalVarExpression__Group__1" + // InternalScope.g:11892:1: rule__GlobalVarExpression__Group__1 : rule__GlobalVarExpression__Group__1__Impl ; + public final void rule__GlobalVarExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11896:1: ( rule__GlobalVarExpression__Group__1__Impl ) + // InternalScope.g:11897:2: rule__GlobalVarExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__GlobalVarExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalVarExpression__Group__1" + + + // $ANTLR start "rule__GlobalVarExpression__Group__1__Impl" + // InternalScope.g:11903:1: rule__GlobalVarExpression__Group__1__Impl : ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) ; + public final void rule__GlobalVarExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11907:1: ( ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) ) + // InternalScope.g:11908:1: ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) + { + // InternalScope.g:11908:1: ( ( rule__GlobalVarExpression__NameAssignment_1 ) ) + // InternalScope.g:11909:2: ( rule__GlobalVarExpression__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); + } + // InternalScope.g:11910:2: ( rule__GlobalVarExpression__NameAssignment_1 ) + // InternalScope.g:11910:3: rule__GlobalVarExpression__NameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__GlobalVarExpression__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalVarExpressionAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalVarExpression__Group__1__Impl" + + + // $ANTLR start "rule__OperationCall__Group__0" + // InternalScope.g:11919:1: rule__OperationCall__Group__0 : rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 ; + public final void rule__OperationCall__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11923:1: ( rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 ) + // InternalScope.g:11924:2: rule__OperationCall__Group__0__Impl rule__OperationCall__Group__1 + { + pushFollow(FOLLOW_31); + rule__OperationCall__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OperationCall__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__0" + + + // $ANTLR start "rule__OperationCall__Group__0__Impl" + // InternalScope.g:11931:1: rule__OperationCall__Group__0__Impl : ( ( rule__OperationCall__NameAssignment_0 ) ) ; + public final void rule__OperationCall__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11935:1: ( ( ( rule__OperationCall__NameAssignment_0 ) ) ) + // InternalScope.g:11936:1: ( ( rule__OperationCall__NameAssignment_0 ) ) + { + // InternalScope.g:11936:1: ( ( rule__OperationCall__NameAssignment_0 ) ) + // InternalScope.g:11937:2: ( rule__OperationCall__NameAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getNameAssignment_0()); + } + // InternalScope.g:11938:2: ( rule__OperationCall__NameAssignment_0 ) + // InternalScope.g:11938:3: rule__OperationCall__NameAssignment_0 + { + pushFollow(FOLLOW_2); + rule__OperationCall__NameAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getNameAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__0__Impl" + + + // $ANTLR start "rule__OperationCall__Group__1" + // InternalScope.g:11946:1: rule__OperationCall__Group__1 : rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 ; + public final void rule__OperationCall__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11950:1: ( rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 ) + // InternalScope.g:11951:2: rule__OperationCall__Group__1__Impl rule__OperationCall__Group__2 + { + pushFollow(FOLLOW_70); + rule__OperationCall__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OperationCall__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__1" + + + // $ANTLR start "rule__OperationCall__Group__1__Impl" + // InternalScope.g:11958:1: rule__OperationCall__Group__1__Impl : ( '(' ) ; + public final void rule__OperationCall__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11962:1: ( ( '(' ) ) + // InternalScope.g:11963:1: ( '(' ) + { + // InternalScope.g:11963:1: ( '(' ) + // InternalScope.g:11964:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__1__Impl" + + + // $ANTLR start "rule__OperationCall__Group__2" + // InternalScope.g:11973:1: rule__OperationCall__Group__2 : rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 ; + public final void rule__OperationCall__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11977:1: ( rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 ) + // InternalScope.g:11978:2: rule__OperationCall__Group__2__Impl rule__OperationCall__Group__3 + { + pushFollow(FOLLOW_70); + rule__OperationCall__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OperationCall__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__2" + + + // $ANTLR start "rule__OperationCall__Group__2__Impl" + // InternalScope.g:11985:1: rule__OperationCall__Group__2__Impl : ( ( rule__OperationCall__Group_2__0 )? ) ; + public final void rule__OperationCall__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:11989:1: ( ( ( rule__OperationCall__Group_2__0 )? ) ) + // InternalScope.g:11990:1: ( ( rule__OperationCall__Group_2__0 )? ) + { + // InternalScope.g:11990:1: ( ( rule__OperationCall__Group_2__0 )? ) + // InternalScope.g:11991:2: ( rule__OperationCall__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getGroup_2()); + } + // InternalScope.g:11992:2: ( rule__OperationCall__Group_2__0 )? + int alt109=2; + int LA109_0 = input.LA(1); + + if ( (LA109_0==RULE_ID||LA109_0==RULE_INT||(LA109_0>=RULE_STRING && LA109_0<=RULE_REAL)||LA109_0==24||(LA109_0>=27 && LA109_0<=40)||LA109_0==72||LA109_0==77||LA109_0==94||LA109_0==97||LA109_0==100||(LA109_0>=102 && LA109_0<=103)||LA109_0==108||LA109_0==120) ) { + alt109=1; + } + switch (alt109) { + case 1 : + // InternalScope.g:11992:3: rule__OperationCall__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__OperationCall__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__2__Impl" + + + // $ANTLR start "rule__OperationCall__Group__3" + // InternalScope.g:12000:1: rule__OperationCall__Group__3 : rule__OperationCall__Group__3__Impl ; + public final void rule__OperationCall__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12004:1: ( rule__OperationCall__Group__3__Impl ) + // InternalScope.g:12005:2: rule__OperationCall__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__OperationCall__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__3" + + + // $ANTLR start "rule__OperationCall__Group__3__Impl" + // InternalScope.g:12011:1: rule__OperationCall__Group__3__Impl : ( ')' ) ; + public final void rule__OperationCall__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12015:1: ( ( ')' ) ) + // InternalScope.g:12016:1: ( ')' ) + { + // InternalScope.g:12016:1: ( ')' ) + // InternalScope.g:12017:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group__3__Impl" + + + // $ANTLR start "rule__OperationCall__Group_2__0" + // InternalScope.g:12027:1: rule__OperationCall__Group_2__0 : rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 ; + public final void rule__OperationCall__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12031:1: ( rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 ) + // InternalScope.g:12032:2: rule__OperationCall__Group_2__0__Impl rule__OperationCall__Group_2__1 + { + pushFollow(FOLLOW_71); + rule__OperationCall__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OperationCall__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2__0" + + + // $ANTLR start "rule__OperationCall__Group_2__0__Impl" + // InternalScope.g:12039:1: rule__OperationCall__Group_2__0__Impl : ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) ; + public final void rule__OperationCall__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12043:1: ( ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) ) + // InternalScope.g:12044:1: ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) + { + // InternalScope.g:12044:1: ( ( rule__OperationCall__ParamsAssignment_2_0 ) ) + // InternalScope.g:12045:2: ( rule__OperationCall__ParamsAssignment_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); + } + // InternalScope.g:12046:2: ( rule__OperationCall__ParamsAssignment_2_0 ) + // InternalScope.g:12046:3: rule__OperationCall__ParamsAssignment_2_0 + { + pushFollow(FOLLOW_2); + rule__OperationCall__ParamsAssignment_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2__0__Impl" + + + // $ANTLR start "rule__OperationCall__Group_2__1" + // InternalScope.g:12054:1: rule__OperationCall__Group_2__1 : rule__OperationCall__Group_2__1__Impl ; + public final void rule__OperationCall__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12058:1: ( rule__OperationCall__Group_2__1__Impl ) + // InternalScope.g:12059:2: rule__OperationCall__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__OperationCall__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2__1" + + + // $ANTLR start "rule__OperationCall__Group_2__1__Impl" + // InternalScope.g:12065:1: rule__OperationCall__Group_2__1__Impl : ( ( rule__OperationCall__Group_2_1__0 )* ) ; + public final void rule__OperationCall__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12069:1: ( ( ( rule__OperationCall__Group_2_1__0 )* ) ) + // InternalScope.g:12070:1: ( ( rule__OperationCall__Group_2_1__0 )* ) + { + // InternalScope.g:12070:1: ( ( rule__OperationCall__Group_2_1__0 )* ) + // InternalScope.g:12071:2: ( rule__OperationCall__Group_2_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getGroup_2_1()); + } + // InternalScope.g:12072:2: ( rule__OperationCall__Group_2_1__0 )* + loop110: + do { + int alt110=2; + int LA110_0 = input.LA(1); + + if ( (LA110_0==86) ) { + alt110=1; + } + + + switch (alt110) { + case 1 : + // InternalScope.g:12072:3: rule__OperationCall__Group_2_1__0 + { + pushFollow(FOLLOW_39); + rule__OperationCall__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop110; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getGroup_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2__1__Impl" + + + // $ANTLR start "rule__OperationCall__Group_2_1__0" + // InternalScope.g:12081:1: rule__OperationCall__Group_2_1__0 : rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 ; + public final void rule__OperationCall__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12085:1: ( rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 ) + // InternalScope.g:12086:2: rule__OperationCall__Group_2_1__0__Impl rule__OperationCall__Group_2_1__1 + { + pushFollow(FOLLOW_17); + rule__OperationCall__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OperationCall__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2_1__0" + + + // $ANTLR start "rule__OperationCall__Group_2_1__0__Impl" + // InternalScope.g:12093:1: rule__OperationCall__Group_2_1__0__Impl : ( ',' ) ; + public final void rule__OperationCall__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12097:1: ( ( ',' ) ) + // InternalScope.g:12098:1: ( ',' ) + { + // InternalScope.g:12098:1: ( ',' ) + // InternalScope.g:12099:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2_1__0__Impl" + + + // $ANTLR start "rule__OperationCall__Group_2_1__1" + // InternalScope.g:12108:1: rule__OperationCall__Group_2_1__1 : rule__OperationCall__Group_2_1__1__Impl ; + public final void rule__OperationCall__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12112:1: ( rule__OperationCall__Group_2_1__1__Impl ) + // InternalScope.g:12113:2: rule__OperationCall__Group_2_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__OperationCall__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2_1__1" + + + // $ANTLR start "rule__OperationCall__Group_2_1__1__Impl" + // InternalScope.g:12119:1: rule__OperationCall__Group_2_1__1__Impl : ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) ; + public final void rule__OperationCall__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12123:1: ( ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) ) + // InternalScope.g:12124:1: ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) + { + // InternalScope.g:12124:1: ( ( rule__OperationCall__ParamsAssignment_2_1_1 ) ) + // InternalScope.g:12125:2: ( rule__OperationCall__ParamsAssignment_2_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); + } + // InternalScope.g:12126:2: ( rule__OperationCall__ParamsAssignment_2_1_1 ) + // InternalScope.g:12126:3: rule__OperationCall__ParamsAssignment_2_1_1 + { + pushFollow(FOLLOW_2); + rule__OperationCall__ParamsAssignment_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getParamsAssignment_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__Group_2_1__1__Impl" + + + // $ANTLR start "rule__ListLiteral__Group__0" + // InternalScope.g:12135:1: rule__ListLiteral__Group__0 : rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 ; + public final void rule__ListLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12139:1: ( rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 ) + // InternalScope.g:12140:2: rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 + { + pushFollow(FOLLOW_13); + rule__ListLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ListLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__0" + + + // $ANTLR start "rule__ListLiteral__Group__0__Impl" + // InternalScope.g:12147:1: rule__ListLiteral__Group__0__Impl : ( () ) ; + public final void rule__ListLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12151:1: ( ( () ) ) + // InternalScope.g:12152:1: ( () ) + { + // InternalScope.g:12152:1: ( () ) + // InternalScope.g:12153:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); + } + // InternalScope.g:12154:2: () + // InternalScope.g:12154:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__0__Impl" + + + // $ANTLR start "rule__ListLiteral__Group__1" + // InternalScope.g:12162:1: rule__ListLiteral__Group__1 : rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 ; + public final void rule__ListLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12166:1: ( rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 ) + // InternalScope.g:12167:2: rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 + { + pushFollow(FOLLOW_74); + rule__ListLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ListLiteral__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__1" + + + // $ANTLR start "rule__ListLiteral__Group__1__Impl" + // InternalScope.g:12174:1: rule__ListLiteral__Group__1__Impl : ( '{' ) ; + public final void rule__ListLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12178:1: ( ( '{' ) ) + // InternalScope.g:12179:1: ( '{' ) + { + // InternalScope.g:12179:1: ( '{' ) + // InternalScope.g:12180:2: '{' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); + } + match(input,72,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__1__Impl" + + + // $ANTLR start "rule__ListLiteral__Group__2" + // InternalScope.g:12189:1: rule__ListLiteral__Group__2 : rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 ; + public final void rule__ListLiteral__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12193:1: ( rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 ) + // InternalScope.g:12194:2: rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 + { + pushFollow(FOLLOW_74); + rule__ListLiteral__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ListLiteral__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__2" + + + // $ANTLR start "rule__ListLiteral__Group__2__Impl" + // InternalScope.g:12201:1: rule__ListLiteral__Group__2__Impl : ( ( rule__ListLiteral__Group_2__0 )? ) ; + public final void rule__ListLiteral__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12205:1: ( ( ( rule__ListLiteral__Group_2__0 )? ) ) + // InternalScope.g:12206:1: ( ( rule__ListLiteral__Group_2__0 )? ) + { + // InternalScope.g:12206:1: ( ( rule__ListLiteral__Group_2__0 )? ) + // InternalScope.g:12207:2: ( rule__ListLiteral__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getGroup_2()); + } + // InternalScope.g:12208:2: ( rule__ListLiteral__Group_2__0 )? + int alt111=2; + int LA111_0 = input.LA(1); + + if ( (LA111_0==RULE_ID||LA111_0==RULE_INT||(LA111_0>=RULE_STRING && LA111_0<=RULE_REAL)||LA111_0==24||(LA111_0>=27 && LA111_0<=40)||LA111_0==72||LA111_0==77||LA111_0==94||LA111_0==97||LA111_0==100||(LA111_0>=102 && LA111_0<=103)||LA111_0==108||LA111_0==120) ) { + alt111=1; + } + switch (alt111) { + case 1 : + // InternalScope.g:12208:3: rule__ListLiteral__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__ListLiteral__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__2__Impl" + + + // $ANTLR start "rule__ListLiteral__Group__3" + // InternalScope.g:12216:1: rule__ListLiteral__Group__3 : rule__ListLiteral__Group__3__Impl ; + public final void rule__ListLiteral__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12220:1: ( rule__ListLiteral__Group__3__Impl ) + // InternalScope.g:12221:2: rule__ListLiteral__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__ListLiteral__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__3" + + + // $ANTLR start "rule__ListLiteral__Group__3__Impl" + // InternalScope.g:12227:1: rule__ListLiteral__Group__3__Impl : ( '}' ) ; + public final void rule__ListLiteral__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12231:1: ( ( '}' ) ) + // InternalScope.g:12232:1: ( '}' ) + { + // InternalScope.g:12232:1: ( '}' ) + // InternalScope.g:12233:2: '}' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); + } + match(input,73,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group__3__Impl" + + + // $ANTLR start "rule__ListLiteral__Group_2__0" + // InternalScope.g:12243:1: rule__ListLiteral__Group_2__0 : rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 ; + public final void rule__ListLiteral__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12247:1: ( rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 ) + // InternalScope.g:12248:2: rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 + { + pushFollow(FOLLOW_71); + rule__ListLiteral__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ListLiteral__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2__0" + + + // $ANTLR start "rule__ListLiteral__Group_2__0__Impl" + // InternalScope.g:12255:1: rule__ListLiteral__Group_2__0__Impl : ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) ; + public final void rule__ListLiteral__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12259:1: ( ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) ) + // InternalScope.g:12260:1: ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) + { + // InternalScope.g:12260:1: ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) + // InternalScope.g:12261:2: ( rule__ListLiteral__ElementsAssignment_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); + } + // InternalScope.g:12262:2: ( rule__ListLiteral__ElementsAssignment_2_0 ) + // InternalScope.g:12262:3: rule__ListLiteral__ElementsAssignment_2_0 + { + pushFollow(FOLLOW_2); + rule__ListLiteral__ElementsAssignment_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2__0__Impl" + + + // $ANTLR start "rule__ListLiteral__Group_2__1" + // InternalScope.g:12270:1: rule__ListLiteral__Group_2__1 : rule__ListLiteral__Group_2__1__Impl ; + public final void rule__ListLiteral__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12274:1: ( rule__ListLiteral__Group_2__1__Impl ) + // InternalScope.g:12275:2: rule__ListLiteral__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__ListLiteral__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2__1" + + + // $ANTLR start "rule__ListLiteral__Group_2__1__Impl" + // InternalScope.g:12281:1: rule__ListLiteral__Group_2__1__Impl : ( ( rule__ListLiteral__Group_2_1__0 )* ) ; + public final void rule__ListLiteral__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12285:1: ( ( ( rule__ListLiteral__Group_2_1__0 )* ) ) + // InternalScope.g:12286:1: ( ( rule__ListLiteral__Group_2_1__0 )* ) + { + // InternalScope.g:12286:1: ( ( rule__ListLiteral__Group_2_1__0 )* ) + // InternalScope.g:12287:2: ( rule__ListLiteral__Group_2_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getGroup_2_1()); + } + // InternalScope.g:12288:2: ( rule__ListLiteral__Group_2_1__0 )* + loop112: + do { + int alt112=2; + int LA112_0 = input.LA(1); + + if ( (LA112_0==86) ) { + alt112=1; + } + + + switch (alt112) { + case 1 : + // InternalScope.g:12288:3: rule__ListLiteral__Group_2_1__0 + { + pushFollow(FOLLOW_39); + rule__ListLiteral__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop112; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getGroup_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2__1__Impl" + + + // $ANTLR start "rule__ListLiteral__Group_2_1__0" + // InternalScope.g:12297:1: rule__ListLiteral__Group_2_1__0 : rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 ; + public final void rule__ListLiteral__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12301:1: ( rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 ) + // InternalScope.g:12302:2: rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 + { + pushFollow(FOLLOW_17); + rule__ListLiteral__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ListLiteral__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2_1__0" + + + // $ANTLR start "rule__ListLiteral__Group_2_1__0__Impl" + // InternalScope.g:12309:1: rule__ListLiteral__Group_2_1__0__Impl : ( ',' ) ; + public final void rule__ListLiteral__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12313:1: ( ( ',' ) ) + // InternalScope.g:12314:1: ( ',' ) + { + // InternalScope.g:12314:1: ( ',' ) + // InternalScope.g:12315:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2_1__0__Impl" + + + // $ANTLR start "rule__ListLiteral__Group_2_1__1" + // InternalScope.g:12324:1: rule__ListLiteral__Group_2_1__1 : rule__ListLiteral__Group_2_1__1__Impl ; + public final void rule__ListLiteral__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12328:1: ( rule__ListLiteral__Group_2_1__1__Impl ) + // InternalScope.g:12329:2: rule__ListLiteral__Group_2_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__ListLiteral__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2_1__1" + + + // $ANTLR start "rule__ListLiteral__Group_2_1__1__Impl" + // InternalScope.g:12335:1: rule__ListLiteral__Group_2_1__1__Impl : ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) ; + public final void rule__ListLiteral__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12339:1: ( ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) ) + // InternalScope.g:12340:1: ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) + { + // InternalScope.g:12340:1: ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) + // InternalScope.g:12341:2: ( rule__ListLiteral__ElementsAssignment_2_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); + } + // InternalScope.g:12342:2: ( rule__ListLiteral__ElementsAssignment_2_1_1 ) + // InternalScope.g:12342:3: rule__ListLiteral__ElementsAssignment_2_1_1 + { + pushFollow(FOLLOW_2); + rule__ListLiteral__ElementsAssignment_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__Group_2_1__1__Impl" + + + // $ANTLR start "rule__ConstructorCallExpression__Group__0" + // InternalScope.g:12351:1: rule__ConstructorCallExpression__Group__0 : rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 ; + public final void rule__ConstructorCallExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12355:1: ( rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 ) + // InternalScope.g:12356:2: rule__ConstructorCallExpression__Group__0__Impl rule__ConstructorCallExpression__Group__1 + { + pushFollow(FOLLOW_48); + rule__ConstructorCallExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ConstructorCallExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstructorCallExpression__Group__0" + + + // $ANTLR start "rule__ConstructorCallExpression__Group__0__Impl" + // InternalScope.g:12363:1: rule__ConstructorCallExpression__Group__0__Impl : ( 'new' ) ; + public final void rule__ConstructorCallExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12367:1: ( ( 'new' ) ) + // InternalScope.g:12368:1: ( 'new' ) + { + // InternalScope.g:12368:1: ( 'new' ) + // InternalScope.g:12369:2: 'new' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); + } + match(input,103,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstructorCallExpression__Group__0__Impl" + + + // $ANTLR start "rule__ConstructorCallExpression__Group__1" + // InternalScope.g:12378:1: rule__ConstructorCallExpression__Group__1 : rule__ConstructorCallExpression__Group__1__Impl ; + public final void rule__ConstructorCallExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12382:1: ( rule__ConstructorCallExpression__Group__1__Impl ) + // InternalScope.g:12383:2: rule__ConstructorCallExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__ConstructorCallExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstructorCallExpression__Group__1" + + + // $ANTLR start "rule__ConstructorCallExpression__Group__1__Impl" + // InternalScope.g:12389:1: rule__ConstructorCallExpression__Group__1__Impl : ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) ; + public final void rule__ConstructorCallExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12393:1: ( ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) ) + // InternalScope.g:12394:1: ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) + { + // InternalScope.g:12394:1: ( ( rule__ConstructorCallExpression__TypeAssignment_1 ) ) + // InternalScope.g:12395:2: ( rule__ConstructorCallExpression__TypeAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); + } + // InternalScope.g:12396:2: ( rule__ConstructorCallExpression__TypeAssignment_1 ) + // InternalScope.g:12396:3: rule__ConstructorCallExpression__TypeAssignment_1 + { + pushFollow(FOLLOW_2); + rule__ConstructorCallExpression__TypeAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConstructorCallExpressionAccess().getTypeAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstructorCallExpression__Group__1__Impl" + + + // $ANTLR start "rule__TypeSelectExpression__Group__0" + // InternalScope.g:12405:1: rule__TypeSelectExpression__Group__0 : rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 ; + public final void rule__TypeSelectExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12409:1: ( rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 ) + // InternalScope.g:12410:2: rule__TypeSelectExpression__Group__0__Impl rule__TypeSelectExpression__Group__1 + { + pushFollow(FOLLOW_31); + rule__TypeSelectExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__0" + + + // $ANTLR start "rule__TypeSelectExpression__Group__0__Impl" + // InternalScope.g:12417:1: rule__TypeSelectExpression__Group__0__Impl : ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) ; + public final void rule__TypeSelectExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12421:1: ( ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) ) + // InternalScope.g:12422:1: ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) + { + // InternalScope.g:12422:1: ( ( rule__TypeSelectExpression__NameAssignment_0 ) ) + // InternalScope.g:12423:2: ( rule__TypeSelectExpression__NameAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); + } + // InternalScope.g:12424:2: ( rule__TypeSelectExpression__NameAssignment_0 ) + // InternalScope.g:12424:3: rule__TypeSelectExpression__NameAssignment_0 + { + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__NameAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getNameAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__0__Impl" + + + // $ANTLR start "rule__TypeSelectExpression__Group__1" + // InternalScope.g:12432:1: rule__TypeSelectExpression__Group__1 : rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 ; + public final void rule__TypeSelectExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12436:1: ( rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 ) + // InternalScope.g:12437:2: rule__TypeSelectExpression__Group__1__Impl rule__TypeSelectExpression__Group__2 + { + pushFollow(FOLLOW_48); + rule__TypeSelectExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__1" + + + // $ANTLR start "rule__TypeSelectExpression__Group__1__Impl" + // InternalScope.g:12444:1: rule__TypeSelectExpression__Group__1__Impl : ( '(' ) ; + public final void rule__TypeSelectExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12448:1: ( ( '(' ) ) + // InternalScope.g:12449:1: ( '(' ) + { + // InternalScope.g:12449:1: ( '(' ) + // InternalScope.g:12450:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__1__Impl" + + + // $ANTLR start "rule__TypeSelectExpression__Group__2" + // InternalScope.g:12459:1: rule__TypeSelectExpression__Group__2 : rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 ; + public final void rule__TypeSelectExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12463:1: ( rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 ) + // InternalScope.g:12464:2: rule__TypeSelectExpression__Group__2__Impl rule__TypeSelectExpression__Group__3 + { + pushFollow(FOLLOW_23); + rule__TypeSelectExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__2" + + + // $ANTLR start "rule__TypeSelectExpression__Group__2__Impl" + // InternalScope.g:12471:1: rule__TypeSelectExpression__Group__2__Impl : ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) ; + public final void rule__TypeSelectExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12475:1: ( ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) ) + // InternalScope.g:12476:1: ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) + { + // InternalScope.g:12476:1: ( ( rule__TypeSelectExpression__TypeAssignment_2 ) ) + // InternalScope.g:12477:2: ( rule__TypeSelectExpression__TypeAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); + } + // InternalScope.g:12478:2: ( rule__TypeSelectExpression__TypeAssignment_2 ) + // InternalScope.g:12478:3: rule__TypeSelectExpression__TypeAssignment_2 + { + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__TypeAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getTypeAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__2__Impl" + + + // $ANTLR start "rule__TypeSelectExpression__Group__3" + // InternalScope.g:12486:1: rule__TypeSelectExpression__Group__3 : rule__TypeSelectExpression__Group__3__Impl ; + public final void rule__TypeSelectExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12490:1: ( rule__TypeSelectExpression__Group__3__Impl ) + // InternalScope.g:12491:2: rule__TypeSelectExpression__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__TypeSelectExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__3" + + + // $ANTLR start "rule__TypeSelectExpression__Group__3__Impl" + // InternalScope.g:12497:1: rule__TypeSelectExpression__Group__3__Impl : ( ')' ) ; + public final void rule__TypeSelectExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12501:1: ( ( ')' ) ) + // InternalScope.g:12502:1: ( ')' ) + { + // InternalScope.g:12502:1: ( ')' ) + // InternalScope.g:12503:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__Group__3__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group__0" + // InternalScope.g:12513:1: rule__CollectionExpression__Group__0 : rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 ; + public final void rule__CollectionExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12517:1: ( rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 ) + // InternalScope.g:12518:2: rule__CollectionExpression__Group__0__Impl rule__CollectionExpression__Group__1 + { + pushFollow(FOLLOW_31); + rule__CollectionExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__0" + + + // $ANTLR start "rule__CollectionExpression__Group__0__Impl" + // InternalScope.g:12525:1: rule__CollectionExpression__Group__0__Impl : ( ( rule__CollectionExpression__NameAssignment_0 ) ) ; + public final void rule__CollectionExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12529:1: ( ( ( rule__CollectionExpression__NameAssignment_0 ) ) ) + // InternalScope.g:12530:1: ( ( rule__CollectionExpression__NameAssignment_0 ) ) + { + // InternalScope.g:12530:1: ( ( rule__CollectionExpression__NameAssignment_0 ) ) + // InternalScope.g:12531:2: ( rule__CollectionExpression__NameAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); + } + // InternalScope.g:12532:2: ( rule__CollectionExpression__NameAssignment_0 ) + // InternalScope.g:12532:3: rule__CollectionExpression__NameAssignment_0 + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__NameAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__0__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group__1" + // InternalScope.g:12540:1: rule__CollectionExpression__Group__1 : rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 ; + public final void rule__CollectionExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12544:1: ( rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 ) + // InternalScope.g:12545:2: rule__CollectionExpression__Group__1__Impl rule__CollectionExpression__Group__2 + { + pushFollow(FOLLOW_17); + rule__CollectionExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__1" + + + // $ANTLR start "rule__CollectionExpression__Group__1__Impl" + // InternalScope.g:12552:1: rule__CollectionExpression__Group__1__Impl : ( '(' ) ; + public final void rule__CollectionExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12556:1: ( ( '(' ) ) + // InternalScope.g:12557:1: ( '(' ) + { + // InternalScope.g:12557:1: ( '(' ) + // InternalScope.g:12558:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__1__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group__2" + // InternalScope.g:12567:1: rule__CollectionExpression__Group__2 : rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 ; + public final void rule__CollectionExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12571:1: ( rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 ) + // InternalScope.g:12572:2: rule__CollectionExpression__Group__2__Impl rule__CollectionExpression__Group__3 + { + pushFollow(FOLLOW_17); + rule__CollectionExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__2" + + + // $ANTLR start "rule__CollectionExpression__Group__2__Impl" + // InternalScope.g:12579:1: rule__CollectionExpression__Group__2__Impl : ( ( rule__CollectionExpression__Group_2__0 )? ) ; + public final void rule__CollectionExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12583:1: ( ( ( rule__CollectionExpression__Group_2__0 )? ) ) + // InternalScope.g:12584:1: ( ( rule__CollectionExpression__Group_2__0 )? ) + { + // InternalScope.g:12584:1: ( ( rule__CollectionExpression__Group_2__0 )? ) + // InternalScope.g:12585:2: ( rule__CollectionExpression__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getGroup_2()); + } + // InternalScope.g:12586:2: ( rule__CollectionExpression__Group_2__0 )? + int alt113=2; + int LA113_0 = input.LA(1); + + if ( (LA113_0==RULE_ID) ) { + int LA113_1 = input.LA(2); + + if ( (LA113_1==92) ) { + alt113=1; + } + } + switch (alt113) { + case 1 : + // InternalScope.g:12586:3: rule__CollectionExpression__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__2__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group__3" + // InternalScope.g:12594:1: rule__CollectionExpression__Group__3 : rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 ; + public final void rule__CollectionExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12598:1: ( rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 ) + // InternalScope.g:12599:2: rule__CollectionExpression__Group__3__Impl rule__CollectionExpression__Group__4 + { + pushFollow(FOLLOW_23); + rule__CollectionExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__3" + + + // $ANTLR start "rule__CollectionExpression__Group__3__Impl" + // InternalScope.g:12606:1: rule__CollectionExpression__Group__3__Impl : ( ( rule__CollectionExpression__ExpAssignment_3 ) ) ; + public final void rule__CollectionExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12610:1: ( ( ( rule__CollectionExpression__ExpAssignment_3 ) ) ) + // InternalScope.g:12611:1: ( ( rule__CollectionExpression__ExpAssignment_3 ) ) + { + // InternalScope.g:12611:1: ( ( rule__CollectionExpression__ExpAssignment_3 ) ) + // InternalScope.g:12612:2: ( rule__CollectionExpression__ExpAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); + } + // InternalScope.g:12613:2: ( rule__CollectionExpression__ExpAssignment_3 ) + // InternalScope.g:12613:3: rule__CollectionExpression__ExpAssignment_3 + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__ExpAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getExpAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__3__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group__4" + // InternalScope.g:12621:1: rule__CollectionExpression__Group__4 : rule__CollectionExpression__Group__4__Impl ; + public final void rule__CollectionExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12625:1: ( rule__CollectionExpression__Group__4__Impl ) + // InternalScope.g:12626:2: rule__CollectionExpression__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__4" + + + // $ANTLR start "rule__CollectionExpression__Group__4__Impl" + // InternalScope.g:12632:1: rule__CollectionExpression__Group__4__Impl : ( ')' ) ; + public final void rule__CollectionExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12636:1: ( ( ')' ) ) + // InternalScope.g:12637:1: ( ')' ) + { + // InternalScope.g:12637:1: ( ')' ) + // InternalScope.g:12638:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group__4__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group_2__0" + // InternalScope.g:12648:1: rule__CollectionExpression__Group_2__0 : rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 ; + public final void rule__CollectionExpression__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12652:1: ( rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 ) + // InternalScope.g:12653:2: rule__CollectionExpression__Group_2__0__Impl rule__CollectionExpression__Group_2__1 + { + pushFollow(FOLLOW_42); + rule__CollectionExpression__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group_2__0" + + + // $ANTLR start "rule__CollectionExpression__Group_2__0__Impl" + // InternalScope.g:12660:1: rule__CollectionExpression__Group_2__0__Impl : ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) ; + public final void rule__CollectionExpression__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12664:1: ( ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) ) + // InternalScope.g:12665:1: ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) + { + // InternalScope.g:12665:1: ( ( rule__CollectionExpression__VarAssignment_2_0 ) ) + // InternalScope.g:12666:2: ( rule__CollectionExpression__VarAssignment_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); + } + // InternalScope.g:12667:2: ( rule__CollectionExpression__VarAssignment_2_0 ) + // InternalScope.g:12667:3: rule__CollectionExpression__VarAssignment_2_0 + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__VarAssignment_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getVarAssignment_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group_2__0__Impl" + + + // $ANTLR start "rule__CollectionExpression__Group_2__1" + // InternalScope.g:12675:1: rule__CollectionExpression__Group_2__1 : rule__CollectionExpression__Group_2__1__Impl ; + public final void rule__CollectionExpression__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12679:1: ( rule__CollectionExpression__Group_2__1__Impl ) + // InternalScope.g:12680:2: rule__CollectionExpression__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group_2__1" + + + // $ANTLR start "rule__CollectionExpression__Group_2__1__Impl" + // InternalScope.g:12686:1: rule__CollectionExpression__Group_2__1__Impl : ( '|' ) ; + public final void rule__CollectionExpression__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12690:1: ( ( '|' ) ) + // InternalScope.g:12691:1: ( '|' ) + { + // InternalScope.g:12691:1: ( '|' ) + // InternalScope.g:12692:2: '|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); + } + match(input,92,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__Group_2__1__Impl" + + + // $ANTLR start "rule__CollectionType__Group__0" + // InternalScope.g:12702:1: rule__CollectionType__Group__0 : rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 ; + public final void rule__CollectionType__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12706:1: ( rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 ) + // InternalScope.g:12707:2: rule__CollectionType__Group__0__Impl rule__CollectionType__Group__1 + { + pushFollow(FOLLOW_29); + rule__CollectionType__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionType__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__0" + + + // $ANTLR start "rule__CollectionType__Group__0__Impl" + // InternalScope.g:12714:1: rule__CollectionType__Group__0__Impl : ( ( rule__CollectionType__ClAssignment_0 ) ) ; + public final void rule__CollectionType__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12718:1: ( ( ( rule__CollectionType__ClAssignment_0 ) ) ) + // InternalScope.g:12719:1: ( ( rule__CollectionType__ClAssignment_0 ) ) + { + // InternalScope.g:12719:1: ( ( rule__CollectionType__ClAssignment_0 ) ) + // InternalScope.g:12720:2: ( rule__CollectionType__ClAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); + } + // InternalScope.g:12721:2: ( rule__CollectionType__ClAssignment_0 ) + // InternalScope.g:12721:3: rule__CollectionType__ClAssignment_0 + { + pushFollow(FOLLOW_2); + rule__CollectionType__ClAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getClAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__0__Impl" + + + // $ANTLR start "rule__CollectionType__Group__1" + // InternalScope.g:12729:1: rule__CollectionType__Group__1 : rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 ; + public final void rule__CollectionType__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12733:1: ( rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 ) + // InternalScope.g:12734:2: rule__CollectionType__Group__1__Impl rule__CollectionType__Group__2 + { + pushFollow(FOLLOW_48); + rule__CollectionType__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionType__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__1" + + + // $ANTLR start "rule__CollectionType__Group__1__Impl" + // InternalScope.g:12741:1: rule__CollectionType__Group__1__Impl : ( '[' ) ; + public final void rule__CollectionType__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12745:1: ( ( '[' ) ) + // InternalScope.g:12746:1: ( '[' ) + { + // InternalScope.g:12746:1: ( '[' ) + // InternalScope.g:12747:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); + } + match(input,82,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__1__Impl" + + + // $ANTLR start "rule__CollectionType__Group__2" + // InternalScope.g:12756:1: rule__CollectionType__Group__2 : rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 ; + public final void rule__CollectionType__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12760:1: ( rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 ) + // InternalScope.g:12761:2: rule__CollectionType__Group__2__Impl rule__CollectionType__Group__3 + { + pushFollow(FOLLOW_30); + rule__CollectionType__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__CollectionType__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__2" + + + // $ANTLR start "rule__CollectionType__Group__2__Impl" + // InternalScope.g:12768:1: rule__CollectionType__Group__2__Impl : ( ( rule__CollectionType__Id1Assignment_2 ) ) ; + public final void rule__CollectionType__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12772:1: ( ( ( rule__CollectionType__Id1Assignment_2 ) ) ) + // InternalScope.g:12773:1: ( ( rule__CollectionType__Id1Assignment_2 ) ) + { + // InternalScope.g:12773:1: ( ( rule__CollectionType__Id1Assignment_2 ) ) + // InternalScope.g:12774:2: ( rule__CollectionType__Id1Assignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); + } + // InternalScope.g:12775:2: ( rule__CollectionType__Id1Assignment_2 ) + // InternalScope.g:12775:3: rule__CollectionType__Id1Assignment_2 + { + pushFollow(FOLLOW_2); + rule__CollectionType__Id1Assignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getId1Assignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__2__Impl" + + + // $ANTLR start "rule__CollectionType__Group__3" + // InternalScope.g:12783:1: rule__CollectionType__Group__3 : rule__CollectionType__Group__3__Impl ; + public final void rule__CollectionType__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12787:1: ( rule__CollectionType__Group__3__Impl ) + // InternalScope.g:12788:2: rule__CollectionType__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__CollectionType__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__3" + + + // $ANTLR start "rule__CollectionType__Group__3__Impl" + // InternalScope.g:12794:1: rule__CollectionType__Group__3__Impl : ( ']' ) ; + public final void rule__CollectionType__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12798:1: ( ( ']' ) ) + // InternalScope.g:12799:1: ( ']' ) + { + // InternalScope.g:12799:1: ( ']' ) + // InternalScope.g:12800:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); + } + match(input,83,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Group__3__Impl" + + + // $ANTLR start "rule__SimpleType__Group__0" + // InternalScope.g:12810:1: rule__SimpleType__Group__0 : rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 ; + public final void rule__SimpleType__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12814:1: ( rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 ) + // InternalScope.g:12815:2: rule__SimpleType__Group__0__Impl rule__SimpleType__Group__1 + { + pushFollow(FOLLOW_43); + rule__SimpleType__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__SimpleType__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group__0" + + + // $ANTLR start "rule__SimpleType__Group__0__Impl" + // InternalScope.g:12822:1: rule__SimpleType__Group__0__Impl : ( ( rule__SimpleType__IdAssignment_0 ) ) ; + public final void rule__SimpleType__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12826:1: ( ( ( rule__SimpleType__IdAssignment_0 ) ) ) + // InternalScope.g:12827:1: ( ( rule__SimpleType__IdAssignment_0 ) ) + { + // InternalScope.g:12827:1: ( ( rule__SimpleType__IdAssignment_0 ) ) + // InternalScope.g:12828:2: ( rule__SimpleType__IdAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); + } + // InternalScope.g:12829:2: ( rule__SimpleType__IdAssignment_0 ) + // InternalScope.g:12829:3: rule__SimpleType__IdAssignment_0 + { + pushFollow(FOLLOW_2); + rule__SimpleType__IdAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getIdAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group__0__Impl" + + + // $ANTLR start "rule__SimpleType__Group__1" + // InternalScope.g:12837:1: rule__SimpleType__Group__1 : rule__SimpleType__Group__1__Impl ; + public final void rule__SimpleType__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12841:1: ( rule__SimpleType__Group__1__Impl ) + // InternalScope.g:12842:2: rule__SimpleType__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__SimpleType__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group__1" + + + // $ANTLR start "rule__SimpleType__Group__1__Impl" + // InternalScope.g:12848:1: rule__SimpleType__Group__1__Impl : ( ( rule__SimpleType__Group_1__0 )* ) ; + public final void rule__SimpleType__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12852:1: ( ( ( rule__SimpleType__Group_1__0 )* ) ) + // InternalScope.g:12853:1: ( ( rule__SimpleType__Group_1__0 )* ) + { + // InternalScope.g:12853:1: ( ( rule__SimpleType__Group_1__0 )* ) + // InternalScope.g:12854:2: ( rule__SimpleType__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getGroup_1()); + } + // InternalScope.g:12855:2: ( rule__SimpleType__Group_1__0 )* + loop114: + do { + int alt114=2; + int LA114_0 = input.LA(1); + + if ( (LA114_0==93) ) { + alt114=1; + } + + + switch (alt114) { + case 1 : + // InternalScope.g:12855:3: rule__SimpleType__Group_1__0 + { + pushFollow(FOLLOW_44); + rule__SimpleType__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop114; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group__1__Impl" + + + // $ANTLR start "rule__SimpleType__Group_1__0" + // InternalScope.g:12864:1: rule__SimpleType__Group_1__0 : rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 ; + public final void rule__SimpleType__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12868:1: ( rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 ) + // InternalScope.g:12869:2: rule__SimpleType__Group_1__0__Impl rule__SimpleType__Group_1__1 + { + pushFollow(FOLLOW_4); + rule__SimpleType__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__SimpleType__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group_1__0" + + + // $ANTLR start "rule__SimpleType__Group_1__0__Impl" + // InternalScope.g:12876:1: rule__SimpleType__Group_1__0__Impl : ( '::' ) ; + public final void rule__SimpleType__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12880:1: ( ( '::' ) ) + // InternalScope.g:12881:1: ( '::' ) + { + // InternalScope.g:12881:1: ( '::' ) + // InternalScope.g:12882:2: '::' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); + } + match(input,93,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group_1__0__Impl" + + + // $ANTLR start "rule__SimpleType__Group_1__1" + // InternalScope.g:12891:1: rule__SimpleType__Group_1__1 : rule__SimpleType__Group_1__1__Impl ; + public final void rule__SimpleType__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12895:1: ( rule__SimpleType__Group_1__1__Impl ) + // InternalScope.g:12896:2: rule__SimpleType__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__SimpleType__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group_1__1" + + + // $ANTLR start "rule__SimpleType__Group_1__1__Impl" + // InternalScope.g:12902:1: rule__SimpleType__Group_1__1__Impl : ( ( rule__SimpleType__IdAssignment_1_1 ) ) ; + public final void rule__SimpleType__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12906:1: ( ( ( rule__SimpleType__IdAssignment_1_1 ) ) ) + // InternalScope.g:12907:1: ( ( rule__SimpleType__IdAssignment_1_1 ) ) + { + // InternalScope.g:12907:1: ( ( rule__SimpleType__IdAssignment_1_1 ) ) + // InternalScope.g:12908:2: ( rule__SimpleType__IdAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); + } + // InternalScope.g:12909:2: ( rule__SimpleType__IdAssignment_1_1 ) + // InternalScope.g:12909:3: rule__SimpleType__IdAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__SimpleType__IdAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getIdAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__Group_1__1__Impl" + + + // $ANTLR start "rule__XAssignment__Group_0__0" + // InternalScope.g:12918:1: rule__XAssignment__Group_0__0 : rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 ; + public final void rule__XAssignment__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12922:1: ( rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 ) + // InternalScope.g:12923:2: rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 + { + pushFollow(FOLLOW_75); + rule__XAssignment__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__0" + + + // $ANTLR start "rule__XAssignment__Group_0__0__Impl" + // InternalScope.g:12930:1: rule__XAssignment__Group_0__0__Impl : ( () ) ; + public final void rule__XAssignment__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12934:1: ( ( () ) ) + // InternalScope.g:12935:1: ( () ) + { + // InternalScope.g:12935:1: ( () ) + // InternalScope.g:12936:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0()); + } + // InternalScope.g:12937:2: () + // InternalScope.g:12937:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__0__Impl" + + + // $ANTLR start "rule__XAssignment__Group_0__1" + // InternalScope.g:12945:1: rule__XAssignment__Group_0__1 : rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 ; + public final void rule__XAssignment__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12949:1: ( rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 ) + // InternalScope.g:12950:2: rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 + { + pushFollow(FOLLOW_16); + rule__XAssignment__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__1" + + + // $ANTLR start "rule__XAssignment__Group_0__1__Impl" + // InternalScope.g:12957:1: rule__XAssignment__Group_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) ; + public final void rule__XAssignment__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12961:1: ( ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) ) + // InternalScope.g:12962:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) + { + // InternalScope.g:12962:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) + // InternalScope.g:12963:2: ( rule__XAssignment__FeatureAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1()); + } + // InternalScope.g:12964:2: ( rule__XAssignment__FeatureAssignment_0_1 ) + // InternalScope.g:12964:3: rule__XAssignment__FeatureAssignment_0_1 + { + pushFollow(FOLLOW_2); + rule__XAssignment__FeatureAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__1__Impl" + + + // $ANTLR start "rule__XAssignment__Group_0__2" + // InternalScope.g:12972:1: rule__XAssignment__Group_0__2 : rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 ; + public final void rule__XAssignment__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12976:1: ( rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 ) + // InternalScope.g:12977:2: rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 + { + pushFollow(FOLLOW_76); + rule__XAssignment__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__2" + + + // $ANTLR start "rule__XAssignment__Group_0__2__Impl" + // InternalScope.g:12984:1: rule__XAssignment__Group_0__2__Impl : ( ruleOpSingleAssign ) ; + public final void rule__XAssignment__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:12988:1: ( ( ruleOpSingleAssign ) ) + // InternalScope.g:12989:1: ( ruleOpSingleAssign ) + { + // InternalScope.g:12989:1: ( ruleOpSingleAssign ) + // InternalScope.g:12990:2: ruleOpSingleAssign + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); + } + pushFollow(FOLLOW_2); + ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__2__Impl" + + + // $ANTLR start "rule__XAssignment__Group_0__3" + // InternalScope.g:12999:1: rule__XAssignment__Group_0__3 : rule__XAssignment__Group_0__3__Impl ; + public final void rule__XAssignment__Group_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13003:1: ( rule__XAssignment__Group_0__3__Impl ) + // InternalScope.g:13004:2: rule__XAssignment__Group_0__3__Impl + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__3" + + + // $ANTLR start "rule__XAssignment__Group_0__3__Impl" + // InternalScope.g:13010:1: rule__XAssignment__Group_0__3__Impl : ( ( rule__XAssignment__ValueAssignment_0_3 ) ) ; + public final void rule__XAssignment__Group_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13014:1: ( ( ( rule__XAssignment__ValueAssignment_0_3 ) ) ) + // InternalScope.g:13015:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) ) + { + // InternalScope.g:13015:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) ) + // InternalScope.g:13016:2: ( rule__XAssignment__ValueAssignment_0_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3()); + } + // InternalScope.g:13017:2: ( rule__XAssignment__ValueAssignment_0_3 ) + // InternalScope.g:13017:3: rule__XAssignment__ValueAssignment_0_3 + { + pushFollow(FOLLOW_2); + rule__XAssignment__ValueAssignment_0_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_0__3__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1__0" + // InternalScope.g:13026:1: rule__XAssignment__Group_1__0 : rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 ; + public final void rule__XAssignment__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13030:1: ( rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 ) + // InternalScope.g:13031:2: rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 + { + pushFollow(FOLLOW_77); + rule__XAssignment__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1__0" + + + // $ANTLR start "rule__XAssignment__Group_1__0__Impl" + // InternalScope.g:13038:1: rule__XAssignment__Group_1__0__Impl : ( ruleXOrExpression ) ; + public final void rule__XAssignment__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13042:1: ( ( ruleXOrExpression ) ) + // InternalScope.g:13043:1: ( ruleXOrExpression ) + { + // InternalScope.g:13043:1: ( ruleXOrExpression ) + // InternalScope.g:13044:2: ruleXOrExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleXOrExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1__0__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1__1" + // InternalScope.g:13053:1: rule__XAssignment__Group_1__1 : rule__XAssignment__Group_1__1__Impl ; + public final void rule__XAssignment__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13057:1: ( rule__XAssignment__Group_1__1__Impl ) + // InternalScope.g:13058:2: rule__XAssignment__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1__1" + + + // $ANTLR start "rule__XAssignment__Group_1__1__Impl" + // InternalScope.g:13064:1: rule__XAssignment__Group_1__1__Impl : ( ( rule__XAssignment__Group_1_1__0 )? ) ; + public final void rule__XAssignment__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13068:1: ( ( ( rule__XAssignment__Group_1_1__0 )? ) ) + // InternalScope.g:13069:1: ( ( rule__XAssignment__Group_1_1__0 )? ) + { + // InternalScope.g:13069:1: ( ( rule__XAssignment__Group_1_1__0 )? ) + // InternalScope.g:13070:2: ( rule__XAssignment__Group_1_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getGroup_1_1()); + } + // InternalScope.g:13071:2: ( rule__XAssignment__Group_1_1__0 )? + int alt115=2; + alt115 = dfa115.predict(input); + switch (alt115) { + case 1 : + // InternalScope.g:13071:3: rule__XAssignment__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getGroup_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1__1__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1_1__0" + // InternalScope.g:13080:1: rule__XAssignment__Group_1_1__0 : rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 ; + public final void rule__XAssignment__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13084:1: ( rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 ) + // InternalScope.g:13085:2: rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 + { + pushFollow(FOLLOW_76); + rule__XAssignment__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1__0" + + + // $ANTLR start "rule__XAssignment__Group_1_1__0__Impl" + // InternalScope.g:13092:1: rule__XAssignment__Group_1_1__0__Impl : ( ( rule__XAssignment__Group_1_1_0__0 ) ) ; + public final void rule__XAssignment__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13096:1: ( ( ( rule__XAssignment__Group_1_1_0__0 ) ) ) + // InternalScope.g:13097:1: ( ( rule__XAssignment__Group_1_1_0__0 ) ) + { + // InternalScope.g:13097:1: ( ( rule__XAssignment__Group_1_1_0__0 ) ) + // InternalScope.g:13098:2: ( rule__XAssignment__Group_1_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0()); + } + // InternalScope.g:13099:2: ( rule__XAssignment__Group_1_1_0__0 ) + // InternalScope.g:13099:3: rule__XAssignment__Group_1_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getGroup_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1__0__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1_1__1" + // InternalScope.g:13107:1: rule__XAssignment__Group_1_1__1 : rule__XAssignment__Group_1_1__1__Impl ; + public final void rule__XAssignment__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13111:1: ( rule__XAssignment__Group_1_1__1__Impl ) + // InternalScope.g:13112:2: rule__XAssignment__Group_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1__1" + + + // $ANTLR start "rule__XAssignment__Group_1_1__1__Impl" + // InternalScope.g:13118:1: rule__XAssignment__Group_1_1__1__Impl : ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) ; + public final void rule__XAssignment__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13122:1: ( ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) ) + // InternalScope.g:13123:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) + { + // InternalScope.g:13123:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) + // InternalScope.g:13124:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1()); + } + // InternalScope.g:13125:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 ) + // InternalScope.g:13125:3: rule__XAssignment__RightOperandAssignment_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XAssignment__RightOperandAssignment_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1__1__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0__0" + // InternalScope.g:13134:1: rule__XAssignment__Group_1_1_0__0 : rule__XAssignment__Group_1_1_0__0__Impl ; + public final void rule__XAssignment__Group_1_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13138:1: ( rule__XAssignment__Group_1_1_0__0__Impl ) + // InternalScope.g:13139:2: rule__XAssignment__Group_1_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0__0" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0__0__Impl" + // InternalScope.g:13145:1: rule__XAssignment__Group_1_1_0__0__Impl : ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) ; + public final void rule__XAssignment__Group_1_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13149:1: ( ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) ) + // InternalScope.g:13150:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) + { + // InternalScope.g:13150:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) + // InternalScope.g:13151:2: ( rule__XAssignment__Group_1_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0()); + } + // InternalScope.g:13152:2: ( rule__XAssignment__Group_1_1_0_0__0 ) + // InternalScope.g:13152:3: rule__XAssignment__Group_1_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0__0__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0_0__0" + // InternalScope.g:13161:1: rule__XAssignment__Group_1_1_0_0__0 : rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 ; + public final void rule__XAssignment__Group_1_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13165:1: ( rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 ) + // InternalScope.g:13166:2: rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 + { + pushFollow(FOLLOW_77); + rule__XAssignment__Group_1_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0_0__0" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0_0__0__Impl" + // InternalScope.g:13173:1: rule__XAssignment__Group_1_1_0_0__0__Impl : ( () ) ; + public final void rule__XAssignment__Group_1_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13177:1: ( ( () ) ) + // InternalScope.g:13178:1: ( () ) + { + // InternalScope.g:13178:1: ( () ) + // InternalScope.g:13179:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); + } + // InternalScope.g:13180:2: () + // InternalScope.g:13180:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0_0__0__Impl" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0_0__1" + // InternalScope.g:13188:1: rule__XAssignment__Group_1_1_0_0__1 : rule__XAssignment__Group_1_1_0_0__1__Impl ; + public final void rule__XAssignment__Group_1_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13192:1: ( rule__XAssignment__Group_1_1_0_0__1__Impl ) + // InternalScope.g:13193:2: rule__XAssignment__Group_1_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0_0__1" + + + // $ANTLR start "rule__XAssignment__Group_1_1_0_0__1__Impl" + // InternalScope.g:13199:1: rule__XAssignment__Group_1_1_0_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) ; + public final void rule__XAssignment__Group_1_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13203:1: ( ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) ) + // InternalScope.g:13204:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) + { + // InternalScope.g:13204:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) + // InternalScope.g:13205:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1()); + } + // InternalScope.g:13206:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) + // InternalScope.g:13206:3: rule__XAssignment__FeatureAssignment_1_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XAssignment__FeatureAssignment_1_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__Group_1_1_0_0__1__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__0" + // InternalScope.g:13215:1: rule__OpMultiAssign__Group_5__0 : rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 ; + public final void rule__OpMultiAssign__Group_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13219:1: ( rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 ) + // InternalScope.g:13220:2: rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 + { + pushFollow(FOLLOW_78); + rule__OpMultiAssign__Group_5__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_5__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__0" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__0__Impl" + // InternalScope.g:13227:1: rule__OpMultiAssign__Group_5__0__Impl : ( '<' ) ; + public final void rule__OpMultiAssign__Group_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13231:1: ( ( '<' ) ) + // InternalScope.g:13232:1: ( '<' ) + { + // InternalScope.g:13232:1: ( '<' ) + // InternalScope.g:13233:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__0__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__1" + // InternalScope.g:13242:1: rule__OpMultiAssign__Group_5__1 : rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 ; + public final void rule__OpMultiAssign__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13246:1: ( rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 ) + // InternalScope.g:13247:2: rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 + { + pushFollow(FOLLOW_16); + rule__OpMultiAssign__Group_5__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_5__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__1" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__1__Impl" + // InternalScope.g:13254:1: rule__OpMultiAssign__Group_5__1__Impl : ( '<' ) ; + public final void rule__OpMultiAssign__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13258:1: ( ( '<' ) ) + // InternalScope.g:13259:1: ( '<' ) + { + // InternalScope.g:13259:1: ( '<' ) + // InternalScope.g:13260:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__1__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__2" + // InternalScope.g:13269:1: rule__OpMultiAssign__Group_5__2 : rule__OpMultiAssign__Group_5__2__Impl ; + public final void rule__OpMultiAssign__Group_5__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13273:1: ( rule__OpMultiAssign__Group_5__2__Impl ) + // InternalScope.g:13274:2: rule__OpMultiAssign__Group_5__2__Impl + { + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_5__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__2" + + + // $ANTLR start "rule__OpMultiAssign__Group_5__2__Impl" + // InternalScope.g:13280:1: rule__OpMultiAssign__Group_5__2__Impl : ( '=' ) ; + public final void rule__OpMultiAssign__Group_5__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13284:1: ( ( '=' ) ) + // InternalScope.g:13285:1: ( '=' ) + { + // InternalScope.g:13285:1: ( '=' ) + // InternalScope.g:13286:2: '=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); + } + match(input,14,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_5__2__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__0" + // InternalScope.g:13296:1: rule__OpMultiAssign__Group_6__0 : rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1 ; + public final void rule__OpMultiAssign__Group_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13300:1: ( rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1 ) + // InternalScope.g:13301:2: rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1 + { + pushFollow(FOLLOW_79); + rule__OpMultiAssign__Group_6__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_6__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__0" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__0__Impl" + // InternalScope.g:13308:1: rule__OpMultiAssign__Group_6__0__Impl : ( '>' ) ; + public final void rule__OpMultiAssign__Group_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13312:1: ( ( '>' ) ) + // InternalScope.g:13313:1: ( '>' ) + { + // InternalScope.g:13313:1: ( '>' ) + // InternalScope.g:13314:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__0__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__1" + // InternalScope.g:13323:1: rule__OpMultiAssign__Group_6__1 : rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2 ; + public final void rule__OpMultiAssign__Group_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13327:1: ( rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2 ) + // InternalScope.g:13328:2: rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2 + { + pushFollow(FOLLOW_79); + rule__OpMultiAssign__Group_6__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_6__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__1" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__1__Impl" + // InternalScope.g:13335:1: rule__OpMultiAssign__Group_6__1__Impl : ( ( '>' )? ) ; + public final void rule__OpMultiAssign__Group_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13339:1: ( ( ( '>' )? ) ) + // InternalScope.g:13340:1: ( ( '>' )? ) + { + // InternalScope.g:13340:1: ( ( '>' )? ) + // InternalScope.g:13341:2: ( '>' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); + } + // InternalScope.g:13342:2: ( '>' )? + int alt116=2; + int LA116_0 = input.LA(1); + + if ( (LA116_0==21) ) { + alt116=1; + } + switch (alt116) { + case 1 : + // InternalScope.g:13342:3: '>' + { + match(input,21,FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__1__Impl" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__2" + // InternalScope.g:13350:1: rule__OpMultiAssign__Group_6__2 : rule__OpMultiAssign__Group_6__2__Impl ; + public final void rule__OpMultiAssign__Group_6__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13354:1: ( rule__OpMultiAssign__Group_6__2__Impl ) + // InternalScope.g:13355:2: rule__OpMultiAssign__Group_6__2__Impl + { + pushFollow(FOLLOW_2); + rule__OpMultiAssign__Group_6__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__2" + + + // $ANTLR start "rule__OpMultiAssign__Group_6__2__Impl" + // InternalScope.g:13361:1: rule__OpMultiAssign__Group_6__2__Impl : ( '>=' ) ; + public final void rule__OpMultiAssign__Group_6__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13365:1: ( ( '>=' ) ) + // InternalScope.g:13366:1: ( '>=' ) + { + // InternalScope.g:13366:1: ( '>=' ) + // InternalScope.g:13367:2: '>=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); + } + match(input,19,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpMultiAssign__Group_6__2__Impl" + + + // $ANTLR start "rule__XOrExpression__Group__0" + // InternalScope.g:13377:1: rule__XOrExpression__Group__0 : rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1 ; + public final void rule__XOrExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13381:1: ( rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1 ) + // InternalScope.g:13382:2: rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1 + { + pushFollow(FOLLOW_58); + rule__XOrExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOrExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group__0" + + + // $ANTLR start "rule__XOrExpression__Group__0__Impl" + // InternalScope.g:13389:1: rule__XOrExpression__Group__0__Impl : ( ruleXAndExpression ) ; + public final void rule__XOrExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13393:1: ( ( ruleXAndExpression ) ) + // InternalScope.g:13394:1: ( ruleXAndExpression ) + { + // InternalScope.g:13394:1: ( ruleXAndExpression ) + // InternalScope.g:13395:2: ruleXAndExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXAndExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group__0__Impl" + + + // $ANTLR start "rule__XOrExpression__Group__1" + // InternalScope.g:13404:1: rule__XOrExpression__Group__1 : rule__XOrExpression__Group__1__Impl ; + public final void rule__XOrExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13408:1: ( rule__XOrExpression__Group__1__Impl ) + // InternalScope.g:13409:2: rule__XOrExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group__1" + + + // $ANTLR start "rule__XOrExpression__Group__1__Impl" + // InternalScope.g:13415:1: rule__XOrExpression__Group__1__Impl : ( ( rule__XOrExpression__Group_1__0 )* ) ; + public final void rule__XOrExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13419:1: ( ( ( rule__XOrExpression__Group_1__0 )* ) ) + // InternalScope.g:13420:1: ( ( rule__XOrExpression__Group_1__0 )* ) + { + // InternalScope.g:13420:1: ( ( rule__XOrExpression__Group_1__0 )* ) + // InternalScope.g:13421:2: ( rule__XOrExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getGroup_1()); + } + // InternalScope.g:13422:2: ( rule__XOrExpression__Group_1__0 )* + loop117: + do { + int alt117=2; + int LA117_0 = input.LA(1); + + if ( (LA117_0==15) ) { + int LA117_2 = input.LA(2); + + if ( (synpred192_InternalScope()) ) { + alt117=1; + } + + + } + + + switch (alt117) { + case 1 : + // InternalScope.g:13422:3: rule__XOrExpression__Group_1__0 + { + pushFollow(FOLLOW_59); + rule__XOrExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop117; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group__1__Impl" + + + // $ANTLR start "rule__XOrExpression__Group_1__0" + // InternalScope.g:13431:1: rule__XOrExpression__Group_1__0 : rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1 ; + public final void rule__XOrExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13435:1: ( rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1 ) + // InternalScope.g:13436:2: rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1 + { + pushFollow(FOLLOW_76); + rule__XOrExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1__0" + + + // $ANTLR start "rule__XOrExpression__Group_1__0__Impl" + // InternalScope.g:13443:1: rule__XOrExpression__Group_1__0__Impl : ( ( rule__XOrExpression__Group_1_0__0 ) ) ; + public final void rule__XOrExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13447:1: ( ( ( rule__XOrExpression__Group_1_0__0 ) ) ) + // InternalScope.g:13448:1: ( ( rule__XOrExpression__Group_1_0__0 ) ) + { + // InternalScope.g:13448:1: ( ( rule__XOrExpression__Group_1_0__0 ) ) + // InternalScope.g:13449:2: ( rule__XOrExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getGroup_1_0()); + } + // InternalScope.g:13450:2: ( rule__XOrExpression__Group_1_0__0 ) + // InternalScope.g:13450:3: rule__XOrExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XOrExpression__Group_1__1" + // InternalScope.g:13458:1: rule__XOrExpression__Group_1__1 : rule__XOrExpression__Group_1__1__Impl ; + public final void rule__XOrExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13462:1: ( rule__XOrExpression__Group_1__1__Impl ) + // InternalScope.g:13463:2: rule__XOrExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1__1" + + + // $ANTLR start "rule__XOrExpression__Group_1__1__Impl" + // InternalScope.g:13469:1: rule__XOrExpression__Group_1__1__Impl : ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XOrExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13473:1: ( ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) ) + // InternalScope.g:13474:1: ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) + { + // InternalScope.g:13474:1: ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) + // InternalScope.g:13475:2: ( rule__XOrExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalScope.g:13476:2: ( rule__XOrExpression__RightOperandAssignment_1_1 ) + // InternalScope.g:13476:3: rule__XOrExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XOrExpression__Group_1_0__0" + // InternalScope.g:13485:1: rule__XOrExpression__Group_1_0__0 : rule__XOrExpression__Group_1_0__0__Impl ; + public final void rule__XOrExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13489:1: ( rule__XOrExpression__Group_1_0__0__Impl ) + // InternalScope.g:13490:2: rule__XOrExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0__0" + + + // $ANTLR start "rule__XOrExpression__Group_1_0__0__Impl" + // InternalScope.g:13496:1: rule__XOrExpression__Group_1_0__0__Impl : ( ( rule__XOrExpression__Group_1_0_0__0 ) ) ; + public final void rule__XOrExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13500:1: ( ( ( rule__XOrExpression__Group_1_0_0__0 ) ) ) + // InternalScope.g:13501:1: ( ( rule__XOrExpression__Group_1_0_0__0 ) ) + { + // InternalScope.g:13501:1: ( ( rule__XOrExpression__Group_1_0_0__0 ) ) + // InternalScope.g:13502:2: ( rule__XOrExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0()); + } + // InternalScope.g:13503:2: ( rule__XOrExpression__Group_1_0_0__0 ) + // InternalScope.g:13503:3: rule__XOrExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XOrExpression__Group_1_0_0__0" + // InternalScope.g:13512:1: rule__XOrExpression__Group_1_0_0__0 : rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1 ; + public final void rule__XOrExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13516:1: ( rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1 ) + // InternalScope.g:13517:2: rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_58); + rule__XOrExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XOrExpression__Group_1_0_0__0__Impl" + // InternalScope.g:13524:1: rule__XOrExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XOrExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13528:1: ( ( () ) ) + // InternalScope.g:13529:1: ( () ) + { + // InternalScope.g:13529:1: ( () ) + // InternalScope.g:13530:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalScope.g:13531:2: () + // InternalScope.g:13531:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XOrExpression__Group_1_0_0__1" + // InternalScope.g:13539:1: rule__XOrExpression__Group_1_0_0__1 : rule__XOrExpression__Group_1_0_0__1__Impl ; + public final void rule__XOrExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13543:1: ( rule__XOrExpression__Group_1_0_0__1__Impl ) + // InternalScope.g:13544:2: rule__XOrExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XOrExpression__Group_1_0_0__1__Impl" + // InternalScope.g:13550:1: rule__XOrExpression__Group_1_0_0__1__Impl : ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XOrExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13554:1: ( ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalScope.g:13555:1: ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalScope.g:13555:1: ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalScope.g:13556:2: ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalScope.g:13557:2: ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) + // InternalScope.g:13557:3: rule__XOrExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XAndExpression__Group__0" + // InternalScope.g:13566:1: rule__XAndExpression__Group__0 : rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1 ; + public final void rule__XAndExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13570:1: ( rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1 ) + // InternalScope.g:13571:2: rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1 + { + pushFollow(FOLLOW_60); + rule__XAndExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAndExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group__0" + + + // $ANTLR start "rule__XAndExpression__Group__0__Impl" + // InternalScope.g:13578:1: rule__XAndExpression__Group__0__Impl : ( ruleXEqualityExpression ) ; + public final void rule__XAndExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13582:1: ( ( ruleXEqualityExpression ) ) + // InternalScope.g:13583:1: ( ruleXEqualityExpression ) + { + // InternalScope.g:13583:1: ( ruleXEqualityExpression ) + // InternalScope.g:13584:2: ruleXEqualityExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXEqualityExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group__0__Impl" + + + // $ANTLR start "rule__XAndExpression__Group__1" + // InternalScope.g:13593:1: rule__XAndExpression__Group__1 : rule__XAndExpression__Group__1__Impl ; + public final void rule__XAndExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13597:1: ( rule__XAndExpression__Group__1__Impl ) + // InternalScope.g:13598:2: rule__XAndExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group__1" + + + // $ANTLR start "rule__XAndExpression__Group__1__Impl" + // InternalScope.g:13604:1: rule__XAndExpression__Group__1__Impl : ( ( rule__XAndExpression__Group_1__0 )* ) ; + public final void rule__XAndExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13608:1: ( ( ( rule__XAndExpression__Group_1__0 )* ) ) + // InternalScope.g:13609:1: ( ( rule__XAndExpression__Group_1__0 )* ) + { + // InternalScope.g:13609:1: ( ( rule__XAndExpression__Group_1__0 )* ) + // InternalScope.g:13610:2: ( rule__XAndExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getGroup_1()); + } + // InternalScope.g:13611:2: ( rule__XAndExpression__Group_1__0 )* + loop118: + do { + int alt118=2; + int LA118_0 = input.LA(1); + + if ( (LA118_0==16) ) { + int LA118_2 = input.LA(2); + + if ( (synpred193_InternalScope()) ) { + alt118=1; + } + + + } + + + switch (alt118) { + case 1 : + // InternalScope.g:13611:3: rule__XAndExpression__Group_1__0 + { + pushFollow(FOLLOW_61); + rule__XAndExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop118; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group__1__Impl" + + + // $ANTLR start "rule__XAndExpression__Group_1__0" + // InternalScope.g:13620:1: rule__XAndExpression__Group_1__0 : rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1 ; + public final void rule__XAndExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13624:1: ( rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1 ) + // InternalScope.g:13625:2: rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1 + { + pushFollow(FOLLOW_76); + rule__XAndExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1__0" + + + // $ANTLR start "rule__XAndExpression__Group_1__0__Impl" + // InternalScope.g:13632:1: rule__XAndExpression__Group_1__0__Impl : ( ( rule__XAndExpression__Group_1_0__0 ) ) ; + public final void rule__XAndExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13636:1: ( ( ( rule__XAndExpression__Group_1_0__0 ) ) ) + // InternalScope.g:13637:1: ( ( rule__XAndExpression__Group_1_0__0 ) ) + { + // InternalScope.g:13637:1: ( ( rule__XAndExpression__Group_1_0__0 ) ) + // InternalScope.g:13638:2: ( rule__XAndExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getGroup_1_0()); + } + // InternalScope.g:13639:2: ( rule__XAndExpression__Group_1_0__0 ) + // InternalScope.g:13639:3: rule__XAndExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XAndExpression__Group_1__1" + // InternalScope.g:13647:1: rule__XAndExpression__Group_1__1 : rule__XAndExpression__Group_1__1__Impl ; + public final void rule__XAndExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13651:1: ( rule__XAndExpression__Group_1__1__Impl ) + // InternalScope.g:13652:2: rule__XAndExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1__1" + + + // $ANTLR start "rule__XAndExpression__Group_1__1__Impl" + // InternalScope.g:13658:1: rule__XAndExpression__Group_1__1__Impl : ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XAndExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13662:1: ( ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) ) + // InternalScope.g:13663:1: ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) + { + // InternalScope.g:13663:1: ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) + // InternalScope.g:13664:2: ( rule__XAndExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalScope.g:13665:2: ( rule__XAndExpression__RightOperandAssignment_1_1 ) + // InternalScope.g:13665:3: rule__XAndExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XAndExpression__Group_1_0__0" + // InternalScope.g:13674:1: rule__XAndExpression__Group_1_0__0 : rule__XAndExpression__Group_1_0__0__Impl ; + public final void rule__XAndExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13678:1: ( rule__XAndExpression__Group_1_0__0__Impl ) + // InternalScope.g:13679:2: rule__XAndExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0__0" + + + // $ANTLR start "rule__XAndExpression__Group_1_0__0__Impl" + // InternalScope.g:13685:1: rule__XAndExpression__Group_1_0__0__Impl : ( ( rule__XAndExpression__Group_1_0_0__0 ) ) ; + public final void rule__XAndExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13689:1: ( ( ( rule__XAndExpression__Group_1_0_0__0 ) ) ) + // InternalScope.g:13690:1: ( ( rule__XAndExpression__Group_1_0_0__0 ) ) + { + // InternalScope.g:13690:1: ( ( rule__XAndExpression__Group_1_0_0__0 ) ) + // InternalScope.g:13691:2: ( rule__XAndExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0()); + } + // InternalScope.g:13692:2: ( rule__XAndExpression__Group_1_0_0__0 ) + // InternalScope.g:13692:3: rule__XAndExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XAndExpression__Group_1_0_0__0" + // InternalScope.g:13701:1: rule__XAndExpression__Group_1_0_0__0 : rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1 ; + public final void rule__XAndExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13705:1: ( rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1 ) + // InternalScope.g:13706:2: rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_60); + rule__XAndExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XAndExpression__Group_1_0_0__0__Impl" + // InternalScope.g:13713:1: rule__XAndExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XAndExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13717:1: ( ( () ) ) + // InternalScope.g:13718:1: ( () ) + { + // InternalScope.g:13718:1: ( () ) + // InternalScope.g:13719:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalScope.g:13720:2: () + // InternalScope.g:13720:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XAndExpression__Group_1_0_0__1" + // InternalScope.g:13728:1: rule__XAndExpression__Group_1_0_0__1 : rule__XAndExpression__Group_1_0_0__1__Impl ; + public final void rule__XAndExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13732:1: ( rule__XAndExpression__Group_1_0_0__1__Impl ) + // InternalScope.g:13733:2: rule__XAndExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XAndExpression__Group_1_0_0__1__Impl" + // InternalScope.g:13739:1: rule__XAndExpression__Group_1_0_0__1__Impl : ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XAndExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13743:1: ( ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalScope.g:13744:1: ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalScope.g:13744:1: ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalScope.g:13745:2: ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalScope.g:13746:2: ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) + // InternalScope.g:13746:3: rule__XAndExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group__0" + // InternalScope.g:13755:1: rule__XEqualityExpression__Group__0 : rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1 ; + public final void rule__XEqualityExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13759:1: ( rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1 ) + // InternalScope.g:13760:2: rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1 + { + pushFollow(FOLLOW_80); + rule__XEqualityExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group__0" + + + // $ANTLR start "rule__XEqualityExpression__Group__0__Impl" + // InternalScope.g:13767:1: rule__XEqualityExpression__Group__0__Impl : ( ruleXRelationalExpression ) ; + public final void rule__XEqualityExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13771:1: ( ( ruleXRelationalExpression ) ) + // InternalScope.g:13772:1: ( ruleXRelationalExpression ) + { + // InternalScope.g:13772:1: ( ruleXRelationalExpression ) + // InternalScope.g:13773:2: ruleXRelationalExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXRelationalExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group__0__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group__1" + // InternalScope.g:13782:1: rule__XEqualityExpression__Group__1 : rule__XEqualityExpression__Group__1__Impl ; + public final void rule__XEqualityExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13786:1: ( rule__XEqualityExpression__Group__1__Impl ) + // InternalScope.g:13787:2: rule__XEqualityExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group__1" + + + // $ANTLR start "rule__XEqualityExpression__Group__1__Impl" + // InternalScope.g:13793:1: rule__XEqualityExpression__Group__1__Impl : ( ( rule__XEqualityExpression__Group_1__0 )* ) ; + public final void rule__XEqualityExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13797:1: ( ( ( rule__XEqualityExpression__Group_1__0 )* ) ) + // InternalScope.g:13798:1: ( ( rule__XEqualityExpression__Group_1__0 )* ) + { + // InternalScope.g:13798:1: ( ( rule__XEqualityExpression__Group_1__0 )* ) + // InternalScope.g:13799:2: ( rule__XEqualityExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getGroup_1()); + } + // InternalScope.g:13800:2: ( rule__XEqualityExpression__Group_1__0 )* + loop119: + do { + int alt119=2; + switch ( input.LA(1) ) { + case 17: + { + int LA119_2 = input.LA(2); + + if ( (synpred194_InternalScope()) ) { + alt119=1; + } + + + } + break; + case 18: + { + int LA119_3 = input.LA(2); + + if ( (synpred194_InternalScope()) ) { + alt119=1; + } + + + } + break; + case 46: + { + int LA119_4 = input.LA(2); + + if ( (synpred194_InternalScope()) ) { + alt119=1; + } + + + } + break; + case 47: + { + int LA119_5 = input.LA(2); + + if ( (synpred194_InternalScope()) ) { + alt119=1; + } + + + } + break; + + } + + switch (alt119) { + case 1 : + // InternalScope.g:13800:3: rule__XEqualityExpression__Group_1__0 + { + pushFollow(FOLLOW_81); + rule__XEqualityExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop119; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group__1__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group_1__0" + // InternalScope.g:13809:1: rule__XEqualityExpression__Group_1__0 : rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1 ; + public final void rule__XEqualityExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13813:1: ( rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1 ) + // InternalScope.g:13814:2: rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1 + { + pushFollow(FOLLOW_76); + rule__XEqualityExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1__0" + + + // $ANTLR start "rule__XEqualityExpression__Group_1__0__Impl" + // InternalScope.g:13821:1: rule__XEqualityExpression__Group_1__0__Impl : ( ( rule__XEqualityExpression__Group_1_0__0 ) ) ; + public final void rule__XEqualityExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13825:1: ( ( ( rule__XEqualityExpression__Group_1_0__0 ) ) ) + // InternalScope.g:13826:1: ( ( rule__XEqualityExpression__Group_1_0__0 ) ) + { + // InternalScope.g:13826:1: ( ( rule__XEqualityExpression__Group_1_0__0 ) ) + // InternalScope.g:13827:2: ( rule__XEqualityExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0()); + } + // InternalScope.g:13828:2: ( rule__XEqualityExpression__Group_1_0__0 ) + // InternalScope.g:13828:3: rule__XEqualityExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group_1__1" + // InternalScope.g:13836:1: rule__XEqualityExpression__Group_1__1 : rule__XEqualityExpression__Group_1__1__Impl ; + public final void rule__XEqualityExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13840:1: ( rule__XEqualityExpression__Group_1__1__Impl ) + // InternalScope.g:13841:2: rule__XEqualityExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1__1" + + + // $ANTLR start "rule__XEqualityExpression__Group_1__1__Impl" + // InternalScope.g:13847:1: rule__XEqualityExpression__Group_1__1__Impl : ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XEqualityExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13851:1: ( ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) ) + // InternalScope.g:13852:1: ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) + { + // InternalScope.g:13852:1: ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) + // InternalScope.g:13853:2: ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalScope.g:13854:2: ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) + // InternalScope.g:13854:3: rule__XEqualityExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0__0" + // InternalScope.g:13863:1: rule__XEqualityExpression__Group_1_0__0 : rule__XEqualityExpression__Group_1_0__0__Impl ; + public final void rule__XEqualityExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13867:1: ( rule__XEqualityExpression__Group_1_0__0__Impl ) + // InternalScope.g:13868:2: rule__XEqualityExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0__0" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0__0__Impl" + // InternalScope.g:13874:1: rule__XEqualityExpression__Group_1_0__0__Impl : ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) ; + public final void rule__XEqualityExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13878:1: ( ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) ) + // InternalScope.g:13879:1: ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) + { + // InternalScope.g:13879:1: ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) + // InternalScope.g:13880:2: ( rule__XEqualityExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0()); + } + // InternalScope.g:13881:2: ( rule__XEqualityExpression__Group_1_0_0__0 ) + // InternalScope.g:13881:3: rule__XEqualityExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__0" + // InternalScope.g:13890:1: rule__XEqualityExpression__Group_1_0_0__0 : rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1 ; + public final void rule__XEqualityExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13894:1: ( rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1 ) + // InternalScope.g:13895:2: rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_80); + rule__XEqualityExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__0__Impl" + // InternalScope.g:13902:1: rule__XEqualityExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XEqualityExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13906:1: ( ( () ) ) + // InternalScope.g:13907:1: ( () ) + { + // InternalScope.g:13907:1: ( () ) + // InternalScope.g:13908:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalScope.g:13909:2: () + // InternalScope.g:13909:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__1" + // InternalScope.g:13917:1: rule__XEqualityExpression__Group_1_0_0__1 : rule__XEqualityExpression__Group_1_0_0__1__Impl ; + public final void rule__XEqualityExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13921:1: ( rule__XEqualityExpression__Group_1_0_0__1__Impl ) + // InternalScope.g:13922:2: rule__XEqualityExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__1__Impl" + // InternalScope.g:13928:1: rule__XEqualityExpression__Group_1_0_0__1__Impl : ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XEqualityExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13932:1: ( ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalScope.g:13933:1: ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalScope.g:13933:1: ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalScope.g:13934:2: ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalScope.g:13935:2: ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) + // InternalScope.g:13935:3: rule__XEqualityExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group__0" + // InternalScope.g:13944:1: rule__XRelationalExpression__Group__0 : rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1 ; + public final void rule__XRelationalExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13948:1: ( rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1 ) + // InternalScope.g:13949:2: rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1 + { + pushFollow(FOLLOW_82); + rule__XRelationalExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group__0" + + + // $ANTLR start "rule__XRelationalExpression__Group__0__Impl" + // InternalScope.g:13956:1: rule__XRelationalExpression__Group__0__Impl : ( ruleXOtherOperatorExpression ) ; + public final void rule__XRelationalExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13960:1: ( ( ruleXOtherOperatorExpression ) ) + // InternalScope.g:13961:1: ( ruleXOtherOperatorExpression ) + { + // InternalScope.g:13961:1: ( ruleXOtherOperatorExpression ) + // InternalScope.g:13962:2: ruleXOtherOperatorExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXOtherOperatorExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group__1" + // InternalScope.g:13971:1: rule__XRelationalExpression__Group__1 : rule__XRelationalExpression__Group__1__Impl ; + public final void rule__XRelationalExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13975:1: ( rule__XRelationalExpression__Group__1__Impl ) + // InternalScope.g:13976:2: rule__XRelationalExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group__1" + + + // $ANTLR start "rule__XRelationalExpression__Group__1__Impl" + // InternalScope.g:13982:1: rule__XRelationalExpression__Group__1__Impl : ( ( rule__XRelationalExpression__Alternatives_1 )* ) ; + public final void rule__XRelationalExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:13986:1: ( ( ( rule__XRelationalExpression__Alternatives_1 )* ) ) + // InternalScope.g:13987:1: ( ( rule__XRelationalExpression__Alternatives_1 )* ) + { + // InternalScope.g:13987:1: ( ( rule__XRelationalExpression__Alternatives_1 )* ) + // InternalScope.g:13988:2: ( rule__XRelationalExpression__Alternatives_1 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1()); + } + // InternalScope.g:13989:2: ( rule__XRelationalExpression__Alternatives_1 )* + loop120: + do { + int alt120=2; + switch ( input.LA(1) ) { + case 22: + { + int LA120_2 = input.LA(2); + + if ( (synpred195_InternalScope()) ) { + alt120=1; + } + + + } + break; + case 21: + { + int LA120_3 = input.LA(2); + + if ( (synpred195_InternalScope()) ) { + alt120=1; + } + + + } + break; + case 104: + { + int LA120_4 = input.LA(2); + + if ( (synpred195_InternalScope()) ) { + alt120=1; + } + + + } + break; + case 19: + { + int LA120_5 = input.LA(2); + + if ( (synpred195_InternalScope()) ) { + alt120=1; + } + + + } + break; + + } + + switch (alt120) { + case 1 : + // InternalScope.g:13989:3: rule__XRelationalExpression__Alternatives_1 + { + pushFollow(FOLLOW_83); + rule__XRelationalExpression__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop120; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group__1__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0__0" + // InternalScope.g:13998:1: rule__XRelationalExpression__Group_1_0__0 : rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1 ; + public final void rule__XRelationalExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14002:1: ( rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1 ) + // InternalScope.g:14003:2: rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1 + { + pushFollow(FOLLOW_84); + rule__XRelationalExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0__0__Impl" + // InternalScope.g:14010:1: rule__XRelationalExpression__Group_1_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) ; + public final void rule__XRelationalExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14014:1: ( ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) ) + // InternalScope.g:14015:1: ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) + { + // InternalScope.g:14015:1: ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) + // InternalScope.g:14016:2: ( rule__XRelationalExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0()); + } + // InternalScope.g:14017:2: ( rule__XRelationalExpression__Group_1_0_0__0 ) + // InternalScope.g:14017:3: rule__XRelationalExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0__1" + // InternalScope.g:14025:1: rule__XRelationalExpression__Group_1_0__1 : rule__XRelationalExpression__Group_1_0__1__Impl ; + public final void rule__XRelationalExpression__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14029:1: ( rule__XRelationalExpression__Group_1_0__1__Impl ) + // InternalScope.g:14030:2: rule__XRelationalExpression__Group_1_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0__1" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0__1__Impl" + // InternalScope.g:14036:1: rule__XRelationalExpression__Group_1_0__1__Impl : ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) ; + public final void rule__XRelationalExpression__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14040:1: ( ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) ) + // InternalScope.g:14041:1: ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) + { + // InternalScope.g:14041:1: ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) + // InternalScope.g:14042:2: ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1()); + } + // InternalScope.g:14043:2: ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) + // InternalScope.g:14043:3: rule__XRelationalExpression__TypeAssignment_1_0_1 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__TypeAssignment_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0__1__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0__0" + // InternalScope.g:14052:1: rule__XRelationalExpression__Group_1_0_0__0 : rule__XRelationalExpression__Group_1_0_0__0__Impl ; + public final void rule__XRelationalExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14056:1: ( rule__XRelationalExpression__Group_1_0_0__0__Impl ) + // InternalScope.g:14057:2: rule__XRelationalExpression__Group_1_0_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0__0__Impl" + // InternalScope.g:14063:1: rule__XRelationalExpression__Group_1_0_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) ; + public final void rule__XRelationalExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14067:1: ( ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) ) + // InternalScope.g:14068:1: ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) + { + // InternalScope.g:14068:1: ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) + // InternalScope.g:14069:2: ( rule__XRelationalExpression__Group_1_0_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0()); + } + // InternalScope.g:14070:2: ( rule__XRelationalExpression__Group_1_0_0_0__0 ) + // InternalScope.g:14070:3: rule__XRelationalExpression__Group_1_0_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__0" + // InternalScope.g:14079:1: rule__XRelationalExpression__Group_1_0_0_0__0 : rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1 ; + public final void rule__XRelationalExpression__Group_1_0_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14083:1: ( rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1 ) + // InternalScope.g:14084:2: rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1 + { + pushFollow(FOLLOW_85); + rule__XRelationalExpression__Group_1_0_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0_0__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__0__Impl" + // InternalScope.g:14091:1: rule__XRelationalExpression__Group_1_0_0_0__0__Impl : ( () ) ; + public final void rule__XRelationalExpression__Group_1_0_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14095:1: ( ( () ) ) + // InternalScope.g:14096:1: ( () ) + { + // InternalScope.g:14096:1: ( () ) + // InternalScope.g:14097:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0()); + } + // InternalScope.g:14098:2: () + // InternalScope.g:14098:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0_0__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__1" + // InternalScope.g:14106:1: rule__XRelationalExpression__Group_1_0_0_0__1 : rule__XRelationalExpression__Group_1_0_0_0__1__Impl ; + public final void rule__XRelationalExpression__Group_1_0_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14110:1: ( rule__XRelationalExpression__Group_1_0_0_0__1__Impl ) + // InternalScope.g:14111:2: rule__XRelationalExpression__Group_1_0_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_0_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0_0__1" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__1__Impl" + // InternalScope.g:14117:1: rule__XRelationalExpression__Group_1_0_0_0__1__Impl : ( 'instanceof' ) ; + public final void rule__XRelationalExpression__Group_1_0_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14121:1: ( ( 'instanceof' ) ) + // InternalScope.g:14122:1: ( 'instanceof' ) + { + // InternalScope.g:14122:1: ( 'instanceof' ) + // InternalScope.g:14123:2: 'instanceof' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); + } + match(input,104,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_0_0_0__1__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1__0" + // InternalScope.g:14133:1: rule__XRelationalExpression__Group_1_1__0 : rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1 ; + public final void rule__XRelationalExpression__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14137:1: ( rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1 ) + // InternalScope.g:14138:2: rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1 + { + pushFollow(FOLLOW_76); + rule__XRelationalExpression__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1__0__Impl" + // InternalScope.g:14145:1: rule__XRelationalExpression__Group_1_1__0__Impl : ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) ; + public final void rule__XRelationalExpression__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14149:1: ( ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) ) + // InternalScope.g:14150:1: ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) + { + // InternalScope.g:14150:1: ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) + // InternalScope.g:14151:2: ( rule__XRelationalExpression__Group_1_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0()); + } + // InternalScope.g:14152:2: ( rule__XRelationalExpression__Group_1_1_0__0 ) + // InternalScope.g:14152:3: rule__XRelationalExpression__Group_1_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1__1" + // InternalScope.g:14160:1: rule__XRelationalExpression__Group_1_1__1 : rule__XRelationalExpression__Group_1_1__1__Impl ; + public final void rule__XRelationalExpression__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14164:1: ( rule__XRelationalExpression__Group_1_1__1__Impl ) + // InternalScope.g:14165:2: rule__XRelationalExpression__Group_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1__1" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1__1__Impl" + // InternalScope.g:14171:1: rule__XRelationalExpression__Group_1_1__1__Impl : ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) ; + public final void rule__XRelationalExpression__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14175:1: ( ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) ) + // InternalScope.g:14176:1: ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) + { + // InternalScope.g:14176:1: ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) + // InternalScope.g:14177:2: ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1()); + } + // InternalScope.g:14178:2: ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) + // InternalScope.g:14178:3: rule__XRelationalExpression__RightOperandAssignment_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__RightOperandAssignment_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1__1__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0__0" + // InternalScope.g:14187:1: rule__XRelationalExpression__Group_1_1_0__0 : rule__XRelationalExpression__Group_1_1_0__0__Impl ; + public final void rule__XRelationalExpression__Group_1_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14191:1: ( rule__XRelationalExpression__Group_1_1_0__0__Impl ) + // InternalScope.g:14192:2: rule__XRelationalExpression__Group_1_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0__0__Impl" + // InternalScope.g:14198:1: rule__XRelationalExpression__Group_1_1_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) ; + public final void rule__XRelationalExpression__Group_1_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14202:1: ( ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) ) + // InternalScope.g:14203:1: ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) + { + // InternalScope.g:14203:1: ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) + // InternalScope.g:14204:2: ( rule__XRelationalExpression__Group_1_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0()); + } + // InternalScope.g:14205:2: ( rule__XRelationalExpression__Group_1_1_0_0__0 ) + // InternalScope.g:14205:3: rule__XRelationalExpression__Group_1_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__0" + // InternalScope.g:14214:1: rule__XRelationalExpression__Group_1_1_0_0__0 : rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1 ; + public final void rule__XRelationalExpression__Group_1_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14218:1: ( rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1 ) + // InternalScope.g:14219:2: rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1 + { + pushFollow(FOLLOW_82); + rule__XRelationalExpression__Group_1_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0_0__0" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__0__Impl" + // InternalScope.g:14226:1: rule__XRelationalExpression__Group_1_1_0_0__0__Impl : ( () ) ; + public final void rule__XRelationalExpression__Group_1_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14230:1: ( ( () ) ) + // InternalScope.g:14231:1: ( () ) + { + // InternalScope.g:14231:1: ( () ) + // InternalScope.g:14232:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); + } + // InternalScope.g:14233:2: () + // InternalScope.g:14233:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0_0__0__Impl" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__1" + // InternalScope.g:14241:1: rule__XRelationalExpression__Group_1_1_0_0__1 : rule__XRelationalExpression__Group_1_1_0_0__1__Impl ; + public final void rule__XRelationalExpression__Group_1_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14245:1: ( rule__XRelationalExpression__Group_1_1_0_0__1__Impl ) + // InternalScope.g:14246:2: rule__XRelationalExpression__Group_1_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Group_1_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0_0__1" + + + // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__1__Impl" + // InternalScope.g:14252:1: rule__XRelationalExpression__Group_1_1_0_0__1__Impl : ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) ; + public final void rule__XRelationalExpression__Group_1_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14256:1: ( ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) ) + // InternalScope.g:14257:1: ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) + { + // InternalScope.g:14257:1: ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) + // InternalScope.g:14258:2: ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1()); + } + // InternalScope.g:14259:2: ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) + // InternalScope.g:14259:3: rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__Group_1_1_0_0__1__Impl" + + + // $ANTLR start "rule__OpCompare__Group_1__0" + // InternalScope.g:14268:1: rule__OpCompare__Group_1__0 : rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1 ; + public final void rule__OpCompare__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14272:1: ( rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1 ) + // InternalScope.g:14273:2: rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1 + { + pushFollow(FOLLOW_16); + rule__OpCompare__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpCompare__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpCompare__Group_1__0" + + + // $ANTLR start "rule__OpCompare__Group_1__0__Impl" + // InternalScope.g:14280:1: rule__OpCompare__Group_1__0__Impl : ( '<' ) ; + public final void rule__OpCompare__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14284:1: ( ( '<' ) ) + // InternalScope.g:14285:1: ( '<' ) + { + // InternalScope.g:14285:1: ( '<' ) + // InternalScope.g:14286:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpCompare__Group_1__0__Impl" + + + // $ANTLR start "rule__OpCompare__Group_1__1" + // InternalScope.g:14295:1: rule__OpCompare__Group_1__1 : rule__OpCompare__Group_1__1__Impl ; + public final void rule__OpCompare__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14299:1: ( rule__OpCompare__Group_1__1__Impl ) + // InternalScope.g:14300:2: rule__OpCompare__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpCompare__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpCompare__Group_1__1" + + + // $ANTLR start "rule__OpCompare__Group_1__1__Impl" + // InternalScope.g:14306:1: rule__OpCompare__Group_1__1__Impl : ( '=' ) ; + public final void rule__OpCompare__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14310:1: ( ( '=' ) ) + // InternalScope.g:14311:1: ( '=' ) + { + // InternalScope.g:14311:1: ( '=' ) + // InternalScope.g:14312:2: '=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); + } + match(input,14,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpCompare__Group_1__1__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group__0" + // InternalScope.g:14322:1: rule__XOtherOperatorExpression__Group__0 : rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1 ; + public final void rule__XOtherOperatorExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14326:1: ( rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1 ) + // InternalScope.g:14327:2: rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1 + { + pushFollow(FOLLOW_86); + rule__XOtherOperatorExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group__0" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group__0__Impl" + // InternalScope.g:14334:1: rule__XOtherOperatorExpression__Group__0__Impl : ( ruleXAdditiveExpression ) ; + public final void rule__XOtherOperatorExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14338:1: ( ( ruleXAdditiveExpression ) ) + // InternalScope.g:14339:1: ( ruleXAdditiveExpression ) + { + // InternalScope.g:14339:1: ( ruleXAdditiveExpression ) + // InternalScope.g:14340:2: ruleXAdditiveExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXAdditiveExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group__0__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group__1" + // InternalScope.g:14349:1: rule__XOtherOperatorExpression__Group__1 : rule__XOtherOperatorExpression__Group__1__Impl ; + public final void rule__XOtherOperatorExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14353:1: ( rule__XOtherOperatorExpression__Group__1__Impl ) + // InternalScope.g:14354:2: rule__XOtherOperatorExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group__1" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group__1__Impl" + // InternalScope.g:14360:1: rule__XOtherOperatorExpression__Group__1__Impl : ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) ; + public final void rule__XOtherOperatorExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14364:1: ( ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) ) + // InternalScope.g:14365:1: ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) + { + // InternalScope.g:14365:1: ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) + // InternalScope.g:14366:2: ( rule__XOtherOperatorExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1()); + } + // InternalScope.g:14367:2: ( rule__XOtherOperatorExpression__Group_1__0 )* + loop121: + do { + int alt121=2; + alt121 = dfa121.predict(input); + switch (alt121) { + case 1 : + // InternalScope.g:14367:3: rule__XOtherOperatorExpression__Group_1__0 + { + pushFollow(FOLLOW_87); + rule__XOtherOperatorExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop121; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group__1__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1__0" + // InternalScope.g:14376:1: rule__XOtherOperatorExpression__Group_1__0 : rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1 ; + public final void rule__XOtherOperatorExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14380:1: ( rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1 ) + // InternalScope.g:14381:2: rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1 + { + pushFollow(FOLLOW_76); + rule__XOtherOperatorExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1__0" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1__0__Impl" + // InternalScope.g:14388:1: rule__XOtherOperatorExpression__Group_1__0__Impl : ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) ; + public final void rule__XOtherOperatorExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14392:1: ( ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) ) + // InternalScope.g:14393:1: ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) + { + // InternalScope.g:14393:1: ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) + // InternalScope.g:14394:2: ( rule__XOtherOperatorExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0()); + } + // InternalScope.g:14395:2: ( rule__XOtherOperatorExpression__Group_1_0__0 ) + // InternalScope.g:14395:3: rule__XOtherOperatorExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1__1" + // InternalScope.g:14403:1: rule__XOtherOperatorExpression__Group_1__1 : rule__XOtherOperatorExpression__Group_1__1__Impl ; + public final void rule__XOtherOperatorExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14407:1: ( rule__XOtherOperatorExpression__Group_1__1__Impl ) + // InternalScope.g:14408:2: rule__XOtherOperatorExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1__1" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1__1__Impl" + // InternalScope.g:14414:1: rule__XOtherOperatorExpression__Group_1__1__Impl : ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XOtherOperatorExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14418:1: ( ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) ) + // InternalScope.g:14419:1: ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) + { + // InternalScope.g:14419:1: ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) + // InternalScope.g:14420:2: ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalScope.g:14421:2: ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) + // InternalScope.g:14421:3: rule__XOtherOperatorExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0__0" + // InternalScope.g:14430:1: rule__XOtherOperatorExpression__Group_1_0__0 : rule__XOtherOperatorExpression__Group_1_0__0__Impl ; + public final void rule__XOtherOperatorExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14434:1: ( rule__XOtherOperatorExpression__Group_1_0__0__Impl ) + // InternalScope.g:14435:2: rule__XOtherOperatorExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0__0" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0__0__Impl" + // InternalScope.g:14441:1: rule__XOtherOperatorExpression__Group_1_0__0__Impl : ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) ; + public final void rule__XOtherOperatorExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14445:1: ( ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) ) + // InternalScope.g:14446:1: ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) + { + // InternalScope.g:14446:1: ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) + // InternalScope.g:14447:2: ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0()); + } + // InternalScope.g:14448:2: ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) + // InternalScope.g:14448:3: rule__XOtherOperatorExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__0" + // InternalScope.g:14457:1: rule__XOtherOperatorExpression__Group_1_0_0__0 : rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1 ; + public final void rule__XOtherOperatorExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14461:1: ( rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1 ) + // InternalScope.g:14462:2: rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_86); + rule__XOtherOperatorExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__0__Impl" + // InternalScope.g:14469:1: rule__XOtherOperatorExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XOtherOperatorExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14473:1: ( ( () ) ) + // InternalScope.g:14474:1: ( () ) + { + // InternalScope.g:14474:1: ( () ) + // InternalScope.g:14475:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalScope.g:14476:2: () + // InternalScope.g:14476:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__1" + // InternalScope.g:14484:1: rule__XOtherOperatorExpression__Group_1_0_0__1 : rule__XOtherOperatorExpression__Group_1_0_0__1__Impl ; + public final void rule__XOtherOperatorExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14488:1: ( rule__XOtherOperatorExpression__Group_1_0_0__1__Impl ) + // InternalScope.g:14489:2: rule__XOtherOperatorExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__1__Impl" + // InternalScope.g:14495:1: rule__XOtherOperatorExpression__Group_1_0_0__1__Impl : ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XOtherOperatorExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14499:1: ( ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalScope.g:14500:1: ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalScope.g:14500:1: ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalScope.g:14501:2: ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalScope.g:14502:2: ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) + // InternalScope.g:14502:3: rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__OpOther__Group_2__0" + // InternalScope.g:14511:1: rule__OpOther__Group_2__0 : rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1 ; + public final void rule__OpOther__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14515:1: ( rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1 ) + // InternalScope.g:14516:2: rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1 + { + pushFollow(FOLLOW_88); + rule__OpOther__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpOther__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_2__0" + + + // $ANTLR start "rule__OpOther__Group_2__0__Impl" + // InternalScope.g:14523:1: rule__OpOther__Group_2__0__Impl : ( '>' ) ; + public final void rule__OpOther__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14527:1: ( ( '>' ) ) + // InternalScope.g:14528:1: ( '>' ) + { + // InternalScope.g:14528:1: ( '>' ) + // InternalScope.g:14529:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_2__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_2__1" + // InternalScope.g:14538:1: rule__OpOther__Group_2__1 : rule__OpOther__Group_2__1__Impl ; + public final void rule__OpOther__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14542:1: ( rule__OpOther__Group_2__1__Impl ) + // InternalScope.g:14543:2: rule__OpOther__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_2__1" + + + // $ANTLR start "rule__OpOther__Group_2__1__Impl" + // InternalScope.g:14549:1: rule__OpOther__Group_2__1__Impl : ( '..' ) ; + public final void rule__OpOther__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14553:1: ( ( '..' ) ) + // InternalScope.g:14554:1: ( '..' ) + { + // InternalScope.g:14554:1: ( '..' ) + // InternalScope.g:14555:2: '..' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); + } + match(input,50,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_2__1__Impl" + + + // $ANTLR start "rule__OpOther__Group_5__0" + // InternalScope.g:14565:1: rule__OpOther__Group_5__0 : rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1 ; + public final void rule__OpOther__Group_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14569:1: ( rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1 ) + // InternalScope.g:14570:2: rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1 + { + pushFollow(FOLLOW_89); + rule__OpOther__Group_5__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpOther__Group_5__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5__0" + + + // $ANTLR start "rule__OpOther__Group_5__0__Impl" + // InternalScope.g:14577:1: rule__OpOther__Group_5__0__Impl : ( '>' ) ; + public final void rule__OpOther__Group_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14581:1: ( ( '>' ) ) + // InternalScope.g:14582:1: ( '>' ) + { + // InternalScope.g:14582:1: ( '>' ) + // InternalScope.g:14583:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_5__1" + // InternalScope.g:14592:1: rule__OpOther__Group_5__1 : rule__OpOther__Group_5__1__Impl ; + public final void rule__OpOther__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14596:1: ( rule__OpOther__Group_5__1__Impl ) + // InternalScope.g:14597:2: rule__OpOther__Group_5__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_5__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5__1" + + + // $ANTLR start "rule__OpOther__Group_5__1__Impl" + // InternalScope.g:14603:1: rule__OpOther__Group_5__1__Impl : ( ( rule__OpOther__Alternatives_5_1 ) ) ; + public final void rule__OpOther__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14607:1: ( ( ( rule__OpOther__Alternatives_5_1 ) ) ) + // InternalScope.g:14608:1: ( ( rule__OpOther__Alternatives_5_1 ) ) + { + // InternalScope.g:14608:1: ( ( rule__OpOther__Alternatives_5_1 ) ) + // InternalScope.g:14609:2: ( rule__OpOther__Alternatives_5_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getAlternatives_5_1()); + } + // InternalScope.g:14610:2: ( rule__OpOther__Alternatives_5_1 ) + // InternalScope.g:14610:3: rule__OpOther__Alternatives_5_1 + { + pushFollow(FOLLOW_2); + rule__OpOther__Alternatives_5_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getAlternatives_5_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5__1__Impl" + + + // $ANTLR start "rule__OpOther__Group_5_1_0__0" + // InternalScope.g:14619:1: rule__OpOther__Group_5_1_0__0 : rule__OpOther__Group_5_1_0__0__Impl ; + public final void rule__OpOther__Group_5_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14623:1: ( rule__OpOther__Group_5_1_0__0__Impl ) + // InternalScope.g:14624:2: rule__OpOther__Group_5_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_5_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0__0" + + + // $ANTLR start "rule__OpOther__Group_5_1_0__0__Impl" + // InternalScope.g:14630:1: rule__OpOther__Group_5_1_0__0__Impl : ( ( rule__OpOther__Group_5_1_0_0__0 ) ) ; + public final void rule__OpOther__Group_5_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14634:1: ( ( ( rule__OpOther__Group_5_1_0_0__0 ) ) ) + // InternalScope.g:14635:1: ( ( rule__OpOther__Group_5_1_0_0__0 ) ) + { + // InternalScope.g:14635:1: ( ( rule__OpOther__Group_5_1_0_0__0 ) ) + // InternalScope.g:14636:2: ( rule__OpOther__Group_5_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0()); + } + // InternalScope.g:14637:2: ( rule__OpOther__Group_5_1_0_0__0 ) + // InternalScope.g:14637:3: rule__OpOther__Group_5_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_5_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_5_1_0_0__0" + // InternalScope.g:14646:1: rule__OpOther__Group_5_1_0_0__0 : rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1 ; + public final void rule__OpOther__Group_5_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14650:1: ( rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1 ) + // InternalScope.g:14651:2: rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1 + { + pushFollow(FOLLOW_89); + rule__OpOther__Group_5_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpOther__Group_5_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0_0__0" + + + // $ANTLR start "rule__OpOther__Group_5_1_0_0__0__Impl" + // InternalScope.g:14658:1: rule__OpOther__Group_5_1_0_0__0__Impl : ( '>' ) ; + public final void rule__OpOther__Group_5_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14662:1: ( ( '>' ) ) + // InternalScope.g:14663:1: ( '>' ) + { + // InternalScope.g:14663:1: ( '>' ) + // InternalScope.g:14664:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0_0__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_5_1_0_0__1" + // InternalScope.g:14673:1: rule__OpOther__Group_5_1_0_0__1 : rule__OpOther__Group_5_1_0_0__1__Impl ; + public final void rule__OpOther__Group_5_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14677:1: ( rule__OpOther__Group_5_1_0_0__1__Impl ) + // InternalScope.g:14678:2: rule__OpOther__Group_5_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_5_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0_0__1" + + + // $ANTLR start "rule__OpOther__Group_5_1_0_0__1__Impl" + // InternalScope.g:14684:1: rule__OpOther__Group_5_1_0_0__1__Impl : ( '>' ) ; + public final void rule__OpOther__Group_5_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14688:1: ( ( '>' ) ) + // InternalScope.g:14689:1: ( '>' ) + { + // InternalScope.g:14689:1: ( '>' ) + // InternalScope.g:14690:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_5_1_0_0__1__Impl" + + + // $ANTLR start "rule__OpOther__Group_6__0" + // InternalScope.g:14700:1: rule__OpOther__Group_6__0 : rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1 ; + public final void rule__OpOther__Group_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14704:1: ( rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1 ) + // InternalScope.g:14705:2: rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1 + { + pushFollow(FOLLOW_90); + rule__OpOther__Group_6__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpOther__Group_6__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6__0" + + + // $ANTLR start "rule__OpOther__Group_6__0__Impl" + // InternalScope.g:14712:1: rule__OpOther__Group_6__0__Impl : ( '<' ) ; + public final void rule__OpOther__Group_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14716:1: ( ( '<' ) ) + // InternalScope.g:14717:1: ( '<' ) + { + // InternalScope.g:14717:1: ( '<' ) + // InternalScope.g:14718:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_6__1" + // InternalScope.g:14727:1: rule__OpOther__Group_6__1 : rule__OpOther__Group_6__1__Impl ; + public final void rule__OpOther__Group_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14731:1: ( rule__OpOther__Group_6__1__Impl ) + // InternalScope.g:14732:2: rule__OpOther__Group_6__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6__1" + + + // $ANTLR start "rule__OpOther__Group_6__1__Impl" + // InternalScope.g:14738:1: rule__OpOther__Group_6__1__Impl : ( ( rule__OpOther__Alternatives_6_1 ) ) ; + public final void rule__OpOther__Group_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14742:1: ( ( ( rule__OpOther__Alternatives_6_1 ) ) ) + // InternalScope.g:14743:1: ( ( rule__OpOther__Alternatives_6_1 ) ) + { + // InternalScope.g:14743:1: ( ( rule__OpOther__Alternatives_6_1 ) ) + // InternalScope.g:14744:2: ( rule__OpOther__Alternatives_6_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getAlternatives_6_1()); + } + // InternalScope.g:14745:2: ( rule__OpOther__Alternatives_6_1 ) + // InternalScope.g:14745:3: rule__OpOther__Alternatives_6_1 + { + pushFollow(FOLLOW_2); + rule__OpOther__Alternatives_6_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getAlternatives_6_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6__1__Impl" + + + // $ANTLR start "rule__OpOther__Group_6_1_0__0" + // InternalScope.g:14754:1: rule__OpOther__Group_6_1_0__0 : rule__OpOther__Group_6_1_0__0__Impl ; + public final void rule__OpOther__Group_6_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14758:1: ( rule__OpOther__Group_6_1_0__0__Impl ) + // InternalScope.g:14759:2: rule__OpOther__Group_6_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0__0" + + + // $ANTLR start "rule__OpOther__Group_6_1_0__0__Impl" + // InternalScope.g:14765:1: rule__OpOther__Group_6_1_0__0__Impl : ( ( rule__OpOther__Group_6_1_0_0__0 ) ) ; + public final void rule__OpOther__Group_6_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14769:1: ( ( ( rule__OpOther__Group_6_1_0_0__0 ) ) ) + // InternalScope.g:14770:1: ( ( rule__OpOther__Group_6_1_0_0__0 ) ) + { + // InternalScope.g:14770:1: ( ( rule__OpOther__Group_6_1_0_0__0 ) ) + // InternalScope.g:14771:2: ( rule__OpOther__Group_6_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0()); + } + // InternalScope.g:14772:2: ( rule__OpOther__Group_6_1_0_0__0 ) + // InternalScope.g:14772:3: rule__OpOther__Group_6_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_6_1_0_0__0" + // InternalScope.g:14781:1: rule__OpOther__Group_6_1_0_0__0 : rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1 ; + public final void rule__OpOther__Group_6_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14785:1: ( rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1 ) + // InternalScope.g:14786:2: rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1 + { + pushFollow(FOLLOW_78); + rule__OpOther__Group_6_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__OpOther__Group_6_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0_0__0" + + + // $ANTLR start "rule__OpOther__Group_6_1_0_0__0__Impl" + // InternalScope.g:14793:1: rule__OpOther__Group_6_1_0_0__0__Impl : ( '<' ) ; + public final void rule__OpOther__Group_6_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14797:1: ( ( '<' ) ) + // InternalScope.g:14798:1: ( '<' ) + { + // InternalScope.g:14798:1: ( '<' ) + // InternalScope.g:14799:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0_0__0__Impl" + + + // $ANTLR start "rule__OpOther__Group_6_1_0_0__1" + // InternalScope.g:14808:1: rule__OpOther__Group_6_1_0_0__1 : rule__OpOther__Group_6_1_0_0__1__Impl ; + public final void rule__OpOther__Group_6_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14812:1: ( rule__OpOther__Group_6_1_0_0__1__Impl ) + // InternalScope.g:14813:2: rule__OpOther__Group_6_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0_0__1" + + + // $ANTLR start "rule__OpOther__Group_6_1_0_0__1__Impl" + // InternalScope.g:14819:1: rule__OpOther__Group_6_1_0_0__1__Impl : ( '<' ) ; + public final void rule__OpOther__Group_6_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14823:1: ( ( '<' ) ) + // InternalScope.g:14824:1: ( '<' ) + { + // InternalScope.g:14824:1: ( '<' ) + // InternalScope.g:14825:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OpOther__Group_6_1_0_0__1__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group__0" + // InternalScope.g:14835:1: rule__XAdditiveExpression__Group__0 : rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1 ; + public final void rule__XAdditiveExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14839:1: ( rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1 ) + // InternalScope.g:14840:2: rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1 + { + pushFollow(FOLLOW_66); + rule__XAdditiveExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group__0" + + + // $ANTLR start "rule__XAdditiveExpression__Group__0__Impl" + // InternalScope.g:14847:1: rule__XAdditiveExpression__Group__0__Impl : ( ruleXMultiplicativeExpression ) ; + public final void rule__XAdditiveExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14851:1: ( ( ruleXMultiplicativeExpression ) ) + // InternalScope.g:14852:1: ( ruleXMultiplicativeExpression ) + { + // InternalScope.g:14852:1: ( ruleXMultiplicativeExpression ) + // InternalScope.g:14853:2: ruleXMultiplicativeExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group__0__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group__1" + // InternalScope.g:14862:1: rule__XAdditiveExpression__Group__1 : rule__XAdditiveExpression__Group__1__Impl ; + public final void rule__XAdditiveExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14866:1: ( rule__XAdditiveExpression__Group__1__Impl ) + // InternalScope.g:14867:2: rule__XAdditiveExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group__1" + + + // $ANTLR start "rule__XAdditiveExpression__Group__1__Impl" + // InternalScope.g:14873:1: rule__XAdditiveExpression__Group__1__Impl : ( ( rule__XAdditiveExpression__Group_1__0 )* ) ; + public final void rule__XAdditiveExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14877:1: ( ( ( rule__XAdditiveExpression__Group_1__0 )* ) ) + // InternalScope.g:14878:1: ( ( rule__XAdditiveExpression__Group_1__0 )* ) + { + // InternalScope.g:14878:1: ( ( rule__XAdditiveExpression__Group_1__0 )* ) + // InternalScope.g:14879:2: ( rule__XAdditiveExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1()); + } + // InternalScope.g:14880:2: ( rule__XAdditiveExpression__Group_1__0 )* + loop122: + do { + int alt122=2; + int LA122_0 = input.LA(1); + + if ( (LA122_0==24) ) { + int LA122_2 = input.LA(2); + + if ( (synpred197_InternalScope()) ) { + alt122=1; + } + + + } + else if ( (LA122_0==23) ) { + int LA122_3 = input.LA(2); + + if ( (synpred197_InternalScope()) ) { + alt122=1; + } + + + } + + + switch (alt122) { + case 1 : + // InternalScope.g:14880:3: rule__XAdditiveExpression__Group_1__0 + { + pushFollow(FOLLOW_67); + rule__XAdditiveExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop122; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group__1__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1__0" + // InternalScope.g:14889:1: rule__XAdditiveExpression__Group_1__0 : rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1 ; + public final void rule__XAdditiveExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14893:1: ( rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1 ) + // InternalScope.g:14894:2: rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1 + { + pushFollow(FOLLOW_76); + rule__XAdditiveExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1__0" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1__0__Impl" + // InternalScope.g:14901:1: rule__XAdditiveExpression__Group_1__0__Impl : ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) ; + public final void rule__XAdditiveExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14905:1: ( ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) ) + // InternalScope.g:14906:1: ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) + { + // InternalScope.g:14906:1: ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) + // InternalScope.g:14907:2: ( rule__XAdditiveExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0()); + } + // InternalScope.g:14908:2: ( rule__XAdditiveExpression__Group_1_0__0 ) + // InternalScope.g:14908:3: rule__XAdditiveExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1__1" + // InternalScope.g:14916:1: rule__XAdditiveExpression__Group_1__1 : rule__XAdditiveExpression__Group_1__1__Impl ; + public final void rule__XAdditiveExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14920:1: ( rule__XAdditiveExpression__Group_1__1__Impl ) + // InternalScope.g:14921:2: rule__XAdditiveExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1__1" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1__1__Impl" + // InternalScope.g:14927:1: rule__XAdditiveExpression__Group_1__1__Impl : ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XAdditiveExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14931:1: ( ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) ) + // InternalScope.g:14932:1: ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) + { + // InternalScope.g:14932:1: ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) + // InternalScope.g:14933:2: ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalScope.g:14934:2: ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) + // InternalScope.g:14934:3: rule__XAdditiveExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0__0" + // InternalScope.g:14943:1: rule__XAdditiveExpression__Group_1_0__0 : rule__XAdditiveExpression__Group_1_0__0__Impl ; + public final void rule__XAdditiveExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14947:1: ( rule__XAdditiveExpression__Group_1_0__0__Impl ) + // InternalScope.g:14948:2: rule__XAdditiveExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0__0" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0__0__Impl" + // InternalScope.g:14954:1: rule__XAdditiveExpression__Group_1_0__0__Impl : ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) ; + public final void rule__XAdditiveExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14958:1: ( ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) ) + // InternalScope.g:14959:1: ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) + { + // InternalScope.g:14959:1: ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) + // InternalScope.g:14960:2: ( rule__XAdditiveExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0()); + } + // InternalScope.g:14961:2: ( rule__XAdditiveExpression__Group_1_0_0__0 ) + // InternalScope.g:14961:3: rule__XAdditiveExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__0" + // InternalScope.g:14970:1: rule__XAdditiveExpression__Group_1_0_0__0 : rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1 ; + public final void rule__XAdditiveExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14974:1: ( rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1 ) + // InternalScope.g:14975:2: rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_66); + rule__XAdditiveExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__0__Impl" + // InternalScope.g:14982:1: rule__XAdditiveExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XAdditiveExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:14986:1: ( ( () ) ) + // InternalScope.g:14987:1: ( () ) + { + // InternalScope.g:14987:1: ( () ) + // InternalScope.g:14988:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalScope.g:14989:2: () + // InternalScope.g:14989:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__1" + // InternalScope.g:14997:1: rule__XAdditiveExpression__Group_1_0_0__1 : rule__XAdditiveExpression__Group_1_0_0__1__Impl ; + public final void rule__XAdditiveExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15001:1: ( rule__XAdditiveExpression__Group_1_0_0__1__Impl ) + // InternalScope.g:15002:2: rule__XAdditiveExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__1__Impl" + // InternalScope.g:15008:1: rule__XAdditiveExpression__Group_1_0_0__1__Impl : ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XAdditiveExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15012:1: ( ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalScope.g:15013:1: ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalScope.g:15013:1: ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalScope.g:15014:2: ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalScope.g:15015:2: ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) + // InternalScope.g:15015:3: rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group__0" + // InternalScope.g:15024:1: rule__XMultiplicativeExpression__Group__0 : rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1 ; + public final void rule__XMultiplicativeExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15028:1: ( rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1 ) + // InternalScope.g:15029:2: rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1 + { + pushFollow(FOLLOW_91); + rule__XMultiplicativeExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group__0" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group__0__Impl" + // InternalScope.g:15036:1: rule__XMultiplicativeExpression__Group__0__Impl : ( ruleXUnaryOperation ) ; + public final void rule__XMultiplicativeExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15040:1: ( ( ruleXUnaryOperation ) ) + // InternalScope.g:15041:1: ( ruleXUnaryOperation ) + { + // InternalScope.g:15041:1: ( ruleXUnaryOperation ) + // InternalScope.g:15042:2: ruleXUnaryOperation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group__0__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group__1" + // InternalScope.g:15051:1: rule__XMultiplicativeExpression__Group__1 : rule__XMultiplicativeExpression__Group__1__Impl ; + public final void rule__XMultiplicativeExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15055:1: ( rule__XMultiplicativeExpression__Group__1__Impl ) + // InternalScope.g:15056:2: rule__XMultiplicativeExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group__1" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group__1__Impl" + // InternalScope.g:15062:1: rule__XMultiplicativeExpression__Group__1__Impl : ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) ; + public final void rule__XMultiplicativeExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15066:1: ( ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) ) + // InternalScope.g:15067:1: ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) + { + // InternalScope.g:15067:1: ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) + // InternalScope.g:15068:2: ( rule__XMultiplicativeExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1()); + } + // InternalScope.g:15069:2: ( rule__XMultiplicativeExpression__Group_1__0 )* + loop123: + do { + int alt123=2; + switch ( input.LA(1) ) { + case 25: + { + int LA123_2 = input.LA(2); + + if ( (synpred198_InternalScope()) ) { + alt123=1; + } + + + } + break; + case 54: + { + int LA123_3 = input.LA(2); + + if ( (synpred198_InternalScope()) ) { + alt123=1; + } + + + } + break; + case 26: + { + int LA123_4 = input.LA(2); + + if ( (synpred198_InternalScope()) ) { + alt123=1; + } + + + } + break; + case 55: + { + int LA123_5 = input.LA(2); + + if ( (synpred198_InternalScope()) ) { + alt123=1; + } + + + } + break; + + } + + switch (alt123) { + case 1 : + // InternalScope.g:15069:3: rule__XMultiplicativeExpression__Group_1__0 + { + pushFollow(FOLLOW_92); + rule__XMultiplicativeExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop123; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group__1__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1__0" + // InternalScope.g:15078:1: rule__XMultiplicativeExpression__Group_1__0 : rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1 ; + public final void rule__XMultiplicativeExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15082:1: ( rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1 ) + // InternalScope.g:15083:2: rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1 + { + pushFollow(FOLLOW_76); + rule__XMultiplicativeExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1__0" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1__0__Impl" + // InternalScope.g:15090:1: rule__XMultiplicativeExpression__Group_1__0__Impl : ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) ; + public final void rule__XMultiplicativeExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15094:1: ( ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) ) + // InternalScope.g:15095:1: ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) + { + // InternalScope.g:15095:1: ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) + // InternalScope.g:15096:2: ( rule__XMultiplicativeExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0()); + } + // InternalScope.g:15097:2: ( rule__XMultiplicativeExpression__Group_1_0__0 ) + // InternalScope.g:15097:3: rule__XMultiplicativeExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1__1" + // InternalScope.g:15105:1: rule__XMultiplicativeExpression__Group_1__1 : rule__XMultiplicativeExpression__Group_1__1__Impl ; + public final void rule__XMultiplicativeExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15109:1: ( rule__XMultiplicativeExpression__Group_1__1__Impl ) + // InternalScope.g:15110:2: rule__XMultiplicativeExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1__1" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1__1__Impl" + // InternalScope.g:15116:1: rule__XMultiplicativeExpression__Group_1__1__Impl : ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) ; + public final void rule__XMultiplicativeExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15120:1: ( ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) ) + // InternalScope.g:15121:1: ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) + { + // InternalScope.g:15121:1: ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) + // InternalScope.g:15122:2: ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1()); + } + // InternalScope.g:15123:2: ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) + // InternalScope.g:15123:3: rule__XMultiplicativeExpression__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__RightOperandAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0__0" + // InternalScope.g:15132:1: rule__XMultiplicativeExpression__Group_1_0__0 : rule__XMultiplicativeExpression__Group_1_0__0__Impl ; + public final void rule__XMultiplicativeExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15136:1: ( rule__XMultiplicativeExpression__Group_1_0__0__Impl ) + // InternalScope.g:15137:2: rule__XMultiplicativeExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0__0" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0__0__Impl" + // InternalScope.g:15143:1: rule__XMultiplicativeExpression__Group_1_0__0__Impl : ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) ; + public final void rule__XMultiplicativeExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15147:1: ( ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) ) + // InternalScope.g:15148:1: ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) + { + // InternalScope.g:15148:1: ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) + // InternalScope.g:15149:2: ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0()); + } + // InternalScope.g:15150:2: ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) + // InternalScope.g:15150:3: rule__XMultiplicativeExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__0" + // InternalScope.g:15159:1: rule__XMultiplicativeExpression__Group_1_0_0__0 : rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1 ; + public final void rule__XMultiplicativeExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15163:1: ( rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1 ) + // InternalScope.g:15164:2: rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_91); + rule__XMultiplicativeExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__0__Impl" + // InternalScope.g:15171:1: rule__XMultiplicativeExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XMultiplicativeExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15175:1: ( ( () ) ) + // InternalScope.g:15176:1: ( () ) + { + // InternalScope.g:15176:1: ( () ) + // InternalScope.g:15177:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + // InternalScope.g:15178:2: () + // InternalScope.g:15178:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__1" + // InternalScope.g:15186:1: rule__XMultiplicativeExpression__Group_1_0_0__1 : rule__XMultiplicativeExpression__Group_1_0_0__1__Impl ; + public final void rule__XMultiplicativeExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15190:1: ( rule__XMultiplicativeExpression__Group_1_0_0__1__Impl ) + // InternalScope.g:15191:2: rule__XMultiplicativeExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__1__Impl" + // InternalScope.g:15197:1: rule__XMultiplicativeExpression__Group_1_0_0__1__Impl : ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) ; + public final void rule__XMultiplicativeExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15201:1: ( ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) ) + // InternalScope.g:15202:1: ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) + { + // InternalScope.g:15202:1: ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) + // InternalScope.g:15203:2: ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + // InternalScope.g:15204:2: ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) + // InternalScope.g:15204:3: rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__0" + // InternalScope.g:15213:1: rule__XUnaryOperation__Group_0__0 : rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1 ; + public final void rule__XUnaryOperation__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15217:1: ( rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1 ) + // InternalScope.g:15218:2: rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1 + { + pushFollow(FOLLOW_93); + rule__XUnaryOperation__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XUnaryOperation__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__0" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__0__Impl" + // InternalScope.g:15225:1: rule__XUnaryOperation__Group_0__0__Impl : ( () ) ; + public final void rule__XUnaryOperation__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15229:1: ( ( () ) ) + // InternalScope.g:15230:1: ( () ) + { + // InternalScope.g:15230:1: ( () ) + // InternalScope.g:15231:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0()); + } + // InternalScope.g:15232:2: () + // InternalScope.g:15232:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__0__Impl" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__1" + // InternalScope.g:15240:1: rule__XUnaryOperation__Group_0__1 : rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2 ; + public final void rule__XUnaryOperation__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15244:1: ( rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2 ) + // InternalScope.g:15245:2: rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2 + { + pushFollow(FOLLOW_76); + rule__XUnaryOperation__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XUnaryOperation__Group_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__1" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__1__Impl" + // InternalScope.g:15252:1: rule__XUnaryOperation__Group_0__1__Impl : ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) ; + public final void rule__XUnaryOperation__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15256:1: ( ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) ) + // InternalScope.g:15257:1: ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) + { + // InternalScope.g:15257:1: ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) + // InternalScope.g:15258:2: ( rule__XUnaryOperation__FeatureAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1()); + } + // InternalScope.g:15259:2: ( rule__XUnaryOperation__FeatureAssignment_0_1 ) + // InternalScope.g:15259:3: rule__XUnaryOperation__FeatureAssignment_0_1 + { + pushFollow(FOLLOW_2); + rule__XUnaryOperation__FeatureAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__1__Impl" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__2" + // InternalScope.g:15267:1: rule__XUnaryOperation__Group_0__2 : rule__XUnaryOperation__Group_0__2__Impl ; + public final void rule__XUnaryOperation__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15271:1: ( rule__XUnaryOperation__Group_0__2__Impl ) + // InternalScope.g:15272:2: rule__XUnaryOperation__Group_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XUnaryOperation__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__2" + + + // $ANTLR start "rule__XUnaryOperation__Group_0__2__Impl" + // InternalScope.g:15278:1: rule__XUnaryOperation__Group_0__2__Impl : ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) ; + public final void rule__XUnaryOperation__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15282:1: ( ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) ) + // InternalScope.g:15283:1: ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) + { + // InternalScope.g:15283:1: ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) + // InternalScope.g:15284:2: ( rule__XUnaryOperation__OperandAssignment_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2()); + } + // InternalScope.g:15285:2: ( rule__XUnaryOperation__OperandAssignment_0_2 ) + // InternalScope.g:15285:3: rule__XUnaryOperation__OperandAssignment_0_2 + { + pushFollow(FOLLOW_2); + rule__XUnaryOperation__OperandAssignment_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__Group_0__2__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group__0" + // InternalScope.g:15294:1: rule__XCastedExpression__Group__0 : rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1 ; + public final void rule__XCastedExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15298:1: ( rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1 ) + // InternalScope.g:15299:2: rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1 + { + pushFollow(FOLLOW_11); + rule__XCastedExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group__0" + + + // $ANTLR start "rule__XCastedExpression__Group__0__Impl" + // InternalScope.g:15306:1: rule__XCastedExpression__Group__0__Impl : ( ruleXPostfixOperation ) ; + public final void rule__XCastedExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15310:1: ( ( ruleXPostfixOperation ) ) + // InternalScope.g:15311:1: ( ruleXPostfixOperation ) + { + // InternalScope.g:15311:1: ( ruleXPostfixOperation ) + // InternalScope.g:15312:2: ruleXPostfixOperation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXPostfixOperation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group__0__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group__1" + // InternalScope.g:15321:1: rule__XCastedExpression__Group__1 : rule__XCastedExpression__Group__1__Impl ; + public final void rule__XCastedExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15325:1: ( rule__XCastedExpression__Group__1__Impl ) + // InternalScope.g:15326:2: rule__XCastedExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group__1" + + + // $ANTLR start "rule__XCastedExpression__Group__1__Impl" + // InternalScope.g:15332:1: rule__XCastedExpression__Group__1__Impl : ( ( rule__XCastedExpression__Group_1__0 )* ) ; + public final void rule__XCastedExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15336:1: ( ( ( rule__XCastedExpression__Group_1__0 )* ) ) + // InternalScope.g:15337:1: ( ( rule__XCastedExpression__Group_1__0 )* ) + { + // InternalScope.g:15337:1: ( ( rule__XCastedExpression__Group_1__0 )* ) + // InternalScope.g:15338:2: ( rule__XCastedExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getGroup_1()); + } + // InternalScope.g:15339:2: ( rule__XCastedExpression__Group_1__0 )* + loop124: + do { + int alt124=2; + int LA124_0 = input.LA(1); + + if ( (LA124_0==69) ) { + int LA124_2 = input.LA(2); + + if ( (synpred199_InternalScope()) ) { + alt124=1; + } + + + } + + + switch (alt124) { + case 1 : + // InternalScope.g:15339:3: rule__XCastedExpression__Group_1__0 + { + pushFollow(FOLLOW_94); + rule__XCastedExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop124; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group__1__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group_1__0" + // InternalScope.g:15348:1: rule__XCastedExpression__Group_1__0 : rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1 ; + public final void rule__XCastedExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15352:1: ( rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1 ) + // InternalScope.g:15353:2: rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1 + { + pushFollow(FOLLOW_84); + rule__XCastedExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1__0" + + + // $ANTLR start "rule__XCastedExpression__Group_1__0__Impl" + // InternalScope.g:15360:1: rule__XCastedExpression__Group_1__0__Impl : ( ( rule__XCastedExpression__Group_1_0__0 ) ) ; + public final void rule__XCastedExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15364:1: ( ( ( rule__XCastedExpression__Group_1_0__0 ) ) ) + // InternalScope.g:15365:1: ( ( rule__XCastedExpression__Group_1_0__0 ) ) + { + // InternalScope.g:15365:1: ( ( rule__XCastedExpression__Group_1_0__0 ) ) + // InternalScope.g:15366:2: ( rule__XCastedExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getGroup_1_0()); + } + // InternalScope.g:15367:2: ( rule__XCastedExpression__Group_1_0__0 ) + // InternalScope.g:15367:3: rule__XCastedExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group_1__1" + // InternalScope.g:15375:1: rule__XCastedExpression__Group_1__1 : rule__XCastedExpression__Group_1__1__Impl ; + public final void rule__XCastedExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15379:1: ( rule__XCastedExpression__Group_1__1__Impl ) + // InternalScope.g:15380:2: rule__XCastedExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1__1" + + + // $ANTLR start "rule__XCastedExpression__Group_1__1__Impl" + // InternalScope.g:15386:1: rule__XCastedExpression__Group_1__1__Impl : ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) ; + public final void rule__XCastedExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15390:1: ( ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) ) + // InternalScope.g:15391:1: ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) + { + // InternalScope.g:15391:1: ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) + // InternalScope.g:15392:2: ( rule__XCastedExpression__TypeAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1()); + } + // InternalScope.g:15393:2: ( rule__XCastedExpression__TypeAssignment_1_1 ) + // InternalScope.g:15393:3: rule__XCastedExpression__TypeAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__TypeAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0__0" + // InternalScope.g:15402:1: rule__XCastedExpression__Group_1_0__0 : rule__XCastedExpression__Group_1_0__0__Impl ; + public final void rule__XCastedExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15406:1: ( rule__XCastedExpression__Group_1_0__0__Impl ) + // InternalScope.g:15407:2: rule__XCastedExpression__Group_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0__0" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0__0__Impl" + // InternalScope.g:15413:1: rule__XCastedExpression__Group_1_0__0__Impl : ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) ; + public final void rule__XCastedExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15417:1: ( ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) ) + // InternalScope.g:15418:1: ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) + { + // InternalScope.g:15418:1: ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) + // InternalScope.g:15419:2: ( rule__XCastedExpression__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0()); + } + // InternalScope.g:15420:2: ( rule__XCastedExpression__Group_1_0_0__0 ) + // InternalScope.g:15420:3: rule__XCastedExpression__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0_0__0" + // InternalScope.g:15429:1: rule__XCastedExpression__Group_1_0_0__0 : rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1 ; + public final void rule__XCastedExpression__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15433:1: ( rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1 ) + // InternalScope.g:15434:2: rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1 + { + pushFollow(FOLLOW_11); + rule__XCastedExpression__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0_0__0" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0_0__0__Impl" + // InternalScope.g:15441:1: rule__XCastedExpression__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__XCastedExpression__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15445:1: ( ( () ) ) + // InternalScope.g:15446:1: ( () ) + { + // InternalScope.g:15446:1: ( () ) + // InternalScope.g:15447:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0()); + } + // InternalScope.g:15448:2: () + // InternalScope.g:15448:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0_0__1" + // InternalScope.g:15456:1: rule__XCastedExpression__Group_1_0_0__1 : rule__XCastedExpression__Group_1_0_0__1__Impl ; + public final void rule__XCastedExpression__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15460:1: ( rule__XCastedExpression__Group_1_0_0__1__Impl ) + // InternalScope.g:15461:2: rule__XCastedExpression__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0_0__1" + + + // $ANTLR start "rule__XCastedExpression__Group_1_0_0__1__Impl" + // InternalScope.g:15467:1: rule__XCastedExpression__Group_1_0_0__1__Impl : ( 'as' ) ; + public final void rule__XCastedExpression__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15471:1: ( ( 'as' ) ) + // InternalScope.g:15472:1: ( 'as' ) + { + // InternalScope.g:15472:1: ( 'as' ) + // InternalScope.g:15473:2: 'as' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); + } + match(input,69,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XPostfixOperation__Group__0" + // InternalScope.g:15483:1: rule__XPostfixOperation__Group__0 : rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1 ; + public final void rule__XPostfixOperation__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15487:1: ( rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1 ) + // InternalScope.g:15488:2: rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1 + { + pushFollow(FOLLOW_95); + rule__XPostfixOperation__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group__0" + + + // $ANTLR start "rule__XPostfixOperation__Group__0__Impl" + // InternalScope.g:15495:1: rule__XPostfixOperation__Group__0__Impl : ( ruleXMemberFeatureCall ) ; + public final void rule__XPostfixOperation__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15499:1: ( ( ruleXMemberFeatureCall ) ) + // InternalScope.g:15500:1: ( ruleXMemberFeatureCall ) + { + // InternalScope.g:15500:1: ( ruleXMemberFeatureCall ) + // InternalScope.g:15501:2: ruleXMemberFeatureCall + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXMemberFeatureCall(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group__0__Impl" + + + // $ANTLR start "rule__XPostfixOperation__Group__1" + // InternalScope.g:15510:1: rule__XPostfixOperation__Group__1 : rule__XPostfixOperation__Group__1__Impl ; + public final void rule__XPostfixOperation__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15514:1: ( rule__XPostfixOperation__Group__1__Impl ) + // InternalScope.g:15515:2: rule__XPostfixOperation__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group__1" + + + // $ANTLR start "rule__XPostfixOperation__Group__1__Impl" + // InternalScope.g:15521:1: rule__XPostfixOperation__Group__1__Impl : ( ( rule__XPostfixOperation__Group_1__0 )? ) ; + public final void rule__XPostfixOperation__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15525:1: ( ( ( rule__XPostfixOperation__Group_1__0 )? ) ) + // InternalScope.g:15526:1: ( ( rule__XPostfixOperation__Group_1__0 )? ) + { + // InternalScope.g:15526:1: ( ( rule__XPostfixOperation__Group_1__0 )? ) + // InternalScope.g:15527:2: ( rule__XPostfixOperation__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getGroup_1()); + } + // InternalScope.g:15528:2: ( rule__XPostfixOperation__Group_1__0 )? + int alt125=2; + int LA125_0 = input.LA(1); + + if ( (LA125_0==56) ) { + int LA125_1 = input.LA(2); + + if ( (synpred200_InternalScope()) ) { + alt125=1; + } + } + else if ( (LA125_0==57) ) { + int LA125_2 = input.LA(2); + + if ( (synpred200_InternalScope()) ) { + alt125=1; + } + } + switch (alt125) { + case 1 : + // InternalScope.g:15528:3: rule__XPostfixOperation__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group__1__Impl" + + + // $ANTLR start "rule__XPostfixOperation__Group_1__0" + // InternalScope.g:15537:1: rule__XPostfixOperation__Group_1__0 : rule__XPostfixOperation__Group_1__0__Impl ; + public final void rule__XPostfixOperation__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15541:1: ( rule__XPostfixOperation__Group_1__0__Impl ) + // InternalScope.g:15542:2: rule__XPostfixOperation__Group_1__0__Impl + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1__0" + + + // $ANTLR start "rule__XPostfixOperation__Group_1__0__Impl" + // InternalScope.g:15548:1: rule__XPostfixOperation__Group_1__0__Impl : ( ( rule__XPostfixOperation__Group_1_0__0 ) ) ; + public final void rule__XPostfixOperation__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15552:1: ( ( ( rule__XPostfixOperation__Group_1_0__0 ) ) ) + // InternalScope.g:15553:1: ( ( rule__XPostfixOperation__Group_1_0__0 ) ) + { + // InternalScope.g:15553:1: ( ( rule__XPostfixOperation__Group_1_0__0 ) ) + // InternalScope.g:15554:2: ( rule__XPostfixOperation__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getGroup_1_0()); + } + // InternalScope.g:15555:2: ( rule__XPostfixOperation__Group_1_0__0 ) + // InternalScope.g:15555:3: rule__XPostfixOperation__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1__0__Impl" + + + // $ANTLR start "rule__XPostfixOperation__Group_1_0__0" + // InternalScope.g:15564:1: rule__XPostfixOperation__Group_1_0__0 : rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1 ; + public final void rule__XPostfixOperation__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15568:1: ( rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1 ) + // InternalScope.g:15569:2: rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1 + { + pushFollow(FOLLOW_95); + rule__XPostfixOperation__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1_0__0" + + + // $ANTLR start "rule__XPostfixOperation__Group_1_0__0__Impl" + // InternalScope.g:15576:1: rule__XPostfixOperation__Group_1_0__0__Impl : ( () ) ; + public final void rule__XPostfixOperation__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15580:1: ( ( () ) ) + // InternalScope.g:15581:1: ( () ) + { + // InternalScope.g:15581:1: ( () ) + // InternalScope.g:15582:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0()); + } + // InternalScope.g:15583:2: () + // InternalScope.g:15583:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XPostfixOperation__Group_1_0__1" + // InternalScope.g:15591:1: rule__XPostfixOperation__Group_1_0__1 : rule__XPostfixOperation__Group_1_0__1__Impl ; + public final void rule__XPostfixOperation__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15595:1: ( rule__XPostfixOperation__Group_1_0__1__Impl ) + // InternalScope.g:15596:2: rule__XPostfixOperation__Group_1_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1_0__1" + + + // $ANTLR start "rule__XPostfixOperation__Group_1_0__1__Impl" + // InternalScope.g:15602:1: rule__XPostfixOperation__Group_1_0__1__Impl : ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) ; + public final void rule__XPostfixOperation__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15606:1: ( ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) ) + // InternalScope.g:15607:1: ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) + { + // InternalScope.g:15607:1: ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) + // InternalScope.g:15608:2: ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1()); + } + // InternalScope.g:15609:2: ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) + // InternalScope.g:15609:3: rule__XPostfixOperation__FeatureAssignment_1_0_1 + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__FeatureAssignment_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__Group_1_0__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group__0" + // InternalScope.g:15618:1: rule__XMemberFeatureCall__Group__0 : rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1 ; + public final void rule__XMemberFeatureCall__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15622:1: ( rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1 ) + // InternalScope.g:15623:2: rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1 + { + pushFollow(FOLLOW_96); + rule__XMemberFeatureCall__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group__0__Impl" + // InternalScope.g:15630:1: rule__XMemberFeatureCall__Group__0__Impl : ( ruleXPrimaryExpression ) ; + public final void rule__XMemberFeatureCall__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15634:1: ( ( ruleXPrimaryExpression ) ) + // InternalScope.g:15635:1: ( ruleXPrimaryExpression ) + { + // InternalScope.g:15635:1: ( ruleXPrimaryExpression ) + // InternalScope.g:15636:2: ruleXPrimaryExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleXPrimaryExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group__1" + // InternalScope.g:15645:1: rule__XMemberFeatureCall__Group__1 : rule__XMemberFeatureCall__Group__1__Impl ; + public final void rule__XMemberFeatureCall__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15649:1: ( rule__XMemberFeatureCall__Group__1__Impl ) + // InternalScope.g:15650:2: rule__XMemberFeatureCall__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group__1__Impl" + // InternalScope.g:15656:1: rule__XMemberFeatureCall__Group__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) ; + public final void rule__XMemberFeatureCall__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15660:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) ) + // InternalScope.g:15661:1: ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) + { + // InternalScope.g:15661:1: ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) + // InternalScope.g:15662:2: ( rule__XMemberFeatureCall__Alternatives_1 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1()); + } + // InternalScope.g:15663:2: ( rule__XMemberFeatureCall__Alternatives_1 )* + loop126: + do { + int alt126=2; + switch ( input.LA(1) ) { + case 58: + { + int LA126_2 = input.LA(2); + + if ( (synpred201_InternalScope()) ) { + alt126=1; + } + + + } + break; + case 93: + { + int LA126_3 = input.LA(2); + + if ( (synpred201_InternalScope()) ) { + alt126=1; + } + + + } + break; + case 121: + { + int LA126_4 = input.LA(2); + + if ( (synpred201_InternalScope()) ) { + alt126=1; + } + + + } + break; + + } + + switch (alt126) { + case 1 : + // InternalScope.g:15663:3: rule__XMemberFeatureCall__Alternatives_1 + { + pushFollow(FOLLOW_97); + rule__XMemberFeatureCall__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop126; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__0" + // InternalScope.g:15672:1: rule__XMemberFeatureCall__Group_1_0__0 : rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1 ; + public final void rule__XMemberFeatureCall__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15676:1: ( rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1 ) + // InternalScope.g:15677:2: rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1 + { + pushFollow(FOLLOW_76); + rule__XMemberFeatureCall__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__0__Impl" + // InternalScope.g:15684:1: rule__XMemberFeatureCall__Group_1_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15688:1: ( ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) ) + // InternalScope.g:15689:1: ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) + { + // InternalScope.g:15689:1: ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) + // InternalScope.g:15690:2: ( rule__XMemberFeatureCall__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0()); + } + // InternalScope.g:15691:2: ( rule__XMemberFeatureCall__Group_1_0_0__0 ) + // InternalScope.g:15691:3: rule__XMemberFeatureCall__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__1" + // InternalScope.g:15699:1: rule__XMemberFeatureCall__Group_1_0__1 : rule__XMemberFeatureCall__Group_1_0__1__Impl ; + public final void rule__XMemberFeatureCall__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15703:1: ( rule__XMemberFeatureCall__Group_1_0__1__Impl ) + // InternalScope.g:15704:2: rule__XMemberFeatureCall__Group_1_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__1__Impl" + // InternalScope.g:15710:1: rule__XMemberFeatureCall__Group_1_0__1__Impl : ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15714:1: ( ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) ) + // InternalScope.g:15715:1: ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) + { + // InternalScope.g:15715:1: ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) + // InternalScope.g:15716:2: ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1()); + } + // InternalScope.g:15717:2: ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) + // InternalScope.g:15717:3: rule__XMemberFeatureCall__ValueAssignment_1_0_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__ValueAssignment_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0__0" + // InternalScope.g:15726:1: rule__XMemberFeatureCall__Group_1_0_0__0 : rule__XMemberFeatureCall__Group_1_0_0__0__Impl ; + public final void rule__XMemberFeatureCall__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15730:1: ( rule__XMemberFeatureCall__Group_1_0_0__0__Impl ) + // InternalScope.g:15731:2: rule__XMemberFeatureCall__Group_1_0_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0__0__Impl" + // InternalScope.g:15737:1: rule__XMemberFeatureCall__Group_1_0_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15741:1: ( ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) ) + // InternalScope.g:15742:1: ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) + { + // InternalScope.g:15742:1: ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) + // InternalScope.g:15743:2: ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0()); + } + // InternalScope.g:15744:2: ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) + // InternalScope.g:15744:3: rule__XMemberFeatureCall__Group_1_0_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__0" + // InternalScope.g:15753:1: rule__XMemberFeatureCall__Group_1_0_0_0__0 : rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1 ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15757:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1 ) + // InternalScope.g:15758:2: rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1 + { + pushFollow(FOLLOW_98); + rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl" + // InternalScope.g:15765:1: rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl : ( () ) ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15769:1: ( ( () ) ) + // InternalScope.g:15770:1: ( () ) + { + // InternalScope.g:15770:1: ( () ) + // InternalScope.g:15771:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0()); + } + // InternalScope.g:15772:2: () + // InternalScope.g:15772:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__1" + // InternalScope.g:15780:1: rule__XMemberFeatureCall__Group_1_0_0_0__1 : rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2 ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15784:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2 ) + // InternalScope.g:15785:2: rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2 + { + pushFollow(FOLLOW_75); + rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl" + // InternalScope.g:15792:1: rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15796:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) ) + // InternalScope.g:15797:1: ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) + { + // InternalScope.g:15797:1: ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) + // InternalScope.g:15798:2: ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1()); + } + // InternalScope.g:15799:2: ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) + // InternalScope.g:15799:3: rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Alternatives_1_0_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__2" + // InternalScope.g:15807:1: rule__XMemberFeatureCall__Group_1_0_0_0__2 : rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3 ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15811:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3 ) + // InternalScope.g:15812:2: rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3 + { + pushFollow(FOLLOW_16); + rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__2" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl" + // InternalScope.g:15819:1: rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl : ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15823:1: ( ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) ) + // InternalScope.g:15824:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) + { + // InternalScope.g:15824:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) + // InternalScope.g:15825:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2()); + } + // InternalScope.g:15826:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) + // InternalScope.g:15826:3: rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__3" + // InternalScope.g:15834:1: rule__XMemberFeatureCall__Group_1_0_0_0__3 : rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15838:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl ) + // InternalScope.g:15839:2: rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__3" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl" + // InternalScope.g:15845:1: rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl : ( ruleOpSingleAssign ) ; + public final void rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15849:1: ( ( ruleOpSingleAssign ) ) + // InternalScope.g:15850:1: ( ruleOpSingleAssign ) + { + // InternalScope.g:15850:1: ( ruleOpSingleAssign ) + // InternalScope.g:15851:2: ruleOpSingleAssign + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); + } + pushFollow(FOLLOW_2); + ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__0" + // InternalScope.g:15861:1: rule__XMemberFeatureCall__Group_1_1__0 : rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1 ; + public final void rule__XMemberFeatureCall__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15865:1: ( rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1 ) + // InternalScope.g:15866:2: rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1 + { + pushFollow(FOLLOW_99); + rule__XMemberFeatureCall__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__0__Impl" + // InternalScope.g:15873:1: rule__XMemberFeatureCall__Group_1_1__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15877:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) ) + // InternalScope.g:15878:1: ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) + { + // InternalScope.g:15878:1: ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) + // InternalScope.g:15879:2: ( rule__XMemberFeatureCall__Group_1_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0()); + } + // InternalScope.g:15880:2: ( rule__XMemberFeatureCall__Group_1_1_0__0 ) + // InternalScope.g:15880:3: rule__XMemberFeatureCall__Group_1_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__1" + // InternalScope.g:15888:1: rule__XMemberFeatureCall__Group_1_1__1 : rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2 ; + public final void rule__XMemberFeatureCall__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15892:1: ( rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2 ) + // InternalScope.g:15893:2: rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2 + { + pushFollow(FOLLOW_99); + rule__XMemberFeatureCall__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__1__Impl" + // InternalScope.g:15900:1: rule__XMemberFeatureCall__Group_1_1__1__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) ; + public final void rule__XMemberFeatureCall__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15904:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) ) + // InternalScope.g:15905:1: ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) + { + // InternalScope.g:15905:1: ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) + // InternalScope.g:15906:2: ( rule__XMemberFeatureCall__Group_1_1_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1()); + } + // InternalScope.g:15907:2: ( rule__XMemberFeatureCall__Group_1_1_1__0 )? + int alt127=2; + int LA127_0 = input.LA(1); + + if ( (LA127_0==22) ) { + alt127=1; + } + switch (alt127) { + case 1 : + // InternalScope.g:15907:3: rule__XMemberFeatureCall__Group_1_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__2" + // InternalScope.g:15915:1: rule__XMemberFeatureCall__Group_1_1__2 : rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3 ; + public final void rule__XMemberFeatureCall__Group_1_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15919:1: ( rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3 ) + // InternalScope.g:15920:2: rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3 + { + pushFollow(FOLLOW_100); + rule__XMemberFeatureCall__Group_1_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__2" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__2__Impl" + // InternalScope.g:15927:1: rule__XMemberFeatureCall__Group_1_1__2__Impl : ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15931:1: ( ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) ) + // InternalScope.g:15932:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) + { + // InternalScope.g:15932:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) + // InternalScope.g:15933:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2()); + } + // InternalScope.g:15934:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) + // InternalScope.g:15934:3: rule__XMemberFeatureCall__FeatureAssignment_1_1_2 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__FeatureAssignment_1_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__2__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__3" + // InternalScope.g:15942:1: rule__XMemberFeatureCall__Group_1_1__3 : rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4 ; + public final void rule__XMemberFeatureCall__Group_1_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15946:1: ( rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4 ) + // InternalScope.g:15947:2: rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4 + { + pushFollow(FOLLOW_100); + rule__XMemberFeatureCall__Group_1_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__3" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__3__Impl" + // InternalScope.g:15954:1: rule__XMemberFeatureCall__Group_1_1__3__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) ; + public final void rule__XMemberFeatureCall__Group_1_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15958:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) ) + // InternalScope.g:15959:1: ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) + { + // InternalScope.g:15959:1: ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) + // InternalScope.g:15960:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3()); + } + // InternalScope.g:15961:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )? + int alt128=2; + alt128 = dfa128.predict(input); + switch (alt128) { + case 1 : + // InternalScope.g:15961:3: rule__XMemberFeatureCall__Group_1_1_3__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__3__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__4" + // InternalScope.g:15969:1: rule__XMemberFeatureCall__Group_1_1__4 : rule__XMemberFeatureCall__Group_1_1__4__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15973:1: ( rule__XMemberFeatureCall__Group_1_1__4__Impl ) + // InternalScope.g:15974:2: rule__XMemberFeatureCall__Group_1_1__4__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__4" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__4__Impl" + // InternalScope.g:15980:1: rule__XMemberFeatureCall__Group_1_1__4__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) ; + public final void rule__XMemberFeatureCall__Group_1_1__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:15984:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) ) + // InternalScope.g:15985:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) + { + // InternalScope.g:15985:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) + // InternalScope.g:15986:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4()); + } + // InternalScope.g:15987:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? + int alt129=2; + alt129 = dfa129.predict(input); + switch (alt129) { + case 1 : + // InternalScope.g:15987:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1__4__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0__0" + // InternalScope.g:15996:1: rule__XMemberFeatureCall__Group_1_1_0__0 : rule__XMemberFeatureCall__Group_1_1_0__0__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16000:1: ( rule__XMemberFeatureCall__Group_1_1_0__0__Impl ) + // InternalScope.g:16001:2: rule__XMemberFeatureCall__Group_1_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0__0__Impl" + // InternalScope.g:16007:1: rule__XMemberFeatureCall__Group_1_1_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16011:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) ) + // InternalScope.g:16012:1: ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) + { + // InternalScope.g:16012:1: ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) + // InternalScope.g:16013:2: ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0()); + } + // InternalScope.g:16014:2: ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) + // InternalScope.g:16014:3: rule__XMemberFeatureCall__Group_1_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__0" + // InternalScope.g:16023:1: rule__XMemberFeatureCall__Group_1_1_0_0__0 : rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16027:1: ( rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1 ) + // InternalScope.g:16028:2: rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1 + { + pushFollow(FOLLOW_96); + rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0_0__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl" + // InternalScope.g:16035:1: rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl : ( () ) ; + public final void rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16039:1: ( ( () ) ) + // InternalScope.g:16040:1: ( () ) + { + // InternalScope.g:16040:1: ( () ) + // InternalScope.g:16041:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0()); + } + // InternalScope.g:16042:2: () + // InternalScope.g:16042:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__1" + // InternalScope.g:16050:1: rule__XMemberFeatureCall__Group_1_1_0_0__1 : rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16054:1: ( rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl ) + // InternalScope.g:16055:2: rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0_0__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl" + // InternalScope.g:16061:1: rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16065:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) ) + // InternalScope.g:16066:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) + { + // InternalScope.g:16066:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) + // InternalScope.g:16067:2: ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1()); + } + // InternalScope.g:16068:2: ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) + // InternalScope.g:16068:3: rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Alternatives_1_1_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__0" + // InternalScope.g:16077:1: rule__XMemberFeatureCall__Group_1_1_1__0 : rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16081:1: ( rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1 ) + // InternalScope.g:16082:2: rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1 + { + pushFollow(FOLLOW_101); + rule__XMemberFeatureCall__Group_1_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__0__Impl" + // InternalScope.g:16089:1: rule__XMemberFeatureCall__Group_1_1_1__0__Impl : ( '<' ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16093:1: ( ( '<' ) ) + // InternalScope.g:16094:1: ( '<' ) + { + // InternalScope.g:16094:1: ( '<' ) + // InternalScope.g:16095:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__1" + // InternalScope.g:16104:1: rule__XMemberFeatureCall__Group_1_1_1__1 : rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2 ; + public final void rule__XMemberFeatureCall__Group_1_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16108:1: ( rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2 ) + // InternalScope.g:16109:2: rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2 + { + pushFollow(FOLLOW_102); + rule__XMemberFeatureCall__Group_1_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__1__Impl" + // InternalScope.g:16116:1: rule__XMemberFeatureCall__Group_1_1_1__1__Impl : ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16120:1: ( ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) ) + // InternalScope.g:16121:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) + { + // InternalScope.g:16121:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) + // InternalScope.g:16122:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1()); + } + // InternalScope.g:16123:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) + // InternalScope.g:16123:3: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__2" + // InternalScope.g:16131:1: rule__XMemberFeatureCall__Group_1_1_1__2 : rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3 ; + public final void rule__XMemberFeatureCall__Group_1_1_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16135:1: ( rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3 ) + // InternalScope.g:16136:2: rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3 + { + pushFollow(FOLLOW_102); + rule__XMemberFeatureCall__Group_1_1_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__2" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__2__Impl" + // InternalScope.g:16143:1: rule__XMemberFeatureCall__Group_1_1_1__2__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16147:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) ) + // InternalScope.g:16148:1: ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) + { + // InternalScope.g:16148:1: ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) + // InternalScope.g:16149:2: ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2()); + } + // InternalScope.g:16150:2: ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* + loop130: + do { + int alt130=2; + int LA130_0 = input.LA(1); + + if ( (LA130_0==86) ) { + alt130=1; + } + + + switch (alt130) { + case 1 : + // InternalScope.g:16150:3: rule__XMemberFeatureCall__Group_1_1_1_2__0 + { + pushFollow(FOLLOW_39); + rule__XMemberFeatureCall__Group_1_1_1_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop130; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__2__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__3" + // InternalScope.g:16158:1: rule__XMemberFeatureCall__Group_1_1_1__3 : rule__XMemberFeatureCall__Group_1_1_1__3__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16162:1: ( rule__XMemberFeatureCall__Group_1_1_1__3__Impl ) + // InternalScope.g:16163:2: rule__XMemberFeatureCall__Group_1_1_1__3__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__3" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__3__Impl" + // InternalScope.g:16169:1: rule__XMemberFeatureCall__Group_1_1_1__3__Impl : ( '>' ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16173:1: ( ( '>' ) ) + // InternalScope.g:16174:1: ( '>' ) + { + // InternalScope.g:16174:1: ( '>' ) + // InternalScope.g:16175:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1__3__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__0" + // InternalScope.g:16185:1: rule__XMemberFeatureCall__Group_1_1_1_2__0 : rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_1_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16189:1: ( rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1 ) + // InternalScope.g:16190:2: rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1 + { + pushFollow(FOLLOW_101); + rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1_2__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl" + // InternalScope.g:16197:1: rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl : ( ',' ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16201:1: ( ( ',' ) ) + // InternalScope.g:16202:1: ( ',' ) + { + // InternalScope.g:16202:1: ( ',' ) + // InternalScope.g:16203:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__1" + // InternalScope.g:16212:1: rule__XMemberFeatureCall__Group_1_1_1_2__1 : rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_1_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16216:1: ( rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl ) + // InternalScope.g:16217:2: rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1_2__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl" + // InternalScope.g:16223:1: rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl : ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16227:1: ( ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) ) + // InternalScope.g:16228:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) + { + // InternalScope.g:16228:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) + // InternalScope.g:16229:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1()); + } + // InternalScope.g:16230:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) + // InternalScope.g:16230:3: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__0" + // InternalScope.g:16239:1: rule__XMemberFeatureCall__Group_1_1_3__0 : rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16243:1: ( rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1 ) + // InternalScope.g:16244:2: rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1 + { + pushFollow(FOLLOW_103); + rule__XMemberFeatureCall__Group_1_1_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__0__Impl" + // InternalScope.g:16251:1: rule__XMemberFeatureCall__Group_1_1_3__0__Impl : ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16255:1: ( ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) ) + // InternalScope.g:16256:1: ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) + { + // InternalScope.g:16256:1: ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) + // InternalScope.g:16257:2: ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0()); + } + // InternalScope.g:16258:2: ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) + // InternalScope.g:16258:3: rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__1" + // InternalScope.g:16266:1: rule__XMemberFeatureCall__Group_1_1_3__1 : rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2 ; + public final void rule__XMemberFeatureCall__Group_1_1_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16270:1: ( rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2 ) + // InternalScope.g:16271:2: rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2 + { + pushFollow(FOLLOW_103); + rule__XMemberFeatureCall__Group_1_1_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__1__Impl" + // InternalScope.g:16278:1: rule__XMemberFeatureCall__Group_1_1_3__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16282:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) ) + // InternalScope.g:16283:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) + { + // InternalScope.g:16283:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) + // InternalScope.g:16284:2: ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1()); + } + // InternalScope.g:16285:2: ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? + int alt131=2; + int LA131_0 = input.LA(1); + + if ( ((LA131_0>=RULE_ID && LA131_0<=RULE_STRING)||(LA131_0>=22 && LA131_0<=24)||LA131_0==27||(LA131_0>=36 && LA131_0<=37)||LA131_0==51||(LA131_0>=60 && LA131_0<=64)||LA131_0==72||LA131_0==77||LA131_0==79||LA131_0==82||LA131_0==92||LA131_0==97||LA131_0==100||LA131_0==103||(LA131_0>=105 && LA131_0<=112)||LA131_0==114) ) { + alt131=1; + } + switch (alt131) { + case 1 : + // InternalScope.g:16285:3: rule__XMemberFeatureCall__Alternatives_1_1_3_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Alternatives_1_1_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__2" + // InternalScope.g:16293:1: rule__XMemberFeatureCall__Group_1_1_3__2 : rule__XMemberFeatureCall__Group_1_1_3__2__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16297:1: ( rule__XMemberFeatureCall__Group_1_1_3__2__Impl ) + // InternalScope.g:16298:2: rule__XMemberFeatureCall__Group_1_1_3__2__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__2" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__2__Impl" + // InternalScope.g:16304:1: rule__XMemberFeatureCall__Group_1_1_3__2__Impl : ( ')' ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16308:1: ( ( ')' ) ) + // InternalScope.g:16309:1: ( ')' ) + { + // InternalScope.g:16309:1: ( ')' ) + // InternalScope.g:16310:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3__2__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__0" + // InternalScope.g:16320:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__0 : rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16324:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1 ) + // InternalScope.g:16325:2: rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1 + { + pushFollow(FOLLOW_71); + rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl" + // InternalScope.g:16332:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16336:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) ) + // InternalScope.g:16337:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) + { + // InternalScope.g:16337:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) + // InternalScope.g:16338:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0()); + } + // InternalScope.g:16339:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) + // InternalScope.g:16339:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__1" + // InternalScope.g:16347:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__1 : rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16351:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl ) + // InternalScope.g:16352:2: rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl" + // InternalScope.g:16358:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16362:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) ) + // InternalScope.g:16363:1: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) + { + // InternalScope.g:16363:1: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) + // InternalScope.g:16364:2: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1()); + } + // InternalScope.g:16365:2: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* + loop132: + do { + int alt132=2; + int LA132_0 = input.LA(1); + + if ( (LA132_0==86) ) { + alt132=1; + } + + + switch (alt132) { + case 1 : + // InternalScope.g:16365:3: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 + { + pushFollow(FOLLOW_39); + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop132; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0" + // InternalScope.g:16374:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 : rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16378:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 ) + // InternalScope.g:16379:2: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 + { + pushFollow(FOLLOW_104); + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl" + // InternalScope.g:16386:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl : ( ',' ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16390:1: ( ( ',' ) ) + // InternalScope.g:16391:1: ( ',' ) + { + // InternalScope.g:16391:1: ( ',' ) + // InternalScope.g:16392:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1" + // InternalScope.g:16401:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 : rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16405:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl ) + // InternalScope.g:16406:2: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1" + + + // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl" + // InternalScope.g:16412:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) ; + public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16416:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) ) + // InternalScope.g:16417:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) + { + // InternalScope.g:16417:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) + // InternalScope.g:16418:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1()); + } + // InternalScope.g:16419:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) + // InternalScope.g:16419:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group__0" + // InternalScope.g:16428:1: rule__XSetLiteral__Group__0 : rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1 ; + public final void rule__XSetLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16432:1: ( rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1 ) + // InternalScope.g:16433:2: rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1 + { + pushFollow(FOLLOW_24); + rule__XSetLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__0" + + + // $ANTLR start "rule__XSetLiteral__Group__0__Impl" + // InternalScope.g:16440:1: rule__XSetLiteral__Group__0__Impl : ( () ) ; + public final void rule__XSetLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16444:1: ( ( () ) ) + // InternalScope.g:16445:1: ( () ) + { + // InternalScope.g:16445:1: ( () ) + // InternalScope.g:16446:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0()); + } + // InternalScope.g:16447:2: () + // InternalScope.g:16447:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group__1" + // InternalScope.g:16455:1: rule__XSetLiteral__Group__1 : rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2 ; + public final void rule__XSetLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16459:1: ( rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2 ) + // InternalScope.g:16460:2: rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2 + { + pushFollow(FOLLOW_13); + rule__XSetLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__1" + + + // $ANTLR start "rule__XSetLiteral__Group__1__Impl" + // InternalScope.g:16467:1: rule__XSetLiteral__Group__1__Impl : ( '#' ) ; + public final void rule__XSetLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16471:1: ( ( '#' ) ) + // InternalScope.g:16472:1: ( '#' ) + { + // InternalScope.g:16472:1: ( '#' ) + // InternalScope.g:16473:2: '#' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); + } + match(input,79,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group__2" + // InternalScope.g:16482:1: rule__XSetLiteral__Group__2 : rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3 ; + public final void rule__XSetLiteral__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16486:1: ( rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3 ) + // InternalScope.g:16487:2: rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3 + { + pushFollow(FOLLOW_105); + rule__XSetLiteral__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__2" + + + // $ANTLR start "rule__XSetLiteral__Group__2__Impl" + // InternalScope.g:16494:1: rule__XSetLiteral__Group__2__Impl : ( '{' ) ; + public final void rule__XSetLiteral__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16498:1: ( ( '{' ) ) + // InternalScope.g:16499:1: ( '{' ) + { + // InternalScope.g:16499:1: ( '{' ) + // InternalScope.g:16500:2: '{' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); + } + match(input,72,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__2__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group__3" + // InternalScope.g:16509:1: rule__XSetLiteral__Group__3 : rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4 ; + public final void rule__XSetLiteral__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16513:1: ( rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4 ) + // InternalScope.g:16514:2: rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4 + { + pushFollow(FOLLOW_105); + rule__XSetLiteral__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__3" + + + // $ANTLR start "rule__XSetLiteral__Group__3__Impl" + // InternalScope.g:16521:1: rule__XSetLiteral__Group__3__Impl : ( ( rule__XSetLiteral__Group_3__0 )? ) ; + public final void rule__XSetLiteral__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16525:1: ( ( ( rule__XSetLiteral__Group_3__0 )? ) ) + // InternalScope.g:16526:1: ( ( rule__XSetLiteral__Group_3__0 )? ) + { + // InternalScope.g:16526:1: ( ( rule__XSetLiteral__Group_3__0 )? ) + // InternalScope.g:16527:2: ( rule__XSetLiteral__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getGroup_3()); + } + // InternalScope.g:16528:2: ( rule__XSetLiteral__Group_3__0 )? + int alt133=2; + int LA133_0 = input.LA(1); + + if ( ((LA133_0>=RULE_ID && LA133_0<=RULE_STRING)||(LA133_0>=22 && LA133_0<=24)||LA133_0==27||(LA133_0>=36 && LA133_0<=37)||(LA133_0>=60 && LA133_0<=64)||LA133_0==72||LA133_0==77||LA133_0==79||LA133_0==82||LA133_0==97||LA133_0==100||LA133_0==103||(LA133_0>=105 && LA133_0<=112)||LA133_0==114) ) { + alt133=1; + } + switch (alt133) { + case 1 : + // InternalScope.g:16528:3: rule__XSetLiteral__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__3__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group__4" + // InternalScope.g:16536:1: rule__XSetLiteral__Group__4 : rule__XSetLiteral__Group__4__Impl ; + public final void rule__XSetLiteral__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16540:1: ( rule__XSetLiteral__Group__4__Impl ) + // InternalScope.g:16541:2: rule__XSetLiteral__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__4" + + + // $ANTLR start "rule__XSetLiteral__Group__4__Impl" + // InternalScope.g:16547:1: rule__XSetLiteral__Group__4__Impl : ( '}' ) ; + public final void rule__XSetLiteral__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16551:1: ( ( '}' ) ) + // InternalScope.g:16552:1: ( '}' ) + { + // InternalScope.g:16552:1: ( '}' ) + // InternalScope.g:16553:2: '}' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); + } + match(input,73,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group__4__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group_3__0" + // InternalScope.g:16563:1: rule__XSetLiteral__Group_3__0 : rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1 ; + public final void rule__XSetLiteral__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16567:1: ( rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1 ) + // InternalScope.g:16568:2: rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1 + { + pushFollow(FOLLOW_71); + rule__XSetLiteral__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3__0" + + + // $ANTLR start "rule__XSetLiteral__Group_3__0__Impl" + // InternalScope.g:16575:1: rule__XSetLiteral__Group_3__0__Impl : ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) ; + public final void rule__XSetLiteral__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16579:1: ( ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) ) + // InternalScope.g:16580:1: ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) + { + // InternalScope.g:16580:1: ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) + // InternalScope.g:16581:2: ( rule__XSetLiteral__ElementsAssignment_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0()); + } + // InternalScope.g:16582:2: ( rule__XSetLiteral__ElementsAssignment_3_0 ) + // InternalScope.g:16582:3: rule__XSetLiteral__ElementsAssignment_3_0 + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__ElementsAssignment_3_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3__0__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group_3__1" + // InternalScope.g:16590:1: rule__XSetLiteral__Group_3__1 : rule__XSetLiteral__Group_3__1__Impl ; + public final void rule__XSetLiteral__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16594:1: ( rule__XSetLiteral__Group_3__1__Impl ) + // InternalScope.g:16595:2: rule__XSetLiteral__Group_3__1__Impl + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3__1" + + + // $ANTLR start "rule__XSetLiteral__Group_3__1__Impl" + // InternalScope.g:16601:1: rule__XSetLiteral__Group_3__1__Impl : ( ( rule__XSetLiteral__Group_3_1__0 )* ) ; + public final void rule__XSetLiteral__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16605:1: ( ( ( rule__XSetLiteral__Group_3_1__0 )* ) ) + // InternalScope.g:16606:1: ( ( rule__XSetLiteral__Group_3_1__0 )* ) + { + // InternalScope.g:16606:1: ( ( rule__XSetLiteral__Group_3_1__0 )* ) + // InternalScope.g:16607:2: ( rule__XSetLiteral__Group_3_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getGroup_3_1()); + } + // InternalScope.g:16608:2: ( rule__XSetLiteral__Group_3_1__0 )* + loop134: + do { + int alt134=2; + int LA134_0 = input.LA(1); + + if ( (LA134_0==86) ) { + alt134=1; + } + + + switch (alt134) { + case 1 : + // InternalScope.g:16608:3: rule__XSetLiteral__Group_3_1__0 + { + pushFollow(FOLLOW_39); + rule__XSetLiteral__Group_3_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop134; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getGroup_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3__1__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group_3_1__0" + // InternalScope.g:16617:1: rule__XSetLiteral__Group_3_1__0 : rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1 ; + public final void rule__XSetLiteral__Group_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16621:1: ( rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1 ) + // InternalScope.g:16622:2: rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1 + { + pushFollow(FOLLOW_104); + rule__XSetLiteral__Group_3_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group_3_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3_1__0" + + + // $ANTLR start "rule__XSetLiteral__Group_3_1__0__Impl" + // InternalScope.g:16629:1: rule__XSetLiteral__Group_3_1__0__Impl : ( ',' ) ; + public final void rule__XSetLiteral__Group_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16633:1: ( ( ',' ) ) + // InternalScope.g:16634:1: ( ',' ) + { + // InternalScope.g:16634:1: ( ',' ) + // InternalScope.g:16635:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3_1__0__Impl" + + + // $ANTLR start "rule__XSetLiteral__Group_3_1__1" + // InternalScope.g:16644:1: rule__XSetLiteral__Group_3_1__1 : rule__XSetLiteral__Group_3_1__1__Impl ; + public final void rule__XSetLiteral__Group_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16648:1: ( rule__XSetLiteral__Group_3_1__1__Impl ) + // InternalScope.g:16649:2: rule__XSetLiteral__Group_3_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__Group_3_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3_1__1" + + + // $ANTLR start "rule__XSetLiteral__Group_3_1__1__Impl" + // InternalScope.g:16655:1: rule__XSetLiteral__Group_3_1__1__Impl : ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) ; + public final void rule__XSetLiteral__Group_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16659:1: ( ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) ) + // InternalScope.g:16660:1: ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) + { + // InternalScope.g:16660:1: ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) + // InternalScope.g:16661:2: ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1()); + } + // InternalScope.g:16662:2: ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) + // InternalScope.g:16662:3: rule__XSetLiteral__ElementsAssignment_3_1_1 + { + pushFollow(FOLLOW_2); + rule__XSetLiteral__ElementsAssignment_3_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__Group_3_1__1__Impl" + + + // $ANTLR start "rule__XListLiteral__Group__0" + // InternalScope.g:16671:1: rule__XListLiteral__Group__0 : rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1 ; + public final void rule__XListLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16675:1: ( rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1 ) + // InternalScope.g:16676:2: rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1 + { + pushFollow(FOLLOW_24); + rule__XListLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__0" + + + // $ANTLR start "rule__XListLiteral__Group__0__Impl" + // InternalScope.g:16683:1: rule__XListLiteral__Group__0__Impl : ( () ) ; + public final void rule__XListLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16687:1: ( ( () ) ) + // InternalScope.g:16688:1: ( () ) + { + // InternalScope.g:16688:1: ( () ) + // InternalScope.g:16689:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getXListLiteralAction_0()); + } + // InternalScope.g:16690:2: () + // InternalScope.g:16690:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getXListLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XListLiteral__Group__1" + // InternalScope.g:16698:1: rule__XListLiteral__Group__1 : rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2 ; + public final void rule__XListLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16702:1: ( rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2 ) + // InternalScope.g:16703:2: rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2 + { + pushFollow(FOLLOW_29); + rule__XListLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__1" + + + // $ANTLR start "rule__XListLiteral__Group__1__Impl" + // InternalScope.g:16710:1: rule__XListLiteral__Group__1__Impl : ( '#' ) ; + public final void rule__XListLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16714:1: ( ( '#' ) ) + // InternalScope.g:16715:1: ( '#' ) + { + // InternalScope.g:16715:1: ( '#' ) + // InternalScope.g:16716:2: '#' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); + } + match(input,79,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XListLiteral__Group__2" + // InternalScope.g:16725:1: rule__XListLiteral__Group__2 : rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3 ; + public final void rule__XListLiteral__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16729:1: ( rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3 ) + // InternalScope.g:16730:2: rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3 + { + pushFollow(FOLLOW_106); + rule__XListLiteral__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__2" + + + // $ANTLR start "rule__XListLiteral__Group__2__Impl" + // InternalScope.g:16737:1: rule__XListLiteral__Group__2__Impl : ( '[' ) ; + public final void rule__XListLiteral__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16741:1: ( ( '[' ) ) + // InternalScope.g:16742:1: ( '[' ) + { + // InternalScope.g:16742:1: ( '[' ) + // InternalScope.g:16743:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); + } + match(input,82,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__2__Impl" + + + // $ANTLR start "rule__XListLiteral__Group__3" + // InternalScope.g:16752:1: rule__XListLiteral__Group__3 : rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4 ; + public final void rule__XListLiteral__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16756:1: ( rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4 ) + // InternalScope.g:16757:2: rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4 + { + pushFollow(FOLLOW_106); + rule__XListLiteral__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__3" + + + // $ANTLR start "rule__XListLiteral__Group__3__Impl" + // InternalScope.g:16764:1: rule__XListLiteral__Group__3__Impl : ( ( rule__XListLiteral__Group_3__0 )? ) ; + public final void rule__XListLiteral__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16768:1: ( ( ( rule__XListLiteral__Group_3__0 )? ) ) + // InternalScope.g:16769:1: ( ( rule__XListLiteral__Group_3__0 )? ) + { + // InternalScope.g:16769:1: ( ( rule__XListLiteral__Group_3__0 )? ) + // InternalScope.g:16770:2: ( rule__XListLiteral__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getGroup_3()); + } + // InternalScope.g:16771:2: ( rule__XListLiteral__Group_3__0 )? + int alt135=2; + int LA135_0 = input.LA(1); + + if ( ((LA135_0>=RULE_ID && LA135_0<=RULE_STRING)||(LA135_0>=22 && LA135_0<=24)||LA135_0==27||(LA135_0>=36 && LA135_0<=37)||(LA135_0>=60 && LA135_0<=64)||LA135_0==72||LA135_0==77||LA135_0==79||LA135_0==82||LA135_0==97||LA135_0==100||LA135_0==103||(LA135_0>=105 && LA135_0<=112)||LA135_0==114) ) { + alt135=1; + } + switch (alt135) { + case 1 : + // InternalScope.g:16771:3: rule__XListLiteral__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XListLiteral__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__3__Impl" + + + // $ANTLR start "rule__XListLiteral__Group__4" + // InternalScope.g:16779:1: rule__XListLiteral__Group__4 : rule__XListLiteral__Group__4__Impl ; + public final void rule__XListLiteral__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16783:1: ( rule__XListLiteral__Group__4__Impl ) + // InternalScope.g:16784:2: rule__XListLiteral__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__XListLiteral__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__4" + + + // $ANTLR start "rule__XListLiteral__Group__4__Impl" + // InternalScope.g:16790:1: rule__XListLiteral__Group__4__Impl : ( ']' ) ; + public final void rule__XListLiteral__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16794:1: ( ( ']' ) ) + // InternalScope.g:16795:1: ( ']' ) + { + // InternalScope.g:16795:1: ( ']' ) + // InternalScope.g:16796:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); + } + match(input,83,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group__4__Impl" + + + // $ANTLR start "rule__XListLiteral__Group_3__0" + // InternalScope.g:16806:1: rule__XListLiteral__Group_3__0 : rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1 ; + public final void rule__XListLiteral__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16810:1: ( rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1 ) + // InternalScope.g:16811:2: rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1 + { + pushFollow(FOLLOW_71); + rule__XListLiteral__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3__0" + + + // $ANTLR start "rule__XListLiteral__Group_3__0__Impl" + // InternalScope.g:16818:1: rule__XListLiteral__Group_3__0__Impl : ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) ; + public final void rule__XListLiteral__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16822:1: ( ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) ) + // InternalScope.g:16823:1: ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) + { + // InternalScope.g:16823:1: ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) + // InternalScope.g:16824:2: ( rule__XListLiteral__ElementsAssignment_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0()); + } + // InternalScope.g:16825:2: ( rule__XListLiteral__ElementsAssignment_3_0 ) + // InternalScope.g:16825:3: rule__XListLiteral__ElementsAssignment_3_0 + { + pushFollow(FOLLOW_2); + rule__XListLiteral__ElementsAssignment_3_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3__0__Impl" + + + // $ANTLR start "rule__XListLiteral__Group_3__1" + // InternalScope.g:16833:1: rule__XListLiteral__Group_3__1 : rule__XListLiteral__Group_3__1__Impl ; + public final void rule__XListLiteral__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16837:1: ( rule__XListLiteral__Group_3__1__Impl ) + // InternalScope.g:16838:2: rule__XListLiteral__Group_3__1__Impl + { + pushFollow(FOLLOW_2); + rule__XListLiteral__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3__1" + + + // $ANTLR start "rule__XListLiteral__Group_3__1__Impl" + // InternalScope.g:16844:1: rule__XListLiteral__Group_3__1__Impl : ( ( rule__XListLiteral__Group_3_1__0 )* ) ; + public final void rule__XListLiteral__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16848:1: ( ( ( rule__XListLiteral__Group_3_1__0 )* ) ) + // InternalScope.g:16849:1: ( ( rule__XListLiteral__Group_3_1__0 )* ) + { + // InternalScope.g:16849:1: ( ( rule__XListLiteral__Group_3_1__0 )* ) + // InternalScope.g:16850:2: ( rule__XListLiteral__Group_3_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getGroup_3_1()); + } + // InternalScope.g:16851:2: ( rule__XListLiteral__Group_3_1__0 )* + loop136: + do { + int alt136=2; + int LA136_0 = input.LA(1); + + if ( (LA136_0==86) ) { + alt136=1; + } + + + switch (alt136) { + case 1 : + // InternalScope.g:16851:3: rule__XListLiteral__Group_3_1__0 + { + pushFollow(FOLLOW_39); + rule__XListLiteral__Group_3_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop136; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getGroup_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3__1__Impl" + + + // $ANTLR start "rule__XListLiteral__Group_3_1__0" + // InternalScope.g:16860:1: rule__XListLiteral__Group_3_1__0 : rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1 ; + public final void rule__XListLiteral__Group_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16864:1: ( rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1 ) + // InternalScope.g:16865:2: rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1 + { + pushFollow(FOLLOW_104); + rule__XListLiteral__Group_3_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XListLiteral__Group_3_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3_1__0" + + + // $ANTLR start "rule__XListLiteral__Group_3_1__0__Impl" + // InternalScope.g:16872:1: rule__XListLiteral__Group_3_1__0__Impl : ( ',' ) ; + public final void rule__XListLiteral__Group_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16876:1: ( ( ',' ) ) + // InternalScope.g:16877:1: ( ',' ) + { + // InternalScope.g:16877:1: ( ',' ) + // InternalScope.g:16878:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3_1__0__Impl" + + + // $ANTLR start "rule__XListLiteral__Group_3_1__1" + // InternalScope.g:16887:1: rule__XListLiteral__Group_3_1__1 : rule__XListLiteral__Group_3_1__1__Impl ; + public final void rule__XListLiteral__Group_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16891:1: ( rule__XListLiteral__Group_3_1__1__Impl ) + // InternalScope.g:16892:2: rule__XListLiteral__Group_3_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XListLiteral__Group_3_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3_1__1" + + + // $ANTLR start "rule__XListLiteral__Group_3_1__1__Impl" + // InternalScope.g:16898:1: rule__XListLiteral__Group_3_1__1__Impl : ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) ; + public final void rule__XListLiteral__Group_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16902:1: ( ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) ) + // InternalScope.g:16903:1: ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) + { + // InternalScope.g:16903:1: ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) + // InternalScope.g:16904:2: ( rule__XListLiteral__ElementsAssignment_3_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1()); + } + // InternalScope.g:16905:2: ( rule__XListLiteral__ElementsAssignment_3_1_1 ) + // InternalScope.g:16905:3: rule__XListLiteral__ElementsAssignment_3_1_1 + { + pushFollow(FOLLOW_2); + rule__XListLiteral__ElementsAssignment_3_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__Group_3_1__1__Impl" + + + // $ANTLR start "rule__XClosure__Group__0" + // InternalScope.g:16914:1: rule__XClosure__Group__0 : rule__XClosure__Group__0__Impl rule__XClosure__Group__1 ; + public final void rule__XClosure__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16918:1: ( rule__XClosure__Group__0__Impl rule__XClosure__Group__1 ) + // InternalScope.g:16919:2: rule__XClosure__Group__0__Impl rule__XClosure__Group__1 + { + pushFollow(FOLLOW_107); + rule__XClosure__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__0" + + + // $ANTLR start "rule__XClosure__Group__0__Impl" + // InternalScope.g:16926:1: rule__XClosure__Group__0__Impl : ( ( rule__XClosure__Group_0__0 ) ) ; + public final void rule__XClosure__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16930:1: ( ( ( rule__XClosure__Group_0__0 ) ) ) + // InternalScope.g:16931:1: ( ( rule__XClosure__Group_0__0 ) ) + { + // InternalScope.g:16931:1: ( ( rule__XClosure__Group_0__0 ) ) + // InternalScope.g:16932:2: ( rule__XClosure__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_0()); + } + // InternalScope.g:16933:2: ( rule__XClosure__Group_0__0 ) + // InternalScope.g:16933:3: rule__XClosure__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__0__Impl" + + + // $ANTLR start "rule__XClosure__Group__1" + // InternalScope.g:16941:1: rule__XClosure__Group__1 : rule__XClosure__Group__1__Impl rule__XClosure__Group__2 ; + public final void rule__XClosure__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16945:1: ( rule__XClosure__Group__1__Impl rule__XClosure__Group__2 ) + // InternalScope.g:16946:2: rule__XClosure__Group__1__Impl rule__XClosure__Group__2 + { + pushFollow(FOLLOW_107); + rule__XClosure__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__1" + + + // $ANTLR start "rule__XClosure__Group__1__Impl" + // InternalScope.g:16953:1: rule__XClosure__Group__1__Impl : ( ( rule__XClosure__Group_1__0 )? ) ; + public final void rule__XClosure__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16957:1: ( ( ( rule__XClosure__Group_1__0 )? ) ) + // InternalScope.g:16958:1: ( ( rule__XClosure__Group_1__0 )? ) + { + // InternalScope.g:16958:1: ( ( rule__XClosure__Group_1__0 )? ) + // InternalScope.g:16959:2: ( rule__XClosure__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_1()); + } + // InternalScope.g:16960:2: ( rule__XClosure__Group_1__0 )? + int alt137=2; + alt137 = dfa137.predict(input); + switch (alt137) { + case 1 : + // InternalScope.g:16960:3: rule__XClosure__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__1__Impl" + + + // $ANTLR start "rule__XClosure__Group__2" + // InternalScope.g:16968:1: rule__XClosure__Group__2 : rule__XClosure__Group__2__Impl rule__XClosure__Group__3 ; + public final void rule__XClosure__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16972:1: ( rule__XClosure__Group__2__Impl rule__XClosure__Group__3 ) + // InternalScope.g:16973:2: rule__XClosure__Group__2__Impl rule__XClosure__Group__3 + { + pushFollow(FOLLOW_30); + rule__XClosure__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__2" + + + // $ANTLR start "rule__XClosure__Group__2__Impl" + // InternalScope.g:16980:1: rule__XClosure__Group__2__Impl : ( ( rule__XClosure__ExpressionAssignment_2 ) ) ; + public final void rule__XClosure__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16984:1: ( ( ( rule__XClosure__ExpressionAssignment_2 ) ) ) + // InternalScope.g:16985:1: ( ( rule__XClosure__ExpressionAssignment_2 ) ) + { + // InternalScope.g:16985:1: ( ( rule__XClosure__ExpressionAssignment_2 ) ) + // InternalScope.g:16986:2: ( rule__XClosure__ExpressionAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getExpressionAssignment_2()); + } + // InternalScope.g:16987:2: ( rule__XClosure__ExpressionAssignment_2 ) + // InternalScope.g:16987:3: rule__XClosure__ExpressionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XClosure__ExpressionAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getExpressionAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__2__Impl" + + + // $ANTLR start "rule__XClosure__Group__3" + // InternalScope.g:16995:1: rule__XClosure__Group__3 : rule__XClosure__Group__3__Impl ; + public final void rule__XClosure__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:16999:1: ( rule__XClosure__Group__3__Impl ) + // InternalScope.g:17000:2: rule__XClosure__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__3" + + + // $ANTLR start "rule__XClosure__Group__3__Impl" + // InternalScope.g:17006:1: rule__XClosure__Group__3__Impl : ( ']' ) ; + public final void rule__XClosure__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17010:1: ( ( ']' ) ) + // InternalScope.g:17011:1: ( ']' ) + { + // InternalScope.g:17011:1: ( ']' ) + // InternalScope.g:17012:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); + } + match(input,83,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group__3__Impl" + + + // $ANTLR start "rule__XClosure__Group_0__0" + // InternalScope.g:17022:1: rule__XClosure__Group_0__0 : rule__XClosure__Group_0__0__Impl ; + public final void rule__XClosure__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17026:1: ( rule__XClosure__Group_0__0__Impl ) + // InternalScope.g:17027:2: rule__XClosure__Group_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0__0" + + + // $ANTLR start "rule__XClosure__Group_0__0__Impl" + // InternalScope.g:17033:1: rule__XClosure__Group_0__0__Impl : ( ( rule__XClosure__Group_0_0__0 ) ) ; + public final void rule__XClosure__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17037:1: ( ( ( rule__XClosure__Group_0_0__0 ) ) ) + // InternalScope.g:17038:1: ( ( rule__XClosure__Group_0_0__0 ) ) + { + // InternalScope.g:17038:1: ( ( rule__XClosure__Group_0_0__0 ) ) + // InternalScope.g:17039:2: ( rule__XClosure__Group_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_0_0()); + } + // InternalScope.g:17040:2: ( rule__XClosure__Group_0_0__0 ) + // InternalScope.g:17040:3: rule__XClosure__Group_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_0_0__0" + // InternalScope.g:17049:1: rule__XClosure__Group_0_0__0 : rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1 ; + public final void rule__XClosure__Group_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17053:1: ( rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1 ) + // InternalScope.g:17054:2: rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1 + { + pushFollow(FOLLOW_29); + rule__XClosure__Group_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0_0__0" + + + // $ANTLR start "rule__XClosure__Group_0_0__0__Impl" + // InternalScope.g:17061:1: rule__XClosure__Group_0_0__0__Impl : ( () ) ; + public final void rule__XClosure__Group_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17065:1: ( ( () ) ) + // InternalScope.g:17066:1: ( () ) + { + // InternalScope.g:17066:1: ( () ) + // InternalScope.g:17067:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getXClosureAction_0_0_0()); + } + // InternalScope.g:17068:2: () + // InternalScope.g:17068:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getXClosureAction_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0_0__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_0_0__1" + // InternalScope.g:17076:1: rule__XClosure__Group_0_0__1 : rule__XClosure__Group_0_0__1__Impl ; + public final void rule__XClosure__Group_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17080:1: ( rule__XClosure__Group_0_0__1__Impl ) + // InternalScope.g:17081:2: rule__XClosure__Group_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0_0__1" + + + // $ANTLR start "rule__XClosure__Group_0_0__1__Impl" + // InternalScope.g:17087:1: rule__XClosure__Group_0_0__1__Impl : ( '[' ) ; + public final void rule__XClosure__Group_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17091:1: ( ( '[' ) ) + // InternalScope.g:17092:1: ( '[' ) + { + // InternalScope.g:17092:1: ( '[' ) + // InternalScope.g:17093:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); + } + match(input,82,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_0_0__1__Impl" + + + // $ANTLR start "rule__XClosure__Group_1__0" + // InternalScope.g:17103:1: rule__XClosure__Group_1__0 : rule__XClosure__Group_1__0__Impl ; + public final void rule__XClosure__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17107:1: ( rule__XClosure__Group_1__0__Impl ) + // InternalScope.g:17108:2: rule__XClosure__Group_1__0__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1__0" + + + // $ANTLR start "rule__XClosure__Group_1__0__Impl" + // InternalScope.g:17114:1: rule__XClosure__Group_1__0__Impl : ( ( rule__XClosure__Group_1_0__0 ) ) ; + public final void rule__XClosure__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17118:1: ( ( ( rule__XClosure__Group_1_0__0 ) ) ) + // InternalScope.g:17119:1: ( ( rule__XClosure__Group_1_0__0 ) ) + { + // InternalScope.g:17119:1: ( ( rule__XClosure__Group_1_0__0 ) ) + // InternalScope.g:17120:2: ( rule__XClosure__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_1_0()); + } + // InternalScope.g:17121:2: ( rule__XClosure__Group_1_0__0 ) + // InternalScope.g:17121:3: rule__XClosure__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0__0" + // InternalScope.g:17130:1: rule__XClosure__Group_1_0__0 : rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1 ; + public final void rule__XClosure__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17134:1: ( rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1 ) + // InternalScope.g:17135:2: rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1 + { + pushFollow(FOLLOW_108); + rule__XClosure__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0__0" + + + // $ANTLR start "rule__XClosure__Group_1_0__0__Impl" + // InternalScope.g:17142:1: rule__XClosure__Group_1_0__0__Impl : ( ( rule__XClosure__Group_1_0_0__0 )? ) ; + public final void rule__XClosure__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17146:1: ( ( ( rule__XClosure__Group_1_0_0__0 )? ) ) + // InternalScope.g:17147:1: ( ( rule__XClosure__Group_1_0_0__0 )? ) + { + // InternalScope.g:17147:1: ( ( rule__XClosure__Group_1_0_0__0 )? ) + // InternalScope.g:17148:2: ( rule__XClosure__Group_1_0_0__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_1_0_0()); + } + // InternalScope.g:17149:2: ( rule__XClosure__Group_1_0_0__0 )? + int alt138=2; + int LA138_0 = input.LA(1); + + if ( (LA138_0==RULE_ID||LA138_0==51||LA138_0==77) ) { + alt138=1; + } + switch (alt138) { + case 1 : + // InternalScope.g:17149:3: rule__XClosure__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0__1" + // InternalScope.g:17157:1: rule__XClosure__Group_1_0__1 : rule__XClosure__Group_1_0__1__Impl ; + public final void rule__XClosure__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17161:1: ( rule__XClosure__Group_1_0__1__Impl ) + // InternalScope.g:17162:2: rule__XClosure__Group_1_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0__1" + + + // $ANTLR start "rule__XClosure__Group_1_0__1__Impl" + // InternalScope.g:17168:1: rule__XClosure__Group_1_0__1__Impl : ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) ; + public final void rule__XClosure__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17172:1: ( ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) ) + // InternalScope.g:17173:1: ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) + { + // InternalScope.g:17173:1: ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) + // InternalScope.g:17174:2: ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1()); + } + // InternalScope.g:17175:2: ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) + // InternalScope.g:17175:3: rule__XClosure__ExplicitSyntaxAssignment_1_0_1 + { + pushFollow(FOLLOW_2); + rule__XClosure__ExplicitSyntaxAssignment_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0__1__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0_0__0" + // InternalScope.g:17184:1: rule__XClosure__Group_1_0_0__0 : rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1 ; + public final void rule__XClosure__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17188:1: ( rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1 ) + // InternalScope.g:17189:2: rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1 + { + pushFollow(FOLLOW_71); + rule__XClosure__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0__0" + + + // $ANTLR start "rule__XClosure__Group_1_0_0__0__Impl" + // InternalScope.g:17196:1: rule__XClosure__Group_1_0_0__0__Impl : ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) ; + public final void rule__XClosure__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17200:1: ( ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) ) + // InternalScope.g:17201:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) + { + // InternalScope.g:17201:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) + // InternalScope.g:17202:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0()); + } + // InternalScope.g:17203:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) + // InternalScope.g:17203:3: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 + { + pushFollow(FOLLOW_2); + rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0_0__1" + // InternalScope.g:17211:1: rule__XClosure__Group_1_0_0__1 : rule__XClosure__Group_1_0_0__1__Impl ; + public final void rule__XClosure__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17215:1: ( rule__XClosure__Group_1_0_0__1__Impl ) + // InternalScope.g:17216:2: rule__XClosure__Group_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0__1" + + + // $ANTLR start "rule__XClosure__Group_1_0_0__1__Impl" + // InternalScope.g:17222:1: rule__XClosure__Group_1_0_0__1__Impl : ( ( rule__XClosure__Group_1_0_0_1__0 )* ) ; + public final void rule__XClosure__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17226:1: ( ( ( rule__XClosure__Group_1_0_0_1__0 )* ) ) + // InternalScope.g:17227:1: ( ( rule__XClosure__Group_1_0_0_1__0 )* ) + { + // InternalScope.g:17227:1: ( ( rule__XClosure__Group_1_0_0_1__0 )* ) + // InternalScope.g:17228:2: ( rule__XClosure__Group_1_0_0_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getGroup_1_0_0_1()); + } + // InternalScope.g:17229:2: ( rule__XClosure__Group_1_0_0_1__0 )* + loop139: + do { + int alt139=2; + int LA139_0 = input.LA(1); + + if ( (LA139_0==86) ) { + alt139=1; + } + + + switch (alt139) { + case 1 : + // InternalScope.g:17229:3: rule__XClosure__Group_1_0_0_1__0 + { + pushFollow(FOLLOW_39); + rule__XClosure__Group_1_0_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop139; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getGroup_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0_0_1__0" + // InternalScope.g:17238:1: rule__XClosure__Group_1_0_0_1__0 : rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1 ; + public final void rule__XClosure__Group_1_0_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17242:1: ( rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1 ) + // InternalScope.g:17243:2: rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1 + { + pushFollow(FOLLOW_84); + rule__XClosure__Group_1_0_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0_1__0" + + + // $ANTLR start "rule__XClosure__Group_1_0_0_1__0__Impl" + // InternalScope.g:17250:1: rule__XClosure__Group_1_0_0_1__0__Impl : ( ',' ) ; + public final void rule__XClosure__Group_1_0_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17254:1: ( ( ',' ) ) + // InternalScope.g:17255:1: ( ',' ) + { + // InternalScope.g:17255:1: ( ',' ) + // InternalScope.g:17256:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0_1__0__Impl" + + + // $ANTLR start "rule__XClosure__Group_1_0_0_1__1" + // InternalScope.g:17265:1: rule__XClosure__Group_1_0_0_1__1 : rule__XClosure__Group_1_0_0_1__1__Impl ; + public final void rule__XClosure__Group_1_0_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17269:1: ( rule__XClosure__Group_1_0_0_1__1__Impl ) + // InternalScope.g:17270:2: rule__XClosure__Group_1_0_0_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1_0_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0_1__1" + + + // $ANTLR start "rule__XClosure__Group_1_0_0_1__1__Impl" + // InternalScope.g:17276:1: rule__XClosure__Group_1_0_0_1__1__Impl : ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) ; + public final void rule__XClosure__Group_1_0_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17280:1: ( ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) ) + // InternalScope.g:17281:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) + { + // InternalScope.g:17281:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) + // InternalScope.g:17282:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1()); + } + // InternalScope.g:17283:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) + // InternalScope.g:17283:3: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 + { + pushFollow(FOLLOW_2); + rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__Group_1_0_0_1__1__Impl" + + + // $ANTLR start "rule__XExpressionInClosure__Group__0" + // InternalScope.g:17292:1: rule__XExpressionInClosure__Group__0 : rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1 ; + public final void rule__XExpressionInClosure__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17296:1: ( rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1 ) + // InternalScope.g:17297:2: rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1 + { + pushFollow(FOLLOW_107); + rule__XExpressionInClosure__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XExpressionInClosure__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group__0" + + + // $ANTLR start "rule__XExpressionInClosure__Group__0__Impl" + // InternalScope.g:17304:1: rule__XExpressionInClosure__Group__0__Impl : ( () ) ; + public final void rule__XExpressionInClosure__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17308:1: ( ( () ) ) + // InternalScope.g:17309:1: ( () ) + { + // InternalScope.g:17309:1: ( () ) + // InternalScope.g:17310:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0()); + } + // InternalScope.g:17311:2: () + // InternalScope.g:17311:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group__0__Impl" + + + // $ANTLR start "rule__XExpressionInClosure__Group__1" + // InternalScope.g:17319:1: rule__XExpressionInClosure__Group__1 : rule__XExpressionInClosure__Group__1__Impl ; + public final void rule__XExpressionInClosure__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17323:1: ( rule__XExpressionInClosure__Group__1__Impl ) + // InternalScope.g:17324:2: rule__XExpressionInClosure__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XExpressionInClosure__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group__1" + + + // $ANTLR start "rule__XExpressionInClosure__Group__1__Impl" + // InternalScope.g:17330:1: rule__XExpressionInClosure__Group__1__Impl : ( ( rule__XExpressionInClosure__Group_1__0 )* ) ; + public final void rule__XExpressionInClosure__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17334:1: ( ( ( rule__XExpressionInClosure__Group_1__0 )* ) ) + // InternalScope.g:17335:1: ( ( rule__XExpressionInClosure__Group_1__0 )* ) + { + // InternalScope.g:17335:1: ( ( rule__XExpressionInClosure__Group_1__0 )* ) + // InternalScope.g:17336:2: ( rule__XExpressionInClosure__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureAccess().getGroup_1()); + } + // InternalScope.g:17337:2: ( rule__XExpressionInClosure__Group_1__0 )* + loop140: + do { + int alt140=2; + int LA140_0 = input.LA(1); + + if ( ((LA140_0>=RULE_ID && LA140_0<=RULE_STRING)||(LA140_0>=22 && LA140_0<=24)||LA140_0==27||(LA140_0>=36 && LA140_0<=37)||(LA140_0>=59 && LA140_0<=64)||LA140_0==72||LA140_0==77||LA140_0==79||LA140_0==82||LA140_0==97||LA140_0==100||LA140_0==103||(LA140_0>=105 && LA140_0<=112)||LA140_0==114||LA140_0==122) ) { + alt140=1; + } + + + switch (alt140) { + case 1 : + // InternalScope.g:17337:3: rule__XExpressionInClosure__Group_1__0 + { + pushFollow(FOLLOW_109); + rule__XExpressionInClosure__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop140; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group__1__Impl" + + + // $ANTLR start "rule__XExpressionInClosure__Group_1__0" + // InternalScope.g:17346:1: rule__XExpressionInClosure__Group_1__0 : rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1 ; + public final void rule__XExpressionInClosure__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17350:1: ( rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1 ) + // InternalScope.g:17351:2: rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1 + { + pushFollow(FOLLOW_18); + rule__XExpressionInClosure__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XExpressionInClosure__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group_1__0" + + + // $ANTLR start "rule__XExpressionInClosure__Group_1__0__Impl" + // InternalScope.g:17358:1: rule__XExpressionInClosure__Group_1__0__Impl : ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) ; + public final void rule__XExpressionInClosure__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17362:1: ( ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) ) + // InternalScope.g:17363:1: ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) + { + // InternalScope.g:17363:1: ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) + // InternalScope.g:17364:2: ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0()); + } + // InternalScope.g:17365:2: ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) + // InternalScope.g:17365:3: rule__XExpressionInClosure__ExpressionsAssignment_1_0 + { + pushFollow(FOLLOW_2); + rule__XExpressionInClosure__ExpressionsAssignment_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group_1__0__Impl" + + + // $ANTLR start "rule__XExpressionInClosure__Group_1__1" + // InternalScope.g:17373:1: rule__XExpressionInClosure__Group_1__1 : rule__XExpressionInClosure__Group_1__1__Impl ; + public final void rule__XExpressionInClosure__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17377:1: ( rule__XExpressionInClosure__Group_1__1__Impl ) + // InternalScope.g:17378:2: rule__XExpressionInClosure__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XExpressionInClosure__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group_1__1" + + + // $ANTLR start "rule__XExpressionInClosure__Group_1__1__Impl" + // InternalScope.g:17384:1: rule__XExpressionInClosure__Group_1__1__Impl : ( ( ';' )? ) ; + public final void rule__XExpressionInClosure__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17388:1: ( ( ( ';' )? ) ) + // InternalScope.g:17389:1: ( ( ';' )? ) + { + // InternalScope.g:17389:1: ( ( ';' )? ) + // InternalScope.g:17390:2: ( ';' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); + } + // InternalScope.g:17391:2: ( ';' )? + int alt141=2; + int LA141_0 = input.LA(1); + + if ( (LA141_0==75) ) { + alt141=1; + } + switch (alt141) { + case 1 : + // InternalScope.g:17391:3: ';' + { + match(input,75,FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__Group_1__1__Impl" + + + // $ANTLR start "rule__XShortClosure__Group__0" + // InternalScope.g:17400:1: rule__XShortClosure__Group__0 : rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1 ; + public final void rule__XShortClosure__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17404:1: ( rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1 ) + // InternalScope.g:17405:2: rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1 + { + pushFollow(FOLLOW_104); + rule__XShortClosure__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XShortClosure__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group__0" + + + // $ANTLR start "rule__XShortClosure__Group__0__Impl" + // InternalScope.g:17412:1: rule__XShortClosure__Group__0__Impl : ( ( rule__XShortClosure__Group_0__0 ) ) ; + public final void rule__XShortClosure__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17416:1: ( ( ( rule__XShortClosure__Group_0__0 ) ) ) + // InternalScope.g:17417:1: ( ( rule__XShortClosure__Group_0__0 ) ) + { + // InternalScope.g:17417:1: ( ( rule__XShortClosure__Group_0__0 ) ) + // InternalScope.g:17418:2: ( rule__XShortClosure__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getGroup_0()); + } + // InternalScope.g:17419:2: ( rule__XShortClosure__Group_0__0 ) + // InternalScope.g:17419:3: rule__XShortClosure__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getGroup_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group__0__Impl" + + + // $ANTLR start "rule__XShortClosure__Group__1" + // InternalScope.g:17427:1: rule__XShortClosure__Group__1 : rule__XShortClosure__Group__1__Impl ; + public final void rule__XShortClosure__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17431:1: ( rule__XShortClosure__Group__1__Impl ) + // InternalScope.g:17432:2: rule__XShortClosure__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group__1" + + + // $ANTLR start "rule__XShortClosure__Group__1__Impl" + // InternalScope.g:17438:1: rule__XShortClosure__Group__1__Impl : ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) ; + public final void rule__XShortClosure__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17442:1: ( ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) ) + // InternalScope.g:17443:1: ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) + { + // InternalScope.g:17443:1: ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) + // InternalScope.g:17444:2: ( rule__XShortClosure__ExpressionAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1()); + } + // InternalScope.g:17445:2: ( rule__XShortClosure__ExpressionAssignment_1 ) + // InternalScope.g:17445:3: rule__XShortClosure__ExpressionAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__ExpressionAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group__1__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0__0" + // InternalScope.g:17454:1: rule__XShortClosure__Group_0__0 : rule__XShortClosure__Group_0__0__Impl ; + public final void rule__XShortClosure__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17458:1: ( rule__XShortClosure__Group_0__0__Impl ) + // InternalScope.g:17459:2: rule__XShortClosure__Group_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0__0" + + + // $ANTLR start "rule__XShortClosure__Group_0__0__Impl" + // InternalScope.g:17465:1: rule__XShortClosure__Group_0__0__Impl : ( ( rule__XShortClosure__Group_0_0__0 ) ) ; + public final void rule__XShortClosure__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17469:1: ( ( ( rule__XShortClosure__Group_0_0__0 ) ) ) + // InternalScope.g:17470:1: ( ( rule__XShortClosure__Group_0_0__0 ) ) + { + // InternalScope.g:17470:1: ( ( rule__XShortClosure__Group_0_0__0 ) ) + // InternalScope.g:17471:2: ( rule__XShortClosure__Group_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getGroup_0_0()); + } + // InternalScope.g:17472:2: ( rule__XShortClosure__Group_0_0__0 ) + // InternalScope.g:17472:3: rule__XShortClosure__Group_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getGroup_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0__0__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__0" + // InternalScope.g:17481:1: rule__XShortClosure__Group_0_0__0 : rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1 ; + public final void rule__XShortClosure__Group_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17485:1: ( rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1 ) + // InternalScope.g:17486:2: rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1 + { + pushFollow(FOLLOW_108); + rule__XShortClosure__Group_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__0" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__0__Impl" + // InternalScope.g:17493:1: rule__XShortClosure__Group_0_0__0__Impl : ( () ) ; + public final void rule__XShortClosure__Group_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17497:1: ( ( () ) ) + // InternalScope.g:17498:1: ( () ) + { + // InternalScope.g:17498:1: ( () ) + // InternalScope.g:17499:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0()); + } + // InternalScope.g:17500:2: () + // InternalScope.g:17500:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__0__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__1" + // InternalScope.g:17508:1: rule__XShortClosure__Group_0_0__1 : rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2 ; + public final void rule__XShortClosure__Group_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17512:1: ( rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2 ) + // InternalScope.g:17513:2: rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2 + { + pushFollow(FOLLOW_108); + rule__XShortClosure__Group_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__1" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__1__Impl" + // InternalScope.g:17520:1: rule__XShortClosure__Group_0_0__1__Impl : ( ( rule__XShortClosure__Group_0_0_1__0 )? ) ; + public final void rule__XShortClosure__Group_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17524:1: ( ( ( rule__XShortClosure__Group_0_0_1__0 )? ) ) + // InternalScope.g:17525:1: ( ( rule__XShortClosure__Group_0_0_1__0 )? ) + { + // InternalScope.g:17525:1: ( ( rule__XShortClosure__Group_0_0_1__0 )? ) + // InternalScope.g:17526:2: ( rule__XShortClosure__Group_0_0_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getGroup_0_0_1()); + } + // InternalScope.g:17527:2: ( rule__XShortClosure__Group_0_0_1__0 )? + int alt142=2; + int LA142_0 = input.LA(1); + + if ( (LA142_0==RULE_ID||LA142_0==51||LA142_0==77) ) { + alt142=1; + } + switch (alt142) { + case 1 : + // InternalScope.g:17527:3: rule__XShortClosure__Group_0_0_1__0 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getGroup_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__1__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__2" + // InternalScope.g:17535:1: rule__XShortClosure__Group_0_0__2 : rule__XShortClosure__Group_0_0__2__Impl ; + public final void rule__XShortClosure__Group_0_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17539:1: ( rule__XShortClosure__Group_0_0__2__Impl ) + // InternalScope.g:17540:2: rule__XShortClosure__Group_0_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__2" + + + // $ANTLR start "rule__XShortClosure__Group_0_0__2__Impl" + // InternalScope.g:17546:1: rule__XShortClosure__Group_0_0__2__Impl : ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) ; + public final void rule__XShortClosure__Group_0_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17550:1: ( ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) ) + // InternalScope.g:17551:1: ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) + { + // InternalScope.g:17551:1: ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) + // InternalScope.g:17552:2: ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2()); + } + // InternalScope.g:17553:2: ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) + // InternalScope.g:17553:3: rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0__2__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1__0" + // InternalScope.g:17562:1: rule__XShortClosure__Group_0_0_1__0 : rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1 ; + public final void rule__XShortClosure__Group_0_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17566:1: ( rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1 ) + // InternalScope.g:17567:2: rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1 + { + pushFollow(FOLLOW_71); + rule__XShortClosure__Group_0_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1__0" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1__0__Impl" + // InternalScope.g:17574:1: rule__XShortClosure__Group_0_0_1__0__Impl : ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) ; + public final void rule__XShortClosure__Group_0_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17578:1: ( ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) ) + // InternalScope.g:17579:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) + { + // InternalScope.g:17579:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) + // InternalScope.g:17580:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0()); + } + // InternalScope.g:17581:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) + // InternalScope.g:17581:3: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1__0__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1__1" + // InternalScope.g:17589:1: rule__XShortClosure__Group_0_0_1__1 : rule__XShortClosure__Group_0_0_1__1__Impl ; + public final void rule__XShortClosure__Group_0_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17593:1: ( rule__XShortClosure__Group_0_0_1__1__Impl ) + // InternalScope.g:17594:2: rule__XShortClosure__Group_0_0_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1__1" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1__1__Impl" + // InternalScope.g:17600:1: rule__XShortClosure__Group_0_0_1__1__Impl : ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) ; + public final void rule__XShortClosure__Group_0_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17604:1: ( ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) ) + // InternalScope.g:17605:1: ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) + { + // InternalScope.g:17605:1: ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) + // InternalScope.g:17606:2: ( rule__XShortClosure__Group_0_0_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1()); + } + // InternalScope.g:17607:2: ( rule__XShortClosure__Group_0_0_1_1__0 )* + loop143: + do { + int alt143=2; + int LA143_0 = input.LA(1); + + if ( (LA143_0==86) ) { + alt143=1; + } + + + switch (alt143) { + case 1 : + // InternalScope.g:17607:3: rule__XShortClosure__Group_0_0_1_1__0 + { + pushFollow(FOLLOW_39); + rule__XShortClosure__Group_0_0_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop143; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1__1__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__0" + // InternalScope.g:17616:1: rule__XShortClosure__Group_0_0_1_1__0 : rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1 ; + public final void rule__XShortClosure__Group_0_0_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17620:1: ( rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1 ) + // InternalScope.g:17621:2: rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1 + { + pushFollow(FOLLOW_84); + rule__XShortClosure__Group_0_0_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1_1__0" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__0__Impl" + // InternalScope.g:17628:1: rule__XShortClosure__Group_0_0_1_1__0__Impl : ( ',' ) ; + public final void rule__XShortClosure__Group_0_0_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17632:1: ( ( ',' ) ) + // InternalScope.g:17633:1: ( ',' ) + { + // InternalScope.g:17633:1: ( ',' ) + // InternalScope.g:17634:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1_1__0__Impl" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__1" + // InternalScope.g:17643:1: rule__XShortClosure__Group_0_0_1_1__1 : rule__XShortClosure__Group_0_0_1_1__1__Impl ; + public final void rule__XShortClosure__Group_0_0_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17647:1: ( rule__XShortClosure__Group_0_0_1_1__1__Impl ) + // InternalScope.g:17648:2: rule__XShortClosure__Group_0_0_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XShortClosure__Group_0_0_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1_1__1" + + + // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__1__Impl" + // InternalScope.g:17654:1: rule__XShortClosure__Group_0_0_1_1__1__Impl : ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) ; + public final void rule__XShortClosure__Group_0_0_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17658:1: ( ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) ) + // InternalScope.g:17659:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) + { + // InternalScope.g:17659:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) + // InternalScope.g:17660:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1()); + } + // InternalScope.g:17661:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) + // InternalScope.g:17661:3: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__Group_0_0_1_1__1__Impl" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__0" + // InternalScope.g:17670:1: rule__XParenthesizedExpression__Group__0 : rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1 ; + public final void rule__XParenthesizedExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17674:1: ( rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1 ) + // InternalScope.g:17675:2: rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1 + { + pushFollow(FOLLOW_104); + rule__XParenthesizedExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XParenthesizedExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__0" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__0__Impl" + // InternalScope.g:17682:1: rule__XParenthesizedExpression__Group__0__Impl : ( '(' ) ; + public final void rule__XParenthesizedExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17686:1: ( ( '(' ) ) + // InternalScope.g:17687:1: ( '(' ) + { + // InternalScope.g:17687:1: ( '(' ) + // InternalScope.g:17688:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__0__Impl" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__1" + // InternalScope.g:17697:1: rule__XParenthesizedExpression__Group__1 : rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2 ; + public final void rule__XParenthesizedExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17701:1: ( rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2 ) + // InternalScope.g:17702:2: rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2 + { + pushFollow(FOLLOW_23); + rule__XParenthesizedExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XParenthesizedExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__1" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__1__Impl" + // InternalScope.g:17709:1: rule__XParenthesizedExpression__Group__1__Impl : ( ruleXExpression ) ; + public final void rule__XParenthesizedExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17713:1: ( ( ruleXExpression ) ) + // InternalScope.g:17714:1: ( ruleXExpression ) + { + // InternalScope.g:17714:1: ( ruleXExpression ) + // InternalScope.g:17715:2: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__1__Impl" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__2" + // InternalScope.g:17724:1: rule__XParenthesizedExpression__Group__2 : rule__XParenthesizedExpression__Group__2__Impl ; + public final void rule__XParenthesizedExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17728:1: ( rule__XParenthesizedExpression__Group__2__Impl ) + // InternalScope.g:17729:2: rule__XParenthesizedExpression__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__XParenthesizedExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__2" + + + // $ANTLR start "rule__XParenthesizedExpression__Group__2__Impl" + // InternalScope.g:17735:1: rule__XParenthesizedExpression__Group__2__Impl : ( ')' ) ; + public final void rule__XParenthesizedExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17739:1: ( ( ')' ) ) + // InternalScope.g:17740:1: ( ')' ) + { + // InternalScope.g:17740:1: ( ')' ) + // InternalScope.g:17741:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XParenthesizedExpression__Group__2__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__0" + // InternalScope.g:17751:1: rule__XIfExpression__Group__0 : rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1 ; + public final void rule__XIfExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17755:1: ( rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1 ) + // InternalScope.g:17756:2: rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1 + { + pushFollow(FOLLOW_110); + rule__XIfExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__0" + + + // $ANTLR start "rule__XIfExpression__Group__0__Impl" + // InternalScope.g:17763:1: rule__XIfExpression__Group__0__Impl : ( () ) ; + public final void rule__XIfExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17767:1: ( ( () ) ) + // InternalScope.g:17768:1: ( () ) + { + // InternalScope.g:17768:1: ( () ) + // InternalScope.g:17769:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0()); + } + // InternalScope.g:17770:2: () + // InternalScope.g:17770:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__0__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__1" + // InternalScope.g:17778:1: rule__XIfExpression__Group__1 : rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2 ; + public final void rule__XIfExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17782:1: ( rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2 ) + // InternalScope.g:17783:2: rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2 + { + pushFollow(FOLLOW_31); + rule__XIfExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__1" + + + // $ANTLR start "rule__XIfExpression__Group__1__Impl" + // InternalScope.g:17790:1: rule__XIfExpression__Group__1__Impl : ( 'if' ) ; + public final void rule__XIfExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17794:1: ( ( 'if' ) ) + // InternalScope.g:17795:1: ( 'if' ) + { + // InternalScope.g:17795:1: ( 'if' ) + // InternalScope.g:17796:2: 'if' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); + } + match(input,97,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__1__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__2" + // InternalScope.g:17805:1: rule__XIfExpression__Group__2 : rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3 ; + public final void rule__XIfExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17809:1: ( rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3 ) + // InternalScope.g:17810:2: rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3 + { + pushFollow(FOLLOW_104); + rule__XIfExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__2" + + + // $ANTLR start "rule__XIfExpression__Group__2__Impl" + // InternalScope.g:17817:1: rule__XIfExpression__Group__2__Impl : ( '(' ) ; + public final void rule__XIfExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17821:1: ( ( '(' ) ) + // InternalScope.g:17822:1: ( '(' ) + { + // InternalScope.g:17822:1: ( '(' ) + // InternalScope.g:17823:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__2__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__3" + // InternalScope.g:17832:1: rule__XIfExpression__Group__3 : rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4 ; + public final void rule__XIfExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17836:1: ( rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4 ) + // InternalScope.g:17837:2: rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4 + { + pushFollow(FOLLOW_23); + rule__XIfExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__3" + + + // $ANTLR start "rule__XIfExpression__Group__3__Impl" + // InternalScope.g:17844:1: rule__XIfExpression__Group__3__Impl : ( ( rule__XIfExpression__IfAssignment_3 ) ) ; + public final void rule__XIfExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17848:1: ( ( ( rule__XIfExpression__IfAssignment_3 ) ) ) + // InternalScope.g:17849:1: ( ( rule__XIfExpression__IfAssignment_3 ) ) + { + // InternalScope.g:17849:1: ( ( rule__XIfExpression__IfAssignment_3 ) ) + // InternalScope.g:17850:2: ( rule__XIfExpression__IfAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getIfAssignment_3()); + } + // InternalScope.g:17851:2: ( rule__XIfExpression__IfAssignment_3 ) + // InternalScope.g:17851:3: rule__XIfExpression__IfAssignment_3 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__IfAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getIfAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__3__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__4" + // InternalScope.g:17859:1: rule__XIfExpression__Group__4 : rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5 ; + public final void rule__XIfExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17863:1: ( rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5 ) + // InternalScope.g:17864:2: rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5 + { + pushFollow(FOLLOW_104); + rule__XIfExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__4" + + + // $ANTLR start "rule__XIfExpression__Group__4__Impl" + // InternalScope.g:17871:1: rule__XIfExpression__Group__4__Impl : ( ')' ) ; + public final void rule__XIfExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17875:1: ( ( ')' ) ) + // InternalScope.g:17876:1: ( ')' ) + { + // InternalScope.g:17876:1: ( ')' ) + // InternalScope.g:17877:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__4__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__5" + // InternalScope.g:17886:1: rule__XIfExpression__Group__5 : rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6 ; + public final void rule__XIfExpression__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17890:1: ( rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6 ) + // InternalScope.g:17891:2: rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6 + { + pushFollow(FOLLOW_53); + rule__XIfExpression__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__5" + + + // $ANTLR start "rule__XIfExpression__Group__5__Impl" + // InternalScope.g:17898:1: rule__XIfExpression__Group__5__Impl : ( ( rule__XIfExpression__ThenAssignment_5 ) ) ; + public final void rule__XIfExpression__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17902:1: ( ( ( rule__XIfExpression__ThenAssignment_5 ) ) ) + // InternalScope.g:17903:1: ( ( rule__XIfExpression__ThenAssignment_5 ) ) + { + // InternalScope.g:17903:1: ( ( rule__XIfExpression__ThenAssignment_5 ) ) + // InternalScope.g:17904:2: ( rule__XIfExpression__ThenAssignment_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getThenAssignment_5()); + } + // InternalScope.g:17905:2: ( rule__XIfExpression__ThenAssignment_5 ) + // InternalScope.g:17905:3: rule__XIfExpression__ThenAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__ThenAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getThenAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__5__Impl" + + + // $ANTLR start "rule__XIfExpression__Group__6" + // InternalScope.g:17913:1: rule__XIfExpression__Group__6 : rule__XIfExpression__Group__6__Impl ; + public final void rule__XIfExpression__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17917:1: ( rule__XIfExpression__Group__6__Impl ) + // InternalScope.g:17918:2: rule__XIfExpression__Group__6__Impl + { + pushFollow(FOLLOW_2); + rule__XIfExpression__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__6" + + + // $ANTLR start "rule__XIfExpression__Group__6__Impl" + // InternalScope.g:17924:1: rule__XIfExpression__Group__6__Impl : ( ( rule__XIfExpression__Group_6__0 )? ) ; + public final void rule__XIfExpression__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17928:1: ( ( ( rule__XIfExpression__Group_6__0 )? ) ) + // InternalScope.g:17929:1: ( ( rule__XIfExpression__Group_6__0 )? ) + { + // InternalScope.g:17929:1: ( ( rule__XIfExpression__Group_6__0 )? ) + // InternalScope.g:17930:2: ( rule__XIfExpression__Group_6__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getGroup_6()); + } + // InternalScope.g:17931:2: ( rule__XIfExpression__Group_6__0 )? + int alt144=2; + int LA144_0 = input.LA(1); + + if ( (LA144_0==99) ) { + int LA144_1 = input.LA(2); + + if ( (synpred219_InternalScope()) ) { + alt144=1; + } + } + switch (alt144) { + case 1 : + // InternalScope.g:17931:3: rule__XIfExpression__Group_6__0 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__Group_6__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getGroup_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group__6__Impl" + + + // $ANTLR start "rule__XIfExpression__Group_6__0" + // InternalScope.g:17940:1: rule__XIfExpression__Group_6__0 : rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1 ; + public final void rule__XIfExpression__Group_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17944:1: ( rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1 ) + // InternalScope.g:17945:2: rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1 + { + pushFollow(FOLLOW_104); + rule__XIfExpression__Group_6__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XIfExpression__Group_6__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group_6__0" + + + // $ANTLR start "rule__XIfExpression__Group_6__0__Impl" + // InternalScope.g:17952:1: rule__XIfExpression__Group_6__0__Impl : ( ( 'else' ) ) ; + public final void rule__XIfExpression__Group_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17956:1: ( ( ( 'else' ) ) ) + // InternalScope.g:17957:1: ( ( 'else' ) ) + { + // InternalScope.g:17957:1: ( ( 'else' ) ) + // InternalScope.g:17958:2: ( 'else' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); + } + // InternalScope.g:17959:2: ( 'else' ) + // InternalScope.g:17959:3: 'else' + { + match(input,99,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group_6__0__Impl" + + + // $ANTLR start "rule__XIfExpression__Group_6__1" + // InternalScope.g:17967:1: rule__XIfExpression__Group_6__1 : rule__XIfExpression__Group_6__1__Impl ; + public final void rule__XIfExpression__Group_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17971:1: ( rule__XIfExpression__Group_6__1__Impl ) + // InternalScope.g:17972:2: rule__XIfExpression__Group_6__1__Impl + { + pushFollow(FOLLOW_2); + rule__XIfExpression__Group_6__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group_6__1" + + + // $ANTLR start "rule__XIfExpression__Group_6__1__Impl" + // InternalScope.g:17978:1: rule__XIfExpression__Group_6__1__Impl : ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) ; + public final void rule__XIfExpression__Group_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17982:1: ( ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) ) + // InternalScope.g:17983:1: ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) + { + // InternalScope.g:17983:1: ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) + // InternalScope.g:17984:2: ( rule__XIfExpression__ElseAssignment_6_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1()); + } + // InternalScope.g:17985:2: ( rule__XIfExpression__ElseAssignment_6_1 ) + // InternalScope.g:17985:3: rule__XIfExpression__ElseAssignment_6_1 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__ElseAssignment_6_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__Group_6__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__0" + // InternalScope.g:17994:1: rule__XSwitchExpression__Group__0 : rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1 ; + public final void rule__XSwitchExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:17998:1: ( rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1 ) + // InternalScope.g:17999:2: rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1 + { + pushFollow(FOLLOW_111); + rule__XSwitchExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__0" + + + // $ANTLR start "rule__XSwitchExpression__Group__0__Impl" + // InternalScope.g:18006:1: rule__XSwitchExpression__Group__0__Impl : ( () ) ; + public final void rule__XSwitchExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18010:1: ( ( () ) ) + // InternalScope.g:18011:1: ( () ) + { + // InternalScope.g:18011:1: ( () ) + // InternalScope.g:18012:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0()); + } + // InternalScope.g:18013:2: () + // InternalScope.g:18013:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__1" + // InternalScope.g:18021:1: rule__XSwitchExpression__Group__1 : rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2 ; + public final void rule__XSwitchExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18025:1: ( rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2 ) + // InternalScope.g:18026:2: rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2 + { + pushFollow(FOLLOW_104); + rule__XSwitchExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__1" + + + // $ANTLR start "rule__XSwitchExpression__Group__1__Impl" + // InternalScope.g:18033:1: rule__XSwitchExpression__Group__1__Impl : ( 'switch' ) ; + public final void rule__XSwitchExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18037:1: ( ( 'switch' ) ) + // InternalScope.g:18038:1: ( 'switch' ) + { + // InternalScope.g:18038:1: ( 'switch' ) + // InternalScope.g:18039:2: 'switch' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); + } + match(input,100,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__2" + // InternalScope.g:18048:1: rule__XSwitchExpression__Group__2 : rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3 ; + public final void rule__XSwitchExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18052:1: ( rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3 ) + // InternalScope.g:18053:2: rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3 + { + pushFollow(FOLLOW_13); + rule__XSwitchExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__2" + + + // $ANTLR start "rule__XSwitchExpression__Group__2__Impl" + // InternalScope.g:18060:1: rule__XSwitchExpression__Group__2__Impl : ( ( rule__XSwitchExpression__Alternatives_2 ) ) ; + public final void rule__XSwitchExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18064:1: ( ( ( rule__XSwitchExpression__Alternatives_2 ) ) ) + // InternalScope.g:18065:1: ( ( rule__XSwitchExpression__Alternatives_2 ) ) + { + // InternalScope.g:18065:1: ( ( rule__XSwitchExpression__Alternatives_2 ) ) + // InternalScope.g:18066:2: ( rule__XSwitchExpression__Alternatives_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2()); + } + // InternalScope.g:18067:2: ( rule__XSwitchExpression__Alternatives_2 ) + // InternalScope.g:18067:3: rule__XSwitchExpression__Alternatives_2 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Alternatives_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__2__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__3" + // InternalScope.g:18075:1: rule__XSwitchExpression__Group__3 : rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4 ; + public final void rule__XSwitchExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18079:1: ( rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4 ) + // InternalScope.g:18080:2: rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4 + { + pushFollow(FOLLOW_112); + rule__XSwitchExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__3" + + + // $ANTLR start "rule__XSwitchExpression__Group__3__Impl" + // InternalScope.g:18087:1: rule__XSwitchExpression__Group__3__Impl : ( '{' ) ; + public final void rule__XSwitchExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18091:1: ( ( '{' ) ) + // InternalScope.g:18092:1: ( '{' ) + { + // InternalScope.g:18092:1: ( '{' ) + // InternalScope.g:18093:2: '{' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); + } + match(input,72,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__3__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__4" + // InternalScope.g:18102:1: rule__XSwitchExpression__Group__4 : rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5 ; + public final void rule__XSwitchExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18106:1: ( rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5 ) + // InternalScope.g:18107:2: rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5 + { + pushFollow(FOLLOW_112); + rule__XSwitchExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__4" + + + // $ANTLR start "rule__XSwitchExpression__Group__4__Impl" + // InternalScope.g:18114:1: rule__XSwitchExpression__Group__4__Impl : ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) ; + public final void rule__XSwitchExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18118:1: ( ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) ) + // InternalScope.g:18119:1: ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) + { + // InternalScope.g:18119:1: ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) + // InternalScope.g:18120:2: ( rule__XSwitchExpression__CasesAssignment_4 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4()); + } + // InternalScope.g:18121:2: ( rule__XSwitchExpression__CasesAssignment_4 )* + loop145: + do { + int alt145=2; + int LA145_0 = input.LA(1); + + if ( (LA145_0==RULE_ID||LA145_0==51||LA145_0==74||LA145_0==77||LA145_0==86||LA145_0==95) ) { + alt145=1; + } + + + switch (alt145) { + case 1 : + // InternalScope.g:18121:3: rule__XSwitchExpression__CasesAssignment_4 + { + pushFollow(FOLLOW_113); + rule__XSwitchExpression__CasesAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop145; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__4__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__5" + // InternalScope.g:18129:1: rule__XSwitchExpression__Group__5 : rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6 ; + public final void rule__XSwitchExpression__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18133:1: ( rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6 ) + // InternalScope.g:18134:2: rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6 + { + pushFollow(FOLLOW_112); + rule__XSwitchExpression__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__5" + + + // $ANTLR start "rule__XSwitchExpression__Group__5__Impl" + // InternalScope.g:18141:1: rule__XSwitchExpression__Group__5__Impl : ( ( rule__XSwitchExpression__Group_5__0 )? ) ; + public final void rule__XSwitchExpression__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18145:1: ( ( ( rule__XSwitchExpression__Group_5__0 )? ) ) + // InternalScope.g:18146:1: ( ( rule__XSwitchExpression__Group_5__0 )? ) + { + // InternalScope.g:18146:1: ( ( rule__XSwitchExpression__Group_5__0 )? ) + // InternalScope.g:18147:2: ( rule__XSwitchExpression__Group_5__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_5()); + } + // InternalScope.g:18148:2: ( rule__XSwitchExpression__Group_5__0 )? + int alt146=2; + int LA146_0 = input.LA(1); + + if ( (LA146_0==101) ) { + alt146=1; + } + switch (alt146) { + case 1 : + // InternalScope.g:18148:3: rule__XSwitchExpression__Group_5__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_5__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__5__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group__6" + // InternalScope.g:18156:1: rule__XSwitchExpression__Group__6 : rule__XSwitchExpression__Group__6__Impl ; + public final void rule__XSwitchExpression__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18160:1: ( rule__XSwitchExpression__Group__6__Impl ) + // InternalScope.g:18161:2: rule__XSwitchExpression__Group__6__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__6" + + + // $ANTLR start "rule__XSwitchExpression__Group__6__Impl" + // InternalScope.g:18167:1: rule__XSwitchExpression__Group__6__Impl : ( '}' ) ; + public final void rule__XSwitchExpression__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18171:1: ( ( '}' ) ) + // InternalScope.g:18172:1: ( '}' ) + { + // InternalScope.g:18172:1: ( '}' ) + // InternalScope.g:18173:2: '}' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); + } + match(input,73,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group__6__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__0" + // InternalScope.g:18183:1: rule__XSwitchExpression__Group_2_0__0 : rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1 ; + public final void rule__XSwitchExpression__Group_2_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18187:1: ( rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1 ) + // InternalScope.g:18188:2: rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1 + { + pushFollow(FOLLOW_104); + rule__XSwitchExpression__Group_2_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__0__Impl" + // InternalScope.g:18195:1: rule__XSwitchExpression__Group_2_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) ; + public final void rule__XSwitchExpression__Group_2_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18199:1: ( ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) ) + // InternalScope.g:18200:1: ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) + { + // InternalScope.g:18200:1: ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) + // InternalScope.g:18201:2: ( rule__XSwitchExpression__Group_2_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0()); + } + // InternalScope.g:18202:2: ( rule__XSwitchExpression__Group_2_0_0__0 ) + // InternalScope.g:18202:3: rule__XSwitchExpression__Group_2_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__1" + // InternalScope.g:18210:1: rule__XSwitchExpression__Group_2_0__1 : rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2 ; + public final void rule__XSwitchExpression__Group_2_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18214:1: ( rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2 ) + // InternalScope.g:18215:2: rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2 + { + pushFollow(FOLLOW_23); + rule__XSwitchExpression__Group_2_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__1" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__1__Impl" + // InternalScope.g:18222:1: rule__XSwitchExpression__Group_2_0__1__Impl : ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) ; + public final void rule__XSwitchExpression__Group_2_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18226:1: ( ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) ) + // InternalScope.g:18227:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) + { + // InternalScope.g:18227:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) + // InternalScope.g:18228:2: ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1()); + } + // InternalScope.g:18229:2: ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) + // InternalScope.g:18229:3: rule__XSwitchExpression__SwitchAssignment_2_0_1 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__SwitchAssignment_2_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__2" + // InternalScope.g:18237:1: rule__XSwitchExpression__Group_2_0__2 : rule__XSwitchExpression__Group_2_0__2__Impl ; + public final void rule__XSwitchExpression__Group_2_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18241:1: ( rule__XSwitchExpression__Group_2_0__2__Impl ) + // InternalScope.g:18242:2: rule__XSwitchExpression__Group_2_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__2" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0__2__Impl" + // InternalScope.g:18248:1: rule__XSwitchExpression__Group_2_0__2__Impl : ( ')' ) ; + public final void rule__XSwitchExpression__Group_2_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18252:1: ( ( ')' ) ) + // InternalScope.g:18253:1: ( ')' ) + { + // InternalScope.g:18253:1: ( ')' ) + // InternalScope.g:18254:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0__2__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0__0" + // InternalScope.g:18264:1: rule__XSwitchExpression__Group_2_0_0__0 : rule__XSwitchExpression__Group_2_0_0__0__Impl ; + public final void rule__XSwitchExpression__Group_2_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18268:1: ( rule__XSwitchExpression__Group_2_0_0__0__Impl ) + // InternalScope.g:18269:2: rule__XSwitchExpression__Group_2_0_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0__0__Impl" + // InternalScope.g:18275:1: rule__XSwitchExpression__Group_2_0_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) ; + public final void rule__XSwitchExpression__Group_2_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18279:1: ( ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) ) + // InternalScope.g:18280:1: ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) + { + // InternalScope.g:18280:1: ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) + // InternalScope.g:18281:2: ( rule__XSwitchExpression__Group_2_0_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0()); + } + // InternalScope.g:18282:2: ( rule__XSwitchExpression__Group_2_0_0_0__0 ) + // InternalScope.g:18282:3: rule__XSwitchExpression__Group_2_0_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__0" + // InternalScope.g:18291:1: rule__XSwitchExpression__Group_2_0_0_0__0 : rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1 ; + public final void rule__XSwitchExpression__Group_2_0_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18295:1: ( rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1 ) + // InternalScope.g:18296:2: rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1 + { + pushFollow(FOLLOW_84); + rule__XSwitchExpression__Group_2_0_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__0__Impl" + // InternalScope.g:18303:1: rule__XSwitchExpression__Group_2_0_0_0__0__Impl : ( '(' ) ; + public final void rule__XSwitchExpression__Group_2_0_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18307:1: ( ( '(' ) ) + // InternalScope.g:18308:1: ( '(' ) + { + // InternalScope.g:18308:1: ( '(' ) + // InternalScope.g:18309:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__1" + // InternalScope.g:18318:1: rule__XSwitchExpression__Group_2_0_0_0__1 : rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2 ; + public final void rule__XSwitchExpression__Group_2_0_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18322:1: ( rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2 ) + // InternalScope.g:18323:2: rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2 + { + pushFollow(FOLLOW_47); + rule__XSwitchExpression__Group_2_0_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__1" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__1__Impl" + // InternalScope.g:18330:1: rule__XSwitchExpression__Group_2_0_0_0__1__Impl : ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) ; + public final void rule__XSwitchExpression__Group_2_0_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18334:1: ( ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) ) + // InternalScope.g:18335:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) + { + // InternalScope.g:18335:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) + // InternalScope.g:18336:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1()); + } + // InternalScope.g:18337:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) + // InternalScope.g:18337:3: rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__2" + // InternalScope.g:18345:1: rule__XSwitchExpression__Group_2_0_0_0__2 : rule__XSwitchExpression__Group_2_0_0_0__2__Impl ; + public final void rule__XSwitchExpression__Group_2_0_0_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18349:1: ( rule__XSwitchExpression__Group_2_0_0_0__2__Impl ) + // InternalScope.g:18350:2: rule__XSwitchExpression__Group_2_0_0_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0_0_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__2" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__2__Impl" + // InternalScope.g:18356:1: rule__XSwitchExpression__Group_2_0_0_0__2__Impl : ( ':' ) ; + public final void rule__XSwitchExpression__Group_2_0_0_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18360:1: ( ( ':' ) ) + // InternalScope.g:18361:1: ( ':' ) + { + // InternalScope.g:18361:1: ( ':' ) + // InternalScope.g:18362:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); + } + match(input,95,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_0_0_0__2__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1__0" + // InternalScope.g:18372:1: rule__XSwitchExpression__Group_2_1__0 : rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1 ; + public final void rule__XSwitchExpression__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18376:1: ( rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1 ) + // InternalScope.g:18377:2: rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1 + { + pushFollow(FOLLOW_104); + rule__XSwitchExpression__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1__0__Impl" + // InternalScope.g:18384:1: rule__XSwitchExpression__Group_2_1__0__Impl : ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) ; + public final void rule__XSwitchExpression__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18388:1: ( ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) ) + // InternalScope.g:18389:1: ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) + { + // InternalScope.g:18389:1: ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) + // InternalScope.g:18390:2: ( rule__XSwitchExpression__Group_2_1_0__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0()); + } + // InternalScope.g:18391:2: ( rule__XSwitchExpression__Group_2_1_0__0 )? + int alt147=2; + alt147 = dfa147.predict(input); + switch (alt147) { + case 1 : + // InternalScope.g:18391:3: rule__XSwitchExpression__Group_2_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1__1" + // InternalScope.g:18399:1: rule__XSwitchExpression__Group_2_1__1 : rule__XSwitchExpression__Group_2_1__1__Impl ; + public final void rule__XSwitchExpression__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18403:1: ( rule__XSwitchExpression__Group_2_1__1__Impl ) + // InternalScope.g:18404:2: rule__XSwitchExpression__Group_2_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1__1" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1__1__Impl" + // InternalScope.g:18410:1: rule__XSwitchExpression__Group_2_1__1__Impl : ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) ; + public final void rule__XSwitchExpression__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18414:1: ( ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) ) + // InternalScope.g:18415:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) + { + // InternalScope.g:18415:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) + // InternalScope.g:18416:2: ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1()); + } + // InternalScope.g:18417:2: ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) + // InternalScope.g:18417:3: rule__XSwitchExpression__SwitchAssignment_2_1_1 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__SwitchAssignment_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0__0" + // InternalScope.g:18426:1: rule__XSwitchExpression__Group_2_1_0__0 : rule__XSwitchExpression__Group_2_1_0__0__Impl ; + public final void rule__XSwitchExpression__Group_2_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18430:1: ( rule__XSwitchExpression__Group_2_1_0__0__Impl ) + // InternalScope.g:18431:2: rule__XSwitchExpression__Group_2_1_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0__0__Impl" + // InternalScope.g:18437:1: rule__XSwitchExpression__Group_2_1_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) ; + public final void rule__XSwitchExpression__Group_2_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18441:1: ( ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) ) + // InternalScope.g:18442:1: ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) + { + // InternalScope.g:18442:1: ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) + // InternalScope.g:18443:2: ( rule__XSwitchExpression__Group_2_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0()); + } + // InternalScope.g:18444:2: ( rule__XSwitchExpression__Group_2_1_0_0__0 ) + // InternalScope.g:18444:3: rule__XSwitchExpression__Group_2_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__0" + // InternalScope.g:18453:1: rule__XSwitchExpression__Group_2_1_0_0__0 : rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1 ; + public final void rule__XSwitchExpression__Group_2_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18457:1: ( rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1 ) + // InternalScope.g:18458:2: rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1 + { + pushFollow(FOLLOW_47); + rule__XSwitchExpression__Group_2_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0_0__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__0__Impl" + // InternalScope.g:18465:1: rule__XSwitchExpression__Group_2_1_0_0__0__Impl : ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) ; + public final void rule__XSwitchExpression__Group_2_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18469:1: ( ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) ) + // InternalScope.g:18470:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) + { + // InternalScope.g:18470:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) + // InternalScope.g:18471:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0()); + } + // InternalScope.g:18472:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) + // InternalScope.g:18472:3: rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0_0__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__1" + // InternalScope.g:18480:1: rule__XSwitchExpression__Group_2_1_0_0__1 : rule__XSwitchExpression__Group_2_1_0_0__1__Impl ; + public final void rule__XSwitchExpression__Group_2_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18484:1: ( rule__XSwitchExpression__Group_2_1_0_0__1__Impl ) + // InternalScope.g:18485:2: rule__XSwitchExpression__Group_2_1_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0_0__1" + + + // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__1__Impl" + // InternalScope.g:18491:1: rule__XSwitchExpression__Group_2_1_0_0__1__Impl : ( ':' ) ; + public final void rule__XSwitchExpression__Group_2_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18495:1: ( ( ':' ) ) + // InternalScope.g:18496:1: ( ':' ) + { + // InternalScope.g:18496:1: ( ':' ) + // InternalScope.g:18497:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); + } + match(input,95,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_2_1_0_0__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__0" + // InternalScope.g:18507:1: rule__XSwitchExpression__Group_5__0 : rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1 ; + public final void rule__XSwitchExpression__Group_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18511:1: ( rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1 ) + // InternalScope.g:18512:2: rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1 + { + pushFollow(FOLLOW_47); + rule__XSwitchExpression__Group_5__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_5__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__0" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__0__Impl" + // InternalScope.g:18519:1: rule__XSwitchExpression__Group_5__0__Impl : ( 'default' ) ; + public final void rule__XSwitchExpression__Group_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18523:1: ( ( 'default' ) ) + // InternalScope.g:18524:1: ( 'default' ) + { + // InternalScope.g:18524:1: ( 'default' ) + // InternalScope.g:18525:2: 'default' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); + } + match(input,101,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__0__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__1" + // InternalScope.g:18534:1: rule__XSwitchExpression__Group_5__1 : rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2 ; + public final void rule__XSwitchExpression__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18538:1: ( rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2 ) + // InternalScope.g:18539:2: rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2 + { + pushFollow(FOLLOW_104); + rule__XSwitchExpression__Group_5__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_5__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__1" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__1__Impl" + // InternalScope.g:18546:1: rule__XSwitchExpression__Group_5__1__Impl : ( ':' ) ; + public final void rule__XSwitchExpression__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18550:1: ( ( ':' ) ) + // InternalScope.g:18551:1: ( ':' ) + { + // InternalScope.g:18551:1: ( ':' ) + // InternalScope.g:18552:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); + } + match(input,95,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__1__Impl" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__2" + // InternalScope.g:18561:1: rule__XSwitchExpression__Group_5__2 : rule__XSwitchExpression__Group_5__2__Impl ; + public final void rule__XSwitchExpression__Group_5__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18565:1: ( rule__XSwitchExpression__Group_5__2__Impl ) + // InternalScope.g:18566:2: rule__XSwitchExpression__Group_5__2__Impl + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_5__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__2" + + + // $ANTLR start "rule__XSwitchExpression__Group_5__2__Impl" + // InternalScope.g:18572:1: rule__XSwitchExpression__Group_5__2__Impl : ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) ; + public final void rule__XSwitchExpression__Group_5__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18576:1: ( ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) ) + // InternalScope.g:18577:1: ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) + { + // InternalScope.g:18577:1: ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) + // InternalScope.g:18578:2: ( rule__XSwitchExpression__DefaultAssignment_5_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2()); + } + // InternalScope.g:18579:2: ( rule__XSwitchExpression__DefaultAssignment_5_2 ) + // InternalScope.g:18579:3: rule__XSwitchExpression__DefaultAssignment_5_2 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__DefaultAssignment_5_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__Group_5__2__Impl" + + + // $ANTLR start "rule__XCasePart__Group__0" + // InternalScope.g:18588:1: rule__XCasePart__Group__0 : rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1 ; + public final void rule__XCasePart__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18592:1: ( rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1 ) + // InternalScope.g:18593:2: rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1 + { + pushFollow(FOLLOW_114); + rule__XCasePart__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCasePart__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__0" + + + // $ANTLR start "rule__XCasePart__Group__0__Impl" + // InternalScope.g:18600:1: rule__XCasePart__Group__0__Impl : ( () ) ; + public final void rule__XCasePart__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18604:1: ( ( () ) ) + // InternalScope.g:18605:1: ( () ) + { + // InternalScope.g:18605:1: ( () ) + // InternalScope.g:18606:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getXCasePartAction_0()); + } + // InternalScope.g:18607:2: () + // InternalScope.g:18607:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getXCasePartAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__0__Impl" + + + // $ANTLR start "rule__XCasePart__Group__1" + // InternalScope.g:18615:1: rule__XCasePart__Group__1 : rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2 ; + public final void rule__XCasePart__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18619:1: ( rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2 ) + // InternalScope.g:18620:2: rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2 + { + pushFollow(FOLLOW_114); + rule__XCasePart__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCasePart__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__1" + + + // $ANTLR start "rule__XCasePart__Group__1__Impl" + // InternalScope.g:18627:1: rule__XCasePart__Group__1__Impl : ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) ; + public final void rule__XCasePart__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18631:1: ( ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) ) + // InternalScope.g:18632:1: ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) + { + // InternalScope.g:18632:1: ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) + // InternalScope.g:18633:2: ( rule__XCasePart__TypeGuardAssignment_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1()); + } + // InternalScope.g:18634:2: ( rule__XCasePart__TypeGuardAssignment_1 )? + int alt148=2; + int LA148_0 = input.LA(1); + + if ( (LA148_0==RULE_ID||LA148_0==51||LA148_0==77) ) { + alt148=1; + } + switch (alt148) { + case 1 : + // InternalScope.g:18634:3: rule__XCasePart__TypeGuardAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XCasePart__TypeGuardAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__1__Impl" + + + // $ANTLR start "rule__XCasePart__Group__2" + // InternalScope.g:18642:1: rule__XCasePart__Group__2 : rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3 ; + public final void rule__XCasePart__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18646:1: ( rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3 ) + // InternalScope.g:18647:2: rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3 + { + pushFollow(FOLLOW_114); + rule__XCasePart__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCasePart__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__2" + + + // $ANTLR start "rule__XCasePart__Group__2__Impl" + // InternalScope.g:18654:1: rule__XCasePart__Group__2__Impl : ( ( rule__XCasePart__Group_2__0 )? ) ; + public final void rule__XCasePart__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18658:1: ( ( ( rule__XCasePart__Group_2__0 )? ) ) + // InternalScope.g:18659:1: ( ( rule__XCasePart__Group_2__0 )? ) + { + // InternalScope.g:18659:1: ( ( rule__XCasePart__Group_2__0 )? ) + // InternalScope.g:18660:2: ( rule__XCasePart__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getGroup_2()); + } + // InternalScope.g:18661:2: ( rule__XCasePart__Group_2__0 )? + int alt149=2; + int LA149_0 = input.LA(1); + + if ( (LA149_0==74) ) { + alt149=1; + } + switch (alt149) { + case 1 : + // InternalScope.g:18661:3: rule__XCasePart__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__XCasePart__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__2__Impl" + + + // $ANTLR start "rule__XCasePart__Group__3" + // InternalScope.g:18669:1: rule__XCasePart__Group__3 : rule__XCasePart__Group__3__Impl ; + public final void rule__XCasePart__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18673:1: ( rule__XCasePart__Group__3__Impl ) + // InternalScope.g:18674:2: rule__XCasePart__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XCasePart__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__3" + + + // $ANTLR start "rule__XCasePart__Group__3__Impl" + // InternalScope.g:18680:1: rule__XCasePart__Group__3__Impl : ( ( rule__XCasePart__Alternatives_3 ) ) ; + public final void rule__XCasePart__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18684:1: ( ( ( rule__XCasePart__Alternatives_3 ) ) ) + // InternalScope.g:18685:1: ( ( rule__XCasePart__Alternatives_3 ) ) + { + // InternalScope.g:18685:1: ( ( rule__XCasePart__Alternatives_3 ) ) + // InternalScope.g:18686:2: ( rule__XCasePart__Alternatives_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getAlternatives_3()); + } + // InternalScope.g:18687:2: ( rule__XCasePart__Alternatives_3 ) + // InternalScope.g:18687:3: rule__XCasePart__Alternatives_3 + { + pushFollow(FOLLOW_2); + rule__XCasePart__Alternatives_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getAlternatives_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group__3__Impl" + + + // $ANTLR start "rule__XCasePart__Group_2__0" + // InternalScope.g:18696:1: rule__XCasePart__Group_2__0 : rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1 ; + public final void rule__XCasePart__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18700:1: ( rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1 ) + // InternalScope.g:18701:2: rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1 + { + pushFollow(FOLLOW_104); + rule__XCasePart__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCasePart__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_2__0" + + + // $ANTLR start "rule__XCasePart__Group_2__0__Impl" + // InternalScope.g:18708:1: rule__XCasePart__Group_2__0__Impl : ( 'case' ) ; + public final void rule__XCasePart__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18712:1: ( ( 'case' ) ) + // InternalScope.g:18713:1: ( 'case' ) + { + // InternalScope.g:18713:1: ( 'case' ) + // InternalScope.g:18714:2: 'case' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_2__0__Impl" + + + // $ANTLR start "rule__XCasePart__Group_2__1" + // InternalScope.g:18723:1: rule__XCasePart__Group_2__1 : rule__XCasePart__Group_2__1__Impl ; + public final void rule__XCasePart__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18727:1: ( rule__XCasePart__Group_2__1__Impl ) + // InternalScope.g:18728:2: rule__XCasePart__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__XCasePart__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_2__1" + + + // $ANTLR start "rule__XCasePart__Group_2__1__Impl" + // InternalScope.g:18734:1: rule__XCasePart__Group_2__1__Impl : ( ( rule__XCasePart__CaseAssignment_2_1 ) ) ; + public final void rule__XCasePart__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18738:1: ( ( ( rule__XCasePart__CaseAssignment_2_1 ) ) ) + // InternalScope.g:18739:1: ( ( rule__XCasePart__CaseAssignment_2_1 ) ) + { + // InternalScope.g:18739:1: ( ( rule__XCasePart__CaseAssignment_2_1 ) ) + // InternalScope.g:18740:2: ( rule__XCasePart__CaseAssignment_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1()); + } + // InternalScope.g:18741:2: ( rule__XCasePart__CaseAssignment_2_1 ) + // InternalScope.g:18741:3: rule__XCasePart__CaseAssignment_2_1 + { + pushFollow(FOLLOW_2); + rule__XCasePart__CaseAssignment_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_2__1__Impl" + + + // $ANTLR start "rule__XCasePart__Group_3_0__0" + // InternalScope.g:18750:1: rule__XCasePart__Group_3_0__0 : rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1 ; + public final void rule__XCasePart__Group_3_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18754:1: ( rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1 ) + // InternalScope.g:18755:2: rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1 + { + pushFollow(FOLLOW_104); + rule__XCasePart__Group_3_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCasePart__Group_3_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_3_0__0" + + + // $ANTLR start "rule__XCasePart__Group_3_0__0__Impl" + // InternalScope.g:18762:1: rule__XCasePart__Group_3_0__0__Impl : ( ':' ) ; + public final void rule__XCasePart__Group_3_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18766:1: ( ( ':' ) ) + // InternalScope.g:18767:1: ( ':' ) + { + // InternalScope.g:18767:1: ( ':' ) + // InternalScope.g:18768:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); + } + match(input,95,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_3_0__0__Impl" + + + // $ANTLR start "rule__XCasePart__Group_3_0__1" + // InternalScope.g:18777:1: rule__XCasePart__Group_3_0__1 : rule__XCasePart__Group_3_0__1__Impl ; + public final void rule__XCasePart__Group_3_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18781:1: ( rule__XCasePart__Group_3_0__1__Impl ) + // InternalScope.g:18782:2: rule__XCasePart__Group_3_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XCasePart__Group_3_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_3_0__1" + + + // $ANTLR start "rule__XCasePart__Group_3_0__1__Impl" + // InternalScope.g:18788:1: rule__XCasePart__Group_3_0__1__Impl : ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) ; + public final void rule__XCasePart__Group_3_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18792:1: ( ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) ) + // InternalScope.g:18793:1: ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) + { + // InternalScope.g:18793:1: ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) + // InternalScope.g:18794:2: ( rule__XCasePart__ThenAssignment_3_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1()); + } + // InternalScope.g:18795:2: ( rule__XCasePart__ThenAssignment_3_0_1 ) + // InternalScope.g:18795:3: rule__XCasePart__ThenAssignment_3_0_1 + { + pushFollow(FOLLOW_2); + rule__XCasePart__ThenAssignment_3_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__Group_3_0__1__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group__0" + // InternalScope.g:18804:1: rule__XForLoopExpression__Group__0 : rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1 ; + public final void rule__XForLoopExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18808:1: ( rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1 ) + // InternalScope.g:18809:2: rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1 + { + pushFollow(FOLLOW_104); + rule__XForLoopExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__0" + + + // $ANTLR start "rule__XForLoopExpression__Group__0__Impl" + // InternalScope.g:18816:1: rule__XForLoopExpression__Group__0__Impl : ( ( rule__XForLoopExpression__Group_0__0 ) ) ; + public final void rule__XForLoopExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18820:1: ( ( ( rule__XForLoopExpression__Group_0__0 ) ) ) + // InternalScope.g:18821:1: ( ( rule__XForLoopExpression__Group_0__0 ) ) + { + // InternalScope.g:18821:1: ( ( rule__XForLoopExpression__Group_0__0 ) ) + // InternalScope.g:18822:2: ( rule__XForLoopExpression__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getGroup_0()); + } + // InternalScope.g:18823:2: ( rule__XForLoopExpression__Group_0__0 ) + // InternalScope.g:18823:3: rule__XForLoopExpression__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getGroup_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__0__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group__1" + // InternalScope.g:18831:1: rule__XForLoopExpression__Group__1 : rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2 ; + public final void rule__XForLoopExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18835:1: ( rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2 ) + // InternalScope.g:18836:2: rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2 + { + pushFollow(FOLLOW_23); + rule__XForLoopExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__1" + + + // $ANTLR start "rule__XForLoopExpression__Group__1__Impl" + // InternalScope.g:18843:1: rule__XForLoopExpression__Group__1__Impl : ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) ; + public final void rule__XForLoopExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18847:1: ( ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) ) + // InternalScope.g:18848:1: ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) + { + // InternalScope.g:18848:1: ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) + // InternalScope.g:18849:2: ( rule__XForLoopExpression__ForExpressionAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1()); + } + // InternalScope.g:18850:2: ( rule__XForLoopExpression__ForExpressionAssignment_1 ) + // InternalScope.g:18850:3: rule__XForLoopExpression__ForExpressionAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__ForExpressionAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__1__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group__2" + // InternalScope.g:18858:1: rule__XForLoopExpression__Group__2 : rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3 ; + public final void rule__XForLoopExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18862:1: ( rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3 ) + // InternalScope.g:18863:2: rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3 + { + pushFollow(FOLLOW_104); + rule__XForLoopExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__2" + + + // $ANTLR start "rule__XForLoopExpression__Group__2__Impl" + // InternalScope.g:18870:1: rule__XForLoopExpression__Group__2__Impl : ( ')' ) ; + public final void rule__XForLoopExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18874:1: ( ( ')' ) ) + // InternalScope.g:18875:1: ( ')' ) + { + // InternalScope.g:18875:1: ( ')' ) + // InternalScope.g:18876:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__2__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group__3" + // InternalScope.g:18885:1: rule__XForLoopExpression__Group__3 : rule__XForLoopExpression__Group__3__Impl ; + public final void rule__XForLoopExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18889:1: ( rule__XForLoopExpression__Group__3__Impl ) + // InternalScope.g:18890:2: rule__XForLoopExpression__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__3" + + + // $ANTLR start "rule__XForLoopExpression__Group__3__Impl" + // InternalScope.g:18896:1: rule__XForLoopExpression__Group__3__Impl : ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) ; + public final void rule__XForLoopExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18900:1: ( ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) ) + // InternalScope.g:18901:1: ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) + { + // InternalScope.g:18901:1: ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) + // InternalScope.g:18902:2: ( rule__XForLoopExpression__EachExpressionAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3()); + } + // InternalScope.g:18903:2: ( rule__XForLoopExpression__EachExpressionAssignment_3 ) + // InternalScope.g:18903:3: rule__XForLoopExpression__EachExpressionAssignment_3 + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__EachExpressionAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group__3__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0__0" + // InternalScope.g:18912:1: rule__XForLoopExpression__Group_0__0 : rule__XForLoopExpression__Group_0__0__Impl ; + public final void rule__XForLoopExpression__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18916:1: ( rule__XForLoopExpression__Group_0__0__Impl ) + // InternalScope.g:18917:2: rule__XForLoopExpression__Group_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0__0" + + + // $ANTLR start "rule__XForLoopExpression__Group_0__0__Impl" + // InternalScope.g:18923:1: rule__XForLoopExpression__Group_0__0__Impl : ( ( rule__XForLoopExpression__Group_0_0__0 ) ) ; + public final void rule__XForLoopExpression__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18927:1: ( ( ( rule__XForLoopExpression__Group_0_0__0 ) ) ) + // InternalScope.g:18928:1: ( ( rule__XForLoopExpression__Group_0_0__0 ) ) + { + // InternalScope.g:18928:1: ( ( rule__XForLoopExpression__Group_0_0__0 ) ) + // InternalScope.g:18929:2: ( rule__XForLoopExpression__Group_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0()); + } + // InternalScope.g:18930:2: ( rule__XForLoopExpression__Group_0_0__0 ) + // InternalScope.g:18930:3: rule__XForLoopExpression__Group_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0__0__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__0" + // InternalScope.g:18939:1: rule__XForLoopExpression__Group_0_0__0 : rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1 ; + public final void rule__XForLoopExpression__Group_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18943:1: ( rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1 ) + // InternalScope.g:18944:2: rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1 + { + pushFollow(FOLLOW_115); + rule__XForLoopExpression__Group_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__0" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__0__Impl" + // InternalScope.g:18951:1: rule__XForLoopExpression__Group_0_0__0__Impl : ( () ) ; + public final void rule__XForLoopExpression__Group_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18955:1: ( ( () ) ) + // InternalScope.g:18956:1: ( () ) + { + // InternalScope.g:18956:1: ( () ) + // InternalScope.g:18957:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0()); + } + // InternalScope.g:18958:2: () + // InternalScope.g:18958:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__0__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__1" + // InternalScope.g:18966:1: rule__XForLoopExpression__Group_0_0__1 : rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2 ; + public final void rule__XForLoopExpression__Group_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18970:1: ( rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2 ) + // InternalScope.g:18971:2: rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2 + { + pushFollow(FOLLOW_31); + rule__XForLoopExpression__Group_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__1" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__1__Impl" + // InternalScope.g:18978:1: rule__XForLoopExpression__Group_0_0__1__Impl : ( 'for' ) ; + public final void rule__XForLoopExpression__Group_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18982:1: ( ( 'for' ) ) + // InternalScope.g:18983:1: ( 'for' ) + { + // InternalScope.g:18983:1: ( 'for' ) + // InternalScope.g:18984:2: 'for' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); + } + match(input,105,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__1__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__2" + // InternalScope.g:18993:1: rule__XForLoopExpression__Group_0_0__2 : rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3 ; + public final void rule__XForLoopExpression__Group_0_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:18997:1: ( rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3 ) + // InternalScope.g:18998:2: rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3 + { + pushFollow(FOLLOW_84); + rule__XForLoopExpression__Group_0_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__2" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__2__Impl" + // InternalScope.g:19005:1: rule__XForLoopExpression__Group_0_0__2__Impl : ( '(' ) ; + public final void rule__XForLoopExpression__Group_0_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19009:1: ( ( '(' ) ) + // InternalScope.g:19010:1: ( '(' ) + { + // InternalScope.g:19010:1: ( '(' ) + // InternalScope.g:19011:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__2__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__3" + // InternalScope.g:19020:1: rule__XForLoopExpression__Group_0_0__3 : rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4 ; + public final void rule__XForLoopExpression__Group_0_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19024:1: ( rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4 ) + // InternalScope.g:19025:2: rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4 + { + pushFollow(FOLLOW_47); + rule__XForLoopExpression__Group_0_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__3" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__3__Impl" + // InternalScope.g:19032:1: rule__XForLoopExpression__Group_0_0__3__Impl : ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) ; + public final void rule__XForLoopExpression__Group_0_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19036:1: ( ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) ) + // InternalScope.g:19037:1: ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) + { + // InternalScope.g:19037:1: ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) + // InternalScope.g:19038:2: ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3()); + } + // InternalScope.g:19039:2: ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) + // InternalScope.g:19039:3: rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__DeclaredParamAssignment_0_0_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__3__Impl" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__4" + // InternalScope.g:19047:1: rule__XForLoopExpression__Group_0_0__4 : rule__XForLoopExpression__Group_0_0__4__Impl ; + public final void rule__XForLoopExpression__Group_0_0__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19051:1: ( rule__XForLoopExpression__Group_0_0__4__Impl ) + // InternalScope.g:19052:2: rule__XForLoopExpression__Group_0_0__4__Impl + { + pushFollow(FOLLOW_2); + rule__XForLoopExpression__Group_0_0__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__4" + + + // $ANTLR start "rule__XForLoopExpression__Group_0_0__4__Impl" + // InternalScope.g:19058:1: rule__XForLoopExpression__Group_0_0__4__Impl : ( ':' ) ; + public final void rule__XForLoopExpression__Group_0_0__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19062:1: ( ( ':' ) ) + // InternalScope.g:19063:1: ( ':' ) + { + // InternalScope.g:19063:1: ( ':' ) + // InternalScope.g:19064:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); + } + match(input,95,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__Group_0_0__4__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__0" + // InternalScope.g:19074:1: rule__XBasicForLoopExpression__Group__0 : rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1 ; + public final void rule__XBasicForLoopExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19078:1: ( rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1 ) + // InternalScope.g:19079:2: rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1 + { + pushFollow(FOLLOW_115); + rule__XBasicForLoopExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__0" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__0__Impl" + // InternalScope.g:19086:1: rule__XBasicForLoopExpression__Group__0__Impl : ( () ) ; + public final void rule__XBasicForLoopExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19090:1: ( ( () ) ) + // InternalScope.g:19091:1: ( () ) + { + // InternalScope.g:19091:1: ( () ) + // InternalScope.g:19092:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0()); + } + // InternalScope.g:19093:2: () + // InternalScope.g:19093:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__0__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__1" + // InternalScope.g:19101:1: rule__XBasicForLoopExpression__Group__1 : rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2 ; + public final void rule__XBasicForLoopExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19105:1: ( rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2 ) + // InternalScope.g:19106:2: rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2 + { + pushFollow(FOLLOW_31); + rule__XBasicForLoopExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__1" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__1__Impl" + // InternalScope.g:19113:1: rule__XBasicForLoopExpression__Group__1__Impl : ( 'for' ) ; + public final void rule__XBasicForLoopExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19117:1: ( ( 'for' ) ) + // InternalScope.g:19118:1: ( 'for' ) + { + // InternalScope.g:19118:1: ( 'for' ) + // InternalScope.g:19119:2: 'for' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); + } + match(input,105,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__1__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__2" + // InternalScope.g:19128:1: rule__XBasicForLoopExpression__Group__2 : rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3 ; + public final void rule__XBasicForLoopExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19132:1: ( rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3 ) + // InternalScope.g:19133:2: rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3 + { + pushFollow(FOLLOW_116); + rule__XBasicForLoopExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__2" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__2__Impl" + // InternalScope.g:19140:1: rule__XBasicForLoopExpression__Group__2__Impl : ( '(' ) ; + public final void rule__XBasicForLoopExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19144:1: ( ( '(' ) ) + // InternalScope.g:19145:1: ( '(' ) + { + // InternalScope.g:19145:1: ( '(' ) + // InternalScope.g:19146:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__2__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__3" + // InternalScope.g:19155:1: rule__XBasicForLoopExpression__Group__3 : rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4 ; + public final void rule__XBasicForLoopExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19159:1: ( rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4 ) + // InternalScope.g:19160:2: rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4 + { + pushFollow(FOLLOW_116); + rule__XBasicForLoopExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__3" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__3__Impl" + // InternalScope.g:19167:1: rule__XBasicForLoopExpression__Group__3__Impl : ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) ; + public final void rule__XBasicForLoopExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19171:1: ( ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) ) + // InternalScope.g:19172:1: ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) + { + // InternalScope.g:19172:1: ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) + // InternalScope.g:19173:2: ( rule__XBasicForLoopExpression__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3()); + } + // InternalScope.g:19174:2: ( rule__XBasicForLoopExpression__Group_3__0 )? + int alt150=2; + int LA150_0 = input.LA(1); + + if ( ((LA150_0>=RULE_ID && LA150_0<=RULE_STRING)||(LA150_0>=22 && LA150_0<=24)||LA150_0==27||(LA150_0>=36 && LA150_0<=37)||(LA150_0>=59 && LA150_0<=64)||LA150_0==72||LA150_0==77||LA150_0==79||LA150_0==82||LA150_0==97||LA150_0==100||LA150_0==103||(LA150_0>=105 && LA150_0<=112)||LA150_0==114||LA150_0==122) ) { + alt150=1; + } + switch (alt150) { + case 1 : + // InternalScope.g:19174:3: rule__XBasicForLoopExpression__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__3__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__4" + // InternalScope.g:19182:1: rule__XBasicForLoopExpression__Group__4 : rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5 ; + public final void rule__XBasicForLoopExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19186:1: ( rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5 ) + // InternalScope.g:19187:2: rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5 + { + pushFollow(FOLLOW_117); + rule__XBasicForLoopExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__4" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__4__Impl" + // InternalScope.g:19194:1: rule__XBasicForLoopExpression__Group__4__Impl : ( ';' ) ; + public final void rule__XBasicForLoopExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19198:1: ( ( ';' ) ) + // InternalScope.g:19199:1: ( ';' ) + { + // InternalScope.g:19199:1: ( ';' ) + // InternalScope.g:19200:2: ';' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); + } + match(input,75,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__4__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__5" + // InternalScope.g:19209:1: rule__XBasicForLoopExpression__Group__5 : rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6 ; + public final void rule__XBasicForLoopExpression__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19213:1: ( rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6 ) + // InternalScope.g:19214:2: rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6 + { + pushFollow(FOLLOW_117); + rule__XBasicForLoopExpression__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__5" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__5__Impl" + // InternalScope.g:19221:1: rule__XBasicForLoopExpression__Group__5__Impl : ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) ; + public final void rule__XBasicForLoopExpression__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19225:1: ( ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) ) + // InternalScope.g:19226:1: ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) + { + // InternalScope.g:19226:1: ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) + // InternalScope.g:19227:2: ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5()); + } + // InternalScope.g:19228:2: ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? + int alt151=2; + int LA151_0 = input.LA(1); + + if ( ((LA151_0>=RULE_ID && LA151_0<=RULE_STRING)||(LA151_0>=22 && LA151_0<=24)||LA151_0==27||(LA151_0>=36 && LA151_0<=37)||(LA151_0>=60 && LA151_0<=64)||LA151_0==72||LA151_0==77||LA151_0==79||LA151_0==82||LA151_0==97||LA151_0==100||LA151_0==103||(LA151_0>=105 && LA151_0<=112)||LA151_0==114) ) { + alt151=1; + } + switch (alt151) { + case 1 : + // InternalScope.g:19228:3: rule__XBasicForLoopExpression__ExpressionAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__ExpressionAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__5__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__6" + // InternalScope.g:19236:1: rule__XBasicForLoopExpression__Group__6 : rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7 ; + public final void rule__XBasicForLoopExpression__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19240:1: ( rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7 ) + // InternalScope.g:19241:2: rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7 + { + pushFollow(FOLLOW_103); + rule__XBasicForLoopExpression__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__7(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__6" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__6__Impl" + // InternalScope.g:19248:1: rule__XBasicForLoopExpression__Group__6__Impl : ( ';' ) ; + public final void rule__XBasicForLoopExpression__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19252:1: ( ( ';' ) ) + // InternalScope.g:19253:1: ( ';' ) + { + // InternalScope.g:19253:1: ( ';' ) + // InternalScope.g:19254:2: ';' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); + } + match(input,75,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__6__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__7" + // InternalScope.g:19263:1: rule__XBasicForLoopExpression__Group__7 : rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8 ; + public final void rule__XBasicForLoopExpression__Group__7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19267:1: ( rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8 ) + // InternalScope.g:19268:2: rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8 + { + pushFollow(FOLLOW_103); + rule__XBasicForLoopExpression__Group__7__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__8(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__7" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__7__Impl" + // InternalScope.g:19275:1: rule__XBasicForLoopExpression__Group__7__Impl : ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) ; + public final void rule__XBasicForLoopExpression__Group__7__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19279:1: ( ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) ) + // InternalScope.g:19280:1: ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) + { + // InternalScope.g:19280:1: ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) + // InternalScope.g:19281:2: ( rule__XBasicForLoopExpression__Group_7__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7()); + } + // InternalScope.g:19282:2: ( rule__XBasicForLoopExpression__Group_7__0 )? + int alt152=2; + int LA152_0 = input.LA(1); + + if ( ((LA152_0>=RULE_ID && LA152_0<=RULE_STRING)||(LA152_0>=22 && LA152_0<=24)||LA152_0==27||(LA152_0>=36 && LA152_0<=37)||(LA152_0>=60 && LA152_0<=64)||LA152_0==72||LA152_0==77||LA152_0==79||LA152_0==82||LA152_0==97||LA152_0==100||LA152_0==103||(LA152_0>=105 && LA152_0<=112)||LA152_0==114) ) { + alt152=1; + } + switch (alt152) { + case 1 : + // InternalScope.g:19282:3: rule__XBasicForLoopExpression__Group_7__0 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_7__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__7__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__8" + // InternalScope.g:19290:1: rule__XBasicForLoopExpression__Group__8 : rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9 ; + public final void rule__XBasicForLoopExpression__Group__8() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19294:1: ( rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9 ) + // InternalScope.g:19295:2: rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9 + { + pushFollow(FOLLOW_104); + rule__XBasicForLoopExpression__Group__8__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__9(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__8" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__8__Impl" + // InternalScope.g:19302:1: rule__XBasicForLoopExpression__Group__8__Impl : ( ')' ) ; + public final void rule__XBasicForLoopExpression__Group__8__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19306:1: ( ( ')' ) ) + // InternalScope.g:19307:1: ( ')' ) + { + // InternalScope.g:19307:1: ( ')' ) + // InternalScope.g:19308:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__8__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__9" + // InternalScope.g:19317:1: rule__XBasicForLoopExpression__Group__9 : rule__XBasicForLoopExpression__Group__9__Impl ; + public final void rule__XBasicForLoopExpression__Group__9() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19321:1: ( rule__XBasicForLoopExpression__Group__9__Impl ) + // InternalScope.g:19322:2: rule__XBasicForLoopExpression__Group__9__Impl + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group__9__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__9" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group__9__Impl" + // InternalScope.g:19328:1: rule__XBasicForLoopExpression__Group__9__Impl : ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) ; + public final void rule__XBasicForLoopExpression__Group__9__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19332:1: ( ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) ) + // InternalScope.g:19333:1: ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) + { + // InternalScope.g:19333:1: ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) + // InternalScope.g:19334:2: ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9()); + } + // InternalScope.g:19335:2: ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) + // InternalScope.g:19335:3: rule__XBasicForLoopExpression__EachExpressionAssignment_9 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__EachExpressionAssignment_9(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group__9__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3__0" + // InternalScope.g:19344:1: rule__XBasicForLoopExpression__Group_3__0 : rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1 ; + public final void rule__XBasicForLoopExpression__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19348:1: ( rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1 ) + // InternalScope.g:19349:2: rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1 + { + pushFollow(FOLLOW_71); + rule__XBasicForLoopExpression__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3__0" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3__0__Impl" + // InternalScope.g:19356:1: rule__XBasicForLoopExpression__Group_3__0__Impl : ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) ; + public final void rule__XBasicForLoopExpression__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19360:1: ( ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) ) + // InternalScope.g:19361:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) + { + // InternalScope.g:19361:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) + // InternalScope.g:19362:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0()); + } + // InternalScope.g:19363:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) + // InternalScope.g:19363:3: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3__0__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3__1" + // InternalScope.g:19371:1: rule__XBasicForLoopExpression__Group_3__1 : rule__XBasicForLoopExpression__Group_3__1__Impl ; + public final void rule__XBasicForLoopExpression__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19375:1: ( rule__XBasicForLoopExpression__Group_3__1__Impl ) + // InternalScope.g:19376:2: rule__XBasicForLoopExpression__Group_3__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3__1" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3__1__Impl" + // InternalScope.g:19382:1: rule__XBasicForLoopExpression__Group_3__1__Impl : ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) ; + public final void rule__XBasicForLoopExpression__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19386:1: ( ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) ) + // InternalScope.g:19387:1: ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) + { + // InternalScope.g:19387:1: ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) + // InternalScope.g:19388:2: ( rule__XBasicForLoopExpression__Group_3_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1()); + } + // InternalScope.g:19389:2: ( rule__XBasicForLoopExpression__Group_3_1__0 )* + loop153: + do { + int alt153=2; + int LA153_0 = input.LA(1); + + if ( (LA153_0==86) ) { + alt153=1; + } + + + switch (alt153) { + case 1 : + // InternalScope.g:19389:3: rule__XBasicForLoopExpression__Group_3_1__0 + { + pushFollow(FOLLOW_39); + rule__XBasicForLoopExpression__Group_3_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop153; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3__1__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__0" + // InternalScope.g:19398:1: rule__XBasicForLoopExpression__Group_3_1__0 : rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1 ; + public final void rule__XBasicForLoopExpression__Group_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19402:1: ( rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1 ) + // InternalScope.g:19403:2: rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1 + { + pushFollow(FOLLOW_107); + rule__XBasicForLoopExpression__Group_3_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_3_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3_1__0" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__0__Impl" + // InternalScope.g:19410:1: rule__XBasicForLoopExpression__Group_3_1__0__Impl : ( ',' ) ; + public final void rule__XBasicForLoopExpression__Group_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19414:1: ( ( ',' ) ) + // InternalScope.g:19415:1: ( ',' ) + { + // InternalScope.g:19415:1: ( ',' ) + // InternalScope.g:19416:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3_1__0__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__1" + // InternalScope.g:19425:1: rule__XBasicForLoopExpression__Group_3_1__1 : rule__XBasicForLoopExpression__Group_3_1__1__Impl ; + public final void rule__XBasicForLoopExpression__Group_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19429:1: ( rule__XBasicForLoopExpression__Group_3_1__1__Impl ) + // InternalScope.g:19430:2: rule__XBasicForLoopExpression__Group_3_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_3_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3_1__1" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__1__Impl" + // InternalScope.g:19436:1: rule__XBasicForLoopExpression__Group_3_1__1__Impl : ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) ; + public final void rule__XBasicForLoopExpression__Group_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19440:1: ( ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) ) + // InternalScope.g:19441:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) + { + // InternalScope.g:19441:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) + // InternalScope.g:19442:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1()); + } + // InternalScope.g:19443:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) + // InternalScope.g:19443:3: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_3_1__1__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7__0" + // InternalScope.g:19452:1: rule__XBasicForLoopExpression__Group_7__0 : rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1 ; + public final void rule__XBasicForLoopExpression__Group_7__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19456:1: ( rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1 ) + // InternalScope.g:19457:2: rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1 + { + pushFollow(FOLLOW_71); + rule__XBasicForLoopExpression__Group_7__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_7__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7__0" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7__0__Impl" + // InternalScope.g:19464:1: rule__XBasicForLoopExpression__Group_7__0__Impl : ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) ; + public final void rule__XBasicForLoopExpression__Group_7__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19468:1: ( ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) ) + // InternalScope.g:19469:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) + { + // InternalScope.g:19469:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) + // InternalScope.g:19470:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0()); + } + // InternalScope.g:19471:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) + // InternalScope.g:19471:3: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7__0__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7__1" + // InternalScope.g:19479:1: rule__XBasicForLoopExpression__Group_7__1 : rule__XBasicForLoopExpression__Group_7__1__Impl ; + public final void rule__XBasicForLoopExpression__Group_7__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19483:1: ( rule__XBasicForLoopExpression__Group_7__1__Impl ) + // InternalScope.g:19484:2: rule__XBasicForLoopExpression__Group_7__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_7__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7__1" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7__1__Impl" + // InternalScope.g:19490:1: rule__XBasicForLoopExpression__Group_7__1__Impl : ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) ; + public final void rule__XBasicForLoopExpression__Group_7__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19494:1: ( ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) ) + // InternalScope.g:19495:1: ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) + { + // InternalScope.g:19495:1: ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) + // InternalScope.g:19496:2: ( rule__XBasicForLoopExpression__Group_7_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1()); + } + // InternalScope.g:19497:2: ( rule__XBasicForLoopExpression__Group_7_1__0 )* + loop154: + do { + int alt154=2; + int LA154_0 = input.LA(1); + + if ( (LA154_0==86) ) { + alt154=1; + } + + + switch (alt154) { + case 1 : + // InternalScope.g:19497:3: rule__XBasicForLoopExpression__Group_7_1__0 + { + pushFollow(FOLLOW_39); + rule__XBasicForLoopExpression__Group_7_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop154; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7__1__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__0" + // InternalScope.g:19506:1: rule__XBasicForLoopExpression__Group_7_1__0 : rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1 ; + public final void rule__XBasicForLoopExpression__Group_7_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19510:1: ( rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1 ) + // InternalScope.g:19511:2: rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1 + { + pushFollow(FOLLOW_104); + rule__XBasicForLoopExpression__Group_7_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_7_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7_1__0" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__0__Impl" + // InternalScope.g:19518:1: rule__XBasicForLoopExpression__Group_7_1__0__Impl : ( ',' ) ; + public final void rule__XBasicForLoopExpression__Group_7_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19522:1: ( ( ',' ) ) + // InternalScope.g:19523:1: ( ',' ) + { + // InternalScope.g:19523:1: ( ',' ) + // InternalScope.g:19524:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7_1__0__Impl" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__1" + // InternalScope.g:19533:1: rule__XBasicForLoopExpression__Group_7_1__1 : rule__XBasicForLoopExpression__Group_7_1__1__Impl ; + public final void rule__XBasicForLoopExpression__Group_7_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19537:1: ( rule__XBasicForLoopExpression__Group_7_1__1__Impl ) + // InternalScope.g:19538:2: rule__XBasicForLoopExpression__Group_7_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__Group_7_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7_1__1" + + + // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__1__Impl" + // InternalScope.g:19544:1: rule__XBasicForLoopExpression__Group_7_1__1__Impl : ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) ; + public final void rule__XBasicForLoopExpression__Group_7_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19548:1: ( ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) ) + // InternalScope.g:19549:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) + { + // InternalScope.g:19549:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) + // InternalScope.g:19550:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1()); + } + // InternalScope.g:19551:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) + // InternalScope.g:19551:3: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 + { + pushFollow(FOLLOW_2); + rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__Group_7_1__1__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__0" + // InternalScope.g:19560:1: rule__XWhileExpression__Group__0 : rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1 ; + public final void rule__XWhileExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19564:1: ( rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1 ) + // InternalScope.g:19565:2: rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1 + { + pushFollow(FOLLOW_118); + rule__XWhileExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__0" + + + // $ANTLR start "rule__XWhileExpression__Group__0__Impl" + // InternalScope.g:19572:1: rule__XWhileExpression__Group__0__Impl : ( () ) ; + public final void rule__XWhileExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19576:1: ( ( () ) ) + // InternalScope.g:19577:1: ( () ) + { + // InternalScope.g:19577:1: ( () ) + // InternalScope.g:19578:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0()); + } + // InternalScope.g:19579:2: () + // InternalScope.g:19579:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__0__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__1" + // InternalScope.g:19587:1: rule__XWhileExpression__Group__1 : rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2 ; + public final void rule__XWhileExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19591:1: ( rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2 ) + // InternalScope.g:19592:2: rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2 + { + pushFollow(FOLLOW_31); + rule__XWhileExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__1" + + + // $ANTLR start "rule__XWhileExpression__Group__1__Impl" + // InternalScope.g:19599:1: rule__XWhileExpression__Group__1__Impl : ( 'while' ) ; + public final void rule__XWhileExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19603:1: ( ( 'while' ) ) + // InternalScope.g:19604:1: ( 'while' ) + { + // InternalScope.g:19604:1: ( 'while' ) + // InternalScope.g:19605:2: 'while' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); + } + match(input,106,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__1__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__2" + // InternalScope.g:19614:1: rule__XWhileExpression__Group__2 : rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3 ; + public final void rule__XWhileExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19618:1: ( rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3 ) + // InternalScope.g:19619:2: rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3 + { + pushFollow(FOLLOW_104); + rule__XWhileExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__2" + + + // $ANTLR start "rule__XWhileExpression__Group__2__Impl" + // InternalScope.g:19626:1: rule__XWhileExpression__Group__2__Impl : ( '(' ) ; + public final void rule__XWhileExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19630:1: ( ( '(' ) ) + // InternalScope.g:19631:1: ( '(' ) + { + // InternalScope.g:19631:1: ( '(' ) + // InternalScope.g:19632:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__2__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__3" + // InternalScope.g:19641:1: rule__XWhileExpression__Group__3 : rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4 ; + public final void rule__XWhileExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19645:1: ( rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4 ) + // InternalScope.g:19646:2: rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4 + { + pushFollow(FOLLOW_23); + rule__XWhileExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__3" + + + // $ANTLR start "rule__XWhileExpression__Group__3__Impl" + // InternalScope.g:19653:1: rule__XWhileExpression__Group__3__Impl : ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) ; + public final void rule__XWhileExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19657:1: ( ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) ) + // InternalScope.g:19658:1: ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) + { + // InternalScope.g:19658:1: ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) + // InternalScope.g:19659:2: ( rule__XWhileExpression__PredicateAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3()); + } + // InternalScope.g:19660:2: ( rule__XWhileExpression__PredicateAssignment_3 ) + // InternalScope.g:19660:3: rule__XWhileExpression__PredicateAssignment_3 + { + pushFollow(FOLLOW_2); + rule__XWhileExpression__PredicateAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__3__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__4" + // InternalScope.g:19668:1: rule__XWhileExpression__Group__4 : rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5 ; + public final void rule__XWhileExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19672:1: ( rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5 ) + // InternalScope.g:19673:2: rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5 + { + pushFollow(FOLLOW_104); + rule__XWhileExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__4" + + + // $ANTLR start "rule__XWhileExpression__Group__4__Impl" + // InternalScope.g:19680:1: rule__XWhileExpression__Group__4__Impl : ( ')' ) ; + public final void rule__XWhileExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19684:1: ( ( ')' ) ) + // InternalScope.g:19685:1: ( ')' ) + { + // InternalScope.g:19685:1: ( ')' ) + // InternalScope.g:19686:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__4__Impl" + + + // $ANTLR start "rule__XWhileExpression__Group__5" + // InternalScope.g:19695:1: rule__XWhileExpression__Group__5 : rule__XWhileExpression__Group__5__Impl ; + public final void rule__XWhileExpression__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19699:1: ( rule__XWhileExpression__Group__5__Impl ) + // InternalScope.g:19700:2: rule__XWhileExpression__Group__5__Impl + { + pushFollow(FOLLOW_2); + rule__XWhileExpression__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__5" + + + // $ANTLR start "rule__XWhileExpression__Group__5__Impl" + // InternalScope.g:19706:1: rule__XWhileExpression__Group__5__Impl : ( ( rule__XWhileExpression__BodyAssignment_5 ) ) ; + public final void rule__XWhileExpression__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19710:1: ( ( ( rule__XWhileExpression__BodyAssignment_5 ) ) ) + // InternalScope.g:19711:1: ( ( rule__XWhileExpression__BodyAssignment_5 ) ) + { + // InternalScope.g:19711:1: ( ( rule__XWhileExpression__BodyAssignment_5 ) ) + // InternalScope.g:19712:2: ( rule__XWhileExpression__BodyAssignment_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5()); + } + // InternalScope.g:19713:2: ( rule__XWhileExpression__BodyAssignment_5 ) + // InternalScope.g:19713:3: rule__XWhileExpression__BodyAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XWhileExpression__BodyAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__Group__5__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__0" + // InternalScope.g:19722:1: rule__XDoWhileExpression__Group__0 : rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1 ; + public final void rule__XDoWhileExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19726:1: ( rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1 ) + // InternalScope.g:19727:2: rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1 + { + pushFollow(FOLLOW_119); + rule__XDoWhileExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__0" + + + // $ANTLR start "rule__XDoWhileExpression__Group__0__Impl" + // InternalScope.g:19734:1: rule__XDoWhileExpression__Group__0__Impl : ( () ) ; + public final void rule__XDoWhileExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19738:1: ( ( () ) ) + // InternalScope.g:19739:1: ( () ) + { + // InternalScope.g:19739:1: ( () ) + // InternalScope.g:19740:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0()); + } + // InternalScope.g:19741:2: () + // InternalScope.g:19741:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__0__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__1" + // InternalScope.g:19749:1: rule__XDoWhileExpression__Group__1 : rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2 ; + public final void rule__XDoWhileExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19753:1: ( rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2 ) + // InternalScope.g:19754:2: rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2 + { + pushFollow(FOLLOW_104); + rule__XDoWhileExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__1" + + + // $ANTLR start "rule__XDoWhileExpression__Group__1__Impl" + // InternalScope.g:19761:1: rule__XDoWhileExpression__Group__1__Impl : ( 'do' ) ; + public final void rule__XDoWhileExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19765:1: ( ( 'do' ) ) + // InternalScope.g:19766:1: ( 'do' ) + { + // InternalScope.g:19766:1: ( 'do' ) + // InternalScope.g:19767:2: 'do' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); + } + match(input,107,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__1__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__2" + // InternalScope.g:19776:1: rule__XDoWhileExpression__Group__2 : rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3 ; + public final void rule__XDoWhileExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19780:1: ( rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3 ) + // InternalScope.g:19781:2: rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3 + { + pushFollow(FOLLOW_118); + rule__XDoWhileExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__2" + + + // $ANTLR start "rule__XDoWhileExpression__Group__2__Impl" + // InternalScope.g:19788:1: rule__XDoWhileExpression__Group__2__Impl : ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) ; + public final void rule__XDoWhileExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19792:1: ( ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) ) + // InternalScope.g:19793:1: ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) + { + // InternalScope.g:19793:1: ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) + // InternalScope.g:19794:2: ( rule__XDoWhileExpression__BodyAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2()); + } + // InternalScope.g:19795:2: ( rule__XDoWhileExpression__BodyAssignment_2 ) + // InternalScope.g:19795:3: rule__XDoWhileExpression__BodyAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__BodyAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__2__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__3" + // InternalScope.g:19803:1: rule__XDoWhileExpression__Group__3 : rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4 ; + public final void rule__XDoWhileExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19807:1: ( rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4 ) + // InternalScope.g:19808:2: rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4 + { + pushFollow(FOLLOW_31); + rule__XDoWhileExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__3" + + + // $ANTLR start "rule__XDoWhileExpression__Group__3__Impl" + // InternalScope.g:19815:1: rule__XDoWhileExpression__Group__3__Impl : ( 'while' ) ; + public final void rule__XDoWhileExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19819:1: ( ( 'while' ) ) + // InternalScope.g:19820:1: ( 'while' ) + { + // InternalScope.g:19820:1: ( 'while' ) + // InternalScope.g:19821:2: 'while' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); + } + match(input,106,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__3__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__4" + // InternalScope.g:19830:1: rule__XDoWhileExpression__Group__4 : rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5 ; + public final void rule__XDoWhileExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19834:1: ( rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5 ) + // InternalScope.g:19835:2: rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5 + { + pushFollow(FOLLOW_104); + rule__XDoWhileExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__4" + + + // $ANTLR start "rule__XDoWhileExpression__Group__4__Impl" + // InternalScope.g:19842:1: rule__XDoWhileExpression__Group__4__Impl : ( '(' ) ; + public final void rule__XDoWhileExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19846:1: ( ( '(' ) ) + // InternalScope.g:19847:1: ( '(' ) + { + // InternalScope.g:19847:1: ( '(' ) + // InternalScope.g:19848:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__4__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__5" + // InternalScope.g:19857:1: rule__XDoWhileExpression__Group__5 : rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6 ; + public final void rule__XDoWhileExpression__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19861:1: ( rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6 ) + // InternalScope.g:19862:2: rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6 + { + pushFollow(FOLLOW_23); + rule__XDoWhileExpression__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__5" + + + // $ANTLR start "rule__XDoWhileExpression__Group__5__Impl" + // InternalScope.g:19869:1: rule__XDoWhileExpression__Group__5__Impl : ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) ; + public final void rule__XDoWhileExpression__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19873:1: ( ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) ) + // InternalScope.g:19874:1: ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) + { + // InternalScope.g:19874:1: ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) + // InternalScope.g:19875:2: ( rule__XDoWhileExpression__PredicateAssignment_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5()); + } + // InternalScope.g:19876:2: ( rule__XDoWhileExpression__PredicateAssignment_5 ) + // InternalScope.g:19876:3: rule__XDoWhileExpression__PredicateAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__PredicateAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__5__Impl" + + + // $ANTLR start "rule__XDoWhileExpression__Group__6" + // InternalScope.g:19884:1: rule__XDoWhileExpression__Group__6 : rule__XDoWhileExpression__Group__6__Impl ; + public final void rule__XDoWhileExpression__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19888:1: ( rule__XDoWhileExpression__Group__6__Impl ) + // InternalScope.g:19889:2: rule__XDoWhileExpression__Group__6__Impl + { + pushFollow(FOLLOW_2); + rule__XDoWhileExpression__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__6" + + + // $ANTLR start "rule__XDoWhileExpression__Group__6__Impl" + // InternalScope.g:19895:1: rule__XDoWhileExpression__Group__6__Impl : ( ')' ) ; + public final void rule__XDoWhileExpression__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19899:1: ( ( ')' ) ) + // InternalScope.g:19900:1: ( ')' ) + { + // InternalScope.g:19900:1: ( ')' ) + // InternalScope.g:19901:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__Group__6__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group__0" + // InternalScope.g:19911:1: rule__XBlockExpression__Group__0 : rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1 ; + public final void rule__XBlockExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19915:1: ( rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1 ) + // InternalScope.g:19916:2: rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1 + { + pushFollow(FOLLOW_13); + rule__XBlockExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__0" + + + // $ANTLR start "rule__XBlockExpression__Group__0__Impl" + // InternalScope.g:19923:1: rule__XBlockExpression__Group__0__Impl : ( () ) ; + public final void rule__XBlockExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19927:1: ( ( () ) ) + // InternalScope.g:19928:1: ( () ) + { + // InternalScope.g:19928:1: ( () ) + // InternalScope.g:19929:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0()); + } + // InternalScope.g:19930:2: () + // InternalScope.g:19930:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__0__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group__1" + // InternalScope.g:19938:1: rule__XBlockExpression__Group__1 : rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2 ; + public final void rule__XBlockExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19942:1: ( rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2 ) + // InternalScope.g:19943:2: rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2 + { + pushFollow(FOLLOW_120); + rule__XBlockExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__1" + + + // $ANTLR start "rule__XBlockExpression__Group__1__Impl" + // InternalScope.g:19950:1: rule__XBlockExpression__Group__1__Impl : ( '{' ) ; + public final void rule__XBlockExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19954:1: ( ( '{' ) ) + // InternalScope.g:19955:1: ( '{' ) + { + // InternalScope.g:19955:1: ( '{' ) + // InternalScope.g:19956:2: '{' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); + } + match(input,72,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__1__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group__2" + // InternalScope.g:19965:1: rule__XBlockExpression__Group__2 : rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3 ; + public final void rule__XBlockExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19969:1: ( rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3 ) + // InternalScope.g:19970:2: rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3 + { + pushFollow(FOLLOW_120); + rule__XBlockExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__2" + + + // $ANTLR start "rule__XBlockExpression__Group__2__Impl" + // InternalScope.g:19977:1: rule__XBlockExpression__Group__2__Impl : ( ( rule__XBlockExpression__Group_2__0 )* ) ; + public final void rule__XBlockExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19981:1: ( ( ( rule__XBlockExpression__Group_2__0 )* ) ) + // InternalScope.g:19982:1: ( ( rule__XBlockExpression__Group_2__0 )* ) + { + // InternalScope.g:19982:1: ( ( rule__XBlockExpression__Group_2__0 )* ) + // InternalScope.g:19983:2: ( rule__XBlockExpression__Group_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getGroup_2()); + } + // InternalScope.g:19984:2: ( rule__XBlockExpression__Group_2__0 )* + loop155: + do { + int alt155=2; + int LA155_0 = input.LA(1); + + if ( ((LA155_0>=RULE_ID && LA155_0<=RULE_STRING)||(LA155_0>=22 && LA155_0<=24)||LA155_0==27||(LA155_0>=36 && LA155_0<=37)||(LA155_0>=59 && LA155_0<=64)||LA155_0==72||LA155_0==77||LA155_0==79||LA155_0==82||LA155_0==97||LA155_0==100||LA155_0==103||(LA155_0>=105 && LA155_0<=112)||LA155_0==114||LA155_0==122) ) { + alt155=1; + } + + + switch (alt155) { + case 1 : + // InternalScope.g:19984:3: rule__XBlockExpression__Group_2__0 + { + pushFollow(FOLLOW_109); + rule__XBlockExpression__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop155; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__2__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group__3" + // InternalScope.g:19992:1: rule__XBlockExpression__Group__3 : rule__XBlockExpression__Group__3__Impl ; + public final void rule__XBlockExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:19996:1: ( rule__XBlockExpression__Group__3__Impl ) + // InternalScope.g:19997:2: rule__XBlockExpression__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__3" + + + // $ANTLR start "rule__XBlockExpression__Group__3__Impl" + // InternalScope.g:20003:1: rule__XBlockExpression__Group__3__Impl : ( '}' ) ; + public final void rule__XBlockExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20007:1: ( ( '}' ) ) + // InternalScope.g:20008:1: ( '}' ) + { + // InternalScope.g:20008:1: ( '}' ) + // InternalScope.g:20009:2: '}' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); + } + match(input,73,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group__3__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group_2__0" + // InternalScope.g:20019:1: rule__XBlockExpression__Group_2__0 : rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1 ; + public final void rule__XBlockExpression__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20023:1: ( rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1 ) + // InternalScope.g:20024:2: rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1 + { + pushFollow(FOLLOW_18); + rule__XBlockExpression__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group_2__0" + + + // $ANTLR start "rule__XBlockExpression__Group_2__0__Impl" + // InternalScope.g:20031:1: rule__XBlockExpression__Group_2__0__Impl : ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) ; + public final void rule__XBlockExpression__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20035:1: ( ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) ) + // InternalScope.g:20036:1: ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) + { + // InternalScope.g:20036:1: ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) + // InternalScope.g:20037:2: ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0()); + } + // InternalScope.g:20038:2: ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) + // InternalScope.g:20038:3: rule__XBlockExpression__ExpressionsAssignment_2_0 + { + pushFollow(FOLLOW_2); + rule__XBlockExpression__ExpressionsAssignment_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group_2__0__Impl" + + + // $ANTLR start "rule__XBlockExpression__Group_2__1" + // InternalScope.g:20046:1: rule__XBlockExpression__Group_2__1 : rule__XBlockExpression__Group_2__1__Impl ; + public final void rule__XBlockExpression__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20050:1: ( rule__XBlockExpression__Group_2__1__Impl ) + // InternalScope.g:20051:2: rule__XBlockExpression__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBlockExpression__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group_2__1" + + + // $ANTLR start "rule__XBlockExpression__Group_2__1__Impl" + // InternalScope.g:20057:1: rule__XBlockExpression__Group_2__1__Impl : ( ( ';' )? ) ; + public final void rule__XBlockExpression__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20061:1: ( ( ( ';' )? ) ) + // InternalScope.g:20062:1: ( ( ';' )? ) + { + // InternalScope.g:20062:1: ( ( ';' )? ) + // InternalScope.g:20063:2: ( ';' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); + } + // InternalScope.g:20064:2: ( ';' )? + int alt156=2; + int LA156_0 = input.LA(1); + + if ( (LA156_0==75) ) { + alt156=1; + } + switch (alt156) { + case 1 : + // InternalScope.g:20064:3: ';' + { + match(input,75,FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__Group_2__1__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group__0" + // InternalScope.g:20073:1: rule__XVariableDeclaration__Group__0 : rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1 ; + public final void rule__XVariableDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20077:1: ( rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1 ) + // InternalScope.g:20078:2: rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1 + { + pushFollow(FOLLOW_121); + rule__XVariableDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__0" + + + // $ANTLR start "rule__XVariableDeclaration__Group__0__Impl" + // InternalScope.g:20085:1: rule__XVariableDeclaration__Group__0__Impl : ( () ) ; + public final void rule__XVariableDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20089:1: ( ( () ) ) + // InternalScope.g:20090:1: ( () ) + { + // InternalScope.g:20090:1: ( () ) + // InternalScope.g:20091:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0()); + } + // InternalScope.g:20092:2: () + // InternalScope.g:20092:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group__1" + // InternalScope.g:20100:1: rule__XVariableDeclaration__Group__1 : rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2 ; + public final void rule__XVariableDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20104:1: ( rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2 ) + // InternalScope.g:20105:2: rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2 + { + pushFollow(FOLLOW_84); + rule__XVariableDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__1" + + + // $ANTLR start "rule__XVariableDeclaration__Group__1__Impl" + // InternalScope.g:20112:1: rule__XVariableDeclaration__Group__1__Impl : ( ( rule__XVariableDeclaration__Alternatives_1 ) ) ; + public final void rule__XVariableDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20116:1: ( ( ( rule__XVariableDeclaration__Alternatives_1 ) ) ) + // InternalScope.g:20117:1: ( ( rule__XVariableDeclaration__Alternatives_1 ) ) + { + // InternalScope.g:20117:1: ( ( rule__XVariableDeclaration__Alternatives_1 ) ) + // InternalScope.g:20118:2: ( rule__XVariableDeclaration__Alternatives_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1()); + } + // InternalScope.g:20119:2: ( rule__XVariableDeclaration__Alternatives_1 ) + // InternalScope.g:20119:3: rule__XVariableDeclaration__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group__2" + // InternalScope.g:20127:1: rule__XVariableDeclaration__Group__2 : rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3 ; + public final void rule__XVariableDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20131:1: ( rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3 ) + // InternalScope.g:20132:2: rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3 + { + pushFollow(FOLLOW_16); + rule__XVariableDeclaration__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__2" + + + // $ANTLR start "rule__XVariableDeclaration__Group__2__Impl" + // InternalScope.g:20139:1: rule__XVariableDeclaration__Group__2__Impl : ( ( rule__XVariableDeclaration__Alternatives_2 ) ) ; + public final void rule__XVariableDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20143:1: ( ( ( rule__XVariableDeclaration__Alternatives_2 ) ) ) + // InternalScope.g:20144:1: ( ( rule__XVariableDeclaration__Alternatives_2 ) ) + { + // InternalScope.g:20144:1: ( ( rule__XVariableDeclaration__Alternatives_2 ) ) + // InternalScope.g:20145:2: ( rule__XVariableDeclaration__Alternatives_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2()); + } + // InternalScope.g:20146:2: ( rule__XVariableDeclaration__Alternatives_2 ) + // InternalScope.g:20146:3: rule__XVariableDeclaration__Alternatives_2 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Alternatives_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group__3" + // InternalScope.g:20154:1: rule__XVariableDeclaration__Group__3 : rule__XVariableDeclaration__Group__3__Impl ; + public final void rule__XVariableDeclaration__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20158:1: ( rule__XVariableDeclaration__Group__3__Impl ) + // InternalScope.g:20159:2: rule__XVariableDeclaration__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__3" + + + // $ANTLR start "rule__XVariableDeclaration__Group__3__Impl" + // InternalScope.g:20165:1: rule__XVariableDeclaration__Group__3__Impl : ( ( rule__XVariableDeclaration__Group_3__0 )? ) ; + public final void rule__XVariableDeclaration__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20169:1: ( ( ( rule__XVariableDeclaration__Group_3__0 )? ) ) + // InternalScope.g:20170:1: ( ( rule__XVariableDeclaration__Group_3__0 )? ) + { + // InternalScope.g:20170:1: ( ( rule__XVariableDeclaration__Group_3__0 )? ) + // InternalScope.g:20171:2: ( rule__XVariableDeclaration__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getGroup_3()); + } + // InternalScope.g:20172:2: ( rule__XVariableDeclaration__Group_3__0 )? + int alt157=2; + int LA157_0 = input.LA(1); + + if ( (LA157_0==14) ) { + alt157=1; + } + switch (alt157) { + case 1 : + // InternalScope.g:20172:3: rule__XVariableDeclaration__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group__3__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0__0" + // InternalScope.g:20181:1: rule__XVariableDeclaration__Group_2_0__0 : rule__XVariableDeclaration__Group_2_0__0__Impl ; + public final void rule__XVariableDeclaration__Group_2_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20185:1: ( rule__XVariableDeclaration__Group_2_0__0__Impl ) + // InternalScope.g:20186:2: rule__XVariableDeclaration__Group_2_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0__0" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0__0__Impl" + // InternalScope.g:20192:1: rule__XVariableDeclaration__Group_2_0__0__Impl : ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) ; + public final void rule__XVariableDeclaration__Group_2_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20196:1: ( ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) ) + // InternalScope.g:20197:1: ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) + { + // InternalScope.g:20197:1: ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) + // InternalScope.g:20198:2: ( rule__XVariableDeclaration__Group_2_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0()); + } + // InternalScope.g:20199:2: ( rule__XVariableDeclaration__Group_2_0_0__0 ) + // InternalScope.g:20199:3: rule__XVariableDeclaration__Group_2_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0__0__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__0" + // InternalScope.g:20208:1: rule__XVariableDeclaration__Group_2_0_0__0 : rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1 ; + public final void rule__XVariableDeclaration__Group_2_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20212:1: ( rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1 ) + // InternalScope.g:20213:2: rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1 + { + pushFollow(FOLLOW_4); + rule__XVariableDeclaration__Group_2_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0_0__0" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__0__Impl" + // InternalScope.g:20220:1: rule__XVariableDeclaration__Group_2_0_0__0__Impl : ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) ; + public final void rule__XVariableDeclaration__Group_2_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20224:1: ( ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) ) + // InternalScope.g:20225:1: ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) + { + // InternalScope.g:20225:1: ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) + // InternalScope.g:20226:2: ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0()); + } + // InternalScope.g:20227:2: ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) + // InternalScope.g:20227:3: rule__XVariableDeclaration__TypeAssignment_2_0_0_0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__TypeAssignment_2_0_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0_0__0__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__1" + // InternalScope.g:20235:1: rule__XVariableDeclaration__Group_2_0_0__1 : rule__XVariableDeclaration__Group_2_0_0__1__Impl ; + public final void rule__XVariableDeclaration__Group_2_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20239:1: ( rule__XVariableDeclaration__Group_2_0_0__1__Impl ) + // InternalScope.g:20240:2: rule__XVariableDeclaration__Group_2_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0_0__1" + + + // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__1__Impl" + // InternalScope.g:20246:1: rule__XVariableDeclaration__Group_2_0_0__1__Impl : ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) ; + public final void rule__XVariableDeclaration__Group_2_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20250:1: ( ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) ) + // InternalScope.g:20251:1: ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) + { + // InternalScope.g:20251:1: ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) + // InternalScope.g:20252:2: ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1()); + } + // InternalScope.g:20253:2: ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) + // InternalScope.g:20253:3: rule__XVariableDeclaration__NameAssignment_2_0_0_1 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__NameAssignment_2_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_2_0_0__1__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group_3__0" + // InternalScope.g:20262:1: rule__XVariableDeclaration__Group_3__0 : rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1 ; + public final void rule__XVariableDeclaration__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20266:1: ( rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1 ) + // InternalScope.g:20267:2: rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1 + { + pushFollow(FOLLOW_104); + rule__XVariableDeclaration__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_3__0" + + + // $ANTLR start "rule__XVariableDeclaration__Group_3__0__Impl" + // InternalScope.g:20274:1: rule__XVariableDeclaration__Group_3__0__Impl : ( '=' ) ; + public final void rule__XVariableDeclaration__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20278:1: ( ( '=' ) ) + // InternalScope.g:20279:1: ( '=' ) + { + // InternalScope.g:20279:1: ( '=' ) + // InternalScope.g:20280:2: '=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); + } + match(input,14,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_3__0__Impl" + + + // $ANTLR start "rule__XVariableDeclaration__Group_3__1" + // InternalScope.g:20289:1: rule__XVariableDeclaration__Group_3__1 : rule__XVariableDeclaration__Group_3__1__Impl ; + public final void rule__XVariableDeclaration__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20293:1: ( rule__XVariableDeclaration__Group_3__1__Impl ) + // InternalScope.g:20294:2: rule__XVariableDeclaration__Group_3__1__Impl + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_3__1" + + + // $ANTLR start "rule__XVariableDeclaration__Group_3__1__Impl" + // InternalScope.g:20300:1: rule__XVariableDeclaration__Group_3__1__Impl : ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) ; + public final void rule__XVariableDeclaration__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20304:1: ( ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) ) + // InternalScope.g:20305:1: ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) + { + // InternalScope.g:20305:1: ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) + // InternalScope.g:20306:2: ( rule__XVariableDeclaration__RightAssignment_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1()); + } + // InternalScope.g:20307:2: ( rule__XVariableDeclaration__RightAssignment_3_1 ) + // InternalScope.g:20307:3: rule__XVariableDeclaration__RightAssignment_3_1 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__RightAssignment_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__Group_3__1__Impl" + + + // $ANTLR start "rule__JvmFormalParameter__Group__0" + // InternalScope.g:20316:1: rule__JvmFormalParameter__Group__0 : rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1 ; + public final void rule__JvmFormalParameter__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20320:1: ( rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1 ) + // InternalScope.g:20321:2: rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1 + { + pushFollow(FOLLOW_84); + rule__JvmFormalParameter__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmFormalParameter__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__Group__0" + + + // $ANTLR start "rule__JvmFormalParameter__Group__0__Impl" + // InternalScope.g:20328:1: rule__JvmFormalParameter__Group__0__Impl : ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) ; + public final void rule__JvmFormalParameter__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20332:1: ( ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) ) + // InternalScope.g:20333:1: ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) + { + // InternalScope.g:20333:1: ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) + // InternalScope.g:20334:2: ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0()); + } + // InternalScope.g:20335:2: ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? + int alt158=2; + int LA158_0 = input.LA(1); + + if ( (LA158_0==RULE_ID) ) { + int LA158_1 = input.LA(2); + + if ( (LA158_1==RULE_ID||LA158_1==22||LA158_1==58||LA158_1==82) ) { + alt158=1; + } + } + else if ( (LA158_0==51||LA158_0==77) ) { + alt158=1; + } + switch (alt158) { + case 1 : + // InternalScope.g:20335:3: rule__JvmFormalParameter__ParameterTypeAssignment_0 + { + pushFollow(FOLLOW_2); + rule__JvmFormalParameter__ParameterTypeAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__Group__0__Impl" + + + // $ANTLR start "rule__JvmFormalParameter__Group__1" + // InternalScope.g:20343:1: rule__JvmFormalParameter__Group__1 : rule__JvmFormalParameter__Group__1__Impl ; + public final void rule__JvmFormalParameter__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20347:1: ( rule__JvmFormalParameter__Group__1__Impl ) + // InternalScope.g:20348:2: rule__JvmFormalParameter__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmFormalParameter__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__Group__1" + + + // $ANTLR start "rule__JvmFormalParameter__Group__1__Impl" + // InternalScope.g:20354:1: rule__JvmFormalParameter__Group__1__Impl : ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) ; + public final void rule__JvmFormalParameter__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20358:1: ( ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) ) + // InternalScope.g:20359:1: ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) + { + // InternalScope.g:20359:1: ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) + // InternalScope.g:20360:2: ( rule__JvmFormalParameter__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1()); + } + // InternalScope.g:20361:2: ( rule__JvmFormalParameter__NameAssignment_1 ) + // InternalScope.g:20361:3: rule__JvmFormalParameter__NameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__JvmFormalParameter__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__Group__1__Impl" + + + // $ANTLR start "rule__FullJvmFormalParameter__Group__0" + // InternalScope.g:20370:1: rule__FullJvmFormalParameter__Group__0 : rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1 ; + public final void rule__FullJvmFormalParameter__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20374:1: ( rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1 ) + // InternalScope.g:20375:2: rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1 + { + pushFollow(FOLLOW_4); + rule__FullJvmFormalParameter__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__FullJvmFormalParameter__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__Group__0" + + + // $ANTLR start "rule__FullJvmFormalParameter__Group__0__Impl" + // InternalScope.g:20382:1: rule__FullJvmFormalParameter__Group__0__Impl : ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) ; + public final void rule__FullJvmFormalParameter__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20386:1: ( ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) ) + // InternalScope.g:20387:1: ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) + { + // InternalScope.g:20387:1: ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) + // InternalScope.g:20388:2: ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0()); + } + // InternalScope.g:20389:2: ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) + // InternalScope.g:20389:3: rule__FullJvmFormalParameter__ParameterTypeAssignment_0 + { + pushFollow(FOLLOW_2); + rule__FullJvmFormalParameter__ParameterTypeAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__Group__0__Impl" + + + // $ANTLR start "rule__FullJvmFormalParameter__Group__1" + // InternalScope.g:20397:1: rule__FullJvmFormalParameter__Group__1 : rule__FullJvmFormalParameter__Group__1__Impl ; + public final void rule__FullJvmFormalParameter__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20401:1: ( rule__FullJvmFormalParameter__Group__1__Impl ) + // InternalScope.g:20402:2: rule__FullJvmFormalParameter__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__FullJvmFormalParameter__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__Group__1" + + + // $ANTLR start "rule__FullJvmFormalParameter__Group__1__Impl" + // InternalScope.g:20408:1: rule__FullJvmFormalParameter__Group__1__Impl : ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) ; + public final void rule__FullJvmFormalParameter__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20412:1: ( ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) ) + // InternalScope.g:20413:1: ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) + { + // InternalScope.g:20413:1: ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) + // InternalScope.g:20414:2: ( rule__FullJvmFormalParameter__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1()); + } + // InternalScope.g:20415:2: ( rule__FullJvmFormalParameter__NameAssignment_1 ) + // InternalScope.g:20415:3: rule__FullJvmFormalParameter__NameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__FullJvmFormalParameter__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__Group__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group__0" + // InternalScope.g:20424:1: rule__XFeatureCall__Group__0 : rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1 ; + public final void rule__XFeatureCall__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20428:1: ( rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1 ) + // InternalScope.g:20429:2: rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1 + { + pushFollow(FOLLOW_99); + rule__XFeatureCall__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__0" + + + // $ANTLR start "rule__XFeatureCall__Group__0__Impl" + // InternalScope.g:20436:1: rule__XFeatureCall__Group__0__Impl : ( () ) ; + public final void rule__XFeatureCall__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20440:1: ( ( () ) ) + // InternalScope.g:20441:1: ( () ) + { + // InternalScope.g:20441:1: ( () ) + // InternalScope.g:20442:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0()); + } + // InternalScope.g:20443:2: () + // InternalScope.g:20443:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group__1" + // InternalScope.g:20451:1: rule__XFeatureCall__Group__1 : rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2 ; + public final void rule__XFeatureCall__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20455:1: ( rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2 ) + // InternalScope.g:20456:2: rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2 + { + pushFollow(FOLLOW_99); + rule__XFeatureCall__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__1" + + + // $ANTLR start "rule__XFeatureCall__Group__1__Impl" + // InternalScope.g:20463:1: rule__XFeatureCall__Group__1__Impl : ( ( rule__XFeatureCall__Group_1__0 )? ) ; + public final void rule__XFeatureCall__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20467:1: ( ( ( rule__XFeatureCall__Group_1__0 )? ) ) + // InternalScope.g:20468:1: ( ( rule__XFeatureCall__Group_1__0 )? ) + { + // InternalScope.g:20468:1: ( ( rule__XFeatureCall__Group_1__0 )? ) + // InternalScope.g:20469:2: ( rule__XFeatureCall__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGroup_1()); + } + // InternalScope.g:20470:2: ( rule__XFeatureCall__Group_1__0 )? + int alt159=2; + int LA159_0 = input.LA(1); + + if ( (LA159_0==22) ) { + alt159=1; + } + switch (alt159) { + case 1 : + // InternalScope.g:20470:3: rule__XFeatureCall__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group__2" + // InternalScope.g:20478:1: rule__XFeatureCall__Group__2 : rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3 ; + public final void rule__XFeatureCall__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20482:1: ( rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3 ) + // InternalScope.g:20483:2: rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3 + { + pushFollow(FOLLOW_100); + rule__XFeatureCall__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__2" + + + // $ANTLR start "rule__XFeatureCall__Group__2__Impl" + // InternalScope.g:20490:1: rule__XFeatureCall__Group__2__Impl : ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) ; + public final void rule__XFeatureCall__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20494:1: ( ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) ) + // InternalScope.g:20495:1: ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) + { + // InternalScope.g:20495:1: ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) + // InternalScope.g:20496:2: ( rule__XFeatureCall__FeatureAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2()); + } + // InternalScope.g:20497:2: ( rule__XFeatureCall__FeatureAssignment_2 ) + // InternalScope.g:20497:3: rule__XFeatureCall__FeatureAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__2__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group__3" + // InternalScope.g:20505:1: rule__XFeatureCall__Group__3 : rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4 ; + public final void rule__XFeatureCall__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20509:1: ( rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4 ) + // InternalScope.g:20510:2: rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4 + { + pushFollow(FOLLOW_100); + rule__XFeatureCall__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__3" + + + // $ANTLR start "rule__XFeatureCall__Group__3__Impl" + // InternalScope.g:20517:1: rule__XFeatureCall__Group__3__Impl : ( ( rule__XFeatureCall__Group_3__0 )? ) ; + public final void rule__XFeatureCall__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20521:1: ( ( ( rule__XFeatureCall__Group_3__0 )? ) ) + // InternalScope.g:20522:1: ( ( rule__XFeatureCall__Group_3__0 )? ) + { + // InternalScope.g:20522:1: ( ( rule__XFeatureCall__Group_3__0 )? ) + // InternalScope.g:20523:2: ( rule__XFeatureCall__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGroup_3()); + } + // InternalScope.g:20524:2: ( rule__XFeatureCall__Group_3__0 )? + int alt160=2; + alt160 = dfa160.predict(input); + switch (alt160) { + case 1 : + // InternalScope.g:20524:3: rule__XFeatureCall__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__3__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group__4" + // InternalScope.g:20532:1: rule__XFeatureCall__Group__4 : rule__XFeatureCall__Group__4__Impl ; + public final void rule__XFeatureCall__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20536:1: ( rule__XFeatureCall__Group__4__Impl ) + // InternalScope.g:20537:2: rule__XFeatureCall__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__4" + + + // $ANTLR start "rule__XFeatureCall__Group__4__Impl" + // InternalScope.g:20543:1: rule__XFeatureCall__Group__4__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) ; + public final void rule__XFeatureCall__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20547:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) ) + // InternalScope.g:20548:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) + { + // InternalScope.g:20548:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) + // InternalScope.g:20549:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4()); + } + // InternalScope.g:20550:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? + int alt161=2; + alt161 = dfa161.predict(input); + switch (alt161) { + case 1 : + // InternalScope.g:20550:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_4 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group__4__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1__0" + // InternalScope.g:20559:1: rule__XFeatureCall__Group_1__0 : rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1 ; + public final void rule__XFeatureCall__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20563:1: ( rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1 ) + // InternalScope.g:20564:2: rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1 + { + pushFollow(FOLLOW_101); + rule__XFeatureCall__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__0" + + + // $ANTLR start "rule__XFeatureCall__Group_1__0__Impl" + // InternalScope.g:20571:1: rule__XFeatureCall__Group_1__0__Impl : ( '<' ) ; + public final void rule__XFeatureCall__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20575:1: ( ( '<' ) ) + // InternalScope.g:20576:1: ( '<' ) + { + // InternalScope.g:20576:1: ( '<' ) + // InternalScope.g:20577:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1__1" + // InternalScope.g:20586:1: rule__XFeatureCall__Group_1__1 : rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2 ; + public final void rule__XFeatureCall__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20590:1: ( rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2 ) + // InternalScope.g:20591:2: rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2 + { + pushFollow(FOLLOW_102); + rule__XFeatureCall__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__1" + + + // $ANTLR start "rule__XFeatureCall__Group_1__1__Impl" + // InternalScope.g:20598:1: rule__XFeatureCall__Group_1__1__Impl : ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) ; + public final void rule__XFeatureCall__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20602:1: ( ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) ) + // InternalScope.g:20603:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) + { + // InternalScope.g:20603:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) + // InternalScope.g:20604:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1()); + } + // InternalScope.g:20605:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) + // InternalScope.g:20605:3: rule__XFeatureCall__TypeArgumentsAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__TypeArgumentsAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1__2" + // InternalScope.g:20613:1: rule__XFeatureCall__Group_1__2 : rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3 ; + public final void rule__XFeatureCall__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20617:1: ( rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3 ) + // InternalScope.g:20618:2: rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3 + { + pushFollow(FOLLOW_102); + rule__XFeatureCall__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__2" + + + // $ANTLR start "rule__XFeatureCall__Group_1__2__Impl" + // InternalScope.g:20625:1: rule__XFeatureCall__Group_1__2__Impl : ( ( rule__XFeatureCall__Group_1_2__0 )* ) ; + public final void rule__XFeatureCall__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20629:1: ( ( ( rule__XFeatureCall__Group_1_2__0 )* ) ) + // InternalScope.g:20630:1: ( ( rule__XFeatureCall__Group_1_2__0 )* ) + { + // InternalScope.g:20630:1: ( ( rule__XFeatureCall__Group_1_2__0 )* ) + // InternalScope.g:20631:2: ( rule__XFeatureCall__Group_1_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGroup_1_2()); + } + // InternalScope.g:20632:2: ( rule__XFeatureCall__Group_1_2__0 )* + loop162: + do { + int alt162=2; + int LA162_0 = input.LA(1); + + if ( (LA162_0==86) ) { + alt162=1; + } + + + switch (alt162) { + case 1 : + // InternalScope.g:20632:3: rule__XFeatureCall__Group_1_2__0 + { + pushFollow(FOLLOW_39); + rule__XFeatureCall__Group_1_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop162; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGroup_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__2__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1__3" + // InternalScope.g:20640:1: rule__XFeatureCall__Group_1__3 : rule__XFeatureCall__Group_1__3__Impl ; + public final void rule__XFeatureCall__Group_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20644:1: ( rule__XFeatureCall__Group_1__3__Impl ) + // InternalScope.g:20645:2: rule__XFeatureCall__Group_1__3__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__3" + + + // $ANTLR start "rule__XFeatureCall__Group_1__3__Impl" + // InternalScope.g:20651:1: rule__XFeatureCall__Group_1__3__Impl : ( '>' ) ; + public final void rule__XFeatureCall__Group_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20655:1: ( ( '>' ) ) + // InternalScope.g:20656:1: ( '>' ) + { + // InternalScope.g:20656:1: ( '>' ) + // InternalScope.g:20657:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1__3__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1_2__0" + // InternalScope.g:20667:1: rule__XFeatureCall__Group_1_2__0 : rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1 ; + public final void rule__XFeatureCall__Group_1_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20671:1: ( rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1 ) + // InternalScope.g:20672:2: rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1 + { + pushFollow(FOLLOW_101); + rule__XFeatureCall__Group_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1_2__0" + + + // $ANTLR start "rule__XFeatureCall__Group_1_2__0__Impl" + // InternalScope.g:20679:1: rule__XFeatureCall__Group_1_2__0__Impl : ( ',' ) ; + public final void rule__XFeatureCall__Group_1_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20683:1: ( ( ',' ) ) + // InternalScope.g:20684:1: ( ',' ) + { + // InternalScope.g:20684:1: ( ',' ) + // InternalScope.g:20685:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1_2__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_1_2__1" + // InternalScope.g:20694:1: rule__XFeatureCall__Group_1_2__1 : rule__XFeatureCall__Group_1_2__1__Impl ; + public final void rule__XFeatureCall__Group_1_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20698:1: ( rule__XFeatureCall__Group_1_2__1__Impl ) + // InternalScope.g:20699:2: rule__XFeatureCall__Group_1_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_1_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1_2__1" + + + // $ANTLR start "rule__XFeatureCall__Group_1_2__1__Impl" + // InternalScope.g:20705:1: rule__XFeatureCall__Group_1_2__1__Impl : ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) ; + public final void rule__XFeatureCall__Group_1_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20709:1: ( ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) ) + // InternalScope.g:20710:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) + { + // InternalScope.g:20710:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) + // InternalScope.g:20711:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1()); + } + // InternalScope.g:20712:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) + // InternalScope.g:20712:3: rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__TypeArgumentsAssignment_1_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_1_2__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3__0" + // InternalScope.g:20721:1: rule__XFeatureCall__Group_3__0 : rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1 ; + public final void rule__XFeatureCall__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20725:1: ( rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1 ) + // InternalScope.g:20726:2: rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1 + { + pushFollow(FOLLOW_103); + rule__XFeatureCall__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__0" + + + // $ANTLR start "rule__XFeatureCall__Group_3__0__Impl" + // InternalScope.g:20733:1: rule__XFeatureCall__Group_3__0__Impl : ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) ; + public final void rule__XFeatureCall__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20737:1: ( ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) ) + // InternalScope.g:20738:1: ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) + { + // InternalScope.g:20738:1: ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) + // InternalScope.g:20739:2: ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0()); + } + // InternalScope.g:20740:2: ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) + // InternalScope.g:20740:3: rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__ExplicitOperationCallAssignment_3_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3__1" + // InternalScope.g:20748:1: rule__XFeatureCall__Group_3__1 : rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2 ; + public final void rule__XFeatureCall__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20752:1: ( rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2 ) + // InternalScope.g:20753:2: rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2 + { + pushFollow(FOLLOW_103); + rule__XFeatureCall__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__1" + + + // $ANTLR start "rule__XFeatureCall__Group_3__1__Impl" + // InternalScope.g:20760:1: rule__XFeatureCall__Group_3__1__Impl : ( ( rule__XFeatureCall__Alternatives_3_1 )? ) ; + public final void rule__XFeatureCall__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20764:1: ( ( ( rule__XFeatureCall__Alternatives_3_1 )? ) ) + // InternalScope.g:20765:1: ( ( rule__XFeatureCall__Alternatives_3_1 )? ) + { + // InternalScope.g:20765:1: ( ( rule__XFeatureCall__Alternatives_3_1 )? ) + // InternalScope.g:20766:2: ( rule__XFeatureCall__Alternatives_3_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1()); + } + // InternalScope.g:20767:2: ( rule__XFeatureCall__Alternatives_3_1 )? + int alt163=2; + int LA163_0 = input.LA(1); + + if ( ((LA163_0>=RULE_ID && LA163_0<=RULE_STRING)||(LA163_0>=22 && LA163_0<=24)||LA163_0==27||(LA163_0>=36 && LA163_0<=37)||LA163_0==51||(LA163_0>=60 && LA163_0<=64)||LA163_0==72||LA163_0==77||LA163_0==79||LA163_0==82||LA163_0==92||LA163_0==97||LA163_0==100||LA163_0==103||(LA163_0>=105 && LA163_0<=112)||LA163_0==114) ) { + alt163=1; + } + switch (alt163) { + case 1 : + // InternalScope.g:20767:3: rule__XFeatureCall__Alternatives_3_1 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Alternatives_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3__2" + // InternalScope.g:20775:1: rule__XFeatureCall__Group_3__2 : rule__XFeatureCall__Group_3__2__Impl ; + public final void rule__XFeatureCall__Group_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20779:1: ( rule__XFeatureCall__Group_3__2__Impl ) + // InternalScope.g:20780:2: rule__XFeatureCall__Group_3__2__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__2" + + + // $ANTLR start "rule__XFeatureCall__Group_3__2__Impl" + // InternalScope.g:20786:1: rule__XFeatureCall__Group_3__2__Impl : ( ')' ) ; + public final void rule__XFeatureCall__Group_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20790:1: ( ( ')' ) ) + // InternalScope.g:20791:1: ( ')' ) + { + // InternalScope.g:20791:1: ( ')' ) + // InternalScope.g:20792:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3__2__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1__0" + // InternalScope.g:20802:1: rule__XFeatureCall__Group_3_1_1__0 : rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1 ; + public final void rule__XFeatureCall__Group_3_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20806:1: ( rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1 ) + // InternalScope.g:20807:2: rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1 + { + pushFollow(FOLLOW_71); + rule__XFeatureCall__Group_3_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1__0" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1__0__Impl" + // InternalScope.g:20814:1: rule__XFeatureCall__Group_3_1_1__0__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) ; + public final void rule__XFeatureCall__Group_3_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20818:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) ) + // InternalScope.g:20819:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) + { + // InternalScope.g:20819:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) + // InternalScope.g:20820:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0()); + } + // InternalScope.g:20821:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) + // InternalScope.g:20821:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1__1" + // InternalScope.g:20829:1: rule__XFeatureCall__Group_3_1_1__1 : rule__XFeatureCall__Group_3_1_1__1__Impl ; + public final void rule__XFeatureCall__Group_3_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20833:1: ( rule__XFeatureCall__Group_3_1_1__1__Impl ) + // InternalScope.g:20834:2: rule__XFeatureCall__Group_3_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1__1" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1__1__Impl" + // InternalScope.g:20840:1: rule__XFeatureCall__Group_3_1_1__1__Impl : ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) ; + public final void rule__XFeatureCall__Group_3_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20844:1: ( ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) ) + // InternalScope.g:20845:1: ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) + { + // InternalScope.g:20845:1: ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) + // InternalScope.g:20846:2: ( rule__XFeatureCall__Group_3_1_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1()); + } + // InternalScope.g:20847:2: ( rule__XFeatureCall__Group_3_1_1_1__0 )* + loop164: + do { + int alt164=2; + int LA164_0 = input.LA(1); + + if ( (LA164_0==86) ) { + alt164=1; + } + + + switch (alt164) { + case 1 : + // InternalScope.g:20847:3: rule__XFeatureCall__Group_3_1_1_1__0 + { + pushFollow(FOLLOW_39); + rule__XFeatureCall__Group_3_1_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop164; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1__1__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__0" + // InternalScope.g:20856:1: rule__XFeatureCall__Group_3_1_1_1__0 : rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1 ; + public final void rule__XFeatureCall__Group_3_1_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20860:1: ( rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1 ) + // InternalScope.g:20861:2: rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1 + { + pushFollow(FOLLOW_104); + rule__XFeatureCall__Group_3_1_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3_1_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1_1__0" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__0__Impl" + // InternalScope.g:20868:1: rule__XFeatureCall__Group_3_1_1_1__0__Impl : ( ',' ) ; + public final void rule__XFeatureCall__Group_3_1_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20872:1: ( ( ',' ) ) + // InternalScope.g:20873:1: ( ',' ) + { + // InternalScope.g:20873:1: ( ',' ) + // InternalScope.g:20874:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1_1__0__Impl" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__1" + // InternalScope.g:20883:1: rule__XFeatureCall__Group_3_1_1_1__1 : rule__XFeatureCall__Group_3_1_1_1__1__Impl ; + public final void rule__XFeatureCall__Group_3_1_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20887:1: ( rule__XFeatureCall__Group_3_1_1_1__1__Impl ) + // InternalScope.g:20888:2: rule__XFeatureCall__Group_3_1_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3_1_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1_1__1" + + + // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__1__Impl" + // InternalScope.g:20894:1: rule__XFeatureCall__Group_3_1_1_1__1__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) ; + public final void rule__XFeatureCall__Group_3_1_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20898:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) ) + // InternalScope.g:20899:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) + { + // InternalScope.g:20899:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) + // InternalScope.g:20900:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1()); + } + // InternalScope.g:20901:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) + // InternalScope.g:20901:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__Group_3_1_1_1__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__0" + // InternalScope.g:20910:1: rule__XConstructorCall__Group__0 : rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1 ; + public final void rule__XConstructorCall__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20914:1: ( rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1 ) + // InternalScope.g:20915:2: rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1 + { + pushFollow(FOLLOW_122); + rule__XConstructorCall__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__0" + + + // $ANTLR start "rule__XConstructorCall__Group__0__Impl" + // InternalScope.g:20922:1: rule__XConstructorCall__Group__0__Impl : ( () ) ; + public final void rule__XConstructorCall__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20926:1: ( ( () ) ) + // InternalScope.g:20927:1: ( () ) + { + // InternalScope.g:20927:1: ( () ) + // InternalScope.g:20928:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0()); + } + // InternalScope.g:20929:2: () + // InternalScope.g:20929:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__1" + // InternalScope.g:20937:1: rule__XConstructorCall__Group__1 : rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2 ; + public final void rule__XConstructorCall__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20941:1: ( rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2 ) + // InternalScope.g:20942:2: rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2 + { + pushFollow(FOLLOW_4); + rule__XConstructorCall__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__1" + + + // $ANTLR start "rule__XConstructorCall__Group__1__Impl" + // InternalScope.g:20949:1: rule__XConstructorCall__Group__1__Impl : ( 'new' ) ; + public final void rule__XConstructorCall__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20953:1: ( ( 'new' ) ) + // InternalScope.g:20954:1: ( 'new' ) + { + // InternalScope.g:20954:1: ( 'new' ) + // InternalScope.g:20955:2: 'new' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); + } + match(input,103,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__2" + // InternalScope.g:20964:1: rule__XConstructorCall__Group__2 : rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3 ; + public final void rule__XConstructorCall__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20968:1: ( rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3 ) + // InternalScope.g:20969:2: rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3 + { + pushFollow(FOLLOW_123); + rule__XConstructorCall__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__2" + + + // $ANTLR start "rule__XConstructorCall__Group__2__Impl" + // InternalScope.g:20976:1: rule__XConstructorCall__Group__2__Impl : ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) ; + public final void rule__XConstructorCall__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20980:1: ( ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) ) + // InternalScope.g:20981:1: ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) + { + // InternalScope.g:20981:1: ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) + // InternalScope.g:20982:2: ( rule__XConstructorCall__ConstructorAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2()); + } + // InternalScope.g:20983:2: ( rule__XConstructorCall__ConstructorAssignment_2 ) + // InternalScope.g:20983:3: rule__XConstructorCall__ConstructorAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ConstructorAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__2__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__3" + // InternalScope.g:20991:1: rule__XConstructorCall__Group__3 : rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4 ; + public final void rule__XConstructorCall__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:20995:1: ( rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4 ) + // InternalScope.g:20996:2: rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4 + { + pushFollow(FOLLOW_123); + rule__XConstructorCall__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__3" + + + // $ANTLR start "rule__XConstructorCall__Group__3__Impl" + // InternalScope.g:21003:1: rule__XConstructorCall__Group__3__Impl : ( ( rule__XConstructorCall__Group_3__0 )? ) ; + public final void rule__XConstructorCall__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21007:1: ( ( ( rule__XConstructorCall__Group_3__0 )? ) ) + // InternalScope.g:21008:1: ( ( rule__XConstructorCall__Group_3__0 )? ) + { + // InternalScope.g:21008:1: ( ( rule__XConstructorCall__Group_3__0 )? ) + // InternalScope.g:21009:2: ( rule__XConstructorCall__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGroup_3()); + } + // InternalScope.g:21010:2: ( rule__XConstructorCall__Group_3__0 )? + int alt165=2; + alt165 = dfa165.predict(input); + switch (alt165) { + case 1 : + // InternalScope.g:21010:3: rule__XConstructorCall__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__3__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__4" + // InternalScope.g:21018:1: rule__XConstructorCall__Group__4 : rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5 ; + public final void rule__XConstructorCall__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21022:1: ( rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5 ) + // InternalScope.g:21023:2: rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5 + { + pushFollow(FOLLOW_123); + rule__XConstructorCall__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__4" + + + // $ANTLR start "rule__XConstructorCall__Group__4__Impl" + // InternalScope.g:21030:1: rule__XConstructorCall__Group__4__Impl : ( ( rule__XConstructorCall__Group_4__0 )? ) ; + public final void rule__XConstructorCall__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21034:1: ( ( ( rule__XConstructorCall__Group_4__0 )? ) ) + // InternalScope.g:21035:1: ( ( rule__XConstructorCall__Group_4__0 )? ) + { + // InternalScope.g:21035:1: ( ( rule__XConstructorCall__Group_4__0 )? ) + // InternalScope.g:21036:2: ( rule__XConstructorCall__Group_4__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGroup_4()); + } + // InternalScope.g:21037:2: ( rule__XConstructorCall__Group_4__0 )? + int alt166=2; + alt166 = dfa166.predict(input); + switch (alt166) { + case 1 : + // InternalScope.g:21037:3: rule__XConstructorCall__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGroup_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__4__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group__5" + // InternalScope.g:21045:1: rule__XConstructorCall__Group__5 : rule__XConstructorCall__Group__5__Impl ; + public final void rule__XConstructorCall__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21049:1: ( rule__XConstructorCall__Group__5__Impl ) + // InternalScope.g:21050:2: rule__XConstructorCall__Group__5__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__5" + + + // $ANTLR start "rule__XConstructorCall__Group__5__Impl" + // InternalScope.g:21056:1: rule__XConstructorCall__Group__5__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) ; + public final void rule__XConstructorCall__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21060:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) ) + // InternalScope.g:21061:1: ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) + { + // InternalScope.g:21061:1: ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) + // InternalScope.g:21062:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5()); + } + // InternalScope.g:21063:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )? + int alt167=2; + alt167 = dfa167.predict(input); + switch (alt167) { + case 1 : + // InternalScope.g:21063:3: rule__XConstructorCall__ArgumentsAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group__5__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3__0" + // InternalScope.g:21072:1: rule__XConstructorCall__Group_3__0 : rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1 ; + public final void rule__XConstructorCall__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21076:1: ( rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1 ) + // InternalScope.g:21077:2: rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1 + { + pushFollow(FOLLOW_101); + rule__XConstructorCall__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__0" + + + // $ANTLR start "rule__XConstructorCall__Group_3__0__Impl" + // InternalScope.g:21084:1: rule__XConstructorCall__Group_3__0__Impl : ( ( '<' ) ) ; + public final void rule__XConstructorCall__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21088:1: ( ( ( '<' ) ) ) + // InternalScope.g:21089:1: ( ( '<' ) ) + { + // InternalScope.g:21089:1: ( ( '<' ) ) + // InternalScope.g:21090:2: ( '<' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); + } + // InternalScope.g:21091:2: ( '<' ) + // InternalScope.g:21091:3: '<' + { + match(input,22,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3__1" + // InternalScope.g:21099:1: rule__XConstructorCall__Group_3__1 : rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2 ; + public final void rule__XConstructorCall__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21103:1: ( rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2 ) + // InternalScope.g:21104:2: rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2 + { + pushFollow(FOLLOW_102); + rule__XConstructorCall__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__1" + + + // $ANTLR start "rule__XConstructorCall__Group_3__1__Impl" + // InternalScope.g:21111:1: rule__XConstructorCall__Group_3__1__Impl : ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) ; + public final void rule__XConstructorCall__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21115:1: ( ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) ) + // InternalScope.g:21116:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) + { + // InternalScope.g:21116:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) + // InternalScope.g:21117:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1()); + } + // InternalScope.g:21118:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) + // InternalScope.g:21118:3: rule__XConstructorCall__TypeArgumentsAssignment_3_1 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__TypeArgumentsAssignment_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3__2" + // InternalScope.g:21126:1: rule__XConstructorCall__Group_3__2 : rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3 ; + public final void rule__XConstructorCall__Group_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21130:1: ( rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3 ) + // InternalScope.g:21131:2: rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3 + { + pushFollow(FOLLOW_102); + rule__XConstructorCall__Group_3__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__2" + + + // $ANTLR start "rule__XConstructorCall__Group_3__2__Impl" + // InternalScope.g:21138:1: rule__XConstructorCall__Group_3__2__Impl : ( ( rule__XConstructorCall__Group_3_2__0 )* ) ; + public final void rule__XConstructorCall__Group_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21142:1: ( ( ( rule__XConstructorCall__Group_3_2__0 )* ) ) + // InternalScope.g:21143:1: ( ( rule__XConstructorCall__Group_3_2__0 )* ) + { + // InternalScope.g:21143:1: ( ( rule__XConstructorCall__Group_3_2__0 )* ) + // InternalScope.g:21144:2: ( rule__XConstructorCall__Group_3_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGroup_3_2()); + } + // InternalScope.g:21145:2: ( rule__XConstructorCall__Group_3_2__0 )* + loop168: + do { + int alt168=2; + int LA168_0 = input.LA(1); + + if ( (LA168_0==86) ) { + alt168=1; + } + + + switch (alt168) { + case 1 : + // InternalScope.g:21145:3: rule__XConstructorCall__Group_3_2__0 + { + pushFollow(FOLLOW_39); + rule__XConstructorCall__Group_3_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop168; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGroup_3_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__2__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3__3" + // InternalScope.g:21153:1: rule__XConstructorCall__Group_3__3 : rule__XConstructorCall__Group_3__3__Impl ; + public final void rule__XConstructorCall__Group_3__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21157:1: ( rule__XConstructorCall__Group_3__3__Impl ) + // InternalScope.g:21158:2: rule__XConstructorCall__Group_3__3__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__3" + + + // $ANTLR start "rule__XConstructorCall__Group_3__3__Impl" + // InternalScope.g:21164:1: rule__XConstructorCall__Group_3__3__Impl : ( '>' ) ; + public final void rule__XConstructorCall__Group_3__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21168:1: ( ( '>' ) ) + // InternalScope.g:21169:1: ( '>' ) + { + // InternalScope.g:21169:1: ( '>' ) + // InternalScope.g:21170:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3__3__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3_2__0" + // InternalScope.g:21180:1: rule__XConstructorCall__Group_3_2__0 : rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1 ; + public final void rule__XConstructorCall__Group_3_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21184:1: ( rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1 ) + // InternalScope.g:21185:2: rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1 + { + pushFollow(FOLLOW_101); + rule__XConstructorCall__Group_3_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3_2__0" + + + // $ANTLR start "rule__XConstructorCall__Group_3_2__0__Impl" + // InternalScope.g:21192:1: rule__XConstructorCall__Group_3_2__0__Impl : ( ',' ) ; + public final void rule__XConstructorCall__Group_3_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21196:1: ( ( ',' ) ) + // InternalScope.g:21197:1: ( ',' ) + { + // InternalScope.g:21197:1: ( ',' ) + // InternalScope.g:21198:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3_2__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_3_2__1" + // InternalScope.g:21207:1: rule__XConstructorCall__Group_3_2__1 : rule__XConstructorCall__Group_3_2__1__Impl ; + public final void rule__XConstructorCall__Group_3_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21211:1: ( rule__XConstructorCall__Group_3_2__1__Impl ) + // InternalScope.g:21212:2: rule__XConstructorCall__Group_3_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3_2__1" + + + // $ANTLR start "rule__XConstructorCall__Group_3_2__1__Impl" + // InternalScope.g:21218:1: rule__XConstructorCall__Group_3_2__1__Impl : ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) ; + public final void rule__XConstructorCall__Group_3_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21222:1: ( ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) ) + // InternalScope.g:21223:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) + { + // InternalScope.g:21223:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) + // InternalScope.g:21224:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1()); + } + // InternalScope.g:21225:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) + // InternalScope.g:21225:3: rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__TypeArgumentsAssignment_3_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_3_2__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4__0" + // InternalScope.g:21234:1: rule__XConstructorCall__Group_4__0 : rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1 ; + public final void rule__XConstructorCall__Group_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21238:1: ( rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1 ) + // InternalScope.g:21239:2: rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1 + { + pushFollow(FOLLOW_103); + rule__XConstructorCall__Group_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__0" + + + // $ANTLR start "rule__XConstructorCall__Group_4__0__Impl" + // InternalScope.g:21246:1: rule__XConstructorCall__Group_4__0__Impl : ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) ; + public final void rule__XConstructorCall__Group_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21250:1: ( ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) ) + // InternalScope.g:21251:1: ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) + { + // InternalScope.g:21251:1: ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) + // InternalScope.g:21252:2: ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0()); + } + // InternalScope.g:21253:2: ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) + // InternalScope.g:21253:3: rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4__1" + // InternalScope.g:21261:1: rule__XConstructorCall__Group_4__1 : rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2 ; + public final void rule__XConstructorCall__Group_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21265:1: ( rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2 ) + // InternalScope.g:21266:2: rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2 + { + pushFollow(FOLLOW_103); + rule__XConstructorCall__Group_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__1" + + + // $ANTLR start "rule__XConstructorCall__Group_4__1__Impl" + // InternalScope.g:21273:1: rule__XConstructorCall__Group_4__1__Impl : ( ( rule__XConstructorCall__Alternatives_4_1 )? ) ; + public final void rule__XConstructorCall__Group_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21277:1: ( ( ( rule__XConstructorCall__Alternatives_4_1 )? ) ) + // InternalScope.g:21278:1: ( ( rule__XConstructorCall__Alternatives_4_1 )? ) + { + // InternalScope.g:21278:1: ( ( rule__XConstructorCall__Alternatives_4_1 )? ) + // InternalScope.g:21279:2: ( rule__XConstructorCall__Alternatives_4_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1()); + } + // InternalScope.g:21280:2: ( rule__XConstructorCall__Alternatives_4_1 )? + int alt169=2; + int LA169_0 = input.LA(1); + + if ( ((LA169_0>=RULE_ID && LA169_0<=RULE_STRING)||(LA169_0>=22 && LA169_0<=24)||LA169_0==27||(LA169_0>=36 && LA169_0<=37)||LA169_0==51||(LA169_0>=60 && LA169_0<=64)||LA169_0==72||LA169_0==77||LA169_0==79||LA169_0==82||LA169_0==92||LA169_0==97||LA169_0==100||LA169_0==103||(LA169_0>=105 && LA169_0<=112)||LA169_0==114) ) { + alt169=1; + } + switch (alt169) { + case 1 : + // InternalScope.g:21280:3: rule__XConstructorCall__Alternatives_4_1 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Alternatives_4_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4__2" + // InternalScope.g:21288:1: rule__XConstructorCall__Group_4__2 : rule__XConstructorCall__Group_4__2__Impl ; + public final void rule__XConstructorCall__Group_4__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21292:1: ( rule__XConstructorCall__Group_4__2__Impl ) + // InternalScope.g:21293:2: rule__XConstructorCall__Group_4__2__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__2" + + + // $ANTLR start "rule__XConstructorCall__Group_4__2__Impl" + // InternalScope.g:21299:1: rule__XConstructorCall__Group_4__2__Impl : ( ')' ) ; + public final void rule__XConstructorCall__Group_4__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21303:1: ( ( ')' ) ) + // InternalScope.g:21304:1: ( ')' ) + { + // InternalScope.g:21304:1: ( ')' ) + // InternalScope.g:21305:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4__2__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1__0" + // InternalScope.g:21315:1: rule__XConstructorCall__Group_4_1_1__0 : rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1 ; + public final void rule__XConstructorCall__Group_4_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21319:1: ( rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1 ) + // InternalScope.g:21320:2: rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1 + { + pushFollow(FOLLOW_71); + rule__XConstructorCall__Group_4_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1__0" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1__0__Impl" + // InternalScope.g:21327:1: rule__XConstructorCall__Group_4_1_1__0__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) ; + public final void rule__XConstructorCall__Group_4_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21331:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) ) + // InternalScope.g:21332:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) + { + // InternalScope.g:21332:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) + // InternalScope.g:21333:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0()); + } + // InternalScope.g:21334:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) + // InternalScope.g:21334:3: rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_4_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1__1" + // InternalScope.g:21342:1: rule__XConstructorCall__Group_4_1_1__1 : rule__XConstructorCall__Group_4_1_1__1__Impl ; + public final void rule__XConstructorCall__Group_4_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21346:1: ( rule__XConstructorCall__Group_4_1_1__1__Impl ) + // InternalScope.g:21347:2: rule__XConstructorCall__Group_4_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1__1" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1__1__Impl" + // InternalScope.g:21353:1: rule__XConstructorCall__Group_4_1_1__1__Impl : ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) ; + public final void rule__XConstructorCall__Group_4_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21357:1: ( ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) ) + // InternalScope.g:21358:1: ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) + { + // InternalScope.g:21358:1: ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) + // InternalScope.g:21359:2: ( rule__XConstructorCall__Group_4_1_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1()); + } + // InternalScope.g:21360:2: ( rule__XConstructorCall__Group_4_1_1_1__0 )* + loop170: + do { + int alt170=2; + int LA170_0 = input.LA(1); + + if ( (LA170_0==86) ) { + alt170=1; + } + + + switch (alt170) { + case 1 : + // InternalScope.g:21360:3: rule__XConstructorCall__Group_4_1_1_1__0 + { + pushFollow(FOLLOW_39); + rule__XConstructorCall__Group_4_1_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop170; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1__1__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__0" + // InternalScope.g:21369:1: rule__XConstructorCall__Group_4_1_1_1__0 : rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1 ; + public final void rule__XConstructorCall__Group_4_1_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21373:1: ( rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1 ) + // InternalScope.g:21374:2: rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1 + { + pushFollow(FOLLOW_104); + rule__XConstructorCall__Group_4_1_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4_1_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1_1__0" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__0__Impl" + // InternalScope.g:21381:1: rule__XConstructorCall__Group_4_1_1_1__0__Impl : ( ',' ) ; + public final void rule__XConstructorCall__Group_4_1_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21385:1: ( ( ',' ) ) + // InternalScope.g:21386:1: ( ',' ) + { + // InternalScope.g:21386:1: ( ',' ) + // InternalScope.g:21387:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1_1__0__Impl" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__1" + // InternalScope.g:21396:1: rule__XConstructorCall__Group_4_1_1_1__1 : rule__XConstructorCall__Group_4_1_1_1__1__Impl ; + public final void rule__XConstructorCall__Group_4_1_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21400:1: ( rule__XConstructorCall__Group_4_1_1_1__1__Impl ) + // InternalScope.g:21401:2: rule__XConstructorCall__Group_4_1_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4_1_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1_1__1" + + + // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__1__Impl" + // InternalScope.g:21407:1: rule__XConstructorCall__Group_4_1_1_1__1__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) ; + public final void rule__XConstructorCall__Group_4_1_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21411:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) ) + // InternalScope.g:21412:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) + { + // InternalScope.g:21412:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) + // InternalScope.g:21413:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1()); + } + // InternalScope.g:21414:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) + // InternalScope.g:21414:3: rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__Group_4_1_1_1__1__Impl" + + + // $ANTLR start "rule__XBooleanLiteral__Group__0" + // InternalScope.g:21423:1: rule__XBooleanLiteral__Group__0 : rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1 ; + public final void rule__XBooleanLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21427:1: ( rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1 ) + // InternalScope.g:21428:2: rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1 + { + pushFollow(FOLLOW_124); + rule__XBooleanLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XBooleanLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBooleanLiteral__Group__0" + + + // $ANTLR start "rule__XBooleanLiteral__Group__0__Impl" + // InternalScope.g:21435:1: rule__XBooleanLiteral__Group__0__Impl : ( () ) ; + public final void rule__XBooleanLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21439:1: ( ( () ) ) + // InternalScope.g:21440:1: ( () ) + { + // InternalScope.g:21440:1: ( () ) + // InternalScope.g:21441:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0()); + } + // InternalScope.g:21442:2: () + // InternalScope.g:21442:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBooleanLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XBooleanLiteral__Group__1" + // InternalScope.g:21450:1: rule__XBooleanLiteral__Group__1 : rule__XBooleanLiteral__Group__1__Impl ; + public final void rule__XBooleanLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21454:1: ( rule__XBooleanLiteral__Group__1__Impl ) + // InternalScope.g:21455:2: rule__XBooleanLiteral__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XBooleanLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBooleanLiteral__Group__1" + + + // $ANTLR start "rule__XBooleanLiteral__Group__1__Impl" + // InternalScope.g:21461:1: rule__XBooleanLiteral__Group__1__Impl : ( ( rule__XBooleanLiteral__Alternatives_1 ) ) ; + public final void rule__XBooleanLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21465:1: ( ( ( rule__XBooleanLiteral__Alternatives_1 ) ) ) + // InternalScope.g:21466:1: ( ( rule__XBooleanLiteral__Alternatives_1 ) ) + { + // InternalScope.g:21466:1: ( ( rule__XBooleanLiteral__Alternatives_1 ) ) + // InternalScope.g:21467:2: ( rule__XBooleanLiteral__Alternatives_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1()); + } + // InternalScope.g:21468:2: ( rule__XBooleanLiteral__Alternatives_1 ) + // InternalScope.g:21468:3: rule__XBooleanLiteral__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__XBooleanLiteral__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBooleanLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XNullLiteral__Group__0" + // InternalScope.g:21477:1: rule__XNullLiteral__Group__0 : rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1 ; + public final void rule__XNullLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21481:1: ( rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1 ) + // InternalScope.g:21482:2: rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1 + { + pushFollow(FOLLOW_125); + rule__XNullLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XNullLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNullLiteral__Group__0" + + + // $ANTLR start "rule__XNullLiteral__Group__0__Impl" + // InternalScope.g:21489:1: rule__XNullLiteral__Group__0__Impl : ( () ) ; + public final void rule__XNullLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21493:1: ( ( () ) ) + // InternalScope.g:21494:1: ( () ) + { + // InternalScope.g:21494:1: ( () ) + // InternalScope.g:21495:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0()); + } + // InternalScope.g:21496:2: () + // InternalScope.g:21496:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNullLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XNullLiteral__Group__1" + // InternalScope.g:21504:1: rule__XNullLiteral__Group__1 : rule__XNullLiteral__Group__1__Impl ; + public final void rule__XNullLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21508:1: ( rule__XNullLiteral__Group__1__Impl ) + // InternalScope.g:21509:2: rule__XNullLiteral__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XNullLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNullLiteral__Group__1" + + + // $ANTLR start "rule__XNullLiteral__Group__1__Impl" + // InternalScope.g:21515:1: rule__XNullLiteral__Group__1__Impl : ( 'null' ) ; + public final void rule__XNullLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21519:1: ( ( 'null' ) ) + // InternalScope.g:21520:1: ( 'null' ) + { + // InternalScope.g:21520:1: ( 'null' ) + // InternalScope.g:21521:2: 'null' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); + } + match(input,108,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNullLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XNumberLiteral__Group__0" + // InternalScope.g:21531:1: rule__XNumberLiteral__Group__0 : rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1 ; + public final void rule__XNumberLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21535:1: ( rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1 ) + // InternalScope.g:21536:2: rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1 + { + pushFollow(FOLLOW_126); + rule__XNumberLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XNumberLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNumberLiteral__Group__0" + + + // $ANTLR start "rule__XNumberLiteral__Group__0__Impl" + // InternalScope.g:21543:1: rule__XNumberLiteral__Group__0__Impl : ( () ) ; + public final void rule__XNumberLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21547:1: ( ( () ) ) + // InternalScope.g:21548:1: ( () ) + { + // InternalScope.g:21548:1: ( () ) + // InternalScope.g:21549:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0()); + } + // InternalScope.g:21550:2: () + // InternalScope.g:21550:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNumberLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XNumberLiteral__Group__1" + // InternalScope.g:21558:1: rule__XNumberLiteral__Group__1 : rule__XNumberLiteral__Group__1__Impl ; + public final void rule__XNumberLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21562:1: ( rule__XNumberLiteral__Group__1__Impl ) + // InternalScope.g:21563:2: rule__XNumberLiteral__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XNumberLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNumberLiteral__Group__1" + + + // $ANTLR start "rule__XNumberLiteral__Group__1__Impl" + // InternalScope.g:21569:1: rule__XNumberLiteral__Group__1__Impl : ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) ; + public final void rule__XNumberLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21573:1: ( ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) ) + // InternalScope.g:21574:1: ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) + { + // InternalScope.g:21574:1: ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) + // InternalScope.g:21575:2: ( rule__XNumberLiteral__ValueAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1()); + } + // InternalScope.g:21576:2: ( rule__XNumberLiteral__ValueAssignment_1 ) + // InternalScope.g:21576:3: rule__XNumberLiteral__ValueAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XNumberLiteral__ValueAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNumberLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XStringLiteral__Group__0" + // InternalScope.g:21585:1: rule__XStringLiteral__Group__0 : rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1 ; + public final void rule__XStringLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21589:1: ( rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1 ) + // InternalScope.g:21590:2: rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1 + { + pushFollow(FOLLOW_10); + rule__XStringLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XStringLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XStringLiteral__Group__0" + + + // $ANTLR start "rule__XStringLiteral__Group__0__Impl" + // InternalScope.g:21597:1: rule__XStringLiteral__Group__0__Impl : ( () ) ; + public final void rule__XStringLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21601:1: ( ( () ) ) + // InternalScope.g:21602:1: ( () ) + { + // InternalScope.g:21602:1: ( () ) + // InternalScope.g:21603:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0()); + } + // InternalScope.g:21604:2: () + // InternalScope.g:21604:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XStringLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XStringLiteral__Group__1" + // InternalScope.g:21612:1: rule__XStringLiteral__Group__1 : rule__XStringLiteral__Group__1__Impl ; + public final void rule__XStringLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21616:1: ( rule__XStringLiteral__Group__1__Impl ) + // InternalScope.g:21617:2: rule__XStringLiteral__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XStringLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XStringLiteral__Group__1" + + + // $ANTLR start "rule__XStringLiteral__Group__1__Impl" + // InternalScope.g:21623:1: rule__XStringLiteral__Group__1__Impl : ( ( rule__XStringLiteral__ValueAssignment_1 ) ) ; + public final void rule__XStringLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21627:1: ( ( ( rule__XStringLiteral__ValueAssignment_1 ) ) ) + // InternalScope.g:21628:1: ( ( rule__XStringLiteral__ValueAssignment_1 ) ) + { + // InternalScope.g:21628:1: ( ( rule__XStringLiteral__ValueAssignment_1 ) ) + // InternalScope.g:21629:2: ( rule__XStringLiteral__ValueAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXStringLiteralAccess().getValueAssignment_1()); + } + // InternalScope.g:21630:2: ( rule__XStringLiteral__ValueAssignment_1 ) + // InternalScope.g:21630:3: rule__XStringLiteral__ValueAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XStringLiteral__ValueAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXStringLiteralAccess().getValueAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XStringLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__0" + // InternalScope.g:21639:1: rule__XTypeLiteral__Group__0 : rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1 ; + public final void rule__XTypeLiteral__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21643:1: ( rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1 ) + // InternalScope.g:21644:2: rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1 + { + pushFollow(FOLLOW_127); + rule__XTypeLiteral__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__0" + + + // $ANTLR start "rule__XTypeLiteral__Group__0__Impl" + // InternalScope.g:21651:1: rule__XTypeLiteral__Group__0__Impl : ( () ) ; + public final void rule__XTypeLiteral__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21655:1: ( ( () ) ) + // InternalScope.g:21656:1: ( () ) + { + // InternalScope.g:21656:1: ( () ) + // InternalScope.g:21657:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0()); + } + // InternalScope.g:21658:2: () + // InternalScope.g:21658:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__0__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__1" + // InternalScope.g:21666:1: rule__XTypeLiteral__Group__1 : rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2 ; + public final void rule__XTypeLiteral__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21670:1: ( rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2 ) + // InternalScope.g:21671:2: rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2 + { + pushFollow(FOLLOW_31); + rule__XTypeLiteral__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__1" + + + // $ANTLR start "rule__XTypeLiteral__Group__1__Impl" + // InternalScope.g:21678:1: rule__XTypeLiteral__Group__1__Impl : ( 'typeof' ) ; + public final void rule__XTypeLiteral__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21682:1: ( ( 'typeof' ) ) + // InternalScope.g:21683:1: ( 'typeof' ) + { + // InternalScope.g:21683:1: ( 'typeof' ) + // InternalScope.g:21684:2: 'typeof' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); + } + match(input,109,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__1__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__2" + // InternalScope.g:21693:1: rule__XTypeLiteral__Group__2 : rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3 ; + public final void rule__XTypeLiteral__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21697:1: ( rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3 ) + // InternalScope.g:21698:2: rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3 + { + pushFollow(FOLLOW_4); + rule__XTypeLiteral__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__2" + + + // $ANTLR start "rule__XTypeLiteral__Group__2__Impl" + // InternalScope.g:21705:1: rule__XTypeLiteral__Group__2__Impl : ( '(' ) ; + public final void rule__XTypeLiteral__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21709:1: ( ( '(' ) ) + // InternalScope.g:21710:1: ( '(' ) + { + // InternalScope.g:21710:1: ( '(' ) + // InternalScope.g:21711:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__2__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__3" + // InternalScope.g:21720:1: rule__XTypeLiteral__Group__3 : rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4 ; + public final void rule__XTypeLiteral__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21724:1: ( rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4 ) + // InternalScope.g:21725:2: rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4 + { + pushFollow(FOLLOW_128); + rule__XTypeLiteral__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__3" + + + // $ANTLR start "rule__XTypeLiteral__Group__3__Impl" + // InternalScope.g:21732:1: rule__XTypeLiteral__Group__3__Impl : ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) ; + public final void rule__XTypeLiteral__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21736:1: ( ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) ) + // InternalScope.g:21737:1: ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) + { + // InternalScope.g:21737:1: ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) + // InternalScope.g:21738:2: ( rule__XTypeLiteral__TypeAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3()); + } + // InternalScope.g:21739:2: ( rule__XTypeLiteral__TypeAssignment_3 ) + // InternalScope.g:21739:3: rule__XTypeLiteral__TypeAssignment_3 + { + pushFollow(FOLLOW_2); + rule__XTypeLiteral__TypeAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__3__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__4" + // InternalScope.g:21747:1: rule__XTypeLiteral__Group__4 : rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5 ; + public final void rule__XTypeLiteral__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21751:1: ( rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5 ) + // InternalScope.g:21752:2: rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5 + { + pushFollow(FOLLOW_128); + rule__XTypeLiteral__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__4" + + + // $ANTLR start "rule__XTypeLiteral__Group__4__Impl" + // InternalScope.g:21759:1: rule__XTypeLiteral__Group__4__Impl : ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) ; + public final void rule__XTypeLiteral__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21763:1: ( ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) ) + // InternalScope.g:21764:1: ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) + { + // InternalScope.g:21764:1: ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) + // InternalScope.g:21765:2: ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4()); + } + // InternalScope.g:21766:2: ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* + loop171: + do { + int alt171=2; + int LA171_0 = input.LA(1); + + if ( (LA171_0==82) ) { + alt171=1; + } + + + switch (alt171) { + case 1 : + // InternalScope.g:21766:3: rule__XTypeLiteral__ArrayDimensionsAssignment_4 + { + pushFollow(FOLLOW_129); + rule__XTypeLiteral__ArrayDimensionsAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop171; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__4__Impl" + + + // $ANTLR start "rule__XTypeLiteral__Group__5" + // InternalScope.g:21774:1: rule__XTypeLiteral__Group__5 : rule__XTypeLiteral__Group__5__Impl ; + public final void rule__XTypeLiteral__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21778:1: ( rule__XTypeLiteral__Group__5__Impl ) + // InternalScope.g:21779:2: rule__XTypeLiteral__Group__5__Impl + { + pushFollow(FOLLOW_2); + rule__XTypeLiteral__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__5" + + + // $ANTLR start "rule__XTypeLiteral__Group__5__Impl" + // InternalScope.g:21785:1: rule__XTypeLiteral__Group__5__Impl : ( ')' ) ; + public final void rule__XTypeLiteral__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21789:1: ( ( ')' ) ) + // InternalScope.g:21790:1: ( ')' ) + { + // InternalScope.g:21790:1: ( ')' ) + // InternalScope.g:21791:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__Group__5__Impl" + + + // $ANTLR start "rule__XThrowExpression__Group__0" + // InternalScope.g:21801:1: rule__XThrowExpression__Group__0 : rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1 ; + public final void rule__XThrowExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21805:1: ( rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1 ) + // InternalScope.g:21806:2: rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1 + { + pushFollow(FOLLOW_130); + rule__XThrowExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XThrowExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__0" + + + // $ANTLR start "rule__XThrowExpression__Group__0__Impl" + // InternalScope.g:21813:1: rule__XThrowExpression__Group__0__Impl : ( () ) ; + public final void rule__XThrowExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21817:1: ( ( () ) ) + // InternalScope.g:21818:1: ( () ) + { + // InternalScope.g:21818:1: ( () ) + // InternalScope.g:21819:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0()); + } + // InternalScope.g:21820:2: () + // InternalScope.g:21820:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__0__Impl" + + + // $ANTLR start "rule__XThrowExpression__Group__1" + // InternalScope.g:21828:1: rule__XThrowExpression__Group__1 : rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2 ; + public final void rule__XThrowExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21832:1: ( rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2 ) + // InternalScope.g:21833:2: rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2 + { + pushFollow(FOLLOW_104); + rule__XThrowExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XThrowExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__1" + + + // $ANTLR start "rule__XThrowExpression__Group__1__Impl" + // InternalScope.g:21840:1: rule__XThrowExpression__Group__1__Impl : ( 'throw' ) ; + public final void rule__XThrowExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21844:1: ( ( 'throw' ) ) + // InternalScope.g:21845:1: ( 'throw' ) + { + // InternalScope.g:21845:1: ( 'throw' ) + // InternalScope.g:21846:2: 'throw' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); + } + match(input,110,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__1__Impl" + + + // $ANTLR start "rule__XThrowExpression__Group__2" + // InternalScope.g:21855:1: rule__XThrowExpression__Group__2 : rule__XThrowExpression__Group__2__Impl ; + public final void rule__XThrowExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21859:1: ( rule__XThrowExpression__Group__2__Impl ) + // InternalScope.g:21860:2: rule__XThrowExpression__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__XThrowExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__2" + + + // $ANTLR start "rule__XThrowExpression__Group__2__Impl" + // InternalScope.g:21866:1: rule__XThrowExpression__Group__2__Impl : ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) ; + public final void rule__XThrowExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21870:1: ( ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) ) + // InternalScope.g:21871:1: ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) + { + // InternalScope.g:21871:1: ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) + // InternalScope.g:21872:2: ( rule__XThrowExpression__ExpressionAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2()); + } + // InternalScope.g:21873:2: ( rule__XThrowExpression__ExpressionAssignment_2 ) + // InternalScope.g:21873:3: rule__XThrowExpression__ExpressionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XThrowExpression__ExpressionAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__Group__2__Impl" + + + // $ANTLR start "rule__XReturnExpression__Group__0" + // InternalScope.g:21882:1: rule__XReturnExpression__Group__0 : rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1 ; + public final void rule__XReturnExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21886:1: ( rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1 ) + // InternalScope.g:21887:2: rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1 + { + pushFollow(FOLLOW_131); + rule__XReturnExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XReturnExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__0" + + + // $ANTLR start "rule__XReturnExpression__Group__0__Impl" + // InternalScope.g:21894:1: rule__XReturnExpression__Group__0__Impl : ( () ) ; + public final void rule__XReturnExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21898:1: ( ( () ) ) + // InternalScope.g:21899:1: ( () ) + { + // InternalScope.g:21899:1: ( () ) + // InternalScope.g:21900:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0()); + } + // InternalScope.g:21901:2: () + // InternalScope.g:21901:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__0__Impl" + + + // $ANTLR start "rule__XReturnExpression__Group__1" + // InternalScope.g:21909:1: rule__XReturnExpression__Group__1 : rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2 ; + public final void rule__XReturnExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21913:1: ( rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2 ) + // InternalScope.g:21914:2: rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2 + { + pushFollow(FOLLOW_104); + rule__XReturnExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XReturnExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__1" + + + // $ANTLR start "rule__XReturnExpression__Group__1__Impl" + // InternalScope.g:21921:1: rule__XReturnExpression__Group__1__Impl : ( 'return' ) ; + public final void rule__XReturnExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21925:1: ( ( 'return' ) ) + // InternalScope.g:21926:1: ( 'return' ) + { + // InternalScope.g:21926:1: ( 'return' ) + // InternalScope.g:21927:2: 'return' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); + } + match(input,111,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__1__Impl" + + + // $ANTLR start "rule__XReturnExpression__Group__2" + // InternalScope.g:21936:1: rule__XReturnExpression__Group__2 : rule__XReturnExpression__Group__2__Impl ; + public final void rule__XReturnExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21940:1: ( rule__XReturnExpression__Group__2__Impl ) + // InternalScope.g:21941:2: rule__XReturnExpression__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__XReturnExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__2" + + + // $ANTLR start "rule__XReturnExpression__Group__2__Impl" + // InternalScope.g:21947:1: rule__XReturnExpression__Group__2__Impl : ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) ; + public final void rule__XReturnExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21951:1: ( ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) ) + // InternalScope.g:21952:1: ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) + { + // InternalScope.g:21952:1: ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) + // InternalScope.g:21953:2: ( rule__XReturnExpression__ExpressionAssignment_2 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2()); + } + // InternalScope.g:21954:2: ( rule__XReturnExpression__ExpressionAssignment_2 )? + int alt172=2; + alt172 = dfa172.predict(input); + switch (alt172) { + case 1 : + // InternalScope.g:21954:3: rule__XReturnExpression__ExpressionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XReturnExpression__ExpressionAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__Group__2__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__0" + // InternalScope.g:21963:1: rule__XTryCatchFinallyExpression__Group__0 : rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1 ; + public final void rule__XTryCatchFinallyExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21967:1: ( rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1 ) + // InternalScope.g:21968:2: rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1 + { + pushFollow(FOLLOW_132); + rule__XTryCatchFinallyExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__0" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__0__Impl" + // InternalScope.g:21975:1: rule__XTryCatchFinallyExpression__Group__0__Impl : ( () ) ; + public final void rule__XTryCatchFinallyExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21979:1: ( ( () ) ) + // InternalScope.g:21980:1: ( () ) + { + // InternalScope.g:21980:1: ( () ) + // InternalScope.g:21981:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0()); + } + // InternalScope.g:21982:2: () + // InternalScope.g:21982:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__0__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__1" + // InternalScope.g:21990:1: rule__XTryCatchFinallyExpression__Group__1 : rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2 ; + public final void rule__XTryCatchFinallyExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:21994:1: ( rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2 ) + // InternalScope.g:21995:2: rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2 + { + pushFollow(FOLLOW_104); + rule__XTryCatchFinallyExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__1" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__1__Impl" + // InternalScope.g:22002:1: rule__XTryCatchFinallyExpression__Group__1__Impl : ( 'try' ) ; + public final void rule__XTryCatchFinallyExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22006:1: ( ( 'try' ) ) + // InternalScope.g:22007:1: ( 'try' ) + { + // InternalScope.g:22007:1: ( 'try' ) + // InternalScope.g:22008:2: 'try' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); + } + match(input,112,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__1__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__2" + // InternalScope.g:22017:1: rule__XTryCatchFinallyExpression__Group__2 : rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3 ; + public final void rule__XTryCatchFinallyExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22021:1: ( rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3 ) + // InternalScope.g:22022:2: rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3 + { + pushFollow(FOLLOW_133); + rule__XTryCatchFinallyExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__2" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__2__Impl" + // InternalScope.g:22029:1: rule__XTryCatchFinallyExpression__Group__2__Impl : ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) ; + public final void rule__XTryCatchFinallyExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22033:1: ( ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) ) + // InternalScope.g:22034:1: ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) + { + // InternalScope.g:22034:1: ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) + // InternalScope.g:22035:2: ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2()); + } + // InternalScope.g:22036:2: ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) + // InternalScope.g:22036:3: rule__XTryCatchFinallyExpression__ExpressionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__ExpressionAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__2__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__3" + // InternalScope.g:22044:1: rule__XTryCatchFinallyExpression__Group__3 : rule__XTryCatchFinallyExpression__Group__3__Impl ; + public final void rule__XTryCatchFinallyExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22048:1: ( rule__XTryCatchFinallyExpression__Group__3__Impl ) + // InternalScope.g:22049:2: rule__XTryCatchFinallyExpression__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__3" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group__3__Impl" + // InternalScope.g:22055:1: rule__XTryCatchFinallyExpression__Group__3__Impl : ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) ; + public final void rule__XTryCatchFinallyExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22059:1: ( ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) ) + // InternalScope.g:22060:1: ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) + { + // InternalScope.g:22060:1: ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) + // InternalScope.g:22061:2: ( rule__XTryCatchFinallyExpression__Alternatives_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3()); + } + // InternalScope.g:22062:2: ( rule__XTryCatchFinallyExpression__Alternatives_3 ) + // InternalScope.g:22062:3: rule__XTryCatchFinallyExpression__Alternatives_3 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Alternatives_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group__3__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__0" + // InternalScope.g:22071:1: rule__XTryCatchFinallyExpression__Group_3_0__0 : rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1 ; + public final void rule__XTryCatchFinallyExpression__Group_3_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22075:1: ( rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1 ) + // InternalScope.g:22076:2: rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1 + { + pushFollow(FOLLOW_134); + rule__XTryCatchFinallyExpression__Group_3_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0__0" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__0__Impl" + // InternalScope.g:22083:1: rule__XTryCatchFinallyExpression__Group_3_0__0__Impl : ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22087:1: ( ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) ) + // InternalScope.g:22088:1: ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) + { + // InternalScope.g:22088:1: ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) + // InternalScope.g:22089:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) + { + // InternalScope.g:22089:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) + // InternalScope.g:22090:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); + } + // InternalScope.g:22091:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) + // InternalScope.g:22091:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 + { + pushFollow(FOLLOW_135); + rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); + } + + } + + // InternalScope.g:22094:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) + // InternalScope.g:22095:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); + } + // InternalScope.g:22096:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* + loop173: + do { + int alt173=2; + int LA173_0 = input.LA(1); + + if ( (LA173_0==115) ) { + int LA173_2 = input.LA(2); + + if ( (synpred248_InternalScope()) ) { + alt173=1; + } + + + } + + + switch (alt173) { + case 1 : + // InternalScope.g:22096:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 + { + pushFollow(FOLLOW_135); + rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop173; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); + } + + } + + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0__0__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__1" + // InternalScope.g:22105:1: rule__XTryCatchFinallyExpression__Group_3_0__1 : rule__XTryCatchFinallyExpression__Group_3_0__1__Impl ; + public final void rule__XTryCatchFinallyExpression__Group_3_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22109:1: ( rule__XTryCatchFinallyExpression__Group_3_0__1__Impl ) + // InternalScope.g:22110:2: rule__XTryCatchFinallyExpression__Group_3_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0__1" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__1__Impl" + // InternalScope.g:22116:1: rule__XTryCatchFinallyExpression__Group_3_0__1__Impl : ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22120:1: ( ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) ) + // InternalScope.g:22121:1: ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) + { + // InternalScope.g:22121:1: ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) + // InternalScope.g:22122:2: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1()); + } + // InternalScope.g:22123:2: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? + int alt174=2; + int LA174_0 = input.LA(1); + + if ( (LA174_0==113) ) { + int LA174_1 = input.LA(2); + + if ( (synpred249_InternalScope()) ) { + alt174=1; + } + } + switch (alt174) { + case 1 : + // InternalScope.g:22123:3: rule__XTryCatchFinallyExpression__Group_3_0_1__0 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0__1__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__0" + // InternalScope.g:22132:1: rule__XTryCatchFinallyExpression__Group_3_0_1__0 : rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1 ; + public final void rule__XTryCatchFinallyExpression__Group_3_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22136:1: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1 ) + // InternalScope.g:22137:2: rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1 + { + pushFollow(FOLLOW_104); + rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0_1__0" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl" + // InternalScope.g:22144:1: rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl : ( ( 'finally' ) ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22148:1: ( ( ( 'finally' ) ) ) + // InternalScope.g:22149:1: ( ( 'finally' ) ) + { + // InternalScope.g:22149:1: ( ( 'finally' ) ) + // InternalScope.g:22150:2: ( 'finally' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); + } + // InternalScope.g:22151:2: ( 'finally' ) + // InternalScope.g:22151:3: 'finally' + { + match(input,113,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__1" + // InternalScope.g:22159:1: rule__XTryCatchFinallyExpression__Group_3_0_1__1 : rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl ; + public final void rule__XTryCatchFinallyExpression__Group_3_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22163:1: ( rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl ) + // InternalScope.g:22164:2: rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0_1__1" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl" + // InternalScope.g:22170:1: rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl : ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22174:1: ( ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) ) + // InternalScope.g:22175:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) + { + // InternalScope.g:22175:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) + // InternalScope.g:22176:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1()); + } + // InternalScope.g:22177:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) + // InternalScope.g:22177:3: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__0" + // InternalScope.g:22186:1: rule__XTryCatchFinallyExpression__Group_3_1__0 : rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1 ; + public final void rule__XTryCatchFinallyExpression__Group_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22190:1: ( rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1 ) + // InternalScope.g:22191:2: rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1 + { + pushFollow(FOLLOW_104); + rule__XTryCatchFinallyExpression__Group_3_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_1__0" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__0__Impl" + // InternalScope.g:22198:1: rule__XTryCatchFinallyExpression__Group_3_1__0__Impl : ( 'finally' ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22202:1: ( ( 'finally' ) ) + // InternalScope.g:22203:1: ( 'finally' ) + { + // InternalScope.g:22203:1: ( 'finally' ) + // InternalScope.g:22204:2: 'finally' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); + } + match(input,113,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_1__0__Impl" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__1" + // InternalScope.g:22213:1: rule__XTryCatchFinallyExpression__Group_3_1__1 : rule__XTryCatchFinallyExpression__Group_3_1__1__Impl ; + public final void rule__XTryCatchFinallyExpression__Group_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22217:1: ( rule__XTryCatchFinallyExpression__Group_3_1__1__Impl ) + // InternalScope.g:22218:2: rule__XTryCatchFinallyExpression__Group_3_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_1__1" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__1__Impl" + // InternalScope.g:22224:1: rule__XTryCatchFinallyExpression__Group_3_1__1__Impl : ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) ; + public final void rule__XTryCatchFinallyExpression__Group_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22228:1: ( ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) ) + // InternalScope.g:22229:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) + { + // InternalScope.g:22229:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) + // InternalScope.g:22230:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1()); + } + // InternalScope.g:22231:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) + // InternalScope.g:22231:3: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__Group_3_1__1__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__0" + // InternalScope.g:22240:1: rule__XSynchronizedExpression__Group__0 : rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1 ; + public final void rule__XSynchronizedExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22244:1: ( rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1 ) + // InternalScope.g:22245:2: rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1 + { + pushFollow(FOLLOW_104); + rule__XSynchronizedExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__0" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__0__Impl" + // InternalScope.g:22252:1: rule__XSynchronizedExpression__Group__0__Impl : ( ( rule__XSynchronizedExpression__Group_0__0 ) ) ; + public final void rule__XSynchronizedExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22256:1: ( ( ( rule__XSynchronizedExpression__Group_0__0 ) ) ) + // InternalScope.g:22257:1: ( ( rule__XSynchronizedExpression__Group_0__0 ) ) + { + // InternalScope.g:22257:1: ( ( rule__XSynchronizedExpression__Group_0__0 ) ) + // InternalScope.g:22258:2: ( rule__XSynchronizedExpression__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0()); + } + // InternalScope.g:22259:2: ( rule__XSynchronizedExpression__Group_0__0 ) + // InternalScope.g:22259:3: rule__XSynchronizedExpression__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__0__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__1" + // InternalScope.g:22267:1: rule__XSynchronizedExpression__Group__1 : rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2 ; + public final void rule__XSynchronizedExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22271:1: ( rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2 ) + // InternalScope.g:22272:2: rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2 + { + pushFollow(FOLLOW_23); + rule__XSynchronizedExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__1" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__1__Impl" + // InternalScope.g:22279:1: rule__XSynchronizedExpression__Group__1__Impl : ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) ; + public final void rule__XSynchronizedExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22283:1: ( ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) ) + // InternalScope.g:22284:1: ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) + { + // InternalScope.g:22284:1: ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) + // InternalScope.g:22285:2: ( rule__XSynchronizedExpression__ParamAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1()); + } + // InternalScope.g:22286:2: ( rule__XSynchronizedExpression__ParamAssignment_1 ) + // InternalScope.g:22286:3: rule__XSynchronizedExpression__ParamAssignment_1 + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__ParamAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__1__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__2" + // InternalScope.g:22294:1: rule__XSynchronizedExpression__Group__2 : rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3 ; + public final void rule__XSynchronizedExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22298:1: ( rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3 ) + // InternalScope.g:22299:2: rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3 + { + pushFollow(FOLLOW_104); + rule__XSynchronizedExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__2" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__2__Impl" + // InternalScope.g:22306:1: rule__XSynchronizedExpression__Group__2__Impl : ( ')' ) ; + public final void rule__XSynchronizedExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22310:1: ( ( ')' ) ) + // InternalScope.g:22311:1: ( ')' ) + { + // InternalScope.g:22311:1: ( ')' ) + // InternalScope.g:22312:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__2__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__3" + // InternalScope.g:22321:1: rule__XSynchronizedExpression__Group__3 : rule__XSynchronizedExpression__Group__3__Impl ; + public final void rule__XSynchronizedExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22325:1: ( rule__XSynchronizedExpression__Group__3__Impl ) + // InternalScope.g:22326:2: rule__XSynchronizedExpression__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__3" + + + // $ANTLR start "rule__XSynchronizedExpression__Group__3__Impl" + // InternalScope.g:22332:1: rule__XSynchronizedExpression__Group__3__Impl : ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) ; + public final void rule__XSynchronizedExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22336:1: ( ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) ) + // InternalScope.g:22337:1: ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) + { + // InternalScope.g:22337:1: ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) + // InternalScope.g:22338:2: ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3()); + } + // InternalScope.g:22339:2: ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) + // InternalScope.g:22339:3: rule__XSynchronizedExpression__ExpressionAssignment_3 + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__ExpressionAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group__3__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0__0" + // InternalScope.g:22348:1: rule__XSynchronizedExpression__Group_0__0 : rule__XSynchronizedExpression__Group_0__0__Impl ; + public final void rule__XSynchronizedExpression__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22352:1: ( rule__XSynchronizedExpression__Group_0__0__Impl ) + // InternalScope.g:22353:2: rule__XSynchronizedExpression__Group_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0__0" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0__0__Impl" + // InternalScope.g:22359:1: rule__XSynchronizedExpression__Group_0__0__Impl : ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) ; + public final void rule__XSynchronizedExpression__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22363:1: ( ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) ) + // InternalScope.g:22364:1: ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) + { + // InternalScope.g:22364:1: ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) + // InternalScope.g:22365:2: ( rule__XSynchronizedExpression__Group_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0()); + } + // InternalScope.g:22366:2: ( rule__XSynchronizedExpression__Group_0_0__0 ) + // InternalScope.g:22366:3: rule__XSynchronizedExpression__Group_0_0__0 + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0__0__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__0" + // InternalScope.g:22375:1: rule__XSynchronizedExpression__Group_0_0__0 : rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1 ; + public final void rule__XSynchronizedExpression__Group_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22379:1: ( rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1 ) + // InternalScope.g:22380:2: rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1 + { + pushFollow(FOLLOW_136); + rule__XSynchronizedExpression__Group_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__0" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__0__Impl" + // InternalScope.g:22387:1: rule__XSynchronizedExpression__Group_0_0__0__Impl : ( () ) ; + public final void rule__XSynchronizedExpression__Group_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22391:1: ( ( () ) ) + // InternalScope.g:22392:1: ( () ) + { + // InternalScope.g:22392:1: ( () ) + // InternalScope.g:22393:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0()); + } + // InternalScope.g:22394:2: () + // InternalScope.g:22394:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__0__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__1" + // InternalScope.g:22402:1: rule__XSynchronizedExpression__Group_0_0__1 : rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2 ; + public final void rule__XSynchronizedExpression__Group_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22406:1: ( rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2 ) + // InternalScope.g:22407:2: rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2 + { + pushFollow(FOLLOW_31); + rule__XSynchronizedExpression__Group_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__1" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__1__Impl" + // InternalScope.g:22414:1: rule__XSynchronizedExpression__Group_0_0__1__Impl : ( 'synchronized' ) ; + public final void rule__XSynchronizedExpression__Group_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22418:1: ( ( 'synchronized' ) ) + // InternalScope.g:22419:1: ( 'synchronized' ) + { + // InternalScope.g:22419:1: ( 'synchronized' ) + // InternalScope.g:22420:2: 'synchronized' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); + } + match(input,114,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__1__Impl" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__2" + // InternalScope.g:22429:1: rule__XSynchronizedExpression__Group_0_0__2 : rule__XSynchronizedExpression__Group_0_0__2__Impl ; + public final void rule__XSynchronizedExpression__Group_0_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22433:1: ( rule__XSynchronizedExpression__Group_0_0__2__Impl ) + // InternalScope.g:22434:2: rule__XSynchronizedExpression__Group_0_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XSynchronizedExpression__Group_0_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__2" + + + // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__2__Impl" + // InternalScope.g:22440:1: rule__XSynchronizedExpression__Group_0_0__2__Impl : ( '(' ) ; + public final void rule__XSynchronizedExpression__Group_0_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22444:1: ( ( '(' ) ) + // InternalScope.g:22445:1: ( '(' ) + { + // InternalScope.g:22445:1: ( '(' ) + // InternalScope.g:22446:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__Group_0_0__2__Impl" + + + // $ANTLR start "rule__XCatchClause__Group__0" + // InternalScope.g:22456:1: rule__XCatchClause__Group__0 : rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1 ; + public final void rule__XCatchClause__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22460:1: ( rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1 ) + // InternalScope.g:22461:2: rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1 + { + pushFollow(FOLLOW_31); + rule__XCatchClause__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCatchClause__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__0" + + + // $ANTLR start "rule__XCatchClause__Group__0__Impl" + // InternalScope.g:22468:1: rule__XCatchClause__Group__0__Impl : ( ( 'catch' ) ) ; + public final void rule__XCatchClause__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22472:1: ( ( ( 'catch' ) ) ) + // InternalScope.g:22473:1: ( ( 'catch' ) ) + { + // InternalScope.g:22473:1: ( ( 'catch' ) ) + // InternalScope.g:22474:2: ( 'catch' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); + } + // InternalScope.g:22475:2: ( 'catch' ) + // InternalScope.g:22475:3: 'catch' + { + match(input,115,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__0__Impl" + + + // $ANTLR start "rule__XCatchClause__Group__1" + // InternalScope.g:22483:1: rule__XCatchClause__Group__1 : rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2 ; + public final void rule__XCatchClause__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22487:1: ( rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2 ) + // InternalScope.g:22488:2: rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2 + { + pushFollow(FOLLOW_84); + rule__XCatchClause__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCatchClause__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__1" + + + // $ANTLR start "rule__XCatchClause__Group__1__Impl" + // InternalScope.g:22495:1: rule__XCatchClause__Group__1__Impl : ( '(' ) ; + public final void rule__XCatchClause__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22499:1: ( ( '(' ) ) + // InternalScope.g:22500:1: ( '(' ) + { + // InternalScope.g:22500:1: ( '(' ) + // InternalScope.g:22501:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__1__Impl" + + + // $ANTLR start "rule__XCatchClause__Group__2" + // InternalScope.g:22510:1: rule__XCatchClause__Group__2 : rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3 ; + public final void rule__XCatchClause__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22514:1: ( rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3 ) + // InternalScope.g:22515:2: rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3 + { + pushFollow(FOLLOW_23); + rule__XCatchClause__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCatchClause__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__2" + + + // $ANTLR start "rule__XCatchClause__Group__2__Impl" + // InternalScope.g:22522:1: rule__XCatchClause__Group__2__Impl : ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) ; + public final void rule__XCatchClause__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22526:1: ( ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) ) + // InternalScope.g:22527:1: ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) + { + // InternalScope.g:22527:1: ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) + // InternalScope.g:22528:2: ( rule__XCatchClause__DeclaredParamAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2()); + } + // InternalScope.g:22529:2: ( rule__XCatchClause__DeclaredParamAssignment_2 ) + // InternalScope.g:22529:3: rule__XCatchClause__DeclaredParamAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XCatchClause__DeclaredParamAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__2__Impl" + + + // $ANTLR start "rule__XCatchClause__Group__3" + // InternalScope.g:22537:1: rule__XCatchClause__Group__3 : rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4 ; + public final void rule__XCatchClause__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22541:1: ( rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4 ) + // InternalScope.g:22542:2: rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4 + { + pushFollow(FOLLOW_104); + rule__XCatchClause__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XCatchClause__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__3" + + + // $ANTLR start "rule__XCatchClause__Group__3__Impl" + // InternalScope.g:22549:1: rule__XCatchClause__Group__3__Impl : ( ')' ) ; + public final void rule__XCatchClause__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22553:1: ( ( ')' ) ) + // InternalScope.g:22554:1: ( ')' ) + { + // InternalScope.g:22554:1: ( ')' ) + // InternalScope.g:22555:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__3__Impl" + + + // $ANTLR start "rule__XCatchClause__Group__4" + // InternalScope.g:22564:1: rule__XCatchClause__Group__4 : rule__XCatchClause__Group__4__Impl ; + public final void rule__XCatchClause__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22568:1: ( rule__XCatchClause__Group__4__Impl ) + // InternalScope.g:22569:2: rule__XCatchClause__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__XCatchClause__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__4" + + + // $ANTLR start "rule__XCatchClause__Group__4__Impl" + // InternalScope.g:22575:1: rule__XCatchClause__Group__4__Impl : ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) ; + public final void rule__XCatchClause__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22579:1: ( ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) ) + // InternalScope.g:22580:1: ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) + { + // InternalScope.g:22580:1: ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) + // InternalScope.g:22581:2: ( rule__XCatchClause__ExpressionAssignment_4 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4()); + } + // InternalScope.g:22582:2: ( rule__XCatchClause__ExpressionAssignment_4 ) + // InternalScope.g:22582:3: rule__XCatchClause__ExpressionAssignment_4 + { + pushFollow(FOLLOW_2); + rule__XCatchClause__ExpressionAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__Group__4__Impl" + + + // $ANTLR start "rule__QualifiedName__Group__0" + // InternalScope.g:22591:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ; + public final void rule__QualifiedName__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22595:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ) + // InternalScope.g:22596:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 + { + pushFollow(FOLLOW_45); + rule__QualifiedName__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__QualifiedName__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group__0" + + + // $ANTLR start "rule__QualifiedName__Group__0__Impl" + // InternalScope.g:22603:1: rule__QualifiedName__Group__0__Impl : ( ruleValidID ) ; + public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22607:1: ( ( ruleValidID ) ) + // InternalScope.g:22608:1: ( ruleValidID ) + { + // InternalScope.g:22608:1: ( ruleValidID ) + // InternalScope.g:22609:2: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group__0__Impl" + + + // $ANTLR start "rule__QualifiedName__Group__1" + // InternalScope.g:22618:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ; + public final void rule__QualifiedName__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22622:1: ( rule__QualifiedName__Group__1__Impl ) + // InternalScope.g:22623:2: rule__QualifiedName__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__QualifiedName__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group__1" + + + // $ANTLR start "rule__QualifiedName__Group__1__Impl" + // InternalScope.g:22629:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ; + public final void rule__QualifiedName__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22633:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) ) + // InternalScope.g:22634:1: ( ( rule__QualifiedName__Group_1__0 )* ) + { + // InternalScope.g:22634:1: ( ( rule__QualifiedName__Group_1__0 )* ) + // InternalScope.g:22635:2: ( rule__QualifiedName__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getGroup_1()); + } + // InternalScope.g:22636:2: ( rule__QualifiedName__Group_1__0 )* + loop175: + do { + int alt175=2; + int LA175_0 = input.LA(1); + + if ( (LA175_0==58) ) { + int LA175_2 = input.LA(2); + + if ( (LA175_2==RULE_ID) ) { + int LA175_3 = input.LA(3); + + if ( (synpred250_InternalScope()) ) { + alt175=1; + } + + + } + + + } + + + switch (alt175) { + case 1 : + // InternalScope.g:22636:3: rule__QualifiedName__Group_1__0 + { + pushFollow(FOLLOW_46); + rule__QualifiedName__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop175; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group__1__Impl" + + + // $ANTLR start "rule__QualifiedName__Group_1__0" + // InternalScope.g:22645:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ; + public final void rule__QualifiedName__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22649:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ) + // InternalScope.g:22650:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 + { + pushFollow(FOLLOW_4); + rule__QualifiedName__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__QualifiedName__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group_1__0" + + + // $ANTLR start "rule__QualifiedName__Group_1__0__Impl" + // InternalScope.g:22657:1: rule__QualifiedName__Group_1__0__Impl : ( ( '.' ) ) ; + public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22661:1: ( ( ( '.' ) ) ) + // InternalScope.g:22662:1: ( ( '.' ) ) + { + // InternalScope.g:22662:1: ( ( '.' ) ) + // InternalScope.g:22663:2: ( '.' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); + } + // InternalScope.g:22664:2: ( '.' ) + // InternalScope.g:22664:3: '.' + { + match(input,58,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group_1__0__Impl" + + + // $ANTLR start "rule__QualifiedName__Group_1__1" + // InternalScope.g:22672:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ; + public final void rule__QualifiedName__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22676:1: ( rule__QualifiedName__Group_1__1__Impl ) + // InternalScope.g:22677:2: rule__QualifiedName__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__QualifiedName__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group_1__1" + + + // $ANTLR start "rule__QualifiedName__Group_1__1__Impl" + // InternalScope.g:22683:1: rule__QualifiedName__Group_1__1__Impl : ( ruleValidID ) ; + public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22687:1: ( ( ruleValidID ) ) + // InternalScope.g:22688:1: ( ruleValidID ) + { + // InternalScope.g:22688:1: ( ruleValidID ) + // InternalScope.g:22689:2: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group_1__1__Impl" + + + // $ANTLR start "rule__Number__Group_1__0" + // InternalScope.g:22699:1: rule__Number__Group_1__0 : rule__Number__Group_1__0__Impl rule__Number__Group_1__1 ; + public final void rule__Number__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22703:1: ( rule__Number__Group_1__0__Impl rule__Number__Group_1__1 ) + // InternalScope.g:22704:2: rule__Number__Group_1__0__Impl rule__Number__Group_1__1 + { + pushFollow(FOLLOW_45); + rule__Number__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Number__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1__0" + + + // $ANTLR start "rule__Number__Group_1__0__Impl" + // InternalScope.g:22711:1: rule__Number__Group_1__0__Impl : ( ( rule__Number__Alternatives_1_0 ) ) ; + public final void rule__Number__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22715:1: ( ( ( rule__Number__Alternatives_1_0 ) ) ) + // InternalScope.g:22716:1: ( ( rule__Number__Alternatives_1_0 ) ) + { + // InternalScope.g:22716:1: ( ( rule__Number__Alternatives_1_0 ) ) + // InternalScope.g:22717:2: ( rule__Number__Alternatives_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getAlternatives_1_0()); + } + // InternalScope.g:22718:2: ( rule__Number__Alternatives_1_0 ) + // InternalScope.g:22718:3: rule__Number__Alternatives_1_0 + { + pushFollow(FOLLOW_2); + rule__Number__Alternatives_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getAlternatives_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1__0__Impl" + + + // $ANTLR start "rule__Number__Group_1__1" + // InternalScope.g:22726:1: rule__Number__Group_1__1 : rule__Number__Group_1__1__Impl ; + public final void rule__Number__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22730:1: ( rule__Number__Group_1__1__Impl ) + // InternalScope.g:22731:2: rule__Number__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__Number__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1__1" + + + // $ANTLR start "rule__Number__Group_1__1__Impl" + // InternalScope.g:22737:1: rule__Number__Group_1__1__Impl : ( ( rule__Number__Group_1_1__0 )? ) ; + public final void rule__Number__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22741:1: ( ( ( rule__Number__Group_1_1__0 )? ) ) + // InternalScope.g:22742:1: ( ( rule__Number__Group_1_1__0 )? ) + { + // InternalScope.g:22742:1: ( ( rule__Number__Group_1_1__0 )? ) + // InternalScope.g:22743:2: ( rule__Number__Group_1_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getGroup_1_1()); + } + // InternalScope.g:22744:2: ( rule__Number__Group_1_1__0 )? + int alt176=2; + int LA176_0 = input.LA(1); + + if ( (LA176_0==58) ) { + int LA176_1 = input.LA(2); + + if ( ((LA176_1>=RULE_INT && LA176_1<=RULE_DECIMAL)) ) { + alt176=1; + } + } + switch (alt176) { + case 1 : + // InternalScope.g:22744:3: rule__Number__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__Number__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getGroup_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1__1__Impl" + + + // $ANTLR start "rule__Number__Group_1_1__0" + // InternalScope.g:22753:1: rule__Number__Group_1_1__0 : rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1 ; + public final void rule__Number__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22757:1: ( rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1 ) + // InternalScope.g:22758:2: rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1 + { + pushFollow(FOLLOW_137); + rule__Number__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Number__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1_1__0" + + + // $ANTLR start "rule__Number__Group_1_1__0__Impl" + // InternalScope.g:22765:1: rule__Number__Group_1_1__0__Impl : ( '.' ) ; + public final void rule__Number__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22769:1: ( ( '.' ) ) + // InternalScope.g:22770:1: ( '.' ) + { + // InternalScope.g:22770:1: ( '.' ) + // InternalScope.g:22771:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1_1__0__Impl" + + + // $ANTLR start "rule__Number__Group_1_1__1" + // InternalScope.g:22780:1: rule__Number__Group_1_1__1 : rule__Number__Group_1_1__1__Impl ; + public final void rule__Number__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22784:1: ( rule__Number__Group_1_1__1__Impl ) + // InternalScope.g:22785:2: rule__Number__Group_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__Number__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1_1__1" + + + // $ANTLR start "rule__Number__Group_1_1__1__Impl" + // InternalScope.g:22791:1: rule__Number__Group_1_1__1__Impl : ( ( rule__Number__Alternatives_1_1_1 ) ) ; + public final void rule__Number__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22795:1: ( ( ( rule__Number__Alternatives_1_1_1 ) ) ) + // InternalScope.g:22796:1: ( ( rule__Number__Alternatives_1_1_1 ) ) + { + // InternalScope.g:22796:1: ( ( rule__Number__Alternatives_1_1_1 ) ) + // InternalScope.g:22797:2: ( rule__Number__Alternatives_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNumberAccess().getAlternatives_1_1_1()); + } + // InternalScope.g:22798:2: ( rule__Number__Alternatives_1_1_1 ) + // InternalScope.g:22798:3: rule__Number__Alternatives_1_1_1 + { + pushFollow(FOLLOW_2); + rule__Number__Alternatives_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNumberAccess().getAlternatives_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Number__Group_1_1__1__Impl" + + + // $ANTLR start "rule__JvmTypeReference__Group_0__0" + // InternalScope.g:22807:1: rule__JvmTypeReference__Group_0__0 : rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1 ; + public final void rule__JvmTypeReference__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22811:1: ( rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1 ) + // InternalScope.g:22812:2: rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1 + { + pushFollow(FOLLOW_29); + rule__JvmTypeReference__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0__0" + + + // $ANTLR start "rule__JvmTypeReference__Group_0__0__Impl" + // InternalScope.g:22819:1: rule__JvmTypeReference__Group_0__0__Impl : ( ruleJvmParameterizedTypeReference ) ; + public final void rule__JvmTypeReference__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22823:1: ( ( ruleJvmParameterizedTypeReference ) ) + // InternalScope.g:22824:1: ( ruleJvmParameterizedTypeReference ) + { + // InternalScope.g:22824:1: ( ruleJvmParameterizedTypeReference ) + // InternalScope.g:22825:2: ruleJvmParameterizedTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmParameterizedTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0__0__Impl" + + + // $ANTLR start "rule__JvmTypeReference__Group_0__1" + // InternalScope.g:22834:1: rule__JvmTypeReference__Group_0__1 : rule__JvmTypeReference__Group_0__1__Impl ; + public final void rule__JvmTypeReference__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22838:1: ( rule__JvmTypeReference__Group_0__1__Impl ) + // InternalScope.g:22839:2: rule__JvmTypeReference__Group_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0__1" + + + // $ANTLR start "rule__JvmTypeReference__Group_0__1__Impl" + // InternalScope.g:22845:1: rule__JvmTypeReference__Group_0__1__Impl : ( ( rule__JvmTypeReference__Group_0_1__0 )* ) ; + public final void rule__JvmTypeReference__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22849:1: ( ( ( rule__JvmTypeReference__Group_0_1__0 )* ) ) + // InternalScope.g:22850:1: ( ( rule__JvmTypeReference__Group_0_1__0 )* ) + { + // InternalScope.g:22850:1: ( ( rule__JvmTypeReference__Group_0_1__0 )* ) + // InternalScope.g:22851:2: ( rule__JvmTypeReference__Group_0_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1()); + } + // InternalScope.g:22852:2: ( rule__JvmTypeReference__Group_0_1__0 )* + loop177: + do { + int alt177=2; + int LA177_0 = input.LA(1); + + if ( (LA177_0==82) ) { + int LA177_2 = input.LA(2); + + if ( (LA177_2==83) ) { + int LA177_3 = input.LA(3); + + if ( (synpred252_InternalScope()) ) { + alt177=1; + } + + + } + + + } + + + switch (alt177) { + case 1 : + // InternalScope.g:22852:3: rule__JvmTypeReference__Group_0_1__0 + { + pushFollow(FOLLOW_129); + rule__JvmTypeReference__Group_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop177; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0__1__Impl" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1__0" + // InternalScope.g:22861:1: rule__JvmTypeReference__Group_0_1__0 : rule__JvmTypeReference__Group_0_1__0__Impl ; + public final void rule__JvmTypeReference__Group_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22865:1: ( rule__JvmTypeReference__Group_0_1__0__Impl ) + // InternalScope.g:22866:2: rule__JvmTypeReference__Group_0_1__0__Impl + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1__0" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1__0__Impl" + // InternalScope.g:22872:1: rule__JvmTypeReference__Group_0_1__0__Impl : ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) ; + public final void rule__JvmTypeReference__Group_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22876:1: ( ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) ) + // InternalScope.g:22877:1: ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) + { + // InternalScope.g:22877:1: ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) + // InternalScope.g:22878:2: ( rule__JvmTypeReference__Group_0_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0()); + } + // InternalScope.g:22879:2: ( rule__JvmTypeReference__Group_0_1_0__0 ) + // InternalScope.g:22879:3: rule__JvmTypeReference__Group_0_1_0__0 + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1__0__Impl" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__0" + // InternalScope.g:22888:1: rule__JvmTypeReference__Group_0_1_0__0 : rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1 ; + public final void rule__JvmTypeReference__Group_0_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22892:1: ( rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1 ) + // InternalScope.g:22893:2: rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1 + { + pushFollow(FOLLOW_29); + rule__JvmTypeReference__Group_0_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1_0__0" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__0__Impl" + // InternalScope.g:22900:1: rule__JvmTypeReference__Group_0_1_0__0__Impl : ( () ) ; + public final void rule__JvmTypeReference__Group_0_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22904:1: ( ( () ) ) + // InternalScope.g:22905:1: ( () ) + { + // InternalScope.g:22905:1: ( () ) + // InternalScope.g:22906:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()); + } + // InternalScope.g:22907:2: () + // InternalScope.g:22907:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1_0__0__Impl" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__1" + // InternalScope.g:22915:1: rule__JvmTypeReference__Group_0_1_0__1 : rule__JvmTypeReference__Group_0_1_0__1__Impl ; + public final void rule__JvmTypeReference__Group_0_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22919:1: ( rule__JvmTypeReference__Group_0_1_0__1__Impl ) + // InternalScope.g:22920:2: rule__JvmTypeReference__Group_0_1_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1_0__1" + + + // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__1__Impl" + // InternalScope.g:22926:1: rule__JvmTypeReference__Group_0_1_0__1__Impl : ( ruleArrayBrackets ) ; + public final void rule__JvmTypeReference__Group_0_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22930:1: ( ( ruleArrayBrackets ) ) + // InternalScope.g:22931:1: ( ruleArrayBrackets ) + { + // InternalScope.g:22931:1: ( ruleArrayBrackets ) + // InternalScope.g:22932:2: ruleArrayBrackets + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmTypeReference__Group_0_1_0__1__Impl" + + + // $ANTLR start "rule__ArrayBrackets__Group__0" + // InternalScope.g:22942:1: rule__ArrayBrackets__Group__0 : rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1 ; + public final void rule__ArrayBrackets__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22946:1: ( rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1 ) + // InternalScope.g:22947:2: rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1 + { + pushFollow(FOLLOW_30); + rule__ArrayBrackets__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ArrayBrackets__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayBrackets__Group__0" + + + // $ANTLR start "rule__ArrayBrackets__Group__0__Impl" + // InternalScope.g:22954:1: rule__ArrayBrackets__Group__0__Impl : ( '[' ) ; + public final void rule__ArrayBrackets__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22958:1: ( ( '[' ) ) + // InternalScope.g:22959:1: ( '[' ) + { + // InternalScope.g:22959:1: ( '[' ) + // InternalScope.g:22960:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); + } + match(input,82,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayBrackets__Group__0__Impl" + + + // $ANTLR start "rule__ArrayBrackets__Group__1" + // InternalScope.g:22969:1: rule__ArrayBrackets__Group__1 : rule__ArrayBrackets__Group__1__Impl ; + public final void rule__ArrayBrackets__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22973:1: ( rule__ArrayBrackets__Group__1__Impl ) + // InternalScope.g:22974:2: rule__ArrayBrackets__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__ArrayBrackets__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayBrackets__Group__1" + + + // $ANTLR start "rule__ArrayBrackets__Group__1__Impl" + // InternalScope.g:22980:1: rule__ArrayBrackets__Group__1__Impl : ( ']' ) ; + public final void rule__ArrayBrackets__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:22984:1: ( ( ']' ) ) + // InternalScope.g:22985:1: ( ']' ) + { + // InternalScope.g:22985:1: ( ']' ) + // InternalScope.g:22986:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); + } + match(input,83,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayBrackets__Group__1__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__0" + // InternalScope.g:22996:1: rule__XFunctionTypeRef__Group__0 : rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1 ; + public final void rule__XFunctionTypeRef__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23000:1: ( rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1 ) + // InternalScope.g:23001:2: rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1 + { + pushFollow(FOLLOW_84); + rule__XFunctionTypeRef__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__0" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__0__Impl" + // InternalScope.g:23008:1: rule__XFunctionTypeRef__Group__0__Impl : ( ( rule__XFunctionTypeRef__Group_0__0 )? ) ; + public final void rule__XFunctionTypeRef__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23012:1: ( ( ( rule__XFunctionTypeRef__Group_0__0 )? ) ) + // InternalScope.g:23013:1: ( ( rule__XFunctionTypeRef__Group_0__0 )? ) + { + // InternalScope.g:23013:1: ( ( rule__XFunctionTypeRef__Group_0__0 )? ) + // InternalScope.g:23014:2: ( rule__XFunctionTypeRef__Group_0__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0()); + } + // InternalScope.g:23015:2: ( rule__XFunctionTypeRef__Group_0__0 )? + int alt178=2; + int LA178_0 = input.LA(1); + + if ( (LA178_0==77) ) { + alt178=1; + } + switch (alt178) { + case 1 : + // InternalScope.g:23015:3: rule__XFunctionTypeRef__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__0__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__1" + // InternalScope.g:23023:1: rule__XFunctionTypeRef__Group__1 : rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2 ; + public final void rule__XFunctionTypeRef__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23027:1: ( rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2 ) + // InternalScope.g:23028:2: rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2 + { + pushFollow(FOLLOW_84); + rule__XFunctionTypeRef__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__1" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__1__Impl" + // InternalScope.g:23035:1: rule__XFunctionTypeRef__Group__1__Impl : ( '=>' ) ; + public final void rule__XFunctionTypeRef__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23039:1: ( ( '=>' ) ) + // InternalScope.g:23040:1: ( '=>' ) + { + // InternalScope.g:23040:1: ( '=>' ) + // InternalScope.g:23041:2: '=>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); + } + match(input,51,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__1__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__2" + // InternalScope.g:23050:1: rule__XFunctionTypeRef__Group__2 : rule__XFunctionTypeRef__Group__2__Impl ; + public final void rule__XFunctionTypeRef__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23054:1: ( rule__XFunctionTypeRef__Group__2__Impl ) + // InternalScope.g:23055:2: rule__XFunctionTypeRef__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__2" + + + // $ANTLR start "rule__XFunctionTypeRef__Group__2__Impl" + // InternalScope.g:23061:1: rule__XFunctionTypeRef__Group__2__Impl : ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) ; + public final void rule__XFunctionTypeRef__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23065:1: ( ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) ) + // InternalScope.g:23066:1: ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) + { + // InternalScope.g:23066:1: ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) + // InternalScope.g:23067:2: ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2()); + } + // InternalScope.g:23068:2: ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) + // InternalScope.g:23068:3: rule__XFunctionTypeRef__ReturnTypeAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__ReturnTypeAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group__2__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__0" + // InternalScope.g:23077:1: rule__XFunctionTypeRef__Group_0__0 : rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1 ; + public final void rule__XFunctionTypeRef__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23081:1: ( rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1 ) + // InternalScope.g:23082:2: rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1 + { + pushFollow(FOLLOW_138); + rule__XFunctionTypeRef__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__0" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__0__Impl" + // InternalScope.g:23089:1: rule__XFunctionTypeRef__Group_0__0__Impl : ( '(' ) ; + public final void rule__XFunctionTypeRef__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23093:1: ( ( '(' ) ) + // InternalScope.g:23094:1: ( '(' ) + { + // InternalScope.g:23094:1: ( '(' ) + // InternalScope.g:23095:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__0__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__1" + // InternalScope.g:23104:1: rule__XFunctionTypeRef__Group_0__1 : rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2 ; + public final void rule__XFunctionTypeRef__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23108:1: ( rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2 ) + // InternalScope.g:23109:2: rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2 + { + pushFollow(FOLLOW_138); + rule__XFunctionTypeRef__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__1" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__1__Impl" + // InternalScope.g:23116:1: rule__XFunctionTypeRef__Group_0__1__Impl : ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) ; + public final void rule__XFunctionTypeRef__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23120:1: ( ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) ) + // InternalScope.g:23121:1: ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) + { + // InternalScope.g:23121:1: ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) + // InternalScope.g:23122:2: ( rule__XFunctionTypeRef__Group_0_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1()); + } + // InternalScope.g:23123:2: ( rule__XFunctionTypeRef__Group_0_1__0 )? + int alt179=2; + int LA179_0 = input.LA(1); + + if ( (LA179_0==RULE_ID||LA179_0==51||LA179_0==77) ) { + alt179=1; + } + switch (alt179) { + case 1 : + // InternalScope.g:23123:3: rule__XFunctionTypeRef__Group_0_1__0 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__1__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__2" + // InternalScope.g:23131:1: rule__XFunctionTypeRef__Group_0__2 : rule__XFunctionTypeRef__Group_0__2__Impl ; + public final void rule__XFunctionTypeRef__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23135:1: ( rule__XFunctionTypeRef__Group_0__2__Impl ) + // InternalScope.g:23136:2: rule__XFunctionTypeRef__Group_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__2" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0__2__Impl" + // InternalScope.g:23142:1: rule__XFunctionTypeRef__Group_0__2__Impl : ( ')' ) ; + public final void rule__XFunctionTypeRef__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23146:1: ( ( ')' ) ) + // InternalScope.g:23147:1: ( ')' ) + { + // InternalScope.g:23147:1: ( ')' ) + // InternalScope.g:23148:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); + } + match(input,78,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0__2__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__0" + // InternalScope.g:23158:1: rule__XFunctionTypeRef__Group_0_1__0 : rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1 ; + public final void rule__XFunctionTypeRef__Group_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23162:1: ( rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1 ) + // InternalScope.g:23163:2: rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1 + { + pushFollow(FOLLOW_71); + rule__XFunctionTypeRef__Group_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1__0" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__0__Impl" + // InternalScope.g:23170:1: rule__XFunctionTypeRef__Group_0_1__0__Impl : ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) ; + public final void rule__XFunctionTypeRef__Group_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23174:1: ( ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) ) + // InternalScope.g:23175:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) + { + // InternalScope.g:23175:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) + // InternalScope.g:23176:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0()); + } + // InternalScope.g:23177:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) + // InternalScope.g:23177:3: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1__0__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__1" + // InternalScope.g:23185:1: rule__XFunctionTypeRef__Group_0_1__1 : rule__XFunctionTypeRef__Group_0_1__1__Impl ; + public final void rule__XFunctionTypeRef__Group_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23189:1: ( rule__XFunctionTypeRef__Group_0_1__1__Impl ) + // InternalScope.g:23190:2: rule__XFunctionTypeRef__Group_0_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1__1" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__1__Impl" + // InternalScope.g:23196:1: rule__XFunctionTypeRef__Group_0_1__1__Impl : ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) ; + public final void rule__XFunctionTypeRef__Group_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23200:1: ( ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) ) + // InternalScope.g:23201:1: ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) + { + // InternalScope.g:23201:1: ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) + // InternalScope.g:23202:2: ( rule__XFunctionTypeRef__Group_0_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1()); + } + // InternalScope.g:23203:2: ( rule__XFunctionTypeRef__Group_0_1_1__0 )* + loop180: + do { + int alt180=2; + int LA180_0 = input.LA(1); + + if ( (LA180_0==86) ) { + alt180=1; + } + + + switch (alt180) { + case 1 : + // InternalScope.g:23203:3: rule__XFunctionTypeRef__Group_0_1_1__0 + { + pushFollow(FOLLOW_39); + rule__XFunctionTypeRef__Group_0_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop180; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1__1__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__0" + // InternalScope.g:23212:1: rule__XFunctionTypeRef__Group_0_1_1__0 : rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1 ; + public final void rule__XFunctionTypeRef__Group_0_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23216:1: ( rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1 ) + // InternalScope.g:23217:2: rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1 + { + pushFollow(FOLLOW_84); + rule__XFunctionTypeRef__Group_0_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1_1__0" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__0__Impl" + // InternalScope.g:23224:1: rule__XFunctionTypeRef__Group_0_1_1__0__Impl : ( ',' ) ; + public final void rule__XFunctionTypeRef__Group_0_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23228:1: ( ( ',' ) ) + // InternalScope.g:23229:1: ( ',' ) + { + // InternalScope.g:23229:1: ( ',' ) + // InternalScope.g:23230:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1_1__0__Impl" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__1" + // InternalScope.g:23239:1: rule__XFunctionTypeRef__Group_0_1_1__1 : rule__XFunctionTypeRef__Group_0_1_1__1__Impl ; + public final void rule__XFunctionTypeRef__Group_0_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23243:1: ( rule__XFunctionTypeRef__Group_0_1_1__1__Impl ) + // InternalScope.g:23244:2: rule__XFunctionTypeRef__Group_0_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__Group_0_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1_1__1" + + + // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__1__Impl" + // InternalScope.g:23250:1: rule__XFunctionTypeRef__Group_0_1_1__1__Impl : ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) ; + public final void rule__XFunctionTypeRef__Group_0_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23254:1: ( ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) ) + // InternalScope.g:23255:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) + { + // InternalScope.g:23255:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) + // InternalScope.g:23256:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1()); + } + // InternalScope.g:23257:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) + // InternalScope.g:23257:3: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 + { + pushFollow(FOLLOW_2); + rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__Group_0_1_1__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group__0" + // InternalScope.g:23266:1: rule__JvmParameterizedTypeReference__Group__0 : rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1 ; + public final void rule__JvmParameterizedTypeReference__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23270:1: ( rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1 ) + // InternalScope.g:23271:2: rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1 + { + pushFollow(FOLLOW_78); + rule__JvmParameterizedTypeReference__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group__0__Impl" + // InternalScope.g:23278:1: rule__JvmParameterizedTypeReference__Group__0__Impl : ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23282:1: ( ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) ) + // InternalScope.g:23283:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) + { + // InternalScope.g:23283:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) + // InternalScope.g:23284:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0()); + } + // InternalScope.g:23285:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) + // InternalScope.g:23285:3: rule__JvmParameterizedTypeReference__TypeAssignment_0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__TypeAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group__1" + // InternalScope.g:23293:1: rule__JvmParameterizedTypeReference__Group__1 : rule__JvmParameterizedTypeReference__Group__1__Impl ; + public final void rule__JvmParameterizedTypeReference__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23297:1: ( rule__JvmParameterizedTypeReference__Group__1__Impl ) + // InternalScope.g:23298:2: rule__JvmParameterizedTypeReference__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group__1__Impl" + // InternalScope.g:23304:1: rule__JvmParameterizedTypeReference__Group__1__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) ; + public final void rule__JvmParameterizedTypeReference__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23308:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) ) + // InternalScope.g:23309:1: ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) + { + // InternalScope.g:23309:1: ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) + // InternalScope.g:23310:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1()); + } + // InternalScope.g:23311:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )? + int alt181=2; + alt181 = dfa181.predict(input); + switch (alt181) { + case 1 : + // InternalScope.g:23311:3: rule__JvmParameterizedTypeReference__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__0" + // InternalScope.g:23320:1: rule__JvmParameterizedTypeReference__Group_1__0 : rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23324:1: ( rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1 ) + // InternalScope.g:23325:2: rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1 + { + pushFollow(FOLLOW_101); + rule__JvmParameterizedTypeReference__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__0__Impl" + // InternalScope.g:23332:1: rule__JvmParameterizedTypeReference__Group_1__0__Impl : ( ( '<' ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23336:1: ( ( ( '<' ) ) ) + // InternalScope.g:23337:1: ( ( '<' ) ) + { + // InternalScope.g:23337:1: ( ( '<' ) ) + // InternalScope.g:23338:2: ( '<' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); + } + // InternalScope.g:23339:2: ( '<' ) + // InternalScope.g:23339:3: '<' + { + match(input,22,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__1" + // InternalScope.g:23347:1: rule__JvmParameterizedTypeReference__Group_1__1 : rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2 ; + public final void rule__JvmParameterizedTypeReference__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23351:1: ( rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2 ) + // InternalScope.g:23352:2: rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2 + { + pushFollow(FOLLOW_102); + rule__JvmParameterizedTypeReference__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__1__Impl" + // InternalScope.g:23359:1: rule__JvmParameterizedTypeReference__Group_1__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23363:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) ) + // InternalScope.g:23364:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) + { + // InternalScope.g:23364:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) + // InternalScope.g:23365:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1()); + } + // InternalScope.g:23366:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) + // InternalScope.g:23366:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__2" + // InternalScope.g:23374:1: rule__JvmParameterizedTypeReference__Group_1__2 : rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3 ; + public final void rule__JvmParameterizedTypeReference__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23378:1: ( rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3 ) + // InternalScope.g:23379:2: rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3 + { + pushFollow(FOLLOW_102); + rule__JvmParameterizedTypeReference__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__2" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__2__Impl" + // InternalScope.g:23386:1: rule__JvmParameterizedTypeReference__Group_1__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) ; + public final void rule__JvmParameterizedTypeReference__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23390:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) ) + // InternalScope.g:23391:1: ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) + { + // InternalScope.g:23391:1: ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) + // InternalScope.g:23392:2: ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2()); + } + // InternalScope.g:23393:2: ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* + loop182: + do { + int alt182=2; + int LA182_0 = input.LA(1); + + if ( (LA182_0==86) ) { + alt182=1; + } + + + switch (alt182) { + case 1 : + // InternalScope.g:23393:3: rule__JvmParameterizedTypeReference__Group_1_2__0 + { + pushFollow(FOLLOW_39); + rule__JvmParameterizedTypeReference__Group_1_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop182; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__2__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__3" + // InternalScope.g:23401:1: rule__JvmParameterizedTypeReference__Group_1__3 : rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4 ; + public final void rule__JvmParameterizedTypeReference__Group_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23405:1: ( rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4 ) + // InternalScope.g:23406:2: rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4 + { + pushFollow(FOLLOW_45); + rule__JvmParameterizedTypeReference__Group_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__3" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__3__Impl" + // InternalScope.g:23413:1: rule__JvmParameterizedTypeReference__Group_1__3__Impl : ( '>' ) ; + public final void rule__JvmParameterizedTypeReference__Group_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23417:1: ( ( '>' ) ) + // InternalScope.g:23418:1: ( '>' ) + { + // InternalScope.g:23418:1: ( '>' ) + // InternalScope.g:23419:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__3__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__4" + // InternalScope.g:23428:1: rule__JvmParameterizedTypeReference__Group_1__4 : rule__JvmParameterizedTypeReference__Group_1__4__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23432:1: ( rule__JvmParameterizedTypeReference__Group_1__4__Impl ) + // InternalScope.g:23433:2: rule__JvmParameterizedTypeReference__Group_1__4__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__4" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__4__Impl" + // InternalScope.g:23439:1: rule__JvmParameterizedTypeReference__Group_1__4__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) ; + public final void rule__JvmParameterizedTypeReference__Group_1__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23443:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) ) + // InternalScope.g:23444:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) + { + // InternalScope.g:23444:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) + // InternalScope.g:23445:2: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4()); + } + // InternalScope.g:23446:2: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* + loop183: + do { + int alt183=2; + int LA183_0 = input.LA(1); + + if ( (LA183_0==58) ) { + int LA183_2 = input.LA(2); + + if ( (LA183_2==RULE_ID) ) { + int LA183_3 = input.LA(3); + + if ( (synpred258_InternalScope()) ) { + alt183=1; + } + + + } + + + } + + + switch (alt183) { + case 1 : + // InternalScope.g:23446:3: rule__JvmParameterizedTypeReference__Group_1_4__0 + { + pushFollow(FOLLOW_46); + rule__JvmParameterizedTypeReference__Group_1_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop183; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1__4__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__0" + // InternalScope.g:23455:1: rule__JvmParameterizedTypeReference__Group_1_2__0 : rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23459:1: ( rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1 ) + // InternalScope.g:23460:2: rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1 + { + pushFollow(FOLLOW_101); + rule__JvmParameterizedTypeReference__Group_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_2__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__0__Impl" + // InternalScope.g:23467:1: rule__JvmParameterizedTypeReference__Group_1_2__0__Impl : ( ',' ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23471:1: ( ( ',' ) ) + // InternalScope.g:23472:1: ( ',' ) + { + // InternalScope.g:23472:1: ( ',' ) + // InternalScope.g:23473:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_2__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__1" + // InternalScope.g:23482:1: rule__JvmParameterizedTypeReference__Group_1_2__1 : rule__JvmParameterizedTypeReference__Group_1_2__1__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23486:1: ( rule__JvmParameterizedTypeReference__Group_1_2__1__Impl ) + // InternalScope.g:23487:2: rule__JvmParameterizedTypeReference__Group_1_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_2__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__1__Impl" + // InternalScope.g:23493:1: rule__JvmParameterizedTypeReference__Group_1_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23497:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) ) + // InternalScope.g:23498:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) + { + // InternalScope.g:23498:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) + // InternalScope.g:23499:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1()); + } + // InternalScope.g:23500:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) + // InternalScope.g:23500:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_2__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__0" + // InternalScope.g:23509:1: rule__JvmParameterizedTypeReference__Group_1_4__0 : rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23513:1: ( rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1 ) + // InternalScope.g:23514:2: rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1 + { + pushFollow(FOLLOW_4); + rule__JvmParameterizedTypeReference__Group_1_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__0__Impl" + // InternalScope.g:23521:1: rule__JvmParameterizedTypeReference__Group_1_4__0__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23525:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) ) + // InternalScope.g:23526:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) + { + // InternalScope.g:23526:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) + // InternalScope.g:23527:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0()); + } + // InternalScope.g:23528:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) + // InternalScope.g:23528:3: rule__JvmParameterizedTypeReference__Group_1_4_0__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__1" + // InternalScope.g:23536:1: rule__JvmParameterizedTypeReference__Group_1_4__1 : rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23540:1: ( rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2 ) + // InternalScope.g:23541:2: rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2 + { + pushFollow(FOLLOW_78); + rule__JvmParameterizedTypeReference__Group_1_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__1__Impl" + // InternalScope.g:23548:1: rule__JvmParameterizedTypeReference__Group_1_4__1__Impl : ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23552:1: ( ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) ) + // InternalScope.g:23553:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) + { + // InternalScope.g:23553:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) + // InternalScope.g:23554:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1()); + } + // InternalScope.g:23555:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) + // InternalScope.g:23555:3: rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__2" + // InternalScope.g:23563:1: rule__JvmParameterizedTypeReference__Group_1_4__2 : rule__JvmParameterizedTypeReference__Group_1_4__2__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23567:1: ( rule__JvmParameterizedTypeReference__Group_1_4__2__Impl ) + // InternalScope.g:23568:2: rule__JvmParameterizedTypeReference__Group_1_4__2__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__2" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__2__Impl" + // InternalScope.g:23574:1: rule__JvmParameterizedTypeReference__Group_1_4__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23578:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) ) + // InternalScope.g:23579:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) + { + // InternalScope.g:23579:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) + // InternalScope.g:23580:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2()); + } + // InternalScope.g:23581:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? + int alt184=2; + alt184 = dfa184.predict(input); + switch (alt184) { + case 1 : + // InternalScope.g:23581:3: rule__JvmParameterizedTypeReference__Group_1_4_2__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4__2__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0__0" + // InternalScope.g:23590:1: rule__JvmParameterizedTypeReference__Group_1_4_0__0 : rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23594:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl ) + // InternalScope.g:23595:2: rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl" + // InternalScope.g:23601:1: rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23605:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) ) + // InternalScope.g:23606:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) + { + // InternalScope.g:23606:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) + // InternalScope.g:23607:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0()); + } + // InternalScope.g:23608:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) + // InternalScope.g:23608:3: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0" + // InternalScope.g:23617:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 : rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23621:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 ) + // InternalScope.g:23622:2: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 + { + pushFollow(FOLLOW_45); + rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl" + // InternalScope.g:23629:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl : ( () ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23633:1: ( ( () ) ) + // InternalScope.g:23634:1: ( () ) + { + // InternalScope.g:23634:1: ( () ) + // InternalScope.g:23635:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()); + } + // InternalScope.g:23636:2: () + // InternalScope.g:23636:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__1" + // InternalScope.g:23644:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 : rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23648:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl ) + // InternalScope.g:23649:2: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0_0__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl" + // InternalScope.g:23655:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl : ( '.' ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23659:1: ( ( '.' ) ) + // InternalScope.g:23660:1: ( '.' ) + { + // InternalScope.g:23660:1: ( '.' ) + // InternalScope.g:23661:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__0" + // InternalScope.g:23671:1: rule__JvmParameterizedTypeReference__Group_1_4_2__0 : rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23675:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1 ) + // InternalScope.g:23676:2: rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1 + { + pushFollow(FOLLOW_101); + rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl" + // InternalScope.g:23683:1: rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl : ( ( '<' ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23687:1: ( ( ( '<' ) ) ) + // InternalScope.g:23688:1: ( ( '<' ) ) + { + // InternalScope.g:23688:1: ( ( '<' ) ) + // InternalScope.g:23689:2: ( '<' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); + } + // InternalScope.g:23690:2: ( '<' ) + // InternalScope.g:23690:3: '<' + { + match(input,22,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__1" + // InternalScope.g:23698:1: rule__JvmParameterizedTypeReference__Group_1_4_2__1 : rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23702:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2 ) + // InternalScope.g:23703:2: rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2 + { + pushFollow(FOLLOW_102); + rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl" + // InternalScope.g:23710:1: rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23714:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) ) + // InternalScope.g:23715:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) + { + // InternalScope.g:23715:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) + // InternalScope.g:23716:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1()); + } + // InternalScope.g:23717:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) + // InternalScope.g:23717:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__2" + // InternalScope.g:23725:1: rule__JvmParameterizedTypeReference__Group_1_4_2__2 : rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23729:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3 ) + // InternalScope.g:23730:2: rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3 + { + pushFollow(FOLLOW_102); + rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__2" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl" + // InternalScope.g:23737:1: rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23741:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) ) + // InternalScope.g:23742:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) + { + // InternalScope.g:23742:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) + // InternalScope.g:23743:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2()); + } + // InternalScope.g:23744:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* + loop185: + do { + int alt185=2; + int LA185_0 = input.LA(1); + + if ( (LA185_0==86) ) { + alt185=1; + } + + + switch (alt185) { + case 1 : + // InternalScope.g:23744:3: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 + { + pushFollow(FOLLOW_39); + rule__JvmParameterizedTypeReference__Group_1_4_2_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop185; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__3" + // InternalScope.g:23752:1: rule__JvmParameterizedTypeReference__Group_1_4_2__3 : rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23756:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl ) + // InternalScope.g:23757:2: rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__3" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl" + // InternalScope.g:23763:1: rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl : ( '>' ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23767:1: ( ( '>' ) ) + // InternalScope.g:23768:1: ( '>' ) + { + // InternalScope.g:23768:1: ( '>' ) + // InternalScope.g:23769:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); + } + match(input,21,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0" + // InternalScope.g:23779:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 : rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23783:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 ) + // InternalScope.g:23784:2: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 + { + pushFollow(FOLLOW_101); + rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl" + // InternalScope.g:23791:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl : ( ',' ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23795:1: ( ( ',' ) ) + // InternalScope.g:23796:1: ( ',' ) + { + // InternalScope.g:23796:1: ( ',' ) + // InternalScope.g:23797:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__1" + // InternalScope.g:23806:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 : rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23810:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl ) + // InternalScope.g:23811:2: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2_2__1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl" + // InternalScope.g:23817:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) ; + public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23821:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) ) + // InternalScope.g:23822:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) + { + // InternalScope.g:23822:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) + // InternalScope.g:23823:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1()); + } + // InternalScope.g:23824:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) + // InternalScope.g:23824:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__0" + // InternalScope.g:23833:1: rule__JvmWildcardTypeReference__Group__0 : rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1 ; + public final void rule__JvmWildcardTypeReference__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23837:1: ( rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1 ) + // InternalScope.g:23838:2: rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1 + { + pushFollow(FOLLOW_101); + rule__JvmWildcardTypeReference__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__0" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__0__Impl" + // InternalScope.g:23845:1: rule__JvmWildcardTypeReference__Group__0__Impl : ( () ) ; + public final void rule__JvmWildcardTypeReference__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23849:1: ( ( () ) ) + // InternalScope.g:23850:1: ( () ) + { + // InternalScope.g:23850:1: ( () ) + // InternalScope.g:23851:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0()); + } + // InternalScope.g:23852:2: () + // InternalScope.g:23852:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__0__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__1" + // InternalScope.g:23860:1: rule__JvmWildcardTypeReference__Group__1 : rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2 ; + public final void rule__JvmWildcardTypeReference__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23864:1: ( rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2 ) + // InternalScope.g:23865:2: rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2 + { + pushFollow(FOLLOW_139); + rule__JvmWildcardTypeReference__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__1" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__1__Impl" + // InternalScope.g:23872:1: rule__JvmWildcardTypeReference__Group__1__Impl : ( '?' ) ; + public final void rule__JvmWildcardTypeReference__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23876:1: ( ( '?' ) ) + // InternalScope.g:23877:1: ( '?' ) + { + // InternalScope.g:23877:1: ( '?' ) + // InternalScope.g:23878:2: '?' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); + } + match(input,96,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__1__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__2" + // InternalScope.g:23887:1: rule__JvmWildcardTypeReference__Group__2 : rule__JvmWildcardTypeReference__Group__2__Impl ; + public final void rule__JvmWildcardTypeReference__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23891:1: ( rule__JvmWildcardTypeReference__Group__2__Impl ) + // InternalScope.g:23892:2: rule__JvmWildcardTypeReference__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__2" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group__2__Impl" + // InternalScope.g:23898:1: rule__JvmWildcardTypeReference__Group__2__Impl : ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) ; + public final void rule__JvmWildcardTypeReference__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23902:1: ( ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) ) + // InternalScope.g:23903:1: ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) + { + // InternalScope.g:23903:1: ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) + // InternalScope.g:23904:2: ( rule__JvmWildcardTypeReference__Alternatives_2 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2()); + } + // InternalScope.g:23905:2: ( rule__JvmWildcardTypeReference__Alternatives_2 )? + int alt186=2; + int LA186_0 = input.LA(1); + + if ( (LA186_0==60||LA186_0==64) ) { + alt186=1; + } + switch (alt186) { + case 1 : + // InternalScope.g:23905:3: rule__JvmWildcardTypeReference__Alternatives_2 + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Alternatives_2(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group__2__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__0" + // InternalScope.g:23914:1: rule__JvmWildcardTypeReference__Group_2_0__0 : rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1 ; + public final void rule__JvmWildcardTypeReference__Group_2_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23918:1: ( rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1 ) + // InternalScope.g:23919:2: rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1 + { + pushFollow(FOLLOW_140); + rule__JvmWildcardTypeReference__Group_2_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_0__0" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__0__Impl" + // InternalScope.g:23926:1: rule__JvmWildcardTypeReference__Group_2_0__0__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) ; + public final void rule__JvmWildcardTypeReference__Group_2_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23930:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) ) + // InternalScope.g:23931:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) + { + // InternalScope.g:23931:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) + // InternalScope.g:23932:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0()); + } + // InternalScope.g:23933:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) + // InternalScope.g:23933:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_0__0__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__1" + // InternalScope.g:23941:1: rule__JvmWildcardTypeReference__Group_2_0__1 : rule__JvmWildcardTypeReference__Group_2_0__1__Impl ; + public final void rule__JvmWildcardTypeReference__Group_2_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23945:1: ( rule__JvmWildcardTypeReference__Group_2_0__1__Impl ) + // InternalScope.g:23946:2: rule__JvmWildcardTypeReference__Group_2_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_0__1" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__1__Impl" + // InternalScope.g:23952:1: rule__JvmWildcardTypeReference__Group_2_0__1__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) ; + public final void rule__JvmWildcardTypeReference__Group_2_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23956:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) ) + // InternalScope.g:23957:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) + { + // InternalScope.g:23957:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) + // InternalScope.g:23958:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1()); + } + // InternalScope.g:23959:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* + loop187: + do { + int alt187=2; + int LA187_0 = input.LA(1); + + if ( (LA187_0==116) ) { + alt187=1; + } + + + switch (alt187) { + case 1 : + // InternalScope.g:23959:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 + { + pushFollow(FOLLOW_141); + rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop187; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_0__1__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__0" + // InternalScope.g:23968:1: rule__JvmWildcardTypeReference__Group_2_1__0 : rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1 ; + public final void rule__JvmWildcardTypeReference__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23972:1: ( rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1 ) + // InternalScope.g:23973:2: rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1 + { + pushFollow(FOLLOW_140); + rule__JvmWildcardTypeReference__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_1__0" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__0__Impl" + // InternalScope.g:23980:1: rule__JvmWildcardTypeReference__Group_2_1__0__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) ; + public final void rule__JvmWildcardTypeReference__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23984:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) ) + // InternalScope.g:23985:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) + { + // InternalScope.g:23985:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) + // InternalScope.g:23986:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0()); + } + // InternalScope.g:23987:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) + // InternalScope.g:23987:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_1__0__Impl" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__1" + // InternalScope.g:23995:1: rule__JvmWildcardTypeReference__Group_2_1__1 : rule__JvmWildcardTypeReference__Group_2_1__1__Impl ; + public final void rule__JvmWildcardTypeReference__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:23999:1: ( rule__JvmWildcardTypeReference__Group_2_1__1__Impl ) + // InternalScope.g:24000:2: rule__JvmWildcardTypeReference__Group_2_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmWildcardTypeReference__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_1__1" + + + // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__1__Impl" + // InternalScope.g:24006:1: rule__JvmWildcardTypeReference__Group_2_1__1__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) ; + public final void rule__JvmWildcardTypeReference__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24010:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) ) + // InternalScope.g:24011:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) + { + // InternalScope.g:24011:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) + // InternalScope.g:24012:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1()); + } + // InternalScope.g:24013:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* + loop188: + do { + int alt188=2; + int LA188_0 = input.LA(1); + + if ( (LA188_0==116) ) { + alt188=1; + } + + + switch (alt188) { + case 1 : + // InternalScope.g:24013:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 + { + pushFollow(FOLLOW_141); + rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop188; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__Group_2_1__1__Impl" + + + // $ANTLR start "rule__JvmUpperBound__Group__0" + // InternalScope.g:24022:1: rule__JvmUpperBound__Group__0 : rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1 ; + public final void rule__JvmUpperBound__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24026:1: ( rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1 ) + // InternalScope.g:24027:2: rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1 + { + pushFollow(FOLLOW_84); + rule__JvmUpperBound__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmUpperBound__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBound__Group__0" + + + // $ANTLR start "rule__JvmUpperBound__Group__0__Impl" + // InternalScope.g:24034:1: rule__JvmUpperBound__Group__0__Impl : ( 'extends' ) ; + public final void rule__JvmUpperBound__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24038:1: ( ( 'extends' ) ) + // InternalScope.g:24039:1: ( 'extends' ) + { + // InternalScope.g:24039:1: ( 'extends' ) + // InternalScope.g:24040:2: 'extends' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); + } + match(input,60,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBound__Group__0__Impl" + + + // $ANTLR start "rule__JvmUpperBound__Group__1" + // InternalScope.g:24049:1: rule__JvmUpperBound__Group__1 : rule__JvmUpperBound__Group__1__Impl ; + public final void rule__JvmUpperBound__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24053:1: ( rule__JvmUpperBound__Group__1__Impl ) + // InternalScope.g:24054:2: rule__JvmUpperBound__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmUpperBound__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBound__Group__1" + + + // $ANTLR start "rule__JvmUpperBound__Group__1__Impl" + // InternalScope.g:24060:1: rule__JvmUpperBound__Group__1__Impl : ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) ; + public final void rule__JvmUpperBound__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24064:1: ( ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) ) + // InternalScope.g:24065:1: ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) + { + // InternalScope.g:24065:1: ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) + // InternalScope.g:24066:2: ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1()); + } + // InternalScope.g:24067:2: ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) + // InternalScope.g:24067:3: rule__JvmUpperBound__TypeReferenceAssignment_1 + { + pushFollow(FOLLOW_2); + rule__JvmUpperBound__TypeReferenceAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBound__Group__1__Impl" + + + // $ANTLR start "rule__JvmUpperBoundAnded__Group__0" + // InternalScope.g:24076:1: rule__JvmUpperBoundAnded__Group__0 : rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1 ; + public final void rule__JvmUpperBoundAnded__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24080:1: ( rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1 ) + // InternalScope.g:24081:2: rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1 + { + pushFollow(FOLLOW_84); + rule__JvmUpperBoundAnded__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmUpperBoundAnded__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBoundAnded__Group__0" + + + // $ANTLR start "rule__JvmUpperBoundAnded__Group__0__Impl" + // InternalScope.g:24088:1: rule__JvmUpperBoundAnded__Group__0__Impl : ( '&' ) ; + public final void rule__JvmUpperBoundAnded__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24092:1: ( ( '&' ) ) + // InternalScope.g:24093:1: ( '&' ) + { + // InternalScope.g:24093:1: ( '&' ) + // InternalScope.g:24094:2: '&' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); + } + match(input,116,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBoundAnded__Group__0__Impl" + + + // $ANTLR start "rule__JvmUpperBoundAnded__Group__1" + // InternalScope.g:24103:1: rule__JvmUpperBoundAnded__Group__1 : rule__JvmUpperBoundAnded__Group__1__Impl ; + public final void rule__JvmUpperBoundAnded__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24107:1: ( rule__JvmUpperBoundAnded__Group__1__Impl ) + // InternalScope.g:24108:2: rule__JvmUpperBoundAnded__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmUpperBoundAnded__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBoundAnded__Group__1" + + + // $ANTLR start "rule__JvmUpperBoundAnded__Group__1__Impl" + // InternalScope.g:24114:1: rule__JvmUpperBoundAnded__Group__1__Impl : ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) ; + public final void rule__JvmUpperBoundAnded__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24118:1: ( ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) ) + // InternalScope.g:24119:1: ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) + { + // InternalScope.g:24119:1: ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) + // InternalScope.g:24120:2: ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1()); + } + // InternalScope.g:24121:2: ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) + // InternalScope.g:24121:3: rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 + { + pushFollow(FOLLOW_2); + rule__JvmUpperBoundAnded__TypeReferenceAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBoundAnded__Group__1__Impl" + + + // $ANTLR start "rule__JvmLowerBound__Group__0" + // InternalScope.g:24130:1: rule__JvmLowerBound__Group__0 : rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1 ; + public final void rule__JvmLowerBound__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24134:1: ( rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1 ) + // InternalScope.g:24135:2: rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1 + { + pushFollow(FOLLOW_84); + rule__JvmLowerBound__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmLowerBound__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBound__Group__0" + + + // $ANTLR start "rule__JvmLowerBound__Group__0__Impl" + // InternalScope.g:24142:1: rule__JvmLowerBound__Group__0__Impl : ( 'super' ) ; + public final void rule__JvmLowerBound__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24146:1: ( ( 'super' ) ) + // InternalScope.g:24147:1: ( 'super' ) + { + // InternalScope.g:24147:1: ( 'super' ) + // InternalScope.g:24148:2: 'super' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); + } + match(input,64,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBound__Group__0__Impl" + + + // $ANTLR start "rule__JvmLowerBound__Group__1" + // InternalScope.g:24157:1: rule__JvmLowerBound__Group__1 : rule__JvmLowerBound__Group__1__Impl ; + public final void rule__JvmLowerBound__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24161:1: ( rule__JvmLowerBound__Group__1__Impl ) + // InternalScope.g:24162:2: rule__JvmLowerBound__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmLowerBound__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBound__Group__1" + + + // $ANTLR start "rule__JvmLowerBound__Group__1__Impl" + // InternalScope.g:24168:1: rule__JvmLowerBound__Group__1__Impl : ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) ; + public final void rule__JvmLowerBound__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24172:1: ( ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) ) + // InternalScope.g:24173:1: ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) + { + // InternalScope.g:24173:1: ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) + // InternalScope.g:24174:2: ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1()); + } + // InternalScope.g:24175:2: ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) + // InternalScope.g:24175:3: rule__JvmLowerBound__TypeReferenceAssignment_1 + { + pushFollow(FOLLOW_2); + rule__JvmLowerBound__TypeReferenceAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBound__Group__1__Impl" + + + // $ANTLR start "rule__JvmLowerBoundAnded__Group__0" + // InternalScope.g:24184:1: rule__JvmLowerBoundAnded__Group__0 : rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1 ; + public final void rule__JvmLowerBoundAnded__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24188:1: ( rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1 ) + // InternalScope.g:24189:2: rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1 + { + pushFollow(FOLLOW_84); + rule__JvmLowerBoundAnded__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__JvmLowerBoundAnded__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBoundAnded__Group__0" + + + // $ANTLR start "rule__JvmLowerBoundAnded__Group__0__Impl" + // InternalScope.g:24196:1: rule__JvmLowerBoundAnded__Group__0__Impl : ( '&' ) ; + public final void rule__JvmLowerBoundAnded__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24200:1: ( ( '&' ) ) + // InternalScope.g:24201:1: ( '&' ) + { + // InternalScope.g:24201:1: ( '&' ) + // InternalScope.g:24202:2: '&' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); + } + match(input,116,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBoundAnded__Group__0__Impl" + + + // $ANTLR start "rule__JvmLowerBoundAnded__Group__1" + // InternalScope.g:24211:1: rule__JvmLowerBoundAnded__Group__1 : rule__JvmLowerBoundAnded__Group__1__Impl ; + public final void rule__JvmLowerBoundAnded__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24215:1: ( rule__JvmLowerBoundAnded__Group__1__Impl ) + // InternalScope.g:24216:2: rule__JvmLowerBoundAnded__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__JvmLowerBoundAnded__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBoundAnded__Group__1" + + + // $ANTLR start "rule__JvmLowerBoundAnded__Group__1__Impl" + // InternalScope.g:24222:1: rule__JvmLowerBoundAnded__Group__1__Impl : ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) ; + public final void rule__JvmLowerBoundAnded__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24226:1: ( ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) ) + // InternalScope.g:24227:1: ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) + { + // InternalScope.g:24227:1: ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) + // InternalScope.g:24228:2: ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1()); + } + // InternalScope.g:24229:2: ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) + // InternalScope.g:24229:3: rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 + { + pushFollow(FOLLOW_2); + rule__JvmLowerBoundAnded__TypeReferenceAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBoundAnded__Group__1__Impl" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__0" + // InternalScope.g:24238:1: rule__QualifiedNameWithWildcard__Group__0 : rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 ; + public final void rule__QualifiedNameWithWildcard__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24242:1: ( rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 ) + // InternalScope.g:24243:2: rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 + { + pushFollow(FOLLOW_45); + rule__QualifiedNameWithWildcard__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__QualifiedNameWithWildcard__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__0" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__0__Impl" + // InternalScope.g:24250:1: rule__QualifiedNameWithWildcard__Group__0__Impl : ( ruleQualifiedName ) ; + public final void rule__QualifiedNameWithWildcard__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24254:1: ( ( ruleQualifiedName ) ) + // InternalScope.g:24255:1: ( ruleQualifiedName ) + { + // InternalScope.g:24255:1: ( ruleQualifiedName ) + // InternalScope.g:24256:2: ruleQualifiedName + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__0__Impl" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__1" + // InternalScope.g:24265:1: rule__QualifiedNameWithWildcard__Group__1 : rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2 ; + public final void rule__QualifiedNameWithWildcard__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24269:1: ( rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2 ) + // InternalScope.g:24270:2: rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2 + { + pushFollow(FOLLOW_142); + rule__QualifiedNameWithWildcard__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__QualifiedNameWithWildcard__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__1" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__1__Impl" + // InternalScope.g:24277:1: rule__QualifiedNameWithWildcard__Group__1__Impl : ( '.' ) ; + public final void rule__QualifiedNameWithWildcard__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24281:1: ( ( '.' ) ) + // InternalScope.g:24282:1: ( '.' ) + { + // InternalScope.g:24282:1: ( '.' ) + // InternalScope.g:24283:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__1__Impl" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__2" + // InternalScope.g:24292:1: rule__QualifiedNameWithWildcard__Group__2 : rule__QualifiedNameWithWildcard__Group__2__Impl ; + public final void rule__QualifiedNameWithWildcard__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24296:1: ( rule__QualifiedNameWithWildcard__Group__2__Impl ) + // InternalScope.g:24297:2: rule__QualifiedNameWithWildcard__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__QualifiedNameWithWildcard__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__2" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__2__Impl" + // InternalScope.g:24303:1: rule__QualifiedNameWithWildcard__Group__2__Impl : ( '*' ) ; + public final void rule__QualifiedNameWithWildcard__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24307:1: ( ( '*' ) ) + // InternalScope.g:24308:1: ( '*' ) + { + // InternalScope.g:24308:1: ( '*' ) + // InternalScope.g:24309:2: '*' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); + } + match(input,25,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__2__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group__0" + // InternalScope.g:24319:1: rule__XImportDeclaration__Group__0 : rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 ; + public final void rule__XImportDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24323:1: ( rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 ) + // InternalScope.g:24324:2: rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 + { + pushFollow(FOLLOW_143); + rule__XImportDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__0" + + + // $ANTLR start "rule__XImportDeclaration__Group__0__Impl" + // InternalScope.g:24331:1: rule__XImportDeclaration__Group__0__Impl : ( 'import' ) ; + public final void rule__XImportDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24335:1: ( ( 'import' ) ) + // InternalScope.g:24336:1: ( 'import' ) + { + // InternalScope.g:24336:1: ( 'import' ) + // InternalScope.g:24337:2: 'import' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); + } + match(input,62,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group__1" + // InternalScope.g:24346:1: rule__XImportDeclaration__Group__1 : rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 ; + public final void rule__XImportDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24350:1: ( rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 ) + // InternalScope.g:24351:2: rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 + { + pushFollow(FOLLOW_18); + rule__XImportDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__1" + + + // $ANTLR start "rule__XImportDeclaration__Group__1__Impl" + // InternalScope.g:24358:1: rule__XImportDeclaration__Group__1__Impl : ( ( rule__XImportDeclaration__Alternatives_1 ) ) ; + public final void rule__XImportDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24362:1: ( ( ( rule__XImportDeclaration__Alternatives_1 ) ) ) + // InternalScope.g:24363:1: ( ( rule__XImportDeclaration__Alternatives_1 ) ) + { + // InternalScope.g:24363:1: ( ( rule__XImportDeclaration__Alternatives_1 ) ) + // InternalScope.g:24364:2: ( rule__XImportDeclaration__Alternatives_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getAlternatives_1()); + } + // InternalScope.g:24365:2: ( rule__XImportDeclaration__Alternatives_1 ) + // InternalScope.g:24365:3: rule__XImportDeclaration__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group__2" + // InternalScope.g:24373:1: rule__XImportDeclaration__Group__2 : rule__XImportDeclaration__Group__2__Impl ; + public final void rule__XImportDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24377:1: ( rule__XImportDeclaration__Group__2__Impl ) + // InternalScope.g:24378:2: rule__XImportDeclaration__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__2" + + + // $ANTLR start "rule__XImportDeclaration__Group__2__Impl" + // InternalScope.g:24384:1: rule__XImportDeclaration__Group__2__Impl : ( ( ';' )? ) ; + public final void rule__XImportDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24388:1: ( ( ( ';' )? ) ) + // InternalScope.g:24389:1: ( ( ';' )? ) + { + // InternalScope.g:24389:1: ( ( ';' )? ) + // InternalScope.g:24390:2: ( ';' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); + } + // InternalScope.g:24391:2: ( ';' )? + int alt189=2; + int LA189_0 = input.LA(1); + + if ( (LA189_0==75) ) { + alt189=1; + } + switch (alt189) { + case 1 : + // InternalScope.g:24391:3: ';' + { + match(input,75,FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__0" + // InternalScope.g:24400:1: rule__XImportDeclaration__Group_1_0__0 : rule__XImportDeclaration__Group_1_0__0__Impl rule__XImportDeclaration__Group_1_0__1 ; + public final void rule__XImportDeclaration__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24404:1: ( rule__XImportDeclaration__Group_1_0__0__Impl rule__XImportDeclaration__Group_1_0__1 ) + // InternalScope.g:24405:2: rule__XImportDeclaration__Group_1_0__0__Impl rule__XImportDeclaration__Group_1_0__1 + { + pushFollow(FOLLOW_144); + rule__XImportDeclaration__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__0" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__0__Impl" + // InternalScope.g:24412:1: rule__XImportDeclaration__Group_1_0__0__Impl : ( ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) ) ; + public final void rule__XImportDeclaration__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24416:1: ( ( ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) ) ) + // InternalScope.g:24417:1: ( ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) ) + { + // InternalScope.g:24417:1: ( ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) ) + // InternalScope.g:24418:2: ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0()); + } + // InternalScope.g:24419:2: ( rule__XImportDeclaration__StaticAssignment_1_0_0 ) + // InternalScope.g:24419:3: rule__XImportDeclaration__StaticAssignment_1_0_0 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__StaticAssignment_1_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__0__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__1" + // InternalScope.g:24427:1: rule__XImportDeclaration__Group_1_0__1 : rule__XImportDeclaration__Group_1_0__1__Impl rule__XImportDeclaration__Group_1_0__2 ; + public final void rule__XImportDeclaration__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24431:1: ( rule__XImportDeclaration__Group_1_0__1__Impl rule__XImportDeclaration__Group_1_0__2 ) + // InternalScope.g:24432:2: rule__XImportDeclaration__Group_1_0__1__Impl rule__XImportDeclaration__Group_1_0__2 + { + pushFollow(FOLLOW_144); + rule__XImportDeclaration__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group_1_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__1" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__1__Impl" + // InternalScope.g:24439:1: rule__XImportDeclaration__Group_1_0__1__Impl : ( ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? ) ; + public final void rule__XImportDeclaration__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24443:1: ( ( ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? ) ) + // InternalScope.g:24444:1: ( ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? ) + { + // InternalScope.g:24444:1: ( ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? ) + // InternalScope.g:24445:2: ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1()); + } + // InternalScope.g:24446:2: ( rule__XImportDeclaration__ExtensionAssignment_1_0_1 )? + int alt190=2; + int LA190_0 = input.LA(1); + + if ( (LA190_0==63) ) { + alt190=1; + } + switch (alt190) { + case 1 : + // InternalScope.g:24446:3: rule__XImportDeclaration__ExtensionAssignment_1_0_1 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__ExtensionAssignment_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__1__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__2" + // InternalScope.g:24454:1: rule__XImportDeclaration__Group_1_0__2 : rule__XImportDeclaration__Group_1_0__2__Impl rule__XImportDeclaration__Group_1_0__3 ; + public final void rule__XImportDeclaration__Group_1_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24458:1: ( rule__XImportDeclaration__Group_1_0__2__Impl rule__XImportDeclaration__Group_1_0__3 ) + // InternalScope.g:24459:2: rule__XImportDeclaration__Group_1_0__2__Impl rule__XImportDeclaration__Group_1_0__3 + { + pushFollow(FOLLOW_25); + rule__XImportDeclaration__Group_1_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group_1_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__2" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__2__Impl" + // InternalScope.g:24466:1: rule__XImportDeclaration__Group_1_0__2__Impl : ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) ) ; + public final void rule__XImportDeclaration__Group_1_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24470:1: ( ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) ) ) + // InternalScope.g:24471:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) ) + { + // InternalScope.g:24471:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) ) + // InternalScope.g:24472:2: ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2()); + } + // InternalScope.g:24473:2: ( rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 ) + // InternalScope.g:24473:3: rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__ImportedTypeAssignment_1_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__2__Impl" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__3" + // InternalScope.g:24481:1: rule__XImportDeclaration__Group_1_0__3 : rule__XImportDeclaration__Group_1_0__3__Impl ; + public final void rule__XImportDeclaration__Group_1_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24485:1: ( rule__XImportDeclaration__Group_1_0__3__Impl ) + // InternalScope.g:24486:2: rule__XImportDeclaration__Group_1_0__3__Impl + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Group_1_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__3" + + + // $ANTLR start "rule__XImportDeclaration__Group_1_0__3__Impl" + // InternalScope.g:24492:1: rule__XImportDeclaration__Group_1_0__3__Impl : ( ( rule__XImportDeclaration__Alternatives_1_0_3 ) ) ; + public final void rule__XImportDeclaration__Group_1_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24496:1: ( ( ( rule__XImportDeclaration__Alternatives_1_0_3 ) ) ) + // InternalScope.g:24497:1: ( ( rule__XImportDeclaration__Alternatives_1_0_3 ) ) + { + // InternalScope.g:24497:1: ( ( rule__XImportDeclaration__Alternatives_1_0_3 ) ) + // InternalScope.g:24498:2: ( rule__XImportDeclaration__Alternatives_1_0_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3()); + } + // InternalScope.g:24499:2: ( rule__XImportDeclaration__Alternatives_1_0_3 ) + // InternalScope.g:24499:3: rule__XImportDeclaration__Alternatives_1_0_3 + { + pushFollow(FOLLOW_2); + rule__XImportDeclaration__Alternatives_1_0_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__Group_1_0__3__Impl" + + + // $ANTLR start "rule__QualifiedNameInStaticImport__Group__0" + // InternalScope.g:24508:1: rule__QualifiedNameInStaticImport__Group__0 : rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1 ; + public final void rule__QualifiedNameInStaticImport__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24512:1: ( rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1 ) + // InternalScope.g:24513:2: rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1 + { + pushFollow(FOLLOW_45); + rule__QualifiedNameInStaticImport__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__QualifiedNameInStaticImport__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameInStaticImport__Group__0" + + + // $ANTLR start "rule__QualifiedNameInStaticImport__Group__0__Impl" + // InternalScope.g:24520:1: rule__QualifiedNameInStaticImport__Group__0__Impl : ( ruleValidID ) ; + public final void rule__QualifiedNameInStaticImport__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24524:1: ( ( ruleValidID ) ) + // InternalScope.g:24525:1: ( ruleValidID ) + { + // InternalScope.g:24525:1: ( ruleValidID ) + // InternalScope.g:24526:2: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameInStaticImport__Group__0__Impl" + + + // $ANTLR start "rule__QualifiedNameInStaticImport__Group__1" + // InternalScope.g:24535:1: rule__QualifiedNameInStaticImport__Group__1 : rule__QualifiedNameInStaticImport__Group__1__Impl ; + public final void rule__QualifiedNameInStaticImport__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24539:1: ( rule__QualifiedNameInStaticImport__Group__1__Impl ) + // InternalScope.g:24540:2: rule__QualifiedNameInStaticImport__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__QualifiedNameInStaticImport__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameInStaticImport__Group__1" + + + // $ANTLR start "rule__QualifiedNameInStaticImport__Group__1__Impl" + // InternalScope.g:24546:1: rule__QualifiedNameInStaticImport__Group__1__Impl : ( '.' ) ; + public final void rule__QualifiedNameInStaticImport__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24550:1: ( ( '.' ) ) + // InternalScope.g:24551:1: ( '.' ) + { + // InternalScope.g:24551:1: ( '.' ) + // InternalScope.g:24552:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameInStaticImport__Group__1__Impl" + + + // $ANTLR start "rule__ScopeModel__NameAssignment_1" + // InternalScope.g:24562:1: rule__ScopeModel__NameAssignment_1 : ( ruleDottedID ) ; + public final void rule__ScopeModel__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24566:1: ( ( ruleDottedID ) ) + // InternalScope.g:24567:2: ( ruleDottedID ) + { + // InternalScope.g:24567:2: ( ruleDottedID ) + // InternalScope.g:24568:3: ruleDottedID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeModelAccess().getNameDottedIDParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleDottedID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeModelAccess().getNameDottedIDParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeModel__NameAssignment_1" + + + // $ANTLR start "rule__ScopeModel__IncludedScopesAssignment_2_1" + // InternalScope.g:24577:1: rule__ScopeModel__IncludedScopesAssignment_2_1 : ( ( ruleDottedID ) ) ; + public final void rule__ScopeModel__IncludedScopesAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24581:1: ( ( ( ruleDottedID ) ) ) + // InternalScope.g:24582:2: ( ( ruleDottedID ) ) + { + // InternalScope.g:24582:2: ( ( ruleDottedID ) ) + // InternalScope.g:24583:3: ( ruleDottedID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeModelAccess().getIncludedScopesScopeModelCrossReference_2_1_0()); + } + // InternalScope.g:24584:3: ( ruleDottedID ) + // InternalScope.g:24585:4: ruleDottedID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeModelAccess().getIncludedScopesScopeModelDottedIDParserRuleCall_2_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleDottedID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeModelAccess().getIncludedScopesScopeModelDottedIDParserRuleCall_2_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeModelAccess().getIncludedScopesScopeModelCrossReference_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeModel__IncludedScopesAssignment_2_1" + + + // $ANTLR start "rule__ScopeModel__ImportsAssignment_3" + // InternalScope.g:24596:1: rule__ScopeModel__ImportsAssignment_3 : ( ruleImport ) ; + public final void rule__ScopeModel__ImportsAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24600:1: ( ( ruleImport ) ) + // InternalScope.g:24601:2: ( ruleImport ) + { + // InternalScope.g:24601:2: ( ruleImport ) + // InternalScope.g:24602:3: ruleImport + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeModelAccess().getImportsImportParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleImport(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeModelAccess().getImportsImportParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeModel__ImportsAssignment_3" + + + // $ANTLR start "rule__ScopeModel__ExtensionsAssignment_4" + // InternalScope.g:24611:1: rule__ScopeModel__ExtensionsAssignment_4 : ( ruleExtension ) ; + public final void rule__ScopeModel__ExtensionsAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24615:1: ( ( ruleExtension ) ) + // InternalScope.g:24616:2: ( ruleExtension ) + { + // InternalScope.g:24616:2: ( ruleExtension ) + // InternalScope.g:24617:3: ruleExtension + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeModelAccess().getExtensionsExtensionParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleExtension(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeModelAccess().getExtensionsExtensionParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeModel__ExtensionsAssignment_4" + + + // $ANTLR start "rule__ScopeModel__InjectionsAssignment_5" + // InternalScope.g:24626:1: rule__ScopeModel__InjectionsAssignment_5 : ( ruleInjection ) ; + public final void rule__ScopeModel__InjectionsAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24630:1: ( ( ruleInjection ) ) + // InternalScope.g:24631:2: ( ruleInjection ) + { + // InternalScope.g:24631:2: ( ruleInjection ) + // InternalScope.g:24632:3: ruleInjection + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeModelAccess().getInjectionsInjectionParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleInjection(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeModelAccess().getInjectionsInjectionParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeModel__InjectionsAssignment_5" + + + // $ANTLR start "rule__ScopeModel__NamingAssignment_6" + // InternalScope.g:24641:1: rule__ScopeModel__NamingAssignment_6 : ( ruleNamingSection ) ; + public final void rule__ScopeModel__NamingAssignment_6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24645:1: ( ( ruleNamingSection ) ) + // InternalScope.g:24646:2: ( ruleNamingSection ) + { + // InternalScope.g:24646:2: ( ruleNamingSection ) + // InternalScope.g:24647:3: ruleNamingSection + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeModelAccess().getNamingNamingSectionParserRuleCall_6_0()); + } + pushFollow(FOLLOW_2); + ruleNamingSection(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeModelAccess().getNamingNamingSectionParserRuleCall_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeModel__NamingAssignment_6" + + + // $ANTLR start "rule__ScopeModel__ScopesAssignment_7" + // InternalScope.g:24656:1: rule__ScopeModel__ScopesAssignment_7 : ( ruleScopeDefinition ) ; + public final void rule__ScopeModel__ScopesAssignment_7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24660:1: ( ( ruleScopeDefinition ) ) + // InternalScope.g:24661:2: ( ruleScopeDefinition ) + { + // InternalScope.g:24661:2: ( ruleScopeDefinition ) + // InternalScope.g:24662:3: ruleScopeDefinition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeModelAccess().getScopesScopeDefinitionParserRuleCall_7_0()); + } + pushFollow(FOLLOW_2); + ruleScopeDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeModelAccess().getScopesScopeDefinitionParserRuleCall_7_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeModel__ScopesAssignment_7" + + + // $ANTLR start "rule__Import__PackageAssignment_1" + // InternalScope.g:24671:1: rule__Import__PackageAssignment_1 : ( ( RULE_STRING ) ) ; + public final void rule__Import__PackageAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24675:1: ( ( ( RULE_STRING ) ) ) + // InternalScope.g:24676:2: ( ( RULE_STRING ) ) + { + // InternalScope.g:24676:2: ( ( RULE_STRING ) ) + // InternalScope.g:24677:3: ( RULE_STRING ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImportAccess().getPackageEPackageCrossReference_1_0()); + } + // InternalScope.g:24678:3: ( RULE_STRING ) + // InternalScope.g:24679:4: RULE_STRING + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImportAccess().getPackageEPackageSTRINGTerminalRuleCall_1_0_1()); + } + match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getImportAccess().getPackageEPackageSTRINGTerminalRuleCall_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getImportAccess().getPackageEPackageCrossReference_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Import__PackageAssignment_1" + + + // $ANTLR start "rule__Import__NameAssignment_2_1" + // InternalScope.g:24690:1: rule__Import__NameAssignment_2_1 : ( ruleIdentifier ) ; + public final void rule__Import__NameAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24694:1: ( ( ruleIdentifier ) ) + // InternalScope.g:24695:2: ( ruleIdentifier ) + { + // InternalScope.g:24695:2: ( ruleIdentifier ) + // InternalScope.g:24696:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImportAccess().getNameIdentifierParserRuleCall_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getImportAccess().getNameIdentifierParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Import__NameAssignment_2_1" + + + // $ANTLR start "rule__Extension__ExtensionAssignment_1" + // InternalScope.g:24705:1: rule__Extension__ExtensionAssignment_1 : ( ruleQualifiedID ) ; + public final void rule__Extension__ExtensionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24709:1: ( ( ruleQualifiedID ) ) + // InternalScope.g:24710:2: ( ruleQualifiedID ) + { + // InternalScope.g:24710:2: ( ruleQualifiedID ) + // InternalScope.g:24711:3: ruleQualifiedID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExtensionAccess().getExtensionQualifiedIDParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleQualifiedID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExtensionAccess().getExtensionQualifiedIDParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Extension__ExtensionAssignment_1" + + + // $ANTLR start "rule__Injection__TypeAssignment_1" + // InternalScope.g:24720:1: rule__Injection__TypeAssignment_1 : ( ruleDottedID ) ; + public final void rule__Injection__TypeAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24724:1: ( ( ruleDottedID ) ) + // InternalScope.g:24725:2: ( ruleDottedID ) + { + // InternalScope.g:24725:2: ( ruleDottedID ) + // InternalScope.g:24726:3: ruleDottedID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInjectionAccess().getTypeDottedIDParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleDottedID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInjectionAccess().getTypeDottedIDParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Injection__TypeAssignment_1" + + + // $ANTLR start "rule__Injection__NameAssignment_3" + // InternalScope.g:24735:1: rule__Injection__NameAssignment_3 : ( ruleIdentifier ) ; + public final void rule__Injection__NameAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24739:1: ( ( ruleIdentifier ) ) + // InternalScope.g:24740:2: ( ruleIdentifier ) + { + // InternalScope.g:24740:2: ( ruleIdentifier ) + // InternalScope.g:24741:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInjectionAccess().getNameIdentifierParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInjectionAccess().getNameIdentifierParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Injection__NameAssignment_3" + + + // $ANTLR start "rule__NamingSection__CasingAssignment_1_1" + // InternalScope.g:24750:1: rule__NamingSection__CasingAssignment_1_1 : ( ruleCasing ) ; + public final void rule__NamingSection__CasingAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24754:1: ( ( ruleCasing ) ) + // InternalScope.g:24755:2: ( ruleCasing ) + { + // InternalScope.g:24755:2: ( ruleCasing ) + // InternalScope.g:24756:3: ruleCasing + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingSectionAccess().getCasingCasingEnumRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleCasing(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNamingSectionAccess().getCasingCasingEnumRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NamingSection__CasingAssignment_1_1" + + + // $ANTLR start "rule__NamingSection__NamingsAssignment_4" + // InternalScope.g:24765:1: rule__NamingSection__NamingsAssignment_4 : ( ruleNamingDefinition ) ; + public final void rule__NamingSection__NamingsAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24769:1: ( ( ruleNamingDefinition ) ) + // InternalScope.g:24770:2: ( ruleNamingDefinition ) + { + // InternalScope.g:24770:2: ( ruleNamingDefinition ) + // InternalScope.g:24771:3: ruleNamingDefinition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingSectionAccess().getNamingsNamingDefinitionParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleNamingDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNamingSectionAccess().getNamingsNamingDefinitionParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NamingSection__NamingsAssignment_4" + + + // $ANTLR start "rule__NamingDefinition__TypeAssignment_0" + // InternalScope.g:24780:1: rule__NamingDefinition__TypeAssignment_0 : ( ( ruleQualifiedID ) ) ; + public final void rule__NamingDefinition__TypeAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24784:1: ( ( ( ruleQualifiedID ) ) ) + // InternalScope.g:24785:2: ( ( ruleQualifiedID ) ) + { + // InternalScope.g:24785:2: ( ( ruleQualifiedID ) ) + // InternalScope.g:24786:3: ( ruleQualifiedID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingDefinitionAccess().getTypeEClassCrossReference_0_0()); + } + // InternalScope.g:24787:3: ( ruleQualifiedID ) + // InternalScope.g:24788:4: ruleQualifiedID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingDefinitionAccess().getTypeEClassQualifiedIDParserRuleCall_0_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNamingDefinitionAccess().getTypeEClassQualifiedIDParserRuleCall_0_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNamingDefinitionAccess().getTypeEClassCrossReference_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NamingDefinition__TypeAssignment_0" + + + // $ANTLR start "rule__NamingDefinition__NamingAssignment_2" + // InternalScope.g:24799:1: rule__NamingDefinition__NamingAssignment_2 : ( ruleNaming ) ; + public final void rule__NamingDefinition__NamingAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24803:1: ( ( ruleNaming ) ) + // InternalScope.g:24804:2: ( ruleNaming ) + { + // InternalScope.g:24804:2: ( ruleNaming ) + // InternalScope.g:24805:3: ruleNaming + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingDefinitionAccess().getNamingNamingParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleNaming(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNamingDefinitionAccess().getNamingNamingParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NamingDefinition__NamingAssignment_2" + + + // $ANTLR start "rule__ScopeDefinition__NameAssignment_1_1" + // InternalScope.g:24814:1: rule__ScopeDefinition__NameAssignment_1_1 : ( ruleIdentifier ) ; + public final void rule__ScopeDefinition__NameAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24818:1: ( ( ruleIdentifier ) ) + // InternalScope.g:24819:2: ( ruleIdentifier ) + { + // InternalScope.g:24819:2: ( ruleIdentifier ) + // InternalScope.g:24820:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDefinitionAccess().getNameIdentifierParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDefinitionAccess().getNameIdentifierParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeDefinition__NameAssignment_1_1" + + + // $ANTLR start "rule__ScopeDefinition__TargetTypeAssignment_2_0" + // InternalScope.g:24829:1: rule__ScopeDefinition__TargetTypeAssignment_2_0 : ( ( ruleQualifiedID ) ) ; + public final void rule__ScopeDefinition__TargetTypeAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24833:1: ( ( ( ruleQualifiedID ) ) ) + // InternalScope.g:24834:2: ( ( ruleQualifiedID ) ) + { + // InternalScope.g:24834:2: ( ( ruleQualifiedID ) ) + // InternalScope.g:24835:3: ( ruleQualifiedID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDefinitionAccess().getTargetTypeEClassCrossReference_2_0_0()); + } + // InternalScope.g:24836:3: ( ruleQualifiedID ) + // InternalScope.g:24837:4: ruleQualifiedID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDefinitionAccess().getTargetTypeEClassQualifiedIDParserRuleCall_2_0_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDefinitionAccess().getTargetTypeEClassQualifiedIDParserRuleCall_2_0_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDefinitionAccess().getTargetTypeEClassCrossReference_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeDefinition__TargetTypeAssignment_2_0" + + + // $ANTLR start "rule__ScopeDefinition__ContextTypeAssignment_2_1_0" + // InternalScope.g:24848:1: rule__ScopeDefinition__ContextTypeAssignment_2_1_0 : ( ( ruleQualifiedID ) ) ; + public final void rule__ScopeDefinition__ContextTypeAssignment_2_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24852:1: ( ( ( ruleQualifiedID ) ) ) + // InternalScope.g:24853:2: ( ( ruleQualifiedID ) ) + { + // InternalScope.g:24853:2: ( ( ruleQualifiedID ) ) + // InternalScope.g:24854:3: ( ruleQualifiedID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDefinitionAccess().getContextTypeEClassCrossReference_2_1_0_0()); + } + // InternalScope.g:24855:3: ( ruleQualifiedID ) + // InternalScope.g:24856:4: ruleQualifiedID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDefinitionAccess().getContextTypeEClassQualifiedIDParserRuleCall_2_1_0_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDefinitionAccess().getContextTypeEClassQualifiedIDParserRuleCall_2_1_0_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDefinitionAccess().getContextTypeEClassCrossReference_2_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeDefinition__ContextTypeAssignment_2_1_0" + + + // $ANTLR start "rule__ScopeDefinition__ReferenceAssignment_2_1_2" + // InternalScope.g:24867:1: rule__ScopeDefinition__ReferenceAssignment_2_1_2 : ( ( ruleIdentifier ) ) ; + public final void rule__ScopeDefinition__ReferenceAssignment_2_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24871:1: ( ( ( ruleIdentifier ) ) ) + // InternalScope.g:24872:2: ( ( ruleIdentifier ) ) + { + // InternalScope.g:24872:2: ( ( ruleIdentifier ) ) + // InternalScope.g:24873:3: ( ruleIdentifier ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDefinitionAccess().getReferenceEReferenceCrossReference_2_1_2_0()); + } + // InternalScope.g:24874:3: ( ruleIdentifier ) + // InternalScope.g:24875:4: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDefinitionAccess().getReferenceEReferenceIdentifierParserRuleCall_2_1_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDefinitionAccess().getReferenceEReferenceIdentifierParserRuleCall_2_1_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDefinitionAccess().getReferenceEReferenceCrossReference_2_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeDefinition__ReferenceAssignment_2_1_2" + + + // $ANTLR start "rule__ScopeDefinition__RulesAssignment_4" + // InternalScope.g:24886:1: rule__ScopeDefinition__RulesAssignment_4 : ( ruleScopeRule ) ; + public final void rule__ScopeDefinition__RulesAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24890:1: ( ( ruleScopeRule ) ) + // InternalScope.g:24891:2: ( ruleScopeRule ) + { + // InternalScope.g:24891:2: ( ruleScopeRule ) + // InternalScope.g:24892:3: ruleScopeRule + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDefinitionAccess().getRulesScopeRuleParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleScopeRule(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDefinitionAccess().getRulesScopeRuleParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeDefinition__RulesAssignment_4" + + + // $ANTLR start "rule__ScopeRule__ContextAssignment_1" + // InternalScope.g:24901:1: rule__ScopeRule__ContextAssignment_1 : ( ruleScopeContext ) ; + public final void rule__ScopeRule__ContextAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24905:1: ( ( ruleScopeContext ) ) + // InternalScope.g:24906:2: ( ruleScopeContext ) + { + // InternalScope.g:24906:2: ( ruleScopeContext ) + // InternalScope.g:24907:3: ruleScopeContext + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeRuleAccess().getContextScopeContextParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleScopeContext(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeRuleAccess().getContextScopeContextParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeRule__ContextAssignment_1" + + + // $ANTLR start "rule__ScopeRule__ExprsAssignment_3" + // InternalScope.g:24916:1: rule__ScopeRule__ExprsAssignment_3 : ( ruleScopeExpression ) ; + public final void rule__ScopeRule__ExprsAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24920:1: ( ( ruleScopeExpression ) ) + // InternalScope.g:24921:2: ( ruleScopeExpression ) + { + // InternalScope.g:24921:2: ( ruleScopeExpression ) + // InternalScope.g:24922:3: ruleScopeExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeRuleAccess().getExprsScopeExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleScopeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeRuleAccess().getExprsScopeExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeRule__ExprsAssignment_3" + + + // $ANTLR start "rule__ScopeRule__ExprsAssignment_4_1" + // InternalScope.g:24931:1: rule__ScopeRule__ExprsAssignment_4_1 : ( ruleScopeExpression ) ; + public final void rule__ScopeRule__ExprsAssignment_4_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24935:1: ( ( ruleScopeExpression ) ) + // InternalScope.g:24936:2: ( ruleScopeExpression ) + { + // InternalScope.g:24936:2: ( ruleScopeExpression ) + // InternalScope.g:24937:3: ruleScopeExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeRuleAccess().getExprsScopeExpressionParserRuleCall_4_1_0()); + } + pushFollow(FOLLOW_2); + ruleScopeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeRuleAccess().getExprsScopeExpressionParserRuleCall_4_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeRule__ExprsAssignment_4_1" + + + // $ANTLR start "rule__ScopeContext__GlobalAssignment_0_0" + // InternalScope.g:24946:1: rule__ScopeContext__GlobalAssignment_0_0 : ( ( '*' ) ) ; + public final void rule__ScopeContext__GlobalAssignment_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24950:1: ( ( ( '*' ) ) ) + // InternalScope.g:24951:2: ( ( '*' ) ) + { + // InternalScope.g:24951:2: ( ( '*' ) ) + // InternalScope.g:24952:3: ( '*' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeContextAccess().getGlobalAsteriskKeyword_0_0_0()); + } + // InternalScope.g:24953:3: ( '*' ) + // InternalScope.g:24954:4: '*' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeContextAccess().getGlobalAsteriskKeyword_0_0_0()); + } + match(input,25,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeContextAccess().getGlobalAsteriskKeyword_0_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeContextAccess().getGlobalAsteriskKeyword_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeContext__GlobalAssignment_0_0" + + + // $ANTLR start "rule__ScopeContext__ContextTypeAssignment_0_1" + // InternalScope.g:24965:1: rule__ScopeContext__ContextTypeAssignment_0_1 : ( ( ruleQualifiedID ) ) ; + public final void rule__ScopeContext__ContextTypeAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24969:1: ( ( ( ruleQualifiedID ) ) ) + // InternalScope.g:24970:2: ( ( ruleQualifiedID ) ) + { + // InternalScope.g:24970:2: ( ( ruleQualifiedID ) ) + // InternalScope.g:24971:3: ( ruleQualifiedID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeContextAccess().getContextTypeEClassCrossReference_0_1_0()); + } + // InternalScope.g:24972:3: ( ruleQualifiedID ) + // InternalScope.g:24973:4: ruleQualifiedID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeContextAccess().getContextTypeEClassQualifiedIDParserRuleCall_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeContextAccess().getContextTypeEClassQualifiedIDParserRuleCall_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeContextAccess().getContextTypeEClassCrossReference_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeContext__ContextTypeAssignment_0_1" + + + // $ANTLR start "rule__ScopeContext__GuardAssignment_1_1" + // InternalScope.g:24984:1: rule__ScopeContext__GuardAssignment_1_1 : ( ruleExpression ) ; + public final void rule__ScopeContext__GuardAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:24988:1: ( ( ruleExpression ) ) + // InternalScope.g:24989:2: ( ruleExpression ) + { + // InternalScope.g:24989:2: ( ruleExpression ) + // InternalScope.g:24990:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeContextAccess().getGuardExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeContextAccess().getGuardExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeContext__GuardAssignment_1_1" + + + // $ANTLR start "rule__FactoryExpression__ExprAssignment_1" + // InternalScope.g:24999:1: rule__FactoryExpression__ExprAssignment_1 : ( ruleExpression ) ; + public final void rule__FactoryExpression__ExprAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25003:1: ( ( ruleExpression ) ) + // InternalScope.g:25004:2: ( ruleExpression ) + { + // InternalScope.g:25004:2: ( ruleExpression ) + // InternalScope.g:25005:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFactoryExpressionAccess().getExprExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFactoryExpressionAccess().getExprExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FactoryExpression__ExprAssignment_1" + + + // $ANTLR start "rule__ScopeDelegation__DelegateAssignment_2_0" + // InternalScope.g:25014:1: rule__ScopeDelegation__DelegateAssignment_2_0 : ( ruleExpression ) ; + public final void rule__ScopeDelegation__DelegateAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25018:1: ( ( ruleExpression ) ) + // InternalScope.g:25019:2: ( ruleExpression ) + { + // InternalScope.g:25019:2: ( ruleExpression ) + // InternalScope.g:25020:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDelegationAccess().getDelegateExpressionParserRuleCall_2_0_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDelegationAccess().getDelegateExpressionParserRuleCall_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeDelegation__DelegateAssignment_2_0" + + + // $ANTLR start "rule__ScopeDelegation__ExternalAssignment_2_1" + // InternalScope.g:25029:1: rule__ScopeDelegation__ExternalAssignment_2_1 : ( ruleGlobalScopeExpression ) ; + public final void rule__ScopeDelegation__ExternalAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25033:1: ( ( ruleGlobalScopeExpression ) ) + // InternalScope.g:25034:2: ( ruleGlobalScopeExpression ) + { + // InternalScope.g:25034:2: ( ruleGlobalScopeExpression ) + // InternalScope.g:25035:3: ruleGlobalScopeExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDelegationAccess().getExternalGlobalScopeExpressionParserRuleCall_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleGlobalScopeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDelegationAccess().getExternalGlobalScopeExpressionParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeDelegation__ExternalAssignment_2_1" + + + // $ANTLR start "rule__ScopeDelegation__ScopeAssignment_3_1" + // InternalScope.g:25044:1: rule__ScopeDelegation__ScopeAssignment_3_1 : ( ( ruleIdentifier ) ) ; + public final void rule__ScopeDelegation__ScopeAssignment_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25048:1: ( ( ( ruleIdentifier ) ) ) + // InternalScope.g:25049:2: ( ( ruleIdentifier ) ) + { + // InternalScope.g:25049:2: ( ( ruleIdentifier ) ) + // InternalScope.g:25050:3: ( ruleIdentifier ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDelegationAccess().getScopeScopeDefinitionCrossReference_3_1_0()); + } + // InternalScope.g:25051:3: ( ruleIdentifier ) + // InternalScope.g:25052:4: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDelegationAccess().getScopeScopeDefinitionIdentifierParserRuleCall_3_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDelegationAccess().getScopeScopeDefinitionIdentifierParserRuleCall_3_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDelegationAccess().getScopeScopeDefinitionCrossReference_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeDelegation__ScopeAssignment_3_1" + + + // $ANTLR start "rule__NamedScopeExpression__CaseDefAssignment_1_0" + // InternalScope.g:25063:1: rule__NamedScopeExpression__CaseDefAssignment_1_0 : ( ( 'case' ) ) ; + public final void rule__NamedScopeExpression__CaseDefAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25067:1: ( ( ( 'case' ) ) ) + // InternalScope.g:25068:2: ( ( 'case' ) ) + { + // InternalScope.g:25068:2: ( ( 'case' ) ) + // InternalScope.g:25069:3: ( 'case' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamedScopeExpressionAccess().getCaseDefCaseKeyword_1_0_0()); + } + // InternalScope.g:25070:3: ( 'case' ) + // InternalScope.g:25071:4: 'case' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamedScopeExpressionAccess().getCaseDefCaseKeyword_1_0_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNamedScopeExpressionAccess().getCaseDefCaseKeyword_1_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNamedScopeExpressionAccess().getCaseDefCaseKeyword_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NamedScopeExpression__CaseDefAssignment_1_0" + + + // $ANTLR start "rule__NamedScopeExpression__CasingAssignment_1_1" + // InternalScope.g:25082:1: rule__NamedScopeExpression__CasingAssignment_1_1 : ( ruleCasing ) ; + public final void rule__NamedScopeExpression__CasingAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25086:1: ( ( ruleCasing ) ) + // InternalScope.g:25087:2: ( ruleCasing ) + { + // InternalScope.g:25087:2: ( ruleCasing ) + // InternalScope.g:25088:3: ruleCasing + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamedScopeExpressionAccess().getCasingCasingEnumRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleCasing(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNamedScopeExpressionAccess().getCasingCasingEnumRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NamedScopeExpression__CasingAssignment_1_1" + + + // $ANTLR start "rule__NamedScopeExpression__NamingAssignment_2_1" + // InternalScope.g:25097:1: rule__NamedScopeExpression__NamingAssignment_2_1 : ( ruleNaming ) ; + public final void rule__NamedScopeExpression__NamingAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25101:1: ( ( ruleNaming ) ) + // InternalScope.g:25102:2: ( ruleNaming ) + { + // InternalScope.g:25102:2: ( ruleNaming ) + // InternalScope.g:25103:3: ruleNaming + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamedScopeExpressionAccess().getNamingNamingParserRuleCall_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleNaming(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNamedScopeExpressionAccess().getNamingNamingParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NamedScopeExpression__NamingAssignment_2_1" + + + // $ANTLR start "rule__GlobalScopeExpression__TypeAssignment_2" + // InternalScope.g:25112:1: rule__GlobalScopeExpression__TypeAssignment_2 : ( ( ruleQualifiedID ) ) ; + public final void rule__GlobalScopeExpression__TypeAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25116:1: ( ( ( ruleQualifiedID ) ) ) + // InternalScope.g:25117:2: ( ( ruleQualifiedID ) ) + { + // InternalScope.g:25117:2: ( ( ruleQualifiedID ) ) + // InternalScope.g:25118:3: ( ruleQualifiedID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getTypeEClassCrossReference_2_0()); + } + // InternalScope.g:25119:3: ( ruleQualifiedID ) + // InternalScope.g:25120:4: ruleQualifiedID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getTypeEClassQualifiedIDParserRuleCall_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getTypeEClassQualifiedIDParserRuleCall_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getTypeEClassCrossReference_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalScopeExpression__TypeAssignment_2" + + + // $ANTLR start "rule__GlobalScopeExpression__NameAssignment_3_0_3" + // InternalScope.g:25131:1: rule__GlobalScopeExpression__NameAssignment_3_0_3 : ( ruleExpression ) ; + public final void rule__GlobalScopeExpression__NameAssignment_3_0_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25135:1: ( ( ruleExpression ) ) + // InternalScope.g:25136:2: ( ruleExpression ) + { + // InternalScope.g:25136:2: ( ruleExpression ) + // InternalScope.g:25137:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getNameExpressionParserRuleCall_3_0_3_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getNameExpressionParserRuleCall_3_0_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalScopeExpression__NameAssignment_3_0_3" + + + // $ANTLR start "rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1" + // InternalScope.g:25146:1: rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1 : ( ( 'recursive' ) ) ; + public final void rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25150:1: ( ( ( 'recursive' ) ) ) + // InternalScope.g:25151:2: ( ( 'recursive' ) ) + { + // InternalScope.g:25151:2: ( ( 'recursive' ) ) + // InternalScope.g:25152:3: ( 'recursive' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixRecursiveKeyword_3_1_1_0()); + } + // InternalScope.g:25153:3: ( 'recursive' ) + // InternalScope.g:25154:4: 'recursive' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixRecursiveKeyword_3_1_1_0()); + } + match(input,117,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixRecursiveKeyword_3_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixRecursiveKeyword_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalScopeExpression__RecursivePrefixAssignment_3_1_1" + + + // $ANTLR start "rule__GlobalScopeExpression__PrefixAssignment_3_1_4" + // InternalScope.g:25165:1: rule__GlobalScopeExpression__PrefixAssignment_3_1_4 : ( ruleExpression ) ; + public final void rule__GlobalScopeExpression__PrefixAssignment_3_1_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25169:1: ( ( ruleExpression ) ) + // InternalScope.g:25170:2: ( ruleExpression ) + { + // InternalScope.g:25170:2: ( ruleExpression ) + // InternalScope.g:25171:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getPrefixExpressionParserRuleCall_3_1_4_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getPrefixExpressionParserRuleCall_3_1_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalScopeExpression__PrefixAssignment_3_1_4" + + + // $ANTLR start "rule__GlobalScopeExpression__DataAssignment_4_4" + // InternalScope.g:25180:1: rule__GlobalScopeExpression__DataAssignment_4_4 : ( ruleDataExpression ) ; + public final void rule__GlobalScopeExpression__DataAssignment_4_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25184:1: ( ( ruleDataExpression ) ) + // InternalScope.g:25185:2: ( ruleDataExpression ) + { + // InternalScope.g:25185:2: ( ruleDataExpression ) + // InternalScope.g:25186:3: ruleDataExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getDataDataExpressionParserRuleCall_4_4_0()); + } + pushFollow(FOLLOW_2); + ruleDataExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getDataDataExpressionParserRuleCall_4_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalScopeExpression__DataAssignment_4_4" + + + // $ANTLR start "rule__GlobalScopeExpression__DataAssignment_4_5_1" + // InternalScope.g:25195:1: rule__GlobalScopeExpression__DataAssignment_4_5_1 : ( ruleDataExpression ) ; + public final void rule__GlobalScopeExpression__DataAssignment_4_5_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25199:1: ( ( ruleDataExpression ) ) + // InternalScope.g:25200:2: ( ruleDataExpression ) + { + // InternalScope.g:25200:2: ( ruleDataExpression ) + // InternalScope.g:25201:3: ruleDataExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getDataDataExpressionParserRuleCall_4_5_1_0()); + } + pushFollow(FOLLOW_2); + ruleDataExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getDataDataExpressionParserRuleCall_4_5_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalScopeExpression__DataAssignment_4_5_1" + + + // $ANTLR start "rule__GlobalScopeExpression__DomainsAssignment_5_3_0" + // InternalScope.g:25210:1: rule__GlobalScopeExpression__DomainsAssignment_5_3_0 : ( ( '*' ) ) ; + public final void rule__GlobalScopeExpression__DomainsAssignment_5_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25214:1: ( ( ( '*' ) ) ) + // InternalScope.g:25215:2: ( ( '*' ) ) + { + // InternalScope.g:25215:2: ( ( '*' ) ) + // InternalScope.g:25216:3: ( '*' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAsteriskKeyword_5_3_0_0()); + } + // InternalScope.g:25217:3: ( '*' ) + // InternalScope.g:25218:4: '*' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAsteriskKeyword_5_3_0_0()); + } + match(input,25,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAsteriskKeyword_5_3_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsAsteriskKeyword_5_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalScopeExpression__DomainsAssignment_5_3_0" + + + // $ANTLR start "rule__GlobalScopeExpression__DomainsAssignment_5_3_1" + // InternalScope.g:25229:1: rule__GlobalScopeExpression__DomainsAssignment_5_3_1 : ( ruleIdentifier ) ; + public final void rule__GlobalScopeExpression__DomainsAssignment_5_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25233:1: ( ( ruleIdentifier ) ) + // InternalScope.g:25234:2: ( ruleIdentifier ) + { + // InternalScope.g:25234:2: ( ruleIdentifier ) + // InternalScope.g:25235:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_1_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalScopeExpression__DomainsAssignment_5_3_1" + + + // $ANTLR start "rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1" + // InternalScope.g:25244:1: rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1 : ( ruleIdentifier ) ; + public final void rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25248:1: ( ( ruleIdentifier ) ) + // InternalScope.g:25249:2: ( ruleIdentifier ) + { + // InternalScope.g:25249:2: ( ruleIdentifier ) + // InternalScope.g:25250:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalScopeExpression__DomainsAssignment_5_3_2_1" + + + // $ANTLR start "rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1" + // InternalScope.g:25259:1: rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1 : ( ruleIdentifier ) ; + public final void rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25263:1: ( ( ruleIdentifier ) ) + // InternalScope.g:25264:2: ( ruleIdentifier ) + { + // InternalScope.g:25264:2: ( ruleIdentifier ) + // InternalScope.g:25265:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_2_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalScopeExpressionAccess().getDomainsIdentifierParserRuleCall_5_3_2_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalScopeExpression__DomainsAssignment_5_3_2_2_1" + + + // $ANTLR start "rule__MatchDataExpression__KeyAssignment_0" + // InternalScope.g:25274:1: rule__MatchDataExpression__KeyAssignment_0 : ( ruleIdentifier ) ; + public final void rule__MatchDataExpression__KeyAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25278:1: ( ( ruleIdentifier ) ) + // InternalScope.g:25279:2: ( ruleIdentifier ) + { + // InternalScope.g:25279:2: ( ruleIdentifier ) + // InternalScope.g:25280:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMatchDataExpressionAccess().getKeyIdentifierParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMatchDataExpressionAccess().getKeyIdentifierParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MatchDataExpression__KeyAssignment_0" + + + // $ANTLR start "rule__MatchDataExpression__ValueAssignment_2" + // InternalScope.g:25289:1: rule__MatchDataExpression__ValueAssignment_2 : ( ruleExpression ) ; + public final void rule__MatchDataExpression__ValueAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25293:1: ( ( ruleExpression ) ) + // InternalScope.g:25294:2: ( ruleExpression ) + { + // InternalScope.g:25294:2: ( ruleExpression ) + // InternalScope.g:25295:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMatchDataExpressionAccess().getValueExpressionParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMatchDataExpressionAccess().getValueExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MatchDataExpression__ValueAssignment_2" + + + // $ANTLR start "rule__LambdaDataExpression__DescAssignment_1" + // InternalScope.g:25304:1: rule__LambdaDataExpression__DescAssignment_1 : ( ruleIdentifier ) ; + public final void rule__LambdaDataExpression__DescAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25308:1: ( ( ruleIdentifier ) ) + // InternalScope.g:25309:2: ( ruleIdentifier ) + { + // InternalScope.g:25309:2: ( ruleIdentifier ) + // InternalScope.g:25310:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLambdaDataExpressionAccess().getDescIdentifierParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLambdaDataExpressionAccess().getDescIdentifierParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LambdaDataExpression__DescAssignment_1" + + + // $ANTLR start "rule__LambdaDataExpression__ValueAssignment_3" + // InternalScope.g:25319:1: rule__LambdaDataExpression__ValueAssignment_3 : ( ruleExpression ) ; + public final void rule__LambdaDataExpression__ValueAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25323:1: ( ( ruleExpression ) ) + // InternalScope.g:25324:2: ( ruleExpression ) + { + // InternalScope.g:25324:2: ( ruleExpression ) + // InternalScope.g:25325:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLambdaDataExpressionAccess().getValueExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLambdaDataExpressionAccess().getValueExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LambdaDataExpression__ValueAssignment_3" + + + // $ANTLR start "rule__SimpleScopeExpression__ExprAssignment" + // InternalScope.g:25334:1: rule__SimpleScopeExpression__ExprAssignment : ( ruleExpression ) ; + public final void rule__SimpleScopeExpression__ExprAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25338:1: ( ( ruleExpression ) ) + // InternalScope.g:25339:2: ( ruleExpression ) + { + // InternalScope.g:25339:2: ( ruleExpression ) + // InternalScope.g:25340:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleScopeExpressionAccess().getExprExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleScopeExpressionAccess().getExprExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleScopeExpression__ExprAssignment" + + + // $ANTLR start "rule__Naming__NamesAssignment_0_0_1" + // InternalScope.g:25349:1: rule__Naming__NamesAssignment_0_0_1 : ( ruleNamingExpression ) ; + public final void rule__Naming__NamesAssignment_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25353:1: ( ( ruleNamingExpression ) ) + // InternalScope.g:25354:2: ( ruleNamingExpression ) + { + // InternalScope.g:25354:2: ( ruleNamingExpression ) + // InternalScope.g:25355:3: ruleNamingExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_0_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleNamingExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Naming__NamesAssignment_0_0_1" + + + // $ANTLR start "rule__Naming__NamesAssignment_0_0_2_1" + // InternalScope.g:25364:1: rule__Naming__NamesAssignment_0_0_2_1 : ( ruleNamingExpression ) ; + public final void rule__Naming__NamesAssignment_0_0_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25368:1: ( ( ruleNamingExpression ) ) + // InternalScope.g:25369:2: ( ruleNamingExpression ) + { + // InternalScope.g:25369:2: ( ruleNamingExpression ) + // InternalScope.g:25370:3: ruleNamingExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_0_0_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleNamingExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_0_0_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Naming__NamesAssignment_0_0_2_1" + + + // $ANTLR start "rule__Naming__NamesAssignment_1" + // InternalScope.g:25379:1: rule__Naming__NamesAssignment_1 : ( ruleNamingExpression ) ; + public final void rule__Naming__NamesAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25383:1: ( ( ruleNamingExpression ) ) + // InternalScope.g:25384:2: ( ruleNamingExpression ) + { + // InternalScope.g:25384:2: ( ruleNamingExpression ) + // InternalScope.g:25385:3: ruleNamingExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleNamingExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNamingAccess().getNamesNamingExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Naming__NamesAssignment_1" + + + // $ANTLR start "rule__NamingExpression__ExportAssignment_0" + // InternalScope.g:25394:1: rule__NamingExpression__ExportAssignment_0 : ( ( 'export' ) ) ; + public final void rule__NamingExpression__ExportAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25398:1: ( ( ( 'export' ) ) ) + // InternalScope.g:25399:2: ( ( 'export' ) ) + { + // InternalScope.g:25399:2: ( ( 'export' ) ) + // InternalScope.g:25400:3: ( 'export' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingExpressionAccess().getExportExportKeyword_0_0()); + } + // InternalScope.g:25401:3: ( 'export' ) + // InternalScope.g:25402:4: 'export' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingExpressionAccess().getExportExportKeyword_0_0()); + } + match(input,118,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNamingExpressionAccess().getExportExportKeyword_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNamingExpressionAccess().getExportExportKeyword_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NamingExpression__ExportAssignment_0" + + + // $ANTLR start "rule__NamingExpression__FactoryAssignment_1_0" + // InternalScope.g:25413:1: rule__NamingExpression__FactoryAssignment_1_0 : ( ( 'factory' ) ) ; + public final void rule__NamingExpression__FactoryAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25417:1: ( ( ( 'factory' ) ) ) + // InternalScope.g:25418:2: ( ( 'factory' ) ) + { + // InternalScope.g:25418:2: ( ( 'factory' ) ) + // InternalScope.g:25419:3: ( 'factory' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingExpressionAccess().getFactoryFactoryKeyword_1_0_0()); + } + // InternalScope.g:25420:3: ( 'factory' ) + // InternalScope.g:25421:4: 'factory' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingExpressionAccess().getFactoryFactoryKeyword_1_0_0()); + } + match(input,84,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNamingExpressionAccess().getFactoryFactoryKeyword_1_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNamingExpressionAccess().getFactoryFactoryKeyword_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NamingExpression__FactoryAssignment_1_0" + + + // $ANTLR start "rule__NamingExpression__ExpressionAssignment_1_1" + // InternalScope.g:25432:1: rule__NamingExpression__ExpressionAssignment_1_1 : ( ruleExpression ) ; + public final void rule__NamingExpression__ExpressionAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25436:1: ( ( ruleExpression ) ) + // InternalScope.g:25437:2: ( ruleExpression ) + { + // InternalScope.g:25437:2: ( ruleExpression ) + // InternalScope.g:25438:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingExpressionAccess().getExpressionExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNamingExpressionAccess().getExpressionExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NamingExpression__ExpressionAssignment_1_1" + + + // $ANTLR start "rule__LetExpression__IdentifierAssignment_1" + // InternalScope.g:25447:1: rule__LetExpression__IdentifierAssignment_1 : ( ruleIdentifier ) ; + public final void rule__LetExpression__IdentifierAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25451:1: ( ( ruleIdentifier ) ) + // InternalScope.g:25452:2: ( ruleIdentifier ) + { + // InternalScope.g:25452:2: ( ruleIdentifier ) + // InternalScope.g:25453:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLetExpressionAccess().getIdentifierIdentifierParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LetExpression__IdentifierAssignment_1" + + + // $ANTLR start "rule__LetExpression__VarExprAssignment_3" + // InternalScope.g:25462:1: rule__LetExpression__VarExprAssignment_3 : ( ruleExpression ) ; + public final void rule__LetExpression__VarExprAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25466:1: ( ( ruleExpression ) ) + // InternalScope.g:25467:2: ( ruleExpression ) + { + // InternalScope.g:25467:2: ( ruleExpression ) + // InternalScope.g:25468:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLetExpressionAccess().getVarExprExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LetExpression__VarExprAssignment_3" + + + // $ANTLR start "rule__LetExpression__TargetAssignment_5" + // InternalScope.g:25477:1: rule__LetExpression__TargetAssignment_5 : ( ruleExpression ) ; + public final void rule__LetExpression__TargetAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25481:1: ( ( ruleExpression ) ) + // InternalScope.g:25482:2: ( ruleExpression ) + { + // InternalScope.g:25482:2: ( ruleExpression ) + // InternalScope.g:25483:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLetExpressionAccess().getTargetExpressionParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LetExpression__TargetAssignment_5" + + + // $ANTLR start "rule__CastedExpression__TypeAssignment_1" + // InternalScope.g:25492:1: rule__CastedExpression__TypeAssignment_1 : ( ruleType ) ; + public final void rule__CastedExpression__TypeAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25496:1: ( ( ruleType ) ) + // InternalScope.g:25497:2: ( ruleType ) + { + // InternalScope.g:25497:2: ( ruleType ) + // InternalScope.g:25498:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCastedExpressionAccess().getTypeTypeParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CastedExpression__TypeAssignment_1" + + + // $ANTLR start "rule__CastedExpression__TargetAssignment_3" + // InternalScope.g:25507:1: rule__CastedExpression__TargetAssignment_3 : ( ruleExpression ) ; + public final void rule__CastedExpression__TargetAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25511:1: ( ( ruleExpression ) ) + // InternalScope.g:25512:2: ( ruleExpression ) + { + // InternalScope.g:25512:2: ( ruleExpression ) + // InternalScope.g:25513:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCastedExpressionAccess().getTargetExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CastedExpression__TargetAssignment_3" + + + // $ANTLR start "rule__ChainExpression__NextAssignment_1_2" + // InternalScope.g:25522:1: rule__ChainExpression__NextAssignment_1_2 : ( ruleChainedExpression ) ; + public final void rule__ChainExpression__NextAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25526:1: ( ( ruleChainedExpression ) ) + // InternalScope.g:25527:2: ( ruleChainedExpression ) + { + // InternalScope.g:25527:2: ( ruleChainedExpression ) + // InternalScope.g:25528:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChainExpressionAccess().getNextChainedExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChainExpression__NextAssignment_1_2" + + + // $ANTLR start "rule__IfExpressionTri__ThenPartAssignment_1_2" + // InternalScope.g:25537:1: rule__IfExpressionTri__ThenPartAssignment_1_2 : ( ruleChainedExpression ) ; + public final void rule__IfExpressionTri__ThenPartAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25541:1: ( ( ruleChainedExpression ) ) + // InternalScope.g:25542:2: ( ruleChainedExpression ) + { + // InternalScope.g:25542:2: ( ruleChainedExpression ) + // InternalScope.g:25543:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfExpressionTriAccess().getThenPartChainedExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfExpressionTri__ThenPartAssignment_1_2" + + + // $ANTLR start "rule__IfExpressionTri__ElsePartAssignment_1_4" + // InternalScope.g:25552:1: rule__IfExpressionTri__ElsePartAssignment_1_4 : ( ruleChainedExpression ) ; + public final void rule__IfExpressionTri__ElsePartAssignment_1_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25556:1: ( ( ruleChainedExpression ) ) + // InternalScope.g:25557:2: ( ruleChainedExpression ) + { + // InternalScope.g:25557:2: ( ruleChainedExpression ) + // InternalScope.g:25558:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfExpressionTriAccess().getElsePartChainedExpressionParserRuleCall_1_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfExpressionTri__ElsePartAssignment_1_4" + + + // $ANTLR start "rule__IfExpressionKw__ConditionAssignment_1" + // InternalScope.g:25567:1: rule__IfExpressionKw__ConditionAssignment_1 : ( ruleChainedExpression ) ; + public final void rule__IfExpressionKw__ConditionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25571:1: ( ( ruleChainedExpression ) ) + // InternalScope.g:25572:2: ( ruleChainedExpression ) + { + // InternalScope.g:25572:2: ( ruleChainedExpression ) + // InternalScope.g:25573:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfExpressionKwAccess().getConditionChainedExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfExpressionKw__ConditionAssignment_1" + + + // $ANTLR start "rule__IfExpressionKw__ThenPartAssignment_3" + // InternalScope.g:25582:1: rule__IfExpressionKw__ThenPartAssignment_3 : ( ruleChainedExpression ) ; + public final void rule__IfExpressionKw__ThenPartAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25586:1: ( ( ruleChainedExpression ) ) + // InternalScope.g:25587:2: ( ruleChainedExpression ) + { + // InternalScope.g:25587:2: ( ruleChainedExpression ) + // InternalScope.g:25588:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfExpressionKwAccess().getThenPartChainedExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfExpressionKw__ThenPartAssignment_3" + + + // $ANTLR start "rule__IfExpressionKw__ElsePartAssignment_4_0_1" + // InternalScope.g:25597:1: rule__IfExpressionKw__ElsePartAssignment_4_0_1 : ( ruleChainedExpression ) ; + public final void rule__IfExpressionKw__ElsePartAssignment_4_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25601:1: ( ( ruleChainedExpression ) ) + // InternalScope.g:25602:2: ( ruleChainedExpression ) + { + // InternalScope.g:25602:2: ( ruleChainedExpression ) + // InternalScope.g:25603:3: ruleChainedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleChainedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfExpressionKwAccess().getElsePartChainedExpressionParserRuleCall_4_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfExpressionKw__ElsePartAssignment_4_0_1" + + + // $ANTLR start "rule__SwitchExpression__SwitchExprAssignment_1_1" + // InternalScope.g:25612:1: rule__SwitchExpression__SwitchExprAssignment_1_1 : ( ruleOrExpression ) ; + public final void rule__SwitchExpression__SwitchExprAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25616:1: ( ( ruleOrExpression ) ) + // InternalScope.g:25617:2: ( ruleOrExpression ) + { + // InternalScope.g:25617:2: ( ruleOrExpression ) + // InternalScope.g:25618:3: ruleOrExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleOrExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSwitchExpressionAccess().getSwitchExprOrExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SwitchExpression__SwitchExprAssignment_1_1" + + + // $ANTLR start "rule__SwitchExpression__CaseAssignment_3" + // InternalScope.g:25627:1: rule__SwitchExpression__CaseAssignment_3 : ( ruleCase ) ; + public final void rule__SwitchExpression__CaseAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25631:1: ( ( ruleCase ) ) + // InternalScope.g:25632:2: ( ruleCase ) + { + // InternalScope.g:25632:2: ( ruleCase ) + // InternalScope.g:25633:3: ruleCase + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleCase(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSwitchExpressionAccess().getCaseCaseParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SwitchExpression__CaseAssignment_3" + + + // $ANTLR start "rule__SwitchExpression__DefaultExprAssignment_6" + // InternalScope.g:25642:1: rule__SwitchExpression__DefaultExprAssignment_6 : ( ruleOrExpression ) ; + public final void rule__SwitchExpression__DefaultExprAssignment_6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25646:1: ( ( ruleOrExpression ) ) + // InternalScope.g:25647:2: ( ruleOrExpression ) + { + // InternalScope.g:25647:2: ( ruleOrExpression ) + // InternalScope.g:25648:3: ruleOrExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); + } + pushFollow(FOLLOW_2); + ruleOrExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSwitchExpressionAccess().getDefaultExprOrExpressionParserRuleCall_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SwitchExpression__DefaultExprAssignment_6" + + + // $ANTLR start "rule__Case__ConditionAssignment_1" + // InternalScope.g:25657:1: rule__Case__ConditionAssignment_1 : ( ruleOrExpression ) ; + public final void rule__Case__ConditionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25661:1: ( ( ruleOrExpression ) ) + // InternalScope.g:25662:2: ( ruleOrExpression ) + { + // InternalScope.g:25662:2: ( ruleOrExpression ) + // InternalScope.g:25663:3: ruleOrExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleOrExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseAccess().getConditionOrExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Case__ConditionAssignment_1" + + + // $ANTLR start "rule__Case__ThenParAssignment_3" + // InternalScope.g:25672:1: rule__Case__ThenParAssignment_3 : ( ruleOrExpression ) ; + public final void rule__Case__ThenParAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25676:1: ( ( ruleOrExpression ) ) + // InternalScope.g:25677:2: ( ruleOrExpression ) + { + // InternalScope.g:25677:2: ( ruleOrExpression ) + // InternalScope.g:25678:3: ruleOrExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleOrExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseAccess().getThenParOrExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Case__ThenParAssignment_3" + + + // $ANTLR start "rule__OrExpression__OperatorAssignment_1_1" + // InternalScope.g:25687:1: rule__OrExpression__OperatorAssignment_1_1 : ( ( '||' ) ) ; + public final void rule__OrExpression__OperatorAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25691:1: ( ( ( '||' ) ) ) + // InternalScope.g:25692:2: ( ( '||' ) ) + { + // InternalScope.g:25692:2: ( ( '||' ) ) + // InternalScope.g:25693:3: ( '||' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); + } + // InternalScope.g:25694:3: ( '||' ) + // InternalScope.g:25695:4: '||' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); + } + match(input,15,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrExpression__OperatorAssignment_1_1" + + + // $ANTLR start "rule__OrExpression__RightAssignment_1_2" + // InternalScope.g:25706:1: rule__OrExpression__RightAssignment_1_2 : ( ruleAndExpression ) ; + public final void rule__OrExpression__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25710:1: ( ( ruleAndExpression ) ) + // InternalScope.g:25711:2: ( ruleAndExpression ) + { + // InternalScope.g:25711:2: ( ruleAndExpression ) + // InternalScope.g:25712:3: ruleAndExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleAndExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrExpression__RightAssignment_1_2" + + + // $ANTLR start "rule__AndExpression__OperatorAssignment_1_1" + // InternalScope.g:25721:1: rule__AndExpression__OperatorAssignment_1_1 : ( ( '&&' ) ) ; + public final void rule__AndExpression__OperatorAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25725:1: ( ( ( '&&' ) ) ) + // InternalScope.g:25726:2: ( ( '&&' ) ) + { + // InternalScope.g:25726:2: ( ( '&&' ) ) + // InternalScope.g:25727:3: ( '&&' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + } + // InternalScope.g:25728:3: ( '&&' ) + // InternalScope.g:25729:4: '&&' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + } + match(input,16,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndExpression__OperatorAssignment_1_1" + + + // $ANTLR start "rule__AndExpression__RightAssignment_1_2" + // InternalScope.g:25740:1: rule__AndExpression__RightAssignment_1_2 : ( ruleImpliesExpression ) ; + public final void rule__AndExpression__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25744:1: ( ( ruleImpliesExpression ) ) + // InternalScope.g:25745:2: ( ruleImpliesExpression ) + { + // InternalScope.g:25745:2: ( ruleImpliesExpression ) + // InternalScope.g:25746:3: ruleImpliesExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleImpliesExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAndExpressionAccess().getRightImpliesExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndExpression__RightAssignment_1_2" + + + // $ANTLR start "rule__ImpliesExpression__OperatorAssignment_1_1" + // InternalScope.g:25755:1: rule__ImpliesExpression__OperatorAssignment_1_1 : ( ( 'implies' ) ) ; + public final void rule__ImpliesExpression__OperatorAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25759:1: ( ( ( 'implies' ) ) ) + // InternalScope.g:25760:2: ( ( 'implies' ) ) + { + // InternalScope.g:25760:2: ( ( 'implies' ) ) + // InternalScope.g:25761:3: ( 'implies' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); + } + // InternalScope.g:25762:3: ( 'implies' ) + // InternalScope.g:25763:4: 'implies' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); + } + match(input,119,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImpliesExpression__OperatorAssignment_1_1" + + + // $ANTLR start "rule__ImpliesExpression__RightAssignment_1_2" + // InternalScope.g:25774:1: rule__ImpliesExpression__RightAssignment_1_2 : ( ruleRelationalExpression ) ; + public final void rule__ImpliesExpression__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25778:1: ( ( ruleRelationalExpression ) ) + // InternalScope.g:25779:2: ( ruleRelationalExpression ) + { + // InternalScope.g:25779:2: ( ruleRelationalExpression ) + // InternalScope.g:25780:3: ruleRelationalExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleRelationalExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getImpliesExpressionAccess().getRightRelationalExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImpliesExpression__RightAssignment_1_2" + + + // $ANTLR start "rule__RelationalExpression__OperatorAssignment_1_1" + // InternalScope.g:25789:1: rule__RelationalExpression__OperatorAssignment_1_1 : ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) ; + public final void rule__RelationalExpression__OperatorAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25793:1: ( ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) ) + // InternalScope.g:25794:2: ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) + { + // InternalScope.g:25794:2: ( ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) ) + // InternalScope.g:25795:3: ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); + } + // InternalScope.g:25796:3: ( rule__RelationalExpression__OperatorAlternatives_1_1_0 ) + // InternalScope.g:25796:4: rule__RelationalExpression__OperatorAlternatives_1_1_0 + { + pushFollow(FOLLOW_2); + rule__RelationalExpression__OperatorAlternatives_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getOperatorAlternatives_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RelationalExpression__OperatorAssignment_1_1" + + + // $ANTLR start "rule__RelationalExpression__RightAssignment_1_2" + // InternalScope.g:25804:1: rule__RelationalExpression__RightAssignment_1_2 : ( ruleAdditiveExpression ) ; + public final void rule__RelationalExpression__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25808:1: ( ( ruleAdditiveExpression ) ) + // InternalScope.g:25809:2: ( ruleAdditiveExpression ) + { + // InternalScope.g:25809:2: ( ruleAdditiveExpression ) + // InternalScope.g:25810:3: ruleAdditiveExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleAdditiveExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRelationalExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RelationalExpression__RightAssignment_1_2" + + + // $ANTLR start "rule__AdditiveExpression__NameAssignment_1_1" + // InternalScope.g:25819:1: rule__AdditiveExpression__NameAssignment_1_1 : ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) ; + public final void rule__AdditiveExpression__NameAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25823:1: ( ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) ) + // InternalScope.g:25824:2: ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) + { + // InternalScope.g:25824:2: ( ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) ) + // InternalScope.g:25825:3: ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); + } + // InternalScope.g:25826:3: ( rule__AdditiveExpression__NameAlternatives_1_1_0 ) + // InternalScope.g:25826:4: rule__AdditiveExpression__NameAlternatives_1_1_0 + { + pushFollow(FOLLOW_2); + rule__AdditiveExpression__NameAlternatives_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getNameAlternatives_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveExpression__NameAssignment_1_1" + + + // $ANTLR start "rule__AdditiveExpression__ParamsAssignment_1_2" + // InternalScope.g:25834:1: rule__AdditiveExpression__ParamsAssignment_1_2 : ( ruleMultiplicativeExpression ) ; + public final void rule__AdditiveExpression__ParamsAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25838:1: ( ( ruleMultiplicativeExpression ) ) + // InternalScope.g:25839:2: ( ruleMultiplicativeExpression ) + { + // InternalScope.g:25839:2: ( ruleMultiplicativeExpression ) + // InternalScope.g:25840:3: ruleMultiplicativeExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getParamsMultiplicativeExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveExpression__ParamsAssignment_1_2" + + + // $ANTLR start "rule__MultiplicativeExpression__NameAssignment_1_1" + // InternalScope.g:25849:1: rule__MultiplicativeExpression__NameAssignment_1_1 : ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) ; + public final void rule__MultiplicativeExpression__NameAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25853:1: ( ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) ) + // InternalScope.g:25854:2: ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) + { + // InternalScope.g:25854:2: ( ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) ) + // InternalScope.g:25855:3: ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); + } + // InternalScope.g:25856:3: ( rule__MultiplicativeExpression__NameAlternatives_1_1_0 ) + // InternalScope.g:25856:4: rule__MultiplicativeExpression__NameAlternatives_1_1_0 + { + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__NameAlternatives_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getNameAlternatives_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__NameAssignment_1_1" + + + // $ANTLR start "rule__MultiplicativeExpression__ParamsAssignment_1_2" + // InternalScope.g:25864:1: rule__MultiplicativeExpression__ParamsAssignment_1_2 : ( ruleUnaryOrInfixExpression ) ; + public final void rule__MultiplicativeExpression__ParamsAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25868:1: ( ( ruleUnaryOrInfixExpression ) ) + // InternalScope.g:25869:2: ( ruleUnaryOrInfixExpression ) + { + // InternalScope.g:25869:2: ( ruleUnaryOrInfixExpression ) + // InternalScope.g:25870:3: ruleUnaryOrInfixExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleUnaryOrInfixExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getParamsUnaryOrInfixExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__ParamsAssignment_1_2" + + + // $ANTLR start "rule__UnaryExpression__NameAssignment_0" + // InternalScope.g:25879:1: rule__UnaryExpression__NameAssignment_0 : ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) ; + public final void rule__UnaryExpression__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25883:1: ( ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) ) + // InternalScope.g:25884:2: ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) + { + // InternalScope.g:25884:2: ( ( rule__UnaryExpression__NameAlternatives_0_0 ) ) + // InternalScope.g:25885:3: ( rule__UnaryExpression__NameAlternatives_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); + } + // InternalScope.g:25886:3: ( rule__UnaryExpression__NameAlternatives_0_0 ) + // InternalScope.g:25886:4: rule__UnaryExpression__NameAlternatives_0_0 + { + pushFollow(FOLLOW_2); + rule__UnaryExpression__NameAlternatives_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getNameAlternatives_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__NameAssignment_0" + + + // $ANTLR start "rule__UnaryExpression__ParamsAssignment_1" + // InternalScope.g:25894:1: rule__UnaryExpression__ParamsAssignment_1 : ( ruleInfixExpression ) ; + public final void rule__UnaryExpression__ParamsAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25898:1: ( ( ruleInfixExpression ) ) + // InternalScope.g:25899:2: ( ruleInfixExpression ) + { + // InternalScope.g:25899:2: ( ruleInfixExpression ) + // InternalScope.g:25900:3: ruleInfixExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleInfixExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getParamsInfixExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__ParamsAssignment_1" + + + // $ANTLR start "rule__InfixExpression__NameAssignment_1_0_2" + // InternalScope.g:25909:1: rule__InfixExpression__NameAssignment_1_0_2 : ( ruleIdentifier ) ; + public final void rule__InfixExpression__NameAssignment_1_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25913:1: ( ( ruleIdentifier ) ) + // InternalScope.g:25914:2: ( ruleIdentifier ) + { + // InternalScope.g:25914:2: ( ruleIdentifier ) + // InternalScope.g:25915:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameIdentifierParserRuleCall_1_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__NameAssignment_1_0_2" + + + // $ANTLR start "rule__InfixExpression__ParamsAssignment_1_0_4_0" + // InternalScope.g:25924:1: rule__InfixExpression__ParamsAssignment_1_0_4_0 : ( ruleExpression ) ; + public final void rule__InfixExpression__ParamsAssignment_1_0_4_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25928:1: ( ( ruleExpression ) ) + // InternalScope.g:25929:2: ( ruleExpression ) + { + // InternalScope.g:25929:2: ( ruleExpression ) + // InternalScope.g:25930:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__ParamsAssignment_1_0_4_0" + + + // $ANTLR start "rule__InfixExpression__ParamsAssignment_1_0_4_1_1" + // InternalScope.g:25939:1: rule__InfixExpression__ParamsAssignment_1_0_4_1_1 : ( ruleExpression ) ; + public final void rule__InfixExpression__ParamsAssignment_1_0_4_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25943:1: ( ( ruleExpression ) ) + // InternalScope.g:25944:2: ( ruleExpression ) + { + // InternalScope.g:25944:2: ( ruleExpression ) + // InternalScope.g:25945:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getParamsExpressionParserRuleCall_1_0_4_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__ParamsAssignment_1_0_4_1_1" + + + // $ANTLR start "rule__InfixExpression__TypeAssignment_1_1_2" + // InternalScope.g:25954:1: rule__InfixExpression__TypeAssignment_1_1_2 : ( ruleType ) ; + public final void rule__InfixExpression__TypeAssignment_1_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25958:1: ( ( ruleType ) ) + // InternalScope.g:25959:2: ( ruleType ) + { + // InternalScope.g:25959:2: ( ruleType ) + // InternalScope.g:25960:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__TypeAssignment_1_1_2" + + + // $ANTLR start "rule__InfixExpression__NameAssignment_1_2_2" + // InternalScope.g:25969:1: rule__InfixExpression__NameAssignment_1_2_2 : ( ( 'typeSelect' ) ) ; + public final void rule__InfixExpression__NameAssignment_1_2_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25973:1: ( ( ( 'typeSelect' ) ) ) + // InternalScope.g:25974:2: ( ( 'typeSelect' ) ) + { + // InternalScope.g:25974:2: ( ( 'typeSelect' ) ) + // InternalScope.g:25975:3: ( 'typeSelect' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); + } + // InternalScope.g:25976:3: ( 'typeSelect' ) + // InternalScope.g:25977:4: 'typeSelect' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); + } + match(input,120,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__NameAssignment_1_2_2" + + + // $ANTLR start "rule__InfixExpression__TypeAssignment_1_2_4" + // InternalScope.g:25988:1: rule__InfixExpression__TypeAssignment_1_2_4 : ( ruleType ) ; + public final void rule__InfixExpression__TypeAssignment_1_2_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:25992:1: ( ( ruleType ) ) + // InternalScope.g:25993:2: ( ruleType ) + { + // InternalScope.g:25993:2: ( ruleType ) + // InternalScope.g:25994:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); + } + pushFollow(FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getTypeTypeParserRuleCall_1_2_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__TypeAssignment_1_2_4" + + + // $ANTLR start "rule__InfixExpression__NameAssignment_1_3_2" + // InternalScope.g:26003:1: rule__InfixExpression__NameAssignment_1_3_2 : ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) ; + public final void rule__InfixExpression__NameAssignment_1_3_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26007:1: ( ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) ) + // InternalScope.g:26008:2: ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) + { + // InternalScope.g:26008:2: ( ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) ) + // InternalScope.g:26009:3: ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); + } + // InternalScope.g:26010:3: ( rule__InfixExpression__NameAlternatives_1_3_2_0 ) + // InternalScope.g:26010:4: rule__InfixExpression__NameAlternatives_1_3_2_0 + { + pushFollow(FOLLOW_2); + rule__InfixExpression__NameAlternatives_1_3_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getNameAlternatives_1_3_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__NameAssignment_1_3_2" + + + // $ANTLR start "rule__InfixExpression__VarAssignment_1_3_4_0" + // InternalScope.g:26018:1: rule__InfixExpression__VarAssignment_1_3_4_0 : ( ruleIdentifier ) ; + public final void rule__InfixExpression__VarAssignment_1_3_4_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26022:1: ( ( ruleIdentifier ) ) + // InternalScope.g:26023:2: ( ruleIdentifier ) + { + // InternalScope.g:26023:2: ( ruleIdentifier ) + // InternalScope.g:26024:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getVarIdentifierParserRuleCall_1_3_4_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__VarAssignment_1_3_4_0" + + + // $ANTLR start "rule__InfixExpression__ExpAssignment_1_3_5" + // InternalScope.g:26033:1: rule__InfixExpression__ExpAssignment_1_3_5 : ( ruleExpression ) ; + public final void rule__InfixExpression__ExpAssignment_1_3_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26037:1: ( ( ruleExpression ) ) + // InternalScope.g:26038:2: ( ruleExpression ) + { + // InternalScope.g:26038:2: ( ruleExpression ) + // InternalScope.g:26039:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfixExpressionAccess().getExpExpressionParserRuleCall_1_3_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfixExpression__ExpAssignment_1_3_5" + + + // $ANTLR start "rule__BooleanLiteral__ValAssignment" + // InternalScope.g:26048:1: rule__BooleanLiteral__ValAssignment : ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) ; + public final void rule__BooleanLiteral__ValAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26052:1: ( ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) ) + // InternalScope.g:26053:2: ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) + { + // InternalScope.g:26053:2: ( ( rule__BooleanLiteral__ValAlternatives_0 ) ) + // InternalScope.g:26054:3: ( rule__BooleanLiteral__ValAlternatives_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); + } + // InternalScope.g:26055:3: ( rule__BooleanLiteral__ValAlternatives_0 ) + // InternalScope.g:26055:4: rule__BooleanLiteral__ValAlternatives_0 + { + pushFollow(FOLLOW_2); + rule__BooleanLiteral__ValAlternatives_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBooleanLiteralAccess().getValAlternatives_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteral__ValAssignment" + + + // $ANTLR start "rule__IntegerLiteral__ValAssignment" + // InternalScope.g:26063:1: rule__IntegerLiteral__ValAssignment : ( RULE_INT ) ; + public final void rule__IntegerLiteral__ValAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26067:1: ( ( RULE_INT ) ) + // InternalScope.g:26068:2: ( RULE_INT ) + { + // InternalScope.g:26068:2: ( RULE_INT ) + // InternalScope.g:26069:3: RULE_INT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIntegerLiteralAccess().getValINTTerminalRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IntegerLiteral__ValAssignment" + + + // $ANTLR start "rule__NullLiteral__ValAssignment" + // InternalScope.g:26078:1: rule__NullLiteral__ValAssignment : ( ( 'null' ) ) ; + public final void rule__NullLiteral__ValAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26082:1: ( ( ( 'null' ) ) ) + // InternalScope.g:26083:2: ( ( 'null' ) ) + { + // InternalScope.g:26083:2: ( ( 'null' ) ) + // InternalScope.g:26084:3: ( 'null' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); + } + // InternalScope.g:26085:3: ( 'null' ) + // InternalScope.g:26086:4: 'null' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); + } + match(input,108,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NullLiteral__ValAssignment" + + + // $ANTLR start "rule__RealLiteral__ValAssignment" + // InternalScope.g:26097:1: rule__RealLiteral__ValAssignment : ( RULE_REAL ) ; + public final void rule__RealLiteral__ValAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26101:1: ( ( RULE_REAL ) ) + // InternalScope.g:26102:2: ( RULE_REAL ) + { + // InternalScope.g:26102:2: ( RULE_REAL ) + // InternalScope.g:26103:3: RULE_REAL + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); + } + match(input,RULE_REAL,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRealLiteralAccess().getValREALTerminalRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RealLiteral__ValAssignment" + + + // $ANTLR start "rule__StringLiteral__ValAssignment" + // InternalScope.g:26112:1: rule__StringLiteral__ValAssignment : ( RULE_STRING ) ; + public final void rule__StringLiteral__ValAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26116:1: ( ( RULE_STRING ) ) + // InternalScope.g:26117:2: ( RULE_STRING ) + { + // InternalScope.g:26117:2: ( RULE_STRING ) + // InternalScope.g:26118:3: RULE_STRING + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); + } + match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStringLiteralAccess().getValSTRINGTerminalRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StringLiteral__ValAssignment" + + + // $ANTLR start "rule__GlobalVarExpression__NameAssignment_1" + // InternalScope.g:26127:1: rule__GlobalVarExpression__NameAssignment_1 : ( ruleIdentifier ) ; + public final void rule__GlobalVarExpression__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26131:1: ( ( ruleIdentifier ) ) + // InternalScope.g:26132:2: ( ruleIdentifier ) + { + // InternalScope.g:26132:2: ( ruleIdentifier ) + // InternalScope.g:26133:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getGlobalVarExpressionAccess().getNameIdentifierParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GlobalVarExpression__NameAssignment_1" + + + // $ANTLR start "rule__FeatureCall__TypeAssignment_1" + // InternalScope.g:26142:1: rule__FeatureCall__TypeAssignment_1 : ( ruleType ) ; + public final void rule__FeatureCall__TypeAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26146:1: ( ( ruleType ) ) + // InternalScope.g:26147:2: ( ruleType ) + { + // InternalScope.g:26147:2: ( ruleType ) + // InternalScope.g:26148:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFeatureCallAccess().getTypeTypeParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FeatureCall__TypeAssignment_1" + + + // $ANTLR start "rule__OperationCall__NameAssignment_0" + // InternalScope.g:26157:1: rule__OperationCall__NameAssignment_0 : ( ruleIdentifier ) ; + public final void rule__OperationCall__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26161:1: ( ( ruleIdentifier ) ) + // InternalScope.g:26162:2: ( ruleIdentifier ) + { + // InternalScope.g:26162:2: ( ruleIdentifier ) + // InternalScope.g:26163:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getNameIdentifierParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__NameAssignment_0" + + + // $ANTLR start "rule__OperationCall__ParamsAssignment_2_0" + // InternalScope.g:26172:1: rule__OperationCall__ParamsAssignment_2_0 : ( ruleExpression ) ; + public final void rule__OperationCall__ParamsAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26176:1: ( ( ruleExpression ) ) + // InternalScope.g:26177:2: ( ruleExpression ) + { + // InternalScope.g:26177:2: ( ruleExpression ) + // InternalScope.g:26178:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__ParamsAssignment_2_0" + + + // $ANTLR start "rule__OperationCall__ParamsAssignment_2_1_1" + // InternalScope.g:26187:1: rule__OperationCall__ParamsAssignment_2_1_1 : ( ruleExpression ) ; + public final void rule__OperationCall__ParamsAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26191:1: ( ( ruleExpression ) ) + // InternalScope.g:26192:2: ( ruleExpression ) + { + // InternalScope.g:26192:2: ( ruleExpression ) + // InternalScope.g:26193:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOperationCallAccess().getParamsExpressionParserRuleCall_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OperationCall__ParamsAssignment_2_1_1" + + + // $ANTLR start "rule__ListLiteral__ElementsAssignment_2_0" + // InternalScope.g:26202:1: rule__ListLiteral__ElementsAssignment_2_0 : ( ruleExpression ) ; + public final void rule__ListLiteral__ElementsAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26206:1: ( ( ruleExpression ) ) + // InternalScope.g:26207:2: ( ruleExpression ) + { + // InternalScope.g:26207:2: ( ruleExpression ) + // InternalScope.g:26208:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__ElementsAssignment_2_0" + + + // $ANTLR start "rule__ListLiteral__ElementsAssignment_2_1_1" + // InternalScope.g:26217:1: rule__ListLiteral__ElementsAssignment_2_1_1 : ( ruleExpression ) ; + public final void rule__ListLiteral__ElementsAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26221:1: ( ( ruleExpression ) ) + // InternalScope.g:26222:2: ( ruleExpression ) + { + // InternalScope.g:26222:2: ( ruleExpression ) + // InternalScope.g:26223:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getListLiteralAccess().getElementsExpressionParserRuleCall_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ListLiteral__ElementsAssignment_2_1_1" + + + // $ANTLR start "rule__ConstructorCallExpression__TypeAssignment_1" + // InternalScope.g:26232:1: rule__ConstructorCallExpression__TypeAssignment_1 : ( ruleSimpleType ) ; + public final void rule__ConstructorCallExpression__TypeAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26236:1: ( ( ruleSimpleType ) ) + // InternalScope.g:26237:2: ( ruleSimpleType ) + { + // InternalScope.g:26237:2: ( ruleSimpleType ) + // InternalScope.g:26238:3: ruleSimpleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleSimpleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConstructorCallExpressionAccess().getTypeSimpleTypeParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstructorCallExpression__TypeAssignment_1" + + + // $ANTLR start "rule__TypeSelectExpression__NameAssignment_0" + // InternalScope.g:26247:1: rule__TypeSelectExpression__NameAssignment_0 : ( ( 'typeSelect' ) ) ; + public final void rule__TypeSelectExpression__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26251:1: ( ( ( 'typeSelect' ) ) ) + // InternalScope.g:26252:2: ( ( 'typeSelect' ) ) + { + // InternalScope.g:26252:2: ( ( 'typeSelect' ) ) + // InternalScope.g:26253:3: ( 'typeSelect' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + } + // InternalScope.g:26254:3: ( 'typeSelect' ) + // InternalScope.g:26255:4: 'typeSelect' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + } + match(input,120,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__NameAssignment_0" + + + // $ANTLR start "rule__TypeSelectExpression__TypeAssignment_2" + // InternalScope.g:26266:1: rule__TypeSelectExpression__TypeAssignment_2 : ( ruleType ) ; + public final void rule__TypeSelectExpression__TypeAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26270:1: ( ( ruleType ) ) + // InternalScope.g:26271:2: ( ruleType ) + { + // InternalScope.g:26271:2: ( ruleType ) + // InternalScope.g:26272:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeSelectExpressionAccess().getTypeTypeParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeSelectExpression__TypeAssignment_2" + + + // $ANTLR start "rule__CollectionExpression__NameAssignment_0" + // InternalScope.g:26281:1: rule__CollectionExpression__NameAssignment_0 : ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) ; + public final void rule__CollectionExpression__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26285:1: ( ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) ) + // InternalScope.g:26286:2: ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) + { + // InternalScope.g:26286:2: ( ( rule__CollectionExpression__NameAlternatives_0_0 ) ) + // InternalScope.g:26287:3: ( rule__CollectionExpression__NameAlternatives_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); + } + // InternalScope.g:26288:3: ( rule__CollectionExpression__NameAlternatives_0_0 ) + // InternalScope.g:26288:4: rule__CollectionExpression__NameAlternatives_0_0 + { + pushFollow(FOLLOW_2); + rule__CollectionExpression__NameAlternatives_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getNameAlternatives_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__NameAssignment_0" + + + // $ANTLR start "rule__CollectionExpression__VarAssignment_2_0" + // InternalScope.g:26296:1: rule__CollectionExpression__VarAssignment_2_0 : ( ruleIdentifier ) ; + public final void rule__CollectionExpression__VarAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26300:1: ( ( ruleIdentifier ) ) + // InternalScope.g:26301:2: ( ruleIdentifier ) + { + // InternalScope.g:26301:2: ( ruleIdentifier ) + // InternalScope.g:26302:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getVarIdentifierParserRuleCall_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__VarAssignment_2_0" + + + // $ANTLR start "rule__CollectionExpression__ExpAssignment_3" + // InternalScope.g:26311:1: rule__CollectionExpression__ExpAssignment_3 : ( ruleExpression ) ; + public final void rule__CollectionExpression__ExpAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26315:1: ( ( ruleExpression ) ) + // InternalScope.g:26316:2: ( ruleExpression ) + { + // InternalScope.g:26316:2: ( ruleExpression ) + // InternalScope.g:26317:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionExpressionAccess().getExpExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionExpression__ExpAssignment_3" + + + // $ANTLR start "rule__CollectionType__ClAssignment_0" + // InternalScope.g:26326:1: rule__CollectionType__ClAssignment_0 : ( ( rule__CollectionType__ClAlternatives_0_0 ) ) ; + public final void rule__CollectionType__ClAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26330:1: ( ( ( rule__CollectionType__ClAlternatives_0_0 ) ) ) + // InternalScope.g:26331:2: ( ( rule__CollectionType__ClAlternatives_0_0 ) ) + { + // InternalScope.g:26331:2: ( ( rule__CollectionType__ClAlternatives_0_0 ) ) + // InternalScope.g:26332:3: ( rule__CollectionType__ClAlternatives_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); + } + // InternalScope.g:26333:3: ( rule__CollectionType__ClAlternatives_0_0 ) + // InternalScope.g:26333:4: rule__CollectionType__ClAlternatives_0_0 + { + pushFollow(FOLLOW_2); + rule__CollectionType__ClAlternatives_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__ClAssignment_0" + + + // $ANTLR start "rule__CollectionType__Id1Assignment_2" + // InternalScope.g:26341:1: rule__CollectionType__Id1Assignment_2 : ( ruleSimpleType ) ; + public final void rule__CollectionType__Id1Assignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26345:1: ( ( ruleSimpleType ) ) + // InternalScope.g:26346:2: ( ruleSimpleType ) + { + // InternalScope.g:26346:2: ( ruleSimpleType ) + // InternalScope.g:26347:3: ruleSimpleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleSimpleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CollectionType__Id1Assignment_2" + + + // $ANTLR start "rule__SimpleType__IdAssignment_0" + // InternalScope.g:26356:1: rule__SimpleType__IdAssignment_0 : ( ruleIdentifier ) ; + public final void rule__SimpleType__IdAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26360:1: ( ( ruleIdentifier ) ) + // InternalScope.g:26361:2: ( ruleIdentifier ) + { + // InternalScope.g:26361:2: ( ruleIdentifier ) + // InternalScope.g:26362:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__IdAssignment_0" + + + // $ANTLR start "rule__SimpleType__IdAssignment_1_1" + // InternalScope.g:26371:1: rule__SimpleType__IdAssignment_1_1 : ( ruleIdentifier ) ; + public final void rule__SimpleType__IdAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26375:1: ( ( ruleIdentifier ) ) + // InternalScope.g:26376:2: ( ruleIdentifier ) + { + // InternalScope.g:26376:2: ( ruleIdentifier ) + // InternalScope.g:26377:3: ruleIdentifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleIdentifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleType__IdAssignment_1_1" + + + // $ANTLR start "rule__XAssignment__FeatureAssignment_0_1" + // InternalScope.g:26386:1: rule__XAssignment__FeatureAssignment_0_1 : ( ( ruleFeatureCallID ) ) ; + public final void rule__XAssignment__FeatureAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26390:1: ( ( ( ruleFeatureCallID ) ) ) + // InternalScope.g:26391:2: ( ( ruleFeatureCallID ) ) + { + // InternalScope.g:26391:2: ( ( ruleFeatureCallID ) ) + // InternalScope.g:26392:3: ( ruleFeatureCallID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + // InternalScope.g:26393:3: ( ruleFeatureCallID ) + // InternalScope.g:26394:4: ruleFeatureCallID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__FeatureAssignment_0_1" + + + // $ANTLR start "rule__XAssignment__ValueAssignment_0_3" + // InternalScope.g:26405:1: rule__XAssignment__ValueAssignment_0_3 : ( ruleXAssignment ) ; + public final void rule__XAssignment__ValueAssignment_0_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26409:1: ( ( ruleXAssignment ) ) + // InternalScope.g:26410:2: ( ruleXAssignment ) + { + // InternalScope.g:26410:2: ( ruleXAssignment ) + // InternalScope.g:26411:3: ruleXAssignment + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); + } + pushFollow(FOLLOW_2); + ruleXAssignment(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__ValueAssignment_0_3" + + + // $ANTLR start "rule__XAssignment__FeatureAssignment_1_1_0_0_1" + // InternalScope.g:26420:1: rule__XAssignment__FeatureAssignment_1_1_0_0_1 : ( ( ruleOpMultiAssign ) ) ; + public final void rule__XAssignment__FeatureAssignment_1_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26424:1: ( ( ( ruleOpMultiAssign ) ) ) + // InternalScope.g:26425:2: ( ( ruleOpMultiAssign ) ) + { + // InternalScope.g:26425:2: ( ( ruleOpMultiAssign ) ) + // InternalScope.g:26426:3: ( ruleOpMultiAssign ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + // InternalScope.g:26427:3: ( ruleOpMultiAssign ) + // InternalScope.g:26428:4: ruleOpMultiAssign + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementOpMultiAssignParserRuleCall_1_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpMultiAssign(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementOpMultiAssignParserRuleCall_1_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__FeatureAssignment_1_1_0_0_1" + + + // $ANTLR start "rule__XAssignment__RightOperandAssignment_1_1_1" + // InternalScope.g:26439:1: rule__XAssignment__RightOperandAssignment_1_1_1 : ( ruleXAssignment ) ; + public final void rule__XAssignment__RightOperandAssignment_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26443:1: ( ( ruleXAssignment ) ) + // InternalScope.g:26444:2: ( ruleXAssignment ) + { + // InternalScope.g:26444:2: ( ruleXAssignment ) + // InternalScope.g:26445:3: ruleXAssignment + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXAssignment(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAssignment__RightOperandAssignment_1_1_1" + + + // $ANTLR start "rule__XOrExpression__FeatureAssignment_1_0_0_1" + // InternalScope.g:26454:1: rule__XOrExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpOr ) ) ; + public final void rule__XOrExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26458:1: ( ( ( ruleOpOr ) ) ) + // InternalScope.g:26459:2: ( ( ruleOpOr ) ) + { + // InternalScope.g:26459:2: ( ( ruleOpOr ) ) + // InternalScope.g:26460:3: ( ruleOpOr ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalScope.g:26461:3: ( ruleOpOr ) + // InternalScope.g:26462:4: ruleOpOr + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementOpOrParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpOr(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementOpOrParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XOrExpression__RightOperandAssignment_1_1" + // InternalScope.g:26473:1: rule__XOrExpression__RightOperandAssignment_1_1 : ( ruleXAndExpression ) ; + public final void rule__XOrExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26477:1: ( ( ruleXAndExpression ) ) + // InternalScope.g:26478:2: ( ruleXAndExpression ) + { + // InternalScope.g:26478:2: ( ruleXAndExpression ) + // InternalScope.g:26479:3: ruleXAndExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXAndExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOrExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XAndExpression__FeatureAssignment_1_0_0_1" + // InternalScope.g:26488:1: rule__XAndExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpAnd ) ) ; + public final void rule__XAndExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26492:1: ( ( ( ruleOpAnd ) ) ) + // InternalScope.g:26493:2: ( ( ruleOpAnd ) ) + { + // InternalScope.g:26493:2: ( ( ruleOpAnd ) ) + // InternalScope.g:26494:3: ( ruleOpAnd ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalScope.g:26495:3: ( ruleOpAnd ) + // InternalScope.g:26496:4: ruleOpAnd + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementOpAndParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpAnd(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementOpAndParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XAndExpression__RightOperandAssignment_1_1" + // InternalScope.g:26507:1: rule__XAndExpression__RightOperandAssignment_1_1 : ( ruleXEqualityExpression ) ; + public final void rule__XAndExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26511:1: ( ( ruleXEqualityExpression ) ) + // InternalScope.g:26512:2: ( ruleXEqualityExpression ) + { + // InternalScope.g:26512:2: ( ruleXEqualityExpression ) + // InternalScope.g:26513:3: ruleXEqualityExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXEqualityExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAndExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XEqualityExpression__FeatureAssignment_1_0_0_1" + // InternalScope.g:26522:1: rule__XEqualityExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpEquality ) ) ; + public final void rule__XEqualityExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26526:1: ( ( ( ruleOpEquality ) ) ) + // InternalScope.g:26527:2: ( ( ruleOpEquality ) ) + { + // InternalScope.g:26527:2: ( ( ruleOpEquality ) ) + // InternalScope.g:26528:3: ( ruleOpEquality ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalScope.g:26529:3: ( ruleOpEquality ) + // InternalScope.g:26530:4: ruleOpEquality + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementOpEqualityParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpEquality(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementOpEqualityParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XEqualityExpression__RightOperandAssignment_1_1" + // InternalScope.g:26541:1: rule__XEqualityExpression__RightOperandAssignment_1_1 : ( ruleXRelationalExpression ) ; + public final void rule__XEqualityExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26545:1: ( ( ruleXRelationalExpression ) ) + // InternalScope.g:26546:2: ( ruleXRelationalExpression ) + { + // InternalScope.g:26546:2: ( ruleXRelationalExpression ) + // InternalScope.g:26547:3: ruleXRelationalExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXRelationalExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XEqualityExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XRelationalExpression__TypeAssignment_1_0_1" + // InternalScope.g:26556:1: rule__XRelationalExpression__TypeAssignment_1_0_1 : ( ruleJvmTypeReference ) ; + public final void rule__XRelationalExpression__TypeAssignment_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26560:1: ( ( ruleJvmTypeReference ) ) + // InternalScope.g:26561:2: ( ruleJvmTypeReference ) + { + // InternalScope.g:26561:2: ( ruleJvmTypeReference ) + // InternalScope.g:26562:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__TypeAssignment_1_0_1" + + + // $ANTLR start "rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1" + // InternalScope.g:26571:1: rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 : ( ( ruleOpCompare ) ) ; + public final void rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26575:1: ( ( ( ruleOpCompare ) ) ) + // InternalScope.g:26576:2: ( ( ruleOpCompare ) ) + { + // InternalScope.g:26576:2: ( ( ruleOpCompare ) ) + // InternalScope.g:26577:3: ( ruleOpCompare ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + // InternalScope.g:26578:3: ( ruleOpCompare ) + // InternalScope.g:26579:4: ruleOpCompare + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementOpCompareParserRuleCall_1_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpCompare(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementOpCompareParserRuleCall_1_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1" + + + // $ANTLR start "rule__XRelationalExpression__RightOperandAssignment_1_1_1" + // InternalScope.g:26590:1: rule__XRelationalExpression__RightOperandAssignment_1_1_1 : ( ruleXOtherOperatorExpression ) ; + public final void rule__XRelationalExpression__RightOperandAssignment_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26594:1: ( ( ruleXOtherOperatorExpression ) ) + // InternalScope.g:26595:2: ( ruleXOtherOperatorExpression ) + { + // InternalScope.g:26595:2: ( ruleXOtherOperatorExpression ) + // InternalScope.g:26596:3: ruleXOtherOperatorExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXOtherOperatorExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XRelationalExpression__RightOperandAssignment_1_1_1" + + + // $ANTLR start "rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1" + // InternalScope.g:26605:1: rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpOther ) ) ; + public final void rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26609:1: ( ( ( ruleOpOther ) ) ) + // InternalScope.g:26610:2: ( ( ruleOpOther ) ) + { + // InternalScope.g:26610:2: ( ( ruleOpOther ) ) + // InternalScope.g:26611:3: ( ruleOpOther ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalScope.g:26612:3: ( ruleOpOther ) + // InternalScope.g:26613:4: ruleOpOther + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementOpOtherParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpOther(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementOpOtherParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XOtherOperatorExpression__RightOperandAssignment_1_1" + // InternalScope.g:26624:1: rule__XOtherOperatorExpression__RightOperandAssignment_1_1 : ( ruleXAdditiveExpression ) ; + public final void rule__XOtherOperatorExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26628:1: ( ( ruleXAdditiveExpression ) ) + // InternalScope.g:26629:2: ( ruleXAdditiveExpression ) + { + // InternalScope.g:26629:2: ( ruleXAdditiveExpression ) + // InternalScope.g:26630:3: ruleXAdditiveExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXAdditiveExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XOtherOperatorExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XAdditiveExpression__FeatureAssignment_1_0_0_1" + // InternalScope.g:26639:1: rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpAdd ) ) ; + public final void rule__XAdditiveExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26643:1: ( ( ( ruleOpAdd ) ) ) + // InternalScope.g:26644:2: ( ( ruleOpAdd ) ) + { + // InternalScope.g:26644:2: ( ( ruleOpAdd ) ) + // InternalScope.g:26645:3: ( ruleOpAdd ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalScope.g:26646:3: ( ruleOpAdd ) + // InternalScope.g:26647:4: ruleOpAdd + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementOpAddParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpAdd(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementOpAddParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XAdditiveExpression__RightOperandAssignment_1_1" + // InternalScope.g:26658:1: rule__XAdditiveExpression__RightOperandAssignment_1_1 : ( ruleXMultiplicativeExpression ) ; + public final void rule__XAdditiveExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26662:1: ( ( ruleXMultiplicativeExpression ) ) + // InternalScope.g:26663:2: ( ruleXMultiplicativeExpression ) + { + // InternalScope.g:26663:2: ( ruleXMultiplicativeExpression ) + // InternalScope.g:26664:3: ruleXMultiplicativeExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XAdditiveExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1" + // InternalScope.g:26673:1: rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpMulti ) ) ; + public final void rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26677:1: ( ( ( ruleOpMulti ) ) ) + // InternalScope.g:26678:2: ( ( ruleOpMulti ) ) + { + // InternalScope.g:26678:2: ( ( ruleOpMulti ) ) + // InternalScope.g:26679:3: ( ruleOpMulti ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + // InternalScope.g:26680:3: ( ruleOpMulti ) + // InternalScope.g:26681:4: ruleOpMulti + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementOpMultiParserRuleCall_1_0_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpMulti(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementOpMultiParserRuleCall_1_0_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1" + + + // $ANTLR start "rule__XMultiplicativeExpression__RightOperandAssignment_1_1" + // InternalScope.g:26692:1: rule__XMultiplicativeExpression__RightOperandAssignment_1_1 : ( ruleXUnaryOperation ) ; + public final void rule__XMultiplicativeExpression__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26696:1: ( ( ruleXUnaryOperation ) ) + // InternalScope.g:26697:2: ( ruleXUnaryOperation ) + { + // InternalScope.g:26697:2: ( ruleXUnaryOperation ) + // InternalScope.g:26698:3: ruleXUnaryOperation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMultiplicativeExpression__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__XUnaryOperation__FeatureAssignment_0_1" + // InternalScope.g:26707:1: rule__XUnaryOperation__FeatureAssignment_0_1 : ( ( ruleOpUnary ) ) ; + public final void rule__XUnaryOperation__FeatureAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26711:1: ( ( ( ruleOpUnary ) ) ) + // InternalScope.g:26712:2: ( ( ruleOpUnary ) ) + { + // InternalScope.g:26712:2: ( ( ruleOpUnary ) ) + // InternalScope.g:26713:3: ( ruleOpUnary ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + // InternalScope.g:26714:3: ( ruleOpUnary ) + // InternalScope.g:26715:4: ruleOpUnary + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementOpUnaryParserRuleCall_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpUnary(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementOpUnaryParserRuleCall_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__FeatureAssignment_0_1" + + + // $ANTLR start "rule__XUnaryOperation__OperandAssignment_0_2" + // InternalScope.g:26726:1: rule__XUnaryOperation__OperandAssignment_0_2 : ( ruleXUnaryOperation ) ; + public final void rule__XUnaryOperation__OperandAssignment_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26730:1: ( ( ruleXUnaryOperation ) ) + // InternalScope.g:26731:2: ( ruleXUnaryOperation ) + { + // InternalScope.g:26731:2: ( ruleXUnaryOperation ) + // InternalScope.g:26732:3: ruleXUnaryOperation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); + } + pushFollow(FOLLOW_2); + ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XUnaryOperation__OperandAssignment_0_2" + + + // $ANTLR start "rule__XCastedExpression__TypeAssignment_1_1" + // InternalScope.g:26741:1: rule__XCastedExpression__TypeAssignment_1_1 : ( ruleJvmTypeReference ) ; + public final void rule__XCastedExpression__TypeAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26745:1: ( ( ruleJvmTypeReference ) ) + // InternalScope.g:26746:2: ( ruleJvmTypeReference ) + { + // InternalScope.g:26746:2: ( ruleJvmTypeReference ) + // InternalScope.g:26747:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCastedExpression__TypeAssignment_1_1" + + + // $ANTLR start "rule__XPostfixOperation__FeatureAssignment_1_0_1" + // InternalScope.g:26756:1: rule__XPostfixOperation__FeatureAssignment_1_0_1 : ( ( ruleOpPostfix ) ) ; + public final void rule__XPostfixOperation__FeatureAssignment_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26760:1: ( ( ( ruleOpPostfix ) ) ) + // InternalScope.g:26761:2: ( ( ruleOpPostfix ) ) + { + // InternalScope.g:26761:2: ( ( ruleOpPostfix ) ) + // InternalScope.g:26762:3: ( ruleOpPostfix ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); + } + // InternalScope.g:26763:3: ( ruleOpPostfix ) + // InternalScope.g:26764:4: ruleOpPostfix + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementOpPostfixParserRuleCall_1_0_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleOpPostfix(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementOpPostfixParserRuleCall_1_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XPostfixOperation__FeatureAssignment_1_0_1" + + + // $ANTLR start "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1" + // InternalScope.g:26775:1: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 : ( ( '::' ) ) ; + public final void rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26779:1: ( ( ( '::' ) ) ) + // InternalScope.g:26780:2: ( ( '::' ) ) + { + // InternalScope.g:26780:2: ( ( '::' ) ) + // InternalScope.g:26781:3: ( '::' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + } + // InternalScope.g:26782:3: ( '::' ) + // InternalScope.g:26783:4: '::' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + } + match(input,93,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1" + + + // $ANTLR start "rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2" + // InternalScope.g:26794:1: rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 : ( ( ruleFeatureCallID ) ) ; + public final void rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26798:1: ( ( ( ruleFeatureCallID ) ) ) + // InternalScope.g:26799:2: ( ( ruleFeatureCallID ) ) + { + // InternalScope.g:26799:2: ( ( ruleFeatureCallID ) ) + // InternalScope.g:26800:3: ( ruleFeatureCallID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); + } + // InternalScope.g:26801:3: ( ruleFeatureCallID ) + // InternalScope.g:26802:4: ruleFeatureCallID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_1_0_0_0_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_1_0_0_0_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2" + + + // $ANTLR start "rule__XMemberFeatureCall__ValueAssignment_1_0_1" + // InternalScope.g:26813:1: rule__XMemberFeatureCall__ValueAssignment_1_0_1 : ( ruleXAssignment ) ; + public final void rule__XMemberFeatureCall__ValueAssignment_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26817:1: ( ( ruleXAssignment ) ) + // InternalScope.g:26818:2: ( ruleXAssignment ) + { + // InternalScope.g:26818:2: ( ruleXAssignment ) + // InternalScope.g:26819:3: ruleXAssignment + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleXAssignment(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__ValueAssignment_1_0_1" + + + // $ANTLR start "rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1" + // InternalScope.g:26828:1: rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 : ( ( '?.' ) ) ; + public final void rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26832:1: ( ( ( '?.' ) ) ) + // InternalScope.g:26833:2: ( ( '?.' ) ) + { + // InternalScope.g:26833:2: ( ( '?.' ) ) + // InternalScope.g:26834:3: ( '?.' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + } + // InternalScope.g:26835:3: ( '?.' ) + // InternalScope.g:26836:4: '?.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + } + match(input,121,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1" + + + // $ANTLR start "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2" + // InternalScope.g:26847:1: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 : ( ( '::' ) ) ; + public final void rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26851:1: ( ( ( '::' ) ) ) + // InternalScope.g:26852:2: ( ( '::' ) ) + { + // InternalScope.g:26852:2: ( ( '::' ) ) + // InternalScope.g:26853:3: ( '::' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + } + // InternalScope.g:26854:3: ( '::' ) + // InternalScope.g:26855:4: '::' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + } + match(input,93,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2" + + + // $ANTLR start "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1" + // InternalScope.g:26866:1: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26870:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalScope.g:26871:2: ( ruleJvmArgumentTypeReference ) + { + // InternalScope.g:26871:2: ( ruleJvmArgumentTypeReference ) + // InternalScope.g:26872:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1" + + + // $ANTLR start "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1" + // InternalScope.g:26881:1: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26885:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalScope.g:26886:2: ( ruleJvmArgumentTypeReference ) + { + // InternalScope.g:26886:2: ( ruleJvmArgumentTypeReference ) + // InternalScope.g:26887:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1" + + + // $ANTLR start "rule__XMemberFeatureCall__FeatureAssignment_1_1_2" + // InternalScope.g:26896:1: rule__XMemberFeatureCall__FeatureAssignment_1_1_2 : ( ( ruleIdOrSuper ) ) ; + public final void rule__XMemberFeatureCall__FeatureAssignment_1_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26900:1: ( ( ( ruleIdOrSuper ) ) ) + // InternalScope.g:26901:2: ( ( ruleIdOrSuper ) ) + { + // InternalScope.g:26901:2: ( ( ruleIdOrSuper ) ) + // InternalScope.g:26902:3: ( ruleIdOrSuper ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); + } + // InternalScope.g:26903:3: ( ruleIdOrSuper ) + // InternalScope.g:26904:4: ruleIdOrSuper + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_1_1_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleIdOrSuper(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_1_1_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__FeatureAssignment_1_1_2" + + + // $ANTLR start "rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0" + // InternalScope.g:26915:1: rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 : ( ( '(' ) ) ; + public final void rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26919:1: ( ( ( '(' ) ) ) + // InternalScope.g:26920:2: ( ( '(' ) ) + { + // InternalScope.g:26920:2: ( ( '(' ) ) + // InternalScope.g:26921:3: ( '(' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + } + // InternalScope.g:26922:3: ( '(' ) + // InternalScope.g:26923:4: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0" + + + // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0" + // InternalScope.g:26934:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 : ( ruleXShortClosure ) ; + public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26938:1: ( ( ruleXShortClosure ) ) + // InternalScope.g:26939:2: ( ruleXShortClosure ) + { + // InternalScope.g:26939:2: ( ruleXShortClosure ) + // InternalScope.g:26940:3: ruleXShortClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXShortClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0" + + + // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0" + // InternalScope.g:26949:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 : ( ruleXExpression ) ; + public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26953:1: ( ( ruleXExpression ) ) + // InternalScope.g:26954:2: ( ruleXExpression ) + { + // InternalScope.g:26954:2: ( ruleXExpression ) + // InternalScope.g:26955:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0" + + + // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1" + // InternalScope.g:26964:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 : ( ruleXExpression ) ; + public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26968:1: ( ( ruleXExpression ) ) + // InternalScope.g:26969:2: ( ruleXExpression ) + { + // InternalScope.g:26969:2: ( ruleXExpression ) + // InternalScope.g:26970:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1" + + + // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4" + // InternalScope.g:26979:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 : ( ruleXClosure ) ; + public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26983:1: ( ( ruleXClosure ) ) + // InternalScope.g:26984:2: ( ruleXClosure ) + { + // InternalScope.g:26984:2: ( ruleXClosure ) + // InternalScope.g:26985:3: ruleXClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); + } + pushFollow(FOLLOW_2); + ruleXClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4" + + + // $ANTLR start "rule__XSetLiteral__ElementsAssignment_3_0" + // InternalScope.g:26994:1: rule__XSetLiteral__ElementsAssignment_3_0 : ( ruleXExpression ) ; + public final void rule__XSetLiteral__ElementsAssignment_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:26998:1: ( ( ruleXExpression ) ) + // InternalScope.g:26999:2: ( ruleXExpression ) + { + // InternalScope.g:26999:2: ( ruleXExpression ) + // InternalScope.g:27000:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__ElementsAssignment_3_0" + + + // $ANTLR start "rule__XSetLiteral__ElementsAssignment_3_1_1" + // InternalScope.g:27009:1: rule__XSetLiteral__ElementsAssignment_3_1_1 : ( ruleXExpression ) ; + public final void rule__XSetLiteral__ElementsAssignment_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27013:1: ( ( ruleXExpression ) ) + // InternalScope.g:27014:2: ( ruleXExpression ) + { + // InternalScope.g:27014:2: ( ruleXExpression ) + // InternalScope.g:27015:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSetLiteral__ElementsAssignment_3_1_1" + + + // $ANTLR start "rule__XListLiteral__ElementsAssignment_3_0" + // InternalScope.g:27024:1: rule__XListLiteral__ElementsAssignment_3_0 : ( ruleXExpression ) ; + public final void rule__XListLiteral__ElementsAssignment_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27028:1: ( ( ruleXExpression ) ) + // InternalScope.g:27029:2: ( ruleXExpression ) + { + // InternalScope.g:27029:2: ( ruleXExpression ) + // InternalScope.g:27030:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__ElementsAssignment_3_0" + + + // $ANTLR start "rule__XListLiteral__ElementsAssignment_3_1_1" + // InternalScope.g:27039:1: rule__XListLiteral__ElementsAssignment_3_1_1 : ( ruleXExpression ) ; + public final void rule__XListLiteral__ElementsAssignment_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27043:1: ( ( ruleXExpression ) ) + // InternalScope.g:27044:2: ( ruleXExpression ) + { + // InternalScope.g:27044:2: ( ruleXExpression ) + // InternalScope.g:27045:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XListLiteral__ElementsAssignment_3_1_1" + + + // $ANTLR start "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0" + // InternalScope.g:27054:1: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 : ( ruleJvmFormalParameter ) ; + public final void rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27058:1: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:27059:2: ( ruleJvmFormalParameter ) + { + // InternalScope.g:27059:2: ( ruleJvmFormalParameter ) + // InternalScope.g:27060:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0" + + + // $ANTLR start "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1" + // InternalScope.g:27069:1: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 : ( ruleJvmFormalParameter ) ; + public final void rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27073:1: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:27074:2: ( ruleJvmFormalParameter ) + { + // InternalScope.g:27074:2: ( ruleJvmFormalParameter ) + // InternalScope.g:27075:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1" + + + // $ANTLR start "rule__XClosure__ExplicitSyntaxAssignment_1_0_1" + // InternalScope.g:27084:1: rule__XClosure__ExplicitSyntaxAssignment_1_0_1 : ( ( '|' ) ) ; + public final void rule__XClosure__ExplicitSyntaxAssignment_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27088:1: ( ( ( '|' ) ) ) + // InternalScope.g:27089:2: ( ( '|' ) ) + { + // InternalScope.g:27089:2: ( ( '|' ) ) + // InternalScope.g:27090:3: ( '|' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + } + // InternalScope.g:27091:3: ( '|' ) + // InternalScope.g:27092:4: '|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + } + match(input,92,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__ExplicitSyntaxAssignment_1_0_1" + + + // $ANTLR start "rule__XClosure__ExpressionAssignment_2" + // InternalScope.g:27103:1: rule__XClosure__ExpressionAssignment_2 : ( ruleXExpressionInClosure ) ; + public final void rule__XClosure__ExpressionAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27107:1: ( ( ruleXExpressionInClosure ) ) + // InternalScope.g:27108:2: ( ruleXExpressionInClosure ) + { + // InternalScope.g:27108:2: ( ruleXExpressionInClosure ) + // InternalScope.g:27109:3: ruleXExpressionInClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpressionInClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XClosure__ExpressionAssignment_2" + + + // $ANTLR start "rule__XExpressionInClosure__ExpressionsAssignment_1_0" + // InternalScope.g:27118:1: rule__XExpressionInClosure__ExpressionsAssignment_1_0 : ( ruleXExpressionOrVarDeclaration ) ; + public final void rule__XExpressionInClosure__ExpressionsAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27122:1: ( ( ruleXExpressionOrVarDeclaration ) ) + // InternalScope.g:27123:2: ( ruleXExpressionOrVarDeclaration ) + { + // InternalScope.g:27123:2: ( ruleXExpressionOrVarDeclaration ) + // InternalScope.g:27124:3: ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XExpressionInClosure__ExpressionsAssignment_1_0" + + + // $ANTLR start "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0" + // InternalScope.g:27133:1: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 : ( ruleJvmFormalParameter ) ; + public final void rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27137:1: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:27138:2: ( ruleJvmFormalParameter ) + { + // InternalScope.g:27138:2: ( ruleJvmFormalParameter ) + // InternalScope.g:27139:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0" + + + // $ANTLR start "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1" + // InternalScope.g:27148:1: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 : ( ruleJvmFormalParameter ) ; + public final void rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27152:1: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:27153:2: ( ruleJvmFormalParameter ) + { + // InternalScope.g:27153:2: ( ruleJvmFormalParameter ) + // InternalScope.g:27154:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1" + + + // $ANTLR start "rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2" + // InternalScope.g:27163:1: rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 : ( ( '|' ) ) ; + public final void rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27167:1: ( ( ( '|' ) ) ) + // InternalScope.g:27168:2: ( ( '|' ) ) + { + // InternalScope.g:27168:2: ( ( '|' ) ) + // InternalScope.g:27169:3: ( '|' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + } + // InternalScope.g:27170:3: ( '|' ) + // InternalScope.g:27171:4: '|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + } + match(input,92,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2" + + + // $ANTLR start "rule__XShortClosure__ExpressionAssignment_1" + // InternalScope.g:27182:1: rule__XShortClosure__ExpressionAssignment_1 : ( ruleXExpression ) ; + public final void rule__XShortClosure__ExpressionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27186:1: ( ( ruleXExpression ) ) + // InternalScope.g:27187:2: ( ruleXExpression ) + { + // InternalScope.g:27187:2: ( ruleXExpression ) + // InternalScope.g:27188:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XShortClosure__ExpressionAssignment_1" + + + // $ANTLR start "rule__XIfExpression__IfAssignment_3" + // InternalScope.g:27197:1: rule__XIfExpression__IfAssignment_3 : ( ruleXExpression ) ; + public final void rule__XIfExpression__IfAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27201:1: ( ( ruleXExpression ) ) + // InternalScope.g:27202:2: ( ruleXExpression ) + { + // InternalScope.g:27202:2: ( ruleXExpression ) + // InternalScope.g:27203:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__IfAssignment_3" + + + // $ANTLR start "rule__XIfExpression__ThenAssignment_5" + // InternalScope.g:27212:1: rule__XIfExpression__ThenAssignment_5 : ( ruleXExpression ) ; + public final void rule__XIfExpression__ThenAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27216:1: ( ( ruleXExpression ) ) + // InternalScope.g:27217:2: ( ruleXExpression ) + { + // InternalScope.g:27217:2: ( ruleXExpression ) + // InternalScope.g:27218:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__ThenAssignment_5" + + + // $ANTLR start "rule__XIfExpression__ElseAssignment_6_1" + // InternalScope.g:27227:1: rule__XIfExpression__ElseAssignment_6_1 : ( ruleXExpression ) ; + public final void rule__XIfExpression__ElseAssignment_6_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27231:1: ( ( ruleXExpression ) ) + // InternalScope.g:27232:2: ( ruleXExpression ) + { + // InternalScope.g:27232:2: ( ruleXExpression ) + // InternalScope.g:27233:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XIfExpression__ElseAssignment_6_1" + + + // $ANTLR start "rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1" + // InternalScope.g:27242:1: rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 : ( ruleJvmFormalParameter ) ; + public final void rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27246:1: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:27247:2: ( ruleJvmFormalParameter ) + { + // InternalScope.g:27247:2: ( ruleJvmFormalParameter ) + // InternalScope.g:27248:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1" + + + // $ANTLR start "rule__XSwitchExpression__SwitchAssignment_2_0_1" + // InternalScope.g:27257:1: rule__XSwitchExpression__SwitchAssignment_2_0_1 : ( ruleXExpression ) ; + public final void rule__XSwitchExpression__SwitchAssignment_2_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27261:1: ( ( ruleXExpression ) ) + // InternalScope.g:27262:2: ( ruleXExpression ) + { + // InternalScope.g:27262:2: ( ruleXExpression ) + // InternalScope.g:27263:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__SwitchAssignment_2_0_1" + + + // $ANTLR start "rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0" + // InternalScope.g:27272:1: rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 : ( ruleJvmFormalParameter ) ; + public final void rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27276:1: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:27277:2: ( ruleJvmFormalParameter ) + { + // InternalScope.g:27277:2: ( ruleJvmFormalParameter ) + // InternalScope.g:27278:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0" + + + // $ANTLR start "rule__XSwitchExpression__SwitchAssignment_2_1_1" + // InternalScope.g:27287:1: rule__XSwitchExpression__SwitchAssignment_2_1_1 : ( ruleXExpression ) ; + public final void rule__XSwitchExpression__SwitchAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27291:1: ( ( ruleXExpression ) ) + // InternalScope.g:27292:2: ( ruleXExpression ) + { + // InternalScope.g:27292:2: ( ruleXExpression ) + // InternalScope.g:27293:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__SwitchAssignment_2_1_1" + + + // $ANTLR start "rule__XSwitchExpression__CasesAssignment_4" + // InternalScope.g:27302:1: rule__XSwitchExpression__CasesAssignment_4 : ( ruleXCasePart ) ; + public final void rule__XSwitchExpression__CasesAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27306:1: ( ( ruleXCasePart ) ) + // InternalScope.g:27307:2: ( ruleXCasePart ) + { + // InternalScope.g:27307:2: ( ruleXCasePart ) + // InternalScope.g:27308:3: ruleXCasePart + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleXCasePart(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__CasesAssignment_4" + + + // $ANTLR start "rule__XSwitchExpression__DefaultAssignment_5_2" + // InternalScope.g:27317:1: rule__XSwitchExpression__DefaultAssignment_5_2 : ( ruleXExpression ) ; + public final void rule__XSwitchExpression__DefaultAssignment_5_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27321:1: ( ( ruleXExpression ) ) + // InternalScope.g:27322:2: ( ruleXExpression ) + { + // InternalScope.g:27322:2: ( ruleXExpression ) + // InternalScope.g:27323:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSwitchExpression__DefaultAssignment_5_2" + + + // $ANTLR start "rule__XCasePart__TypeGuardAssignment_1" + // InternalScope.g:27332:1: rule__XCasePart__TypeGuardAssignment_1 : ( ruleJvmTypeReference ) ; + public final void rule__XCasePart__TypeGuardAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27336:1: ( ( ruleJvmTypeReference ) ) + // InternalScope.g:27337:2: ( ruleJvmTypeReference ) + { + // InternalScope.g:27337:2: ( ruleJvmTypeReference ) + // InternalScope.g:27338:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__TypeGuardAssignment_1" + + + // $ANTLR start "rule__XCasePart__CaseAssignment_2_1" + // InternalScope.g:27347:1: rule__XCasePart__CaseAssignment_2_1 : ( ruleXExpression ) ; + public final void rule__XCasePart__CaseAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27351:1: ( ( ruleXExpression ) ) + // InternalScope.g:27352:2: ( ruleXExpression ) + { + // InternalScope.g:27352:2: ( ruleXExpression ) + // InternalScope.g:27353:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__CaseAssignment_2_1" + + + // $ANTLR start "rule__XCasePart__ThenAssignment_3_0_1" + // InternalScope.g:27362:1: rule__XCasePart__ThenAssignment_3_0_1 : ( ruleXExpression ) ; + public final void rule__XCasePart__ThenAssignment_3_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27366:1: ( ( ruleXExpression ) ) + // InternalScope.g:27367:2: ( ruleXExpression ) + { + // InternalScope.g:27367:2: ( ruleXExpression ) + // InternalScope.g:27368:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__ThenAssignment_3_0_1" + + + // $ANTLR start "rule__XCasePart__FallThroughAssignment_3_1" + // InternalScope.g:27377:1: rule__XCasePart__FallThroughAssignment_3_1 : ( ( ',' ) ) ; + public final void rule__XCasePart__FallThroughAssignment_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27381:1: ( ( ( ',' ) ) ) + // InternalScope.g:27382:2: ( ( ',' ) ) + { + // InternalScope.g:27382:2: ( ( ',' ) ) + // InternalScope.g:27383:3: ( ',' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + } + // InternalScope.g:27384:3: ( ',' ) + // InternalScope.g:27385:4: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + } + match(input,86,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCasePart__FallThroughAssignment_3_1" + + + // $ANTLR start "rule__XForLoopExpression__DeclaredParamAssignment_0_0_3" + // InternalScope.g:27396:1: rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 : ( ruleJvmFormalParameter ) ; + public final void rule__XForLoopExpression__DeclaredParamAssignment_0_0_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27400:1: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:27401:2: ( ruleJvmFormalParameter ) + { + // InternalScope.g:27401:2: ( ruleJvmFormalParameter ) + // InternalScope.g:27402:3: ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); + } + pushFollow(FOLLOW_2); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__DeclaredParamAssignment_0_0_3" + + + // $ANTLR start "rule__XForLoopExpression__ForExpressionAssignment_1" + // InternalScope.g:27411:1: rule__XForLoopExpression__ForExpressionAssignment_1 : ( ruleXExpression ) ; + public final void rule__XForLoopExpression__ForExpressionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27415:1: ( ( ruleXExpression ) ) + // InternalScope.g:27416:2: ( ruleXExpression ) + { + // InternalScope.g:27416:2: ( ruleXExpression ) + // InternalScope.g:27417:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__ForExpressionAssignment_1" + + + // $ANTLR start "rule__XForLoopExpression__EachExpressionAssignment_3" + // InternalScope.g:27426:1: rule__XForLoopExpression__EachExpressionAssignment_3 : ( ruleXExpression ) ; + public final void rule__XForLoopExpression__EachExpressionAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27430:1: ( ( ruleXExpression ) ) + // InternalScope.g:27431:2: ( ruleXExpression ) + { + // InternalScope.g:27431:2: ( ruleXExpression ) + // InternalScope.g:27432:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XForLoopExpression__EachExpressionAssignment_3" + + + // $ANTLR start "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0" + // InternalScope.g:27441:1: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 : ( ruleXExpressionOrVarDeclaration ) ; + public final void rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27445:1: ( ( ruleXExpressionOrVarDeclaration ) ) + // InternalScope.g:27446:2: ( ruleXExpressionOrVarDeclaration ) + { + // InternalScope.g:27446:2: ( ruleXExpressionOrVarDeclaration ) + // InternalScope.g:27447:3: ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0" + + + // $ANTLR start "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1" + // InternalScope.g:27456:1: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 : ( ruleXExpressionOrVarDeclaration ) ; + public final void rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27460:1: ( ( ruleXExpressionOrVarDeclaration ) ) + // InternalScope.g:27461:2: ( ruleXExpressionOrVarDeclaration ) + { + // InternalScope.g:27461:2: ( ruleXExpressionOrVarDeclaration ) + // InternalScope.g:27462:3: ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1" + + + // $ANTLR start "rule__XBasicForLoopExpression__ExpressionAssignment_5" + // InternalScope.g:27471:1: rule__XBasicForLoopExpression__ExpressionAssignment_5 : ( ruleXExpression ) ; + public final void rule__XBasicForLoopExpression__ExpressionAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27475:1: ( ( ruleXExpression ) ) + // InternalScope.g:27476:2: ( ruleXExpression ) + { + // InternalScope.g:27476:2: ( ruleXExpression ) + // InternalScope.g:27477:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__ExpressionAssignment_5" + + + // $ANTLR start "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0" + // InternalScope.g:27486:1: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 : ( ruleXExpression ) ; + public final void rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27490:1: ( ( ruleXExpression ) ) + // InternalScope.g:27491:2: ( ruleXExpression ) + { + // InternalScope.g:27491:2: ( ruleXExpression ) + // InternalScope.g:27492:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0" + + + // $ANTLR start "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1" + // InternalScope.g:27501:1: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 : ( ruleXExpression ) ; + public final void rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27505:1: ( ( ruleXExpression ) ) + // InternalScope.g:27506:2: ( ruleXExpression ) + { + // InternalScope.g:27506:2: ( ruleXExpression ) + // InternalScope.g:27507:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1" + + + // $ANTLR start "rule__XBasicForLoopExpression__EachExpressionAssignment_9" + // InternalScope.g:27516:1: rule__XBasicForLoopExpression__EachExpressionAssignment_9 : ( ruleXExpression ) ; + public final void rule__XBasicForLoopExpression__EachExpressionAssignment_9() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27520:1: ( ( ruleXExpression ) ) + // InternalScope.g:27521:2: ( ruleXExpression ) + { + // InternalScope.g:27521:2: ( ruleXExpression ) + // InternalScope.g:27522:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBasicForLoopExpression__EachExpressionAssignment_9" + + + // $ANTLR start "rule__XWhileExpression__PredicateAssignment_3" + // InternalScope.g:27531:1: rule__XWhileExpression__PredicateAssignment_3 : ( ruleXExpression ) ; + public final void rule__XWhileExpression__PredicateAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27535:1: ( ( ruleXExpression ) ) + // InternalScope.g:27536:2: ( ruleXExpression ) + { + // InternalScope.g:27536:2: ( ruleXExpression ) + // InternalScope.g:27537:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__PredicateAssignment_3" + + + // $ANTLR start "rule__XWhileExpression__BodyAssignment_5" + // InternalScope.g:27546:1: rule__XWhileExpression__BodyAssignment_5 : ( ruleXExpression ) ; + public final void rule__XWhileExpression__BodyAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27550:1: ( ( ruleXExpression ) ) + // InternalScope.g:27551:2: ( ruleXExpression ) + { + // InternalScope.g:27551:2: ( ruleXExpression ) + // InternalScope.g:27552:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XWhileExpression__BodyAssignment_5" + + + // $ANTLR start "rule__XDoWhileExpression__BodyAssignment_2" + // InternalScope.g:27561:1: rule__XDoWhileExpression__BodyAssignment_2 : ( ruleXExpression ) ; + public final void rule__XDoWhileExpression__BodyAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27565:1: ( ( ruleXExpression ) ) + // InternalScope.g:27566:2: ( ruleXExpression ) + { + // InternalScope.g:27566:2: ( ruleXExpression ) + // InternalScope.g:27567:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__BodyAssignment_2" + + + // $ANTLR start "rule__XDoWhileExpression__PredicateAssignment_5" + // InternalScope.g:27576:1: rule__XDoWhileExpression__PredicateAssignment_5 : ( ruleXExpression ) ; + public final void rule__XDoWhileExpression__PredicateAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27580:1: ( ( ruleXExpression ) ) + // InternalScope.g:27581:2: ( ruleXExpression ) + { + // InternalScope.g:27581:2: ( ruleXExpression ) + // InternalScope.g:27582:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XDoWhileExpression__PredicateAssignment_5" + + + // $ANTLR start "rule__XBlockExpression__ExpressionsAssignment_2_0" + // InternalScope.g:27591:1: rule__XBlockExpression__ExpressionsAssignment_2_0 : ( ruleXExpressionOrVarDeclaration ) ; + public final void rule__XBlockExpression__ExpressionsAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27595:1: ( ( ruleXExpressionOrVarDeclaration ) ) + // InternalScope.g:27596:2: ( ruleXExpressionOrVarDeclaration ) + { + // InternalScope.g:27596:2: ( ruleXExpressionOrVarDeclaration ) + // InternalScope.g:27597:3: ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBlockExpression__ExpressionsAssignment_2_0" + + + // $ANTLR start "rule__XVariableDeclaration__WriteableAssignment_1_0" + // InternalScope.g:27606:1: rule__XVariableDeclaration__WriteableAssignment_1_0 : ( ( 'var' ) ) ; + public final void rule__XVariableDeclaration__WriteableAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27610:1: ( ( ( 'var' ) ) ) + // InternalScope.g:27611:2: ( ( 'var' ) ) + { + // InternalScope.g:27611:2: ( ( 'var' ) ) + // InternalScope.g:27612:3: ( 'var' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + } + // InternalScope.g:27613:3: ( 'var' ) + // InternalScope.g:27614:4: 'var' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + } + match(input,122,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__WriteableAssignment_1_0" + + + // $ANTLR start "rule__XVariableDeclaration__TypeAssignment_2_0_0_0" + // InternalScope.g:27625:1: rule__XVariableDeclaration__TypeAssignment_2_0_0_0 : ( ruleJvmTypeReference ) ; + public final void rule__XVariableDeclaration__TypeAssignment_2_0_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27629:1: ( ( ruleJvmTypeReference ) ) + // InternalScope.g:27630:2: ( ruleJvmTypeReference ) + { + // InternalScope.g:27630:2: ( ruleJvmTypeReference ) + // InternalScope.g:27631:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__TypeAssignment_2_0_0_0" + + + // $ANTLR start "rule__XVariableDeclaration__NameAssignment_2_0_0_1" + // InternalScope.g:27640:1: rule__XVariableDeclaration__NameAssignment_2_0_0_1 : ( ruleValidID ) ; + public final void rule__XVariableDeclaration__NameAssignment_2_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27644:1: ( ( ruleValidID ) ) + // InternalScope.g:27645:2: ( ruleValidID ) + { + // InternalScope.g:27645:2: ( ruleValidID ) + // InternalScope.g:27646:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__NameAssignment_2_0_0_1" + + + // $ANTLR start "rule__XVariableDeclaration__NameAssignment_2_1" + // InternalScope.g:27655:1: rule__XVariableDeclaration__NameAssignment_2_1 : ( ruleValidID ) ; + public final void rule__XVariableDeclaration__NameAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27659:1: ( ( ruleValidID ) ) + // InternalScope.g:27660:2: ( ruleValidID ) + { + // InternalScope.g:27660:2: ( ruleValidID ) + // InternalScope.g:27661:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__NameAssignment_2_1" + + + // $ANTLR start "rule__XVariableDeclaration__RightAssignment_3_1" + // InternalScope.g:27670:1: rule__XVariableDeclaration__RightAssignment_3_1 : ( ruleXExpression ) ; + public final void rule__XVariableDeclaration__RightAssignment_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27674:1: ( ( ruleXExpression ) ) + // InternalScope.g:27675:2: ( ruleXExpression ) + { + // InternalScope.g:27675:2: ( ruleXExpression ) + // InternalScope.g:27676:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XVariableDeclaration__RightAssignment_3_1" + + + // $ANTLR start "rule__JvmFormalParameter__ParameterTypeAssignment_0" + // InternalScope.g:27685:1: rule__JvmFormalParameter__ParameterTypeAssignment_0 : ( ruleJvmTypeReference ) ; + public final void rule__JvmFormalParameter__ParameterTypeAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27689:1: ( ( ruleJvmTypeReference ) ) + // InternalScope.g:27690:2: ( ruleJvmTypeReference ) + { + // InternalScope.g:27690:2: ( ruleJvmTypeReference ) + // InternalScope.g:27691:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__ParameterTypeAssignment_0" + + + // $ANTLR start "rule__JvmFormalParameter__NameAssignment_1" + // InternalScope.g:27700:1: rule__JvmFormalParameter__NameAssignment_1 : ( ruleValidID ) ; + public final void rule__JvmFormalParameter__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27704:1: ( ( ruleValidID ) ) + // InternalScope.g:27705:2: ( ruleValidID ) + { + // InternalScope.g:27705:2: ( ruleValidID ) + // InternalScope.g:27706:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmFormalParameter__NameAssignment_1" + + + // $ANTLR start "rule__FullJvmFormalParameter__ParameterTypeAssignment_0" + // InternalScope.g:27715:1: rule__FullJvmFormalParameter__ParameterTypeAssignment_0 : ( ruleJvmTypeReference ) ; + public final void rule__FullJvmFormalParameter__ParameterTypeAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27719:1: ( ( ruleJvmTypeReference ) ) + // InternalScope.g:27720:2: ( ruleJvmTypeReference ) + { + // InternalScope.g:27720:2: ( ruleJvmTypeReference ) + // InternalScope.g:27721:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__ParameterTypeAssignment_0" + + + // $ANTLR start "rule__FullJvmFormalParameter__NameAssignment_1" + // InternalScope.g:27730:1: rule__FullJvmFormalParameter__NameAssignment_1 : ( ruleValidID ) ; + public final void rule__FullJvmFormalParameter__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27734:1: ( ( ruleValidID ) ) + // InternalScope.g:27735:2: ( ruleValidID ) + { + // InternalScope.g:27735:2: ( ruleValidID ) + // InternalScope.g:27736:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FullJvmFormalParameter__NameAssignment_1" + + + // $ANTLR start "rule__XFeatureCall__TypeArgumentsAssignment_1_1" + // InternalScope.g:27745:1: rule__XFeatureCall__TypeArgumentsAssignment_1_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XFeatureCall__TypeArgumentsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27749:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalScope.g:27750:2: ( ruleJvmArgumentTypeReference ) + { + // InternalScope.g:27750:2: ( ruleJvmArgumentTypeReference ) + // InternalScope.g:27751:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__TypeArgumentsAssignment_1_1" + + + // $ANTLR start "rule__XFeatureCall__TypeArgumentsAssignment_1_2_1" + // InternalScope.g:27760:1: rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XFeatureCall__TypeArgumentsAssignment_1_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27764:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalScope.g:27765:2: ( ruleJvmArgumentTypeReference ) + { + // InternalScope.g:27765:2: ( ruleJvmArgumentTypeReference ) + // InternalScope.g:27766:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__TypeArgumentsAssignment_1_2_1" + + + // $ANTLR start "rule__XFeatureCall__FeatureAssignment_2" + // InternalScope.g:27775:1: rule__XFeatureCall__FeatureAssignment_2 : ( ( ruleIdOrSuper ) ) ; + public final void rule__XFeatureCall__FeatureAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27779:1: ( ( ( ruleIdOrSuper ) ) ) + // InternalScope.g:27780:2: ( ( ruleIdOrSuper ) ) + { + // InternalScope.g:27780:2: ( ( ruleIdOrSuper ) ) + // InternalScope.g:27781:3: ( ruleIdOrSuper ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); + } + // InternalScope.g:27782:3: ( ruleIdOrSuper ) + // InternalScope.g:27783:4: ruleIdOrSuper + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleIdOrSuper(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__FeatureAssignment_2" + + + // $ANTLR start "rule__XFeatureCall__ExplicitOperationCallAssignment_3_0" + // InternalScope.g:27794:1: rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 : ( ( '(' ) ) ; + public final void rule__XFeatureCall__ExplicitOperationCallAssignment_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27798:1: ( ( ( '(' ) ) ) + // InternalScope.g:27799:2: ( ( '(' ) ) + { + // InternalScope.g:27799:2: ( ( '(' ) ) + // InternalScope.g:27800:3: ( '(' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + } + // InternalScope.g:27801:3: ( '(' ) + // InternalScope.g:27802:4: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__ExplicitOperationCallAssignment_3_0" + + + // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0" + // InternalScope.g:27813:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 : ( ruleXShortClosure ) ; + public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27817:1: ( ( ruleXShortClosure ) ) + // InternalScope.g:27818:2: ( ruleXShortClosure ) + { + // InternalScope.g:27818:2: ( ruleXShortClosure ) + // InternalScope.g:27819:3: ruleXShortClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXShortClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0" + + + // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0" + // InternalScope.g:27828:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 : ( ruleXExpression ) ; + public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27832:1: ( ( ruleXExpression ) ) + // InternalScope.g:27833:2: ( ruleXExpression ) + { + // InternalScope.g:27833:2: ( ruleXExpression ) + // InternalScope.g:27834:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0" + + + // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1" + // InternalScope.g:27843:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 : ( ruleXExpression ) ; + public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27847:1: ( ( ruleXExpression ) ) + // InternalScope.g:27848:2: ( ruleXExpression ) + { + // InternalScope.g:27848:2: ( ruleXExpression ) + // InternalScope.g:27849:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1" + + + // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_4" + // InternalScope.g:27858:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_4 : ( ruleXClosure ) ; + public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27862:1: ( ( ruleXClosure ) ) + // InternalScope.g:27863:2: ( ruleXClosure ) + { + // InternalScope.g:27863:2: ( ruleXClosure ) + // InternalScope.g:27864:3: ruleXClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleXClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFeatureCall__FeatureCallArgumentsAssignment_4" + + + // $ANTLR start "rule__XConstructorCall__ConstructorAssignment_2" + // InternalScope.g:27873:1: rule__XConstructorCall__ConstructorAssignment_2 : ( ( ruleQualifiedName ) ) ; + public final void rule__XConstructorCall__ConstructorAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27877:1: ( ( ( ruleQualifiedName ) ) ) + // InternalScope.g:27878:2: ( ( ruleQualifiedName ) ) + { + // InternalScope.g:27878:2: ( ( ruleQualifiedName ) ) + // InternalScope.g:27879:3: ( ruleQualifiedName ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); + } + // InternalScope.g:27880:3: ( ruleQualifiedName ) + // InternalScope.g:27881:4: ruleQualifiedName + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorQualifiedNameParserRuleCall_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorQualifiedNameParserRuleCall_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ConstructorAssignment_2" + + + // $ANTLR start "rule__XConstructorCall__TypeArgumentsAssignment_3_1" + // InternalScope.g:27892:1: rule__XConstructorCall__TypeArgumentsAssignment_3_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XConstructorCall__TypeArgumentsAssignment_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27896:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalScope.g:27897:2: ( ruleJvmArgumentTypeReference ) + { + // InternalScope.g:27897:2: ( ruleJvmArgumentTypeReference ) + // InternalScope.g:27898:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__TypeArgumentsAssignment_3_1" + + + // $ANTLR start "rule__XConstructorCall__TypeArgumentsAssignment_3_2_1" + // InternalScope.g:27907:1: rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__XConstructorCall__TypeArgumentsAssignment_3_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27911:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalScope.g:27912:2: ( ruleJvmArgumentTypeReference ) + { + // InternalScope.g:27912:2: ( ruleJvmArgumentTypeReference ) + // InternalScope.g:27913:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__TypeArgumentsAssignment_3_2_1" + + + // $ANTLR start "rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0" + // InternalScope.g:27922:1: rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 : ( ( '(' ) ) ; + public final void rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27926:1: ( ( ( '(' ) ) ) + // InternalScope.g:27927:2: ( ( '(' ) ) + { + // InternalScope.g:27927:2: ( ( '(' ) ) + // InternalScope.g:27928:3: ( '(' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + } + // InternalScope.g:27929:3: ( '(' ) + // InternalScope.g:27930:4: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + } + match(input,77,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0" + + + // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_4_1_0" + // InternalScope.g:27941:1: rule__XConstructorCall__ArgumentsAssignment_4_1_0 : ( ruleXShortClosure ) ; + public final void rule__XConstructorCall__ArgumentsAssignment_4_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27945:1: ( ( ruleXShortClosure ) ) + // InternalScope.g:27946:2: ( ruleXShortClosure ) + { + // InternalScope.g:27946:2: ( ruleXShortClosure ) + // InternalScope.g:27947:3: ruleXShortClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXShortClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ArgumentsAssignment_4_1_0" + + + // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_4_1_1_0" + // InternalScope.g:27956:1: rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 : ( ruleXExpression ) ; + public final void rule__XConstructorCall__ArgumentsAssignment_4_1_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27960:1: ( ( ruleXExpression ) ) + // InternalScope.g:27961:2: ( ruleXExpression ) + { + // InternalScope.g:27961:2: ( ruleXExpression ) + // InternalScope.g:27962:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ArgumentsAssignment_4_1_1_0" + + + // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1" + // InternalScope.g:27971:1: rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 : ( ruleXExpression ) ; + public final void rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27975:1: ( ( ruleXExpression ) ) + // InternalScope.g:27976:2: ( ruleXExpression ) + { + // InternalScope.g:27976:2: ( ruleXExpression ) + // InternalScope.g:27977:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1" + + + // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_5" + // InternalScope.g:27986:1: rule__XConstructorCall__ArgumentsAssignment_5 : ( ruleXClosure ) ; + public final void rule__XConstructorCall__ArgumentsAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:27990:1: ( ( ruleXClosure ) ) + // InternalScope.g:27991:2: ( ruleXClosure ) + { + // InternalScope.g:27991:2: ( ruleXClosure ) + // InternalScope.g:27992:3: ruleXClosure + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleXClosure(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XConstructorCall__ArgumentsAssignment_5" + + + // $ANTLR start "rule__XBooleanLiteral__IsTrueAssignment_1_1" + // InternalScope.g:28001:1: rule__XBooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ; + public final void rule__XBooleanLiteral__IsTrueAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28005:1: ( ( ( 'true' ) ) ) + // InternalScope.g:28006:2: ( ( 'true' ) ) + { + // InternalScope.g:28006:2: ( ( 'true' ) ) + // InternalScope.g:28007:3: ( 'true' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + } + // InternalScope.g:28008:3: ( 'true' ) + // InternalScope.g:28009:4: 'true' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + } + match(input,36,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XBooleanLiteral__IsTrueAssignment_1_1" + + + // $ANTLR start "rule__XNumberLiteral__ValueAssignment_1" + // InternalScope.g:28020:1: rule__XNumberLiteral__ValueAssignment_1 : ( ruleNumber ) ; + public final void rule__XNumberLiteral__ValueAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28024:1: ( ( ruleNumber ) ) + // InternalScope.g:28025:2: ( ruleNumber ) + { + // InternalScope.g:28025:2: ( ruleNumber ) + // InternalScope.g:28026:3: ruleNumber + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleNumber(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XNumberLiteral__ValueAssignment_1" + + + // $ANTLR start "rule__XStringLiteral__ValueAssignment_1" + // InternalScope.g:28035:1: rule__XStringLiteral__ValueAssignment_1 : ( RULE_STRING ) ; + public final void rule__XStringLiteral__ValueAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28039:1: ( ( RULE_STRING ) ) + // InternalScope.g:28040:2: ( RULE_STRING ) + { + // InternalScope.g:28040:2: ( RULE_STRING ) + // InternalScope.g:28041:3: RULE_STRING + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); + } + match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XStringLiteral__ValueAssignment_1" + + + // $ANTLR start "rule__XTypeLiteral__TypeAssignment_3" + // InternalScope.g:28050:1: rule__XTypeLiteral__TypeAssignment_3 : ( ( ruleQualifiedName ) ) ; + public final void rule__XTypeLiteral__TypeAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28054:1: ( ( ( ruleQualifiedName ) ) ) + // InternalScope.g:28055:2: ( ( ruleQualifiedName ) ) + { + // InternalScope.g:28055:2: ( ( ruleQualifiedName ) ) + // InternalScope.g:28056:3: ( ruleQualifiedName ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); + } + // InternalScope.g:28057:3: ( ruleQualifiedName ) + // InternalScope.g:28058:4: ruleQualifiedName + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeQualifiedNameParserRuleCall_3_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeQualifiedNameParserRuleCall_3_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__TypeAssignment_3" + + + // $ANTLR start "rule__XTypeLiteral__ArrayDimensionsAssignment_4" + // InternalScope.g:28069:1: rule__XTypeLiteral__ArrayDimensionsAssignment_4 : ( ruleArrayBrackets ) ; + public final void rule__XTypeLiteral__ArrayDimensionsAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28073:1: ( ( ruleArrayBrackets ) ) + // InternalScope.g:28074:2: ( ruleArrayBrackets ) + { + // InternalScope.g:28074:2: ( ruleArrayBrackets ) + // InternalScope.g:28075:3: ruleArrayBrackets + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTypeLiteral__ArrayDimensionsAssignment_4" + + + // $ANTLR start "rule__XThrowExpression__ExpressionAssignment_2" + // InternalScope.g:28084:1: rule__XThrowExpression__ExpressionAssignment_2 : ( ruleXExpression ) ; + public final void rule__XThrowExpression__ExpressionAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28088:1: ( ( ruleXExpression ) ) + // InternalScope.g:28089:2: ( ruleXExpression ) + { + // InternalScope.g:28089:2: ( ruleXExpression ) + // InternalScope.g:28090:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XThrowExpression__ExpressionAssignment_2" + + + // $ANTLR start "rule__XReturnExpression__ExpressionAssignment_2" + // InternalScope.g:28099:1: rule__XReturnExpression__ExpressionAssignment_2 : ( ruleXExpression ) ; + public final void rule__XReturnExpression__ExpressionAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28103:1: ( ( ruleXExpression ) ) + // InternalScope.g:28104:2: ( ruleXExpression ) + { + // InternalScope.g:28104:2: ( ruleXExpression ) + // InternalScope.g:28105:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XReturnExpression__ExpressionAssignment_2" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__ExpressionAssignment_2" + // InternalScope.g:28114:1: rule__XTryCatchFinallyExpression__ExpressionAssignment_2 : ( ruleXExpression ) ; + public final void rule__XTryCatchFinallyExpression__ExpressionAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28118:1: ( ( ruleXExpression ) ) + // InternalScope.g:28119:2: ( ruleXExpression ) + { + // InternalScope.g:28119:2: ( ruleXExpression ) + // InternalScope.g:28120:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__ExpressionAssignment_2" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0" + // InternalScope.g:28129:1: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 : ( ruleXCatchClause ) ; + public final void rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28133:1: ( ( ruleXCatchClause ) ) + // InternalScope.g:28134:2: ( ruleXCatchClause ) + { + // InternalScope.g:28134:2: ( ruleXCatchClause ) + // InternalScope.g:28135:3: ruleXCatchClause + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); + } + pushFollow(FOLLOW_2); + ruleXCatchClause(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1" + // InternalScope.g:28144:1: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 : ( ruleXExpression ) ; + public final void rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28148:1: ( ( ruleXExpression ) ) + // InternalScope.g:28149:2: ( ruleXExpression ) + { + // InternalScope.g:28149:2: ( ruleXExpression ) + // InternalScope.g:28150:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1" + + + // $ANTLR start "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1" + // InternalScope.g:28159:1: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 : ( ruleXExpression ) ; + public final void rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28163:1: ( ( ruleXExpression ) ) + // InternalScope.g:28164:2: ( ruleXExpression ) + { + // InternalScope.g:28164:2: ( ruleXExpression ) + // InternalScope.g:28165:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1" + + + // $ANTLR start "rule__XSynchronizedExpression__ParamAssignment_1" + // InternalScope.g:28174:1: rule__XSynchronizedExpression__ParamAssignment_1 : ( ruleXExpression ) ; + public final void rule__XSynchronizedExpression__ParamAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28178:1: ( ( ruleXExpression ) ) + // InternalScope.g:28179:2: ( ruleXExpression ) + { + // InternalScope.g:28179:2: ( ruleXExpression ) + // InternalScope.g:28180:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__ParamAssignment_1" + + + // $ANTLR start "rule__XSynchronizedExpression__ExpressionAssignment_3" + // InternalScope.g:28189:1: rule__XSynchronizedExpression__ExpressionAssignment_3 : ( ruleXExpression ) ; + public final void rule__XSynchronizedExpression__ExpressionAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28193:1: ( ( ruleXExpression ) ) + // InternalScope.g:28194:2: ( ruleXExpression ) + { + // InternalScope.g:28194:2: ( ruleXExpression ) + // InternalScope.g:28195:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XSynchronizedExpression__ExpressionAssignment_3" + + + // $ANTLR start "rule__XCatchClause__DeclaredParamAssignment_2" + // InternalScope.g:28204:1: rule__XCatchClause__DeclaredParamAssignment_2 : ( ruleFullJvmFormalParameter ) ; + public final void rule__XCatchClause__DeclaredParamAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28208:1: ( ( ruleFullJvmFormalParameter ) ) + // InternalScope.g:28209:2: ( ruleFullJvmFormalParameter ) + { + // InternalScope.g:28209:2: ( ruleFullJvmFormalParameter ) + // InternalScope.g:28210:3: ruleFullJvmFormalParameter + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleFullJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__DeclaredParamAssignment_2" + + + // $ANTLR start "rule__XCatchClause__ExpressionAssignment_4" + // InternalScope.g:28219:1: rule__XCatchClause__ExpressionAssignment_4 : ( ruleXExpression ) ; + public final void rule__XCatchClause__ExpressionAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28223:1: ( ( ruleXExpression ) ) + // InternalScope.g:28224:2: ( ruleXExpression ) + { + // InternalScope.g:28224:2: ( ruleXExpression ) + // InternalScope.g:28225:3: ruleXExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleXExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XCatchClause__ExpressionAssignment_4" + + + // $ANTLR start "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0" + // InternalScope.g:28234:1: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 : ( ruleJvmTypeReference ) ; + public final void rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28238:1: ( ( ruleJvmTypeReference ) ) + // InternalScope.g:28239:2: ( ruleJvmTypeReference ) + { + // InternalScope.g:28239:2: ( ruleJvmTypeReference ) + // InternalScope.g:28240:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0" + + + // $ANTLR start "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1" + // InternalScope.g:28249:1: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 : ( ruleJvmTypeReference ) ; + public final void rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28253:1: ( ( ruleJvmTypeReference ) ) + // InternalScope.g:28254:2: ( ruleJvmTypeReference ) + { + // InternalScope.g:28254:2: ( ruleJvmTypeReference ) + // InternalScope.g:28255:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1" + + + // $ANTLR start "rule__XFunctionTypeRef__ReturnTypeAssignment_2" + // InternalScope.g:28264:1: rule__XFunctionTypeRef__ReturnTypeAssignment_2 : ( ruleJvmTypeReference ) ; + public final void rule__XFunctionTypeRef__ReturnTypeAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28268:1: ( ( ruleJvmTypeReference ) ) + // InternalScope.g:28269:2: ( ruleJvmTypeReference ) + { + // InternalScope.g:28269:2: ( ruleJvmTypeReference ) + // InternalScope.g:28270:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XFunctionTypeRef__ReturnTypeAssignment_2" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__TypeAssignment_0" + // InternalScope.g:28279:1: rule__JvmParameterizedTypeReference__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ; + public final void rule__JvmParameterizedTypeReference__TypeAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28283:1: ( ( ( ruleQualifiedName ) ) ) + // InternalScope.g:28284:2: ( ( ruleQualifiedName ) ) + { + // InternalScope.g:28284:2: ( ( ruleQualifiedName ) ) + // InternalScope.g:28285:3: ( ruleQualifiedName ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); + } + // InternalScope.g:28286:3: ( ruleQualifiedName ) + // InternalScope.g:28287:4: ruleQualifiedName + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeQualifiedNameParserRuleCall_0_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeQualifiedNameParserRuleCall_0_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__TypeAssignment_0" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1" + // InternalScope.g:28298:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28302:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalScope.g:28303:2: ( ruleJvmArgumentTypeReference ) + { + // InternalScope.g:28303:2: ( ruleJvmArgumentTypeReference ) + // InternalScope.g:28304:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1" + // InternalScope.g:28313:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28317:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalScope.g:28318:2: ( ruleJvmArgumentTypeReference ) + { + // InternalScope.g:28318:2: ( ruleJvmArgumentTypeReference ) + // InternalScope.g:28319:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1" + // InternalScope.g:28328:1: rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 : ( ( ruleValidID ) ) ; + public final void rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28332:1: ( ( ( ruleValidID ) ) ) + // InternalScope.g:28333:2: ( ( ruleValidID ) ) + { + // InternalScope.g:28333:2: ( ( ruleValidID ) ) + // InternalScope.g:28334:3: ( ruleValidID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); + } + // InternalScope.g:28335:3: ( ruleValidID ) + // InternalScope.g:28336:4: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeValidIDParserRuleCall_1_4_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeValidIDParserRuleCall_1_4_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1" + // InternalScope.g:28347:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28351:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalScope.g:28352:2: ( ruleJvmArgumentTypeReference ) + { + // InternalScope.g:28352:2: ( ruleJvmArgumentTypeReference ) + // InternalScope.g:28353:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1" + + + // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1" + // InternalScope.g:28362:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 : ( ruleJvmArgumentTypeReference ) ; + public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28366:1: ( ( ruleJvmArgumentTypeReference ) ) + // InternalScope.g:28367:2: ( ruleJvmArgumentTypeReference ) + { + // InternalScope.g:28367:2: ( ruleJvmArgumentTypeReference ) + // InternalScope.g:28368:3: ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1" + + + // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0" + // InternalScope.g:28377:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 : ( ruleJvmUpperBound ) ; + public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28381:1: ( ( ruleJvmUpperBound ) ) + // InternalScope.g:28382:2: ( ruleJvmUpperBound ) + { + // InternalScope.g:28382:2: ( ruleJvmUpperBound ) + // InternalScope.g:28383:3: ruleJvmUpperBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0" + + + // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1" + // InternalScope.g:28392:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 : ( ruleJvmUpperBoundAnded ) ; + public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28396:1: ( ( ruleJvmUpperBoundAnded ) ) + // InternalScope.g:28397:2: ( ruleJvmUpperBoundAnded ) + { + // InternalScope.g:28397:2: ( ruleJvmUpperBoundAnded ) + // InternalScope.g:28398:3: ruleJvmUpperBoundAnded + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmUpperBoundAnded(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1" + + + // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0" + // InternalScope.g:28407:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 : ( ruleJvmLowerBound ) ; + public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28411:1: ( ( ruleJvmLowerBound ) ) + // InternalScope.g:28412:2: ( ruleJvmLowerBound ) + { + // InternalScope.g:28412:2: ( ruleJvmLowerBound ) + // InternalScope.g:28413:3: ruleJvmLowerBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); + } + pushFollow(FOLLOW_2); + ruleJvmLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0" + + + // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1" + // InternalScope.g:28422:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 : ( ruleJvmLowerBoundAnded ) ; + public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28426:1: ( ( ruleJvmLowerBoundAnded ) ) + // InternalScope.g:28427:2: ( ruleJvmLowerBoundAnded ) + { + // InternalScope.g:28427:2: ( ruleJvmLowerBoundAnded ) + // InternalScope.g:28428:3: ruleJvmLowerBoundAnded + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmLowerBoundAnded(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1" + + + // $ANTLR start "rule__JvmUpperBound__TypeReferenceAssignment_1" + // InternalScope.g:28437:1: rule__JvmUpperBound__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ; + public final void rule__JvmUpperBound__TypeReferenceAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28441:1: ( ( ruleJvmTypeReference ) ) + // InternalScope.g:28442:2: ( ruleJvmTypeReference ) + { + // InternalScope.g:28442:2: ( ruleJvmTypeReference ) + // InternalScope.g:28443:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBound__TypeReferenceAssignment_1" + + + // $ANTLR start "rule__JvmUpperBoundAnded__TypeReferenceAssignment_1" + // InternalScope.g:28452:1: rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ; + public final void rule__JvmUpperBoundAnded__TypeReferenceAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28456:1: ( ( ruleJvmTypeReference ) ) + // InternalScope.g:28457:2: ( ruleJvmTypeReference ) + { + // InternalScope.g:28457:2: ( ruleJvmTypeReference ) + // InternalScope.g:28458:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmUpperBoundAnded__TypeReferenceAssignment_1" + + + // $ANTLR start "rule__JvmLowerBound__TypeReferenceAssignment_1" + // InternalScope.g:28467:1: rule__JvmLowerBound__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ; + public final void rule__JvmLowerBound__TypeReferenceAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28471:1: ( ( ruleJvmTypeReference ) ) + // InternalScope.g:28472:2: ( ruleJvmTypeReference ) + { + // InternalScope.g:28472:2: ( ruleJvmTypeReference ) + // InternalScope.g:28473:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBound__TypeReferenceAssignment_1" + + + // $ANTLR start "rule__JvmLowerBoundAnded__TypeReferenceAssignment_1" + // InternalScope.g:28482:1: rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ; + public final void rule__JvmLowerBoundAnded__TypeReferenceAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28486:1: ( ( ruleJvmTypeReference ) ) + // InternalScope.g:28487:2: ( ruleJvmTypeReference ) + { + // InternalScope.g:28487:2: ( ruleJvmTypeReference ) + // InternalScope.g:28488:3: ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + before(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__JvmLowerBoundAnded__TypeReferenceAssignment_1" + + + // $ANTLR start "rule__XImportDeclaration__StaticAssignment_1_0_0" + // InternalScope.g:28497:1: rule__XImportDeclaration__StaticAssignment_1_0_0 : ( ( 'static' ) ) ; + public final void rule__XImportDeclaration__StaticAssignment_1_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28501:1: ( ( ( 'static' ) ) ) + // InternalScope.g:28502:2: ( ( 'static' ) ) + { + // InternalScope.g:28502:2: ( ( 'static' ) ) + // InternalScope.g:28503:3: ( 'static' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + } + // InternalScope.g:28504:3: ( 'static' ) + // InternalScope.g:28505:4: 'static' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + } + match(input,61,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__StaticAssignment_1_0_0" + + + // $ANTLR start "rule__XImportDeclaration__ExtensionAssignment_1_0_1" + // InternalScope.g:28516:1: rule__XImportDeclaration__ExtensionAssignment_1_0_1 : ( ( 'extension' ) ) ; + public final void rule__XImportDeclaration__ExtensionAssignment_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28520:1: ( ( ( 'extension' ) ) ) + // InternalScope.g:28521:2: ( ( 'extension' ) ) + { + // InternalScope.g:28521:2: ( ( 'extension' ) ) + // InternalScope.g:28522:3: ( 'extension' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + } + // InternalScope.g:28523:3: ( 'extension' ) + // InternalScope.g:28524:4: 'extension' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + } + match(input,63,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__ExtensionAssignment_1_0_1" + + + // $ANTLR start "rule__XImportDeclaration__ImportedTypeAssignment_1_0_2" + // InternalScope.g:28535:1: rule__XImportDeclaration__ImportedTypeAssignment_1_0_2 : ( ( ruleQualifiedNameInStaticImport ) ) ; + public final void rule__XImportDeclaration__ImportedTypeAssignment_1_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28539:1: ( ( ( ruleQualifiedNameInStaticImport ) ) ) + // InternalScope.g:28540:2: ( ( ruleQualifiedNameInStaticImport ) ) + { + // InternalScope.g:28540:2: ( ( ruleQualifiedNameInStaticImport ) ) + // InternalScope.g:28541:3: ( ruleQualifiedNameInStaticImport ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); + } + // InternalScope.g:28542:3: ( ruleQualifiedNameInStaticImport ) + // InternalScope.g:28543:4: ruleQualifiedNameInStaticImport + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameInStaticImportParserRuleCall_1_0_2_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedNameInStaticImport(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameInStaticImportParserRuleCall_1_0_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__ImportedTypeAssignment_1_0_2" + + + // $ANTLR start "rule__XImportDeclaration__WildcardAssignment_1_0_3_0" + // InternalScope.g:28554:1: rule__XImportDeclaration__WildcardAssignment_1_0_3_0 : ( ( '*' ) ) ; + public final void rule__XImportDeclaration__WildcardAssignment_1_0_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28558:1: ( ( ( '*' ) ) ) + // InternalScope.g:28559:2: ( ( '*' ) ) + { + // InternalScope.g:28559:2: ( ( '*' ) ) + // InternalScope.g:28560:3: ( '*' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + } + // InternalScope.g:28561:3: ( '*' ) + // InternalScope.g:28562:4: '*' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + } + match(input,25,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__WildcardAssignment_1_0_3_0" + + + // $ANTLR start "rule__XImportDeclaration__MemberNameAssignment_1_0_3_1" + // InternalScope.g:28573:1: rule__XImportDeclaration__MemberNameAssignment_1_0_3_1 : ( ruleValidID ) ; + public final void rule__XImportDeclaration__MemberNameAssignment_1_0_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28577:1: ( ( ruleValidID ) ) + // InternalScope.g:28578:2: ( ruleValidID ) + { + // InternalScope.g:28578:2: ( ruleValidID ) + // InternalScope.g:28579:3: ruleValidID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); + } + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__MemberNameAssignment_1_0_3_1" + + + // $ANTLR start "rule__XImportDeclaration__ImportedTypeAssignment_1_1" + // InternalScope.g:28588:1: rule__XImportDeclaration__ImportedTypeAssignment_1_1 : ( ( ruleQualifiedName ) ) ; + public final void rule__XImportDeclaration__ImportedTypeAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28592:1: ( ( ( ruleQualifiedName ) ) ) + // InternalScope.g:28593:2: ( ( ruleQualifiedName ) ) + { + // InternalScope.g:28593:2: ( ( ruleQualifiedName ) ) + // InternalScope.g:28594:3: ( ruleQualifiedName ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); + } + // InternalScope.g:28595:3: ( ruleQualifiedName ) + // InternalScope.g:28596:4: ruleQualifiedName + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameParserRuleCall_1_1_0_1()); + } + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameParserRuleCall_1_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__ImportedTypeAssignment_1_1" + + + // $ANTLR start "rule__XImportDeclaration__ImportedNamespaceAssignment_1_2" + // InternalScope.g:28607:1: rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 : ( ruleQualifiedNameWithWildcard ) ; + public final void rule__XImportDeclaration__ImportedNamespaceAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalScope.g:28611:1: ( ( ruleQualifiedNameWithWildcard ) ) + // InternalScope.g:28612:2: ( ruleQualifiedNameWithWildcard ) + { + // InternalScope.g:28612:2: ( ruleQualifiedNameWithWildcard ) + // InternalScope.g:28613:3: ruleQualifiedNameWithWildcard + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleQualifiedNameWithWildcard(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XImportDeclaration__ImportedNamespaceAssignment_1_2" + + // $ANTLR start synpred12_InternalScope + public final void synpred12_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:3619:2: ( ( ( rule__Naming__Group_0__0 ) ) ) + // InternalScope.g:3619:2: ( ( rule__Naming__Group_0__0 ) ) + { + // InternalScope.g:3619:2: ( ( rule__Naming__Group_0__0 ) ) + // InternalScope.g:3620:3: ( rule__Naming__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamingAccess().getGroup_0()); + } + // InternalScope.g:3621:3: ( rule__Naming__Group_0__0 ) + // InternalScope.g:3621:4: rule__Naming__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__Naming__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred12_InternalScope + + // $ANTLR start synpred15_InternalScope + public final void synpred15_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:3667:2: ( ( ( ruleCastedExpression ) ) ) + // InternalScope.g:3667:2: ( ( ruleCastedExpression ) ) + { + // InternalScope.g:3667:2: ( ( ruleCastedExpression ) ) + // InternalScope.g:3668:3: ( ruleCastedExpression ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); + } + // InternalScope.g:3669:3: ( ruleCastedExpression ) + // InternalScope.g:3669:4: ruleCastedExpression + { + pushFollow(FOLLOW_2); + ruleCastedExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred15_InternalScope + + // $ANTLR start synpred83_InternalScope + public final void synpred83_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:4420:2: ( ( ( rule__OpOther__Group_6_1_0__0 ) ) ) + // InternalScope.g:4420:2: ( ( rule__OpOther__Group_6_1_0__0 ) ) + { + // InternalScope.g:4420:2: ( ( rule__OpOther__Group_6_1_0__0 ) ) + // InternalScope.g:4421:3: ( rule__OpOther__Group_6_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); + } + // InternalScope.g:4422:3: ( rule__OpOther__Group_6_1_0__0 ) + // InternalScope.g:4422:4: rule__OpOther__Group_6_1_0__0 + { + pushFollow(FOLLOW_2); + rule__OpOther__Group_6_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred83_InternalScope + + // $ANTLR start synpred84_InternalScope + public final void synpred84_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:4426:2: ( ( '<' ) ) + // InternalScope.g:4426:2: ( '<' ) + { + // InternalScope.g:4426:2: ( '<' ) + // InternalScope.g:4427:3: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred84_InternalScope + + // $ANTLR start synpred97_InternalScope + public final void synpred97_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:4639:2: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) ) + // InternalScope.g:4639:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) + { + // InternalScope.g:4639:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) + // InternalScope.g:4640:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); + } + // InternalScope.g:4641:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) + // InternalScope.g:4641:4: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred97_InternalScope + + // $ANTLR start synpred105_InternalScope + public final void synpred105_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:4702:2: ( ( ( ruleXForLoopExpression ) ) ) + // InternalScope.g:4702:2: ( ( ruleXForLoopExpression ) ) + { + // InternalScope.g:4702:2: ( ( ruleXForLoopExpression ) ) + // InternalScope.g:4703:3: ( ruleXForLoopExpression ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); + } + // InternalScope.g:4704:3: ( ruleXForLoopExpression ) + // InternalScope.g:4704:4: ruleXForLoopExpression + { + pushFollow(FOLLOW_2); + ruleXForLoopExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred105_InternalScope + + // $ANTLR start synpred106_InternalScope + public final void synpred106_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:4708:2: ( ( ruleXBasicForLoopExpression ) ) + // InternalScope.g:4708:2: ( ruleXBasicForLoopExpression ) + { + // InternalScope.g:4708:2: ( ruleXBasicForLoopExpression ) + // InternalScope.g:4709:3: ruleXBasicForLoopExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); + } + pushFollow(FOLLOW_2); + ruleXBasicForLoopExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred106_InternalScope + + // $ANTLR start synpred119_InternalScope + public final void synpred119_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:4831:2: ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) ) + // InternalScope.g:4831:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) ) + { + // InternalScope.g:4831:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) ) + // InternalScope.g:4832:3: ( rule__XSwitchExpression__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); + } + // InternalScope.g:4833:3: ( rule__XSwitchExpression__Group_2_0__0 ) + // InternalScope.g:4833:4: rule__XSwitchExpression__Group_2_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred119_InternalScope + + // $ANTLR start synpred123_InternalScope + public final void synpred123_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:4915:2: ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) ) + // InternalScope.g:4915:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) + { + // InternalScope.g:4915:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) + // InternalScope.g:4916:3: ( rule__XVariableDeclaration__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); + } + // InternalScope.g:4917:3: ( rule__XVariableDeclaration__Group_2_0__0 ) + // InternalScope.g:4917:4: rule__XVariableDeclaration__Group_2_0__0 + { + pushFollow(FOLLOW_2); + rule__XVariableDeclaration__Group_2_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred123_InternalScope + + // $ANTLR start synpred124_InternalScope + public final void synpred124_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:4936:2: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) ) + // InternalScope.g:4936:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) + { + // InternalScope.g:4936:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) + // InternalScope.g:4937:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); + } + // InternalScope.g:4938:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) + // InternalScope.g:4938:4: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred124_InternalScope + + // $ANTLR start synpred130_InternalScope + public final void synpred130_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:5017:2: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) ) + // InternalScope.g:5017:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) + { + // InternalScope.g:5017:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) + // InternalScope.g:5018:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); + } + // InternalScope.g:5019:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) + // InternalScope.g:5019:4: rule__XConstructorCall__ArgumentsAssignment_4_1_0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_4_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred130_InternalScope + + // $ANTLR start synpred171_InternalScope + public final void synpred171_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:9615:3: ( rule__IfExpressionKw__Group_4__0 ) + // InternalScope.g:9615:3: rule__IfExpressionKw__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__IfExpressionKw__Group_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred171_InternalScope + + // $ANTLR start synpred190_InternalScope + public final void synpred190_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:13071:3: ( rule__XAssignment__Group_1_1__0 ) + // InternalScope.g:13071:3: rule__XAssignment__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__XAssignment__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred190_InternalScope + + // $ANTLR start synpred192_InternalScope + public final void synpred192_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:13422:3: ( rule__XOrExpression__Group_1__0 ) + // InternalScope.g:13422:3: rule__XOrExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XOrExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred192_InternalScope + + // $ANTLR start synpred193_InternalScope + public final void synpred193_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:13611:3: ( rule__XAndExpression__Group_1__0 ) + // InternalScope.g:13611:3: rule__XAndExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XAndExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred193_InternalScope + + // $ANTLR start synpred194_InternalScope + public final void synpred194_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:13800:3: ( rule__XEqualityExpression__Group_1__0 ) + // InternalScope.g:13800:3: rule__XEqualityExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XEqualityExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred194_InternalScope + + // $ANTLR start synpred195_InternalScope + public final void synpred195_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:13989:3: ( rule__XRelationalExpression__Alternatives_1 ) + // InternalScope.g:13989:3: rule__XRelationalExpression__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__XRelationalExpression__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred195_InternalScope + + // $ANTLR start synpred196_InternalScope + public final void synpred196_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:14367:3: ( rule__XOtherOperatorExpression__Group_1__0 ) + // InternalScope.g:14367:3: rule__XOtherOperatorExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XOtherOperatorExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred196_InternalScope + + // $ANTLR start synpred197_InternalScope + public final void synpred197_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:14880:3: ( rule__XAdditiveExpression__Group_1__0 ) + // InternalScope.g:14880:3: rule__XAdditiveExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XAdditiveExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred197_InternalScope + + // $ANTLR start synpred198_InternalScope + public final void synpred198_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:15069:3: ( rule__XMultiplicativeExpression__Group_1__0 ) + // InternalScope.g:15069:3: rule__XMultiplicativeExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XMultiplicativeExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred198_InternalScope + + // $ANTLR start synpred199_InternalScope + public final void synpred199_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:15339:3: ( rule__XCastedExpression__Group_1__0 ) + // InternalScope.g:15339:3: rule__XCastedExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XCastedExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred199_InternalScope + + // $ANTLR start synpred200_InternalScope + public final void synpred200_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:15528:3: ( rule__XPostfixOperation__Group_1__0 ) + // InternalScope.g:15528:3: rule__XPostfixOperation__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XPostfixOperation__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred200_InternalScope + + // $ANTLR start synpred201_InternalScope + public final void synpred201_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:15663:3: ( rule__XMemberFeatureCall__Alternatives_1 ) + // InternalScope.g:15663:3: rule__XMemberFeatureCall__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred201_InternalScope + + // $ANTLR start synpred203_InternalScope + public final void synpred203_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:15961:3: ( rule__XMemberFeatureCall__Group_1_1_3__0 ) + // InternalScope.g:15961:3: rule__XMemberFeatureCall__Group_1_1_3__0 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__Group_1_1_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred203_InternalScope + + // $ANTLR start synpred204_InternalScope + public final void synpred204_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:15987:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 ) + // InternalScope.g:15987:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 + { + pushFollow(FOLLOW_2); + rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred204_InternalScope + + // $ANTLR start synpred212_InternalScope + public final void synpred212_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:16960:3: ( rule__XClosure__Group_1__0 ) + // InternalScope.g:16960:3: rule__XClosure__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__XClosure__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred212_InternalScope + + // $ANTLR start synpred219_InternalScope + public final void synpred219_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:17931:3: ( rule__XIfExpression__Group_6__0 ) + // InternalScope.g:17931:3: rule__XIfExpression__Group_6__0 + { + pushFollow(FOLLOW_2); + rule__XIfExpression__Group_6__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred219_InternalScope + + // $ANTLR start synpred222_InternalScope + public final void synpred222_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:18391:3: ( rule__XSwitchExpression__Group_2_1_0__0 ) + // InternalScope.g:18391:3: rule__XSwitchExpression__Group_2_1_0__0 + { + pushFollow(FOLLOW_2); + rule__XSwitchExpression__Group_2_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred222_InternalScope + + // $ANTLR start synpred235_InternalScope + public final void synpred235_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:20524:3: ( rule__XFeatureCall__Group_3__0 ) + // InternalScope.g:20524:3: rule__XFeatureCall__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred235_InternalScope + + // $ANTLR start synpred236_InternalScope + public final void synpred236_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:20550:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 ) + // InternalScope.g:20550:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_4 + { + pushFollow(FOLLOW_2); + rule__XFeatureCall__FeatureCallArgumentsAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred236_InternalScope + + // $ANTLR start synpred240_InternalScope + public final void synpred240_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:21010:3: ( rule__XConstructorCall__Group_3__0 ) + // InternalScope.g:21010:3: rule__XConstructorCall__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred240_InternalScope + + // $ANTLR start synpred241_InternalScope + public final void synpred241_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:21037:3: ( rule__XConstructorCall__Group_4__0 ) + // InternalScope.g:21037:3: rule__XConstructorCall__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__Group_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred241_InternalScope + + // $ANTLR start synpred242_InternalScope + public final void synpred242_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:21063:3: ( rule__XConstructorCall__ArgumentsAssignment_5 ) + // InternalScope.g:21063:3: rule__XConstructorCall__ArgumentsAssignment_5 + { + pushFollow(FOLLOW_2); + rule__XConstructorCall__ArgumentsAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred242_InternalScope + + // $ANTLR start synpred247_InternalScope + public final void synpred247_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:21954:3: ( rule__XReturnExpression__ExpressionAssignment_2 ) + // InternalScope.g:21954:3: rule__XReturnExpression__ExpressionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__XReturnExpression__ExpressionAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred247_InternalScope + + // $ANTLR start synpred248_InternalScope + public final void synpred248_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:22096:4: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) + // InternalScope.g:22096:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred248_InternalScope + + // $ANTLR start synpred249_InternalScope + public final void synpred249_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:22123:3: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 ) + // InternalScope.g:22123:3: rule__XTryCatchFinallyExpression__Group_3_0_1__0 + { + pushFollow(FOLLOW_2); + rule__XTryCatchFinallyExpression__Group_3_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred249_InternalScope + + // $ANTLR start synpred250_InternalScope + public final void synpred250_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:22636:3: ( rule__QualifiedName__Group_1__0 ) + // InternalScope.g:22636:3: rule__QualifiedName__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__QualifiedName__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred250_InternalScope + + // $ANTLR start synpred252_InternalScope + public final void synpred252_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:22852:3: ( rule__JvmTypeReference__Group_0_1__0 ) + // InternalScope.g:22852:3: rule__JvmTypeReference__Group_0_1__0 + { + pushFollow(FOLLOW_2); + rule__JvmTypeReference__Group_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred252_InternalScope + + // $ANTLR start synpred256_InternalScope + public final void synpred256_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:23311:3: ( rule__JvmParameterizedTypeReference__Group_1__0 ) + // InternalScope.g:23311:3: rule__JvmParameterizedTypeReference__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred256_InternalScope + + // $ANTLR start synpred258_InternalScope + public final void synpred258_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:23446:3: ( rule__JvmParameterizedTypeReference__Group_1_4__0 ) + // InternalScope.g:23446:3: rule__JvmParameterizedTypeReference__Group_1_4__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred258_InternalScope + + // $ANTLR start synpred259_InternalScope + public final void synpred259_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:23581:3: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 ) + // InternalScope.g:23581:3: rule__JvmParameterizedTypeReference__Group_1_4_2__0 + { + pushFollow(FOLLOW_2); + rule__JvmParameterizedTypeReference__Group_1_4_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred259_InternalScope + + // Delegated rules + + public final boolean synpred123_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred123_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred240_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred240_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred194_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred194_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred199_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred199_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred203_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred203_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred15_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred15_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred196_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred196_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred242_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred242_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred258_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred258_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred222_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred222_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred235_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred235_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred256_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred256_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred201_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred201_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred248_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred248_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred250_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred250_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred83_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred83_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred219_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred219_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred105_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred105_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred198_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred198_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred252_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred252_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred130_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred130_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred124_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred124_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred212_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred212_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred259_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred259_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred193_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred193_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred204_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred204_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred195_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred195_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred106_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred106_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred241_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred241_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred236_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred236_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred12_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred12_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred249_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred249_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred197_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred197_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred200_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred200_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred97_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred97_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred247_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred247_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred84_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred84_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred171_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred171_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred119_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred119_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred192_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred192_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred190_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred190_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + + + protected DFA2 dfa2 = new DFA2(this); + protected DFA10 dfa10 = new DFA10(this); + protected DFA12 dfa12 = new DFA12(this); + protected DFA33 dfa33 = new DFA33(this); + protected DFA41 dfa41 = new DFA41(this); + protected DFA44 dfa44 = new DFA44(this); + protected DFA45 dfa45 = new DFA45(this); + protected DFA48 dfa48 = new DFA48(this); + protected DFA53 dfa53 = new DFA53(this); + protected DFA56 dfa56 = new DFA56(this); + protected DFA65 dfa65 = new DFA65(this); + protected DFA115 dfa115 = new DFA115(this); + protected DFA121 dfa121 = new DFA121(this); + protected DFA128 dfa128 = new DFA128(this); + protected DFA129 dfa129 = new DFA129(this); + protected DFA137 dfa137 = new DFA137(this); + protected DFA147 dfa147 = new DFA147(this); + protected DFA160 dfa160 = new DFA160(this); + protected DFA161 dfa161 = new DFA161(this); + protected DFA165 dfa165 = new DFA165(this); + protected DFA166 dfa166 = new DFA166(this); + protected DFA167 dfa167 = new DFA167(this); + protected DFA172 dfa172 = new DFA172(this); + protected DFA181 dfa181 = new DFA181(this); + protected DFA184 dfa184 = new DFA184(this); + static final String dfa_1s = "\6\uffff"; + static final String dfa_2s = "\1\4\1\110\1\4\2\uffff\1\110"; + static final String dfa_3s = "\1\4\1\135\1\4\2\uffff\1\135"; + static final String dfa_4s = "\3\uffff\1\2\1\1\1\uffff"; + static final String dfa_5s = "\6\uffff}>"; + static final String[] dfa_6s = { + "\1\1", + "\1\4\6\uffff\1\3\15\uffff\1\2", + "\1\5", + "", + "", + "\1\4\6\uffff\1\3\15\uffff\1\2" + }; + + static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); + static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s); + static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); + static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s); + static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); + static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); + + class DFA2 extends DFA { + + public DFA2(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 2; + this.eot = dfa_1; + this.eof = dfa_1; + this.min = dfa_2; + this.max = dfa_3; + this.accept = dfa_4; + this.special = dfa_5; + this.transition = dfa_6; + } + public String getDescription() { + return "3434:1: rule__ScopeDefinition__Alternatives_2 : ( ( ( rule__ScopeDefinition__TargetTypeAssignment_2_0 ) ) | ( ( rule__ScopeDefinition__Group_2_1__0 ) ) );"; + } + } + static final String dfa_7s = "\40\uffff"; + static final String dfa_8s = "\1\4\1\0\36\uffff"; + static final String dfa_9s = "\1\170\1\0\36\uffff"; + static final String dfa_10s = "\2\uffff\1\2\34\uffff\1\1"; + static final String dfa_11s = "\1\uffff\1\0\36\uffff}>"; + static final String[] dfa_12s = { + "\1\2\1\uffff\1\2\1\uffff\2\2\16\uffff\1\2\2\uffff\16\2\37\uffff\1\2\4\uffff\1\1\6\uffff\1\2\11\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\uffff\2\2\4\uffff\1\2\11\uffff\1\2\1\uffff\1\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); + static final char[] dfa_8 = DFA.unpackEncodedStringToUnsignedChars(dfa_8s); + static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s); + static final short[] dfa_10 = DFA.unpackEncodedString(dfa_10s); + static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s); + static final short[][] dfa_12 = unpackEncodedStringArray(dfa_12s); + + class DFA10 extends DFA { + + public DFA10(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 10; + this.eot = dfa_7; + this.eof = dfa_7; + this.min = dfa_8; + this.max = dfa_9; + this.accept = dfa_10; + this.special = dfa_11; + this.transition = dfa_12; + } + public String getDescription() { + return "3614:1: rule__Naming__Alternatives : ( ( ( rule__Naming__Group_0__0 ) ) | ( ( rule__Naming__NamesAssignment_1 ) ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA10_1 = input.LA(1); + + + int index10_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred12_InternalScope()) ) {s = 31;} + + else if ( (true) ) {s = 2;} + + + input.seek(index10_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 10, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_13s = "\36\uffff"; + static final String dfa_14s = "\1\4\1\uffff\1\0\33\uffff"; + static final String dfa_15s = "\1\170\1\uffff\1\0\33\uffff"; + static final String dfa_16s = "\1\uffff\1\1\1\uffff\1\3\31\uffff\1\2"; + static final String dfa_17s = "\2\uffff\1\0\33\uffff}>"; + static final String[] dfa_18s = { + "\1\3\1\uffff\1\3\1\uffff\2\3\16\uffff\1\3\2\uffff\16\3\37\uffff\1\3\4\uffff\1\2\20\uffff\1\1\2\uffff\1\3\2\uffff\1\3\1\uffff\2\3\4\uffff\1\3\13\uffff\1\3", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s); + static final char[] dfa_14 = DFA.unpackEncodedStringToUnsignedChars(dfa_14s); + static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s); + static final short[] dfa_16 = DFA.unpackEncodedString(dfa_16s); + static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s); + static final short[][] dfa_18 = unpackEncodedStringArray(dfa_18s); + + class DFA12 extends DFA { + + public DFA12(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 12; + this.eot = dfa_13; + this.eof = dfa_13; + this.min = dfa_14; + this.max = dfa_15; + this.accept = dfa_16; + this.special = dfa_17; + this.transition = dfa_18; + } + public String getDescription() { + return "3656:1: rule__Expression__Alternatives : ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA12_2 = input.LA(1); + + + int index12_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred15_InternalScope()) ) {s = 29;} + + else if ( (true) ) {s = 3;} + + + input.seek(index12_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 12, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_19s = "\13\uffff"; + static final String dfa_20s = "\1\25\2\uffff\1\25\7\uffff"; + static final String dfa_21s = "\1\65\2\uffff\1\62\7\uffff"; + static final String dfa_22s = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\6\1\3"; + static final String dfa_23s = "\13\uffff}>"; + static final String[] dfa_24s = { + "\1\3\1\6\31\uffff\1\1\1\2\1\4\1\5\1\7\1\10", + "", + "", + "\1\11\34\uffff\1\12", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); + static final char[] dfa_20 = DFA.unpackEncodedStringToUnsignedChars(dfa_20s); + static final char[] dfa_21 = DFA.unpackEncodedStringToUnsignedChars(dfa_21s); + static final short[] dfa_22 = DFA.unpackEncodedString(dfa_22s); + static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); + static final short[][] dfa_24 = unpackEncodedStringArray(dfa_24s); + + class DFA33 extends DFA { + + public DFA33(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 33; + this.eot = dfa_19; + this.eof = dfa_19; + this.min = dfa_20; + this.max = dfa_21; + this.accept = dfa_22; + this.special = dfa_23; + this.transition = dfa_24; + } + public String getDescription() { + return "4331:1: rule__OpOther__Alternatives : ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) );"; + } + } + static final String dfa_25s = "\12\uffff"; + static final String dfa_26s = "\4\uffff\5\3\1\uffff"; + static final String dfa_27s = "\1\72\2\4\1\uffff\5\4\1\uffff"; + static final String dfa_28s = "\1\171\2\100\1\uffff\5\172\1\uffff"; + static final String dfa_29s = "\3\uffff\1\2\5\uffff\1\1"; + static final String dfa_30s = "\12\uffff}>"; + static final String[] dfa_31s = { + "\1\1\42\uffff\1\2\33\uffff\1\3", + "\1\4\21\uffff\1\3\45\uffff\1\5\1\6\1\7\1\10\1\3", + "\1\4\21\uffff\1\3\45\uffff\1\5\1\6\1\7\1\10\1\3", + "", + "\5\3\5\uffff\1\11\5\3\1\uffff\7\3\10\uffff\2\3\3\uffff\30\3\4\uffff\1\3\2\uffff\4\3\1\uffff\3\3\2\uffff\2\3\2\uffff\1\3\6\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\3\3\1\uffff\15\3\5\uffff\2\3", + "\5\3\5\uffff\1\11\5\3\1\uffff\7\3\10\uffff\2\3\3\uffff\30\3\4\uffff\1\3\2\uffff\4\3\1\uffff\3\3\2\uffff\2\3\2\uffff\1\3\6\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\3\3\1\uffff\15\3\5\uffff\2\3", + "\5\3\5\uffff\1\11\5\3\1\uffff\7\3\10\uffff\2\3\3\uffff\30\3\4\uffff\1\3\2\uffff\4\3\1\uffff\3\3\2\uffff\2\3\2\uffff\1\3\6\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\3\3\1\uffff\15\3\5\uffff\2\3", + "\5\3\5\uffff\1\11\5\3\1\uffff\7\3\10\uffff\2\3\3\uffff\30\3\4\uffff\1\3\2\uffff\4\3\1\uffff\3\3\2\uffff\2\3\2\uffff\1\3\6\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\3\3\1\uffff\15\3\5\uffff\2\3", + "\5\3\5\uffff\1\11\5\3\1\uffff\7\3\10\uffff\2\3\3\uffff\30\3\4\uffff\1\3\2\uffff\4\3\1\uffff\3\3\2\uffff\2\3\2\uffff\1\3\6\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\3\3\1\uffff\15\3\5\uffff\2\3", + "" + }; + + static final short[] dfa_25 = DFA.unpackEncodedString(dfa_25s); + static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s); + static final char[] dfa_27 = DFA.unpackEncodedStringToUnsignedChars(dfa_27s); + static final char[] dfa_28 = DFA.unpackEncodedStringToUnsignedChars(dfa_28s); + static final short[] dfa_29 = DFA.unpackEncodedString(dfa_29s); + static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s); + static final short[][] dfa_31 = unpackEncodedStringArray(dfa_31s); + + class DFA41 extends DFA { + + public DFA41(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 41; + this.eot = dfa_25; + this.eof = dfa_26; + this.min = dfa_27; + this.max = dfa_28; + this.accept = dfa_29; + this.special = dfa_30; + this.transition = dfa_31; + } + public String getDescription() { + return "4565:1: rule__XMemberFeatureCall__Alternatives_1 : ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) );"; + } + } + static final String dfa_32s = "\43\uffff"; + static final String dfa_33s = "\1\4\2\0\40\uffff"; + static final String dfa_34s = "\1\162\2\0\40\uffff"; + static final String dfa_35s = "\3\uffff\1\1\1\uffff\1\2\35\uffff"; + static final String dfa_36s = "\1\uffff\1\0\1\1\40\uffff}>"; + static final String[] dfa_37s = { + "\1\1\4\5\15\uffff\3\5\2\uffff\1\5\10\uffff\2\5\15\uffff\1\3\10\uffff\5\5\7\uffff\1\5\4\uffff\1\2\1\uffff\1\5\2\uffff\1\5\11\uffff\1\3\4\uffff\1\5\2\uffff\1\5\2\uffff\1\5\1\uffff\10\5\1\uffff\1\5", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_32 = DFA.unpackEncodedString(dfa_32s); + static final char[] dfa_33 = DFA.unpackEncodedStringToUnsignedChars(dfa_33s); + static final char[] dfa_34 = DFA.unpackEncodedStringToUnsignedChars(dfa_34s); + static final short[] dfa_35 = DFA.unpackEncodedString(dfa_35s); + static final short[] dfa_36 = DFA.unpackEncodedString(dfa_36s); + static final short[][] dfa_37 = unpackEncodedStringArray(dfa_37s); + + class DFA44 extends DFA { + + public DFA44(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 44; + this.eot = dfa_32; + this.eof = dfa_32; + this.min = dfa_33; + this.max = dfa_34; + this.accept = dfa_35; + this.special = dfa_36; + this.transition = dfa_37; + } + public String getDescription() { + return "4634:1: rule__XMemberFeatureCall__Alternatives_1_1_3_1 : ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA44_1 = input.LA(1); + + + int index44_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred97_InternalScope()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index44_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA44_2 = input.LA(1); + + + int index44_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred97_InternalScope()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index44_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 44, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_38s = "\1\4\26\uffff\1\0\10\uffff"; + static final String dfa_39s = "\1\162\26\uffff\1\0\10\uffff"; + static final String dfa_40s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\6\uffff\1\6\11\uffff\1\7\1\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\10\1\11"; + static final String dfa_41s = "\27\uffff\1\0\10\uffff}>"; + static final String[] dfa_42s = { + "\1\5\4\14\15\uffff\1\5\15\uffff\2\14\26\uffff\5\5\7\uffff\1\2\4\uffff\1\35\1\uffff\1\14\2\uffff\1\14\16\uffff\1\26\2\uffff\1\3\2\uffff\1\1\1\uffff\1\27\1\30\1\31\2\14\1\32\1\33\1\34\1\uffff\1\4", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final char[] dfa_38 = DFA.unpackEncodedStringToUnsignedChars(dfa_38s); + static final char[] dfa_39 = DFA.unpackEncodedStringToUnsignedChars(dfa_39s); + static final short[] dfa_40 = DFA.unpackEncodedString(dfa_40s); + static final short[] dfa_41 = DFA.unpackEncodedString(dfa_41s); + static final short[][] dfa_42 = unpackEncodedStringArray(dfa_42s); + + class DFA45 extends DFA { + + public DFA45(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 45; + this.eot = dfa_7; + this.eof = dfa_7; + this.min = dfa_38; + this.max = dfa_39; + this.accept = dfa_40; + this.special = dfa_41; + this.transition = dfa_42; + } + public String getDescription() { + return "4655:1: rule__XPrimaryExpression__Alternatives : ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA45_23 = input.LA(1); + + + int index45_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred105_InternalScope()) ) {s = 30;} + + else if ( (synpred106_InternalScope()) ) {s = 31;} + + + input.seek(index45_23); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 45, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_43s = "\1\4\1\0\41\uffff"; + static final String dfa_44s = "\1\162\1\0\41\uffff"; + static final String dfa_45s = "\2\uffff\1\2\37\uffff\1\1"; + static final String dfa_46s = "\1\uffff\1\0\41\uffff}>"; + static final String[] dfa_47s = { + "\5\2\15\uffff\3\2\2\uffff\1\2\10\uffff\2\2\15\uffff\1\2\10\uffff\5\2\7\uffff\1\2\4\uffff\1\1\1\uffff\1\2\2\uffff\1\2\16\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\uffff\10\2\1\uffff\1\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final char[] dfa_43 = DFA.unpackEncodedStringToUnsignedChars(dfa_43s); + static final char[] dfa_44 = DFA.unpackEncodedStringToUnsignedChars(dfa_44s); + static final short[] dfa_45 = DFA.unpackEncodedString(dfa_45s); + static final short[] dfa_46 = DFA.unpackEncodedString(dfa_46s); + static final short[][] dfa_47 = unpackEncodedStringArray(dfa_47s); + + class DFA48 extends DFA { + + public DFA48(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 48; + this.eot = dfa_32; + this.eof = dfa_32; + this.min = dfa_43; + this.max = dfa_44; + this.accept = dfa_45; + this.special = dfa_46; + this.transition = dfa_47; + } + public String getDescription() { + return "4826:1: rule__XSwitchExpression__Alternatives_2 : ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA48_1 = input.LA(1); + + + int index48_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred119_InternalScope()) ) {s = 34;} + + else if ( (true) ) {s = 2;} + + + input.seek(index48_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 48, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA53 extends DFA { + + public DFA53(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 53; + this.eot = dfa_32; + this.eof = dfa_32; + this.min = dfa_33; + this.max = dfa_34; + this.accept = dfa_35; + this.special = dfa_36; + this.transition = dfa_37; + } + public String getDescription() { + return "4931:1: rule__XFeatureCall__Alternatives_3_1 : ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA53_1 = input.LA(1); + + + int index53_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred124_InternalScope()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index53_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA53_2 = input.LA(1); + + + int index53_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred124_InternalScope()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index53_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 53, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA56 extends DFA { + + public DFA56(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 56; + this.eot = dfa_32; + this.eof = dfa_32; + this.min = dfa_33; + this.max = dfa_34; + this.accept = dfa_35; + this.special = dfa_36; + this.transition = dfa_37; + } + public String getDescription() { + return "5012:1: rule__XConstructorCall__Alternatives_4_1 : ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA56_1 = input.LA(1); + + + int index56_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred130_InternalScope()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index56_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA56_2 = input.LA(1); + + + int index56_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred130_InternalScope()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index56_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 56, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_48s = "\7\uffff"; + static final String dfa_49s = "\2\uffff\1\4\3\uffff\1\4"; + static final String dfa_50s = "\1\4\1\uffff\1\72\1\4\2\uffff\1\72"; + static final String dfa_51s = "\1\75\1\uffff\1\113\1\31\2\uffff\1\113"; + static final String dfa_52s = "\1\uffff\1\1\2\uffff\1\2\1\3\1\uffff"; + static final String dfa_53s = "\7\uffff}>"; + static final String[] dfa_54s = { + "\1\2\70\uffff\1\1", + "", + "\1\3\20\uffff\1\4", + "\1\6\24\uffff\1\5", + "", + "", + "\1\3\20\uffff\1\4" + }; + + static final short[] dfa_48 = DFA.unpackEncodedString(dfa_48s); + static final short[] dfa_49 = DFA.unpackEncodedString(dfa_49s); + static final char[] dfa_50 = DFA.unpackEncodedStringToUnsignedChars(dfa_50s); + static final char[] dfa_51 = DFA.unpackEncodedStringToUnsignedChars(dfa_51s); + static final short[] dfa_52 = DFA.unpackEncodedString(dfa_52s); + static final short[] dfa_53 = DFA.unpackEncodedString(dfa_53s); + static final short[][] dfa_54 = unpackEncodedStringArray(dfa_54s); + + class DFA65 extends DFA { + + public DFA65(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 65; + this.eot = dfa_48; + this.eof = dfa_49; + this.min = dfa_50; + this.max = dfa_51; + this.accept = dfa_52; + this.special = dfa_53; + this.transition = dfa_54; + } + public String getDescription() { + return "5201:1: rule__XImportDeclaration__Alternatives_1 : ( ( ( rule__XImportDeclaration__Group_1_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) ) );"; + } + } + static final String dfa_55s = "\1\10\11\uffff"; + static final String dfa_56s = "\1\4\7\0\2\uffff"; + static final String dfa_57s = "\1\172\7\0\2\uffff"; + static final String dfa_58s = "\10\uffff\1\2\1\1"; + static final String dfa_59s = "\1\uffff\1\0\1\6\1\4\1\3\1\1\1\5\1\2\2\uffff}>"; + static final String[] dfa_60s = { + "\5\10\6\uffff\5\10\1\uffff\1\7\1\6\5\10\10\uffff\2\10\3\uffff\1\1\1\2\1\3\1\4\1\5\23\10\4\uffff\1\10\2\uffff\4\10\1\uffff\3\10\2\uffff\2\10\2\uffff\1\10\6\uffff\1\10\1\uffff\1\10\1\uffff\1\10\1\uffff\3\10\1\uffff\15\10\5\uffff\2\10", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "" + }; + static final short[] dfa_55 = DFA.unpackEncodedString(dfa_55s); + static final char[] dfa_56 = DFA.unpackEncodedStringToUnsignedChars(dfa_56s); + static final char[] dfa_57 = DFA.unpackEncodedStringToUnsignedChars(dfa_57s); + static final short[] dfa_58 = DFA.unpackEncodedString(dfa_58s); + static final short[] dfa_59 = DFA.unpackEncodedString(dfa_59s); + static final short[][] dfa_60 = unpackEncodedStringArray(dfa_60s); + + class DFA115 extends DFA { + + public DFA115(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 115; + this.eot = dfa_25; + this.eof = dfa_55; + this.min = dfa_56; + this.max = dfa_57; + this.accept = dfa_58; + this.special = dfa_59; + this.transition = dfa_60; + } + public String getDescription() { + return "13071:2: ( rule__XAssignment__Group_1_1__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA115_1 = input.LA(1); + + + int index115_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred190_InternalScope()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index115_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA115_5 = input.LA(1); + + + int index115_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred190_InternalScope()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index115_5); + if ( s>=0 ) return s; + break; + case 2 : + int LA115_7 = input.LA(1); + + + int index115_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred190_InternalScope()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index115_7); + if ( s>=0 ) return s; + break; + case 3 : + int LA115_4 = input.LA(1); + + + int index115_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred190_InternalScope()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index115_4); + if ( s>=0 ) return s; + break; + case 4 : + int LA115_3 = input.LA(1); + + + int index115_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred190_InternalScope()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index115_3); + if ( s>=0 ) return s; + break; + case 5 : + int LA115_6 = input.LA(1); + + + int index115_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred190_InternalScope()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index115_6); + if ( s>=0 ) return s; + break; + case 6 : + int LA115_2 = input.LA(1); + + + int index115_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred190_InternalScope()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index115_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 115, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_61s = "\1\1\12\uffff"; + static final String dfa_62s = "\1\4\1\uffff\10\0\1\uffff"; + static final String dfa_63s = "\1\172\1\uffff\10\0\1\uffff"; + static final String dfa_64s = "\1\uffff\1\2\10\uffff\1\1"; + static final String dfa_65s = "\2\uffff\1\2\1\6\1\7\1\3\1\5\1\1\1\0\1\4\1\uffff}>"; + static final String[] dfa_66s = { + "\5\1\6\uffff\5\1\1\uffff\1\3\1\2\5\1\10\uffff\2\1\3\uffff\7\1\1\4\1\5\1\6\1\7\1\10\1\11\13\1\4\uffff\1\1\2\uffff\4\1\1\uffff\3\1\2\uffff\2\1\2\uffff\1\1\6\uffff\1\1\1\uffff\1\1\1\uffff\1\1\1\uffff\3\1\1\uffff\15\1\5\uffff\2\1", + "", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "" + }; + static final short[] dfa_61 = DFA.unpackEncodedString(dfa_61s); + static final char[] dfa_62 = DFA.unpackEncodedStringToUnsignedChars(dfa_62s); + static final char[] dfa_63 = DFA.unpackEncodedStringToUnsignedChars(dfa_63s); + static final short[] dfa_64 = DFA.unpackEncodedString(dfa_64s); + static final short[] dfa_65 = DFA.unpackEncodedString(dfa_65s); + static final short[][] dfa_66 = unpackEncodedStringArray(dfa_66s); + + class DFA121 extends DFA { + + public DFA121(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 121; + this.eot = dfa_19; + this.eof = dfa_61; + this.min = dfa_62; + this.max = dfa_63; + this.accept = dfa_64; + this.special = dfa_65; + this.transition = dfa_66; + } + public String getDescription() { + return "()* loopback of 14367:2: ( rule__XOtherOperatorExpression__Group_1__0 )*"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA121_8 = input.LA(1); + + + int index121_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred196_InternalScope()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index121_8); + if ( s>=0 ) return s; + break; + case 1 : + int LA121_7 = input.LA(1); + + + int index121_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred196_InternalScope()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index121_7); + if ( s>=0 ) return s; + break; + case 2 : + int LA121_2 = input.LA(1); + + + int index121_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred196_InternalScope()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index121_2); + if ( s>=0 ) return s; + break; + case 3 : + int LA121_5 = input.LA(1); + + + int index121_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred196_InternalScope()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index121_5); + if ( s>=0 ) return s; + break; + case 4 : + int LA121_9 = input.LA(1); + + + int index121_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred196_InternalScope()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index121_9); + if ( s>=0 ) return s; + break; + case 5 : + int LA121_6 = input.LA(1); + + + int index121_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred196_InternalScope()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index121_6); + if ( s>=0 ) return s; + break; + case 6 : + int LA121_3 = input.LA(1); + + + int index121_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred196_InternalScope()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index121_3); + if ( s>=0 ) return s; + break; + case 7 : + int LA121_4 = input.LA(1); + + + int index121_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred196_InternalScope()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index121_4); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 121, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_67s = "\116\uffff"; + static final String dfa_68s = "\1\2\115\uffff"; + static final String dfa_69s = "\1\4\1\0\114\uffff"; + static final String dfa_70s = "\1\172\1\0\114\uffff"; + static final String dfa_71s = "\2\uffff\1\2\112\uffff\1\1"; + static final String dfa_72s = "\1\uffff\1\0\114\uffff}>"; + static final String[] dfa_73s = { + "\5\2\6\uffff\5\2\1\uffff\7\2\10\uffff\2\2\3\uffff\30\2\4\uffff\1\2\2\uffff\4\2\1\uffff\1\1\2\2\2\uffff\2\2\2\uffff\1\2\6\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\3\2\1\uffff\15\2\5\uffff\2\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_67 = DFA.unpackEncodedString(dfa_67s); + static final short[] dfa_68 = DFA.unpackEncodedString(dfa_68s); + static final char[] dfa_69 = DFA.unpackEncodedStringToUnsignedChars(dfa_69s); + static final char[] dfa_70 = DFA.unpackEncodedStringToUnsignedChars(dfa_70s); + static final short[] dfa_71 = DFA.unpackEncodedString(dfa_71s); + static final short[] dfa_72 = DFA.unpackEncodedString(dfa_72s); + static final short[][] dfa_73 = unpackEncodedStringArray(dfa_73s); + + class DFA128 extends DFA { + + public DFA128(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 128; + this.eot = dfa_67; + this.eof = dfa_68; + this.min = dfa_69; + this.max = dfa_70; + this.accept = dfa_71; + this.special = dfa_72; + this.transition = dfa_73; + } + public String getDescription() { + return "15961:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA128_1 = input.LA(1); + + + int index128_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred203_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index128_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 128, _s, input); + error(nvae); + throw nvae; + } + } + static final String[] dfa_74s = { + "\5\2\6\uffff\5\2\1\uffff\7\2\10\uffff\2\2\3\uffff\30\2\4\uffff\1\2\2\uffff\4\2\1\uffff\3\2\2\uffff\1\1\1\2\2\uffff\1\2\6\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\3\2\1\uffff\15\2\5\uffff\2\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[][] dfa_74 = unpackEncodedStringArray(dfa_74s); + + class DFA129 extends DFA { + + public DFA129(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 129; + this.eot = dfa_67; + this.eof = dfa_68; + this.min = dfa_69; + this.max = dfa_70; + this.accept = dfa_71; + this.special = dfa_72; + this.transition = dfa_74; + } + public String getDescription() { + return "15987:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA129_1 = input.LA(1); + + + int index129_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred204_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index129_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 129, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_75s = "\46\uffff"; + static final String dfa_76s = "\1\4\2\0\43\uffff"; + static final String dfa_77s = "\1\172\2\0\43\uffff"; + static final String dfa_78s = "\3\uffff\1\1\1\uffff\1\2\40\uffff"; + static final String dfa_79s = "\1\uffff\1\0\1\1\43\uffff}>"; + static final String[] dfa_80s = { + "\1\1\4\5\15\uffff\3\5\2\uffff\1\5\10\uffff\2\5\15\uffff\1\3\7\uffff\6\5\7\uffff\1\5\4\uffff\1\2\1\uffff\1\5\2\uffff\2\5\10\uffff\1\3\4\uffff\1\5\2\uffff\1\5\2\uffff\1\5\1\uffff\10\5\1\uffff\1\5\7\uffff\1\5", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_75 = DFA.unpackEncodedString(dfa_75s); + static final char[] dfa_76 = DFA.unpackEncodedStringToUnsignedChars(dfa_76s); + static final char[] dfa_77 = DFA.unpackEncodedStringToUnsignedChars(dfa_77s); + static final short[] dfa_78 = DFA.unpackEncodedString(dfa_78s); + static final short[] dfa_79 = DFA.unpackEncodedString(dfa_79s); + static final short[][] dfa_80 = unpackEncodedStringArray(dfa_80s); + + class DFA137 extends DFA { + + public DFA137(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 137; + this.eot = dfa_75; + this.eof = dfa_75; + this.min = dfa_76; + this.max = dfa_77; + this.accept = dfa_78; + this.special = dfa_79; + this.transition = dfa_80; + } + public String getDescription() { + return "16960:2: ( rule__XClosure__Group_1__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA137_1 = input.LA(1); + + + int index137_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred212_InternalScope()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index137_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA137_2 = input.LA(1); + + + int index137_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred212_InternalScope()) ) {s = 3;} + + else if ( (true) ) {s = 5;} + + + input.seek(index137_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 137, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_81s = "\42\uffff"; + static final String dfa_82s = "\1\4\2\0\37\uffff"; + static final String dfa_83s = "\1\162\2\0\37\uffff"; + static final String dfa_84s = "\3\uffff\1\1\1\2\35\uffff"; + static final String dfa_85s = "\1\uffff\1\0\1\1\37\uffff}>"; + static final String[] dfa_86s = { + "\1\1\4\4\15\uffff\3\4\2\uffff\1\4\10\uffff\2\4\15\uffff\1\3\10\uffff\5\4\7\uffff\1\4\4\uffff\1\2\1\uffff\1\4\2\uffff\1\4\16\uffff\1\4\2\uffff\1\4\2\uffff\1\4\1\uffff\10\4\1\uffff\1\4", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_81 = DFA.unpackEncodedString(dfa_81s); + static final char[] dfa_82 = DFA.unpackEncodedStringToUnsignedChars(dfa_82s); + static final char[] dfa_83 = DFA.unpackEncodedStringToUnsignedChars(dfa_83s); + static final short[] dfa_84 = DFA.unpackEncodedString(dfa_84s); + static final short[] dfa_85 = DFA.unpackEncodedString(dfa_85s); + static final short[][] dfa_86 = unpackEncodedStringArray(dfa_86s); + + class DFA147 extends DFA { + + public DFA147(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 147; + this.eot = dfa_81; + this.eof = dfa_81; + this.min = dfa_82; + this.max = dfa_83; + this.accept = dfa_84; + this.special = dfa_85; + this.transition = dfa_86; + } + public String getDescription() { + return "18391:2: ( rule__XSwitchExpression__Group_2_1_0__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA147_1 = input.LA(1); + + + int index147_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred222_InternalScope()) ) {s = 3;} + + else if ( (true) ) {s = 4;} + + + input.seek(index147_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA147_2 = input.LA(1); + + + int index147_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred222_InternalScope()) ) {s = 3;} + + else if ( (true) ) {s = 4;} + + + input.seek(index147_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 147, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA160 extends DFA { + + public DFA160(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 160; + this.eot = dfa_67; + this.eof = dfa_68; + this.min = dfa_69; + this.max = dfa_70; + this.accept = dfa_71; + this.special = dfa_72; + this.transition = dfa_73; + } + public String getDescription() { + return "20524:2: ( rule__XFeatureCall__Group_3__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA160_1 = input.LA(1); + + + int index160_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred235_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index160_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 160, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA161 extends DFA { + + public DFA161(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 161; + this.eot = dfa_67; + this.eof = dfa_68; + this.min = dfa_69; + this.max = dfa_70; + this.accept = dfa_71; + this.special = dfa_72; + this.transition = dfa_74; + } + public String getDescription() { + return "20550:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA161_1 = input.LA(1); + + + int index161_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred236_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index161_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 161, _s, input); + error(nvae); + throw nvae; + } + } + static final String[] dfa_87s = { + "\5\2\6\uffff\5\2\1\uffff\1\2\1\1\5\2\10\uffff\2\2\3\uffff\30\2\4\uffff\1\2\2\uffff\4\2\1\uffff\3\2\2\uffff\2\2\2\uffff\1\2\6\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\3\2\1\uffff\15\2\5\uffff\2\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[][] dfa_87 = unpackEncodedStringArray(dfa_87s); + + class DFA165 extends DFA { + + public DFA165(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 165; + this.eot = dfa_67; + this.eof = dfa_68; + this.min = dfa_69; + this.max = dfa_70; + this.accept = dfa_71; + this.special = dfa_72; + this.transition = dfa_87; + } + public String getDescription() { + return "21010:2: ( rule__XConstructorCall__Group_3__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA165_1 = input.LA(1); + + + int index165_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred240_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index165_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 165, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA166 extends DFA { + + public DFA166(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 166; + this.eot = dfa_67; + this.eof = dfa_68; + this.min = dfa_69; + this.max = dfa_70; + this.accept = dfa_71; + this.special = dfa_72; + this.transition = dfa_73; + } + public String getDescription() { + return "21037:2: ( rule__XConstructorCall__Group_4__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA166_1 = input.LA(1); + + + int index166_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index166_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 166, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA167 extends DFA { + + public DFA167(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 167; + this.eot = dfa_67; + this.eof = dfa_68; + this.min = dfa_69; + this.max = dfa_70; + this.accept = dfa_71; + this.special = dfa_72; + this.transition = dfa_74; + } + public String getDescription() { + return "21063:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA167_1 = input.LA(1); + + + int index167_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred242_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index167_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 167, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_88s = "\1\41\115\uffff"; + static final String dfa_89s = "\1\4\40\0\55\uffff"; + static final String dfa_90s = "\1\172\40\0\55\uffff"; + static final String dfa_91s = "\41\uffff\1\2\53\uffff\1\1"; + static final String dfa_92s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\55\uffff}>"; + static final String[] dfa_93s = { + "\1\1\1\23\1\24\1\25\1\27\6\uffff\5\41\1\uffff\1\41\1\15\1\10\1\7\2\41\1\6\10\uffff\1\22\1\21\3\uffff\23\41\1\2\1\3\1\4\1\5\1\16\4\uffff\1\41\2\uffff\1\12\3\41\1\uffff\1\40\1\41\1\17\2\uffff\1\20\1\41\2\uffff\1\41\6\uffff\1\41\1\uffff\1\41\1\uffff\1\31\1\uffff\1\41\1\13\1\41\1\uffff\1\11\1\41\1\32\1\33\1\34\1\26\1\30\1\35\1\36\1\37\1\41\1\14\1\41\5\uffff\2\41", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[] dfa_88 = DFA.unpackEncodedString(dfa_88s); + static final char[] dfa_89 = DFA.unpackEncodedStringToUnsignedChars(dfa_89s); + static final char[] dfa_90 = DFA.unpackEncodedStringToUnsignedChars(dfa_90s); + static final short[] dfa_91 = DFA.unpackEncodedString(dfa_91s); + static final short[] dfa_92 = DFA.unpackEncodedString(dfa_92s); + static final short[][] dfa_93 = unpackEncodedStringArray(dfa_93s); + + class DFA172 extends DFA { + + public DFA172(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 172; + this.eot = dfa_67; + this.eof = dfa_88; + this.min = dfa_89; + this.max = dfa_90; + this.accept = dfa_91; + this.special = dfa_92; + this.transition = dfa_93; + } + public String getDescription() { + return "21954:2: ( rule__XReturnExpression__ExpressionAssignment_2 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA172_1 = input.LA(1); + + + int index172_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index172_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA172_2 = input.LA(1); + + + int index172_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index172_2); + if ( s>=0 ) return s; + break; + case 2 : + int LA172_3 = input.LA(1); + + + int index172_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index172_3); + if ( s>=0 ) return s; + break; + case 3 : + int LA172_4 = input.LA(1); + + + int index172_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index172_4); + if ( s>=0 ) return s; + break; + case 4 : + int LA172_5 = input.LA(1); + + + int index172_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index172_5); + if ( s>=0 ) return s; + break; + case 5 : + int LA172_6 = input.LA(1); + + + int index172_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index172_6); + if ( s>=0 ) return s; + break; + case 6 : + int LA172_7 = input.LA(1); + + + int index172_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index172_7); + if ( s>=0 ) return s; + break; + case 7 : + int LA172_8 = input.LA(1); + + + int index172_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - } + else if ( (true) ) {s = 33;} + + input.seek(index172_8); + if ( s>=0 ) return s; + break; + case 8 : + int LA172_9 = input.LA(1); - } + + int index172_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + else if ( (true) ) {s = 33;} - restoreStackSize(stackSize); + + input.seek(index172_9); + if ( s>=0 ) return s; + break; + case 9 : + int LA172_10 = input.LA(1); - } - return ; - } - // $ANTLR end "rule__CollectionExpression__ExpAssignment_3" + + int index172_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} + else if ( (true) ) {s = 33;} - // $ANTLR start "rule__CollectionType__ClAssignment_0" - // InternalScope.g:11715:1: rule__CollectionType__ClAssignment_0 : ( ( rule__CollectionType__ClAlternatives_0_0 ) ) ; - public final void rule__CollectionType__ClAssignment_0() throws RecognitionException { + + input.seek(index172_10); + if ( s>=0 ) return s; + break; + case 10 : + int LA172_11 = input.LA(1); - int stackSize = keepStackSize(); - - try { - // InternalScope.g:11719:1: ( ( ( rule__CollectionType__ClAlternatives_0_0 ) ) ) - // InternalScope.g:11720:2: ( ( rule__CollectionType__ClAlternatives_0_0 ) ) - { - // InternalScope.g:11720:2: ( ( rule__CollectionType__ClAlternatives_0_0 ) ) - // InternalScope.g:11721:3: ( rule__CollectionType__ClAlternatives_0_0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); - } - // InternalScope.g:11722:3: ( rule__CollectionType__ClAlternatives_0_0 ) - // InternalScope.g:11722:4: rule__CollectionType__ClAlternatives_0_0 - { - pushFollow(FOLLOW_2); - rule__CollectionType__ClAlternatives_0_0(); + + int index172_11 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - state._fsp--; - if (state.failed) return ; + else if ( (true) ) {s = 33;} - } + + input.seek(index172_11); + if ( s>=0 ) return s; + break; + case 11 : + int LA172_12 = input.LA(1); - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getClAlternatives_0_0()); - } + + int index172_12 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - } + else if ( (true) ) {s = 33;} + + input.seek(index172_12); + if ( s>=0 ) return s; + break; + case 12 : + int LA172_13 = input.LA(1); - } + + int index172_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + else if ( (true) ) {s = 33;} - restoreStackSize(stackSize); + + input.seek(index172_13); + if ( s>=0 ) return s; + break; + case 13 : + int LA172_14 = input.LA(1); - } - return ; - } - // $ANTLR end "rule__CollectionType__ClAssignment_0" + + int index172_14 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} + else if ( (true) ) {s = 33;} - // $ANTLR start "rule__CollectionType__Id1Assignment_2" - // InternalScope.g:11730:1: rule__CollectionType__Id1Assignment_2 : ( ruleSimpleType ) ; - public final void rule__CollectionType__Id1Assignment_2() throws RecognitionException { + + input.seek(index172_14); + if ( s>=0 ) return s; + break; + case 14 : + int LA172_15 = input.LA(1); - int stackSize = keepStackSize(); - - try { - // InternalScope.g:11734:1: ( ( ruleSimpleType ) ) - // InternalScope.g:11735:2: ( ruleSimpleType ) - { - // InternalScope.g:11735:2: ( ruleSimpleType ) - // InternalScope.g:11736:3: ruleSimpleType - { - if ( state.backtracking==0 ) { - before(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); - } - pushFollow(FOLLOW_2); - ruleSimpleType(); + + int index172_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getCollectionTypeAccess().getId1SimpleTypeParserRuleCall_2_0()); - } + else if ( (true) ) {s = 33;} - } + + input.seek(index172_15); + if ( s>=0 ) return s; + break; + case 15 : + int LA172_16 = input.LA(1); + + int index172_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - } + else if ( (true) ) {s = 33;} - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + + input.seek(index172_16); + if ( s>=0 ) return s; + break; + case 16 : + int LA172_17 = input.LA(1); - restoreStackSize(stackSize); + + int index172_17 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - } - return ; - } - // $ANTLR end "rule__CollectionType__Id1Assignment_2" + else if ( (true) ) {s = 33;} + + input.seek(index172_17); + if ( s>=0 ) return s; + break; + case 17 : + int LA172_18 = input.LA(1); - // $ANTLR start "rule__SimpleType__IdAssignment_0" - // InternalScope.g:11745:1: rule__SimpleType__IdAssignment_0 : ( ruleIdentifier ) ; - public final void rule__SimpleType__IdAssignment_0() throws RecognitionException { + + int index172_18 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - int stackSize = keepStackSize(); - - try { - // InternalScope.g:11749:1: ( ( ruleIdentifier ) ) - // InternalScope.g:11750:2: ( ruleIdentifier ) - { - // InternalScope.g:11750:2: ( ruleIdentifier ) - // InternalScope.g:11751:3: ruleIdentifier - { - if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); - } - pushFollow(FOLLOW_2); - ruleIdentifier(); + else if ( (true) ) {s = 33;} - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_0_0()); - } + + input.seek(index172_18); + if ( s>=0 ) return s; + break; + case 18 : + int LA172_19 = input.LA(1); - } + + int index172_19 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} + else if ( (true) ) {s = 33;} - } + + input.seek(index172_19); + if ( s>=0 ) return s; + break; + case 19 : + int LA172_20 = input.LA(1); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + + int index172_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - restoreStackSize(stackSize); + else if ( (true) ) {s = 33;} - } - return ; - } - // $ANTLR end "rule__SimpleType__IdAssignment_0" + + input.seek(index172_20); + if ( s>=0 ) return s; + break; + case 20 : + int LA172_21 = input.LA(1); + + int index172_21 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - // $ANTLR start "rule__SimpleType__IdAssignment_1_1" - // InternalScope.g:11760:1: rule__SimpleType__IdAssignment_1_1 : ( ruleIdentifier ) ; - public final void rule__SimpleType__IdAssignment_1_1() throws RecognitionException { + else if ( (true) ) {s = 33;} - int stackSize = keepStackSize(); - - try { - // InternalScope.g:11764:1: ( ( ruleIdentifier ) ) - // InternalScope.g:11765:2: ( ruleIdentifier ) - { - // InternalScope.g:11765:2: ( ruleIdentifier ) - // InternalScope.g:11766:3: ruleIdentifier - { - if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); - } - pushFollow(FOLLOW_2); - ruleIdentifier(); + + input.seek(index172_21); + if ( s>=0 ) return s; + break; + case 21 : + int LA172_22 = input.LA(1); - state._fsp--; - if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleTypeAccess().getIdIdentifierParserRuleCall_1_1_0()); - } + + int index172_22 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - } + else if ( (true) ) {s = 33;} + + input.seek(index172_22); + if ( s>=0 ) return s; + break; + case 22 : + int LA172_23 = input.LA(1); - } + + int index172_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + else if ( (true) ) {s = 33;} - restoreStackSize(stackSize); + + input.seek(index172_23); + if ( s>=0 ) return s; + break; + case 23 : + int LA172_24 = input.LA(1); - } - return ; - } - // $ANTLR end "rule__SimpleType__IdAssignment_1_1" + + int index172_24 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - // $ANTLR start synpred11_InternalScope - public final void synpred11_InternalScope_fragment() throws RecognitionException { - // InternalScope.g:1729:2: ( ( ( rule__Naming__Group_0__0 ) ) ) - // InternalScope.g:1729:2: ( ( rule__Naming__Group_0__0 ) ) - { - // InternalScope.g:1729:2: ( ( rule__Naming__Group_0__0 ) ) - // InternalScope.g:1730:3: ( rule__Naming__Group_0__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNamingAccess().getGroup_0()); - } - // InternalScope.g:1731:3: ( rule__Naming__Group_0__0 ) - // InternalScope.g:1731:4: rule__Naming__Group_0__0 - { - pushFollow(FOLLOW_2); - rule__Naming__Group_0__0(); + else if ( (true) ) {s = 33;} - state._fsp--; - if (state.failed) return ; + + input.seek(index172_24); + if ( s>=0 ) return s; + break; + case 24 : + int LA172_25 = input.LA(1); - } + + int index172_25 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} + else if ( (true) ) {s = 33;} - } + + input.seek(index172_25); + if ( s>=0 ) return s; + break; + case 25 : + int LA172_26 = input.LA(1); + + int index172_26 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - } - } - // $ANTLR end synpred11_InternalScope + else if ( (true) ) {s = 33;} - // $ANTLR start synpred14_InternalScope - public final void synpred14_InternalScope_fragment() throws RecognitionException { - // InternalScope.g:1777:2: ( ( ( ruleCastedExpression ) ) ) - // InternalScope.g:1777:2: ( ( ruleCastedExpression ) ) - { - // InternalScope.g:1777:2: ( ( ruleCastedExpression ) ) - // InternalScope.g:1778:3: ( ruleCastedExpression ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getExpressionAccess().getCastedExpressionParserRuleCall_1()); - } - // InternalScope.g:1779:3: ( ruleCastedExpression ) - // InternalScope.g:1779:4: ruleCastedExpression - { - pushFollow(FOLLOW_2); - ruleCastedExpression(); + + input.seek(index172_26); + if ( s>=0 ) return s; + break; + case 26 : + int LA172_27 = input.LA(1); - state._fsp--; - if (state.failed) return ; + + int index172_27 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - } + else if ( (true) ) {s = 33;} + + input.seek(index172_27); + if ( s>=0 ) return s; + break; + case 27 : + int LA172_28 = input.LA(1); - } + + int index172_28 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} + else if ( (true) ) {s = 33;} - } - } - // $ANTLR end synpred14_InternalScope + + input.seek(index172_28); + if ( s>=0 ) return s; + break; + case 28 : + int LA172_29 = input.LA(1); - // $ANTLR start synpred88_InternalScope - public final void synpred88_InternalScope_fragment() throws RecognitionException { - // InternalScope.g:6648:3: ( rule__IfExpressionKw__Group_4__0 ) - // InternalScope.g:6648:3: rule__IfExpressionKw__Group_4__0 - { - pushFollow(FOLLOW_2); - rule__IfExpressionKw__Group_4__0(); + + int index172_29 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - state._fsp--; - if (state.failed) return ; + else if ( (true) ) {s = 33;} - } - } - // $ANTLR end synpred88_InternalScope + + input.seek(index172_29); + if ( s>=0 ) return s; + break; + case 29 : + int LA172_30 = input.LA(1); - // Delegated rules + + int index172_30 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - public final boolean synpred88_InternalScope() { - state.backtracking++; - int start = input.mark(); - try { - synpred88_InternalScope_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); - } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; - } - public final boolean synpred14_InternalScope() { - state.backtracking++; - int start = input.mark(); - try { - synpred14_InternalScope_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); - } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; - } - public final boolean synpred11_InternalScope() { - state.backtracking++; - int start = input.mark(); - try { - synpred11_InternalScope_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); - } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; - } + else if ( (true) ) {s = 33;} + + input.seek(index172_30); + if ( s>=0 ) return s; + break; + case 30 : + int LA172_31 = input.LA(1); - protected DFA1 dfa1 = new DFA1(this); - protected DFA9 dfa9 = new DFA9(this); - protected DFA11 dfa11 = new DFA11(this); - static final String dfa_1s = "\6\uffff"; - static final String dfa_2s = "\1\4\1\55\1\4\2\uffff\1\55"; - static final String dfa_3s = "\1\4\1\103\1\4\2\uffff\1\103"; - static final String dfa_4s = "\3\uffff\1\2\1\1\1\uffff"; - static final String dfa_5s = "\6\uffff}>"; - static final String[] dfa_6s = { - "\1\1", - "\1\4\7\uffff\1\3\15\uffff\1\2", - "\1\5", - "", - "", - "\1\4\7\uffff\1\3\15\uffff\1\2" - }; + + int index172_31 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} - static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); - static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s); - static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); - static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s); - static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); - static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); + else if ( (true) ) {s = 33;} - class DFA1 extends DFA { + + input.seek(index172_31); + if ( s>=0 ) return s; + break; + case 31 : + int LA172_32 = input.LA(1); - public DFA1(BaseRecognizer recognizer) { - this.recognizer = recognizer; - this.decisionNumber = 1; - this.eot = dfa_1; - this.eof = dfa_1; - this.min = dfa_2; - this.max = dfa_3; - this.accept = dfa_4; - this.special = dfa_5; - this.transition = dfa_6; - } - public String getDescription() { - return "1544:1: rule__ScopeDefinition__Alternatives_2 : ( ( ( rule__ScopeDefinition__TargetTypeAssignment_2_0 ) ) | ( ( rule__ScopeDefinition__Group_2_1__0 ) ) );"; + + int index172_32 = input.index(); + input.rewind(); + s = -1; + if ( (synpred247_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index172_32); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 172, _s, input); + error(nvae); + throw nvae; } } - static final String dfa_7s = "\40\uffff"; - static final String dfa_8s = "\1\4\1\0\36\uffff"; - static final String dfa_9s = "\1\126\1\0\36\uffff"; - static final String dfa_10s = "\2\uffff\1\2\34\uffff\1\1"; - static final String dfa_11s = "\1\uffff\1\0\36\uffff}>"; - static final String[] dfa_12s = { - "\4\2\13\uffff\1\2\2\uffff\16\2\11\uffff\1\2\5\uffff\1\1\6\uffff\1\2\12\uffff\1\2\3\uffff\1\2\2\uffff\1\2\1\uffff\2\2\1\uffff\1\2\3\uffff\2\2", + static final String dfa_94s = "\117\uffff"; + static final String dfa_95s = "\1\2\116\uffff"; + static final String dfa_96s = "\1\4\1\0\115\uffff"; + static final String dfa_97s = "\1\172\1\0\115\uffff"; + static final String dfa_98s = "\2\uffff\1\2\113\uffff\1\1"; + static final String dfa_99s = "\1\uffff\1\0\115\uffff}>"; + static final String[] dfa_100s = { + "\5\2\6\uffff\5\2\1\uffff\1\2\1\1\5\2\10\uffff\2\2\3\uffff\30\2\4\uffff\1\2\2\uffff\4\2\1\uffff\3\2\2\uffff\2\2\2\uffff\1\2\6\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\3\2\1\uffff\16\2\4\uffff\2\2", "\1\uffff", "", "", @@ -38414,143 +96911,147 @@ public String getDescription() { "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" }; - static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); - static final char[] dfa_8 = DFA.unpackEncodedStringToUnsignedChars(dfa_8s); - static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s); - static final short[] dfa_10 = DFA.unpackEncodedString(dfa_10s); - static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s); - static final short[][] dfa_12 = unpackEncodedStringArray(dfa_12s); + static final short[] dfa_94 = DFA.unpackEncodedString(dfa_94s); + static final short[] dfa_95 = DFA.unpackEncodedString(dfa_95s); + static final char[] dfa_96 = DFA.unpackEncodedStringToUnsignedChars(dfa_96s); + static final char[] dfa_97 = DFA.unpackEncodedStringToUnsignedChars(dfa_97s); + static final short[] dfa_98 = DFA.unpackEncodedString(dfa_98s); + static final short[] dfa_99 = DFA.unpackEncodedString(dfa_99s); + static final short[][] dfa_100 = unpackEncodedStringArray(dfa_100s); - class DFA9 extends DFA { + class DFA181 extends DFA { - public DFA9(BaseRecognizer recognizer) { + public DFA181(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 9; - this.eot = dfa_7; - this.eof = dfa_7; - this.min = dfa_8; - this.max = dfa_9; - this.accept = dfa_10; - this.special = dfa_11; - this.transition = dfa_12; + this.decisionNumber = 181; + this.eot = dfa_94; + this.eof = dfa_95; + this.min = dfa_96; + this.max = dfa_97; + this.accept = dfa_98; + this.special = dfa_99; + this.transition = dfa_100; } public String getDescription() { - return "1724:1: rule__Naming__Alternatives : ( ( ( rule__Naming__Group_0__0 ) ) | ( ( rule__Naming__NamesAssignment_1 ) ) );"; + return "23311:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA9_1 = input.LA(1); + int LA181_1 = input.LA(1); - int index9_1 = input.index(); + int index181_1 = input.index(); input.rewind(); s = -1; - if ( (synpred11_InternalScope()) ) {s = 31;} + if ( (synpred256_InternalScope()) ) {s = 78;} else if ( (true) ) {s = 2;} - input.seek(index9_1); + input.seek(index181_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 9, _s, input); + new NoViableAltException(getDescription(), 181, _s, input); error(nvae); throw nvae; } } - static final String dfa_13s = "\36\uffff"; - static final String dfa_14s = "\1\4\1\uffff\1\0\33\uffff"; - static final String dfa_15s = "\1\126\1\uffff\1\0\33\uffff"; - static final String dfa_16s = "\1\uffff\1\1\1\uffff\1\3\31\uffff\1\2"; - static final String dfa_17s = "\2\uffff\1\0\33\uffff}>"; - static final String[] dfa_18s = { - "\4\3\13\uffff\1\3\2\uffff\16\3\11\uffff\1\3\5\uffff\1\2\21\uffff\1\1\3\uffff\1\3\2\uffff\1\3\1\uffff\2\3\5\uffff\2\3", - "", - "\1\uffff", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - }; - static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s); - static final char[] dfa_14 = DFA.unpackEncodedStringToUnsignedChars(dfa_14s); - static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s); - static final short[] dfa_16 = DFA.unpackEncodedString(dfa_16s); - static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s); - static final short[][] dfa_18 = unpackEncodedStringArray(dfa_18s); + class DFA184 extends DFA { - class DFA11 extends DFA { - - public DFA11(BaseRecognizer recognizer) { + public DFA184(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 11; - this.eot = dfa_13; - this.eof = dfa_13; - this.min = dfa_14; - this.max = dfa_15; - this.accept = dfa_16; - this.special = dfa_17; - this.transition = dfa_18; + this.decisionNumber = 184; + this.eot = dfa_94; + this.eof = dfa_95; + this.min = dfa_96; + this.max = dfa_97; + this.accept = dfa_98; + this.special = dfa_99; + this.transition = dfa_100; } public String getDescription() { - return "1766:1: rule__Expression__Alternatives : ( ( ruleLetExpression ) | ( ( ruleCastedExpression ) ) | ( ruleChainExpression ) );"; + return "23581:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA11_2 = input.LA(1); + int LA184_1 = input.LA(1); - int index11_2 = input.index(); + int index184_1 = input.index(); input.rewind(); s = -1; - if ( (synpred14_InternalScope()) ) {s = 29;} + if ( (synpred259_InternalScope()) ) {s = 78;} - else if ( (true) ) {s = 3;} + else if ( (true) ) {s = 2;} - input.seek(index11_2); + input.seek(index184_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 11, _s, input); + new NoViableAltException(getDescription(), 184, _s, input); error(nvae); throw nvae; } @@ -38559,77 +97060,147 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x00049D8000000000L}); - public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000010000000002L}); - public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000040000000002L}); - public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000080000000002L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0004000000000002L}); - public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000020000000000L}); - public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000900000000000L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000200000000000L}); - public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000400000000010L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000000012L}); - public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000003000000000L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0001000000000000L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0408200FFFC800F0L,0x000000000062D220L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0002000000000000L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0008000000000010L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0040000000000000L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000400000000000L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0040000000000002L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0010000000000000L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0020000000000000L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000000100010L}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x2C08200FFFC800F0L,0x000000000062D220L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0082000000000000L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0080000000000002L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0100000000000000L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0200000000000000L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0008000000000000L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x2408200FFFC800F0L,0x000000000062D220L}); - public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x1010000000000000L}); - public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000820000000000L}); - public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x4000000000000000L}); - public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x8000000000000000L,0x0000000000010000L}); - public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); - public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0100000000000010L}); - public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x1000000000000002L}); - public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); - public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0008000000100010L}); - public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); - public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); - public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000008L}); - public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); - public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L}); - public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); - public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000000E00000010L}); - public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); - public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000080L}); - public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); - public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); - public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0008200000000000L}); - public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000800000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000800000000002L}); - public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0008200FFFC800F0L,0x000000000060C000L}); - public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); - public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000000000002L,0x0000000000040000L}); - public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); - public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); - public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L}); - public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000000000002L,0x0000000000100000L}); - public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x000000000003F000L}); - public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x000000000003F002L}); - public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x00000000000C0000L}); - public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x00000000000C0002L}); - public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0000000000300000L}); - public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000000000300002L}); - public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0418200FFFC800F0L,0x000000000062D220L}); - public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x1000000000000000L}); - public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L}); - public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x000000007F800000L}); - public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0408600FFFC800F0L,0x000000000062D220L}); + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000000012L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0xC000000000000000L,0x00000000000014D0L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x4000000000000002L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x8000000000000002L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000040L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000002L,0x0000000000001000L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000480L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000200L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000006L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000004000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x000001FFF9000350L,0x014010D240102100L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000000000010L,0x0000000000002000L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000000002L,0x0000000000010000L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000002000010L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x000001FFF9000350L,0x014010D240B02100L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020800L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x000001FFF9000350L,0x014010D240902100L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000000000L,0x0000000000404000L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000420L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000000000L,0x0020000002000000L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000010L,0x0000000000040000L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000002L,0x0000000000400000L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000000L,0x0000000008000000L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000002000010L,0x0000000000002000L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000000002L,0x0000000020000000L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0400000000000000L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0400000000000002L}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x000001C000000010L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0001000000000000L}); + public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0001000000000002L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L}); + public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L}); + public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L}); + public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002100L}); + public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000400L}); + public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L}); + public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x000001FFF9000350L,0x010010C000002100L}); + public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000008000L}); + public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000000008002L}); + public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000000010002L}); + public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000000000000000L,0x0080000000000000L}); + public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000000000002L,0x0080000000000000L}); + public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x00000000007E0000L}); + public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x00000000007E0002L}); + public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000000001800000L}); + public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000000001800002L}); + public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0000000006000000L}); + public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000000006000002L}); + public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x000001FFF9000350L,0x014010D240106100L}); + public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L}); + public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L}); + public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0000000FF0000000L}); + public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x000001FFF9000350L,0x014010D240102300L}); + public static final BitSet FOLLOW_75 = new BitSet(new long[]{0xF000000000000010L}); + public static final BitSet FOLLOW_76 = new BitSet(new long[]{0xF000003009C001F0L,0x0005FE920004A101L}); + public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x00003E0000600000L}); + public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000000000400000L}); + public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000000000280000L}); + public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000C00000060000L}); + public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000C00000060002L}); + public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000000000680000L,0x0000010000000000L}); + public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000000000680002L,0x0000010000000000L}); + public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0008000000000010L,0x0000000000002000L}); + public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L}); + public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x003F000000600000L}); + public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x003F000000600002L}); + public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0004000000000000L}); + public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0000000000200000L}); + public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0008000000400000L}); + public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x00C0000006000000L}); + public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x00C0000006000002L}); + public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0000000009800000L}); + public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L}); + public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x0300000000000000L}); + public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0400000000000000L,0x0200000020000000L}); + public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0400000000000002L,0x0200000020000000L}); + public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0400000000000000L,0x0000000020000000L}); + public static final BitSet FOLLOW_99 = new BitSet(new long[]{0xF000000000400010L,0x0000000000000001L}); + public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000000000000L,0x0000000000042000L}); + public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x0008000000000010L,0x0000000100002000L}); + public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x0000000000200000L,0x0000000000400000L}); + public static final BitSet FOLLOW_103 = new BitSet(new long[]{0xF008003009C001F0L,0x0005FE921004E101L}); + public static final BitSet FOLLOW_104 = new BitSet(new long[]{0xF008003009C001F0L,0x0005FE921004A101L}); + public static final BitSet FOLLOW_105 = new BitSet(new long[]{0xF008003009C001F0L,0x0005FE921004A301L}); + public static final BitSet FOLLOW_106 = new BitSet(new long[]{0xF008003009C001F0L,0x0005FE92100CA101L}); + public static final BitSet FOLLOW_107 = new BitSet(new long[]{0xF808003009C001F0L,0x0405FE921004A101L}); + public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0008000000000010L,0x0000000010002000L}); + public static final BitSet FOLLOW_109 = new BitSet(new long[]{0xF808003009C001F2L,0x0405FE921004A101L}); + public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L}); + public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L}); + public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0008000000000010L,0x0000002080402600L}); + public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0008000000000012L,0x0000000080402400L}); + public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0008000000000010L,0x0000000080402400L}); + public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L}); + public static final BitSet FOLLOW_116 = new BitSet(new long[]{0xF808003009C001F0L,0x0405FE921004A901L}); + public static final BitSet FOLLOW_117 = new BitSet(new long[]{0xF008003009C001F0L,0x0005FE921004A901L}); + public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L}); + public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L}); + public static final BitSet FOLLOW_120 = new BitSet(new long[]{0xF808003009C001F0L,0x0405FE921004A301L}); + public static final BitSet FOLLOW_121 = new BitSet(new long[]{0x0800000000000000L,0x0400000000000000L}); + public static final BitSet FOLLOW_122 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L}); + public static final BitSet FOLLOW_123 = new BitSet(new long[]{0x0000000000400000L,0x0000000000042000L}); + public static final BitSet FOLLOW_124 = new BitSet(new long[]{0x0000003000000000L}); + public static final BitSet FOLLOW_125 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L}); + public static final BitSet FOLLOW_126 = new BitSet(new long[]{0x00000000000000E0L}); + public static final BitSet FOLLOW_127 = new BitSet(new long[]{0x00000030000001E0L,0x0000300000048000L}); + public static final BitSet FOLLOW_128 = new BitSet(new long[]{0x0000000000000000L,0x0000000000044000L}); + public static final BitSet FOLLOW_129 = new BitSet(new long[]{0x0000000000000002L,0x0000000000040000L}); + public static final BitSet FOLLOW_130 = new BitSet(new long[]{0x0000000000000000L,0x0000400000000000L}); + public static final BitSet FOLLOW_131 = new BitSet(new long[]{0x0000000000000000L,0x0000800000000000L}); + public static final BitSet FOLLOW_132 = new BitSet(new long[]{0x0000000000000000L,0x0001000000000000L}); + public static final BitSet FOLLOW_133 = new BitSet(new long[]{0x0000000000000000L,0x000A000000000000L}); + public static final BitSet FOLLOW_134 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L}); + public static final BitSet FOLLOW_135 = new BitSet(new long[]{0x0000000000000002L,0x0008000000000000L}); + public static final BitSet FOLLOW_136 = new BitSet(new long[]{0x0000000000000000L,0x0004000000000000L}); + public static final BitSet FOLLOW_137 = new BitSet(new long[]{0x00000000000000C0L}); + public static final BitSet FOLLOW_138 = new BitSet(new long[]{0x0008000000000010L,0x0000000000006000L}); + public static final BitSet FOLLOW_139 = new BitSet(new long[]{0x1000000000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_140 = new BitSet(new long[]{0x0000000000000000L,0x0010000000000000L}); + public static final BitSet FOLLOW_141 = new BitSet(new long[]{0x0000000000000002L,0x0010000000000000L}); + public static final BitSet FOLLOW_142 = new BitSet(new long[]{0x0000000002000000L}); + public static final BitSet FOLLOW_143 = new BitSet(new long[]{0x2000000000000010L}); + public static final BitSet FOLLOW_144 = new BitSet(new long[]{0x8000000000000010L}); } \ No newline at end of file diff --git a/com.avaloq.tools.ddk.xtext.scope.ui/META-INF/MANIFEST.MF b/com.avaloq.tools.ddk.xtext.scope.ui/META-INF/MANIFEST.MF index e77d8a35ed..283c50a34a 100644 --- a/com.avaloq.tools.ddk.xtext.scope.ui/META-INF/MANIFEST.MF +++ b/com.avaloq.tools.ddk.xtext.scope.ui/META-INF/MANIFEST.MF @@ -19,9 +19,13 @@ Require-Bundle: org.eclipse.xtext.ui, com.avaloq.tools.ddk.xtext.expression, com.avaloq.tools.ddk.xtext.ui, org.eclipse.compare, - org.eclipse.jdt.ui + org.eclipse.jdt.ui, + org.eclipse.xtext.xbase.ui, + org.eclipse.jdt.debug.ui, + org.eclipse.xtext.common.types.ui Export-Package: com.avaloq.tools.ddk.xtext.scope.ui, com.avaloq.tools.ddk.xtext.scope.ui.contentassist, - com.avaloq.tools.ddk.xtext.scope.ui.quickfix + com.avaloq.tools.ddk.xtext.scope.ui.quickfix, + com.avaloq.tools.ddk.xtext.scope.ui.editor Import-Package: org.apache.log4j Automatic-Module-Name: com.avaloq.tools.ddk.xtext.scope.ui diff --git a/com.avaloq.tools.ddk.xtext.scope.ui/plugin.xml_gen b/com.avaloq.tools.ddk.xtext.scope.ui/plugin.xml_gen index 1d30f0a5c8..22777e5f71 100644 --- a/com.avaloq.tools.ddk.xtext.scope.ui/plugin.xml_gen +++ b/com.avaloq.tools.ddk.xtext.scope.ui/plugin.xml_gen @@ -9,6 +9,7 @@ default="true" extensions="scope" id="com.avaloq.tools.ddk.xtext.scope.Scope" + matchingStrategy="com.avaloq.tools.ddk.xtext.scope.ui.ScopeExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.editor.JavaEditorInputMatcher" name="Scope Editor"> @@ -310,6 +311,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + provideIAllContainersState() { return Access.getJavaProjectsState(); } + // contributed by org.eclipse.xtext.xtext.generator.ImplicitFragment + public Class bindXtextDocumentProvider() { + return XbaseDocumentProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ImplicitFragment + public Class bindOpenGeneratedFileHandler() { + return XbaseOpenGeneratedFileHandler.class; + } + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 public Class bindIProposalConflictHelper() { return AntlrProposalConflictHelper.class; @@ -111,11 +155,6 @@ public void configureContentAssistLexerProvider(Binder binder) { binder.bind(InternalScopeLexer.class).toProvider(LexerProvider.create(InternalScopeLexer.class)); } - // contributed by org.eclipse.xtext.xtext.generator.exporting.SimpleNamesFragment2 - public Class bindIDependentElementsCalculator() { - return DefaultDependentElementsCalculator.class; - } - // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 public void configureIResourceDescriptionsBuilderScope(Binder binder) { binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(CurrentDescriptions.ResourceSetAware.class); @@ -171,6 +210,84 @@ public Class bindIContentProposalProvider() return ScopeProposalProvider.class; } + // contributed by org.eclipse.xtext.xtext.generator.types.TypesGeneratorFragment2 + public Class bindPrefixMatcher() { + return FQNPrefixMatcher.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindFindReferencesHandler() { + return JvmModelFindReferenceHandler.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindReferenceQueryExecutor() { + return JvmModelReferenceQueryExecutor.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIDependentElementsCalculator() { + return JvmModelDependentElementsCalculator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIRenameRefactoringProvider() { + return CombinedJvmJdtRenameRefactoringProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIReferenceUpdater() { + return XbaseReferenceUpdater.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIRenameContextFactory() { + return CombinedJvmJdtRenameContextFactory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIRenameStrategy() { + return DefaultJvmModelRenameStrategy.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindJdtRenameParticipant$ContextFactory() { + return JvmModelJdtRenameParticipantContext.ContextFactory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindOutlineNodeElementOpener() { + return JvmOutlineNodeElementOpener.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindGlobalURIEditorOpener() { + return GlobalDerivedMemberAwareURIEditorOpener.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIJavaSearchParticipation() { + return IJavaSearchParticipation.No.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public void configureLanguageSpecificURIEditorOpener(Binder binder) { + if (PlatformUI.isWorkbenchRunning()) { + binder.bind(IURIEditorOpener.class).annotatedWith(LanguageSpecific.class).to(DerivedMemberAwareEditorOpener.class); + binder.bind(IDerivedMemberAwareEditorOpener.class).to(DerivedMemberAwareEditorOpener.class); + } + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindJavaTypeQuickfixes() { + return JavaTypeQuickfixesNoImportSection.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindXtextEditor() { + return ScopeEditor.class; + } + // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 public Class bindIXtextBuilderParticipant() { return BuilderParticipant.class; diff --git a/com.avaloq.tools.ddk.xtext.scope.ui/src-gen/com/avaloq/tools/ddk/xtext/scope/ui/editor/ScopeEditor.java b/com.avaloq.tools.ddk.xtext.scope.ui/src-gen/com/avaloq/tools/ddk/xtext/scope/ui/editor/ScopeEditor.java new file mode 100644 index 0000000000..117cc54b35 --- /dev/null +++ b/com.avaloq.tools.ddk.xtext.scope.ui/src-gen/com/avaloq/tools/ddk/xtext/scope/ui/editor/ScopeEditor.java @@ -0,0 +1,13 @@ +/* + * generated by Xtext + */ +package com.avaloq.tools.ddk.xtext.scope.ui.editor; + +import org.eclipse.xtext.xbase.ui.editor.XbaseEditor; + +/** + * This class was generated. Customizations should only happen in a newly + * introduced subclass. + */ +public class ScopeEditor extends XbaseEditor { +} diff --git a/com.avaloq.tools.ddk.xtext.scope.ui/src-gen/com/avaloq/tools/ddk/xtext/scope/ui/internal/ScopeActivator.java b/com.avaloq.tools.ddk.xtext.scope.ui/src-gen/com/avaloq/tools/ddk/xtext/scope/ui/internal/ScopeActivator.java index 523a3391c9..7f5afa7d89 100644 --- a/com.avaloq.tools.ddk.xtext.scope.ui/src-gen/com/avaloq/tools/ddk/xtext/scope/ui/internal/ScopeActivator.java +++ b/com.avaloq.tools.ddk.xtext.scope.ui/src-gen/com/avaloq/tools/ddk/xtext/scope/ui/internal/ScopeActivator.java @@ -5,10 +5,10 @@ import com.avaloq.tools.ddk.xtext.scope.ScopeRuntimeModule; import com.avaloq.tools.ddk.xtext.scope.ui.ScopeUiModule; -import com.google.common.collect.Maps; import com.google.inject.Guice; import com.google.inject.Injector; import java.util.Collections; +import java.util.HashMap; import java.util.Map; import org.apache.log4j.Logger; import org.eclipse.ui.plugin.AbstractUIPlugin; @@ -29,7 +29,7 @@ public class ScopeActivator extends AbstractUIPlugin { private static ScopeActivator INSTANCE; - private Map injectors = Collections.synchronizedMap(Maps. newHashMapWithExpectedSize(1)); + private Map injectors = Collections.synchronizedMap(new HashMap<>(2)); @Override public void start(BundleContext context) throws Exception { diff --git a/com.avaloq.tools.ddk.xtext.scope/META-INF/MANIFEST.MF b/com.avaloq.tools.ddk.xtext.scope/META-INF/MANIFEST.MF index fb349c7600..84c4fc2da9 100644 --- a/com.avaloq.tools.ddk.xtext.scope/META-INF/MANIFEST.MF +++ b/com.avaloq.tools.ddk.xtext.scope/META-INF/MANIFEST.MF @@ -6,9 +6,9 @@ Bundle-Version: 17.3.1.qualifier Bundle-Vendor: Avaloq Group AG Bundle-RequiredExecutionEnvironment: JavaSE-21 Require-Bundle: org.eclipse.xtext, + org.eclipse.xtext.xbase, + org.eclipse.xtext.common.types, com.avaloq.tools.ddk.xtext.expression;visibility:=reexport, - org.eclipse.xtend, - org.eclipse.xtend.typesystem.emf, org.eclipse.emf.mwe2.launch;resolution:=optional, org.eclipse.xtext.util, org.eclipse.emf.ecore, @@ -18,8 +18,10 @@ Require-Bundle: org.eclipse.xtext, com.avaloq.tools.ddk.xtext, org.eclipse.core.resources, org.eclipse.core.runtime, - org.eclipse.xtext.xbase.lib -Import-Package: org.apache.logging.log4j + org.eclipse.xtext.xbase.lib, + org.objectweb.asm +Import-Package: org.apache.logging.log4j, + org.apache.log4j Export-Package: com.avaloq.tools.ddk.xtext.scope, com.avaloq.tools.ddk.xtext.scope.parser.antlr, com.avaloq.tools.ddk.xtext.scope.parser.antlr.internal, @@ -31,5 +33,6 @@ Export-Package: com.avaloq.tools.ddk.xtext.scope, com.avaloq.tools.ddk.xtext.scope.scoping, com.avaloq.tools.ddk.xtext.scope.formatting, com.avaloq.tools.ddk.xtext.scope.serializer, - com.avaloq.tools.ddk.xtext.scope.generator + com.avaloq.tools.ddk.xtext.scope.generator, + com.avaloq.tools.ddk.xtext.scope.jvmmodel Automatic-Module-Name: com.avaloq.tools.ddk.xtext.scope diff --git a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/AbstractScopeRuntimeModule.java b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/AbstractScopeRuntimeModule.java index fd6e616c43..6f604e3cc4 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/AbstractScopeRuntimeModule.java +++ b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/AbstractScopeRuntimeModule.java @@ -3,7 +3,7 @@ */ package com.avaloq.tools.ddk.xtext.scope; -import com.avaloq.tools.ddk.xtext.scope.generator.ScopeGenerator; +import com.avaloq.tools.ddk.xtext.scope.jvmmodel.ScopeJvmModelInferrer; import com.avaloq.tools.ddk.xtext.scope.parser.antlr.ScopeAntlrTokenFileProvider; import com.avaloq.tools.ddk.xtext.scope.parser.antlr.ScopeParser; import com.avaloq.tools.ddk.xtext.scope.parser.antlr.internal.InternalScopeLexer; @@ -18,7 +18,7 @@ import java.util.Properties; import org.eclipse.xtext.Constants; import org.eclipse.xtext.IGrammarAccess; -import org.eclipse.xtext.generator.IGenerator2; +import org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider; import org.eclipse.xtext.naming.IQualifiedNameProvider; import org.eclipse.xtext.naming.SimpleNameProvider; import org.eclipse.xtext.parser.IParser; @@ -31,6 +31,7 @@ import org.eclipse.xtext.parser.antlr.LexerBindings; import org.eclipse.xtext.parser.antlr.LexerProvider; import org.eclipse.xtext.resource.IContainer; +import org.eclipse.xtext.resource.ILocationInFileProvider; import org.eclipse.xtext.resource.IResourceDescriptions; import org.eclipse.xtext.resource.containers.IAllContainersState; import org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider; @@ -41,20 +42,31 @@ import org.eclipse.xtext.scoping.IScopeProvider; import org.eclipse.xtext.scoping.IgnoreCaseLinking; import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; -import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider; -import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider; import org.eclipse.xtext.serializer.ISerializer; import org.eclipse.xtext.serializer.impl.Serializer; import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer; import org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer; -import org.eclipse.xtext.service.DefaultRuntimeModule; import org.eclipse.xtext.service.SingletonBinding; +import org.eclipse.xtext.validation.IResourceValidator; +import org.eclipse.xtext.xbase.DefaultXbaseRuntimeModule; +import org.eclipse.xtext.xbase.annotations.validation.DerivedStateAwareResourceValidator; +import org.eclipse.xtext.xbase.imports.RewritableImportSection; +import org.eclipse.xtext.xbase.jvmmodel.IJvmModelInferrer; +import org.eclipse.xtext.xbase.jvmmodel.JvmLocationInFileProvider; +import org.eclipse.xtext.xbase.scoping.XImportSectionNamespaceScopeProvider; +import org.eclipse.xtext.xbase.scoping.batch.IBatchScopeProvider; +import org.eclipse.xtext.xbase.typesystem.internal.DefaultBatchTypeResolver; +import org.eclipse.xtext.xbase.typesystem.internal.DefaultReentrantTypeResolver; +import org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareBatchTypeResolver; +import org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver; +import org.eclipse.xtext.xbase.validation.FeatureNameValidator; +import org.eclipse.xtext.xbase.validation.LogicalContainerAwareFeatureNameValidator; /** * Manual modifications go to {@link ScopeRuntimeModule}. */ @SuppressWarnings("all") -public abstract class AbstractScopeRuntimeModule extends DefaultRuntimeModule { +public abstract class AbstractScopeRuntimeModule extends DefaultXbaseRuntimeModule { protected Properties properties = null; @@ -142,18 +154,13 @@ public Class bindScopeValidator() { } // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 - public Class bindIScopeProvider() { + public Class bindIBatchScopeProvider() { return ScopeScopeProvider.class; } // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 public void configureIScopeProviderDelegate(Binder binder) { - binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class); - } - - // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 - public Class bindIGlobalScopeProvider() { - return DefaultGlobalScopeProvider.class; + binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(XImportSectionNamespaceScopeProvider.class); } // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 @@ -186,9 +193,46 @@ public void configureIResourceDescriptionsPersisted(Binder binder) { binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(ResourceSetBasedResourceDescriptions.class); } - // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 - public Class bindIGenerator2() { - return ScopeGenerator.class; + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public void configureRewritableImportSectionEnablement(Binder binder) { + binder.bind(Boolean.TYPE) + .annotatedWith(Names.named(RewritableImportSection.Factory.REWRITABLEIMPORTSECTION_ENABLEMENT)) + .toInstance(Boolean.FALSE); + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindILocationInFileProvider() { + return JvmLocationInFileProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIGlobalScopeProvider() { + return TypesAwareDefaultGlobalScopeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindFeatureNameValidator() { + return LogicalContainerAwareFeatureNameValidator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindDefaultBatchTypeResolver() { + return LogicalContainerAwareBatchTypeResolver.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindDefaultReentrantTypeResolver() { + return LogicalContainerAwareReentrantTypeResolver.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIResourceValidator() { + return DerivedStateAwareResourceValidator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 + public Class bindIJvmModelInferrer() { + return ScopeJvmModelInferrer.class; } } diff --git a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/Scope.xtextbin b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/Scope.xtextbin index 686afbfc9f..0fc4b1adfd 100644 Binary files a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/Scope.xtextbin and b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/Scope.xtextbin differ diff --git a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/parser/antlr/internal/InternalScope.g b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/parser/antlr/internal/InternalScope.g index cf985402a5..28340166a0 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/parser/antlr/internal/InternalScope.g +++ b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/parser/antlr/internal/InternalScope.g @@ -3701,7 +3701,7 @@ ruleIntegerLiteral returns [EObject current=null] $current, "val", lv_val_0_0, - "org.eclipse.xtext.common.Terminals.INT"); + "org.eclipse.xtext.xbase.Xbase.INT"); } ) ) @@ -3802,7 +3802,7 @@ ruleStringLiteral returns [EObject current=null] $current, "val", lv_val_0_0, - "org.eclipse.xtext.common.Terminals.STRING"); + "org.eclipse.xtext.xbase.Xtype.STRING"); } ) ) @@ -4595,6 +4595,6288 @@ ruleIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToke } ; +// Entry rule entryRuleXExpression +entryRuleXExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXExpressionRule()); } + iv_ruleXExpression=ruleXExpression + { $current=$iv_ruleXExpression.current; } + EOF; + +// Rule XExpression +ruleXExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + { + newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); + } + this_XAssignment_0=ruleXAssignment + { + $current = $this_XAssignment_0.current; + afterParserOrEnumRuleCall(); + } +; + +// Entry rule entryRuleXAssignment +entryRuleXAssignment returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXAssignmentRule()); } + iv_ruleXAssignment=ruleXAssignment + { $current=$iv_ruleXAssignment.current; } + EOF; + +// Rule XAssignment +ruleXAssignment returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXAssignmentRule()); + } + } + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + ruleFeatureCallID + { + afterParserOrEnumRuleCall(); + } + ) + ) + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); + } + ruleOpSingleAssign + { + afterParserOrEnumRuleCall(); + } + ( + ( + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); + } + lv_value_3_0=ruleXAssignment + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXAssignmentRule()); + } + set( + $current, + "value", + lv_value_3_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); + } + this_XOrExpression_4=ruleXOrExpression + { + $current = $this_XOrExpression_4.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpMultiAssign + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXAssignmentRule()); + } + } + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + ruleOpMultiAssign + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); + } + lv_rightOperand_7_0=ruleXAssignment + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXAssignmentRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_7_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) + ) +; + +// Entry rule entryRuleOpSingleAssign +entryRuleOpSingleAssign returns [String current=null]: + { newCompositeNode(grammarAccess.getOpSingleAssignRule()); } + iv_ruleOpSingleAssign=ruleOpSingleAssign + { $current=$iv_ruleOpSingleAssign.current.getText(); } + EOF; + +// Rule OpSingleAssign +ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + kw='=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); + } +; + +// Entry rule entryRuleOpMultiAssign +entryRuleOpMultiAssign returns [String current=null]: + { newCompositeNode(grammarAccess.getOpMultiAssignRule()); } + iv_ruleOpMultiAssign=ruleOpMultiAssign + { $current=$iv_ruleOpMultiAssign.current.getText(); } + EOF; + +// Rule OpMultiAssign +ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='+=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); + } + | + kw='-=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); + } + | + kw='*=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); + } + | + kw='/=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); + } + | + kw='%=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); + } + | + ( + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); + } + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); + } + kw='=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); + } + ) + | + ( + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); + } + ( + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); + } + )? + kw='>=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); + } + ) + ) +; + +// Entry rule entryRuleXOrExpression +entryRuleXOrExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXOrExpressionRule()); } + iv_ruleXOrExpression=ruleXOrExpression + { $current=$iv_ruleXOrExpression.current; } + EOF; + +// Rule XOrExpression +ruleXOrExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); + } + this_XAndExpression_0=ruleXAndExpression + { + $current = $this_XAndExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpOr + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXOrExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpOr + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXAndExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXOrExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XAndExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpOr +entryRuleOpOr returns [String current=null]: + { newCompositeNode(grammarAccess.getOpOrRule()); } + iv_ruleOpOr=ruleOpOr + { $current=$iv_ruleOpOr.current.getText(); } + EOF; + +// Rule OpOr +ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + kw='||' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); + } +; + +// Entry rule entryRuleXAndExpression +entryRuleXAndExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXAndExpressionRule()); } + iv_ruleXAndExpression=ruleXAndExpression + { $current=$iv_ruleXAndExpression.current; } + EOF; + +// Rule XAndExpression +ruleXAndExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); + } + this_XEqualityExpression_0=ruleXEqualityExpression + { + $current = $this_XEqualityExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpAnd + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXAndExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpAnd + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXEqualityExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXAndExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XEqualityExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpAnd +entryRuleOpAnd returns [String current=null]: + { newCompositeNode(grammarAccess.getOpAndRule()); } + iv_ruleOpAnd=ruleOpAnd + { $current=$iv_ruleOpAnd.current.getText(); } + EOF; + +// Rule OpAnd +ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + kw='&&' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); + } +; + +// Entry rule entryRuleXEqualityExpression +entryRuleXEqualityExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXEqualityExpressionRule()); } + iv_ruleXEqualityExpression=ruleXEqualityExpression + { $current=$iv_ruleXEqualityExpression.current; } + EOF; + +// Rule XEqualityExpression +ruleXEqualityExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); + } + this_XRelationalExpression_0=ruleXRelationalExpression + { + $current = $this_XRelationalExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpEquality + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXEqualityExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpEquality + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXRelationalExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXEqualityExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XRelationalExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpEquality +entryRuleOpEquality returns [String current=null]: + { newCompositeNode(grammarAccess.getOpEqualityRule()); } + iv_ruleOpEquality=ruleOpEquality + { $current=$iv_ruleOpEquality.current.getText(); } + EOF; + +// Rule OpEquality +ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='==' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); + } + | + kw='!=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); + } + | + kw='===' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); + } + | + kw='!==' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); + } + ) +; + +// Entry rule entryRuleXRelationalExpression +entryRuleXRelationalExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXRelationalExpressionRule()); } + iv_ruleXRelationalExpression=ruleXRelationalExpression + { $current=$iv_ruleXRelationalExpression.current; } + EOF; + +// Rule XRelationalExpression +ruleXRelationalExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); + } + this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression + { + $current = $this_XOtherOperatorExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + ( + (( + ( + ) + 'instanceof' + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(), + $current); + } + ) + otherlv_2='instanceof' + { + newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); + } + lv_type_3_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule()); + } + set( + $current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + ( + (( + ( + ) + ( + ( + ruleOpCompare + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXRelationalExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + } + ruleOpCompare + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); + } + lv_rightOperand_6_0=ruleXOtherOperatorExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_6_0, + "org.eclipse.xtext.xbase.Xbase.XOtherOperatorExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + )* + ) +; + +// Entry rule entryRuleOpCompare +entryRuleOpCompare returns [String current=null]: + { newCompositeNode(grammarAccess.getOpCompareRule()); } + iv_ruleOpCompare=ruleOpCompare + { $current=$iv_ruleOpCompare.current.getText(); } + EOF; + +// Rule OpCompare +ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='>=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); + } + | + ( + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); + } + kw='=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); + } + ) + | + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); + } + | + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); + } + ) +; + +// Entry rule entryRuleXOtherOperatorExpression +entryRuleXOtherOperatorExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule()); } + iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression + { $current=$iv_ruleXOtherOperatorExpression.current; } + EOF; + +// Rule XOtherOperatorExpression +ruleXOtherOperatorExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); + } + this_XAdditiveExpression_0=ruleXAdditiveExpression + { + $current = $this_XAdditiveExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpOther + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXOtherOperatorExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpOther + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXAdditiveExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXOtherOperatorExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XAdditiveExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpOther +entryRuleOpOther returns [String current=null]: + { newCompositeNode(grammarAccess.getOpOtherRule()); } + iv_ruleOpOther=ruleOpOther + { $current=$iv_ruleOpOther.current.getText(); } + EOF; + +// Rule OpOther +ruleOpOther returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='->' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); + } + | + kw='..<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); + } + | + ( + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); + } + kw='..' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); + } + ) + | + kw='..' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); + } + | + kw='=>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); + } + | + ( + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); + } + ( + ( + (( + '>' + '>' + ) + )=> + ( + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); + } + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); + } + ) + ) + | + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); + } + ) + ) + | + ( + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); + } + ( + ( + (( + '<' + '<' + ) + )=> + ( + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); + } + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); + } + ) + ) + | + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); + } + | + kw='=>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); + } + ) + ) + | + kw='<>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); + } + | + kw='?:' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); + } + ) +; + +// Entry rule entryRuleXAdditiveExpression +entryRuleXAdditiveExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXAdditiveExpressionRule()); } + iv_ruleXAdditiveExpression=ruleXAdditiveExpression + { $current=$iv_ruleXAdditiveExpression.current; } + EOF; + +// Rule XAdditiveExpression +ruleXAdditiveExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); + } + this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression + { + $current = $this_XMultiplicativeExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpAdd + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXAdditiveExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpAdd + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXMultiplicativeExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXAdditiveExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XMultiplicativeExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpAdd +entryRuleOpAdd returns [String current=null]: + { newCompositeNode(grammarAccess.getOpAddRule()); } + iv_ruleOpAdd=ruleOpAdd + { $current=$iv_ruleOpAdd.current.getText(); } + EOF; + +// Rule OpAdd +ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='+' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); + } + | + kw='-' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); + } + ) +; + +// Entry rule entryRuleXMultiplicativeExpression +entryRuleXMultiplicativeExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule()); } + iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression + { $current=$iv_ruleXMultiplicativeExpression.current; } + EOF; + +// Rule XMultiplicativeExpression +ruleXMultiplicativeExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); + } + this_XUnaryOperation_0=ruleXUnaryOperation + { + $current = $this_XUnaryOperation_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + ( + ( + ruleOpMulti + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMultiplicativeExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + } + ruleOpMulti + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); + } + lv_rightOperand_3_0=ruleXUnaryOperation + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMultiplicativeExpressionRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XUnaryOperation"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleOpMulti +entryRuleOpMulti returns [String current=null]: + { newCompositeNode(grammarAccess.getOpMultiRule()); } + iv_ruleOpMulti=ruleOpMulti + { $current=$iv_ruleOpMulti.current.getText(); } + EOF; + +// Rule OpMulti +ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='*' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); + } + | + kw='**' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); + } + | + kw='/' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); + } + | + kw='%' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); + } + ) +; + +// Entry rule entryRuleXUnaryOperation +entryRuleXUnaryOperation returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXUnaryOperationRule()); } + iv_ruleXUnaryOperation=ruleXUnaryOperation + { $current=$iv_ruleXUnaryOperation.current; } + EOF; + +// Rule XUnaryOperation +ruleXUnaryOperation returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXUnaryOperationRule()); + } + } + { + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + } + ruleOpUnary + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); + } + lv_operand_2_0=ruleXUnaryOperation + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXUnaryOperationRule()); + } + set( + $current, + "operand", + lv_operand_2_0, + "org.eclipse.xtext.xbase.Xbase.XUnaryOperation"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + { + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); + } + this_XCastedExpression_3=ruleXCastedExpression + { + $current = $this_XCastedExpression_3.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleOpUnary +entryRuleOpUnary returns [String current=null]: + { newCompositeNode(grammarAccess.getOpUnaryRule()); } + iv_ruleOpUnary=ruleOpUnary + { $current=$iv_ruleOpUnary.current.getText(); } + EOF; + +// Rule OpUnary +ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='!' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); + } + | + kw='-' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); + } + | + kw='+' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); + } + ) +; + +// Entry rule entryRuleXCastedExpression +entryRuleXCastedExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXCastedExpressionRule()); } + iv_ruleXCastedExpression=ruleXCastedExpression + { $current=$iv_ruleXCastedExpression.current; } + EOF; + +// Rule XCastedExpression +ruleXCastedExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); + } + this_XPostfixOperation_0=ruleXPostfixOperation + { + $current = $this_XPostfixOperation_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + (( + ( + ) + 'as' + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(), + $current); + } + ) + otherlv_2='as' + { + newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); + } + lv_type_3_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCastedExpressionRule()); + } + set( + $current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleXPostfixOperation +entryRuleXPostfixOperation returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXPostfixOperationRule()); } + iv_ruleXPostfixOperation=ruleXPostfixOperation + { $current=$iv_ruleXPostfixOperation.current; } + EOF; + +// Rule XPostfixOperation +ruleXPostfixOperation returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); + } + this_XMemberFeatureCall_0=ruleXMemberFeatureCall + { + $current = $this_XMemberFeatureCall_0.current; + afterParserOrEnumRuleCall(); + } + ( + (( + ( + ) + ( + ( + ruleOpPostfix + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXPostfixOperationRule()); + } + } + { + newCompositeNode(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); + } + ruleOpPostfix + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + )? + ) +; + +// Entry rule entryRuleOpPostfix +entryRuleOpPostfix returns [String current=null]: + { newCompositeNode(grammarAccess.getOpPostfixRule()); } + iv_ruleOpPostfix=ruleOpPostfix + { $current=$iv_ruleOpPostfix.current.getText(); } + EOF; + +// Rule OpPostfix +ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='++' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); + } + | + kw='--' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); + } + ) +; + +// Entry rule entryRuleXMemberFeatureCall +entryRuleXMemberFeatureCall returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXMemberFeatureCallRule()); } + iv_ruleXMemberFeatureCall=ruleXMemberFeatureCall + { $current=$iv_ruleXMemberFeatureCall.current; } + EOF; + +// Rule XMemberFeatureCall +ruleXMemberFeatureCall returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); + } + this_XPrimaryExpression_0=ruleXPrimaryExpression + { + $current = $this_XPrimaryExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + ( + (( + ( + ) + ( + '.' + | + ( + ( + '::' + ) + ) + ) + ( + ( + ruleFeatureCallID + ) + ) + ruleOpSingleAssign + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(), + $current); + } + ) + ( + otherlv_2='.' + { + newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); + } + | + ( + ( + lv_explicitStatic_3_0='::' + { + newLeafNode(lv_explicitStatic_3_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed($current, "explicitStatic", lv_explicitStatic_3_0 != null, "::"); + } + ) + ) + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + } + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); + } + ruleFeatureCallID + { + afterParserOrEnumRuleCall(); + } + ) + ) + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); + } + ruleOpSingleAssign + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); + } + lv_value_6_0=ruleXAssignment + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + set( + $current, + "value", + lv_value_6_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + ( + (( + ( + ) + ( + '.' + | + ( + ( + '?.' + ) + ) + | + ( + ( + '::' + ) + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(), + $current); + } + ) + ( + otherlv_8='.' + { + newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); + } + | + ( + ( + lv_nullSafe_9_0='?.' + { + newLeafNode(lv_nullSafe_9_0, grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed($current, "nullSafe", lv_nullSafe_9_0 != null, "?."); + } + ) + ) + | + ( + ( + lv_explicitStatic_10_0='::' + { + newLeafNode(lv_explicitStatic_10_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed($current, "explicitStatic", lv_explicitStatic_10_0 != null, "::"); + } + ) + ) + ) + ) + ) + ( + otherlv_11='<' + { + newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); + } + lv_typeArguments_12_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_12_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_13=',' + { + newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); + } + lv_typeArguments_14_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_14_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_15='>' + { + newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); + } + )? + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + } + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); + } + ruleIdOrSuper + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + (( + '(' + ) + )=> + ( + lv_explicitOperationCall_17_0='(' + { + newLeafNode(lv_explicitOperationCall_17_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed($current, "explicitOperationCall", lv_explicitOperationCall_17_0 != null, "("); + } + ) + ) + ( + ( + (( + ( + ) + ( + ( + ( + ruleJvmFormalParameter + ) + ) + ( + ',' + ( + ( + ruleJvmFormalParameter + ) + ) + )* + )? + ( + ( + '|' + ) + ) + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); + } + lv_memberCallArguments_18_0=ruleXShortClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "memberCallArguments", + lv_memberCallArguments_18_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); + } + lv_memberCallArguments_19_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "memberCallArguments", + lv_memberCallArguments_19_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_20=',' + { + newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); + } + lv_memberCallArguments_21_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "memberCallArguments", + lv_memberCallArguments_21_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) + )? + otherlv_22=')' + { + newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); + } + )? + ( + (( + ( + ) + '[' + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); + } + lv_memberCallArguments_23_0=ruleXClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + $current, + "memberCallArguments", + lv_memberCallArguments_23_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + } + ) + )? + ) + )* + ) +; + +// Entry rule entryRuleXPrimaryExpression +entryRuleXPrimaryExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXPrimaryExpressionRule()); } + iv_ruleXPrimaryExpression=ruleXPrimaryExpression + { $current=$iv_ruleXPrimaryExpression.current; } + EOF; + +// Rule XPrimaryExpression +ruleXPrimaryExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); + } + this_XConstructorCall_0=ruleXConstructorCall + { + $current = $this_XConstructorCall_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); + } + this_XBlockExpression_1=ruleXBlockExpression + { + $current = $this_XBlockExpression_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); + } + this_XSwitchExpression_2=ruleXSwitchExpression + { + $current = $this_XSwitchExpression_2.current; + afterParserOrEnumRuleCall(); + } + | + ( + (( + ( + ) + 'synchronized' + '(' + ) + )=> + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); + } + this_XSynchronizedExpression_3=ruleXSynchronizedExpression + { + $current = $this_XSynchronizedExpression_3.current; + afterParserOrEnumRuleCall(); + } + ) + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); + } + this_XFeatureCall_4=ruleXFeatureCall + { + $current = $this_XFeatureCall_4.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); + } + this_XLiteral_5=ruleXLiteral + { + $current = $this_XLiteral_5.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); + } + this_XIfExpression_6=ruleXIfExpression + { + $current = $this_XIfExpression_6.current; + afterParserOrEnumRuleCall(); + } + | + ( + (( + ( + ) + 'for' + '(' + ( + ( + ruleJvmFormalParameter + ) + ) + ':' + ) + )=> + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); + } + this_XForLoopExpression_7=ruleXForLoopExpression + { + $current = $this_XForLoopExpression_7.current; + afterParserOrEnumRuleCall(); + } + ) + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); + } + this_XBasicForLoopExpression_8=ruleXBasicForLoopExpression + { + $current = $this_XBasicForLoopExpression_8.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); + } + this_XWhileExpression_9=ruleXWhileExpression + { + $current = $this_XWhileExpression_9.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); + } + this_XDoWhileExpression_10=ruleXDoWhileExpression + { + $current = $this_XDoWhileExpression_10.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); + } + this_XThrowExpression_11=ruleXThrowExpression + { + $current = $this_XThrowExpression_11.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); + } + this_XReturnExpression_12=ruleXReturnExpression + { + $current = $this_XReturnExpression_12.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); + } + this_XTryCatchFinallyExpression_13=ruleXTryCatchFinallyExpression + { + $current = $this_XTryCatchFinallyExpression_13.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); + } + this_XParenthesizedExpression_14=ruleXParenthesizedExpression + { + $current = $this_XParenthesizedExpression_14.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleXLiteral +entryRuleXLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXLiteralRule()); } + iv_ruleXLiteral=ruleXLiteral + { $current=$iv_ruleXLiteral.current; } + EOF; + +// Rule XLiteral +ruleXLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); + } + this_XCollectionLiteral_0=ruleXCollectionLiteral + { + $current = $this_XCollectionLiteral_0.current; + afterParserOrEnumRuleCall(); + } + | + ( + (( + ( + ) + '[' + ) + )=> + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); + } + this_XClosure_1=ruleXClosure + { + $current = $this_XClosure_1.current; + afterParserOrEnumRuleCall(); + } + ) + | + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); + } + this_XBooleanLiteral_2=ruleXBooleanLiteral + { + $current = $this_XBooleanLiteral_2.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); + } + this_XNumberLiteral_3=ruleXNumberLiteral + { + $current = $this_XNumberLiteral_3.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); + } + this_XNullLiteral_4=ruleXNullLiteral + { + $current = $this_XNullLiteral_4.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); + } + this_XStringLiteral_5=ruleXStringLiteral + { + $current = $this_XStringLiteral_5.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); + } + this_XTypeLiteral_6=ruleXTypeLiteral + { + $current = $this_XTypeLiteral_6.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleXCollectionLiteral +entryRuleXCollectionLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXCollectionLiteralRule()); } + iv_ruleXCollectionLiteral=ruleXCollectionLiteral + { $current=$iv_ruleXCollectionLiteral.current; } + EOF; + +// Rule XCollectionLiteral +ruleXCollectionLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); + } + this_XSetLiteral_0=ruleXSetLiteral + { + $current = $this_XSetLiteral_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); + } + this_XListLiteral_1=ruleXListLiteral + { + $current = $this_XListLiteral_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleXSetLiteral +entryRuleXSetLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXSetLiteralRule()); } + iv_ruleXSetLiteral=ruleXSetLiteral + { $current=$iv_ruleXSetLiteral.current; } + EOF; + +// Rule XSetLiteral +ruleXSetLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0(), + $current); + } + ) + otherlv_1='#' + { + newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); + } + otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + lv_elements_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSetLiteralRule()); + } + add( + $current, + "elements", + lv_elements_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_4=',' + { + newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + lv_elements_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSetLiteralRule()); + } + add( + $current, + "elements", + lv_elements_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_6='}' + { + newLeafNode(otherlv_6, grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); + } + ) +; + +// Entry rule entryRuleXListLiteral +entryRuleXListLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXListLiteralRule()); } + iv_ruleXListLiteral=ruleXListLiteral + { $current=$iv_ruleXListLiteral.current; } + EOF; + +// Rule XListLiteral +ruleXListLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXListLiteralAccess().getXListLiteralAction_0(), + $current); + } + ) + otherlv_1='#' + { + newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); + } + otherlv_2='[' + { + newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + } + lv_elements_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXListLiteralRule()); + } + add( + $current, + "elements", + lv_elements_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_4=',' + { + newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + } + lv_elements_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXListLiteralRule()); + } + add( + $current, + "elements", + lv_elements_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_6=']' + { + newLeafNode(otherlv_6, grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); + } + ) +; + +// Entry rule entryRuleXClosure +entryRuleXClosure returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXClosureRule()); } + iv_ruleXClosure=ruleXClosure + { $current=$iv_ruleXClosure.current; } + EOF; + +// Rule XClosure +ruleXClosure returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + (( + ( + ) + '[' + ) + )=> + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXClosureAccess().getXClosureAction_0_0_0(), + $current); + } + ) + otherlv_1='[' + { + newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); + } + ) + ) + ( + (( + ( + ( + ( + ruleJvmFormalParameter + ) + ) + ( + ',' + ( + ( + ruleJvmFormalParameter + ) + ) + )* + )? + ( + ( + '|' + ) + ) + ) + )=> + ( + ( + ( + ( + { + newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); + } + lv_declaredFormalParameters_2_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + add( + $current, + "declaredFormalParameters", + lv_declaredFormalParameters_2_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); + } + lv_declaredFormalParameters_4_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + add( + $current, + "declaredFormalParameters", + lv_declaredFormalParameters_4_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + ( + ( + lv_explicitSyntax_5_0='|' + { + newLeafNode(lv_explicitSyntax_5_0, grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXClosureRule()); + } + setWithLastConsumed($current, "explicitSyntax", lv_explicitSyntax_5_0 != null, "|"); + } + ) + ) + ) + )? + ( + ( + { + newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); + } + lv_expression_6_0=ruleXExpressionInClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + set( + $current, + "expression", + lv_expression_6_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionInClosure"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_7=']' + { + newLeafNode(otherlv_7, grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); + } + ) +; + +// Entry rule entryRuleXExpressionInClosure +entryRuleXExpressionInClosure returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXExpressionInClosureRule()); } + iv_ruleXExpressionInClosure=ruleXExpressionInClosure + { $current=$iv_ruleXExpressionInClosure.current; } + EOF; + +// Rule XExpressionInClosure +ruleXExpressionInClosure returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0(), + $current); + } + ) + ( + ( + ( + { + newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); + } + lv_expressions_1_0=ruleXExpressionOrVarDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXExpressionInClosureRule()); + } + add( + $current, + "expressions", + lv_expressions_1_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=';' + { + newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); + } + )? + )* + ) +; + +// Entry rule entryRuleXShortClosure +entryRuleXShortClosure returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXShortClosureRule()); } + iv_ruleXShortClosure=ruleXShortClosure + { $current=$iv_ruleXShortClosure.current; } + EOF; + +// Rule XShortClosure +ruleXShortClosure returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + (( + ( + ) + ( + ( + ( + ruleJvmFormalParameter + ) + ) + ( + ',' + ( + ( + ruleJvmFormalParameter + ) + ) + )* + )? + ( + ( + '|' + ) + ) + ) + )=> + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0(), + $current); + } + ) + ( + ( + ( + { + newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); + } + lv_declaredFormalParameters_1_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + add( + $current, + "declaredFormalParameters", + lv_declaredFormalParameters_1_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=',' + { + newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); + } + lv_declaredFormalParameters_3_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + add( + $current, + "declaredFormalParameters", + lv_declaredFormalParameters_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + ( + ( + lv_explicitSyntax_4_0='|' + { + newLeafNode(lv_explicitSyntax_4_0, grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXShortClosureRule()); + } + setWithLastConsumed($current, "explicitSyntax", lv_explicitSyntax_4_0 != null, "|"); + } + ) + ) + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); + } + lv_expression_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + set( + $current, + "expression", + lv_expression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXParenthesizedExpression +entryRuleXParenthesizedExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXParenthesizedExpressionRule()); } + iv_ruleXParenthesizedExpression=ruleXParenthesizedExpression + { $current=$iv_ruleXParenthesizedExpression.current; } + EOF; + +// Rule XParenthesizedExpression +ruleXParenthesizedExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='(' + { + newLeafNode(otherlv_0, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + } + { + newCompositeNode(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); + } + this_XExpression_1=ruleXExpression + { + $current = $this_XExpression_1.current; + afterParserOrEnumRuleCall(); + } + otherlv_2=')' + { + newLeafNode(otherlv_2, grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); + } + ) +; + +// Entry rule entryRuleXIfExpression +entryRuleXIfExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXIfExpressionRule()); } + iv_ruleXIfExpression=ruleXIfExpression + { $current=$iv_ruleXIfExpression.current; } + EOF; + +// Rule XIfExpression +ruleXIfExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0(), + $current); + } + ) + otherlv_1='if' + { + newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); + } + lv_if_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + $current, + "if", + lv_if_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=')' + { + newLeafNode(otherlv_4, grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); + } + lv_then_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + $current, + "then", + lv_then_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ('else')=> + otherlv_6='else' + { + newLeafNode(otherlv_6, grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); + } + lv_else_7_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + $current, + "else", + lv_else_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleXSwitchExpression +entryRuleXSwitchExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXSwitchExpressionRule()); } + iv_ruleXSwitchExpression=ruleXSwitchExpression + { $current=$iv_ruleXSwitchExpression.current; } + EOF; + +// Rule XSwitchExpression +ruleXSwitchExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0(), + $current); + } + ) + otherlv_1='switch' + { + newLeafNode(otherlv_1, grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); + } + ( + ( + ( + (( + '(' + ( + ( + ruleJvmFormalParameter + ) + ) + ':' + ) + )=> + ( + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); + } + lv_declaredParam_3_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + $current, + "declaredParam", + lv_declaredParam_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=':' + { + newLeafNode(otherlv_4, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); + } + lv_switch_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + $current, + "switch", + lv_switch_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_6=')' + { + newLeafNode(otherlv_6, grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); + } + ) + | + ( + ( + (( + ( + ( + ruleJvmFormalParameter + ) + ) + ':' + ) + )=> + ( + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); + } + lv_declaredParam_7_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + $current, + "declaredParam", + lv_declaredParam_7_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_8=':' + { + newLeafNode(otherlv_8, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); + } + ) + )? + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); + } + lv_switch_9_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + $current, + "switch", + lv_switch_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + otherlv_10='{' + { + newLeafNode(otherlv_10, grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); + } + lv_cases_11_0=ruleXCasePart + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + add( + $current, + "cases", + lv_cases_11_0, + "org.eclipse.xtext.xbase.Xbase.XCasePart"); + afterParserOrEnumRuleCall(); + } + ) + )* + ( + otherlv_12='default' + { + newLeafNode(otherlv_12, grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); + } + otherlv_13=':' + { + newLeafNode(otherlv_13, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); + } + lv_default_14_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + $current, + "default", + lv_default_14_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + otherlv_15='}' + { + newLeafNode(otherlv_15, grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); + } + ) +; + +// Entry rule entryRuleXCasePart +entryRuleXCasePart returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXCasePartRule()); } + iv_ruleXCasePart=ruleXCasePart + { $current=$iv_ruleXCasePart.current; } + EOF; + +// Rule XCasePart +ruleXCasePart returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXCasePartAccess().getXCasePartAction_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); + } + lv_typeGuard_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + $current, + "typeGuard", + lv_typeGuard_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + )? + ( + otherlv_2='case' + { + newLeafNode(otherlv_2, grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); + } + lv_case_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + $current, + "case", + lv_case_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ( + ( + otherlv_4=':' + { + newLeafNode(otherlv_4, grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); + } + lv_then_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + $current, + "then", + lv_then_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + ( + lv_fallThrough_6_0=',' + { + newLeafNode(lv_fallThrough_6_0, grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXCasePartRule()); + } + setWithLastConsumed($current, "fallThrough", lv_fallThrough_6_0 != null, ","); + } + ) + ) + ) + ) +; + +// Entry rule entryRuleXForLoopExpression +entryRuleXForLoopExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXForLoopExpressionRule()); } + iv_ruleXForLoopExpression=ruleXForLoopExpression + { $current=$iv_ruleXForLoopExpression.current; } + EOF; + +// Rule XForLoopExpression +ruleXForLoopExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + (( + ( + ) + 'for' + '(' + ( + ( + ruleJvmFormalParameter + ) + ) + ':' + ) + )=> + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0(), + $current); + } + ) + otherlv_1='for' + { + newLeafNode(otherlv_1, grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); + } + lv_declaredParam_3_0=ruleJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + $current, + "declaredParam", + lv_declaredParam_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=':' + { + newLeafNode(otherlv_4, grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); + } + lv_forExpression_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + $current, + "forExpression", + lv_forExpression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_6=')' + { + newLeafNode(otherlv_6, grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); + } + lv_eachExpression_7_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + $current, + "eachExpression", + lv_eachExpression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXBasicForLoopExpression +entryRuleXBasicForLoopExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXBasicForLoopExpressionRule()); } + iv_ruleXBasicForLoopExpression=ruleXBasicForLoopExpression + { $current=$iv_ruleXBasicForLoopExpression.current; } + EOF; + +// Rule XBasicForLoopExpression +ruleXBasicForLoopExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0(), + $current); + } + ) + otherlv_1='for' + { + newLeafNode(otherlv_1, grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); + } + lv_initExpressions_3_0=ruleXExpressionOrVarDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + $current, + "initExpressions", + lv_initExpressions_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_4=',' + { + newLeafNode(otherlv_4, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); + } + lv_initExpressions_5_0=ruleXExpressionOrVarDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + $current, + "initExpressions", + lv_initExpressions_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_6=';' + { + newLeafNode(otherlv_6, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); + } + lv_expression_7_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + set( + $current, + "expression", + lv_expression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + )? + otherlv_8=';' + { + newLeafNode(otherlv_8, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); + } + lv_updateExpressions_9_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + $current, + "updateExpressions", + lv_updateExpressions_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_10=',' + { + newLeafNode(otherlv_10, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); + } + lv_updateExpressions_11_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + $current, + "updateExpressions", + lv_updateExpressions_11_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_12=')' + { + newLeafNode(otherlv_12, grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); + } + lv_eachExpression_13_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + set( + $current, + "eachExpression", + lv_eachExpression_13_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXWhileExpression +entryRuleXWhileExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXWhileExpressionRule()); } + iv_ruleXWhileExpression=ruleXWhileExpression + { $current=$iv_ruleXWhileExpression.current; } + EOF; + +// Rule XWhileExpression +ruleXWhileExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0(), + $current); + } + ) + otherlv_1='while' + { + newLeafNode(otherlv_1, grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); + } + lv_predicate_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXWhileExpressionRule()); + } + set( + $current, + "predicate", + lv_predicate_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=')' + { + newLeafNode(otherlv_4, grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); + } + lv_body_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXWhileExpressionRule()); + } + set( + $current, + "body", + lv_body_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXDoWhileExpression +entryRuleXDoWhileExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXDoWhileExpressionRule()); } + iv_ruleXDoWhileExpression=ruleXDoWhileExpression + { $current=$iv_ruleXDoWhileExpression.current; } + EOF; + +// Rule XDoWhileExpression +ruleXDoWhileExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0(), + $current); + } + ) + otherlv_1='do' + { + newLeafNode(otherlv_1, grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); + } + lv_body_2_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule()); + } + set( + $current, + "body", + lv_body_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_3='while' + { + newLeafNode(otherlv_3, grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); + } + otherlv_4='(' + { + newLeafNode(otherlv_4, grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); + } + lv_predicate_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule()); + } + set( + $current, + "predicate", + lv_predicate_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_6=')' + { + newLeafNode(otherlv_6, grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); + } + ) +; + +// Entry rule entryRuleXBlockExpression +entryRuleXBlockExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXBlockExpressionRule()); } + iv_ruleXBlockExpression=ruleXBlockExpression + { $current=$iv_ruleXBlockExpression.current; } + EOF; + +// Rule XBlockExpression +ruleXBlockExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0(), + $current); + } + ) + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); + } + lv_expressions_2_0=ruleXExpressionOrVarDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXBlockExpressionRule()); + } + add( + $current, + "expressions", + lv_expressions_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=';' + { + newLeafNode(otherlv_3, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); + } + )? + )* + otherlv_4='}' + { + newLeafNode(otherlv_4, grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); + } + ) +; + +// Entry rule entryRuleXExpressionOrVarDeclaration +entryRuleXExpressionOrVarDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationRule()); } + iv_ruleXExpressionOrVarDeclaration=ruleXExpressionOrVarDeclaration + { $current=$iv_ruleXExpressionOrVarDeclaration.current; } + EOF; + +// Rule XExpressionOrVarDeclaration +ruleXExpressionOrVarDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); + } + this_XVariableDeclaration_0=ruleXVariableDeclaration + { + $current = $this_XVariableDeclaration_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); + } + this_XExpression_1=ruleXExpression + { + $current = $this_XExpression_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleXVariableDeclaration +entryRuleXVariableDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXVariableDeclarationRule()); } + iv_ruleXVariableDeclaration=ruleXVariableDeclaration + { $current=$iv_ruleXVariableDeclaration.current; } + EOF; + +// Rule XVariableDeclaration +ruleXVariableDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0(), + $current); + } + ) + ( + ( + ( + lv_writeable_1_0='var' + { + newLeafNode(lv_writeable_1_0, grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXVariableDeclarationRule()); + } + setWithLastConsumed($current, "writeable", lv_writeable_1_0 != null, "var"); + } + ) + ) + | + otherlv_2='val' + { + newLeafNode(otherlv_2, grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); + } + ) + ( + ( + (( + ( + ( + ruleJvmTypeReference + ) + ) + ( + ( + ruleValidID + ) + ) + ) + )=> + ( + ( + ( + { + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); + } + lv_type_3_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + $current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); + } + lv_name_4_0=ruleValidID + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + $current, + "name", + lv_name_4_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); + } + lv_name_5_0=ruleValidID + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + $current, + "name", + lv_name_5_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ( + otherlv_6='=' + { + newLeafNode(otherlv_6, grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); + } + lv_right_7_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + $current, + "right", + lv_right_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleJvmFormalParameter +entryRuleJvmFormalParameter returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmFormalParameterRule()); } + iv_ruleJvmFormalParameter=ruleJvmFormalParameter + { $current=$iv_ruleJvmFormalParameter.current; } + EOF; + +// Rule JvmFormalParameter +ruleJvmFormalParameter returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + lv_parameterType_0_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule()); + } + set( + $current, + "parameterType", + lv_parameterType_0_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + )? + ( + ( + { + newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + lv_name_1_0=ruleValidID + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule()); + } + set( + $current, + "name", + lv_name_1_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleFullJvmFormalParameter +entryRuleFullJvmFormalParameter returns [EObject current=null]: + { newCompositeNode(grammarAccess.getFullJvmFormalParameterRule()); } + iv_ruleFullJvmFormalParameter=ruleFullJvmFormalParameter + { $current=$iv_ruleFullJvmFormalParameter.current; } + EOF; + +// Rule FullJvmFormalParameter +ruleFullJvmFormalParameter returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + } + lv_parameterType_0_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule()); + } + set( + $current, + "parameterType", + lv_parameterType_0_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + } + lv_name_1_0=ruleValidID + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule()); + } + set( + $current, + "name", + lv_name_1_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXFeatureCall +entryRuleXFeatureCall returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXFeatureCallRule()); } + iv_ruleXFeatureCall=ruleXFeatureCall + { $current=$iv_ruleXFeatureCall.current; } + EOF; + +// Rule XFeatureCall +ruleXFeatureCall returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0(), + $current); + } + ) + ( + otherlv_1='<' + { + newLeafNode(otherlv_1, grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + lv_typeArguments_2_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + lv_typeArguments_4_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_5='>' + { + newLeafNode(otherlv_5, grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); + } + )? + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXFeatureCallRule()); + } + } + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); + } + ruleIdOrSuper + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + (( + '(' + ) + )=> + ( + lv_explicitOperationCall_7_0='(' + { + newLeafNode(lv_explicitOperationCall_7_0, grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXFeatureCallRule()); + } + setWithLastConsumed($current, "explicitOperationCall", lv_explicitOperationCall_7_0 != null, "("); + } + ) + ) + ( + ( + (( + ( + ) + ( + ( + ( + ruleJvmFormalParameter + ) + ) + ( + ',' + ( + ( + ruleJvmFormalParameter + ) + ) + )* + )? + ( + ( + '|' + ) + ) + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); + } + lv_featureCallArguments_8_0=ruleXShortClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "featureCallArguments", + lv_featureCallArguments_8_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); + } + lv_featureCallArguments_9_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "featureCallArguments", + lv_featureCallArguments_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_10=',' + { + newLeafNode(otherlv_10, grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); + } + lv_featureCallArguments_11_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "featureCallArguments", + lv_featureCallArguments_11_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) + )? + otherlv_12=')' + { + newLeafNode(otherlv_12, grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); + } + )? + ( + (( + ( + ) + '[' + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); + } + lv_featureCallArguments_13_0=ruleXClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + $current, + "featureCallArguments", + lv_featureCallArguments_13_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + } + ) + )? + ) +; + +// Entry rule entryRuleFeatureCallID +entryRuleFeatureCallID returns [String current=null]: + { newCompositeNode(grammarAccess.getFeatureCallIDRule()); } + iv_ruleFeatureCallID=ruleFeatureCallID + { $current=$iv_ruleFeatureCallID.current.getText(); } + EOF; + +// Rule FeatureCallID +ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); + } + this_ValidID_0=ruleValidID + { + $current.merge(this_ValidID_0); + } + { + afterParserOrEnumRuleCall(); + } + | + kw='extends' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); + } + | + kw='static' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); + } + | + kw='import' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); + } + | + kw='extension' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); + } + ) +; + +// Entry rule entryRuleIdOrSuper +entryRuleIdOrSuper returns [String current=null]: + { newCompositeNode(grammarAccess.getIdOrSuperRule()); } + iv_ruleIdOrSuper=ruleIdOrSuper + { $current=$iv_ruleIdOrSuper.current.getText(); } + EOF; + +// Rule IdOrSuper +ruleIdOrSuper returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); + } + this_FeatureCallID_0=ruleFeatureCallID + { + $current.merge(this_FeatureCallID_0); + } + { + afterParserOrEnumRuleCall(); + } + | + kw='super' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); + } + ) +; + +// Entry rule entryRuleXConstructorCall +entryRuleXConstructorCall returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXConstructorCallRule()); } + iv_ruleXConstructorCall=ruleXConstructorCall + { $current=$iv_ruleXConstructorCall.current; } + EOF; + +// Rule XConstructorCall +ruleXConstructorCall returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0(), + $current); + } + ) + otherlv_1='new' + { + newLeafNode(otherlv_1, grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXConstructorCallRule()); + } + } + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ('<')=> + otherlv_3='<' + { + newLeafNode(otherlv_3, grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); + } + lv_typeArguments_4_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_5=',' + { + newLeafNode(otherlv_5, grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); + } + lv_typeArguments_6_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "typeArguments", + lv_typeArguments_6_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_7='>' + { + newLeafNode(otherlv_7, grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); + } + )? + ( + ( + (( + '(' + ) + )=> + ( + lv_explicitConstructorCall_8_0='(' + { + newLeafNode(lv_explicitConstructorCall_8_0, grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXConstructorCallRule()); + } + setWithLastConsumed($current, "explicitConstructorCall", lv_explicitConstructorCall_8_0 != null, "("); + } + ) + ) + ( + ( + (( + ( + ) + ( + ( + ( + ruleJvmFormalParameter + ) + ) + ( + ',' + ( + ( + ruleJvmFormalParameter + ) + ) + )* + )? + ( + ( + '|' + ) + ) + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); + } + lv_arguments_9_0=ruleXShortClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "arguments", + lv_arguments_9_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); + } + lv_arguments_10_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "arguments", + lv_arguments_10_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_11=',' + { + newLeafNode(otherlv_11, grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); + } + lv_arguments_12_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "arguments", + lv_arguments_12_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) + )? + otherlv_13=')' + { + newLeafNode(otherlv_13, grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); + } + )? + ( + (( + ( + ) + '[' + ) + )=> + ( + { + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); + } + lv_arguments_14_0=ruleXClosure + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + $current, + "arguments", + lv_arguments_14_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + } + ) + )? + ) +; + +// Entry rule entryRuleXBooleanLiteral +entryRuleXBooleanLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXBooleanLiteralRule()); } + iv_ruleXBooleanLiteral=ruleXBooleanLiteral + { $current=$iv_ruleXBooleanLiteral.current; } + EOF; + +// Rule XBooleanLiteral +ruleXBooleanLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0(), + $current); + } + ) + ( + otherlv_1='false' + { + newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); + } + | + ( + ( + lv_isTrue_2_0='true' + { + newLeafNode(lv_isTrue_2_0, grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXBooleanLiteralRule()); + } + setWithLastConsumed($current, "isTrue", lv_isTrue_2_0 != null, "true"); + } + ) + ) + ) + ) +; + +// Entry rule entryRuleXNullLiteral +entryRuleXNullLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXNullLiteralRule()); } + iv_ruleXNullLiteral=ruleXNullLiteral + { $current=$iv_ruleXNullLiteral.current; } + EOF; + +// Rule XNullLiteral +ruleXNullLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0(), + $current); + } + ) + otherlv_1='null' + { + newLeafNode(otherlv_1, grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); + } + ) +; + +// Entry rule entryRuleXNumberLiteral +entryRuleXNumberLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXNumberLiteralRule()); } + iv_ruleXNumberLiteral=ruleXNumberLiteral + { $current=$iv_ruleXNumberLiteral.current; } + EOF; + +// Rule XNumberLiteral +ruleXNumberLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); + } + lv_value_1_0=ruleNumber + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXNumberLiteralRule()); + } + set( + $current, + "value", + lv_value_1_0, + "org.eclipse.xtext.xbase.Xbase.Number"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXStringLiteral +entryRuleXStringLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXStringLiteralRule()); } + iv_ruleXStringLiteral=ruleXStringLiteral + { $current=$iv_ruleXStringLiteral.current; } + EOF; + +// Rule XStringLiteral +ruleXStringLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0(), + $current); + } + ) + ( + ( + lv_value_1_0=RULE_STRING + { + newLeafNode(lv_value_1_0, grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXStringLiteralRule()); + } + setWithLastConsumed( + $current, + "value", + lv_value_1_0, + "org.eclipse.xtext.xbase.Xtype.STRING"); + } + ) + ) + ) +; + +// Entry rule entryRuleXTypeLiteral +entryRuleXTypeLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXTypeLiteralRule()); } + iv_ruleXTypeLiteral=ruleXTypeLiteral + { $current=$iv_ruleXTypeLiteral.current; } + EOF; + +// Rule XTypeLiteral +ruleXTypeLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0(), + $current); + } + ) + otherlv_1='typeof' + { + newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXTypeLiteralRule()); + } + } + { + newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); + } + lv_arrayDimensions_4_0=ruleArrayBrackets + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXTypeLiteralRule()); + } + add( + $current, + "arrayDimensions", + lv_arrayDimensions_4_0, + "org.eclipse.xtext.xbase.Xtype.ArrayBrackets"); + afterParserOrEnumRuleCall(); + } + ) + )* + otherlv_5=')' + { + newLeafNode(otherlv_5, grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); + } + ) +; + +// Entry rule entryRuleXThrowExpression +entryRuleXThrowExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXThrowExpressionRule()); } + iv_ruleXThrowExpression=ruleXThrowExpression + { $current=$iv_ruleXThrowExpression.current; } + EOF; + +// Rule XThrowExpression +ruleXThrowExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0(), + $current); + } + ) + otherlv_1='throw' + { + newLeafNode(otherlv_1, grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + lv_expression_2_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXThrowExpressionRule()); + } + set( + $current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXReturnExpression +entryRuleXReturnExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXReturnExpressionRule()); } + iv_ruleXReturnExpression=ruleXReturnExpression + { $current=$iv_ruleXReturnExpression.current; } + EOF; + +// Rule XReturnExpression +ruleXReturnExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0(), + $current); + } + ) + otherlv_1='return' + { + newLeafNode(otherlv_1, grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); + } + ( + ('extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING)=> + ( + { + newCompositeNode(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + lv_expression_2_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXReturnExpressionRule()); + } + set( + $current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + )? + ) +; + +// Entry rule entryRuleXTryCatchFinallyExpression +entryRuleXTryCatchFinallyExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionRule()); } + iv_ruleXTryCatchFinallyExpression=ruleXTryCatchFinallyExpression + { $current=$iv_ruleXTryCatchFinallyExpression.current; } + EOF; + +// Rule XTryCatchFinallyExpression +ruleXTryCatchFinallyExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0(), + $current); + } + ) + otherlv_1='try' + { + newLeafNode(otherlv_1, grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + } + lv_expression_2_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + $current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ( + ('catch')=> + ( + { + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); + } + lv_catchClauses_3_0=ruleXCatchClause + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + add( + $current, + "catchClauses", + lv_catchClauses_3_0, + "org.eclipse.xtext.xbase.Xbase.XCatchClause"); + afterParserOrEnumRuleCall(); + } + ) + )+ + ( + ( + ('finally')=> + otherlv_4='finally' + { + newLeafNode(otherlv_4, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); + } + lv_finallyExpression_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + $current, + "finallyExpression", + lv_finallyExpression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) + | + ( + otherlv_6='finally' + { + newLeafNode(otherlv_6, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); + } + lv_finallyExpression_7_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + $current, + "finallyExpression", + lv_finallyExpression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ) +; + +// Entry rule entryRuleXSynchronizedExpression +entryRuleXSynchronizedExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXSynchronizedExpressionRule()); } + iv_ruleXSynchronizedExpression=ruleXSynchronizedExpression + { $current=$iv_ruleXSynchronizedExpression.current; } + EOF; + +// Rule XSynchronizedExpression +ruleXSynchronizedExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + (( + ( + ) + 'synchronized' + '(' + ) + )=> + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0(), + $current); + } + ) + otherlv_1='synchronized' + { + newLeafNode(otherlv_1, grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); + } + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); + } + lv_param_3_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule()); + } + set( + $current, + "param", + lv_param_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=')' + { + newLeafNode(otherlv_4, grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); + } + lv_expression_5_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule()); + } + set( + $current, + "expression", + lv_expression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleXCatchClause +entryRuleXCatchClause returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXCatchClauseRule()); } + iv_ruleXCatchClause=ruleXCatchClause + { $current=$iv_ruleXCatchClause.current; } + EOF; + +// Rule XCatchClause +ruleXCatchClause returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ('catch')=> + otherlv_0='catch' + { + newLeafNode(otherlv_0, grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); + } + ) + otherlv_1='(' + { + newLeafNode(otherlv_1, grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); + } + lv_declaredParam_2_0=ruleFullJvmFormalParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCatchClauseRule()); + } + set( + $current, + "declaredParam", + lv_declaredParam_2_0, + "org.eclipse.xtext.xbase.Xbase.FullJvmFormalParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_3=')' + { + newLeafNode(otherlv_3, grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); + } + lv_expression_4_0=ruleXExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXCatchClauseRule()); + } + set( + $current, + "expression", + lv_expression_4_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleQualifiedName +entryRuleQualifiedName returns [String current=null]: + { newCompositeNode(grammarAccess.getQualifiedNameRule()); } + iv_ruleQualifiedName=ruleQualifiedName + { $current=$iv_ruleQualifiedName.current.getText(); } + EOF; + +// Rule QualifiedName +ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); + } + this_ValidID_0=ruleValidID + { + $current.merge(this_ValidID_0); + } + { + afterParserOrEnumRuleCall(); + } + ( + ( + ('.')=> + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); + } + ) + { + newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); + } + this_ValidID_2=ruleValidID + { + $current.merge(this_ValidID_2); + } + { + afterParserOrEnumRuleCall(); + } + )* + ) +; + +// Entry rule entryRuleNumber +entryRuleNumber returns [String current=null]@init { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +}: + { newCompositeNode(grammarAccess.getNumberRule()); } + iv_ruleNumber=ruleNumber + { $current=$iv_ruleNumber.current.getText(); } + EOF; +finally { + myHiddenTokenState.restore(); +} + +// Rule Number +ruleNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +} +@after { + leaveRule(); +}: + ( + this_HEX_0=RULE_HEX + { + $current.merge(this_HEX_0); + } + { + newLeafNode(this_HEX_0, grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); + } + | + ( + ( + this_INT_1=RULE_INT + { + $current.merge(this_INT_1); + } + { + newLeafNode(this_INT_1, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); + } + | + this_DECIMAL_2=RULE_DECIMAL + { + $current.merge(this_DECIMAL_2); + } + { + newLeafNode(this_DECIMAL_2, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); + } + ) + ( + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); + } + ( + this_INT_4=RULE_INT + { + $current.merge(this_INT_4); + } + { + newLeafNode(this_INT_4, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); + } + | + this_DECIMAL_5=RULE_DECIMAL + { + $current.merge(this_DECIMAL_5); + } + { + newLeafNode(this_DECIMAL_5, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); + } + ) + )? + ) + ) +; +finally { + myHiddenTokenState.restore(); +} + +// Entry rule entryRuleJvmTypeReference +entryRuleJvmTypeReference returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmTypeReferenceRule()); } + iv_ruleJvmTypeReference=ruleJvmTypeReference + { $current=$iv_ruleJvmTypeReference.current; } + EOF; + +// Rule JvmTypeReference +ruleJvmTypeReference returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); + } + this_JvmParameterizedTypeReference_0=ruleJvmParameterizedTypeReference + { + $current = $this_JvmParameterizedTypeReference_0.current; + afterParserOrEnumRuleCall(); + } + ( + (( + ( + ) + ruleArrayBrackets + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0(), + $current); + } + ) + { + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); + } + ruleArrayBrackets + { + afterParserOrEnumRuleCall(); + } + ) + )* + ) + | + { + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); + } + this_XFunctionTypeRef_3=ruleXFunctionTypeRef + { + $current = $this_XFunctionTypeRef_3.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleArrayBrackets +entryRuleArrayBrackets returns [String current=null]: + { newCompositeNode(grammarAccess.getArrayBracketsRule()); } + iv_ruleArrayBrackets=ruleArrayBrackets + { $current=$iv_ruleArrayBrackets.current.getText(); } + EOF; + +// Rule ArrayBrackets +ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='[' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); + } + kw=']' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); + } + ) +; + +// Entry rule entryRuleXFunctionTypeRef +entryRuleXFunctionTypeRef returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXFunctionTypeRefRule()); } + iv_ruleXFunctionTypeRef=ruleXFunctionTypeRef + { $current=$iv_ruleXFunctionTypeRef.current; } + EOF; + +// Rule XFunctionTypeRef +ruleXFunctionTypeRef returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + otherlv_0='(' + { + newLeafNode(otherlv_0, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); + } + lv_paramTypes_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + add( + $current, + "paramTypes", + lv_paramTypes_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=',' + { + newLeafNode(otherlv_2, grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); + } + lv_paramTypes_3_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + add( + $current, + "paramTypes", + lv_paramTypes_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_4=')' + { + newLeafNode(otherlv_4, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); + } + )? + otherlv_5='=>' + { + newLeafNode(otherlv_5, grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); + } + lv_returnType_6_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + set( + $current, + "returnType", + lv_returnType_6_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleJvmParameterizedTypeReference +entryRuleJvmParameterizedTypeReference returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceRule()); } + iv_ruleJvmParameterizedTypeReference=ruleJvmParameterizedTypeReference + { $current=$iv_ruleJvmParameterizedTypeReference.current; } + EOF; + +// Rule JvmParameterizedTypeReference +ruleJvmParameterizedTypeReference returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + } + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ('<')=> + otherlv_1='<' + { + newLeafNode(otherlv_1, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + } + lv_arguments_2_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + $current, + "arguments", + lv_arguments_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + } + lv_arguments_4_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + $current, + "arguments", + lv_arguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_5='>' + { + newLeafNode(otherlv_5, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); + } + ( + ( + (( + ( + ) + '.' + ) + )=> + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0(), + $current); + } + ) + otherlv_7='.' + { + newLeafNode(otherlv_7, grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); + } + ) + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + } + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); + } + ruleValidID + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ('<')=> + otherlv_9='<' + { + newLeafNode(otherlv_9, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); + } + lv_arguments_10_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + $current, + "arguments", + lv_arguments_10_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_11=',' + { + newLeafNode(otherlv_11, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); + } + lv_arguments_12_0=ruleJvmArgumentTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + $current, + "arguments", + lv_arguments_12_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_13='>' + { + newLeafNode(otherlv_13, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); + } + )? + )* + )? + ) +; + +// Entry rule entryRuleJvmArgumentTypeReference +entryRuleJvmArgumentTypeReference returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceRule()); } + iv_ruleJvmArgumentTypeReference=ruleJvmArgumentTypeReference + { $current=$iv_ruleJvmArgumentTypeReference.current; } + EOF; + +// Rule JvmArgumentTypeReference +ruleJvmArgumentTypeReference returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); + } + this_JvmTypeReference_0=ruleJvmTypeReference + { + $current = $this_JvmTypeReference_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); + } + this_JvmWildcardTypeReference_1=ruleJvmWildcardTypeReference + { + $current = $this_JvmWildcardTypeReference_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleJvmWildcardTypeReference +entryRuleJvmWildcardTypeReference returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceRule()); } + iv_ruleJvmWildcardTypeReference=ruleJvmWildcardTypeReference + { $current=$iv_ruleJvmWildcardTypeReference.current; } + EOF; + +// Rule JvmWildcardTypeReference +ruleJvmWildcardTypeReference returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0(), + $current); + } + ) + otherlv_1='?' + { + newLeafNode(otherlv_1, grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); + } + ( + ( + ( + ( + { + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); + } + lv_constraints_2_0=ruleJvmUpperBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + $current, + "constraints", + lv_constraints_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmUpperBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); + } + lv_constraints_3_0=ruleJvmUpperBoundAnded + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + $current, + "constraints", + lv_constraints_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmUpperBoundAnded"); + afterParserOrEnumRuleCall(); + } + ) + )* + ) + | + ( + ( + ( + { + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); + } + lv_constraints_4_0=ruleJvmLowerBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + $current, + "constraints", + lv_constraints_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmLowerBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); + } + lv_constraints_5_0=ruleJvmLowerBoundAnded + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + $current, + "constraints", + lv_constraints_5_0, + "org.eclipse.xtext.xbase.Xtype.JvmLowerBoundAnded"); + afterParserOrEnumRuleCall(); + } + ) + )* + ) + )? + ) +; + +// Entry rule entryRuleJvmUpperBound +entryRuleJvmUpperBound returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmUpperBoundRule()); } + iv_ruleJvmUpperBound=ruleJvmUpperBound + { $current=$iv_ruleJvmUpperBound.current; } + EOF; + +// Rule JvmUpperBound +ruleJvmUpperBound returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='extends' + { + newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + lv_typeReference_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmUpperBoundRule()); + } + set( + $current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleJvmUpperBoundAnded +entryRuleJvmUpperBoundAnded returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmUpperBoundAndedRule()); } + iv_ruleJvmUpperBoundAnded=ruleJvmUpperBoundAnded + { $current=$iv_ruleJvmUpperBoundAnded.current; } + EOF; + +// Rule JvmUpperBoundAnded +ruleJvmUpperBoundAnded returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='&' + { + newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + lv_typeReference_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmUpperBoundAndedRule()); + } + set( + $current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleJvmLowerBound +entryRuleJvmLowerBound returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmLowerBoundRule()); } + iv_ruleJvmLowerBound=ruleJvmLowerBound + { $current=$iv_ruleJvmLowerBound.current; } + EOF; + +// Rule JvmLowerBound +ruleJvmLowerBound returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='super' + { + newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + lv_typeReference_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmLowerBoundRule()); + } + set( + $current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleJvmLowerBoundAnded +entryRuleJvmLowerBoundAnded returns [EObject current=null]: + { newCompositeNode(grammarAccess.getJvmLowerBoundAndedRule()); } + iv_ruleJvmLowerBoundAnded=ruleJvmLowerBoundAnded + { $current=$iv_ruleJvmLowerBoundAnded.current; } + EOF; + +// Rule JvmLowerBoundAnded +ruleJvmLowerBoundAnded returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='&' + { + newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + } + lv_typeReference_1_0=ruleJvmTypeReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getJvmLowerBoundAndedRule()); + } + set( + $current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleQualifiedNameWithWildcard +entryRuleQualifiedNameWithWildcard returns [String current=null]: + { newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); } + iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard + { $current=$iv_ruleQualifiedNameWithWildcard.current.getText(); } + EOF; + +// Rule QualifiedNameWithWildcard +ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); + } + this_QualifiedName_0=ruleQualifiedName + { + $current.merge(this_QualifiedName_0); + } + { + afterParserOrEnumRuleCall(); + } + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); + } + kw='*' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); + } + ) +; + +// Entry rule entryRuleValidID +entryRuleValidID returns [String current=null]: + { newCompositeNode(grammarAccess.getValidIDRule()); } + iv_ruleValidID=ruleValidID + { $current=$iv_ruleValidID.current.getText(); } + EOF; + +// Rule ValidID +ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + this_ID_0=RULE_ID + { + $current.merge(this_ID_0); + } + { + newLeafNode(this_ID_0, grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); + } +; + +// Entry rule entryRuleXImportDeclaration +entryRuleXImportDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXImportDeclarationRule()); } + iv_ruleXImportDeclaration=ruleXImportDeclaration + { $current=$iv_ruleXImportDeclaration.current; } + EOF; + +// Rule XImportDeclaration +ruleXImportDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='import' + { + newLeafNode(otherlv_0, grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); + } + ( + ( + ( + ( + lv_static_1_0='static' + { + newLeafNode(lv_static_1_0, grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed($current, "static", lv_static_1_0 != null, "static"); + } + ) + ) + ( + ( + lv_extension_2_0='extension' + { + newLeafNode(lv_extension_2_0, grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed($current, "extension", lv_extension_2_0 != null, "extension"); + } + ) + )? + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + } + { + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); + } + ruleQualifiedNameInStaticImport + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ( + lv_wildcard_4_0='*' + { + newLeafNode(lv_wildcard_4_0, grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed($current, "wildcard", lv_wildcard_4_0 != null, "*"); + } + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); + } + lv_memberName_5_0=ruleValidID + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXImportDeclarationRule()); + } + set( + $current, + "memberName", + lv_memberName_5_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + | + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + } + { + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); + } + lv_importedNamespace_7_0=ruleQualifiedNameWithWildcard + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXImportDeclarationRule()); + } + set( + $current, + "importedNamespace", + lv_importedNamespace_7_0, + "org.eclipse.xtext.xbase.Xtype.QualifiedNameWithWildcard"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ( + otherlv_8=';' + { + newLeafNode(otherlv_8, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); + } + )? + ) +; + +// Entry rule entryRuleQualifiedNameInStaticImport +entryRuleQualifiedNameInStaticImport returns [String current=null]: + { newCompositeNode(grammarAccess.getQualifiedNameInStaticImportRule()); } + iv_ruleQualifiedNameInStaticImport=ruleQualifiedNameInStaticImport + { $current=$iv_ruleQualifiedNameInStaticImport.current.getText(); } + EOF; + +// Rule QualifiedNameInStaticImport +ruleQualifiedNameInStaticImport returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); + } + this_ValidID_0=ruleValidID + { + $current.merge(this_ValidID_0); + } + { + afterParserOrEnumRuleCall(); + } + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); + } + )+ +; + // Rule Casing ruleCasing returns [Enumerator current=null] @init { @@ -4624,11 +10906,15 @@ ruleCasing returns [Enumerator current=null] RULE_REAL : ('0'..'9')* '.' ('0'..'9')*; -RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; +RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F'|'_')+ ('#' (('b'|'B') ('i'|'I')|('l'|'L')))?; + +RULE_INT : '0'..'9' ('0'..'9'|'_')*; + +RULE_DECIMAL : RULE_INT (('e'|'E') ('+'|'-')? RULE_INT)? (('b'|'B') ('i'|'I'|'d'|'D')|('l'|'L'|'d'|'D'|'f'|'F'))?; -RULE_INT : ('0'..'9')+; +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'$'|'_') ('a'..'z'|'A'..'Z'|'$'|'_'|'0'..'9')*; -RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\''); +RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'?|'\'' ('\\' .|~(('\\'|'\'')))* '\''?); RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; diff --git a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/parser/antlr/internal/InternalScope.tokens b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/parser/antlr/internal/InternalScope.tokens index fca4fcb8ef..10e085ceb1 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/parser/antlr/internal/InternalScope.tokens +++ b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/parser/antlr/internal/InternalScope.tokens @@ -1,88 +1,145 @@ -'!'=67 -'!='=59 -'#'=27 -'&&'=56 -'('=25 -')'=26 -'*'=30 -'+'=64 -','=35 -'-'=65 -'->'=48 -'.'=45 -'/'=66 -':'=47 -'::'=44 -';'=23 -'<'=63 -'<='=61 -'='=22 -'=='=58 -'>'=62 -'>='=60 -'>>'=29 -'?'=49 -'Collection'=82 -'GLOBALVAR'=80 -'List'=83 -'Set'=84 -'['=31 -']'=32 -'as'=15 -'case'=18 -'collect'=69 -'context'=28 -'data'=40 -'default'=54 -'domains'=41 -'else'=52 -'exists'=73 -'export'=43 -'extension'=16 -'factory'=33 -'false'=78 -'find'=36 -'forAll'=76 -'if'=50 -'implies'=57 -'import'=14 -'inject'=17 -'insensitive'=86 -'key'=37 -'let'=46 -'naming'=19 -'new'=81 -'notExists'=74 -'null'=79 -'prefix'=39 -'recursive'=38 -'reject'=72 -'scope'=24 -'scopeof'=34 -'scoping'=12 -'select'=70 -'selectFirst'=71 -'sensitive'=85 -'sortBy'=75 -'switch'=53 -'then'=51 -'true'=77 -'typeSelect'=68 -'with'=13 -'{'=20 -'|'=42 -'||'=55 -'}'=21 -RULE_ANY_OTHER=11 +'!'=69 +'!='=61 +'!=='=93 +'#'=29 +'%'=101 +'%='=91 +'&&'=58 +'&'=120 +'('=27 +')'=28 +'*'=32 +'**'=100 +'*='=89 +'+'=66 +'++'=102 +'+='=87 +','=37 +'-'=67 +'--'=103 +'-='=88 +'->'=50 +'.'=47 +'..'=96 +'..<'=95 +'/'=68 +'/='=90 +':'=49 +'::'=46 +';'=25 +'<'=65 +'<='=63 +'<>'=98 +'='=24 +'=='=60 +'==='=92 +'=>'=97 +'>'=64 +'>='=62 +'>>'=31 +'?'=51 +'?.'=104 +'?:'=99 +'Collection'=84 +'GLOBALVAR'=82 +'List'=85 +'Set'=86 +'['=33 +']'=34 +'as'=17 +'case'=20 +'catch'=119 +'collect'=71 +'context'=30 +'data'=42 +'default'=56 +'do'=107 +'domains'=43 +'else'=54 +'exists'=75 +'export'=45 +'extends'=110 +'extension'=18 +'factory'=35 +'false'=80 +'finally'=117 +'find'=38 +'for'=105 +'forAll'=78 +'if'=52 +'implies'=59 +'import'=16 +'inject'=19 +'insensitive'=122 +'instanceof'=94 +'key'=39 +'let'=48 +'naming'=21 +'new'=83 +'notExists'=76 +'null'=81 +'prefix'=41 +'recursive'=40 +'reject'=74 +'return'=115 +'scope'=26 +'scopeof'=36 +'scoping'=14 +'select'=72 +'selectFirst'=73 +'sensitive'=121 +'sortBy'=77 +'static'=111 +'super'=112 +'switch'=55 +'synchronized'=118 +'then'=53 +'throw'=114 +'true'=79 +'try'=116 +'typeSelect'=70 +'typeof'=113 +'val'=109 +'var'=108 +'while'=106 +'with'=15 +'{'=22 +'|'=44 +'||'=57 +'}'=23 +RULE_ANY_OTHER=13 +RULE_DECIMAL=9 +RULE_HEX=8 RULE_ID=7 RULE_INT=5 -RULE_ML_COMMENT=8 +RULE_ML_COMMENT=10 RULE_REAL=6 -RULE_SL_COMMENT=9 +RULE_SL_COMMENT=11 RULE_STRING=4 -RULE_WS=10 -T__12=12 -T__13=13 +RULE_WS=12 +T__100=100 +T__101=101 +T__102=102 +T__103=103 +T__104=104 +T__105=105 +T__106=106 +T__107=107 +T__108=108 +T__109=109 +T__110=110 +T__111=111 +T__112=112 +T__113=113 +T__114=114 +T__115=115 +T__116=116 +T__117=117 +T__118=118 +T__119=119 +T__120=120 +T__121=121 +T__122=122 T__14=14 T__15=15 T__16=16 @@ -156,3 +213,16 @@ T__83=83 T__84=84 T__85=85 T__86=86 +T__87=87 +T__88=88 +T__89=89 +T__90=90 +T__91=91 +T__92=92 +T__93=93 +T__94=94 +T__95=95 +T__96=96 +T__97=97 +T__98=98 +T__99=99 diff --git a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/parser/antlr/internal/InternalScopeLexer.java b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/parser/antlr/internal/InternalScopeLexer.java index 38e7d80ffa..e63e63c2e2 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/parser/antlr/internal/InternalScopeLexer.java +++ b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/parser/antlr/internal/InternalScopeLexer.java @@ -12,19 +12,12 @@ @SuppressWarnings("all") public class InternalScopeLexer extends Lexer { + public static final int RULE_HEX=8; public static final int T__50=50; - public static final int T__19=19; - public static final int T__15=15; public static final int T__59=59; - public static final int T__16=16; - public static final int T__17=17; - public static final int T__18=18; public static final int T__55=55; - public static final int T__12=12; public static final int T__56=56; - public static final int T__13=13; public static final int T__57=57; - public static final int T__14=14; public static final int T__58=58; public static final int T__51=51; public static final int T__52=52; @@ -34,55 +27,26 @@ public class InternalScopeLexer extends Lexer { public static final int T__61=61; public static final int RULE_ID=7; public static final int RULE_REAL=6; - public static final int T__26=26; - public static final int T__27=27; - public static final int T__28=28; public static final int RULE_INT=5; - public static final int T__29=29; - public static final int T__22=22; public static final int T__66=66; - public static final int RULE_ML_COMMENT=8; - public static final int T__23=23; + public static final int RULE_ML_COMMENT=10; public static final int T__67=67; - public static final int T__24=24; public static final int T__68=68; - public static final int T__25=25; public static final int T__69=69; public static final int T__62=62; public static final int T__63=63; - public static final int T__20=20; public static final int T__64=64; - public static final int T__21=21; public static final int T__65=65; - public static final int T__70=70; - public static final int T__71=71; - public static final int T__72=72; - public static final int RULE_STRING=4; - public static final int RULE_SL_COMMENT=9; public static final int T__37=37; public static final int T__38=38; public static final int T__39=39; public static final int T__33=33; - public static final int T__77=77; public static final int T__34=34; - public static final int T__78=78; public static final int T__35=35; - public static final int T__79=79; public static final int T__36=36; - public static final int T__73=73; - public static final int EOF=-1; public static final int T__30=30; - public static final int T__74=74; public static final int T__31=31; - public static final int T__75=75; public static final int T__32=32; - public static final int T__76=76; - public static final int T__80=80; - public static final int T__81=81; - public static final int T__82=82; - public static final int T__83=83; - public static final int RULE_WS=10; - public static final int RULE_ANY_OTHER=11; public static final int T__48=48; public static final int T__49=49; public static final int T__44=44; @@ -90,12 +54,84 @@ public class InternalScopeLexer extends Lexer { public static final int T__46=46; public static final int T__47=47; public static final int T__40=40; - public static final int T__84=84; public static final int T__41=41; - public static final int T__85=85; public static final int T__42=42; - public static final int T__86=86; public static final int T__43=43; + public static final int T__91=91; + public static final int T__100=100; + public static final int T__92=92; + public static final int T__93=93; + public static final int T__102=102; + public static final int T__94=94; + public static final int T__101=101; + public static final int T__90=90; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__99=99; + public static final int T__14=14; + public static final int T__95=95; + public static final int T__96=96; + public static final int T__97=97; + public static final int T__98=98; + public static final int RULE_DECIMAL=9; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int T__29=29; + public static final int T__22=22; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + public static final int T__122=122; + public static final int T__70=70; + public static final int T__121=121; + public static final int T__71=71; + public static final int T__72=72; + public static final int T__120=120; + public static final int RULE_STRING=4; + public static final int RULE_SL_COMMENT=11; + public static final int T__77=77; + public static final int T__119=119; + public static final int T__78=78; + public static final int T__118=118; + public static final int T__79=79; + public static final int T__73=73; + public static final int T__115=115; + public static final int EOF=-1; + public static final int T__74=74; + public static final int T__114=114; + public static final int T__75=75; + public static final int T__117=117; + public static final int T__76=76; + public static final int T__116=116; + public static final int T__80=80; + public static final int T__111=111; + public static final int T__81=81; + public static final int T__110=110; + public static final int T__82=82; + public static final int T__113=113; + public static final int T__83=83; + public static final int T__112=112; + public static final int RULE_WS=12; + public static final int RULE_ANY_OTHER=13; + public static final int T__88=88; + public static final int T__108=108; + public static final int T__89=89; + public static final int T__107=107; + public static final int T__109=109; + public static final int T__84=84; + public static final int T__104=104; + public static final int T__85=85; + public static final int T__103=103; + public static final int T__86=86; + public static final int T__106=106; + public static final int T__87=87; + public static final int T__105=105; // delegates // delegators @@ -110,57 +146,15 @@ public InternalScopeLexer(CharStream input, RecognizerSharedState state) { } public String getGrammarFileName() { return "InternalScope.g"; } - // $ANTLR start "T__12" - public final void mT__12() throws RecognitionException { - try { - int _type = T__12; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:11:7: ( 'scoping' ) - // InternalScope.g:11:9: 'scoping' - { - match("scoping"); - - - } - - 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; - // InternalScope.g:12:7: ( 'with' ) - // InternalScope.g:12:9: 'with' - { - match("with"); - - - } - - 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; - // InternalScope.g:13:7: ( 'import' ) - // InternalScope.g:13:9: 'import' + // InternalScope.g:11:7: ( 'scoping' ) + // InternalScope.g:11:9: 'scoping' { - match("import"); + match("scoping"); } @@ -178,10 +172,10 @@ public final void mT__15() throws RecognitionException { try { int _type = T__15; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:14:7: ( 'as' ) - // InternalScope.g:14:9: 'as' + // InternalScope.g:12:7: ( 'with' ) + // InternalScope.g:12:9: 'with' { - match("as"); + match("with"); } @@ -199,10 +193,10 @@ public final void mT__16() throws RecognitionException { try { int _type = T__16; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:15:7: ( 'extension' ) - // InternalScope.g:15:9: 'extension' + // InternalScope.g:13:7: ( 'import' ) + // InternalScope.g:13:9: 'import' { - match("extension"); + match("import"); } @@ -220,10 +214,10 @@ public final void mT__17() throws RecognitionException { try { int _type = T__17; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:16:7: ( 'inject' ) - // InternalScope.g:16:9: 'inject' + // InternalScope.g:14:7: ( 'as' ) + // InternalScope.g:14:9: 'as' { - match("inject"); + match("as"); } @@ -241,10 +235,10 @@ public final void mT__18() throws RecognitionException { try { int _type = T__18; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:17:7: ( 'case' ) - // InternalScope.g:17:9: 'case' + // InternalScope.g:15:7: ( 'extension' ) + // InternalScope.g:15:9: 'extension' { - match("case"); + match("extension"); } @@ -262,10 +256,10 @@ public final void mT__19() throws RecognitionException { try { int _type = T__19; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:18:7: ( 'naming' ) - // InternalScope.g:18:9: 'naming' + // InternalScope.g:16:7: ( 'inject' ) + // InternalScope.g:16:9: 'inject' { - match("naming"); + match("inject"); } @@ -283,10 +277,11 @@ public final void mT__20() throws RecognitionException { try { int _type = T__20; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:19:7: ( '{' ) - // InternalScope.g:19:9: '{' + // InternalScope.g:17:7: ( 'case' ) + // InternalScope.g:17:9: 'case' { - match('{'); + match("case"); + } @@ -303,10 +298,11 @@ public final void mT__21() throws RecognitionException { try { int _type = T__21; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:20:7: ( '}' ) - // InternalScope.g:20:9: '}' + // InternalScope.g:18:7: ( 'naming' ) + // InternalScope.g:18:9: 'naming' { - match('}'); + match("naming"); + } @@ -323,10 +319,10 @@ public final void mT__22() throws RecognitionException { try { int _type = T__22; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:21:7: ( '=' ) - // InternalScope.g:21:9: '=' + // InternalScope.g:19:7: ( '{' ) + // InternalScope.g:19:9: '{' { - match('='); + match('{'); } @@ -343,10 +339,10 @@ public final void mT__23() throws RecognitionException { try { int _type = T__23; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:22:7: ( ';' ) - // InternalScope.g:22:9: ';' + // InternalScope.g:20:7: ( '}' ) + // InternalScope.g:20:9: '}' { - match(';'); + match('}'); } @@ -363,11 +359,10 @@ public final void mT__24() throws RecognitionException { try { int _type = T__24; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:23:7: ( 'scope' ) - // InternalScope.g:23:9: 'scope' + // InternalScope.g:21:7: ( '=' ) + // InternalScope.g:21:9: '=' { - match("scope"); - + match('='); } @@ -384,10 +379,10 @@ public final void mT__25() throws RecognitionException { try { int _type = T__25; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:24:7: ( '(' ) - // InternalScope.g:24:9: '(' + // InternalScope.g:22:7: ( ';' ) + // InternalScope.g:22:9: ';' { - match('('); + match(';'); } @@ -404,10 +399,11 @@ public final void mT__26() throws RecognitionException { try { int _type = T__26; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:25:7: ( ')' ) - // InternalScope.g:25:9: ')' + // InternalScope.g:23:7: ( 'scope' ) + // InternalScope.g:23:9: 'scope' { - match(')'); + match("scope"); + } @@ -424,10 +420,10 @@ public final void mT__27() throws RecognitionException { try { int _type = T__27; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:26:7: ( '#' ) - // InternalScope.g:26:9: '#' + // InternalScope.g:24:7: ( '(' ) + // InternalScope.g:24:9: '(' { - match('#'); + match('('); } @@ -444,11 +440,10 @@ public final void mT__28() throws RecognitionException { try { int _type = T__28; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:27:7: ( 'context' ) - // InternalScope.g:27:9: 'context' + // InternalScope.g:25:7: ( ')' ) + // InternalScope.g:25:9: ')' { - match("context"); - + match(')'); } @@ -465,11 +460,10 @@ public final void mT__29() throws RecognitionException { try { int _type = T__29; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:28:7: ( '>>' ) - // InternalScope.g:28:9: '>>' + // InternalScope.g:26:7: ( '#' ) + // InternalScope.g:26:9: '#' { - match(">>"); - + match('#'); } @@ -486,10 +480,11 @@ public final void mT__30() throws RecognitionException { try { int _type = T__30; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:29:7: ( '*' ) - // InternalScope.g:29:9: '*' + // InternalScope.g:27:7: ( 'context' ) + // InternalScope.g:27:9: 'context' { - match('*'); + match("context"); + } @@ -506,10 +501,11 @@ public final void mT__31() throws RecognitionException { try { int _type = T__31; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:30:7: ( '[' ) - // InternalScope.g:30:9: '[' + // InternalScope.g:28:7: ( '>>' ) + // InternalScope.g:28:9: '>>' { - match('['); + match(">>"); + } @@ -526,10 +522,10 @@ public final void mT__32() throws RecognitionException { try { int _type = T__32; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:31:7: ( ']' ) - // InternalScope.g:31:9: ']' + // InternalScope.g:29:7: ( '*' ) + // InternalScope.g:29:9: '*' { - match(']'); + match('*'); } @@ -546,11 +542,10 @@ public final void mT__33() throws RecognitionException { try { int _type = T__33; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:32:7: ( 'factory' ) - // InternalScope.g:32:9: 'factory' + // InternalScope.g:30:7: ( '[' ) + // InternalScope.g:30:9: '[' { - match("factory"); - + match('['); } @@ -567,11 +562,10 @@ public final void mT__34() throws RecognitionException { try { int _type = T__34; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:33:7: ( 'scopeof' ) - // InternalScope.g:33:9: 'scopeof' + // InternalScope.g:31:7: ( ']' ) + // InternalScope.g:31:9: ']' { - match("scopeof"); - + match(']'); } @@ -588,10 +582,11 @@ public final void mT__35() throws RecognitionException { try { int _type = T__35; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:34:7: ( ',' ) - // InternalScope.g:34:9: ',' + // InternalScope.g:32:7: ( 'factory' ) + // InternalScope.g:32:9: 'factory' { - match(','); + match("factory"); + } @@ -608,10 +603,10 @@ public final void mT__36() throws RecognitionException { try { int _type = T__36; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:35:7: ( 'find' ) - // InternalScope.g:35:9: 'find' + // InternalScope.g:33:7: ( 'scopeof' ) + // InternalScope.g:33:9: 'scopeof' { - match("find"); + match("scopeof"); } @@ -629,11 +624,10 @@ public final void mT__37() throws RecognitionException { try { int _type = T__37; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:36:7: ( 'key' ) - // InternalScope.g:36:9: 'key' - { - match("key"); - + // InternalScope.g:34:7: ( ',' ) + // InternalScope.g:34:9: ',' + { + match(','); } @@ -650,10 +644,10 @@ public final void mT__38() throws RecognitionException { try { int _type = T__38; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:37:7: ( 'recursive' ) - // InternalScope.g:37:9: 'recursive' + // InternalScope.g:35:7: ( 'find' ) + // InternalScope.g:35:9: 'find' { - match("recursive"); + match("find"); } @@ -671,10 +665,10 @@ public final void mT__39() throws RecognitionException { try { int _type = T__39; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:38:7: ( 'prefix' ) - // InternalScope.g:38:9: 'prefix' + // InternalScope.g:36:7: ( 'key' ) + // InternalScope.g:36:9: 'key' { - match("prefix"); + match("key"); } @@ -692,10 +686,10 @@ public final void mT__40() throws RecognitionException { try { int _type = T__40; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:39:7: ( 'data' ) - // InternalScope.g:39:9: 'data' + // InternalScope.g:37:7: ( 'recursive' ) + // InternalScope.g:37:9: 'recursive' { - match("data"); + match("recursive"); } @@ -713,10 +707,10 @@ public final void mT__41() throws RecognitionException { try { int _type = T__41; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:40:7: ( 'domains' ) - // InternalScope.g:40:9: 'domains' + // InternalScope.g:38:7: ( 'prefix' ) + // InternalScope.g:38:9: 'prefix' { - match("domains"); + match("prefix"); } @@ -734,10 +728,11 @@ public final void mT__42() throws RecognitionException { try { int _type = T__42; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:41:7: ( '|' ) - // InternalScope.g:41:9: '|' + // InternalScope.g:39:7: ( 'data' ) + // InternalScope.g:39:9: 'data' { - match('|'); + match("data"); + } @@ -754,10 +749,10 @@ public final void mT__43() throws RecognitionException { try { int _type = T__43; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:42:7: ( 'export' ) - // InternalScope.g:42:9: 'export' + // InternalScope.g:40:7: ( 'domains' ) + // InternalScope.g:40:9: 'domains' { - match("export"); + match("domains"); } @@ -775,11 +770,10 @@ public final void mT__44() throws RecognitionException { try { int _type = T__44; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:43:7: ( '::' ) - // InternalScope.g:43:9: '::' + // InternalScope.g:41:7: ( '|' ) + // InternalScope.g:41:9: '|' { - match("::"); - + match('|'); } @@ -796,10 +790,11 @@ public final void mT__45() throws RecognitionException { try { int _type = T__45; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:44:7: ( '.' ) - // InternalScope.g:44:9: '.' + // InternalScope.g:42:7: ( 'export' ) + // InternalScope.g:42:9: 'export' { - match('.'); + match("export"); + } @@ -816,10 +811,10 @@ public final void mT__46() throws RecognitionException { try { int _type = T__46; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:45:7: ( 'let' ) - // InternalScope.g:45:9: 'let' + // InternalScope.g:43:7: ( '::' ) + // InternalScope.g:43:9: '::' { - match("let"); + match("::"); } @@ -837,10 +832,10 @@ public final void mT__47() throws RecognitionException { try { int _type = T__47; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:46:7: ( ':' ) - // InternalScope.g:46:9: ':' + // InternalScope.g:44:7: ( '.' ) + // InternalScope.g:44:9: '.' { - match(':'); + match('.'); } @@ -857,10 +852,10 @@ public final void mT__48() throws RecognitionException { try { int _type = T__48; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:47:7: ( '->' ) - // InternalScope.g:47:9: '->' + // InternalScope.g:45:7: ( 'let' ) + // InternalScope.g:45:9: 'let' { - match("->"); + match("let"); } @@ -878,10 +873,10 @@ public final void mT__49() throws RecognitionException { try { int _type = T__49; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:48:7: ( '?' ) - // InternalScope.g:48:9: '?' + // InternalScope.g:46:7: ( ':' ) + // InternalScope.g:46:9: ':' { - match('?'); + match(':'); } @@ -898,10 +893,10 @@ public final void mT__50() throws RecognitionException { try { int _type = T__50; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:49:7: ( 'if' ) - // InternalScope.g:49:9: 'if' + // InternalScope.g:47:7: ( '->' ) + // InternalScope.g:47:9: '->' { - match("if"); + match("->"); } @@ -919,11 +914,10 @@ public final void mT__51() throws RecognitionException { try { int _type = T__51; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:50:7: ( 'then' ) - // InternalScope.g:50:9: 'then' + // InternalScope.g:48:7: ( '?' ) + // InternalScope.g:48:9: '?' { - match("then"); - + match('?'); } @@ -940,10 +934,10 @@ public final void mT__52() throws RecognitionException { try { int _type = T__52; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:51:7: ( 'else' ) - // InternalScope.g:51:9: 'else' + // InternalScope.g:49:7: ( 'if' ) + // InternalScope.g:49:9: 'if' { - match("else"); + match("if"); } @@ -961,10 +955,10 @@ public final void mT__53() throws RecognitionException { try { int _type = T__53; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:52:7: ( 'switch' ) - // InternalScope.g:52:9: 'switch' + // InternalScope.g:50:7: ( 'then' ) + // InternalScope.g:50:9: 'then' { - match("switch"); + match("then"); } @@ -982,10 +976,10 @@ public final void mT__54() throws RecognitionException { try { int _type = T__54; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:53:7: ( 'default' ) - // InternalScope.g:53:9: 'default' + // InternalScope.g:51:7: ( 'else' ) + // InternalScope.g:51:9: 'else' { - match("default"); + match("else"); } @@ -1003,10 +997,10 @@ public final void mT__55() throws RecognitionException { try { int _type = T__55; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:54:7: ( '||' ) - // InternalScope.g:54:9: '||' + // InternalScope.g:52:7: ( 'switch' ) + // InternalScope.g:52:9: 'switch' { - match("||"); + match("switch"); } @@ -1024,10 +1018,10 @@ public final void mT__56() throws RecognitionException { try { int _type = T__56; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:55:7: ( '&&' ) - // InternalScope.g:55:9: '&&' + // InternalScope.g:53:7: ( 'default' ) + // InternalScope.g:53:9: 'default' { - match("&&"); + match("default"); } @@ -1045,10 +1039,10 @@ public final void mT__57() throws RecognitionException { try { int _type = T__57; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:56:7: ( 'implies' ) - // InternalScope.g:56:9: 'implies' + // InternalScope.g:54:7: ( '||' ) + // InternalScope.g:54:9: '||' { - match("implies"); + match("||"); } @@ -1066,10 +1060,10 @@ public final void mT__58() throws RecognitionException { try { int _type = T__58; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:57:7: ( '==' ) - // InternalScope.g:57:9: '==' + // InternalScope.g:55:7: ( '&&' ) + // InternalScope.g:55:9: '&&' { - match("=="); + match("&&"); } @@ -1087,10 +1081,10 @@ public final void mT__59() throws RecognitionException { try { int _type = T__59; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:58:7: ( '!=' ) - // InternalScope.g:58:9: '!=' + // InternalScope.g:56:7: ( 'implies' ) + // InternalScope.g:56:9: 'implies' { - match("!="); + match("implies"); } @@ -1108,10 +1102,10 @@ public final void mT__60() throws RecognitionException { try { int _type = T__60; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:59:7: ( '>=' ) - // InternalScope.g:59:9: '>=' + // InternalScope.g:57:7: ( '==' ) + // InternalScope.g:57:9: '==' { - match(">="); + match("=="); } @@ -1129,10 +1123,10 @@ public final void mT__61() throws RecognitionException { try { int _type = T__61; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:60:7: ( '<=' ) - // InternalScope.g:60:9: '<=' + // InternalScope.g:58:7: ( '!=' ) + // InternalScope.g:58:9: '!=' { - match("<="); + match("!="); } @@ -1150,10 +1144,11 @@ public final void mT__62() throws RecognitionException { try { int _type = T__62; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:61:7: ( '>' ) - // InternalScope.g:61:9: '>' + // InternalScope.g:59:7: ( '>=' ) + // InternalScope.g:59:9: '>=' { - match('>'); + match(">="); + } @@ -1170,10 +1165,11 @@ public final void mT__63() throws RecognitionException { try { int _type = T__63; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:62:7: ( '<' ) - // InternalScope.g:62:9: '<' + // InternalScope.g:60:7: ( '<=' ) + // InternalScope.g:60:9: '<=' { - match('<'); + match("<="); + } @@ -1190,10 +1186,10 @@ public final void mT__64() throws RecognitionException { try { int _type = T__64; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:63:7: ( '+' ) - // InternalScope.g:63:9: '+' + // InternalScope.g:61:7: ( '>' ) + // InternalScope.g:61:9: '>' { - match('+'); + match('>'); } @@ -1210,10 +1206,10 @@ public final void mT__65() throws RecognitionException { try { int _type = T__65; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:64:7: ( '-' ) - // InternalScope.g:64:9: '-' + // InternalScope.g:62:7: ( '<' ) + // InternalScope.g:62:9: '<' { - match('-'); + match('<'); } @@ -1230,10 +1226,10 @@ public final void mT__66() throws RecognitionException { try { int _type = T__66; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:65:7: ( '/' ) - // InternalScope.g:65:9: '/' + // InternalScope.g:63:7: ( '+' ) + // InternalScope.g:63:9: '+' { - match('/'); + match('+'); } @@ -1250,10 +1246,10 @@ public final void mT__67() throws RecognitionException { try { int _type = T__67; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:66:7: ( '!' ) - // InternalScope.g:66:9: '!' + // InternalScope.g:64:7: ( '-' ) + // InternalScope.g:64:9: '-' { - match('!'); + match('-'); } @@ -1270,11 +1266,10 @@ public final void mT__68() throws RecognitionException { try { int _type = T__68; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:67:7: ( 'typeSelect' ) - // InternalScope.g:67:9: 'typeSelect' + // InternalScope.g:65:7: ( '/' ) + // InternalScope.g:65:9: '/' { - match("typeSelect"); - + match('/'); } @@ -1291,11 +1286,10 @@ public final void mT__69() throws RecognitionException { try { int _type = T__69; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:68:7: ( 'collect' ) - // InternalScope.g:68:9: 'collect' + // InternalScope.g:66:7: ( '!' ) + // InternalScope.g:66:9: '!' { - match("collect"); - + match('!'); } @@ -1312,10 +1306,10 @@ public final void mT__70() throws RecognitionException { try { int _type = T__70; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:69:7: ( 'select' ) - // InternalScope.g:69:9: 'select' + // InternalScope.g:67:7: ( 'typeSelect' ) + // InternalScope.g:67:9: 'typeSelect' { - match("select"); + match("typeSelect"); } @@ -1333,10 +1327,10 @@ public final void mT__71() throws RecognitionException { try { int _type = T__71; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:70:7: ( 'selectFirst' ) - // InternalScope.g:70:9: 'selectFirst' + // InternalScope.g:68:7: ( 'collect' ) + // InternalScope.g:68:9: 'collect' { - match("selectFirst"); + match("collect"); } @@ -1354,10 +1348,10 @@ public final void mT__72() throws RecognitionException { try { int _type = T__72; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:71:7: ( 'reject' ) - // InternalScope.g:71:9: 'reject' + // InternalScope.g:69:7: ( 'select' ) + // InternalScope.g:69:9: 'select' { - match("reject"); + match("select"); } @@ -1375,10 +1369,10 @@ public final void mT__73() throws RecognitionException { try { int _type = T__73; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:72:7: ( 'exists' ) - // InternalScope.g:72:9: 'exists' + // InternalScope.g:70:7: ( 'selectFirst' ) + // InternalScope.g:70:9: 'selectFirst' { - match("exists"); + match("selectFirst"); } @@ -1396,10 +1390,10 @@ public final void mT__74() throws RecognitionException { try { int _type = T__74; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:73:7: ( 'notExists' ) - // InternalScope.g:73:9: 'notExists' + // InternalScope.g:71:7: ( 'reject' ) + // InternalScope.g:71:9: 'reject' { - match("notExists"); + match("reject"); } @@ -1417,10 +1411,10 @@ public final void mT__75() throws RecognitionException { try { int _type = T__75; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:74:7: ( 'sortBy' ) - // InternalScope.g:74:9: 'sortBy' + // InternalScope.g:72:7: ( 'exists' ) + // InternalScope.g:72:9: 'exists' { - match("sortBy"); + match("exists"); } @@ -1438,10 +1432,10 @@ public final void mT__76() throws RecognitionException { try { int _type = T__76; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:75:7: ( 'forAll' ) - // InternalScope.g:75:9: 'forAll' + // InternalScope.g:73:7: ( 'notExists' ) + // InternalScope.g:73:9: 'notExists' { - match("forAll"); + match("notExists"); } @@ -1459,10 +1453,10 @@ public final void mT__77() throws RecognitionException { try { int _type = T__77; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:76:7: ( 'true' ) - // InternalScope.g:76:9: 'true' + // InternalScope.g:74:7: ( 'sortBy' ) + // InternalScope.g:74:9: 'sortBy' { - match("true"); + match("sortBy"); } @@ -1480,10 +1474,10 @@ public final void mT__78() throws RecognitionException { try { int _type = T__78; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:77:7: ( 'false' ) - // InternalScope.g:77:9: 'false' + // InternalScope.g:75:7: ( 'forAll' ) + // InternalScope.g:75:9: 'forAll' { - match("false"); + match("forAll"); } @@ -1501,10 +1495,10 @@ public final void mT__79() throws RecognitionException { try { int _type = T__79; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:78:7: ( 'null' ) - // InternalScope.g:78:9: 'null' + // InternalScope.g:76:7: ( 'true' ) + // InternalScope.g:76:9: 'true' { - match("null"); + match("true"); } @@ -1522,10 +1516,10 @@ public final void mT__80() throws RecognitionException { try { int _type = T__80; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:79:7: ( 'GLOBALVAR' ) - // InternalScope.g:79:9: 'GLOBALVAR' + // InternalScope.g:77:7: ( 'false' ) + // InternalScope.g:77:9: 'false' { - match("GLOBALVAR"); + match("false"); } @@ -1543,10 +1537,10 @@ public final void mT__81() throws RecognitionException { try { int _type = T__81; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:80:7: ( 'new' ) - // InternalScope.g:80:9: 'new' + // InternalScope.g:78:7: ( 'null' ) + // InternalScope.g:78:9: 'null' { - match("new"); + match("null"); } @@ -1564,10 +1558,10 @@ public final void mT__82() throws RecognitionException { try { int _type = T__82; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:81:7: ( 'Collection' ) - // InternalScope.g:81:9: 'Collection' + // InternalScope.g:79:7: ( 'GLOBALVAR' ) + // InternalScope.g:79:9: 'GLOBALVAR' { - match("Collection"); + match("GLOBALVAR"); } @@ -1585,10 +1579,10 @@ public final void mT__83() throws RecognitionException { try { int _type = T__83; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:82:7: ( 'List' ) - // InternalScope.g:82:9: 'List' + // InternalScope.g:80:7: ( 'new' ) + // InternalScope.g:80:9: 'new' { - match("List"); + match("new"); } @@ -1606,10 +1600,10 @@ public final void mT__84() throws RecognitionException { try { int _type = T__84; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:83:7: ( 'Set' ) - // InternalScope.g:83:9: 'Set' + // InternalScope.g:81:7: ( 'Collection' ) + // InternalScope.g:81:9: 'Collection' { - match("Set"); + match("Collection"); } @@ -1627,10 +1621,10 @@ public final void mT__85() throws RecognitionException { try { int _type = T__85; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:84:7: ( 'sensitive' ) - // InternalScope.g:84:9: 'sensitive' + // InternalScope.g:82:7: ( 'List' ) + // InternalScope.g:82:9: 'List' { - match("sensitive"); + match("List"); } @@ -1648,10 +1642,10 @@ public final void mT__86() throws RecognitionException { try { int _type = T__86; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:85:7: ( 'insensitive' ) - // InternalScope.g:85:9: 'insensitive' + // InternalScope.g:83:7: ( 'Set' ) + // InternalScope.g:83:9: 'Set' { - match("insensitive"); + match("Set"); } @@ -1664,64 +1658,78 @@ public final void mT__86() throws RecognitionException { } // $ANTLR end "T__86" - // $ANTLR start "RULE_REAL" - public final void mRULE_REAL() throws RecognitionException { + // $ANTLR start "T__87" + public final void mT__87() throws RecognitionException { try { - int _type = RULE_REAL; + int _type = T__87; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:4625:11: ( ( '0' .. '9' )* '.' ( '0' .. '9' )* ) - // InternalScope.g:4625:13: ( '0' .. '9' )* '.' ( '0' .. '9' )* + // InternalScope.g:84:7: ( '+=' ) + // InternalScope.g:84:9: '+=' { - // InternalScope.g:4625:13: ( '0' .. '9' )* - loop1: - do { - int alt1=2; - int LA1_0 = input.LA(1); + match("+="); - if ( ((LA1_0>='0' && LA1_0<='9')) ) { - alt1=1; - } + } - switch (alt1) { - case 1 : - // InternalScope.g:4625:14: '0' .. '9' - { - matchRange('0','9'); + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__87" - } - break; + // $ANTLR start "T__88" + public final void mT__88() throws RecognitionException { + try { + int _type = T__88; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:85:7: ( '-=' ) + // InternalScope.g:85:9: '-=' + { + match("-="); - default : - break loop1; - } - } while (true); - match('.'); - // InternalScope.g:4625:29: ( '0' .. '9' )* - loop2: - do { - int alt2=2; - int LA2_0 = input.LA(1); + } - if ( ((LA2_0>='0' && LA2_0<='9')) ) { - alt2=1; - } + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__88" + + // $ANTLR start "T__89" + public final void mT__89() throws RecognitionException { + try { + int _type = T__89; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:86:7: ( '*=' ) + // InternalScope.g:86:9: '*=' + { + match("*="); - switch (alt2) { - case 1 : - // InternalScope.g:4625:30: '0' .. '9' - { - matchRange('0','9'); + } - } - break; + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__89" - default : - break loop2; - } - } while (true); + // $ANTLR start "T__90" + public final void mT__90() throws RecognitionException { + try { + int _type = T__90; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:87:7: ( '/=' ) + // InternalScope.g:87:9: '/=' + { + match("/="); } @@ -1732,75 +1740,101 @@ public final void mRULE_REAL() throws RecognitionException { finally { } } - // $ANTLR end "RULE_REAL" + // $ANTLR end "T__90" - // $ANTLR start "RULE_ID" - public final void mRULE_ID() throws RecognitionException { + // $ANTLR start "T__91" + public final void mT__91() throws RecognitionException { try { - int _type = RULE_ID; + int _type = T__91; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:4627:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalScope.g:4627:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalScope.g:88:7: ( '%=' ) + // InternalScope.g:88:9: '%=' { - // InternalScope.g:4627:11: ( '^' )? - int alt3=2; - int LA3_0 = input.LA(1); + match("%="); + - if ( (LA3_0=='^') ) { - alt3=1; } - switch (alt3) { - case 1 : - // InternalScope.g:4627:11: '^' - { - match('^'); - } - break; + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__91" - } + // $ANTLR start "T__92" + public final void mT__92() throws RecognitionException { + try { + int _type = T__92; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:89:7: ( '===' ) + // InternalScope.g:89:9: '===' + { + match("==="); - 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;} - // InternalScope.g:4627:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* - loop4: - do { - int alt4=2; - int LA4_0 = input.LA(1); + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__92" - if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) { - alt4=1; - } + // $ANTLR start "T__93" + public final void mT__93() throws RecognitionException { + try { + int _type = T__93; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:90:7: ( '!==' ) + // InternalScope.g:90:9: '!==' + { + match("!=="); - switch (alt4) { - case 1 : - // InternalScope.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;} + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__93" + // $ANTLR start "T__94" + public final void mT__94() throws RecognitionException { + try { + int _type = T__94; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:91:7: ( 'instanceof' ) + // InternalScope.g:91:9: 'instanceof' + { + match("instanceof"); - } - break; - default : - break loop4; - } - } while (true); + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__94" + + // $ANTLR start "T__95" + public final void mT__95() throws RecognitionException { + try { + int _type = T__95; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:92:7: ( '..<' ) + // InternalScope.g:92:9: '..<' + { + match("..<"); } @@ -1811,45 +1845,38 @@ public final void mRULE_ID() throws RecognitionException { finally { } } - // $ANTLR end "RULE_ID" + // $ANTLR end "T__95" - // $ANTLR start "RULE_INT" - public final void mRULE_INT() throws RecognitionException { + // $ANTLR start "T__96" + public final void mT__96() throws RecognitionException { try { - int _type = RULE_INT; + int _type = T__96; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:4629:10: ( ( '0' .. '9' )+ ) - // InternalScope.g:4629:12: ( '0' .. '9' )+ + // InternalScope.g:93:7: ( '..' ) + // InternalScope.g:93:9: '..' { - // InternalScope.g:4629:12: ( '0' .. '9' )+ - int cnt5=0; - loop5: - do { - int alt5=2; - int LA5_0 = input.LA(1); - - if ( ((LA5_0>='0' && LA5_0<='9')) ) { - alt5=1; - } + match(".."); - switch (alt5) { - case 1 : - // InternalScope.g:4629:13: '0' .. '9' - { - matchRange('0','9'); + } - } - break; + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__96" - default : - if ( cnt5 >= 1 ) break loop5; - EarlyExitException eee = - new EarlyExitException(5, input); - throw eee; - } - cnt5++; - } while (true); + // $ANTLR start "T__97" + public final void mT__97() throws RecognitionException { + try { + int _type = T__97; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:94:7: ( '=>' ) + // InternalScope.g:94:9: '=>' + { + match("=>"); } @@ -1860,63 +1887,1094 @@ public final void mRULE_INT() throws RecognitionException { finally { } } - // $ANTLR end "RULE_INT" + // $ANTLR end "T__97" - // $ANTLR start "RULE_STRING" - public final void mRULE_STRING() throws RecognitionException { + // $ANTLR start "T__98" + public final void mT__98() throws RecognitionException { try { - int _type = RULE_STRING; + int _type = T__98; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:4631:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) - // InternalScope.g:4631:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalScope.g:95:7: ( '<>' ) + // InternalScope.g:95:9: '<>' { - // InternalScope.g:4631:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) - int alt8=2; - int LA8_0 = input.LA(1); + match("<>"); - 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 : - // InternalScope.g:4631:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' - { - match('\"'); - // InternalScope.g:4631:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* - 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; - } + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__98" + // $ANTLR start "T__99" + public final void mT__99() throws RecognitionException { + try { + int _type = T__99; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:96:7: ( '?:' ) + // InternalScope.g:96:9: '?:' + { + match("?:"); - switch (alt6) { - case 1 : - // InternalScope.g:4631:21: '\\\\' . - { - match('\\'); - matchAny(); - } - break; - case 2 : - // InternalScope.g:4631:28: ~ ( ( '\\\\' | '\"' ) ) - { + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__99" + + // $ANTLR start "T__100" + public final void mT__100() throws RecognitionException { + try { + int _type = T__100; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:97:8: ( '**' ) + // InternalScope.g:97:10: '**' + { + match("**"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__100" + + // $ANTLR start "T__101" + public final void mT__101() throws RecognitionException { + try { + int _type = T__101; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:98:8: ( '%' ) + // InternalScope.g:98:10: '%' + { + match('%'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__101" + + // $ANTLR start "T__102" + public final void mT__102() throws RecognitionException { + try { + int _type = T__102; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:99:8: ( '++' ) + // InternalScope.g:99:10: '++' + { + match("++"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__102" + + // $ANTLR start "T__103" + public final void mT__103() throws RecognitionException { + try { + int _type = T__103; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:100:8: ( '--' ) + // InternalScope.g:100:10: '--' + { + match("--"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__103" + + // $ANTLR start "T__104" + public final void mT__104() throws RecognitionException { + try { + int _type = T__104; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:101:8: ( '?.' ) + // InternalScope.g:101:10: '?.' + { + match("?."); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__104" + + // $ANTLR start "T__105" + public final void mT__105() throws RecognitionException { + try { + int _type = T__105; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:102:8: ( 'for' ) + // InternalScope.g:102:10: 'for' + { + match("for"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__105" + + // $ANTLR start "T__106" + public final void mT__106() throws RecognitionException { + try { + int _type = T__106; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:103:8: ( 'while' ) + // InternalScope.g:103:10: 'while' + { + match("while"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__106" + + // $ANTLR start "T__107" + public final void mT__107() throws RecognitionException { + try { + int _type = T__107; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:104:8: ( 'do' ) + // InternalScope.g:104:10: 'do' + { + match("do"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__107" + + // $ANTLR start "T__108" + public final void mT__108() throws RecognitionException { + try { + int _type = T__108; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:105:8: ( 'var' ) + // InternalScope.g:105:10: 'var' + { + match("var"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__108" + + // $ANTLR start "T__109" + public final void mT__109() throws RecognitionException { + try { + int _type = T__109; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:106:8: ( 'val' ) + // InternalScope.g:106:10: 'val' + { + match("val"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__109" + + // $ANTLR start "T__110" + public final void mT__110() throws RecognitionException { + try { + int _type = T__110; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:107:8: ( 'extends' ) + // InternalScope.g:107:10: 'extends' + { + match("extends"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__110" + + // $ANTLR start "T__111" + public final void mT__111() throws RecognitionException { + try { + int _type = T__111; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:108:8: ( 'static' ) + // InternalScope.g:108:10: 'static' + { + match("static"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__111" + + // $ANTLR start "T__112" + public final void mT__112() throws RecognitionException { + try { + int _type = T__112; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:109:8: ( 'super' ) + // InternalScope.g:109:10: 'super' + { + match("super"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__112" + + // $ANTLR start "T__113" + public final void mT__113() throws RecognitionException { + try { + int _type = T__113; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:110:8: ( 'typeof' ) + // InternalScope.g:110:10: 'typeof' + { + match("typeof"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__113" + + // $ANTLR start "T__114" + public final void mT__114() throws RecognitionException { + try { + int _type = T__114; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:111:8: ( 'throw' ) + // InternalScope.g:111:10: 'throw' + { + match("throw"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__114" + + // $ANTLR start "T__115" + public final void mT__115() throws RecognitionException { + try { + int _type = T__115; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:112:8: ( 'return' ) + // InternalScope.g:112:10: 'return' + { + match("return"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__115" + + // $ANTLR start "T__116" + public final void mT__116() throws RecognitionException { + try { + int _type = T__116; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:113:8: ( 'try' ) + // InternalScope.g:113:10: 'try' + { + match("try"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__116" + + // $ANTLR start "T__117" + public final void mT__117() throws RecognitionException { + try { + int _type = T__117; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:114:8: ( 'finally' ) + // InternalScope.g:114:10: 'finally' + { + match("finally"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__117" + + // $ANTLR start "T__118" + public final void mT__118() throws RecognitionException { + try { + int _type = T__118; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:115:8: ( 'synchronized' ) + // InternalScope.g:115:10: 'synchronized' + { + match("synchronized"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__118" + + // $ANTLR start "T__119" + public final void mT__119() throws RecognitionException { + try { + int _type = T__119; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:116:8: ( 'catch' ) + // InternalScope.g:116:10: 'catch' + { + match("catch"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__119" + + // $ANTLR start "T__120" + public final void mT__120() throws RecognitionException { + try { + int _type = T__120; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:117:8: ( '&' ) + // InternalScope.g:117:10: '&' + { + match('&'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__120" + + // $ANTLR start "T__121" + public final void mT__121() throws RecognitionException { + try { + int _type = T__121; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:118:8: ( 'sensitive' ) + // InternalScope.g:118:10: 'sensitive' + { + match("sensitive"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__121" + + // $ANTLR start "T__122" + public final void mT__122() throws RecognitionException { + try { + int _type = T__122; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:119:8: ( 'insensitive' ) + // InternalScope.g:119:10: 'insensitive' + { + match("insensitive"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__122" + + // $ANTLR start "RULE_REAL" + public final void mRULE_REAL() throws RecognitionException { + try { + int _type = RULE_REAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:10907:11: ( ( '0' .. '9' )* '.' ( '0' .. '9' )* ) + // InternalScope.g:10907:13: ( '0' .. '9' )* '.' ( '0' .. '9' )* + { + // InternalScope.g:10907:13: ( '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 : + // InternalScope.g:10907:14: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + break loop1; + } + } while (true); + + match('.'); + // InternalScope.g:10907:29: ( '0' .. '9' )* + loop2: + do { + int alt2=2; + int LA2_0 = input.LA(1); + + if ( ((LA2_0>='0' && LA2_0<='9')) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // InternalScope.g:10907:30: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + break loop2; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_REAL" + + // $ANTLR start "RULE_HEX" + public final void mRULE_HEX() throws RecognitionException { + try { + int _type = RULE_HEX; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:10909:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? ) + // InternalScope.g:10909:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? + { + // InternalScope.g:10909:12: ( '0x' | '0X' ) + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0=='0') ) { + int LA3_1 = input.LA(2); + + if ( (LA3_1=='x') ) { + alt3=1; + } + else if ( (LA3_1=='X') ) { + alt3=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 3, 1, input); + + throw nvae; + } + } + else { + NoViableAltException nvae = + new NoViableAltException("", 3, 0, input); + + throw nvae; + } + switch (alt3) { + case 1 : + // InternalScope.g:10909:13: '0x' + { + match("0x"); + + + } + break; + case 2 : + // InternalScope.g:10909:18: '0X' + { + match("0X"); + + + } + break; + + } + + // InternalScope.g:10909:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ + int cnt4=0; + loop4: + do { + int alt4=2; + int LA4_0 = input.LA(1); + + if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='f')) ) { + alt4=1; + } + + + switch (alt4) { + case 1 : + // InternalScope.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='f') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + if ( cnt4 >= 1 ) break loop4; + EarlyExitException eee = + new EarlyExitException(4, input); + throw eee; + } + cnt4++; + } while (true); + + // InternalScope.g:10909:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0=='#') ) { + alt6=1; + } + switch (alt6) { + case 1 : + // InternalScope.g:10909:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) + { + match('#'); + // InternalScope.g:10909:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0=='B'||LA5_0=='b') ) { + alt5=1; + } + else if ( (LA5_0=='L'||LA5_0=='l') ) { + alt5=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); + + throw nvae; + } + switch (alt5) { + case 1 : + // InternalScope.g:10909:64: ( 'b' | 'B' ) ( 'i' | 'I' ) + { + if ( input.LA(1)=='B'||input.LA(1)=='b' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + if ( input.LA(1)=='I'||input.LA(1)=='i' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // InternalScope.g:10909:84: ( 'l' | 'L' ) + { + if ( input.LA(1)=='L'||input.LA(1)=='l' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_HEX" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + int _type = RULE_INT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:10911:10: ( '0' .. '9' ( '0' .. '9' | '_' )* ) + // InternalScope.g:10911:12: '0' .. '9' ( '0' .. '9' | '_' )* + { + matchRange('0','9'); + // InternalScope.g:10911:21: ( '0' .. '9' | '_' )* + loop7: + do { + int alt7=2; + int LA7_0 = input.LA(1); + + if ( ((LA7_0>='0' && LA7_0<='9')||LA7_0=='_') ) { + alt7=1; + } + + + switch (alt7) { + case 1 : + // InternalScope.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||input.LA(1)=='_' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop7; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_INT" + + // $ANTLR start "RULE_DECIMAL" + public final void mRULE_DECIMAL() throws RecognitionException { + try { + int _type = RULE_DECIMAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:10913:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? ) + // InternalScope.g:10913:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? + { + mRULE_INT(); + // InternalScope.g:10913:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0=='E'||LA9_0=='e') ) { + alt9=1; + } + switch (alt9) { + case 1 : + // InternalScope.g:10913:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT + { + if ( input.LA(1)=='E'||input.LA(1)=='e' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // InternalScope.g:10913:36: ( '+' | '-' )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0=='+'||LA8_0=='-') ) { + alt8=1; + } + switch (alt8) { + case 1 : + // InternalScope.g: + { + if ( input.LA(1)=='+'||input.LA(1)=='-' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + mRULE_INT(); + + } + break; + + } + + // InternalScope.g:10913:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? + int alt10=3; + int LA10_0 = input.LA(1); + + if ( (LA10_0=='B'||LA10_0=='b') ) { + alt10=1; + } + else if ( (LA10_0=='D'||LA10_0=='F'||LA10_0=='L'||LA10_0=='d'||LA10_0=='f'||LA10_0=='l') ) { + alt10=2; + } + switch (alt10) { + case 1 : + // InternalScope.g:10913:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) + { + if ( input.LA(1)=='B'||input.LA(1)=='b' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + if ( input.LA(1)=='D'||input.LA(1)=='I'||input.LA(1)=='d'||input.LA(1)=='i' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // InternalScope.g:10913:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) + { + if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='L'||input.LA(1)=='d'||input.LA(1)=='f'||input.LA(1)=='l' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_DECIMAL" + + // $ANTLR start "RULE_ID" + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalScope.g:10915:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* ) + // InternalScope.g:10915:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* + { + // InternalScope.g:10915:11: ( '^' )? + int alt11=2; + int LA11_0 = input.LA(1); + + if ( (LA11_0=='^') ) { + alt11=1; + } + switch (alt11) { + case 1 : + // InternalScope.g:10915:11: '^' + { + match('^'); + + } + break; + + } + + if ( input.LA(1)=='$'||(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;} + + // InternalScope.g:10915:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* + loop12: + do { + int alt12=2; + int LA12_0 = input.LA(1); + + if ( (LA12_0=='$'||(LA12_0>='0' && LA12_0<='9')||(LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='z')) ) { + alt12=1; + } + + + switch (alt12) { + case 1 : + // InternalScope.g: + { + if ( input.LA(1)=='$'||(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 loop12; + } + } 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; + // InternalScope.g:10917:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) ) + // InternalScope.g:10917:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) + { + // InternalScope.g:10917:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) + int alt17=2; + int LA17_0 = input.LA(1); + + if ( (LA17_0=='\"') ) { + alt17=1; + } + else if ( (LA17_0=='\'') ) { + alt17=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 17, 0, input); + + throw nvae; + } + switch (alt17) { + case 1 : + // InternalScope.g:10917:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? + { + match('\"'); + // InternalScope.g:10917:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + loop13: + do { + int alt13=3; + int LA13_0 = input.LA(1); + + if ( (LA13_0=='\\') ) { + alt13=1; + } + else if ( ((LA13_0>='\u0000' && LA13_0<='!')||(LA13_0>='#' && LA13_0<='[')||(LA13_0>=']' && LA13_0<='\uFFFF')) ) { + alt13=2; + } + + + switch (alt13) { + case 1 : + // InternalScope.g:10917:21: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalScope.g:10917:28: ~ ( ( '\\\\' | '\"' ) ) + { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1931,35 +2989,52 @@ else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>= break; default : - break loop6; + break loop13; } } while (true); - match('\"'); + // InternalScope.g:10917:44: ( '\"' )? + int alt14=2; + int LA14_0 = input.LA(1); + + if ( (LA14_0=='\"') ) { + alt14=1; + } + switch (alt14) { + case 1 : + // InternalScope.g:10917:44: '\"' + { + match('\"'); + + } + break; + + } + } break; case 2 : - // InternalScope.g:4631:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + // InternalScope.g:10917:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? { match('\''); - // InternalScope.g:4631:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* - loop7: + // InternalScope.g:10917:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + loop15: do { - int alt7=3; - int LA7_0 = input.LA(1); + int alt15=3; + int LA15_0 = input.LA(1); - if ( (LA7_0=='\\') ) { - alt7=1; + if ( (LA15_0=='\\') ) { + alt15=1; } - else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) { - alt7=2; + else if ( ((LA15_0>='\u0000' && LA15_0<='&')||(LA15_0>='(' && LA15_0<='[')||(LA15_0>=']' && LA15_0<='\uFFFF')) ) { + alt15=2; } - switch (alt7) { + switch (alt15) { case 1 : - // InternalScope.g:4631:54: '\\\\' . + // InternalScope.g:10917:55: '\\\\' . { match('\\'); matchAny(); @@ -1967,7 +3042,7 @@ else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>= } break; case 2 : - // InternalScope.g:4631:61: ~ ( ( '\\\\' | '\\'' ) ) + // InternalScope.g:10917:62: ~ ( ( '\\\\' | '\\'' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1983,11 +3058,28 @@ else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>= break; default : - break loop7; + break loop15; } } while (true); - match('\''); + // InternalScope.g:10917:79: ( '\\'' )? + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0=='\'') ) { + alt16=1; + } + switch (alt16) { + case 1 : + // InternalScope.g:10917:79: '\\'' + { + match('\''); + + } + break; + + } + } break; @@ -2010,37 +3102,37 @@ public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:4633:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalScope.g:4633:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalScope.g:10919:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalScope.g:10919:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalScope.g:4633:24: ( options {greedy=false; } : . )* - loop9: + // InternalScope.g:10919:24: ( options {greedy=false; } : . )* + loop18: do { - int alt9=2; - int LA9_0 = input.LA(1); + int alt18=2; + int LA18_0 = input.LA(1); - if ( (LA9_0=='*') ) { - int LA9_1 = input.LA(2); + if ( (LA18_0=='*') ) { + int LA18_1 = input.LA(2); - if ( (LA9_1=='/') ) { - alt9=2; + if ( (LA18_1=='/') ) { + alt18=2; } - else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) { - alt9=1; + else if ( ((LA18_1>='\u0000' && LA18_1<='.')||(LA18_1>='0' && LA18_1<='\uFFFF')) ) { + alt18=1; } } - else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) { - alt9=1; + else if ( ((LA18_0>='\u0000' && LA18_0<=')')||(LA18_0>='+' && LA18_0<='\uFFFF')) ) { + alt18=1; } - switch (alt9) { + switch (alt18) { case 1 : - // InternalScope.g:4633:52: . + // InternalScope.g:10919:52: . { matchAny(); @@ -2048,7 +3140,7 @@ else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) { break; default : - break loop9; + break loop18; } } while (true); @@ -2070,25 +3162,25 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:4635:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalScope.g:4635:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalScope.g:10921:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalScope.g:10921:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // InternalScope.g:4635:24: (~ ( ( '\\n' | '\\r' ) ) )* - loop10: + // InternalScope.g:10921:24: (~ ( ( '\\n' | '\\r' ) ) )* + loop19: do { - int alt10=2; - int LA10_0 = input.LA(1); + int alt19=2; + int LA19_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; + if ( ((LA19_0>='\u0000' && LA19_0<='\t')||(LA19_0>='\u000B' && LA19_0<='\f')||(LA19_0>='\u000E' && LA19_0<='\uFFFF')) ) { + alt19=1; } - switch (alt10) { + switch (alt19) { case 1 : - // InternalScope.g:4635:24: ~ ( ( '\\n' | '\\r' ) ) + // InternalScope.g:10921: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(); @@ -2104,31 +3196,31 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { break; default : - break loop10; + break loop19; } } while (true); - // InternalScope.g:4635:40: ( ( '\\r' )? '\\n' )? - int alt12=2; - int LA12_0 = input.LA(1); + // InternalScope.g:10921:40: ( ( '\\r' )? '\\n' )? + int alt21=2; + int LA21_0 = input.LA(1); - if ( (LA12_0=='\n'||LA12_0=='\r') ) { - alt12=1; + if ( (LA21_0=='\n'||LA21_0=='\r') ) { + alt21=1; } - switch (alt12) { + switch (alt21) { case 1 : - // InternalScope.g:4635:41: ( '\\r' )? '\\n' + // InternalScope.g:10921:41: ( '\\r' )? '\\n' { - // InternalScope.g:4635:41: ( '\\r' )? - int alt11=2; - int LA11_0 = input.LA(1); + // InternalScope.g:10921:41: ( '\\r' )? + int alt20=2; + int LA20_0 = input.LA(1); - if ( (LA11_0=='\r') ) { - alt11=1; + if ( (LA20_0=='\r') ) { + alt20=1; } - switch (alt11) { + switch (alt20) { case 1 : - // InternalScope.g:4635:41: '\\r' + // InternalScope.g:10921:41: '\\r' { match('\r'); @@ -2160,659 +3252,911 @@ public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:4637:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalScope.g:4637:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalScope.g:10923:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalScope.g:10923:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // InternalScope.g:4637:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - int cnt13=0; - loop13: + // InternalScope.g:10923:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt22=0; + loop22: do { - int alt13=2; - int LA13_0 = input.LA(1); + int alt22=2; + int LA22_0 = input.LA(1); + + if ( ((LA22_0>='\t' && LA22_0<='\n')||LA22_0=='\r'||LA22_0==' ') ) { + alt22=1; + } + + + switch (alt22) { + case 1 : + // InternalScope.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 ( cnt22 >= 1 ) break loop22; + EarlyExitException eee = + new EarlyExitException(22, input); + throw eee; + } + cnt22++; + } 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; + // InternalScope.g:10925:16: ( . ) + // InternalScope.g:10925:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // InternalScope.g:1:8: ( T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | RULE_REAL | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt23=119; + alt23 = dfa23.predict(input); + switch (alt23) { + case 1 : + // InternalScope.g:1:10: T__14 + { + mT__14(); + + } + break; + case 2 : + // InternalScope.g:1:16: T__15 + { + mT__15(); + + } + break; + case 3 : + // InternalScope.g:1:22: T__16 + { + mT__16(); + + } + break; + case 4 : + // InternalScope.g:1:28: T__17 + { + mT__17(); + + } + break; + case 5 : + // InternalScope.g:1:34: T__18 + { + mT__18(); + + } + break; + case 6 : + // InternalScope.g:1:40: T__19 + { + mT__19(); + + } + break; + case 7 : + // InternalScope.g:1:46: T__20 + { + mT__20(); + + } + break; + case 8 : + // InternalScope.g:1:52: T__21 + { + mT__21(); + + } + break; + case 9 : + // InternalScope.g:1:58: T__22 + { + mT__22(); + + } + break; + case 10 : + // InternalScope.g:1:64: T__23 + { + mT__23(); + + } + break; + case 11 : + // InternalScope.g:1:70: T__24 + { + mT__24(); + + } + break; + case 12 : + // InternalScope.g:1:76: T__25 + { + mT__25(); + + } + break; + case 13 : + // InternalScope.g:1:82: T__26 + { + mT__26(); + + } + break; + case 14 : + // InternalScope.g:1:88: T__27 + { + mT__27(); + + } + break; + case 15 : + // InternalScope.g:1:94: T__28 + { + mT__28(); + + } + break; + case 16 : + // InternalScope.g:1:100: T__29 + { + mT__29(); + + } + break; + case 17 : + // InternalScope.g:1:106: T__30 + { + mT__30(); + + } + break; + case 18 : + // InternalScope.g:1:112: T__31 + { + mT__31(); + + } + break; + case 19 : + // InternalScope.g:1:118: T__32 + { + mT__32(); + + } + break; + case 20 : + // InternalScope.g:1:124: T__33 + { + mT__33(); + + } + break; + case 21 : + // InternalScope.g:1:130: T__34 + { + mT__34(); + + } + break; + case 22 : + // InternalScope.g:1:136: T__35 + { + mT__35(); - if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) { - alt13=1; } + break; + case 23 : + // InternalScope.g:1:142: T__36 + { + mT__36(); + } + break; + case 24 : + // InternalScope.g:1:148: T__37 + { + mT__37(); - switch (alt13) { - case 1 : - // InternalScope.g: - { - if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { - input.consume(); + } + break; + case 25 : + // InternalScope.g:1:154: T__38 + { + mT__38(); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} + } + break; + case 26 : + // InternalScope.g:1:160: T__39 + { + mT__39(); + } + break; + case 27 : + // InternalScope.g:1:166: T__40 + { + mT__40(); - } - break; + } + break; + case 28 : + // InternalScope.g:1:172: T__41 + { + mT__41(); - default : - if ( cnt13 >= 1 ) break loop13; - EarlyExitException eee = - new EarlyExitException(13, input); - throw eee; } - cnt13++; - } while (true); + break; + case 29 : + // InternalScope.g:1:178: T__42 + { + mT__42(); + } + break; + case 30 : + // InternalScope.g:1:184: T__43 + { + mT__43(); - } + } + break; + case 31 : + // InternalScope.g:1:190: T__44 + { + mT__44(); - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_WS" + } + break; + case 32 : + // InternalScope.g:1:196: T__45 + { + mT__45(); - // $ANTLR start "RULE_ANY_OTHER" - public final void mRULE_ANY_OTHER() throws RecognitionException { - try { - int _type = RULE_ANY_OTHER; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalScope.g:4639:16: ( . ) - // InternalScope.g:4639:18: . - { - matchAny(); + } + break; + case 33 : + // InternalScope.g:1:202: T__46 + { + mT__46(); - } + } + break; + case 34 : + // InternalScope.g:1:208: T__47 + { + mT__47(); - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ANY_OTHER" + } + break; + case 35 : + // InternalScope.g:1:214: T__48 + { + mT__48(); - public void mTokens() throws RecognitionException { - // InternalScope.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 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | RULE_REAL | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) - int alt14=83; - alt14 = dfa14.predict(input); - switch (alt14) { - case 1 : - // InternalScope.g:1:10: T__12 + } + break; + case 36 : + // InternalScope.g:1:220: T__49 { - mT__12(); + mT__49(); } break; - case 2 : - // InternalScope.g:1:16: T__13 + case 37 : + // InternalScope.g:1:226: T__50 { - mT__13(); + mT__50(); } break; - case 3 : - // InternalScope.g:1:22: T__14 + case 38 : + // InternalScope.g:1:232: T__51 { - mT__14(); + mT__51(); } break; - case 4 : - // InternalScope.g:1:28: T__15 + case 39 : + // InternalScope.g:1:238: T__52 { - mT__15(); + mT__52(); } break; - case 5 : - // InternalScope.g:1:34: T__16 + case 40 : + // InternalScope.g:1:244: T__53 { - mT__16(); + mT__53(); } break; - case 6 : - // InternalScope.g:1:40: T__17 + case 41 : + // InternalScope.g:1:250: T__54 { - mT__17(); + mT__54(); } break; - case 7 : - // InternalScope.g:1:46: T__18 + case 42 : + // InternalScope.g:1:256: T__55 { - mT__18(); + mT__55(); } break; - case 8 : - // InternalScope.g:1:52: T__19 + case 43 : + // InternalScope.g:1:262: T__56 { - mT__19(); + mT__56(); } break; - case 9 : - // InternalScope.g:1:58: T__20 + case 44 : + // InternalScope.g:1:268: T__57 { - mT__20(); + mT__57(); } break; - case 10 : - // InternalScope.g:1:64: T__21 + case 45 : + // InternalScope.g:1:274: T__58 { - mT__21(); + mT__58(); } break; - case 11 : - // InternalScope.g:1:70: T__22 + case 46 : + // InternalScope.g:1:280: T__59 { - mT__22(); + mT__59(); } break; - case 12 : - // InternalScope.g:1:76: T__23 + case 47 : + // InternalScope.g:1:286: T__60 { - mT__23(); + mT__60(); } break; - case 13 : - // InternalScope.g:1:82: T__24 + case 48 : + // InternalScope.g:1:292: T__61 { - mT__24(); + mT__61(); } break; - case 14 : - // InternalScope.g:1:88: T__25 + case 49 : + // InternalScope.g:1:298: T__62 { - mT__25(); + mT__62(); } break; - case 15 : - // InternalScope.g:1:94: T__26 + case 50 : + // InternalScope.g:1:304: T__63 { - mT__26(); + mT__63(); } break; - case 16 : - // InternalScope.g:1:100: T__27 + case 51 : + // InternalScope.g:1:310: T__64 { - mT__27(); + mT__64(); } break; - case 17 : - // InternalScope.g:1:106: T__28 + case 52 : + // InternalScope.g:1:316: T__65 { - mT__28(); + mT__65(); } break; - case 18 : - // InternalScope.g:1:112: T__29 + case 53 : + // InternalScope.g:1:322: T__66 { - mT__29(); + mT__66(); } break; - case 19 : - // InternalScope.g:1:118: T__30 + case 54 : + // InternalScope.g:1:328: T__67 { - mT__30(); + mT__67(); } break; - case 20 : - // InternalScope.g:1:124: T__31 + case 55 : + // InternalScope.g:1:334: T__68 { - mT__31(); + mT__68(); } break; - case 21 : - // InternalScope.g:1:130: T__32 + case 56 : + // InternalScope.g:1:340: T__69 { - mT__32(); + mT__69(); } break; - case 22 : - // InternalScope.g:1:136: T__33 + case 57 : + // InternalScope.g:1:346: T__70 { - mT__33(); + mT__70(); } break; - case 23 : - // InternalScope.g:1:142: T__34 + case 58 : + // InternalScope.g:1:352: T__71 { - mT__34(); + mT__71(); } break; - case 24 : - // InternalScope.g:1:148: T__35 + case 59 : + // InternalScope.g:1:358: T__72 { - mT__35(); + mT__72(); } break; - case 25 : - // InternalScope.g:1:154: T__36 + case 60 : + // InternalScope.g:1:364: T__73 { - mT__36(); + mT__73(); } break; - case 26 : - // InternalScope.g:1:160: T__37 + case 61 : + // InternalScope.g:1:370: T__74 { - mT__37(); + mT__74(); } break; - case 27 : - // InternalScope.g:1:166: T__38 + case 62 : + // InternalScope.g:1:376: T__75 { - mT__38(); + mT__75(); } break; - case 28 : - // InternalScope.g:1:172: T__39 + case 63 : + // InternalScope.g:1:382: T__76 { - mT__39(); + mT__76(); } break; - case 29 : - // InternalScope.g:1:178: T__40 + case 64 : + // InternalScope.g:1:388: T__77 { - mT__40(); + mT__77(); } break; - case 30 : - // InternalScope.g:1:184: T__41 + case 65 : + // InternalScope.g:1:394: T__78 { - mT__41(); + mT__78(); } break; - case 31 : - // InternalScope.g:1:190: T__42 + case 66 : + // InternalScope.g:1:400: T__79 { - mT__42(); + mT__79(); } break; - case 32 : - // InternalScope.g:1:196: T__43 + case 67 : + // InternalScope.g:1:406: T__80 { - mT__43(); + mT__80(); } break; - case 33 : - // InternalScope.g:1:202: T__44 + case 68 : + // InternalScope.g:1:412: T__81 { - mT__44(); + mT__81(); } break; - case 34 : - // InternalScope.g:1:208: T__45 + case 69 : + // InternalScope.g:1:418: T__82 { - mT__45(); + mT__82(); } break; - case 35 : - // InternalScope.g:1:214: T__46 + case 70 : + // InternalScope.g:1:424: T__83 { - mT__46(); + mT__83(); } break; - case 36 : - // InternalScope.g:1:220: T__47 + case 71 : + // InternalScope.g:1:430: T__84 { - mT__47(); + mT__84(); + + } + break; + case 72 : + // InternalScope.g:1:436: T__85 + { + mT__85(); } break; - case 37 : - // InternalScope.g:1:226: T__48 + case 73 : + // InternalScope.g:1:442: T__86 { - mT__48(); + mT__86(); } break; - case 38 : - // InternalScope.g:1:232: T__49 + case 74 : + // InternalScope.g:1:448: T__87 { - mT__49(); + mT__87(); } break; - case 39 : - // InternalScope.g:1:238: T__50 + case 75 : + // InternalScope.g:1:454: T__88 { - mT__50(); + mT__88(); } break; - case 40 : - // InternalScope.g:1:244: T__51 + case 76 : + // InternalScope.g:1:460: T__89 { - mT__51(); + mT__89(); } break; - case 41 : - // InternalScope.g:1:250: T__52 + case 77 : + // InternalScope.g:1:466: T__90 { - mT__52(); + mT__90(); } break; - case 42 : - // InternalScope.g:1:256: T__53 + case 78 : + // InternalScope.g:1:472: T__91 { - mT__53(); + mT__91(); } break; - case 43 : - // InternalScope.g:1:262: T__54 + case 79 : + // InternalScope.g:1:478: T__92 { - mT__54(); + mT__92(); } break; - case 44 : - // InternalScope.g:1:268: T__55 + case 80 : + // InternalScope.g:1:484: T__93 { - mT__55(); + mT__93(); } break; - case 45 : - // InternalScope.g:1:274: T__56 + case 81 : + // InternalScope.g:1:490: T__94 { - mT__56(); + mT__94(); } break; - case 46 : - // InternalScope.g:1:280: T__57 + case 82 : + // InternalScope.g:1:496: T__95 { - mT__57(); + mT__95(); } break; - case 47 : - // InternalScope.g:1:286: T__58 + case 83 : + // InternalScope.g:1:502: T__96 { - mT__58(); + mT__96(); } break; - case 48 : - // InternalScope.g:1:292: T__59 + case 84 : + // InternalScope.g:1:508: T__97 { - mT__59(); + mT__97(); } break; - case 49 : - // InternalScope.g:1:298: T__60 + case 85 : + // InternalScope.g:1:514: T__98 { - mT__60(); + mT__98(); } break; - case 50 : - // InternalScope.g:1:304: T__61 + case 86 : + // InternalScope.g:1:520: T__99 { - mT__61(); + mT__99(); } break; - case 51 : - // InternalScope.g:1:310: T__62 + case 87 : + // InternalScope.g:1:526: T__100 { - mT__62(); + mT__100(); } break; - case 52 : - // InternalScope.g:1:316: T__63 + case 88 : + // InternalScope.g:1:533: T__101 { - mT__63(); + mT__101(); } break; - case 53 : - // InternalScope.g:1:322: T__64 + case 89 : + // InternalScope.g:1:540: T__102 { - mT__64(); + mT__102(); } break; - case 54 : - // InternalScope.g:1:328: T__65 + case 90 : + // InternalScope.g:1:547: T__103 { - mT__65(); + mT__103(); } break; - case 55 : - // InternalScope.g:1:334: T__66 + case 91 : + // InternalScope.g:1:554: T__104 { - mT__66(); + mT__104(); } break; - case 56 : - // InternalScope.g:1:340: T__67 + case 92 : + // InternalScope.g:1:561: T__105 { - mT__67(); + mT__105(); } break; - case 57 : - // InternalScope.g:1:346: T__68 + case 93 : + // InternalScope.g:1:568: T__106 { - mT__68(); + mT__106(); } break; - case 58 : - // InternalScope.g:1:352: T__69 + case 94 : + // InternalScope.g:1:575: T__107 { - mT__69(); + mT__107(); } break; - case 59 : - // InternalScope.g:1:358: T__70 + case 95 : + // InternalScope.g:1:582: T__108 { - mT__70(); + mT__108(); } break; - case 60 : - // InternalScope.g:1:364: T__71 + case 96 : + // InternalScope.g:1:589: T__109 { - mT__71(); + mT__109(); } break; - case 61 : - // InternalScope.g:1:370: T__72 + case 97 : + // InternalScope.g:1:596: T__110 { - mT__72(); + mT__110(); } break; - case 62 : - // InternalScope.g:1:376: T__73 + case 98 : + // InternalScope.g:1:603: T__111 { - mT__73(); + mT__111(); } break; - case 63 : - // InternalScope.g:1:382: T__74 + case 99 : + // InternalScope.g:1:610: T__112 { - mT__74(); + mT__112(); } break; - case 64 : - // InternalScope.g:1:388: T__75 + case 100 : + // InternalScope.g:1:617: T__113 { - mT__75(); + mT__113(); } break; - case 65 : - // InternalScope.g:1:394: T__76 + case 101 : + // InternalScope.g:1:624: T__114 { - mT__76(); + mT__114(); } break; - case 66 : - // InternalScope.g:1:400: T__77 + case 102 : + // InternalScope.g:1:631: T__115 { - mT__77(); + mT__115(); } break; - case 67 : - // InternalScope.g:1:406: T__78 + case 103 : + // InternalScope.g:1:638: T__116 { - mT__78(); + mT__116(); } break; - case 68 : - // InternalScope.g:1:412: T__79 + case 104 : + // InternalScope.g:1:645: T__117 { - mT__79(); + mT__117(); } break; - case 69 : - // InternalScope.g:1:418: T__80 + case 105 : + // InternalScope.g:1:652: T__118 { - mT__80(); + mT__118(); } break; - case 70 : - // InternalScope.g:1:424: T__81 + case 106 : + // InternalScope.g:1:659: T__119 { - mT__81(); + mT__119(); } break; - case 71 : - // InternalScope.g:1:430: T__82 + case 107 : + // InternalScope.g:1:666: T__120 { - mT__82(); + mT__120(); } break; - case 72 : - // InternalScope.g:1:436: T__83 + case 108 : + // InternalScope.g:1:673: T__121 { - mT__83(); + mT__121(); } break; - case 73 : - // InternalScope.g:1:442: T__84 + case 109 : + // InternalScope.g:1:680: T__122 { - mT__84(); + mT__122(); } break; - case 74 : - // InternalScope.g:1:448: T__85 + case 110 : + // InternalScope.g:1:687: RULE_REAL { - mT__85(); + mRULE_REAL(); } break; - case 75 : - // InternalScope.g:1:454: T__86 + case 111 : + // InternalScope.g:1:697: RULE_HEX { - mT__86(); + mRULE_HEX(); } break; - case 76 : - // InternalScope.g:1:460: RULE_REAL + case 112 : + // InternalScope.g:1:706: RULE_INT { - mRULE_REAL(); + mRULE_INT(); } break; - case 77 : - // InternalScope.g:1:470: RULE_ID + case 113 : + // InternalScope.g:1:715: RULE_DECIMAL { - mRULE_ID(); + mRULE_DECIMAL(); } break; - case 78 : - // InternalScope.g:1:478: RULE_INT + case 114 : + // InternalScope.g:1:728: RULE_ID { - mRULE_INT(); + mRULE_ID(); } break; - case 79 : - // InternalScope.g:1:487: RULE_STRING + case 115 : + // InternalScope.g:1:736: RULE_STRING { mRULE_STRING(); } break; - case 80 : - // InternalScope.g:1:499: RULE_ML_COMMENT + case 116 : + // InternalScope.g:1:748: RULE_ML_COMMENT { mRULE_ML_COMMENT(); } break; - case 81 : - // InternalScope.g:1:515: RULE_SL_COMMENT + case 117 : + // InternalScope.g:1:764: RULE_SL_COMMENT { mRULE_SL_COMMENT(); } break; - case 82 : - // InternalScope.g:1:531: RULE_WS + case 118 : + // InternalScope.g:1:780: RULE_WS { mRULE_WS(); } break; - case 83 : - // InternalScope.g:1:539: RULE_ANY_OTHER + case 119 : + // InternalScope.g:1:788: RULE_ANY_OTHER { mRULE_ANY_OTHER(); @@ -2824,517 +4168,599 @@ public void mTokens() throws RecognitionException { } - protected DFA14 dfa14 = new DFA14(this); - static final String DFA14_eotS = - "\1\uffff\7\64\2\uffff\1\105\4\uffff\1\114\3\uffff\1\64\1\uffff\4\64\1\133\1\135\1\136\1\64\1\142\1\uffff\1\64\1\57\1\151\1\153\1\uffff\1\157\4\64\1\164\1\57\1\uffff\2\57\2\uffff\4\64\1\uffff\3\64\1\u0081\1\u0082\10\64\16\uffff\3\64\1\uffff\6\64\6\uffff\1\64\3\uffff\3\64\11\uffff\4\64\1\uffff\1\164\2\uffff\11\64\2\uffff\12\64\1\u00b5\4\64\1\u00ba\6\64\1\u00c1\6\64\1\u00c8\5\64\1\u00cf\7\64\1\u00d7\1\u00d8\4\64\1\u00dd\1\uffff\2\64\1\u00e0\1\64\1\uffff\3\64\1\u00e5\2\64\1\uffff\1\u00e8\1\64\1\u00ea\2\64\1\u00ed\1\uffff\1\64\1\u00f0\4\64\1\uffff\7\64\2\uffff\4\64\1\uffff\1\64\1\u0101\1\uffff\4\64\1\uffff\2\64\1\uffff\1\64\1\uffff\2\64\1\uffff\2\64\1\uffff\1\u010d\1\u010f\1\64\1\u0111\1\u0112\1\64\1\u0114\2\64\1\u0117\1\u0118\2\64\1\u011b\2\64\1\uffff\1\u011e\1\64\1\u0120\1\u0121\5\64\1\u0127\1\u0128\1\uffff\1\64\1\uffff\1\64\2\uffff\1\u012b\1\uffff\2\64\2\uffff\1\u012e\1\u012f\1\uffff\1\64\1\u0131\1\uffff\1\64\2\uffff\1\u0133\1\u0134\3\64\2\uffff\2\64\1\uffff\2\64\2\uffff\1\64\1\uffff\1\64\2\uffff\4\64\1\u0142\1\64\1\u0144\1\u0145\1\u0146\1\64\1\u0148\2\64\1\uffff\1\64\3\uffff\1\u014c\1\uffff\1\u014d\1\u014e\1\u014f\4\uffff"; - static final String DFA14_eofS = - "\u0150\uffff"; - static final String DFA14_minS = - "\1\0\1\143\1\151\1\146\1\163\1\154\2\141\2\uffff\1\75\4\uffff\1\75\3\uffff\1\141\1\uffff\2\145\1\162\1\141\1\174\1\72\1\60\1\145\1\76\1\uffff\1\150\1\46\2\75\1\uffff\1\52\1\114\1\157\1\151\1\145\1\56\1\101\1\uffff\2\0\2\uffff\1\157\1\151\1\154\1\162\1\uffff\1\164\1\160\1\152\2\60\1\151\2\163\1\154\1\155\1\164\1\154\1\167\16\uffff\1\143\1\156\1\162\1\uffff\1\171\1\143\1\145\1\164\1\155\1\146\6\uffff\1\164\3\uffff\1\145\1\160\1\165\11\uffff\1\117\1\154\1\163\1\164\1\uffff\1\56\2\uffff\1\160\1\164\1\145\1\163\1\164\1\150\1\154\2\145\2\uffff\1\145\1\157\1\163\2\145\1\164\1\154\1\151\1\105\1\154\1\60\1\164\1\163\1\144\1\101\1\60\1\165\1\145\1\146\3\141\1\60\1\156\2\145\1\102\1\154\1\164\1\60\1\145\2\143\1\151\1\102\1\60\1\162\1\151\1\143\2\156\1\162\1\164\2\60\2\145\1\156\1\170\1\60\1\uffff\1\157\1\145\1\60\1\154\1\uffff\1\162\1\143\1\151\1\60\1\151\1\165\1\uffff\1\60\1\123\1\60\1\101\1\145\1\60\1\uffff\1\156\1\60\1\150\2\164\1\171\1\uffff\1\164\1\145\1\164\2\163\1\164\1\163\2\uffff\1\170\1\143\1\147\1\151\1\uffff\1\162\1\60\1\uffff\1\154\1\163\1\164\1\170\1\uffff\1\156\1\154\1\uffff\1\145\1\uffff\1\114\1\143\1\uffff\1\147\1\146\1\uffff\2\60\1\151\2\60\1\163\1\60\2\151\2\60\2\164\1\60\1\163\1\171\1\uffff\1\60\1\151\2\60\1\163\1\164\1\154\1\126\1\164\2\60\1\uffff\1\151\1\uffff\1\166\2\uffff\1\60\1\uffff\1\164\1\157\2\uffff\2\60\1\uffff\1\164\1\60\1\uffff\1\166\2\uffff\2\60\1\145\1\101\1\151\2\uffff\1\162\1\145\1\uffff\1\151\1\156\2\uffff\1\163\1\uffff\1\145\2\uffff\1\143\1\122\1\157\1\163\1\60\1\166\3\60\1\164\1\60\1\156\1\164\1\uffff\1\145\3\uffff\1\60\1\uffff\3\60\4\uffff"; - static final String DFA14_maxS = - "\1\uffff\1\167\1\151\1\156\1\163\1\170\1\157\1\165\2\uffff\1\75\4\uffff\1\76\3\uffff\1\157\1\uffff\2\145\1\162\1\157\1\174\1\72\1\71\1\145\1\76\1\uffff\1\171\1\46\2\75\1\uffff\1\57\1\114\1\157\1\151\1\145\1\71\1\172\1\uffff\2\uffff\2\uffff\1\157\1\151\1\156\1\162\1\uffff\1\164\1\160\1\163\2\172\1\164\2\163\1\156\1\155\1\164\1\154\1\167\16\uffff\1\154\1\156\1\162\1\uffff\1\171\1\152\1\145\1\164\1\155\1\146\6\uffff\1\164\3\uffff\1\145\1\160\1\165\11\uffff\1\117\1\154\1\163\1\164\1\uffff\1\71\2\uffff\1\160\1\164\1\145\1\163\1\164\1\150\1\157\2\145\2\uffff\1\145\1\157\1\163\2\145\1\164\1\154\1\151\1\105\1\154\1\172\1\164\1\163\1\144\1\101\1\172\1\165\1\145\1\146\3\141\1\172\1\156\2\145\1\102\1\154\1\164\1\172\1\151\2\143\1\151\1\102\1\172\1\162\1\151\1\143\2\156\1\162\1\164\2\172\2\145\1\156\1\170\1\172\1\uffff\1\157\1\145\1\172\1\154\1\uffff\1\162\1\143\1\151\1\172\1\151\1\165\1\uffff\1\172\1\123\1\172\1\101\1\145\1\172\1\uffff\1\156\1\172\1\150\2\164\1\171\1\uffff\1\164\1\145\1\164\2\163\1\164\1\163\2\uffff\1\170\1\143\1\147\1\151\1\uffff\1\162\1\172\1\uffff\1\154\1\163\1\164\1\170\1\uffff\1\156\1\154\1\uffff\1\145\1\uffff\1\114\1\143\1\uffff\1\147\1\146\1\uffff\2\172\1\151\2\172\1\163\1\172\2\151\2\172\2\164\1\172\1\163\1\171\1\uffff\1\172\1\151\2\172\1\163\1\164\1\154\1\126\1\164\2\172\1\uffff\1\151\1\uffff\1\166\2\uffff\1\172\1\uffff\1\164\1\157\2\uffff\2\172\1\uffff\1\164\1\172\1\uffff\1\166\2\uffff\2\172\1\145\1\101\1\151\2\uffff\1\162\1\145\1\uffff\1\151\1\156\2\uffff\1\163\1\uffff\1\145\2\uffff\1\143\1\122\1\157\1\163\1\172\1\166\3\172\1\164\1\172\1\156\1\164\1\uffff\1\145\3\uffff\1\172\1\uffff\3\172\4\uffff"; - static final String DFA14_acceptS = - "\10\uffff\1\11\1\12\1\uffff\1\14\1\16\1\17\1\20\1\uffff\1\23\1\24\1\25\1\uffff\1\30\11\uffff\1\46\4\uffff\1\65\7\uffff\1\115\2\uffff\1\122\1\123\4\uffff\1\115\15\uffff\1\11\1\12\1\57\1\13\1\14\1\16\1\17\1\20\1\22\1\61\1\63\1\23\1\24\1\25\3\uffff\1\30\6\uffff\1\54\1\37\1\41\1\44\1\42\1\114\1\uffff\1\45\1\66\1\46\3\uffff\1\55\1\60\1\70\1\62\1\64\1\65\1\120\1\121\1\67\4\uffff\1\116\1\uffff\1\117\1\122\11\uffff\1\47\1\4\62\uffff\1\106\4\uffff\1\32\6\uffff\1\43\6\uffff\1\111\6\uffff\1\2\7\uffff\1\51\1\7\4\uffff\1\104\2\uffff\1\31\4\uffff\1\35\2\uffff\1\50\1\uffff\1\102\2\uffff\1\110\2\uffff\1\15\20\uffff\1\103\13\uffff\1\52\1\uffff\1\73\1\uffff\1\100\1\3\1\uffff\1\6\2\uffff\1\40\1\76\2\uffff\1\10\2\uffff\1\101\1\uffff\1\75\1\34\5\uffff\1\1\1\27\2\uffff\1\56\2\uffff\1\21\1\72\1\uffff\1\26\1\uffff\1\36\1\53\15\uffff\1\112\1\uffff\1\5\1\77\1\33\1\uffff\1\105\3\uffff\1\71\1\107\1\74\1\113"; - static final String DFA14_specialS = - "\1\2\53\uffff\1\0\1\1\u0122\uffff}>"; - static final String[] DFA14_transitionS = { - "\11\57\2\56\2\57\1\56\22\57\1\56\1\41\1\54\1\16\2\57\1\40\1\55\1\14\1\15\1\20\1\43\1\24\1\35\1\33\1\44\12\51\1\32\1\13\1\42\1\12\1\17\1\36\1\57\2\53\1\46\3\53\1\45\4\53\1\47\6\53\1\50\7\53\1\21\1\57\1\22\1\52\1\53\1\57\1\4\1\53\1\6\1\30\1\5\1\23\2\53\1\3\1\53\1\25\1\34\1\53\1\7\1\53\1\27\1\53\1\26\1\1\1\37\2\53\1\2\3\53\1\10\1\31\1\11\uff82\57", - "\1\60\1\uffff\1\62\11\uffff\1\63\7\uffff\1\61", - "\1\65", - "\1\70\6\uffff\1\66\1\67", - "\1\71", - "\1\73\13\uffff\1\72", - "\1\74\15\uffff\1\75", - "\1\76\3\uffff\1\101\11\uffff\1\77\5\uffff\1\100", - "", + protected DFA23 dfa23 = new DFA23(this); + static final String DFA23_eotS = + "\1\uffff\7\72\2\uffff\1\115\4\uffff\1\124\1\127\2\uffff\1\72\1\uffff\4\72\1\145\1\147\1\151\1\72\1\157\1\162\1\72\1\167\1\171\1\174\1\177\1\u0083\4\72\1\u0089\1\72\2\u008d\1\62\5\uffff\7\72\1\uffff\4\72\1\u009f\1\u00a0\10\72\2\uffff\1\u00ae\16\uffff\3\72\1\uffff\4\72\1\u00ba\1\72\4\uffff\1\u00bd\2\uffff\1\72\7\uffff\3\72\2\uffff\1\u00c5\13\uffff\4\72\2\uffff\1\72\1\uffff\1\u008d\2\uffff\1\u008d\2\uffff\15\72\2\uffff\13\72\1\u00e6\2\uffff\3\72\1\u00ec\1\u00ed\6\72\1\uffff\1\72\2\uffff\1\u00f5\4\72\1\u00fa\2\uffff\3\72\1\u00fe\1\u00ff\1\u0100\10\72\1\u010a\11\72\1\u0114\1\u0115\5\72\1\u011b\1\uffff\2\72\1\u011e\2\72\2\uffff\4\72\1\u0125\2\72\1\uffff\1\u0128\2\72\1\u012c\1\uffff\2\72\1\u012f\3\uffff\1\72\1\u0132\5\72\1\u0138\1\72\1\uffff\1\u013a\10\72\2\uffff\1\u0144\4\72\1\uffff\1\72\1\u014a\1\uffff\6\72\1\uffff\2\72\1\uffff\1\u0153\2\72\1\uffff\2\72\1\uffff\2\72\1\uffff\1\u015a\1\u015c\1\72\1\u015e\1\u015f\1\uffff\1\72\1\uffff\1\u0161\1\72\1\u0163\4\72\1\u0168\1\u0169\1\uffff\2\72\1\u016c\2\72\1\uffff\1\72\1\u0170\1\72\1\u0172\1\u0173\1\u0174\2\72\1\uffff\1\72\1\u0178\2\72\1\u017b\1\u017c\1\uffff\1\72\1\uffff\1\72\2\uffff\1\72\1\uffff\1\u0180\1\uffff\3\72\1\u0184\2\uffff\1\u0185\1\u0186\1\uffff\1\72\1\u0188\1\u0189\1\uffff\1\72\3\uffff\1\u018b\1\u018c\1\72\1\uffff\2\72\2\uffff\3\72\1\uffff\3\72\3\uffff\1\72\2\uffff\1\72\2\uffff\4\72\1\u019c\3\72\1\u01a0\1\u01a1\1\u01a2\1\72\1\u01a4\2\72\1\uffff\1\72\1\u01a8\1\72\3\uffff\1\u01aa\1\uffff\1\u01ab\1\u01ac\1\72\1\uffff\1\u01ae\3\uffff\1\u01af\2\uffff"; + static final String DFA23_eofS = + "\u01b0\uffff"; + static final String DFA23_minS = + "\1\0\1\143\1\150\1\146\1\163\1\154\2\141\2\uffff\1\75\4\uffff\1\75\1\52\2\uffff\1\141\1\uffff\2\145\1\162\1\141\1\174\1\72\1\56\1\145\1\55\1\56\1\150\1\46\2\75\1\53\1\52\1\114\1\157\1\151\1\145\1\75\1\141\2\56\1\44\5\uffff\1\157\1\151\1\154\1\162\1\141\1\160\1\156\1\uffff\1\164\1\151\1\160\1\152\2\44\1\151\2\163\1\154\1\155\1\164\1\154\1\167\2\uffff\1\75\16\uffff\1\143\1\156\1\162\1\uffff\1\171\1\143\1\145\1\164\1\44\1\146\4\uffff\1\74\2\uffff\1\164\7\uffff\1\145\1\160\1\165\2\uffff\1\75\13\uffff\1\117\1\154\1\163\1\164\2\uffff\1\154\1\uffff\1\56\2\uffff\1\60\2\uffff\1\160\1\164\1\145\1\163\2\164\1\145\1\143\1\150\2\154\2\145\2\uffff\1\145\1\157\1\163\2\145\1\143\1\164\1\154\1\151\1\105\1\154\1\44\2\uffff\1\164\1\163\1\141\2\44\1\165\1\145\1\165\1\146\2\141\1\uffff\1\141\2\uffff\1\44\1\156\1\157\2\145\1\44\2\uffff\1\102\1\154\1\164\3\44\1\145\2\143\1\151\1\102\1\151\1\162\1\150\1\44\1\145\1\162\1\151\1\143\1\141\2\156\1\162\1\164\2\44\1\150\2\145\1\156\1\170\1\44\1\uffff\1\157\1\145\1\44\2\154\2\uffff\1\162\1\143\1\162\1\151\1\44\1\151\1\165\1\uffff\1\44\1\167\1\123\1\44\1\uffff\1\101\1\145\1\44\3\uffff\1\156\1\44\1\150\2\164\1\171\1\143\1\44\1\162\1\uffff\1\44\1\164\1\145\1\164\1\156\1\163\1\144\1\164\1\163\2\uffff\1\44\1\170\1\143\1\147\1\151\1\uffff\1\162\1\44\1\uffff\2\154\1\163\1\164\1\156\1\170\1\uffff\1\156\1\154\1\uffff\1\44\1\145\1\146\1\uffff\1\114\1\143\1\uffff\1\147\1\146\1\uffff\2\44\1\151\2\44\1\uffff\1\157\1\uffff\1\44\1\163\1\44\1\143\2\151\1\163\2\44\1\uffff\2\164\1\44\1\163\1\171\1\uffff\1\171\1\44\1\151\3\44\1\163\1\164\1\uffff\1\154\1\44\1\126\1\164\2\44\1\uffff\1\151\1\uffff\1\166\2\uffff\1\156\1\uffff\1\44\1\uffff\1\145\1\164\1\157\1\44\2\uffff\2\44\1\uffff\1\164\2\44\1\uffff\1\166\3\uffff\2\44\1\145\1\uffff\1\101\1\151\2\uffff\1\162\1\145\1\151\1\uffff\1\157\1\151\1\156\3\uffff\1\163\2\uffff\1\145\2\uffff\1\143\1\122\1\157\1\163\1\44\1\172\1\146\1\166\3\44\1\164\1\44\1\156\1\164\1\uffff\1\145\1\44\1\145\3\uffff\1\44\1\uffff\2\44\1\144\1\uffff\1\44\3\uffff\1\44\2\uffff"; + static final String DFA23_maxS = + "\1\uffff\1\171\1\151\1\156\1\163\1\170\1\157\1\165\2\uffff\1\76\4\uffff\1\76\1\75\2\uffff\1\157\1\uffff\2\145\1\162\1\157\1\174\1\72\1\71\1\145\1\76\1\72\1\171\1\46\1\75\1\76\2\75\1\114\1\157\1\151\1\145\1\75\1\141\1\170\1\154\1\172\5\uffff\1\157\1\151\1\156\1\162\1\141\1\160\1\156\1\uffff\1\164\1\151\1\160\1\163\2\172\1\164\1\163\1\164\1\156\1\155\1\164\1\154\1\167\2\uffff\1\75\16\uffff\1\154\1\156\1\162\1\uffff\1\171\1\164\1\145\1\164\1\172\1\146\4\uffff\1\74\2\uffff\1\164\7\uffff\1\162\1\160\1\171\2\uffff\1\75\13\uffff\1\117\1\154\1\163\1\164\2\uffff\1\162\1\uffff\1\154\2\uffff\1\154\2\uffff\1\160\1\164\1\145\1\163\2\164\1\145\1\143\1\150\1\154\1\157\1\145\1\164\2\uffff\1\145\1\157\1\163\2\145\1\143\1\164\1\154\1\151\1\105\1\154\1\172\2\uffff\1\164\1\163\1\144\2\172\1\165\1\145\1\165\1\146\2\141\1\uffff\1\141\2\uffff\1\172\1\156\1\157\2\145\1\172\2\uffff\1\102\1\154\1\164\3\172\1\151\2\143\1\151\1\102\1\151\1\162\1\150\1\172\1\145\1\162\1\151\1\143\1\141\2\156\1\162\1\164\2\172\1\150\2\145\1\156\1\170\1\172\1\uffff\1\157\1\145\1\172\2\154\2\uffff\1\162\1\143\1\162\1\151\1\172\1\151\1\165\1\uffff\1\172\1\167\1\157\1\172\1\uffff\1\101\1\145\1\172\3\uffff\1\156\1\172\1\150\2\164\1\171\1\143\1\172\1\162\1\uffff\1\172\1\164\1\145\1\164\1\156\2\163\1\164\1\163\2\uffff\1\172\1\170\1\143\1\147\1\151\1\uffff\1\162\1\172\1\uffff\2\154\1\163\1\164\1\156\1\170\1\uffff\1\156\1\154\1\uffff\1\172\1\145\1\146\1\uffff\1\114\1\143\1\uffff\1\147\1\146\1\uffff\2\172\1\151\2\172\1\uffff\1\157\1\uffff\1\172\1\163\1\172\1\143\2\151\1\163\2\172\1\uffff\2\164\1\172\1\163\1\171\1\uffff\1\171\1\172\1\151\3\172\1\163\1\164\1\uffff\1\154\1\172\1\126\1\164\2\172\1\uffff\1\151\1\uffff\1\166\2\uffff\1\156\1\uffff\1\172\1\uffff\1\145\1\164\1\157\1\172\2\uffff\2\172\1\uffff\1\164\2\172\1\uffff\1\166\3\uffff\2\172\1\145\1\uffff\1\101\1\151\2\uffff\1\162\1\145\1\151\1\uffff\1\157\1\151\1\156\3\uffff\1\163\2\uffff\1\145\2\uffff\1\143\1\122\1\157\1\163\2\172\1\146\1\166\3\172\1\164\1\172\1\156\1\164\1\uffff\1\145\1\172\1\145\3\uffff\1\172\1\uffff\2\172\1\144\1\uffff\1\172\3\uffff\1\172\2\uffff"; + static final String DFA23_acceptS = + "\10\uffff\1\11\1\12\1\uffff\1\14\1\16\1\17\1\20\2\uffff\1\24\1\25\1\uffff\1\30\31\uffff\1\162\2\163\1\166\1\167\7\uffff\1\162\16\uffff\1\11\1\12\1\uffff\1\124\1\13\1\14\1\16\1\17\1\20\1\22\1\61\1\63\1\114\1\127\1\23\1\24\1\25\3\uffff\1\30\6\uffff\1\54\1\37\1\41\1\44\1\uffff\1\42\1\156\1\uffff\1\45\1\113\1\132\1\66\1\126\1\133\1\46\3\uffff\1\55\1\153\1\uffff\1\70\1\62\1\125\1\64\1\112\1\131\1\65\1\115\1\164\1\165\1\67\4\uffff\1\116\1\130\1\uffff\1\157\1\uffff\1\160\1\161\1\uffff\1\163\1\166\15\uffff\1\47\1\4\14\uffff\1\117\1\57\13\uffff\1\136\1\uffff\1\122\1\123\6\uffff\1\120\1\60\40\uffff\1\106\5\uffff\1\134\1\32\7\uffff\1\43\4\uffff\1\147\3\uffff\1\111\1\137\1\140\11\uffff\1\2\11\uffff\1\51\1\7\5\uffff\1\104\2\uffff\1\31\6\uffff\1\35\2\uffff\1\50\3\uffff\1\102\2\uffff\1\110\2\uffff\1\15\5\uffff\1\143\1\uffff\1\135\11\uffff\1\152\5\uffff\1\103\10\uffff\1\145\6\uffff\1\52\1\uffff\1\73\1\uffff\1\100\1\142\1\uffff\1\3\1\uffff\1\6\4\uffff\1\40\1\76\2\uffff\1\10\3\uffff\1\101\1\uffff\1\75\1\146\1\34\3\uffff\1\144\2\uffff\1\1\1\27\3\uffff\1\56\3\uffff\1\141\1\21\1\72\1\uffff\1\26\1\150\1\uffff\1\36\1\53\17\uffff\1\154\3\uffff\1\5\1\77\1\33\1\uffff\1\105\3\uffff\1\121\1\uffff\1\71\1\107\1\74\1\uffff\1\155\1\151"; + static final String DFA23_specialS = + "\1\0\u01af\uffff}>"; + static final String[] DFA23_transitionS = { + "\11\62\2\61\2\62\1\61\22\62\1\61\1\41\1\57\1\16\1\56\1\51\1\40\1\60\1\14\1\15\1\20\1\43\1\24\1\35\1\33\1\44\1\53\11\54\1\32\1\13\1\42\1\12\1\17\1\36\1\62\2\56\1\46\3\56\1\45\4\56\1\47\6\56\1\50\7\56\1\21\1\62\1\22\1\55\1\56\1\62\1\4\1\56\1\6\1\30\1\5\1\23\2\56\1\3\1\56\1\25\1\34\1\56\1\7\1\56\1\27\1\56\1\26\1\1\1\37\1\56\1\52\1\2\3\56\1\10\1\31\1\11\uff82\62", + "\1\63\1\uffff\1\65\11\uffff\1\66\4\uffff\1\67\1\70\1\uffff\1\64\1\uffff\1\71", + "\1\74\1\73", + "\1\77\6\uffff\1\75\1\76", + "\1\100", + "\1\102\13\uffff\1\101", + "\1\103\15\uffff\1\104", + "\1\105\3\uffff\1\110\11\uffff\1\106\5\uffff\1\107", "", - "\1\104", "", + "\1\113\1\114", "", "", "", - "\1\113\1\112", "", + "\1\123\1\122", + "\1\126\22\uffff\1\125", "", "", - "\1\120\7\uffff\1\121\5\uffff\1\122", + "\1\132\7\uffff\1\133\5\uffff\1\134", "", - "\1\124", - "\1\125", - "\1\126", - "\1\127\3\uffff\1\131\11\uffff\1\130", - "\1\132", - "\1\134", - "\12\137", + "\1\136", + "\1\137", "\1\140", - "\1\141", - "", - "\1\144\11\uffff\1\146\6\uffff\1\145", - "\1\147", - "\1\150", - "\1\152", - "", - "\1\155\4\uffff\1\156", - "\1\160", - "\1\161", - "\1\162", - "\1\163", - "\1\137\1\uffff\12\165", - "\32\64\4\uffff\1\64\1\uffff\32\64", - "", - "\0\166", - "\0\166", - "", - "", + "\1\141\3\uffff\1\143\11\uffff\1\142", + "\1\144", + "\1\146", + "\1\150\1\uffff\12\152", + "\1\153", + "\1\156\17\uffff\1\155\1\154", + "\1\161\13\uffff\1\160", + "\1\163\11\uffff\1\165\6\uffff\1\164", + "\1\166", "\1\170", - "\1\171", - "\1\172\1\uffff\1\173", - "\1\174", - "", - "\1\175", - "\1\176", - "\1\177\10\uffff\1\u0080", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\1\u0085\6\uffff\1\u0084\3\uffff\1\u0083", + "\1\172\1\173", + "\1\176\21\uffff\1\175", + "\1\u0081\4\uffff\1\u0082\15\uffff\1\u0080", + "\1\u0084", + "\1\u0085", "\1\u0086", "\1\u0087", - "\1\u0089\1\uffff\1\u0088", + "\1\u0088", "\1\u008a", - "\1\u008b", - "\1\u008c", - "\1\u008d", + "\1\152\1\uffff\12\u008c\10\uffff\1\u008e\1\uffff\3\u008e\5\uffff\1\u008e\13\uffff\1\u008b\6\uffff\1\u008f\2\uffff\1\u008e\1\uffff\3\u008e\5\uffff\1\u008e\13\uffff\1\u008b", + "\1\152\1\uffff\12\u008c\10\uffff\1\u008e\1\uffff\3\u008e\5\uffff\1\u008e\22\uffff\1\u008f\2\uffff\1\u008e\1\uffff\3\u008e\5\uffff\1\u008e", + "\1\72\34\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "", "", "", "", "", + "\1\u0092", + "\1\u0093", + "\1\u0094\1\uffff\1\u0095", + "\1\u0096", + "\1\u0097", + "\1\u0098", + "\1\u0099", "", + "\1\u009a", + "\1\u009b", + "\1\u009c", + "\1\u009d\10\uffff\1\u009e", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\u00a3\6\uffff\1\u00a2\3\uffff\1\u00a1", + "\1\u00a4", + "\1\u00a5\1\u00a6", + "\1\u00a8\1\uffff\1\u00a7", + "\1\u00a9", + "\1\u00aa", + "\1\u00ab", + "\1\u00ac", "", "", + "\1\u00ad", "", "", "", "", "", "", - "\1\u008e\10\uffff\1\u008f", - "\1\u0090", - "\1\u0091", "", - "\1\u0092", - "\1\u0093\6\uffff\1\u0094", - "\1\u0095", - "\1\u0096", - "\1\u0097", - "\1\u0098", "", "", "", "", "", "", - "\1\u0099", "", + "\1\u00af\10\uffff\1\u00b0", + "\1\u00b1", + "\1\u00b2", "", + "\1\u00b3", + "\1\u00b4\6\uffff\1\u00b5\11\uffff\1\u00b6", + "\1\u00b7", + "\1\u00b8", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\14\72\1\u00b9\15\72", + "\1\u00bb", "", - "\1\u009a", - "\1\u009b", - "\1\u009c", "", "", "", + "\1\u00bc", "", "", + "\1\u00be", "", "", "", "", - "\1\u009d", - "\1\u009e", - "\1\u009f", - "\1\u00a0", "", - "\1\137\1\uffff\12\165", "", "", - "\1\u00a1", - "\1\u00a2", - "\1\u00a3", - "\1\u00a4", - "\1\u00a5", - "\1\u00a6", - "\1\u00a8\2\uffff\1\u00a7", - "\1\u00a9", - "\1\u00aa", + "\1\u00bf\14\uffff\1\u00c0", + "\1\u00c1", + "\1\u00c2\3\uffff\1\u00c3", "", "", - "\1\u00ab", - "\1\u00ac", - "\1\u00ad", - "\1\u00ae", - "\1\u00af", - "\1\u00b0", - "\1\u00b1", - "\1\u00b2", - "\1\u00b3", - "\1\u00b4", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\1\u00b6", - "\1\u00b7", - "\1\u00b8", - "\1\u00b9", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\1\u00bb", - "\1\u00bc", - "\1\u00bd", - "\1\u00be", - "\1\u00bf", - "\1\u00c0", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\1\u00c2", - "\1\u00c3", "\1\u00c4", - "\1\u00c5", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "\1\u00c6", "\1\u00c7", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\1\u00ca\3\uffff\1\u00c9", - "\1\u00cb", + "\1\u00c8", + "\1\u00c9", + "", + "", + "\1\u00cb\5\uffff\1\u00ca", + "", + "\1\152\1\uffff\12\u008c\10\uffff\1\u008e\1\uffff\3\u008e\5\uffff\1\u008e\22\uffff\1\u008f\2\uffff\1\u008e\1\uffff\3\u008e\5\uffff\1\u008e", + "", + "", + "\12\u008f\10\uffff\1\u008e\1\uffff\3\u008e\5\uffff\1\u008e\22\uffff\1\u008f\2\uffff\1\u008e\1\uffff\3\u008e\5\uffff\1\u008e", + "", + "", "\1\u00cc", "\1\u00cd", "\1\u00ce", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u00cf", "\1\u00d0", "\1\u00d1", "\1\u00d2", "\1\u00d3", "\1\u00d4", "\1\u00d5", - "\1\u00d6", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\1\u00d9", - "\1\u00da", + "\1\u00d7\2\uffff\1\u00d6", + "\1\u00d8", + "\1\u00da\16\uffff\1\u00d9", + "", + "", "\1\u00db", "\1\u00dc", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "", + "\1\u00dd", "\1\u00de", "\1\u00df", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u00e0", "\1\u00e1", - "", "\1\u00e2", "\1\u00e3", "\1\u00e4", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\1\u00e6", - "\1\u00e7", + "\1\u00e5", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\1\u00e9", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\1\u00eb", - "\1\u00ec", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", "", + "\1\u00e7", + "\1\u00e8", + "\1\u00ea\2\uffff\1\u00e9", + "\1\72\13\uffff\12\72\7\uffff\1\u00eb\31\72\4\uffff\1\72\1\uffff\32\72", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "\1\u00ee", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\16\64\1\u00ef\13\64", + "\1\u00ef", + "\1\u00f0", "\1\u00f1", "\1\u00f2", "\1\u00f3", + "", "\1\u00f4", "", - "\1\u00f5", + "", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "\1\u00f6", "\1\u00f7", "\1\u00f8", "\1\u00f9", - "\1\u00fa", - "\1\u00fb", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "", "", + "\1\u00fb", "\1\u00fc", "\1\u00fd", - "\1\u00fe", - "\1\u00ff", - "", - "\1\u0100", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "", - "\1\u0102", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\u0102\3\uffff\1\u0101", "\1\u0103", "\1\u0104", "\1\u0105", - "", "\1\u0106", "\1\u0107", - "", "\1\u0108", - "", "\1\u0109", - "\1\u010a", - "", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "\1\u010b", "\1\u010c", - "", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\5\64\1\u010e\24\64\4\uffff\1\64\1\uffff\32\64", + "\1\u010d", + "\1\u010e", + "\1\u010f", "\1\u0110", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u0111", + "\1\u0112", "\1\u0113", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\1\u0115", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "\1\u0116", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u0117", + "\1\u0118", "\1\u0119", "\1\u011a", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "", "\1\u011c", "\1\u011d", - "", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "\1\u011f", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u0120", + "", + "", + "\1\u0121", "\1\u0122", "\1\u0123", "\1\u0124", - "\1\u0125", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "\1\u0126", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u0127", "", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "\1\u0129", + "\1\u012a\33\uffff\1\u012b", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "", - "\1\u012a", - "", - "", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "", - "\1\u012c", "\1\u012d", + "\1\u012e", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "", "", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", "", "\1\u0130", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "", - "\1\u0132", - "", - "", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\16\72\1\u0131\13\72", + "\1\u0133", + "\1\u0134", "\1\u0135", "\1\u0136", "\1\u0137", - "", - "", - "\1\u0138", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "\1\u0139", "", - "\1\u013a", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "\1\u013b", - "", - "", "\1\u013c", - "", "\1\u013d", - "", - "", "\1\u013e", "\1\u013f", - "\1\u0140", - "\1\u0141", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u0141\16\uffff\1\u0140", + "\1\u0142", "\1\u0143", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\u0145", + "\1\u0146", "\1\u0147", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u0148", + "", "\1\u0149", - "\1\u014a", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "", "\1\u014b", + "\1\u014c", + "\1\u014d", + "\1\u014e", + "\1\u014f", + "\1\u0150", + "", + "\1\u0151", + "\1\u0152", + "", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\u0154", + "\1\u0155", + "", + "\1\u0156", + "\1\u0157", + "", + "\1\u0158", + "\1\u0159", + "", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\72\13\uffff\12\72\7\uffff\5\72\1\u015b\24\72\4\uffff\1\72\1\uffff\32\72", + "\1\u015d", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "", + "\1\u0160", + "", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\u0162", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\u0164", + "\1\u0165", + "\1\u0166", + "\1\u0167", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "", + "\1\u016a", + "\1\u016b", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\u016d", + "\1\u016e", + "", + "\1\u016f", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\u0171", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\u0175", + "\1\u0176", + "", + "\1\u0177", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\u0179", + "\1\u017a", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "", + "\1\u017d", + "", + "\1\u017e", + "", + "", + "\1\u017f", "", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "", + "\1\u0181", + "\1\u0182", + "\1\u0183", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", "", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "", + "\1\u0187", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "", + "\1\u018a", + "", + "", + "", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\u018d", + "", + "\1\u018e", + "\1\u018f", + "", + "", + "\1\u0190", + "\1\u0191", + "\1\u0192", + "", + "\1\u0193", + "\1\u0194", + "\1\u0195", + "", + "", + "", + "\1\u0196", + "", + "", + "\1\u0197", + "", + "", + "\1\u0198", + "\1\u0199", + "\1\u019a", + "\1\u019b", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\u019d", + "\1\u019e", + "\1\u019f", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\u01a3", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\u01a5", + "\1\u01a6", + "", + "\1\u01a7", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\u01a9", + "", + "", + "", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "\1\u01ad", + "", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", + "", + "", + "", + "\1\72\13\uffff\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72", "", "" }; - 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 final short[] DFA23_eot = DFA.unpackEncodedString(DFA23_eotS); + static final short[] DFA23_eof = DFA.unpackEncodedString(DFA23_eofS); + static final char[] DFA23_min = DFA.unpackEncodedStringToUnsignedChars(DFA23_minS); + static final char[] DFA23_max = DFA.unpackEncodedStringToUnsignedChars(DFA23_maxS); + static final short[] DFA23_accept = DFA.unpackEncodedString(DFA23_acceptS); + static final short[] DFA23_special = DFA.unpackEncodedString(DFA23_specialS); + static final short[][] DFA23_transition; static { - int numStates = DFA14_transitionS.length; - DFA14_transition = new short[numStates][]; + int numStates = DFA23_transitionS.length; + DFA23_transition = new short[numStates][]; for (int i=0; i='\u0000' && LA14_44<='\uFFFF')) ) {s = 118;} - - else s = 47; - - if ( s>=0 ) return s; - break; - case 1 : - int LA14_45 = input.LA(1); + int LA23_0 = input.LA(1); s = -1; - if ( ((LA14_45>='\u0000' && LA14_45<='\uFFFF')) ) {s = 118;} + if ( (LA23_0=='s') ) {s = 1;} - else s = 47; + else if ( (LA23_0=='w') ) {s = 2;} - if ( s>=0 ) return s; - break; - case 2 : - int LA14_0 = input.LA(1); + else if ( (LA23_0=='i') ) {s = 3;} - s = -1; - if ( (LA14_0=='s') ) {s = 1;} + else if ( (LA23_0=='a') ) {s = 4;} - else if ( (LA14_0=='w') ) {s = 2;} + else if ( (LA23_0=='e') ) {s = 5;} - else if ( (LA14_0=='i') ) {s = 3;} + else if ( (LA23_0=='c') ) {s = 6;} - else if ( (LA14_0=='a') ) {s = 4;} + else if ( (LA23_0=='n') ) {s = 7;} - else if ( (LA14_0=='e') ) {s = 5;} + else if ( (LA23_0=='{') ) {s = 8;} - else if ( (LA14_0=='c') ) {s = 6;} + else if ( (LA23_0=='}') ) {s = 9;} - else if ( (LA14_0=='n') ) {s = 7;} + else if ( (LA23_0=='=') ) {s = 10;} - else if ( (LA14_0=='{') ) {s = 8;} + else if ( (LA23_0==';') ) {s = 11;} - else if ( (LA14_0=='}') ) {s = 9;} + else if ( (LA23_0=='(') ) {s = 12;} - else if ( (LA14_0=='=') ) {s = 10;} + else if ( (LA23_0==')') ) {s = 13;} - else if ( (LA14_0==';') ) {s = 11;} + else if ( (LA23_0=='#') ) {s = 14;} - else if ( (LA14_0=='(') ) {s = 12;} + else if ( (LA23_0=='>') ) {s = 15;} - else if ( (LA14_0==')') ) {s = 13;} + else if ( (LA23_0=='*') ) {s = 16;} - else if ( (LA14_0=='#') ) {s = 14;} + else if ( (LA23_0=='[') ) {s = 17;} - else if ( (LA14_0=='>') ) {s = 15;} + else if ( (LA23_0==']') ) {s = 18;} - else if ( (LA14_0=='*') ) {s = 16;} + else if ( (LA23_0=='f') ) {s = 19;} - else if ( (LA14_0=='[') ) {s = 17;} + else if ( (LA23_0==',') ) {s = 20;} - else if ( (LA14_0==']') ) {s = 18;} + else if ( (LA23_0=='k') ) {s = 21;} - else if ( (LA14_0=='f') ) {s = 19;} + else if ( (LA23_0=='r') ) {s = 22;} - else if ( (LA14_0==',') ) {s = 20;} + else if ( (LA23_0=='p') ) {s = 23;} - else if ( (LA14_0=='k') ) {s = 21;} + else if ( (LA23_0=='d') ) {s = 24;} - else if ( (LA14_0=='r') ) {s = 22;} + else if ( (LA23_0=='|') ) {s = 25;} - else if ( (LA14_0=='p') ) {s = 23;} + else if ( (LA23_0==':') ) {s = 26;} - else if ( (LA14_0=='d') ) {s = 24;} + else if ( (LA23_0=='.') ) {s = 27;} - else if ( (LA14_0=='|') ) {s = 25;} + else if ( (LA23_0=='l') ) {s = 28;} - else if ( (LA14_0==':') ) {s = 26;} + else if ( (LA23_0=='-') ) {s = 29;} - else if ( (LA14_0=='.') ) {s = 27;} + else if ( (LA23_0=='?') ) {s = 30;} - else if ( (LA14_0=='l') ) {s = 28;} + else if ( (LA23_0=='t') ) {s = 31;} - else if ( (LA14_0=='-') ) {s = 29;} + else if ( (LA23_0=='&') ) {s = 32;} - else if ( (LA14_0=='?') ) {s = 30;} + else if ( (LA23_0=='!') ) {s = 33;} - else if ( (LA14_0=='t') ) {s = 31;} + else if ( (LA23_0=='<') ) {s = 34;} - else if ( (LA14_0=='&') ) {s = 32;} + else if ( (LA23_0=='+') ) {s = 35;} - else if ( (LA14_0=='!') ) {s = 33;} + else if ( (LA23_0=='/') ) {s = 36;} - else if ( (LA14_0=='<') ) {s = 34;} + else if ( (LA23_0=='G') ) {s = 37;} - else if ( (LA14_0=='+') ) {s = 35;} + else if ( (LA23_0=='C') ) {s = 38;} - else if ( (LA14_0=='/') ) {s = 36;} + else if ( (LA23_0=='L') ) {s = 39;} - else if ( (LA14_0=='G') ) {s = 37;} + else if ( (LA23_0=='S') ) {s = 40;} - else if ( (LA14_0=='C') ) {s = 38;} + else if ( (LA23_0=='%') ) {s = 41;} - else if ( (LA14_0=='L') ) {s = 39;} + else if ( (LA23_0=='v') ) {s = 42;} - else if ( (LA14_0=='S') ) {s = 40;} + else if ( (LA23_0=='0') ) {s = 43;} - else if ( ((LA14_0>='0' && LA14_0<='9')) ) {s = 41;} + else if ( ((LA23_0>='1' && LA23_0<='9')) ) {s = 44;} - else if ( (LA14_0=='^') ) {s = 42;} + else if ( (LA23_0=='^') ) {s = 45;} - else if ( ((LA14_0>='A' && LA14_0<='B')||(LA14_0>='D' && LA14_0<='F')||(LA14_0>='H' && LA14_0<='K')||(LA14_0>='M' && LA14_0<='R')||(LA14_0>='T' && LA14_0<='Z')||LA14_0=='_'||LA14_0=='b'||(LA14_0>='g' && LA14_0<='h')||LA14_0=='j'||LA14_0=='m'||LA14_0=='o'||LA14_0=='q'||(LA14_0>='u' && LA14_0<='v')||(LA14_0>='x' && LA14_0<='z')) ) {s = 43;} + else if ( (LA23_0=='$'||(LA23_0>='A' && LA23_0<='B')||(LA23_0>='D' && LA23_0<='F')||(LA23_0>='H' && LA23_0<='K')||(LA23_0>='M' && LA23_0<='R')||(LA23_0>='T' && LA23_0<='Z')||LA23_0=='_'||LA23_0=='b'||(LA23_0>='g' && LA23_0<='h')||LA23_0=='j'||LA23_0=='m'||LA23_0=='o'||LA23_0=='q'||LA23_0=='u'||(LA23_0>='x' && LA23_0<='z')) ) {s = 46;} - else if ( (LA14_0=='\"') ) {s = 44;} + else if ( (LA23_0=='\"') ) {s = 47;} - else if ( (LA14_0=='\'') ) {s = 45;} + else if ( (LA23_0=='\'') ) {s = 48;} - else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 46;} + else if ( ((LA23_0>='\t' && LA23_0<='\n')||LA23_0=='\r'||LA23_0==' ') ) {s = 49;} - 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<='\uFFFF')) ) {s = 47;} + else if ( ((LA23_0>='\u0000' && LA23_0<='\b')||(LA23_0>='\u000B' && LA23_0<='\f')||(LA23_0>='\u000E' && LA23_0<='\u001F')||LA23_0=='@'||LA23_0=='\\'||LA23_0=='`'||(LA23_0>='~' && LA23_0<='\uFFFF')) ) {s = 50;} if ( s>=0 ) return s; break; } NoViableAltException nvae = - new NoViableAltException(getDescription(), 14, _s, input); + new NoViableAltException(getDescription(), 23, _s, input); error(nvae); throw nvae; } diff --git a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/parser/antlr/internal/InternalScopeParser.java b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/parser/antlr/internal/InternalScopeParser.java index d6c09a4bd0..fdd1a82e1a 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/parser/antlr/internal/InternalScopeParser.java +++ b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/parser/antlr/internal/InternalScopeParser.java @@ -23,21 +23,14 @@ @SuppressWarnings("all") public class InternalScopeParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_STRING", "RULE_INT", "RULE_REAL", "RULE_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'scoping'", "'with'", "'import'", "'as'", "'extension'", "'inject'", "'case'", "'naming'", "'{'", "'}'", "'='", "';'", "'scope'", "'('", "')'", "'#'", "'context'", "'>>'", "'*'", "'['", "']'", "'factory'", "'scopeof'", "','", "'find'", "'key'", "'recursive'", "'prefix'", "'data'", "'domains'", "'|'", "'export'", "'::'", "'.'", "'let'", "':'", "'->'", "'?'", "'if'", "'then'", "'else'", "'switch'", "'default'", "'||'", "'&&'", "'implies'", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'+'", "'-'", "'/'", "'!'", "'typeSelect'", "'collect'", "'select'", "'selectFirst'", "'reject'", "'exists'", "'notExists'", "'sortBy'", "'forAll'", "'true'", "'false'", "'null'", "'GLOBALVAR'", "'new'", "'Collection'", "'List'", "'Set'", "'sensitive'", "'insensitive'" + "", "", "", "", "RULE_STRING", "RULE_INT", "RULE_REAL", "RULE_ID", "RULE_HEX", "RULE_DECIMAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'scoping'", "'with'", "'import'", "'as'", "'extension'", "'inject'", "'case'", "'naming'", "'{'", "'}'", "'='", "';'", "'scope'", "'('", "')'", "'#'", "'context'", "'>>'", "'*'", "'['", "']'", "'factory'", "'scopeof'", "','", "'find'", "'key'", "'recursive'", "'prefix'", "'data'", "'domains'", "'|'", "'export'", "'::'", "'.'", "'let'", "':'", "'->'", "'?'", "'if'", "'then'", "'else'", "'switch'", "'default'", "'||'", "'&&'", "'implies'", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'+'", "'-'", "'/'", "'!'", "'typeSelect'", "'collect'", "'select'", "'selectFirst'", "'reject'", "'exists'", "'notExists'", "'sortBy'", "'forAll'", "'true'", "'false'", "'null'", "'GLOBALVAR'", "'new'", "'Collection'", "'List'", "'Set'", "'+='", "'-='", "'*='", "'/='", "'%='", "'==='", "'!=='", "'instanceof'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'**'", "'%'", "'++'", "'--'", "'?.'", "'for'", "'while'", "'do'", "'var'", "'val'", "'extends'", "'static'", "'super'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'&'", "'sensitive'", "'insensitive'" }; + public static final int RULE_HEX=8; public static final int T__50=50; - public static final int T__19=19; - public static final int T__15=15; public static final int T__59=59; - public static final int T__16=16; - public static final int T__17=17; - public static final int T__18=18; public static final int T__55=55; - public static final int T__12=12; public static final int T__56=56; - public static final int T__13=13; public static final int T__57=57; - public static final int T__14=14; public static final int T__58=58; public static final int T__51=51; public static final int T__52=52; @@ -47,55 +40,26 @@ public class InternalScopeParser extends AbstractInternalAntlrParser { public static final int T__61=61; public static final int RULE_ID=7; public static final int RULE_REAL=6; - public static final int T__26=26; - public static final int T__27=27; - public static final int T__28=28; public static final int RULE_INT=5; - public static final int T__29=29; - public static final int T__22=22; public static final int T__66=66; - public static final int RULE_ML_COMMENT=8; - public static final int T__23=23; + public static final int RULE_ML_COMMENT=10; public static final int T__67=67; - public static final int T__24=24; public static final int T__68=68; - public static final int T__25=25; public static final int T__69=69; public static final int T__62=62; public static final int T__63=63; - public static final int T__20=20; public static final int T__64=64; - public static final int T__21=21; public static final int T__65=65; - public static final int T__70=70; - public static final int T__71=71; - public static final int T__72=72; - public static final int RULE_STRING=4; - public static final int RULE_SL_COMMENT=9; public static final int T__37=37; public static final int T__38=38; public static final int T__39=39; public static final int T__33=33; - public static final int T__77=77; public static final int T__34=34; - public static final int T__78=78; public static final int T__35=35; - public static final int T__79=79; public static final int T__36=36; - public static final int T__73=73; - public static final int EOF=-1; public static final int T__30=30; - public static final int T__74=74; public static final int T__31=31; - public static final int T__75=75; public static final int T__32=32; - public static final int T__76=76; - public static final int T__80=80; - public static final int T__81=81; - public static final int T__82=82; - public static final int T__83=83; - public static final int RULE_WS=10; - public static final int RULE_ANY_OTHER=11; public static final int T__48=48; public static final int T__49=49; public static final int T__44=44; @@ -103,12 +67,84 @@ public class InternalScopeParser extends AbstractInternalAntlrParser { public static final int T__46=46; public static final int T__47=47; public static final int T__40=40; - public static final int T__84=84; public static final int T__41=41; - public static final int T__85=85; public static final int T__42=42; - public static final int T__86=86; public static final int T__43=43; + public static final int T__91=91; + public static final int T__100=100; + public static final int T__92=92; + public static final int T__93=93; + public static final int T__102=102; + public static final int T__94=94; + public static final int T__101=101; + public static final int T__90=90; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__99=99; + public static final int T__14=14; + public static final int T__95=95; + public static final int T__96=96; + public static final int T__97=97; + public static final int T__98=98; + public static final int RULE_DECIMAL=9; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int T__29=29; + public static final int T__22=22; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + public static final int T__122=122; + public static final int T__70=70; + public static final int T__121=121; + public static final int T__71=71; + public static final int T__72=72; + public static final int T__120=120; + public static final int RULE_STRING=4; + public static final int RULE_SL_COMMENT=11; + public static final int T__77=77; + public static final int T__119=119; + public static final int T__78=78; + public static final int T__118=118; + public static final int T__79=79; + public static final int T__73=73; + public static final int T__115=115; + public static final int EOF=-1; + public static final int T__74=74; + public static final int T__114=114; + public static final int T__75=75; + public static final int T__117=117; + public static final int T__76=76; + public static final int T__116=116; + public static final int T__80=80; + public static final int T__111=111; + public static final int T__81=81; + public static final int T__110=110; + public static final int T__82=82; + public static final int T__113=113; + public static final int T__83=83; + public static final int T__112=112; + public static final int RULE_WS=12; + public static final int RULE_ANY_OTHER=13; + public static final int T__88=88; + public static final int T__108=108; + public static final int T__89=89; + public static final int T__107=107; + public static final int T__109=109; + public static final int T__84=84; + public static final int T__104=104; + public static final int T__85=85; + public static final int T__103=103; + public static final int T__86=86; + public static final int T__106=106; + public static final int T__87=87; + public static final int T__105=105; // delegates // delegators @@ -219,7 +255,7 @@ public final EObject ruleScopeModel() throws RecognitionException { // InternalScope.g:79:2: (otherlv_0= 'scoping' ( (lv_name_1_0= ruleDottedID ) ) (otherlv_2= 'with' ( ( ruleDottedID ) ) )? ( (lv_imports_4_0= ruleImport ) )* ( (lv_extensions_5_0= ruleExtension ) )* ( (lv_injections_6_0= ruleInjection ) )* ( (lv_naming_7_0= ruleNamingSection ) )? ( (lv_scopes_8_0= ruleScopeDefinition ) )* ) // InternalScope.g:80:3: otherlv_0= 'scoping' ( (lv_name_1_0= ruleDottedID ) ) (otherlv_2= 'with' ( ( ruleDottedID ) ) )? ( (lv_imports_4_0= ruleImport ) )* ( (lv_extensions_5_0= ruleExtension ) )* ( (lv_injections_6_0= ruleInjection ) )* ( (lv_naming_7_0= ruleNamingSection ) )? ( (lv_scopes_8_0= ruleScopeDefinition ) )* { - otherlv_0=(Token)match(input,12,FOLLOW_3); if (state.failed) return current; + otherlv_0=(Token)match(input,14,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getScopeModelAccess().getScopingKeyword_0()); @@ -264,14 +300,14 @@ public final EObject ruleScopeModel() throws RecognitionException { int alt1=2; int LA1_0 = input.LA(1); - if ( (LA1_0==13) ) { + if ( (LA1_0==15) ) { alt1=1; } switch (alt1) { case 1 : // InternalScope.g:104:4: otherlv_2= 'with' ( ( ruleDottedID ) ) { - otherlv_2=(Token)match(input,13,FOLLOW_3); if (state.failed) return current; + otherlv_2=(Token)match(input,15,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getScopeModelAccess().getWithKeyword_2_0()); @@ -323,7 +359,7 @@ public final EObject ruleScopeModel() throws RecognitionException { int alt2=2; int LA2_0 = input.LA(1); - if ( (LA2_0==14) ) { + if ( (LA2_0==16) ) { alt2=1; } @@ -376,7 +412,7 @@ public final EObject ruleScopeModel() throws RecognitionException { int alt3=2; int LA3_0 = input.LA(1); - if ( (LA3_0==16) ) { + if ( (LA3_0==18) ) { alt3=1; } @@ -429,7 +465,7 @@ public final EObject ruleScopeModel() throws RecognitionException { int alt4=2; int LA4_0 = input.LA(1); - if ( (LA4_0==17) ) { + if ( (LA4_0==19) ) { alt4=1; } @@ -480,7 +516,7 @@ public final EObject ruleScopeModel() throws RecognitionException { int alt5=2; int LA5_0 = input.LA(1); - if ( ((LA5_0>=18 && LA5_0<=19)) ) { + if ( ((LA5_0>=20 && LA5_0<=21)) ) { alt5=1; } switch (alt5) { @@ -528,7 +564,7 @@ public final EObject ruleScopeModel() throws RecognitionException { int alt6=2; int LA6_0 = input.LA(1); - if ( (LA6_0==24) ) { + if ( (LA6_0==26) ) { alt6=1; } @@ -660,7 +696,7 @@ public final EObject ruleImport() throws RecognitionException { // InternalScope.g:238:2: (otherlv_0= 'import' ( (otherlv_1= RULE_STRING ) ) (otherlv_2= 'as' ( (lv_name_3_0= ruleIdentifier ) ) )? ) // InternalScope.g:239:3: otherlv_0= 'import' ( (otherlv_1= RULE_STRING ) ) (otherlv_2= 'as' ( (lv_name_3_0= ruleIdentifier ) ) )? { - otherlv_0=(Token)match(input,14,FOLLOW_9); if (state.failed) return current; + otherlv_0=(Token)match(input,16,FOLLOW_9); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0()); @@ -695,14 +731,14 @@ public final EObject ruleImport() throws RecognitionException { int alt7=2; int LA7_0 = input.LA(1); - if ( (LA7_0==15) ) { + if ( (LA7_0==17) ) { alt7=1; } switch (alt7) { case 1 : // InternalScope.g:257:4: otherlv_2= 'as' ( (lv_name_3_0= ruleIdentifier ) ) { - otherlv_2=(Token)match(input,15,FOLLOW_3); if (state.failed) return current; + otherlv_2=(Token)match(input,17,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getImportAccess().getAsKeyword_2_0()); @@ -832,7 +868,7 @@ public final EObject ruleExtension() throws RecognitionException { // InternalScope.g:299:2: (otherlv_0= 'extension' ( (lv_extension_1_0= ruleQualifiedID ) ) ) // InternalScope.g:300:3: otherlv_0= 'extension' ( (lv_extension_1_0= ruleQualifiedID ) ) { - otherlv_0=(Token)match(input,16,FOLLOW_3); if (state.failed) return current; + otherlv_0=(Token)match(input,18,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getExtensionAccess().getExtensionKeyword_0()); @@ -959,7 +995,7 @@ public final EObject ruleInjection() throws RecognitionException { // InternalScope.g:341:2: (otherlv_0= 'inject' ( (lv_type_1_0= ruleDottedID ) ) otherlv_2= 'as' ( (lv_name_3_0= ruleIdentifier ) ) ) // InternalScope.g:342:3: otherlv_0= 'inject' ( (lv_type_1_0= ruleDottedID ) ) otherlv_2= 'as' ( (lv_name_3_0= ruleIdentifier ) ) { - otherlv_0=(Token)match(input,17,FOLLOW_3); if (state.failed) return current; + otherlv_0=(Token)match(input,19,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getInjectionAccess().getInjectKeyword_0()); @@ -1000,7 +1036,7 @@ public final EObject ruleInjection() throws RecognitionException { } - otherlv_2=(Token)match(input,15,FOLLOW_3); if (state.failed) return current; + otherlv_2=(Token)match(input,17,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getInjectionAccess().getAsKeyword_2()); @@ -1146,14 +1182,14 @@ public final EObject ruleNamingSection() throws RecognitionException { int alt8=2; int LA8_0 = input.LA(1); - if ( (LA8_0==18) ) { + if ( (LA8_0==20) ) { alt8=1; } switch (alt8) { case 1 : // InternalScope.g:415:4: otherlv_1= 'case' ( (lv_casing_2_0= ruleCasing ) ) { - otherlv_1=(Token)match(input,18,FOLLOW_12); if (state.failed) return current; + otherlv_1=(Token)match(input,20,FOLLOW_12); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getNamingSectionAccess().getCaseKeyword_1_0()); @@ -1200,13 +1236,13 @@ public final EObject ruleNamingSection() throws RecognitionException { } - otherlv_3=(Token)match(input,19,FOLLOW_14); if (state.failed) return current; + otherlv_3=(Token)match(input,21,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getNamingSectionAccess().getNamingKeyword_2()); } - otherlv_4=(Token)match(input,20,FOLLOW_15); if (state.failed) return current; + otherlv_4=(Token)match(input,22,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getNamingSectionAccess().getLeftCurlyBracketKeyword_3()); @@ -1265,7 +1301,7 @@ public final EObject ruleNamingSection() throws RecognitionException { } } while (true); - otherlv_6=(Token)match(input,21,FOLLOW_2); if (state.failed) return current; + otherlv_6=(Token)match(input,23,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getNamingSectionAccess().getRightCurlyBracketKeyword_5()); @@ -1389,7 +1425,7 @@ public final EObject ruleNamingDefinition() throws RecognitionException { } - otherlv_1=(Token)match(input,22,FOLLOW_17); if (state.failed) return current; + otherlv_1=(Token)match(input,24,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getNamingDefinitionAccess().getEqualsSignKeyword_1()); @@ -1430,7 +1466,7 @@ public final EObject ruleNamingDefinition() throws RecognitionException { } - otherlv_3=(Token)match(input,23,FOLLOW_2); if (state.failed) return current; + otherlv_3=(Token)match(input,25,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getNamingDefinitionAccess().getSemicolonKeyword_3()); @@ -1526,7 +1562,7 @@ public final EObject ruleScopeDefinition() throws RecognitionException { // InternalScope.g:550:2: (otherlv_0= 'scope' (otherlv_1= '(' ( (lv_name_2_0= ruleIdentifier ) ) otherlv_3= ')' )? ( ( ( ruleQualifiedID ) ) | ( ( ( ruleQualifiedID ) ) otherlv_6= '#' ( ( ruleIdentifier ) ) ) ) otherlv_8= '{' ( (lv_rules_9_0= ruleScopeRule ) )+ otherlv_10= '}' ) // InternalScope.g:551:3: otherlv_0= 'scope' (otherlv_1= '(' ( (lv_name_2_0= ruleIdentifier ) ) otherlv_3= ')' )? ( ( ( ruleQualifiedID ) ) | ( ( ( ruleQualifiedID ) ) otherlv_6= '#' ( ( ruleIdentifier ) ) ) ) otherlv_8= '{' ( (lv_rules_9_0= ruleScopeRule ) )+ otherlv_10= '}' { - otherlv_0=(Token)match(input,24,FOLLOW_19); if (state.failed) return current; + otherlv_0=(Token)match(input,26,FOLLOW_19); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getScopeDefinitionAccess().getScopeKeyword_0()); @@ -1536,14 +1572,14 @@ public final EObject ruleScopeDefinition() throws RecognitionException { int alt10=2; int LA10_0 = input.LA(1); - if ( (LA10_0==25) ) { + if ( (LA10_0==27) ) { alt10=1; } switch (alt10) { case 1 : // InternalScope.g:556:4: otherlv_1= '(' ( (lv_name_2_0= ruleIdentifier ) ) otherlv_3= ')' { - otherlv_1=(Token)match(input,25,FOLLOW_3); if (state.failed) return current; + otherlv_1=(Token)match(input,27,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getScopeDefinitionAccess().getLeftParenthesisKeyword_1_0()); @@ -1584,7 +1620,7 @@ public final EObject ruleScopeDefinition() throws RecognitionException { } - otherlv_3=(Token)match(input,26,FOLLOW_3); if (state.failed) return current; + otherlv_3=(Token)match(input,28,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getScopeDefinitionAccess().getRightParenthesisKeyword_1_2()); @@ -1680,7 +1716,7 @@ public final EObject ruleScopeDefinition() throws RecognitionException { } - otherlv_6=(Token)match(input,27,FOLLOW_3); if (state.failed) return current; + otherlv_6=(Token)match(input,29,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getScopeDefinitionAccess().getNumberSignKeyword_2_1_1()); @@ -1729,7 +1765,7 @@ public final EObject ruleScopeDefinition() throws RecognitionException { } - otherlv_8=(Token)match(input,20,FOLLOW_22); if (state.failed) return current; + otherlv_8=(Token)match(input,22,FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getScopeDefinitionAccess().getLeftCurlyBracketKeyword_3()); @@ -1742,7 +1778,7 @@ public final EObject ruleScopeDefinition() throws RecognitionException { int alt12=2; int LA12_0 = input.LA(1); - if ( (LA12_0==28) ) { + if ( (LA12_0==30) ) { alt12=1; } @@ -1794,7 +1830,7 @@ public final EObject ruleScopeDefinition() throws RecognitionException { cnt12++; } while (true); - otherlv_10=(Token)match(input,21,FOLLOW_2); if (state.failed) return current; + otherlv_10=(Token)match(input,23,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getScopeDefinitionAccess().getRightCurlyBracketKeyword_5()); @@ -1890,7 +1926,7 @@ public final EObject ruleScopeRule() throws RecognitionException { // InternalScope.g:686:2: (otherlv_0= 'context' ( (lv_context_1_0= ruleScopeContext ) ) otherlv_2= '=' ( (lv_exprs_3_0= ruleScopeExpression ) ) (otherlv_4= '>>' ( (lv_exprs_5_0= ruleScopeExpression ) ) )* otherlv_6= ';' ) // InternalScope.g:687:3: otherlv_0= 'context' ( (lv_context_1_0= ruleScopeContext ) ) otherlv_2= '=' ( (lv_exprs_3_0= ruleScopeExpression ) ) (otherlv_4= '>>' ( (lv_exprs_5_0= ruleScopeExpression ) ) )* otherlv_6= ';' { - otherlv_0=(Token)match(input,28,FOLLOW_24); if (state.failed) return current; + otherlv_0=(Token)match(input,30,FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getScopeRuleAccess().getContextKeyword_0()); @@ -1931,7 +1967,7 @@ public final EObject ruleScopeRule() throws RecognitionException { } - otherlv_2=(Token)match(input,22,FOLLOW_25); if (state.failed) return current; + otherlv_2=(Token)match(input,24,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getScopeRuleAccess().getEqualsSignKeyword_2()); @@ -1978,7 +2014,7 @@ public final EObject ruleScopeRule() throws RecognitionException { int alt13=2; int LA13_0 = input.LA(1); - if ( (LA13_0==29) ) { + if ( (LA13_0==31) ) { alt13=1; } @@ -1987,7 +2023,7 @@ public final EObject ruleScopeRule() throws RecognitionException { case 1 : // InternalScope.g:734:4: otherlv_4= '>>' ( (lv_exprs_5_0= ruleScopeExpression ) ) { - otherlv_4=(Token)match(input,29,FOLLOW_25); if (state.failed) return current; + otherlv_4=(Token)match(input,31,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getScopeRuleAccess().getGreaterThanSignGreaterThanSignKeyword_4_0()); @@ -2037,7 +2073,7 @@ public final EObject ruleScopeRule() throws RecognitionException { } } while (true); - otherlv_6=(Token)match(input,23,FOLLOW_2); if (state.failed) return current; + otherlv_6=(Token)match(input,25,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getScopeRuleAccess().getSemicolonKeyword_5()); @@ -2132,7 +2168,7 @@ public final EObject ruleScopeContext() throws RecognitionException { int alt14=2; int LA14_0 = input.LA(1); - if ( (LA14_0==30) ) { + if ( (LA14_0==32) ) { alt14=1; } else if ( (LA14_0==RULE_ID) ) { @@ -2155,7 +2191,7 @@ else if ( (LA14_0==RULE_ID) ) { // InternalScope.g:783:5: (lv_global_0_0= '*' ) // InternalScope.g:784:6: lv_global_0_0= '*' { - lv_global_0_0=(Token)match(input,30,FOLLOW_27); if (state.failed) return current; + lv_global_0_0=(Token)match(input,32,FOLLOW_27); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_global_0_0, grammarAccess.getScopeContextAccess().getGlobalAsteriskKeyword_0_0_0()); @@ -2225,14 +2261,14 @@ else if ( (LA14_0==RULE_ID) ) { int alt15=2; int LA15_0 = input.LA(1); - if ( (LA15_0==31) ) { + if ( (LA15_0==33) ) { alt15=1; } switch (alt15) { case 1 : // InternalScope.g:815:4: otherlv_2= '[' ( (lv_guard_3_0= ruleExpression ) ) otherlv_4= ']' { - otherlv_2=(Token)match(input,31,FOLLOW_17); if (state.failed) return current; + otherlv_2=(Token)match(input,33,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getScopeContextAccess().getLeftSquareBracketKeyword_1_0()); @@ -2273,7 +2309,7 @@ else if ( (LA14_0==RULE_ID) ) { } - otherlv_4=(Token)match(input,32,FOLLOW_2); if (state.failed) return current; + otherlv_4=(Token)match(input,34,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getScopeContextAccess().getRightSquareBracketKeyword_1_2()); @@ -2371,12 +2407,12 @@ public final EObject ruleScopeExpression() throws RecognitionException { // InternalScope.g:861:2: (this_ScopeDelegation_0= ruleScopeDelegation | this_FactoryExpression_1= ruleFactoryExpression | this_NamedScopeExpression_2= ruleNamedScopeExpression ) int alt16=3; switch ( input.LA(1) ) { - case 34: + case 36: { alt16=1; } break; - case 33: + case 35: { alt16=2; } @@ -2385,15 +2421,13 @@ public final EObject ruleScopeExpression() throws RecognitionException { case RULE_INT: case RULE_REAL: case RULE_ID: - case 20: - case 25: - case 36: - case 46: - case 50: - case 53: - case 65: + case 22: + case 27: + case 38: + case 48: + case 52: + case 55: case 67: - case 68: case 69: case 70: case 71: @@ -2410,6 +2444,8 @@ public final EObject ruleScopeExpression() throws RecognitionException { case 82: case 83: case 84: + case 85: + case 86: { alt16=3; } @@ -2572,7 +2608,7 @@ public final EObject ruleFactoryExpression() throws RecognitionException { // InternalScope.g:906:2: (otherlv_0= 'factory' ( (lv_expr_1_0= ruleExpression ) ) ) // InternalScope.g:907:3: otherlv_0= 'factory' ( (lv_expr_1_0= ruleExpression ) ) { - otherlv_0=(Token)match(input,33,FOLLOW_17); if (state.failed) return current; + otherlv_0=(Token)match(input,35,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getFactoryExpressionAccess().getFactoryKeyword_0()); @@ -2701,13 +2737,13 @@ public final EObject ruleScopeDelegation() throws RecognitionException { // InternalScope.g:948:2: (otherlv_0= 'scopeof' otherlv_1= '(' ( ( (lv_delegate_2_0= ruleExpression ) ) | ( (lv_external_3_0= ruleGlobalScopeExpression ) ) ) (otherlv_4= ',' ( ( ruleIdentifier ) ) )? otherlv_6= ')' ) // InternalScope.g:949:3: otherlv_0= 'scopeof' otherlv_1= '(' ( ( (lv_delegate_2_0= ruleExpression ) ) | ( (lv_external_3_0= ruleGlobalScopeExpression ) ) ) (otherlv_4= ',' ( ( ruleIdentifier ) ) )? otherlv_6= ')' { - otherlv_0=(Token)match(input,34,FOLLOW_29); if (state.failed) return current; + otherlv_0=(Token)match(input,36,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getScopeDelegationAccess().getScopeofKeyword_0()); } - otherlv_1=(Token)match(input,25,FOLLOW_30); if (state.failed) return current; + otherlv_1=(Token)match(input,27,FOLLOW_30); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getScopeDelegationAccess().getLeftParenthesisKeyword_1()); @@ -2717,10 +2753,10 @@ public final EObject ruleScopeDelegation() throws RecognitionException { int alt17=2; int LA17_0 = input.LA(1); - if ( ((LA17_0>=RULE_STRING && LA17_0<=RULE_ID)||LA17_0==20||LA17_0==25||LA17_0==46||LA17_0==50||LA17_0==53||LA17_0==65||(LA17_0>=67 && LA17_0<=84)) ) { + if ( ((LA17_0>=RULE_STRING && LA17_0<=RULE_ID)||LA17_0==22||LA17_0==27||LA17_0==48||LA17_0==52||LA17_0==55||LA17_0==67||(LA17_0>=69 && LA17_0<=86)) ) { alt17=1; } - else if ( (LA17_0==36) ) { + else if ( (LA17_0==38) ) { alt17=2; } else { @@ -2820,14 +2856,14 @@ else if ( (LA17_0==36) ) { int alt18=2; int LA18_0 = input.LA(1); - if ( (LA18_0==35) ) { + if ( (LA18_0==37) ) { alt18=1; } switch (alt18) { case 1 : // InternalScope.g:999:4: otherlv_4= ',' ( ( ruleIdentifier ) ) { - otherlv_4=(Token)match(input,35,FOLLOW_3); if (state.failed) return current; + otherlv_4=(Token)match(input,37,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getScopeDelegationAccess().getCommaKeyword_3_0()); @@ -2873,7 +2909,7 @@ else if ( (LA17_0==36) ) { } - otherlv_6=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; + otherlv_6=(Token)match(input,28,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getScopeDelegationAccess().getRightParenthesisKeyword_4()); @@ -2973,10 +3009,10 @@ public final EObject ruleNamedScopeExpression() throws RecognitionException { int alt19=2; int LA19_0 = input.LA(1); - if ( (LA19_0==36) ) { + if ( (LA19_0==38) ) { alt19=1; } - else if ( ((LA19_0>=RULE_STRING && LA19_0<=RULE_ID)||LA19_0==20||LA19_0==25||LA19_0==46||LA19_0==50||LA19_0==53||LA19_0==65||(LA19_0>=67 && LA19_0<=84)) ) { + else if ( ((LA19_0>=RULE_STRING && LA19_0<=RULE_ID)||LA19_0==22||LA19_0==27||LA19_0==48||LA19_0==52||LA19_0==55||LA19_0==67||(LA19_0>=69 && LA19_0<=86)) ) { alt19=2; } else { @@ -3038,7 +3074,7 @@ else if ( ((LA19_0>=RULE_STRING && LA19_0<=RULE_ID)||LA19_0==20||LA19_0==25||LA1 int alt20=2; int LA20_0 = input.LA(1); - if ( (LA20_0==18) ) { + if ( (LA20_0==20) ) { alt20=1; } switch (alt20) { @@ -3051,7 +3087,7 @@ else if ( ((LA19_0>=RULE_STRING && LA19_0<=RULE_ID)||LA19_0==20||LA19_0==25||LA1 // InternalScope.g:1064:5: (lv_caseDef_2_0= 'case' ) // InternalScope.g:1065:6: lv_caseDef_2_0= 'case' { - lv_caseDef_2_0=(Token)match(input,18,FOLLOW_12); if (state.failed) return current; + lv_caseDef_2_0=(Token)match(input,20,FOLLOW_12); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_caseDef_2_0, grammarAccess.getNamedScopeExpressionAccess().getCaseDefCaseKeyword_1_0_0()); @@ -3116,14 +3152,14 @@ else if ( ((LA19_0>=RULE_STRING && LA19_0<=RULE_ID)||LA19_0==20||LA19_0==25||LA1 int alt21=2; int LA21_0 = input.LA(1); - if ( (LA21_0==15) ) { + if ( (LA21_0==17) ) { alt21=1; } switch (alt21) { case 1 : // InternalScope.g:1098:4: otherlv_4= 'as' ( (lv_naming_5_0= ruleNaming ) ) { - otherlv_4=(Token)match(input,15,FOLLOW_17); if (state.failed) return current; + otherlv_4=(Token)match(input,17,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getNamedScopeExpressionAccess().getAsKeyword_2_0()); @@ -3287,13 +3323,13 @@ public final EObject ruleGlobalScopeExpression() throws RecognitionException { // InternalScope.g:1140:2: (otherlv_0= 'find' otherlv_1= '(' ( ( ruleQualifiedID ) ) ( (otherlv_3= ',' otherlv_4= 'key' otherlv_5= '=' ( (lv_name_6_0= ruleExpression ) ) ) | (otherlv_7= ',' ( (lv_recursivePrefix_8_0= 'recursive' ) )? otherlv_9= 'prefix' otherlv_10= '=' ( (lv_prefix_11_0= ruleExpression ) ) ) )? (otherlv_12= ',' otherlv_13= 'data' otherlv_14= '=' otherlv_15= '(' ( (lv_data_16_0= ruleDataExpression ) ) (otherlv_17= ',' ( (lv_data_18_0= ruleDataExpression ) ) )* otherlv_19= ')' )? (otherlv_20= ',' otherlv_21= 'domains' otherlv_22= '=' ( ( (lv_domains_23_0= '*' ) ) | ( (lv_domains_24_0= ruleIdentifier ) ) | (otherlv_25= '(' ( (lv_domains_26_0= ruleIdentifier ) ) (otherlv_27= ',' ( (lv_domains_28_0= ruleIdentifier ) ) )* otherlv_29= ')' ) ) )? otherlv_30= ')' ) // InternalScope.g:1141:3: otherlv_0= 'find' otherlv_1= '(' ( ( ruleQualifiedID ) ) ( (otherlv_3= ',' otherlv_4= 'key' otherlv_5= '=' ( (lv_name_6_0= ruleExpression ) ) ) | (otherlv_7= ',' ( (lv_recursivePrefix_8_0= 'recursive' ) )? otherlv_9= 'prefix' otherlv_10= '=' ( (lv_prefix_11_0= ruleExpression ) ) ) )? (otherlv_12= ',' otherlv_13= 'data' otherlv_14= '=' otherlv_15= '(' ( (lv_data_16_0= ruleDataExpression ) ) (otherlv_17= ',' ( (lv_data_18_0= ruleDataExpression ) ) )* otherlv_19= ')' )? (otherlv_20= ',' otherlv_21= 'domains' otherlv_22= '=' ( ( (lv_domains_23_0= '*' ) ) | ( (lv_domains_24_0= ruleIdentifier ) ) | (otherlv_25= '(' ( (lv_domains_26_0= ruleIdentifier ) ) (otherlv_27= ',' ( (lv_domains_28_0= ruleIdentifier ) ) )* otherlv_29= ')' ) ) )? otherlv_30= ')' { - otherlv_0=(Token)match(input,36,FOLLOW_29); if (state.failed) return current; + otherlv_0=(Token)match(input,38,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getGlobalScopeExpressionAccess().getFindKeyword_0()); } - otherlv_1=(Token)match(input,25,FOLLOW_3); if (state.failed) return current; + otherlv_1=(Token)match(input,27,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_1()); @@ -3337,13 +3373,13 @@ public final EObject ruleGlobalScopeExpression() throws RecognitionException { int alt23=3; int LA23_0 = input.LA(1); - if ( (LA23_0==35) ) { + if ( (LA23_0==37) ) { int LA23_1 = input.LA(2); - if ( (LA23_1==37) ) { + if ( (LA23_1==39) ) { alt23=1; } - else if ( ((LA23_1>=38 && LA23_1<=39)) ) { + else if ( ((LA23_1>=40 && LA23_1<=41)) ) { alt23=2; } } @@ -3354,19 +3390,19 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { // InternalScope.g:1166:4: (otherlv_3= ',' otherlv_4= 'key' otherlv_5= '=' ( (lv_name_6_0= ruleExpression ) ) ) // InternalScope.g:1167:5: otherlv_3= ',' otherlv_4= 'key' otherlv_5= '=' ( (lv_name_6_0= ruleExpression ) ) { - otherlv_3=(Token)match(input,35,FOLLOW_33); if (state.failed) return current; + otherlv_3=(Token)match(input,37,FOLLOW_33); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_0_0()); } - otherlv_4=(Token)match(input,37,FOLLOW_16); if (state.failed) return current; + otherlv_4=(Token)match(input,39,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getGlobalScopeExpressionAccess().getKeyKeyword_3_0_1()); } - otherlv_5=(Token)match(input,22,FOLLOW_17); if (state.failed) return current; + otherlv_5=(Token)match(input,24,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_0_2()); @@ -3419,7 +3455,7 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { // InternalScope.g:1200:4: (otherlv_7= ',' ( (lv_recursivePrefix_8_0= 'recursive' ) )? otherlv_9= 'prefix' otherlv_10= '=' ( (lv_prefix_11_0= ruleExpression ) ) ) // InternalScope.g:1201:5: otherlv_7= ',' ( (lv_recursivePrefix_8_0= 'recursive' ) )? otherlv_9= 'prefix' otherlv_10= '=' ( (lv_prefix_11_0= ruleExpression ) ) { - otherlv_7=(Token)match(input,35,FOLLOW_34); if (state.failed) return current; + otherlv_7=(Token)match(input,37,FOLLOW_34); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_3_1_0()); @@ -3429,7 +3465,7 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { int alt22=2; int LA22_0 = input.LA(1); - if ( (LA22_0==38) ) { + if ( (LA22_0==40) ) { alt22=1; } switch (alt22) { @@ -3439,7 +3475,7 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { // InternalScope.g:1206:6: (lv_recursivePrefix_8_0= 'recursive' ) // InternalScope.g:1207:7: lv_recursivePrefix_8_0= 'recursive' { - lv_recursivePrefix_8_0=(Token)match(input,38,FOLLOW_35); if (state.failed) return current; + lv_recursivePrefix_8_0=(Token)match(input,40,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_recursivePrefix_8_0, grammarAccess.getGlobalScopeExpressionAccess().getRecursivePrefixRecursiveKeyword_3_1_1_0()); @@ -3462,13 +3498,13 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { } - otherlv_9=(Token)match(input,39,FOLLOW_16); if (state.failed) return current; + otherlv_9=(Token)match(input,41,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getGlobalScopeExpressionAccess().getPrefixKeyword_3_1_2()); } - otherlv_10=(Token)match(input,22,FOLLOW_17); if (state.failed) return current; + otherlv_10=(Token)match(input,24,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_3_1_3()); @@ -3522,10 +3558,10 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { int alt25=2; int LA25_0 = input.LA(1); - if ( (LA25_0==35) ) { + if ( (LA25_0==37) ) { int LA25_1 = input.LA(2); - if ( (LA25_1==40) ) { + if ( (LA25_1==42) ) { alt25=1; } } @@ -3533,25 +3569,25 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { case 1 : // InternalScope.g:1249:4: otherlv_12= ',' otherlv_13= 'data' otherlv_14= '=' otherlv_15= '(' ( (lv_data_16_0= ruleDataExpression ) ) (otherlv_17= ',' ( (lv_data_18_0= ruleDataExpression ) ) )* otherlv_19= ')' { - otherlv_12=(Token)match(input,35,FOLLOW_36); if (state.failed) return current; + otherlv_12=(Token)match(input,37,FOLLOW_36); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_0()); } - otherlv_13=(Token)match(input,40,FOLLOW_16); if (state.failed) return current; + otherlv_13=(Token)match(input,42,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getGlobalScopeExpressionAccess().getDataKeyword_4_1()); } - otherlv_14=(Token)match(input,22,FOLLOW_29); if (state.failed) return current; + otherlv_14=(Token)match(input,24,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_14, grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_4_2()); } - otherlv_15=(Token)match(input,25,FOLLOW_37); if (state.failed) return current; + otherlv_15=(Token)match(input,27,FOLLOW_37); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_15, grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_4_3()); @@ -3598,7 +3634,7 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { int alt24=2; int LA24_0 = input.LA(1); - if ( (LA24_0==35) ) { + if ( (LA24_0==37) ) { alt24=1; } @@ -3607,7 +3643,7 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { case 1 : // InternalScope.g:1285:5: otherlv_17= ',' ( (lv_data_18_0= ruleDataExpression ) ) { - otherlv_17=(Token)match(input,35,FOLLOW_37); if (state.failed) return current; + otherlv_17=(Token)match(input,37,FOLLOW_37); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_17, grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_4_5_0()); @@ -3657,7 +3693,7 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { } } while (true); - otherlv_19=(Token)match(input,26,FOLLOW_31); if (state.failed) return current; + otherlv_19=(Token)match(input,28,FOLLOW_31); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_19, grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_4_6()); @@ -3673,26 +3709,26 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { int alt28=2; int LA28_0 = input.LA(1); - if ( (LA28_0==35) ) { + if ( (LA28_0==37) ) { alt28=1; } switch (alt28) { case 1 : // InternalScope.g:1315:4: otherlv_20= ',' otherlv_21= 'domains' otherlv_22= '=' ( ( (lv_domains_23_0= '*' ) ) | ( (lv_domains_24_0= ruleIdentifier ) ) | (otherlv_25= '(' ( (lv_domains_26_0= ruleIdentifier ) ) (otherlv_27= ',' ( (lv_domains_28_0= ruleIdentifier ) ) )* otherlv_29= ')' ) ) { - otherlv_20=(Token)match(input,35,FOLLOW_38); if (state.failed) return current; + otherlv_20=(Token)match(input,37,FOLLOW_38); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_20, grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_0()); } - otherlv_21=(Token)match(input,41,FOLLOW_16); if (state.failed) return current; + otherlv_21=(Token)match(input,43,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_21, grammarAccess.getGlobalScopeExpressionAccess().getDomainsKeyword_5_1()); } - otherlv_22=(Token)match(input,22,FOLLOW_39); if (state.failed) return current; + otherlv_22=(Token)match(input,24,FOLLOW_39); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_22, grammarAccess.getGlobalScopeExpressionAccess().getEqualsSignKeyword_5_2()); @@ -3701,7 +3737,7 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { // InternalScope.g:1327:4: ( ( (lv_domains_23_0= '*' ) ) | ( (lv_domains_24_0= ruleIdentifier ) ) | (otherlv_25= '(' ( (lv_domains_26_0= ruleIdentifier ) ) (otherlv_27= ',' ( (lv_domains_28_0= ruleIdentifier ) ) )* otherlv_29= ')' ) ) int alt27=3; switch ( input.LA(1) ) { - case 30: + case 32: { alt27=1; } @@ -3711,7 +3747,7 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { alt27=2; } break; - case 25: + case 27: { alt27=3; } @@ -3734,7 +3770,7 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { // InternalScope.g:1329:6: (lv_domains_23_0= '*' ) // InternalScope.g:1330:7: lv_domains_23_0= '*' { - lv_domains_23_0=(Token)match(input,30,FOLLOW_20); if (state.failed) return current; + lv_domains_23_0=(Token)match(input,32,FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_domains_23_0, grammarAccess.getGlobalScopeExpressionAccess().getDomainsAsteriskKeyword_5_3_0_0()); @@ -3804,7 +3840,7 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { // InternalScope.g:1363:5: (otherlv_25= '(' ( (lv_domains_26_0= ruleIdentifier ) ) (otherlv_27= ',' ( (lv_domains_28_0= ruleIdentifier ) ) )* otherlv_29= ')' ) // InternalScope.g:1364:6: otherlv_25= '(' ( (lv_domains_26_0= ruleIdentifier ) ) (otherlv_27= ',' ( (lv_domains_28_0= ruleIdentifier ) ) )* otherlv_29= ')' { - otherlv_25=(Token)match(input,25,FOLLOW_3); if (state.failed) return current; + otherlv_25=(Token)match(input,27,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_25, grammarAccess.getGlobalScopeExpressionAccess().getLeftParenthesisKeyword_5_3_2_0()); @@ -3851,7 +3887,7 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { int alt26=2; int LA26_0 = input.LA(1); - if ( (LA26_0==35) ) { + if ( (LA26_0==37) ) { alt26=1; } @@ -3860,7 +3896,7 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { case 1 : // InternalScope.g:1388:7: otherlv_27= ',' ( (lv_domains_28_0= ruleIdentifier ) ) { - otherlv_27=(Token)match(input,35,FOLLOW_3); if (state.failed) return current; + otherlv_27=(Token)match(input,37,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_27, grammarAccess.getGlobalScopeExpressionAccess().getCommaKeyword_5_3_2_2_0()); @@ -3910,7 +3946,7 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { } } while (true); - otherlv_29=(Token)match(input,26,FOLLOW_20); if (state.failed) return current; + otherlv_29=(Token)match(input,28,FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_29, grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_5_3_2_3()); @@ -3931,7 +3967,7 @@ else if ( ((LA23_1>=38 && LA23_1<=39)) ) { } - otherlv_30=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; + otherlv_30=(Token)match(input,28,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_30, grammarAccess.getGlobalScopeExpressionAccess().getRightParenthesisKeyword_6()); @@ -4025,7 +4061,7 @@ public final EObject ruleDataExpression() throws RecognitionException { if ( (LA29_0==RULE_ID) ) { alt29=1; } - else if ( (LA29_0==31) ) { + else if ( (LA29_0==33) ) { alt29=2; } else { @@ -4200,7 +4236,7 @@ public final EObject ruleMatchDataExpression() throws RecognitionException { } - otherlv_1=(Token)match(input,22,FOLLOW_17); if (state.failed) return current; + otherlv_1=(Token)match(input,24,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getMatchDataExpressionAccess().getEqualsSignKeyword_1()); @@ -4328,7 +4364,7 @@ public final EObject ruleLambdaDataExpression() throws RecognitionException { // InternalScope.g:1538:2: (otherlv_0= '[' ( (lv_desc_1_0= ruleIdentifier ) ) otherlv_2= '|' ( (lv_value_3_0= ruleExpression ) ) otherlv_4= ']' ) // InternalScope.g:1539:3: otherlv_0= '[' ( (lv_desc_1_0= ruleIdentifier ) ) otherlv_2= '|' ( (lv_value_3_0= ruleExpression ) ) otherlv_4= ']' { - otherlv_0=(Token)match(input,31,FOLLOW_3); if (state.failed) return current; + otherlv_0=(Token)match(input,33,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getLambdaDataExpressionAccess().getLeftSquareBracketKeyword_0()); @@ -4369,7 +4405,7 @@ public final EObject ruleLambdaDataExpression() throws RecognitionException { } - otherlv_2=(Token)match(input,42,FOLLOW_17); if (state.failed) return current; + otherlv_2=(Token)match(input,44,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getLambdaDataExpressionAccess().getVerticalLineKeyword_2()); @@ -4410,7 +4446,7 @@ public final EObject ruleLambdaDataExpression() throws RecognitionException { } - otherlv_4=(Token)match(input,32,FOLLOW_2); if (state.failed) return current; + otherlv_4=(Token)match(input,34,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getLambdaDataExpressionAccess().getRightSquareBracketKeyword_4()); @@ -4626,7 +4662,7 @@ public final EObject ruleNaming() throws RecognitionException { // InternalScope.g:1646:4: (otherlv_0= '(' ( (lv_names_1_0= ruleNamingExpression ) ) (otherlv_2= ',' ( (lv_names_3_0= ruleNamingExpression ) ) )* otherlv_4= ')' ) // InternalScope.g:1647:5: otherlv_0= '(' ( (lv_names_1_0= ruleNamingExpression ) ) (otherlv_2= ',' ( (lv_names_3_0= ruleNamingExpression ) ) )* otherlv_4= ')' { - otherlv_0=(Token)match(input,25,FOLLOW_17); if (state.failed) return current; + otherlv_0=(Token)match(input,27,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getNamingAccess().getLeftParenthesisKeyword_0_0_0()); @@ -4673,7 +4709,7 @@ public final EObject ruleNaming() throws RecognitionException { int alt30=2; int LA30_0 = input.LA(1); - if ( (LA30_0==35) ) { + if ( (LA30_0==37) ) { alt30=1; } @@ -4682,7 +4718,7 @@ public final EObject ruleNaming() throws RecognitionException { case 1 : // InternalScope.g:1671:6: otherlv_2= ',' ( (lv_names_3_0= ruleNamingExpression ) ) { - otherlv_2=(Token)match(input,35,FOLLOW_17); if (state.failed) return current; + otherlv_2=(Token)match(input,37,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getNamingAccess().getCommaKeyword_0_0_2_0()); @@ -4732,7 +4768,7 @@ public final EObject ruleNaming() throws RecognitionException { } } while (true); - otherlv_4=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; + otherlv_4=(Token)match(input,28,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getNamingAccess().getRightParenthesisKeyword_0_0_3()); @@ -4873,10 +4909,10 @@ public final EObject ruleNamingExpression() throws RecognitionException { int alt33=2; int LA33_0 = input.LA(1); - if ( (LA33_0==43) ) { + if ( (LA33_0==45) ) { alt33=1; } - else if ( ((LA33_0>=RULE_STRING && LA33_0<=RULE_ID)||LA33_0==20||LA33_0==25||LA33_0==33||LA33_0==46||LA33_0==50||LA33_0==53||LA33_0==65||(LA33_0>=67 && LA33_0<=84)) ) { + else if ( ((LA33_0>=RULE_STRING && LA33_0<=RULE_ID)||LA33_0==22||LA33_0==27||LA33_0==35||LA33_0==48||LA33_0==52||LA33_0==55||LA33_0==67||(LA33_0>=69 && LA33_0<=86)) ) { alt33=2; } else { @@ -4896,7 +4932,7 @@ else if ( ((LA33_0>=RULE_STRING && LA33_0<=RULE_ID)||LA33_0==20||LA33_0==25||LA3 // InternalScope.g:1741:4: (lv_export_0_0= 'export' ) // InternalScope.g:1742:5: lv_export_0_0= 'export' { - lv_export_0_0=(Token)match(input,43,FOLLOW_2); if (state.failed) return current; + lv_export_0_0=(Token)match(input,45,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_export_0_0, grammarAccess.getNamingExpressionAccess().getExportExportKeyword_0_0()); @@ -4929,7 +4965,7 @@ else if ( ((LA33_0>=RULE_STRING && LA33_0<=RULE_ID)||LA33_0==20||LA33_0==25||LA3 int alt32=2; int LA32_0 = input.LA(1); - if ( (LA32_0==33) ) { + if ( (LA32_0==35) ) { alt32=1; } switch (alt32) { @@ -4939,7 +4975,7 @@ else if ( ((LA33_0>=RULE_STRING && LA33_0<=RULE_ID)||LA33_0==20||LA33_0==25||LA3 // InternalScope.g:1757:5: (lv_factory_1_0= 'factory' ) // InternalScope.g:1758:6: lv_factory_1_0= 'factory' { - lv_factory_1_0=(Token)match(input,33,FOLLOW_17); if (state.failed) return current; + lv_factory_1_0=(Token)match(input,35,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_factory_1_0, grammarAccess.getNamingExpressionAccess().getFactoryFactoryKeyword_1_0_0()); @@ -5114,7 +5150,7 @@ public final AntlrDatatypeRuleToken ruleQualifiedID() throws RecognitionExceptio int alt34=2; int LA34_0 = input.LA(1); - if ( (LA34_0==44) ) { + if ( (LA34_0==46) ) { alt34=1; } @@ -5123,7 +5159,7 @@ public final AntlrDatatypeRuleToken ruleQualifiedID() throws RecognitionExceptio case 1 : // InternalScope.g:1820:4: kw= '::' this_Identifier_2= ruleIdentifier { - kw=(Token)match(input,44,FOLLOW_3); if (state.failed) return current; + kw=(Token)match(input,46,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -5270,7 +5306,7 @@ public final AntlrDatatypeRuleToken ruleDottedID() throws RecognitionException { int alt35=2; int LA35_0 = input.LA(1); - if ( (LA35_0==45) ) { + if ( (LA35_0==47) ) { alt35=1; } @@ -5279,7 +5315,7 @@ public final AntlrDatatypeRuleToken ruleDottedID() throws RecognitionException { case 1 : // InternalScope.g:1866:4: kw= '.' this_Identifier_2= ruleIdentifier { - kw=(Token)match(input,45,FOLLOW_3); if (state.failed) return current; + kw=(Token)match(input,47,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -5563,7 +5599,7 @@ public final EObject ruleLetExpression() throws RecognitionException { // InternalScope.g:1948:2: (otherlv_0= 'let' ( (lv_identifier_1_0= ruleIdentifier ) ) otherlv_2= '=' ( (lv_varExpr_3_0= ruleExpression ) ) otherlv_4= ':' ( (lv_target_5_0= ruleExpression ) ) ) // InternalScope.g:1949:3: otherlv_0= 'let' ( (lv_identifier_1_0= ruleIdentifier ) ) otherlv_2= '=' ( (lv_varExpr_3_0= ruleExpression ) ) otherlv_4= ':' ( (lv_target_5_0= ruleExpression ) ) { - otherlv_0=(Token)match(input,46,FOLLOW_3); if (state.failed) return current; + otherlv_0=(Token)match(input,48,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getLetExpressionAccess().getLetKeyword_0()); @@ -5604,7 +5640,7 @@ public final EObject ruleLetExpression() throws RecognitionException { } - otherlv_2=(Token)match(input,22,FOLLOW_17); if (state.failed) return current; + otherlv_2=(Token)match(input,24,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getLetExpressionAccess().getEqualsSignKeyword_2()); @@ -5645,7 +5681,7 @@ public final EObject ruleLetExpression() throws RecognitionException { } - otherlv_4=(Token)match(input,47,FOLLOW_17); if (state.failed) return current; + otherlv_4=(Token)match(input,49,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getLetExpressionAccess().getColonKeyword_4()); @@ -5772,7 +5808,7 @@ public final EObject ruleCastedExpression() throws RecognitionException { // InternalScope.g:2036:2: (otherlv_0= '(' ( (lv_type_1_0= ruleType ) ) otherlv_2= ')' ( (lv_target_3_0= ruleExpression ) ) ) // InternalScope.g:2037:3: otherlv_0= '(' ( (lv_type_1_0= ruleType ) ) otherlv_2= ')' ( (lv_target_3_0= ruleExpression ) ) { - otherlv_0=(Token)match(input,25,FOLLOW_44); if (state.failed) return current; + otherlv_0=(Token)match(input,27,FOLLOW_44); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getCastedExpressionAccess().getLeftParenthesisKeyword_0()); @@ -5813,7 +5849,7 @@ public final EObject ruleCastedExpression() throws RecognitionException { } - otherlv_2=(Token)match(input,26,FOLLOW_17); if (state.failed) return current; + otherlv_2=(Token)match(input,28,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getCastedExpressionAccess().getRightParenthesisKeyword_2()); @@ -5961,7 +5997,7 @@ public final EObject ruleChainExpression() throws RecognitionException { int alt37=2; int LA37_0 = input.LA(1); - if ( (LA37_0==48) ) { + if ( (LA37_0==50) ) { alt37=1; } @@ -5983,7 +6019,7 @@ public final EObject ruleChainExpression() throws RecognitionException { } - otherlv_2=(Token)match(input,48,FOLLOW_17); if (state.failed) return current; + otherlv_2=(Token)match(input,50,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getChainExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); @@ -6119,7 +6155,7 @@ public final EObject ruleChainedExpression() throws RecognitionException { // InternalScope.g:2160:2: (this_IfExpressionKw_0= ruleIfExpressionKw | this_IfExpressionTri_1= ruleIfExpressionTri | this_SwitchExpression_2= ruleSwitchExpression ) int alt38=3; switch ( input.LA(1) ) { - case 50: + case 52: { alt38=1; } @@ -6128,11 +6164,9 @@ public final EObject ruleChainedExpression() throws RecognitionException { case RULE_INT: case RULE_REAL: case RULE_ID: - case 20: - case 25: - case 65: + case 22: + case 27: case 67: - case 68: case 69: case 70: case 71: @@ -6149,11 +6183,13 @@ public final EObject ruleChainedExpression() throws RecognitionException { case 82: case 83: case 84: + case 85: + case 86: { alt38=2; } break; - case 53: + case 55: { alt38=3; } @@ -6341,7 +6377,7 @@ public final EObject ruleIfExpressionTri() throws RecognitionException { int alt39=2; int LA39_0 = input.LA(1); - if ( (LA39_0==49) ) { + if ( (LA39_0==51) ) { alt39=1; } switch (alt39) { @@ -6361,7 +6397,7 @@ public final EObject ruleIfExpressionTri() throws RecognitionException { } - otherlv_2=(Token)match(input,49,FOLLOW_17); if (state.failed) return current; + otherlv_2=(Token)match(input,51,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getIfExpressionTriAccess().getQuestionMarkKeyword_1_1()); @@ -6402,7 +6438,7 @@ public final EObject ruleIfExpressionTri() throws RecognitionException { } - otherlv_4=(Token)match(input,47,FOLLOW_17); if (state.failed) return current; + otherlv_4=(Token)match(input,49,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getIfExpressionTriAccess().getColonKeyword_1_3()); @@ -6538,7 +6574,7 @@ public final EObject ruleIfExpressionKw() throws RecognitionException { // InternalScope.g:2287:2: (otherlv_0= 'if' ( (lv_condition_1_0= ruleChainedExpression ) ) otherlv_2= 'then' ( (lv_thenPart_3_0= ruleChainedExpression ) ) ( ( 'else' )=> (otherlv_4= 'else' ( (lv_elsePart_5_0= ruleChainedExpression ) ) ) )? ) // InternalScope.g:2288:3: otherlv_0= 'if' ( (lv_condition_1_0= ruleChainedExpression ) ) otherlv_2= 'then' ( (lv_thenPart_3_0= ruleChainedExpression ) ) ( ( 'else' )=> (otherlv_4= 'else' ( (lv_elsePart_5_0= ruleChainedExpression ) ) ) )? { - otherlv_0=(Token)match(input,50,FOLLOW_17); if (state.failed) return current; + otherlv_0=(Token)match(input,52,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getIfExpressionKwAccess().getIfKeyword_0()); @@ -6579,7 +6615,7 @@ public final EObject ruleIfExpressionKw() throws RecognitionException { } - otherlv_2=(Token)match(input,51,FOLLOW_17); if (state.failed) return current; + otherlv_2=(Token)match(input,53,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getIfExpressionKwAccess().getThenKeyword_2()); @@ -6624,7 +6660,7 @@ public final EObject ruleIfExpressionKw() throws RecognitionException { int alt40=2; int LA40_0 = input.LA(1); - if ( (LA40_0==52) ) { + if ( (LA40_0==54) ) { int LA40_1 = input.LA(2); if ( (synpred3_InternalScope()) ) { @@ -6638,7 +6674,7 @@ public final EObject ruleIfExpressionKw() throws RecognitionException { // InternalScope.g:2336:4: (otherlv_4= 'else' ( (lv_elsePart_5_0= ruleChainedExpression ) ) ) // InternalScope.g:2337:5: otherlv_4= 'else' ( (lv_elsePart_5_0= ruleChainedExpression ) ) { - otherlv_4=(Token)match(input,52,FOLLOW_17); if (state.failed) return current; + otherlv_4=(Token)match(input,54,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getIfExpressionKwAccess().getElseKeyword_4_0_0()); @@ -6781,7 +6817,7 @@ public final EObject ruleSwitchExpression() throws RecognitionException { // InternalScope.g:2380:2: (otherlv_0= 'switch' (otherlv_1= '(' ( (lv_switchExpr_2_0= ruleOrExpression ) ) otherlv_3= ')' )? otherlv_4= '{' ( (lv_case_5_0= ruleCase ) )* otherlv_6= 'default' otherlv_7= ':' ( (lv_defaultExpr_8_0= ruleOrExpression ) ) otherlv_9= '}' ) // InternalScope.g:2381:3: otherlv_0= 'switch' (otherlv_1= '(' ( (lv_switchExpr_2_0= ruleOrExpression ) ) otherlv_3= ')' )? otherlv_4= '{' ( (lv_case_5_0= ruleCase ) )* otherlv_6= 'default' otherlv_7= ':' ( (lv_defaultExpr_8_0= ruleOrExpression ) ) otherlv_9= '}' { - otherlv_0=(Token)match(input,53,FOLLOW_49); if (state.failed) return current; + otherlv_0=(Token)match(input,55,FOLLOW_49); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_0()); @@ -6791,14 +6827,14 @@ public final EObject ruleSwitchExpression() throws RecognitionException { int alt41=2; int LA41_0 = input.LA(1); - if ( (LA41_0==25) ) { + if ( (LA41_0==27) ) { alt41=1; } switch (alt41) { case 1 : // InternalScope.g:2386:4: otherlv_1= '(' ( (lv_switchExpr_2_0= ruleOrExpression ) ) otherlv_3= ')' { - otherlv_1=(Token)match(input,25,FOLLOW_50); if (state.failed) return current; + otherlv_1=(Token)match(input,27,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getSwitchExpressionAccess().getLeftParenthesisKeyword_1_0()); @@ -6839,7 +6875,7 @@ public final EObject ruleSwitchExpression() throws RecognitionException { } - otherlv_3=(Token)match(input,26,FOLLOW_14); if (state.failed) return current; + otherlv_3=(Token)match(input,28,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getSwitchExpressionAccess().getRightParenthesisKeyword_1_2()); @@ -6851,7 +6887,7 @@ public final EObject ruleSwitchExpression() throws RecognitionException { } - otherlv_4=(Token)match(input,20,FOLLOW_51); if (state.failed) return current; + otherlv_4=(Token)match(input,22,FOLLOW_51); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getSwitchExpressionAccess().getLeftCurlyBracketKeyword_2()); @@ -6863,7 +6899,7 @@ public final EObject ruleSwitchExpression() throws RecognitionException { int alt42=2; int LA42_0 = input.LA(1); - if ( (LA42_0==18) ) { + if ( (LA42_0==20) ) { alt42=1; } @@ -6910,13 +6946,13 @@ public final EObject ruleSwitchExpression() throws RecognitionException { } } while (true); - otherlv_6=(Token)match(input,54,FOLLOW_43); if (state.failed) return current; + otherlv_6=(Token)match(input,56,FOLLOW_43); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); } - otherlv_7=(Token)match(input,47,FOLLOW_50); if (state.failed) return current; + otherlv_7=(Token)match(input,49,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); @@ -6957,7 +6993,7 @@ public final EObject ruleSwitchExpression() throws RecognitionException { } - otherlv_9=(Token)match(input,21,FOLLOW_2); if (state.failed) return current; + otherlv_9=(Token)match(input,23,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getSwitchExpressionAccess().getRightCurlyBracketKeyword_7()); @@ -7049,7 +7085,7 @@ public final EObject ruleCase() throws RecognitionException { // InternalScope.g:2486:2: (otherlv_0= 'case' ( (lv_condition_1_0= ruleOrExpression ) ) otherlv_2= ':' ( (lv_thenPar_3_0= ruleOrExpression ) ) ) // InternalScope.g:2487:3: otherlv_0= 'case' ( (lv_condition_1_0= ruleOrExpression ) ) otherlv_2= ':' ( (lv_thenPar_3_0= ruleOrExpression ) ) { - otherlv_0=(Token)match(input,18,FOLLOW_50); if (state.failed) return current; + otherlv_0=(Token)match(input,20,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getCaseAccess().getCaseKeyword_0()); @@ -7090,7 +7126,7 @@ public final EObject ruleCase() throws RecognitionException { } - otherlv_2=(Token)match(input,47,FOLLOW_50); if (state.failed) return current; + otherlv_2=(Token)match(input,49,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getCaseAccess().getColonKeyword_2()); @@ -7238,7 +7274,7 @@ public final EObject ruleOrExpression() throws RecognitionException { int alt43=2; int LA43_0 = input.LA(1); - if ( (LA43_0==55) ) { + if ( (LA43_0==57) ) { alt43=1; } @@ -7266,7 +7302,7 @@ public final EObject ruleOrExpression() throws RecognitionException { // InternalScope.g:2569:5: (lv_operator_2_0= '||' ) // InternalScope.g:2570:6: lv_operator_2_0= '||' { - lv_operator_2_0=(Token)match(input,55,FOLLOW_50); if (state.failed) return current; + lv_operator_2_0=(Token)match(input,57,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_0, grammarAccess.getOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0()); @@ -7437,7 +7473,7 @@ public final EObject ruleAndExpression() throws RecognitionException { int alt44=2; int LA44_0 = input.LA(1); - if ( (LA44_0==56) ) { + if ( (LA44_0==58) ) { alt44=1; } @@ -7465,7 +7501,7 @@ public final EObject ruleAndExpression() throws RecognitionException { // InternalScope.g:2638:5: (lv_operator_2_0= '&&' ) // InternalScope.g:2639:6: lv_operator_2_0= '&&' { - lv_operator_2_0=(Token)match(input,56,FOLLOW_50); if (state.failed) return current; + lv_operator_2_0=(Token)match(input,58,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_0, grammarAccess.getAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0()); @@ -7636,7 +7672,7 @@ public final EObject ruleImpliesExpression() throws RecognitionException { int alt45=2; int LA45_0 = input.LA(1); - if ( (LA45_0==57) ) { + if ( (LA45_0==59) ) { alt45=1; } @@ -7664,7 +7700,7 @@ public final EObject ruleImpliesExpression() throws RecognitionException { // InternalScope.g:2707:5: (lv_operator_2_0= 'implies' ) // InternalScope.g:2708:6: lv_operator_2_0= 'implies' { - lv_operator_2_0=(Token)match(input,57,FOLLOW_50); if (state.failed) return current; + lv_operator_2_0=(Token)match(input,59,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_0, grammarAccess.getImpliesExpressionAccess().getOperatorImpliesKeyword_1_1_0()); @@ -7840,7 +7876,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { int alt47=2; int LA47_0 = input.LA(1); - if ( ((LA47_0>=58 && LA47_0<=63)) ) { + if ( ((LA47_0>=60 && LA47_0<=65)) ) { alt47=1; } @@ -7871,32 +7907,32 @@ public final EObject ruleRelationalExpression() throws RecognitionException { // InternalScope.g:2777:6: (lv_operator_2_1= '==' | lv_operator_2_2= '!=' | lv_operator_2_3= '>=' | lv_operator_2_4= '<=' | lv_operator_2_5= '>' | lv_operator_2_6= '<' ) int alt46=6; switch ( input.LA(1) ) { - case 58: + case 60: { alt46=1; } break; - case 59: + case 61: { alt46=2; } break; - case 60: + case 62: { alt46=3; } break; - case 61: + case 63: { alt46=4; } break; - case 62: + case 64: { alt46=5; } break; - case 63: + case 65: { alt46=6; } @@ -7913,7 +7949,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 1 : // InternalScope.g:2778:7: lv_operator_2_1= '==' { - lv_operator_2_1=(Token)match(input,58,FOLLOW_50); if (state.failed) return current; + lv_operator_2_1=(Token)match(input,60,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_1, grammarAccess.getRelationalExpressionAccess().getOperatorEqualsSignEqualsSignKeyword_1_1_0_0()); @@ -7933,7 +7969,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 2 : // InternalScope.g:2789:7: lv_operator_2_2= '!=' { - lv_operator_2_2=(Token)match(input,59,FOLLOW_50); if (state.failed) return current; + lv_operator_2_2=(Token)match(input,61,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_2, grammarAccess.getRelationalExpressionAccess().getOperatorExclamationMarkEqualsSignKeyword_1_1_0_1()); @@ -7953,7 +7989,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 3 : // InternalScope.g:2800:7: lv_operator_2_3= '>=' { - lv_operator_2_3=(Token)match(input,60,FOLLOW_50); if (state.failed) return current; + lv_operator_2_3=(Token)match(input,62,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_3, grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_2()); @@ -7973,7 +8009,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 4 : // InternalScope.g:2811:7: lv_operator_2_4= '<=' { - lv_operator_2_4=(Token)match(input,61,FOLLOW_50); if (state.failed) return current; + lv_operator_2_4=(Token)match(input,63,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_4, grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_3()); @@ -7993,7 +8029,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 5 : // InternalScope.g:2822:7: lv_operator_2_5= '>' { - lv_operator_2_5=(Token)match(input,62,FOLLOW_50); if (state.failed) return current; + lv_operator_2_5=(Token)match(input,64,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_5, grammarAccess.getRelationalExpressionAccess().getOperatorGreaterThanSignKeyword_1_1_0_4()); @@ -8013,7 +8049,7 @@ public final EObject ruleRelationalExpression() throws RecognitionException { case 6 : // InternalScope.g:2833:7: lv_operator_2_6= '<' { - lv_operator_2_6=(Token)match(input,63,FOLLOW_50); if (state.failed) return current; + lv_operator_2_6=(Token)match(input,65,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_operator_2_6, grammarAccess.getRelationalExpressionAccess().getOperatorLessThanSignKeyword_1_1_0_5()); @@ -8191,7 +8227,7 @@ public final EObject ruleAdditiveExpression() throws RecognitionException { int alt49=2; int LA49_0 = input.LA(1); - if ( ((LA49_0>=64 && LA49_0<=65)) ) { + if ( ((LA49_0>=66 && LA49_0<=67)) ) { alt49=1; } @@ -8223,10 +8259,10 @@ public final EObject ruleAdditiveExpression() throws RecognitionException { int alt48=2; int LA48_0 = input.LA(1); - if ( (LA48_0==64) ) { + if ( (LA48_0==66) ) { alt48=1; } - else if ( (LA48_0==65) ) { + else if ( (LA48_0==67) ) { alt48=2; } else { @@ -8240,7 +8276,7 @@ else if ( (LA48_0==65) ) { case 1 : // InternalScope.g:2904:7: lv_name_2_1= '+' { - lv_name_2_1=(Token)match(input,64,FOLLOW_50); if (state.failed) return current; + lv_name_2_1=(Token)match(input,66,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_1, grammarAccess.getAdditiveExpressionAccess().getNamePlusSignKeyword_1_1_0_0()); @@ -8260,7 +8296,7 @@ else if ( (LA48_0==65) ) { case 2 : // InternalScope.g:2915:7: lv_name_2_2= '-' { - lv_name_2_2=(Token)match(input,65,FOLLOW_50); if (state.failed) return current; + lv_name_2_2=(Token)match(input,67,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_2, grammarAccess.getAdditiveExpressionAccess().getNameHyphenMinusKeyword_1_1_0_1()); @@ -8438,7 +8474,7 @@ public final EObject ruleMultiplicativeExpression() throws RecognitionException int alt51=2; int LA51_0 = input.LA(1); - if ( (LA51_0==30||LA51_0==66) ) { + if ( (LA51_0==32||LA51_0==68) ) { alt51=1; } @@ -8470,10 +8506,10 @@ public final EObject ruleMultiplicativeExpression() throws RecognitionException int alt50=2; int LA50_0 = input.LA(1); - if ( (LA50_0==30) ) { + if ( (LA50_0==32) ) { alt50=1; } - else if ( (LA50_0==66) ) { + else if ( (LA50_0==68) ) { alt50=2; } else { @@ -8487,7 +8523,7 @@ else if ( (LA50_0==66) ) { case 1 : // InternalScope.g:2986:7: lv_name_2_1= '*' { - lv_name_2_1=(Token)match(input,30,FOLLOW_50); if (state.failed) return current; + lv_name_2_1=(Token)match(input,32,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_1, grammarAccess.getMultiplicativeExpressionAccess().getNameAsteriskKeyword_1_1_0_0()); @@ -8507,7 +8543,7 @@ else if ( (LA50_0==66) ) { case 2 : // InternalScope.g:2997:7: lv_name_2_2= '/' { - lv_name_2_2=(Token)match(input,66,FOLLOW_50); if (state.failed) return current; + lv_name_2_2=(Token)match(input,68,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_2, grammarAccess.getMultiplicativeExpressionAccess().getNameSolidusKeyword_1_1_0_1()); @@ -8662,10 +8698,10 @@ public final EObject ruleUnaryOrInfixExpression() throws RecognitionException { int alt52=2; int LA52_0 = input.LA(1); - if ( (LA52_0==65||LA52_0==67) ) { + if ( (LA52_0==67||LA52_0==69) ) { alt52=1; } - else if ( ((LA52_0>=RULE_STRING && LA52_0<=RULE_ID)||LA52_0==20||LA52_0==25||(LA52_0>=68 && LA52_0<=84)) ) { + else if ( ((LA52_0>=RULE_STRING && LA52_0<=RULE_ID)||LA52_0==22||LA52_0==27||(LA52_0>=70 && LA52_0<=86)) ) { alt52=2; } else { @@ -8814,10 +8850,10 @@ public final EObject ruleUnaryExpression() throws RecognitionException { int alt53=2; int LA53_0 = input.LA(1); - if ( (LA53_0==67) ) { + if ( (LA53_0==69) ) { alt53=1; } - else if ( (LA53_0==65) ) { + else if ( (LA53_0==67) ) { alt53=2; } else { @@ -8831,7 +8867,7 @@ else if ( (LA53_0==65) ) { case 1 : // InternalScope.g:3088:6: lv_name_0_1= '!' { - lv_name_0_1=(Token)match(input,67,FOLLOW_50); if (state.failed) return current; + lv_name_0_1=(Token)match(input,69,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_1, grammarAccess.getUnaryExpressionAccess().getNameExclamationMarkKeyword_0_0_0()); @@ -8851,7 +8887,7 @@ else if ( (LA53_0==65) ) { case 2 : // InternalScope.g:3099:6: lv_name_0_2= '-' { - lv_name_0_2=(Token)match(input,65,FOLLOW_50); if (state.failed) return current; + lv_name_0_2=(Token)match(input,67,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_2, grammarAccess.getUnaryExpressionAccess().getNameHyphenMinusKeyword_0_0_1()); @@ -9051,44 +9087,44 @@ public final EObject ruleInfixExpression() throws RecognitionException { int alt58=5; int LA58_0 = input.LA(1); - if ( (LA58_0==45) ) { + if ( (LA58_0==47) ) { switch ( input.LA(2) ) { - case 82: - case 83: - case 84: + case 71: + case 72: + case 73: + case 74: + case 75: + case 76: + case 77: + case 78: { - alt58=2; + alt58=4; } break; case RULE_ID: { int LA58_4 = input.LA(3); - if ( (LA58_4==EOF||LA58_4==15||LA58_4==18||LA58_4==21||LA58_4==23||LA58_4==26||(LA58_4>=29 && LA58_4<=30)||LA58_4==32||LA58_4==35||(LA58_4>=44 && LA58_4<=45)||(LA58_4>=47 && LA58_4<=49)||(LA58_4>=51 && LA58_4<=52)||(LA58_4>=54 && LA58_4<=66)) ) { + if ( (LA58_4==EOF||LA58_4==17||LA58_4==20||LA58_4==23||LA58_4==25||LA58_4==28||(LA58_4>=31 && LA58_4<=32)||LA58_4==34||LA58_4==37||(LA58_4>=46 && LA58_4<=47)||(LA58_4>=49 && LA58_4<=51)||(LA58_4>=53 && LA58_4<=54)||(LA58_4>=56 && LA58_4<=68)) ) { alt58=2; } - else if ( (LA58_4==25) ) { + else if ( (LA58_4==27) ) { alt58=1; } } break; - case 68: + case 84: + case 85: + case 86: { - alt58=3; + alt58=2; } break; - case 69: case 70: - case 71: - case 72: - case 73: - case 74: - case 75: - case 76: { - alt58=4; + alt58=3; } break; @@ -9117,7 +9153,7 @@ else if ( (LA58_4==25) ) { } - otherlv_2=(Token)match(input,45,FOLLOW_3); if (state.failed) return current; + otherlv_2=(Token)match(input,47,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_0_1()); @@ -9158,7 +9194,7 @@ else if ( (LA58_4==25) ) { } - otherlv_4=(Token)match(input,25,FOLLOW_59); if (state.failed) return current; + otherlv_4=(Token)match(input,27,FOLLOW_59); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_0_3()); @@ -9168,7 +9204,7 @@ else if ( (LA58_4==25) ) { int alt55=2; int LA55_0 = input.LA(1); - if ( ((LA55_0>=RULE_STRING && LA55_0<=RULE_ID)||LA55_0==20||LA55_0==25||LA55_0==46||LA55_0==50||LA55_0==53||LA55_0==65||(LA55_0>=67 && LA55_0<=84)) ) { + if ( ((LA55_0>=RULE_STRING && LA55_0<=RULE_ID)||LA55_0==22||LA55_0==27||LA55_0==48||LA55_0==52||LA55_0==55||LA55_0==67||(LA55_0>=69 && LA55_0<=86)) ) { alt55=1; } switch (alt55) { @@ -9216,7 +9252,7 @@ else if ( (LA58_4==25) ) { int alt54=2; int LA54_0 = input.LA(1); - if ( (LA54_0==35) ) { + if ( (LA54_0==37) ) { alt54=1; } @@ -9225,7 +9261,7 @@ else if ( (LA58_4==25) ) { case 1 : // InternalScope.g:3215:7: otherlv_6= ',' ( (lv_params_7_0= ruleExpression ) ) { - otherlv_6=(Token)match(input,35,FOLLOW_17); if (state.failed) return current; + otherlv_6=(Token)match(input,37,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getInfixExpressionAccess().getCommaKeyword_1_0_4_1_0()); @@ -9281,7 +9317,7 @@ else if ( (LA58_4==25) ) { } - otherlv_8=(Token)match(input,26,FOLLOW_42); if (state.failed) return current; + otherlv_8=(Token)match(input,28,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_0_5()); @@ -9312,7 +9348,7 @@ else if ( (LA58_4==25) ) { } - otherlv_10=(Token)match(input,45,FOLLOW_44); if (state.failed) return current; + otherlv_10=(Token)match(input,47,FOLLOW_44); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_1_1()); @@ -9378,7 +9414,7 @@ else if ( (LA58_4==25) ) { } - otherlv_13=(Token)match(input,45,FOLLOW_60); if (state.failed) return current; + otherlv_13=(Token)match(input,47,FOLLOW_60); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_2_1()); @@ -9390,7 +9426,7 @@ else if ( (LA58_4==25) ) { // InternalScope.g:3292:6: (lv_name_14_0= 'typeSelect' ) // InternalScope.g:3293:7: lv_name_14_0= 'typeSelect' { - lv_name_14_0=(Token)match(input,68,FOLLOW_29); if (state.failed) return current; + lv_name_14_0=(Token)match(input,70,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_14_0, grammarAccess.getInfixExpressionAccess().getNameTypeSelectKeyword_1_2_2_0()); @@ -9410,7 +9446,7 @@ else if ( (LA58_4==25) ) { } - otherlv_15=(Token)match(input,25,FOLLOW_44); if (state.failed) return current; + otherlv_15=(Token)match(input,27,FOLLOW_44); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_15, grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_2_3()); @@ -9451,7 +9487,7 @@ else if ( (LA58_4==25) ) { } - otherlv_17=(Token)match(input,26,FOLLOW_42); if (state.failed) return current; + otherlv_17=(Token)match(input,28,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_17, grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_2_5()); @@ -9482,7 +9518,7 @@ else if ( (LA58_4==25) ) { } - otherlv_19=(Token)match(input,45,FOLLOW_61); if (state.failed) return current; + otherlv_19=(Token)match(input,47,FOLLOW_61); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_19, grammarAccess.getInfixExpressionAccess().getFullStopKeyword_1_3_1()); @@ -9497,42 +9533,42 @@ else if ( (LA58_4==25) ) { // InternalScope.g:3348:7: (lv_name_20_1= 'collect' | lv_name_20_2= 'select' | lv_name_20_3= 'selectFirst' | lv_name_20_4= 'reject' | lv_name_20_5= 'exists' | lv_name_20_6= 'notExists' | lv_name_20_7= 'sortBy' | lv_name_20_8= 'forAll' ) int alt56=8; switch ( input.LA(1) ) { - case 69: + case 71: { alt56=1; } break; - case 70: + case 72: { alt56=2; } break; - case 71: + case 73: { alt56=3; } break; - case 72: + case 74: { alt56=4; } break; - case 73: + case 75: { alt56=5; } break; - case 74: + case 76: { alt56=6; } break; - case 75: + case 77: { alt56=7; } break; - case 76: + case 78: { alt56=8; } @@ -9549,7 +9585,7 @@ else if ( (LA58_4==25) ) { case 1 : // InternalScope.g:3349:8: lv_name_20_1= 'collect' { - lv_name_20_1=(Token)match(input,69,FOLLOW_29); if (state.failed) return current; + lv_name_20_1=(Token)match(input,71,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_1, grammarAccess.getInfixExpressionAccess().getNameCollectKeyword_1_3_2_0_0()); @@ -9569,7 +9605,7 @@ else if ( (LA58_4==25) ) { case 2 : // InternalScope.g:3360:8: lv_name_20_2= 'select' { - lv_name_20_2=(Token)match(input,70,FOLLOW_29); if (state.failed) return current; + lv_name_20_2=(Token)match(input,72,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_2, grammarAccess.getInfixExpressionAccess().getNameSelectKeyword_1_3_2_0_1()); @@ -9589,7 +9625,7 @@ else if ( (LA58_4==25) ) { case 3 : // InternalScope.g:3371:8: lv_name_20_3= 'selectFirst' { - lv_name_20_3=(Token)match(input,71,FOLLOW_29); if (state.failed) return current; + lv_name_20_3=(Token)match(input,73,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_3, grammarAccess.getInfixExpressionAccess().getNameSelectFirstKeyword_1_3_2_0_2()); @@ -9609,7 +9645,7 @@ else if ( (LA58_4==25) ) { case 4 : // InternalScope.g:3382:8: lv_name_20_4= 'reject' { - lv_name_20_4=(Token)match(input,72,FOLLOW_29); if (state.failed) return current; + lv_name_20_4=(Token)match(input,74,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_4, grammarAccess.getInfixExpressionAccess().getNameRejectKeyword_1_3_2_0_3()); @@ -9629,7 +9665,7 @@ else if ( (LA58_4==25) ) { case 5 : // InternalScope.g:3393:8: lv_name_20_5= 'exists' { - lv_name_20_5=(Token)match(input,73,FOLLOW_29); if (state.failed) return current; + lv_name_20_5=(Token)match(input,75,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_5, grammarAccess.getInfixExpressionAccess().getNameExistsKeyword_1_3_2_0_4()); @@ -9649,7 +9685,7 @@ else if ( (LA58_4==25) ) { case 6 : // InternalScope.g:3404:8: lv_name_20_6= 'notExists' { - lv_name_20_6=(Token)match(input,74,FOLLOW_29); if (state.failed) return current; + lv_name_20_6=(Token)match(input,76,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_6, grammarAccess.getInfixExpressionAccess().getNameNotExistsKeyword_1_3_2_0_5()); @@ -9669,7 +9705,7 @@ else if ( (LA58_4==25) ) { case 7 : // InternalScope.g:3415:8: lv_name_20_7= 'sortBy' { - lv_name_20_7=(Token)match(input,75,FOLLOW_29); if (state.failed) return current; + lv_name_20_7=(Token)match(input,77,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_7, grammarAccess.getInfixExpressionAccess().getNameSortByKeyword_1_3_2_0_6()); @@ -9689,7 +9725,7 @@ else if ( (LA58_4==25) ) { case 8 : // InternalScope.g:3426:8: lv_name_20_8= 'forAll' { - lv_name_20_8=(Token)match(input,76,FOLLOW_29); if (state.failed) return current; + lv_name_20_8=(Token)match(input,78,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_20_8, grammarAccess.getInfixExpressionAccess().getNameForAllKeyword_1_3_2_0_7()); @@ -9715,7 +9751,7 @@ else if ( (LA58_4==25) ) { } - otherlv_21=(Token)match(input,25,FOLLOW_17); if (state.failed) return current; + otherlv_21=(Token)match(input,27,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_21, grammarAccess.getInfixExpressionAccess().getLeftParenthesisKeyword_1_3_3()); @@ -9728,7 +9764,7 @@ else if ( (LA58_4==25) ) { if ( (LA57_0==RULE_ID) ) { int LA57_1 = input.LA(2); - if ( (LA57_1==42) ) { + if ( (LA57_1==44) ) { alt57=1; } } @@ -9771,7 +9807,7 @@ else if ( (LA58_4==25) ) { } - otherlv_23=(Token)match(input,42,FOLLOW_17); if (state.failed) return current; + otherlv_23=(Token)match(input,44,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_23, grammarAccess.getInfixExpressionAccess().getVerticalLineKeyword_1_3_4_1()); @@ -9818,7 +9854,7 @@ else if ( (LA58_4==25) ) { } - otherlv_25=(Token)match(input,26,FOLLOW_42); if (state.failed) return current; + otherlv_25=(Token)match(input,28,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_25, grammarAccess.getInfixExpressionAccess().getRightParenthesisKeyword_1_3_6()); @@ -9931,16 +9967,14 @@ public final EObject rulePrimaryExpression() throws RecognitionException { case RULE_STRING: case RULE_INT: case RULE_REAL: - case 77: - case 78: case 79: + case 80: + case 81: { alt59=1; } break; case RULE_ID: - case 68: - case 69: case 70: case 71: case 72: @@ -9948,29 +9982,31 @@ public final EObject rulePrimaryExpression() throws RecognitionException { case 74: case 75: case 76: - case 82: - case 83: + case 77: + case 78: case 84: + case 85: + case 86: { alt59=2; } break; - case 20: + case 22: { alt59=3; } break; - case 81: + case 83: { alt59=4; } break; - case 80: + case 82: { alt59=5; } break; - case 25: + case 27: { alt59=6; } @@ -10206,8 +10242,8 @@ public final EObject ruleLiteral() throws RecognitionException { // InternalScope.g:3583:2: (this_BooleanLiteral_0= ruleBooleanLiteral | this_IntegerLiteral_1= ruleIntegerLiteral | this_NullLiteral_2= ruleNullLiteral | this_RealLiteral_3= ruleRealLiteral | this_StringLiteral_4= ruleStringLiteral ) int alt60=5; switch ( input.LA(1) ) { - case 77: - case 78: + case 79: + case 80: { alt60=1; } @@ -10217,7 +10253,7 @@ public final EObject ruleLiteral() throws RecognitionException { alt60=2; } break; - case 79: + case 81: { alt60=3; } @@ -10440,10 +10476,10 @@ public final EObject ruleBooleanLiteral() throws RecognitionException { int alt61=2; int LA61_0 = input.LA(1); - if ( (LA61_0==77) ) { + if ( (LA61_0==79) ) { alt61=1; } - else if ( (LA61_0==78) ) { + else if ( (LA61_0==80) ) { alt61=2; } else { @@ -10457,7 +10493,7 @@ else if ( (LA61_0==78) ) { case 1 : // InternalScope.g:3649:5: lv_val_0_1= 'true' { - lv_val_0_1=(Token)match(input,77,FOLLOW_2); if (state.failed) return current; + lv_val_0_1=(Token)match(input,79,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_val_0_1, grammarAccess.getBooleanLiteralAccess().getValTrueKeyword_0_0()); @@ -10477,7 +10513,7 @@ else if ( (LA61_0==78) ) { case 2 : // InternalScope.g:3660:5: lv_val_0_2= 'false' { - lv_val_0_2=(Token)match(input,78,FOLLOW_2); if (state.failed) return current; + lv_val_0_2=(Token)match(input,80,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_val_0_2, grammarAccess.getBooleanLiteralAccess().getValFalseKeyword_0_1()); @@ -10599,7 +10635,7 @@ public final EObject ruleIntegerLiteral() throws RecognitionException { current, "val", lv_val_0_0, - "org.eclipse.xtext.common.Terminals.INT"); + "org.eclipse.xtext.xbase.Xbase.INT"); } @@ -10689,7 +10725,7 @@ public final EObject ruleNullLiteral() throws RecognitionException { // InternalScope.g:3726:3: (lv_val_0_0= 'null' ) // InternalScope.g:3727:4: lv_val_0_0= 'null' { - lv_val_0_0=(Token)match(input,79,FOLLOW_2); if (state.failed) return current; + lv_val_0_0=(Token)match(input,81,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_val_0_0, grammarAccess.getNullLiteralAccess().getValNullKeyword_0()); @@ -10910,7 +10946,7 @@ public final EObject ruleStringLiteral() throws RecognitionException { current, "val", lv_val_0_0, - "org.eclipse.xtext.common.Terminals.STRING"); + "org.eclipse.xtext.xbase.Xtype.STRING"); } @@ -11000,7 +11036,7 @@ public final EObject ruleParanthesizedExpression() throws RecognitionException { // InternalScope.g:3826:2: (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) // InternalScope.g:3827:3: otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' { - otherlv_0=(Token)match(input,25,FOLLOW_17); if (state.failed) return current; + otherlv_0=(Token)match(input,27,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); @@ -11022,7 +11058,7 @@ public final EObject ruleParanthesizedExpression() throws RecognitionException { afterParserOrEnumRuleCall(); } - otherlv_2=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; + otherlv_2=(Token)match(input,28,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getParanthesizedExpressionAccess().getRightParenthesisKeyword_2()); @@ -11111,7 +11147,7 @@ public final EObject ruleGlobalVarExpression() throws RecognitionException { // InternalScope.g:3861:2: (otherlv_0= 'GLOBALVAR' ( (lv_name_1_0= ruleIdentifier ) ) ) // InternalScope.g:3862:3: otherlv_0= 'GLOBALVAR' ( (lv_name_1_0= ruleIdentifier ) ) { - otherlv_0=(Token)match(input,80,FOLLOW_3); if (state.failed) return current; + otherlv_0=(Token)match(input,82,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getGlobalVarExpressionAccess().getGLOBALVARKeyword_0()); @@ -11244,12 +11280,12 @@ public final EObject ruleFeatureCall() throws RecognitionException { { int LA62_1 = input.LA(2); - if ( (LA62_1==EOF||LA62_1==15||LA62_1==18||LA62_1==21||LA62_1==23||LA62_1==26||(LA62_1>=29 && LA62_1<=30)||LA62_1==32||LA62_1==35||(LA62_1>=44 && LA62_1<=45)||(LA62_1>=47 && LA62_1<=49)||(LA62_1>=51 && LA62_1<=52)||(LA62_1>=54 && LA62_1<=66)) ) { - alt62=2; - } - else if ( (LA62_1==25) ) { + if ( (LA62_1==27) ) { alt62=1; } + else if ( (LA62_1==EOF||LA62_1==17||LA62_1==20||LA62_1==23||LA62_1==25||LA62_1==28||(LA62_1>=31 && LA62_1<=32)||LA62_1==34||LA62_1==37||(LA62_1>=46 && LA62_1<=47)||(LA62_1>=49 && LA62_1<=51)||(LA62_1>=53 && LA62_1<=54)||(LA62_1>=56 && LA62_1<=68)) ) { + alt62=2; + } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = @@ -11259,26 +11295,26 @@ else if ( (LA62_1==25) ) { } } break; - case 82: - case 83: case 84: + case 85: + case 86: { alt62=2; } break; - case 69: - case 70: case 71: case 72: case 73: case 74: case 75: case 76: + case 77: + case 78: { alt62=3; } break; - case 68: + case 70: { alt62=4; } @@ -11523,7 +11559,7 @@ public final EObject ruleOperationCall() throws RecognitionException { } - otherlv_1=(Token)match(input,25,FOLLOW_59); if (state.failed) return current; + otherlv_1=(Token)match(input,27,FOLLOW_59); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getOperationCallAccess().getLeftParenthesisKeyword_1()); @@ -11533,7 +11569,7 @@ public final EObject ruleOperationCall() throws RecognitionException { int alt64=2; int LA64_0 = input.LA(1); - if ( ((LA64_0>=RULE_STRING && LA64_0<=RULE_ID)||LA64_0==20||LA64_0==25||LA64_0==46||LA64_0==50||LA64_0==53||LA64_0==65||(LA64_0>=67 && LA64_0<=84)) ) { + if ( ((LA64_0>=RULE_STRING && LA64_0<=RULE_ID)||LA64_0==22||LA64_0==27||LA64_0==48||LA64_0==52||LA64_0==55||LA64_0==67||(LA64_0>=69 && LA64_0<=86)) ) { alt64=1; } switch (alt64) { @@ -11581,7 +11617,7 @@ public final EObject ruleOperationCall() throws RecognitionException { int alt63=2; int LA63_0 = input.LA(1); - if ( (LA63_0==35) ) { + if ( (LA63_0==37) ) { alt63=1; } @@ -11590,7 +11626,7 @@ public final EObject ruleOperationCall() throws RecognitionException { case 1 : // InternalScope.g:4013:5: otherlv_3= ',' ( (lv_params_4_0= ruleExpression ) ) { - otherlv_3=(Token)match(input,35,FOLLOW_17); if (state.failed) return current; + otherlv_3=(Token)match(input,37,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getOperationCallAccess().getCommaKeyword_2_1_0()); @@ -11646,7 +11682,7 @@ public final EObject ruleOperationCall() throws RecognitionException { } - otherlv_5=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; + otherlv_5=(Token)match(input,28,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getOperationCallAccess().getRightParenthesisKeyword_3()); @@ -11752,7 +11788,7 @@ public final EObject ruleListLiteral() throws RecognitionException { } - otherlv_1=(Token)match(input,20,FOLLOW_62); if (state.failed) return current; + otherlv_1=(Token)match(input,22,FOLLOW_62); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getListLiteralAccess().getLeftCurlyBracketKeyword_1()); @@ -11762,7 +11798,7 @@ public final EObject ruleListLiteral() throws RecognitionException { int alt66=2; int LA66_0 = input.LA(1); - if ( ((LA66_0>=RULE_STRING && LA66_0<=RULE_ID)||LA66_0==20||LA66_0==25||LA66_0==46||LA66_0==50||LA66_0==53||LA66_0==65||(LA66_0>=67 && LA66_0<=84)) ) { + if ( ((LA66_0>=RULE_STRING && LA66_0<=RULE_ID)||LA66_0==22||LA66_0==27||LA66_0==48||LA66_0==52||LA66_0==55||LA66_0==67||(LA66_0>=69 && LA66_0<=86)) ) { alt66=1; } switch (alt66) { @@ -11810,7 +11846,7 @@ public final EObject ruleListLiteral() throws RecognitionException { int alt65=2; int LA65_0 = input.LA(1); - if ( (LA65_0==35) ) { + if ( (LA65_0==37) ) { alt65=1; } @@ -11819,7 +11855,7 @@ public final EObject ruleListLiteral() throws RecognitionException { case 1 : // InternalScope.g:4093:5: otherlv_3= ',' ( (lv_elements_4_0= ruleExpression ) ) { - otherlv_3=(Token)match(input,35,FOLLOW_17); if (state.failed) return current; + otherlv_3=(Token)match(input,37,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); @@ -11875,7 +11911,7 @@ public final EObject ruleListLiteral() throws RecognitionException { } - otherlv_5=(Token)match(input,21,FOLLOW_2); if (state.failed) return current; + otherlv_5=(Token)match(input,23,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getListLiteralAccess().getRightCurlyBracketKeyword_3()); @@ -11964,7 +12000,7 @@ public final EObject ruleConstructorCallExpression() throws RecognitionException // InternalScope.g:4140:2: (otherlv_0= 'new' ( (lv_type_1_0= ruleSimpleType ) ) ) // InternalScope.g:4141:3: otherlv_0= 'new' ( (lv_type_1_0= ruleSimpleType ) ) { - otherlv_0=(Token)match(input,81,FOLLOW_44); if (state.failed) return current; + otherlv_0=(Token)match(input,83,FOLLOW_44); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getConstructorCallExpressionAccess().getNewKeyword_0()); @@ -12096,7 +12132,7 @@ public final EObject ruleTypeSelectExpression() throws RecognitionException { // InternalScope.g:4184:4: (lv_name_0_0= 'typeSelect' ) // InternalScope.g:4185:5: lv_name_0_0= 'typeSelect' { - lv_name_0_0=(Token)match(input,68,FOLLOW_29); if (state.failed) return current; + lv_name_0_0=(Token)match(input,70,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_0, grammarAccess.getTypeSelectExpressionAccess().getNameTypeSelectKeyword_0_0()); @@ -12116,7 +12152,7 @@ public final EObject ruleTypeSelectExpression() throws RecognitionException { } - otherlv_1=(Token)match(input,25,FOLLOW_44); if (state.failed) return current; + otherlv_1=(Token)match(input,27,FOLLOW_44); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getTypeSelectExpressionAccess().getLeftParenthesisKeyword_1()); @@ -12157,7 +12193,7 @@ public final EObject ruleTypeSelectExpression() throws RecognitionException { } - otherlv_3=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; + otherlv_3=(Token)match(input,28,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getTypeSelectExpressionAccess().getRightParenthesisKeyword_3()); @@ -12267,42 +12303,42 @@ public final EObject ruleCollectionExpression() throws RecognitionException { // InternalScope.g:4245:5: (lv_name_0_1= 'collect' | lv_name_0_2= 'select' | lv_name_0_3= 'selectFirst' | lv_name_0_4= 'reject' | lv_name_0_5= 'exists' | lv_name_0_6= 'notExists' | lv_name_0_7= 'sortBy' | lv_name_0_8= 'forAll' ) int alt67=8; switch ( input.LA(1) ) { - case 69: + case 71: { alt67=1; } break; - case 70: + case 72: { alt67=2; } break; - case 71: + case 73: { alt67=3; } break; - case 72: + case 74: { alt67=4; } break; - case 73: + case 75: { alt67=5; } break; - case 74: + case 76: { alt67=6; } break; - case 75: + case 77: { alt67=7; } break; - case 76: + case 78: { alt67=8; } @@ -12319,7 +12355,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 1 : // InternalScope.g:4246:6: lv_name_0_1= 'collect' { - lv_name_0_1=(Token)match(input,69,FOLLOW_29); if (state.failed) return current; + lv_name_0_1=(Token)match(input,71,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_1, grammarAccess.getCollectionExpressionAccess().getNameCollectKeyword_0_0_0()); @@ -12339,7 +12375,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 2 : // InternalScope.g:4257:6: lv_name_0_2= 'select' { - lv_name_0_2=(Token)match(input,70,FOLLOW_29); if (state.failed) return current; + lv_name_0_2=(Token)match(input,72,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_2, grammarAccess.getCollectionExpressionAccess().getNameSelectKeyword_0_0_1()); @@ -12359,7 +12395,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 3 : // InternalScope.g:4268:6: lv_name_0_3= 'selectFirst' { - lv_name_0_3=(Token)match(input,71,FOLLOW_29); if (state.failed) return current; + lv_name_0_3=(Token)match(input,73,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_3, grammarAccess.getCollectionExpressionAccess().getNameSelectFirstKeyword_0_0_2()); @@ -12379,7 +12415,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 4 : // InternalScope.g:4279:6: lv_name_0_4= 'reject' { - lv_name_0_4=(Token)match(input,72,FOLLOW_29); if (state.failed) return current; + lv_name_0_4=(Token)match(input,74,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_4, grammarAccess.getCollectionExpressionAccess().getNameRejectKeyword_0_0_3()); @@ -12399,7 +12435,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 5 : // InternalScope.g:4290:6: lv_name_0_5= 'exists' { - lv_name_0_5=(Token)match(input,73,FOLLOW_29); if (state.failed) return current; + lv_name_0_5=(Token)match(input,75,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_5, grammarAccess.getCollectionExpressionAccess().getNameExistsKeyword_0_0_4()); @@ -12419,7 +12455,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 6 : // InternalScope.g:4301:6: lv_name_0_6= 'notExists' { - lv_name_0_6=(Token)match(input,74,FOLLOW_29); if (state.failed) return current; + lv_name_0_6=(Token)match(input,76,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_6, grammarAccess.getCollectionExpressionAccess().getNameNotExistsKeyword_0_0_5()); @@ -12439,7 +12475,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 7 : // InternalScope.g:4312:6: lv_name_0_7= 'sortBy' { - lv_name_0_7=(Token)match(input,75,FOLLOW_29); if (state.failed) return current; + lv_name_0_7=(Token)match(input,77,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_7, grammarAccess.getCollectionExpressionAccess().getNameSortByKeyword_0_0_6()); @@ -12459,7 +12495,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { case 8 : // InternalScope.g:4323:6: lv_name_0_8= 'forAll' { - lv_name_0_8=(Token)match(input,76,FOLLOW_29); if (state.failed) return current; + lv_name_0_8=(Token)match(input,78,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_8, grammarAccess.getCollectionExpressionAccess().getNameForAllKeyword_0_0_7()); @@ -12485,7 +12521,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { } - otherlv_1=(Token)match(input,25,FOLLOW_17); if (state.failed) return current; + otherlv_1=(Token)match(input,27,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getCollectionExpressionAccess().getLeftParenthesisKeyword_1()); @@ -12498,7 +12534,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { if ( (LA68_0==RULE_ID) ) { int LA68_1 = input.LA(2); - if ( (LA68_1==42) ) { + if ( (LA68_1==44) ) { alt68=1; } } @@ -12541,7 +12577,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { } - otherlv_3=(Token)match(input,42,FOLLOW_17); if (state.failed) return current; + otherlv_3=(Token)match(input,44,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getCollectionExpressionAccess().getVerticalLineKeyword_2_1()); @@ -12588,7 +12624,7 @@ public final EObject ruleCollectionExpression() throws RecognitionException { } - otherlv_5=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; + otherlv_5=(Token)match(input,28,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getCollectionExpressionAccess().getRightParenthesisKeyword_4()); @@ -12679,7 +12715,7 @@ public final EObject ruleType() throws RecognitionException { int alt69=2; int LA69_0 = input.LA(1); - if ( ((LA69_0>=82 && LA69_0<=84)) ) { + if ( ((LA69_0>=84 && LA69_0<=86)) ) { alt69=1; } else if ( (LA69_0==RULE_ID) ) { @@ -12833,17 +12869,17 @@ public final EObject ruleCollectionType() throws RecognitionException { // InternalScope.g:4445:5: (lv_cl_0_1= 'Collection' | lv_cl_0_2= 'List' | lv_cl_0_3= 'Set' ) int alt70=3; switch ( input.LA(1) ) { - case 82: + case 84: { alt70=1; } break; - case 83: + case 85: { alt70=2; } break; - case 84: + case 86: { alt70=3; } @@ -12860,7 +12896,7 @@ public final EObject ruleCollectionType() throws RecognitionException { case 1 : // InternalScope.g:4446:6: lv_cl_0_1= 'Collection' { - lv_cl_0_1=(Token)match(input,82,FOLLOW_64); if (state.failed) return current; + lv_cl_0_1=(Token)match(input,84,FOLLOW_64); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_cl_0_1, grammarAccess.getCollectionTypeAccess().getClCollectionKeyword_0_0_0()); @@ -12880,7 +12916,7 @@ public final EObject ruleCollectionType() throws RecognitionException { case 2 : // InternalScope.g:4457:6: lv_cl_0_2= 'List' { - lv_cl_0_2=(Token)match(input,83,FOLLOW_64); if (state.failed) return current; + lv_cl_0_2=(Token)match(input,85,FOLLOW_64); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_cl_0_2, grammarAccess.getCollectionTypeAccess().getClListKeyword_0_0_1()); @@ -12900,7 +12936,7 @@ public final EObject ruleCollectionType() throws RecognitionException { case 3 : // InternalScope.g:4468:6: lv_cl_0_3= 'Set' { - lv_cl_0_3=(Token)match(input,84,FOLLOW_64); if (state.failed) return current; + lv_cl_0_3=(Token)match(input,86,FOLLOW_64); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_cl_0_3, grammarAccess.getCollectionTypeAccess().getClSetKeyword_0_0_2()); @@ -12926,7 +12962,7 @@ public final EObject ruleCollectionType() throws RecognitionException { } - otherlv_1=(Token)match(input,31,FOLLOW_44); if (state.failed) return current; + otherlv_1=(Token)match(input,33,FOLLOW_44); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getCollectionTypeAccess().getLeftSquareBracketKeyword_1()); @@ -12967,7 +13003,7 @@ public final EObject ruleCollectionType() throws RecognitionException { } - otherlv_3=(Token)match(input,32,FOLLOW_2); if (state.failed) return current; + otherlv_3=(Token)match(input,34,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getCollectionTypeAccess().getRightSquareBracketKeyword_3()); @@ -13099,7 +13135,7 @@ public final EObject ruleSimpleType() throws RecognitionException { int alt71=2; int LA71_0 = input.LA(1); - if ( (LA71_0==44) ) { + if ( (LA71_0==46) ) { alt71=1; } @@ -13108,7 +13144,7 @@ public final EObject ruleSimpleType() throws RecognitionException { case 1 : // InternalScope.g:4547:4: otherlv_1= '::' ( (lv_id_2_0= ruleIdentifier ) ) { - otherlv_1=(Token)match(input,44,FOLLOW_3); if (state.failed) return current; + otherlv_1=(Token)match(input,46,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getSimpleTypeAccess().getColonColonKeyword_1_0()); @@ -13268,80 +13304,77 @@ public final AntlrDatatypeRuleToken ruleIdentifier() throws RecognitionException // $ANTLR end "ruleIdentifier" - // $ANTLR start "ruleCasing" - // InternalScope.g:4599:1: ruleCasing returns [Enumerator current=null] : ( (enumLiteral_0= 'sensitive' ) | (enumLiteral_1= 'insensitive' ) ) ; - public final Enumerator ruleCasing() throws RecognitionException { - Enumerator current = null; - - Token enumLiteral_0=null; - Token enumLiteral_1=null; + // $ANTLR start "entryRuleXExpression" + // InternalScope.g:4599:1: entryRuleXExpression returns [EObject current=null] : iv_ruleXExpression= ruleXExpression EOF ; + public final EObject entryRuleXExpression() throws RecognitionException { + EObject current = null; + EObject iv_ruleXExpression = null; - enterRule(); try { - // InternalScope.g:4605:2: ( ( (enumLiteral_0= 'sensitive' ) | (enumLiteral_1= 'insensitive' ) ) ) - // InternalScope.g:4606:2: ( (enumLiteral_0= 'sensitive' ) | (enumLiteral_1= 'insensitive' ) ) + // InternalScope.g:4599:52: (iv_ruleXExpression= ruleXExpression EOF ) + // InternalScope.g:4600:2: iv_ruleXExpression= ruleXExpression EOF { - // InternalScope.g:4606:2: ( (enumLiteral_0= 'sensitive' ) | (enumLiteral_1= 'insensitive' ) ) - int alt72=2; - int LA72_0 = input.LA(1); - - if ( (LA72_0==85) ) { - alt72=1; + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXExpressionRule()); } - else if ( (LA72_0==86) ) { - alt72=2; + pushFollow(FOLLOW_1); + iv_ruleXExpression=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXExpression; } - else { - if (state.backtracking>0) {state.failed=true; return current;} - NoViableAltException nvae = - new NoViableAltException("", 72, 0, input); + match(input,EOF,FOLLOW_2); if (state.failed) return current; - throw nvae; } - switch (alt72) { - case 1 : - // InternalScope.g:4607:3: (enumLiteral_0= 'sensitive' ) - { - // InternalScope.g:4607:3: (enumLiteral_0= 'sensitive' ) - // InternalScope.g:4608:4: enumLiteral_0= 'sensitive' - { - enumLiteral_0=(Token)match(input,85,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { - current = grammarAccess.getCasingAccess().getSENSITIVEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getCasingAccess().getSENSITIVEEnumLiteralDeclaration_0()); - - } + } - } + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXExpression" - } - break; - case 2 : - // InternalScope.g:4615:3: (enumLiteral_1= 'insensitive' ) - { - // InternalScope.g:4615:3: (enumLiteral_1= 'insensitive' ) - // InternalScope.g:4616:4: enumLiteral_1= 'insensitive' - { - enumLiteral_1=(Token)match(input,86,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + // $ANTLR start "ruleXExpression" + // InternalScope.g:4606:1: ruleXExpression returns [EObject current=null] : this_XAssignment_0= ruleXAssignment ; + public final EObject ruleXExpression() throws RecognitionException { + EObject current = null; - current = grammarAccess.getCasingAccess().getINSENSITIVEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getCasingAccess().getINSENSITIVEEnumLiteralDeclaration_1()); - - } + EObject this_XAssignment_0 = null; - } - } - break; + enterRule(); + + try { + // InternalScope.g:4612:2: (this_XAssignment_0= ruleXAssignment ) + // InternalScope.g:4613:2: this_XAssignment_0= ruleXAssignment + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); + } + pushFollow(FOLLOW_2); + this_XAssignment_0=ruleXAssignment(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current = this_XAssignment_0; + afterParserOrEnumRuleCall(); + + } } @@ -13360,139 +13393,22196 @@ else if ( (LA72_0==86) ) { } return current; } - // $ANTLR end "ruleCasing" + // $ANTLR end "ruleXExpression" - // $ANTLR start synpred1_InternalScope - public final void synpred1_InternalScope_fragment() throws RecognitionException { - // InternalScope.g:1645:4: ( '(' ) - // InternalScope.g:1645:5: '(' - { - match(input,25,FOLLOW_2); if (state.failed) return ; - } - } - // $ANTLR end synpred1_InternalScope + // $ANTLR start "entryRuleXAssignment" + // InternalScope.g:4624:1: entryRuleXAssignment returns [EObject current=null] : iv_ruleXAssignment= ruleXAssignment EOF ; + public final EObject entryRuleXAssignment() throws RecognitionException { + EObject current = null; - // $ANTLR start synpred2_InternalScope - public final void synpred2_InternalScope_fragment() throws RecognitionException { - // InternalScope.g:1911:4: ( ruleCastedExpression ) - // InternalScope.g:1911:5: ruleCastedExpression - { - pushFollow(FOLLOW_2); - ruleCastedExpression(); + EObject iv_ruleXAssignment = null; - state._fsp--; - if (state.failed) return ; + try { + // InternalScope.g:4624:52: (iv_ruleXAssignment= ruleXAssignment EOF ) + // InternalScope.g:4625:2: iv_ruleXAssignment= ruleXAssignment EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXAssignmentRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXAssignment=ruleXAssignment(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXAssignment; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { } + return current; } - // $ANTLR end synpred2_InternalScope + // $ANTLR end "entryRuleXAssignment" + + + // $ANTLR start "ruleXAssignment" + // InternalScope.g:4631:1: ruleXAssignment returns [EObject current=null] : ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ; + public final EObject ruleXAssignment() throws RecognitionException { + EObject current = null; + + EObject lv_value_3_0 = null; + + EObject this_XOrExpression_4 = null; + + EObject lv_rightOperand_7_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:4637:2: ( ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ) + // InternalScope.g:4638:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) + { + // InternalScope.g:4638:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) + int alt73=2; + switch ( input.LA(1) ) { + case RULE_ID: + { + int LA73_1 = input.LA(2); + + if ( (LA73_1==24) ) { + alt73=1; + } + else if ( (LA73_1==EOF||(LA73_1>=RULE_STRING && LA73_1<=RULE_INT)||(LA73_1>=RULE_ID && LA73_1<=RULE_DECIMAL)||(LA73_1>=16 && LA73_1<=18)||LA73_1==20||(LA73_1>=22 && LA73_1<=23)||LA73_1==25||(LA73_1>=27 && LA73_1<=29)||(LA73_1>=32 && LA73_1<=34)||LA73_1==37||(LA73_1>=46 && LA73_1<=47)||(LA73_1>=49 && LA73_1<=50)||LA73_1==52||(LA73_1>=54 && LA73_1<=58)||(LA73_1>=60 && LA73_1<=62)||(LA73_1>=64 && LA73_1<=69)||(LA73_1>=79 && LA73_1<=81)||LA73_1==83||(LA73_1>=87 && LA73_1<=119)) ) { + alt73=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 73, 1, input); + + throw nvae; + } + } + break; + case 110: + { + int LA73_2 = input.LA(2); + + if ( (LA73_2==EOF||(LA73_2>=RULE_STRING && LA73_2<=RULE_INT)||(LA73_2>=RULE_ID && LA73_2<=RULE_DECIMAL)||(LA73_2>=16 && LA73_2<=18)||LA73_2==20||(LA73_2>=22 && LA73_2<=23)||LA73_2==25||(LA73_2>=27 && LA73_2<=29)||(LA73_2>=32 && LA73_2<=34)||LA73_2==37||(LA73_2>=46 && LA73_2<=47)||(LA73_2>=49 && LA73_2<=50)||LA73_2==52||(LA73_2>=54 && LA73_2<=58)||(LA73_2>=60 && LA73_2<=62)||(LA73_2>=64 && LA73_2<=69)||(LA73_2>=79 && LA73_2<=81)||LA73_2==83||(LA73_2>=87 && LA73_2<=119)) ) { + alt73=2; + } + else if ( (LA73_2==24) ) { + alt73=1; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 73, 2, input); + + throw nvae; + } + } + break; + case 111: + { + int LA73_3 = input.LA(2); + + if ( (LA73_3==24) ) { + alt73=1; + } + else if ( (LA73_3==EOF||(LA73_3>=RULE_STRING && LA73_3<=RULE_INT)||(LA73_3>=RULE_ID && LA73_3<=RULE_DECIMAL)||(LA73_3>=16 && LA73_3<=18)||LA73_3==20||(LA73_3>=22 && LA73_3<=23)||LA73_3==25||(LA73_3>=27 && LA73_3<=29)||(LA73_3>=32 && LA73_3<=34)||LA73_3==37||(LA73_3>=46 && LA73_3<=47)||(LA73_3>=49 && LA73_3<=50)||LA73_3==52||(LA73_3>=54 && LA73_3<=58)||(LA73_3>=60 && LA73_3<=62)||(LA73_3>=64 && LA73_3<=69)||(LA73_3>=79 && LA73_3<=81)||LA73_3==83||(LA73_3>=87 && LA73_3<=119)) ) { + alt73=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 73, 3, input); + + throw nvae; + } + } + break; + case 16: + { + int LA73_4 = input.LA(2); + + if ( (LA73_4==24) ) { + alt73=1; + } + else if ( (LA73_4==EOF||(LA73_4>=RULE_STRING && LA73_4<=RULE_INT)||(LA73_4>=RULE_ID && LA73_4<=RULE_DECIMAL)||(LA73_4>=16 && LA73_4<=18)||LA73_4==20||(LA73_4>=22 && LA73_4<=23)||LA73_4==25||(LA73_4>=27 && LA73_4<=29)||(LA73_4>=32 && LA73_4<=34)||LA73_4==37||(LA73_4>=46 && LA73_4<=47)||(LA73_4>=49 && LA73_4<=50)||LA73_4==52||(LA73_4>=54 && LA73_4<=58)||(LA73_4>=60 && LA73_4<=62)||(LA73_4>=64 && LA73_4<=69)||(LA73_4>=79 && LA73_4<=81)||LA73_4==83||(LA73_4>=87 && LA73_4<=119)) ) { + alt73=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 73, 4, input); + + throw nvae; + } + } + break; + case 18: + { + int LA73_5 = input.LA(2); + + if ( (LA73_5==24) ) { + alt73=1; + } + else if ( (LA73_5==EOF||(LA73_5>=RULE_STRING && LA73_5<=RULE_INT)||(LA73_5>=RULE_ID && LA73_5<=RULE_DECIMAL)||(LA73_5>=16 && LA73_5<=18)||LA73_5==20||(LA73_5>=22 && LA73_5<=23)||LA73_5==25||(LA73_5>=27 && LA73_5<=29)||(LA73_5>=32 && LA73_5<=34)||LA73_5==37||(LA73_5>=46 && LA73_5<=47)||(LA73_5>=49 && LA73_5<=50)||LA73_5==52||(LA73_5>=54 && LA73_5<=58)||(LA73_5>=60 && LA73_5<=62)||(LA73_5>=64 && LA73_5<=69)||(LA73_5>=79 && LA73_5<=81)||LA73_5==83||(LA73_5>=87 && LA73_5<=119)) ) { + alt73=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 73, 5, input); + + throw nvae; + } + } + break; + case RULE_STRING: + case RULE_INT: + case RULE_HEX: + case RULE_DECIMAL: + case 22: + case 27: + case 29: + case 33: + case 52: + case 55: + case 65: + case 66: + case 67: + case 69: + case 79: + case 80: + case 81: + case 83: + case 105: + case 106: + case 107: + case 112: + case 113: + case 114: + case 115: + case 116: + case 118: + { + alt73=2; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 73, 0, input); + + throw nvae; + } + + switch (alt73) { + case 1 : + // InternalScope.g:4639:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) + { + // InternalScope.g:4639:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) + // InternalScope.g:4640:4: () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) + { + // InternalScope.g:4640:4: () + // InternalScope.g:4641:5: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(), + current); + + } + + } + + // InternalScope.g:4647:4: ( ( ruleFeatureCallID ) ) + // InternalScope.g:4648:5: ( ruleFeatureCallID ) + { + // InternalScope.g:4648:5: ( ruleFeatureCallID ) + // InternalScope.g:4649:6: ruleFeatureCallID + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXAssignmentRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + + } + pushFollow(FOLLOW_16); + ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); + + } + pushFollow(FOLLOW_65); + ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + // InternalScope.g:4670:4: ( (lv_value_3_0= ruleXAssignment ) ) + // InternalScope.g:4671:5: (lv_value_3_0= ruleXAssignment ) + { + // InternalScope.g:4671:5: (lv_value_3_0= ruleXAssignment ) + // InternalScope.g:4672:6: lv_value_3_0= ruleXAssignment + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); + + } + pushFollow(FOLLOW_2); + lv_value_3_0=ruleXAssignment(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXAssignmentRule()); + } + set( + current, + "value", + lv_value_3_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalScope.g:4691:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) + { + // InternalScope.g:4691:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) + // InternalScope.g:4692:4: this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_66); + this_XOrExpression_4=ruleXOrExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XOrExpression_4; + afterParserOrEnumRuleCall(); + + } + // InternalScope.g:4700:4: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? + int alt72=2; + alt72 = dfa72.predict(input); + switch (alt72) { + case 1 : + // InternalScope.g:4701:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) + { + // InternalScope.g:4701:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) + // InternalScope.g:4702:6: ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) + { + // InternalScope.g:4712:6: ( () ( ( ruleOpMultiAssign ) ) ) + // InternalScope.g:4713:7: () ( ( ruleOpMultiAssign ) ) + { + // InternalScope.g:4713:7: () + // InternalScope.g:4714:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), + current); + + } + + } + + // InternalScope.g:4720:7: ( ( ruleOpMultiAssign ) ) + // InternalScope.g:4721:8: ( ruleOpMultiAssign ) + { + // InternalScope.g:4721:8: ( ruleOpMultiAssign ) + // InternalScope.g:4722:9: ruleOpMultiAssign + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXAssignmentRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + + } + pushFollow(FOLLOW_65); + ruleOpMultiAssign(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalScope.g:4738:5: ( (lv_rightOperand_7_0= ruleXAssignment ) ) + // InternalScope.g:4739:6: (lv_rightOperand_7_0= ruleXAssignment ) + { + // InternalScope.g:4739:6: (lv_rightOperand_7_0= ruleXAssignment ) + // InternalScope.g:4740:7: lv_rightOperand_7_0= ruleXAssignment + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); + + } + pushFollow(FOLLOW_2); + lv_rightOperand_7_0=ruleXAssignment(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXAssignmentRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_7_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXAssignment" + + + // $ANTLR start "entryRuleOpSingleAssign" + // InternalScope.g:4763:1: entryRuleOpSingleAssign returns [String current=null] : iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ; + public final String entryRuleOpSingleAssign() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpSingleAssign = null; + + + try { + // InternalScope.g:4763:54: (iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ) + // InternalScope.g:4764:2: iv_ruleOpSingleAssign= ruleOpSingleAssign EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpSingleAssignRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpSingleAssign=ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpSingleAssign.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpSingleAssign" + + + // $ANTLR start "ruleOpSingleAssign" + // InternalScope.g:4770:1: ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '=' ; + public final AntlrDatatypeRuleToken ruleOpSingleAssign() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalScope.g:4776:2: (kw= '=' ) + // InternalScope.g:4777:2: kw= '=' + { + kw=(Token)match(input,24,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpSingleAssign" + + + // $ANTLR start "entryRuleOpMultiAssign" + // InternalScope.g:4785:1: entryRuleOpMultiAssign returns [String current=null] : iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ; + public final String entryRuleOpMultiAssign() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpMultiAssign = null; + + + try { + // InternalScope.g:4785:53: (iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ) + // InternalScope.g:4786:2: iv_ruleOpMultiAssign= ruleOpMultiAssign EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpMultiAssignRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpMultiAssign=ruleOpMultiAssign(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpMultiAssign.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpMultiAssign" + + + // $ANTLR start "ruleOpMultiAssign" + // InternalScope.g:4792:1: ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ; + public final AntlrDatatypeRuleToken ruleOpMultiAssign() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalScope.g:4798:2: ( (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ) + // InternalScope.g:4799:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) + { + // InternalScope.g:4799:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) + int alt75=7; + switch ( input.LA(1) ) { + case 87: + { + alt75=1; + } + break; + case 88: + { + alt75=2; + } + break; + case 89: + { + alt75=3; + } + break; + case 90: + { + alt75=4; + } + break; + case 91: + { + alt75=5; + } + break; + case 65: + { + alt75=6; + } + break; + case 64: + { + alt75=7; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 75, 0, input); + + throw nvae; + } + + switch (alt75) { + case 1 : + // InternalScope.g:4800:3: kw= '+=' + { + kw=(Token)match(input,87,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalScope.g:4806:3: kw= '-=' + { + kw=(Token)match(input,88,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); + + } + + } + break; + case 3 : + // InternalScope.g:4812:3: kw= '*=' + { + kw=(Token)match(input,89,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); + + } + + } + break; + case 4 : + // InternalScope.g:4818:3: kw= '/=' + { + kw=(Token)match(input,90,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); + + } + + } + break; + case 5 : + // InternalScope.g:4824:3: kw= '%=' + { + kw=(Token)match(input,91,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); + + } + + } + break; + case 6 : + // InternalScope.g:4830:3: (kw= '<' kw= '<' kw= '=' ) + { + // InternalScope.g:4830:3: (kw= '<' kw= '<' kw= '=' ) + // InternalScope.g:4831:4: kw= '<' kw= '<' kw= '=' + { + kw=(Token)match(input,65,FOLLOW_67); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); + + } + kw=(Token)match(input,65,FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); + + } + kw=(Token)match(input,24,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); + + } + + } + + + } + break; + case 7 : + // InternalScope.g:4848:3: (kw= '>' (kw= '>' )? kw= '>=' ) + { + // InternalScope.g:4848:3: (kw= '>' (kw= '>' )? kw= '>=' ) + // InternalScope.g:4849:4: kw= '>' (kw= '>' )? kw= '>=' + { + kw=(Token)match(input,64,FOLLOW_68); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); + + } + // InternalScope.g:4854:4: (kw= '>' )? + int alt74=2; + int LA74_0 = input.LA(1); + + if ( (LA74_0==64) ) { + alt74=1; + } + switch (alt74) { + case 1 : + // InternalScope.g:4855:5: kw= '>' + { + kw=(Token)match(input,64,FOLLOW_69); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); + + } + + } + break; + + } + + kw=(Token)match(input,62,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); + + } + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpMultiAssign" + + + // $ANTLR start "entryRuleXOrExpression" + // InternalScope.g:4871:1: entryRuleXOrExpression returns [EObject current=null] : iv_ruleXOrExpression= ruleXOrExpression EOF ; + public final EObject entryRuleXOrExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXOrExpression = null; + + + try { + // InternalScope.g:4871:54: (iv_ruleXOrExpression= ruleXOrExpression EOF ) + // InternalScope.g:4872:2: iv_ruleXOrExpression= ruleXOrExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXOrExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXOrExpression=ruleXOrExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXOrExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXOrExpression" + + + // $ANTLR start "ruleXOrExpression" + // InternalScope.g:4878:1: ruleXOrExpression returns [EObject current=null] : (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ; + public final EObject ruleXOrExpression() throws RecognitionException { + EObject current = null; + + EObject this_XAndExpression_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:4884:2: ( (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ) + // InternalScope.g:4885:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) + { + // InternalScope.g:4885:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) + // InternalScope.g:4886:3: this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_53); + this_XAndExpression_0=ruleXAndExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XAndExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalScope.g:4894:3: ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* + loop76: + do { + int alt76=2; + int LA76_0 = input.LA(1); + + if ( (LA76_0==57) ) { + int LA76_2 = input.LA(2); + + if ( (synpred5_InternalScope()) ) { + alt76=1; + } + + + } + + + switch (alt76) { + case 1 : + // InternalScope.g:4895:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) + { + // InternalScope.g:4895:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) + // InternalScope.g:4896:5: ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) + { + // InternalScope.g:4906:5: ( () ( ( ruleOpOr ) ) ) + // InternalScope.g:4907:6: () ( ( ruleOpOr ) ) + { + // InternalScope.g:4907:6: () + // InternalScope.g:4908:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalScope.g:4914:6: ( ( ruleOpOr ) ) + // InternalScope.g:4915:7: ( ruleOpOr ) + { + // InternalScope.g:4915:7: ( ruleOpOr ) + // InternalScope.g:4916:8: ruleOpOr + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXOrExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_65); + ruleOpOr(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalScope.g:4932:4: ( (lv_rightOperand_3_0= ruleXAndExpression ) ) + // InternalScope.g:4933:5: (lv_rightOperand_3_0= ruleXAndExpression ) + { + // InternalScope.g:4933:5: (lv_rightOperand_3_0= ruleXAndExpression ) + // InternalScope.g:4934:6: lv_rightOperand_3_0= ruleXAndExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_53); + lv_rightOperand_3_0=ruleXAndExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXOrExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XAndExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop76; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXOrExpression" + + + // $ANTLR start "entryRuleOpOr" + // InternalScope.g:4956:1: entryRuleOpOr returns [String current=null] : iv_ruleOpOr= ruleOpOr EOF ; + public final String entryRuleOpOr() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpOr = null; + + + try { + // InternalScope.g:4956:44: (iv_ruleOpOr= ruleOpOr EOF ) + // InternalScope.g:4957:2: iv_ruleOpOr= ruleOpOr EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpOrRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpOr=ruleOpOr(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpOr.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpOr" + + + // $ANTLR start "ruleOpOr" + // InternalScope.g:4963:1: ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '||' ; + public final AntlrDatatypeRuleToken ruleOpOr() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalScope.g:4969:2: (kw= '||' ) + // InternalScope.g:4970:2: kw= '||' + { + kw=(Token)match(input,57,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpOr" + + + // $ANTLR start "entryRuleXAndExpression" + // InternalScope.g:4978:1: entryRuleXAndExpression returns [EObject current=null] : iv_ruleXAndExpression= ruleXAndExpression EOF ; + public final EObject entryRuleXAndExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXAndExpression = null; + + + try { + // InternalScope.g:4978:55: (iv_ruleXAndExpression= ruleXAndExpression EOF ) + // InternalScope.g:4979:2: iv_ruleXAndExpression= ruleXAndExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXAndExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXAndExpression=ruleXAndExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXAndExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXAndExpression" + + + // $ANTLR start "ruleXAndExpression" + // InternalScope.g:4985:1: ruleXAndExpression returns [EObject current=null] : (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ; + public final EObject ruleXAndExpression() throws RecognitionException { + EObject current = null; + + EObject this_XEqualityExpression_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:4991:2: ( (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ) + // InternalScope.g:4992:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) + { + // InternalScope.g:4992:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) + // InternalScope.g:4993:3: this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_54); + this_XEqualityExpression_0=ruleXEqualityExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XEqualityExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalScope.g:5001:3: ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* + loop77: + do { + int alt77=2; + int LA77_0 = input.LA(1); + + if ( (LA77_0==58) ) { + int LA77_2 = input.LA(2); + + if ( (synpred6_InternalScope()) ) { + alt77=1; + } + + + } + + + switch (alt77) { + case 1 : + // InternalScope.g:5002:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) + { + // InternalScope.g:5002:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) + // InternalScope.g:5003:5: ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) + { + // InternalScope.g:5013:5: ( () ( ( ruleOpAnd ) ) ) + // InternalScope.g:5014:6: () ( ( ruleOpAnd ) ) + { + // InternalScope.g:5014:6: () + // InternalScope.g:5015:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalScope.g:5021:6: ( ( ruleOpAnd ) ) + // InternalScope.g:5022:7: ( ruleOpAnd ) + { + // InternalScope.g:5022:7: ( ruleOpAnd ) + // InternalScope.g:5023:8: ruleOpAnd + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXAndExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_65); + ruleOpAnd(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalScope.g:5039:4: ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) + // InternalScope.g:5040:5: (lv_rightOperand_3_0= ruleXEqualityExpression ) + { + // InternalScope.g:5040:5: (lv_rightOperand_3_0= ruleXEqualityExpression ) + // InternalScope.g:5041:6: lv_rightOperand_3_0= ruleXEqualityExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_54); + lv_rightOperand_3_0=ruleXEqualityExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXAndExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XEqualityExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop77; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXAndExpression" + + + // $ANTLR start "entryRuleOpAnd" + // InternalScope.g:5063:1: entryRuleOpAnd returns [String current=null] : iv_ruleOpAnd= ruleOpAnd EOF ; + public final String entryRuleOpAnd() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpAnd = null; + + + try { + // InternalScope.g:5063:45: (iv_ruleOpAnd= ruleOpAnd EOF ) + // InternalScope.g:5064:2: iv_ruleOpAnd= ruleOpAnd EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpAndRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpAnd=ruleOpAnd(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpAnd.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpAnd" + + + // $ANTLR start "ruleOpAnd" + // InternalScope.g:5070:1: ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '&&' ; + public final AntlrDatatypeRuleToken ruleOpAnd() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalScope.g:5076:2: (kw= '&&' ) + // InternalScope.g:5077:2: kw= '&&' + { + kw=(Token)match(input,58,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpAnd" + + + // $ANTLR start "entryRuleXEqualityExpression" + // InternalScope.g:5085:1: entryRuleXEqualityExpression returns [EObject current=null] : iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ; + public final EObject entryRuleXEqualityExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXEqualityExpression = null; + + + try { + // InternalScope.g:5085:60: (iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ) + // InternalScope.g:5086:2: iv_ruleXEqualityExpression= ruleXEqualityExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXEqualityExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXEqualityExpression=ruleXEqualityExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXEqualityExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXEqualityExpression" + + + // $ANTLR start "ruleXEqualityExpression" + // InternalScope.g:5092:1: ruleXEqualityExpression returns [EObject current=null] : (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ; + public final EObject ruleXEqualityExpression() throws RecognitionException { + EObject current = null; + + EObject this_XRelationalExpression_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:5098:2: ( (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ) + // InternalScope.g:5099:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) + { + // InternalScope.g:5099:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) + // InternalScope.g:5100:3: this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_70); + this_XRelationalExpression_0=ruleXRelationalExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XRelationalExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalScope.g:5108:3: ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* + loop78: + do { + int alt78=2; + switch ( input.LA(1) ) { + case 60: + { + int LA78_2 = input.LA(2); + + if ( (synpred7_InternalScope()) ) { + alt78=1; + } + + + } + break; + case 61: + { + int LA78_3 = input.LA(2); + + if ( (synpred7_InternalScope()) ) { + alt78=1; + } + + + } + break; + case 92: + { + int LA78_4 = input.LA(2); + + if ( (synpred7_InternalScope()) ) { + alt78=1; + } + + + } + break; + case 93: + { + int LA78_5 = input.LA(2); + + if ( (synpred7_InternalScope()) ) { + alt78=1; + } + + + } + break; + + } + + switch (alt78) { + case 1 : + // InternalScope.g:5109:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) + { + // InternalScope.g:5109:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) + // InternalScope.g:5110:5: ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) + { + // InternalScope.g:5120:5: ( () ( ( ruleOpEquality ) ) ) + // InternalScope.g:5121:6: () ( ( ruleOpEquality ) ) + { + // InternalScope.g:5121:6: () + // InternalScope.g:5122:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalScope.g:5128:6: ( ( ruleOpEquality ) ) + // InternalScope.g:5129:7: ( ruleOpEquality ) + { + // InternalScope.g:5129:7: ( ruleOpEquality ) + // InternalScope.g:5130:8: ruleOpEquality + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXEqualityExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_65); + ruleOpEquality(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalScope.g:5146:4: ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) + // InternalScope.g:5147:5: (lv_rightOperand_3_0= ruleXRelationalExpression ) + { + // InternalScope.g:5147:5: (lv_rightOperand_3_0= ruleXRelationalExpression ) + // InternalScope.g:5148:6: lv_rightOperand_3_0= ruleXRelationalExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_70); + lv_rightOperand_3_0=ruleXRelationalExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXEqualityExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XRelationalExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop78; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXEqualityExpression" + + + // $ANTLR start "entryRuleOpEquality" + // InternalScope.g:5170:1: entryRuleOpEquality returns [String current=null] : iv_ruleOpEquality= ruleOpEquality EOF ; + public final String entryRuleOpEquality() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpEquality = null; + + + try { + // InternalScope.g:5170:50: (iv_ruleOpEquality= ruleOpEquality EOF ) + // InternalScope.g:5171:2: iv_ruleOpEquality= ruleOpEquality EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpEqualityRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpEquality=ruleOpEquality(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpEquality.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpEquality" + + + // $ANTLR start "ruleOpEquality" + // InternalScope.g:5177:1: ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ; + public final AntlrDatatypeRuleToken ruleOpEquality() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalScope.g:5183:2: ( (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ) + // InternalScope.g:5184:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) + { + // InternalScope.g:5184:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) + int alt79=4; + switch ( input.LA(1) ) { + case 60: + { + alt79=1; + } + break; + case 61: + { + alt79=2; + } + break; + case 92: + { + alt79=3; + } + break; + case 93: + { + alt79=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 79, 0, input); + + throw nvae; + } + + switch (alt79) { + case 1 : + // InternalScope.g:5185:3: kw= '==' + { + kw=(Token)match(input,60,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalScope.g:5191:3: kw= '!=' + { + kw=(Token)match(input,61,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); + + } + + } + break; + case 3 : + // InternalScope.g:5197:3: kw= '===' + { + kw=(Token)match(input,92,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); + + } + + } + break; + case 4 : + // InternalScope.g:5203:3: kw= '!==' + { + kw=(Token)match(input,93,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpEquality" + + + // $ANTLR start "entryRuleXRelationalExpression" + // InternalScope.g:5212:1: entryRuleXRelationalExpression returns [EObject current=null] : iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ; + public final EObject entryRuleXRelationalExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXRelationalExpression = null; + + + try { + // InternalScope.g:5212:62: (iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ) + // InternalScope.g:5213:2: iv_ruleXRelationalExpression= ruleXRelationalExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXRelationalExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXRelationalExpression=ruleXRelationalExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXRelationalExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXRelationalExpression" + + + // $ANTLR start "ruleXRelationalExpression" + // InternalScope.g:5219:1: ruleXRelationalExpression returns [EObject current=null] : (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ; + public final EObject ruleXRelationalExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_XOtherOperatorExpression_0 = null; + + EObject lv_type_3_0 = null; + + EObject lv_rightOperand_6_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:5225:2: ( (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ) + // InternalScope.g:5226:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) + { + // InternalScope.g:5226:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) + // InternalScope.g:5227:3: this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_71); + this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XOtherOperatorExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalScope.g:5235:3: ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* + loop80: + do { + int alt80=3; + switch ( input.LA(1) ) { + case 65: + { + int LA80_2 = input.LA(2); + + if ( (synpred9_InternalScope()) ) { + alt80=2; + } + + + } + break; + case 64: + { + int LA80_3 = input.LA(2); + + if ( (synpred9_InternalScope()) ) { + alt80=2; + } + + + } + break; + case 94: + { + int LA80_4 = input.LA(2); + + if ( (synpred8_InternalScope()) ) { + alt80=1; + } + + + } + break; + case 62: + { + int LA80_5 = input.LA(2); + + if ( (synpred9_InternalScope()) ) { + alt80=2; + } + + + } + break; + + } + + switch (alt80) { + case 1 : + // InternalScope.g:5236:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) + { + // InternalScope.g:5236:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) + // InternalScope.g:5237:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) + { + // InternalScope.g:5237:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) + // InternalScope.g:5238:6: ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) + { + // InternalScope.g:5244:6: ( () otherlv_2= 'instanceof' ) + // InternalScope.g:5245:7: () otherlv_2= 'instanceof' + { + // InternalScope.g:5245:7: () + // InternalScope.g:5246:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,94,FOLLOW_72); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); + + } + + } + + + } + + // InternalScope.g:5258:5: ( (lv_type_3_0= ruleJvmTypeReference ) ) + // InternalScope.g:5259:6: (lv_type_3_0= ruleJvmTypeReference ) + { + // InternalScope.g:5259:6: (lv_type_3_0= ruleJvmTypeReference ) + // InternalScope.g:5260:7: lv_type_3_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); + + } + pushFollow(FOLLOW_71); + lv_type_3_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule()); + } + set( + current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalScope.g:5279:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) + { + // InternalScope.g:5279:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) + // InternalScope.g:5280:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) + { + // InternalScope.g:5280:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) + // InternalScope.g:5281:6: ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) + { + // InternalScope.g:5291:6: ( () ( ( ruleOpCompare ) ) ) + // InternalScope.g:5292:7: () ( ( ruleOpCompare ) ) + { + // InternalScope.g:5292:7: () + // InternalScope.g:5293:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), + current); + + } + + } + + // InternalScope.g:5299:7: ( ( ruleOpCompare ) ) + // InternalScope.g:5300:8: ( ruleOpCompare ) + { + // InternalScope.g:5300:8: ( ruleOpCompare ) + // InternalScope.g:5301:9: ruleOpCompare + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXRelationalExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); + + } + pushFollow(FOLLOW_65); + ruleOpCompare(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalScope.g:5317:5: ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) + // InternalScope.g:5318:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) + { + // InternalScope.g:5318:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) + // InternalScope.g:5319:7: lv_rightOperand_6_0= ruleXOtherOperatorExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); + + } + pushFollow(FOLLOW_71); + lv_rightOperand_6_0=ruleXOtherOperatorExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_6_0, + "org.eclipse.xtext.xbase.Xbase.XOtherOperatorExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + default : + break loop80; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXRelationalExpression" + + + // $ANTLR start "entryRuleOpCompare" + // InternalScope.g:5342:1: entryRuleOpCompare returns [String current=null] : iv_ruleOpCompare= ruleOpCompare EOF ; + public final String entryRuleOpCompare() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpCompare = null; + + + try { + // InternalScope.g:5342:49: (iv_ruleOpCompare= ruleOpCompare EOF ) + // InternalScope.g:5343:2: iv_ruleOpCompare= ruleOpCompare EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpCompareRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpCompare=ruleOpCompare(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpCompare.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpCompare" + + + // $ANTLR start "ruleOpCompare" + // InternalScope.g:5349:1: ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ; + public final AntlrDatatypeRuleToken ruleOpCompare() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalScope.g:5355:2: ( (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ) + // InternalScope.g:5356:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) + { + // InternalScope.g:5356:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) + int alt81=4; + switch ( input.LA(1) ) { + case 62: + { + alt81=1; + } + break; + case 65: + { + int LA81_2 = input.LA(2); + + if ( (LA81_2==EOF||(LA81_2>=RULE_STRING && LA81_2<=RULE_INT)||(LA81_2>=RULE_ID && LA81_2<=RULE_DECIMAL)||LA81_2==16||LA81_2==18||LA81_2==22||LA81_2==27||LA81_2==29||LA81_2==33||LA81_2==52||LA81_2==55||(LA81_2>=65 && LA81_2<=67)||LA81_2==69||(LA81_2>=79 && LA81_2<=81)||LA81_2==83||(LA81_2>=105 && LA81_2<=107)||(LA81_2>=110 && LA81_2<=116)||LA81_2==118) ) { + alt81=4; + } + else if ( (LA81_2==24) ) { + alt81=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 81, 2, input); + + throw nvae; + } + } + break; + case 64: + { + alt81=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 81, 0, input); + + throw nvae; + } + + switch (alt81) { + case 1 : + // InternalScope.g:5357:3: kw= '>=' + { + kw=(Token)match(input,62,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalScope.g:5363:3: (kw= '<' kw= '=' ) + { + // InternalScope.g:5363:3: (kw= '<' kw= '=' ) + // InternalScope.g:5364:4: kw= '<' kw= '=' + { + kw=(Token)match(input,65,FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); + + } + kw=(Token)match(input,24,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); + + } + + } + + + } + break; + case 3 : + // InternalScope.g:5376:3: kw= '>' + { + kw=(Token)match(input,64,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); + + } + + } + break; + case 4 : + // InternalScope.g:5382:3: kw= '<' + { + kw=(Token)match(input,65,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpCompare" + + + // $ANTLR start "entryRuleXOtherOperatorExpression" + // InternalScope.g:5391:1: entryRuleXOtherOperatorExpression returns [EObject current=null] : iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ; + public final EObject entryRuleXOtherOperatorExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXOtherOperatorExpression = null; + + + try { + // InternalScope.g:5391:65: (iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ) + // InternalScope.g:5392:2: iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXOtherOperatorExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXOtherOperatorExpression" + + + // $ANTLR start "ruleXOtherOperatorExpression" + // InternalScope.g:5398:1: ruleXOtherOperatorExpression returns [EObject current=null] : (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ; + public final EObject ruleXOtherOperatorExpression() throws RecognitionException { + EObject current = null; + + EObject this_XAdditiveExpression_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:5404:2: ( (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ) + // InternalScope.g:5405:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) + { + // InternalScope.g:5405:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) + // InternalScope.g:5406:3: this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_73); + this_XAdditiveExpression_0=ruleXAdditiveExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XAdditiveExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalScope.g:5414:3: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* + loop82: + do { + int alt82=2; + alt82 = dfa82.predict(input); + switch (alt82) { + case 1 : + // InternalScope.g:5415:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) + { + // InternalScope.g:5415:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) + // InternalScope.g:5416:5: ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) + { + // InternalScope.g:5426:5: ( () ( ( ruleOpOther ) ) ) + // InternalScope.g:5427:6: () ( ( ruleOpOther ) ) + { + // InternalScope.g:5427:6: () + // InternalScope.g:5428:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalScope.g:5434:6: ( ( ruleOpOther ) ) + // InternalScope.g:5435:7: ( ruleOpOther ) + { + // InternalScope.g:5435:7: ( ruleOpOther ) + // InternalScope.g:5436:8: ruleOpOther + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXOtherOperatorExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_65); + ruleOpOther(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalScope.g:5452:4: ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) + // InternalScope.g:5453:5: (lv_rightOperand_3_0= ruleXAdditiveExpression ) + { + // InternalScope.g:5453:5: (lv_rightOperand_3_0= ruleXAdditiveExpression ) + // InternalScope.g:5454:6: lv_rightOperand_3_0= ruleXAdditiveExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_73); + lv_rightOperand_3_0=ruleXAdditiveExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXOtherOperatorExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XAdditiveExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop82; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXOtherOperatorExpression" + + + // $ANTLR start "entryRuleOpOther" + // InternalScope.g:5476:1: entryRuleOpOther returns [String current=null] : iv_ruleOpOther= ruleOpOther EOF ; + public final String entryRuleOpOther() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpOther = null; + + + try { + // InternalScope.g:5476:47: (iv_ruleOpOther= ruleOpOther EOF ) + // InternalScope.g:5477:2: iv_ruleOpOther= ruleOpOther EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpOtherRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpOther=ruleOpOther(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpOther.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpOther" + + + // $ANTLR start "ruleOpOther" + // InternalScope.g:5483:1: ruleOpOther returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ; + public final AntlrDatatypeRuleToken ruleOpOther() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalScope.g:5489:2: ( (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ) + // InternalScope.g:5490:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) + { + // InternalScope.g:5490:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) + int alt85=9; + alt85 = dfa85.predict(input); + switch (alt85) { + case 1 : + // InternalScope.g:5491:3: kw= '->' + { + kw=(Token)match(input,50,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalScope.g:5497:3: kw= '..<' + { + kw=(Token)match(input,95,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); + + } + + } + break; + case 3 : + // InternalScope.g:5503:3: (kw= '>' kw= '..' ) + { + // InternalScope.g:5503:3: (kw= '>' kw= '..' ) + // InternalScope.g:5504:4: kw= '>' kw= '..' + { + kw=(Token)match(input,64,FOLLOW_74); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); + + } + kw=(Token)match(input,96,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); + + } + + } + + + } + break; + case 4 : + // InternalScope.g:5516:3: kw= '..' + { + kw=(Token)match(input,96,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); + + } + + } + break; + case 5 : + // InternalScope.g:5522:3: kw= '=>' + { + kw=(Token)match(input,97,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); + + } + + } + break; + case 6 : + // InternalScope.g:5528:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) + { + // InternalScope.g:5528:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) + // InternalScope.g:5529:4: kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) + { + kw=(Token)match(input,64,FOLLOW_75); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); + + } + // InternalScope.g:5534:4: ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) + int alt83=2; + int LA83_0 = input.LA(1); + + if ( (LA83_0==64) ) { + int LA83_1 = input.LA(2); + + if ( (LA83_1==64) && (synpred11_InternalScope())) { + alt83=1; + } + else if ( (LA83_1==EOF||(LA83_1>=RULE_STRING && LA83_1<=RULE_INT)||(LA83_1>=RULE_ID && LA83_1<=RULE_DECIMAL)||LA83_1==16||LA83_1==18||LA83_1==22||LA83_1==27||LA83_1==29||LA83_1==33||LA83_1==52||LA83_1==55||(LA83_1>=65 && LA83_1<=67)||LA83_1==69||(LA83_1>=79 && LA83_1<=81)||LA83_1==83||(LA83_1>=105 && LA83_1<=107)||(LA83_1>=110 && LA83_1<=116)||LA83_1==118) ) { + alt83=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 83, 1, input); + + throw nvae; + } + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 83, 0, input); + + throw nvae; + } + switch (alt83) { + case 1 : + // InternalScope.g:5535:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) + { + // InternalScope.g:5535:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) + // InternalScope.g:5536:6: ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) + { + // InternalScope.g:5541:6: (kw= '>' kw= '>' ) + // InternalScope.g:5542:7: kw= '>' kw= '>' + { + kw=(Token)match(input,64,FOLLOW_75); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); + + } + kw=(Token)match(input,64,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); + + } + + } + + + } + + + } + break; + case 2 : + // InternalScope.g:5555:5: kw= '>' + { + kw=(Token)match(input,64,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); + + } + + } + break; + + } + + + } + + + } + break; + case 7 : + // InternalScope.g:5563:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) + { + // InternalScope.g:5563:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) + // InternalScope.g:5564:4: kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) + { + kw=(Token)match(input,65,FOLLOW_76); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); + + } + // InternalScope.g:5569:4: ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) + int alt84=3; + int LA84_0 = input.LA(1); + + if ( (LA84_0==65) ) { + int LA84_1 = input.LA(2); + + if ( (synpred12_InternalScope()) ) { + alt84=1; + } + else if ( (true) ) { + alt84=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 84, 1, input); + + throw nvae; + } + } + else if ( (LA84_0==97) ) { + alt84=3; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 84, 0, input); + + throw nvae; + } + switch (alt84) { + case 1 : + // InternalScope.g:5570:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) + { + // InternalScope.g:5570:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) + // InternalScope.g:5571:6: ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) + { + // InternalScope.g:5576:6: (kw= '<' kw= '<' ) + // InternalScope.g:5577:7: kw= '<' kw= '<' + { + kw=(Token)match(input,65,FOLLOW_67); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); + + } + kw=(Token)match(input,65,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); + + } + + } + + + } + + + } + break; + case 2 : + // InternalScope.g:5590:5: kw= '<' + { + kw=(Token)match(input,65,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); + + } + + } + break; + case 3 : + // InternalScope.g:5596:5: kw= '=>' + { + kw=(Token)match(input,97,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); + + } + + } + break; + + } + + + } + + + } + break; + case 8 : + // InternalScope.g:5604:3: kw= '<>' + { + kw=(Token)match(input,98,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); + + } + + } + break; + case 9 : + // InternalScope.g:5610:3: kw= '?:' + { + kw=(Token)match(input,99,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpOther" + + + // $ANTLR start "entryRuleXAdditiveExpression" + // InternalScope.g:5619:1: entryRuleXAdditiveExpression returns [EObject current=null] : iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ; + public final EObject entryRuleXAdditiveExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXAdditiveExpression = null; + + + try { + // InternalScope.g:5619:60: (iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ) + // InternalScope.g:5620:2: iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXAdditiveExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXAdditiveExpression=ruleXAdditiveExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXAdditiveExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXAdditiveExpression" + + + // $ANTLR start "ruleXAdditiveExpression" + // InternalScope.g:5626:1: ruleXAdditiveExpression returns [EObject current=null] : (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ; + public final EObject ruleXAdditiveExpression() throws RecognitionException { + EObject current = null; + + EObject this_XMultiplicativeExpression_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:5632:2: ( (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ) + // InternalScope.g:5633:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) + { + // InternalScope.g:5633:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) + // InternalScope.g:5634:3: this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_57); + this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XMultiplicativeExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalScope.g:5642:3: ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* + loop86: + do { + int alt86=2; + int LA86_0 = input.LA(1); + + if ( (LA86_0==66) ) { + int LA86_2 = input.LA(2); + + if ( (synpred13_InternalScope()) ) { + alt86=1; + } + + + } + else if ( (LA86_0==67) ) { + int LA86_3 = input.LA(2); + + if ( (synpred13_InternalScope()) ) { + alt86=1; + } + + + } + + + switch (alt86) { + case 1 : + // InternalScope.g:5643:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) + { + // InternalScope.g:5643:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) + // InternalScope.g:5644:5: ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) + { + // InternalScope.g:5654:5: ( () ( ( ruleOpAdd ) ) ) + // InternalScope.g:5655:6: () ( ( ruleOpAdd ) ) + { + // InternalScope.g:5655:6: () + // InternalScope.g:5656:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalScope.g:5662:6: ( ( ruleOpAdd ) ) + // InternalScope.g:5663:7: ( ruleOpAdd ) + { + // InternalScope.g:5663:7: ( ruleOpAdd ) + // InternalScope.g:5664:8: ruleOpAdd + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXAdditiveExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_65); + ruleOpAdd(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalScope.g:5680:4: ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) + // InternalScope.g:5681:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) + { + // InternalScope.g:5681:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) + // InternalScope.g:5682:6: lv_rightOperand_3_0= ruleXMultiplicativeExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_57); + lv_rightOperand_3_0=ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXAdditiveExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XMultiplicativeExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop86; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXAdditiveExpression" + + + // $ANTLR start "entryRuleOpAdd" + // InternalScope.g:5704:1: entryRuleOpAdd returns [String current=null] : iv_ruleOpAdd= ruleOpAdd EOF ; + public final String entryRuleOpAdd() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpAdd = null; + + + try { + // InternalScope.g:5704:45: (iv_ruleOpAdd= ruleOpAdd EOF ) + // InternalScope.g:5705:2: iv_ruleOpAdd= ruleOpAdd EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpAddRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpAdd=ruleOpAdd(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpAdd.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpAdd" + + + // $ANTLR start "ruleOpAdd" + // InternalScope.g:5711:1: ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '-' ) ; + public final AntlrDatatypeRuleToken ruleOpAdd() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalScope.g:5717:2: ( (kw= '+' | kw= '-' ) ) + // InternalScope.g:5718:2: (kw= '+' | kw= '-' ) + { + // InternalScope.g:5718:2: (kw= '+' | kw= '-' ) + int alt87=2; + int LA87_0 = input.LA(1); + + if ( (LA87_0==66) ) { + alt87=1; + } + else if ( (LA87_0==67) ) { + alt87=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 87, 0, input); + + throw nvae; + } + switch (alt87) { + case 1 : + // InternalScope.g:5719:3: kw= '+' + { + kw=(Token)match(input,66,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalScope.g:5725:3: kw= '-' + { + kw=(Token)match(input,67,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpAdd" + + + // $ANTLR start "entryRuleXMultiplicativeExpression" + // InternalScope.g:5734:1: entryRuleXMultiplicativeExpression returns [EObject current=null] : iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ; + public final EObject entryRuleXMultiplicativeExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXMultiplicativeExpression = null; + + + try { + // InternalScope.g:5734:66: (iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ) + // InternalScope.g:5735:2: iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXMultiplicativeExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXMultiplicativeExpression" + + + // $ANTLR start "ruleXMultiplicativeExpression" + // InternalScope.g:5741:1: ruleXMultiplicativeExpression returns [EObject current=null] : (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ; + public final EObject ruleXMultiplicativeExpression() throws RecognitionException { + EObject current = null; + + EObject this_XUnaryOperation_0 = null; + + EObject lv_rightOperand_3_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:5747:2: ( (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ) + // InternalScope.g:5748:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) + { + // InternalScope.g:5748:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) + // InternalScope.g:5749:3: this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); + + } + pushFollow(FOLLOW_77); + this_XUnaryOperation_0=ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XUnaryOperation_0; + afterParserOrEnumRuleCall(); + + } + // InternalScope.g:5757:3: ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* + loop88: + do { + int alt88=2; + switch ( input.LA(1) ) { + case 32: + { + int LA88_2 = input.LA(2); + + if ( (synpred14_InternalScope()) ) { + alt88=1; + } + + + } + break; + case 100: + { + int LA88_3 = input.LA(2); + + if ( (synpred14_InternalScope()) ) { + alt88=1; + } + + + } + break; + case 68: + { + int LA88_4 = input.LA(2); + + if ( (synpred14_InternalScope()) ) { + alt88=1; + } + + + } + break; + case 101: + { + int LA88_5 = input.LA(2); + + if ( (synpred14_InternalScope()) ) { + alt88=1; + } + + + } + break; + + } + + switch (alt88) { + case 1 : + // InternalScope.g:5758:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) + { + // InternalScope.g:5758:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) + // InternalScope.g:5759:5: ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) + { + // InternalScope.g:5769:5: ( () ( ( ruleOpMulti ) ) ) + // InternalScope.g:5770:6: () ( ( ruleOpMulti ) ) + { + // InternalScope.g:5770:6: () + // InternalScope.g:5771:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), + current); + + } + + } + + // InternalScope.g:5777:6: ( ( ruleOpMulti ) ) + // InternalScope.g:5778:7: ( ruleOpMulti ) + { + // InternalScope.g:5778:7: ( ruleOpMulti ) + // InternalScope.g:5779:8: ruleOpMulti + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMultiplicativeExpressionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); + + } + pushFollow(FOLLOW_65); + ruleOpMulti(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + // InternalScope.g:5795:4: ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) + // InternalScope.g:5796:5: (lv_rightOperand_3_0= ruleXUnaryOperation ) + { + // InternalScope.g:5796:5: (lv_rightOperand_3_0= ruleXUnaryOperation ) + // InternalScope.g:5797:6: lv_rightOperand_3_0= ruleXUnaryOperation + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_77); + lv_rightOperand_3_0=ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMultiplicativeExpressionRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_3_0, + "org.eclipse.xtext.xbase.Xbase.XUnaryOperation"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop88; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXMultiplicativeExpression" + + + // $ANTLR start "entryRuleOpMulti" + // InternalScope.g:5819:1: entryRuleOpMulti returns [String current=null] : iv_ruleOpMulti= ruleOpMulti EOF ; + public final String entryRuleOpMulti() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpMulti = null; + + + try { + // InternalScope.g:5819:47: (iv_ruleOpMulti= ruleOpMulti EOF ) + // InternalScope.g:5820:2: iv_ruleOpMulti= ruleOpMulti EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpMultiRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpMulti=ruleOpMulti(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpMulti.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpMulti" + + + // $ANTLR start "ruleOpMulti" + // InternalScope.g:5826:1: ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ; + public final AntlrDatatypeRuleToken ruleOpMulti() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalScope.g:5832:2: ( (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ) + // InternalScope.g:5833:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) + { + // InternalScope.g:5833:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) + int alt89=4; + switch ( input.LA(1) ) { + case 32: + { + alt89=1; + } + break; + case 100: + { + alt89=2; + } + break; + case 68: + { + alt89=3; + } + break; + case 101: + { + alt89=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 89, 0, input); + + throw nvae; + } + + switch (alt89) { + case 1 : + // InternalScope.g:5834:3: kw= '*' + { + kw=(Token)match(input,32,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); + + } + + } + break; + case 2 : + // InternalScope.g:5840:3: kw= '**' + { + kw=(Token)match(input,100,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); + + } + + } + break; + case 3 : + // InternalScope.g:5846:3: kw= '/' + { + kw=(Token)match(input,68,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); + + } + + } + break; + case 4 : + // InternalScope.g:5852:3: kw= '%' + { + kw=(Token)match(input,101,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpMulti" + + + // $ANTLR start "entryRuleXUnaryOperation" + // InternalScope.g:5861:1: entryRuleXUnaryOperation returns [EObject current=null] : iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ; + public final EObject entryRuleXUnaryOperation() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXUnaryOperation = null; + + + try { + // InternalScope.g:5861:56: (iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ) + // InternalScope.g:5862:2: iv_ruleXUnaryOperation= ruleXUnaryOperation EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXUnaryOperationRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXUnaryOperation=ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXUnaryOperation; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXUnaryOperation" + + + // $ANTLR start "ruleXUnaryOperation" + // InternalScope.g:5868:1: ruleXUnaryOperation returns [EObject current=null] : ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ; + public final EObject ruleXUnaryOperation() throws RecognitionException { + EObject current = null; + + EObject lv_operand_2_0 = null; + + EObject this_XCastedExpression_3 = null; + + + + enterRule(); + + try { + // InternalScope.g:5874:2: ( ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ) + // InternalScope.g:5875:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) + { + // InternalScope.g:5875:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) + int alt90=2; + int LA90_0 = input.LA(1); + + if ( ((LA90_0>=66 && LA90_0<=67)||LA90_0==69) ) { + alt90=1; + } + else if ( ((LA90_0>=RULE_STRING && LA90_0<=RULE_INT)||(LA90_0>=RULE_ID && LA90_0<=RULE_DECIMAL)||LA90_0==16||LA90_0==18||LA90_0==22||LA90_0==27||LA90_0==29||LA90_0==33||LA90_0==52||LA90_0==55||LA90_0==65||(LA90_0>=79 && LA90_0<=81)||LA90_0==83||(LA90_0>=105 && LA90_0<=107)||(LA90_0>=110 && LA90_0<=116)||LA90_0==118) ) { + alt90=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 90, 0, input); + + throw nvae; + } + switch (alt90) { + case 1 : + // InternalScope.g:5876:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) + { + // InternalScope.g:5876:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) + // InternalScope.g:5877:4: () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) + { + // InternalScope.g:5877:4: () + // InternalScope.g:5878:5: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(), + current); + + } + + } + + // InternalScope.g:5884:4: ( ( ruleOpUnary ) ) + // InternalScope.g:5885:5: ( ruleOpUnary ) + { + // InternalScope.g:5885:5: ( ruleOpUnary ) + // InternalScope.g:5886:6: ruleOpUnary + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXUnaryOperationRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); + + } + pushFollow(FOLLOW_65); + ruleOpUnary(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:5900:4: ( (lv_operand_2_0= ruleXUnaryOperation ) ) + // InternalScope.g:5901:5: (lv_operand_2_0= ruleXUnaryOperation ) + { + // InternalScope.g:5901:5: (lv_operand_2_0= ruleXUnaryOperation ) + // InternalScope.g:5902:6: lv_operand_2_0= ruleXUnaryOperation + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); + + } + pushFollow(FOLLOW_2); + lv_operand_2_0=ruleXUnaryOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXUnaryOperationRule()); + } + set( + current, + "operand", + lv_operand_2_0, + "org.eclipse.xtext.xbase.Xbase.XUnaryOperation"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalScope.g:5921:3: this_XCastedExpression_3= ruleXCastedExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XCastedExpression_3=ruleXCastedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XCastedExpression_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXUnaryOperation" + + + // $ANTLR start "entryRuleOpUnary" + // InternalScope.g:5933:1: entryRuleOpUnary returns [String current=null] : iv_ruleOpUnary= ruleOpUnary EOF ; + public final String entryRuleOpUnary() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpUnary = null; + + + try { + // InternalScope.g:5933:47: (iv_ruleOpUnary= ruleOpUnary EOF ) + // InternalScope.g:5934:2: iv_ruleOpUnary= ruleOpUnary EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpUnaryRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpUnary=ruleOpUnary(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpUnary.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpUnary" + + + // $ANTLR start "ruleOpUnary" + // InternalScope.g:5940:1: ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '!' | kw= '-' | kw= '+' ) ; + public final AntlrDatatypeRuleToken ruleOpUnary() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalScope.g:5946:2: ( (kw= '!' | kw= '-' | kw= '+' ) ) + // InternalScope.g:5947:2: (kw= '!' | kw= '-' | kw= '+' ) + { + // InternalScope.g:5947:2: (kw= '!' | kw= '-' | kw= '+' ) + int alt91=3; + switch ( input.LA(1) ) { + case 69: + { + alt91=1; + } + break; + case 67: + { + alt91=2; + } + break; + case 66: + { + alt91=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 91, 0, input); + + throw nvae; + } + + switch (alt91) { + case 1 : + // InternalScope.g:5948:3: kw= '!' + { + kw=(Token)match(input,69,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); + + } + + } + break; + case 2 : + // InternalScope.g:5954:3: kw= '-' + { + kw=(Token)match(input,67,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); + + } + + } + break; + case 3 : + // InternalScope.g:5960:3: kw= '+' + { + kw=(Token)match(input,66,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpUnary" + + + // $ANTLR start "entryRuleXCastedExpression" + // InternalScope.g:5969:1: entryRuleXCastedExpression returns [EObject current=null] : iv_ruleXCastedExpression= ruleXCastedExpression EOF ; + public final EObject entryRuleXCastedExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXCastedExpression = null; + + + try { + // InternalScope.g:5969:58: (iv_ruleXCastedExpression= ruleXCastedExpression EOF ) + // InternalScope.g:5970:2: iv_ruleXCastedExpression= ruleXCastedExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXCastedExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXCastedExpression=ruleXCastedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXCastedExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXCastedExpression" + + + // $ANTLR start "ruleXCastedExpression" + // InternalScope.g:5976:1: ruleXCastedExpression returns [EObject current=null] : (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ; + public final EObject ruleXCastedExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_XPostfixOperation_0 = null; + + EObject lv_type_3_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:5982:2: ( (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ) + // InternalScope.g:5983:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) + { + // InternalScope.g:5983:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) + // InternalScope.g:5984:3: this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); + + } + pushFollow(FOLLOW_10); + this_XPostfixOperation_0=ruleXPostfixOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XPostfixOperation_0; + afterParserOrEnumRuleCall(); + + } + // InternalScope.g:5992:3: ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* + loop92: + do { + int alt92=2; + int LA92_0 = input.LA(1); + + if ( (LA92_0==17) ) { + int LA92_2 = input.LA(2); + + if ( (synpred15_InternalScope()) ) { + alt92=1; + } + + + } + + + switch (alt92) { + case 1 : + // InternalScope.g:5993:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) + { + // InternalScope.g:5993:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) + // InternalScope.g:5994:5: ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) + { + // InternalScope.g:6000:5: ( () otherlv_2= 'as' ) + // InternalScope.g:6001:6: () otherlv_2= 'as' + { + // InternalScope.g:6001:6: () + // InternalScope.g:6002:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,17,FOLLOW_72); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); + + } + + } + + + } + + // InternalScope.g:6014:4: ( (lv_type_3_0= ruleJvmTypeReference ) ) + // InternalScope.g:6015:5: (lv_type_3_0= ruleJvmTypeReference ) + { + // InternalScope.g:6015:5: (lv_type_3_0= ruleJvmTypeReference ) + // InternalScope.g:6016:6: lv_type_3_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_10); + lv_type_3_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCastedExpressionRule()); + } + set( + current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop92; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXCastedExpression" + + + // $ANTLR start "entryRuleXPostfixOperation" + // InternalScope.g:6038:1: entryRuleXPostfixOperation returns [EObject current=null] : iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ; + public final EObject entryRuleXPostfixOperation() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXPostfixOperation = null; + + + try { + // InternalScope.g:6038:58: (iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ) + // InternalScope.g:6039:2: iv_ruleXPostfixOperation= ruleXPostfixOperation EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXPostfixOperationRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXPostfixOperation=ruleXPostfixOperation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXPostfixOperation; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXPostfixOperation" + + + // $ANTLR start "ruleXPostfixOperation" + // InternalScope.g:6045:1: ruleXPostfixOperation returns [EObject current=null] : (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ; + public final EObject ruleXPostfixOperation() throws RecognitionException { + EObject current = null; + + EObject this_XMemberFeatureCall_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:6051:2: ( (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ) + // InternalScope.g:6052:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) + { + // InternalScope.g:6052:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) + // InternalScope.g:6053:3: this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); + + } + pushFollow(FOLLOW_78); + this_XMemberFeatureCall_0=ruleXMemberFeatureCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XMemberFeatureCall_0; + afterParserOrEnumRuleCall(); + + } + // InternalScope.g:6061:3: ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? + int alt93=2; + int LA93_0 = input.LA(1); + + if ( (LA93_0==102) ) { + int LA93_1 = input.LA(2); + + if ( (synpred16_InternalScope()) ) { + alt93=1; + } + } + else if ( (LA93_0==103) ) { + int LA93_2 = input.LA(2); + + if ( (synpred16_InternalScope()) ) { + alt93=1; + } + } + switch (alt93) { + case 1 : + // InternalScope.g:6062:4: ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) + { + // InternalScope.g:6072:4: ( () ( ( ruleOpPostfix ) ) ) + // InternalScope.g:6073:5: () ( ( ruleOpPostfix ) ) + { + // InternalScope.g:6073:5: () + // InternalScope.g:6074:6: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0(), + current); + + } + + } + + // InternalScope.g:6080:5: ( ( ruleOpPostfix ) ) + // InternalScope.g:6081:6: ( ruleOpPostfix ) + { + // InternalScope.g:6081:6: ( ruleOpPostfix ) + // InternalScope.g:6082:7: ruleOpPostfix + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXPostfixOperationRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); + + } + pushFollow(FOLLOW_2); + ruleOpPostfix(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXPostfixOperation" + + + // $ANTLR start "entryRuleOpPostfix" + // InternalScope.g:6102:1: entryRuleOpPostfix returns [String current=null] : iv_ruleOpPostfix= ruleOpPostfix EOF ; + public final String entryRuleOpPostfix() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleOpPostfix = null; + + + try { + // InternalScope.g:6102:49: (iv_ruleOpPostfix= ruleOpPostfix EOF ) + // InternalScope.g:6103:2: iv_ruleOpPostfix= ruleOpPostfix EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOpPostfixRule()); + } + pushFollow(FOLLOW_1); + iv_ruleOpPostfix=ruleOpPostfix(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOpPostfix.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOpPostfix" + + + // $ANTLR start "ruleOpPostfix" + // InternalScope.g:6109:1: ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '++' | kw= '--' ) ; + public final AntlrDatatypeRuleToken ruleOpPostfix() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalScope.g:6115:2: ( (kw= '++' | kw= '--' ) ) + // InternalScope.g:6116:2: (kw= '++' | kw= '--' ) + { + // InternalScope.g:6116:2: (kw= '++' | kw= '--' ) + int alt94=2; + int LA94_0 = input.LA(1); + + if ( (LA94_0==102) ) { + alt94=1; + } + else if ( (LA94_0==103) ) { + alt94=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 94, 0, input); + + throw nvae; + } + switch (alt94) { + case 1 : + // InternalScope.g:6117:3: kw= '++' + { + kw=(Token)match(input,102,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); + + } + + } + break; + case 2 : + // InternalScope.g:6123:3: kw= '--' + { + kw=(Token)match(input,103,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOpPostfix" + + + // $ANTLR start "entryRuleXMemberFeatureCall" + // InternalScope.g:6132:1: entryRuleXMemberFeatureCall returns [EObject current=null] : iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ; + public final EObject entryRuleXMemberFeatureCall() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXMemberFeatureCall = null; + + + try { + // InternalScope.g:6132:59: (iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ) + // InternalScope.g:6133:2: iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXMemberFeatureCallRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXMemberFeatureCall=ruleXMemberFeatureCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXMemberFeatureCall; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXMemberFeatureCall" + + + // $ANTLR start "ruleXMemberFeatureCall" + // InternalScope.g:6139:1: ruleXMemberFeatureCall returns [EObject current=null] : (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) ; + public final EObject ruleXMemberFeatureCall() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + Token lv_explicitStatic_3_0=null; + Token otherlv_8=null; + Token lv_nullSafe_9_0=null; + Token lv_explicitStatic_10_0=null; + Token otherlv_11=null; + Token otherlv_13=null; + Token otherlv_15=null; + Token lv_explicitOperationCall_17_0=null; + Token otherlv_20=null; + Token otherlv_22=null; + EObject this_XPrimaryExpression_0 = null; + + EObject lv_value_6_0 = null; + + EObject lv_typeArguments_12_0 = null; + + EObject lv_typeArguments_14_0 = null; + + EObject lv_memberCallArguments_18_0 = null; + + EObject lv_memberCallArguments_19_0 = null; + + EObject lv_memberCallArguments_21_0 = null; + + EObject lv_memberCallArguments_23_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:6145:2: ( (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) ) + // InternalScope.g:6146:2: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) + { + // InternalScope.g:6146:2: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) + // InternalScope.g:6147:3: this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_79); + this_XPrimaryExpression_0=ruleXPrimaryExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XPrimaryExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalScope.g:6155:3: ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* + loop103: + do { + int alt103=3; + switch ( input.LA(1) ) { + case 47: + { + int LA103_2 = input.LA(2); + + if ( (synpred17_InternalScope()) ) { + alt103=1; + } + else if ( (synpred18_InternalScope()) ) { + alt103=2; + } + + + } + break; + case 46: + { + int LA103_3 = input.LA(2); + + if ( (synpred17_InternalScope()) ) { + alt103=1; + } + else if ( (synpred18_InternalScope()) ) { + alt103=2; + } + + + } + break; + case 104: + { + int LA103_4 = input.LA(2); + + if ( (synpred18_InternalScope()) ) { + alt103=2; + } + + + } + break; + + } + + switch (alt103) { + case 1 : + // InternalScope.g:6156:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) + { + // InternalScope.g:6156:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) + // InternalScope.g:6157:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) + { + // InternalScope.g:6157:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) + // InternalScope.g:6158:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) + { + // InternalScope.g:6178:6: ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) + // InternalScope.g:6179:7: () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign + { + // InternalScope.g:6179:7: () + // InternalScope.g:6180:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(), + current); + + } + + } + + // InternalScope.g:6186:7: (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) + int alt95=2; + int LA95_0 = input.LA(1); + + if ( (LA95_0==47) ) { + alt95=1; + } + else if ( (LA95_0==46) ) { + alt95=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 95, 0, input); + + throw nvae; + } + switch (alt95) { + case 1 : + // InternalScope.g:6187:8: otherlv_2= '.' + { + otherlv_2=(Token)match(input,47,FOLLOW_80); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); + + } + + } + break; + case 2 : + // InternalScope.g:6192:8: ( (lv_explicitStatic_3_0= '::' ) ) + { + // InternalScope.g:6192:8: ( (lv_explicitStatic_3_0= '::' ) ) + // InternalScope.g:6193:9: (lv_explicitStatic_3_0= '::' ) + { + // InternalScope.g:6193:9: (lv_explicitStatic_3_0= '::' ) + // InternalScope.g:6194:10: lv_explicitStatic_3_0= '::' + { + lv_explicitStatic_3_0=(Token)match(input,46,FOLLOW_80); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitStatic_3_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed(current, "explicitStatic", lv_explicitStatic_3_0 != null, "::"); + + } + + } + + + } + + + } + break; + + } + + // InternalScope.g:6207:7: ( ( ruleFeatureCallID ) ) + // InternalScope.g:6208:8: ( ruleFeatureCallID ) + { + // InternalScope.g:6208:8: ( ruleFeatureCallID ) + // InternalScope.g:6209:9: ruleFeatureCallID + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); + + } + pushFollow(FOLLOW_16); + ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); + + } + pushFollow(FOLLOW_65); + ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:6232:5: ( (lv_value_6_0= ruleXAssignment ) ) + // InternalScope.g:6233:6: (lv_value_6_0= ruleXAssignment ) + { + // InternalScope.g:6233:6: (lv_value_6_0= ruleXAssignment ) + // InternalScope.g:6234:7: lv_value_6_0= ruleXAssignment + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); + + } + pushFollow(FOLLOW_79); + lv_value_6_0=ruleXAssignment(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + set( + current, + "value", + lv_value_6_0, + "org.eclipse.xtext.xbase.Xbase.XAssignment"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalScope.g:6253:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) + { + // InternalScope.g:6253:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) + // InternalScope.g:6254:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? + { + // InternalScope.g:6254:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) + // InternalScope.g:6255:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) + { + // InternalScope.g:6275:6: ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) + // InternalScope.g:6276:7: () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) + { + // InternalScope.g:6276:7: () + // InternalScope.g:6277:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(), + current); + + } + + } + + // InternalScope.g:6283:7: (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) + int alt96=3; + switch ( input.LA(1) ) { + case 47: + { + alt96=1; + } + break; + case 104: + { + alt96=2; + } + break; + case 46: + { + alt96=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 96, 0, input); + + throw nvae; + } + + switch (alt96) { + case 1 : + // InternalScope.g:6284:8: otherlv_8= '.' + { + otherlv_8=(Token)match(input,47,FOLLOW_81); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); + + } + + } + break; + case 2 : + // InternalScope.g:6289:8: ( (lv_nullSafe_9_0= '?.' ) ) + { + // InternalScope.g:6289:8: ( (lv_nullSafe_9_0= '?.' ) ) + // InternalScope.g:6290:9: (lv_nullSafe_9_0= '?.' ) + { + // InternalScope.g:6290:9: (lv_nullSafe_9_0= '?.' ) + // InternalScope.g:6291:10: lv_nullSafe_9_0= '?.' + { + lv_nullSafe_9_0=(Token)match(input,104,FOLLOW_81); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_nullSafe_9_0, grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed(current, "nullSafe", lv_nullSafe_9_0 != null, "?."); + + } + + } + + + } + + + } + break; + case 3 : + // InternalScope.g:6304:8: ( (lv_explicitStatic_10_0= '::' ) ) + { + // InternalScope.g:6304:8: ( (lv_explicitStatic_10_0= '::' ) ) + // InternalScope.g:6305:9: (lv_explicitStatic_10_0= '::' ) + { + // InternalScope.g:6305:9: (lv_explicitStatic_10_0= '::' ) + // InternalScope.g:6306:10: lv_explicitStatic_10_0= '::' + { + lv_explicitStatic_10_0=(Token)match(input,46,FOLLOW_81); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitStatic_10_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed(current, "explicitStatic", lv_explicitStatic_10_0 != null, "::"); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + // InternalScope.g:6321:5: (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? + int alt98=2; + int LA98_0 = input.LA(1); + + if ( (LA98_0==65) ) { + alt98=1; + } + switch (alt98) { + case 1 : + // InternalScope.g:6322:6: otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' + { + otherlv_11=(Token)match(input,65,FOLLOW_82); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); + + } + // InternalScope.g:6326:6: ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) + // InternalScope.g:6327:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) + { + // InternalScope.g:6327:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) + // InternalScope.g:6328:8: lv_typeArguments_12_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); + + } + pushFollow(FOLLOW_83); + lv_typeArguments_12_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_12_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:6345:6: (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* + loop97: + do { + int alt97=2; + int LA97_0 = input.LA(1); + + if ( (LA97_0==37) ) { + alt97=1; + } + + + switch (alt97) { + case 1 : + // InternalScope.g:6346:7: otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) + { + otherlv_13=(Token)match(input,37,FOLLOW_82); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); + + } + // InternalScope.g:6350:7: ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) + // InternalScope.g:6351:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) + { + // InternalScope.g:6351:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) + // InternalScope.g:6352:9: lv_typeArguments_14_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); + + } + pushFollow(FOLLOW_83); + lv_typeArguments_14_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_14_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop97; + } + } while (true); + + otherlv_15=(Token)match(input,64,FOLLOW_81); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); + + } + + } + break; + + } + + // InternalScope.g:6375:5: ( ( ruleIdOrSuper ) ) + // InternalScope.g:6376:6: ( ruleIdOrSuper ) + { + // InternalScope.g:6376:6: ( ruleIdOrSuper ) + // InternalScope.g:6377:7: ruleIdOrSuper + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); + + } + pushFollow(FOLLOW_84); + ruleIdOrSuper(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:6391:5: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? + int alt101=2; + alt101 = dfa101.predict(input); + switch (alt101) { + case 1 : + // InternalScope.g:6392:6: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' + { + // InternalScope.g:6392:6: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) + // InternalScope.g:6393:7: ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) + { + // InternalScope.g:6397:7: (lv_explicitOperationCall_17_0= '(' ) + // InternalScope.g:6398:8: lv_explicitOperationCall_17_0= '(' + { + lv_explicitOperationCall_17_0=(Token)match(input,27,FOLLOW_85); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitOperationCall_17_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); + } + setWithLastConsumed(current, "explicitOperationCall", lv_explicitOperationCall_17_0 != null, "("); + + } + + } + + + } + + // InternalScope.g:6410:6: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? + int alt100=3; + alt100 = dfa100.predict(input); + switch (alt100) { + case 1 : + // InternalScope.g:6411:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) + { + // InternalScope.g:6411:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) + // InternalScope.g:6412:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) + { + // InternalScope.g:6437:8: (lv_memberCallArguments_18_0= ruleXShortClosure ) + // InternalScope.g:6438:9: lv_memberCallArguments_18_0= ruleXShortClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); + + } + pushFollow(FOLLOW_20); + lv_memberCallArguments_18_0=ruleXShortClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "memberCallArguments", + lv_memberCallArguments_18_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + case 2 : + // InternalScope.g:6456:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) + { + // InternalScope.g:6456:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) + // InternalScope.g:6457:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* + { + // InternalScope.g:6457:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) + // InternalScope.g:6458:9: (lv_memberCallArguments_19_0= ruleXExpression ) + { + // InternalScope.g:6458:9: (lv_memberCallArguments_19_0= ruleXExpression ) + // InternalScope.g:6459:10: lv_memberCallArguments_19_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); + + } + pushFollow(FOLLOW_31); + lv_memberCallArguments_19_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "memberCallArguments", + lv_memberCallArguments_19_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:6476:8: (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* + loop99: + do { + int alt99=2; + int LA99_0 = input.LA(1); + + if ( (LA99_0==37) ) { + alt99=1; + } + + + switch (alt99) { + case 1 : + // InternalScope.g:6477:9: otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) + { + otherlv_20=(Token)match(input,37,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); + + } + // InternalScope.g:6481:9: ( (lv_memberCallArguments_21_0= ruleXExpression ) ) + // InternalScope.g:6482:10: (lv_memberCallArguments_21_0= ruleXExpression ) + { + // InternalScope.g:6482:10: (lv_memberCallArguments_21_0= ruleXExpression ) + // InternalScope.g:6483:11: lv_memberCallArguments_21_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); + + } + pushFollow(FOLLOW_31); + lv_memberCallArguments_21_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "memberCallArguments", + lv_memberCallArguments_21_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop99; + } + } while (true); + + + } + + + } + break; + + } + + otherlv_22=(Token)match(input,28,FOLLOW_86); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); + + } + + } + break; + + } + + // InternalScope.g:6508:5: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? + int alt102=2; + alt102 = dfa102.predict(input); + switch (alt102) { + case 1 : + // InternalScope.g:6509:6: ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) + { + // InternalScope.g:6515:6: (lv_memberCallArguments_23_0= ruleXClosure ) + // InternalScope.g:6516:7: lv_memberCallArguments_23_0= ruleXClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); + + } + pushFollow(FOLLOW_79); + lv_memberCallArguments_23_0=ruleXClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); + } + add( + current, + "memberCallArguments", + lv_memberCallArguments_23_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + + } + + + } + break; + + default : + break loop103; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXMemberFeatureCall" + + + // $ANTLR start "entryRuleXPrimaryExpression" + // InternalScope.g:6539:1: entryRuleXPrimaryExpression returns [EObject current=null] : iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ; + public final EObject entryRuleXPrimaryExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXPrimaryExpression = null; + + + try { + // InternalScope.g:6539:59: (iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ) + // InternalScope.g:6540:2: iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXPrimaryExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXPrimaryExpression=ruleXPrimaryExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXPrimaryExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXPrimaryExpression" + + + // $ANTLR start "ruleXPrimaryExpression" + // InternalScope.g:6546:1: ruleXPrimaryExpression returns [EObject current=null] : (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) ; + public final EObject ruleXPrimaryExpression() throws RecognitionException { + EObject current = null; + + EObject this_XConstructorCall_0 = null; + + EObject this_XBlockExpression_1 = null; + + EObject this_XSwitchExpression_2 = null; + + EObject this_XSynchronizedExpression_3 = null; + + EObject this_XFeatureCall_4 = null; + + EObject this_XLiteral_5 = null; + + EObject this_XIfExpression_6 = null; + + EObject this_XForLoopExpression_7 = null; + + EObject this_XBasicForLoopExpression_8 = null; + + EObject this_XWhileExpression_9 = null; + + EObject this_XDoWhileExpression_10 = null; + + EObject this_XThrowExpression_11 = null; + + EObject this_XReturnExpression_12 = null; + + EObject this_XTryCatchFinallyExpression_13 = null; + + EObject this_XParenthesizedExpression_14 = null; + + + + enterRule(); + + try { + // InternalScope.g:6552:2: ( (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) ) + // InternalScope.g:6553:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) + { + // InternalScope.g:6553:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) + int alt104=15; + alt104 = dfa104.predict(input); + switch (alt104) { + case 1 : + // InternalScope.g:6554:3: this_XConstructorCall_0= ruleXConstructorCall + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_XConstructorCall_0=ruleXConstructorCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XConstructorCall_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalScope.g:6563:3: this_XBlockExpression_1= ruleXBlockExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XBlockExpression_1=ruleXBlockExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XBlockExpression_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalScope.g:6572:3: this_XSwitchExpression_2= ruleXSwitchExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); + + } + pushFollow(FOLLOW_2); + this_XSwitchExpression_2=ruleXSwitchExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XSwitchExpression_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 4 : + // InternalScope.g:6581:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) + { + // InternalScope.g:6581:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) + // InternalScope.g:6582:4: ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); + + } + pushFollow(FOLLOW_2); + this_XSynchronizedExpression_3=ruleXSynchronizedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XSynchronizedExpression_3; + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + case 5 : + // InternalScope.g:6599:3: this_XFeatureCall_4= ruleXFeatureCall + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); + + } + pushFollow(FOLLOW_2); + this_XFeatureCall_4=ruleXFeatureCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XFeatureCall_4; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 6 : + // InternalScope.g:6608:3: this_XLiteral_5= ruleXLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); + + } + pushFollow(FOLLOW_2); + this_XLiteral_5=ruleXLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XLiteral_5; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 7 : + // InternalScope.g:6617:3: this_XIfExpression_6= ruleXIfExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); + + } + pushFollow(FOLLOW_2); + this_XIfExpression_6=ruleXIfExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XIfExpression_6; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 8 : + // InternalScope.g:6626:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) + { + // InternalScope.g:6626:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) + // InternalScope.g:6627:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); + + } + pushFollow(FOLLOW_2); + this_XForLoopExpression_7=ruleXForLoopExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XForLoopExpression_7; + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + case 9 : + // InternalScope.g:6650:3: this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); + + } + pushFollow(FOLLOW_2); + this_XBasicForLoopExpression_8=ruleXBasicForLoopExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XBasicForLoopExpression_8; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 10 : + // InternalScope.g:6659:3: this_XWhileExpression_9= ruleXWhileExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); + + } + pushFollow(FOLLOW_2); + this_XWhileExpression_9=ruleXWhileExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XWhileExpression_9; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 11 : + // InternalScope.g:6668:3: this_XDoWhileExpression_10= ruleXDoWhileExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); + + } + pushFollow(FOLLOW_2); + this_XDoWhileExpression_10=ruleXDoWhileExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XDoWhileExpression_10; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 12 : + // InternalScope.g:6677:3: this_XThrowExpression_11= ruleXThrowExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); + + } + pushFollow(FOLLOW_2); + this_XThrowExpression_11=ruleXThrowExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XThrowExpression_11; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 13 : + // InternalScope.g:6686:3: this_XReturnExpression_12= ruleXReturnExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); + + } + pushFollow(FOLLOW_2); + this_XReturnExpression_12=ruleXReturnExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XReturnExpression_12; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 14 : + // InternalScope.g:6695:3: this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); + + } + pushFollow(FOLLOW_2); + this_XTryCatchFinallyExpression_13=ruleXTryCatchFinallyExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XTryCatchFinallyExpression_13; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 15 : + // InternalScope.g:6704:3: this_XParenthesizedExpression_14= ruleXParenthesizedExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); + + } + pushFollow(FOLLOW_2); + this_XParenthesizedExpression_14=ruleXParenthesizedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XParenthesizedExpression_14; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXPrimaryExpression" + + + // $ANTLR start "entryRuleXLiteral" + // InternalScope.g:6716:1: entryRuleXLiteral returns [EObject current=null] : iv_ruleXLiteral= ruleXLiteral EOF ; + public final EObject entryRuleXLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXLiteral = null; + + + try { + // InternalScope.g:6716:49: (iv_ruleXLiteral= ruleXLiteral EOF ) + // InternalScope.g:6717:2: iv_ruleXLiteral= ruleXLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXLiteral=ruleXLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXLiteral" + + + // $ANTLR start "ruleXLiteral" + // InternalScope.g:6723:1: ruleXLiteral returns [EObject current=null] : (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) ; + public final EObject ruleXLiteral() throws RecognitionException { + EObject current = null; + + EObject this_XCollectionLiteral_0 = null; + + EObject this_XClosure_1 = null; + + EObject this_XBooleanLiteral_2 = null; + + EObject this_XNumberLiteral_3 = null; + + EObject this_XNullLiteral_4 = null; + + EObject this_XStringLiteral_5 = null; + + EObject this_XTypeLiteral_6 = null; + + + + enterRule(); + + try { + // InternalScope.g:6729:2: ( (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) ) + // InternalScope.g:6730:2: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) + { + // InternalScope.g:6730:2: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) + int alt105=7; + int LA105_0 = input.LA(1); + + if ( (LA105_0==29) ) { + alt105=1; + } + else if ( (LA105_0==33) && (synpred24_InternalScope())) { + alt105=2; + } + else if ( ((LA105_0>=79 && LA105_0<=80)) ) { + alt105=3; + } + else if ( (LA105_0==RULE_INT||(LA105_0>=RULE_HEX && LA105_0<=RULE_DECIMAL)) ) { + alt105=4; + } + else if ( (LA105_0==81) ) { + alt105=5; + } + else if ( (LA105_0==RULE_STRING) ) { + alt105=6; + } + else if ( (LA105_0==113) ) { + alt105=7; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 105, 0, input); + + throw nvae; + } + switch (alt105) { + case 1 : + // InternalScope.g:6731:3: this_XCollectionLiteral_0= ruleXCollectionLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_XCollectionLiteral_0=ruleXCollectionLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XCollectionLiteral_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalScope.g:6740:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) + { + // InternalScope.g:6740:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) + // InternalScope.g:6741:4: ( ( () '[' ) )=>this_XClosure_1= ruleXClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XClosure_1=ruleXClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XClosure_1; + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + case 3 : + // InternalScope.g:6757:3: this_XBooleanLiteral_2= ruleXBooleanLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); + + } + pushFollow(FOLLOW_2); + this_XBooleanLiteral_2=ruleXBooleanLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XBooleanLiteral_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 4 : + // InternalScope.g:6766:3: this_XNumberLiteral_3= ruleXNumberLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); + + } + pushFollow(FOLLOW_2); + this_XNumberLiteral_3=ruleXNumberLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XNumberLiteral_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 5 : + // InternalScope.g:6775:3: this_XNullLiteral_4= ruleXNullLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); + + } + pushFollow(FOLLOW_2); + this_XNullLiteral_4=ruleXNullLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XNullLiteral_4; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 6 : + // InternalScope.g:6784:3: this_XStringLiteral_5= ruleXStringLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); + + } + pushFollow(FOLLOW_2); + this_XStringLiteral_5=ruleXStringLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XStringLiteral_5; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 7 : + // InternalScope.g:6793:3: this_XTypeLiteral_6= ruleXTypeLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); + + } + pushFollow(FOLLOW_2); + this_XTypeLiteral_6=ruleXTypeLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XTypeLiteral_6; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXLiteral" + + + // $ANTLR start "entryRuleXCollectionLiteral" + // InternalScope.g:6805:1: entryRuleXCollectionLiteral returns [EObject current=null] : iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ; + public final EObject entryRuleXCollectionLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXCollectionLiteral = null; + + + try { + // InternalScope.g:6805:59: (iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ) + // InternalScope.g:6806:2: iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXCollectionLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXCollectionLiteral=ruleXCollectionLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXCollectionLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXCollectionLiteral" + + + // $ANTLR start "ruleXCollectionLiteral" + // InternalScope.g:6812:1: ruleXCollectionLiteral returns [EObject current=null] : (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ; + public final EObject ruleXCollectionLiteral() throws RecognitionException { + EObject current = null; + + EObject this_XSetLiteral_0 = null; + + EObject this_XListLiteral_1 = null; + + + + enterRule(); + + try { + // InternalScope.g:6818:2: ( (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ) + // InternalScope.g:6819:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) + { + // InternalScope.g:6819:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) + int alt106=2; + int LA106_0 = input.LA(1); + + if ( (LA106_0==29) ) { + int LA106_1 = input.LA(2); + + if ( (LA106_1==22) ) { + alt106=1; + } + else if ( (LA106_1==33) ) { + alt106=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 106, 1, input); + + throw nvae; + } + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 106, 0, input); + + throw nvae; + } + switch (alt106) { + case 1 : + // InternalScope.g:6820:3: this_XSetLiteral_0= ruleXSetLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_XSetLiteral_0=ruleXSetLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XSetLiteral_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalScope.g:6829:3: this_XListLiteral_1= ruleXListLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XListLiteral_1=ruleXListLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XListLiteral_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXCollectionLiteral" + + + // $ANTLR start "entryRuleXSetLiteral" + // InternalScope.g:6841:1: entryRuleXSetLiteral returns [EObject current=null] : iv_ruleXSetLiteral= ruleXSetLiteral EOF ; + public final EObject entryRuleXSetLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXSetLiteral = null; + + + try { + // InternalScope.g:6841:52: (iv_ruleXSetLiteral= ruleXSetLiteral EOF ) + // InternalScope.g:6842:2: iv_ruleXSetLiteral= ruleXSetLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXSetLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXSetLiteral=ruleXSetLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXSetLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXSetLiteral" + + + // $ANTLR start "ruleXSetLiteral" + // InternalScope.g:6848:1: ruleXSetLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ; + public final EObject ruleXSetLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_elements_3_0 = null; + + EObject lv_elements_5_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:6854:2: ( ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ) + // InternalScope.g:6855:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) + { + // InternalScope.g:6855:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) + // InternalScope.g:6856:3: () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' + { + // InternalScope.g:6856:3: () + // InternalScope.g:6857:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,29,FOLLOW_14); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); + + } + otherlv_2=(Token)match(input,22,FOLLOW_87); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); + + } + // InternalScope.g:6871:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? + int alt108=2; + int LA108_0 = input.LA(1); + + if ( ((LA108_0>=RULE_STRING && LA108_0<=RULE_INT)||(LA108_0>=RULE_ID && LA108_0<=RULE_DECIMAL)||LA108_0==16||LA108_0==18||LA108_0==22||LA108_0==27||LA108_0==29||LA108_0==33||LA108_0==52||LA108_0==55||(LA108_0>=65 && LA108_0<=67)||LA108_0==69||(LA108_0>=79 && LA108_0<=81)||LA108_0==83||(LA108_0>=105 && LA108_0<=107)||(LA108_0>=110 && LA108_0<=116)||LA108_0==118) ) { + alt108=1; + } + switch (alt108) { + case 1 : + // InternalScope.g:6872:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* + { + // InternalScope.g:6872:4: ( (lv_elements_3_0= ruleXExpression ) ) + // InternalScope.g:6873:5: (lv_elements_3_0= ruleXExpression ) + { + // InternalScope.g:6873:5: (lv_elements_3_0= ruleXExpression ) + // InternalScope.g:6874:6: lv_elements_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + + } + pushFollow(FOLLOW_63); + lv_elements_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSetLiteralRule()); + } + add( + current, + "elements", + lv_elements_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:6891:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* + loop107: + do { + int alt107=2; + int LA107_0 = input.LA(1); + + if ( (LA107_0==37) ) { + alt107=1; + } + + + switch (alt107) { + case 1 : + // InternalScope.g:6892:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) + { + otherlv_4=(Token)match(input,37,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); + + } + // InternalScope.g:6896:5: ( (lv_elements_5_0= ruleXExpression ) ) + // InternalScope.g:6897:6: (lv_elements_5_0= ruleXExpression ) + { + // InternalScope.g:6897:6: (lv_elements_5_0= ruleXExpression ) + // InternalScope.g:6898:7: lv_elements_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + + } + pushFollow(FOLLOW_63); + lv_elements_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSetLiteralRule()); + } + add( + current, + "elements", + lv_elements_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop107; + } + } while (true); + + + } + break; + + } + + otherlv_6=(Token)match(input,23,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXSetLiteral" + + + // $ANTLR start "entryRuleXListLiteral" + // InternalScope.g:6925:1: entryRuleXListLiteral returns [EObject current=null] : iv_ruleXListLiteral= ruleXListLiteral EOF ; + public final EObject entryRuleXListLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXListLiteral = null; + + + try { + // InternalScope.g:6925:53: (iv_ruleXListLiteral= ruleXListLiteral EOF ) + // InternalScope.g:6926:2: iv_ruleXListLiteral= ruleXListLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXListLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXListLiteral=ruleXListLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXListLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXListLiteral" + + + // $ANTLR start "ruleXListLiteral" + // InternalScope.g:6932:1: ruleXListLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) ; + public final EObject ruleXListLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_elements_3_0 = null; + + EObject lv_elements_5_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:6938:2: ( ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) ) + // InternalScope.g:6939:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) + { + // InternalScope.g:6939:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) + // InternalScope.g:6940:3: () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' + { + // InternalScope.g:6940:3: () + // InternalScope.g:6941:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXListLiteralAccess().getXListLiteralAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,29,FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); + + } + otherlv_2=(Token)match(input,33,FOLLOW_88); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); + + } + // InternalScope.g:6955:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? + int alt110=2; + int LA110_0 = input.LA(1); + + if ( ((LA110_0>=RULE_STRING && LA110_0<=RULE_INT)||(LA110_0>=RULE_ID && LA110_0<=RULE_DECIMAL)||LA110_0==16||LA110_0==18||LA110_0==22||LA110_0==27||LA110_0==29||LA110_0==33||LA110_0==52||LA110_0==55||(LA110_0>=65 && LA110_0<=67)||LA110_0==69||(LA110_0>=79 && LA110_0<=81)||LA110_0==83||(LA110_0>=105 && LA110_0<=107)||(LA110_0>=110 && LA110_0<=116)||LA110_0==118) ) { + alt110=1; + } + switch (alt110) { + case 1 : + // InternalScope.g:6956:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* + { + // InternalScope.g:6956:4: ( (lv_elements_3_0= ruleXExpression ) ) + // InternalScope.g:6957:5: (lv_elements_3_0= ruleXExpression ) + { + // InternalScope.g:6957:5: (lv_elements_3_0= ruleXExpression ) + // InternalScope.g:6958:6: lv_elements_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); + + } + pushFollow(FOLLOW_89); + lv_elements_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXListLiteralRule()); + } + add( + current, + "elements", + lv_elements_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:6975:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* + loop109: + do { + int alt109=2; + int LA109_0 = input.LA(1); + + if ( (LA109_0==37) ) { + alt109=1; + } + + + switch (alt109) { + case 1 : + // InternalScope.g:6976:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) + { + otherlv_4=(Token)match(input,37,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); + + } + // InternalScope.g:6980:5: ( (lv_elements_5_0= ruleXExpression ) ) + // InternalScope.g:6981:6: (lv_elements_5_0= ruleXExpression ) + { + // InternalScope.g:6981:6: (lv_elements_5_0= ruleXExpression ) + // InternalScope.g:6982:7: lv_elements_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); + + } + pushFollow(FOLLOW_89); + lv_elements_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXListLiteralRule()); + } + add( + current, + "elements", + lv_elements_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop109; + } + } while (true); + + + } + break; + + } + + otherlv_6=(Token)match(input,34,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXListLiteral" + + + // $ANTLR start "entryRuleXClosure" + // InternalScope.g:7009:1: entryRuleXClosure returns [EObject current=null] : iv_ruleXClosure= ruleXClosure EOF ; + public final EObject entryRuleXClosure() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXClosure = null; + + + try { + // InternalScope.g:7009:49: (iv_ruleXClosure= ruleXClosure EOF ) + // InternalScope.g:7010:2: iv_ruleXClosure= ruleXClosure EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXClosureRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXClosure=ruleXClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXClosure; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXClosure" + + + // $ANTLR start "ruleXClosure" + // InternalScope.g:7016:1: ruleXClosure returns [EObject current=null] : ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) ; + public final EObject ruleXClosure() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token lv_explicitSyntax_5_0=null; + Token otherlv_7=null; + EObject lv_declaredFormalParameters_2_0 = null; + + EObject lv_declaredFormalParameters_4_0 = null; + + EObject lv_expression_6_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:7022:2: ( ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) ) + // InternalScope.g:7023:2: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) + { + // InternalScope.g:7023:2: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) + // InternalScope.g:7024:3: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' + { + // InternalScope.g:7024:3: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) + // InternalScope.g:7025:4: ( ( () '[' ) )=> ( () otherlv_1= '[' ) + { + // InternalScope.g:7031:4: ( () otherlv_1= '[' ) + // InternalScope.g:7032:5: () otherlv_1= '[' + { + // InternalScope.g:7032:5: () + // InternalScope.g:7033:6: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXClosureAccess().getXClosureAction_0_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,33,FOLLOW_90); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); + + } + + } + + + } + + // InternalScope.g:7045:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? + int alt113=2; + alt113 = dfa113.predict(input); + switch (alt113) { + case 1 : + // InternalScope.g:7046:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) + { + // InternalScope.g:7069:4: ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) + // InternalScope.g:7070:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) + { + // InternalScope.g:7070:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? + int alt112=2; + int LA112_0 = input.LA(1); + + if ( (LA112_0==RULE_ID||LA112_0==27||LA112_0==97) ) { + alt112=1; + } + switch (alt112) { + case 1 : + // InternalScope.g:7071:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* + { + // InternalScope.g:7071:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) + // InternalScope.g:7072:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) + { + // InternalScope.g:7072:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) + // InternalScope.g:7073:8: lv_declaredFormalParameters_2_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); + + } + pushFollow(FOLLOW_91); + lv_declaredFormalParameters_2_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + add( + current, + "declaredFormalParameters", + lv_declaredFormalParameters_2_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:7090:6: (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* + loop111: + do { + int alt111=2; + int LA111_0 = input.LA(1); + + if ( (LA111_0==37) ) { + alt111=1; + } + + + switch (alt111) { + case 1 : + // InternalScope.g:7091:7: otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) + { + otherlv_3=(Token)match(input,37,FOLLOW_72); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); + + } + // InternalScope.g:7095:7: ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) + // InternalScope.g:7096:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) + { + // InternalScope.g:7096:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) + // InternalScope.g:7097:9: lv_declaredFormalParameters_4_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); + + } + pushFollow(FOLLOW_91); + lv_declaredFormalParameters_4_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + add( + current, + "declaredFormalParameters", + lv_declaredFormalParameters_4_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop111; + } + } while (true); + + + } + break; + + } + + // InternalScope.g:7116:5: ( (lv_explicitSyntax_5_0= '|' ) ) + // InternalScope.g:7117:6: (lv_explicitSyntax_5_0= '|' ) + { + // InternalScope.g:7117:6: (lv_explicitSyntax_5_0= '|' ) + // InternalScope.g:7118:7: lv_explicitSyntax_5_0= '|' + { + lv_explicitSyntax_5_0=(Token)match(input,44,FOLLOW_92); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitSyntax_5_0, grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXClosureRule()); + } + setWithLastConsumed(current, "explicitSyntax", lv_explicitSyntax_5_0 != null, "|"); + + } + + } + + + } + + + } + + + } + break; + + } + + // InternalScope.g:7132:3: ( (lv_expression_6_0= ruleXExpressionInClosure ) ) + // InternalScope.g:7133:4: (lv_expression_6_0= ruleXExpressionInClosure ) + { + // InternalScope.g:7133:4: (lv_expression_6_0= ruleXExpressionInClosure ) + // InternalScope.g:7134:5: lv_expression_6_0= ruleXExpressionInClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_28); + lv_expression_6_0=ruleXExpressionInClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXClosureRule()); + } + set( + current, + "expression", + lv_expression_6_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionInClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_7=(Token)match(input,34,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXClosure" + + + // $ANTLR start "entryRuleXExpressionInClosure" + // InternalScope.g:7159:1: entryRuleXExpressionInClosure returns [EObject current=null] : iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ; + public final EObject entryRuleXExpressionInClosure() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXExpressionInClosure = null; + + + try { + // InternalScope.g:7159:61: (iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ) + // InternalScope.g:7160:2: iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXExpressionInClosureRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXExpressionInClosure=ruleXExpressionInClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXExpressionInClosure; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXExpressionInClosure" + + + // $ANTLR start "ruleXExpressionInClosure" + // InternalScope.g:7166:1: ruleXExpressionInClosure returns [EObject current=null] : ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) ; + public final EObject ruleXExpressionInClosure() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject lv_expressions_1_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:7172:2: ( ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) ) + // InternalScope.g:7173:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) + { + // InternalScope.g:7173:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) + // InternalScope.g:7174:3: () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* + { + // InternalScope.g:7174:3: () + // InternalScope.g:7175:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0(), + current); + + } + + } + + // InternalScope.g:7181:3: ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* + loop115: + do { + int alt115=2; + int LA115_0 = input.LA(1); + + if ( ((LA115_0>=RULE_STRING && LA115_0<=RULE_INT)||(LA115_0>=RULE_ID && LA115_0<=RULE_DECIMAL)||LA115_0==16||LA115_0==18||LA115_0==22||LA115_0==27||LA115_0==29||LA115_0==33||LA115_0==52||LA115_0==55||(LA115_0>=65 && LA115_0<=67)||LA115_0==69||(LA115_0>=79 && LA115_0<=81)||LA115_0==83||(LA115_0>=105 && LA115_0<=116)||LA115_0==118) ) { + alt115=1; + } + + + switch (alt115) { + case 1 : + // InternalScope.g:7182:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? + { + // InternalScope.g:7182:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) + // InternalScope.g:7183:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) + { + // InternalScope.g:7183:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) + // InternalScope.g:7184:6: lv_expressions_1_0= ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); + + } + pushFollow(FOLLOW_93); + lv_expressions_1_0=ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXExpressionInClosureRule()); + } + add( + current, + "expressions", + lv_expressions_1_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:7201:4: (otherlv_2= ';' )? + int alt114=2; + int LA114_0 = input.LA(1); + + if ( (LA114_0==25) ) { + alt114=1; + } + switch (alt114) { + case 1 : + // InternalScope.g:7202:5: otherlv_2= ';' + { + otherlv_2=(Token)match(input,25,FOLLOW_94); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); + + } + + } + break; + + } + + + } + break; + + default : + break loop115; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXExpressionInClosure" + + + // $ANTLR start "entryRuleXShortClosure" + // InternalScope.g:7212:1: entryRuleXShortClosure returns [EObject current=null] : iv_ruleXShortClosure= ruleXShortClosure EOF ; + public final EObject entryRuleXShortClosure() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXShortClosure = null; + + + try { + // InternalScope.g:7212:54: (iv_ruleXShortClosure= ruleXShortClosure EOF ) + // InternalScope.g:7213:2: iv_ruleXShortClosure= ruleXShortClosure EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXShortClosureRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXShortClosure=ruleXShortClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXShortClosure; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXShortClosure" + + + // $ANTLR start "ruleXShortClosure" + // InternalScope.g:7219:1: ruleXShortClosure returns [EObject current=null] : ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) ; + public final EObject ruleXShortClosure() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + Token lv_explicitSyntax_4_0=null; + EObject lv_declaredFormalParameters_1_0 = null; + + EObject lv_declaredFormalParameters_3_0 = null; + + EObject lv_expression_5_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:7225:2: ( ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) ) + // InternalScope.g:7226:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) + { + // InternalScope.g:7226:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) + // InternalScope.g:7227:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) + { + // InternalScope.g:7227:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) + // InternalScope.g:7228:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) + { + // InternalScope.g:7253:4: ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) + // InternalScope.g:7254:5: () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) + { + // InternalScope.g:7254:5: () + // InternalScope.g:7255:6: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0(), + current); + + } + + } + + // InternalScope.g:7261:5: ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? + int alt117=2; + int LA117_0 = input.LA(1); + + if ( (LA117_0==RULE_ID||LA117_0==27||LA117_0==97) ) { + alt117=1; + } + switch (alt117) { + case 1 : + // InternalScope.g:7262:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* + { + // InternalScope.g:7262:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) + // InternalScope.g:7263:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) + { + // InternalScope.g:7263:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) + // InternalScope.g:7264:8: lv_declaredFormalParameters_1_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); + + } + pushFollow(FOLLOW_91); + lv_declaredFormalParameters_1_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + add( + current, + "declaredFormalParameters", + lv_declaredFormalParameters_1_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:7281:6: (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* + loop116: + do { + int alt116=2; + int LA116_0 = input.LA(1); + + if ( (LA116_0==37) ) { + alt116=1; + } + + + switch (alt116) { + case 1 : + // InternalScope.g:7282:7: otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) + { + otherlv_2=(Token)match(input,37,FOLLOW_72); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); + + } + // InternalScope.g:7286:7: ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) + // InternalScope.g:7287:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) + { + // InternalScope.g:7287:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) + // InternalScope.g:7288:9: lv_declaredFormalParameters_3_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); + + } + pushFollow(FOLLOW_91); + lv_declaredFormalParameters_3_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + add( + current, + "declaredFormalParameters", + lv_declaredFormalParameters_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop116; + } + } while (true); + + + } + break; + + } + + // InternalScope.g:7307:5: ( (lv_explicitSyntax_4_0= '|' ) ) + // InternalScope.g:7308:6: (lv_explicitSyntax_4_0= '|' ) + { + // InternalScope.g:7308:6: (lv_explicitSyntax_4_0= '|' ) + // InternalScope.g:7309:7: lv_explicitSyntax_4_0= '|' + { + lv_explicitSyntax_4_0=(Token)match(input,44,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitSyntax_4_0, grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXShortClosureRule()); + } + setWithLastConsumed(current, "explicitSyntax", lv_explicitSyntax_4_0 != null, "|"); + + } + + } + + + } + + + } + + + } + + // InternalScope.g:7323:3: ( (lv_expression_5_0= ruleXExpression ) ) + // InternalScope.g:7324:4: (lv_expression_5_0= ruleXExpression ) + { + // InternalScope.g:7324:4: (lv_expression_5_0= ruleXExpression ) + // InternalScope.g:7325:5: lv_expression_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_expression_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXShortClosureRule()); + } + set( + current, + "expression", + lv_expression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXShortClosure" + + + // $ANTLR start "entryRuleXParenthesizedExpression" + // InternalScope.g:7346:1: entryRuleXParenthesizedExpression returns [EObject current=null] : iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ; + public final EObject entryRuleXParenthesizedExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXParenthesizedExpression = null; + + + try { + // InternalScope.g:7346:65: (iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ) + // InternalScope.g:7347:2: iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXParenthesizedExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXParenthesizedExpression=ruleXParenthesizedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXParenthesizedExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXParenthesizedExpression" + + + // $ANTLR start "ruleXParenthesizedExpression" + // InternalScope.g:7353:1: ruleXParenthesizedExpression returns [EObject current=null] : (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) ; + public final EObject ruleXParenthesizedExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + EObject this_XExpression_1 = null; + + + + enterRule(); + + try { + // InternalScope.g:7359:2: ( (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) ) + // InternalScope.g:7360:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) + { + // InternalScope.g:7360:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) + // InternalScope.g:7361:3: otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' + { + otherlv_0=(Token)match(input,27,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); + + } + pushFollow(FOLLOW_20); + this_XExpression_1=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XExpression_1; + afterParserOrEnumRuleCall(); + + } + otherlv_2=(Token)match(input,28,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXParenthesizedExpression" + + + // $ANTLR start "entryRuleXIfExpression" + // InternalScope.g:7381:1: entryRuleXIfExpression returns [EObject current=null] : iv_ruleXIfExpression= ruleXIfExpression EOF ; + public final EObject entryRuleXIfExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXIfExpression = null; + + + try { + // InternalScope.g:7381:54: (iv_ruleXIfExpression= ruleXIfExpression EOF ) + // InternalScope.g:7382:2: iv_ruleXIfExpression= ruleXIfExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXIfExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXIfExpression=ruleXIfExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXIfExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXIfExpression" + + + // $ANTLR start "ruleXIfExpression" + // InternalScope.g:7388:1: ruleXIfExpression returns [EObject current=null] : ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) ; + public final EObject ruleXIfExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_if_3_0 = null; + + EObject lv_then_5_0 = null; + + EObject lv_else_7_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:7394:2: ( ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) ) + // InternalScope.g:7395:2: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) + { + // InternalScope.g:7395:2: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) + // InternalScope.g:7396:3: () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? + { + // InternalScope.g:7396:3: () + // InternalScope.g:7397:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,52,FOLLOW_29); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); + + } + otherlv_2=(Token)match(input,27,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); + + } + // InternalScope.g:7411:3: ( (lv_if_3_0= ruleXExpression ) ) + // InternalScope.g:7412:4: (lv_if_3_0= ruleXExpression ) + { + // InternalScope.g:7412:4: (lv_if_3_0= ruleXExpression ) + // InternalScope.g:7413:5: lv_if_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_20); + lv_if_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + current, + "if", + lv_if_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,28,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); + + } + // InternalScope.g:7434:3: ( (lv_then_5_0= ruleXExpression ) ) + // InternalScope.g:7435:4: (lv_then_5_0= ruleXExpression ) + { + // InternalScope.g:7435:4: (lv_then_5_0= ruleXExpression ) + // InternalScope.g:7436:5: lv_then_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); + + } + pushFollow(FOLLOW_48); + lv_then_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + current, + "then", + lv_then_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:7453:3: ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? + int alt118=2; + int LA118_0 = input.LA(1); + + if ( (LA118_0==54) ) { + int LA118_1 = input.LA(2); + + if ( (synpred28_InternalScope()) ) { + alt118=1; + } + } + switch (alt118) { + case 1 : + // InternalScope.g:7454:4: ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) + { + // InternalScope.g:7454:4: ( ( 'else' )=>otherlv_6= 'else' ) + // InternalScope.g:7455:5: ( 'else' )=>otherlv_6= 'else' + { + otherlv_6=(Token)match(input,54,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); + + } + + } + + // InternalScope.g:7461:4: ( (lv_else_7_0= ruleXExpression ) ) + // InternalScope.g:7462:5: (lv_else_7_0= ruleXExpression ) + { + // InternalScope.g:7462:5: (lv_else_7_0= ruleXExpression ) + // InternalScope.g:7463:6: lv_else_7_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); + + } + pushFollow(FOLLOW_2); + lv_else_7_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); + } + set( + current, + "else", + lv_else_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXIfExpression" + + + // $ANTLR start "entryRuleXSwitchExpression" + // InternalScope.g:7485:1: entryRuleXSwitchExpression returns [EObject current=null] : iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ; + public final EObject entryRuleXSwitchExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXSwitchExpression = null; + + + try { + // InternalScope.g:7485:58: (iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ) + // InternalScope.g:7486:2: iv_ruleXSwitchExpression= ruleXSwitchExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXSwitchExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXSwitchExpression=ruleXSwitchExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXSwitchExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXSwitchExpression" + + + // $ANTLR start "ruleXSwitchExpression" + // InternalScope.g:7492:1: ruleXSwitchExpression returns [EObject current=null] : ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) ; + public final EObject ruleXSwitchExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_12=null; + Token otherlv_13=null; + Token otherlv_15=null; + EObject lv_declaredParam_3_0 = null; + + EObject lv_switch_5_0 = null; + + EObject lv_declaredParam_7_0 = null; + + EObject lv_switch_9_0 = null; + + EObject lv_cases_11_0 = null; + + EObject lv_default_14_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:7498:2: ( ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) ) + // InternalScope.g:7499:2: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) + { + // InternalScope.g:7499:2: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) + // InternalScope.g:7500:3: () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' + { + // InternalScope.g:7500:3: () + // InternalScope.g:7501:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,55,FOLLOW_95); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); + + } + // InternalScope.g:7511:3: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) + int alt120=2; + alt120 = dfa120.predict(input); + switch (alt120) { + case 1 : + // InternalScope.g:7512:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) + { + // InternalScope.g:7512:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) + // InternalScope.g:7513:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' + { + // InternalScope.g:7513:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) + // InternalScope.g:7514:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) + { + // InternalScope.g:7524:6: (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) + // InternalScope.g:7525:7: otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' + { + otherlv_2=(Token)match(input,27,FOLLOW_72); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); + + } + // InternalScope.g:7529:7: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) + // InternalScope.g:7530:8: (lv_declaredParam_3_0= ruleJvmFormalParameter ) + { + // InternalScope.g:7530:8: (lv_declaredParam_3_0= ruleJvmFormalParameter ) + // InternalScope.g:7531:9: lv_declaredParam_3_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); + + } + pushFollow(FOLLOW_43); + lv_declaredParam_3_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + current, + "declaredParam", + lv_declaredParam_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,49,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); + + } + + } + + + } + + // InternalScope.g:7554:5: ( (lv_switch_5_0= ruleXExpression ) ) + // InternalScope.g:7555:6: (lv_switch_5_0= ruleXExpression ) + { + // InternalScope.g:7555:6: (lv_switch_5_0= ruleXExpression ) + // InternalScope.g:7556:7: lv_switch_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); + + } + pushFollow(FOLLOW_20); + lv_switch_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + current, + "switch", + lv_switch_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_6=(Token)match(input,28,FOLLOW_14); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); + + } + + } + + + } + break; + case 2 : + // InternalScope.g:7579:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) + { + // InternalScope.g:7579:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) + // InternalScope.g:7580:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) + { + // InternalScope.g:7580:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? + int alt119=2; + alt119 = dfa119.predict(input); + switch (alt119) { + case 1 : + // InternalScope.g:7581:6: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) + { + // InternalScope.g:7590:6: ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) + // InternalScope.g:7591:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' + { + // InternalScope.g:7591:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) + // InternalScope.g:7592:8: (lv_declaredParam_7_0= ruleJvmFormalParameter ) + { + // InternalScope.g:7592:8: (lv_declaredParam_7_0= ruleJvmFormalParameter ) + // InternalScope.g:7593:9: lv_declaredParam_7_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); + + } + pushFollow(FOLLOW_43); + lv_declaredParam_7_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + current, + "declaredParam", + lv_declaredParam_7_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_8=(Token)match(input,49,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); + + } + + } + + + } + break; + + } + + // InternalScope.g:7616:5: ( (lv_switch_9_0= ruleXExpression ) ) + // InternalScope.g:7617:6: (lv_switch_9_0= ruleXExpression ) + { + // InternalScope.g:7617:6: (lv_switch_9_0= ruleXExpression ) + // InternalScope.g:7618:7: lv_switch_9_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); + + } + pushFollow(FOLLOW_14); + lv_switch_9_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + current, + "switch", + lv_switch_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + otherlv_10=(Token)match(input,22,FOLLOW_96); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); + + } + // InternalScope.g:7641:3: ( (lv_cases_11_0= ruleXCasePart ) )* + loop121: + do { + int alt121=2; + int LA121_0 = input.LA(1); + + if ( (LA121_0==RULE_ID||LA121_0==20||LA121_0==27||LA121_0==37||LA121_0==49||LA121_0==97) ) { + alt121=1; + } + + + switch (alt121) { + case 1 : + // InternalScope.g:7642:4: (lv_cases_11_0= ruleXCasePart ) + { + // InternalScope.g:7642:4: (lv_cases_11_0= ruleXCasePart ) + // InternalScope.g:7643:5: lv_cases_11_0= ruleXCasePart + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); + + } + pushFollow(FOLLOW_96); + lv_cases_11_0=ruleXCasePart(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + add( + current, + "cases", + lv_cases_11_0, + "org.eclipse.xtext.xbase.Xbase.XCasePart"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop121; + } + } while (true); + + // InternalScope.g:7660:3: (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? + int alt122=2; + int LA122_0 = input.LA(1); + + if ( (LA122_0==56) ) { + alt122=1; + } + switch (alt122) { + case 1 : + // InternalScope.g:7661:4: otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) + { + otherlv_12=(Token)match(input,56,FOLLOW_43); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_12, grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); + + } + otherlv_13=(Token)match(input,49,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_13, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); + + } + // InternalScope.g:7669:4: ( (lv_default_14_0= ruleXExpression ) ) + // InternalScope.g:7670:5: (lv_default_14_0= ruleXExpression ) + { + // InternalScope.g:7670:5: (lv_default_14_0= ruleXExpression ) + // InternalScope.g:7671:6: lv_default_14_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); + + } + pushFollow(FOLLOW_52); + lv_default_14_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); + } + set( + current, + "default", + lv_default_14_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + otherlv_15=(Token)match(input,23,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_15, grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXSwitchExpression" + + + // $ANTLR start "entryRuleXCasePart" + // InternalScope.g:7697:1: entryRuleXCasePart returns [EObject current=null] : iv_ruleXCasePart= ruleXCasePart EOF ; + public final EObject entryRuleXCasePart() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXCasePart = null; + + + try { + // InternalScope.g:7697:50: (iv_ruleXCasePart= ruleXCasePart EOF ) + // InternalScope.g:7698:2: iv_ruleXCasePart= ruleXCasePart EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXCasePartRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXCasePart=ruleXCasePart(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXCasePart; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXCasePart" + + + // $ANTLR start "ruleXCasePart" + // InternalScope.g:7704:1: ruleXCasePart returns [EObject current=null] : ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) ; + public final EObject ruleXCasePart() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + Token otherlv_4=null; + Token lv_fallThrough_6_0=null; + EObject lv_typeGuard_1_0 = null; + + EObject lv_case_3_0 = null; + + EObject lv_then_5_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:7710:2: ( ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) ) + // InternalScope.g:7711:2: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) + { + // InternalScope.g:7711:2: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) + // InternalScope.g:7712:3: () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) + { + // InternalScope.g:7712:3: () + // InternalScope.g:7713:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXCasePartAccess().getXCasePartAction_0(), + current); + + } + + } + + // InternalScope.g:7719:3: ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? + int alt123=2; + int LA123_0 = input.LA(1); + + if ( (LA123_0==RULE_ID||LA123_0==27||LA123_0==97) ) { + alt123=1; + } + switch (alt123) { + case 1 : + // InternalScope.g:7720:4: (lv_typeGuard_1_0= ruleJvmTypeReference ) + { + // InternalScope.g:7720:4: (lv_typeGuard_1_0= ruleJvmTypeReference ) + // InternalScope.g:7721:5: lv_typeGuard_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_97); + lv_typeGuard_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + current, + "typeGuard", + lv_typeGuard_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + // InternalScope.g:7738:3: (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? + int alt124=2; + int LA124_0 = input.LA(1); + + if ( (LA124_0==20) ) { + alt124=1; + } + switch (alt124) { + case 1 : + // InternalScope.g:7739:4: otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) + { + otherlv_2=(Token)match(input,20,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); + + } + // InternalScope.g:7743:4: ( (lv_case_3_0= ruleXExpression ) ) + // InternalScope.g:7744:5: (lv_case_3_0= ruleXExpression ) + { + // InternalScope.g:7744:5: (lv_case_3_0= ruleXExpression ) + // InternalScope.g:7745:6: lv_case_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); + + } + pushFollow(FOLLOW_98); + lv_case_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + current, + "case", + lv_case_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + // InternalScope.g:7763:3: ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) + int alt125=2; + int LA125_0 = input.LA(1); + + if ( (LA125_0==49) ) { + alt125=1; + } + else if ( (LA125_0==37) ) { + alt125=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 125, 0, input); + + throw nvae; + } + switch (alt125) { + case 1 : + // InternalScope.g:7764:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) + { + // InternalScope.g:7764:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) + // InternalScope.g:7765:5: otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) + { + otherlv_4=(Token)match(input,49,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); + + } + // InternalScope.g:7769:5: ( (lv_then_5_0= ruleXExpression ) ) + // InternalScope.g:7770:6: (lv_then_5_0= ruleXExpression ) + { + // InternalScope.g:7770:6: (lv_then_5_0= ruleXExpression ) + // InternalScope.g:7771:7: lv_then_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); + + } + pushFollow(FOLLOW_2); + lv_then_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCasePartRule()); + } + set( + current, + "then", + lv_then_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalScope.g:7790:4: ( (lv_fallThrough_6_0= ',' ) ) + { + // InternalScope.g:7790:4: ( (lv_fallThrough_6_0= ',' ) ) + // InternalScope.g:7791:5: (lv_fallThrough_6_0= ',' ) + { + // InternalScope.g:7791:5: (lv_fallThrough_6_0= ',' ) + // InternalScope.g:7792:6: lv_fallThrough_6_0= ',' + { + lv_fallThrough_6_0=(Token)match(input,37,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_fallThrough_6_0, grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXCasePartRule()); + } + setWithLastConsumed(current, "fallThrough", lv_fallThrough_6_0 != null, ","); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXCasePart" + + + // $ANTLR start "entryRuleXForLoopExpression" + // InternalScope.g:7809:1: entryRuleXForLoopExpression returns [EObject current=null] : iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ; + public final EObject entryRuleXForLoopExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXForLoopExpression = null; + + + try { + // InternalScope.g:7809:59: (iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ) + // InternalScope.g:7810:2: iv_ruleXForLoopExpression= ruleXForLoopExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXForLoopExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXForLoopExpression=ruleXForLoopExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXForLoopExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXForLoopExpression" + + + // $ANTLR start "ruleXForLoopExpression" + // InternalScope.g:7816:1: ruleXForLoopExpression returns [EObject current=null] : ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) ; + public final EObject ruleXForLoopExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_declaredParam_3_0 = null; + + EObject lv_forExpression_5_0 = null; + + EObject lv_eachExpression_7_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:7822:2: ( ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) ) + // InternalScope.g:7823:2: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) + { + // InternalScope.g:7823:2: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) + // InternalScope.g:7824:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) + { + // InternalScope.g:7824:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) + // InternalScope.g:7825:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) + { + // InternalScope.g:7838:4: ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) + // InternalScope.g:7839:5: () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' + { + // InternalScope.g:7839:5: () + // InternalScope.g:7840:6: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,105,FOLLOW_29); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); + + } + otherlv_2=(Token)match(input,27,FOLLOW_72); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + + } + // InternalScope.g:7854:5: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) + // InternalScope.g:7855:6: (lv_declaredParam_3_0= ruleJvmFormalParameter ) + { + // InternalScope.g:7855:6: (lv_declaredParam_3_0= ruleJvmFormalParameter ) + // InternalScope.g:7856:7: lv_declaredParam_3_0= ruleJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); + + } + pushFollow(FOLLOW_43); + lv_declaredParam_3_0=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + current, + "declaredParam", + lv_declaredParam_3_0, + "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,49,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); + + } + + } + + + } + + // InternalScope.g:7879:3: ( (lv_forExpression_5_0= ruleXExpression ) ) + // InternalScope.g:7880:4: (lv_forExpression_5_0= ruleXExpression ) + { + // InternalScope.g:7880:4: (lv_forExpression_5_0= ruleXExpression ) + // InternalScope.g:7881:5: lv_forExpression_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_20); + lv_forExpression_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + current, + "forExpression", + lv_forExpression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_6=(Token)match(input,28,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); + + } + // InternalScope.g:7902:3: ( (lv_eachExpression_7_0= ruleXExpression ) ) + // InternalScope.g:7903:4: (lv_eachExpression_7_0= ruleXExpression ) + { + // InternalScope.g:7903:4: (lv_eachExpression_7_0= ruleXExpression ) + // InternalScope.g:7904:5: lv_eachExpression_7_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_2); + lv_eachExpression_7_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); + } + set( + current, + "eachExpression", + lv_eachExpression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXForLoopExpression" + + + // $ANTLR start "entryRuleXBasicForLoopExpression" + // InternalScope.g:7925:1: entryRuleXBasicForLoopExpression returns [EObject current=null] : iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ; + public final EObject entryRuleXBasicForLoopExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXBasicForLoopExpression = null; + + + try { + // InternalScope.g:7925:64: (iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ) + // InternalScope.g:7926:2: iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXBasicForLoopExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXBasicForLoopExpression=ruleXBasicForLoopExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXBasicForLoopExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXBasicForLoopExpression" + + + // $ANTLR start "ruleXBasicForLoopExpression" + // InternalScope.g:7932:1: ruleXBasicForLoopExpression returns [EObject current=null] : ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) ; + public final EObject ruleXBasicForLoopExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_12=null; + EObject lv_initExpressions_3_0 = null; + + EObject lv_initExpressions_5_0 = null; + + EObject lv_expression_7_0 = null; + + EObject lv_updateExpressions_9_0 = null; + + EObject lv_updateExpressions_11_0 = null; + + EObject lv_eachExpression_13_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:7938:2: ( ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) ) + // InternalScope.g:7939:2: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) + { + // InternalScope.g:7939:2: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) + // InternalScope.g:7940:3: () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) + { + // InternalScope.g:7940:3: () + // InternalScope.g:7941:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,105,FOLLOW_29); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); + + } + otherlv_2=(Token)match(input,27,FOLLOW_99); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); + + } + // InternalScope.g:7955:3: ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? + int alt127=2; + int LA127_0 = input.LA(1); + + if ( ((LA127_0>=RULE_STRING && LA127_0<=RULE_INT)||(LA127_0>=RULE_ID && LA127_0<=RULE_DECIMAL)||LA127_0==16||LA127_0==18||LA127_0==22||LA127_0==27||LA127_0==29||LA127_0==33||LA127_0==52||LA127_0==55||(LA127_0>=65 && LA127_0<=67)||LA127_0==69||(LA127_0>=79 && LA127_0<=81)||LA127_0==83||(LA127_0>=105 && LA127_0<=116)||LA127_0==118) ) { + alt127=1; + } + switch (alt127) { + case 1 : + // InternalScope.g:7956:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* + { + // InternalScope.g:7956:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) + // InternalScope.g:7957:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) + { + // InternalScope.g:7957:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) + // InternalScope.g:7958:6: lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); + + } + pushFollow(FOLLOW_100); + lv_initExpressions_3_0=ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + current, + "initExpressions", + lv_initExpressions_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:7975:4: (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* + loop126: + do { + int alt126=2; + int LA126_0 = input.LA(1); + + if ( (LA126_0==37) ) { + alt126=1; + } + + + switch (alt126) { + case 1 : + // InternalScope.g:7976:5: otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) + { + otherlv_4=(Token)match(input,37,FOLLOW_101); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); + + } + // InternalScope.g:7980:5: ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) + // InternalScope.g:7981:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) + { + // InternalScope.g:7981:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) + // InternalScope.g:7982:7: lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); + + } + pushFollow(FOLLOW_100); + lv_initExpressions_5_0=ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + current, + "initExpressions", + lv_initExpressions_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop126; + } + } while (true); + + + } + break; + + } + + otherlv_6=(Token)match(input,25,FOLLOW_102); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); + + } + // InternalScope.g:8005:3: ( (lv_expression_7_0= ruleXExpression ) )? + int alt128=2; + int LA128_0 = input.LA(1); + + if ( ((LA128_0>=RULE_STRING && LA128_0<=RULE_INT)||(LA128_0>=RULE_ID && LA128_0<=RULE_DECIMAL)||LA128_0==16||LA128_0==18||LA128_0==22||LA128_0==27||LA128_0==29||LA128_0==33||LA128_0==52||LA128_0==55||(LA128_0>=65 && LA128_0<=67)||LA128_0==69||(LA128_0>=79 && LA128_0<=81)||LA128_0==83||(LA128_0>=105 && LA128_0<=107)||(LA128_0>=110 && LA128_0<=116)||LA128_0==118) ) { + alt128=1; + } + switch (alt128) { + case 1 : + // InternalScope.g:8006:4: (lv_expression_7_0= ruleXExpression ) + { + // InternalScope.g:8006:4: (lv_expression_7_0= ruleXExpression ) + // InternalScope.g:8007:5: lv_expression_7_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); + + } + pushFollow(FOLLOW_18); + lv_expression_7_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + set( + current, + "expression", + lv_expression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + otherlv_8=(Token)match(input,25,FOLLOW_103); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); + + } + // InternalScope.g:8028:3: ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? + int alt130=2; + int LA130_0 = input.LA(1); + + if ( ((LA130_0>=RULE_STRING && LA130_0<=RULE_INT)||(LA130_0>=RULE_ID && LA130_0<=RULE_DECIMAL)||LA130_0==16||LA130_0==18||LA130_0==22||LA130_0==27||LA130_0==29||LA130_0==33||LA130_0==52||LA130_0==55||(LA130_0>=65 && LA130_0<=67)||LA130_0==69||(LA130_0>=79 && LA130_0<=81)||LA130_0==83||(LA130_0>=105 && LA130_0<=107)||(LA130_0>=110 && LA130_0<=116)||LA130_0==118) ) { + alt130=1; + } + switch (alt130) { + case 1 : + // InternalScope.g:8029:4: ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* + { + // InternalScope.g:8029:4: ( (lv_updateExpressions_9_0= ruleXExpression ) ) + // InternalScope.g:8030:5: (lv_updateExpressions_9_0= ruleXExpression ) + { + // InternalScope.g:8030:5: (lv_updateExpressions_9_0= ruleXExpression ) + // InternalScope.g:8031:6: lv_updateExpressions_9_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); + + } + pushFollow(FOLLOW_31); + lv_updateExpressions_9_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + current, + "updateExpressions", + lv_updateExpressions_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:8048:4: (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* + loop129: + do { + int alt129=2; + int LA129_0 = input.LA(1); + + if ( (LA129_0==37) ) { + alt129=1; + } + + + switch (alt129) { + case 1 : + // InternalScope.g:8049:5: otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) + { + otherlv_10=(Token)match(input,37,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); + + } + // InternalScope.g:8053:5: ( (lv_updateExpressions_11_0= ruleXExpression ) ) + // InternalScope.g:8054:6: (lv_updateExpressions_11_0= ruleXExpression ) + { + // InternalScope.g:8054:6: (lv_updateExpressions_11_0= ruleXExpression ) + // InternalScope.g:8055:7: lv_updateExpressions_11_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); + + } + pushFollow(FOLLOW_31); + lv_updateExpressions_11_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + add( + current, + "updateExpressions", + lv_updateExpressions_11_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop129; + } + } while (true); + + + } + break; + + } + + otherlv_12=(Token)match(input,28,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_12, grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); + + } + // InternalScope.g:8078:3: ( (lv_eachExpression_13_0= ruleXExpression ) ) + // InternalScope.g:8079:4: (lv_eachExpression_13_0= ruleXExpression ) + { + // InternalScope.g:8079:4: (lv_eachExpression_13_0= ruleXExpression ) + // InternalScope.g:8080:5: lv_eachExpression_13_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); + + } + pushFollow(FOLLOW_2); + lv_eachExpression_13_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); + } + set( + current, + "eachExpression", + lv_eachExpression_13_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXBasicForLoopExpression" + + + // $ANTLR start "entryRuleXWhileExpression" + // InternalScope.g:8101:1: entryRuleXWhileExpression returns [EObject current=null] : iv_ruleXWhileExpression= ruleXWhileExpression EOF ; + public final EObject entryRuleXWhileExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXWhileExpression = null; + + + try { + // InternalScope.g:8101:57: (iv_ruleXWhileExpression= ruleXWhileExpression EOF ) + // InternalScope.g:8102:2: iv_ruleXWhileExpression= ruleXWhileExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXWhileExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXWhileExpression=ruleXWhileExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXWhileExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXWhileExpression" + + + // $ANTLR start "ruleXWhileExpression" + // InternalScope.g:8108:1: ruleXWhileExpression returns [EObject current=null] : ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) ; + public final EObject ruleXWhileExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + EObject lv_predicate_3_0 = null; + + EObject lv_body_5_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:8114:2: ( ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) ) + // InternalScope.g:8115:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) + { + // InternalScope.g:8115:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) + // InternalScope.g:8116:3: () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) + { + // InternalScope.g:8116:3: () + // InternalScope.g:8117:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,106,FOLLOW_29); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); + + } + otherlv_2=(Token)match(input,27,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); + + } + // InternalScope.g:8131:3: ( (lv_predicate_3_0= ruleXExpression ) ) + // InternalScope.g:8132:4: (lv_predicate_3_0= ruleXExpression ) + { + // InternalScope.g:8132:4: (lv_predicate_3_0= ruleXExpression ) + // InternalScope.g:8133:5: lv_predicate_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_20); + lv_predicate_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXWhileExpressionRule()); + } + set( + current, + "predicate", + lv_predicate_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,28,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); + + } + // InternalScope.g:8154:3: ( (lv_body_5_0= ruleXExpression ) ) + // InternalScope.g:8155:4: (lv_body_5_0= ruleXExpression ) + { + // InternalScope.g:8155:4: (lv_body_5_0= ruleXExpression ) + // InternalScope.g:8156:5: lv_body_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); + + } + pushFollow(FOLLOW_2); + lv_body_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXWhileExpressionRule()); + } + set( + current, + "body", + lv_body_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXWhileExpression" + + + // $ANTLR start "entryRuleXDoWhileExpression" + // InternalScope.g:8177:1: entryRuleXDoWhileExpression returns [EObject current=null] : iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ; + public final EObject entryRuleXDoWhileExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXDoWhileExpression = null; + + + try { + // InternalScope.g:8177:59: (iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ) + // InternalScope.g:8178:2: iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXDoWhileExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXDoWhileExpression=ruleXDoWhileExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXDoWhileExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXDoWhileExpression" + + + // $ANTLR start "ruleXDoWhileExpression" + // InternalScope.g:8184:1: ruleXDoWhileExpression returns [EObject current=null] : ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) ; + public final EObject ruleXDoWhileExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_body_2_0 = null; + + EObject lv_predicate_5_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:8190:2: ( ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) ) + // InternalScope.g:8191:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) + { + // InternalScope.g:8191:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) + // InternalScope.g:8192:3: () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' + { + // InternalScope.g:8192:3: () + // InternalScope.g:8193:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,107,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); + + } + // InternalScope.g:8203:3: ( (lv_body_2_0= ruleXExpression ) ) + // InternalScope.g:8204:4: (lv_body_2_0= ruleXExpression ) + { + // InternalScope.g:8204:4: (lv_body_2_0= ruleXExpression ) + // InternalScope.g:8205:5: lv_body_2_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_104); + lv_body_2_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule()); + } + set( + current, + "body", + lv_body_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_3=(Token)match(input,106,FOLLOW_29); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); + + } + otherlv_4=(Token)match(input,27,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); + + } + // InternalScope.g:8230:3: ( (lv_predicate_5_0= ruleXExpression ) ) + // InternalScope.g:8231:4: (lv_predicate_5_0= ruleXExpression ) + { + // InternalScope.g:8231:4: (lv_predicate_5_0= ruleXExpression ) + // InternalScope.g:8232:5: lv_predicate_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); + + } + pushFollow(FOLLOW_20); + lv_predicate_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule()); + } + set( + current, + "predicate", + lv_predicate_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_6=(Token)match(input,28,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXDoWhileExpression" + + + // $ANTLR start "entryRuleXBlockExpression" + // InternalScope.g:8257:1: entryRuleXBlockExpression returns [EObject current=null] : iv_ruleXBlockExpression= ruleXBlockExpression EOF ; + public final EObject entryRuleXBlockExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXBlockExpression = null; + + + try { + // InternalScope.g:8257:57: (iv_ruleXBlockExpression= ruleXBlockExpression EOF ) + // InternalScope.g:8258:2: iv_ruleXBlockExpression= ruleXBlockExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXBlockExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXBlockExpression=ruleXBlockExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXBlockExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXBlockExpression" + + + // $ANTLR start "ruleXBlockExpression" + // InternalScope.g:8264:1: ruleXBlockExpression returns [EObject current=null] : ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) ; + public final EObject ruleXBlockExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_4=null; + EObject lv_expressions_2_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:8270:2: ( ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) ) + // InternalScope.g:8271:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) + { + // InternalScope.g:8271:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) + // InternalScope.g:8272:3: () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' + { + // InternalScope.g:8272:3: () + // InternalScope.g:8273:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,22,FOLLOW_105); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); + + } + // InternalScope.g:8283:3: ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* + loop132: + do { + int alt132=2; + int LA132_0 = input.LA(1); + + if ( ((LA132_0>=RULE_STRING && LA132_0<=RULE_INT)||(LA132_0>=RULE_ID && LA132_0<=RULE_DECIMAL)||LA132_0==16||LA132_0==18||LA132_0==22||LA132_0==27||LA132_0==29||LA132_0==33||LA132_0==52||LA132_0==55||(LA132_0>=65 && LA132_0<=67)||LA132_0==69||(LA132_0>=79 && LA132_0<=81)||LA132_0==83||(LA132_0>=105 && LA132_0<=116)||LA132_0==118) ) { + alt132=1; + } + + + switch (alt132) { + case 1 : + // InternalScope.g:8284:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? + { + // InternalScope.g:8284:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) + // InternalScope.g:8285:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) + { + // InternalScope.g:8285:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) + // InternalScope.g:8286:6: lv_expressions_2_0= ruleXExpressionOrVarDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); + + } + pushFollow(FOLLOW_106); + lv_expressions_2_0=ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXBlockExpressionRule()); + } + add( + current, + "expressions", + lv_expressions_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:8303:4: (otherlv_3= ';' )? + int alt131=2; + int LA131_0 = input.LA(1); + + if ( (LA131_0==25) ) { + alt131=1; + } + switch (alt131) { + case 1 : + // InternalScope.g:8304:5: otherlv_3= ';' + { + otherlv_3=(Token)match(input,25,FOLLOW_105); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); + + } + + } + break; + + } + + + } + break; + + default : + break loop132; + } + } while (true); + + otherlv_4=(Token)match(input,23,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXBlockExpression" + + + // $ANTLR start "entryRuleXExpressionOrVarDeclaration" + // InternalScope.g:8318:1: entryRuleXExpressionOrVarDeclaration returns [EObject current=null] : iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ; + public final EObject entryRuleXExpressionOrVarDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXExpressionOrVarDeclaration = null; + + + try { + // InternalScope.g:8318:68: (iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ) + // InternalScope.g:8319:2: iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXExpressionOrVarDeclaration=ruleXExpressionOrVarDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXExpressionOrVarDeclaration; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXExpressionOrVarDeclaration" + + + // $ANTLR start "ruleXExpressionOrVarDeclaration" + // InternalScope.g:8325:1: ruleXExpressionOrVarDeclaration returns [EObject current=null] : (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) ; + public final EObject ruleXExpressionOrVarDeclaration() throws RecognitionException { + EObject current = null; + + EObject this_XVariableDeclaration_0 = null; + + EObject this_XExpression_1 = null; + + + + enterRule(); + + try { + // InternalScope.g:8331:2: ( (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) ) + // InternalScope.g:8332:2: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) + { + // InternalScope.g:8332:2: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) + int alt133=2; + int LA133_0 = input.LA(1); + + if ( ((LA133_0>=108 && LA133_0<=109)) ) { + alt133=1; + } + else if ( ((LA133_0>=RULE_STRING && LA133_0<=RULE_INT)||(LA133_0>=RULE_ID && LA133_0<=RULE_DECIMAL)||LA133_0==16||LA133_0==18||LA133_0==22||LA133_0==27||LA133_0==29||LA133_0==33||LA133_0==52||LA133_0==55||(LA133_0>=65 && LA133_0<=67)||LA133_0==69||(LA133_0>=79 && LA133_0<=81)||LA133_0==83||(LA133_0>=105 && LA133_0<=107)||(LA133_0>=110 && LA133_0<=116)||LA133_0==118) ) { + alt133=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 133, 0, input); + + throw nvae; + } + switch (alt133) { + case 1 : + // InternalScope.g:8333:3: this_XVariableDeclaration_0= ruleXVariableDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_XVariableDeclaration_0=ruleXVariableDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XVariableDeclaration_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalScope.g:8342:3: this_XExpression_1= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XExpression_1=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XExpression_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXExpressionOrVarDeclaration" + + + // $ANTLR start "entryRuleXVariableDeclaration" + // InternalScope.g:8354:1: entryRuleXVariableDeclaration returns [EObject current=null] : iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ; + public final EObject entryRuleXVariableDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXVariableDeclaration = null; + + + try { + // InternalScope.g:8354:61: (iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ) + // InternalScope.g:8355:2: iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXVariableDeclarationRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXVariableDeclaration=ruleXVariableDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXVariableDeclaration; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXVariableDeclaration" + + + // $ANTLR start "ruleXVariableDeclaration" + // InternalScope.g:8361:1: ruleXVariableDeclaration returns [EObject current=null] : ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) ; + public final EObject ruleXVariableDeclaration() throws RecognitionException { + EObject current = null; + + Token lv_writeable_1_0=null; + Token otherlv_2=null; + Token otherlv_6=null; + EObject lv_type_3_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + AntlrDatatypeRuleToken lv_name_5_0 = null; + + EObject lv_right_7_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:8367:2: ( ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) ) + // InternalScope.g:8368:2: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) + { + // InternalScope.g:8368:2: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) + // InternalScope.g:8369:3: () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? + { + // InternalScope.g:8369:3: () + // InternalScope.g:8370:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0(), + current); + + } + + } + + // InternalScope.g:8376:3: ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) + int alt134=2; + int LA134_0 = input.LA(1); + + if ( (LA134_0==108) ) { + alt134=1; + } + else if ( (LA134_0==109) ) { + alt134=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 134, 0, input); + + throw nvae; + } + switch (alt134) { + case 1 : + // InternalScope.g:8377:4: ( (lv_writeable_1_0= 'var' ) ) + { + // InternalScope.g:8377:4: ( (lv_writeable_1_0= 'var' ) ) + // InternalScope.g:8378:5: (lv_writeable_1_0= 'var' ) + { + // InternalScope.g:8378:5: (lv_writeable_1_0= 'var' ) + // InternalScope.g:8379:6: lv_writeable_1_0= 'var' + { + lv_writeable_1_0=(Token)match(input,108,FOLLOW_72); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_writeable_1_0, grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXVariableDeclarationRule()); + } + setWithLastConsumed(current, "writeable", lv_writeable_1_0 != null, "var"); + + } + + } + + + } + + + } + break; + case 2 : + // InternalScope.g:8392:4: otherlv_2= 'val' + { + otherlv_2=(Token)match(input,109,FOLLOW_72); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); + + } + + } + break; + + } + + // InternalScope.g:8397:3: ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) + int alt135=2; + int LA135_0 = input.LA(1); + + if ( (LA135_0==RULE_ID) ) { + int LA135_1 = input.LA(2); + + if ( (synpred32_InternalScope()) ) { + alt135=1; + } + else if ( (true) ) { + alt135=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 135, 1, input); + + throw nvae; + } + } + else if ( (LA135_0==27) && (synpred32_InternalScope())) { + alt135=1; + } + else if ( (LA135_0==97) && (synpred32_InternalScope())) { + alt135=1; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 135, 0, input); + + throw nvae; + } + switch (alt135) { + case 1 : + // InternalScope.g:8398:4: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) + { + // InternalScope.g:8398:4: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) + // InternalScope.g:8399:5: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) + { + // InternalScope.g:8412:5: ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) + // InternalScope.g:8413:6: ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) + { + // InternalScope.g:8413:6: ( (lv_type_3_0= ruleJvmTypeReference ) ) + // InternalScope.g:8414:7: (lv_type_3_0= ruleJvmTypeReference ) + { + // InternalScope.g:8414:7: (lv_type_3_0= ruleJvmTypeReference ) + // InternalScope.g:8415:8: lv_type_3_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); + + } + pushFollow(FOLLOW_3); + lv_type_3_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + current, + "type", + lv_type_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:8432:6: ( (lv_name_4_0= ruleValidID ) ) + // InternalScope.g:8433:7: (lv_name_4_0= ruleValidID ) + { + // InternalScope.g:8433:7: (lv_name_4_0= ruleValidID ) + // InternalScope.g:8434:8: lv_name_4_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); + + } + pushFollow(FOLLOW_107); + lv_name_4_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + current, + "name", + lv_name_4_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + + } + break; + case 2 : + // InternalScope.g:8454:4: ( (lv_name_5_0= ruleValidID ) ) + { + // InternalScope.g:8454:4: ( (lv_name_5_0= ruleValidID ) ) + // InternalScope.g:8455:5: (lv_name_5_0= ruleValidID ) + { + // InternalScope.g:8455:5: (lv_name_5_0= ruleValidID ) + // InternalScope.g:8456:6: lv_name_5_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); + + } + pushFollow(FOLLOW_107); + lv_name_5_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + current, + "name", + lv_name_5_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + // InternalScope.g:8474:3: (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? + int alt136=2; + int LA136_0 = input.LA(1); + + if ( (LA136_0==24) ) { + alt136=1; + } + switch (alt136) { + case 1 : + // InternalScope.g:8475:4: otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) + { + otherlv_6=(Token)match(input,24,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); + + } + // InternalScope.g:8479:4: ( (lv_right_7_0= ruleXExpression ) ) + // InternalScope.g:8480:5: (lv_right_7_0= ruleXExpression ) + { + // InternalScope.g:8480:5: (lv_right_7_0= ruleXExpression ) + // InternalScope.g:8481:6: lv_right_7_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); + + } + pushFollow(FOLLOW_2); + lv_right_7_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); + } + set( + current, + "right", + lv_right_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXVariableDeclaration" + + + // $ANTLR start "entryRuleJvmFormalParameter" + // InternalScope.g:8503:1: entryRuleJvmFormalParameter returns [EObject current=null] : iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ; + public final EObject entryRuleJvmFormalParameter() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmFormalParameter = null; + + + try { + // InternalScope.g:8503:59: (iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ) + // InternalScope.g:8504:2: iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmFormalParameterRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmFormalParameter=ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmFormalParameter; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmFormalParameter" + + + // $ANTLR start "ruleJvmFormalParameter" + // InternalScope.g:8510:1: ruleJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) ; + public final EObject ruleJvmFormalParameter() throws RecognitionException { + EObject current = null; + + EObject lv_parameterType_0_0 = null; + + AntlrDatatypeRuleToken lv_name_1_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:8516:2: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) ) + // InternalScope.g:8517:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) + { + // InternalScope.g:8517:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) + // InternalScope.g:8518:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) + { + // InternalScope.g:8518:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? + int alt137=2; + int LA137_0 = input.LA(1); + + if ( (LA137_0==RULE_ID) ) { + int LA137_1 = input.LA(2); + + if ( (LA137_1==RULE_ID||LA137_1==33||LA137_1==47||LA137_1==65) ) { + alt137=1; + } + } + else if ( (LA137_0==27||LA137_0==97) ) { + alt137=1; + } + switch (alt137) { + case 1 : + // InternalScope.g:8519:4: (lv_parameterType_0_0= ruleJvmTypeReference ) + { + // InternalScope.g:8519:4: (lv_parameterType_0_0= ruleJvmTypeReference ) + // InternalScope.g:8520:5: lv_parameterType_0_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + + } + pushFollow(FOLLOW_3); + lv_parameterType_0_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule()); + } + set( + current, + "parameterType", + lv_parameterType_0_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + // InternalScope.g:8537:3: ( (lv_name_1_0= ruleValidID ) ) + // InternalScope.g:8538:4: (lv_name_1_0= ruleValidID ) + { + // InternalScope.g:8538:4: (lv_name_1_0= ruleValidID ) + // InternalScope.g:8539:5: lv_name_1_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_name_1_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule()); + } + set( + current, + "name", + lv_name_1_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmFormalParameter" + + + // $ANTLR start "entryRuleFullJvmFormalParameter" + // InternalScope.g:8560:1: entryRuleFullJvmFormalParameter returns [EObject current=null] : iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ; + public final EObject entryRuleFullJvmFormalParameter() throws RecognitionException { + EObject current = null; + + EObject iv_ruleFullJvmFormalParameter = null; + + + try { + // InternalScope.g:8560:63: (iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ) + // InternalScope.g:8561:2: iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getFullJvmFormalParameterRule()); + } + pushFollow(FOLLOW_1); + iv_ruleFullJvmFormalParameter=ruleFullJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleFullJvmFormalParameter; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFullJvmFormalParameter" + + + // $ANTLR start "ruleFullJvmFormalParameter" + // InternalScope.g:8567:1: ruleFullJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) ; + public final EObject ruleFullJvmFormalParameter() throws RecognitionException { + EObject current = null; + + EObject lv_parameterType_0_0 = null; + + AntlrDatatypeRuleToken lv_name_1_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:8573:2: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) ) + // InternalScope.g:8574:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) + { + // InternalScope.g:8574:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) + // InternalScope.g:8575:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) + { + // InternalScope.g:8575:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) + // InternalScope.g:8576:4: (lv_parameterType_0_0= ruleJvmTypeReference ) + { + // InternalScope.g:8576:4: (lv_parameterType_0_0= ruleJvmTypeReference ) + // InternalScope.g:8577:5: lv_parameterType_0_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); + + } + pushFollow(FOLLOW_3); + lv_parameterType_0_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule()); + } + set( + current, + "parameterType", + lv_parameterType_0_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:8594:3: ( (lv_name_1_0= ruleValidID ) ) + // InternalScope.g:8595:4: (lv_name_1_0= ruleValidID ) + { + // InternalScope.g:8595:4: (lv_name_1_0= ruleValidID ) + // InternalScope.g:8596:5: lv_name_1_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_name_1_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule()); + } + set( + current, + "name", + lv_name_1_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFullJvmFormalParameter" + + + // $ANTLR start "entryRuleXFeatureCall" + // InternalScope.g:8617:1: entryRuleXFeatureCall returns [EObject current=null] : iv_ruleXFeatureCall= ruleXFeatureCall EOF ; + public final EObject entryRuleXFeatureCall() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXFeatureCall = null; + + + try { + // InternalScope.g:8617:53: (iv_ruleXFeatureCall= ruleXFeatureCall EOF ) + // InternalScope.g:8618:2: iv_ruleXFeatureCall= ruleXFeatureCall EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXFeatureCallRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXFeatureCall=ruleXFeatureCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXFeatureCall; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXFeatureCall" + + + // $ANTLR start "ruleXFeatureCall" + // InternalScope.g:8624:1: ruleXFeatureCall returns [EObject current=null] : ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) ; + public final EObject ruleXFeatureCall() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token lv_explicitOperationCall_7_0=null; + Token otherlv_10=null; + Token otherlv_12=null; + EObject lv_typeArguments_2_0 = null; + + EObject lv_typeArguments_4_0 = null; + + EObject lv_featureCallArguments_8_0 = null; + + EObject lv_featureCallArguments_9_0 = null; + + EObject lv_featureCallArguments_11_0 = null; + + EObject lv_featureCallArguments_13_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:8630:2: ( ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) ) + // InternalScope.g:8631:2: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) + { + // InternalScope.g:8631:2: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) + // InternalScope.g:8632:3: () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? + { + // InternalScope.g:8632:3: () + // InternalScope.g:8633:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0(), + current); + + } + + } + + // InternalScope.g:8639:3: (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? + int alt139=2; + int LA139_0 = input.LA(1); + + if ( (LA139_0==65) ) { + alt139=1; + } + switch (alt139) { + case 1 : + // InternalScope.g:8640:4: otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' + { + otherlv_1=(Token)match(input,65,FOLLOW_82); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); + + } + // InternalScope.g:8644:4: ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) + // InternalScope.g:8645:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) + { + // InternalScope.g:8645:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) + // InternalScope.g:8646:6: lv_typeArguments_2_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_83); + lv_typeArguments_2_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:8663:4: (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* + loop138: + do { + int alt138=2; + int LA138_0 = input.LA(1); + + if ( (LA138_0==37) ) { + alt138=1; + } + + + switch (alt138) { + case 1 : + // InternalScope.g:8664:5: otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) + { + otherlv_3=(Token)match(input,37,FOLLOW_82); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); + + } + // InternalScope.g:8668:5: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) + // InternalScope.g:8669:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) + { + // InternalScope.g:8669:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) + // InternalScope.g:8670:7: lv_typeArguments_4_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + + } + pushFollow(FOLLOW_83); + lv_typeArguments_4_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop138; + } + } while (true); + + otherlv_5=(Token)match(input,64,FOLLOW_81); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); + + } + + } + break; + + } + + // InternalScope.g:8693:3: ( ( ruleIdOrSuper ) ) + // InternalScope.g:8694:4: ( ruleIdOrSuper ) + { + // InternalScope.g:8694:4: ( ruleIdOrSuper ) + // InternalScope.g:8695:5: ruleIdOrSuper + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXFeatureCallRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); + + } + pushFollow(FOLLOW_108); + ruleIdOrSuper(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:8709:3: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? + int alt142=2; + alt142 = dfa142.predict(input); + switch (alt142) { + case 1 : + // InternalScope.g:8710:4: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' + { + // InternalScope.g:8710:4: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) + // InternalScope.g:8711:5: ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) + { + // InternalScope.g:8715:5: (lv_explicitOperationCall_7_0= '(' ) + // InternalScope.g:8716:6: lv_explicitOperationCall_7_0= '(' + { + lv_explicitOperationCall_7_0=(Token)match(input,27,FOLLOW_85); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitOperationCall_7_0, grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXFeatureCallRule()); + } + setWithLastConsumed(current, "explicitOperationCall", lv_explicitOperationCall_7_0 != null, "("); + + } + + } + + + } + + // InternalScope.g:8728:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? + int alt141=3; + alt141 = dfa141.predict(input); + switch (alt141) { + case 1 : + // InternalScope.g:8729:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) + { + // InternalScope.g:8729:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) + // InternalScope.g:8730:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) + { + // InternalScope.g:8755:6: (lv_featureCallArguments_8_0= ruleXShortClosure ) + // InternalScope.g:8756:7: lv_featureCallArguments_8_0= ruleXShortClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); + + } + pushFollow(FOLLOW_20); + lv_featureCallArguments_8_0=ruleXShortClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "featureCallArguments", + lv_featureCallArguments_8_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + case 2 : + // InternalScope.g:8774:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) + { + // InternalScope.g:8774:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) + // InternalScope.g:8775:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* + { + // InternalScope.g:8775:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) + // InternalScope.g:8776:7: (lv_featureCallArguments_9_0= ruleXExpression ) + { + // InternalScope.g:8776:7: (lv_featureCallArguments_9_0= ruleXExpression ) + // InternalScope.g:8777:8: lv_featureCallArguments_9_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); + + } + pushFollow(FOLLOW_31); + lv_featureCallArguments_9_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "featureCallArguments", + lv_featureCallArguments_9_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:8794:6: (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* + loop140: + do { + int alt140=2; + int LA140_0 = input.LA(1); + + if ( (LA140_0==37) ) { + alt140=1; + } + + + switch (alt140) { + case 1 : + // InternalScope.g:8795:7: otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) + { + otherlv_10=(Token)match(input,37,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); + + } + // InternalScope.g:8799:7: ( (lv_featureCallArguments_11_0= ruleXExpression ) ) + // InternalScope.g:8800:8: (lv_featureCallArguments_11_0= ruleXExpression ) + { + // InternalScope.g:8800:8: (lv_featureCallArguments_11_0= ruleXExpression ) + // InternalScope.g:8801:9: lv_featureCallArguments_11_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); + + } + pushFollow(FOLLOW_31); + lv_featureCallArguments_11_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "featureCallArguments", + lv_featureCallArguments_11_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop140; + } + } while (true); + + + } + + + } + break; + + } + + otherlv_12=(Token)match(input,28,FOLLOW_27); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_12, grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); + + } + + } + break; + + } + + // InternalScope.g:8826:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? + int alt143=2; + alt143 = dfa143.predict(input); + switch (alt143) { + case 1 : + // InternalScope.g:8827:4: ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) + { + // InternalScope.g:8833:4: (lv_featureCallArguments_13_0= ruleXClosure ) + // InternalScope.g:8834:5: lv_featureCallArguments_13_0= ruleXClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); + + } + pushFollow(FOLLOW_2); + lv_featureCallArguments_13_0=ruleXClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); + } + add( + current, + "featureCallArguments", + lv_featureCallArguments_13_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXFeatureCall" + + + // $ANTLR start "entryRuleFeatureCallID" + // InternalScope.g:8855:1: entryRuleFeatureCallID returns [String current=null] : iv_ruleFeatureCallID= ruleFeatureCallID EOF ; + public final String entryRuleFeatureCallID() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleFeatureCallID = null; + + + try { + // InternalScope.g:8855:53: (iv_ruleFeatureCallID= ruleFeatureCallID EOF ) + // InternalScope.g:8856:2: iv_ruleFeatureCallID= ruleFeatureCallID EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getFeatureCallIDRule()); + } + pushFollow(FOLLOW_1); + iv_ruleFeatureCallID=ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleFeatureCallID.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFeatureCallID" + + + // $ANTLR start "ruleFeatureCallID" + // InternalScope.g:8862:1: ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) ; + public final AntlrDatatypeRuleToken ruleFeatureCallID() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + AntlrDatatypeRuleToken this_ValidID_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:8868:2: ( (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) ) + // InternalScope.g:8869:2: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) + { + // InternalScope.g:8869:2: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) + int alt144=5; + switch ( input.LA(1) ) { + case RULE_ID: + { + alt144=1; + } + break; + case 110: + { + alt144=2; + } + break; + case 111: + { + alt144=3; + } + break; + case 16: + { + alt144=4; + } + break; + case 18: + { + alt144=5; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 144, 0, input); + + throw nvae; + } + + switch (alt144) { + case 1 : + // InternalScope.g:8870:3: this_ValidID_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_ValidID_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_ValidID_0); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalScope.g:8881:3: kw= 'extends' + { + kw=(Token)match(input,110,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); + + } + + } + break; + case 3 : + // InternalScope.g:8887:3: kw= 'static' + { + kw=(Token)match(input,111,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); + + } + + } + break; + case 4 : + // InternalScope.g:8893:3: kw= 'import' + { + kw=(Token)match(input,16,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); + + } + + } + break; + case 5 : + // InternalScope.g:8899:3: kw= 'extension' + { + kw=(Token)match(input,18,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFeatureCallID" + + + // $ANTLR start "entryRuleIdOrSuper" + // InternalScope.g:8908:1: entryRuleIdOrSuper returns [String current=null] : iv_ruleIdOrSuper= ruleIdOrSuper EOF ; + public final String entryRuleIdOrSuper() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleIdOrSuper = null; + + + try { + // InternalScope.g:8908:49: (iv_ruleIdOrSuper= ruleIdOrSuper EOF ) + // InternalScope.g:8909:2: iv_ruleIdOrSuper= ruleIdOrSuper EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getIdOrSuperRule()); + } + pushFollow(FOLLOW_1); + iv_ruleIdOrSuper=ruleIdOrSuper(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleIdOrSuper.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleIdOrSuper" + + + // $ANTLR start "ruleIdOrSuper" + // InternalScope.g:8915:1: ruleIdOrSuper returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) ; + public final AntlrDatatypeRuleToken ruleIdOrSuper() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + AntlrDatatypeRuleToken this_FeatureCallID_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:8921:2: ( (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) ) + // InternalScope.g:8922:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) + { + // InternalScope.g:8922:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) + int alt145=2; + int LA145_0 = input.LA(1); + + if ( (LA145_0==RULE_ID||LA145_0==16||LA145_0==18||(LA145_0>=110 && LA145_0<=111)) ) { + alt145=1; + } + else if ( (LA145_0==112) ) { + alt145=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 145, 0, input); + + throw nvae; + } + switch (alt145) { + case 1 : + // InternalScope.g:8923:3: this_FeatureCallID_0= ruleFeatureCallID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_FeatureCallID_0=ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_FeatureCallID_0); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalScope.g:8934:3: kw= 'super' + { + kw=(Token)match(input,112,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleIdOrSuper" + + + // $ANTLR start "entryRuleXConstructorCall" + // InternalScope.g:8943:1: entryRuleXConstructorCall returns [EObject current=null] : iv_ruleXConstructorCall= ruleXConstructorCall EOF ; + public final EObject entryRuleXConstructorCall() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXConstructorCall = null; + + + try { + // InternalScope.g:8943:57: (iv_ruleXConstructorCall= ruleXConstructorCall EOF ) + // InternalScope.g:8944:2: iv_ruleXConstructorCall= ruleXConstructorCall EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXConstructorCallRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXConstructorCall=ruleXConstructorCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXConstructorCall; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXConstructorCall" + + + // $ANTLR start "ruleXConstructorCall" + // InternalScope.g:8950:1: ruleXConstructorCall returns [EObject current=null] : ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) ; + public final EObject ruleXConstructorCall() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token lv_explicitConstructorCall_8_0=null; + Token otherlv_11=null; + Token otherlv_13=null; + EObject lv_typeArguments_4_0 = null; + + EObject lv_typeArguments_6_0 = null; + + EObject lv_arguments_9_0 = null; + + EObject lv_arguments_10_0 = null; + + EObject lv_arguments_12_0 = null; + + EObject lv_arguments_14_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:8956:2: ( ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) ) + // InternalScope.g:8957:2: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) + { + // InternalScope.g:8957:2: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) + // InternalScope.g:8958:3: () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? + { + // InternalScope.g:8958:3: () + // InternalScope.g:8959:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,83,FOLLOW_3); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); + + } + // InternalScope.g:8969:3: ( ( ruleQualifiedName ) ) + // InternalScope.g:8970:4: ( ruleQualifiedName ) + { + // InternalScope.g:8970:4: ( ruleQualifiedName ) + // InternalScope.g:8971:5: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXConstructorCallRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); + + } + pushFollow(FOLLOW_109); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:8985:3: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? + int alt147=2; + alt147 = dfa147.predict(input); + switch (alt147) { + case 1 : + // InternalScope.g:8986:4: ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' + { + // InternalScope.g:8986:4: ( ( '<' )=>otherlv_3= '<' ) + // InternalScope.g:8987:5: ( '<' )=>otherlv_3= '<' + { + otherlv_3=(Token)match(input,65,FOLLOW_82); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); + + } + + } + + // InternalScope.g:8993:4: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) + // InternalScope.g:8994:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) + { + // InternalScope.g:8994:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) + // InternalScope.g:8995:6: lv_typeArguments_4_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); + + } + pushFollow(FOLLOW_83); + lv_typeArguments_4_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:9012:4: (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* + loop146: + do { + int alt146=2; + int LA146_0 = input.LA(1); + + if ( (LA146_0==37) ) { + alt146=1; + } + + + switch (alt146) { + case 1 : + // InternalScope.g:9013:5: otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) + { + otherlv_5=(Token)match(input,37,FOLLOW_82); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); + + } + // InternalScope.g:9017:5: ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) + // InternalScope.g:9018:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) + { + // InternalScope.g:9018:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) + // InternalScope.g:9019:7: lv_typeArguments_6_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); + + } + pushFollow(FOLLOW_83); + lv_typeArguments_6_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "typeArguments", + lv_typeArguments_6_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop146; + } + } while (true); + + otherlv_7=(Token)match(input,64,FOLLOW_108); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); + + } + + } + break; + + } + + // InternalScope.g:9042:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? + int alt150=2; + alt150 = dfa150.predict(input); + switch (alt150) { + case 1 : + // InternalScope.g:9043:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' + { + // InternalScope.g:9043:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) + // InternalScope.g:9044:5: ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) + { + // InternalScope.g:9048:5: (lv_explicitConstructorCall_8_0= '(' ) + // InternalScope.g:9049:6: lv_explicitConstructorCall_8_0= '(' + { + lv_explicitConstructorCall_8_0=(Token)match(input,27,FOLLOW_85); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_explicitConstructorCall_8_0, grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXConstructorCallRule()); + } + setWithLastConsumed(current, "explicitConstructorCall", lv_explicitConstructorCall_8_0 != null, "("); + + } + + } + + + } + + // InternalScope.g:9061:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? + int alt149=3; + alt149 = dfa149.predict(input); + switch (alt149) { + case 1 : + // InternalScope.g:9062:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) + { + // InternalScope.g:9062:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) + // InternalScope.g:9063:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) + { + // InternalScope.g:9088:6: (lv_arguments_9_0= ruleXShortClosure ) + // InternalScope.g:9089:7: lv_arguments_9_0= ruleXShortClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); + + } + pushFollow(FOLLOW_20); + lv_arguments_9_0=ruleXShortClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "arguments", + lv_arguments_9_0, + "org.eclipse.xtext.xbase.Xbase.XShortClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + case 2 : + // InternalScope.g:9107:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) + { + // InternalScope.g:9107:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) + // InternalScope.g:9108:6: ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* + { + // InternalScope.g:9108:6: ( (lv_arguments_10_0= ruleXExpression ) ) + // InternalScope.g:9109:7: (lv_arguments_10_0= ruleXExpression ) + { + // InternalScope.g:9109:7: (lv_arguments_10_0= ruleXExpression ) + // InternalScope.g:9110:8: lv_arguments_10_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); + + } + pushFollow(FOLLOW_31); + lv_arguments_10_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "arguments", + lv_arguments_10_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:9127:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* + loop148: + do { + int alt148=2; + int LA148_0 = input.LA(1); + + if ( (LA148_0==37) ) { + alt148=1; + } + + + switch (alt148) { + case 1 : + // InternalScope.g:9128:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) + { + otherlv_11=(Token)match(input,37,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_11, grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); + + } + // InternalScope.g:9132:7: ( (lv_arguments_12_0= ruleXExpression ) ) + // InternalScope.g:9133:8: (lv_arguments_12_0= ruleXExpression ) + { + // InternalScope.g:9133:8: (lv_arguments_12_0= ruleXExpression ) + // InternalScope.g:9134:9: lv_arguments_12_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); + + } + pushFollow(FOLLOW_31); + lv_arguments_12_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "arguments", + lv_arguments_12_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop148; + } + } while (true); + + + } + + + } + break; + + } + + otherlv_13=(Token)match(input,28,FOLLOW_27); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_13, grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); + + } + + } + break; + + } + + // InternalScope.g:9159:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? + int alt151=2; + alt151 = dfa151.predict(input); + switch (alt151) { + case 1 : + // InternalScope.g:9160:4: ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) + { + // InternalScope.g:9166:4: (lv_arguments_14_0= ruleXClosure ) + // InternalScope.g:9167:5: lv_arguments_14_0= ruleXClosure + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); + + } + pushFollow(FOLLOW_2); + lv_arguments_14_0=ruleXClosure(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); + } + add( + current, + "arguments", + lv_arguments_14_0, + "org.eclipse.xtext.xbase.Xbase.XClosure"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXConstructorCall" + + + // $ANTLR start "entryRuleXBooleanLiteral" + // InternalScope.g:9188:1: entryRuleXBooleanLiteral returns [EObject current=null] : iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ; + public final EObject entryRuleXBooleanLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXBooleanLiteral = null; + + + try { + // InternalScope.g:9188:56: (iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ) + // InternalScope.g:9189:2: iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXBooleanLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXBooleanLiteral=ruleXBooleanLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXBooleanLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXBooleanLiteral" + + + // $ANTLR start "ruleXBooleanLiteral" + // InternalScope.g:9195:1: ruleXBooleanLiteral returns [EObject current=null] : ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ; + public final EObject ruleXBooleanLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token lv_isTrue_2_0=null; + + + enterRule(); + + try { + // InternalScope.g:9201:2: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ) + // InternalScope.g:9202:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) + { + // InternalScope.g:9202:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) + // InternalScope.g:9203:3: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) + { + // InternalScope.g:9203:3: () + // InternalScope.g:9204:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0(), + current); + + } + + } + + // InternalScope.g:9210:3: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) + int alt152=2; + int LA152_0 = input.LA(1); + + if ( (LA152_0==80) ) { + alt152=1; + } + else if ( (LA152_0==79) ) { + alt152=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 152, 0, input); + + throw nvae; + } + switch (alt152) { + case 1 : + // InternalScope.g:9211:4: otherlv_1= 'false' + { + otherlv_1=(Token)match(input,80,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); + + } + + } + break; + case 2 : + // InternalScope.g:9216:4: ( (lv_isTrue_2_0= 'true' ) ) + { + // InternalScope.g:9216:4: ( (lv_isTrue_2_0= 'true' ) ) + // InternalScope.g:9217:5: (lv_isTrue_2_0= 'true' ) + { + // InternalScope.g:9217:5: (lv_isTrue_2_0= 'true' ) + // InternalScope.g:9218:6: lv_isTrue_2_0= 'true' + { + lv_isTrue_2_0=(Token)match(input,79,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_isTrue_2_0, grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXBooleanLiteralRule()); + } + setWithLastConsumed(current, "isTrue", lv_isTrue_2_0 != null, "true"); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXBooleanLiteral" + + + // $ANTLR start "entryRuleXNullLiteral" + // InternalScope.g:9235:1: entryRuleXNullLiteral returns [EObject current=null] : iv_ruleXNullLiteral= ruleXNullLiteral EOF ; + public final EObject entryRuleXNullLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXNullLiteral = null; + + + try { + // InternalScope.g:9235:53: (iv_ruleXNullLiteral= ruleXNullLiteral EOF ) + // InternalScope.g:9236:2: iv_ruleXNullLiteral= ruleXNullLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXNullLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXNullLiteral=ruleXNullLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXNullLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXNullLiteral" + + + // $ANTLR start "ruleXNullLiteral" + // InternalScope.g:9242:1: ruleXNullLiteral returns [EObject current=null] : ( () otherlv_1= 'null' ) ; + public final EObject ruleXNullLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalScope.g:9248:2: ( ( () otherlv_1= 'null' ) ) + // InternalScope.g:9249:2: ( () otherlv_1= 'null' ) + { + // InternalScope.g:9249:2: ( () otherlv_1= 'null' ) + // InternalScope.g:9250:3: () otherlv_1= 'null' + { + // InternalScope.g:9250:3: () + // InternalScope.g:9251:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,81,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXNullLiteral" + + + // $ANTLR start "entryRuleXNumberLiteral" + // InternalScope.g:9265:1: entryRuleXNumberLiteral returns [EObject current=null] : iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ; + public final EObject entryRuleXNumberLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXNumberLiteral = null; + + + try { + // InternalScope.g:9265:55: (iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ) + // InternalScope.g:9266:2: iv_ruleXNumberLiteral= ruleXNumberLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXNumberLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXNumberLiteral=ruleXNumberLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXNumberLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXNumberLiteral" + + + // $ANTLR start "ruleXNumberLiteral" + // InternalScope.g:9272:1: ruleXNumberLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= ruleNumber ) ) ) ; + public final EObject ruleXNumberLiteral() throws RecognitionException { + EObject current = null; + + AntlrDatatypeRuleToken lv_value_1_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:9278:2: ( ( () ( (lv_value_1_0= ruleNumber ) ) ) ) + // InternalScope.g:9279:2: ( () ( (lv_value_1_0= ruleNumber ) ) ) + { + // InternalScope.g:9279:2: ( () ( (lv_value_1_0= ruleNumber ) ) ) + // InternalScope.g:9280:3: () ( (lv_value_1_0= ruleNumber ) ) + { + // InternalScope.g:9280:3: () + // InternalScope.g:9281:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0(), + current); + + } + + } + + // InternalScope.g:9287:3: ( (lv_value_1_0= ruleNumber ) ) + // InternalScope.g:9288:4: (lv_value_1_0= ruleNumber ) + { + // InternalScope.g:9288:4: (lv_value_1_0= ruleNumber ) + // InternalScope.g:9289:5: lv_value_1_0= ruleNumber + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_value_1_0=ruleNumber(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXNumberLiteralRule()); + } + set( + current, + "value", + lv_value_1_0, + "org.eclipse.xtext.xbase.Xbase.Number"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXNumberLiteral" + + + // $ANTLR start "entryRuleXStringLiteral" + // InternalScope.g:9310:1: entryRuleXStringLiteral returns [EObject current=null] : iv_ruleXStringLiteral= ruleXStringLiteral EOF ; + public final EObject entryRuleXStringLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXStringLiteral = null; + + + try { + // InternalScope.g:9310:55: (iv_ruleXStringLiteral= ruleXStringLiteral EOF ) + // InternalScope.g:9311:2: iv_ruleXStringLiteral= ruleXStringLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXStringLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXStringLiteral=ruleXStringLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXStringLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXStringLiteral" + + + // $ANTLR start "ruleXStringLiteral" + // InternalScope.g:9317:1: ruleXStringLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_STRING ) ) ) ; + public final EObject ruleXStringLiteral() throws RecognitionException { + EObject current = null; + + Token lv_value_1_0=null; + + + enterRule(); + + try { + // InternalScope.g:9323:2: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) ) + // InternalScope.g:9324:2: ( () ( (lv_value_1_0= RULE_STRING ) ) ) + { + // InternalScope.g:9324:2: ( () ( (lv_value_1_0= RULE_STRING ) ) ) + // InternalScope.g:9325:3: () ( (lv_value_1_0= RULE_STRING ) ) + { + // InternalScope.g:9325:3: () + // InternalScope.g:9326:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0(), + current); + + } + + } + + // InternalScope.g:9332:3: ( (lv_value_1_0= RULE_STRING ) ) + // InternalScope.g:9333:4: (lv_value_1_0= RULE_STRING ) + { + // InternalScope.g:9333:4: (lv_value_1_0= RULE_STRING ) + // InternalScope.g:9334:5: lv_value_1_0= RULE_STRING + { + lv_value_1_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_value_1_0, grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXStringLiteralRule()); + } + setWithLastConsumed( + current, + "value", + lv_value_1_0, + "org.eclipse.xtext.xbase.Xtype.STRING"); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXStringLiteral" + + + // $ANTLR start "entryRuleXTypeLiteral" + // InternalScope.g:9354:1: entryRuleXTypeLiteral returns [EObject current=null] : iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ; + public final EObject entryRuleXTypeLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXTypeLiteral = null; + + + try { + // InternalScope.g:9354:53: (iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ) + // InternalScope.g:9355:2: iv_ruleXTypeLiteral= ruleXTypeLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXTypeLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXTypeLiteral=ruleXTypeLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXTypeLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXTypeLiteral" + + + // $ANTLR start "ruleXTypeLiteral" + // InternalScope.g:9361:1: ruleXTypeLiteral returns [EObject current=null] : ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) ; + public final EObject ruleXTypeLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_5=null; + AntlrDatatypeRuleToken lv_arrayDimensions_4_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:9367:2: ( ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) ) + // InternalScope.g:9368:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) + { + // InternalScope.g:9368:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) + // InternalScope.g:9369:3: () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' + { + // InternalScope.g:9369:3: () + // InternalScope.g:9370:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,113,FOLLOW_29); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); + + } + otherlv_2=(Token)match(input,27,FOLLOW_3); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); + + } + // InternalScope.g:9384:3: ( ( ruleQualifiedName ) ) + // InternalScope.g:9385:4: ( ruleQualifiedName ) + { + // InternalScope.g:9385:4: ( ruleQualifiedName ) + // InternalScope.g:9386:5: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXTypeLiteralRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); + + } + pushFollow(FOLLOW_110); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:9400:3: ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* + loop153: + do { + int alt153=2; + int LA153_0 = input.LA(1); + + if ( (LA153_0==33) ) { + alt153=1; + } + + + switch (alt153) { + case 1 : + // InternalScope.g:9401:4: (lv_arrayDimensions_4_0= ruleArrayBrackets ) + { + // InternalScope.g:9401:4: (lv_arrayDimensions_4_0= ruleArrayBrackets ) + // InternalScope.g:9402:5: lv_arrayDimensions_4_0= ruleArrayBrackets + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); + + } + pushFollow(FOLLOW_110); + lv_arrayDimensions_4_0=ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXTypeLiteralRule()); + } + add( + current, + "arrayDimensions", + lv_arrayDimensions_4_0, + "org.eclipse.xtext.xbase.Xtype.ArrayBrackets"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop153; + } + } while (true); + + otherlv_5=(Token)match(input,28,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXTypeLiteral" + + + // $ANTLR start "entryRuleXThrowExpression" + // InternalScope.g:9427:1: entryRuleXThrowExpression returns [EObject current=null] : iv_ruleXThrowExpression= ruleXThrowExpression EOF ; + public final EObject entryRuleXThrowExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXThrowExpression = null; + + + try { + // InternalScope.g:9427:57: (iv_ruleXThrowExpression= ruleXThrowExpression EOF ) + // InternalScope.g:9428:2: iv_ruleXThrowExpression= ruleXThrowExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXThrowExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXThrowExpression=ruleXThrowExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXThrowExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXThrowExpression" + + + // $ANTLR start "ruleXThrowExpression" + // InternalScope.g:9434:1: ruleXThrowExpression returns [EObject current=null] : ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) ; + public final EObject ruleXThrowExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_expression_2_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:9440:2: ( ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) ) + // InternalScope.g:9441:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) + { + // InternalScope.g:9441:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) + // InternalScope.g:9442:3: () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) + { + // InternalScope.g:9442:3: () + // InternalScope.g:9443:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,114,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); + + } + // InternalScope.g:9453:3: ( (lv_expression_2_0= ruleXExpression ) ) + // InternalScope.g:9454:4: (lv_expression_2_0= ruleXExpression ) + { + // InternalScope.g:9454:4: (lv_expression_2_0= ruleXExpression ) + // InternalScope.g:9455:5: lv_expression_2_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_2); + lv_expression_2_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXThrowExpressionRule()); + } + set( + current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXThrowExpression" + + + // $ANTLR start "entryRuleXReturnExpression" + // InternalScope.g:9476:1: entryRuleXReturnExpression returns [EObject current=null] : iv_ruleXReturnExpression= ruleXReturnExpression EOF ; + public final EObject entryRuleXReturnExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXReturnExpression = null; + + + try { + // InternalScope.g:9476:58: (iv_ruleXReturnExpression= ruleXReturnExpression EOF ) + // InternalScope.g:9477:2: iv_ruleXReturnExpression= ruleXReturnExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXReturnExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXReturnExpression=ruleXReturnExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXReturnExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXReturnExpression" + + + // $ANTLR start "ruleXReturnExpression" + // InternalScope.g:9483:1: ruleXReturnExpression returns [EObject current=null] : ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) ; + public final EObject ruleXReturnExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_expression_2_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:9489:2: ( ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) ) + // InternalScope.g:9490:2: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) + { + // InternalScope.g:9490:2: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) + // InternalScope.g:9491:3: () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? + { + // InternalScope.g:9491:3: () + // InternalScope.g:9492:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,115,FOLLOW_111); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); + + } + // InternalScope.g:9502:3: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? + int alt154=2; + alt154 = dfa154.predict(input); + switch (alt154) { + case 1 : + // InternalScope.g:9503:4: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) + { + // InternalScope.g:9504:4: (lv_expression_2_0= ruleXExpression ) + // InternalScope.g:9505:5: lv_expression_2_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_2); + lv_expression_2_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXReturnExpressionRule()); + } + set( + current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXReturnExpression" + + + // $ANTLR start "entryRuleXTryCatchFinallyExpression" + // InternalScope.g:9526:1: entryRuleXTryCatchFinallyExpression returns [EObject current=null] : iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ; + public final EObject entryRuleXTryCatchFinallyExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXTryCatchFinallyExpression = null; + + + try { + // InternalScope.g:9526:67: (iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ) + // InternalScope.g:9527:2: iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXTryCatchFinallyExpression=ruleXTryCatchFinallyExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXTryCatchFinallyExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXTryCatchFinallyExpression" + + + // $ANTLR start "ruleXTryCatchFinallyExpression" + // InternalScope.g:9533:1: ruleXTryCatchFinallyExpression returns [EObject current=null] : ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) ; + public final EObject ruleXTryCatchFinallyExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_expression_2_0 = null; + + EObject lv_catchClauses_3_0 = null; + + EObject lv_finallyExpression_5_0 = null; + + EObject lv_finallyExpression_7_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:9539:2: ( ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) ) + // InternalScope.g:9540:2: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) + { + // InternalScope.g:9540:2: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) + // InternalScope.g:9541:3: () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) + { + // InternalScope.g:9541:3: () + // InternalScope.g:9542:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,116,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); + + } + // InternalScope.g:9552:3: ( (lv_expression_2_0= ruleXExpression ) ) + // InternalScope.g:9553:4: (lv_expression_2_0= ruleXExpression ) + { + // InternalScope.g:9553:4: (lv_expression_2_0= ruleXExpression ) + // InternalScope.g:9554:5: lv_expression_2_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_112); + lv_expression_2_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + current, + "expression", + lv_expression_2_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:9571:3: ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) + int alt157=2; + int LA157_0 = input.LA(1); + + if ( (LA157_0==119) ) { + alt157=1; + } + else if ( (LA157_0==117) ) { + alt157=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 157, 0, input); + + throw nvae; + } + switch (alt157) { + case 1 : + // InternalScope.g:9572:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) + { + // InternalScope.g:9572:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) + // InternalScope.g:9573:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? + { + // InternalScope.g:9573:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ + int cnt155=0; + loop155: + do { + int alt155=2; + int LA155_0 = input.LA(1); + + if ( (LA155_0==119) ) { + int LA155_2 = input.LA(2); + + if ( (synpred41_InternalScope()) ) { + alt155=1; + } + + + } + + + switch (alt155) { + case 1 : + // InternalScope.g:9574:6: ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) + { + // InternalScope.g:9575:6: (lv_catchClauses_3_0= ruleXCatchClause ) + // InternalScope.g:9576:7: lv_catchClauses_3_0= ruleXCatchClause + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); + + } + pushFollow(FOLLOW_113); + lv_catchClauses_3_0=ruleXCatchClause(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + add( + current, + "catchClauses", + lv_catchClauses_3_0, + "org.eclipse.xtext.xbase.Xbase.XCatchClause"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + if ( cnt155 >= 1 ) break loop155; + if (state.backtracking>0) {state.failed=true; return current;} + EarlyExitException eee = + new EarlyExitException(155, input); + throw eee; + } + cnt155++; + } while (true); + + // InternalScope.g:9593:5: ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? + int alt156=2; + int LA156_0 = input.LA(1); + + if ( (LA156_0==117) ) { + int LA156_1 = input.LA(2); + + if ( (synpred42_InternalScope()) ) { + alt156=1; + } + } + switch (alt156) { + case 1 : + // InternalScope.g:9594:6: ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) + { + // InternalScope.g:9594:6: ( ( 'finally' )=>otherlv_4= 'finally' ) + // InternalScope.g:9595:7: ( 'finally' )=>otherlv_4= 'finally' + { + otherlv_4=(Token)match(input,117,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); + + } + + } + + // InternalScope.g:9601:6: ( (lv_finallyExpression_5_0= ruleXExpression ) ) + // InternalScope.g:9602:7: (lv_finallyExpression_5_0= ruleXExpression ) + { + // InternalScope.g:9602:7: (lv_finallyExpression_5_0= ruleXExpression ) + // InternalScope.g:9603:8: lv_finallyExpression_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); + + } + pushFollow(FOLLOW_2); + lv_finallyExpression_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + current, + "finallyExpression", + lv_finallyExpression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + break; + case 2 : + // InternalScope.g:9623:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) + { + // InternalScope.g:9623:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) + // InternalScope.g:9624:5: otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) + { + otherlv_6=(Token)match(input,117,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); + + } + // InternalScope.g:9628:5: ( (lv_finallyExpression_7_0= ruleXExpression ) ) + // InternalScope.g:9629:6: (lv_finallyExpression_7_0= ruleXExpression ) + { + // InternalScope.g:9629:6: (lv_finallyExpression_7_0= ruleXExpression ) + // InternalScope.g:9630:7: lv_finallyExpression_7_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); + + } + pushFollow(FOLLOW_2); + lv_finallyExpression_7_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); + } + set( + current, + "finallyExpression", + lv_finallyExpression_7_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXTryCatchFinallyExpression" + + + // $ANTLR start "entryRuleXSynchronizedExpression" + // InternalScope.g:9653:1: entryRuleXSynchronizedExpression returns [EObject current=null] : iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ; + public final EObject entryRuleXSynchronizedExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXSynchronizedExpression = null; + + + try { + // InternalScope.g:9653:64: (iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ) + // InternalScope.g:9654:2: iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXSynchronizedExpressionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXSynchronizedExpression=ruleXSynchronizedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXSynchronizedExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXSynchronizedExpression" + + + // $ANTLR start "ruleXSynchronizedExpression" + // InternalScope.g:9660:1: ruleXSynchronizedExpression returns [EObject current=null] : ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) ; + public final EObject ruleXSynchronizedExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + EObject lv_param_3_0 = null; + + EObject lv_expression_5_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:9666:2: ( ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) ) + // InternalScope.g:9667:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) + { + // InternalScope.g:9667:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) + // InternalScope.g:9668:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) + { + // InternalScope.g:9668:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) + // InternalScope.g:9669:4: ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) + { + // InternalScope.g:9676:4: ( () otherlv_1= 'synchronized' otherlv_2= '(' ) + // InternalScope.g:9677:5: () otherlv_1= 'synchronized' otherlv_2= '(' + { + // InternalScope.g:9677:5: () + // InternalScope.g:9678:6: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,118,FOLLOW_29); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); + + } + otherlv_2=(Token)match(input,27,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); + + } + + } + + + } + + // InternalScope.g:9694:3: ( (lv_param_3_0= ruleXExpression ) ) + // InternalScope.g:9695:4: (lv_param_3_0= ruleXExpression ) + { + // InternalScope.g:9695:4: (lv_param_3_0= ruleXExpression ) + // InternalScope.g:9696:5: lv_param_3_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_20); + lv_param_3_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule()); + } + set( + current, + "param", + lv_param_3_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,28,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); + + } + // InternalScope.g:9717:3: ( (lv_expression_5_0= ruleXExpression ) ) + // InternalScope.g:9718:4: (lv_expression_5_0= ruleXExpression ) + { + // InternalScope.g:9718:4: (lv_expression_5_0= ruleXExpression ) + // InternalScope.g:9719:5: lv_expression_5_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_2); + lv_expression_5_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule()); + } + set( + current, + "expression", + lv_expression_5_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXSynchronizedExpression" + + + // $ANTLR start "entryRuleXCatchClause" + // InternalScope.g:9740:1: entryRuleXCatchClause returns [EObject current=null] : iv_ruleXCatchClause= ruleXCatchClause EOF ; + public final EObject entryRuleXCatchClause() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXCatchClause = null; + + + try { + // InternalScope.g:9740:53: (iv_ruleXCatchClause= ruleXCatchClause EOF ) + // InternalScope.g:9741:2: iv_ruleXCatchClause= ruleXCatchClause EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXCatchClauseRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXCatchClause=ruleXCatchClause(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXCatchClause; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXCatchClause" + + + // $ANTLR start "ruleXCatchClause" + // InternalScope.g:9747:1: ruleXCatchClause returns [EObject current=null] : ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) ; + public final EObject ruleXCatchClause() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_3=null; + EObject lv_declaredParam_2_0 = null; + + EObject lv_expression_4_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:9753:2: ( ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) ) + // InternalScope.g:9754:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) + { + // InternalScope.g:9754:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) + // InternalScope.g:9755:3: ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) + { + // InternalScope.g:9755:3: ( ( 'catch' )=>otherlv_0= 'catch' ) + // InternalScope.g:9756:4: ( 'catch' )=>otherlv_0= 'catch' + { + otherlv_0=(Token)match(input,119,FOLLOW_29); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); + + } + + } + + otherlv_1=(Token)match(input,27,FOLLOW_72); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); + + } + // InternalScope.g:9766:3: ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) + // InternalScope.g:9767:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) + { + // InternalScope.g:9767:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) + // InternalScope.g:9768:5: lv_declaredParam_2_0= ruleFullJvmFormalParameter + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_20); + lv_declaredParam_2_0=ruleFullJvmFormalParameter(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCatchClauseRule()); + } + set( + current, + "declaredParam", + lv_declaredParam_2_0, + "org.eclipse.xtext.xbase.Xbase.FullJvmFormalParameter"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_3=(Token)match(input,28,FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); + + } + // InternalScope.g:9789:3: ( (lv_expression_4_0= ruleXExpression ) ) + // InternalScope.g:9790:4: (lv_expression_4_0= ruleXExpression ) + { + // InternalScope.g:9790:4: (lv_expression_4_0= ruleXExpression ) + // InternalScope.g:9791:5: lv_expression_4_0= ruleXExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); + + } + pushFollow(FOLLOW_2); + lv_expression_4_0=ruleXExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXCatchClauseRule()); + } + set( + current, + "expression", + lv_expression_4_0, + "org.eclipse.xtext.xbase.Xbase.XExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXCatchClause" + + + // $ANTLR start "entryRuleQualifiedName" + // InternalScope.g:9812:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; + public final String entryRuleQualifiedName() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleQualifiedName = null; + + + try { + // InternalScope.g:9812:53: (iv_ruleQualifiedName= ruleQualifiedName EOF ) + // InternalScope.g:9813:2: iv_ruleQualifiedName= ruleQualifiedName EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getQualifiedNameRule()); + } + pushFollow(FOLLOW_1); + iv_ruleQualifiedName=ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleQualifiedName.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleQualifiedName" + + + // $ANTLR start "ruleQualifiedName" + // InternalScope.g:9819:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) ; + public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + AntlrDatatypeRuleToken this_ValidID_0 = null; + + AntlrDatatypeRuleToken this_ValidID_2 = null; + + + + enterRule(); + + try { + // InternalScope.g:9825:2: ( (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) ) + // InternalScope.g:9826:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) + { + // InternalScope.g:9826:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) + // InternalScope.g:9827:3: this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); + + } + pushFollow(FOLLOW_42); + this_ValidID_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_ValidID_0); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + // InternalScope.g:9837:3: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* + loop158: + do { + int alt158=2; + int LA158_0 = input.LA(1); + + if ( (LA158_0==47) ) { + int LA158_2 = input.LA(2); + + if ( (LA158_2==RULE_ID) ) { + int LA158_3 = input.LA(3); + + if ( (synpred45_InternalScope()) ) { + alt158=1; + } + + + } + + + } + + + switch (alt158) { + case 1 : + // InternalScope.g:9838:4: ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID + { + // InternalScope.g:9838:4: ( ( '.' )=>kw= '.' ) + // InternalScope.g:9839:5: ( '.' )=>kw= '.' + { + kw=(Token)match(input,47,FOLLOW_3); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); + + } + + } + + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); + + } + pushFollow(FOLLOW_42); + this_ValidID_2=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_ValidID_2); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + break; + + default : + break loop158; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleQualifiedName" + + + // $ANTLR start "entryRuleNumber" + // InternalScope.g:9861:1: entryRuleNumber returns [String current=null] : iv_ruleNumber= ruleNumber EOF ; + public final String entryRuleNumber() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleNumber = null; + + + + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); + + try { + // InternalScope.g:9863:2: (iv_ruleNumber= ruleNumber EOF ) + // InternalScope.g:9864:2: iv_ruleNumber= ruleNumber EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getNumberRule()); + } + pushFollow(FOLLOW_1); + iv_ruleNumber=ruleNumber(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleNumber.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + + myHiddenTokenState.restore(); + + } + return current; + } + // $ANTLR end "entryRuleNumber" + + + // $ANTLR start "ruleNumber" + // InternalScope.g:9873:1: ruleNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) ; + public final AntlrDatatypeRuleToken ruleNumber() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token this_HEX_0=null; + Token this_INT_1=null; + Token this_DECIMAL_2=null; + Token kw=null; + Token this_INT_4=null; + Token this_DECIMAL_5=null; + + + enterRule(); + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); + + try { + // InternalScope.g:9880:2: ( (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) ) + // InternalScope.g:9881:2: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) + { + // InternalScope.g:9881:2: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) + int alt162=2; + int LA162_0 = input.LA(1); + + if ( (LA162_0==RULE_HEX) ) { + alt162=1; + } + else if ( (LA162_0==RULE_INT||LA162_0==RULE_DECIMAL) ) { + alt162=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 162, 0, input); + + throw nvae; + } + switch (alt162) { + case 1 : + // InternalScope.g:9882:3: this_HEX_0= RULE_HEX + { + this_HEX_0=(Token)match(input,RULE_HEX,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_HEX_0); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_HEX_0, grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); + + } + + } + break; + case 2 : + // InternalScope.g:9890:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) + { + // InternalScope.g:9890:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) + // InternalScope.g:9891:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? + { + // InternalScope.g:9891:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) + int alt159=2; + int LA159_0 = input.LA(1); + + if ( (LA159_0==RULE_INT) ) { + alt159=1; + } + else if ( (LA159_0==RULE_DECIMAL) ) { + alt159=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 159, 0, input); + + throw nvae; + } + switch (alt159) { + case 1 : + // InternalScope.g:9892:5: this_INT_1= RULE_INT + { + this_INT_1=(Token)match(input,RULE_INT,FOLLOW_42); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_INT_1); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_INT_1, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); + + } + + } + break; + case 2 : + // InternalScope.g:9900:5: this_DECIMAL_2= RULE_DECIMAL + { + this_DECIMAL_2=(Token)match(input,RULE_DECIMAL,FOLLOW_42); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_DECIMAL_2); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_DECIMAL_2, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); + + } + + } + break; + + } + + // InternalScope.g:9908:4: (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? + int alt161=2; + int LA161_0 = input.LA(1); + + if ( (LA161_0==47) ) { + int LA161_1 = input.LA(2); + + if ( (LA161_1==RULE_INT||LA161_1==RULE_DECIMAL) ) { + alt161=1; + } + } + switch (alt161) { + case 1 : + // InternalScope.g:9909:5: kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) + { + kw=(Token)match(input,47,FOLLOW_114); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); + + } + // InternalScope.g:9914:5: (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) + int alt160=2; + int LA160_0 = input.LA(1); + + if ( (LA160_0==RULE_INT) ) { + alt160=1; + } + else if ( (LA160_0==RULE_DECIMAL) ) { + alt160=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 160, 0, input); + + throw nvae; + } + switch (alt160) { + case 1 : + // InternalScope.g:9915:6: this_INT_4= RULE_INT + { + this_INT_4=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_INT_4); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_INT_4, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); + + } + + } + break; + case 2 : + // InternalScope.g:9923:6: this_DECIMAL_5= RULE_DECIMAL + { + this_DECIMAL_5=(Token)match(input,RULE_DECIMAL,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_DECIMAL_5); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_DECIMAL_5, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); + + } + + } + break; + + } + + + } + break; + + } + + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + + myHiddenTokenState.restore(); + + } + return current; + } + // $ANTLR end "ruleNumber" + + + // $ANTLR start "entryRuleJvmTypeReference" + // InternalScope.g:9940:1: entryRuleJvmTypeReference returns [EObject current=null] : iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ; + public final EObject entryRuleJvmTypeReference() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmTypeReference = null; + + + try { + // InternalScope.g:9940:57: (iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ) + // InternalScope.g:9941:2: iv_ruleJvmTypeReference= ruleJvmTypeReference EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmTypeReference=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmTypeReference; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmTypeReference" + + + // $ANTLR start "ruleJvmTypeReference" + // InternalScope.g:9947:1: ruleJvmTypeReference returns [EObject current=null] : ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) ; + public final EObject ruleJvmTypeReference() throws RecognitionException { + EObject current = null; + + EObject this_JvmParameterizedTypeReference_0 = null; + + EObject this_XFunctionTypeRef_3 = null; + + + + enterRule(); + + try { + // InternalScope.g:9953:2: ( ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) ) + // InternalScope.g:9954:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) + { + // InternalScope.g:9954:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) + int alt164=2; + int LA164_0 = input.LA(1); + + if ( (LA164_0==RULE_ID) ) { + alt164=1; + } + else if ( (LA164_0==27||LA164_0==97) ) { + alt164=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 164, 0, input); + + throw nvae; + } + switch (alt164) { + case 1 : + // InternalScope.g:9955:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) + { + // InternalScope.g:9955:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) + // InternalScope.g:9956:4: this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); + + } + pushFollow(FOLLOW_27); + this_JvmParameterizedTypeReference_0=ruleJvmParameterizedTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_JvmParameterizedTypeReference_0; + afterParserOrEnumRuleCall(); + + } + // InternalScope.g:9964:4: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* + loop163: + do { + int alt163=2; + int LA163_0 = input.LA(1); + + if ( (LA163_0==33) ) { + int LA163_2 = input.LA(2); + + if ( (LA163_2==34) ) { + int LA163_3 = input.LA(3); + + if ( (synpred46_InternalScope()) ) { + alt163=1; + } + + + } + + + } + + + switch (alt163) { + case 1 : + // InternalScope.g:9965:5: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) + { + // InternalScope.g:9971:5: ( () ruleArrayBrackets ) + // InternalScope.g:9972:6: () ruleArrayBrackets + { + // InternalScope.g:9972:6: () + // InternalScope.g:9973:7: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0(), + current); + + } + + } + + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); + + } + pushFollow(FOLLOW_27); + ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop163; + } + } while (true); + + + } + + + } + break; + case 2 : + // InternalScope.g:9990:3: this_XFunctionTypeRef_3= ruleXFunctionTypeRef + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_XFunctionTypeRef_3=ruleXFunctionTypeRef(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_XFunctionTypeRef_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmTypeReference" + + + // $ANTLR start "entryRuleArrayBrackets" + // InternalScope.g:10002:1: entryRuleArrayBrackets returns [String current=null] : iv_ruleArrayBrackets= ruleArrayBrackets EOF ; + public final String entryRuleArrayBrackets() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleArrayBrackets = null; + + + try { + // InternalScope.g:10002:53: (iv_ruleArrayBrackets= ruleArrayBrackets EOF ) + // InternalScope.g:10003:2: iv_ruleArrayBrackets= ruleArrayBrackets EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getArrayBracketsRule()); + } + pushFollow(FOLLOW_1); + iv_ruleArrayBrackets=ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleArrayBrackets.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleArrayBrackets" + + + // $ANTLR start "ruleArrayBrackets" + // InternalScope.g:10009:1: ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '[' kw= ']' ) ; + public final AntlrDatatypeRuleToken ruleArrayBrackets() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + + enterRule(); + + try { + // InternalScope.g:10015:2: ( (kw= '[' kw= ']' ) ) + // InternalScope.g:10016:2: (kw= '[' kw= ']' ) + { + // InternalScope.g:10016:2: (kw= '[' kw= ']' ) + // InternalScope.g:10017:3: kw= '[' kw= ']' + { + kw=(Token)match(input,33,FOLLOW_28); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); + + } + kw=(Token)match(input,34,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleArrayBrackets" + + + // $ANTLR start "entryRuleXFunctionTypeRef" + // InternalScope.g:10031:1: entryRuleXFunctionTypeRef returns [EObject current=null] : iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ; + public final EObject entryRuleXFunctionTypeRef() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXFunctionTypeRef = null; + + + try { + // InternalScope.g:10031:57: (iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ) + // InternalScope.g:10032:2: iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXFunctionTypeRefRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXFunctionTypeRef=ruleXFunctionTypeRef(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXFunctionTypeRef; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXFunctionTypeRef" + + + // $ANTLR start "ruleXFunctionTypeRef" + // InternalScope.g:10038:1: ruleXFunctionTypeRef returns [EObject current=null] : ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ; + public final EObject ruleXFunctionTypeRef() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_5=null; + EObject lv_paramTypes_1_0 = null; + + EObject lv_paramTypes_3_0 = null; + + EObject lv_returnType_6_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:10044:2: ( ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ) + // InternalScope.g:10045:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) + { + // InternalScope.g:10045:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) + // InternalScope.g:10046:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) + { + // InternalScope.g:10046:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? + int alt167=2; + int LA167_0 = input.LA(1); + + if ( (LA167_0==27) ) { + alt167=1; + } + switch (alt167) { + case 1 : + // InternalScope.g:10047:4: otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' + { + otherlv_0=(Token)match(input,27,FOLLOW_115); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); + + } + // InternalScope.g:10051:4: ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? + int alt166=2; + int LA166_0 = input.LA(1); + + if ( (LA166_0==RULE_ID||LA166_0==27||LA166_0==97) ) { + alt166=1; + } + switch (alt166) { + case 1 : + // InternalScope.g:10052:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* + { + // InternalScope.g:10052:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) + // InternalScope.g:10053:6: (lv_paramTypes_1_0= ruleJvmTypeReference ) + { + // InternalScope.g:10053:6: (lv_paramTypes_1_0= ruleJvmTypeReference ) + // InternalScope.g:10054:7: lv_paramTypes_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); + + } + pushFollow(FOLLOW_31); + lv_paramTypes_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + add( + current, + "paramTypes", + lv_paramTypes_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:10071:5: (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* + loop165: + do { + int alt165=2; + int LA165_0 = input.LA(1); + + if ( (LA165_0==37) ) { + alt165=1; + } + + + switch (alt165) { + case 1 : + // InternalScope.g:10072:6: otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) + { + otherlv_2=(Token)match(input,37,FOLLOW_72); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); + + } + // InternalScope.g:10076:6: ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) + // InternalScope.g:10077:7: (lv_paramTypes_3_0= ruleJvmTypeReference ) + { + // InternalScope.g:10077:7: (lv_paramTypes_3_0= ruleJvmTypeReference ) + // InternalScope.g:10078:8: lv_paramTypes_3_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); + + } + pushFollow(FOLLOW_31); + lv_paramTypes_3_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + add( + current, + "paramTypes", + lv_paramTypes_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop165; + } + } while (true); + + + } + break; + + } + + otherlv_4=(Token)match(input,28,FOLLOW_116); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); + + } + + } + break; + + } + + otherlv_5=(Token)match(input,97,FOLLOW_72); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); + + } + // InternalScope.g:10106:3: ( (lv_returnType_6_0= ruleJvmTypeReference ) ) + // InternalScope.g:10107:4: (lv_returnType_6_0= ruleJvmTypeReference ) + { + // InternalScope.g:10107:4: (lv_returnType_6_0= ruleJvmTypeReference ) + // InternalScope.g:10108:5: lv_returnType_6_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_2); + lv_returnType_6_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); + } + set( + current, + "returnType", + lv_returnType_6_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXFunctionTypeRef" + + + // $ANTLR start "entryRuleJvmParameterizedTypeReference" + // InternalScope.g:10129:1: entryRuleJvmParameterizedTypeReference returns [EObject current=null] : iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ; + public final EObject entryRuleJvmParameterizedTypeReference() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmParameterizedTypeReference = null; + + + try { + // InternalScope.g:10129:70: (iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ) + // InternalScope.g:10130:2: iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmParameterizedTypeReference=ruleJvmParameterizedTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmParameterizedTypeReference; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmParameterizedTypeReference" + + + // $ANTLR start "ruleJvmParameterizedTypeReference" + // InternalScope.g:10136:1: ruleJvmParameterizedTypeReference returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) ; + public final EObject ruleJvmParameterizedTypeReference() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_11=null; + Token otherlv_13=null; + EObject lv_arguments_2_0 = null; + + EObject lv_arguments_4_0 = null; + + EObject lv_arguments_10_0 = null; + + EObject lv_arguments_12_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:10142:2: ( ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) ) + // InternalScope.g:10143:2: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) + { + // InternalScope.g:10143:2: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) + // InternalScope.g:10144:3: ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? + { + // InternalScope.g:10144:3: ( ( ruleQualifiedName ) ) + // InternalScope.g:10145:4: ( ruleQualifiedName ) + { + // InternalScope.g:10145:4: ( ruleQualifiedName ) + // InternalScope.g:10146:5: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); + + } + pushFollow(FOLLOW_117); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:10160:3: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? + int alt172=2; + alt172 = dfa172.predict(input); + switch (alt172) { + case 1 : + // InternalScope.g:10161:4: ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* + { + // InternalScope.g:10161:4: ( ( '<' )=>otherlv_1= '<' ) + // InternalScope.g:10162:5: ( '<' )=>otherlv_1= '<' + { + otherlv_1=(Token)match(input,65,FOLLOW_82); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); + + } + + } + + // InternalScope.g:10168:4: ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) + // InternalScope.g:10169:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference ) + { + // InternalScope.g:10169:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference ) + // InternalScope.g:10170:6: lv_arguments_2_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_83); + lv_arguments_2_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + current, + "arguments", + lv_arguments_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:10187:4: (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* + loop168: + do { + int alt168=2; + int LA168_0 = input.LA(1); + + if ( (LA168_0==37) ) { + alt168=1; + } + + + switch (alt168) { + case 1 : + // InternalScope.g:10188:5: otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) + { + otherlv_3=(Token)match(input,37,FOLLOW_82); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); + + } + // InternalScope.g:10192:5: ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) + // InternalScope.g:10193:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference ) + { + // InternalScope.g:10193:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference ) + // InternalScope.g:10194:7: lv_arguments_4_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); + + } + pushFollow(FOLLOW_83); + lv_arguments_4_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + current, + "arguments", + lv_arguments_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop168; + } + } while (true); + + otherlv_5=(Token)match(input,64,FOLLOW_42); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); + + } + // InternalScope.g:10216:4: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* + loop171: + do { + int alt171=2; + int LA171_0 = input.LA(1); + + if ( (LA171_0==47) ) { + int LA171_2 = input.LA(2); + + if ( (LA171_2==RULE_ID) ) { + int LA171_3 = input.LA(3); + + if ( (synpred48_InternalScope()) ) { + alt171=1; + } + + + } + + + } + + + switch (alt171) { + case 1 : + // InternalScope.g:10217:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? + { + // InternalScope.g:10217:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) + // InternalScope.g:10218:6: ( ( () '.' ) )=> ( () otherlv_7= '.' ) + { + // InternalScope.g:10224:6: ( () otherlv_7= '.' ) + // InternalScope.g:10225:7: () otherlv_7= '.' + { + // InternalScope.g:10225:7: () + // InternalScope.g:10226:8: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0(), + current); + + } + + } + + otherlv_7=(Token)match(input,47,FOLLOW_3); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); + + } + + } + + + } + + // InternalScope.g:10238:5: ( ( ruleValidID ) ) + // InternalScope.g:10239:6: ( ruleValidID ) + { + // InternalScope.g:10239:6: ( ruleValidID ) + // InternalScope.g:10240:7: ruleValidID + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); + + } + pushFollow(FOLLOW_118); + ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:10254:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? + int alt170=2; + alt170 = dfa170.predict(input); + switch (alt170) { + case 1 : + // InternalScope.g:10255:6: ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' + { + // InternalScope.g:10255:6: ( ( '<' )=>otherlv_9= '<' ) + // InternalScope.g:10256:7: ( '<' )=>otherlv_9= '<' + { + otherlv_9=(Token)match(input,65,FOLLOW_82); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_9, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); + + } + + } + + // InternalScope.g:10262:6: ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) + // InternalScope.g:10263:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference ) + { + // InternalScope.g:10263:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference ) + // InternalScope.g:10264:8: lv_arguments_10_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); + + } + pushFollow(FOLLOW_83); + lv_arguments_10_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + current, + "arguments", + lv_arguments_10_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:10281:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* + loop169: + do { + int alt169=2; + int LA169_0 = input.LA(1); + + if ( (LA169_0==37) ) { + alt169=1; + } + + + switch (alt169) { + case 1 : + // InternalScope.g:10282:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) + { + otherlv_11=(Token)match(input,37,FOLLOW_82); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_11, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); + + } + // InternalScope.g:10286:7: ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) + // InternalScope.g:10287:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference ) + { + // InternalScope.g:10287:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference ) + // InternalScope.g:10288:9: lv_arguments_12_0= ruleJvmArgumentTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); + + } + pushFollow(FOLLOW_83); + lv_arguments_12_0=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); + } + add( + current, + "arguments", + lv_arguments_12_0, + "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop169; + } + } while (true); + + otherlv_13=(Token)match(input,64,FOLLOW_42); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_13, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); + + } + + } + break; + + } + + + } + break; + + default : + break loop171; + } + } while (true); + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmParameterizedTypeReference" + + + // $ANTLR start "entryRuleJvmArgumentTypeReference" + // InternalScope.g:10317:1: entryRuleJvmArgumentTypeReference returns [EObject current=null] : iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ; + public final EObject entryRuleJvmArgumentTypeReference() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmArgumentTypeReference = null; + + + try { + // InternalScope.g:10317:65: (iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ) + // InternalScope.g:10318:2: iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmArgumentTypeReference=ruleJvmArgumentTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmArgumentTypeReference; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmArgumentTypeReference" + + + // $ANTLR start "ruleJvmArgumentTypeReference" + // InternalScope.g:10324:1: ruleJvmArgumentTypeReference returns [EObject current=null] : (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) ; + public final EObject ruleJvmArgumentTypeReference() throws RecognitionException { + EObject current = null; + + EObject this_JvmTypeReference_0 = null; + + EObject this_JvmWildcardTypeReference_1 = null; + + + + enterRule(); + + try { + // InternalScope.g:10330:2: ( (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) ) + // InternalScope.g:10331:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) + { + // InternalScope.g:10331:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) + int alt173=2; + int LA173_0 = input.LA(1); + + if ( (LA173_0==RULE_ID||LA173_0==27||LA173_0==97) ) { + alt173=1; + } + else if ( (LA173_0==51) ) { + alt173=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 173, 0, input); + + throw nvae; + } + switch (alt173) { + case 1 : + // InternalScope.g:10332:3: this_JvmTypeReference_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_JvmTypeReference_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_JvmTypeReference_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalScope.g:10341:3: this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_JvmWildcardTypeReference_1=ruleJvmWildcardTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_JvmWildcardTypeReference_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmArgumentTypeReference" + + + // $ANTLR start "entryRuleJvmWildcardTypeReference" + // InternalScope.g:10353:1: entryRuleJvmWildcardTypeReference returns [EObject current=null] : iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ; + public final EObject entryRuleJvmWildcardTypeReference() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmWildcardTypeReference = null; + + + try { + // InternalScope.g:10353:65: (iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ) + // InternalScope.g:10354:2: iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmWildcardTypeReference=ruleJvmWildcardTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmWildcardTypeReference; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmWildcardTypeReference" + + + // $ANTLR start "ruleJvmWildcardTypeReference" + // InternalScope.g:10360:1: ruleJvmWildcardTypeReference returns [EObject current=null] : ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) ; + public final EObject ruleJvmWildcardTypeReference() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_constraints_2_0 = null; + + EObject lv_constraints_3_0 = null; + + EObject lv_constraints_4_0 = null; + + EObject lv_constraints_5_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:10366:2: ( ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) ) + // InternalScope.g:10367:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) + { + // InternalScope.g:10367:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) + // InternalScope.g:10368:3: () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? + { + // InternalScope.g:10368:3: () + // InternalScope.g:10369:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,51,FOLLOW_119); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); + + } + // InternalScope.g:10379:3: ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? + int alt176=3; + int LA176_0 = input.LA(1); + + if ( (LA176_0==110) ) { + alt176=1; + } + else if ( (LA176_0==112) ) { + alt176=2; + } + switch (alt176) { + case 1 : + // InternalScope.g:10380:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) + { + // InternalScope.g:10380:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) + // InternalScope.g:10381:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* + { + // InternalScope.g:10381:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) + // InternalScope.g:10382:6: (lv_constraints_2_0= ruleJvmUpperBound ) + { + // InternalScope.g:10382:6: (lv_constraints_2_0= ruleJvmUpperBound ) + // InternalScope.g:10383:7: lv_constraints_2_0= ruleJvmUpperBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); + + } + pushFollow(FOLLOW_120); + lv_constraints_2_0=ruleJvmUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + current, + "constraints", + lv_constraints_2_0, + "org.eclipse.xtext.xbase.Xtype.JvmUpperBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:10400:5: ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* + loop174: + do { + int alt174=2; + int LA174_0 = input.LA(1); + + if ( (LA174_0==120) ) { + alt174=1; + } + + + switch (alt174) { + case 1 : + // InternalScope.g:10401:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded ) + { + // InternalScope.g:10401:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded ) + // InternalScope.g:10402:7: lv_constraints_3_0= ruleJvmUpperBoundAnded + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); + + } + pushFollow(FOLLOW_120); + lv_constraints_3_0=ruleJvmUpperBoundAnded(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + current, + "constraints", + lv_constraints_3_0, + "org.eclipse.xtext.xbase.Xtype.JvmUpperBoundAnded"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop174; + } + } while (true); + + + } + + + } + break; + case 2 : + // InternalScope.g:10421:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) + { + // InternalScope.g:10421:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) + // InternalScope.g:10422:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* + { + // InternalScope.g:10422:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) + // InternalScope.g:10423:6: (lv_constraints_4_0= ruleJvmLowerBound ) + { + // InternalScope.g:10423:6: (lv_constraints_4_0= ruleJvmLowerBound ) + // InternalScope.g:10424:7: lv_constraints_4_0= ruleJvmLowerBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); + + } + pushFollow(FOLLOW_120); + lv_constraints_4_0=ruleJvmLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + current, + "constraints", + lv_constraints_4_0, + "org.eclipse.xtext.xbase.Xtype.JvmLowerBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:10441:5: ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* + loop175: + do { + int alt175=2; + int LA175_0 = input.LA(1); + + if ( (LA175_0==120) ) { + alt175=1; + } + + + switch (alt175) { + case 1 : + // InternalScope.g:10442:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded ) + { + // InternalScope.g:10442:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded ) + // InternalScope.g:10443:7: lv_constraints_5_0= ruleJvmLowerBoundAnded + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); + + } + pushFollow(FOLLOW_120); + lv_constraints_5_0=ruleJvmLowerBoundAnded(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); + } + add( + current, + "constraints", + lv_constraints_5_0, + "org.eclipse.xtext.xbase.Xtype.JvmLowerBoundAnded"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop175; + } + } while (true); + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmWildcardTypeReference" + + + // $ANTLR start "entryRuleJvmUpperBound" + // InternalScope.g:10466:1: entryRuleJvmUpperBound returns [EObject current=null] : iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ; + public final EObject entryRuleJvmUpperBound() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmUpperBound = null; + + + try { + // InternalScope.g:10466:54: (iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ) + // InternalScope.g:10467:2: iv_ruleJvmUpperBound= ruleJvmUpperBound EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmUpperBoundRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmUpperBound=ruleJvmUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmUpperBound; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmUpperBound" + + + // $ANTLR start "ruleJvmUpperBound" + // InternalScope.g:10473:1: ruleJvmUpperBound returns [EObject current=null] : (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ; + public final EObject ruleJvmUpperBound() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_typeReference_1_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:10479:2: ( (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) + // InternalScope.g:10480:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + { + // InternalScope.g:10480:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + // InternalScope.g:10481:3: otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + { + otherlv_0=(Token)match(input,110,FOLLOW_72); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); + + } + // InternalScope.g:10485:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + // InternalScope.g:10486:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + { + // InternalScope.g:10486:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + // InternalScope.g:10487:5: lv_typeReference_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_typeReference_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmUpperBoundRule()); + } + set( + current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmUpperBound" + + + // $ANTLR start "entryRuleJvmUpperBoundAnded" + // InternalScope.g:10508:1: entryRuleJvmUpperBoundAnded returns [EObject current=null] : iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ; + public final EObject entryRuleJvmUpperBoundAnded() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmUpperBoundAnded = null; + + + try { + // InternalScope.g:10508:59: (iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ) + // InternalScope.g:10509:2: iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmUpperBoundAndedRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmUpperBoundAnded=ruleJvmUpperBoundAnded(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmUpperBoundAnded; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmUpperBoundAnded" + + + // $ANTLR start "ruleJvmUpperBoundAnded" + // InternalScope.g:10515:1: ruleJvmUpperBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ; + public final EObject ruleJvmUpperBoundAnded() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_typeReference_1_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:10521:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) + // InternalScope.g:10522:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + { + // InternalScope.g:10522:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + // InternalScope.g:10523:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + { + otherlv_0=(Token)match(input,120,FOLLOW_72); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); + + } + // InternalScope.g:10527:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + // InternalScope.g:10528:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + { + // InternalScope.g:10528:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + // InternalScope.g:10529:5: lv_typeReference_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_typeReference_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmUpperBoundAndedRule()); + } + set( + current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmUpperBoundAnded" + + + // $ANTLR start "entryRuleJvmLowerBound" + // InternalScope.g:10550:1: entryRuleJvmLowerBound returns [EObject current=null] : iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ; + public final EObject entryRuleJvmLowerBound() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmLowerBound = null; + + + try { + // InternalScope.g:10550:54: (iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ) + // InternalScope.g:10551:2: iv_ruleJvmLowerBound= ruleJvmLowerBound EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmLowerBoundRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmLowerBound=ruleJvmLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmLowerBound; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmLowerBound" + + + // $ANTLR start "ruleJvmLowerBound" + // InternalScope.g:10557:1: ruleJvmLowerBound returns [EObject current=null] : (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ; + public final EObject ruleJvmLowerBound() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_typeReference_1_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:10563:2: ( (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) + // InternalScope.g:10564:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + { + // InternalScope.g:10564:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + // InternalScope.g:10565:3: otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + { + otherlv_0=(Token)match(input,112,FOLLOW_72); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); + + } + // InternalScope.g:10569:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + // InternalScope.g:10570:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + { + // InternalScope.g:10570:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + // InternalScope.g:10571:5: lv_typeReference_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_typeReference_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmLowerBoundRule()); + } + set( + current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmLowerBound" + + + // $ANTLR start "entryRuleJvmLowerBoundAnded" + // InternalScope.g:10592:1: entryRuleJvmLowerBoundAnded returns [EObject current=null] : iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ; + public final EObject entryRuleJvmLowerBoundAnded() throws RecognitionException { + EObject current = null; + + EObject iv_ruleJvmLowerBoundAnded = null; + + + try { + // InternalScope.g:10592:59: (iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ) + // InternalScope.g:10593:2: iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getJvmLowerBoundAndedRule()); + } + pushFollow(FOLLOW_1); + iv_ruleJvmLowerBoundAnded=ruleJvmLowerBoundAnded(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleJvmLowerBoundAnded; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleJvmLowerBoundAnded" + + + // $ANTLR start "ruleJvmLowerBoundAnded" + // InternalScope.g:10599:1: ruleJvmLowerBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ; + public final EObject ruleJvmLowerBoundAnded() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_typeReference_1_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:10605:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) + // InternalScope.g:10606:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + { + // InternalScope.g:10606:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) + // InternalScope.g:10607:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + { + otherlv_0=(Token)match(input,120,FOLLOW_72); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); + + } + // InternalScope.g:10611:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) + // InternalScope.g:10612:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + { + // InternalScope.g:10612:4: (lv_typeReference_1_0= ruleJvmTypeReference ) + // InternalScope.g:10613:5: lv_typeReference_1_0= ruleJvmTypeReference + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_2); + lv_typeReference_1_0=ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getJvmLowerBoundAndedRule()); + } + set( + current, + "typeReference", + lv_typeReference_1_0, + "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleJvmLowerBoundAnded" + + + // $ANTLR start "entryRuleQualifiedNameWithWildcard" + // InternalScope.g:10634:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ; + public final String entryRuleQualifiedNameWithWildcard() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleQualifiedNameWithWildcard = null; + + + try { + // InternalScope.g:10634:65: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ) + // InternalScope.g:10635:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); + } + pushFollow(FOLLOW_1); + iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleQualifiedNameWithWildcard.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleQualifiedNameWithWildcard" + + + // $ANTLR start "ruleQualifiedNameWithWildcard" + // InternalScope.g:10641:1: ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) ; + public final AntlrDatatypeRuleToken ruleQualifiedNameWithWildcard() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + AntlrDatatypeRuleToken this_QualifiedName_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:10647:2: ( (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) ) + // InternalScope.g:10648:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) + { + // InternalScope.g:10648:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) + // InternalScope.g:10649:3: this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); + + } + pushFollow(FOLLOW_121); + this_QualifiedName_0=ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_QualifiedName_0); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + kw=(Token)match(input,47,FOLLOW_122); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); + + } + kw=(Token)match(input,32,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleQualifiedNameWithWildcard" + + + // $ANTLR start "entryRuleValidID" + // InternalScope.g:10673:1: entryRuleValidID returns [String current=null] : iv_ruleValidID= ruleValidID EOF ; + public final String entryRuleValidID() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleValidID = null; + + + try { + // InternalScope.g:10673:47: (iv_ruleValidID= ruleValidID EOF ) + // InternalScope.g:10674:2: iv_ruleValidID= ruleValidID EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getValidIDRule()); + } + pushFollow(FOLLOW_1); + iv_ruleValidID=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleValidID.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleValidID" + + + // $ANTLR start "ruleValidID" + // InternalScope.g:10680:1: ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_ID_0= RULE_ID ; + public final AntlrDatatypeRuleToken ruleValidID() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token this_ID_0=null; + + + enterRule(); + + try { + // InternalScope.g:10686:2: (this_ID_0= RULE_ID ) + // InternalScope.g:10687:2: this_ID_0= RULE_ID + { + this_ID_0=(Token)match(input,RULE_ID,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_ID_0); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_ID_0, grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleValidID" + + + // $ANTLR start "entryRuleXImportDeclaration" + // InternalScope.g:10697:1: entryRuleXImportDeclaration returns [EObject current=null] : iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ; + public final EObject entryRuleXImportDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXImportDeclaration = null; + + + try { + // InternalScope.g:10697:59: (iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ) + // InternalScope.g:10698:2: iv_ruleXImportDeclaration= ruleXImportDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getXImportDeclarationRule()); + } + pushFollow(FOLLOW_1); + iv_ruleXImportDeclaration=ruleXImportDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleXImportDeclaration; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXImportDeclaration" + + + // $ANTLR start "ruleXImportDeclaration" + // InternalScope.g:10704:1: ruleXImportDeclaration returns [EObject current=null] : (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) ; + public final EObject ruleXImportDeclaration() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_static_1_0=null; + Token lv_extension_2_0=null; + Token lv_wildcard_4_0=null; + Token otherlv_8=null; + AntlrDatatypeRuleToken lv_memberName_5_0 = null; + + AntlrDatatypeRuleToken lv_importedNamespace_7_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:10710:2: ( (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) ) + // InternalScope.g:10711:2: (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) + { + // InternalScope.g:10711:2: (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) + // InternalScope.g:10712:3: otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? + { + otherlv_0=(Token)match(input,16,FOLLOW_123); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); + + } + // InternalScope.g:10716:3: ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) + int alt179=3; + alt179 = dfa179.predict(input); + switch (alt179) { + case 1 : + // InternalScope.g:10717:4: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) + { + // InternalScope.g:10717:4: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) + // InternalScope.g:10718:5: ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) + { + // InternalScope.g:10718:5: ( (lv_static_1_0= 'static' ) ) + // InternalScope.g:10719:6: (lv_static_1_0= 'static' ) + { + // InternalScope.g:10719:6: (lv_static_1_0= 'static' ) + // InternalScope.g:10720:7: lv_static_1_0= 'static' + { + lv_static_1_0=(Token)match(input,111,FOLLOW_124); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_static_1_0, grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed(current, "static", lv_static_1_0 != null, "static"); + + } + + } + + + } + + // InternalScope.g:10732:5: ( (lv_extension_2_0= 'extension' ) )? + int alt177=2; + int LA177_0 = input.LA(1); + + if ( (LA177_0==18) ) { + alt177=1; + } + switch (alt177) { + case 1 : + // InternalScope.g:10733:6: (lv_extension_2_0= 'extension' ) + { + // InternalScope.g:10733:6: (lv_extension_2_0= 'extension' ) + // InternalScope.g:10734:7: lv_extension_2_0= 'extension' + { + lv_extension_2_0=(Token)match(input,18,FOLLOW_124); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_extension_2_0, grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed(current, "extension", lv_extension_2_0 != null, "extension"); + + } + + } + + + } + break; + + } + + // InternalScope.g:10746:5: ( ( ruleQualifiedNameInStaticImport ) ) + // InternalScope.g:10747:6: ( ruleQualifiedNameInStaticImport ) + { + // InternalScope.g:10747:6: ( ruleQualifiedNameInStaticImport ) + // InternalScope.g:10748:7: ruleQualifiedNameInStaticImport + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); + + } + pushFollow(FOLLOW_24); + ruleQualifiedNameInStaticImport(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalScope.g:10762:5: ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) + int alt178=2; + int LA178_0 = input.LA(1); + + if ( (LA178_0==32) ) { + alt178=1; + } + else if ( (LA178_0==RULE_ID) ) { + alt178=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 178, 0, input); + + throw nvae; + } + switch (alt178) { + case 1 : + // InternalScope.g:10763:6: ( (lv_wildcard_4_0= '*' ) ) + { + // InternalScope.g:10763:6: ( (lv_wildcard_4_0= '*' ) ) + // InternalScope.g:10764:7: (lv_wildcard_4_0= '*' ) + { + // InternalScope.g:10764:7: (lv_wildcard_4_0= '*' ) + // InternalScope.g:10765:8: lv_wildcard_4_0= '*' + { + lv_wildcard_4_0=(Token)match(input,32,FOLLOW_125); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_wildcard_4_0, grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + setWithLastConsumed(current, "wildcard", lv_wildcard_4_0 != null, "*"); + + } + + } + + + } + + + } + break; + case 2 : + // InternalScope.g:10778:6: ( (lv_memberName_5_0= ruleValidID ) ) + { + // InternalScope.g:10778:6: ( (lv_memberName_5_0= ruleValidID ) ) + // InternalScope.g:10779:7: (lv_memberName_5_0= ruleValidID ) + { + // InternalScope.g:10779:7: (lv_memberName_5_0= ruleValidID ) + // InternalScope.g:10780:8: lv_memberName_5_0= ruleValidID + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); + + } + pushFollow(FOLLOW_125); + lv_memberName_5_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXImportDeclarationRule()); + } + set( + current, + "memberName", + lv_memberName_5_0, + "org.eclipse.xtext.xbase.Xtype.ValidID"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + break; + case 2 : + // InternalScope.g:10800:4: ( ( ruleQualifiedName ) ) + { + // InternalScope.g:10800:4: ( ( ruleQualifiedName ) ) + // InternalScope.g:10801:5: ( ruleQualifiedName ) + { + // InternalScope.g:10801:5: ( ruleQualifiedName ) + // InternalScope.g:10802:6: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getXImportDeclarationRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); + + } + pushFollow(FOLLOW_125); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + case 3 : + // InternalScope.g:10817:4: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) + { + // InternalScope.g:10817:4: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) + // InternalScope.g:10818:5: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) + { + // InternalScope.g:10818:5: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) + // InternalScope.g:10819:6: lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); + + } + pushFollow(FOLLOW_125); + lv_importedNamespace_7_0=ruleQualifiedNameWithWildcard(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXImportDeclarationRule()); + } + set( + current, + "importedNamespace", + lv_importedNamespace_7_0, + "org.eclipse.xtext.xbase.Xtype.QualifiedNameWithWildcard"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + // InternalScope.g:10837:3: (otherlv_8= ';' )? + int alt180=2; + int LA180_0 = input.LA(1); + + if ( (LA180_0==25) ) { + alt180=1; + } + switch (alt180) { + case 1 : + // InternalScope.g:10838:4: otherlv_8= ';' + { + otherlv_8=(Token)match(input,25,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); + + } + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXImportDeclaration" + + + // $ANTLR start "entryRuleQualifiedNameInStaticImport" + // InternalScope.g:10847:1: entryRuleQualifiedNameInStaticImport returns [String current=null] : iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ; + public final String entryRuleQualifiedNameInStaticImport() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleQualifiedNameInStaticImport = null; + + + try { + // InternalScope.g:10847:67: (iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ) + // InternalScope.g:10848:2: iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getQualifiedNameInStaticImportRule()); + } + pushFollow(FOLLOW_1); + iv_ruleQualifiedNameInStaticImport=ruleQualifiedNameInStaticImport(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleQualifiedNameInStaticImport.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleQualifiedNameInStaticImport" + + + // $ANTLR start "ruleQualifiedNameInStaticImport" + // InternalScope.g:10854:1: ruleQualifiedNameInStaticImport returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID kw= '.' )+ ; + public final AntlrDatatypeRuleToken ruleQualifiedNameInStaticImport() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + AntlrDatatypeRuleToken this_ValidID_0 = null; + + + + enterRule(); + + try { + // InternalScope.g:10860:2: ( (this_ValidID_0= ruleValidID kw= '.' )+ ) + // InternalScope.g:10861:2: (this_ValidID_0= ruleValidID kw= '.' )+ + { + // InternalScope.g:10861:2: (this_ValidID_0= ruleValidID kw= '.' )+ + int cnt181=0; + loop181: + do { + int alt181=2; + int LA181_0 = input.LA(1); + + if ( (LA181_0==RULE_ID) ) { + int LA181_2 = input.LA(2); + + if ( (LA181_2==47) ) { + alt181=1; + } + + + } + + + switch (alt181) { + case 1 : + // InternalScope.g:10862:3: this_ValidID_0= ruleValidID kw= '.' + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); + + } + pushFollow(FOLLOW_121); + this_ValidID_0=ruleValidID(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_ValidID_0); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + kw=(Token)match(input,47,FOLLOW_126); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); + + } + + } + break; + + default : + if ( cnt181 >= 1 ) break loop181; + if (state.backtracking>0) {state.failed=true; return current;} + EarlyExitException eee = + new EarlyExitException(181, input); + throw eee; + } + cnt181++; + } while (true); + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleQualifiedNameInStaticImport" + + + // $ANTLR start "ruleCasing" + // InternalScope.g:10881:1: ruleCasing returns [Enumerator current=null] : ( (enumLiteral_0= 'sensitive' ) | (enumLiteral_1= 'insensitive' ) ) ; + public final Enumerator ruleCasing() throws RecognitionException { + Enumerator current = null; + + Token enumLiteral_0=null; + Token enumLiteral_1=null; + + + enterRule(); + + try { + // InternalScope.g:10887:2: ( ( (enumLiteral_0= 'sensitive' ) | (enumLiteral_1= 'insensitive' ) ) ) + // InternalScope.g:10888:2: ( (enumLiteral_0= 'sensitive' ) | (enumLiteral_1= 'insensitive' ) ) + { + // InternalScope.g:10888:2: ( (enumLiteral_0= 'sensitive' ) | (enumLiteral_1= 'insensitive' ) ) + int alt182=2; + int LA182_0 = input.LA(1); + + if ( (LA182_0==121) ) { + alt182=1; + } + else if ( (LA182_0==122) ) { + alt182=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 182, 0, input); + + throw nvae; + } + switch (alt182) { + case 1 : + // InternalScope.g:10889:3: (enumLiteral_0= 'sensitive' ) + { + // InternalScope.g:10889:3: (enumLiteral_0= 'sensitive' ) + // InternalScope.g:10890:4: enumLiteral_0= 'sensitive' + { + enumLiteral_0=(Token)match(input,121,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = grammarAccess.getCasingAccess().getSENSITIVEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getCasingAccess().getSENSITIVEEnumLiteralDeclaration_0()); + + } + + } + + + } + break; + case 2 : + // InternalScope.g:10897:3: (enumLiteral_1= 'insensitive' ) + { + // InternalScope.g:10897:3: (enumLiteral_1= 'insensitive' ) + // InternalScope.g:10898:4: enumLiteral_1= 'insensitive' + { + enumLiteral_1=(Token)match(input,122,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = grammarAccess.getCasingAccess().getINSENSITIVEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getCasingAccess().getINSENSITIVEEnumLiteralDeclaration_1()); + + } + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleCasing" + + // $ANTLR start synpred1_InternalScope + public final void synpred1_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:1645:4: ( '(' ) + // InternalScope.g:1645:5: '(' + { + match(input,27,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred1_InternalScope + + // $ANTLR start synpred2_InternalScope + public final void synpred2_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:1911:4: ( ruleCastedExpression ) + // InternalScope.g:1911:5: ruleCastedExpression + { + pushFollow(FOLLOW_2); + ruleCastedExpression(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred2_InternalScope + + // $ANTLR start synpred3_InternalScope + public final void synpred3_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:2335:4: ( 'else' ) + // InternalScope.g:2335:5: 'else' + { + match(input,54,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred3_InternalScope + + // $ANTLR start synpred4_InternalScope + public final void synpred4_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:4702:6: ( ( () ( ( ruleOpMultiAssign ) ) ) ) + // InternalScope.g:4702:7: ( () ( ( ruleOpMultiAssign ) ) ) + { + // InternalScope.g:4702:7: ( () ( ( ruleOpMultiAssign ) ) ) + // InternalScope.g:4703:7: () ( ( ruleOpMultiAssign ) ) + { + // InternalScope.g:4703:7: () + // InternalScope.g:4704:7: + { + } + + // InternalScope.g:4705:7: ( ( ruleOpMultiAssign ) ) + // InternalScope.g:4706:8: ( ruleOpMultiAssign ) + { + // InternalScope.g:4706:8: ( ruleOpMultiAssign ) + // InternalScope.g:4707:9: ruleOpMultiAssign + { + pushFollow(FOLLOW_2); + ruleOpMultiAssign(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred4_InternalScope + + // $ANTLR start synpred5_InternalScope + public final void synpred5_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:4896:5: ( ( () ( ( ruleOpOr ) ) ) ) + // InternalScope.g:4896:6: ( () ( ( ruleOpOr ) ) ) + { + // InternalScope.g:4896:6: ( () ( ( ruleOpOr ) ) ) + // InternalScope.g:4897:6: () ( ( ruleOpOr ) ) + { + // InternalScope.g:4897:6: () + // InternalScope.g:4898:6: + { + } + + // InternalScope.g:4899:6: ( ( ruleOpOr ) ) + // InternalScope.g:4900:7: ( ruleOpOr ) + { + // InternalScope.g:4900:7: ( ruleOpOr ) + // InternalScope.g:4901:8: ruleOpOr + { + pushFollow(FOLLOW_2); + ruleOpOr(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred5_InternalScope + + // $ANTLR start synpred6_InternalScope + public final void synpred6_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:5003:5: ( ( () ( ( ruleOpAnd ) ) ) ) + // InternalScope.g:5003:6: ( () ( ( ruleOpAnd ) ) ) + { + // InternalScope.g:5003:6: ( () ( ( ruleOpAnd ) ) ) + // InternalScope.g:5004:6: () ( ( ruleOpAnd ) ) + { + // InternalScope.g:5004:6: () + // InternalScope.g:5005:6: + { + } + + // InternalScope.g:5006:6: ( ( ruleOpAnd ) ) + // InternalScope.g:5007:7: ( ruleOpAnd ) + { + // InternalScope.g:5007:7: ( ruleOpAnd ) + // InternalScope.g:5008:8: ruleOpAnd + { + pushFollow(FOLLOW_2); + ruleOpAnd(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred6_InternalScope + + // $ANTLR start synpred7_InternalScope + public final void synpred7_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:5110:5: ( ( () ( ( ruleOpEquality ) ) ) ) + // InternalScope.g:5110:6: ( () ( ( ruleOpEquality ) ) ) + { + // InternalScope.g:5110:6: ( () ( ( ruleOpEquality ) ) ) + // InternalScope.g:5111:6: () ( ( ruleOpEquality ) ) + { + // InternalScope.g:5111:6: () + // InternalScope.g:5112:6: + { + } + + // InternalScope.g:5113:6: ( ( ruleOpEquality ) ) + // InternalScope.g:5114:7: ( ruleOpEquality ) + { + // InternalScope.g:5114:7: ( ruleOpEquality ) + // InternalScope.g:5115:8: ruleOpEquality + { + pushFollow(FOLLOW_2); + ruleOpEquality(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred7_InternalScope + + // $ANTLR start synpred8_InternalScope + public final void synpred8_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:5238:6: ( ( () 'instanceof' ) ) + // InternalScope.g:5238:7: ( () 'instanceof' ) + { + // InternalScope.g:5238:7: ( () 'instanceof' ) + // InternalScope.g:5239:7: () 'instanceof' + { + // InternalScope.g:5239:7: () + // InternalScope.g:5240:7: + { + } + + match(input,94,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred8_InternalScope + + // $ANTLR start synpred9_InternalScope + public final void synpred9_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:5281:6: ( ( () ( ( ruleOpCompare ) ) ) ) + // InternalScope.g:5281:7: ( () ( ( ruleOpCompare ) ) ) + { + // InternalScope.g:5281:7: ( () ( ( ruleOpCompare ) ) ) + // InternalScope.g:5282:7: () ( ( ruleOpCompare ) ) + { + // InternalScope.g:5282:7: () + // InternalScope.g:5283:7: + { + } + + // InternalScope.g:5284:7: ( ( ruleOpCompare ) ) + // InternalScope.g:5285:8: ( ruleOpCompare ) + { + // InternalScope.g:5285:8: ( ruleOpCompare ) + // InternalScope.g:5286:9: ruleOpCompare + { + pushFollow(FOLLOW_2); + ruleOpCompare(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred9_InternalScope + + // $ANTLR start synpred10_InternalScope + public final void synpred10_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:5416:5: ( ( () ( ( ruleOpOther ) ) ) ) + // InternalScope.g:5416:6: ( () ( ( ruleOpOther ) ) ) + { + // InternalScope.g:5416:6: ( () ( ( ruleOpOther ) ) ) + // InternalScope.g:5417:6: () ( ( ruleOpOther ) ) + { + // InternalScope.g:5417:6: () + // InternalScope.g:5418:6: + { + } + + // InternalScope.g:5419:6: ( ( ruleOpOther ) ) + // InternalScope.g:5420:7: ( ruleOpOther ) + { + // InternalScope.g:5420:7: ( ruleOpOther ) + // InternalScope.g:5421:8: ruleOpOther + { + pushFollow(FOLLOW_2); + ruleOpOther(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred10_InternalScope + + // $ANTLR start synpred11_InternalScope + public final void synpred11_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:5536:6: ( ( '>' '>' ) ) + // InternalScope.g:5536:7: ( '>' '>' ) + { + // InternalScope.g:5536:7: ( '>' '>' ) + // InternalScope.g:5537:7: '>' '>' + { + match(input,64,FOLLOW_75); if (state.failed) return ; + match(input,64,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred11_InternalScope + + // $ANTLR start synpred12_InternalScope + public final void synpred12_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:5571:6: ( ( '<' '<' ) ) + // InternalScope.g:5571:7: ( '<' '<' ) + { + // InternalScope.g:5571:7: ( '<' '<' ) + // InternalScope.g:5572:7: '<' '<' + { + match(input,65,FOLLOW_67); if (state.failed) return ; + match(input,65,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred12_InternalScope + + // $ANTLR start synpred13_InternalScope + public final void synpred13_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:5644:5: ( ( () ( ( ruleOpAdd ) ) ) ) + // InternalScope.g:5644:6: ( () ( ( ruleOpAdd ) ) ) + { + // InternalScope.g:5644:6: ( () ( ( ruleOpAdd ) ) ) + // InternalScope.g:5645:6: () ( ( ruleOpAdd ) ) + { + // InternalScope.g:5645:6: () + // InternalScope.g:5646:6: + { + } + + // InternalScope.g:5647:6: ( ( ruleOpAdd ) ) + // InternalScope.g:5648:7: ( ruleOpAdd ) + { + // InternalScope.g:5648:7: ( ruleOpAdd ) + // InternalScope.g:5649:8: ruleOpAdd + { + pushFollow(FOLLOW_2); + ruleOpAdd(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred13_InternalScope + + // $ANTLR start synpred14_InternalScope + public final void synpred14_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:5759:5: ( ( () ( ( ruleOpMulti ) ) ) ) + // InternalScope.g:5759:6: ( () ( ( ruleOpMulti ) ) ) + { + // InternalScope.g:5759:6: ( () ( ( ruleOpMulti ) ) ) + // InternalScope.g:5760:6: () ( ( ruleOpMulti ) ) + { + // InternalScope.g:5760:6: () + // InternalScope.g:5761:6: + { + } + + // InternalScope.g:5762:6: ( ( ruleOpMulti ) ) + // InternalScope.g:5763:7: ( ruleOpMulti ) + { + // InternalScope.g:5763:7: ( ruleOpMulti ) + // InternalScope.g:5764:8: ruleOpMulti + { + pushFollow(FOLLOW_2); + ruleOpMulti(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred14_InternalScope + + // $ANTLR start synpred15_InternalScope + public final void synpred15_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:5994:5: ( ( () 'as' ) ) + // InternalScope.g:5994:6: ( () 'as' ) + { + // InternalScope.g:5994:6: ( () 'as' ) + // InternalScope.g:5995:6: () 'as' + { + // InternalScope.g:5995:6: () + // InternalScope.g:5996:6: + { + } + + match(input,17,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred15_InternalScope + + // $ANTLR start synpred16_InternalScope + public final void synpred16_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:6062:4: ( ( () ( ( ruleOpPostfix ) ) ) ) + // InternalScope.g:6062:5: ( () ( ( ruleOpPostfix ) ) ) + { + // InternalScope.g:6062:5: ( () ( ( ruleOpPostfix ) ) ) + // InternalScope.g:6063:5: () ( ( ruleOpPostfix ) ) + { + // InternalScope.g:6063:5: () + // InternalScope.g:6064:5: + { + } + + // InternalScope.g:6065:5: ( ( ruleOpPostfix ) ) + // InternalScope.g:6066:6: ( ruleOpPostfix ) + { + // InternalScope.g:6066:6: ( ruleOpPostfix ) + // InternalScope.g:6067:7: ruleOpPostfix + { + pushFollow(FOLLOW_2); + ruleOpPostfix(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred16_InternalScope + + // $ANTLR start synpred17_InternalScope + public final void synpred17_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:6158:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) + // InternalScope.g:6158:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) + { + // InternalScope.g:6158:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) + // InternalScope.g:6159:7: () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign + { + // InternalScope.g:6159:7: () + // InternalScope.g:6160:7: + { + } + + // InternalScope.g:6161:7: ( '.' | ( ( '::' ) ) ) + int alt183=2; + int LA183_0 = input.LA(1); + + if ( (LA183_0==47) ) { + alt183=1; + } + else if ( (LA183_0==46) ) { + alt183=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 183, 0, input); + + throw nvae; + } + switch (alt183) { + case 1 : + // InternalScope.g:6162:8: '.' + { + match(input,47,FOLLOW_80); if (state.failed) return ; + + } + break; + case 2 : + // InternalScope.g:6164:8: ( ( '::' ) ) + { + // InternalScope.g:6164:8: ( ( '::' ) ) + // InternalScope.g:6165:9: ( '::' ) + { + // InternalScope.g:6165:9: ( '::' ) + // InternalScope.g:6166:10: '::' + { + match(input,46,FOLLOW_80); if (state.failed) return ; + + } + + + } + + + } + break; + + } + + // InternalScope.g:6170:7: ( ( ruleFeatureCallID ) ) + // InternalScope.g:6171:8: ( ruleFeatureCallID ) + { + // InternalScope.g:6171:8: ( ruleFeatureCallID ) + // InternalScope.g:6172:9: ruleFeatureCallID + { + pushFollow(FOLLOW_16); + ruleFeatureCallID(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + pushFollow(FOLLOW_2); + ruleOpSingleAssign(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred17_InternalScope + + // $ANTLR start synpred18_InternalScope + public final void synpred18_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:6255:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) ) + // InternalScope.g:6255:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) + { + // InternalScope.g:6255:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) + // InternalScope.g:6256:7: () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) + { + // InternalScope.g:6256:7: () + // InternalScope.g:6257:7: + { + } + + // InternalScope.g:6258:7: ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) + int alt184=3; + switch ( input.LA(1) ) { + case 47: + { + alt184=1; + } + break; + case 104: + { + alt184=2; + } + break; + case 46: + { + alt184=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 184, 0, input); + + throw nvae; + } + + switch (alt184) { + case 1 : + // InternalScope.g:6259:8: '.' + { + match(input,47,FOLLOW_2); if (state.failed) return ; + + } + break; + case 2 : + // InternalScope.g:6261:8: ( ( '?.' ) ) + { + // InternalScope.g:6261:8: ( ( '?.' ) ) + // InternalScope.g:6262:9: ( '?.' ) + { + // InternalScope.g:6262:9: ( '?.' ) + // InternalScope.g:6263:10: '?.' + { + match(input,104,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + break; + case 3 : + // InternalScope.g:6267:8: ( ( '::' ) ) + { + // InternalScope.g:6267:8: ( ( '::' ) ) + // InternalScope.g:6268:9: ( '::' ) + { + // InternalScope.g:6268:9: ( '::' ) + // InternalScope.g:6269:10: '::' + { + match(input,46,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + break; + + } + + + } + + + } + } + // $ANTLR end synpred18_InternalScope + + // $ANTLR start synpred19_InternalScope + public final void synpred19_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:6393:7: ( ( '(' ) ) + // InternalScope.g:6393:8: ( '(' ) + { + // InternalScope.g:6393:8: ( '(' ) + // InternalScope.g:6394:8: '(' + { + match(input,27,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred19_InternalScope + + // $ANTLR start synpred20_InternalScope + public final void synpred20_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:6412:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) + // InternalScope.g:6412:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + { + // InternalScope.g:6412:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + // InternalScope.g:6413:9: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) + { + // InternalScope.g:6413:9: () + // InternalScope.g:6414:9: + { + } + + // InternalScope.g:6415:9: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? + int alt186=2; + int LA186_0 = input.LA(1); + + if ( (LA186_0==RULE_ID||LA186_0==27||LA186_0==97) ) { + alt186=1; + } + switch (alt186) { + case 1 : + // InternalScope.g:6416:10: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* + { + // InternalScope.g:6416:10: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:6417:11: ( ruleJvmFormalParameter ) + { + // InternalScope.g:6417:11: ( ruleJvmFormalParameter ) + // InternalScope.g:6418:12: ruleJvmFormalParameter + { + pushFollow(FOLLOW_91); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalScope.g:6421:10: ( ',' ( ( ruleJvmFormalParameter ) ) )* + loop185: + do { + int alt185=2; + int LA185_0 = input.LA(1); + + if ( (LA185_0==37) ) { + alt185=1; + } + + + switch (alt185) { + case 1 : + // InternalScope.g:6422:11: ',' ( ( ruleJvmFormalParameter ) ) + { + match(input,37,FOLLOW_72); if (state.failed) return ; + // InternalScope.g:6423:11: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:6424:12: ( ruleJvmFormalParameter ) + { + // InternalScope.g:6424:12: ( ruleJvmFormalParameter ) + // InternalScope.g:6425:13: ruleJvmFormalParameter + { + pushFollow(FOLLOW_91); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + default : + break loop185; + } + } while (true); + + + } + break; + + } + + // InternalScope.g:6430:9: ( ( '|' ) ) + // InternalScope.g:6431:10: ( '|' ) + { + // InternalScope.g:6431:10: ( '|' ) + // InternalScope.g:6432:11: '|' + { + match(input,44,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred20_InternalScope + + // $ANTLR start synpred21_InternalScope + public final void synpred21_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:6509:6: ( ( () '[' ) ) + // InternalScope.g:6509:7: ( () '[' ) + { + // InternalScope.g:6509:7: ( () '[' ) + // InternalScope.g:6510:7: () '[' + { + // InternalScope.g:6510:7: () + // InternalScope.g:6511:7: + { + } + + match(input,33,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred21_InternalScope + + // $ANTLR start synpred22_InternalScope + public final void synpred22_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:6582:4: ( ( () 'synchronized' '(' ) ) + // InternalScope.g:6582:5: ( () 'synchronized' '(' ) + { + // InternalScope.g:6582:5: ( () 'synchronized' '(' ) + // InternalScope.g:6583:5: () 'synchronized' '(' + { + // InternalScope.g:6583:5: () + // InternalScope.g:6584:5: + { + } + + match(input,118,FOLLOW_29); if (state.failed) return ; + match(input,27,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred22_InternalScope + + // $ANTLR start synpred23_InternalScope + public final void synpred23_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:6627:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) ) + // InternalScope.g:6627:5: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) + { + // InternalScope.g:6627:5: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) + // InternalScope.g:6628:5: () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' + { + // InternalScope.g:6628:5: () + // InternalScope.g:6629:5: + { + } + + match(input,105,FOLLOW_29); if (state.failed) return ; + match(input,27,FOLLOW_72); if (state.failed) return ; + // InternalScope.g:6632:5: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:6633:6: ( ruleJvmFormalParameter ) + { + // InternalScope.g:6633:6: ( ruleJvmFormalParameter ) + // InternalScope.g:6634:7: ruleJvmFormalParameter + { + pushFollow(FOLLOW_43); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + match(input,49,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred23_InternalScope + + // $ANTLR start synpred24_InternalScope + public final void synpred24_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:6741:4: ( ( () '[' ) ) + // InternalScope.g:6741:5: ( () '[' ) + { + // InternalScope.g:6741:5: ( () '[' ) + // InternalScope.g:6742:5: () '[' + { + // InternalScope.g:6742:5: () + // InternalScope.g:6743:5: + { + } + + match(input,33,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred24_InternalScope + + // $ANTLR start synpred26_InternalScope + public final void synpred26_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:7046:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) + // InternalScope.g:7046:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + { + // InternalScope.g:7046:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + // InternalScope.g:7047:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) + { + // InternalScope.g:7047:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? + int alt188=2; + int LA188_0 = input.LA(1); + + if ( (LA188_0==RULE_ID||LA188_0==27||LA188_0==97) ) { + alt188=1; + } + switch (alt188) { + case 1 : + // InternalScope.g:7048:6: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* + { + // InternalScope.g:7048:6: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:7049:7: ( ruleJvmFormalParameter ) + { + // InternalScope.g:7049:7: ( ruleJvmFormalParameter ) + // InternalScope.g:7050:8: ruleJvmFormalParameter + { + pushFollow(FOLLOW_91); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalScope.g:7053:6: ( ',' ( ( ruleJvmFormalParameter ) ) )* + loop187: + do { + int alt187=2; + int LA187_0 = input.LA(1); + + if ( (LA187_0==37) ) { + alt187=1; + } + + + switch (alt187) { + case 1 : + // InternalScope.g:7054:7: ',' ( ( ruleJvmFormalParameter ) ) + { + match(input,37,FOLLOW_72); if (state.failed) return ; + // InternalScope.g:7055:7: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:7056:8: ( ruleJvmFormalParameter ) + { + // InternalScope.g:7056:8: ( ruleJvmFormalParameter ) + // InternalScope.g:7057:9: ruleJvmFormalParameter + { + pushFollow(FOLLOW_91); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + default : + break loop187; + } + } while (true); + + + } + break; + + } + + // InternalScope.g:7062:5: ( ( '|' ) ) + // InternalScope.g:7063:6: ( '|' ) + { + // InternalScope.g:7063:6: ( '|' ) + // InternalScope.g:7064:7: '|' + { + match(input,44,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred26_InternalScope + + // $ANTLR start synpred28_InternalScope + public final void synpred28_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:7455:5: ( 'else' ) + // InternalScope.g:7455:6: 'else' + { + match(input,54,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred28_InternalScope + + // $ANTLR start synpred29_InternalScope + public final void synpred29_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:7514:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) ) + // InternalScope.g:7514:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) + { + // InternalScope.g:7514:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) + // InternalScope.g:7515:7: '(' ( ( ruleJvmFormalParameter ) ) ':' + { + match(input,27,FOLLOW_72); if (state.failed) return ; + // InternalScope.g:7516:7: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:7517:8: ( ruleJvmFormalParameter ) + { + // InternalScope.g:7517:8: ( ruleJvmFormalParameter ) + // InternalScope.g:7518:9: ruleJvmFormalParameter + { + pushFollow(FOLLOW_43); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + match(input,49,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred29_InternalScope + + // $ANTLR start synpred30_InternalScope + public final void synpred30_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:7581:6: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) ) + // InternalScope.g:7581:7: ( ( ( ruleJvmFormalParameter ) ) ':' ) + { + // InternalScope.g:7581:7: ( ( ( ruleJvmFormalParameter ) ) ':' ) + // InternalScope.g:7582:7: ( ( ruleJvmFormalParameter ) ) ':' + { + // InternalScope.g:7582:7: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:7583:8: ( ruleJvmFormalParameter ) + { + // InternalScope.g:7583:8: ( ruleJvmFormalParameter ) + // InternalScope.g:7584:9: ruleJvmFormalParameter + { + pushFollow(FOLLOW_43); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + match(input,49,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred30_InternalScope + + // $ANTLR start synpred32_InternalScope + public final void synpred32_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:8399:5: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) ) + // InternalScope.g:8399:6: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) + { + // InternalScope.g:8399:6: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) + // InternalScope.g:8400:6: ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) + { + // InternalScope.g:8400:6: ( ( ruleJvmTypeReference ) ) + // InternalScope.g:8401:7: ( ruleJvmTypeReference ) + { + // InternalScope.g:8401:7: ( ruleJvmTypeReference ) + // InternalScope.g:8402:8: ruleJvmTypeReference + { + pushFollow(FOLLOW_3); + ruleJvmTypeReference(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalScope.g:8405:6: ( ( ruleValidID ) ) + // InternalScope.g:8406:7: ( ruleValidID ) + { + // InternalScope.g:8406:7: ( ruleValidID ) + // InternalScope.g:8407:8: ruleValidID + { + pushFollow(FOLLOW_2); + ruleValidID(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred32_InternalScope + + // $ANTLR start synpred33_InternalScope + public final void synpred33_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:8711:5: ( ( '(' ) ) + // InternalScope.g:8711:6: ( '(' ) + { + // InternalScope.g:8711:6: ( '(' ) + // InternalScope.g:8712:6: '(' + { + match(input,27,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred33_InternalScope + + // $ANTLR start synpred34_InternalScope + public final void synpred34_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:8730:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) + // InternalScope.g:8730:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + { + // InternalScope.g:8730:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + // InternalScope.g:8731:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) + { + // InternalScope.g:8731:7: () + // InternalScope.g:8732:7: + { + } + + // InternalScope.g:8733:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? + int alt192=2; + int LA192_0 = input.LA(1); + + if ( (LA192_0==RULE_ID||LA192_0==27||LA192_0==97) ) { + alt192=1; + } + switch (alt192) { + case 1 : + // InternalScope.g:8734:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* + { + // InternalScope.g:8734:8: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:8735:9: ( ruleJvmFormalParameter ) + { + // InternalScope.g:8735:9: ( ruleJvmFormalParameter ) + // InternalScope.g:8736:10: ruleJvmFormalParameter + { + pushFollow(FOLLOW_91); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalScope.g:8739:8: ( ',' ( ( ruleJvmFormalParameter ) ) )* + loop191: + do { + int alt191=2; + int LA191_0 = input.LA(1); + + if ( (LA191_0==37) ) { + alt191=1; + } + + + switch (alt191) { + case 1 : + // InternalScope.g:8740:9: ',' ( ( ruleJvmFormalParameter ) ) + { + match(input,37,FOLLOW_72); if (state.failed) return ; + // InternalScope.g:8741:9: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:8742:10: ( ruleJvmFormalParameter ) + { + // InternalScope.g:8742:10: ( ruleJvmFormalParameter ) + // InternalScope.g:8743:11: ruleJvmFormalParameter + { + pushFollow(FOLLOW_91); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + default : + break loop191; + } + } while (true); + + + } + break; + + } + + // InternalScope.g:8748:7: ( ( '|' ) ) + // InternalScope.g:8749:8: ( '|' ) + { + // InternalScope.g:8749:8: ( '|' ) + // InternalScope.g:8750:9: '|' + { + match(input,44,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred34_InternalScope + + // $ANTLR start synpred35_InternalScope + public final void synpred35_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:8827:4: ( ( () '[' ) ) + // InternalScope.g:8827:5: ( () '[' ) + { + // InternalScope.g:8827:5: ( () '[' ) + // InternalScope.g:8828:5: () '[' + { + // InternalScope.g:8828:5: () + // InternalScope.g:8829:5: + { + } + + match(input,33,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred35_InternalScope + + // $ANTLR start synpred36_InternalScope + public final void synpred36_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:8987:5: ( '<' ) + // InternalScope.g:8987:6: '<' + { + match(input,65,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred36_InternalScope + + // $ANTLR start synpred37_InternalScope + public final void synpred37_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:9044:5: ( ( '(' ) ) + // InternalScope.g:9044:6: ( '(' ) + { + // InternalScope.g:9044:6: ( '(' ) + // InternalScope.g:9045:6: '(' + { + match(input,27,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred37_InternalScope + + // $ANTLR start synpred38_InternalScope + public final void synpred38_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:9063:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) + // InternalScope.g:9063:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + { + // InternalScope.g:9063:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) + // InternalScope.g:9064:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) + { + // InternalScope.g:9064:7: () + // InternalScope.g:9065:7: + { + } + + // InternalScope.g:9066:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? + int alt194=2; + int LA194_0 = input.LA(1); + + if ( (LA194_0==RULE_ID||LA194_0==27||LA194_0==97) ) { + alt194=1; + } + switch (alt194) { + case 1 : + // InternalScope.g:9067:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* + { + // InternalScope.g:9067:8: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:9068:9: ( ruleJvmFormalParameter ) + { + // InternalScope.g:9068:9: ( ruleJvmFormalParameter ) + // InternalScope.g:9069:10: ruleJvmFormalParameter + { + pushFollow(FOLLOW_91); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalScope.g:9072:8: ( ',' ( ( ruleJvmFormalParameter ) ) )* + loop193: + do { + int alt193=2; + int LA193_0 = input.LA(1); + + if ( (LA193_0==37) ) { + alt193=1; + } + + + switch (alt193) { + case 1 : + // InternalScope.g:9073:9: ',' ( ( ruleJvmFormalParameter ) ) + { + match(input,37,FOLLOW_72); if (state.failed) return ; + // InternalScope.g:9074:9: ( ( ruleJvmFormalParameter ) ) + // InternalScope.g:9075:10: ( ruleJvmFormalParameter ) + { + // InternalScope.g:9075:10: ( ruleJvmFormalParameter ) + // InternalScope.g:9076:11: ruleJvmFormalParameter + { + pushFollow(FOLLOW_91); + ruleJvmFormalParameter(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + default : + break loop193; + } + } while (true); + + + } + break; + + } + + // InternalScope.g:9081:7: ( ( '|' ) ) + // InternalScope.g:9082:8: ( '|' ) + { + // InternalScope.g:9082:8: ( '|' ) + // InternalScope.g:9083:9: '|' + { + match(input,44,FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred38_InternalScope + + // $ANTLR start synpred39_InternalScope + public final void synpred39_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:9160:4: ( ( () '[' ) ) + // InternalScope.g:9160:5: ( () '[' ) + { + // InternalScope.g:9160:5: ( () '[' ) + // InternalScope.g:9161:5: () '[' + { + // InternalScope.g:9161:5: () + // InternalScope.g:9162:5: + { + } + + match(input,33,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred39_InternalScope + + // $ANTLR start synpred40_InternalScope + public final void synpred40_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:9503:4: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING ) + // InternalScope.g: + { + if ( (input.LA(1)>=RULE_STRING && input.LA(1)<=RULE_INT)||(input.LA(1)>=RULE_ID && input.LA(1)<=RULE_DECIMAL)||input.LA(1)==16||input.LA(1)==18||input.LA(1)==22||input.LA(1)==27||input.LA(1)==29||input.LA(1)==33||input.LA(1)==52||input.LA(1)==55||(input.LA(1)>=65 && input.LA(1)<=67)||input.LA(1)==69||(input.LA(1)>=79 && input.LA(1)<=81)||input.LA(1)==83||(input.LA(1)>=105 && input.LA(1)<=107)||(input.LA(1)>=110 && input.LA(1)<=116)||input.LA(1)==118 ) { + input.consume(); + state.errorRecovery=false;state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + + + } + } + // $ANTLR end synpred40_InternalScope + + // $ANTLR start synpred41_InternalScope + public final void synpred41_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:9574:6: ( 'catch' ) + // InternalScope.g:9574:7: 'catch' + { + match(input,119,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred41_InternalScope + + // $ANTLR start synpred42_InternalScope + public final void synpred42_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:9595:7: ( 'finally' ) + // InternalScope.g:9595:8: 'finally' + { + match(input,117,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred42_InternalScope + + // $ANTLR start synpred45_InternalScope + public final void synpred45_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:9839:5: ( '.' ) + // InternalScope.g:9839:6: '.' + { + match(input,47,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred45_InternalScope + + // $ANTLR start synpred46_InternalScope + public final void synpred46_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:9965:5: ( ( () ruleArrayBrackets ) ) + // InternalScope.g:9965:6: ( () ruleArrayBrackets ) + { + // InternalScope.g:9965:6: ( () ruleArrayBrackets ) + // InternalScope.g:9966:6: () ruleArrayBrackets + { + // InternalScope.g:9966:6: () + // InternalScope.g:9967:6: + { + } + + pushFollow(FOLLOW_2); + ruleArrayBrackets(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred46_InternalScope + + // $ANTLR start synpred47_InternalScope + public final void synpred47_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:10162:5: ( '<' ) + // InternalScope.g:10162:6: '<' + { + match(input,65,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred47_InternalScope + + // $ANTLR start synpred48_InternalScope + public final void synpred48_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:10218:6: ( ( () '.' ) ) + // InternalScope.g:10218:7: ( () '.' ) + { + // InternalScope.g:10218:7: ( () '.' ) + // InternalScope.g:10219:7: () '.' + { + // InternalScope.g:10219:7: () + // InternalScope.g:10220:7: + { + } + + match(input,47,FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred48_InternalScope + + // $ANTLR start synpred49_InternalScope + public final void synpred49_InternalScope_fragment() throws RecognitionException { + // InternalScope.g:10256:7: ( '<' ) + // InternalScope.g:10256:8: '<' + { + match(input,65,FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred49_InternalScope + + // Delegated rules + + public final boolean synpred2_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred2_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred28_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred28_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred49_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred49_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred36_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred36_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred21_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred21_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred15_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred15_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred13_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred13_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred34_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred34_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred9_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred9_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred26_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred26_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred47_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred47_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred7_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred7_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred32_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred32_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred20_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred20_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred39_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred39_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred41_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred41_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred11_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred11_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred5_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred5_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred37_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred37_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred45_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred45_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred16_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred16_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred24_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred24_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred18_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred18_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred3_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred3_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred8_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred8_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred14_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred14_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred22_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred22_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred30_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred30_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred35_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred35_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred1_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred1_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred6_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred6_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred29_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred29_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred33_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred33_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred48_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred48_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred46_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred46_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred12_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred12_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred40_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred40_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred10_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred10_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred19_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred19_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred42_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred42_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred4_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred4_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred17_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred17_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred38_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred38_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred23_InternalScope() { + state.backtracking++; + int start = input.mark(); + try { + synpred23_InternalScope_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + + + protected DFA11 dfa11 = new DFA11(this); + protected DFA31 dfa31 = new DFA31(this); + protected DFA36 dfa36 = new DFA36(this); + protected DFA72 dfa72 = new DFA72(this); + protected DFA82 dfa82 = new DFA82(this); + protected DFA85 dfa85 = new DFA85(this); + protected DFA101 dfa101 = new DFA101(this); + protected DFA100 dfa100 = new DFA100(this); + protected DFA102 dfa102 = new DFA102(this); + protected DFA104 dfa104 = new DFA104(this); + protected DFA113 dfa113 = new DFA113(this); + protected DFA120 dfa120 = new DFA120(this); + protected DFA119 dfa119 = new DFA119(this); + protected DFA142 dfa142 = new DFA142(this); + protected DFA141 dfa141 = new DFA141(this); + protected DFA143 dfa143 = new DFA143(this); + protected DFA147 dfa147 = new DFA147(this); + protected DFA150 dfa150 = new DFA150(this); + protected DFA149 dfa149 = new DFA149(this); + protected DFA151 dfa151 = new DFA151(this); + protected DFA154 dfa154 = new DFA154(this); + protected DFA172 dfa172 = new DFA172(this); + protected DFA170 dfa170 = new DFA170(this); + protected DFA179 dfa179 = new DFA179(this); + static final String dfa_1s = "\6\uffff"; + static final String dfa_2s = "\1\7\1\26\1\7\2\uffff\1\26"; + static final String dfa_3s = "\1\7\1\56\1\7\2\uffff\1\56"; + static final String dfa_4s = "\3\uffff\1\2\1\1\1\uffff"; + static final String dfa_5s = "\6\uffff}>"; + static final String[] dfa_6s = { + "\1\1", + "\1\4\6\uffff\1\3\20\uffff\1\2", + "\1\5", + "", + "", + "\1\4\6\uffff\1\3\20\uffff\1\2" + }; + + static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); + static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s); + static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); + static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s); + static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); + static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); + + class DFA11 extends DFA { + + public DFA11(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 11; + this.eot = dfa_1; + this.eof = dfa_1; + this.min = dfa_2; + this.max = dfa_3; + this.accept = dfa_4; + this.special = dfa_5; + this.transition = dfa_6; + } + public String getDescription() { + return "584:3: ( ( ( ruleQualifiedID ) ) | ( ( ( ruleQualifiedID ) ) otherlv_6= '#' ( ( ruleIdentifier ) ) ) )"; + } + } + static final String dfa_7s = "\40\uffff"; + static final String dfa_8s = "\1\4\1\0\36\uffff"; + static final String dfa_9s = "\1\126\1\0\36\uffff"; + static final String dfa_10s = "\2\uffff\1\2\34\uffff\1\1"; + static final String dfa_11s = "\1\uffff\1\0\36\uffff}>"; + static final String[] dfa_12s = { + "\4\2\16\uffff\1\2\4\uffff\1\1\7\uffff\1\2\11\uffff\1\2\2\uffff\1\2\3\uffff\1\2\2\uffff\1\2\13\uffff\1\2\1\uffff\22\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); + static final char[] dfa_8 = DFA.unpackEncodedStringToUnsignedChars(dfa_8s); + static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s); + static final short[] dfa_10 = DFA.unpackEncodedString(dfa_10s); + static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s); + static final short[][] dfa_12 = unpackEncodedStringArray(dfa_12s); + + class DFA31 extends DFA { + + public DFA31(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 31; + this.eot = dfa_7; + this.eof = dfa_7; + this.min = dfa_8; + this.max = dfa_9; + this.accept = dfa_10; + this.special = dfa_11; + this.transition = dfa_12; + } + public String getDescription() { + return "1643:2: ( ( ( '(' )=> (otherlv_0= '(' ( (lv_names_1_0= ruleNamingExpression ) ) (otherlv_2= ',' ( (lv_names_3_0= ruleNamingExpression ) ) )* otherlv_4= ')' ) ) | ( (lv_names_5_0= ruleNamingExpression ) ) )"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA31_1 = input.LA(1); + + + int index31_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred1_InternalScope()) ) {s = 31;} + + else if ( (true) ) {s = 2;} + + + input.seek(index31_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 31, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_13s = "\36\uffff"; + static final String dfa_14s = "\1\4\1\uffff\1\0\33\uffff"; + static final String dfa_15s = "\1\126\1\uffff\1\0\33\uffff"; + static final String dfa_16s = "\1\uffff\1\1\1\uffff\1\3\31\uffff\1\2"; + static final String dfa_17s = "\2\uffff\1\0\33\uffff}>"; + static final String[] dfa_18s = { + "\4\3\16\uffff\1\3\4\uffff\1\2\24\uffff\1\1\3\uffff\1\3\2\uffff\1\3\13\uffff\1\3\1\uffff\22\3", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s); + static final char[] dfa_14 = DFA.unpackEncodedStringToUnsignedChars(dfa_14s); + static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s); + static final short[] dfa_16 = DFA.unpackEncodedString(dfa_16s); + static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s); + static final short[][] dfa_18 = unpackEncodedStringArray(dfa_18s); + + class DFA36 extends DFA { + + public DFA36(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 36; + this.eot = dfa_13; + this.eof = dfa_13; + this.min = dfa_14; + this.max = dfa_15; + this.accept = dfa_16; + this.special = dfa_17; + this.transition = dfa_18; + } + public String getDescription() { + return "1900:2: (this_LetExpression_0= ruleLetExpression | ( ( ruleCastedExpression )=>this_CastedExpression_1= ruleCastedExpression ) | this_ChainExpression_2= ruleChainExpression )"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA36_2 = input.LA(1); + + + int index36_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred2_InternalScope()) ) {s = 29;} + + else if ( (true) ) {s = 3;} + + + input.seek(index36_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 36, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_19s = "\12\uffff"; + static final String dfa_20s = "\1\10\11\uffff"; + static final String dfa_21s = "\1\4\7\0\2\uffff"; + static final String dfa_22s = "\1\167\7\0\2\uffff"; + static final String dfa_23s = "\10\uffff\1\2\1\1"; + static final String dfa_24s = "\1\uffff\1\2\1\3\1\4\1\5\1\6\1\1\1\0\2\uffff}>"; + static final String[] dfa_25s = { + "\2\10\1\uffff\3\10\6\uffff\3\10\1\uffff\1\10\1\uffff\2\10\1\uffff\1\10\1\uffff\3\10\2\uffff\3\10\2\uffff\1\10\10\uffff\2\10\1\uffff\2\10\1\uffff\1\10\1\uffff\5\10\1\uffff\3\10\1\uffff\1\7\1\6\4\10\11\uffff\3\10\1\uffff\1\10\3\uffff\1\1\1\2\1\3\1\4\1\5\34\10", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "" + }; + + static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); + static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s); + static final char[] dfa_21 = DFA.unpackEncodedStringToUnsignedChars(dfa_21s); + static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s); + static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); + static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s); + static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s); + + class DFA72 extends DFA { + + public DFA72(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 72; + this.eot = dfa_19; + this.eof = dfa_20; + this.min = dfa_21; + this.max = dfa_22; + this.accept = dfa_23; + this.special = dfa_24; + this.transition = dfa_25; + } + public String getDescription() { + return "4700:4: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA72_7 = input.LA(1); + + + int index72_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred4_InternalScope()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index72_7); + if ( s>=0 ) return s; + break; + case 1 : + int LA72_6 = input.LA(1); + + + int index72_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred4_InternalScope()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index72_6); + if ( s>=0 ) return s; + break; + case 2 : + int LA72_1 = input.LA(1); + + + int index72_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred4_InternalScope()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index72_1); + if ( s>=0 ) return s; + break; + case 3 : + int LA72_2 = input.LA(1); + + + int index72_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred4_InternalScope()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index72_2); + if ( s>=0 ) return s; + break; + case 4 : + int LA72_3 = input.LA(1); + + + int index72_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred4_InternalScope()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index72_3); + if ( s>=0 ) return s; + break; + case 5 : + int LA72_4 = input.LA(1); + + + int index72_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred4_InternalScope()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index72_4); + if ( s>=0 ) return s; + break; + case 6 : + int LA72_5 = input.LA(1); + + + int index72_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred4_InternalScope()) ) {s = 9;} + + else if ( (true) ) {s = 8;} + + + input.seek(index72_5); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 72, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_26s = "\13\uffff"; + static final String dfa_27s = "\1\1\12\uffff"; + static final String dfa_28s = "\1\4\1\uffff\10\0\1\uffff"; + static final String dfa_29s = "\1\167\1\uffff\10\0\1\uffff"; + static final String dfa_30s = "\1\uffff\1\2\10\uffff\1\1"; + static final String dfa_31s = "\2\uffff\1\6\1\3\1\0\1\1\1\7\1\2\1\4\1\5\1\uffff}>"; + static final String[] dfa_32s = { + "\2\1\1\uffff\3\1\6\uffff\3\1\1\uffff\1\1\1\uffff\2\1\1\uffff\1\1\1\uffff\3\1\2\uffff\3\1\2\uffff\1\1\10\uffff\2\1\1\uffff\1\1\1\4\1\uffff\1\1\1\uffff\5\1\1\uffff\3\1\1\uffff\1\3\1\2\4\1\11\uffff\3\1\1\uffff\1\1\3\uffff\10\1\1\5\1\6\1\7\1\10\1\11\24\1", + "", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "" + }; + + static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s); + static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s); + static final char[] dfa_28 = DFA.unpackEncodedStringToUnsignedChars(dfa_28s); + static final char[] dfa_29 = DFA.unpackEncodedStringToUnsignedChars(dfa_29s); + static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s); + static final short[] dfa_31 = DFA.unpackEncodedString(dfa_31s); + static final short[][] dfa_32 = unpackEncodedStringArray(dfa_32s); + + class DFA82 extends DFA { + + public DFA82(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 82; + this.eot = dfa_26; + this.eof = dfa_27; + this.min = dfa_28; + this.max = dfa_29; + this.accept = dfa_30; + this.special = dfa_31; + this.transition = dfa_32; + } + public String getDescription() { + return "()* loopback of 5414:3: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA82_4 = input.LA(1); + + + int index82_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred10_InternalScope()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index82_4); + if ( s>=0 ) return s; + break; + case 1 : + int LA82_5 = input.LA(1); + + + int index82_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred10_InternalScope()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index82_5); + if ( s>=0 ) return s; + break; + case 2 : + int LA82_7 = input.LA(1); + + + int index82_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred10_InternalScope()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index82_7); + if ( s>=0 ) return s; + break; + case 3 : + int LA82_3 = input.LA(1); + + + int index82_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred10_InternalScope()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index82_3); + if ( s>=0 ) return s; + break; + case 4 : + int LA82_8 = input.LA(1); + + + int index82_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred10_InternalScope()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index82_8); + if ( s>=0 ) return s; + break; + case 5 : + int LA82_9 = input.LA(1); + + + int index82_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred10_InternalScope()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index82_9); + if ( s>=0 ) return s; + break; + case 6 : + int LA82_2 = input.LA(1); + + + int index82_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred10_InternalScope()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index82_2); + if ( s>=0 ) return s; + break; + case 7 : + int LA82_6 = input.LA(1); + + + int index82_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred10_InternalScope()) ) {s = 10;} + + else if ( (true) ) {s = 1;} + + + input.seek(index82_6); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 82, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_33s = "\1\62\2\uffff\1\100\7\uffff"; + static final String dfa_34s = "\1\143\2\uffff\1\140\7\uffff"; + static final String dfa_35s = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\6\1\3"; + static final String dfa_36s = "\13\uffff}>"; + static final String[] dfa_37s = { + "\1\1\15\uffff\1\3\1\6\35\uffff\1\2\1\4\1\5\1\7\1\10", + "", + "", + "\1\11\37\uffff\1\12", + "", + "", + "", + "", + "", + "", + "" + }; + static final char[] dfa_33 = DFA.unpackEncodedStringToUnsignedChars(dfa_33s); + static final char[] dfa_34 = DFA.unpackEncodedStringToUnsignedChars(dfa_34s); + static final short[] dfa_35 = DFA.unpackEncodedString(dfa_35s); + static final short[] dfa_36 = DFA.unpackEncodedString(dfa_36s); + static final short[][] dfa_37 = unpackEncodedStringArray(dfa_37s); + + class DFA85 extends DFA { + + public DFA85(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 85; + this.eot = dfa_26; + this.eof = dfa_26; + this.min = dfa_33; + this.max = dfa_34; + this.accept = dfa_35; + this.special = dfa_36; + this.transition = dfa_37; + } + public String getDescription() { + return "5490:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )"; + } + } + static final String dfa_38s = "\116\uffff"; + static final String dfa_39s = "\1\2\115\uffff"; + static final String dfa_40s = "\1\4\1\0\114\uffff"; + static final String dfa_41s = "\1\167\1\0\114\uffff"; + static final String dfa_42s = "\2\uffff\1\2\112\uffff\1\1"; + static final String dfa_43s = "\1\uffff\1\0\114\uffff}>"; + static final String[] dfa_44s = { + "\2\2\1\uffff\3\2\6\uffff\3\2\1\uffff\1\2\1\uffff\2\2\1\uffff\1\2\1\uffff\1\1\2\2\2\uffff\3\2\2\uffff\1\2\10\uffff\2\2\1\uffff\2\2\1\uffff\1\2\1\uffff\5\2\1\uffff\3\2\1\uffff\6\2\11\uffff\3\2\1\uffff\1\2\3\uffff\41\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_38 = DFA.unpackEncodedString(dfa_38s); + static final short[] dfa_39 = DFA.unpackEncodedString(dfa_39s); + static final char[] dfa_40 = DFA.unpackEncodedStringToUnsignedChars(dfa_40s); + static final char[] dfa_41 = DFA.unpackEncodedStringToUnsignedChars(dfa_41s); + static final short[] dfa_42 = DFA.unpackEncodedString(dfa_42s); + static final short[] dfa_43 = DFA.unpackEncodedString(dfa_43s); + static final short[][] dfa_44 = unpackEncodedStringArray(dfa_44s); + + class DFA101 extends DFA { + + public DFA101(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 101; + this.eot = dfa_38; + this.eof = dfa_39; + this.min = dfa_40; + this.max = dfa_41; + this.accept = dfa_42; + this.special = dfa_43; + this.transition = dfa_44; + } + public String getDescription() { + return "6391:5: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA101_1 = input.LA(1); + + + int index101_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred19_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index101_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 101, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_45s = "\44\uffff"; + static final String dfa_46s = "\1\4\2\0\41\uffff"; + static final String dfa_47s = "\1\166\2\0\41\uffff"; + static final String dfa_48s = "\3\uffff\2\1\1\2\35\uffff\1\3"; + static final String dfa_49s = "\1\0\1\1\1\2\41\uffff}>"; + static final String[] dfa_50s = { + "\2\5\1\uffff\1\1\2\5\6\uffff\1\5\1\uffff\1\5\3\uffff\1\5\4\uffff\1\2\1\43\1\5\3\uffff\1\5\12\uffff\1\4\7\uffff\1\5\2\uffff\1\5\11\uffff\3\5\1\uffff\1\5\11\uffff\3\5\1\uffff\1\5\15\uffff\1\3\7\uffff\3\5\2\uffff\7\5\1\uffff\1\5", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_45 = DFA.unpackEncodedString(dfa_45s); + static final char[] dfa_46 = DFA.unpackEncodedStringToUnsignedChars(dfa_46s); + static final char[] dfa_47 = DFA.unpackEncodedStringToUnsignedChars(dfa_47s); + static final short[] dfa_48 = DFA.unpackEncodedString(dfa_48s); + static final short[] dfa_49 = DFA.unpackEncodedString(dfa_49s); + static final short[][] dfa_50 = unpackEncodedStringArray(dfa_50s); + + class DFA100 extends DFA { + + public DFA100(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 100; + this.eot = dfa_45; + this.eof = dfa_45; + this.min = dfa_46; + this.max = dfa_47; + this.accept = dfa_48; + this.special = dfa_49; + this.transition = dfa_50; + } + public String getDescription() { + return "6410:6: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA100_0 = input.LA(1); + + + int index100_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA100_0==RULE_ID) ) {s = 1;} + + else if ( (LA100_0==27) ) {s = 2;} + + else if ( (LA100_0==97) && (synpred20_InternalScope())) {s = 3;} + + else if ( (LA100_0==44) && (synpred20_InternalScope())) {s = 4;} + + else if ( ((LA100_0>=RULE_STRING && LA100_0<=RULE_INT)||(LA100_0>=RULE_HEX && LA100_0<=RULE_DECIMAL)||LA100_0==16||LA100_0==18||LA100_0==22||LA100_0==29||LA100_0==33||LA100_0==52||LA100_0==55||(LA100_0>=65 && LA100_0<=67)||LA100_0==69||(LA100_0>=79 && LA100_0<=81)||LA100_0==83||(LA100_0>=105 && LA100_0<=107)||(LA100_0>=110 && LA100_0<=116)||LA100_0==118) ) {s = 5;} + + else if ( (LA100_0==28) ) {s = 35;} + + + input.seek(index100_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA100_1 = input.LA(1); + + + int index100_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred20_InternalScope()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index100_1); + if ( s>=0 ) return s; + break; + case 2 : + int LA100_2 = input.LA(1); + + + int index100_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred20_InternalScope()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index100_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 100, _s, input); + error(nvae); + throw nvae; + } + } + static final String[] dfa_51s = { + "\2\2\1\uffff\3\2\6\uffff\3\2\1\uffff\1\2\1\uffff\2\2\1\uffff\1\2\1\uffff\3\2\2\uffff\1\2\1\1\1\2\2\uffff\1\2\10\uffff\2\2\1\uffff\2\2\1\uffff\1\2\1\uffff\5\2\1\uffff\3\2\1\uffff\6\2\11\uffff\3\2\1\uffff\1\2\3\uffff\41\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[][] dfa_51 = unpackEncodedStringArray(dfa_51s); + + class DFA102 extends DFA { + + public DFA102(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 102; + this.eot = dfa_38; + this.eof = dfa_39; + this.min = dfa_40; + this.max = dfa_41; + this.accept = dfa_42; + this.special = dfa_43; + this.transition = dfa_51; + } + public String getDescription() { + return "6508:5: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA102_1 = input.LA(1); + + + int index102_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred21_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index102_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 102, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_52s = "\1\4\26\uffff\1\0\10\uffff"; + static final String dfa_53s = "\1\166\26\uffff\1\0\10\uffff"; + static final String dfa_54s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\6\uffff\1\6\11\uffff\1\7\1\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\10\1\11"; + static final String dfa_55s = "\1\0\26\uffff\1\1\10\uffff}>"; + static final String[] dfa_56s = { + "\2\14\1\uffff\1\5\2\14\6\uffff\1\5\1\uffff\1\5\3\uffff\1\2\4\uffff\1\35\1\uffff\1\14\3\uffff\1\14\22\uffff\1\26\2\uffff\1\3\11\uffff\1\5\15\uffff\3\14\1\uffff\1\1\25\uffff\1\27\1\30\1\31\2\uffff\3\5\1\14\1\32\1\33\1\34\1\uffff\1\4", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final char[] dfa_52 = DFA.unpackEncodedStringToUnsignedChars(dfa_52s); + static final char[] dfa_53 = DFA.unpackEncodedStringToUnsignedChars(dfa_53s); + static final short[] dfa_54 = DFA.unpackEncodedString(dfa_54s); + static final short[] dfa_55 = DFA.unpackEncodedString(dfa_55s); + static final short[][] dfa_56 = unpackEncodedStringArray(dfa_56s); + + class DFA104 extends DFA { + + public DFA104(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 104; + this.eot = dfa_7; + this.eof = dfa_7; + this.min = dfa_52; + this.max = dfa_53; + this.accept = dfa_54; + this.special = dfa_55; + this.transition = dfa_56; + } + public String getDescription() { + return "6553:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA104_0 = input.LA(1); + + + int index104_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA104_0==83) ) {s = 1;} + + else if ( (LA104_0==22) ) {s = 2;} + + else if ( (LA104_0==55) ) {s = 3;} + + else if ( (LA104_0==118) && (synpred22_InternalScope())) {s = 4;} + + else if ( (LA104_0==RULE_ID||LA104_0==16||LA104_0==18||LA104_0==65||(LA104_0>=110 && LA104_0<=112)) ) {s = 5;} + + else if ( ((LA104_0>=RULE_STRING && LA104_0<=RULE_INT)||(LA104_0>=RULE_HEX && LA104_0<=RULE_DECIMAL)||LA104_0==29||LA104_0==33||(LA104_0>=79 && LA104_0<=81)||LA104_0==113) ) {s = 12;} + + else if ( (LA104_0==52) ) {s = 22;} + + else if ( (LA104_0==105) ) {s = 23;} + + else if ( (LA104_0==106) ) {s = 24;} + + else if ( (LA104_0==107) ) {s = 25;} + + else if ( (LA104_0==114) ) {s = 26;} + + else if ( (LA104_0==115) ) {s = 27;} + + else if ( (LA104_0==116) ) {s = 28;} + + else if ( (LA104_0==27) ) {s = 29;} + + + input.seek(index104_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA104_23 = input.LA(1); + + + int index104_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred23_InternalScope()) ) {s = 30;} + + else if ( (true) ) {s = 31;} + + + input.seek(index104_23); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 104, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_57s = "\46\uffff"; + static final String dfa_58s = "\1\4\2\0\43\uffff"; + static final String dfa_59s = "\1\166\2\0\43\uffff"; + static final String dfa_60s = "\3\uffff\2\1\1\2\40\uffff"; + static final String dfa_61s = "\1\0\1\1\1\2\43\uffff}>"; + static final String[] dfa_62s = { + "\2\5\1\uffff\1\1\2\5\6\uffff\1\5\1\uffff\1\5\3\uffff\1\5\4\uffff\1\2\1\uffff\1\5\3\uffff\2\5\11\uffff\1\4\7\uffff\1\5\2\uffff\1\5\11\uffff\3\5\1\uffff\1\5\11\uffff\3\5\1\uffff\1\5\15\uffff\1\3\7\uffff\14\5\1\uffff\1\5", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_57 = DFA.unpackEncodedString(dfa_57s); + static final char[] dfa_58 = DFA.unpackEncodedStringToUnsignedChars(dfa_58s); + static final char[] dfa_59 = DFA.unpackEncodedStringToUnsignedChars(dfa_59s); + static final short[] dfa_60 = DFA.unpackEncodedString(dfa_60s); + static final short[] dfa_61 = DFA.unpackEncodedString(dfa_61s); + static final short[][] dfa_62 = unpackEncodedStringArray(dfa_62s); + + class DFA113 extends DFA { + + public DFA113(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 113; + this.eot = dfa_57; + this.eof = dfa_57; + this.min = dfa_58; + this.max = dfa_59; + this.accept = dfa_60; + this.special = dfa_61; + this.transition = dfa_62; + } + public String getDescription() { + return "7045:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA113_0 = input.LA(1); + + + int index113_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA113_0==RULE_ID) ) {s = 1;} + + else if ( (LA113_0==27) ) {s = 2;} + + else if ( (LA113_0==97) && (synpred26_InternalScope())) {s = 3;} + + else if ( (LA113_0==44) && (synpred26_InternalScope())) {s = 4;} + + else if ( ((LA113_0>=RULE_STRING && LA113_0<=RULE_INT)||(LA113_0>=RULE_HEX && LA113_0<=RULE_DECIMAL)||LA113_0==16||LA113_0==18||LA113_0==22||LA113_0==29||(LA113_0>=33 && LA113_0<=34)||LA113_0==52||LA113_0==55||(LA113_0>=65 && LA113_0<=67)||LA113_0==69||(LA113_0>=79 && LA113_0<=81)||LA113_0==83||(LA113_0>=105 && LA113_0<=116)||LA113_0==118) ) {s = 5;} + + + input.seek(index113_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA113_1 = input.LA(1); + + + int index113_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred26_InternalScope()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index113_1); + if ( s>=0 ) return s; + break; + case 2 : + int LA113_2 = input.LA(1); + + + int index113_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred26_InternalScope()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index113_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 113, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_63s = "\43\uffff"; + static final String dfa_64s = "\1\4\1\0\41\uffff"; + static final String dfa_65s = "\1\166\1\0\41\uffff"; + static final String dfa_66s = "\2\uffff\1\2\37\uffff\1\1"; + static final String dfa_67s = "\1\uffff\1\0\41\uffff}>"; + static final String[] dfa_68s = { + "\2\2\1\uffff\3\2\6\uffff\1\2\1\uffff\1\2\3\uffff\1\2\4\uffff\1\1\1\uffff\1\2\3\uffff\1\2\22\uffff\1\2\2\uffff\1\2\11\uffff\3\2\1\uffff\1\2\11\uffff\3\2\1\uffff\1\2\15\uffff\1\2\7\uffff\3\2\2\uffff\7\2\1\uffff\1\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_63 = DFA.unpackEncodedString(dfa_63s); + static final char[] dfa_64 = DFA.unpackEncodedStringToUnsignedChars(dfa_64s); + static final char[] dfa_65 = DFA.unpackEncodedStringToUnsignedChars(dfa_65s); + static final short[] dfa_66 = DFA.unpackEncodedString(dfa_66s); + static final short[] dfa_67 = DFA.unpackEncodedString(dfa_67s); + static final short[][] dfa_68 = unpackEncodedStringArray(dfa_68s); + + class DFA120 extends DFA { + + public DFA120(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 120; + this.eot = dfa_63; + this.eof = dfa_63; + this.min = dfa_64; + this.max = dfa_65; + this.accept = dfa_66; + this.special = dfa_67; + this.transition = dfa_68; + } + public String getDescription() { + return "7511:3: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) )"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA120_1 = input.LA(1); + + + int index120_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred29_InternalScope()) ) {s = 34;} + + else if ( (true) ) {s = 2;} + + + input.seek(index120_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 120, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_69s = "\42\uffff"; + static final String dfa_70s = "\1\4\2\0\37\uffff"; + static final String dfa_71s = "\1\166\2\0\37\uffff"; + static final String dfa_72s = "\3\uffff\1\1\1\2\35\uffff"; + static final String dfa_73s = "\1\0\1\1\1\2\37\uffff}>"; + static final String[] dfa_74s = { + "\2\4\1\uffff\1\1\2\4\6\uffff\1\4\1\uffff\1\4\3\uffff\1\4\4\uffff\1\2\1\uffff\1\4\3\uffff\1\4\22\uffff\1\4\2\uffff\1\4\11\uffff\3\4\1\uffff\1\4\11\uffff\3\4\1\uffff\1\4\15\uffff\1\3\7\uffff\3\4\2\uffff\7\4\1\uffff\1\4", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_69 = DFA.unpackEncodedString(dfa_69s); + static final char[] dfa_70 = DFA.unpackEncodedStringToUnsignedChars(dfa_70s); + static final char[] dfa_71 = DFA.unpackEncodedStringToUnsignedChars(dfa_71s); + static final short[] dfa_72 = DFA.unpackEncodedString(dfa_72s); + static final short[] dfa_73 = DFA.unpackEncodedString(dfa_73s); + static final short[][] dfa_74 = unpackEncodedStringArray(dfa_74s); + + class DFA119 extends DFA { + + public DFA119(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 119; + this.eot = dfa_69; + this.eof = dfa_69; + this.min = dfa_70; + this.max = dfa_71; + this.accept = dfa_72; + this.special = dfa_73; + this.transition = dfa_74; + } + public String getDescription() { + return "7580:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA119_0 = input.LA(1); + + + int index119_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA119_0==RULE_ID) ) {s = 1;} + + else if ( (LA119_0==27) ) {s = 2;} + + else if ( (LA119_0==97) && (synpred30_InternalScope())) {s = 3;} + + else if ( ((LA119_0>=RULE_STRING && LA119_0<=RULE_INT)||(LA119_0>=RULE_HEX && LA119_0<=RULE_DECIMAL)||LA119_0==16||LA119_0==18||LA119_0==22||LA119_0==29||LA119_0==33||LA119_0==52||LA119_0==55||(LA119_0>=65 && LA119_0<=67)||LA119_0==69||(LA119_0>=79 && LA119_0<=81)||LA119_0==83||(LA119_0>=105 && LA119_0<=107)||(LA119_0>=110 && LA119_0<=116)||LA119_0==118) ) {s = 4;} + + + input.seek(index119_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA119_1 = input.LA(1); + + + int index119_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred30_InternalScope()) ) {s = 3;} + + else if ( (true) ) {s = 4;} + + + input.seek(index119_1); + if ( s>=0 ) return s; + break; + case 2 : + int LA119_2 = input.LA(1); + + + int index119_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred30_InternalScope()) ) {s = 3;} + + else if ( (true) ) {s = 4;} + + + input.seek(index119_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 119, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA142 extends DFA { + + public DFA142(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 142; + this.eot = dfa_38; + this.eof = dfa_39; + this.min = dfa_40; + this.max = dfa_41; + this.accept = dfa_42; + this.special = dfa_43; + this.transition = dfa_44; + } + public String getDescription() { + return "8709:3: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA142_1 = input.LA(1); + + + int index142_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred33_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index142_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 142, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA141 extends DFA { + + public DFA141(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 141; + this.eot = dfa_45; + this.eof = dfa_45; + this.min = dfa_46; + this.max = dfa_47; + this.accept = dfa_48; + this.special = dfa_49; + this.transition = dfa_50; + } + public String getDescription() { + return "8728:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA141_0 = input.LA(1); + + + int index141_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA141_0==RULE_ID) ) {s = 1;} + + else if ( (LA141_0==27) ) {s = 2;} + + else if ( (LA141_0==97) && (synpred34_InternalScope())) {s = 3;} + + else if ( (LA141_0==44) && (synpred34_InternalScope())) {s = 4;} + + else if ( ((LA141_0>=RULE_STRING && LA141_0<=RULE_INT)||(LA141_0>=RULE_HEX && LA141_0<=RULE_DECIMAL)||LA141_0==16||LA141_0==18||LA141_0==22||LA141_0==29||LA141_0==33||LA141_0==52||LA141_0==55||(LA141_0>=65 && LA141_0<=67)||LA141_0==69||(LA141_0>=79 && LA141_0<=81)||LA141_0==83||(LA141_0>=105 && LA141_0<=107)||(LA141_0>=110 && LA141_0<=116)||LA141_0==118) ) {s = 5;} + + else if ( (LA141_0==28) ) {s = 35;} + + + input.seek(index141_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA141_1 = input.LA(1); + + + int index141_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred34_InternalScope()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index141_1); + if ( s>=0 ) return s; + break; + case 2 : + int LA141_2 = input.LA(1); + + + int index141_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred34_InternalScope()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index141_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 141, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA143 extends DFA { + + public DFA143(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 143; + this.eot = dfa_38; + this.eof = dfa_39; + this.min = dfa_40; + this.max = dfa_41; + this.accept = dfa_42; + this.special = dfa_43; + this.transition = dfa_51; + } + public String getDescription() { + return "8826:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA143_1 = input.LA(1); + + + int index143_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred35_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index143_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 143, _s, input); + error(nvae); + throw nvae; + } + } + static final String[] dfa_75s = { + "\2\2\1\uffff\3\2\6\uffff\3\2\1\uffff\1\2\1\uffff\2\2\1\uffff\1\2\1\uffff\3\2\2\uffff\3\2\2\uffff\1\2\10\uffff\2\2\1\uffff\2\2\1\uffff\1\2\1\uffff\5\2\1\uffff\3\2\1\uffff\1\2\1\1\4\2\11\uffff\3\2\1\uffff\1\2\3\uffff\41\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[][] dfa_75 = unpackEncodedStringArray(dfa_75s); + + class DFA147 extends DFA { + + public DFA147(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 147; + this.eot = dfa_38; + this.eof = dfa_39; + this.min = dfa_40; + this.max = dfa_41; + this.accept = dfa_42; + this.special = dfa_43; + this.transition = dfa_75; + } + public String getDescription() { + return "8985:3: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA147_1 = input.LA(1); + + + int index147_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred36_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index147_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 147, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA150 extends DFA { + + public DFA150(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 150; + this.eot = dfa_38; + this.eof = dfa_39; + this.min = dfa_40; + this.max = dfa_41; + this.accept = dfa_42; + this.special = dfa_43; + this.transition = dfa_44; + } + public String getDescription() { + return "9042:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA150_1 = input.LA(1); + + + int index150_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred37_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index150_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 150, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA149 extends DFA { + + public DFA149(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 149; + this.eot = dfa_45; + this.eof = dfa_45; + this.min = dfa_46; + this.max = dfa_47; + this.accept = dfa_48; + this.special = dfa_49; + this.transition = dfa_50; + } + public String getDescription() { + return "9061:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA149_0 = input.LA(1); + + + int index149_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA149_0==RULE_ID) ) {s = 1;} + + else if ( (LA149_0==27) ) {s = 2;} + + else if ( (LA149_0==97) && (synpred38_InternalScope())) {s = 3;} + + else if ( (LA149_0==44) && (synpred38_InternalScope())) {s = 4;} + + else if ( ((LA149_0>=RULE_STRING && LA149_0<=RULE_INT)||(LA149_0>=RULE_HEX && LA149_0<=RULE_DECIMAL)||LA149_0==16||LA149_0==18||LA149_0==22||LA149_0==29||LA149_0==33||LA149_0==52||LA149_0==55||(LA149_0>=65 && LA149_0<=67)||LA149_0==69||(LA149_0>=79 && LA149_0<=81)||LA149_0==83||(LA149_0>=105 && LA149_0<=107)||(LA149_0>=110 && LA149_0<=116)||LA149_0==118) ) {s = 5;} + + else if ( (LA149_0==28) ) {s = 35;} + + + input.seek(index149_0); + if ( s>=0 ) return s; + break; + case 1 : + int LA149_1 = input.LA(1); + + + int index149_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred38_InternalScope()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index149_1); + if ( s>=0 ) return s; + break; + case 2 : + int LA149_2 = input.LA(1); + + + int index149_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred38_InternalScope()) ) {s = 4;} + + else if ( (true) ) {s = 5;} + + + input.seek(index149_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 149, _s, input); + error(nvae); + throw nvae; + } + } + + class DFA151 extends DFA { + + public DFA151(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 151; + this.eot = dfa_38; + this.eof = dfa_39; + this.min = dfa_40; + this.max = dfa_41; + this.accept = dfa_42; + this.special = dfa_43; + this.transition = dfa_51; + } + public String getDescription() { + return "9159:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA151_1 = input.LA(1); + + + int index151_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 2;} + + + input.seek(index151_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 151, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_76s = "\1\41\115\uffff"; + static final String dfa_77s = "\1\4\40\0\55\uffff"; + static final String dfa_78s = "\1\167\40\0\55\uffff"; + static final String dfa_79s = "\41\uffff\1\2\53\uffff\1\1"; + static final String dfa_80s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\55\uffff}>"; + static final String[] dfa_81s = { + "\1\27\1\24\1\uffff\1\1\1\23\1\25\6\uffff\1\4\1\41\1\5\1\uffff\1\41\1\uffff\1\12\1\41\1\uffff\1\41\1\uffff\1\40\1\41\1\17\2\uffff\1\41\1\20\1\41\2\uffff\1\41\10\uffff\2\41\1\uffff\2\41\1\uffff\1\31\1\uffff\1\41\1\13\3\41\1\uffff\3\41\1\uffff\1\41\1\15\1\10\1\7\1\41\1\6\11\uffff\1\22\1\21\1\26\1\uffff\1\11\3\uffff\22\41\1\32\1\33\1\34\2\41\1\2\1\3\1\16\1\30\1\35\1\36\1\37\1\41\1\14\1\41", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + static final short[] dfa_76 = DFA.unpackEncodedString(dfa_76s); + static final char[] dfa_77 = DFA.unpackEncodedStringToUnsignedChars(dfa_77s); + static final char[] dfa_78 = DFA.unpackEncodedStringToUnsignedChars(dfa_78s); + static final short[] dfa_79 = DFA.unpackEncodedString(dfa_79s); + static final short[] dfa_80 = DFA.unpackEncodedString(dfa_80s); + static final short[][] dfa_81 = unpackEncodedStringArray(dfa_81s); + + class DFA154 extends DFA { + + public DFA154(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 154; + this.eot = dfa_38; + this.eof = dfa_76; + this.min = dfa_77; + this.max = dfa_78; + this.accept = dfa_79; + this.special = dfa_80; + this.transition = dfa_81; + } + public String getDescription() { + return "9502:3: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA154_1 = input.LA(1); + + + int index154_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA154_2 = input.LA(1); + + + int index154_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_2); + if ( s>=0 ) return s; + break; + case 2 : + int LA154_3 = input.LA(1); + + + int index154_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_3); + if ( s>=0 ) return s; + break; + case 3 : + int LA154_4 = input.LA(1); + + + int index154_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_4); + if ( s>=0 ) return s; + break; + case 4 : + int LA154_5 = input.LA(1); + + + int index154_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_5); + if ( s>=0 ) return s; + break; + case 5 : + int LA154_6 = input.LA(1); + + + int index154_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_6); + if ( s>=0 ) return s; + break; + case 6 : + int LA154_7 = input.LA(1); + + + int index154_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_7); + if ( s>=0 ) return s; + break; + case 7 : + int LA154_8 = input.LA(1); + + + int index154_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_8); + if ( s>=0 ) return s; + break; + case 8 : + int LA154_9 = input.LA(1); + + + int index154_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_9); + if ( s>=0 ) return s; + break; + case 9 : + int LA154_10 = input.LA(1); + + + int index154_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_10); + if ( s>=0 ) return s; + break; + case 10 : + int LA154_11 = input.LA(1); + + + int index154_11 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_11); + if ( s>=0 ) return s; + break; + case 11 : + int LA154_12 = input.LA(1); + + + int index154_12 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_12); + if ( s>=0 ) return s; + break; + case 12 : + int LA154_13 = input.LA(1); + + + int index154_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_13); + if ( s>=0 ) return s; + break; + case 13 : + int LA154_14 = input.LA(1); + + + int index154_14 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_14); + if ( s>=0 ) return s; + break; + case 14 : + int LA154_15 = input.LA(1); + + + int index154_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_15); + if ( s>=0 ) return s; + break; + case 15 : + int LA154_16 = input.LA(1); + + + int index154_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_16); + if ( s>=0 ) return s; + break; + case 16 : + int LA154_17 = input.LA(1); + + + int index154_17 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_17); + if ( s>=0 ) return s; + break; + case 17 : + int LA154_18 = input.LA(1); + + + int index154_18 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_18); + if ( s>=0 ) return s; + break; + case 18 : + int LA154_19 = input.LA(1); + + + int index154_19 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_19); + if ( s>=0 ) return s; + break; + case 19 : + int LA154_20 = input.LA(1); + + + int index154_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_20); + if ( s>=0 ) return s; + break; + case 20 : + int LA154_21 = input.LA(1); + + + int index154_21 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_21); + if ( s>=0 ) return s; + break; + case 21 : + int LA154_22 = input.LA(1); + + + int index154_22 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_22); + if ( s>=0 ) return s; + break; + case 22 : + int LA154_23 = input.LA(1); + + + int index154_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_23); + if ( s>=0 ) return s; + break; + case 23 : + int LA154_24 = input.LA(1); + + + int index154_24 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_24); + if ( s>=0 ) return s; + break; + case 24 : + int LA154_25 = input.LA(1); + + + int index154_25 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_25); + if ( s>=0 ) return s; + break; + case 25 : + int LA154_26 = input.LA(1); + + + int index154_26 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_26); + if ( s>=0 ) return s; + break; + case 26 : + int LA154_27 = input.LA(1); + + + int index154_27 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_27); + if ( s>=0 ) return s; + break; + case 27 : + int LA154_28 = input.LA(1); + + + int index154_28 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_28); + if ( s>=0 ) return s; + break; + case 28 : + int LA154_29 = input.LA(1); + + + int index154_29 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} - // $ANTLR start synpred3_InternalScope - public final void synpred3_InternalScope_fragment() throws RecognitionException { - // InternalScope.g:2335:4: ( 'else' ) - // InternalScope.g:2335:5: 'else' - { - match(input,52,FOLLOW_2); if (state.failed) return ; + else if ( (true) ) {s = 33;} - } - } - // $ANTLR end synpred3_InternalScope + + input.seek(index154_29); + if ( s>=0 ) return s; + break; + case 29 : + int LA154_30 = input.LA(1); - // Delegated rules + + int index154_30 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} - public final boolean synpred2_InternalScope() { - state.backtracking++; - int start = input.mark(); - try { - synpred2_InternalScope_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); - } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; - } - public final boolean synpred1_InternalScope() { - state.backtracking++; - int start = input.mark(); - try { - synpred1_InternalScope_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); - } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; - } - public final boolean synpred3_InternalScope() { - state.backtracking++; - int start = input.mark(); - try { - synpred3_InternalScope_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); - } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; - } + else if ( (true) ) {s = 33;} + + input.seek(index154_30); + if ( s>=0 ) return s; + break; + case 30 : + int LA154_31 = input.LA(1); - protected DFA11 dfa11 = new DFA11(this); - protected DFA31 dfa31 = new DFA31(this); - protected DFA36 dfa36 = new DFA36(this); - static final String dfa_1s = "\6\uffff"; - static final String dfa_2s = "\1\7\1\24\1\7\2\uffff\1\24"; - static final String dfa_3s = "\1\7\1\54\1\7\2\uffff\1\54"; - static final String dfa_4s = "\3\uffff\1\1\1\2\1\uffff"; - static final String dfa_5s = "\6\uffff}>"; - static final String[] dfa_6s = { - "\1\1", - "\1\3\6\uffff\1\4\20\uffff\1\2", - "\1\5", - "", - "", - "\1\3\6\uffff\1\4\20\uffff\1\2" - }; + + int index154_31 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} - static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); - static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s); - static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); - static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s); - static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); - static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); + else if ( (true) ) {s = 33;} - class DFA11 extends DFA { + + input.seek(index154_31); + if ( s>=0 ) return s; + break; + case 31 : + int LA154_32 = input.LA(1); - public DFA11(BaseRecognizer recognizer) { - this.recognizer = recognizer; - this.decisionNumber = 11; - this.eot = dfa_1; - this.eof = dfa_1; - this.min = dfa_2; - this.max = dfa_3; - this.accept = dfa_4; - this.special = dfa_5; - this.transition = dfa_6; - } - public String getDescription() { - return "584:3: ( ( ( ruleQualifiedID ) ) | ( ( ( ruleQualifiedID ) ) otherlv_6= '#' ( ( ruleIdentifier ) ) ) )"; + + int index154_32 = input.index(); + input.rewind(); + s = -1; + if ( (synpred40_InternalScope()) ) {s = 77;} + + else if ( (true) ) {s = 33;} + + + input.seek(index154_32); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 154, _s, input); + error(nvae); + throw nvae; } } - static final String dfa_7s = "\40\uffff"; - static final String dfa_8s = "\1\4\1\0\36\uffff"; - static final String dfa_9s = "\1\124\1\0\36\uffff"; - static final String dfa_10s = "\2\uffff\1\2\34\uffff\1\1"; - static final String dfa_11s = "\1\uffff\1\0\36\uffff}>"; - static final String[] dfa_12s = { - "\4\2\14\uffff\1\2\4\uffff\1\1\7\uffff\1\2\11\uffff\1\2\2\uffff\1\2\3\uffff\1\2\2\uffff\1\2\13\uffff\1\2\1\uffff\22\2", + static final String dfa_82s = "\117\uffff"; + static final String dfa_83s = "\1\2\116\uffff"; + static final String dfa_84s = "\1\4\1\0\115\uffff"; + static final String dfa_85s = "\1\170\1\0\115\uffff"; + static final String dfa_86s = "\2\uffff\1\2\113\uffff\1\1"; + static final String dfa_87s = "\1\uffff\1\0\115\uffff}>"; + static final String[] dfa_88s = { + "\2\2\1\uffff\3\2\6\uffff\3\2\1\uffff\1\2\1\uffff\2\2\1\uffff\1\2\1\uffff\3\2\2\uffff\3\2\2\uffff\1\2\10\uffff\2\2\1\uffff\2\2\1\uffff\1\2\1\uffff\5\2\1\uffff\3\2\1\uffff\1\2\1\1\4\2\11\uffff\3\2\1\uffff\1\2\3\uffff\42\2", "\1\uffff", "", "", @@ -13523,212 +35613,319 @@ public String getDescription() { "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" }; - static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); - static final char[] dfa_8 = DFA.unpackEncodedStringToUnsignedChars(dfa_8s); - static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s); - static final short[] dfa_10 = DFA.unpackEncodedString(dfa_10s); - static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s); - static final short[][] dfa_12 = unpackEncodedStringArray(dfa_12s); + static final short[] dfa_82 = DFA.unpackEncodedString(dfa_82s); + static final short[] dfa_83 = DFA.unpackEncodedString(dfa_83s); + static final char[] dfa_84 = DFA.unpackEncodedStringToUnsignedChars(dfa_84s); + static final char[] dfa_85 = DFA.unpackEncodedStringToUnsignedChars(dfa_85s); + static final short[] dfa_86 = DFA.unpackEncodedString(dfa_86s); + static final short[] dfa_87 = DFA.unpackEncodedString(dfa_87s); + static final short[][] dfa_88 = unpackEncodedStringArray(dfa_88s); - class DFA31 extends DFA { + class DFA172 extends DFA { - public DFA31(BaseRecognizer recognizer) { + public DFA172(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 31; - this.eot = dfa_7; - this.eof = dfa_7; - this.min = dfa_8; - this.max = dfa_9; - this.accept = dfa_10; - this.special = dfa_11; - this.transition = dfa_12; + this.decisionNumber = 172; + this.eot = dfa_82; + this.eof = dfa_83; + this.min = dfa_84; + this.max = dfa_85; + this.accept = dfa_86; + this.special = dfa_87; + this.transition = dfa_88; } public String getDescription() { - return "1643:2: ( ( ( '(' )=> (otherlv_0= '(' ( (lv_names_1_0= ruleNamingExpression ) ) (otherlv_2= ',' ( (lv_names_3_0= ruleNamingExpression ) ) )* otherlv_4= ')' ) ) | ( (lv_names_5_0= ruleNamingExpression ) ) )"; + return "10160:3: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA31_1 = input.LA(1); + int LA172_1 = input.LA(1); - int index31_1 = input.index(); + int index172_1 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalScope()) ) {s = 31;} + if ( (synpred47_InternalScope()) ) {s = 78;} else if ( (true) ) {s = 2;} - input.seek(index31_1); + input.seek(index172_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 31, _s, input); + new NoViableAltException(getDescription(), 172, _s, input); error(nvae); throw nvae; } } - static final String dfa_13s = "\36\uffff"; - static final String dfa_14s = "\1\4\1\uffff\1\0\33\uffff"; - static final String dfa_15s = "\1\124\1\uffff\1\0\33\uffff"; - static final String dfa_16s = "\1\uffff\1\1\1\uffff\1\3\31\uffff\1\2"; - static final String dfa_17s = "\2\uffff\1\0\33\uffff}>"; - static final String[] dfa_18s = { - "\4\3\14\uffff\1\3\4\uffff\1\2\24\uffff\1\1\3\uffff\1\3\2\uffff\1\3\13\uffff\1\3\1\uffff\22\3", - "", - "\1\uffff", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - }; - - static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s); - static final char[] dfa_14 = DFA.unpackEncodedStringToUnsignedChars(dfa_14s); - static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s); - static final short[] dfa_16 = DFA.unpackEncodedString(dfa_16s); - static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s); - static final short[][] dfa_18 = unpackEncodedStringArray(dfa_18s); - class DFA36 extends DFA { + class DFA170 extends DFA { - public DFA36(BaseRecognizer recognizer) { + public DFA170(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 36; - this.eot = dfa_13; - this.eof = dfa_13; - this.min = dfa_14; - this.max = dfa_15; - this.accept = dfa_16; - this.special = dfa_17; - this.transition = dfa_18; + this.decisionNumber = 170; + this.eot = dfa_82; + this.eof = dfa_83; + this.min = dfa_84; + this.max = dfa_85; + this.accept = dfa_86; + this.special = dfa_87; + this.transition = dfa_88; } public String getDescription() { - return "1900:2: (this_LetExpression_0= ruleLetExpression | ( ( ruleCastedExpression )=>this_CastedExpression_1= ruleCastedExpression ) | this_ChainExpression_2= ruleChainExpression )"; + return "10254:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA36_2 = input.LA(1); + int LA170_1 = input.LA(1); - int index36_2 = input.index(); + int index170_1 = input.index(); input.rewind(); s = -1; - if ( (synpred2_InternalScope()) ) {s = 29;} + if ( (synpred49_InternalScope()) ) {s = 78;} - else if ( (true) ) {s = 3;} + else if ( (true) ) {s = 2;} - input.seek(index36_2); + input.seek(index170_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 36, _s, input); + new NoViableAltException(getDescription(), 170, _s, input); error(nvae); throw nvae; } } + static final String dfa_89s = "\7\uffff"; + static final String dfa_90s = "\2\uffff\1\4\2\uffff\1\4\1\uffff"; + static final String dfa_91s = "\1\7\1\uffff\1\31\1\7\1\uffff\1\31\1\uffff"; + static final String dfa_92s = "\1\157\1\uffff\1\57\1\40\1\uffff\1\57\1\uffff"; + static final String dfa_93s = "\1\uffff\1\1\2\uffff\1\2\1\uffff\1\3"; + static final String dfa_94s = "\7\uffff}>"; + static final String[] dfa_95s = { + "\1\2\147\uffff\1\1", + "", + "\1\4\25\uffff\1\3", + "\1\5\30\uffff\1\6", + "", + "\1\4\25\uffff\1\3", + "" + }; + + static final short[] dfa_89 = DFA.unpackEncodedString(dfa_89s); + static final short[] dfa_90 = DFA.unpackEncodedString(dfa_90s); + static final char[] dfa_91 = DFA.unpackEncodedStringToUnsignedChars(dfa_91s); + static final char[] dfa_92 = DFA.unpackEncodedStringToUnsignedChars(dfa_92s); + static final short[] dfa_93 = DFA.unpackEncodedString(dfa_93s); + static final short[] dfa_94 = DFA.unpackEncodedString(dfa_94s); + static final short[][] dfa_95 = unpackEncodedStringArray(dfa_95s); + + class DFA179 extends DFA { + + public DFA179(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 179; + this.eot = dfa_89; + this.eof = dfa_90; + this.min = dfa_91; + this.max = dfa_92; + this.accept = dfa_93; + this.special = dfa_94; + this.transition = dfa_95; + } + public String getDescription() { + return "10716:3: ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) )"; + } + } public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x00000000010F6002L}); - public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x00000000010F4002L}); - public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x00000000010F0002L}); - public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x00000000010E0002L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000001000002L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x00000000043D8002L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x00000000043D0002L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x00000000043C0002L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000004380002L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000004000002L}); public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000008002L}); - public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000008000L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000000L,0x0000000000600000L}); - public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000080000L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000100000L}); - public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000200080L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000400000L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x00244802021000F0L,0x00000000001FFFFAL}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000800000L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000002000080L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000004000000L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000008000000L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000010000000L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000010200000L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000040000080L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x00244816021000F0L,0x00000000001FFFFAL}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000020800000L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000080000002L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000100000000L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000002000000L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x00244812021000F0L,0x00000000001FFFFAL}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000804000000L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000048002L}); - public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000002000000000L}); - public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x000000C000000000L}); - public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000008000000000L}); - public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000080000080L}); - public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000020000000000L}); - public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000042000080L}); - public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000040000000000L}); - public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000100000000002L}); - public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000200000000002L}); - public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000800000000000L}); - public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000000080L,0x00000000001C0000L}); - public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0001000000000002L}); - public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0002000000000002L}); - public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0008000000000000L}); - public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0010000000000002L}); - public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000000002100000L}); - public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x00000000021000F0L,0x00000000001FFFFAL}); - public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0040000000040000L}); - public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000200000L}); - public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0080000000000002L}); - public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0100000000000002L}); - public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0200000000000002L}); - public static final BitSet FOLLOW_56 = new BitSet(new long[]{0xFC00000000000002L}); - public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000003L}); - public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000040000002L,0x0000000000000004L}); - public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x00244802061000F0L,0x00000000001FFFFAL}); - public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); - public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001FE0L}); - public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x00244802023000F0L,0x00000000001FFFFAL}); - public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000800200000L}); - public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000020002L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000020000L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000000L,0x0600000000000000L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000200000L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000400000L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000800080L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x00912008084000F0L,0x00000000007FFFE8L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000002000000L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000008000080L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000010000000L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000020000000L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000040000000L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000040800000L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000100000080L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x00912058084000F0L,0x00000000007FFFE8L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000082000000L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000200000002L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000008000000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x00912048084000F0L,0x00000000007FFFE8L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000002010000000L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000120002L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000008000000000L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000030000000000L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000020000000000L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000200000080L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000080000000000L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000108000080L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000400000000002L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000800000000002L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0002000000000000L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000000080L,0x0000000000700000L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0004000000000002L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0008000000000002L}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0020000000000000L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0040000000000002L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000000008400000L}); + public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x00000000084000F0L,0x00000000007FFFE8L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0100000000100000L}); + public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000800000L}); + public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0200000000000002L}); + public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0400000000000002L}); + public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0800000000000002L}); + public static final BitSet FOLLOW_56 = new BitSet(new long[]{0xF000000000000002L,0x0000000000000003L}); + public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000000000002L,0x000000000000000CL}); + public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000100000002L,0x0000000000000010L}); + public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x00912008184000F0L,0x00000000007FFFE8L}); + public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); + public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000000000000L,0x0000000000007F80L}); + public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0091200808C000F0L,0x00000000007FFFE8L}); + public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000002000800000L}); + public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x00900002284503B0L,0x005FCE00000B802EL}); + public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000000000000002L,0x000000000F800003L}); + public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x4000000000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x4000000000000000L}); + public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x3000000000000002L,0x0000000030000000L}); + public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x4000000000000002L,0x0000000040000003L}); + public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000008000080L,0x0000000200000000L}); + public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0004000000000002L,0x0000000F80000003L}); + public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L}); + public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000002L}); + public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000000100000002L,0x0000003000000010L}); + public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000000000000002L,0x000000C000000000L}); + public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000C00000000002L,0x0000010000000000L}); + public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000050080L,0x0000C00000000000L}); + public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000000000050080L,0x0001C00000000002L}); + public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0008000008000080L,0x0000000200000000L}); + public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000002000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000C00208000002L,0x0000010000000000L}); + public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x00901002384503B0L,0x005FCE02000B802EL}); + public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000C00200000002L,0x0000010000000000L}); + public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0090000228C503B0L,0x005FCE00000B802EL}); + public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x00900006284503B0L,0x005FCE00000B802EL}); + public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0000002400000000L}); + public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x00901006284503B0L,0x005FFE02000B802EL}); + public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0000102000000000L}); + public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x00900006284503B0L,0x005FFE00000B802EL}); + public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x009000022A4503B2L,0x005FFE00000B802EL}); + public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x00900002284503B2L,0x005FFE00000B802EL}); + public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x00900002284503B0L,0x005FCE02000B802EL}); + public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0102002008900080L,0x0000000200000000L}); + public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0002002000100000L}); + public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0002002000000000L}); + public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x009000022A4503B0L,0x005FFE00000B802EL}); + public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000002002000000L}); + public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x00900002284503B0L,0x005FFE00000B802EL}); + public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x009000022A4503B0L,0x005FCE00000B802EL}); + public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x00900002384503B0L,0x005FCE00000B802EL}); + public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L}); + public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0090000228C503B0L,0x005FFE00000B802EL}); + public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x009000022AC503B0L,0x005FFE00000B802EL}); + public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0000000001000002L}); + public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0000000208000002L}); + public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x0000000208000002L,0x0000000000000002L}); + public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000210000000L}); + public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x00900002284503B2L,0x005FCE00000B802EL}); + public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000000000000000L,0x00A0000000000000L}); + public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0000000000000002L,0x00A0000000000000L}); + public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0000000000000220L}); + public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x0000000018000080L,0x0000000200000000L}); + public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L}); + public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000002L}); + public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x0000800000000002L,0x0000000000000002L}); + public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x0000000000000002L,0x0001400000000000L}); + public static final BitSet FOLLOW_120 = new BitSet(new long[]{0x0000000000000002L,0x0100000000000000L}); + public static final BitSet FOLLOW_121 = new BitSet(new long[]{0x0000800000000000L}); + public static final BitSet FOLLOW_122 = new BitSet(new long[]{0x0000000100000000L}); + public static final BitSet FOLLOW_123 = new BitSet(new long[]{0x0000000000000080L,0x0000800000000000L}); + public static final BitSet FOLLOW_124 = new BitSet(new long[]{0x0000000000040080L}); + public static final BitSet FOLLOW_125 = new BitSet(new long[]{0x0000000002000002L}); + public static final BitSet FOLLOW_126 = new BitSet(new long[]{0x0000000000000082L}); } \ No newline at end of file diff --git a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/serializer/AbstractScopeSemanticSequencer.java b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/serializer/AbstractScopeSemanticSequencer.java index bfe7e80ac6..8adc5734f4 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/serializer/AbstractScopeSemanticSequencer.java +++ b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/serializer/AbstractScopeSemanticSequencer.java @@ -51,9 +51,54 @@ import org.eclipse.xtext.Action; import org.eclipse.xtext.Parameter; import org.eclipse.xtext.ParserRule; +import org.eclipse.xtext.common.types.JvmFormalParameter; +import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; +import org.eclipse.xtext.common.types.JvmInnerTypeReference; +import org.eclipse.xtext.common.types.JvmLowerBound; +import org.eclipse.xtext.common.types.JvmParameterizedTypeReference; +import org.eclipse.xtext.common.types.JvmTypeParameter; +import org.eclipse.xtext.common.types.JvmUpperBound; +import org.eclipse.xtext.common.types.JvmWildcardTypeReference; +import org.eclipse.xtext.common.types.TypesPackage; import org.eclipse.xtext.serializer.ISerializationContext; import org.eclipse.xtext.serializer.acceptor.SequenceFeeder; import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient; +import org.eclipse.xtext.xbase.XAssignment; +import org.eclipse.xtext.xbase.XBasicForLoopExpression; +import org.eclipse.xtext.xbase.XBinaryOperation; +import org.eclipse.xtext.xbase.XBlockExpression; +import org.eclipse.xtext.xbase.XBooleanLiteral; +import org.eclipse.xtext.xbase.XCasePart; +import org.eclipse.xtext.xbase.XCastedExpression; +import org.eclipse.xtext.xbase.XCatchClause; +import org.eclipse.xtext.xbase.XClosure; +import org.eclipse.xtext.xbase.XConstructorCall; +import org.eclipse.xtext.xbase.XDoWhileExpression; +import org.eclipse.xtext.xbase.XFeatureCall; +import org.eclipse.xtext.xbase.XForLoopExpression; +import org.eclipse.xtext.xbase.XIfExpression; +import org.eclipse.xtext.xbase.XInstanceOfExpression; +import org.eclipse.xtext.xbase.XListLiteral; +import org.eclipse.xtext.xbase.XMemberFeatureCall; +import org.eclipse.xtext.xbase.XNullLiteral; +import org.eclipse.xtext.xbase.XNumberLiteral; +import org.eclipse.xtext.xbase.XPostfixOperation; +import org.eclipse.xtext.xbase.XReturnExpression; +import org.eclipse.xtext.xbase.XSetLiteral; +import org.eclipse.xtext.xbase.XStringLiteral; +import org.eclipse.xtext.xbase.XSwitchExpression; +import org.eclipse.xtext.xbase.XSynchronizedExpression; +import org.eclipse.xtext.xbase.XThrowExpression; +import org.eclipse.xtext.xbase.XTryCatchFinallyExpression; +import org.eclipse.xtext.xbase.XTypeLiteral; +import org.eclipse.xtext.xbase.XUnaryOperation; +import org.eclipse.xtext.xbase.XVariableDeclaration; +import org.eclipse.xtext.xbase.XWhileExpression; +import org.eclipse.xtext.xbase.XbasePackage; +import org.eclipse.xtext.xtype.XFunctionTypeRef; +import org.eclipse.xtext.xtype.XImportDeclaration; +import org.eclipse.xtext.xtype.XImportSection; +import org.eclipse.xtext.xtype.XtypePackage; @SuppressWarnings("all") public abstract class AbstractScopeSemanticSequencer extends ExpressionSemanticSequencer { @@ -384,6 +429,245 @@ else if (rule == grammarAccess.getSimpleScopeExpressionRule()) { } else break; } + else if (epackage == TypesPackage.eINSTANCE) + switch (semanticObject.eClass().getClassifierID()) { + case TypesPackage.JVM_FORMAL_PARAMETER: + if (rule == grammarAccess.getFullJvmFormalParameterRule()) { + sequence_FullJvmFormalParameter(context, (JvmFormalParameter) semanticObject); + return; + } + else if (rule == grammarAccess.getJvmFormalParameterRule()) { + sequence_JvmFormalParameter(context, (JvmFormalParameter) semanticObject); + return; + } + else break; + case TypesPackage.JVM_GENERIC_ARRAY_TYPE_REFERENCE: + sequence_JvmTypeReference(context, (JvmGenericArrayTypeReference) semanticObject); + return; + case TypesPackage.JVM_INNER_TYPE_REFERENCE: + sequence_JvmParameterizedTypeReference(context, (JvmInnerTypeReference) semanticObject); + return; + case TypesPackage.JVM_LOWER_BOUND: + if (rule == grammarAccess.getJvmLowerBoundAndedRule()) { + sequence_JvmLowerBoundAnded(context, (JvmLowerBound) semanticObject); + return; + } + else if (rule == grammarAccess.getJvmLowerBoundRule()) { + sequence_JvmLowerBound(context, (JvmLowerBound) semanticObject); + return; + } + else break; + case TypesPackage.JVM_PARAMETERIZED_TYPE_REFERENCE: + if (action == grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()) { + sequence_JvmParameterizedTypeReference_JvmInnerTypeReference_1_4_0_0_0(context, (JvmParameterizedTypeReference) semanticObject); + return; + } + else if (rule == grammarAccess.getJvmTypeReferenceRule() + || action == grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0() + || rule == grammarAccess.getJvmParameterizedTypeReferenceRule() + || rule == grammarAccess.getJvmArgumentTypeReferenceRule()) { + sequence_JvmParameterizedTypeReference(context, (JvmParameterizedTypeReference) semanticObject); + return; + } + else break; + case TypesPackage.JVM_TYPE_PARAMETER: + sequence_JvmTypeParameter(context, (JvmTypeParameter) semanticObject); + return; + case TypesPackage.JVM_UPPER_BOUND: + if (rule == grammarAccess.getJvmUpperBoundAndedRule()) { + sequence_JvmUpperBoundAnded(context, (JvmUpperBound) semanticObject); + return; + } + else if (rule == grammarAccess.getJvmUpperBoundRule()) { + sequence_JvmUpperBound(context, (JvmUpperBound) semanticObject); + return; + } + else break; + case TypesPackage.JVM_WILDCARD_TYPE_REFERENCE: + sequence_JvmWildcardTypeReference(context, (JvmWildcardTypeReference) semanticObject); + return; + } + else if (epackage == XbasePackage.eINSTANCE) + switch (semanticObject.eClass().getClassifierID()) { + case XbasePackage.XASSIGNMENT: + sequence_XAssignment_XMemberFeatureCall(context, (XAssignment) semanticObject); + return; + case XbasePackage.XBASIC_FOR_LOOP_EXPRESSION: + sequence_XBasicForLoopExpression(context, (XBasicForLoopExpression) semanticObject); + return; + case XbasePackage.XBINARY_OPERATION: + sequence_XAdditiveExpression_XAndExpression_XAssignment_XEqualityExpression_XMultiplicativeExpression_XOrExpression_XOtherOperatorExpression_XRelationalExpression(context, (XBinaryOperation) semanticObject); + return; + case XbasePackage.XBLOCK_EXPRESSION: + if (rule == grammarAccess.getXExpressionRule() + || rule == grammarAccess.getXAssignmentRule() + || action == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() + || rule == grammarAccess.getXOrExpressionRule() + || action == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXAndExpressionRule() + || action == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXEqualityExpressionRule() + || action == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXRelationalExpressionRule() + || action == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() + || action == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() + || rule == grammarAccess.getXOtherOperatorExpressionRule() + || action == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXAdditiveExpressionRule() + || action == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXMultiplicativeExpressionRule() + || action == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXUnaryOperationRule() + || rule == grammarAccess.getXCastedExpressionRule() + || action == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() + || rule == grammarAccess.getXPostfixOperationRule() + || action == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() + || rule == grammarAccess.getXMemberFeatureCallRule() + || action == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() + || action == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() + || rule == grammarAccess.getXPrimaryExpressionRule() + || rule == grammarAccess.getXParenthesizedExpressionRule() + || rule == grammarAccess.getXBlockExpressionRule() + || rule == grammarAccess.getXExpressionOrVarDeclarationRule()) { + sequence_XBlockExpression(context, (XBlockExpression) semanticObject); + return; + } + else if (rule == grammarAccess.getXExpressionInClosureRule()) { + sequence_XExpressionInClosure(context, (XBlockExpression) semanticObject); + return; + } + else break; + case XbasePackage.XBOOLEAN_LITERAL: + sequence_XBooleanLiteral(context, (XBooleanLiteral) semanticObject); + return; + case XbasePackage.XCASE_PART: + sequence_XCasePart(context, (XCasePart) semanticObject); + return; + case XbasePackage.XCASTED_EXPRESSION: + sequence_XCastedExpression(context, (XCastedExpression) semanticObject); + return; + case XbasePackage.XCATCH_CLAUSE: + sequence_XCatchClause(context, (XCatchClause) semanticObject); + return; + case XbasePackage.XCLOSURE: + if (rule == grammarAccess.getXExpressionRule() + || rule == grammarAccess.getXAssignmentRule() + || action == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() + || rule == grammarAccess.getXOrExpressionRule() + || action == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXAndExpressionRule() + || action == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXEqualityExpressionRule() + || action == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXRelationalExpressionRule() + || action == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() + || action == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() + || rule == grammarAccess.getXOtherOperatorExpressionRule() + || action == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXAdditiveExpressionRule() + || action == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXMultiplicativeExpressionRule() + || action == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() + || rule == grammarAccess.getXUnaryOperationRule() + || rule == grammarAccess.getXCastedExpressionRule() + || action == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() + || rule == grammarAccess.getXPostfixOperationRule() + || action == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() + || rule == grammarAccess.getXMemberFeatureCallRule() + || action == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() + || action == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() + || rule == grammarAccess.getXPrimaryExpressionRule() + || rule == grammarAccess.getXLiteralRule() + || rule == grammarAccess.getXClosureRule() + || rule == grammarAccess.getXParenthesizedExpressionRule() + || rule == grammarAccess.getXExpressionOrVarDeclarationRule()) { + sequence_XClosure(context, (XClosure) semanticObject); + return; + } + else if (rule == grammarAccess.getXShortClosureRule()) { + sequence_XShortClosure(context, (XClosure) semanticObject); + return; + } + else break; + case XbasePackage.XCONSTRUCTOR_CALL: + sequence_XConstructorCall(context, (XConstructorCall) semanticObject); + return; + case XbasePackage.XDO_WHILE_EXPRESSION: + sequence_XDoWhileExpression(context, (XDoWhileExpression) semanticObject); + return; + case XbasePackage.XFEATURE_CALL: + sequence_XFeatureCall(context, (XFeatureCall) semanticObject); + return; + case XbasePackage.XFOR_LOOP_EXPRESSION: + sequence_XForLoopExpression(context, (XForLoopExpression) semanticObject); + return; + case XbasePackage.XIF_EXPRESSION: + sequence_XIfExpression(context, (XIfExpression) semanticObject); + return; + case XbasePackage.XINSTANCE_OF_EXPRESSION: + sequence_XRelationalExpression(context, (XInstanceOfExpression) semanticObject); + return; + case XbasePackage.XLIST_LITERAL: + sequence_XListLiteral(context, (XListLiteral) semanticObject); + return; + case XbasePackage.XMEMBER_FEATURE_CALL: + sequence_XMemberFeatureCall(context, (XMemberFeatureCall) semanticObject); + return; + case XbasePackage.XNULL_LITERAL: + sequence_XNullLiteral(context, (XNullLiteral) semanticObject); + return; + case XbasePackage.XNUMBER_LITERAL: + sequence_XNumberLiteral(context, (XNumberLiteral) semanticObject); + return; + case XbasePackage.XPOSTFIX_OPERATION: + sequence_XPostfixOperation(context, (XPostfixOperation) semanticObject); + return; + case XbasePackage.XRETURN_EXPRESSION: + sequence_XReturnExpression(context, (XReturnExpression) semanticObject); + return; + case XbasePackage.XSET_LITERAL: + sequence_XSetLiteral(context, (XSetLiteral) semanticObject); + return; + case XbasePackage.XSTRING_LITERAL: + sequence_XStringLiteral(context, (XStringLiteral) semanticObject); + return; + case XbasePackage.XSWITCH_EXPRESSION: + sequence_XSwitchExpression(context, (XSwitchExpression) semanticObject); + return; + case XbasePackage.XSYNCHRONIZED_EXPRESSION: + sequence_XSynchronizedExpression(context, (XSynchronizedExpression) semanticObject); + return; + case XbasePackage.XTHROW_EXPRESSION: + sequence_XThrowExpression(context, (XThrowExpression) semanticObject); + return; + case XbasePackage.XTRY_CATCH_FINALLY_EXPRESSION: + sequence_XTryCatchFinallyExpression(context, (XTryCatchFinallyExpression) semanticObject); + return; + case XbasePackage.XTYPE_LITERAL: + sequence_XTypeLiteral(context, (XTypeLiteral) semanticObject); + return; + case XbasePackage.XUNARY_OPERATION: + sequence_XUnaryOperation(context, (XUnaryOperation) semanticObject); + return; + case XbasePackage.XVARIABLE_DECLARATION: + sequence_XVariableDeclaration(context, (XVariableDeclaration) semanticObject); + return; + case XbasePackage.XWHILE_EXPRESSION: + sequence_XWhileExpression(context, (XWhileExpression) semanticObject); + return; + } + else if (epackage == XtypePackage.eINSTANCE) + switch (semanticObject.eClass().getClassifierID()) { + case XtypePackage.XFUNCTION_TYPE_REF: + sequence_XFunctionTypeRef(context, (XFunctionTypeRef) semanticObject); + return; + case XtypePackage.XIMPORT_DECLARATION: + sequence_XImportDeclaration(context, (XImportDeclaration) semanticObject); + return; + case XtypePackage.XIMPORT_SECTION: + sequence_XImportSection(context, (XImportSection) semanticObject); + return; + } if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); } diff --git a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/serializer/AbstractScopeSyntacticSequencer.java b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/serializer/AbstractScopeSyntacticSequencer.java index f55d03d8fa..f5cbc0b686 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/serializer/AbstractScopeSyntacticSequencer.java +++ b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/serializer/AbstractScopeSyntacticSequencer.java @@ -11,6 +11,7 @@ import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.nodemodel.INode; import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias; +import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias; import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias; import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable; import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition; @@ -22,19 +23,56 @@ public abstract class AbstractScopeSyntacticSequencer extends AbstractSyntacticS protected ScopeGrammarAccess grammarAccess; protected AbstractElementAlias match_ParanthesizedExpression_LeftParenthesisKeyword_0_a; protected AbstractElementAlias match_ParanthesizedExpression_LeftParenthesisKeyword_0_p; + protected AbstractElementAlias match_XBlockExpression_SemicolonKeyword_2_1_q; + protected AbstractElementAlias match_XExpressionInClosure_SemicolonKeyword_1_1_q; + protected AbstractElementAlias match_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q; + protected AbstractElementAlias match_XImportDeclaration_SemicolonKeyword_2_q; + protected AbstractElementAlias match_XParenthesizedExpression_LeftParenthesisKeyword_0_a; + protected AbstractElementAlias match_XParenthesizedExpression_LeftParenthesisKeyword_0_p; @Inject protected void init(IGrammarAccess access) { grammarAccess = (ScopeGrammarAccess) access; match_ParanthesizedExpression_LeftParenthesisKeyword_0_a = new TokenAlias(true, true, grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); match_ParanthesizedExpression_LeftParenthesisKeyword_0_p = new TokenAlias(true, false, grammarAccess.getParanthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + match_XBlockExpression_SemicolonKeyword_2_1_q = new TokenAlias(false, true, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); + match_XExpressionInClosure_SemicolonKeyword_1_1_q = new TokenAlias(false, true, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); + match_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()), new TokenAlias(false, false, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2())); + match_XImportDeclaration_SemicolonKeyword_2_q = new TokenAlias(false, true, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); + match_XParenthesizedExpression_LeftParenthesisKeyword_0_a = new TokenAlias(true, true, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); + match_XParenthesizedExpression_LeftParenthesisKeyword_0_p = new TokenAlias(true, false, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } @Override protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) { + if (ruleCall.getRule() == grammarAccess.getArrayBracketsRule()) + return getArrayBracketsToken(semanticObject, ruleCall, node); + else if (ruleCall.getRule() == grammarAccess.getOpSingleAssignRule()) + return getOpSingleAssignToken(semanticObject, ruleCall, node); return ""; } + /** + * ArrayBrackets : + * '[' ']' + * ; + */ + protected String getArrayBracketsToken(EObject semanticObject, RuleCall ruleCall, INode node) { + if (node != null) + return getTokenText(node); + return "[ ]"; + } + + /** + * OpSingleAssign: + * '=' + * ; + */ + protected String getOpSingleAssignToken(EObject semanticObject, RuleCall ruleCall, INode node) { + if (node != null) + return getTokenText(node); + return "="; + } @Override protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) { @@ -46,6 +84,18 @@ protected void emitUnassignedTokens(EObject semanticObject, ISynTransition trans emit_ParanthesizedExpression_LeftParenthesisKeyword_0_a(semanticObject, getLastNavigableState(), syntaxNodes); else if (match_ParanthesizedExpression_LeftParenthesisKeyword_0_p.equals(syntax)) emit_ParanthesizedExpression_LeftParenthesisKeyword_0_p(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XBlockExpression_SemicolonKeyword_2_1_q.equals(syntax)) + emit_XBlockExpression_SemicolonKeyword_2_1_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XExpressionInClosure_SemicolonKeyword_1_1_q.equals(syntax)) + emit_XExpressionInClosure_SemicolonKeyword_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q.equals(syntax)) + emit_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XImportDeclaration_SemicolonKeyword_2_q.equals(syntax)) + emit_XImportDeclaration_SemicolonKeyword_2_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XParenthesizedExpression_LeftParenthesisKeyword_0_a.equals(syntax)) + emit_XParenthesizedExpression_LeftParenthesisKeyword_0_a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_XParenthesizedExpression_LeftParenthesisKeyword_0_p.equals(syntax)) + emit_XParenthesizedExpression_LeftParenthesisKeyword_0_p(semanticObject, getLastNavigableState(), syntaxNodes); else acceptNodes(getLastNavigableState(), syntaxNodes); } } @@ -150,4 +200,176 @@ protected void emit_ParanthesizedExpression_LeftParenthesisKeyword_0_p(EObject s acceptNodes(transition, nodes); } + /** + *
+	 * Ambiguous syntax:
+	 *     ';'?
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     expressions+=XExpressionOrVarDeclaration (ambiguity) '}' ')' (rule end)
+	 *     expressions+=XExpressionOrVarDeclaration (ambiguity) '}' (rule end)
+	 *     expressions+=XExpressionOrVarDeclaration (ambiguity) expressions+=XExpressionOrVarDeclaration
+	 
+	 * 
+ */ + protected void emit_XBlockExpression_SemicolonKeyword_2_1_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + *
+	 * Ambiguous syntax:
+	 *     ';'?
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     expressions+=XExpressionOrVarDeclaration (ambiguity) (rule end)
+	 *     expressions+=XExpressionOrVarDeclaration (ambiguity) expressions+=XExpressionOrVarDeclaration
+	 
+	 * 
+ */ + protected void emit_XExpressionInClosure_SemicolonKeyword_1_1_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + *
+	 * Ambiguous syntax:
+	 *     ('(' ')')?
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     (rule start) (ambiguity) '=>' returnType=JvmTypeReference
+	 
+	 * 
+ */ + protected void emit_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + *
+	 * Ambiguous syntax:
+	 *     ';'?
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     importedNamespace=QualifiedNameWithWildcard (ambiguity) (rule end)
+	 *     importedType=[JvmDeclaredType|QualifiedName] (ambiguity) (rule end)
+	 *     memberName=ValidID (ambiguity) (rule end)
+	 *     wildcard?='*' (ambiguity) (rule end)
+	 
+	 * 
+ */ + protected void emit_XImportDeclaration_SemicolonKeyword_2_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + *
+	 * Ambiguous syntax:
+	 *     '('*
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     (rule start) (ambiguity) '#' '[' ']' (rule start)
+	 *     (rule start) (ambiguity) '#' '[' elements+=XExpression
+	 *     (rule start) (ambiguity) '#' '{' '}' (rule start)
+	 *     (rule start) (ambiguity) '#' '{' elements+=XExpression
+	 *     (rule start) (ambiguity) '<' typeArguments+=JvmArgumentTypeReference
+	 *     (rule start) (ambiguity) '[' declaredFormalParameters+=JvmFormalParameter
+	 *     (rule start) (ambiguity) '[' explicitSyntax?='|'
+	 *     (rule start) (ambiguity) '[' expression=XExpressionInClosure
+	 *     (rule start) (ambiguity) 'do' body=XExpression
+	 *     (rule start) (ambiguity) 'false' (rule start)
+	 *     (rule start) (ambiguity) 'for' '(' ';' ';' ')' eachExpression=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' ';' ';' updateExpressions+=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' ';' expression=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'for' '(' initExpressions+=XExpressionOrVarDeclaration
+	 *     (rule start) (ambiguity) 'if' '(' if=XExpression
+	 *     (rule start) (ambiguity) 'new' constructor=[JvmConstructor|QualifiedName]
+	 *     (rule start) (ambiguity) 'null' (rule start)
+	 *     (rule start) (ambiguity) 'return' (rule start)
+	 *     (rule start) (ambiguity) 'return' expression=XExpression
+	 *     (rule start) (ambiguity) 'switch' '(' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'switch' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'switch' switch=XExpression
+	 *     (rule start) (ambiguity) 'synchronized' '(' param=XExpression
+	 *     (rule start) (ambiguity) 'throw' expression=XExpression
+	 *     (rule start) (ambiguity) 'try' expression=XExpression
+	 *     (rule start) (ambiguity) 'typeof' '(' type=[JvmType|QualifiedName]
+	 *     (rule start) (ambiguity) 'while' '(' predicate=XExpression
+	 *     (rule start) (ambiguity) '{' '}' (rule start)
+	 *     (rule start) (ambiguity) '{' expressions+=XExpressionOrVarDeclaration
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|FeatureCallID]
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|IdOrSuper]
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|OpUnary]
+	 *     (rule start) (ambiguity) isTrue?='true'
+	 *     (rule start) (ambiguity) value=Number
+	 *     (rule start) (ambiguity) value=STRING
+	 *     (rule start) (ambiguity) {XAssignment.assignable=}
+	 *     (rule start) (ambiguity) {XBinaryOperation.leftOperand=}
+	 *     (rule start) (ambiguity) {XCastedExpression.target=}
+	 *     (rule start) (ambiguity) {XInstanceOfExpression.expression=}
+	 *     (rule start) (ambiguity) {XMemberFeatureCall.memberCallTarget=}
+	 *     (rule start) (ambiguity) {XPostfixOperation.operand=}
+	 
+	 * 
+ */ + protected void emit_XParenthesizedExpression_LeftParenthesisKeyword_0_a(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + *
+	 * Ambiguous syntax:
+	 *     '('+
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     (rule start) (ambiguity) '#' '[' ']' ')' (rule start)
+	 *     (rule start) (ambiguity) '#' '[' elements+=XExpression
+	 *     (rule start) (ambiguity) '#' '{' '}' ')' (rule start)
+	 *     (rule start) (ambiguity) '#' '{' elements+=XExpression
+	 *     (rule start) (ambiguity) '<' typeArguments+=JvmArgumentTypeReference
+	 *     (rule start) (ambiguity) '[' declaredFormalParameters+=JvmFormalParameter
+	 *     (rule start) (ambiguity) '[' explicitSyntax?='|'
+	 *     (rule start) (ambiguity) '[' expression=XExpressionInClosure
+	 *     (rule start) (ambiguity) 'do' body=XExpression
+	 *     (rule start) (ambiguity) 'false' ')' (rule start)
+	 *     (rule start) (ambiguity) 'for' '(' ';' ';' ')' eachExpression=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' ';' ';' updateExpressions+=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' ';' expression=XExpression
+	 *     (rule start) (ambiguity) 'for' '(' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'for' '(' initExpressions+=XExpressionOrVarDeclaration
+	 *     (rule start) (ambiguity) 'if' '(' if=XExpression
+	 *     (rule start) (ambiguity) 'new' constructor=[JvmConstructor|QualifiedName]
+	 *     (rule start) (ambiguity) 'null' ')' (rule start)
+	 *     (rule start) (ambiguity) 'return' ')' (rule start)
+	 *     (rule start) (ambiguity) 'return' expression=XExpression
+	 *     (rule start) (ambiguity) 'switch' '(' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'switch' declaredParam=JvmFormalParameter
+	 *     (rule start) (ambiguity) 'switch' switch=XExpression
+	 *     (rule start) (ambiguity) 'synchronized' '(' param=XExpression
+	 *     (rule start) (ambiguity) 'throw' expression=XExpression
+	 *     (rule start) (ambiguity) 'try' expression=XExpression
+	 *     (rule start) (ambiguity) 'typeof' '(' type=[JvmType|QualifiedName]
+	 *     (rule start) (ambiguity) 'while' '(' predicate=XExpression
+	 *     (rule start) (ambiguity) '{' '}' ')' (rule start)
+	 *     (rule start) (ambiguity) '{' expressions+=XExpressionOrVarDeclaration
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|FeatureCallID]
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|IdOrSuper]
+	 *     (rule start) (ambiguity) feature=[JvmIdentifiableElement|OpUnary]
+	 *     (rule start) (ambiguity) isTrue?='true'
+	 *     (rule start) (ambiguity) value=Number
+	 *     (rule start) (ambiguity) value=STRING
+	 *     (rule start) (ambiguity) {XAssignment.assignable=}
+	 *     (rule start) (ambiguity) {XBinaryOperation.leftOperand=}
+	 *     (rule start) (ambiguity) {XCastedExpression.target=}
+	 *     (rule start) (ambiguity) {XInstanceOfExpression.expression=}
+	 *     (rule start) (ambiguity) {XMemberFeatureCall.memberCallTarget=}
+	 *     (rule start) (ambiguity) {XPostfixOperation.operand=}
+	 
+	 * 
+ */ + protected void emit_XParenthesizedExpression_LeftParenthesisKeyword_0_p(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + } diff --git a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/services/ScopeGrammarAccess.java b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/services/ScopeGrammarAccess.java index 2b1faf48b4..c3027ef3d6 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/services/ScopeGrammarAccess.java +++ b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/services/ScopeGrammarAccess.java @@ -20,9 +20,10 @@ import org.eclipse.xtext.ParserRule; import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.TerminalRule; -import org.eclipse.xtext.common.services.TerminalsGrammarAccess; import org.eclipse.xtext.service.AbstractElementFinder; import org.eclipse.xtext.service.GrammarProvider; +import org.eclipse.xtext.xbase.services.XbaseGrammarAccess; +import org.eclipse.xtext.xbase.services.XtypeGrammarAccess; @Singleton public class ScopeGrammarAccess extends AbstractElementFinder.AbstractGrammarElementFinder { @@ -1262,15 +1263,19 @@ public class CasingElements extends AbstractElementFinder.AbstractEnumRuleElemen private final ExpressionGrammarAccess gaExpression; - private final TerminalsGrammarAccess gaTerminals; + private final XbaseGrammarAccess gaXbase; + + private final XtypeGrammarAccess gaXtype; @Inject public ScopeGrammarAccess(GrammarProvider grammarProvider, ExpressionGrammarAccess gaExpression, - TerminalsGrammarAccess gaTerminals) { + XbaseGrammarAccess gaXbase, + XtypeGrammarAccess gaXtype) { this.grammar = internalFindGrammar(grammarProvider); this.gaExpression = gaExpression; - this.gaTerminals = gaTerminals; + this.gaXbase = gaXbase; + this.gaXtype = gaXtype; this.pScopeModel = new ScopeModelElements(); this.pImport = new ImportElements(); this.pExtension = new ExtensionElements(); @@ -1322,8 +1327,12 @@ public ExpressionGrammarAccess getExpressionGrammarAccess() { return gaExpression; } - public TerminalsGrammarAccess getTerminalsGrammarAccess() { - return gaTerminals; + public XbaseGrammarAccess getXbaseGrammarAccess() { + return gaXbase; + } + + public XtypeGrammarAccess getXtypeGrammarAccess() { + return gaXtype; } @@ -2086,41 +2095,976 @@ public ParserRule getIdentifierRule() { return getIdentifierAccess().getRule(); } - //terminal ID: '^'?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; - public TerminalRule getIDRule() { - return gaTerminals.getIDRule(); + //XExpression returns XExpression : + // XAssignment; + public XbaseGrammarAccess.XExpressionElements getXExpressionAccess() { + return gaXbase.getXExpressionAccess(); + } + + public ParserRule getXExpressionRule() { + return getXExpressionAccess().getRule(); + } + + //XAssignment returns XExpression : + // {XAssignment} feature=[types::JvmIdentifiableElement|FeatureCallID] OpSingleAssign value=XAssignment | + // XOrExpression ( + // =>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMultiAssign]) rightOperand=XAssignment + // )?; + public XbaseGrammarAccess.XAssignmentElements getXAssignmentAccess() { + return gaXbase.getXAssignmentAccess(); + } + + public ParserRule getXAssignmentRule() { + return getXAssignmentAccess().getRule(); + } + + //OpSingleAssign: + // '=' + //; + public XbaseGrammarAccess.OpSingleAssignElements getOpSingleAssignAccess() { + return gaXbase.getOpSingleAssignAccess(); + } + + public ParserRule getOpSingleAssignRule() { + return getOpSingleAssignAccess().getRule(); + } + + //OpMultiAssign: + // '+=' | '-=' | '*=' | '/=' | '%=' | + // '<' '<' '=' | + // '>' '>'? '>='; + public XbaseGrammarAccess.OpMultiAssignElements getOpMultiAssignAccess() { + return gaXbase.getOpMultiAssignAccess(); + } + + public ParserRule getOpMultiAssignRule() { + return getOpMultiAssignAccess().getRule(); + } + + //XOrExpression returns XExpression: + // XAndExpression (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOr]) rightOperand=XAndExpression)*; + public XbaseGrammarAccess.XOrExpressionElements getXOrExpressionAccess() { + return gaXbase.getXOrExpressionAccess(); + } + + public ParserRule getXOrExpressionRule() { + return getXOrExpressionAccess().getRule(); + } + + //OpOr: + // '||'; + public XbaseGrammarAccess.OpOrElements getOpOrAccess() { + return gaXbase.getOpOrAccess(); + } + + public ParserRule getOpOrRule() { + return getOpOrAccess().getRule(); + } + + //XAndExpression returns XExpression: + // XEqualityExpression (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAnd]) rightOperand=XEqualityExpression)*; + public XbaseGrammarAccess.XAndExpressionElements getXAndExpressionAccess() { + return gaXbase.getXAndExpressionAccess(); + } + + public ParserRule getXAndExpressionRule() { + return getXAndExpressionAccess().getRule(); + } + + //OpAnd: + // '&&'; + public XbaseGrammarAccess.OpAndElements getOpAndAccess() { + return gaXbase.getOpAndAccess(); + } + + public ParserRule getOpAndRule() { + return getOpAndAccess().getRule(); + } + + //XEqualityExpression returns XExpression: + // XRelationalExpression (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpEquality]) + // rightOperand=XRelationalExpression)*; + public XbaseGrammarAccess.XEqualityExpressionElements getXEqualityExpressionAccess() { + return gaXbase.getXEqualityExpressionAccess(); + } + + public ParserRule getXEqualityExpressionRule() { + return getXEqualityExpressionAccess().getRule(); + } + + //OpEquality: + // '==' | '!=' | '===' | '!=='; + public XbaseGrammarAccess.OpEqualityElements getOpEqualityAccess() { + return gaXbase.getOpEqualityAccess(); + } + + public ParserRule getOpEqualityRule() { + return getOpEqualityAccess().getRule(); + } + + //XRelationalExpression returns XExpression: + // XOtherOperatorExpression + // (=>({XInstanceOfExpression.expression=current} 'instanceof') type=JvmTypeReference | + // =>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpCompare]) rightOperand=XOtherOperatorExpression)*; + public XbaseGrammarAccess.XRelationalExpressionElements getXRelationalExpressionAccess() { + return gaXbase.getXRelationalExpressionAccess(); + } + + public ParserRule getXRelationalExpressionRule() { + return getXRelationalExpressionAccess().getRule(); + } + + //OpCompare: + // '>=' | '<' '=' | '>' | '<' ; + public XbaseGrammarAccess.OpCompareElements getOpCompareAccess() { + return gaXbase.getOpCompareAccess(); + } + + public ParserRule getOpCompareRule() { + return getOpCompareAccess().getRule(); + } + + //XOtherOperatorExpression returns XExpression: + // XAdditiveExpression (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOther]) + // rightOperand=XAdditiveExpression)*; + public XbaseGrammarAccess.XOtherOperatorExpressionElements getXOtherOperatorExpressionAccess() { + return gaXbase.getXOtherOperatorExpressionAccess(); + } + + public ParserRule getXOtherOperatorExpressionRule() { + return getXOtherOperatorExpressionAccess().getRule(); + } + + //OpOther: + // '->' + // | '..<' + // | '>' '..' + // | '..' + // | '=>' + // | '>' (=>('>' '>') | '>') + // | '<' (=>('<' '<') | '<' | '=>') + // | '<>' + // | '?:'; + public XbaseGrammarAccess.OpOtherElements getOpOtherAccess() { + return gaXbase.getOpOtherAccess(); + } + + public ParserRule getOpOtherRule() { + return getOpOtherAccess().getRule(); + } + + //XAdditiveExpression returns XExpression: + // XMultiplicativeExpression (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAdd]) + // rightOperand=XMultiplicativeExpression)*; + public XbaseGrammarAccess.XAdditiveExpressionElements getXAdditiveExpressionAccess() { + return gaXbase.getXAdditiveExpressionAccess(); + } + + public ParserRule getXAdditiveExpressionRule() { + return getXAdditiveExpressionAccess().getRule(); + } + + //OpAdd: + // '+' | '-'; + public XbaseGrammarAccess.OpAddElements getOpAddAccess() { + return gaXbase.getOpAddAccess(); + } + + public ParserRule getOpAddRule() { + return getOpAddAccess().getRule(); + } + + //XMultiplicativeExpression returns XExpression: + // XUnaryOperation (=>({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMulti]) rightOperand=XUnaryOperation)*; + public XbaseGrammarAccess.XMultiplicativeExpressionElements getXMultiplicativeExpressionAccess() { + return gaXbase.getXMultiplicativeExpressionAccess(); + } + + public ParserRule getXMultiplicativeExpressionRule() { + return getXMultiplicativeExpressionAccess().getRule(); + } + + //OpMulti: + // '*' | '**' | '/' | '%'; + public XbaseGrammarAccess.OpMultiElements getOpMultiAccess() { + return gaXbase.getOpMultiAccess(); + } + + public ParserRule getOpMultiRule() { + return getOpMultiAccess().getRule(); + } + + //XUnaryOperation returns XExpression: + // {XUnaryOperation} feature=[types::JvmIdentifiableElement|OpUnary] operand=XUnaryOperation + // | XCastedExpression; + public XbaseGrammarAccess.XUnaryOperationElements getXUnaryOperationAccess() { + return gaXbase.getXUnaryOperationAccess(); + } + + public ParserRule getXUnaryOperationRule() { + return getXUnaryOperationAccess().getRule(); + } + + //OpUnary: + // "!" | "-" | "+"; + public XbaseGrammarAccess.OpUnaryElements getOpUnaryAccess() { + return gaXbase.getOpUnaryAccess(); + } + + public ParserRule getOpUnaryRule() { + return getOpUnaryAccess().getRule(); + } + + //XCastedExpression returns XExpression: + // XPostfixOperation (=>({XCastedExpression.target=current} 'as') type=JvmTypeReference)* + //; + public XbaseGrammarAccess.XCastedExpressionElements getXCastedExpressionAccess() { + return gaXbase.getXCastedExpressionAccess(); + } + + public ParserRule getXCastedExpressionRule() { + return getXCastedExpressionAccess().getRule(); + } + + //XPostfixOperation returns XExpression: + // XMemberFeatureCall =>({XPostfixOperation.operand=current} feature=[types::JvmIdentifiableElement|OpPostfix])? + //; + public XbaseGrammarAccess.XPostfixOperationElements getXPostfixOperationAccess() { + return gaXbase.getXPostfixOperationAccess(); + } + + public ParserRule getXPostfixOperationRule() { + return getXPostfixOperationAccess().getRule(); + } + + //OpPostfix: + // "++" | "--" + //; + public XbaseGrammarAccess.OpPostfixElements getOpPostfixAccess() { + return gaXbase.getOpPostfixAccess(); + } + + public ParserRule getOpPostfixRule() { + return getOpPostfixAccess().getRule(); + } + + //XMemberFeatureCall returns XExpression: + // XPrimaryExpression + // (=>({XAssignment.assignable=current} ('.'|explicitStatic?="::") feature=[types::JvmIdentifiableElement|FeatureCallID] OpSingleAssign) value=XAssignment + // |=>({XMemberFeatureCall.memberCallTarget=current} ("."|nullSafe?="?."|explicitStatic?="::")) + // ('<' typeArguments+=JvmArgumentTypeReference (',' typeArguments+=JvmArgumentTypeReference)* '>')? + // feature=[types::JvmIdentifiableElement|IdOrSuper] ( + // =>explicitOperationCall?='(' + // ( + // memberCallArguments+=XShortClosure + // | memberCallArguments+=XExpression (',' memberCallArguments+=XExpression)* + // )? + // ')')? + // memberCallArguments+=XClosure? + // )*; + public XbaseGrammarAccess.XMemberFeatureCallElements getXMemberFeatureCallAccess() { + return gaXbase.getXMemberFeatureCallAccess(); + } + + public ParserRule getXMemberFeatureCallRule() { + return getXMemberFeatureCallAccess().getRule(); + } + + //XPrimaryExpression returns XExpression: + // XConstructorCall | + // XBlockExpression | + // XSwitchExpression | + // XSynchronizedExpression | + // XFeatureCall | + // XLiteral | + // XIfExpression | + // XForLoopExpression | + // XBasicForLoopExpression | + // XWhileExpression | + // XDoWhileExpression | + // XThrowExpression | + // XReturnExpression | + // XTryCatchFinallyExpression | + // XParenthesizedExpression; + public XbaseGrammarAccess.XPrimaryExpressionElements getXPrimaryExpressionAccess() { + return gaXbase.getXPrimaryExpressionAccess(); + } + + public ParserRule getXPrimaryExpressionRule() { + return getXPrimaryExpressionAccess().getRule(); + } + + //XLiteral returns XExpression: + // XCollectionLiteral | + // XClosure | + // XBooleanLiteral | + // XNumberLiteral | + // XNullLiteral | + // XStringLiteral | + // XTypeLiteral + //; + public XbaseGrammarAccess.XLiteralElements getXLiteralAccess() { + return gaXbase.getXLiteralAccess(); + } + + public ParserRule getXLiteralRule() { + return getXLiteralAccess().getRule(); + } + + //XCollectionLiteral: + // XSetLiteral | XListLiteral + //; + public XbaseGrammarAccess.XCollectionLiteralElements getXCollectionLiteralAccess() { + return gaXbase.getXCollectionLiteralAccess(); + } + + public ParserRule getXCollectionLiteralRule() { + return getXCollectionLiteralAccess().getRule(); + } + + //XSetLiteral: + // {XSetLiteral} '#' '{' (elements+=XExpression (',' elements+=XExpression )*)? '}' + //; + public XbaseGrammarAccess.XSetLiteralElements getXSetLiteralAccess() { + return gaXbase.getXSetLiteralAccess(); + } + + public ParserRule getXSetLiteralRule() { + return getXSetLiteralAccess().getRule(); + } + + //XListLiteral: + // {XListLiteral} '#' '[' (elements+=XExpression (',' elements+=XExpression )*)? ']' + //; + public XbaseGrammarAccess.XListLiteralElements getXListLiteralAccess() { + return gaXbase.getXListLiteralAccess(); + } + + public ParserRule getXListLiteralRule() { + return getXListLiteralAccess().getRule(); + } + + //XClosure returns XExpression: + // =>({XClosure} + // '[') + // =>((declaredFormalParameters+=JvmFormalParameter (',' declaredFormalParameters+=JvmFormalParameter)*)? explicitSyntax?='|')? + // expression=XExpressionInClosure + // ']'; + public XbaseGrammarAccess.XClosureElements getXClosureAccess() { + return gaXbase.getXClosureAccess(); + } + + public ParserRule getXClosureRule() { + return getXClosureAccess().getRule(); + } + + //XExpressionInClosure returns XExpression: + // {XBlockExpression} + // (expressions+=XExpressionOrVarDeclaration ';'?)* + //; + public XbaseGrammarAccess.XExpressionInClosureElements getXExpressionInClosureAccess() { + return gaXbase.getXExpressionInClosureAccess(); + } + + public ParserRule getXExpressionInClosureRule() { + return getXExpressionInClosureAccess().getRule(); + } + + //XShortClosure returns XExpression: + // =>({XClosure} (declaredFormalParameters+=JvmFormalParameter (',' declaredFormalParameters+=JvmFormalParameter)*)? explicitSyntax?='|') expression=XExpression; + public XbaseGrammarAccess.XShortClosureElements getXShortClosureAccess() { + return gaXbase.getXShortClosureAccess(); + } + + public ParserRule getXShortClosureRule() { + return getXShortClosureAccess().getRule(); + } + + //XParenthesizedExpression returns XExpression: + // '(' XExpression ')'; + public XbaseGrammarAccess.XParenthesizedExpressionElements getXParenthesizedExpressionAccess() { + return gaXbase.getXParenthesizedExpressionAccess(); + } + + public ParserRule getXParenthesizedExpressionRule() { + return getXParenthesizedExpressionAccess().getRule(); + } + + //XIfExpression returns XExpression: + // {XIfExpression} + // 'if' '(' if=XExpression ')' + // then=XExpression + // (=>'else' else=XExpression)?; + public XbaseGrammarAccess.XIfExpressionElements getXIfExpressionAccess() { + return gaXbase.getXIfExpressionAccess(); + } + + public ParserRule getXIfExpressionRule() { + return getXIfExpressionAccess().getRule(); + } + + //XSwitchExpression returns XExpression: + // {XSwitchExpression} + // 'switch' (=>('(' declaredParam=JvmFormalParameter ':') switch=XExpression ')' + // | =>(declaredParam=JvmFormalParameter ':')? switch=XExpression) '{' + // (cases+=XCasePart)* + // ('default' ':' default=XExpression )? + // '}'; + public XbaseGrammarAccess.XSwitchExpressionElements getXSwitchExpressionAccess() { + return gaXbase.getXSwitchExpressionAccess(); + } + + public ParserRule getXSwitchExpressionRule() { + return getXSwitchExpressionAccess().getRule(); + } + + //XCasePart: + // {XCasePart} + // typeGuard=JvmTypeReference? ('case' case=XExpression)? + // (':' then=XExpression | fallThrough?=',') ; + public XbaseGrammarAccess.XCasePartElements getXCasePartAccess() { + return gaXbase.getXCasePartAccess(); + } + + public ParserRule getXCasePartRule() { + return getXCasePartAccess().getRule(); + } + + //XForLoopExpression returns XExpression: + // =>({XForLoopExpression} + // 'for' '(' declaredParam=JvmFormalParameter ':') forExpression=XExpression ')' + // eachExpression=XExpression; + public XbaseGrammarAccess.XForLoopExpressionElements getXForLoopExpressionAccess() { + return gaXbase.getXForLoopExpressionAccess(); + } + + public ParserRule getXForLoopExpressionRule() { + return getXForLoopExpressionAccess().getRule(); + } + + //XBasicForLoopExpression returns XExpression: + // {XBasicForLoopExpression} + // 'for' '('(initExpressions+=XExpressionOrVarDeclaration (',' initExpressions+=XExpressionOrVarDeclaration)*)? ';' + // expression=XExpression? ';' + // (updateExpressions+=XExpression (',' updateExpressions+=XExpression)*)? ')' + // eachExpression=XExpression; + public XbaseGrammarAccess.XBasicForLoopExpressionElements getXBasicForLoopExpressionAccess() { + return gaXbase.getXBasicForLoopExpressionAccess(); + } + + public ParserRule getXBasicForLoopExpressionRule() { + return getXBasicForLoopExpressionAccess().getRule(); + } + + //XWhileExpression returns XExpression: + // {XWhileExpression} + // 'while' '(' predicate=XExpression ')' + // body=XExpression; + public XbaseGrammarAccess.XWhileExpressionElements getXWhileExpressionAccess() { + return gaXbase.getXWhileExpressionAccess(); + } + + public ParserRule getXWhileExpressionRule() { + return getXWhileExpressionAccess().getRule(); + } + + //XDoWhileExpression returns XExpression: + // {XDoWhileExpression} + // 'do' + // body=XExpression + // 'while' '(' predicate=XExpression ')'; + public XbaseGrammarAccess.XDoWhileExpressionElements getXDoWhileExpressionAccess() { + return gaXbase.getXDoWhileExpressionAccess(); + } + + public ParserRule getXDoWhileExpressionRule() { + return getXDoWhileExpressionAccess().getRule(); + } + + //XBlockExpression returns XExpression: + // {XBlockExpression} + // '{' + // (expressions+=XExpressionOrVarDeclaration ';'?)* + // '}'; + public XbaseGrammarAccess.XBlockExpressionElements getXBlockExpressionAccess() { + return gaXbase.getXBlockExpressionAccess(); + } + + public ParserRule getXBlockExpressionRule() { + return getXBlockExpressionAccess().getRule(); } - //terminal INT returns ecore::EInt: ('0'..'9')+; + //XExpressionOrVarDeclaration returns XExpression: + // XVariableDeclaration | XExpression; + public XbaseGrammarAccess.XExpressionOrVarDeclarationElements getXExpressionOrVarDeclarationAccess() { + return gaXbase.getXExpressionOrVarDeclarationAccess(); + } + + public ParserRule getXExpressionOrVarDeclarationRule() { + return getXExpressionOrVarDeclarationAccess().getRule(); + } + + //XVariableDeclaration returns XExpression: + // {XVariableDeclaration} + // (writeable?='var'|'val') (=>(type=JvmTypeReference name=ValidID) | name=ValidID) ('=' right=XExpression)?; + public XbaseGrammarAccess.XVariableDeclarationElements getXVariableDeclarationAccess() { + return gaXbase.getXVariableDeclarationAccess(); + } + + public ParserRule getXVariableDeclarationRule() { + return getXVariableDeclarationAccess().getRule(); + } + + //JvmFormalParameter returns types::JvmFormalParameter: + // (parameterType=JvmTypeReference)? name=ValidID; + public XbaseGrammarAccess.JvmFormalParameterElements getJvmFormalParameterAccess() { + return gaXbase.getJvmFormalParameterAccess(); + } + + public ParserRule getJvmFormalParameterRule() { + return getJvmFormalParameterAccess().getRule(); + } + + //FullJvmFormalParameter returns types::JvmFormalParameter: + // parameterType=JvmTypeReference name=ValidID; + public XbaseGrammarAccess.FullJvmFormalParameterElements getFullJvmFormalParameterAccess() { + return gaXbase.getFullJvmFormalParameterAccess(); + } + + public ParserRule getFullJvmFormalParameterRule() { + return getFullJvmFormalParameterAccess().getRule(); + } + + //XFeatureCall returns XExpression: + // {XFeatureCall} + // ('<' typeArguments+=JvmArgumentTypeReference (',' typeArguments+=JvmArgumentTypeReference)* '>')? + // feature=[types::JvmIdentifiableElement|IdOrSuper] + // (=>explicitOperationCall?='(' + // ( + // featureCallArguments+=XShortClosure + // | featureCallArguments+=XExpression (',' featureCallArguments+=XExpression)* + // )? + // ')')? + // featureCallArguments+=XClosure?; + public XbaseGrammarAccess.XFeatureCallElements getXFeatureCallAccess() { + return gaXbase.getXFeatureCallAccess(); + } + + public ParserRule getXFeatureCallRule() { + return getXFeatureCallAccess().getRule(); + } + + //FeatureCallID: + // ValidID | 'extends' | 'static' | 'import' | 'extension' + //; + public XbaseGrammarAccess.FeatureCallIDElements getFeatureCallIDAccess() { + return gaXbase.getFeatureCallIDAccess(); + } + + public ParserRule getFeatureCallIDRule() { + return getFeatureCallIDAccess().getRule(); + } + + //IdOrSuper : + // FeatureCallID | 'super' + //; + public XbaseGrammarAccess.IdOrSuperElements getIdOrSuperAccess() { + return gaXbase.getIdOrSuperAccess(); + } + + public ParserRule getIdOrSuperRule() { + return getIdOrSuperAccess().getRule(); + } + + //XConstructorCall returns XExpression: + // {XConstructorCall} + // 'new' constructor=[types::JvmConstructor|QualifiedName] + // (=>'<' typeArguments+=JvmArgumentTypeReference (',' typeArguments+=JvmArgumentTypeReference)* '>')? + // (=>explicitConstructorCall?='(' + // ( + // arguments+=XShortClosure + // | arguments+=XExpression (',' arguments+=XExpression)* + // )? + // ')')? + // arguments+=XClosure?; + public XbaseGrammarAccess.XConstructorCallElements getXConstructorCallAccess() { + return gaXbase.getXConstructorCallAccess(); + } + + public ParserRule getXConstructorCallRule() { + return getXConstructorCallAccess().getRule(); + } + + //XBooleanLiteral returns XExpression : + // {XBooleanLiteral} ('false' | isTrue?='true'); + public XbaseGrammarAccess.XBooleanLiteralElements getXBooleanLiteralAccess() { + return gaXbase.getXBooleanLiteralAccess(); + } + + public ParserRule getXBooleanLiteralRule() { + return getXBooleanLiteralAccess().getRule(); + } + + //XNullLiteral returns XExpression : + // {XNullLiteral} 'null'; + public XbaseGrammarAccess.XNullLiteralElements getXNullLiteralAccess() { + return gaXbase.getXNullLiteralAccess(); + } + + public ParserRule getXNullLiteralRule() { + return getXNullLiteralAccess().getRule(); + } + + //XNumberLiteral returns XExpression : + // {XNumberLiteral} value=Number; + public XbaseGrammarAccess.XNumberLiteralElements getXNumberLiteralAccess() { + return gaXbase.getXNumberLiteralAccess(); + } + + public ParserRule getXNumberLiteralRule() { + return getXNumberLiteralAccess().getRule(); + } + + //XStringLiteral returns XExpression: + // {XStringLiteral} value=STRING; + public XbaseGrammarAccess.XStringLiteralElements getXStringLiteralAccess() { + return gaXbase.getXStringLiteralAccess(); + } + + public ParserRule getXStringLiteralRule() { + return getXStringLiteralAccess().getRule(); + } + + //XTypeLiteral returns XExpression : + // {XTypeLiteral} 'typeof' '(' type=[types::JvmType|QualifiedName] (arrayDimensions+=ArrayBrackets)* ')' + //; + public XbaseGrammarAccess.XTypeLiteralElements getXTypeLiteralAccess() { + return gaXbase.getXTypeLiteralAccess(); + } + + public ParserRule getXTypeLiteralRule() { + return getXTypeLiteralAccess().getRule(); + } + + //XThrowExpression returns XExpression : + // {XThrowExpression} 'throw' expression=XExpression; + public XbaseGrammarAccess.XThrowExpressionElements getXThrowExpressionAccess() { + return gaXbase.getXThrowExpressionAccess(); + } + + public ParserRule getXThrowExpressionRule() { + return getXThrowExpressionAccess().getRule(); + } + + //XReturnExpression returns XExpression : + // {XReturnExpression} 'return' (->expression=XExpression)?; + public XbaseGrammarAccess.XReturnExpressionElements getXReturnExpressionAccess() { + return gaXbase.getXReturnExpressionAccess(); + } + + public ParserRule getXReturnExpressionRule() { + return getXReturnExpressionAccess().getRule(); + } + + //XTryCatchFinallyExpression returns XExpression: + // {XTryCatchFinallyExpression} + // 'try' + // expression=XExpression + // ( + // catchClauses+=XCatchClause+ + // (=>'finally' finallyExpression=XExpression)? + // | 'finally' finallyExpression=XExpression + // ); + public XbaseGrammarAccess.XTryCatchFinallyExpressionElements getXTryCatchFinallyExpressionAccess() { + return gaXbase.getXTryCatchFinallyExpressionAccess(); + } + + public ParserRule getXTryCatchFinallyExpressionRule() { + return getXTryCatchFinallyExpressionAccess().getRule(); + } + + //XSynchronizedExpression returns XExpression: + // =>({XSynchronizedExpression} + // 'synchronized' '(') param=XExpression ')' expression=XExpression; + public XbaseGrammarAccess.XSynchronizedExpressionElements getXSynchronizedExpressionAccess() { + return gaXbase.getXSynchronizedExpressionAccess(); + } + + public ParserRule getXSynchronizedExpressionRule() { + return getXSynchronizedExpressionAccess().getRule(); + } + + //XCatchClause : + // =>'catch' '(' declaredParam=FullJvmFormalParameter ')' expression=XExpression; + public XbaseGrammarAccess.XCatchClauseElements getXCatchClauseAccess() { + return gaXbase.getXCatchClauseAccess(); + } + + public ParserRule getXCatchClauseRule() { + return getXCatchClauseAccess().getRule(); + } + + //@Override + //QualifiedName: + // ValidID (=>'.' ValidID)*; + public XbaseGrammarAccess.QualifiedNameElements getQualifiedNameAccess() { + return gaXbase.getQualifiedNameAccess(); + } + + public ParserRule getQualifiedNameRule() { + return getQualifiedNameAccess().getRule(); + } + + //Number hidden(): + // HEX | (INT | DECIMAL) ('.' (INT | DECIMAL))?; + public XbaseGrammarAccess.NumberElements getNumberAccess() { + return gaXbase.getNumberAccess(); + } + + public ParserRule getNumberRule() { + return getNumberAccess().getRule(); + } + + ///** + // * Dummy rule, for "better" downwards compatibility, since GrammarAccess generates non-static inner classes, + // * which makes downstream grammars break on classloading, when a rule is removed. + // */ + //StaticQualifier: + // (ValidID '::')+ + //; + public XbaseGrammarAccess.StaticQualifierElements getStaticQualifierAccess() { + return gaXbase.getStaticQualifierAccess(); + } + + public ParserRule getStaticQualifierRule() { + return getStaticQualifierAccess().getRule(); + } + + //terminal HEX: + // ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F'|'_')+ + // ('#' (('b'|'B')('i'|'I') | ('l'|'L')))?; + public TerminalRule getHEXRule() { + return gaXbase.getHEXRule(); + } + + //terminal INT returns ecore::EInt: + // '0'..'9' ('0'..'9'|'_')*; public TerminalRule getINTRule() { - return gaTerminals.getINTRule(); + return gaXbase.getINTRule(); + } + + //terminal DECIMAL: + // INT + // (('e'|'E') ('+'|'-')? INT)? + // (('b'|'B')('i'|'I'|'d'|'D') | ('l'|'L'|'d'|'D'|'f'|'F'))?; + public TerminalRule getDECIMALRule() { + return gaXbase.getDECIMALRule(); + } + + //JvmTypeReference: + // JvmParameterizedTypeReference =>({JvmGenericArrayTypeReference.componentType=current} ArrayBrackets)* + // | XFunctionTypeRef; + public XtypeGrammarAccess.JvmTypeReferenceElements getJvmTypeReferenceAccess() { + return gaXtype.getJvmTypeReferenceAccess(); + } + + public ParserRule getJvmTypeReferenceRule() { + return getJvmTypeReferenceAccess().getRule(); + } + + //ArrayBrackets : + // '[' ']' + //; + public XtypeGrammarAccess.ArrayBracketsElements getArrayBracketsAccess() { + return gaXtype.getArrayBracketsAccess(); + } + + public ParserRule getArrayBracketsRule() { + return getArrayBracketsAccess().getRule(); + } + + //XFunctionTypeRef: + // ('(' (paramTypes+=JvmTypeReference (',' paramTypes+=JvmTypeReference)*)? ')')? '=>' returnType=JvmTypeReference; + public XtypeGrammarAccess.XFunctionTypeRefElements getXFunctionTypeRefAccess() { + return gaXtype.getXFunctionTypeRefAccess(); + } + + public ParserRule getXFunctionTypeRefRule() { + return getXFunctionTypeRefAccess().getRule(); + } + + //JvmParameterizedTypeReference: + // type=[JvmType|QualifiedName] ( + // =>'<' arguments+=JvmArgumentTypeReference (',' arguments+=JvmArgumentTypeReference)* '>' + // (=>({JvmInnerTypeReference.outer=current} '.') type=[JvmType|ValidID] (=>'<' arguments+=JvmArgumentTypeReference (',' arguments+=JvmArgumentTypeReference)* '>')?)* + // )?; + public XtypeGrammarAccess.JvmParameterizedTypeReferenceElements getJvmParameterizedTypeReferenceAccess() { + return gaXtype.getJvmParameterizedTypeReferenceAccess(); + } + + public ParserRule getJvmParameterizedTypeReferenceRule() { + return getJvmParameterizedTypeReferenceAccess().getRule(); + } + + //JvmArgumentTypeReference returns JvmTypeReference: + // JvmTypeReference | JvmWildcardTypeReference; + public XtypeGrammarAccess.JvmArgumentTypeReferenceElements getJvmArgumentTypeReferenceAccess() { + return gaXtype.getJvmArgumentTypeReferenceAccess(); + } + + public ParserRule getJvmArgumentTypeReferenceRule() { + return getJvmArgumentTypeReferenceAccess().getRule(); + } + + //JvmWildcardTypeReference: + // {JvmWildcardTypeReference} '?' ( + // constraints+=JvmUpperBound (constraints+=JvmUpperBoundAnded)* + // | constraints+=JvmLowerBound (constraints+=JvmLowerBoundAnded)* + // )?; + public XtypeGrammarAccess.JvmWildcardTypeReferenceElements getJvmWildcardTypeReferenceAccess() { + return gaXtype.getJvmWildcardTypeReferenceAccess(); + } + + public ParserRule getJvmWildcardTypeReferenceRule() { + return getJvmWildcardTypeReferenceAccess().getRule(); + } + + //JvmUpperBound : + // 'extends' typeReference=JvmTypeReference; + public XtypeGrammarAccess.JvmUpperBoundElements getJvmUpperBoundAccess() { + return gaXtype.getJvmUpperBoundAccess(); + } + + public ParserRule getJvmUpperBoundRule() { + return getJvmUpperBoundAccess().getRule(); + } + + //JvmUpperBoundAnded returns JvmUpperBound: + // '&' typeReference=JvmTypeReference; + public XtypeGrammarAccess.JvmUpperBoundAndedElements getJvmUpperBoundAndedAccess() { + return gaXtype.getJvmUpperBoundAndedAccess(); + } + + public ParserRule getJvmUpperBoundAndedRule() { + return getJvmUpperBoundAndedAccess().getRule(); + } + + //JvmLowerBound : + // 'super' typeReference=JvmTypeReference; + public XtypeGrammarAccess.JvmLowerBoundElements getJvmLowerBoundAccess() { + return gaXtype.getJvmLowerBoundAccess(); + } + + public ParserRule getJvmLowerBoundRule() { + return getJvmLowerBoundAccess().getRule(); + } + + //JvmLowerBoundAnded returns JvmLowerBound: + // '&' typeReference=JvmTypeReference; + public XtypeGrammarAccess.JvmLowerBoundAndedElements getJvmLowerBoundAndedAccess() { + return gaXtype.getJvmLowerBoundAndedAccess(); + } + + public ParserRule getJvmLowerBoundAndedRule() { + return getJvmLowerBoundAndedAccess().getRule(); + } + + //JvmTypeParameter : + // name=ValidID + // (constraints+=JvmUpperBound (constraints+=JvmUpperBoundAnded)*)?; + public XtypeGrammarAccess.JvmTypeParameterElements getJvmTypeParameterAccess() { + return gaXtype.getJvmTypeParameterAccess(); + } + + public ParserRule getJvmTypeParameterRule() { + return getJvmTypeParameterAccess().getRule(); + } + + //QualifiedNameWithWildcard : + // QualifiedName '.' '*'; + public XtypeGrammarAccess.QualifiedNameWithWildcardElements getQualifiedNameWithWildcardAccess() { + return gaXtype.getQualifiedNameWithWildcardAccess(); + } + + public ParserRule getQualifiedNameWithWildcardRule() { + return getQualifiedNameWithWildcardAccess().getRule(); + } + + //ValidID: + // ID; + public XtypeGrammarAccess.ValidIDElements getValidIDAccess() { + return gaXtype.getValidIDAccess(); + } + + public ParserRule getValidIDRule() { + return getValidIDAccess().getRule(); + } + + //XImportSection: + // importDeclarations+=XImportDeclaration+; + public XtypeGrammarAccess.XImportSectionElements getXImportSectionAccess() { + return gaXtype.getXImportSectionAccess(); + } + + public ParserRule getXImportSectionRule() { + return getXImportSectionAccess().getRule(); + } + + //XImportDeclaration: + // 'import' ( + // (static?='static' extension?='extension'? importedType=[JvmDeclaredType|QualifiedNameInStaticImport] (wildcard?='*' | memberName=ValidID)) + // | importedType=[JvmDeclaredType|QualifiedName] + // | importedNamespace=QualifiedNameWithWildcard) ';'? + //; + public XtypeGrammarAccess.XImportDeclarationElements getXImportDeclarationAccess() { + return gaXtype.getXImportDeclarationAccess(); + } + + public ParserRule getXImportDeclarationRule() { + return getXImportDeclarationAccess().getRule(); + } + + //QualifiedNameInStaticImport: + // (ValidID '.')+ + //; + public XtypeGrammarAccess.QualifiedNameInStaticImportElements getQualifiedNameInStaticImportAccess() { + return gaXtype.getQualifiedNameInStaticImportAccess(); + } + + public ParserRule getQualifiedNameInStaticImportRule() { + return getQualifiedNameInStaticImportAccess().getRule(); + } + + //terminal ID: + // '^'? ('a'..'z'|'A'..'Z'|'$'|'_') ('a'..'z'|'A'..'Z'|'$'|'_'|'0'..'9')*; + public TerminalRule getIDRule() { + return gaXtype.getIDRule(); } //terminal STRING: - // '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"' | - // "'" ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|"'") )* "'" - // ; + // '"' ( '\\' . /* ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') */ | !('\\'|'"') )* '"'? | + // "'" ( '\\' . /* ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') */ | !('\\'|"'") )* "'"?; public TerminalRule getSTRINGRule() { - return gaTerminals.getSTRINGRule(); + return gaXtype.getSTRINGRule(); } - //terminal ML_COMMENT : '/*' -> '*/'; + //terminal ML_COMMENT: '/*' -> '*/'; public TerminalRule getML_COMMENTRule() { - return gaTerminals.getML_COMMENTRule(); + return gaXtype.getML_COMMENTRule(); } - //terminal SL_COMMENT : '//' !('\n'|'\r')* ('\r'? '\n')?; + //terminal SL_COMMENT: '//' !('\n'|'\r')* ('\r'? '\n')?; public TerminalRule getSL_COMMENTRule() { - return gaTerminals.getSL_COMMENTRule(); + return gaXtype.getSL_COMMENTRule(); } - //terminal WS : (' '|'\t'|'\r'|'\n')+; + //terminal WS: (' '|'\t'|'\r'|'\n')+; public TerminalRule getWSRule() { - return gaTerminals.getWSRule(); + return gaXtype.getWSRule(); } //terminal ANY_OTHER: .; public TerminalRule getANY_OTHERRule() { - return gaTerminals.getANY_OTHERRule(); + return gaXtype.getANY_OTHERRule(); } } diff --git a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/validation/AbstractScopeValidator.java b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/validation/AbstractScopeValidator.java index 94b3d9c326..3184415705 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/validation/AbstractScopeValidator.java +++ b/com.avaloq.tools.ddk.xtext.scope/src-gen/com/avaloq/tools/ddk/xtext/scope/validation/AbstractScopeValidator.java @@ -15,6 +15,9 @@ protected List getEPackages() { List result = new ArrayList(super.getEPackages()); result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.avaloq.com/tools/ddk/xtext/Scope")); result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.avaloq.com/tools/ddk/xtext/expression/Expression")); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/xtext/xbase/Xbase")); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/xtext/common/JavaVMTypes")); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/xtext/xbase/Xtype")); return result; } } diff --git a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/ScopeRuntimeModule.java b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/ScopeRuntimeModule.java index 09c5499475..103bee2a13 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/ScopeRuntimeModule.java +++ b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/ScopeRuntimeModule.java @@ -53,6 +53,7 @@ public ClassLoader bindClassLoaderToInstance() { * * @return implementation */ + @Override public Class bindIQualifiedNameConverter() { return ScopeQualifiedNameConverter.class; } @@ -67,6 +68,7 @@ public Class bindILocationInFileProvider() { * * @return {@link ScopeResourceDescriptionStrategy} */ + @Override public Class bindIDefaultResourceDescriptionStrategy() { return ScopeResourceDescriptionStrategy.class; } diff --git a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeGenerator.xtend b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeGenerator.xtend deleted file mode 100644 index 3dce9dd4fa..0000000000 --- a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeGenerator.xtend +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2016 Avaloq Group AG 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 - * - * Contributors: - * Avaloq Group AG - initial API and implementation - *******************************************************************************/ - -package com.avaloq.tools.ddk.xtext.scope.generator - -import com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext -import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX -import com.avaloq.tools.ddk.xtext.expression.generator.GeneratorSupport -import com.avaloq.tools.ddk.xtext.expression.generator.Naming -import com.avaloq.tools.ddk.xtext.scope.scope.ScopeModel -import com.google.inject.Inject -import org.eclipse.core.resources.IProject -import org.eclipse.core.resources.ResourcesPlugin -import org.eclipse.emf.ecore.resource.Resource -import org.eclipse.xtext.generator.IFileSystemAccess -import org.eclipse.xtext.scoping.IScopeProvider -import org.eclipse.xtext.generator.IGenerator2 -import org.eclipse.xtext.generator.IFileSystemAccess2 -import org.eclipse.xtext.generator.IGeneratorContext - -/** - * Scope generator generating the {@link IScopeProvider} implementation for a given scope file. - */ -class ScopeGenerator implements IGenerator2 { - - @Inject - extension Naming - @Inject - ScopeProviderGenerator scopeProvider - @Inject - ScopeNameProviderGenerator nameProvider - @Inject - GenModelUtilX genModelUtil - @Inject - GeneratorSupport generatorSupport - - CompilationContext compilationContext - - override doGenerate(Resource input, IFileSystemAccess2 fsa, IGeneratorContext context) { - if (input === null || input.contents.empty || !(input.contents.head instanceof ScopeModel)) { - return - } - val model = input.contents.head as ScopeModel - genModelUtil.resource = model.eResource - var IProject project = null - if (input.URI.isPlatformResource) { - val res = ResourcesPlugin.workspace.root.findMember(input.URI.toPlatformString(true)) - if (res !== null) { - project = res.project - } - } - - generatorSupport.executeWithProjectResourceLoader(project, [ - compilationContext = ScopingGeneratorUtil.getCompilationContext(model, genModelUtil) - - generateScopeNameProvider(model, fsa) - generateScopeProvider(model, fsa) - ]) - } - - def generateScopeProvider(ScopeModel model, IFileSystemAccess fsa) { - val fileName = (model.name.toJavaPackage + ".scoping.").replace('.', '/') + model.name.toSimpleName + "ScopeProvider.java"; - fsa.generateFile(fileName, scopeProvider.generate(model, nameProvider, compilationContext, genModelUtil)) - } - - def generateScopeNameProvider(ScopeModel model, IFileSystemAccess fsa) { - val fileName = (model.name.toJavaPackage + ".scoping.").replace('.', '/') + model.name.toSimpleName + "ScopeNameProvider.java"; - fsa.generateFile(fileName, nameProvider.generate(model, compilationContext, genModelUtil)) - } - - override afterGenerate(Resource input, IFileSystemAccess2 fsa, IGeneratorContext context) {} - - override beforeGenerate(Resource input, IFileSystemAccess2 fsa, IGeneratorContext context) {} - -} diff --git a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeModelTypeResolver.java b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeModelTypeResolver.java new file mode 100644 index 0000000000..8dfe9123c9 --- /dev/null +++ b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeModelTypeResolver.java @@ -0,0 +1,117 @@ +/******************************************************************************* + * Copyright (c) 2016 Avaloq Group AG 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 + * + * Contributors: + * Avaloq Group AG - initial API and implementation + *******************************************************************************/ +package com.avaloq.tools.ddk.xtext.scope.generator; + +import java.util.List; + +import org.eclipse.emf.ecore.EClassifier; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.util.EcoreUtil; + +import com.avaloq.tools.ddk.xtext.scope.scope.Import; +import com.avaloq.tools.ddk.xtext.scope.scope.ScopeModel; +import com.avaloq.tools.ddk.xtext.scope.scope.ScopePackage; +import com.avaloq.tools.ddk.xtext.util.EObjectUtil; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; + + +/** + * Resolves the model type names that appear in scope expressions (casts, {@code typeSelect} and {@code isInstance}) + * to their EMF {@link EClassifier} using the EPackages imported by the scope model. + *

+ * This reproduces, without the classic Xtend type system, the resolution that the legacy + * {@code EmfRegistryMetaModel} performed: an unqualified name such as {@code Entity} is looked up across all + * imported packages, while an aliased or package qualified name such as {@code alias::Entity} resolves the alias to + * the imported package first. The list of visible EPackages is obtained exactly as the legacy generator did, namely + * through the scope of the {@code IMPORT__PACKAGE} reference. + */ +public final class ScopeModelTypeResolver { + + private final ScopeModel model; + private final List packages; + + /** + * Creates a resolver for the given scope model. + * + * @param model + * the scope model whose imported packages provide the visible model types, must not be {@code null} + */ + public ScopeModelTypeResolver(final ScopeModel model) { + this.model = model; + this.packages = Lists.newArrayList(Iterables.transform( + EObjectUtil.getScopeProviderByEObject(model).getScope(model, ScopePackage.Literals.IMPORT__PACKAGE).getAllElements(), + d -> (EPackage) EcoreUtil.resolve(d.getEObjectOrProxy(), model))); + } + + /** + * Resolves the given DSL type name segments to the matching model classifier. + * + * @param segments + * the {@code ::}-separated name segments of the type, must not be {@code null} or empty + * @return the resolved classifier, or {@code null} if no imported package declares it + */ + public EClassifier resolve(final List segments) { + if (segments == null || segments.isEmpty()) { + return null; + } + if (segments.size() == 1) { + return findClassifier(segments.get(0)); + } + final String alias = segments.get(0); + final String typeName = segments.get(segments.size() - 1); + for (final Import imp : model.getImports()) { + if (alias.equals(imp.getName()) && imp.getPackage() != null) { + return imp.getPackage().getEClassifier(typeName); + } + } + for (final EPackage ePackage : packages) { + if (alias.equals(ePackage.getName())) { + final EClassifier classifier = ePackage.getEClassifier(typeName); + if (classifier != null) { + return classifier; + } + } + } + return findClassifier(typeName); + } + + /** + * Finds the first classifier with the given (unqualified) name across all imported packages. + * + * @param name + * the unqualified classifier name, must not be {@code null} + * @return the matching classifier, or {@code null} if none is found + */ + private EClassifier findClassifier(final String name) { + for (final EPackage ePackage : packages) { + final EClassifier classifier = ePackage.getEClassifier(name); + if (classifier != null) { + return classifier; + } + } + return null; + } + + /** + * Convenience factory that returns {@code null} when the given element is not a scope model. + * + * @param element + * the model element a scope expression originates from, may be {@code null} + * @return a resolver for the containing scope model, or {@code null} if none can be determined + */ + public static ScopeModelTypeResolver forElement(final EObject element) { + final ScopeModel scopeModel = org.eclipse.xtext.EcoreUtil2.getContainerOfType(element, ScopeModel.class); + return scopeModel == null ? null : new ScopeModelTypeResolver(scopeModel); + } + +} diff --git a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeNameProviderGenerator.xtend b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeNameProviderGenerator.xtend index 57ea48a998..c6caca582f 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeNameProviderGenerator.xtend +++ b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeNameProviderGenerator.xtend @@ -5,11 +5,11 @@ import com.avaloq.tools.ddk.xtext.expression.expression.FeatureCall import com.avaloq.tools.ddk.xtext.expression.expression.IntegerLiteral import com.avaloq.tools.ddk.xtext.expression.expression.OperationCall import com.avaloq.tools.ddk.xtext.expression.expression.StringLiteral -import com.avaloq.tools.ddk.xtext.expression.generator.CodeGenerationX -import com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext -import com.avaloq.tools.ddk.xtext.expression.generator.ExpressionExtensionsX +import com.avaloq.tools.ddk.xtext.expression.generator.ExpressionExtensions import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX import com.avaloq.tools.ddk.xtext.expression.generator.GeneratorUtilX +import com.avaloq.tools.ddk.xtext.scope.jvmmodel.ScopeExpressionCompiler +import com.avaloq.tools.ddk.xtext.scope.jvmmodel.ScopeExpressionTranslator import com.avaloq.tools.ddk.xtext.scope.scope.Naming import com.avaloq.tools.ddk.xtext.scope.scope.NamingExpression import com.avaloq.tools.ddk.xtext.scope.scope.ScopeModel @@ -18,119 +18,118 @@ import org.eclipse.emf.ecore.EClass class ScopeNameProviderGenerator { - @Inject extension CodeGenerationX - @Inject extension ExpressionExtensionsX - @Inject extension com.avaloq.tools.ddk.xtext.expression.generator.Naming @Inject extension GeneratorUtilX @Inject extension ScopeProviderX + @Inject ScopeExpressionTranslator translator + @Inject ScopeExpressionCompiler compiler + extension GenModelUtilX genModelUtil - CompilationContext compilationContext - def generate(ScopeModel it, CompilationContext compilationContext, GenModelUtilX genModelUtil) { - this.compilationContext = compilationContext + /** + * Configures the collaborators required by the extracted body method. Used by the Xbase based + * {@code ScopeJvmModelInferrer} which attaches the body method directly to an inferred JVM operation rather than + * generating a full compilation unit through {@link #generate}. + * + * @param genModelUtil + * the gen model utility, must not be {@code null} + */ + def void configure(GenModelUtilX genModelUtil) { this.genModelUtil = genModelUtil - ''' - package «getScopeNameProvider().toJavaPackage()»; - - import java.util.Arrays; - - import org.eclipse.emf.ecore.EClass; - - import org.eclipse.xtext.naming.QualifiedName; - - import com.avaloq.tools.ddk.xtext.scoping.AbstractScopeNameProvider; - import com.avaloq.tools.ddk.xtext.scoping.INameFunction; - import com.avaloq.tools.ddk.xtext.scoping.NameFunctions; - - import com.google.common.base.Function; - import com.google.inject.Singleton; - - @SuppressWarnings("all") - @Singleton - public class «getScopeNameProvider().toSimpleName()» extends AbstractScopeNameProvider { - - @Override - public Iterable internalGetNameFunctions(final EClass eClass) { - «IF it.naming !== null» - «FOR p : it.naming.namings.map[type.EPackage].toSet()» - if («p.qualifiedPackageInterfaceName()».eINSTANCE == eClass.getEPackage()) { - switch (eClass.getClassifierID()) { - - «FOR n : it.naming.namings.filter(n|n.type.EPackage == p)» - case «n.type.classifierIdLiteral()»: - «javaContributorComment(n.location())» - return «nameFunctions(n.naming, it)»; - «ENDFOR» - - default: - return !eClass.getESuperTypes().isEmpty() ? getNameFunctions(eClass.getESuperTypes().get(0)) : null; - } - } - «ENDFOR» - «ENDIF» - return !eClass.getESuperTypes().isEmpty() ? getNameFunctions(eClass.getESuperTypes().get(0)) : null; - } - - } - ''' } + /** + * Produces the body of the {@code internalGetNameFunctions(EClass)} method. Extracted so the Xbase based + * {@code ScopeJvmModelInferrer} can attach it directly as a method body. + * + * @param it + * the scope model, must not be {@code null} + * @return the method body, never {@code null} + */ + def internalGetNameFunctionsBody(ScopeModel it) ''' + «IF it.naming !== null» + «FOR p : it.naming.namings.map[type.EPackage].toSet()» + if («p.qualifiedPackageInterfaceName()».eINSTANCE == eClass.getEPackage()) { + switch (eClass.getClassifierID()) { + + «FOR n : it.naming.namings.filter(n|n.type.EPackage == p)» + case «n.type.classifierIdLiteral()»: + «javaContributorComment(n.location())» + return «nameFunctions(n.naming, it)»; + «ENDFOR» + + default: + return !eClass.getESuperTypes().isEmpty() ? getNameFunctions(eClass.getESuperTypes().get(0)) : null; + } + } + «ENDFOR» + «ENDIF» + return !eClass.getESuperTypes().isEmpty() ? getNameFunctions(eClass.getESuperTypes().get(0)) : null; + ''' + def nameFunctions(Naming it, ScopeModel model) { nameFunctions(it, model, null, null) } def nameFunctions(Naming it, ScopeModel model, String contextName, EClass contextType) { - '''Arrays.asList(«FOR n : names SEPARATOR ", "»«nameFunction(n, model, contextName, contextType)»«ENDFOR»)''' + '''java.util.Arrays.asList(«FOR n : names SEPARATOR ", "»«nameFunction(n, model, contextName, contextType)»«ENDFOR»)''' } def dispatch String nameFunction(NamingExpression it, ScopeModel model, String contextName, EClass contextType) { if (factory) { if (contextName === null || contextType === null) { - expression.javaExpression(compilationContext.clone('UNEXPECTED_THIS')) + compiler.javaExpression(expression, translator.newCompilationContext('UNEXPECTED_THIS', null, #[], it)) } else { - expression.javaExpression(compilationContext.clone('UNEXPECTED_THIS', null, contextName, contextType)) + compiler.javaExpression(expression, translator.newCompilationContext('UNEXPECTED_THIS', null, #[contextName -> contextType.instanceClassName], it)) } } else if (export) { - 'NameFunctions.exportNameFunction()' + 'com.avaloq.tools.ddk.xtext.scoping.NameFunctions.exportNameFunction()' } else { nameFunction(expression, model, contextName, contextType) } } def dispatch String nameFunction(Expression it, ScopeModel model, String contextName, EClass contextType) { - 'EXPRESSION_NOT_SUPPORTED("' + serialize() + '")' + 'EXPRESSION_NOT_SUPPORTED("' + ExpressionExtensions.serialize(it) + '")' } def dispatch String nameFunction(StringLiteral it, ScopeModel model, String contextName, EClass contextType) { - 'NameFunctions.fromConstant("' + ^val + '")' + 'com.avaloq.tools.ddk.xtext.scoping.NameFunctions.fromConstant("' + ^val + '")' } def dispatch String nameFunction(IntegerLiteral it, ScopeModel model, String contextName, EClass contextType) { - 'NameFunctions.fromConstant(String.valueOf(' + ^val + '))' + 'com.avaloq.tools.ddk.xtext.scoping.NameFunctions.fromConstant(String.valueOf(' + ^val + '))' } def dispatch String nameFunction(FeatureCall it, ScopeModel model, String contextName, EClass contextType) ''' - «val currentContext = if (contextName === null) compilationContext.clone('obj', scopeType()) else compilationContext.clone('obj', scopeType(), 'ctx', contextType)» - «IF (target === null || target.isThisCall()) && isSimpleFeatureCall(currentContext)»NameFunctions.fromFeature(«literalIdentifier(feature())»)« - ELSEIF isSimpleNavigation(currentContext)» + «val currentContext = if (contextName === null) translator.newCompilationContext('obj', scopeType(), #[], it) else translator.newCompilationContext('obj', scopeType(), #[contextName -> contextType.instanceClassName], it)» + «IF (target === null || target.isThisCall()) && compiler.isSimpleFeatureCall(it, currentContext)»com.avaloq.tools.ddk.xtext.scoping.NameFunctions.fromFeature(«literalIdentifier(feature())»)« + ELSEIF compiler.isSimpleNavigation(it, currentContext)» object -> { final «scopeType().instanceClassName()» obj = («scopeType().instanceClassName()») object; - return toQualifiedName(«javaExpression(currentContext)»); + return toQualifiedName(«compiler.javaExpression(it, currentContext)»); } « - ELSE»EXPRESSION_NOT_SUPPORTED("«serialize()»")«ENDIF + ELSE»EXPRESSION_NOT_SUPPORTED("«ExpressionExtensions.serialize(it)»")«ENDIF »''' def dispatch String nameFunction(OperationCall it, ScopeModel model, String contextName, EClass contextType) ''' - «val currentContext = if (contextName === null) compilationContext.clone('obj', scopeType()) else compilationContext.clone('obj', scopeType(), 'ctx', contextType)» - «IF isCompilable(currentContext)» + «val currentContext = if (contextName === null) translator.newCompilationContext('obj', scopeType(), #[], it) else translator.newCompilationContext('obj', scopeType(), #[contextName -> contextType.instanceClassName], it)» + «IF compiler.isCompilable(it, currentContext)» object -> { final «scopeType().instanceClassName()» obj = («scopeType().instanceClassName()») object; - return toQualifiedName(«javaExpression(currentContext)»); + return toQualifiedName(«compiler.javaExpression(it, currentContext)»); } « - ELSE»EXPRESSION_NOT_SUPPORTED("«serialize()»")«ENDIF + ELSE»EXPRESSION_NOT_SUPPORTED("«ExpressionExtensions.serialize(it)»")«ENDIF »''' + def private dispatch boolean isThisCall(Expression it) { + false + } + + def private dispatch boolean isThisCall(FeatureCall it) { + name === null && type !== null && type.id !== null && type.id.size == 1 && type.id.head == 'this' + } + } diff --git a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeProviderGenerator.xtend b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeProviderGenerator.xtend index cf57184807..99faadcf7d 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeProviderGenerator.xtend +++ b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeProviderGenerator.xtend @@ -13,13 +13,17 @@ package com.avaloq.tools.ddk.xtext.scope.generator import com.avaloq.tools.ddk.xtext.expression.expression.Expression import com.avaloq.tools.ddk.xtext.expression.expression.OperationCall -import com.avaloq.tools.ddk.xtext.expression.generator.CodeGenerationX -import com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext +import com.avaloq.tools.ddk.xtext.expression.expression.BooleanLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.FeatureCall +import com.avaloq.tools.ddk.xtext.expression.expression.IntegerLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.ListLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.NullLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.RealLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.StringLiteral import com.avaloq.tools.ddk.xtext.expression.generator.EClassComparator -import com.avaloq.tools.ddk.xtext.expression.generator.ExpressionExtensionsX +import com.avaloq.tools.ddk.xtext.expression.generator.ExpressionExtensions import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX import com.avaloq.tools.ddk.xtext.expression.generator.GeneratorUtilX -import com.avaloq.tools.ddk.xtext.expression.generator.Naming import com.avaloq.tools.ddk.xtext.scope.scope.FactoryExpression import com.avaloq.tools.ddk.xtext.scope.scope.GlobalScopeExpression import com.avaloq.tools.ddk.xtext.scope.scope.LambdaDataExpression @@ -31,208 +35,267 @@ import com.avaloq.tools.ddk.xtext.scope.scope.ScopeExpression import com.avaloq.tools.ddk.xtext.scope.scope.ScopeModel import com.avaloq.tools.ddk.xtext.scope.scope.ScopeRule import com.avaloq.tools.ddk.xtext.scope.scope.SimpleScopeExpression +import com.avaloq.tools.ddk.xtext.scope.jvmmodel.ScopeExpressionCompiler +import com.avaloq.tools.ddk.xtext.scope.jvmmodel.ScopeExpressionMethodRequest +import com.avaloq.tools.ddk.xtext.scope.jvmmodel.ScopeExpressionTranslator import com.google.common.collect.Lists import com.google.inject.Inject import java.util.List import org.eclipse.emf.ecore.EClass +import org.eclipse.xtext.util.Strings class ScopeProviderGenerator { - @Inject extension CodeGenerationX - @Inject extension ExpressionExtensionsX @Inject extension GeneratorUtilX - @Inject extension Naming @Inject extension ScopeProviderX + @Inject ScopeExpressionTranslator translator + @Inject ScopeExpressionCompiler compiler + ScopeNameProviderGenerator nameProviderGenerator - CompilationContext compilationContext extension GenModelUtilX genModelUtil - def generate(ScopeModel it, ScopeNameProviderGenerator nameProviderGenerator, CompilationContext compilationContext, GenModelUtilX genModelUtil) { + val List expressionMethods = newArrayList + int expressionMethodCounter + + /** + * Configures the collaborators required by the extracted body methods. Used by the Xbase based + * {@code ScopeJvmModelInferrer} which attaches the body methods directly to inferred JVM operations rather than + * generating a full compilation unit through {@link #generate}. + * + * @param nameProviderGenerator + * the name provider generator, must not be {@code null} + * @param genModelUtil + * the gen model utility, must not be {@code null} + */ + def void configure(ScopeNameProviderGenerator nameProviderGenerator, GenModelUtilX genModelUtil) { this.nameProviderGenerator = nameProviderGenerator - this.compilationContext = compilationContext this.genModelUtil = genModelUtil - ''' - package «getScopeProvider().toJavaPackage()»; - - import java.util.Arrays; - - import org.apache.logging.log4j.Logger; - import org.apache.logging.log4j.LogManager; - import org.eclipse.emf.ecore.EClass; - import org.eclipse.emf.ecore.EObject; - import org.eclipse.emf.ecore.EPackage; - import org.eclipse.emf.ecore.EReference; - import org.eclipse.emf.ecore.resource.Resource; - - import org.eclipse.xtext.naming.QualifiedName; - import org.eclipse.xtext.resource.IEObjectDescription; - import org.eclipse.xtext.scoping.IScope; - - import com.avaloq.tools.ddk.xtext.scoping.AbstractNameFunction; - import com.avaloq.tools.ddk.xtext.scoping.AbstractPolymorphicScopeProvider; - import com.avaloq.tools.ddk.xtext.scoping.IContextSupplier; - import com.avaloq.tools.ddk.xtext.scoping.INameFunction; - import com.avaloq.tools.ddk.xtext.scoping.NameFunctions; - import com.avaloq.tools.ddk.xtext.util.EObjectUtil; - - import com.google.common.base.Predicate; - «IF !allInjections().isEmpty» - import com.google.inject.Inject; - «ENDIF» + expressionMethods.clear + expressionMethodCounter = 0 + } - @SuppressWarnings("all") - public class «getScopeProvider().toSimpleName()» extends AbstractPolymorphicScopeProvider { + /** + * Returns the helper expression methods recorded while the body methods were rendered. The Xbase based + * {@code ScopeJvmModelInferrer} reads this after rendering all bodies and contributes one inferred operation per + * request. + * + * @return the recorded requests, never {@code null} + */ + def List getExpressionMethods() { + expressionMethods + } - /** Class-wide logger. */ - private static final Logger LOGGER = LogManager.getLogger(«getScopeProvider().toSimpleName()».class); - «IF !allInjections().isEmpty» - «FOR i : allInjections()» - @Inject - private «i.type» «i.name»; - «ENDFOR» - «ENDIF» + /** + * Produces the body of the {@code doGetScope(EObject, EReference, String, Resource)} method. Extracted so the + * Xbase based {@code ScopeJvmModelInferrer} can attach it directly as a method body. + * + * @param it + * the scope model, must not be {@code null} + * @return the method body, never {@code null} + */ + def doGetScopeByReferenceBody(ScopeModel it) ''' + «IF !allScopes().filter(s|s.reference !== null).empty» + if (scopeName == null) { + return null; + } - «scopeMethods(it, name.toSimpleName())» + switch (scopeName) { + «FOR name : allScopes().filter(s|s.reference !== null).map(s|s.getScopeName()).toSet() + »case "«name»": + «FOR scope : allScopes().filter(s|s.reference !== null).filter(s|s.getScopeName()==name)» + if (reference == «scope.reference.literalIdentifier()») return «scope.scopeMethodName()»(context, reference, originalResource); + «ENDFOR» + break; + « + ENDFOR» + default: break; + } + «ENDIF» + return null; + ''' - } - ''' - } + /** + * Produces the body of the {@code doGetScope(EObject, EClass, String, Resource)} method. + * + * @param it + * the scope model, must not be {@code null} + * @return the method body, never {@code null} + */ + def doGetScopeByTypeBody(ScopeModel it) ''' + «IF !allScopes().filter(s|s.reference === null).empty» + if (scopeName == null) { + return null; + } - def scopeMethods(ScopeModel it, String baseName) ''' - @Override - protected IScope doGetScope(final EObject context, final EReference reference, final String scopeName, final Resource originalResource) { - «IF !allScopes().filter(s|s.reference !== null).empty» - if (scopeName == null) { - return null; - } + switch (scopeName) { + «FOR name : allScopes().filter(s|s.reference === null).map(s|s.getScopeName()).toSet() + »case "«name»": + «FOR scope : allScopes().filter(s|s.reference === null).filter(s|s.getScopeName()==name)» + if (type == «scope.targetType.literalIdentifier()») return «scope.scopeMethodName()»(context, type, originalResource); + «ENDFOR» + break; + « + ENDFOR» + default: break; + } + «ENDIF» + return null; + ''' + /** + * Produces the body of the {@code doGlobalCache(EObject, EReference, String, Resource)} method. + * + * @param it + * the scope model, must not be {@code null} + * @return the method body, never {@code null} + */ + def doGlobalCacheByReferenceBody(ScopeModel it) ''' + «IF !allScopes().filter(s|s.reference !== null).filter(s|s.allScopeRules().filter(r|r.context.global).size > 0).empty» + if (scopeName != null && context.eContainer() == null) { switch (scopeName) { - «FOR name : allScopes().filter(s|s.reference !== null).map(s|s.getScopeName()).toSet() + «FOR name : allScopes().filter(s|s.reference !== null).filter(s|s.allScopeRules().filter(r|r.context.global).size > 0).map(s|s.getScopeName()).toSet() »case "«name»": «FOR scope : allScopes().filter(s|s.reference !== null).filter(s|s.getScopeName()==name)» - if (reference == «scope.reference.literalIdentifier()») return «scope.scopeMethodName()»(context, reference, originalResource); + «val globalRules = scope.allScopeRules().filter(r|r.context.global)» + «IF globalRules.size > 0» + if (reference == «scope.reference.literalIdentifier()») return true; + «ENDIF» «ENDFOR» break; « ENDFOR» default: break; } - «ENDIF» - return null; } + «ENDIF» + return false; + ''' - @Override - protected IScope doGetScope(final EObject context, final EClass type, final String scopeName, final Resource originalResource) { - «IF !allScopes().filter(s|s.reference === null).empty» - if (scopeName == null) { - return null; - } - + /** + * Produces the body of the {@code doGlobalCache(EObject, EClass, String, Resource)} method. + * + * @param it + * the scope model, must not be {@code null} + * @return the method body, never {@code null} + */ + def doGlobalCacheByTypeBody(ScopeModel it) ''' + «IF !allScopes().filter(s|s.reference === null).filter(s|s.allScopeRules().filter(r|r.context.global).size > 0).empty» + if (context.eContainer() == null) { switch (scopeName) { - «FOR name : allScopes().filter(s|s.reference === null).map(s|s.getScopeName()).toSet() + «FOR name : allScopes().filter(s|s.reference === null).filter(s|s.allScopeRules().filter(r|r.context.global).size > 0).map(s|s.getScopeName()).toSet() »case "«name»": «FOR scope : allScopes().filter(s|s.reference === null).filter(s|s.getScopeName()==name)» - if (type == «scope.targetType.literalIdentifier()») return «scope.scopeMethodName()»(context, type, originalResource); + «val globalRules = scope.allScopeRules().filter(r|r.context.global)» + «IF globalRules.size > 0» + if (type == «scope.targetType.literalIdentifier()») return true; + «ENDIF» «ENDFOR» break; - « - ENDFOR» + « + ENDFOR» default: break; } - «ENDIF» - return null; } + «ENDIF» + return false; + ''' - @Override - protected boolean doGlobalCache(final EObject context, final EReference reference, final String scopeName, final Resource originalResource) { - «IF !allScopes().filter(s|s.reference !== null).filter(s|s.allScopeRules().filter(r|r.context.global).size > 0).empty» - if (scopeName != null && context.eContainer() == null) { - switch (scopeName) { - «FOR name : allScopes().filter(s|s.reference !== null).filter(s|s.allScopeRules().filter(r|r.context.global).size > 0).map(s|s.getScopeName()).toSet() - »case "«name»": - «FOR scope : allScopes().filter(s|s.reference !== null).filter(s|s.getScopeName()==name)» - «val globalRules = scope.allScopeRules().filter(r|r.context.global)» - «IF globalRules.size > 0» - if (reference == «scope.reference.literalIdentifier()») return true; - «ENDIF» - «ENDFOR» - break; - « - ENDFOR» - default: break; - } - } - «ENDIF» - return false; + /** + * Produces the body of a single {@code } scope method. Extracted so the Xbase based + * {@code ScopeJvmModelInferrer} can attach it directly as a method body. + * + * @param scope + * the scope definition the method is generated for, must not be {@code null} + * @param it + * the scope model, must not be {@code null} + * @return the method body, never {@code null} + */ + def scopeMethodBody(ScopeDefinition scope, ScopeModel it) ''' + «val localRules = scope.allScopeRules().filter(r|!r.context.global).toList» + «val globalRules = scope.allScopeRules().filter(r|r.context.global).toList» + «if (globalRules.size > 1) throw new RuntimeException("only one global rule allowed")» + «FOR r : localRules.filterUniqueRules().sortedRules()» + «javaContributorComment(r.location())» + if («IF EClassComparator.isEObjectType(r.context.contextType)»true«ELSE»context instanceof «r.context.contextType.instanceClassName()»«ENDIF») { + final «r.context.contextType.instanceClassName()» ctx = («r.context.contextType.instanceClassName()») context; + «val rulesForTypeAndContext = localRules.filter(r2|r2.hasSameContext(r)).toList» + «scopeRuleBlock(rulesForTypeAndContext, it, if (r.contextRef() !== null) 'ref' else 'type', r.context.contextType, r.context.global)» } + «ENDFOR» + «IF !localRules.isEmpty || !globalRules.isEmpty» - @Override - protected boolean doGlobalCache(final EObject context, final EClass type, final String scopeName, final Resource originalResource) { - «IF !allScopes().filter(s|s.reference === null).filter(s|s.allScopeRules().filter(r|r.context.global).size > 0).empty» - if (context.eContainer() == null) { - switch (scopeName) { - «FOR name : allScopes().filter(s|s.reference === null).filter(s|s.allScopeRules().filter(r|r.context.global).size > 0).map(s|s.getScopeName()).toSet() - »case "«name»": - «FOR scope : allScopes().filter(s|s.reference === null).filter(s|s.getScopeName()==name)» - «val globalRules = scope.allScopeRules().filter(r|r.context.global)» - «IF globalRules.size > 0» - if (type == «scope.targetType.literalIdentifier()») return true; - «ENDIF» - «ENDFOR» - break; - « - ENDFOR» - default: break; - } - } - «ENDIF» - return false; + final EObject eContainer = context.eContainer(); + if (eContainer != null) { + return internalGetScope(«IF !localRules.isEmpty»eContainer«ELSE»getRootObject(eContainer)«ENDIF», «IF scope.reference !== null»ref«ELSE»type«ENDIF», "«scope.getScopeName()»", originalResource); } - «FOR scope : allScopes()» - protected IScope «scope.scopeMethodName()»(final EObject context, final «IF scope.reference !== null»EReference ref«ELSE»EClass type«ENDIF», final Resource originalResource) { - «val localRules = scope.allScopeRules().filter(r|!r.context.global).toList» - «val globalRules = scope.allScopeRules().filter(r|r.context.global).toList» - «if (globalRules.size > 1) throw new RuntimeException("only one global rule allowed")» - «FOR r : localRules.filterUniqueRules().sortedRules()» - «javaContributorComment(r.location())» - if («IF EClassComparator.isEObjectType(r.context.contextType)»true«ELSE»context instanceof «r.context.contextType.instanceClassName()»«ENDIF») { - final «r.context.contextType.instanceClassName()» ctx = («r.context.contextType.instanceClassName()») context; - «val rulesForTypeAndContext = localRules.filter(r2|r2.hasSameContext(r)).toList» - «scopeRuleBlock(rulesForTypeAndContext, it, if (r.contextRef() !== null) 'ref' else 'type', r.context.contextType, r.context.global)» - } - «ENDFOR» - «IF !localRules.isEmpty || !globalRules.isEmpty» - - final EObject eContainer = context.eContainer(); - if (eContainer != null) { - return internalGetScope(«IF !localRules.isEmpty»eContainer«ELSE»getRootObject(eContainer)«ENDIF», «IF scope.reference !== null»ref«ELSE»type«ENDIF», "«scope.getScopeName()»", originalResource); - } - - «ENDIF» - «IF !globalRules.isEmpty» - «val r = globalRules.head» - «val rulesForTypeAndContext = #[r]» - «javaContributorComment(r.location())» - if (context.eResource() != null) { - final Resource ctx = context.eResource(); - «scopeRuleBlock(rulesForTypeAndContext, it, if (r.contextRef() !== null) 'ref' else 'type', r.context.contextType, r.context.global)» - } - - «ENDIF» - return null; + «ENDIF» + «IF !globalRules.isEmpty» + «val r = globalRules.head» + «val rulesForTypeAndContext = #[r]» + «javaContributorComment(r.location())» + if (context.eResource() != null) { + final Resource ctx = context.eResource(); + «scopeRuleBlock(rulesForTypeAndContext, it, if (r.contextRef() !== null) 'ref' else 'type', r.context.contextType, r.context.global)» } - «ENDFOR» + «ENDIF» + return null; ''' + /** + * Records a helper method for the guard of the given scope rule and returns the Java call that the rule block + * uses in its {@code if} condition. The guard is evaluated against the {@code ctx} variable holding the rule's + * context object. + * + * @param r + * the scope rule whose guard to translate, must not be {@code null} + * @return the Java call to the generated guard method, never {@code null} + */ + def guardCall(ScopeRule r) { + val request = new ScopeExpressionMethodRequest + val methodName = 'guard' + (expressionMethodCounter++) + request.methodName = methodName + request.returnTypeName = 'boolean' + request.variableName = 'ctx' + request.variableTypeName = r.scopeType().instanceClassName() + request.expression = r.context.guard + request.fallbackBody = 'return ' + compiler.javaExpression(r.context.guard, translator.newCompilationContext('ctx', r.scopeType(), #[], r.context.guard)) + ';' + expressionMethods.add(request) + methodName + '(ctx)' + } + + /** + * Records a helper method for an embedded {@link String} valued expression (e.g. a container query data value or a + * prefix) and returns the Java call that the surrounding template uses in place of the inlined expression. The + * expression is evaluated against the {@code ctx} variable holding the rule's context object. + * + * @param expr + * the expression to translate, must not be {@code null} + * @param contextType + * the type of the {@code ctx} context variable, must not be {@code null} + * @return the Java call to the generated helper method, never {@code null} + */ + def stringExpressionCall(Expression expr, EClass contextType) { + val request = new ScopeExpressionMethodRequest + val methodName = 'expr' + (expressionMethodCounter++) + request.methodName = methodName + request.returnTypeName = 'java.lang.String' + request.variableName = 'ctx' + request.variableTypeName = contextType.instanceClassName() + request.expression = expr + request.fallbackBody = 'return ' + compiler.javaExpression(expr, translator.newCompilationContext('ctx', contextType, #[], expr)) + ';' + expressionMethods.add(request) + methodName + '(ctx)' + } + def scopeRuleBlock(List it, ScopeModel model, String typeOrRef, EClass contextType, Boolean isGlobal) ''' IScope scope = IScope.NULLSCOPE; try { «IF it.exists(r|r.context.guard !== null)» «FOR r : it.sortBy(r|if (r.context.guard === null) it.size else it.indexOf(r)) SEPARATOR ' else ' - »«IF r.context.guard !== null»if («r.context.guard.javaExpression(compilationContext.clone('ctx', r.scopeType()))») «ENDIF»{ + »«IF r.context.guard !== null»if («guardCall(r)») «ENDIF»{ «IF it.size > 1»«javaContributorComment(r.location())» «ENDIF »«FOR e : Lists.newArrayList(r.exprs).reverse()»«scopeExpression(e, model, typeOrRef, r.getScope(), isGlobal)»«ENDFOR» @@ -243,10 +306,10 @@ class ScopeProviderGenerator { «ELSEIF it.size == 1» «FOR e : Lists.newArrayList(it.head.exprs).reverse()»«scopeExpression(e, model, typeOrRef, it.head.getScope(), isGlobal)»«ENDFOR» «ELSE» - «error('scope context not unique for definitions: ' + ', '.join(it.map(r|r.location())))» + «error('scope context not unique for definitions: ' + it.map(r|r.location()).join(', '))» «ENDIF» } catch (Exception e) { - LOGGER.error("Error calculating scope for «if (isGlobal) "Resource. Context:" else contextType.name» " + EObjectUtil.getLocationString(context) + " («it.get(0).locatorString()»)", e); + LOGGER.error("Error calculating scope for «if (isGlobal) "Resource. Context:" else contextType.name» " + com.avaloq.tools.ddk.xtext.util.EObjectUtil.getLocationString(context) + " («it.get(0).locatorString()»)", e); } return scope; ''' @@ -257,38 +320,72 @@ class ScopeProviderGenerator { def dispatch scopeExpression(FactoryExpression it, ScopeModel model, String typeOrRef, ScopeDefinition scope, Boolean isGlobal) { val b = new StringBuilder - val ctx = compilationContext.clone('ctx', eContainer(ScopeRule).context.contextType) - b.append('scope = ').append(javaCall(it.expr, ctx)).append('(scope, ctx, ').append(typeOrRef).append(', originalResource'); + val method = translator.resolveFactoryMethod(it.expr, model) + if (method === null) { + error('cannot resolve scope factory ' + it.expr?.toString + '; expected a fully qualified static call Type.method(...)') + return b + } + b.append('scope = ').append(method).append('(scope, ctx, ').append(typeOrRef).append(', originalResource'); if (expr instanceof OperationCall) { for (param : (expr as OperationCall).params) { - b.append(', ').append(javaExpression(param, ctx)) + b.append(', ').append(factoryArgument(param)) } } b.append(');\n') return b } - def dispatch javaCall(Expression it, CompilationContext ctx) { - error('cannot handle scope factory ' + it.toString()) + /** + * Produces the Java source for a single scope factory argument. Only the literal and context-variable argument + * forms that occur in scope sources are supported; anything else is reported as an error. This keeps the factory + * emission independent of the legacy {@code .ext}/{@code CompilationContext} expression compiler. + * + * @param it + * the argument expression, must not be {@code null} + * @return the Java source for the argument, never {@code null} + */ + def dispatch factoryArgument(Expression it) { + error('unsupported scope factory argument ' + it.toString()) } - def dispatch javaCall(OperationCall it, CompilationContext ctx) { - if (isJavaExtensionCall(ctx)) - calledJavaMethod(ctx) - else - '/* Error: cannot handle scope factory ' + it.toString() + ' */' + def dispatch factoryArgument(StringLiteral it) { + '"' + Strings.convertToJavaString(getVal()) + '"' + } + + def dispatch factoryArgument(IntegerLiteral it) { + Integer.toString(getVal()) + } + + def dispatch factoryArgument(RealLiteral it) { + getVal() + } + + def dispatch factoryArgument(BooleanLiteral it) { + getVal() + } + + def dispatch factoryArgument(NullLiteral it) { + 'null' + } + + def dispatch factoryArgument(FeatureCall it) { + if (name === null && type !== null) { + type.id.join('.') + } else { + error('unsupported scope factory argument ' + it.toString()) + } } def dispatch scopeExpression(ScopeDelegation it, ScopeModel model, String typeOrRef, ScopeDefinition scope, Boolean isGlobal) ''' «IF delegate !== null » - «val delegateString = delegate.serialize()» + «val delegateString = ExpressionExtensions.serialize(delegate)» «IF delegateString == "this.eContainer()" || delegateString == "this.eContainer" || delegateString == "eContainer()" || delegateString == "eContainer"» scope = newSameScope("«it.locatorString()»", scope, ctx.eContainer()« ELSEIF delegateString == "this"» scope = newSameScope("«it.locatorString()»", scope, ctx« ELSE» scope = newDelegateScope("«it.locatorString()»", scope, « - IF !isGlobal »() -> IContextSupplier.makeIterable(«scopedElements(delegate, model, eContainer(ScopeRule).context.contextType, 'ctx')»)« + IF !isGlobal »() -> com.avaloq.tools.ddk.xtext.scoping.IContextSupplier.makeIterable(«scopedElements(delegate, model, eContainer(ScopeRule).context.contextType, 'ctx')»)« ELSE»«scopedElements(delegate, model, eContainer(ScopeRule).context.contextType, 'ctx')»« ENDIF»« ENDIF»« @@ -326,28 +423,83 @@ class ScopeProviderGenerator { def query (GlobalScopeExpression it, ScopeModel model, String typeOrRef, ScopeDefinition scope) ''' newQuery(«type.literalIdentifier()»)« val matchData = data.filter(MatchDataExpression)»« - IF name !== null».name(«doExpression (name, model, 'ctx', eContainer(ScopeRule).context.contextType)»)«ENDIF»« - IF !matchData.isEmpty»«FOR d : matchData».data("«javaEncode(d.key)»", «doExpression (d.value, model, 'ctx', eContainer(ScopeRule).context.contextType)»)«ENDFOR»«ENDIF»« - IF !domains.isEmpty && domains.get(0) != "*"».domains(«FOR d : domains SEPARATOR ", "»"«javaEncode(d)»"«ENDFOR»)«ENDIF + IF name !== null».name(«nameValue(name, eContainer(ScopeRule).context.contextType, model)»)«ENDIF»« + IF !matchData.isEmpty»«FOR d : matchData».data("«Strings.convertToJavaString(d.key)»", «stringExpressionCall(d.value, eContainer(ScopeRule).context.contextType)»)«ENDFOR»«ENDIF»« + IF !domains.isEmpty && domains.get(0) != "*"».domains(«FOR d : domains SEPARATOR ", "»"«Strings.convertToJavaString(d)»"«ENDFOR»)«ENDIF »''' + /** + * Produces the Java for a container query name argument. When the name expression can be translated by the Xbase + * based translator to a {@link String} it is extracted into a generated helper method; otherwise the legacy + * fragment is emitted. The {@code String} guard avoids selecting the {@code name(QualifiedName)} overload by + * mistake. + * + * @param name + * the name expression, must not be {@code null} + * @param contextType + * the type of the rule context object, must not be {@code null} + * @param model + * the scope model, must not be {@code null} + * @return the Java name argument source, never {@code null} + */ + def nameValue(Expression name, EClass contextType, ScopeModel model) { + if (translator.canExtractAsString(name, contextType, model)) { + stringExpressionCall(name, contextType) + } else { + doExpression(name, model, 'ctx', contextType) + } + } + def dispatch scopeExpressionPart (GlobalScopeExpression it, ScopeModel model, String typeOrRef, ScopeDefinition scope) ''' «val matchData = data.filter(LambdaDataExpression)» «IF matchData.isEmpty && prefix === null»newContainerScope(«ELSEIF matchData.isEmpty && prefix !== null»newPrefixedContainerScope(«ELSE»newDataMatchScope(«ENDIF»"«it.locatorString()»", scope, ctx, «query (it, model, typeOrRef, scope)», originalResource« IF !matchData.isEmpty», // - Arrays.asList( + java.util.Arrays.asList( «FOR d : matchData SEPARATOR ","» - «val CompilationContext cc = compilationContext.cloneWithVariable('ctx', eContainer(ScopeRule).context.contextType, d.desc, 'org::eclipse::xtext::resource::IEObjectDescription')» - «IF d.value.isCompilable(cc.clone('ctx'))» - «d.desc» -> «d.value.javaExpression(cc.clone('ctx'))» - «ELSE» - «d.desc» -> EXPRESSION_NOT_SUPPORTED("«serialize()»") - «ENDIF»« + «lambdaDataMatch(d, model, eContainer(ScopeRule).context.contextType, it)»« ENDFOR» )« - ELSEIF prefix !== null», «doExpression (prefix, model, 'ctx', eContainer(ScopeRule).context.contextType)», «recursivePrefix»« + ELSEIF prefix !== null», «stringExpressionCall(prefix, eContainer(ScopeRule).context.contextType)», «recursivePrefix»« ENDIF »''' + /** + * Produces the Java lambda for a single data match filter. When the filter value can be translated by the Xbase + * based translator it is extracted into a generated helper method (taking the rule context and the element + * description) and the lambda delegates to it; otherwise the legacy fragment is emitted (or an + * {@code EXPRESSION_NOT_SUPPORTED} marker when the legacy compiler cannot handle it either). + * + * @param d + * the lambda data expression, must not be {@code null} + * @param model + * the scope model, must not be {@code null} + * @param contextType + * the type of the rule context object, must not be {@code null} + * @param owner + * the enclosing global scope expression (used for diagnostics), must not be {@code null} + * @return the Java lambda source, never {@code null} + */ + def lambdaDataMatch(LambdaDataExpression d, ScopeModel model, EClass contextType, GlobalScopeExpression owner) { + val descType = 'org.eclipse.xtext.resource.IEObjectDescription' + val cc = translator.newCompilationContext('ctx', contextType, #[d.desc -> descType], owner) + if (translator.canExtractAsValue(d.value, contextType, #[d.desc -> descType], model)) { + val request = new ScopeExpressionMethodRequest + val methodName = 'expr' + (expressionMethodCounter++) + request.methodName = methodName + request.returnTypeName = 'boolean' + request.variableName = 'ctx' + request.variableTypeName = contextType.instanceClassName + request.expression = d.value + request.extraParameters.add(d.desc -> descType) + request.fallbackBody = 'return ' + compiler.javaExpression(d.value, cc) + ';' + expressionMethods.add(request) + d.desc + ' -> ' + methodName + '(ctx, ' + d.desc + ')' + } else if (compiler.isCompilable(d.value, cc)) { + d.desc + ' -> ' + compiler.javaExpression(d.value, cc) + } else { + d.desc + ' -> EXPRESSION_NOT_SUPPORTED("' + ExpressionExtensions.serialize(owner) + '")' + } + } + def dispatch scopeExpressionNaming (NamedScopeExpression it, ScopeModel model, String typeOrRef, ScopeDefinition scope) { error("Xtend called the wrong definition for scopeExpressionNaming with this=" + it.toString() + javaContributorComment(it.location())) } @@ -365,11 +517,24 @@ class ScopeProviderGenerator { } def scopedElements(Expression it, ScopeModel model, EClass type, String object) { - doExpression(it, model, object, type) + if (object == 'ctx' && translator.canExtractAsValue(it, type, model)) { + val request = new ScopeExpressionMethodRequest + val methodName = 'expr' + (expressionMethodCounter++) + request.methodName = methodName + request.returnTypeName = null + request.variableName = 'ctx' + request.variableTypeName = type.instanceClassName + request.expression = it + request.fallbackBody = 'return ' + compiler.javaExpression(it, translator.newCompilationContext(object, type, #[], it)) + ';' + expressionMethods.add(request) + methodName + '(ctx)' + } else { + doExpression(it, model, object, type) + } } def doExpression(Expression it, ScopeModel model, String object, EClass type) { - javaExpression (compilationContext.clone(object, type)) + compiler.javaExpression(it, translator.newCompilationContext(object, type, #[], it)) } def name(NamedScopeExpression it, ScopeModel model, String typeOrRef, String contextName, EClass contextType) { @@ -383,4 +548,12 @@ class ScopeProviderGenerator { throw new RuntimeException(message) } + def private dispatch boolean isEmptyList(Expression it) { + false + } + + def private dispatch boolean isEmptyList(ListLiteral it) { + elements.isEmpty + } + } diff --git a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeProviderX.xtend b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeProviderX.xtend index 6ad50bec0e..400bd54e59 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeProviderX.xtend +++ b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopeProviderX.xtend @@ -13,8 +13,7 @@ package com.avaloq.tools.ddk.xtext.scope.generator import com.avaloq.tools.ddk.xtext.expression.expression.Expression import com.avaloq.tools.ddk.xtext.expression.expression.FeatureCall -import com.avaloq.tools.ddk.xtext.expression.generator.CodeGenerationX -import com.avaloq.tools.ddk.xtext.expression.generator.ExpressionExtensionsX +import com.avaloq.tools.ddk.xtext.expression.generator.ExpressionExtensions import com.avaloq.tools.ddk.xtext.expression.generator.GeneratorUtilX import com.avaloq.tools.ddk.xtext.expression.generator.Naming import com.avaloq.tools.ddk.xtext.scope.ScopeUtil @@ -33,6 +32,7 @@ import org.eclipse.emf.ecore.ENamedElement import org.eclipse.emf.ecore.EObject import org.eclipse.emf.ecore.EReference import org.eclipse.emf.ecore.EStructuralFeature +import org.eclipse.xtext.util.Strings class ScopeProviderX { @@ -40,10 +40,6 @@ class ScopeProviderX { extension Naming @Inject extension GeneratorUtilX - @Inject - extension CodeGenerationX - @Inject - extension ExpressionExtensionsX /* * CODE GENERATION @@ -62,7 +58,7 @@ class ScopeProviderX { } def String locatorString(EObject it) { - location().split('/').lastOrNull().javaEncode() + Strings.convertToJavaString(location().split('/').lastOrNull()) } def String calledFeature(FeatureCall it) { @@ -107,7 +103,7 @@ class ScopeProviderX { def dispatch boolean isEqual(ScopeRule a, ScopeRule b) { a.hasSameContext(b) // && ((a.name === null) == (b.name === null)) && (a.name === null || a.name.matches (b.name)) - && a.context.guard.serialize() == b.context.guard.serialize() + && ExpressionExtensions.serialize(a.context.guard) == ExpressionExtensions.serialize(b.context.guard) } def boolean hasSameContext(ScopeRule a, ScopeRule b) { diff --git a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopingGeneratorUtil.java b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopingGeneratorUtil.java index 62e1f11df8..a83bdefa4c 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopingGeneratorUtil.java +++ b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/generator/ScopingGeneratorUtil.java @@ -12,47 +12,21 @@ import java.util.Collection; import java.util.List; -import java.util.Map; -import java.util.Set; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.util.EcoreUtil; -import org.eclipse.internal.xtend.expression.parser.SyntaxConstants; -import org.eclipse.xtend.expression.ExecutionContextImpl; -import org.eclipse.xtend.expression.ResourceManagerDefaultImpl; -import org.eclipse.xtend.expression.TypeSystemImpl; -import org.eclipse.xtend.expression.Variable; -import org.eclipse.xtend.typesystem.Type; -import org.eclipse.xtend.typesystem.emf.EmfRegistryMetaModel; import org.eclipse.xtext.EcoreUtil2; -import com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext; import com.avaloq.tools.ddk.xtext.expression.generator.EClassComparator; -import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX; import com.avaloq.tools.ddk.xtext.scope.scope.Casing; -import com.avaloq.tools.ddk.xtext.scope.scope.Import; -import com.avaloq.tools.ddk.xtext.scope.scope.Injection; import com.avaloq.tools.ddk.xtext.scope.scope.NamedScopeExpression; import com.avaloq.tools.ddk.xtext.scope.scope.NamingSection; import com.avaloq.tools.ddk.xtext.scope.scope.ScopeModel; -import com.avaloq.tools.ddk.xtext.scope.scope.ScopePackage; import com.avaloq.tools.ddk.xtext.scope.scope.ScopeRule; -import com.avaloq.tools.ddk.xtext.util.EObjectUtil; -import com.google.common.base.Predicates; -import com.google.common.collect.Collections2; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; /** * Various utility functions for the scoping generator. */ -// CHECKSTYLE:COUPLING-OFF public final class ScopingGeneratorUtil { - // CHECKSTYLE:COUPLING-ON /** * Inhibit public instantiation. @@ -61,143 +35,6 @@ private ScopingGeneratorUtil() { // No public constructor } - /** - * Return a compilation context for Xtend executions during the generator run. - * - * @param model - * the ScopeModel for which we generate - * @param genModelUtil - * GenModel util, must not be {@code null} - * @return the {@link CompilationContext} - */ - public static CompilationContext getCompilationContext(final ScopeModel model, final GenModelUtilX genModelUtil) { - return new CompilationContext(new ScopeExecutionContext(model), genModelUtil); - } - - /** - * Helper class defining the execution context for an Xtend compilation during scope generation. - * Sets up the metamodels as needed. - */ - private static class ScopeExecutionContext extends ExecutionContextImpl { - - private static final String VAR_ORIGINAL_RESOURCE = "originalResource"; //$NON-NLS-1$ - - ScopeExecutionContext(final ScopeModel model) { - super(new ResourceManagerDefaultImpl(), new ScopeResource(model), new TypeSystemImpl(), getVariables(model), null, null, null, null, null, null, null, null, null); - registerMetaModels(model); - } - - /** - * Returns the variables which should be visible to the Xtend expressions. - * - * @param model - * context scope model, must not be {@code null} - * @return map of variables, never {@code null} - */ - private static Map getVariables(final ScopeModel model) { - Map result = Maps.newLinkedHashMap(); - result.put(VAR_ORIGINAL_RESOURCE, new Variable(VAR_ORIGINAL_RESOURCE, null)); - for (ScopeModel scopeModel : getAllScopeModels(model)) { - for (Injection injection : scopeModel.getInjections()) { - result.putIfAbsent(injection.getName(), new Variable(injection.getName(), null)); - } - } - return ImmutableMap.copyOf(result); - } - - /** - * Registers all metamodels accessible to the scope model in the Xtend execution context. - * - * @param model - * scope model to register metamodels for - */ - private void registerMetaModels(final ScopeModel model) { - // First, create one meta model that has all the packages that are visible. Use the scope provider to get that list, - // then convert to a list of EPackages. - final EPackage[] ePackages = Lists.newArrayList(Iterables.transform(EObjectUtil.getScopeProviderByEObject(model).getScope(model, ScopePackage.Literals.IMPORT__PACKAGE).getAllElements(), d -> (EPackage) EcoreUtil.resolve(d.getEObjectOrProxy(), model))).toArray(new EPackage[0]); - registerMetaModel(new EmfRegistryMetaModel() { - @Override - public EPackage[] allPackages() { - return ePackages; - } - - @Override - public Type getTypeForName(final String name) { - final String[] frags = name.split(SyntaxConstants.NS_DELIM); - if (frags.length == 2) { - // convert references which use import alias - for (Import imp : model.getImports()) { - if (frags[0].equals(imp.getName()) && imp.getPackage() != null) { - return super.getTypeForName(imp.getPackage().getName() + SyntaxConstants.NS_DELIM + frags[1]); - } - } - } - return super.getTypeForName(name); - } - }); - // Finally, add the default meta models - // registerMetaModel(new EmfRegistryMetaModel()); - // registerMetaModel(new JavaBeansMetaModel()); - } - } - - /** - * "Fake" resource for Xtend compilation that gives correct extensions and package imports depending on whether - * we're running Xtend inside the export section or the scoping section. - */ - private static class ScopeResource implements org.eclipse.xtend.expression.Resource { - - private final ScopeModel model; - private String qualifiedName; - private Set importedExtensions; - private Set importedNamespaces; - - ScopeResource(final ScopeModel model) { - this.model = model; - } - - @Override - public String getFullyQualifiedName() { - if (qualifiedName == null) { - this.setFullyQualifiedName(model.eResource().getURI().path()); - } - return qualifiedName; - } - - @Override - public String[] getImportedExtensions() { - if (importedExtensions == null) { - importedExtensions = Sets.newLinkedHashSet(); - for (ScopeModel included : getAllScopeModels(model)) { - importedExtensions.addAll(Lists.transform(included.getExtensions(), e -> e.getExtension())); - } - } - return importedExtensions.toArray(new String[importedExtensions.size()]); - } - - @Override - public String[] getImportedNamespaces() { - if (importedNamespaces == null) { - importedNamespaces = Sets.newLinkedHashSet(); - for (ScopeModel included : getAllScopeModels(model)) { - importedNamespaces.addAll(Collections2.filter(Lists.transform(included.getImports(), i -> { - if (i.getPackage() != null) { - return i.getPackage().getName(); - } - return null; - }), Predicates.notNull())); - } - } - return importedNamespaces.toArray(new String[importedNamespaces.size()]); - } - - @Override - public void setFullyQualifiedName(final String fqn) { - qualifiedName = fqn; - } - - } - /** * Determine whether a certain scope expression is case sensitive or not. * @@ -227,33 +64,4 @@ public static List sortedRules(final Collection rules) { return EClassComparator.sortedGroups(rules, r -> r.getContext().getContextType()); } - /** - * Returns a set containing the given model plus all (transitively) {@link ScopeModel#getIncludedScopes() included} models. - * - * @param model - * scope model, must not be {@code null} - * @return set, never {@code null} - */ - private static Set getAllScopeModels(final ScopeModel model) { - Set result = Sets.newLinkedHashSet(); - getAllScopeModelsInternal(model, result); - return result; - } - - /** - * Adds the given model plus all (transitively) {@link ScopeModel#getIncludedScopes() included} models to the given set. - * - * @param model - * scope model, must not be {@code null} - * @param result - * set to add to, must not be {@code null} - */ - private static void getAllScopeModelsInternal(final ScopeModel model, final Set result) { - if (result.add(model)) { - for (ScopeModel included : model.getIncludedScopes()) { - getAllScopeModelsInternal(included, result); - } - } - } - } diff --git a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/jvmmodel/ScopeExpressionCompiler.xtend b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/jvmmodel/ScopeExpressionCompiler.xtend new file mode 100644 index 0000000000..9528431051 --- /dev/null +++ b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/jvmmodel/ScopeExpressionCompiler.xtend @@ -0,0 +1,483 @@ +/******************************************************************************* + * Copyright (c) 2016 Avaloq Group AG 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 + * + * Contributors: + * Avaloq Group AG - initial API and implementation + *******************************************************************************/ +package com.avaloq.tools.ddk.xtext.scope.jvmmodel + +import com.avaloq.tools.ddk.xtext.expression.expression.BooleanLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.BooleanOperation +import com.avaloq.tools.ddk.xtext.expression.expression.CastedExpression +import com.avaloq.tools.ddk.xtext.expression.expression.CollectionExpression +import com.avaloq.tools.ddk.xtext.expression.expression.Expression +import com.avaloq.tools.ddk.xtext.expression.expression.FeatureCall +import com.avaloq.tools.ddk.xtext.expression.expression.Identifier +import com.avaloq.tools.ddk.xtext.expression.expression.IfExpression +import com.avaloq.tools.ddk.xtext.expression.expression.IntegerLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.ListLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.Literal +import com.avaloq.tools.ddk.xtext.expression.expression.NullLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.OperationCall +import com.avaloq.tools.ddk.xtext.expression.expression.RealLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.StringLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.TypeSelectExpression +import com.avaloq.tools.ddk.xtext.expression.generator.ExpressionExtensions +import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX +import com.google.inject.Inject +import java.util.List +import org.eclipse.emf.ecore.EObject +import org.eclipse.xtext.common.types.JvmDeclaredType +import org.eclipse.xtext.common.types.JvmOperation +import org.eclipse.xtext.common.types.JvmType +import org.eclipse.xtext.util.Strings + +/** + * Compiles the custom {@link Expression} AST of the scope/export expression DSL into equivalent Java source text. + *

+ * This is the self-contained, {@code org.eclipse.xtend}-free replacement of the legacy + * {@code CodeGenerationX}/{@code CompilationContext} expression compiler. It produces exactly the same Java + * fragments as the legacy compiler did, but resolves types, variables and the implicit ({@code this}) receiver + * through the shared {@link ScopeTranslationContext} that the + * {@link ScopeExpressionTranslator} already uses, rather than through the classic Xtend type system. + *

+ * The compiler is used as the fallback for expression forms that the Xbase based {@link ScopeExpressionTranslator} + * does not turn into an {@link org.eclipse.xtext.xbase.XExpression} tree (for example string concatenation, the + * unary/binary arithmetic operators and the relational operators). The {@code .ext}/{@code JAVA} extension + * branches of the legacy compiler are intentionally dropped: scope sources no longer reference Xtend extension + * files. + */ +class ScopeExpressionCompiler { + + /** Maps EMF model types to their generated Java instance class names. */ + @Inject GenModelUtilX genModelUtil + + /** Reuses the translator's type/variable/getter resolution so both stay consistent. */ + @Inject ScopeExpressionTranslator translator + + ////////////////////////////////////////////////// + // ENTRY POINTS + ////////////////////////////////////////////////// + /** + * Tests whether the given expression can be compiled to Java by this compiler. + * + * @param expression + * the source expression, may be {@code null} + * @param context + * the compilation context, must not be {@code null} + * @return {@code true} if a non-{@code null} fragment without the {@code NOT COMPILABLE} marker can be produced + */ + def boolean isCompilable(Expression expression, ScopeTranslationContext context) { + val expr = expression.javaExpression(context) + expr !== null && !expr.contains('/* NOT COMPILABLE: ') + } + + /** + * Compiles the given expression into the equivalent Java source text. + * + * @param expression + * the source expression, may be {@code null} + * @param context + * the compilation context, must not be {@code null} + * @return the Java source text, never {@code null} + */ + def dispatch String javaExpression(Void it, ScopeTranslationContext ctx) { + '' + } + + def dispatch String javaExpression(Expression it, ScopeTranslationContext ctx) { + notCompilable + } + + def private String notCompilable(Expression it) { + '/* NOT COMPILABLE: Complex expressions like "' + serialize() + '" cannot be translated to Java. Consider rewriting the expression or using a JAVA extension. */' + } + + ////////////////////////////////////////////////// + // LITERALS + ////////////////////////////////////////////////// + def dispatch String javaExpression(StringLiteral it, ScopeTranslationContext ctx) { + '"' + javaEncode(getVal()) + '"' + } + + def dispatch String javaExpression(BooleanLiteral it, ScopeTranslationContext ctx) { + getVal() + } + + def dispatch String javaExpression(IntegerLiteral it, ScopeTranslationContext ctx) { + getVal().toString() + } + + def dispatch String javaExpression(NullLiteral it, ScopeTranslationContext ctx) { + "null" + } + + def dispatch String javaExpression(RealLiteral it, ScopeTranslationContext ctx) { + getVal().toString() + } + + def dispatch String javaExpression(ListLiteral it, ScopeTranslationContext ctx) { + if (elements.empty) { + "java.util.Collections. emptyList()" + } else if (elements.size == 1) { + "java.util.Collections.singletonList(" + elements.head.javaExpression(ctx) + ")" + } else { + "com.google.common.collect.Lists.newArrayList(" + ', '.join(elements.map[javaExpression(ctx)]) + ")" + } + } + + ////////////////////////////////////////////////// + // TYPES AND VARIABLES + ////////////////////////////////////////////////// + def dispatch String javaExpression(Identifier it, ScopeTranslationContext ctx) { + if (isThis()) ctx.implicitVariableName else '::'.join(id) + } + + def private boolean isTypeRef(FeatureCall it, ScopeTranslationContext ctx) { + name === null && type !== null && (ctx.modelTypeResolver?.resolve(type.id) !== null || ctx.resolveDslType(type) !== null) + } + + def private boolean isVariableRef(Expression it, ScopeTranslationContext ctx) { + false + } + + def private boolean isVariableRef(FeatureCall it, ScopeTranslationContext ctx) { + target === null && name === null && type !== null && type.id.size == 1 && ctx.getVariable(type.id.head) !== null + } + + def private String featureCallTarget(FeatureCall it, ScopeTranslationContext ctx) { + if (target === null || target.isThisCall()) + ctx.implicitVariableName + else + target.javaExpression(ctx) + } + + ////////////////////////////////////////////////// + // BOOLEAN OPERATIONS + ////////////////////////////////////////////////// + def dispatch String javaExpression(BooleanOperation it, ScopeTranslationContext ctx) { + autoBracket(left.javaExpression(ctx) + ' ' + operator + ' ' + right.javaExpression(ctx), ctx) + } + + ////////////////////////////////////////////////// + // COLLECTION OPERATIONS + ////////////////////////////////////////////////// + def dispatch String javaExpression(CollectionExpression it, ScopeTranslationContext ctx) { + if ('select' == name) { + 'com.google.common.collect.Iterables.filter(' + target.javaExpression(ctx) + + ', new com.google.common.base.Predicate() { public boolean apply(Object ' + + (if (getVar() !== null) getVar() else 'e') + ') {return ' + + exp.javaExpression(ctx) + ';} })' + } else { + notCompilable() + } + } + + def dispatch String javaExpression(TypeSelectExpression it, ScopeTranslationContext ctx) { + if (isSimpleNavigation(ctx)) + 'com.google.common.collect.Iterables.filter(' + target.javaExpression(ctx) + ', ' + ctx.javaType(type) + '.class)' + else notCompilable() + } + + ////////////////////////////////////////////////// + // TYPE CAST + ////////////////////////////////////////////////// + def dispatch String javaExpression(CastedExpression it, ScopeTranslationContext ctx) { + '((' + ctx.javaType(type) + ') ' + target.javaExpression(ctx) + ')' + } + + ////////////////////////////////////////////////// + // IF EXPRESSIONS + ////////////////////////////////////////////////// + def dispatch String javaExpression(IfExpression it, ScopeTranslationContext ctx) { + autoBracket(condition.javaExpression(ctx) + ' ? ' + thenPart.javaExpression(ctx) + ' : ' + elsePart.javaExpression(ctx), ctx) + } + + ////////////////////////////////////////////////// + // FEATURE CALLS + ////////////////////////////////////////////////// + def dispatch String javaExpression(FeatureCall it, ScopeTranslationContext ctx) { + if (isThisCall()) { + ctx.implicitVariableName + } else if (isVariableRef(ctx)) { + type.javaExpression(ctx) + } else if (isTypeRef(ctx)) { + ctx.javaType(type) + } else if (isSimpleFeatureCall(ctx)) { + featureCallTarget(ctx) + '.' + (if (calledFeature() == 'eContainer') 'eContainer' else (if (calledFeature() == 'isEmpty') 'isEmpty' else calledFeature().toFirstUpper().featureCallName())) + '()' + } else if (isSimpleNavigation(ctx)) { + notCompilable() + } else { + featureCallTarget(ctx) + '.' + (if (calledFeature() == 'eContainer') 'eContainer' else (if (calledFeature() == 'isEmpty') 'isEmpty' else calledFeature().toFirstUpper().featureCallName())) + '()' + } + } + + def private String featureCallName(String it) { + if (it.startsWith('^')) + it.substring(1, it.length).toFirstUpper().featureCallName() + else + (if (it.startsWith('Is')) 'is' else 'get') + it + } + + /** + * Tests whether the given feature call is a simple feature access on the implicit receiver or an in-scope + * variable, i.e. one that compiles to a single {@code getX()}/{@code isX()} accessor. Replaces the legacy + * {@code CodeGenerationX.isSimpleFeatureCall}. + * + * @param it + * the expression, must not be {@code null} + * @param ctx + * the compilation context, must not be {@code null} + * @return {@code true} if the call is a simple feature access + */ + def dispatch boolean isSimpleFeatureCall(Expression it, ScopeTranslationContext ctx) { + false + } + + def dispatch boolean isSimpleFeatureCall(FeatureCall it, ScopeTranslationContext ctx) { + eClass.name.contains('FeatureCall') && name === null && type.isFeature() && (target === null || target.isVariableRef(ctx) || target.isThisCall()) + } + + def dispatch boolean isSimpleNavigation(Expression it, ScopeTranslationContext ctx) { + false + } + + def dispatch boolean isSimpleNavigation(TypeSelectExpression it, ScopeTranslationContext ctx) { + true + } + + def dispatch boolean isSimpleNavigation(FeatureCall it, ScopeTranslationContext ctx) { + name === null && type.isFeature() && (target === null || target.isVariableRef(ctx) || target.isThisCall() || target.isSimpleNavigation(ctx)) + } + + ////////////////////////////////////////////////// + // OPERATION CALLS + ////////////////////////////////////////////////// + def dispatch String javaExpression(OperationCall it, ScopeTranslationContext ctx) { + if ((target === null || target.isThisCall()) && targetHasOperation(ctx)) { + (if (target !== null) target.javaExpression(ctx) + '.' else '') + name + '(' + ', '.join(params.map[javaExpression(ctx)]) + ')' + } else if (isArithmeticOperatorCall(ctx)) { + autoBracket((' ' + name + ' ').join(params.map(e|e.javaExpression(ctx))), ctx) + } else if (isSimpleConcatCall()) { + (' + ').join(params.map(e|e.javaExpression(ctx))) + } else if (isPrefixExpression()) { + autoBracket(name + params.head.javaExpression(ctx), ctx) + } else if ('first' == name && params.isEmpty && target !== null) { + target.javaExpression(ctx) + '.get(0)' + } else if ('isInstance' == name && params.size == 1 && target instanceof FeatureCall && (target as FeatureCall).isTypeRef(ctx)) { + autoBracket(params.head.javaExpression(ctx) + ' instanceof ' + target.javaExpression(ctx), ctx) + } else if ('eContainer' == name && params.isEmpty) { + target.javaExpression(ctx) + '.eContainer()' + } else { + (if (target !== null) target.javaExpression(ctx) + '.' else '') + name + '(' + (if (params.isEmpty) '' else ', '.join(params.map[javaExpression(ctx)])) + ')' + } + } + + /** + * Heuristically tests whether an unqualified or {@code this} qualified operation call refers to an operation + * declared on the implicit receiver's type. Replaces the legacy {@code CompilationContext.targetHasOperation}. + * + * @param it + * the operation call, must not be {@code null} + * @param ctx + * the compilation context, must not be {@code null} + * @return {@code true} if the implicit receiver type declares a matching operation + */ + def private boolean targetHasOperation(OperationCall it, ScopeTranslationContext ctx) { + val receiverType = translator.resolveType(target, ctx) + if (!(receiverType instanceof JvmDeclaredType)) { + return false + } + val operationName = name + val parameterCount = params.size + val declaredType = receiverType as JvmDeclaredType + declaredType.allFeatures.filter(JvmOperation).exists [ + simpleName == operationName && parameters.size == parameterCount + ] + } + + ////////////////////////////////////////////////// + // EXPRESSION BRACKETING + ////////////////////////////////////////////////// + def private String autoBracket(Expression it, String javaCode, ScopeTranslationContext ctx) { + if (requiresBracketing(ctx)) '(' + javaCode + ')' else javaCode + } + + def private dispatch boolean requiresBracketing(Expression it, ScopeTranslationContext ctx) { + (isPrefixExpression() || isInfixExpression(ctx)) && eContainer() !== null && requiresBracketing(it, eContainer(), ctx) + } + + def private dispatch boolean requiresBracketing(Literal it, ScopeTranslationContext ctx) { + false + } + + def private dispatch boolean requiresBracketing(Expression it, Object parent, ScopeTranslationContext ctx) { + false + } + + def private dispatch boolean requiresBracketing(Expression it, Expression parent, ScopeTranslationContext ctx) { + isPrefixExpression() && parent.isPrefixExpression() || + (isInfixExpression(ctx) && (parent.isPrefixExpression() || parent.isInfixExpression(ctx))) + } + + def private dispatch boolean requiresBracketing(OperationCall it, OperationCall parent, ScopeTranslationContext ctx) { + isPrefixExpression() && parent.isPrefixExpression() || + (isInfixExpression(ctx) && (parent.isPrefixExpression() || (parent.isInfixExpression(ctx) && name != parent.name))) + } + + def private dispatch boolean requiresBracketing(BooleanOperation it, BooleanOperation parent, ScopeTranslationContext ctx) { + operator != parent.operator + } + + ////////////////////////////////////////////////// + // OPERATOR CLASSIFICATION + ////////////////////////////////////////////////// + def private boolean isSimpleConcatCall(OperationCall it) { + name == '+' && type === null && target === null && !params.isEmpty + } + + def private boolean isNumber(Expression it, ScopeTranslationContext ctx) { + val type = translator.resolveType(it, ctx) + type !== null && type.isNumeric + } + + def private boolean isNumeric(JvmType it) { + val name = qualifiedName + switch name { + case 'int', + case 'long', + case 'short', + case 'byte', + case 'double', + case 'float', + case 'java.lang.Integer', + case 'java.lang.Long', + case 'java.lang.Short', + case 'java.lang.Byte', + case 'java.lang.Double', + case 'java.lang.Float', + case 'java.lang.Number', + case 'java.math.BigInteger', + case 'java.math.BigDecimal': + true + default: + false + } + } + + def private dispatch boolean isArithmeticOperatorCall(OperationCall it, ScopeTranslationContext ctx) { + type === null && target === null && params.size > 1 && (name == '+' || name == '-' || name == '*' || name == '/') && params.forall[isNumber(ctx)] + } + + def private dispatch boolean isArithmeticOperatorCall(Expression it, ScopeTranslationContext ctx) { + false + } + + def private dispatch boolean isPrefixExpression(Expression it) { + false + } + + def private dispatch boolean isPrefixExpression(OperationCall it) { + type === null && target === null && params.size == 1 && (name == '-' || name == '!') + } + + def private dispatch boolean isInfixExpression(Void it, ScopeTranslationContext ctx) { + false + } + + def private dispatch boolean isInfixExpression(Expression it, ScopeTranslationContext ctx) { + false + } + + def private dispatch boolean isInfixExpression(OperationCall it, ScopeTranslationContext ctx) { + isArithmeticOperatorCall(ctx) || 'isInstance' == name + } + + def private dispatch boolean isInfixExpression(IfExpression it, ScopeTranslationContext ctx) { + true + } + + def private dispatch boolean isInfixExpression(BooleanOperation it, ScopeTranslationContext ctx) { + true + } + + ////////////////////////////////////////////////// + // TYPE RESOLUTION + ////////////////////////////////////////////////// + /** + * Resolves the Java class name of the given source DSL type identifier. Model types resolve through the imported + * EPackages to their generated instance class name (exactly as the legacy {@code CompilationContext.javaType} + * did through {@code genModelUtil.instanceClassName}); plain Java types resolve against the classpath. Replaces + * the legacy {@code CompilationContext.javaType}. + * + * @param ctx + * the compilation context, must not be {@code null} + * @param type + * the source type identifier, must not be {@code null} + * @return the qualified Java class name (or the joined identifier when the type cannot be resolved) + */ + def private String javaType(ScopeTranslationContext ctx, Identifier type) { + val classifier = ctx.modelTypeResolver?.resolve(type.id) + if (classifier !== null) { + return genModelUtil.instanceClassName(classifier) + } + val resolved = ctx.resolveDslType(type) + if (resolved === null) { + return '::'.join(type.id) + } + val name = resolved.qualifiedName + if (name.startsWith('java.lang.') && !name.substring('java.lang.'.length).contains('.')) { + name.substring('java.lang.'.length) + } else { + name + } + } + + ////////////////////////////////////////////////// + // HELPER FUNCTIONS + ////////////////////////////////////////////////// + def private dispatch boolean isThisCall(Expression it) { + false + } + + def private dispatch boolean isThisCall(FeatureCall it) { + name === null && type.isThis() + } + + def private boolean isFeature(Identifier it) { + id !== null && id.size == 1 + } + + def private dispatch boolean isThis(Expression it) { + false + } + + def private dispatch boolean isThis(Identifier it) { + id !== null && id.size == 1 && id.head == "this" + } + + def private String calledFeature(FeatureCall it) { + type.id.head + } + + def private String serialize(EObject it) { + ExpressionExtensions.serialize(it) + } + + def private dispatch String javaEncode(Expression it) { + javaEncode(serialize()) + } + + def private dispatch String javaEncode(String it) { + Strings.convertToJavaString(it) + } + + def private String join(String it, List strings) { + if (strings.isEmpty) '' else Strings.concat(it, strings) + } + +} diff --git a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/jvmmodel/ScopeExpressionMethodRequest.xtend b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/jvmmodel/ScopeExpressionMethodRequest.xtend new file mode 100644 index 0000000000..d17f9c6f7a --- /dev/null +++ b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/jvmmodel/ScopeExpressionMethodRequest.xtend @@ -0,0 +1,173 @@ +/******************************************************************************* + * Copyright (c) 2016 Avaloq Group AG 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 + * + * Contributors: + * Avaloq Group AG - initial API and implementation + *******************************************************************************/ +package com.avaloq.tools.ddk.xtext.scope.jvmmodel + +import com.avaloq.tools.ddk.xtext.expression.expression.Expression +import java.util.List +import org.eclipse.xtext.xbase.lib.Pair + +/** + * Describes a private helper operation that the {@link ScopeJvmModelInferrer} has to contribute to the inferred + * scope provider for an embedded scope/export expression. + *

+ * The legacy generators emit Java for embedded expressions by splicing fragment strings (produced by the + * {@code expression.generator.CodeGenerationX} compiler) into larger source templates. The Xbase based code + * generation instead attaches a fully linked {@link org.eclipse.xtext.xbase.XExpression} as a whole method body, + * which cannot be spliced into a string. Each embedded expression is therefore turned into a generated helper + * method: the string template emits a call to {@link #getMethodName()} and this request carries everything the + * inferrer needs to build that method. The {@link #getFallbackBody() fallback body} (the legacy string emission) + * is used when the translator cannot (yet) translate the expression, so behaviour is preserved while coverage is + * migrated incrementally. + */ +class ScopeExpressionMethodRequest { + + String methodName + + String returnTypeName + + String variableName + + String variableTypeName + + Expression expression + + String fallbackBody + + List> extraParameters = newArrayList + + /** + * Returns the name of the helper method to generate. + * + * @return the method name, never {@code null} + */ + def String getMethodName() { + methodName + } + + /** + * Sets the name of the helper method to generate. + * + * @param methodName + * the method name, must not be {@code null} + */ + def void setMethodName(String methodName) { + this.methodName = methodName + } + + /** + * Returns the fully qualified name of the helper method's return type (or a Java primitive name such as + * {@code boolean}). + * + * @return the return type name, never {@code null} + */ + def String getReturnTypeName() { + returnTypeName + } + + /** + * Sets the fully qualified name of the helper method's return type. + * + * @param returnTypeName + * the return type name, must not be {@code null} + */ + def void setReturnTypeName(String returnTypeName) { + this.returnTypeName = returnTypeName + } + + /** + * Returns the source name of the single context variable the expression is evaluated against. + * + * @return the variable name, never {@code null} + */ + def String getVariableName() { + variableName + } + + /** + * Sets the source name of the single context variable the expression is evaluated against. + * + * @param variableName + * the variable name, must not be {@code null} + */ + def void setVariableName(String variableName) { + this.variableName = variableName + } + + /** + * Returns the fully qualified name of the context variable's type. + * + * @return the variable type name, never {@code null} + */ + def String getVariableTypeName() { + variableTypeName + } + + /** + * Sets the fully qualified name of the context variable's type. + * + * @param variableTypeName + * the variable type name, must not be {@code null} + */ + def void setVariableTypeName(String variableTypeName) { + this.variableTypeName = variableTypeName + } + + /** + * Returns the source expression to translate into the helper method body. + * + * @return the source expression, never {@code null} + */ + def Expression getExpression() { + expression + } + + /** + * Sets the source expression to translate into the helper method body. + * + * @param expression + * the source expression, must not be {@code null} + */ + def void setExpression(Expression expression) { + this.expression = expression + } + + /** + * Returns the legacy method body (a complete Java statement sequence, including the {@code return}) used when the + * translator cannot translate the expression. + * + * @return the fallback body, never {@code null} + */ + def String getFallbackBody() { + fallbackBody + } + + /** + * Sets the legacy method body used when the translator cannot translate the expression. + * + * @param fallbackBody + * the fallback body, must not be {@code null} + */ + def void setFallbackBody(String fallbackBody) { + this.fallbackBody = fallbackBody + } + + /** + * Returns the additional helper method parameters (beyond the primary context variable), each as a + * source-name to fully-qualified-type-name pair. These cover expressions evaluated against more than one variable, + * such as a data match lambda's element description. + * + * @return the extra parameters, never {@code null} + */ + def List> getExtraParameters() { + extraParameters + } + +} diff --git a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/jvmmodel/ScopeExpressionTranslator.xtend b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/jvmmodel/ScopeExpressionTranslator.xtend new file mode 100644 index 0000000000..0560037bad --- /dev/null +++ b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/jvmmodel/ScopeExpressionTranslator.xtend @@ -0,0 +1,881 @@ +/******************************************************************************* + * Copyright (c) 2016 Avaloq Group AG 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 + * + * Contributors: + * Avaloq Group AG - initial API and implementation + *******************************************************************************/ +package com.avaloq.tools.ddk.xtext.scope.jvmmodel + +import com.avaloq.tools.ddk.xtext.expression.expression.BooleanLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.BooleanOperation +import com.avaloq.tools.ddk.xtext.expression.expression.CastedExpression +import com.avaloq.tools.ddk.xtext.expression.expression.Expression +import com.avaloq.tools.ddk.xtext.expression.expression.FeatureCall +import com.avaloq.tools.ddk.xtext.expression.expression.Identifier +import com.avaloq.tools.ddk.xtext.expression.expression.IfExpression +import com.avaloq.tools.ddk.xtext.expression.expression.IntegerLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.ListLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.NullLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.OperationCall +import com.avaloq.tools.ddk.xtext.expression.expression.RealLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.StringLiteral +import com.avaloq.tools.ddk.xtext.expression.expression.TypeSelectExpression +import com.avaloq.tools.ddk.xtext.scope.generator.ScopeModelTypeResolver +import com.google.common.collect.Iterables +import com.google.inject.Inject +import java.util.List +import org.eclipse.emf.ecore.EClass +import org.eclipse.emf.ecore.EObject +import org.eclipse.xtext.common.types.JvmDeclaredType +import org.eclipse.xtext.common.types.JvmFormalParameter +import org.eclipse.xtext.common.types.JvmOperation +import org.eclipse.xtext.common.types.JvmType +import org.eclipse.xtext.common.types.TypesFactory +import org.eclipse.xtext.common.types.util.TypeReferences +import org.eclipse.xtext.xbase.XExpression +import org.eclipse.xtext.xbase.XbaseFactory +import org.eclipse.xtext.xbase.lib.BooleanExtensions +import org.eclipse.xtext.xbase.lib.ObjectExtensions + +/** + * Translates the custom {@link Expression} AST of the scope/export expression DSL into equivalent Xbase + * {@link XExpression} trees that can be compiled by the {@code XbaseCompiler} through the JVM model inferrer. + *

+ * Translation happens against a {@link ScopeTranslationContext} that provides the variables in scope and the + * implicit ({@code this}) variable. Increments covered so far: + *

    + *
  • I1 - literals, list literals and conditional expressions (no JVM linking required).
  • + *
  • I2 - variable and {@code this} feature calls, linked to the enclosing operation's formal parameters.
  • + *
  • I3 - boolean, equality and relational operations, linked to the matching {@code org.eclipse.xtext.xbase.lib} + * operator methods.
  • + *
  • I3b - getter navigations, linked to the {@code getX()}/{@code isX()} operation on the receiver's JVM type.
  • + *
  • I4 - extension operation calls, linked to the {@code static} method of an extension class declared through + * {@code extension a::b::C}.
  • + *
  • I5 - type casts, {@code typeSelect} filters, {@code isInstance} checks and receiver/implicit method calls, + * linked to the resolved JVM type, method or {@code com.google.common.collect.Iterables} operation.
  • + *
+ * Nodes that require resolving EMF feature getters, operators, operations, extensions, casts, collection + * closures, constructor calls or global variables return {@code null} for now and are added in later increments. + */ +class ScopeExpressionTranslator { + + /** Provides access to the {@code org.eclipse.xtext.xbase.lib} operator methods that back binary operations. */ + @Inject extension TypeReferences + + /** + * Translates the given expression into an equivalent {@link XExpression}. + * + * @param expression + * the source expression, may be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the translated {@link XExpression}, or {@code null} if the expression cannot (yet) be translated + */ + def XExpression translate(Expression expression, ScopeTranslationContext context) { + if (expression === null) { + return null + } + return expression.doTranslate(context) + } + + /** + * Resolves a factory expression of the form {@code Type.method(args)} to the fully qualified static Java method + * {@code .} by linking the type reference against the classpath. This replaces the + * legacy {@code .ext} based resolution: the declaring type is named directly in the scope source rather than + * indirected through an Xtend extension file. + * + * @param expression + * the factory expression, must not be {@code null} + * @param sourceElement + * a model element used to resolve the type against the classpath, must not be {@code null} + * @return the fully qualified static method ({@code type.method}), or {@code null} if the expression is not a + * type-qualified operation call or the type cannot be resolved + */ + def String resolveFactoryMethod(Expression expression, EObject sourceElement) { + if (!(expression instanceof OperationCall)) { + return null + } + val call = expression as OperationCall + if (!(call.target instanceof FeatureCall)) { + return null + } + val typeReference = call.target as FeatureCall + if (typeReference.name !== null || typeReference.type === null) { + return null + } + val jvmType = findDeclaredType(typeReference.type.id.join('.'), sourceElement) + if (jvmType instanceof JvmDeclaredType) { + return jvmType.qualifiedName + '.' + call.name + } + null + } + + /** + * Tests whether the given expression can be extracted into a typed helper method, i.e. whether it can be both + * translated into an {@link XExpression} and have its result type resolved. The check is performed against a + * fresh trial context holding a single {@code ctx} variable of the given context type, so it can be used at code + * generation time before the actual JVM operation (and its formal parameter) exist. + * + * @param expression + * the source expression to test, must not be {@code null} + * @param contextType + * the EClass of the {@code ctx} context variable, must not be {@code null} + * @param sourceElement + * a model element used to resolve types against the classpath, must not be {@code null} + * @return {@code true} if the expression can be extracted into a typed helper method + */ + def boolean canExtractAsValue(Expression expression, EClass contextType, EObject sourceElement) { + val context = newTrialContext(contextType, sourceElement) + translate(expression, context) !== null && resolveType(expression, context) !== null + } + + /** + * Tests whether the given expression can be extracted into a helper method whose result is a {@link String}, i.e. + * whether it can be translated and its result type resolves to {@code java.lang.String}. Used for splice sites that + * are overloaded on the argument type (such as a container query name) where extracting a non-{@code String} value + * would select the wrong overload. + * + * @param expression + * the source expression to test, must not be {@code null} + * @param contextType + * the EClass of the {@code ctx} context variable, must not be {@code null} + * @param sourceElement + * a model element used to resolve types against the classpath, must not be {@code null} + * @return {@code true} if the expression can be extracted as a {@code String} valued helper method + */ + def boolean canExtractAsString(Expression expression, EClass contextType, EObject sourceElement) { + val context = newTrialContext(contextType, sourceElement) + if (translate(expression, context) === null) { + return false + } + val resolved = resolveType(expression, context) + resolved !== null && resolved.qualifiedName == String.name + } + + /** + * Tests whether the given expression can be extracted into a typed helper method that, in addition to the primary + * {@code ctx} variable, has the given extra variables in scope (for example a data match lambda's element + * description). The check uses a fresh trial context so it can be used at code generation time. + * + * @param expression + * the source expression to test, must not be {@code null} + * @param contextType + * the EClass of the {@code ctx} context variable, must not be {@code null} + * @param extraVariables + * the extra variables as source-name to fully-qualified-type-name pairs, must not be {@code null} + * @param sourceElement + * a model element used to resolve types against the classpath, must not be {@code null} + * @return {@code true} if the expression can be extracted into a typed helper method + */ + def boolean canExtractAsValue(Expression expression, EClass contextType, List> extraVariables, + EObject sourceElement) { + val context = newTrialContext(contextType, sourceElement) + for (extra : extraVariables) { + context.putVariable(extra.key, newTrialParameter(extra.key, extra.value, sourceElement)) + } + translate(expression, context) !== null && resolveType(expression, context) !== null + } + + /** + * Creates a trial translation context holding a single {@code ctx} variable of the given context type. The + * context's type resolver resolves DSL type identifiers by their fully qualified name against the classpath. + * + * @param contextType + * the EClass of the {@code ctx} context variable, must not be {@code null} + * @param sourceElement + * a model element used to resolve types against the classpath, must not be {@code null} + * @return the trial context, never {@code null} + */ + def private ScopeTranslationContext newTrialContext(EClass contextType, EObject sourceElement) { + val parameter = newTrialParameter('ctx', contextType.instanceClassName, sourceElement) + val context = new ScopeTranslationContext + context.sourceElement = sourceElement + context.putVariable('ctx', parameter) + context.implicitVariable = parameter + context.typeResolver = [Identifier identifier|findDeclaredType(identifier.id.join('.'), sourceElement)] + context + } + + /** + * Creates a trial formal parameter with the given name and type, used to populate a trial translation context. + * + * @param name + * the parameter name, must not be {@code null} + * @param typeName + * the fully qualified type name of the parameter, must not be {@code null} + * @param sourceElement + * a model element used to resolve the type against the classpath, must not be {@code null} + * @return the trial parameter, never {@code null} + */ + def private JvmFormalParameter newTrialParameter(String name, String typeName, EObject sourceElement) { + val parameter = TypesFactory.eINSTANCE.createJvmFormalParameter + parameter.name = name + val jvmType = findDeclaredType(typeName, sourceElement) + if (jvmType !== null) { + parameter.parameterType = createTypeRef(jvmType) + } + parameter + } + + /** + * Creates a translation context for rendering an expression to Java source text with the + * {@link ScopeExpressionCompiler}. The context binds the implicit ({@code this}) receiver to the given Java + * variable name and EMF type, registers the implicit and any extra variables, and resolves DSL type identifiers + * against the classpath. This replaces the legacy {@code CompilationContext.clone(...)} factories. + * + * @param implicitVariableName + * the Java variable name an unqualified {@code this} reference compiles to, must not be {@code null} + * @param implicitType + * the EMF type of the implicit receiver, may be {@code null} + * @param extraVariables + * extra in-scope variables as source-name to fully-qualified-type-name pairs, must not be {@code null} + * @param sourceElement + * a model element used to resolve types against the classpath, must not be {@code null} + * @return the compilation context, never {@code null} + */ + def ScopeTranslationContext newCompilationContext(String implicitVariableName, EClass implicitType, + List> extraVariables, EObject sourceElement) { + val context = new ScopeTranslationContext + context.sourceElement = sourceElement + context.implicitVariableName = implicitVariableName + context.modelTypeResolver = ScopeModelTypeResolver.forElement(sourceElement) + if (implicitType !== null) { + val parameter = newTrialParameter(implicitVariableName, implicitType.instanceClassName, sourceElement) + context.implicitVariable = parameter + context.putVariable(implicitVariableName, parameter) + } + for (extra : extraVariables) { + context.putVariable(extra.key, newTrialParameter(extra.key, extra.value, sourceElement)) + } + context.typeResolver = [Identifier identifier|findDeclaredType(identifier.id.join('.'), sourceElement)] + context + } + + /** + * Fallback for expression types that are not (yet) supported by the translator. + * + * @param it + * the source expression, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return {@code null}, indicating the expression cannot be translated yet + */ + def dispatch protected XExpression doTranslate(Expression it, ScopeTranslationContext context) { + null + } + + /** + * Translates a string literal. + * + * @param it + * the source literal, must not be {@code null} + * @return the {@link org.eclipse.xtext.xbase.XStringLiteral}, never {@code null} + */ + def dispatch protected XExpression doTranslate(StringLiteral it, ScopeTranslationContext context) { + val literal = XbaseFactory.eINSTANCE.createXStringLiteral + literal.value = getVal() + literal + } + + /** + * Translates a boolean literal. + * + * @param it + * the source literal, must not be {@code null} + * @return the {@link org.eclipse.xtext.xbase.XBooleanLiteral}, never {@code null} + */ + def dispatch protected XExpression doTranslate(BooleanLiteral it, ScopeTranslationContext context) { + val literal = XbaseFactory.eINSTANCE.createXBooleanLiteral + literal.isTrue = 'true' == getVal() + literal + } + + /** + * Translates an integer literal. + * + * @param it + * the source literal, must not be {@code null} + * @return the {@link org.eclipse.xtext.xbase.XNumberLiteral}, never {@code null} + */ + def dispatch protected XExpression doTranslate(IntegerLiteral it, ScopeTranslationContext context) { + val literal = XbaseFactory.eINSTANCE.createXNumberLiteral + literal.value = Integer.toString(getVal()) + literal + } + + /** + * Translates a real (floating point) literal. + * + * @param it + * the source literal, must not be {@code null} + * @return the {@link org.eclipse.xtext.xbase.XNumberLiteral}, never {@code null} + */ + def dispatch protected XExpression doTranslate(RealLiteral it, ScopeTranslationContext context) { + val literal = XbaseFactory.eINSTANCE.createXNumberLiteral + literal.value = getVal() + literal + } + + /** + * Translates a {@code null} literal. + * + * @param it + * the source literal, must not be {@code null} + * @return the {@link org.eclipse.xtext.xbase.XNullLiteral}, never {@code null} + */ + def dispatch protected XExpression doTranslate(NullLiteral it, ScopeTranslationContext context) { + XbaseFactory.eINSTANCE.createXNullLiteral + } + + /** + * Translates a list literal. Each element is translated recursively; if any element cannot be translated + * the whole list literal is considered untranslatable. + * + * @param it + * the source literal, must not be {@code null} + * @return the {@link org.eclipse.xtext.xbase.XListLiteral}, or {@code null} if an element cannot be translated + */ + def dispatch protected XExpression doTranslate(ListLiteral it, ScopeTranslationContext context) { + val literal = XbaseFactory.eINSTANCE.createXListLiteral + for (element : elements) { + val translated = element.translate(context) + if (translated === null) { + return null + } + literal.elements += translated + } + literal + } + + /** + * Translates a conditional expression (ternary {@code ? :} or {@code if}/{@code then}/{@code else}). When the + * source has no else branch a {@link org.eclipse.xtext.xbase.XNullLiteral} is used as the else value. + * + * @param it + * the source conditional, must not be {@code null} + * @return the {@link org.eclipse.xtext.xbase.XIfExpression}, or {@code null} if a branch cannot be translated + */ + def dispatch protected XExpression doTranslate(IfExpression it, ScopeTranslationContext context) { + val xIf = XbaseFactory.eINSTANCE.createXIfExpression + val xCondition = condition.translate(context) + val xThen = thenPart.translate(context) + if (xCondition === null || xThen === null) { + return null + } + xIf.^if = xCondition + xIf.then = xThen + if (elsePart !== null) { + val xElse = elsePart.translate(context) + if (xElse === null) { + return null + } + xIf.^else = xElse + } else { + xIf.^else = XbaseFactory.eINSTANCE.createXNullLiteral + } + xIf + } + + /** + * Translates a boolean, equality or relational operation into an {@link org.eclipse.xtext.xbase.XBinaryOperation}. + * The operator is linked to the corresponding {@code org.eclipse.xtext.xbase.lib} operator method so that the + * {@code XbaseCompiler} can emit the equivalent Java code. Operators without a backing library method (currently + * {@code implies} and the relational comparisons) are left untranslated for now. + * + * @param it + * the source operation, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the {@link org.eclipse.xtext.xbase.XBinaryOperation}, or {@code null} if it cannot (yet) be translated + */ + def dispatch protected XExpression doTranslate(BooleanOperation it, ScopeTranslationContext context) { + val xLeft = left.translate(context) + val xRight = right.translate(context) + if (xLeft === null || xRight === null) { + return null + } + val sourceElement = context.sourceElement + switch operator { + case '||': toBinaryOperation(xLeft, xRight, BooleanExtensions, 'operator_or', sourceElement) + case '&&': toBinaryOperation(xLeft, xRight, BooleanExtensions, 'operator_and', sourceElement) + case '==': toBinaryOperation(xLeft, xRight, ObjectExtensions, 'operator_equals', sourceElement) + case '!=': toBinaryOperation(xLeft, xRight, ObjectExtensions, 'operator_notEquals', sourceElement) + default: null + } + } + + /** + * Translates an operation call. In order, an {@code isInstance} check is mapped to an + * {@link org.eclipse.xtext.xbase.XInstanceOfExpression}, a receiver or implicit method call (which also covers + * {@code eContainer}/{@code eClass} style operations) to an {@link org.eclipse.xtext.xbase.XMemberFeatureCall} + * linked to the resolved method, and finally an extension call to a {@code static} extension method (see I4). + * Arithmetic, concatenation and prefix operator calls are added in later increments. + * + * @param it + * the source operation call, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the resolved expression, or {@code null} if it cannot (yet) be translated + */ + def dispatch protected XExpression doTranslate(OperationCall it, ScopeTranslationContext context) { + it.translateInstanceOf(context) ?: it.translateMethodCall(context) ?: it.translateExtensionCall(context) + } + + /** + * Translates a type cast ({@code (Type) target}) into an {@link org.eclipse.xtext.xbase.XCastedExpression}. + * + * @param it + * the source cast, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the casted expression, or {@code null} if the type or target cannot be translated + */ + def dispatch protected XExpression doTranslate(CastedExpression it, ScopeTranslationContext context) { + val jvmType = context.resolveDslType(type) + if (jvmType === null) { + return null + } + val xTarget = target.translate(context) + if (xTarget === null) { + return null + } + val cast = XbaseFactory.eINSTANCE.createXCastedExpression + cast.type = createTypeRef(jvmType) + cast.target = xTarget + cast + } + + /** + * Translates a {@code typeSelect(Type)} navigation into a {@code com.google.common.collect.Iterables.filter} + * call that keeps the elements assignable to the given type, mirroring the legacy code generation. + * + * @param it + * the source type select, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the filter feature call, or {@code null} if the type, target or filter method cannot be resolved + */ + def dispatch protected XExpression doTranslate(TypeSelectExpression it, ScopeTranslationContext context) { + val jvmType = context.resolveDslType(type) + if (jvmType === null) { + return null + } + val xTarget = target.translate(context) + if (xTarget === null) { + return null + } + val filter = findIterablesFilterByClass(context.sourceElement) + if (filter === null) { + return null + } + val call = XbaseFactory.eINSTANCE.createXFeatureCall + call.feature = filter + call.featureCallArguments += xTarget + val typeLiteral = XbaseFactory.eINSTANCE.createXTypeLiteral + typeLiteral.type = jvmType + call.featureCallArguments += typeLiteral + call + } + + /** + * Translates a feature call. The supported cases are an unqualified {@code this} reference (mapped to the + * implicit variable), a single-segment identifier that matches a variable in scope, and a getter navigation + * ({@code receiver.feature}) which is resolved to the matching {@code getX()}/{@code isX()} operation on the + * receiver's JVM type. Type references and operation calls are added in later increments. + * + * @param it + * the source feature call, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the resolved feature call, or {@code null} if it cannot (yet) be translated + */ + def dispatch protected XExpression doTranslate(FeatureCall it, ScopeTranslationContext context) { + if (it.isThisReference) { + return context.implicitVariable.toFeatureCall + } + if (target === null && name === null && type !== null && type.id.size == 1) { + val parameter = context.getVariable(type.id.head) + if (parameter !== null) { + return parameter.toFeatureCall + } + } + if (name === null && type !== null && type.id.size == 1) { + return it.translateGetter(context) + } + null + } + + /** + * Tests whether the given feature call is an unqualified {@code this} reference. + * + * @param call + * the feature call, must not be {@code null} + * @return {@code true} if the call refers to {@code this} + */ + def private boolean isThisReference(FeatureCall call) { + call.name === null && call.target === null && call.type !== null && call.type.id.size == 1 && + 'this' == call.type.id.head + } + + /** + * Creates an {@link org.eclipse.xtext.xbase.XFeatureCall} that references the given formal parameter. + * + * @param parameter + * the formal parameter to reference, may be {@code null} + * @return the feature call, or {@code null} if the parameter is {@code null} + */ + def private XExpression toFeatureCall(JvmFormalParameter parameter) { + if (parameter === null) { + return null + } + val featureCall = XbaseFactory.eINSTANCE.createXFeatureCall + featureCall.feature = parameter + featureCall + } + + /** + * Translates a getter navigation ({@code receiver.feature}) into an {@link org.eclipse.xtext.xbase.XMemberFeatureCall} + * linked to the resolved {@code getX()}/{@code isX()} operation. The receiver is the translated target, or the + * implicit variable when there is no explicit target. + * + * @param it + * the source feature call, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the member feature call, or {@code null} if the receiver type or getter cannot be resolved + */ + def private XExpression translateGetter(FeatureCall it, ScopeTranslationContext context) { + val receiverType = resolveType(target, context) + if (receiverType === null) { + return null + } + val getter = findGetter(receiverType, type.id.head) + if (getter === null) { + return null + } + val receiver = if (target === null) context.implicitVariable.toFeatureCall else target.translate(context) + if (receiver === null) { + return null + } + val memberCall = XbaseFactory.eINSTANCE.createXMemberFeatureCall + memberCall.memberCallTarget = receiver + memberCall.feature = getter + memberCall + } + + /** + * Resolves the static JVM type of the given expression as far as needed to link getter navigations. Supported + * expressions are the implicit variable (when {@code expression} is {@code null} or a {@code this} reference), a + * variable in scope, and a getter navigation chain. + * + * @param expression + * the source expression whose type to resolve, may be {@code null} to denote the implicit variable + * @param context + * the translation context, must not be {@code null} + * @return the resolved JVM type, or {@code null} if it cannot be determined + */ + def JvmType resolveType(Expression expression, ScopeTranslationContext context) { + if (expression === null) { + return context.implicitVariable?.parameterType?.type + } + switch expression { + CastedExpression: + context.resolveDslType(expression.type) + StringLiteral: + findDeclaredType(String, expression) + TypeSelectExpression: + findDeclaredType(Iterable, context.sourceElement) + ListLiteral: + findDeclaredType(List, context.sourceElement) + OperationCall: { + val receiverType = resolveType(expression.target, context) + findMethod(receiverType, expression.name, expression.params.size)?.returnType?.type + } + FeatureCall: { + if (expression.isThisReference) { + context.implicitVariable?.parameterType?.type + } else if (expression.target === null && expression.name === null && expression.type !== null && + expression.type.id.size == 1 && context.getVariable(expression.type.id.head) !== null) { + context.getVariable(expression.type.id.head).parameterType?.type + } else if (expression.name === null && expression.type !== null && expression.type.id.size == 1) { + val receiverType = resolveType(expression.target, context) + if (receiverType !== null) findGetter(receiverType, expression.type.id.head)?.returnType?.type else null + } else { + null + } + } + default: + null + } + } + + /** + * Finds the no-argument getter operation for the given feature name on the given JVM type. The candidate method + * names are the feature name itself (covering operations such as {@code eContainer} or {@code isEmpty}) as well as + * the {@code getX} and {@code isX} accessor variants. + * + * @param type + * the receiver type, must not be {@code null} + * @param feature + * the source feature name, must not be {@code null} + * @return the matching getter operation, or {@code null} if none is found + */ + def private JvmOperation findGetter(JvmType type, String feature) { + if (type instanceof JvmDeclaredType) { + val candidates = feature.getterCandidates + return type.allFeatures.filter(JvmOperation).findFirst [ + parameters.empty && candidates.contains(simpleName) + ] + } + null + } + + /** + * Computes the candidate getter method names for the given source feature name. + * + * @param feature + * the source feature name, must not be {@code null} + * @return the list of candidate method names, never {@code null} + */ + def private getterCandidates(String feature) { + val name = if (feature.startsWith('^')) feature.substring(1) else feature + val upper = name.toFirstUpper + #[name, 'get' + upper, 'is' + upper] + } + + /** + * Translates an {@code isInstance} operation call ({@code Type.isInstance(value)}) into an + * {@link org.eclipse.xtext.xbase.XInstanceOfExpression}. + * + * @param it + * the source operation call, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the instance-of expression, or {@code null} if the call is not an {@code isInstance} type check or the + * type or value cannot be resolved + */ + def private XExpression translateInstanceOf(OperationCall it, ScopeTranslationContext context) { + if (name != 'isInstance' || params.size != 1 || !(target instanceof FeatureCall)) { + return null + } + val typeReference = target as FeatureCall + if (typeReference.name !== null || typeReference.type === null) { + return null + } + val jvmType = context.resolveDslType(typeReference.type) + if (jvmType === null) { + return null + } + val xValue = params.head.translate(context) + if (xValue === null) { + return null + } + val instanceOf = XbaseFactory.eINSTANCE.createXInstanceOfExpression + instanceOf.expression = xValue + instanceOf.type = createTypeRef(jvmType) + instanceOf + } + + /** + * Translates a receiver or implicit method call ({@code receiver.method(args)} or {@code method(args)}) into an + * {@link org.eclipse.xtext.xbase.XMemberFeatureCall} linked to the resolved method. The receiver is the translated + * target, or the implicit variable when there is no explicit target. + * + * @param it + * the source operation call, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the member feature call, or {@code null} if the receiver type, method or an argument cannot be resolved + */ + def private XExpression translateMethodCall(OperationCall it, ScopeTranslationContext context) { + val receiverType = resolveType(target, context) + if (receiverType === null) { + return null + } + val operation = findMethod(receiverType, name, params.size) + if (operation === null) { + return null + } + val receiver = if (target === null) context.implicitVariable.toFeatureCall else target.translate(context) + if (receiver === null) { + return null + } + val memberCall = XbaseFactory.eINSTANCE.createXMemberFeatureCall + memberCall.memberCallTarget = receiver + memberCall.feature = operation + memberCall.explicitOperationCall = true + for (param : params) { + val xParam = param.translate(context) + if (xParam === null) { + return null + } + memberCall.memberCallArguments += xParam + } + memberCall + } + + /** + * Finds the method of the given name and parameter count on the given JVM type. + * + * @param type + * the receiver type, may be {@code null} + * @param methodName + * the source method name, must not be {@code null} + * @param parameterCount + * the number of arguments the call passes + * @return the matching method, or {@code null} if none is found + */ + def private JvmOperation findMethod(JvmType type, String methodName, int parameterCount) { + if (type instanceof JvmDeclaredType) { + return type.allFeatures.filter(JvmOperation).findFirst [ + simpleName == methodName && parameters.size == parameterCount + ] + } + null + } + + /** + * Finds the {@code com.google.common.collect.Iterables.filter(Iterable, Class)} operation used to back a + * {@code typeSelect} navigation. + * + * @param context + * the source element used to resolve the type against the classpath, may be {@code null} + * @return the {@code filter} operation, or {@code null} if it cannot be resolved + */ + def private JvmOperation findIterablesFilterByClass(EObject context) { + if (context === null) { + return null + } + val type = findDeclaredType(Iterables, context) + if (type instanceof JvmDeclaredType) { + return type.allFeatures.filter(JvmOperation).findFirst [ + isStatic && simpleName == 'filter' && parameters.size == 2 && + parameters.get(1).parameterType?.type?.simpleName == 'Class' + ] + } + null + } + + /** + * Translates an extension operation call into an {@link org.eclipse.xtext.xbase.XFeatureCall} that invokes the + * matching {@code static} extension method. The call's target (when present) is prepended to the declared + * parameters to form the argument list. + * + * @param it + * the source operation call, must not be {@code null} + * @param context + * the translation context, must not be {@code null} + * @return the feature call, or {@code null} if no matching extension method exists or an argument cannot be translated + */ + def private XExpression translateExtensionCall(OperationCall it, ScopeTranslationContext context) { + val argumentCount = (if (target !== null) 1 else 0) + params.size + val operation = context.extensionClassNames.map [ className | + findExtensionOperation(className, name, argumentCount, context.sourceElement) + ].filterNull.head + if (operation === null) { + return null + } + val featureCall = XbaseFactory.eINSTANCE.createXFeatureCall + featureCall.feature = operation + if (target !== null) { + val xTarget = target.translate(context) + if (xTarget === null) { + return null + } + featureCall.featureCallArguments += xTarget + } + for (param : params) { + val xParam = param.translate(context) + if (xParam === null) { + return null + } + featureCall.featureCallArguments += xParam + } + featureCall + } + + /** + * Finds the {@code static} extension method of the given name and argument count on the given extension class. + * + * @param className + * the fully qualified name of the extension class, must not be {@code null} + * @param operationName + * the source operation name, must not be {@code null} + * @param argumentCount + * the number of arguments the call passes + * @param context + * the source element used to resolve the type against the classpath, may be {@code null} + * @return the matching {@code static} operation, or {@code null} if none is found + */ + def private JvmOperation findExtensionOperation(String className, String operationName, int argumentCount, + EObject context) { + if (context === null) { + return null + } + val type = findDeclaredType(className, context) + if (type instanceof JvmDeclaredType) { + return type.allFeatures.filter(JvmOperation).findFirst [ + isStatic && simpleName == operationName && parameters.size == argumentCount + ] + } + null + } + + /** + * Builds an {@link org.eclipse.xtext.xbase.XBinaryOperation} linked to the given {@code org.eclipse.xtext.xbase.lib} + * operator method. + * + * @param left + * the already translated left operand, must not be {@code null} + * @param right + * the already translated right operand, must not be {@code null} + * @param operatorClass + * the {@code org.eclipse.xtext.xbase.lib} class declaring the operator method, must not be {@code null} + * @param operatorName + * the simple name of the operator method, must not be {@code null} + * @param context + * the source element used to resolve the operator type, may be {@code null} + * @return the binary operation, or {@code null} if the operator method cannot be resolved + */ + def private XExpression toBinaryOperation(XExpression left, XExpression right, Class operatorClass, + String operatorName, EObject context) { + val operation = findOperator(operatorClass, operatorName, context) + if (operation === null) { + return null + } + val binaryOperation = XbaseFactory.eINSTANCE.createXBinaryOperation + binaryOperation.leftOperand = left + binaryOperation.rightOperand = right + binaryOperation.feature = operation + binaryOperation + } + + /** + * Resolves the two-argument operator method of the given name on the given {@code org.eclipse.xtext.xbase.lib} class. + * + * @param operatorClass + * the class declaring the operator method, must not be {@code null} + * @param operatorName + * the simple name of the operator method, must not be {@code null} + * @param context + * the source element used to resolve the type against the classpath, may be {@code null} + * @return the operator {@link JvmOperation}, or {@code null} if it cannot be resolved + */ + def private JvmOperation findOperator(Class operatorClass, String operatorName, EObject context) { + if (context === null) { + return null + } + val type = findDeclaredType(operatorClass, context) + if (type instanceof JvmDeclaredType) { + return type.allFeatures.filter(JvmOperation).findFirst [ + simpleName == operatorName && parameters.size == 2 + ] + } + null + } + +} diff --git a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/jvmmodel/ScopeJvmModelInferrer.xtend b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/jvmmodel/ScopeJvmModelInferrer.xtend new file mode 100644 index 0000000000..1809cb8aaa --- /dev/null +++ b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/jvmmodel/ScopeJvmModelInferrer.xtend @@ -0,0 +1,292 @@ +/******************************************************************************* + * Copyright (c) 2016 Avaloq Group AG 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 + * + * Contributors: + * Avaloq Group AG - initial API and implementation + *******************************************************************************/ +package com.avaloq.tools.ddk.xtext.scope.jvmmodel + +import com.avaloq.tools.ddk.xtext.expression.expression.Identifier +import com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX +import com.avaloq.tools.ddk.xtext.expression.generator.GeneratorSupport +import com.avaloq.tools.ddk.xtext.scope.generator.ScopeNameProviderGenerator +import com.avaloq.tools.ddk.xtext.scope.generator.ScopeProviderGenerator +import com.avaloq.tools.ddk.xtext.scope.generator.ScopeProviderX +import com.avaloq.tools.ddk.xtext.scope.scope.ScopeModel +import com.avaloq.tools.ddk.xtext.scoping.AbstractPolymorphicScopeProvider +import com.avaloq.tools.ddk.xtext.scoping.AbstractScopeNameProvider +import com.avaloq.tools.ddk.xtext.scoping.INameFunction +import com.google.inject.Inject +import com.google.inject.Singleton +import java.util.Map +import org.apache.logging.log4j.Logger +import org.eclipse.core.resources.IProject +import org.eclipse.core.resources.ResourcesPlugin +import org.eclipse.emf.ecore.EClass +import org.eclipse.emf.ecore.EObject +import org.eclipse.emf.ecore.EReference +import org.eclipse.emf.ecore.resource.Resource +import org.eclipse.xtext.common.types.JvmAnnotationReference +import org.eclipse.xtext.common.types.JvmAnnotationType +import org.eclipse.xtext.common.types.JvmGenericType +import org.eclipse.xtext.common.types.JvmVisibility +import org.eclipse.xtext.common.types.TypesFactory +import org.eclipse.xtext.scoping.IScope +import org.eclipse.xtext.xbase.jvmmodel.AbstractModelInferrer +import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor +import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder + +/** + * Infers a JVM model from a scope model. + *

+ * Replaces the former {@code IGenerator2} based {@code ScopeGenerator}: the {@code ScopeProvider} and + * {@code ScopeNameProvider} are now contributed as inferred JVM types whose Java source is emitted by the + * Xbase {@code JvmModelGenerator}. The method bodies are produced as strings by the (still expression based) scope + * generators and attached verbatim; framework types referenced by those strings are emitted fully qualified so that + * the generated compilation unit needs no import section of its own. + */ +class ScopeJvmModelInferrer extends AbstractModelInferrer { + + @Inject extension JvmTypesBuilder + @Inject extension ScopeProviderX + + @Inject TypesFactory typesFactory + @Inject ScopeProviderGenerator providerGenerator + @Inject ScopeNameProviderGenerator nameProviderGenerator + @Inject GenModelUtilX genModelUtil + @Inject GeneratorSupport generatorSupport + @Inject ScopeExpressionTranslator translator + + /** + * Infers the scope provider and scope name provider JVM types for the given scope model. + * + * @param element + * the scope model, must not be {@code null} + * @param acceptor + * the type acceptor, must not be {@code null} + * @param isPreIndexingPhase + * whether the method is called in the pre-indexing phase + */ + def dispatch void infer(ScopeModel element, IJvmDeclaredTypeAcceptor acceptor, boolean isPreIndexingPhase) { + if (isPreIndexingPhase) { + return + } + genModelUtil.resource = element.eResource + providerGenerator.configure(nameProviderGenerator, genModelUtil) + nameProviderGenerator.configure(genModelUtil) + + // The method body strings are produced eagerly here (inside the project resource loader required by the + // expression compiler) rather than from within the deferred body closures, which run later during emission. + val Map bodies = newHashMap + generatorSupport.executeWithProjectResourceLoader(element.projectOf, [ + bodies.put('doGetScopeRef', providerGenerator.doGetScopeByReferenceBody(element).toString) + bodies.put('doGetScopeType', providerGenerator.doGetScopeByTypeBody(element).toString) + bodies.put('doGlobalCacheRef', providerGenerator.doGlobalCacheByReferenceBody(element).toString) + bodies.put('doGlobalCacheType', providerGenerator.doGlobalCacheByTypeBody(element).toString) + for (scope : element.allScopes) { + bodies.put('scope:' + scope.scopeMethodName, providerGenerator.scopeMethodBody(scope, element).toString) + } + bodies.put('nameFunctions', nameProviderGenerator.internalGetNameFunctionsBody(element).toString) + ]) + + val providerName = element.scopeProvider + acceptor.accept(element.toClass(providerName)) [ + superTypes += typeRef(AbstractPolymorphicScopeProvider) + addSuppressWarningsAll + documentation = '''The scope provider for «element.name».''' + members += element.toField('LOGGER', typeRef(Logger)) [ + static = true + final = true + initializer = [append('''org.apache.logging.log4j.LogManager.getLogger(«providerName.simpleName».class)''')] + ] + for (injection : element.allInjections) { + members += element.toField(injection.name, typeRef(injection.type)) [ + visibility = JvmVisibility.PRIVATE + annotations += typeOnlyAnnotation(Inject) + ] + } + members += element.toMethod('doGetScope', typeRef(IScope)) [ + visibility = JvmVisibility.PROTECTED + annotations += typeOnlyAnnotation(Override) + parameters += element.toParameter('context', typeRef(EObject)) + parameters += element.toParameter('reference', typeRef(EReference)) + parameters += element.toParameter('scopeName', typeRef(String)) + parameters += element.toParameter('originalResource', typeRef(Resource)) + val text = bodies.get('doGetScopeRef') + body = [append(text)] + ] + members += element.toMethod('doGetScope', typeRef(IScope)) [ + visibility = JvmVisibility.PROTECTED + annotations += typeOnlyAnnotation(Override) + parameters += element.toParameter('context', typeRef(EObject)) + parameters += element.toParameter('type', typeRef(EClass)) + parameters += element.toParameter('scopeName', typeRef(String)) + parameters += element.toParameter('originalResource', typeRef(Resource)) + val text = bodies.get('doGetScopeType') + body = [append(text)] + ] + members += element.toMethod('doGlobalCache', typeRef(Boolean.TYPE)) [ + visibility = JvmVisibility.PROTECTED + annotations += typeOnlyAnnotation(Override) + parameters += element.toParameter('context', typeRef(EObject)) + parameters += element.toParameter('reference', typeRef(EReference)) + parameters += element.toParameter('scopeName', typeRef(String)) + parameters += element.toParameter('originalResource', typeRef(Resource)) + val text = bodies.get('doGlobalCacheRef') + body = [append(text)] + ] + members += element.toMethod('doGlobalCache', typeRef(Boolean.TYPE)) [ + visibility = JvmVisibility.PROTECTED + annotations += typeOnlyAnnotation(Override) + parameters += element.toParameter('context', typeRef(EObject)) + parameters += element.toParameter('type', typeRef(EClass)) + parameters += element.toParameter('scopeName', typeRef(String)) + parameters += element.toParameter('originalResource', typeRef(Resource)) + val text = bodies.get('doGlobalCacheType') + body = [append(text)] + ] + for (scope : element.allScopes) { + val text = bodies.get('scope:' + scope.scopeMethodName) + val hasReference = scope.reference !== null + members += element.toMethod(scope.scopeMethodName, typeRef(IScope)) [ + visibility = JvmVisibility.PROTECTED + parameters += element.toParameter('context', typeRef(EObject)) + if (hasReference) { + parameters += element.toParameter('ref', typeRef(EReference)) + } else { + parameters += element.toParameter('type', typeRef(EClass)) + } + parameters += element.toParameter('originalResource', typeRef(Resource)) + body = [append(text)] + ] + } + for (request : providerGenerator.expressionMethods) { + addExpressionMethod(it, element, request) + } + ] + + val nameProviderName = element.scopeNameProvider + acceptor.accept(element.toClass(nameProviderName)) [ + superTypes += typeRef(AbstractScopeNameProvider) + annotations += typeOnlyAnnotation(Singleton) + addSuppressWarningsAll + documentation = '''The scope name provider for «element.name».''' + members += element.toMethod('internalGetNameFunctions', typeRef(Iterable, typeRef(INameFunction))) [ + visibility = JvmVisibility.PUBLIC + annotations += typeOnlyAnnotation(Override) + parameters += element.toParameter('eClass', typeRef(EClass)) + val text = bodies.get('nameFunctions') + body = [append(text)] + ] + ] + } + + /** + * Adds a {@code @SuppressWarnings("all")} annotation to the given type. + * + * @param type + * the type to annotate, must not be {@code null} + */ + def private void addSuppressWarningsAll(JvmGenericType type) { + val annotation = typesFactory.createJvmAnnotationReference + annotation.annotation = typeRef(SuppressWarnings).type as JvmAnnotationType + val value = typesFactory.createJvmStringAnnotationValue + value.values += 'all' + annotation.explicitValues += value + type.annotations += annotation + } + + /** + * Creates a marker annotation reference (without values) for the given annotation type. + * + * @param annotationClass + * the annotation type, must not be {@code null} + * @return the annotation reference, never {@code null} + */ + def private JvmAnnotationReference typeOnlyAnnotation(Class annotationClass) { + val annotation = typesFactory.createJvmAnnotationReference + annotation.annotation = typeRef(annotationClass).type as JvmAnnotationType + annotation + } + + /** + * Contributes a private helper operation for an embedded scope expression. The expression is translated into an + * Xbase {@link org.eclipse.xtext.xbase.XExpression} attached as the method body; if the translator cannot (yet) + * translate it, the recorded legacy body string is emitted instead so behaviour is preserved. + * + * @param type + * the inferred provider type to add the method to, must not be {@code null} + * @param element + * the scope model the expression originates from, must not be {@code null} + * @param request + * the recorded helper method request, must not be {@code null} + */ + def private void addExpressionMethod(JvmGenericType type, ScopeModel element, ScopeExpressionMethodRequest request) { + val parameter = element.toParameter(request.variableName, typeRef(request.variableTypeName)) + val translationContext = new ScopeTranslationContext + translationContext.sourceElement = element + translationContext.putVariable(request.variableName, parameter) + translationContext.implicitVariable = parameter + translationContext.typeResolver = [Identifier t|element.newTypeRef(t.id.join('.'))?.type] + val extraParams = newArrayList + for (extra : request.extraParameters) { + val extraParam = element.toParameter(extra.key, typeRef(extra.value)) + extraParams += extraParam + translationContext.putVariable(extra.key, extraParam) + } + val translated = translator.translate(request.expression, translationContext) + val returnType = if (request.returnTypeName == 'boolean') { + typeRef(Boolean.TYPE) + } else if (request.returnTypeName !== null) { + typeRef(request.returnTypeName) + } else { + val resolved = translator.resolveType(request.expression, translationContext) + if (resolved !== null) typeRef(resolved) else typeRef(Object) + } + type.members += element.toMethod(request.methodName, returnType) [ + visibility = JvmVisibility.PRIVATE + parameters += parameter + parameters += extraParams + if (translated !== null) { + body = translated + } else { + val fallback = request.fallbackBody + body = [append(fallback)] + } + ] + } + + /** + * Returns the workspace project containing the given scope model, if any. + * + * @param element + * the scope model, must not be {@code null} + * @return the containing project, or {@code null} if it cannot be determined + */ + def private IProject projectOf(ScopeModel element) { + val uri = element.eResource.URI + if (uri.isPlatformResource) { + val resource = ResourcesPlugin.workspace.root.findMember(uri.toPlatformString(true)) + if (resource !== null) { + return resource.project + } + } + null + } + + /** + * Returns the simple (unqualified) name of a fully qualified Java type name. + * + * @param fqn + * the fully qualified name, must not be {@code null} + * @return the simple name, never {@code null} + */ + def private String simpleName(String fqn) { + fqn.substring(fqn.lastIndexOf('.') + 1) + } + +} diff --git a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/jvmmodel/ScopeTranslationContext.xtend b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/jvmmodel/ScopeTranslationContext.xtend new file mode 100644 index 0000000000..f6e393602b --- /dev/null +++ b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/jvmmodel/ScopeTranslationContext.xtend @@ -0,0 +1,190 @@ +/******************************************************************************* + * Copyright (c) 2016 Avaloq Group AG 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 + * + * Contributors: + * Avaloq Group AG - initial API and implementation + *******************************************************************************/ +package com.avaloq.tools.ddk.xtext.scope.jvmmodel + +import com.avaloq.tools.ddk.xtext.expression.expression.Identifier +import com.avaloq.tools.ddk.xtext.scope.generator.ScopeModelTypeResolver +import java.util.List +import java.util.Map +import org.eclipse.emf.ecore.EObject +import org.eclipse.xtext.common.types.JvmFormalParameter +import org.eclipse.xtext.common.types.JvmType +import org.eclipse.xtext.xbase.lib.Functions.Function1 + +/** + * Carries the information needed while translating a scope/export expression AST into an Xbase + * {@link org.eclipse.xtext.xbase.XExpression} tree. + *

+ * It holds the variables that are in scope (mapping their source names to the {@link JvmFormalParameter}s of the + * enclosing inferred operation) and the implicit variable that an unqualified ({@code this}) feature call refers to. + * The source element the expression originates from is kept for JVM type resolution in later increments. + */ +class ScopeTranslationContext { + + val Map variables = newLinkedHashMap + + val List extensionClassNames = newArrayList + + Function1 typeResolver + + JvmFormalParameter implicitVariable + + String implicitVariableName + + ScopeModelTypeResolver modelTypeResolver + + EObject sourceElement + + /** + * Registers a variable that is in scope for the translated expression. + * + * @param name + * the source name of the variable, must not be {@code null} + * @param parameter + * the inferred formal parameter the variable resolves to, must not be {@code null} + */ + def void putVariable(String name, JvmFormalParameter parameter) { + variables.put(name, parameter) + } + + /** + * Returns the formal parameter a variable name resolves to. + * + * @param name + * the source name of the variable, must not be {@code null} + * @return the matching formal parameter, or {@code null} if no variable with that name is in scope + */ + def JvmFormalParameter getVariable(String name) { + variables.get(name) + } + + /** + * Registers the fully qualified name of a Java class whose {@code static} methods provide extension operations + * (declared in the scope model through {@code extension a::b::C}). + * + * @param className + * the fully qualified Java class name, must not be {@code null} + */ + def void addExtensionClassName(String className) { + extensionClassNames.add(className) + } + + /** + * Returns the fully qualified names of the Java classes whose {@code static} methods provide extension operations. + * + * @return the extension class names, never {@code null} + */ + def List getExtensionClassNames() { + extensionClassNames + } + + /** + * Sets the resolver that maps a source DSL {@link Identifier type} to its corresponding JVM type. This decouples + * the translator from the way types are resolved (a plain classpath lookup for Java types, or a gen-model based + * lookup for EMF model types). + * + * @param resolver + * the type resolver, may be {@code null} + */ + def void setTypeResolver(Function1 resolver) { + this.typeResolver = resolver + } + + /** + * Resolves the JVM type a source DSL type identifier refers to. + * + * @param type + * the source type identifier, may be {@code null} + * @return the resolved JVM type, or {@code null} if it cannot be resolved or no resolver is set + */ + def JvmType resolveDslType(Identifier type) { + if (typeResolver === null || type === null) null else typeResolver.apply(type) + } + + /** + * Returns the implicit variable that an unqualified ({@code this}) feature call refers to. + * + * @return the implicit variable, or {@code null} if none is set + */ + def JvmFormalParameter getImplicitVariable() { + implicitVariable + } + + /** + * Sets the implicit variable that an unqualified ({@code this}) feature call refers to. + * + * @param parameter + * the implicit variable, may be {@code null} + */ + def void setImplicitVariable(JvmFormalParameter parameter) { + this.implicitVariable = parameter + } + + /** + * Returns the name of the Java variable that an unqualified ({@code this}) reference compiles to when the + * expression is rendered as Java source text by the {@link ScopeExpressionCompiler}. + * + * @return the implicit variable name, or {@code null} if none is set + */ + def String getImplicitVariableName() { + implicitVariableName + } + + /** + * Sets the name of the Java variable that an unqualified ({@code this}) reference compiles to when the expression + * is rendered as Java source text by the {@link ScopeExpressionCompiler}. + * + * @param name + * the implicit variable name, may be {@code null} + */ + def void setImplicitVariableName(String name) { + this.implicitVariableName = name + } + + /** + * Returns the resolver used to map model type names in scope expressions to their EMF classifiers. + * + * @return the model type resolver, or {@code null} if none is set + */ + def ScopeModelTypeResolver getModelTypeResolver() { + modelTypeResolver + } + + /** + * Sets the resolver used to map model type names in scope expressions to their EMF classifiers. + * + * @param resolver + * the model type resolver, may be {@code null} + */ + def void setModelTypeResolver(ScopeModelTypeResolver resolver) { + this.modelTypeResolver = resolver + } + + /** + * Returns the source element the translated expression originates from. + * + * @return the source element, or {@code null} if none is set + */ + def EObject getSourceElement() { + sourceElement + } + + /** + * Sets the source element the translated expression originates from. + * + * @param element + * the source element, may be {@code null} + */ + def void setSourceElement(EObject element) { + this.sourceElement = element + } + +} diff --git a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/scoping/ScopeScopeProvider.java b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/scoping/ScopeScopeProvider.java index fa441dee29..20ff8d5103 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/scoping/ScopeScopeProvider.java +++ b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/scoping/ScopeScopeProvider.java @@ -19,7 +19,6 @@ import org.eclipse.xtext.naming.QualifiedName; import org.eclipse.xtext.resource.IEObjectDescription; import org.eclipse.xtext.scoping.IScope; -import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; import org.eclipse.xtext.scoping.impl.SimpleScope; import com.avaloq.tools.ddk.xtext.scope.ScopeUtil; @@ -28,6 +27,7 @@ import com.avaloq.tools.ddk.xtext.scope.scope.ScopeDefinition; import com.avaloq.tools.ddk.xtext.scope.scope.ScopeDelegation; import com.avaloq.tools.ddk.xtext.scope.scope.ScopeModel; +import com.avaloq.tools.ddk.xtext.scope.scope.ScopePackage; import com.avaloq.tools.ddk.xtext.scoping.AbstractNameFunction; import com.avaloq.tools.ddk.xtext.scoping.EObjectDescriptions; import com.avaloq.tools.ddk.xtext.scoping.EPackageScopeProvider; @@ -40,11 +40,41 @@ /** * Scoping for the scoping language. */ -public class ScopeScopeProvider extends AbstractDeclarativeScopeProvider { +public class ScopeScopeProvider extends AbstractScopeScopeProvider { @Inject private EPackageScopeProvider ePackageScopeProvider; + /** + * {@inheritDoc} + *

+ * Dispatches the scope-language specific cross-references to the corresponding declarative + * {@code scope_*} methods. All other references (in particular Xbase feature and type references) + * are delegated to the {@link org.eclipse.xtext.xbase.scoping.batch.XbaseBatchScopeProvider Xbase batch scope provider}. + */ + @Override + public IScope getScope(final EObject context, final EReference reference) { + if (reference == ScopePackage.Literals.IMPORT__PACKAGE) { + return scope_Import_package(context, reference); + } else if (reference == ScopePackage.Literals.SCOPE_DEFINITION__REFERENCE) { + final ScopeDefinition scopeDefinition = EcoreUtil2.getContainerOfType(context, ScopeDefinition.class); + if (scopeDefinition != null) { + return scope_ScopeDefinition_reference(scopeDefinition, reference); + } + } else if (reference == ScopePackage.Literals.SCOPE_DELEGATION__SCOPE) { + final ScopeDelegation scopeDelegation = EcoreUtil2.getContainerOfType(context, ScopeDelegation.class); + if (scopeDelegation != null) { + return scope_ScopeDelegation_scope(scopeDelegation, reference); + } + } else if (EcorePackage.Literals.ECLASS.isSuperTypeOf(reference.getEReferenceType())) { + final ScopeModel scopeModel = EcoreUtil2.getContainerOfType(context, ScopeModel.class); + if (scopeModel != null) { + return scope_EClass(scopeModel, reference); + } + } + return super.getScope(context, reference); + } + /** * Scope for {@link org.eclipse.emf.ecore.EPackage}. These are read from the * registry as well as from the {@link org.eclipse.xtext.Grammar Xtext diff --git a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/validation/Messages.java b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/validation/Messages.java index 9845003f5a..0269b44746 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/validation/Messages.java +++ b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/validation/Messages.java @@ -21,7 +21,6 @@ public class Messages extends NLS { public static String duplicatedScopeDefinition; public static String wrongScopeDefinitionSignature; public static String duplicatedScopeRule; - public static String extensionNotFound; public static String overriddenInheritedScopeRule; public static String uriPatternFound; public static String typeMismatch; diff --git a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/validation/ScopeValidator.java b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/validation/ScopeValidator.java index e442d6f63b..ca9275bc26 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/validation/ScopeValidator.java +++ b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/validation/ScopeValidator.java @@ -13,15 +13,10 @@ import java.util.Map; import java.util.Set; -import org.eclipse.core.runtime.Platform; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EStructuralFeature; -import org.eclipse.internal.xtend.xtend.XtendFile; import org.eclipse.osgi.util.NLS; -import org.eclipse.xtend.expression.Resource; -import org.eclipse.xtend.expression.ResourceManager; -import org.eclipse.xtend.expression.ResourceManagerDefaultImpl; import org.eclipse.xtext.EcoreUtil2; import org.eclipse.xtext.nodemodel.ICompositeNode; import org.eclipse.xtext.nodemodel.util.NodeModelUtils; @@ -30,7 +25,6 @@ import com.avaloq.tools.ddk.xtext.expression.expression.Expression; import com.avaloq.tools.ddk.xtext.scope.ScopeUtil; -import com.avaloq.tools.ddk.xtext.scope.scope.Extension; import com.avaloq.tools.ddk.xtext.scope.scope.GlobalScopeExpression; import com.avaloq.tools.ddk.xtext.scope.scope.NamingDefinition; import com.avaloq.tools.ddk.xtext.scope.scope.NamingSection; @@ -57,30 +51,6 @@ public class ScopeValidator extends AbstractScopeValidator { @Inject private ISerializer serializer; - /** - * Verifies that all referenced extensions can be found. - * - * @param model - * scope model to check - */ - @Check - public void checkExtensions(final ScopeModel model) { - ResourceManager resourceManager = null; - if (!Platform.isRunning()) { - resourceManager = new ResourceManagerDefaultImpl(); - } - - if (resourceManager == null) { - return; - } - for (Extension ext : model.getExtensions()) { - final Resource res = resourceManager.loadResource(ext.getExtension(), XtendFile.FILE_EXTENSION); - if (res == null) { - error(NLS.bind(Messages.extensionNotFound, ext.getExtension()), ext, ScopePackage.Literals.EXTENSION__EXTENSION, null); - } - } - } - /** * Verify that the context reference is a cross reference (i.e. no containment or container reference). *

diff --git a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/validation/messages.properties b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/validation/messages.properties index da133a0a22..24ca6e2771 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/validation/messages.properties +++ b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/validation/messages.properties @@ -3,7 +3,6 @@ referenceNotOwnedByType=Reference ''{0}'' not owned by type ''{1}'' duplicatedScopeDefinition=Duplicates scope definition {0} wrongScopeDefinitionSignature=Signature of scope does not match {0} duplicatedScopeRule=Duplicates scope rule {0} -extensionNotFound=Extension ''{0}'' not found overriddenInheritedScopeRule=Overrides inherited scope rule {0} uriPatternFound=Consider replacing URI pattern with a key pattern typeMismatch=Type mismatch: Cannot convert from {0} to {1} diff --git a/ddk-target/ddk.target b/ddk-target/ddk.target index 4c8dddee6e..2d0a557612 100644 --- a/ddk-target/ddk.target +++ b/ddk-target/ddk.target @@ -22,12 +22,6 @@ - - - - - -